codexly-ui 0.12.35 → 0.12.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/codexly-ui.mjs +189 -3
- package/fesm2022/codexly-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/codexly-ui.d.ts +42 -2
package/fesm2022/codexly-ui.mjs
CHANGED
|
@@ -8676,6 +8676,103 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
8676
8676
|
}]
|
|
8677
8677
|
}] });
|
|
8678
8678
|
|
|
8679
|
+
/** Generic "insert image by URL" fallback for clx-editor's image button — used only when the host
|
|
8680
|
+
* app doesn't provide its own imagePicker() (see ClxEditorComponent), since this library has no
|
|
8681
|
+
* way to reach an app-specific catalog/media backend itself. */
|
|
8682
|
+
class ClxEditorImageModalComponent {
|
|
8683
|
+
_modalRef = inject(CLX_MODAL_REF, { optional: true });
|
|
8684
|
+
_themeSvc = inject(ClxThemeService);
|
|
8685
|
+
_primaryColor = computed(() => this._themeSvc.config().primaryColor, ...(ngDevMode ? [{ debugName: "_primaryColor" }] : /* istanbul ignore next */ []));
|
|
8686
|
+
_form = new FormGroup({
|
|
8687
|
+
url: new FormControl('', { nonNullable: true, validators: [Validators.required, Validators.pattern(/^https?:\/\/.+/)] }),
|
|
8688
|
+
alt: new FormControl('', { nonNullable: true }),
|
|
8689
|
+
});
|
|
8690
|
+
_urlInvalid = signal(false, ...(ngDevMode ? [{ debugName: "_urlInvalid" }] : /* istanbul ignore next */ []));
|
|
8691
|
+
_confirm() {
|
|
8692
|
+
const url = this._form.controls.url.value.trim();
|
|
8693
|
+
const alt = this._form.controls.alt.value.trim();
|
|
8694
|
+
if (!url || this._form.controls.url.invalid) {
|
|
8695
|
+
this._urlInvalid.set(true);
|
|
8696
|
+
return;
|
|
8697
|
+
}
|
|
8698
|
+
this._modalRef?.close({ url, alt });
|
|
8699
|
+
}
|
|
8700
|
+
_cancel() {
|
|
8701
|
+
this._modalRef?.close(undefined);
|
|
8702
|
+
}
|
|
8703
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ClxEditorImageModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8704
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.15", type: ClxEditorImageModalComponent, isStandalone: true, selector: "clx-editor-image-modal", ngImport: i0, template: `
|
|
8705
|
+
<clx-modal
|
|
8706
|
+
size="sm"
|
|
8707
|
+
[confirmButton]="{ text: 'Insertar', color: _primaryColor() }"
|
|
8708
|
+
[cancelButton]="{ text: 'Cancelar', color: 'slate', variant: 'ghost' }"
|
|
8709
|
+
[showCancelButton]="true"
|
|
8710
|
+
(confirmClick)="_confirm()"
|
|
8711
|
+
(cancelClick)="_cancel()">
|
|
8712
|
+
|
|
8713
|
+
<span clx-modal-title class="text-base font-semibold text-clx-text-label">
|
|
8714
|
+
Insertar imagen
|
|
8715
|
+
</span>
|
|
8716
|
+
|
|
8717
|
+
<form [formGroup]="_form" class="space-y-4" (ngSubmit)="_confirm()">
|
|
8718
|
+
<clx-input
|
|
8719
|
+
label="URL de la imagen"
|
|
8720
|
+
placeholder="https://ejemplo.com/imagen.jpg"
|
|
8721
|
+
formControlName="url"
|
|
8722
|
+
[status]="_urlInvalid() ? 'error' : 'default'"
|
|
8723
|
+
statusMessage="Ingresa una URL válida">
|
|
8724
|
+
</clx-input>
|
|
8725
|
+
<clx-input
|
|
8726
|
+
label="Texto alternativo"
|
|
8727
|
+
placeholder="Descripción de la imagen"
|
|
8728
|
+
formControlName="alt">
|
|
8729
|
+
</clx-input>
|
|
8730
|
+
</form>
|
|
8731
|
+
|
|
8732
|
+
</clx-modal>
|
|
8733
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ClxModalComponent, selector: "clx-modal", inputs: ["size", "showClose", "confirmButton", "cancelButton", "showCancelButton"], outputs: ["confirmClick", "cancelClick"] }, { kind: "component", type: ClxInputComponent, selector: "clx-input", inputs: ["label", "placeholder", "type", "color", "hint", "prefixIcon", "suffixIcon", "prefixText", "suffixText", "status", "statusMessage", "size", "value", "disabled", "autocomplete"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
8734
|
+
}
|
|
8735
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ClxEditorImageModalComponent, decorators: [{
|
|
8736
|
+
type: Component,
|
|
8737
|
+
args: [{
|
|
8738
|
+
selector: 'clx-editor-image-modal',
|
|
8739
|
+
standalone: true,
|
|
8740
|
+
imports: [ClxModalComponent, ClxInputComponent, ReactiveFormsModule],
|
|
8741
|
+
encapsulation: ViewEncapsulation.None,
|
|
8742
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
8743
|
+
template: `
|
|
8744
|
+
<clx-modal
|
|
8745
|
+
size="sm"
|
|
8746
|
+
[confirmButton]="{ text: 'Insertar', color: _primaryColor() }"
|
|
8747
|
+
[cancelButton]="{ text: 'Cancelar', color: 'slate', variant: 'ghost' }"
|
|
8748
|
+
[showCancelButton]="true"
|
|
8749
|
+
(confirmClick)="_confirm()"
|
|
8750
|
+
(cancelClick)="_cancel()">
|
|
8751
|
+
|
|
8752
|
+
<span clx-modal-title class="text-base font-semibold text-clx-text-label">
|
|
8753
|
+
Insertar imagen
|
|
8754
|
+
</span>
|
|
8755
|
+
|
|
8756
|
+
<form [formGroup]="_form" class="space-y-4" (ngSubmit)="_confirm()">
|
|
8757
|
+
<clx-input
|
|
8758
|
+
label="URL de la imagen"
|
|
8759
|
+
placeholder="https://ejemplo.com/imagen.jpg"
|
|
8760
|
+
formControlName="url"
|
|
8761
|
+
[status]="_urlInvalid() ? 'error' : 'default'"
|
|
8762
|
+
statusMessage="Ingresa una URL válida">
|
|
8763
|
+
</clx-input>
|
|
8764
|
+
<clx-input
|
|
8765
|
+
label="Texto alternativo"
|
|
8766
|
+
placeholder="Descripción de la imagen"
|
|
8767
|
+
formControlName="alt">
|
|
8768
|
+
</clx-input>
|
|
8769
|
+
</form>
|
|
8770
|
+
|
|
8771
|
+
</clx-modal>
|
|
8772
|
+
`,
|
|
8773
|
+
}]
|
|
8774
|
+
}] });
|
|
8775
|
+
|
|
8679
8776
|
const EDITOR_SIZE_MAP = {
|
|
8680
8777
|
sm: { minH: 'min-h-[120px]', maxH: 'max-h-[200px]', text: 'text-sm', label: 'text-xs font-medium', hint: 'text-xs', toolbar: 'p-1 gap-0.5' },
|
|
8681
8778
|
md: { minH: 'min-h-[180px]', maxH: 'max-h-[320px]', text: 'text-sm', label: 'text-sm font-medium', hint: 'text-xs', toolbar: 'p-1.5 gap-0.5' },
|
|
@@ -8881,6 +8978,7 @@ const TOOLBAR_GROUPS = [
|
|
|
8881
8978
|
],
|
|
8882
8979
|
[
|
|
8883
8980
|
{ cmd: 'createLink', icon: 'link', title: 'Enlace' },
|
|
8981
|
+
{ cmd: 'insertImage', icon: 'image', title: 'Imagen' },
|
|
8884
8982
|
{ cmd: 'removeFormat', icon: 'format_clear', title: 'Limpiar formato' },
|
|
8885
8983
|
{ cmd: 'undo', icon: 'undo', title: 'Deshacer' },
|
|
8886
8984
|
{ cmd: 'redo', icon: 'redo', title: 'Rehacer' },
|
|
@@ -8917,6 +9015,17 @@ class ClxEditorComponent {
|
|
|
8917
9015
|
statusMessage = input('', ...(ngDevMode ? [{ debugName: "statusMessage" }] : /* istanbul ignore next */ []));
|
|
8918
9016
|
hint = input('', ...(ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []));
|
|
8919
9017
|
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
9018
|
+
/** Overrides the toolbar's Image button: when provided, clicking it calls this instead of
|
|
9019
|
+
* opening the generic "insert by URL" modal (ClxEditorImageModalComponent) — lets a host app
|
|
9020
|
+
* plug in its own picker (e.g. an ERP's product/variant image browser) without this library
|
|
9021
|
+
* needing to know about that app's catalog backend. Resolve to undefined/null to cancel. */
|
|
9022
|
+
imagePicker = input(undefined, ...(ngDevMode ? [{ debugName: "imagePicker" }] : /* istanbul ignore next */ []));
|
|
9023
|
+
/** Adds an extra toolbar button (only rendered when provided) that inserts a raw HTML block at
|
|
9024
|
+
* the cursor — e.g. an ERP's "poster" template resolved against a chosen product/variant, where
|
|
9025
|
+
* the result is a whole <table> block, not a single <img>, so imagePicker's fixed <img>-only
|
|
9026
|
+
* output doesn't fit. The returned html is inserted as-is via insertHTML, no sanitization beyond
|
|
9027
|
+
* what insertHTML/_sanitizePaste already does for pasted content. */
|
|
9028
|
+
blockPicker = input(undefined, ...(ngDevMode ? [{ debugName: "blockPicker" }] : /* istanbul ignore next */ []));
|
|
8920
9029
|
// ── View ─────────────────────────────────────────────────────────────────
|
|
8921
9030
|
_bodyEl;
|
|
8922
9031
|
_sourceEl;
|
|
@@ -9070,6 +9179,10 @@ class ClxEditorComponent {
|
|
|
9070
9179
|
this._openLinkModal();
|
|
9071
9180
|
return;
|
|
9072
9181
|
}
|
|
9182
|
+
if (cmd === 'insertImage') {
|
|
9183
|
+
this._openImageModal();
|
|
9184
|
+
return;
|
|
9185
|
+
}
|
|
9073
9186
|
this._bodyEl.nativeElement.focus();
|
|
9074
9187
|
this._restoreRange();
|
|
9075
9188
|
document.execCommand(cmd, false, arg);
|
|
@@ -9110,6 +9223,41 @@ class ClxEditorComponent {
|
|
|
9110
9223
|
this._tick.update(v => v + 1);
|
|
9111
9224
|
});
|
|
9112
9225
|
}
|
|
9226
|
+
// ── Image insert ──────────────────────────────────────────────────────────
|
|
9227
|
+
_openImageModal() {
|
|
9228
|
+
this._saveRange();
|
|
9229
|
+
const picker = this.imagePicker();
|
|
9230
|
+
const insert = (result) => {
|
|
9231
|
+
if (!result?.url)
|
|
9232
|
+
return;
|
|
9233
|
+
this._restoreRange();
|
|
9234
|
+
this._bodyEl.nativeElement.focus();
|
|
9235
|
+
const alt = (result.alt ?? '').replace(/"/g, '"');
|
|
9236
|
+
document.execCommand('insertHTML', false, `<img src="${result.url}" alt="${alt}" style="max-width:100%;height:auto;" />`);
|
|
9237
|
+
this._emitChange();
|
|
9238
|
+
this._tick.update(v => v + 1);
|
|
9239
|
+
};
|
|
9240
|
+
if (picker) {
|
|
9241
|
+
picker().then(insert);
|
|
9242
|
+
return;
|
|
9243
|
+
}
|
|
9244
|
+
const ref = this._modal.open(ClxEditorImageModalComponent, { size: 'sm' });
|
|
9245
|
+
ref.afterClosed().then((result) => insert(result));
|
|
9246
|
+
}
|
|
9247
|
+
_openBlockPicker() {
|
|
9248
|
+
const picker = this.blockPicker();
|
|
9249
|
+
if (!picker)
|
|
9250
|
+
return;
|
|
9251
|
+
picker.fn().then(result => {
|
|
9252
|
+
if (!result?.html)
|
|
9253
|
+
return;
|
|
9254
|
+
this._restoreRange();
|
|
9255
|
+
this._bodyEl.nativeElement.focus();
|
|
9256
|
+
document.execCommand('insertHTML', false, result.html);
|
|
9257
|
+
this._emitChange();
|
|
9258
|
+
this._tick.update(v => v + 1);
|
|
9259
|
+
});
|
|
9260
|
+
}
|
|
9113
9261
|
// ── Range save/restore ────────────────────────────────────────────────────
|
|
9114
9262
|
_saveRange() {
|
|
9115
9263
|
const sel = window.getSelection();
|
|
@@ -9228,7 +9376,7 @@ class ClxEditorComponent {
|
|
|
9228
9376
|
this._cdr.markForCheck();
|
|
9229
9377
|
}
|
|
9230
9378
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: ClxEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9231
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: ClxEditorComponent, isStandalone: true, selector: "clx-editor", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, statusMessage: { classPropertyName: "statusMessage", publicName: "statusMessage", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "flex flex-col gap-1.5" }, providers: [
|
|
9379
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: ClxEditorComponent, isStandalone: true, selector: "clx-editor", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, statusMessage: { classPropertyName: "statusMessage", publicName: "statusMessage", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, imagePicker: { classPropertyName: "imagePicker", publicName: "imagePicker", isSignal: true, isRequired: false, transformFunction: null }, blockPicker: { classPropertyName: "blockPicker", publicName: "blockPicker", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "flex flex-col gap-1.5" }, providers: [
|
|
9232
9380
|
{
|
|
9233
9381
|
provide: NG_VALUE_ACCESSOR,
|
|
9234
9382
|
useExisting: forwardRef(() => ClxEditorComponent),
|
|
@@ -9334,6 +9482,25 @@ class ClxEditorComponent {
|
|
|
9334
9482
|
</button>
|
|
9335
9483
|
|
|
9336
9484
|
<div class="clx-editor-divider mx-1"></div>
|
|
9485
|
+
|
|
9486
|
+
<!-- Custom HTML block insert (e.g. an ERP's "insert poster" flow) -->
|
|
9487
|
+
@if (blockPicker(); as picker) {
|
|
9488
|
+
<button
|
|
9489
|
+
clx-button
|
|
9490
|
+
type="button"
|
|
9491
|
+
variant="ghost"
|
|
9492
|
+
[color]="_color()"
|
|
9493
|
+
size="xs"
|
|
9494
|
+
shape="rounded"
|
|
9495
|
+
[icon]="picker.icon"
|
|
9496
|
+
[iconOnly]="true"
|
|
9497
|
+
[title]="picker.title"
|
|
9498
|
+
(mousedown)="_saveRange()"
|
|
9499
|
+
(click)="_openBlockPicker()">
|
|
9500
|
+
</button>
|
|
9501
|
+
|
|
9502
|
+
<div class="clx-editor-divider mx-1"></div>
|
|
9503
|
+
}
|
|
9337
9504
|
}
|
|
9338
9505
|
|
|
9339
9506
|
<!-- HTML source toggle -->
|
|
@@ -9521,6 +9688,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
9521
9688
|
</button>
|
|
9522
9689
|
|
|
9523
9690
|
<div class="clx-editor-divider mx-1"></div>
|
|
9691
|
+
|
|
9692
|
+
<!-- Custom HTML block insert (e.g. an ERP's "insert poster" flow) -->
|
|
9693
|
+
@if (blockPicker(); as picker) {
|
|
9694
|
+
<button
|
|
9695
|
+
clx-button
|
|
9696
|
+
type="button"
|
|
9697
|
+
variant="ghost"
|
|
9698
|
+
[color]="_color()"
|
|
9699
|
+
size="xs"
|
|
9700
|
+
shape="rounded"
|
|
9701
|
+
[icon]="picker.icon"
|
|
9702
|
+
[iconOnly]="true"
|
|
9703
|
+
[title]="picker.title"
|
|
9704
|
+
(mousedown)="_saveRange()"
|
|
9705
|
+
(click)="_openBlockPicker()">
|
|
9706
|
+
</button>
|
|
9707
|
+
|
|
9708
|
+
<div class="clx-editor-divider mx-1"></div>
|
|
9709
|
+
}
|
|
9524
9710
|
}
|
|
9525
9711
|
|
|
9526
9712
|
<!-- HTML source toggle -->
|
|
@@ -9599,7 +9785,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
9599
9785
|
<p [class]="_sizeCfg().hint + ' text-gray-400'">{{ hint() }}</p>
|
|
9600
9786
|
}
|
|
9601
9787
|
`, host: { class: 'flex flex-col gap-1.5' }, styles: [".clx-editor-body:empty:before{content:attr(data-placeholder);color:#9ca3af;pointer-events:none}.clx-editor-body:focus{outline:none}.clx-editor-body p{margin:0 0 .4em}.clx-editor-body p:last-child{margin-bottom:0}.clx-editor-body h1{font-size:1.5em;font-weight:700;margin:.5em 0}.clx-editor-body h2{font-size:1.25em;font-weight:600;margin:.5em 0}.clx-editor-body h3{font-size:1.1em;font-weight:600;margin:.5em 0}.clx-editor-body ul,.clx-editor-body ol{padding-left:1.5em;margin:.35em 0}.clx-editor-body li{margin:.1em 0}.clx-editor-body blockquote{border-left:3px solid #e2e8f0;padding-left:.75em;color:#64748b;margin:.4em 0}.clx-editor-body code{background:#f1f5f9;border-radius:3px;padding:.1em .3em;font-size:.875em;font-family:ui-monospace,monospace}.clx-editor-body a{color:#6366f1;text-decoration:underline}.clx-editor-body hr{border:none;border-top:1px solid #e2e8f0;margin:.6em 0}.clx-editor-color-btn{position:relative;overflow:hidden}.clx-editor-color-btn input[type=color]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;border:none;padding:0}.clx-editor-toolbar-select clx-select .flex.flex-col{gap:0!important}.clx-editor-source{width:100%;resize:none;border:none;outline:none;background:#0f172a;color:#e2e8f0;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:.8125rem;line-height:1.6;padding:1rem;tab-size:2}\n"] }]
|
|
9602
|
-
}], ctorParameters: () => [], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], statusMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "statusMessage", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], _bodyEl: [{
|
|
9788
|
+
}], ctorParameters: () => [], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], statusMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "statusMessage", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], imagePicker: [{ type: i0.Input, args: [{ isSignal: true, alias: "imagePicker", required: false }] }], blockPicker: [{ type: i0.Input, args: [{ isSignal: true, alias: "blockPicker", required: false }] }], _bodyEl: [{
|
|
9603
9789
|
type: ViewChild,
|
|
9604
9790
|
args: ['bodyEl', { static: false }]
|
|
9605
9791
|
}], _sourceEl: [{
|
|
@@ -17933,5 +18119,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
|
|
|
17933
18119
|
* Generated bundle index. Do not edit.
|
|
17934
18120
|
*/
|
|
17935
18121
|
|
|
17936
|
-
export { CLX_ADDON_BORDER, CLX_ADDON_TEXT, CLX_ALERT_OPTIONS, CLX_ALERT_RESOLVE, CLX_BG_ADDON, CLX_BG_DISABLED, CLX_BG_ICON_WRAP, CLX_BG_SECTION, CLX_BG_SURFACE, CLX_BORDER_DEFAULT, CLX_BORDER_DISABLED, CLX_BORDER_MEDIUM, CLX_COLOR_HEX, CLX_COLOR_HEX_100, CLX_COLOR_MAP, CLX_FONT_CATALOG, CLX_MODAL_ANIM_CONFIG, CLX_MODAL_DATA, CLX_MODAL_REF, CLX_OPTION_DISABLED, CLX_PLACEHOLDER, CLX_RADIO_GROUP, CLX_RADIUS_MAP, CLX_TEXT_BODY, CLX_TEXT_DISABLED, CLX_TEXT_HEADING, CLX_TEXT_HINT, CLX_TEXT_IDLE, CLX_TEXT_INPUT, CLX_TEXT_LABEL, CLX_TEXT_OPTION, CLX_TEXT_SUBTITLE, CLX_TEXT_TITLE, CLX_THEME_CONFIG, CLX_THEME_DEFAULTS, CLX_TOAST_DEFAULTS, ClxAlertComponent, ClxAlertService, ClxAnimateDirective, ClxAnimateGroupDirective, ClxAnimateService, ClxAppLayoutComponent, ClxAvatarComponent, ClxBadgeComponent, ClxBrandComponent, ClxButtonComponent, ClxButtonGroupComponent, ClxCardBodyDirective, ClxCardComponent, ClxCardFooterDirective, ClxCardHeaderActionsDirective, ClxCardHeaderDirective, ClxCarouselComponent, ClxCarouselDirective, ClxCartComponent, ClxCartSummaryDrawer, ClxCellDirective, ClxCheckboxComponent, ClxCollapseComponent, ClxColorPickerComponent, ClxColumnDefDirective, ClxDateRangePickerComponent, ClxDatepickerComponent, ClxDrawerComponent, ClxDrawerService, ClxEditorComponent, ClxEditorLinkModalComponent, ClxFabComponent, ClxFilterPanelComponent, ClxHeaderCellDirective, ClxIconComponent, ClxInputComponent, ClxListComponent, ClxListItemComponent, ClxMenuComponent, ClxMenuItemComponent, ClxMenuItemTrailingDirective, ClxModalComponent, ClxModalService, ClxNativeOverlayService, ClxNavGroupComponent, ClxNotificationComponent, ClxNumberComponent, ClxOtpComponent, ClxPageEmptyComponent, ClxPageHeaderComponent, ClxPageHeaderTitleDirective, ClxPageNotFoundComponent, ClxPageServerErrorComponent, ClxPageUnauthorizedComponent, ClxPaginationComponent, ClxProductComponent, ClxProductDetailComponent, ClxProductQuickViewComponent, ClxProfileComponent, ClxProgressBarComponent, ClxRadioComponent, ClxRadioGroupComponent, ClxRatingComponent, ClxSearchComponent, ClxSelectComponent, ClxSkeletonComponent, ClxSliderComponent, ClxSocialIconComponent, ClxSpinnerComponent, ClxStatCardComponent, ClxStepComponent, ClxStepperComponent, ClxSwitchComponent, ClxTabDirective, ClxTableActionsComponent, ClxTableComponent, ClxTabsComponent, ClxTagComponent, ClxTextareaComponent, ClxThemeService, ClxTimelineComponent, ClxTimelineItemComponent, ClxTimepickerComponent, ClxToastComponent, ClxToastContainerComponent, ClxToastService, ClxTooltipComponent, ClxTooltipDirective, ClxTreeComponent, ClxUploadComponent, ClxWishlistComponent, ClxWizardComponent, TIMEPICKER_SIZE_MAP, parseColorInput, provideCodexlyTheme, resolveColor, resolveContainerRadius, resolveRadius };
|
|
18122
|
+
export { CLX_ADDON_BORDER, CLX_ADDON_TEXT, CLX_ALERT_OPTIONS, CLX_ALERT_RESOLVE, CLX_BG_ADDON, CLX_BG_DISABLED, CLX_BG_ICON_WRAP, CLX_BG_SECTION, CLX_BG_SURFACE, CLX_BORDER_DEFAULT, CLX_BORDER_DISABLED, CLX_BORDER_MEDIUM, CLX_COLOR_HEX, CLX_COLOR_HEX_100, CLX_COLOR_MAP, CLX_FONT_CATALOG, CLX_MODAL_ANIM_CONFIG, CLX_MODAL_DATA, CLX_MODAL_REF, CLX_OPTION_DISABLED, CLX_PLACEHOLDER, CLX_RADIO_GROUP, CLX_RADIUS_MAP, CLX_TEXT_BODY, CLX_TEXT_DISABLED, CLX_TEXT_HEADING, CLX_TEXT_HINT, CLX_TEXT_IDLE, CLX_TEXT_INPUT, CLX_TEXT_LABEL, CLX_TEXT_OPTION, CLX_TEXT_SUBTITLE, CLX_TEXT_TITLE, CLX_THEME_CONFIG, CLX_THEME_DEFAULTS, CLX_TOAST_DEFAULTS, ClxAlertComponent, ClxAlertService, ClxAnimateDirective, ClxAnimateGroupDirective, ClxAnimateService, ClxAppLayoutComponent, ClxAvatarComponent, ClxBadgeComponent, ClxBrandComponent, ClxButtonComponent, ClxButtonGroupComponent, ClxCardBodyDirective, ClxCardComponent, ClxCardFooterDirective, ClxCardHeaderActionsDirective, ClxCardHeaderDirective, ClxCarouselComponent, ClxCarouselDirective, ClxCartComponent, ClxCartSummaryDrawer, ClxCellDirective, ClxCheckboxComponent, ClxCollapseComponent, ClxColorPickerComponent, ClxColumnDefDirective, ClxDateRangePickerComponent, ClxDatepickerComponent, ClxDrawerComponent, ClxDrawerService, ClxEditorComponent, ClxEditorImageModalComponent, ClxEditorLinkModalComponent, ClxFabComponent, ClxFilterPanelComponent, ClxHeaderCellDirective, ClxIconComponent, ClxInputComponent, ClxListComponent, ClxListItemComponent, ClxMenuComponent, ClxMenuItemComponent, ClxMenuItemTrailingDirective, ClxModalComponent, ClxModalService, ClxNativeOverlayService, ClxNavGroupComponent, ClxNotificationComponent, ClxNumberComponent, ClxOtpComponent, ClxPageEmptyComponent, ClxPageHeaderComponent, ClxPageHeaderTitleDirective, ClxPageNotFoundComponent, ClxPageServerErrorComponent, ClxPageUnauthorizedComponent, ClxPaginationComponent, ClxProductComponent, ClxProductDetailComponent, ClxProductQuickViewComponent, ClxProfileComponent, ClxProgressBarComponent, ClxRadioComponent, ClxRadioGroupComponent, ClxRatingComponent, ClxSearchComponent, ClxSelectComponent, ClxSkeletonComponent, ClxSliderComponent, ClxSocialIconComponent, ClxSpinnerComponent, ClxStatCardComponent, ClxStepComponent, ClxStepperComponent, ClxSwitchComponent, ClxTabDirective, ClxTableActionsComponent, ClxTableComponent, ClxTabsComponent, ClxTagComponent, ClxTextareaComponent, ClxThemeService, ClxTimelineComponent, ClxTimelineItemComponent, ClxTimepickerComponent, ClxToastComponent, ClxToastContainerComponent, ClxToastService, ClxTooltipComponent, ClxTooltipDirective, ClxTreeComponent, ClxUploadComponent, ClxWishlistComponent, ClxWizardComponent, TIMEPICKER_SIZE_MAP, parseColorInput, provideCodexlyTheme, resolveColor, resolveContainerRadius, resolveRadius };
|
|
17937
18123
|
//# sourceMappingURL=codexly-ui.mjs.map
|