@ngstarter-ui/components 1.0.30 → 1.0.31
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/ngstarter-ui-components-chips.mjs +21 -7
- package/fesm2022/ngstarter-ui-components-chips.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-menu.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-menu.mjs.map +1 -1
- package/package.json +1 -1
- package/schematics/utils.js +97 -2
- package/schematics/utils.js.map +1 -1
- package/styles/_tokens.scss +9 -7
- package/styles/themes/enterprise.scss +1 -1
- package/styles/themes/modern.scss +1 -1
- package/types/ngstarter-ui-components-chips.d.ts +9 -4
|
@@ -26,7 +26,7 @@ class Chip {
|
|
|
26
26
|
_handleBlur() {
|
|
27
27
|
}
|
|
28
28
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Chip, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.4", type: Chip, isStandalone: true, selector: "ngs-chip", inputs: { appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { destroyed: "destroyed", removed: "removed" }, host: { properties: { "class.ngs-chip-disabled": "disabled()", "attr.appearance": "appearance()", "attr.aria-disabled": "disabled()" }, classAttribute: "ngs-chip" }, ngImport: i0, template: "<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <
|
|
29
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.4", type: Chip, isStandalone: true, selector: "ngs-chip", inputs: { appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { destroyed: "destroyed", removed: "removed" }, host: { properties: { "class.ngs-chip-disabled": "disabled()", "attr.appearance": "appearance()", "attr.aria-disabled": "disabled()" }, classAttribute: "ngs-chip" }, ngImport: i0, template: "<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <div class=\"controls\">\n <ng-content select=\"ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]\"/>\n </div>\n</div>\n", styles: [".ngs-chip{--ngs-chip-bg: var(--ngs-color-surface-container-high);--ngs-chip-color: var(--ngs-color-on-surface);--ngs-chip-radius: var(--ngs-radius-xl);--ngs-chip-padding: 0 calc(var(--spacing, .25rem) * 3);--ngs-chip-font-size: var(--ngs-font-size-xs);--ngs-chip-font-weight: 500;--ngs-chip-height: calc(var(--spacing, .25rem) * 8);display:inline-flex;align-items:center;border-radius:var(--ngs-chip-radius);padding:var(--ngs-chip-padding);font-size:var(--ngs-chip-font-size);font-weight:var(--ngs-chip-font-weight);height:var(--ngs-chip-height);box-sizing:border-box;vertical-align:middle;white-space:nowrap;position:relative;overflow:hidden;cursor:pointer}.ngs-chip[appearance=filled]{background:var(--ngs-chip-bg);color:var(--ngs-chip-color)}.ngs-chip[appearance=outlined]{background:transparent;color:var(--ngs-chip-color);border:1px solid var(--ngs-chip-outline-color, var(--ngs-color-outline-variant))}.ngs-chip[appearance=outlined].ngs-chip-selected{border-color:var(--ngs-chip-selected-bg, var(--ngs-color-primary))}.ngs-chip:not(.ngs-chip-selected):not(.ngs-chip-editing):hover{filter:brightness(97%)}.ngs-chip:has(.avatar:not(:empty)){padding-left:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip:has(.ngs-chip-remove:not(:empty)){padding-right:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip .avatar{position:relative;margin-right:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip .avatar:empty{display:none}.ngs-chip .avatar img{width:calc(var(--spacing, .25rem) * 6);height:calc(var(--spacing, .25rem) * 6);border-radius:50%}.ngs-chip.ngs-chip-disabled{opacity:.4;cursor:default;pointer-events:none}.ngs-chip .ngs-chip-content{display:flex;align-items:center;width:100%;height:100%;gap:calc(var(--spacing, .25rem) * 1)}.ngs-chip .controls{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 1)}.ngs-chip .controls:empty{display:none}.ngs-chip .ngs-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ngs-chip .ngs-chip-label[contenteditable=true]{display:inline-block;min-width:calc(var(--spacing, .25rem) * 5);outline:none;margin-inline-end:calc(var(--spacing, .25rem) * 2)}.ngs-chip .ngs-chip-avatar{margin-right:calc(var(--spacing, .25rem) * 2);display:flex;align-items:center;justify-content:center}.ngs-chip .ngs-chip-edit,.ngs-chip .ngs-chip-remove{line-height:0;--icon-size: calc(var(--spacing, .25rem) * 5);cursor:pointer;opacity:.55}.ngs-chip .ngs-chip-edit:hover,.ngs-chip .ngs-chip-remove:hover{opacity:1}.ngs-chip .ngs-chip-remove:hover{color:var(--ngs-color-danger)}.ngs-chip.ngs-chip-editing .avatar,.ngs-chip.ngs-chip-editing .controls{display:none}.ngs-chip.ngs-chip-selected{--ngs-chip-bg: var(--ngs-chip-selected-bg, var(--ngs-color-primary));--ngs-chip-color: var(--ngs-chip-selected-color, var(--ngs-color-on-primary))}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: AutoFocusDirective, selector: "[ngsAutoFocus]", inputs: ["ngsAutoFocus"], exportAs: ["ngsAutoFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
30
30
|
}
|
|
31
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Chip, decorators: [{
|
|
32
32
|
type: Component,
|
|
@@ -37,7 +37,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
37
37
|
'[attr.aria-disabled]': 'disabled()',
|
|
38
38
|
}, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
|
|
39
39
|
AutoFocusDirective
|
|
40
|
-
], template: "<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <
|
|
40
|
+
], template: "<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <div class=\"controls\">\n <ng-content select=\"ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]\"/>\n </div>\n</div>\n", styles: [".ngs-chip{--ngs-chip-bg: var(--ngs-color-surface-container-high);--ngs-chip-color: var(--ngs-color-on-surface);--ngs-chip-radius: var(--ngs-radius-xl);--ngs-chip-padding: 0 calc(var(--spacing, .25rem) * 3);--ngs-chip-font-size: var(--ngs-font-size-xs);--ngs-chip-font-weight: 500;--ngs-chip-height: calc(var(--spacing, .25rem) * 8);display:inline-flex;align-items:center;border-radius:var(--ngs-chip-radius);padding:var(--ngs-chip-padding);font-size:var(--ngs-chip-font-size);font-weight:var(--ngs-chip-font-weight);height:var(--ngs-chip-height);box-sizing:border-box;vertical-align:middle;white-space:nowrap;position:relative;overflow:hidden;cursor:pointer}.ngs-chip[appearance=filled]{background:var(--ngs-chip-bg);color:var(--ngs-chip-color)}.ngs-chip[appearance=outlined]{background:transparent;color:var(--ngs-chip-color);border:1px solid var(--ngs-chip-outline-color, var(--ngs-color-outline-variant))}.ngs-chip[appearance=outlined].ngs-chip-selected{border-color:var(--ngs-chip-selected-bg, var(--ngs-color-primary))}.ngs-chip:not(.ngs-chip-selected):not(.ngs-chip-editing):hover{filter:brightness(97%)}.ngs-chip:has(.avatar:not(:empty)){padding-left:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip:has(.ngs-chip-remove:not(:empty)){padding-right:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip .avatar{position:relative;margin-right:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip .avatar:empty{display:none}.ngs-chip .avatar img{width:calc(var(--spacing, .25rem) * 6);height:calc(var(--spacing, .25rem) * 6);border-radius:50%}.ngs-chip.ngs-chip-disabled{opacity:.4;cursor:default;pointer-events:none}.ngs-chip .ngs-chip-content{display:flex;align-items:center;width:100%;height:100%;gap:calc(var(--spacing, .25rem) * 1)}.ngs-chip .controls{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 1)}.ngs-chip .controls:empty{display:none}.ngs-chip .ngs-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ngs-chip .ngs-chip-label[contenteditable=true]{display:inline-block;min-width:calc(var(--spacing, .25rem) * 5);outline:none;margin-inline-end:calc(var(--spacing, .25rem) * 2)}.ngs-chip .ngs-chip-avatar{margin-right:calc(var(--spacing, .25rem) * 2);display:flex;align-items:center;justify-content:center}.ngs-chip .ngs-chip-edit,.ngs-chip .ngs-chip-remove{line-height:0;--icon-size: calc(var(--spacing, .25rem) * 5);cursor:pointer;opacity:.55}.ngs-chip .ngs-chip-edit:hover,.ngs-chip .ngs-chip-remove:hover{opacity:1}.ngs-chip .ngs-chip-remove:hover{color:var(--ngs-color-danger)}.ngs-chip.ngs-chip-editing .avatar,.ngs-chip.ngs-chip-editing .controls{display:none}.ngs-chip.ngs-chip-selected{--ngs-chip-bg: var(--ngs-chip-selected-bg, var(--ngs-color-primary));--ngs-chip-color: var(--ngs-chip-selected-color, var(--ngs-color-on-primary))}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
41
41
|
}], propDecorators: { appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], destroyed: [{ type: i0.Output, args: ["destroyed"] }], removed: [{ type: i0.Output, args: ["removed"] }] } });
|
|
42
42
|
|
|
43
43
|
class ChipRow extends Chip {
|
|
@@ -99,7 +99,7 @@ class ChipRow extends Chip {
|
|
|
99
99
|
provide: Chip,
|
|
100
100
|
useExisting: forwardRef(() => ChipRow)
|
|
101
101
|
}
|
|
102
|
-
], viewQueries: [{ propertyName: "_editInput", first: true, predicate: ["editInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <
|
|
102
|
+
], viewQueries: [{ propertyName: "_editInput", first: true, predicate: ["editInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <div class=\"controls\">\n <ng-content select=\"ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]\"/>\n </div>\n</div>\n", styles: [".ngs-chip{--ngs-chip-bg: var(--ngs-color-surface-container-high);--ngs-chip-color: var(--ngs-color-on-surface);--ngs-chip-radius: var(--ngs-radius-xl);--ngs-chip-padding: 0 calc(var(--spacing, .25rem) * 3);--ngs-chip-font-size: var(--ngs-font-size-xs);--ngs-chip-font-weight: 500;--ngs-chip-height: calc(var(--spacing, .25rem) * 8);display:inline-flex;align-items:center;border-radius:var(--ngs-chip-radius);padding:var(--ngs-chip-padding);font-size:var(--ngs-chip-font-size);font-weight:var(--ngs-chip-font-weight);height:var(--ngs-chip-height);box-sizing:border-box;vertical-align:middle;white-space:nowrap;position:relative;overflow:hidden;cursor:pointer}.ngs-chip[appearance=filled]{background:var(--ngs-chip-bg);color:var(--ngs-chip-color)}.ngs-chip[appearance=outlined]{background:transparent;color:var(--ngs-chip-color);border:1px solid var(--ngs-chip-outline-color, var(--ngs-color-outline-variant))}.ngs-chip[appearance=outlined].ngs-chip-selected{border-color:var(--ngs-chip-selected-bg, var(--ngs-color-primary))}.ngs-chip:not(.ngs-chip-selected):not(.ngs-chip-editing):hover{filter:brightness(97%)}.ngs-chip:has(.avatar:not(:empty)){padding-left:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip:has(.ngs-chip-remove:not(:empty)){padding-right:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip .avatar{position:relative;margin-right:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip .avatar:empty{display:none}.ngs-chip .avatar img{width:calc(var(--spacing, .25rem) * 6);height:calc(var(--spacing, .25rem) * 6);border-radius:50%}.ngs-chip.ngs-chip-disabled{opacity:.4;cursor:default;pointer-events:none}.ngs-chip .ngs-chip-content{display:flex;align-items:center;width:100%;height:100%;gap:calc(var(--spacing, .25rem) * 1)}.ngs-chip .controls{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 1)}.ngs-chip .controls:empty{display:none}.ngs-chip .ngs-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ngs-chip .ngs-chip-label[contenteditable=true]{display:inline-block;min-width:calc(var(--spacing, .25rem) * 5);outline:none;margin-inline-end:calc(var(--spacing, .25rem) * 2)}.ngs-chip .ngs-chip-avatar{margin-right:calc(var(--spacing, .25rem) * 2);display:flex;align-items:center;justify-content:center}.ngs-chip .ngs-chip-edit,.ngs-chip .ngs-chip-remove{line-height:0;--icon-size: calc(var(--spacing, .25rem) * 5);cursor:pointer;opacity:.55}.ngs-chip .ngs-chip-edit:hover,.ngs-chip .ngs-chip-remove:hover{opacity:1}.ngs-chip .ngs-chip-remove:hover{color:var(--ngs-color-danger)}.ngs-chip.ngs-chip-editing .avatar,.ngs-chip.ngs-chip-editing .controls{display:none}.ngs-chip.ngs-chip-selected{--ngs-chip-bg: var(--ngs-chip-selected-bg, var(--ngs-color-primary));--ngs-chip-color: var(--ngs-chip-selected-color, var(--ngs-color-on-primary))}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: AutoFocusDirective, selector: "[ngsAutoFocus]", inputs: ["ngsAutoFocus"], exportAs: ["ngsAutoFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
103
103
|
}
|
|
104
104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ChipRow, decorators: [{
|
|
105
105
|
type: Component,
|
|
@@ -121,7 +121,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
121
121
|
provide: Chip,
|
|
122
122
|
useExisting: forwardRef(() => ChipRow)
|
|
123
123
|
}
|
|
124
|
-
], template: "<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <
|
|
124
|
+
], template: "<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <div class=\"controls\">\n <ng-content select=\"ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]\"/>\n </div>\n</div>\n", styles: [".ngs-chip{--ngs-chip-bg: var(--ngs-color-surface-container-high);--ngs-chip-color: var(--ngs-color-on-surface);--ngs-chip-radius: var(--ngs-radius-xl);--ngs-chip-padding: 0 calc(var(--spacing, .25rem) * 3);--ngs-chip-font-size: var(--ngs-font-size-xs);--ngs-chip-font-weight: 500;--ngs-chip-height: calc(var(--spacing, .25rem) * 8);display:inline-flex;align-items:center;border-radius:var(--ngs-chip-radius);padding:var(--ngs-chip-padding);font-size:var(--ngs-chip-font-size);font-weight:var(--ngs-chip-font-weight);height:var(--ngs-chip-height);box-sizing:border-box;vertical-align:middle;white-space:nowrap;position:relative;overflow:hidden;cursor:pointer}.ngs-chip[appearance=filled]{background:var(--ngs-chip-bg);color:var(--ngs-chip-color)}.ngs-chip[appearance=outlined]{background:transparent;color:var(--ngs-chip-color);border:1px solid var(--ngs-chip-outline-color, var(--ngs-color-outline-variant))}.ngs-chip[appearance=outlined].ngs-chip-selected{border-color:var(--ngs-chip-selected-bg, var(--ngs-color-primary))}.ngs-chip:not(.ngs-chip-selected):not(.ngs-chip-editing):hover{filter:brightness(97%)}.ngs-chip:has(.avatar:not(:empty)){padding-left:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip:has(.ngs-chip-remove:not(:empty)){padding-right:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip .avatar{position:relative;margin-right:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip .avatar:empty{display:none}.ngs-chip .avatar img{width:calc(var(--spacing, .25rem) * 6);height:calc(var(--spacing, .25rem) * 6);border-radius:50%}.ngs-chip.ngs-chip-disabled{opacity:.4;cursor:default;pointer-events:none}.ngs-chip .ngs-chip-content{display:flex;align-items:center;width:100%;height:100%;gap:calc(var(--spacing, .25rem) * 1)}.ngs-chip .controls{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 1)}.ngs-chip .controls:empty{display:none}.ngs-chip .ngs-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ngs-chip .ngs-chip-label[contenteditable=true]{display:inline-block;min-width:calc(var(--spacing, .25rem) * 5);outline:none;margin-inline-end:calc(var(--spacing, .25rem) * 2)}.ngs-chip .ngs-chip-avatar{margin-right:calc(var(--spacing, .25rem) * 2);display:flex;align-items:center;justify-content:center}.ngs-chip .ngs-chip-edit,.ngs-chip .ngs-chip-remove{line-height:0;--icon-size: calc(var(--spacing, .25rem) * 5);cursor:pointer;opacity:.55}.ngs-chip .ngs-chip-edit:hover,.ngs-chip .ngs-chip-remove:hover{opacity:1}.ngs-chip .ngs-chip-remove:hover{color:var(--ngs-color-danger)}.ngs-chip.ngs-chip-editing .avatar,.ngs-chip.ngs-chip-editing .controls{display:none}.ngs-chip.ngs-chip-selected{--ngs-chip-bg: var(--ngs-chip-selected-bg, var(--ngs-color-primary));--ngs-chip-color: var(--ngs-chip-selected-color, var(--ngs-color-on-primary))}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
125
125
|
}], propDecorators: { _editInput: [{ type: i0.ViewChild, args: ['editInput', { isSignal: true }] }], editable: [{ type: i0.Input, args: [{ isSignal: true, alias: "editable", required: false }] }], edited: [{ type: i0.Output, args: ["edited"] }] } });
|
|
126
126
|
|
|
127
127
|
let nextId = 0;
|
|
@@ -280,7 +280,7 @@ class ChipOption extends Chip {
|
|
|
280
280
|
provide: Chip,
|
|
281
281
|
useExisting: forwardRef(() => ChipOption)
|
|
282
282
|
}
|
|
283
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <
|
|
283
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <div class=\"controls\">\n <ng-content select=\"ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]\"/>\n </div>\n</div>\n", styles: [".ngs-chip{--ngs-chip-bg: var(--ngs-color-surface-container-high);--ngs-chip-color: var(--ngs-color-on-surface);--ngs-chip-radius: var(--ngs-radius-xl);--ngs-chip-padding: 0 calc(var(--spacing, .25rem) * 3);--ngs-chip-font-size: var(--ngs-font-size-xs);--ngs-chip-font-weight: 500;--ngs-chip-height: calc(var(--spacing, .25rem) * 8);display:inline-flex;align-items:center;border-radius:var(--ngs-chip-radius);padding:var(--ngs-chip-padding);font-size:var(--ngs-chip-font-size);font-weight:var(--ngs-chip-font-weight);height:var(--ngs-chip-height);box-sizing:border-box;vertical-align:middle;white-space:nowrap;position:relative;overflow:hidden;cursor:pointer}.ngs-chip[appearance=filled]{background:var(--ngs-chip-bg);color:var(--ngs-chip-color)}.ngs-chip[appearance=outlined]{background:transparent;color:var(--ngs-chip-color);border:1px solid var(--ngs-chip-outline-color, var(--ngs-color-outline-variant))}.ngs-chip[appearance=outlined].ngs-chip-selected{border-color:var(--ngs-chip-selected-bg, var(--ngs-color-primary))}.ngs-chip:not(.ngs-chip-selected):not(.ngs-chip-editing):hover{filter:brightness(97%)}.ngs-chip:has(.avatar:not(:empty)){padding-left:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip:has(.ngs-chip-remove:not(:empty)){padding-right:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip .avatar{position:relative;margin-right:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip .avatar:empty{display:none}.ngs-chip .avatar img{width:calc(var(--spacing, .25rem) * 6);height:calc(var(--spacing, .25rem) * 6);border-radius:50%}.ngs-chip.ngs-chip-disabled{opacity:.4;cursor:default;pointer-events:none}.ngs-chip .ngs-chip-content{display:flex;align-items:center;width:100%;height:100%;gap:calc(var(--spacing, .25rem) * 1)}.ngs-chip .controls{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 1)}.ngs-chip .controls:empty{display:none}.ngs-chip .ngs-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ngs-chip .ngs-chip-label[contenteditable=true]{display:inline-block;min-width:calc(var(--spacing, .25rem) * 5);outline:none;margin-inline-end:calc(var(--spacing, .25rem) * 2)}.ngs-chip .ngs-chip-avatar{margin-right:calc(var(--spacing, .25rem) * 2);display:flex;align-items:center;justify-content:center}.ngs-chip .ngs-chip-edit,.ngs-chip .ngs-chip-remove{line-height:0;--icon-size: calc(var(--spacing, .25rem) * 5);cursor:pointer;opacity:.55}.ngs-chip .ngs-chip-edit:hover,.ngs-chip .ngs-chip-remove:hover{opacity:1}.ngs-chip .ngs-chip-remove:hover{color:var(--ngs-color-danger)}.ngs-chip.ngs-chip-editing .avatar,.ngs-chip.ngs-chip-editing .controls{display:none}.ngs-chip.ngs-chip-selected{--ngs-chip-bg: var(--ngs-chip-selected-bg, var(--ngs-color-primary));--ngs-chip-color: var(--ngs-chip-selected-color, var(--ngs-color-on-primary))}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: AutoFocusDirective, selector: "[ngsAutoFocus]", inputs: ["ngsAutoFocus"], exportAs: ["ngsAutoFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
284
284
|
}
|
|
285
285
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ChipOption, decorators: [{
|
|
286
286
|
type: Component,
|
|
@@ -300,7 +300,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
300
300
|
provide: Chip,
|
|
301
301
|
useExisting: forwardRef(() => ChipOption)
|
|
302
302
|
}
|
|
303
|
-
], template: "<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <
|
|
303
|
+
], template: "<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <div class=\"controls\">\n <ng-content select=\"ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]\"/>\n </div>\n</div>\n", styles: [".ngs-chip{--ngs-chip-bg: var(--ngs-color-surface-container-high);--ngs-chip-color: var(--ngs-color-on-surface);--ngs-chip-radius: var(--ngs-radius-xl);--ngs-chip-padding: 0 calc(var(--spacing, .25rem) * 3);--ngs-chip-font-size: var(--ngs-font-size-xs);--ngs-chip-font-weight: 500;--ngs-chip-height: calc(var(--spacing, .25rem) * 8);display:inline-flex;align-items:center;border-radius:var(--ngs-chip-radius);padding:var(--ngs-chip-padding);font-size:var(--ngs-chip-font-size);font-weight:var(--ngs-chip-font-weight);height:var(--ngs-chip-height);box-sizing:border-box;vertical-align:middle;white-space:nowrap;position:relative;overflow:hidden;cursor:pointer}.ngs-chip[appearance=filled]{background:var(--ngs-chip-bg);color:var(--ngs-chip-color)}.ngs-chip[appearance=outlined]{background:transparent;color:var(--ngs-chip-color);border:1px solid var(--ngs-chip-outline-color, var(--ngs-color-outline-variant))}.ngs-chip[appearance=outlined].ngs-chip-selected{border-color:var(--ngs-chip-selected-bg, var(--ngs-color-primary))}.ngs-chip:not(.ngs-chip-selected):not(.ngs-chip-editing):hover{filter:brightness(97%)}.ngs-chip:has(.avatar:not(:empty)){padding-left:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip:has(.ngs-chip-remove:not(:empty)){padding-right:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip .avatar{position:relative;margin-right:calc(var(--spacing, .25rem) * 1.5)}.ngs-chip .avatar:empty{display:none}.ngs-chip .avatar img{width:calc(var(--spacing, .25rem) * 6);height:calc(var(--spacing, .25rem) * 6);border-radius:50%}.ngs-chip.ngs-chip-disabled{opacity:.4;cursor:default;pointer-events:none}.ngs-chip .ngs-chip-content{display:flex;align-items:center;width:100%;height:100%;gap:calc(var(--spacing, .25rem) * 1)}.ngs-chip .controls{display:flex;align-items:center;gap:calc(var(--spacing, .25rem) * 1)}.ngs-chip .controls:empty{display:none}.ngs-chip .ngs-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ngs-chip .ngs-chip-label[contenteditable=true]{display:inline-block;min-width:calc(var(--spacing, .25rem) * 5);outline:none;margin-inline-end:calc(var(--spacing, .25rem) * 2)}.ngs-chip .ngs-chip-avatar{margin-right:calc(var(--spacing, .25rem) * 2);display:flex;align-items:center;justify-content:center}.ngs-chip .ngs-chip-edit,.ngs-chip .ngs-chip-remove{line-height:0;--icon-size: calc(var(--spacing, .25rem) * 5);cursor:pointer;opacity:.55}.ngs-chip .ngs-chip-edit:hover,.ngs-chip .ngs-chip-remove:hover{opacity:1}.ngs-chip .ngs-chip-remove:hover{color:var(--ngs-color-danger)}.ngs-chip.ngs-chip-editing .avatar,.ngs-chip.ngs-chip-editing .controls{display:none}.ngs-chip.ngs-chip-selected{--ngs-chip-bg: var(--ngs-chip-selected-bg, var(--ngs-color-primary));--ngs-chip-color: var(--ngs-chip-selected-color, var(--ngs-color-on-primary))}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
304
304
|
}], ctorParameters: () => [], propDecorators: { selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }] } });
|
|
305
305
|
|
|
306
306
|
class ChipListbox {
|
|
@@ -581,9 +581,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
581
581
|
}]
|
|
582
582
|
}], ctorParameters: () => [], propDecorators: { chipGridInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngsChipInputFor", required: false }] }], chipInputSeparatorKeyCodes: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngsChipInputSeparatorKeyCodes", required: false }] }], chipInputAddOnBlur: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngsChipInputAddOnBlur", required: false }] }], chipInputTokenEnd: [{ type: i0.Output, args: ["chipInputTokenEnd"] }] } });
|
|
583
583
|
|
|
584
|
+
class ChipControl {
|
|
585
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ChipControl, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
586
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: ChipControl, isStandalone: true, selector: "[ngsChipControl]", host: { classAttribute: "ngs-chip-control" }, ngImport: i0 });
|
|
587
|
+
}
|
|
588
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ChipControl, decorators: [{
|
|
589
|
+
type: Directive,
|
|
590
|
+
args: [{
|
|
591
|
+
selector: '[ngsChipControl]',
|
|
592
|
+
host: {
|
|
593
|
+
'class': 'ngs-chip-control',
|
|
594
|
+
}
|
|
595
|
+
}]
|
|
596
|
+
}] });
|
|
597
|
+
|
|
584
598
|
/**
|
|
585
599
|
* Generated bundle index. Do not edit.
|
|
586
600
|
*/
|
|
587
601
|
|
|
588
|
-
export { Chip, ChipAvatar, ChipEdit, ChipGrid, ChipInput, ChipListbox, ChipOption, ChipRemove, ChipRow, ChipSet };
|
|
602
|
+
export { Chip, ChipAvatar, ChipControl, ChipEdit, ChipGrid, ChipInput, ChipListbox, ChipOption, ChipRemove, ChipRow, ChipSet };
|
|
589
603
|
//# sourceMappingURL=ngstarter-ui-components-chips.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngstarter-ui-components-chips.mjs","sources":["../../../projects/components/chips/src/chip/chip.ts","../../../projects/components/chips/src/chip/chip.html","../../../projects/components/chips/src/chip-row/chip-row.ts","../../../projects/components/chips/src/chip-grid/chip-grid.ts","../../../projects/components/chips/src/chip-grid/chip-grid.html","../../../projects/components/chips/src/chip-option/chip-option.ts","../../../projects/components/chips/src/chip-listbox/chip-listbox.ts","../../../projects/components/chips/src/chip-listbox/chip-listbox.html","../../../projects/components/chips/src/chip-set/chip-set.ts","../../../projects/components/chips/src/chip-set/chip-set.html","../../../projects/components/chips/src/chip-avatar.ts","../../../projects/components/chips/src/chip-edit.ts","../../../projects/components/chips/src/chip-remove.ts","../../../projects/components/chips/src/chip-input.ts","../../../projects/components/chips/ngstarter-ui-components-chips.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n input,\n ElementRef,\n inject,\n booleanAttribute,\n signal,\n output,\n computed\n} from '@angular/core';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\n\n@Component({\n selector: 'ngs-chip',\n templateUrl: './chip.html',\n styleUrl: './chip.scss',\n host: {\n 'class': 'ngs-chip',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[attr.appearance]': 'appearance()',\n '[attr.aria-disabled]': 'disabled()',\n },\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AutoFocusDirective\n ]\n})\nexport class Chip {\n readonly _elementRef = inject(ElementRef);\n protected _editing = false;\n\n appearance = input<string>('filled');\n disabled = input(false, { transform: booleanAttribute });\n value = input<any>(undefined);\n\n readonly destroyed = output<{ chip: Chip; }>();\n readonly removed = output<{ chip: Chip; }>();\n\n remove(): void {\n if (!this.disabled()) {\n this.removed.emit({ chip: this });\n }\n }\n\n ngOnDestroy() {\n this.destroyed.emit({ chip: this });\n }\n\n _handleKeydown(event: KeyboardEvent): void {\n }\n\n _handleBlur(): void {\n }\n}\n","<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <ng-content select=\"[ngsChipTrailingAction]\"/>\n <div class=\"controls\">\n <ng-content select=\"ngs-chip-remove, [ngsChipRemove], [ngsChipTrailingAction], [ngsChipEdit]\"/>\n </div>\n</div>\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n input,\n booleanAttribute,\n forwardRef,\n viewChild,\n ElementRef,\n ChangeDetectorRef,\n inject,\n PLATFORM_ID, signal,\n output\n} from '@angular/core';\nimport { Chip } from '../chip/chip';\nimport { isPlatformBrowser } from '@angular/common';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\n\nexport interface ChipEditedEvent {\n /** The chip row that was edited. */\n chip: ChipRow;\n\n /** The value of the chip row after it was edited. */\n value: string;\n}\n\n@Component({\n selector: 'ngs-chip-row',\n templateUrl: '../chip/chip.html',\n styleUrl: '../chip/chip.scss',\n host: {\n 'class': 'ngs-chip ngs-chip-row',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[class.ngs-chip-editing]': '_editing',\n '[class.ngs-chip-editable]': 'editable()',\n '[class.ngs-chip-filled]': 'appearance() === \"filled\"',\n '[class.ngs-chip-outlined]': 'appearance() === \"outlined\"',\n '[attr.aria-disabled]': 'disabled()',\n 'role': 'row',\n '(keydown)': '_handleKeydown($event)',\n '(click)': '_handleClick($event)',\n },\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AutoFocusDirective\n ],\n providers: [\n {\n provide: Chip,\n useExisting: forwardRef(() => ChipRow)\n }\n ]\n})\nexport class ChipRow extends Chip {\n private _changeDetectorRef = inject(ChangeDetectorRef);\n\n private readonly _editInput = viewChild<ElementRef<HTMLSpanElement>>('editInput');\n\n alreadyEdited = signal(false);\n\n editable = input(false, { transform: booleanAttribute });\n\n readonly edited = output<ChipEditedEvent>();\n\n /**\n * Allows for use of the template-bound $event object\n */\n override _handleKeydown(event: KeyboardEvent): void {\n if (this.editable() && !this.disabled()) {\n if (this._editing) {\n if (event.key === 'Enter') {\n this._stopEditing();\n event.preventDefault();\n } else if (event.key === 'Escape') {\n this._editing = false;\n this._changeDetectorRef.markForCheck();\n event.preventDefault();\n }\n }\n }\n }\n\n override _handleBlur(): void {\n if (this._editing) {\n this._stopEditing();\n }\n }\n\n _handleClick(event: MouseEvent): void {\n if (!this.disabled()) {\n if (this.editable() && !this._editing && this.alreadyEdited()) {\n this._startEditing();\n }\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n _startEditing(): void {\n if (this.editable() && !this.disabled() && !this._editing) {\n this.alreadyEdited.set(true);\n this._editing = true;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n private _stopEditing(): void {\n if (this._editing) {\n this._editing = false;\n const newValue = this._editInput()!.nativeElement.innerText.trim();\n this.edited.emit({ chip: this, value: newValue });\n this._changeDetectorRef.markForCheck();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n forwardRef,\n booleanAttribute,\n Component,\n AfterContentInit,\n computed,\n signal,\n input,\n inject,\n ElementRef,\n contentChildren,\n output\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { ChipRow } from '../chip-row/chip-row';\nimport { FormFieldControl } from '@ngstarter-ui/components/form-field';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngs-chip-grid',\n templateUrl: './chip-grid.html',\n styleUrl: './chip-grid.scss',\n host: {\n 'class': 'ngs-chip-grid ngs-chip-set',\n 'role': 'grid',\n '[attr.aria-disabled]': 'disabled',\n '[id]': 'id',\n },\n standalone: true,\n providers: [\n {\n provide: FormFieldControl,\n useExisting: forwardRef(() => ChipGrid),\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChipGrid implements ControlValueAccessor, AfterContentInit, FormFieldControl<any[]> {\n readonly ngControl = inject(NgControl, { optional: true, self: true });\n readonly _elementRef = inject(ElementRef);\n\n _id = input<string>(`ngs-chip-grid-${nextId++}`, { alias: 'id' });\n get id(): string { return this._id(); }\n _placeholder = input<string | undefined>(undefined, { alias: 'placeholder' });\n get placeholder(): string | undefined { return this._placeholder(); }\n _required = input(false, { transform: booleanAttribute, alias: 'required' });\n get required(): boolean { return this._required(); }\n private _disabled = signal(false);\n _disabledInput = input(false, {\n transform: booleanAttribute,\n alias: 'disabled'\n });\n isDisabled = computed(() => this._disabledInput() || this._disabled());\n get disabled(): boolean { return this.isDisabled(); }\n\n readonly _chips = contentChildren(ChipRow, { descendants: true });\n private readonly _chips$ = toObservable(this._chips);\n\n readonly valueChange = output<any>();\n\n private _value = signal<any[]>([]);\n readonly stateChanges = signal<void>(undefined);\n private _focused = signal(false);\n get focused(): boolean { return this._focused(); }\n private _errorState = signal(false);\n get errorState(): boolean { return this._errorState(); }\n\n private _chipsLength = signal(0);\n get chipsLength(): number { return this._chipsLength(); }\n\n private _empty = computed(() => {\n const value = this._value();\n return (!value || value.length === 0) &&\n this._chipsLength() === 0 &&\n !this._isInputFocused() &&\n this._isInputEmpty();\n });\n get empty(): boolean { return this._empty(); }\n\n private _shouldLabelFloat = computed(() => {\n return !this.empty || this.focused;\n });\n get shouldLabelFloat(): boolean { return this._shouldLabelFloat(); }\n\n private _isInputFocused = signal(false);\n private _isInputEmpty = signal(true);\n private _chipInput: any;\n\n onChange: (value: any) => void = () => {};\n onTouched: () => void = () => {};\n\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n get value(): any[] {\n return this._value();\n }\n\n set value(value: any[]) {\n this._value.set(value);\n this.onChange(value);\n this.stateChanges.set(undefined);\n }\n\n writeValue(value: any): void {\n this._value.set(value || []);\n this.stateChanges.set(undefined);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n this.stateChanges.set(undefined);\n }\n\n ngAfterContentInit() {\n this._chips$.subscribe(() => {\n this._chipsLength.set(this._chips().length);\n this.stateChanges.set(undefined);\n });\n this._chipsLength.set(this._chips().length);\n }\n\n _setFocused(focused: boolean) {\n if (focused !== this._focused()) {\n this._focused.set(focused);\n this.stateChanges.set(undefined);\n }\n }\n\n _setInputFocused(focused: boolean) {\n this._isInputFocused.set(focused);\n this._setFocused(focused);\n }\n\n _setInputEmpty(empty: boolean) {\n this._isInputEmpty.set(empty);\n this.stateChanges.set(undefined);\n }\n\n _registerInput(input: any) {\n this._chipInput = input;\n }\n\n focus(): void {\n if (this.isDisabled()) {\n return;\n }\n\n if (this._chipInput) {\n this._chipInput.focus();\n } else {\n this._elementRef.nativeElement.focus();\n }\n }\n}\n","<ng-content />\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n input,\n booleanAttribute,\n forwardRef,\n output,\n effect\n} from '@angular/core';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\nimport { Chip } from '../chip/chip';\n\n@Component({\n selector: 'ngs-chip-option',\n templateUrl: '../chip/chip.html',\n styleUrl: '../chip/chip.scss',\n host: {\n 'class': 'ngs-chip ngs-chip-option',\n '[class.ngs-chip-selected]': 'isSelected',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[class.ngs-chip-filled]': 'appearance() === \"filled\"',\n '[class.ngs-chip-outlined]': 'appearance() === \"outlined\"',\n '[attr.aria-selected]': 'isSelected',\n '[attr.aria-disabled]': 'disabled()',\n '(click)': 'toggleSelected()',\n },\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AutoFocusDirective\n ],\n providers: [\n {\n provide: Chip,\n useExisting: forwardRef(() => ChipOption)\n }\n ]\n})\nexport class ChipOption extends Chip {\n selected = input(false, { transform: booleanAttribute });\n private _internalSelected = false;\n\n constructor() {\n super();\n effect(() => {\n this._setSelected(this.selected());\n });\n }\n\n get isSelected(): boolean {\n return this._internalSelected;\n }\n _setSelected(value: boolean) {\n this._internalSelected = value;\n }\n\n readonly selectionChange = output<{\n source: ChipOption;\n selected: boolean;\n}>();\n\n toggleSelected(): void {\n if (!this.disabled()) {\n this._setSelected(!this.isSelected);\n this.selectionChange.emit({ source: this, selected: this.isSelected });\n }\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n input,\n forwardRef,\n booleanAttribute,\n AfterContentInit,\n contentChildren\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { ChipOption } from '../chip-option/chip-option';\n\n@Component({\n selector: 'ngs-chip-listbox',\n templateUrl: './chip-listbox.html',\n styleUrl: './chip-listbox.scss',\n host: {\n 'class': 'ngs-chip-listbox ngs-chip-set',\n 'role': 'listbox',\n '[attr.aria-multiselectable]': 'multiple()',\n '[attr.aria-disabled]': 'disabled()',\n },\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ChipListbox),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ChipListbox implements ControlValueAccessor, AfterContentInit {\n multiple = input(false, { transform: booleanAttribute });\n disabled = input(false, { transform: booleanAttribute });\n\n readonly _chips = contentChildren(ChipOption, { descendants: true });\n private readonly _chips$ = toObservable(this._chips);\n\n private _value: any;\n onChange: (value: any) => void = () => {};\n onTouched: () => void = () => {};\n\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n this._value = value;\n this._updateChips();\n }\n\n writeValue(value: any): void {\n this._value = value;\n this._updateChips();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n }\n\n ngAfterContentInit() {\n this._chips$.subscribe(() => {\n this._updateChips();\n });\n\n if (this._value === undefined) {\n const selectedChips = this._chips().filter(chip => chip.isSelected);\n\n if (this.multiple()) {\n this._value = selectedChips.map(chip => chip.value() !== undefined ? chip.value() : chip);\n } else {\n const lastSelected = selectedChips[selectedChips.length - 1];\n this._value = lastSelected ? (lastSelected.value() !== undefined ? lastSelected.value() : lastSelected) : undefined;\n }\n }\n\n Promise.resolve().then(() => {\n this._updateChips();\n });\n\n this._chips().forEach(chip => {\n chip.selectionChange.subscribe(() => {\n this._onSelectionChange(chip);\n });\n });\n }\n\n private _onSelectionChange(chip: ChipOption): void {\n const value = chip.value() !== undefined ? chip.value() : chip;\n\n if (this.multiple()) {\n if (!Array.isArray(this._value)) {\n this._value = [];\n }\n const index = this._value.indexOf(value);\n if (chip.isSelected) {\n if (index < 0) {\n this._value.push(value);\n }\n } else {\n if (index >= 0) {\n this._value.splice(index, 1);\n }\n }\n this._value = [...this._value];\n } else {\n this._chips().forEach(c => {\n if (c !== chip) {\n c._setSelected(false);\n }\n });\n this._value = chip.isSelected ? value : null;\n }\n this.onChange(this._value);\n this.onTouched();\n }\n\n private _updateChips(): void {\n const _chips = this._chips();\n if (!_chips || this._value === undefined) {\n return;\n }\n\n _chips.forEach(chip => {\n const value = chip.value() !== undefined ? chip.value() : chip;\n\n if (this.multiple()) {\n chip._setSelected(Array.isArray(this._value) && this._value.includes(value));\n } else {\n chip._setSelected(this._value === value);\n }\n });\n }\n}\n","<ng-content />\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ngs-chip-set',\n templateUrl: './chip-set.html',\n styleUrl: './chip-set.scss',\n host: {\n 'class': 'ngs-chip-set',\n 'role': 'presentation',\n },\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChipSet {\n}\n","<ng-content />\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'ngs-chip-avatar, [ngsChipAvatar]',\n host: {\n 'class': 'ngs-chip-avatar',\n },\n standalone: true,\n})\nexport class ChipAvatar {}\n","import { Directive, inject } from '@angular/core';\nimport { ChipRow } from './chip-row/chip-row';\n\n@Directive({\n selector: 'ngs-chip-edit, [ngsChipEdit]',\n host: {\n 'class': 'ngs-chip-edit',\n '(click)': '_handleClick($event)',\n },\n standalone: true,\n})\nexport class ChipEdit {\n protected _parentChip = inject(ChipRow);\n\n _handleClick(event: Event): void {\n if (!this._parentChip.disabled() && this._parentChip.editable()) {\n this._parentChip._startEditing();\n event.stopPropagation();\n }\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { Chip } from './chip/chip';\n\n@Directive({\n selector: 'ngs-chip-remove, [ngsChipRemove]',\n host: {\n 'class': 'ngs-chip-remove',\n '(click)': '_handleClick($event)',\n },\n standalone: true,\n})\nexport class ChipRemove {\n protected _parentChip = inject(Chip);\n\n _handleClick(event: Event): void {\n if (!this._parentChip.disabled()) {\n this._parentChip.remove();\n event.stopPropagation();\n }\n }\n}\n","import {\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n input,\n signal,\n DoCheck,\n output\n} from '@angular/core';\nimport { ChipGrid } from './chip-grid/chip-grid';\n\nexport interface ChipInputEvent {\n readonly chipInput: ChipInput;\n readonly value: string;\n readonly input: HTMLInputElement;\n}\n\n@Directive({\n selector: 'input[ngsChipInputFor]',\n standalone: true,\n host: {\n 'class': 'ngs-chip-input',\n '(input)': '_onInput()',\n '(keydown)': '_onKeydown($event)',\n '(blur)': '_onBlur()',\n '(focus)': '_onFocus()',\n }\n})\nexport class ChipInput implements DoCheck {\n private _elementRef = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n set chipGrid(value: ChipGrid) {\n this._chipGrid = value;\n this._chipGrid?._registerInput(this);\n this._chipGrid?._setInputEmpty(!this._elementRef.nativeElement.value);\n }\n get chipGrid() {\n return this._chipGrid;\n }\n private _chipGrid: ChipGrid;\n\n chipGridInput = input<ChipGrid | undefined>(undefined, { alias: 'ngsChipInputFor' });\n\n chipInputSeparatorKeyCodes = input<readonly number[] | ReadonlySet<number>>(undefined, { alias: 'ngsChipInputSeparatorKeyCodes' });\n\n chipInputAddOnBlur = input(false, { alias: 'ngsChipInputAddOnBlur', transform: booleanAttribute });\n\n readonly chipInputTokenEnd = output<any>();\n\n protected readonly _value = signal('');\n protected readonly _focused = signal(false);\n\n constructor() { }\n\n ngDoCheck() {\n if (this.chipGridInput() && this.chipGridInput() !== this._chipGrid) {\n this.chipGrid = this.chipGridInput()!;\n }\n if (this._value() !== this._elementRef.nativeElement.value) {\n this._onInput();\n }\n }\n\n _onInput() {\n const value = this._elementRef.nativeElement.value;\n this._value.set(value);\n this.chipGrid?._setInputEmpty(!value);\n }\n\n _onKeydown(event: any) {\n if (event.defaultPrevented) {\n return;\n }\n if (this.chipInputSeparatorKeyCodes() && (this.chipInputSeparatorKeyCodes() as any).includes(event.keyCode)) {\n this.chipInputTokenEnd.emit({\n chipInput: this,\n value: this._elementRef.nativeElement.value,\n input: this._elementRef.nativeElement\n });\n event.preventDefault();\n }\n }\n\n _onBlur() {\n this._focused.set(false);\n if (this.chipInputAddOnBlur()) {\n this.chipInputTokenEnd.emit({\n chipInput: this,\n value: this._elementRef.nativeElement.value,\n input: this._elementRef.nativeElement\n });\n }\n this.chipGrid?._setInputFocused(false);\n }\n\n _onFocus() {\n this._focused.set(true);\n this.chipGrid?._setInputFocused(true);\n }\n\n clear() {\n this._elementRef.nativeElement.value = '';\n this._value.set('');\n this.chipGrid?._setInputEmpty(true);\n }\n\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngstarter-ui-components-chips.mjs","sources":["../../../projects/components/chips/src/chip/chip.ts","../../../projects/components/chips/src/chip/chip.html","../../../projects/components/chips/src/chip-row/chip-row.ts","../../../projects/components/chips/src/chip-grid/chip-grid.ts","../../../projects/components/chips/src/chip-grid/chip-grid.html","../../../projects/components/chips/src/chip-option/chip-option.ts","../../../projects/components/chips/src/chip-listbox/chip-listbox.ts","../../../projects/components/chips/src/chip-listbox/chip-listbox.html","../../../projects/components/chips/src/chip-set/chip-set.ts","../../../projects/components/chips/src/chip-set/chip-set.html","../../../projects/components/chips/src/chip-avatar.ts","../../../projects/components/chips/src/chip-edit.ts","../../../projects/components/chips/src/chip-remove.ts","../../../projects/components/chips/src/chip-input.ts","../../../projects/components/chips/src/chip-control.ts","../../../projects/components/chips/ngstarter-ui-components-chips.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n input,\n ElementRef,\n inject,\n booleanAttribute,\n signal,\n output,\n computed\n} from '@angular/core';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\n\n@Component({\n selector: 'ngs-chip',\n templateUrl: './chip.html',\n styleUrl: './chip.scss',\n host: {\n 'class': 'ngs-chip',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[attr.appearance]': 'appearance()',\n '[attr.aria-disabled]': 'disabled()',\n },\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AutoFocusDirective\n ]\n})\nexport class Chip {\n readonly _elementRef = inject(ElementRef);\n protected _editing = false;\n\n appearance = input<string>('filled');\n disabled = input(false, { transform: booleanAttribute });\n value = input<any>(undefined);\n\n readonly destroyed = output<{ chip: Chip; }>();\n readonly removed = output<{ chip: Chip; }>();\n\n remove(): void {\n if (!this.disabled()) {\n this.removed.emit({ chip: this });\n }\n }\n\n ngOnDestroy() {\n this.destroyed.emit({ chip: this });\n }\n\n _handleKeydown(event: KeyboardEvent): void {\n }\n\n _handleBlur(): void {\n }\n}\n","<div class=\"ngs-chip-content\">\n <span class=\"avatar\">\n <ng-content select=\"ngs-chip-avatar, [ngsChipAvatar]\"/>\n </span>\n <span\n class=\"ngs-chip-label\"\n [attr.contenteditable]=\"_editing || null\"\n (blur)=\"_handleBlur()\"\n (keydown)=\"_handleKeydown($event)\"\n [ngsAutoFocus]=\"_editing\"\n >\n <ng-content/>\n </span>\n <div class=\"controls\">\n <ng-content select=\"ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]\"/>\n </div>\n</div>\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n input,\n booleanAttribute,\n forwardRef,\n viewChild,\n ElementRef,\n ChangeDetectorRef,\n inject,\n PLATFORM_ID, signal,\n output\n} from '@angular/core';\nimport { Chip } from '../chip/chip';\nimport { isPlatformBrowser } from '@angular/common';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\n\nexport interface ChipEditedEvent {\n /** The chip row that was edited. */\n chip: ChipRow;\n\n /** The value of the chip row after it was edited. */\n value: string;\n}\n\n@Component({\n selector: 'ngs-chip-row',\n templateUrl: '../chip/chip.html',\n styleUrl: '../chip/chip.scss',\n host: {\n 'class': 'ngs-chip ngs-chip-row',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[class.ngs-chip-editing]': '_editing',\n '[class.ngs-chip-editable]': 'editable()',\n '[class.ngs-chip-filled]': 'appearance() === \"filled\"',\n '[class.ngs-chip-outlined]': 'appearance() === \"outlined\"',\n '[attr.aria-disabled]': 'disabled()',\n 'role': 'row',\n '(keydown)': '_handleKeydown($event)',\n '(click)': '_handleClick($event)',\n },\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AutoFocusDirective\n ],\n providers: [\n {\n provide: Chip,\n useExisting: forwardRef(() => ChipRow)\n }\n ]\n})\nexport class ChipRow extends Chip {\n private _changeDetectorRef = inject(ChangeDetectorRef);\n\n private readonly _editInput = viewChild<ElementRef<HTMLSpanElement>>('editInput');\n\n alreadyEdited = signal(false);\n\n editable = input(false, { transform: booleanAttribute });\n\n readonly edited = output<ChipEditedEvent>();\n\n /**\n * Allows for use of the template-bound $event object\n */\n override _handleKeydown(event: KeyboardEvent): void {\n if (this.editable() && !this.disabled()) {\n if (this._editing) {\n if (event.key === 'Enter') {\n this._stopEditing();\n event.preventDefault();\n } else if (event.key === 'Escape') {\n this._editing = false;\n this._changeDetectorRef.markForCheck();\n event.preventDefault();\n }\n }\n }\n }\n\n override _handleBlur(): void {\n if (this._editing) {\n this._stopEditing();\n }\n }\n\n _handleClick(event: MouseEvent): void {\n if (!this.disabled()) {\n if (this.editable() && !this._editing && this.alreadyEdited()) {\n this._startEditing();\n }\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n _startEditing(): void {\n if (this.editable() && !this.disabled() && !this._editing) {\n this.alreadyEdited.set(true);\n this._editing = true;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n private _stopEditing(): void {\n if (this._editing) {\n this._editing = false;\n const newValue = this._editInput()!.nativeElement.innerText.trim();\n this.edited.emit({ chip: this, value: newValue });\n this._changeDetectorRef.markForCheck();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n forwardRef,\n booleanAttribute,\n Component,\n AfterContentInit,\n computed,\n signal,\n input,\n inject,\n ElementRef,\n contentChildren,\n output\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { ChipRow } from '../chip-row/chip-row';\nimport { FormFieldControl } from '@ngstarter-ui/components/form-field';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngs-chip-grid',\n templateUrl: './chip-grid.html',\n styleUrl: './chip-grid.scss',\n host: {\n 'class': 'ngs-chip-grid ngs-chip-set',\n 'role': 'grid',\n '[attr.aria-disabled]': 'disabled',\n '[id]': 'id',\n },\n standalone: true,\n providers: [\n {\n provide: FormFieldControl,\n useExisting: forwardRef(() => ChipGrid),\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChipGrid implements ControlValueAccessor, AfterContentInit, FormFieldControl<any[]> {\n readonly ngControl = inject(NgControl, { optional: true, self: true });\n readonly _elementRef = inject(ElementRef);\n\n _id = input<string>(`ngs-chip-grid-${nextId++}`, { alias: 'id' });\n get id(): string { return this._id(); }\n _placeholder = input<string | undefined>(undefined, { alias: 'placeholder' });\n get placeholder(): string | undefined { return this._placeholder(); }\n _required = input(false, { transform: booleanAttribute, alias: 'required' });\n get required(): boolean { return this._required(); }\n private _disabled = signal(false);\n _disabledInput = input(false, {\n transform: booleanAttribute,\n alias: 'disabled'\n });\n isDisabled = computed(() => this._disabledInput() || this._disabled());\n get disabled(): boolean { return this.isDisabled(); }\n\n readonly _chips = contentChildren(ChipRow, { descendants: true });\n private readonly _chips$ = toObservable(this._chips);\n\n readonly valueChange = output<any>();\n\n private _value = signal<any[]>([]);\n readonly stateChanges = signal<void>(undefined);\n private _focused = signal(false);\n get focused(): boolean { return this._focused(); }\n private _errorState = signal(false);\n get errorState(): boolean { return this._errorState(); }\n\n private _chipsLength = signal(0);\n get chipsLength(): number { return this._chipsLength(); }\n\n private _empty = computed(() => {\n const value = this._value();\n return (!value || value.length === 0) &&\n this._chipsLength() === 0 &&\n !this._isInputFocused() &&\n this._isInputEmpty();\n });\n get empty(): boolean { return this._empty(); }\n\n private _shouldLabelFloat = computed(() => {\n return !this.empty || this.focused;\n });\n get shouldLabelFloat(): boolean { return this._shouldLabelFloat(); }\n\n private _isInputFocused = signal(false);\n private _isInputEmpty = signal(true);\n private _chipInput: any;\n\n onChange: (value: any) => void = () => {};\n onTouched: () => void = () => {};\n\n constructor() {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n get value(): any[] {\n return this._value();\n }\n\n set value(value: any[]) {\n this._value.set(value);\n this.onChange(value);\n this.stateChanges.set(undefined);\n }\n\n writeValue(value: any): void {\n this._value.set(value || []);\n this.stateChanges.set(undefined);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n this.stateChanges.set(undefined);\n }\n\n ngAfterContentInit() {\n this._chips$.subscribe(() => {\n this._chipsLength.set(this._chips().length);\n this.stateChanges.set(undefined);\n });\n this._chipsLength.set(this._chips().length);\n }\n\n _setFocused(focused: boolean) {\n if (focused !== this._focused()) {\n this._focused.set(focused);\n this.stateChanges.set(undefined);\n }\n }\n\n _setInputFocused(focused: boolean) {\n this._isInputFocused.set(focused);\n this._setFocused(focused);\n }\n\n _setInputEmpty(empty: boolean) {\n this._isInputEmpty.set(empty);\n this.stateChanges.set(undefined);\n }\n\n _registerInput(input: any) {\n this._chipInput = input;\n }\n\n focus(): void {\n if (this.isDisabled()) {\n return;\n }\n\n if (this._chipInput) {\n this._chipInput.focus();\n } else {\n this._elementRef.nativeElement.focus();\n }\n }\n}\n","<ng-content />\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n input,\n booleanAttribute,\n forwardRef,\n output,\n effect\n} from '@angular/core';\nimport { AutoFocusDirective } from '@ngstarter-ui/components/core';\nimport { Chip } from '../chip/chip';\n\n@Component({\n selector: 'ngs-chip-option',\n templateUrl: '../chip/chip.html',\n styleUrl: '../chip/chip.scss',\n host: {\n 'class': 'ngs-chip ngs-chip-option',\n '[class.ngs-chip-selected]': 'isSelected',\n '[class.ngs-chip-disabled]': 'disabled()',\n '[class.ngs-chip-filled]': 'appearance() === \"filled\"',\n '[class.ngs-chip-outlined]': 'appearance() === \"outlined\"',\n '[attr.aria-selected]': 'isSelected',\n '[attr.aria-disabled]': 'disabled()',\n '(click)': 'toggleSelected()',\n },\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AutoFocusDirective\n ],\n providers: [\n {\n provide: Chip,\n useExisting: forwardRef(() => ChipOption)\n }\n ]\n})\nexport class ChipOption extends Chip {\n selected = input(false, { transform: booleanAttribute });\n private _internalSelected = false;\n\n constructor() {\n super();\n effect(() => {\n this._setSelected(this.selected());\n });\n }\n\n get isSelected(): boolean {\n return this._internalSelected;\n }\n _setSelected(value: boolean) {\n this._internalSelected = value;\n }\n\n readonly selectionChange = output<{\n source: ChipOption;\n selected: boolean;\n}>();\n\n toggleSelected(): void {\n if (!this.disabled()) {\n this._setSelected(!this.isSelected);\n this.selectionChange.emit({ source: this, selected: this.isSelected });\n }\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n input,\n forwardRef,\n booleanAttribute,\n AfterContentInit,\n contentChildren\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { ChipOption } from '../chip-option/chip-option';\n\n@Component({\n selector: 'ngs-chip-listbox',\n templateUrl: './chip-listbox.html',\n styleUrl: './chip-listbox.scss',\n host: {\n 'class': 'ngs-chip-listbox ngs-chip-set',\n 'role': 'listbox',\n '[attr.aria-multiselectable]': 'multiple()',\n '[attr.aria-disabled]': 'disabled()',\n },\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ChipListbox),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class ChipListbox implements ControlValueAccessor, AfterContentInit {\n multiple = input(false, { transform: booleanAttribute });\n disabled = input(false, { transform: booleanAttribute });\n\n readonly _chips = contentChildren(ChipOption, { descendants: true });\n private readonly _chips$ = toObservable(this._chips);\n\n private _value: any;\n onChange: (value: any) => void = () => {};\n onTouched: () => void = () => {};\n\n get value(): any {\n return this._value;\n }\n\n set value(value: any) {\n this._value = value;\n this._updateChips();\n }\n\n writeValue(value: any): void {\n this._value = value;\n this._updateChips();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n }\n\n ngAfterContentInit() {\n this._chips$.subscribe(() => {\n this._updateChips();\n });\n\n if (this._value === undefined) {\n const selectedChips = this._chips().filter(chip => chip.isSelected);\n\n if (this.multiple()) {\n this._value = selectedChips.map(chip => chip.value() !== undefined ? chip.value() : chip);\n } else {\n const lastSelected = selectedChips[selectedChips.length - 1];\n this._value = lastSelected ? (lastSelected.value() !== undefined ? lastSelected.value() : lastSelected) : undefined;\n }\n }\n\n Promise.resolve().then(() => {\n this._updateChips();\n });\n\n this._chips().forEach(chip => {\n chip.selectionChange.subscribe(() => {\n this._onSelectionChange(chip);\n });\n });\n }\n\n private _onSelectionChange(chip: ChipOption): void {\n const value = chip.value() !== undefined ? chip.value() : chip;\n\n if (this.multiple()) {\n if (!Array.isArray(this._value)) {\n this._value = [];\n }\n const index = this._value.indexOf(value);\n if (chip.isSelected) {\n if (index < 0) {\n this._value.push(value);\n }\n } else {\n if (index >= 0) {\n this._value.splice(index, 1);\n }\n }\n this._value = [...this._value];\n } else {\n this._chips().forEach(c => {\n if (c !== chip) {\n c._setSelected(false);\n }\n });\n this._value = chip.isSelected ? value : null;\n }\n this.onChange(this._value);\n this.onTouched();\n }\n\n private _updateChips(): void {\n const _chips = this._chips();\n if (!_chips || this._value === undefined) {\n return;\n }\n\n _chips.forEach(chip => {\n const value = chip.value() !== undefined ? chip.value() : chip;\n\n if (this.multiple()) {\n chip._setSelected(Array.isArray(this._value) && this._value.includes(value));\n } else {\n chip._setSelected(this._value === value);\n }\n });\n }\n}\n","<ng-content />\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ngs-chip-set',\n templateUrl: './chip-set.html',\n styleUrl: './chip-set.scss',\n host: {\n 'class': 'ngs-chip-set',\n 'role': 'presentation',\n },\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChipSet {\n}\n","<ng-content />\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'ngs-chip-avatar, [ngsChipAvatar]',\n host: {\n 'class': 'ngs-chip-avatar',\n },\n standalone: true,\n})\nexport class ChipAvatar {}\n","import { Directive, inject } from '@angular/core';\nimport { ChipRow } from './chip-row/chip-row';\n\n@Directive({\n selector: 'ngs-chip-edit, [ngsChipEdit]',\n host: {\n 'class': 'ngs-chip-edit',\n '(click)': '_handleClick($event)',\n },\n standalone: true,\n})\nexport class ChipEdit {\n protected _parentChip = inject(ChipRow);\n\n _handleClick(event: Event): void {\n if (!this._parentChip.disabled() && this._parentChip.editable()) {\n this._parentChip._startEditing();\n event.stopPropagation();\n }\n }\n}\n","import { Directive, inject } from '@angular/core';\nimport { Chip } from './chip/chip';\n\n@Directive({\n selector: 'ngs-chip-remove, [ngsChipRemove]',\n host: {\n 'class': 'ngs-chip-remove',\n '(click)': '_handleClick($event)',\n },\n standalone: true,\n})\nexport class ChipRemove {\n protected _parentChip = inject(Chip);\n\n _handleClick(event: Event): void {\n if (!this._parentChip.disabled()) {\n this._parentChip.remove();\n event.stopPropagation();\n }\n }\n}\n","import {\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n input,\n signal,\n DoCheck,\n output\n} from '@angular/core';\nimport { ChipGrid } from './chip-grid/chip-grid';\n\nexport interface ChipInputEvent {\n readonly chipInput: ChipInput;\n readonly value: string;\n readonly input: HTMLInputElement;\n}\n\n@Directive({\n selector: 'input[ngsChipInputFor]',\n standalone: true,\n host: {\n 'class': 'ngs-chip-input',\n '(input)': '_onInput()',\n '(keydown)': '_onKeydown($event)',\n '(blur)': '_onBlur()',\n '(focus)': '_onFocus()',\n }\n})\nexport class ChipInput implements DoCheck {\n private _elementRef = inject<ElementRef<HTMLInputElement>>(ElementRef);\n\n set chipGrid(value: ChipGrid) {\n this._chipGrid = value;\n this._chipGrid?._registerInput(this);\n this._chipGrid?._setInputEmpty(!this._elementRef.nativeElement.value);\n }\n get chipGrid() {\n return this._chipGrid;\n }\n private _chipGrid: ChipGrid;\n\n chipGridInput = input<ChipGrid | undefined>(undefined, { alias: 'ngsChipInputFor' });\n\n chipInputSeparatorKeyCodes = input<readonly number[] | ReadonlySet<number>>(undefined, { alias: 'ngsChipInputSeparatorKeyCodes' });\n\n chipInputAddOnBlur = input(false, { alias: 'ngsChipInputAddOnBlur', transform: booleanAttribute });\n\n readonly chipInputTokenEnd = output<any>();\n\n protected readonly _value = signal('');\n protected readonly _focused = signal(false);\n\n constructor() { }\n\n ngDoCheck() {\n if (this.chipGridInput() && this.chipGridInput() !== this._chipGrid) {\n this.chipGrid = this.chipGridInput()!;\n }\n if (this._value() !== this._elementRef.nativeElement.value) {\n this._onInput();\n }\n }\n\n _onInput() {\n const value = this._elementRef.nativeElement.value;\n this._value.set(value);\n this.chipGrid?._setInputEmpty(!value);\n }\n\n _onKeydown(event: any) {\n if (event.defaultPrevented) {\n return;\n }\n if (this.chipInputSeparatorKeyCodes() && (this.chipInputSeparatorKeyCodes() as any).includes(event.keyCode)) {\n this.chipInputTokenEnd.emit({\n chipInput: this,\n value: this._elementRef.nativeElement.value,\n input: this._elementRef.nativeElement\n });\n event.preventDefault();\n }\n }\n\n _onBlur() {\n this._focused.set(false);\n if (this.chipInputAddOnBlur()) {\n this.chipInputTokenEnd.emit({\n chipInput: this,\n value: this._elementRef.nativeElement.value,\n input: this._elementRef.nativeElement\n });\n }\n this.chipGrid?._setInputFocused(false);\n }\n\n _onFocus() {\n this._focused.set(true);\n this.chipGrid?._setInputFocused(true);\n }\n\n clear() {\n this._elementRef.nativeElement.value = '';\n this._value.set('');\n this.chipGrid?._setInputEmpty(true);\n }\n\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\n","import { Directive, inject } from '@angular/core';\n\n@Directive({\n selector: '[ngsChipControl]',\n host: {\n 'class': 'ngs-chip-control',\n }\n})\nexport class ChipControl {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MA+Ba,IAAI,CAAA;AACN,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAC/B,QAAQ,GAAG,KAAK;AAE1B,IAAA,UAAU,GAAG,KAAK,CAAS,QAAQ,iFAAC;IACpC,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACxD,IAAA,KAAK,GAAG,KAAK,CAAM,SAAS,4EAAC;IAEpB,SAAS,GAAG,MAAM,EAAmB;IACrC,OAAO,GAAG,MAAM,EAAmB;IAE5C,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACnC;IACF;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACrC;AAEA,IAAA,cAAc,CAAC,KAAoB,EAAA;IACnC;IAEA,WAAW,GAAA;IACX;uGAzBW,IAAI,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAJ,IAAI,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/BjB,2fAiBA,EAAA,MAAA,EAAA,CAAA,2xFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDWI,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAGT,IAAI,EAAA,UAAA,EAAA,CAAA;kBAjBhB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAAA,IAAA,EAGd;AACJ,wBAAA,OAAO,EAAE,UAAU;AACnB,wBAAA,2BAA2B,EAAE,YAAY;AACzC,wBAAA,mBAAmB,EAAE,cAAc;AACnC,wBAAA,sBAAsB,EAAE,YAAY;qBACrC,EAAA,UAAA,EACW,IAAI,mBACC,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B;wBACP;AACD,qBAAA,EAAA,QAAA,EAAA,2fAAA,EAAA,MAAA,EAAA,CAAA,2xFAAA,CAAA,EAAA;;;AE0BG,MAAO,OAAQ,SAAQ,IAAI,CAAA;AACvB,IAAA,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAErC,IAAA,UAAU,GAAG,SAAS,CAA8B,WAAW,iFAAC;AAEjF,IAAA,aAAa,GAAG,MAAM,CAAC,KAAK,oFAAC;IAE7B,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAE/C,MAAM,GAAG,MAAM,EAAmB;AAE3C;;AAEG;AACM,IAAA,cAAc,CAAC,KAAoB,EAAA;QAC1C,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AACvC,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;oBACzB,IAAI,CAAC,YAAY,EAAE;oBACnB,KAAK,CAAC,cAAc,EAAE;gBACxB;AAAO,qBAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;AACjC,oBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,oBAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;oBACtC,KAAK,CAAC,cAAc,EAAE;gBACxB;YACF;QACF;IACF;IAES,WAAW,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,YAAY,EAAE;QACrB;IACF;AAEA,IAAA,YAAY,CAAC,KAAiB,EAAA;AAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;gBAC7D,IAAI,CAAC,aAAa,EAAE;YACtB;YACA,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,eAAe,EAAE;QACzB;IACF;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACzD,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;QACxC;IACF;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAG,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE;AAClE,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACjD,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;QACxC;IACF;uGA5DW,OAAO,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAP,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,KAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,6BAAA,EAAA,yBAAA,EAAA,+BAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,SAAA,EAPP;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,OAAO;AACtC;SACF,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EDrDH,2fAiBA,m1FC6BI,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAST,OAAO,EAAA,UAAA,EAAA,CAAA;kBA7BnB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAAA,IAAA,EAGlB;AACJ,wBAAA,OAAO,EAAE,uBAAuB;AAChC,wBAAA,2BAA2B,EAAE,YAAY;AACzC,wBAAA,0BAA0B,EAAE,UAAU;AACtC,wBAAA,2BAA2B,EAAE,YAAY;AACzC,wBAAA,yBAAyB,EAAE,2BAA2B;AACtD,wBAAA,2BAA2B,EAAE,6BAA6B;AAC1D,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,MAAM,EAAE,KAAK;AACb,wBAAA,WAAW,EAAE,wBAAwB;AACrC,wBAAA,SAAS,EAAE,sBAAsB;qBAClC,EAAA,UAAA,EACW,IAAI,mBACC,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B;wBACP;qBACD,EAAA,SAAA,EACU;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,IAAI;AACb,4BAAA,WAAW,EAAE,UAAU,CAAC,aAAa;AACtC;AACF,qBAAA,EAAA,QAAA,EAAA,2fAAA,EAAA,MAAA,EAAA,CAAA,2xFAAA,CAAA,EAAA;wEAKoE,WAAW,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;ACvClF,IAAI,MAAM,GAAG,CAAC;MAqBD,QAAQ,CAAA;AACV,IAAA,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC7D,IAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAEzC,IAAA,GAAG,GAAG,KAAK,CAAS,CAAA,cAAA,EAAiB,MAAM,EAAE,CAAA,CAAE,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,KAAA,EAAA,8BAAA,EAAA,CAAA,EAAI,KAAK,EAAE,IAAI,EAAA,CAAG;IACjE,IAAI,EAAE,KAAa,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACtC,YAAY,GAAG,KAAK,CAAqB,SAAS,oFAAI,KAAK,EAAE,aAAa,EAAA,CAAG;IAC7E,IAAI,WAAW,KAAyB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;AACpE,IAAA,SAAS,GAAG,KAAK,CAAC,KAAK,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,WAAA,EAAA,8BAAA,EAAA,CAAA,EAAI,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,GAAG;IAC5E,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3C,IAAA,SAAS,GAAG,MAAM,CAAC,KAAK,gFAAC;AACjC,IAAA,cAAc,GAAG,KAAK,CAAC,KAAK,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,8BAAA,EAAA,CAAA,EAC1B,SAAS,EAAE,gBAAgB;QAC3B,KAAK,EAAE,UAAU,EAAA,CACjB;AACF,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,iFAAC;IACtE,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAE3C,MAAM,GAAG,eAAe,CAAC,OAAO,8EAAI,WAAW,EAAE,IAAI,EAAA,CAAG;AAChD,IAAA,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;IAE3C,WAAW,GAAG,MAAM,EAAO;AAE5B,IAAA,MAAM,GAAG,MAAM,CAAQ,EAAE,6EAAC;AACzB,IAAA,YAAY,GAAG,MAAM,CAAO,SAAS,mFAAC;AACvC,IAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,+EAAC;IAChC,IAAI,OAAO,KAAc,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AACzC,IAAA,WAAW,GAAG,MAAM,CAAC,KAAK,kFAAC;IACnC,IAAI,UAAU,KAAc,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAE/C,IAAA,YAAY,GAAG,MAAM,CAAC,CAAC,mFAAC;IAChC,IAAI,WAAW,KAAa,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;AAEhD,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;AAC7B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;QAC3B,OAAO,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;AAClC,YAAA,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC;YACzB,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,aAAa,EAAE;AACxB,IAAA,CAAC,6EAAC;IACF,IAAI,KAAK,KAAc,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAErC,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAK;QACxC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO;AACpC,IAAA,CAAC,wFAAC;IACF,IAAI,gBAAgB,KAAc,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAE3D,IAAA,eAAe,GAAG,MAAM,CAAC,KAAK,sFAAC;AAC/B,IAAA,aAAa,GAAG,MAAM,CAAC,IAAI,oFAAC;AAC5B,IAAA,UAAU;AAElB,IAAA,QAAQ,GAAyB,MAAK,EAAE,CAAC;AACzC,IAAA,SAAS,GAAe,MAAK,EAAE,CAAC;AAEhC,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI;QACrC;IACF;AAEA,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;IACtB;IAEA,IAAI,KAAK,CAAC,KAAY,EAAA;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;IAClC;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;QACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;IAClC;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;AAC9B,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;IAClC;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;AAC1B,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC;AAC3C,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AAClC,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC;IAC7C;AAEA,IAAA,WAAW,CAAC,OAAgB,EAAA;AAC1B,QAAA,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ,EAAE,EAAE;AAC/B,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AAC1B,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC;IACF;AAEA,IAAA,gBAAgB,CAAC,OAAgB,EAAA;AAC/B,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;AACjC,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IAC3B;AAEA,IAAA,cAAc,CAAC,KAAc,EAAA;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;AAC7B,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;IAClC;AAEA,IAAA,cAAc,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;IACzB;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;QACzB;aAAO;AACL,YAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;QACxC;IACF;uGA/HW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,SAAA,EARR;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,gBAAgB;AACzB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,QAAQ,CAAC;AACxC,aAAA;SACF,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAqBiC,OAAO,gEC1D3C,kBACA,EAAA,MAAA,EAAA,CAAA,+QAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FDuCa,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAnBpB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAAA,IAAA,EAGnB;AACJ,wBAAA,OAAO,EAAE,4BAA4B;AACrC,wBAAA,MAAM,EAAE,MAAM;AACd,wBAAA,sBAAsB,EAAE,UAAU;AAClC,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,SAAA,EACL;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,gBAAgB;AACzB,4BAAA,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC;AACxC,yBAAA;qBACF,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,+QAAA,CAAA,EAAA;AAoBb,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,IAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,OAAO,CAAA,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AElB5D,MAAO,UAAW,SAAQ,IAAI,CAAA;IAClC,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAChD,iBAAiB,GAAG,KAAK;AAEjC,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AACpC,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,iBAAiB;IAC/B;AACA,IAAA,YAAY,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;IAChC;IAES,eAAe,GAAG,MAAM,EAG/B;IAEF,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;AACnC,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QACxE;IACF;uGA5BW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,6BAAA,EAAA,yBAAA,EAAA,+BAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,0BAAA,EAAA,EAAA,SAAA,EAPV;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,UAAU;AACzC;SACF,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EJtCH,2fAiBA,m1FIcI,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAST,UAAU,EAAA,UAAA,EAAA,CAAA;kBA3BtB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,IAAA,EAGrB;AACJ,wBAAA,OAAO,EAAE,0BAA0B;AACnC,wBAAA,2BAA2B,EAAE,YAAY;AACzC,wBAAA,2BAA2B,EAAE,YAAY;AACzC,wBAAA,yBAAyB,EAAE,2BAA2B;AACtD,wBAAA,2BAA2B,EAAE,6BAA6B;AAC1D,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,SAAS,EAAE,kBAAkB;qBAC9B,EAAA,UAAA,EACW,IAAI,mBACC,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B;wBACP;qBACD,EAAA,SAAA,EACU;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,IAAI;AACb,4BAAA,WAAW,EAAE,UAAU,CAAC,gBAAgB;AACzC;AACF,qBAAA,EAAA,QAAA,EAAA,2fAAA,EAAA,MAAA,EAAA,CAAA,2xFAAA,CAAA,EAAA;;;MCHU,WAAW,CAAA;IACtB,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IACxD,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAE/C,MAAM,GAAG,eAAe,CAAC,UAAU,8EAAI,WAAW,EAAE,IAAI,EAAA,CAAG;AACnD,IAAA,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;AAE5C,IAAA,MAAM;AACd,IAAA,QAAQ,GAAyB,MAAK,EAAE,CAAC;AACzC,IAAA,SAAS,GAAe,MAAK,EAAE,CAAC;AAEhC,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;IAEA,IAAI,KAAK,CAAC,KAAU,EAAA;AAClB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,YAAY,EAAE;IACrB;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,YAAY,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;IACpC;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;YAC1B,IAAI,CAAC,YAAY,EAAE;AACrB,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;AAC7B,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC;AAEnE,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,gBAAA,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;YAC3F;iBAAO;gBACL,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5D,gBAAA,IAAI,CAAC,MAAM,GAAG,YAAY,IAAI,YAAY,CAAC,KAAK,EAAE,KAAK,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,YAAY,IAAI,SAAS;YACrH;QACF;AAEA,QAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;YAC1B,IAAI,CAAC,YAAY,EAAE;AACrB,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,IAAG;AAC3B,YAAA,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAK;AAClC,gBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAC/B,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,kBAAkB,CAAC,IAAgB,EAAA;AACzC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI;AAE9D,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AAC/B,gBAAA,IAAI,CAAC,MAAM,GAAG,EAAE;YAClB;YACA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;AACxC,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,gBAAA,IAAI,KAAK,GAAG,CAAC,EAAE;AACb,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB;YACF;iBAAO;AACL,gBAAA,IAAI,KAAK,IAAI,CAAC,EAAE;oBACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC9B;YACF;YACA,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC;aAAO;YACL,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,IAAG;AACxB,gBAAA,IAAI,CAAC,KAAK,IAAI,EAAE;AACd,oBAAA,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;gBACvB;AACF,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,GAAG,KAAK,GAAG,IAAI;QAC9C;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,EAAE;IAClB;IAEQ,YAAY,GAAA;AAClB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;QAC5B,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YACxC;QACF;AAEA,QAAA,MAAM,CAAC,OAAO,CAAC,IAAI,IAAG;AACpB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI;AAE9D,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9E;iBAAO;gBACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;YAC1C;AACF,QAAA,CAAC,CAAC;IACJ;uGA5GW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,+BAAA,EAAA,EAAA,SAAA,EAVX;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,WAAW,CAAC;AAC1C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAQiC,UAAU,gECvC9C,kBACA,EAAA,MAAA,EAAA,CAAA,uKAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FDkCa,WAAW,EAAA,UAAA,EAAA,CAAA;kBArBvB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,IAAA,EAGtB;AACJ,wBAAA,OAAO,EAAE,+BAA+B;AACxC,wBAAA,MAAM,EAAE,SAAS;AACjB,wBAAA,6BAA6B,EAAE,YAAY;AAC3C,wBAAA,sBAAsB,EAAE,YAAY;AACrC,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,SAAA,EACL;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,iBAAiB,CAAC;AAC1C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,uKAAA,CAAA,EAAA;AAMH,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,UAAU,CAAA,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEtBxD,OAAO,CAAA;uGAAP,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAP,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,0JCjBpB,kBACA,EAAA,MAAA,EAAA,CAAA,+QAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FDgBa,OAAO,EAAA,UAAA,EAAA,CAAA;kBAXnB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAAA,IAAA,EAGlB;AACJ,wBAAA,OAAO,EAAE,cAAc;AACvB,wBAAA,MAAM,EAAE,cAAc;AACvB,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,+QAAA,CAAA,EAAA;;;MENpC,UAAU,CAAA;uGAAV,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAPtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,iBAAiB;AAC3B,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;MCGY,QAAQ,CAAA;AACT,IAAA,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;AAEvC,IAAA,YAAY,CAAC,KAAY,EAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE;AAC/D,YAAA,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;YAChC,KAAK,CAAC,eAAe,EAAE;QACzB;IACF;uGARW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBARpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,eAAe;AACxB,wBAAA,SAAS,EAAE,sBAAsB;AAClC,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;MCCY,UAAU,CAAA;AACX,IAAA,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;AAEpC,IAAA,YAAY,CAAC,KAAY,EAAA;QACvB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE;AAChC,YAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YACzB,KAAK,CAAC,eAAe,EAAE;QACzB;IACF;uGARW,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBARtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,iBAAiB;AAC1B,wBAAA,SAAS,EAAE,sBAAsB;AAClC,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;MCmBY,SAAS,CAAA;AACZ,IAAA,WAAW,GAAG,MAAM,CAA+B,UAAU,CAAC;IAEtE,IAAI,QAAQ,CAAC,KAAe,EAAA;AAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,QAAA,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC;AACpC,QAAA,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC;IACvE;AACA,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;IACvB;AACQ,IAAA,SAAS;IAEjB,aAAa,GAAG,KAAK,CAAuB,SAAS,qFAAI,KAAK,EAAE,iBAAiB,EAAA,CAAG;IAEpF,0BAA0B,GAAG,KAAK,CAA0C,SAAS,kGAAI,KAAK,EAAE,+BAA+B,EAAA,CAAG;AAElI,IAAA,kBAAkB,GAAG,KAAK,CAAC,KAAK,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,8BAAA,EAAA,CAAA,EAAI,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,gBAAgB,GAAG;IAEzF,iBAAiB,GAAG,MAAM,EAAO;AAEvB,IAAA,MAAM,GAAG,MAAM,CAAC,EAAE,6EAAC;AACnB,IAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,+EAAC;AAE3C,IAAA,WAAA,GAAA,EAAgB;IAEhB,SAAS,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC,SAAS,EAAE;AACnE,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAG;QACvC;AACA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;YAC1D,IAAI,CAAC,QAAQ,EAAE;QACjB;IACF;IAEA,QAAQ,GAAA;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK;AAClD,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC;IACvC;AAEA,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC1B;QACF;AACA,QAAA,IAAI,IAAI,CAAC,0BAA0B,EAAE,IAAK,IAAI,CAAC,0BAA0B,EAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;AAC3G,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAC1B,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK;AAC3C,gBAAA,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;AACzB,aAAA,CAAC;YACF,KAAK,CAAC,cAAc,EAAE;QACxB;IACF;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;AACxB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;AAC7B,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAC1B,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK;AAC3C,gBAAA,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;AACzB,aAAA,CAAC;QACJ;AACA,QAAA,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC;IACxC;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,IAAI,CAAC;IACvC;IAEA,KAAK,GAAA;QACH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE;AACzC,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC;IACrC;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;IACxC;uGAhFW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,0BAAA,EAAA,EAAA,iBAAA,EAAA,4BAAA,EAAA,UAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,WAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBAXrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,gBAAgB;AACzB,wBAAA,SAAS,EAAE,YAAY;AACvB,wBAAA,WAAW,EAAE,oBAAoB;AACjC,wBAAA,QAAQ,EAAE,WAAW;AACrB,wBAAA,SAAS,EAAE,YAAY;AACxB;AACF,iBAAA;;;MCpBY,WAAW,CAAA;uGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBANvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,kBAAkB;AAC5B;AACF,iBAAA;;;ACPD;;AAEG;;;;"}
|
|
@@ -57,7 +57,7 @@ class MenuItem {
|
|
|
57
57
|
provide: MENU_ITEM,
|
|
58
58
|
useExisting: forwardRef(() => MenuItem)
|
|
59
59
|
}
|
|
60
|
-
], exportAs: ["ngsMenuItem"], ngImport: i0, template: "<div class=\"icon\">\n <ng-content select=\"ngs-icon\"/>\n</div>\n\n<div class=\"ngs-menu-item-content\">\n <ng-content/>\n</div>\n\n@if (_menuTrigger) {\n <svg class=\"ngs-menu-item-submenu-icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <polyline points=\"9 18 15 12 9 6\"></polyline>\n </svg>\n}\n", styles: [":host{--ngs-menu-item-height
|
|
60
|
+
], exportAs: ["ngsMenuItem"], ngImport: i0, template: "<div class=\"icon\">\n <ng-content select=\"ngs-icon\"/>\n</div>\n\n<div class=\"ngs-menu-item-content\">\n <ng-content/>\n</div>\n\n@if (_menuTrigger) {\n <svg class=\"ngs-menu-item-submenu-icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <polyline points=\"9 18 15 12 9 6\"></polyline>\n </svg>\n}\n", styles: [":host{display:flex;align-items:center;flex:none;min-height:var(--ngs-menu-item-height, var(--option-height));padding:var(--ngs-menu-item-padding, 0 calc(var(--spacing, .25rem) * 3));border-radius:var(--ngs-menu-item-radius, var(--ngs-control-radius));font-size:var(--ngs-menu-item-font-size, var(--ngs-font-size-sm));font-weight:var(--ngs-menu-item-font-weight, inherit);color:var(--ngs-menu-item-color, var(--ngs-color-on-surface));cursor:pointer;-webkit-user-select:none;user-select:none;border:none;background:none;width:100%;text-align:left;box-sizing:border-box;transition:background .1s ease-in-out;outline:none;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;gap:var(--ngs-menu-item-gap, calc(var(--spacing, .25rem) * 2.5))}:host:hover:not([disabled]),:host.ngs-menu-item-highlighted:not([disabled]){background:var(--ngs-menu-item-hover-background, var(--ngs-color-surface-container-high))}:host.ngs-menu-item-active:not([disabled]){background:var(--ngs-menu-item-active-background, var(--ngs-color-surface-container-highest))}:host[disabled]{color:var(--ngs-menu-item-disabled-color, var(--ngs-color-on-surface-variant));cursor:default;pointer-events:none}:host .icon{line-height:0;opacity:.75}:host .icon:empty{display:none}:host .ngs-menu-item-content{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 2);flex:1}:host .ngs-menu-item-submenu-icon{width:16px;height:16px;margin-left:8px;opacity:.5}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
61
61
|
}
|
|
62
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: MenuItem, decorators: [{
|
|
63
63
|
type: Component,
|
|
@@ -75,7 +75,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
75
75
|
'[tabindex]': 'disabled() ? -1 : 0',
|
|
76
76
|
'(click)': '_handleClick($event)',
|
|
77
77
|
'(mouseenter)': '_handleMouseEnter()',
|
|
78
|
-
}, template: "<div class=\"icon\">\n <ng-content select=\"ngs-icon\"/>\n</div>\n\n<div class=\"ngs-menu-item-content\">\n <ng-content/>\n</div>\n\n@if (_menuTrigger) {\n <svg class=\"ngs-menu-item-submenu-icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <polyline points=\"9 18 15 12 9 6\"></polyline>\n </svg>\n}\n", styles: [":host{--ngs-menu-item-height
|
|
78
|
+
}, template: "<div class=\"icon\">\n <ng-content select=\"ngs-icon\"/>\n</div>\n\n<div class=\"ngs-menu-item-content\">\n <ng-content/>\n</div>\n\n@if (_menuTrigger) {\n <svg class=\"ngs-menu-item-submenu-icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <polyline points=\"9 18 15 12 9 6\"></polyline>\n </svg>\n}\n", styles: [":host{display:flex;align-items:center;flex:none;min-height:var(--ngs-menu-item-height, var(--option-height));padding:var(--ngs-menu-item-padding, 0 calc(var(--spacing, .25rem) * 3));border-radius:var(--ngs-menu-item-radius, var(--ngs-control-radius));font-size:var(--ngs-menu-item-font-size, var(--ngs-font-size-sm));font-weight:var(--ngs-menu-item-font-weight, inherit);color:var(--ngs-menu-item-color, var(--ngs-color-on-surface));cursor:pointer;-webkit-user-select:none;user-select:none;border:none;background:none;width:100%;text-align:left;box-sizing:border-box;transition:background .1s ease-in-out;outline:none;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;gap:var(--ngs-menu-item-gap, calc(var(--spacing, .25rem) * 2.5))}:host:hover:not([disabled]),:host.ngs-menu-item-highlighted:not([disabled]){background:var(--ngs-menu-item-hover-background, var(--ngs-color-surface-container-high))}:host.ngs-menu-item-active:not([disabled]){background:var(--ngs-menu-item-active-background, var(--ngs-color-surface-container-highest))}:host[disabled]{color:var(--ngs-menu-item-disabled-color, var(--ngs-color-on-surface-variant));cursor:default;pointer-events:none}:host .icon{line-height:0;opacity:.75}:host .icon:empty{display:none}:host .ngs-menu-item-content{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing, .25rem) * 2);flex:1}:host .ngs-menu-item-submenu-icon{width:16px;height:16px;margin-left:8px;opacity:.5}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
|
|
79
79
|
}], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], _triggered: [{ type: i0.Output, args: ["_triggered"] }] } });
|
|
80
80
|
|
|
81
81
|
class MenuContent {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngstarter-ui-components-menu.mjs","sources":["../../../projects/components/menu/src/menu-tokens.ts","../../../projects/components/menu/src/menu-item/menu-item.ts","../../../projects/components/menu/src/menu-item/menu-item.html","../../../projects/components/menu/src/menu-content.ts","../../../projects/components/menu/src/menu/menu.ts","../../../projects/components/menu/src/menu/menu.html","../../../projects/components/menu/src/menu-divider/menu-divider.ts","../../../projects/components/menu/src/menu-divider/menu-divider.html","../../../projects/components/menu/src/menu-heading/menu-heading.ts","../../../projects/components/menu/src/menu-heading/menu-heading.html","../../../projects/components/menu/src/menu-trigger.ts","../../../projects/components/menu/src/context-menu-trigger.ts","../../../projects/components/menu/src/menu-header/menu-header.ts","../../../projects/components/menu/src/menu-header/menu-header.html","../../../projects/components/menu/src/menu-footer/menu-footer.ts","../../../projects/components/menu/src/menu-footer/menu-footer.html","../../../projects/components/menu/src/option-parent.ts","../../../projects/components/menu/src/menu-option-group.directive.ts","../../../projects/components/menu/ngstarter-ui-components-menu.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const MENU_ITEM = new InjectionToken<any>('MENU_ITEM');\nexport const MENU_TRIGGER = new InjectionToken<any>('MENU_TRIGGER');\n","import {\n Component,\n ChangeDetectionStrategy,\n input,\n booleanAttribute,\n inject,\n ElementRef,\n output,\n signal,\n forwardRef,\n Injector,\n OnInit\n} from '@angular/core';\nimport { MENU_ITEM, MENU_TRIGGER } from '../menu-tokens';\nimport type { MenuTrigger } from '../menu-trigger';\nimport { Menu } from '../menu/menu';\n\n@Component({\n selector: 'ngs-menu-item, [ngs-menu-item]',\n exportAs: 'ngsMenuItem',\n standalone: true,\n imports: [],\n templateUrl: './menu-item.html',\n styleUrl: './menu-item.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: MENU_ITEM,\n useExisting: forwardRef(() => MenuItem)\n }\n ],\n host: {\n '[attr.role]': 'role()',\n '[class.ngs-menu-item]': 'true',\n '[class.ngs-menu-item-highlighted]': '_isHighlighted() || selected()',\n '[attr.disabled]': 'disabled() || null',\n '[attr.aria-disabled]': 'disabled()',\n '[tabindex]': 'disabled() ? -1 : 0',\n '(click)': '_handleClick($event)',\n '(mouseenter)': '_handleMouseEnter()',\n }\n})\nexport class MenuItem implements OnInit {\n private _injector = inject(Injector);\n protected _menuTrigger: MenuTrigger | null = null;\n readonly disabled = input(false, { transform: booleanAttribute });\n readonly role = input<'menuitem' | 'menuitem-radio' | 'menuitem-checkbox'>('menuitem');\n\n selected = input(false, {\n transform: booleanAttribute\n });\n\n readonly _triggered = output<void>();\n\n private _elementRef = inject(ElementRef<HTMLElement>);\n private _menu = inject(Menu, { optional: true });\n\n get label(): string {\n return this._elementRef.nativeElement.textContent?.trim() || '';\n }\n\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n ngOnInit() {\n this._menuTrigger = this._injector.get(MENU_TRIGGER, null);\n }\n\n _handleClick(event: MouseEvent): void {\n if (this.disabled()) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n const menuTrigger = this._menuTrigger;\n const hasPopup = this._elementRef.nativeElement.getAttribute('aria-haspopup');\n if (menuTrigger || hasPopup === 'menu') {\n return;\n }\n\n this._triggered.emit();\n }\n\n _handleMouseEnter(): void {\n const menuTrigger = this._menuTrigger;\n if (this._menu && !menuTrigger) {\n this._menu._triggerOpened(null);\n }\n }\n\n protected readonly _isHighlighted = signal(false);\n}\n","<div class=\"icon\">\n <ng-content select=\"ngs-icon\"/>\n</div>\n\n<div class=\"ngs-menu-item-content\">\n <ng-content/>\n</div>\n\n@if (_menuTrigger) {\n <svg class=\"ngs-menu-item-submenu-icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <polyline points=\"9 18 15 12 9 6\"></polyline>\n </svg>\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngsMenuContent]',\n standalone: true\n})\nexport class MenuContent {\n readonly templateRef = inject(TemplateRef);\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n viewChild,\n TemplateRef,\n contentChildren,\n input,\n signal,\n inject,\n OnDestroy,\n output,\n effect,\n contentChild\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { outputToObservable } from '@angular/core/rxjs-interop';\nimport { MenuItem } from '../menu-item/menu-item';\nimport { MenuContent } from '../menu-content';\nimport { MenuCloseReason } from '../menu-types';\nimport { Subscription, merge, Subject, Observable } from 'rxjs';\nimport { MENU_TRIGGER } from '../menu-tokens';\nimport type { MenuTrigger } from '../menu-trigger';\n\n@Component({\n selector: 'ngs-menu',\n exportAs: 'ngsMenu',\n standalone: true,\n imports: [\n NgTemplateOutlet\n ],\n templateUrl: './menu.html',\n styleUrl: './menu.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.role]': 'role()',\n '[class.ngs-menu]': 'true',\n }\n})\nexport class Menu implements OnDestroy {\n readonly role = input<'menu' | 'menubar'>('menu');\n readonly classList = input<string>('');\n readonly xPosition = input<'before' | 'after'>('after');\n readonly yPosition = input<'above' | 'below'>('below');\n\n protected readonly _panelClasses = signal<string[]>([]);\n readonly closed = output<MenuCloseReason>();\n readonly _childMenuClosed = new Subject<void>();\n\n readonly templateRef = viewChild.required(TemplateRef);\n readonly content = contentChild(MenuContent);\n readonly items = contentChildren(MenuItem, { descendants: true });\n\n protected readonly _isNested = signal(false);\n protected readonly _context = signal<any>(undefined);\n private _parentMenu = inject(Menu, { optional: true, skipSelf: true });\n private _parentMenuTrigger = inject<MenuTrigger>(MENU_TRIGGER, { optional: true });\n private _itemSubscription = Subscription.EMPTY;\n private _openedTrigger: any = null;\n\n constructor() {\n if (this._parentMenu || this._parentMenuTrigger) {\n this._isNested.set(true);\n }\n\n effect(() => {\n const items = this.items();\n this._itemSubscription.unsubscribe();\n\n if (items.length > 0) {\n this._itemSubscription = merge(\n ...items.map(item => outputToObservable(item._triggered) as Observable<any>)\n )\n .subscribe(() => {\n this.close('click');\n });\n }\n });\n }\n\n ngOnDestroy() {\n this._itemSubscription.unsubscribe();\n }\n\n close(reason: MenuCloseReason): void {\n if (this._openedTrigger) {\n this._openedTrigger.closeMenu(reason);\n }\n this.closed.emit(reason);\n }\n\n _setPanelClasses(classes: string[]): void {\n this._panelClasses.set(classes);\n }\n\n _setContext(context: any): void {\n this._context.set(context);\n }\n\n _triggerOpened(trigger: any): void {\n if (this._openedTrigger && this._openedTrigger !== trigger) {\n this._openedTrigger.closeMenu('mouse', true);\n }\n this._openedTrigger = trigger;\n }\n\n _triggerClosed(trigger: any): void {\n if (this._openedTrigger === trigger) {\n this._openedTrigger = null;\n this._childMenuClosed.next();\n }\n }\n\n hasOpenChild(): boolean {\n return !!this._openedTrigger && this._openedTrigger.menuOpen();\n }\n}\n","<ng-template>\n <div\n class=\"ngs-menu-panel\"\n [class]=\"classList()\"\n [class.ngs-menu-before]=\"_panelClasses().includes('ngs-menu-before')\"\n [class.ngs-menu-after]=\"_panelClasses().includes('ngs-menu-after')\"\n [class.ngs-menu-above]=\"_panelClasses().includes('ngs-menu-above')\"\n [class.ngs-menu-below]=\"_panelClasses().includes('ngs-menu-below')\"\n tabindex=\"-1\"\n role=\"menu\"\n >\n <ng-content select=\"[ngs-menu-header]\"/>\n <div class=\"ngs-menu-content\">\n @if (content()) {\n <ng-container [ngTemplateOutlet]=\"content()!.templateRef\" [ngTemplateOutletContext]=\"_context()\" />\n } @else {\n <ng-content />\n }\n </div>\n <ng-content select=\"[ngs-menu-footer]\"/>\n </div>\n</ng-template>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-menu-divider',\n imports: [],\n templateUrl: './menu-divider.html',\n styleUrl: './menu-divider.scss',\n})\nexport class MenuDivider {\n\n}\n","","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-menu-heading',\n imports: [],\n templateUrl: './menu-heading.html',\n styleUrl: './menu-heading.scss',\n})\nexport class MenuHeading {\n\n}\n","<ng-content/>\n","import {\n Directive,\n inject,\n ElementRef,\n ViewContainerRef,\n OnDestroy,\n booleanAttribute,\n input,\n signal,\n output,\n forwardRef,\n Injector, DestroyRef\n} from '@angular/core';\nimport { outputToObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Overlay, OverlayRef, OverlayConfig, ConnectedPosition, FlexibleConnectedPositionStrategy } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Menu } from './menu/menu';\nimport { MenuCloseReason } from './menu-types';\nimport { Subscription, merge, EMPTY, fromEvent } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { MENU_TRIGGER, MENU_ITEM } from './menu-tokens';\n\n@Directive({\n selector: '[ngsMenuTriggerFor]',\n exportAs: 'ngsMenuTrigger',\n standalone: true,\n host: {\n 'aria-haspopup': 'menu',\n '[attr.aria-expanded]': 'menuOpen()',\n '[attr.aria-controls]': 'menuOpen() ? menu()?.templateRef() : null',\n '[class.ngs-menu-item-highlighted]': 'menuOpen()',\n '(click)': '_handleClick($event)',\n '(mouseenter)': '_handleMouseEnter()',\n '(mouseleave)': '_handleMouseLeave()',\n },\n providers: [\n {\n provide: MENU_TRIGGER,\n useExisting: forwardRef(() => MenuTrigger)\n }\n ]\n})\nexport class MenuTrigger implements OnDestroy {\n private _overlay = inject(Overlay);\n private _elementRef = inject(ElementRef<HTMLElement>);\n private _viewContainerRef = inject(ViewContainerRef);\n private destroyRef = inject(DestroyRef);\n private _injector = inject(Injector);\n private _parentMenu = inject(Menu, { optional: true, skipSelf: true });\n private _menu = inject(Menu, { optional: true });\n\n readonly menu = input<Menu | null>(null, { alias: 'ngsMenuTriggerFor' });\n readonly menuData = input<any>(undefined, { alias: 'ngsMenuTriggerData' });\n readonly menuDisabled = input(false, { transform: booleanAttribute, alias: 'ngsMenuDisabled' });\n readonly xPosition = input<'before' | 'after'>('after');\n readonly yPosition = input<'above' | 'below'>('below');\n\n readonly menuOpened = output<void>();\n readonly menuClosed = output<MenuCloseReason>();\n readonly restoreFocus = input(true, { transform: booleanAttribute, alias: 'ngsMenuTriggerRestoreFocus' });\n\n private _overlayRef: OverlayRef | null = null;\n private _portal: TemplatePortal | null = null;\n private _closingSubscription = Subscription.EMPTY;\n private _hoverSubscription = Subscription.EMPTY;\n private _childMenuClosedSubscription = Subscription.EMPTY;\n private _closeTimeoutId: any;\n private _previouslyFocusedElement: HTMLElement | null = null;\n\n readonly menuOpen = signal(false);\n\n ngOnDestroy() {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n this._closingSubscription.unsubscribe();\n this._hoverSubscription.unsubscribe();\n this._childMenuClosedSubscription.unsubscribe();\n this._clearCloseTimeout();\n }\n\n _handleMouseLeave() {\n }\n\n _clearCloseTimeout() {\n if (this._closeTimeoutId) {\n clearTimeout(this._closeTimeoutId);\n this._closeTimeoutId = null;\n }\n }\n\n _handleClick(event: MouseEvent): void {\n const menuItem = this._injector.get(MENU_ITEM, null);\n if (menuItem) {\n event.stopPropagation();\n event.stopImmediatePropagation();\n }\n this.toggleMenu();\n }\n\n toggleMenu(): void {\n if (this.menuDisabled()) {\n return;\n }\n\n if (this._parentMenu) {\n this.openMenu();\n } else {\n this.menuOpen() ? this.closeMenu('click') : this.openMenu();\n }\n }\n\n openMenu(): void {\n const menu = this.menu();\n if (this.menuOpen() || !menu) {\n return;\n }\n\n this._previouslyFocusedElement = document.activeElement as HTMLElement;\n const overlayRef = this._createOverlay();\n const strategy = overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy;\n\n strategy.positionChanges.subscribe(change => {\n menu._setPanelClasses(this._getPanelClasses(change.connectionPair));\n });\n\n menu._setContext(this.menuData());\n this._portal = new TemplatePortal(menu.templateRef(), this._viewContainerRef, this._viewContainerRef.injector);\n overlayRef.attach(this._portal);\n\n if (overlayRef.hasAttached()) {\n this._setIsMenuOpen(true);\n\n const overlayElement = overlayRef.overlayElement;\n this._hoverSubscription.unsubscribe();\n this._hoverSubscription = merge(\n fromEvent<MouseEvent>(overlayElement, 'mouseenter'),\n fromEvent<MouseEvent>(overlayElement, 'mouseleave')\n ).subscribe(event => {\n if (event.type === 'mouseenter') {\n this._clearCloseTimeout();\n } else {\n this._handleMouseLeave();\n }\n });\n }\n\n if (this._menu) {\n this._menu._triggerOpened(this);\n\n this._childMenuClosedSubscription.unsubscribe();\n this._childMenuClosedSubscription = this._menu._childMenuClosed.subscribe(() => {\n this._handleMouseLeave();\n });\n }\n\n this._closingSubscription = this._menuClosingActions().subscribe(reason => this.closeMenu(reason));\n this.menuOpened.emit();\n }\n\n closeMenu(reason: MenuCloseReason, force = false): void {\n if (!this._overlayRef || !this.menuOpen()) {\n return;\n }\n\n if (!force && reason === 'mouse' && this.menu()?.hasOpenChild()) {\n return;\n }\n\n this._setIsMenuOpen(false);\n const menu = this.menu();\n\n if (menu) {\n menu.close(reason);\n }\n\n if (this._menu) {\n this._menu._triggerClosed(this);\n }\n\n this._overlayRef.detach();\n this._closingSubscription.unsubscribe();\n this._hoverSubscription.unsubscribe();\n this._childMenuClosedSubscription.unsubscribe();\n this._clearCloseTimeout();\n this.menuClosed.emit(reason);\n\n if (this.restoreFocus() && this._previouslyFocusedElement) {\n this._previouslyFocusedElement.focus();\n }\n\n this._previouslyFocusedElement = null;\n\n if (reason === 'click' && this._parentMenu) {\n this._parentMenu.close('click');\n }\n }\n\n private _setIsMenuOpen(isOpen: boolean): void {\n this.menuOpen.set(isOpen);\n }\n\n private _getPanelClasses(connectionPair: ConnectedPosition): string[] {\n const classes = [];\n const isBelow = connectionPair.overlayY === 'top';\n const isBefore = connectionPair.overlayX === 'end';\n\n if (isBelow) {\n classes.push('ngs-menu-below');\n } else {\n classes.push('ngs-menu-above');\n }\n\n if (isBefore) {\n classes.push('ngs-menu-before');\n } else {\n classes.push('ngs-menu-after');\n }\n\n return classes;\n }\n\n private _createOverlay(): OverlayRef {\n if (!this._overlayRef) {\n const config = this._getOverlayConfig();\n this._overlayRef = this._overlay.create(config);\n this._overlayRef\n .keydownEvents()\n .pipe(filter(event => event.key === 'Escape'))\n .subscribe(() => this.closeMenu('keydown'));\n this._overlayRef\n .outsidePointerEvents()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => {\n if (this._parentMenu && this._elementRef.nativeElement.contains(event.target as HTMLElement)) {\n return;\n }\n this.closeMenu('backdrop');\n });\n }\n return this._overlayRef;\n }\n\n private _getOverlayConfig(): OverlayConfig {\n return new OverlayConfig({\n positionStrategy: this._overlay.position()\n .flexibleConnectedTo(this._elementRef)\n .withLockedPosition(false)\n .withTransformOriginOn('.ngs-menu-panel')\n .withPositions(this._getPositions())\n .withPush(false),\n scrollStrategy: this._overlay.scrollStrategies.block(),\n hasBackdrop: !this._parentMenu,\n backdropClass: 'cdk-overlay-transparent-backdrop'\n });\n }\n\n private _getPositions(): ConnectedPosition[] {\n const menu = this.menu();\n\n if (this._parentMenu) {\n return [\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: 0,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: 0,\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: 0,\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: 0,\n }\n ];\n }\n\n const xPosition = menu?.xPosition() || this.xPosition();\n const yPosition = menu?.yPosition() || this.yPosition();\n\n if (yPosition === 'above') {\n return [\n {\n originX: xPosition === 'before' ? 'end' : 'start',\n originY: 'top',\n overlayX: xPosition === 'before' ? 'end' : 'start',\n overlayY: 'bottom',\n },\n {\n originX: xPosition === 'before' ? 'start' : 'end',\n originY: 'top',\n overlayX: xPosition === 'before' ? 'start' : 'end',\n overlayY: 'bottom',\n },\n {\n originX: xPosition === 'before' ? 'end' : 'start',\n originY: 'bottom',\n overlayX: xPosition === 'before' ? 'end' : 'start',\n overlayY: 'top',\n },\n {\n originX: xPosition === 'before' ? 'start' : 'end',\n originY: 'bottom',\n overlayX: xPosition === 'before' ? 'start' : 'end',\n overlayY: 'top',\n },\n ];\n }\n\n return [\n {\n originX: xPosition === 'before' ? 'end' : 'start',\n originY: 'bottom',\n overlayX: xPosition === 'before' ? 'end' : 'start',\n overlayY: 'top',\n },\n {\n originX: xPosition === 'before' ? 'start' : 'end',\n originY: 'bottom',\n overlayX: xPosition === 'before' ? 'start' : 'end',\n overlayY: 'top',\n },\n {\n originX: xPosition === 'before' ? 'end' : 'start',\n originY: 'top',\n overlayX: xPosition === 'before' ? 'end' : 'start',\n overlayY: 'bottom',\n },\n {\n originX: xPosition === 'before' ? 'start' : 'end',\n originY: 'top',\n overlayX: xPosition === 'before' ? 'start' : 'end',\n overlayY: 'bottom',\n },\n ];\n }\n\n private _menuClosingActions() {\n const menu = this.menu();\n const detachments = this._overlayRef!.detachments();\n const menuClosed = menu ? outputToObservable(menu.closed) : EMPTY;\n const parentMenuClosed = this._parentMenu ? outputToObservable(this._parentMenu.closed) : EMPTY;\n return merge(detachments, menuClosed, parentMenuClosed).pipe(\n filter((reason): reason is MenuCloseReason => !!reason)\n );\n }\n\n _handleMouseEnter() {\n this._clearCloseTimeout();\n if (this._parentMenu) {\n this.openMenu();\n } else if (this._menu) {\n this.openMenu();\n }\n }\n}\n","import {\n Directive,\n inject,\n ElementRef,\n ViewContainerRef,\n OnDestroy,\n input,\n signal,\n output,\n NgZone\n} from '@angular/core';\nimport {\n Overlay,\n OverlayRef,\n OverlayConfig,\n ConnectedPosition,\n FlexibleConnectedPositionStrategy\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Menu } from './menu/menu';\nimport { MenuCloseReason } from './menu-types';\nimport { Subscription, merge, EMPTY } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { outputToObservable } from '@angular/core/rxjs-interop';\n\n@Directive({\n selector: '[ngsContextMenuTriggerFor]',\n exportAs: 'ngsContextMenuTrigger',\n standalone: true,\n host: {\n '(contextmenu)': '_handleContextMenu($event)',\n }\n})\nexport class ContextMenuTrigger implements OnDestroy {\n private _overlay = inject(Overlay);\n private _elementRef = inject(ElementRef<HTMLElement>);\n private _viewContainerRef = inject(ViewContainerRef);\n private _ngZone = inject(NgZone);\n\n readonly menu = input<Menu | null>(null, { alias: 'ngsContextMenuTriggerFor' });\n readonly menuData = input<any>(undefined, { alias: 'ngsContextMenuTriggerData' });\n\n readonly menuOpened = output<void>();\n readonly menuClosed = output<MenuCloseReason>();\n\n private _overlayRef: OverlayRef | null = null;\n private _portal: TemplatePortal | null = null;\n private _closingSubscription = Subscription.EMPTY;\n\n readonly menuOpen = signal(false);\n\n ngOnDestroy() {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n this._closingSubscription.unsubscribe();\n }\n\n openMenu(x: number, y: number): void {\n const menu = this.menu();\n if (this.menuOpen() || !menu) {\n return;\n }\n\n const overlayRef = this._createOverlay(x, y);\n const strategy = overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy;\n\n strategy.positionChanges.subscribe(change => {\n menu._setPanelClasses(this._getPanelClasses(change.connectionPair));\n });\n\n menu._setContext(this.menuData());\n this._portal = new TemplatePortal(menu.templateRef(), this._viewContainerRef);\n overlayRef.attach(this._portal);\n\n if (overlayRef.hasAttached()) {\n this._setIsMenuOpen(true);\n }\n\n this._closingSubscription = this._menuClosingActions().subscribe(reason => this.closeMenu(reason));\n this.menuOpened.emit();\n }\n\n closeMenu(reason: MenuCloseReason): void {\n if (!this._overlayRef || !this.menuOpen()) {\n return;\n }\n\n this._setIsMenuOpen(false);\n const menu = this.menu();\n\n if (menu) {\n menu.close(reason);\n }\n\n this._overlayRef.detach();\n this._closingSubscription.unsubscribe();\n this.menuClosed.emit(reason);\n }\n\n private _setIsMenuOpen(isOpen: boolean): void {\n this.menuOpen.set(isOpen);\n }\n\n private _getPanelClasses(connectionPair: ConnectedPosition): string[] {\n const classes = [];\n const isBelow = connectionPair.overlayY === 'top';\n const isBefore = connectionPair.overlayX === 'end';\n\n if (isBelow) {\n classes.push('ngs-menu-below');\n } else {\n classes.push('ngs-menu-above');\n }\n\n if (isBefore) {\n classes.push('ngs-menu-before');\n } else {\n classes.push('ngs-menu-after');\n }\n\n return classes;\n }\n\n private _createOverlay(x: number, y: number): OverlayRef {\n if (this._overlayRef) {\n this._overlayRef.updatePositionStrategy(this._getPositionStrategy(x, y));\n return this._overlayRef;\n }\n\n const config = this._getOverlayConfig(x, y);\n this._overlayRef = this._overlay.create(config);\n\n this._overlayRef.keydownEvents()\n .pipe(filter(event => event.key === 'Escape'))\n .subscribe(() => this.closeMenu('keydown'));\n\n this._overlayRef.backdropClick().subscribe(() => this.closeMenu('backdrop'));\n\n return this._overlayRef;\n }\n\n private _getOverlayConfig(x: number, y: number): OverlayConfig {\n return new OverlayConfig({\n positionStrategy: this._getPositionStrategy(x, y),\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n });\n }\n\n private _getPositionStrategy(x: number, y: number): FlexibleConnectedPositionStrategy {\n return this._overlay.position()\n .flexibleConnectedTo({ x, y })\n .withPush(false)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n ]);\n }\n\n private _menuClosingActions() {\n const menu = this.menu();\n const detachments = this._overlayRef!.detachments();\n const menuClosed = menu ? outputToObservable(menu.closed) : EMPTY;\n return merge(detachments, menuClosed).pipe(\n filter((reason): reason is MenuCloseReason => !!reason)\n );\n }\n\n _handleContextMenu(event: MouseEvent): void {\n event.preventDefault();\n\n if (this.menuOpen()) {\n this.closeMenu('click');\n }\n\n this.openMenu(event.clientX, event.clientY);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-menu-header',\n imports: [],\n templateUrl: './menu-header.html',\n styleUrl: './menu-header.scss',\n})\nexport class MenuHeader {\n\n}\n","<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-menu-footer',\n imports: [],\n templateUrl: './menu-footer.html',\n styleUrl: './menu-footer.scss',\n})\nexport class MenuFooter {\n\n}\n","<ng-content/>\n","import { InjectionToken, Signal } from '@angular/core';\n\n/**\n * Describes a parent component that manages a list of options.\n * Contains properties that the options can inherit.\n * @docs-private\n */\nexport interface OptionParentComponent {\n disableRipple?: boolean | Signal<boolean>;\n multiple?: boolean | Signal<boolean>;\n inertGroups?: boolean;\n hideSingleSelectionIndicator?: boolean;\n}\n\n/**\n * Injection token used to provide the parent component to options.\n */\nexport const OPTION_PARENT_COMPONENT = new InjectionToken<OptionParentComponent>('OPTION_PARENT_COMPONENT');\n","import {\n AfterContentInit,\n ChangeDetectorRef, DestroyRef,\n Directive,\n forwardRef,\n inject,\n OnInit,\n contentChildren, signal, Signal, input, booleanAttribute, computed,\n output\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { defer, merge, Observable, Subject, switchMap, EMPTY, map, startWith } from 'rxjs';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { outputToObservable } from '@angular/core/rxjs-interop';\nimport { Option, SELECT } from '@ngstarter-ui/components/select';\nimport { OptionParentComponent, OPTION_PARENT_COMPONENT } from './option-parent';\nimport { Menu } from './menu/menu';\n\n@Directive({\n selector: '[ngsMenuOptionGroup]',\n standalone: true,\n providers: [\n {\n provide: OPTION_PARENT_COMPONENT,\n useExisting: MenuOptionGroupDirective\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MenuOptionGroupDirective),\n multi: true\n },\n {\n provide: SELECT,\n useFactory: (directive: MenuOptionGroupDirective) => {\n return {\n multiple: directive.multipleSignal,\n hideCheckIcon: directive.hideCheckIcon,\n _optionsContentChanges: directive._optionsContentChanges\n };\n },\n deps: [forwardRef(() => MenuOptionGroupDirective)]\n }\n ]\n})\nexport class MenuOptionGroupDirective implements OptionParentComponent, OnInit, ControlValueAccessor, AfterContentInit {\n private _changeDetectorRef = inject(ChangeDetectorRef);\n private _destroyRef = inject(DestroyRef);\n private _menu = inject(Menu, { optional: true });\n\n disableRipple = false;\n inertGroups = false;\n hideSingleSelectionIndicator = false;\n\n multiple = input(false, { transform: booleanAttribute });\n readonly multipleSignal: Signal<boolean> = computed(() => this.multiple());\n readonly hideCheckIcon = signal(false);\n readonly _optionsContentChanges = signal(0);\n\n _selectionModel: SelectionModel<any>;\n private _value: any;\n\n readonly options = contentChildren(Option, { descendants: true });\n readonly ngsOptions = contentChildren(forwardRef(() => Option), { descendants: true });\n\n private _options$ = toObservable(this.options);\n private _ngsOptions$ = toObservable(this.ngsOptions);\n\n private _initialized = new Subject();\n\n readonly valueChange = output<any>();\n\n readonly optionSelectionChanges: Observable<any> = merge(\n this._options$,\n this._ngsOptions$\n ).pipe(\n startWith(null),\n switchMap(() => {\n const options = this.options();\n const ngsOptions = this.ngsOptions();\n const streams = [\n ...options.map(option => outputToObservable(option.onSelectionChange) as Observable<any>),\n ...ngsOptions.map(option => outputToObservable(option.onSelectionChange) as Observable<any>)\n ];\n\n if (streams.length === 0) {\n return EMPTY;\n }\n\n return merge(...streams);\n })\n );\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n ngOnInit() {\n this._selectionModel = new SelectionModel<any>(this.multiple());\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n ngAfterContentInit() {\n this.optionSelectionChanges\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((res: any) => {\n let source: any;\n\n if (res instanceof Option) {\n source = res;\n } else if (res && res.source instanceof Option) {\n source = res.source;\n } else {\n source = res;\n }\n\n if (source instanceof Option) {\n this._value = source.value();\n } else if (source && typeof source.value === 'function') {\n this._value = source.value();\n } else {\n this._value = source.value;\n }\n this._selectOptionByValue();\n this.onChange(this._value);\n\n if (!this.multiple) {\n this._menu?.close('click');\n }\n })\n ;\n\n this._options$\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._selectOptionByValue();\n });\n\n this._ngsOptions$\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._selectOptionByValue();\n });\n }\n\n private _selectOptionByValue() {\n const options = this.options();\n const ngsOptions = this.ngsOptions();\n\n options.forEach(option => {\n if (option.value === this._value) {\n option.select();\n } else {\n option.deselect();\n }\n });\n\n ngsOptions.forEach(option => {\n if (option.value() === this._value) {\n option.select();\n } else {\n option.deselect();\n }\n });\n this._changeDetectorRef.markForCheck();\n }\n\n writeValue(newValue: any): void {\n if (newValue !== this._value) {\n this._value = newValue;\n this._selectOptionByValue();\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngstarter-ui-components-menu.mjs","sources":["../../../projects/components/menu/src/menu-tokens.ts","../../../projects/components/menu/src/menu-item/menu-item.ts","../../../projects/components/menu/src/menu-item/menu-item.html","../../../projects/components/menu/src/menu-content.ts","../../../projects/components/menu/src/menu/menu.ts","../../../projects/components/menu/src/menu/menu.html","../../../projects/components/menu/src/menu-divider/menu-divider.ts","../../../projects/components/menu/src/menu-divider/menu-divider.html","../../../projects/components/menu/src/menu-heading/menu-heading.ts","../../../projects/components/menu/src/menu-heading/menu-heading.html","../../../projects/components/menu/src/menu-trigger.ts","../../../projects/components/menu/src/context-menu-trigger.ts","../../../projects/components/menu/src/menu-header/menu-header.ts","../../../projects/components/menu/src/menu-header/menu-header.html","../../../projects/components/menu/src/menu-footer/menu-footer.ts","../../../projects/components/menu/src/menu-footer/menu-footer.html","../../../projects/components/menu/src/option-parent.ts","../../../projects/components/menu/src/menu-option-group.directive.ts","../../../projects/components/menu/ngstarter-ui-components-menu.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const MENU_ITEM = new InjectionToken<any>('MENU_ITEM');\nexport const MENU_TRIGGER = new InjectionToken<any>('MENU_TRIGGER');\n","import {\n Component,\n ChangeDetectionStrategy,\n input,\n booleanAttribute,\n inject,\n ElementRef,\n output,\n signal,\n forwardRef,\n Injector,\n OnInit\n} from '@angular/core';\nimport { MENU_ITEM, MENU_TRIGGER } from '../menu-tokens';\nimport type { MenuTrigger } from '../menu-trigger';\nimport { Menu } from '../menu/menu';\n\n@Component({\n selector: 'ngs-menu-item, [ngs-menu-item]',\n exportAs: 'ngsMenuItem',\n standalone: true,\n imports: [],\n templateUrl: './menu-item.html',\n styleUrl: './menu-item.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: MENU_ITEM,\n useExisting: forwardRef(() => MenuItem)\n }\n ],\n host: {\n '[attr.role]': 'role()',\n '[class.ngs-menu-item]': 'true',\n '[class.ngs-menu-item-highlighted]': '_isHighlighted() || selected()',\n '[attr.disabled]': 'disabled() || null',\n '[attr.aria-disabled]': 'disabled()',\n '[tabindex]': 'disabled() ? -1 : 0',\n '(click)': '_handleClick($event)',\n '(mouseenter)': '_handleMouseEnter()',\n }\n})\nexport class MenuItem implements OnInit {\n private _injector = inject(Injector);\n protected _menuTrigger: MenuTrigger | null = null;\n readonly disabled = input(false, { transform: booleanAttribute });\n readonly role = input<'menuitem' | 'menuitem-radio' | 'menuitem-checkbox'>('menuitem');\n\n selected = input(false, {\n transform: booleanAttribute\n });\n\n readonly _triggered = output<void>();\n\n private _elementRef = inject(ElementRef<HTMLElement>);\n private _menu = inject(Menu, { optional: true });\n\n get label(): string {\n return this._elementRef.nativeElement.textContent?.trim() || '';\n }\n\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n ngOnInit() {\n this._menuTrigger = this._injector.get(MENU_TRIGGER, null);\n }\n\n _handleClick(event: MouseEvent): void {\n if (this.disabled()) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n const menuTrigger = this._menuTrigger;\n const hasPopup = this._elementRef.nativeElement.getAttribute('aria-haspopup');\n if (menuTrigger || hasPopup === 'menu') {\n return;\n }\n\n this._triggered.emit();\n }\n\n _handleMouseEnter(): void {\n const menuTrigger = this._menuTrigger;\n if (this._menu && !menuTrigger) {\n this._menu._triggerOpened(null);\n }\n }\n\n protected readonly _isHighlighted = signal(false);\n}\n","<div class=\"icon\">\n <ng-content select=\"ngs-icon\"/>\n</div>\n\n<div class=\"ngs-menu-item-content\">\n <ng-content/>\n</div>\n\n@if (_menuTrigger) {\n <svg class=\"ngs-menu-item-submenu-icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\">\n <polyline points=\"9 18 15 12 9 6\"></polyline>\n </svg>\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngsMenuContent]',\n standalone: true\n})\nexport class MenuContent {\n readonly templateRef = inject(TemplateRef);\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n viewChild,\n TemplateRef,\n contentChildren,\n input,\n signal,\n inject,\n OnDestroy,\n output,\n effect,\n contentChild\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { outputToObservable } from '@angular/core/rxjs-interop';\nimport { MenuItem } from '../menu-item/menu-item';\nimport { MenuContent } from '../menu-content';\nimport { MenuCloseReason } from '../menu-types';\nimport { Subscription, merge, Subject, Observable } from 'rxjs';\nimport { MENU_TRIGGER } from '../menu-tokens';\nimport type { MenuTrigger } from '../menu-trigger';\n\n@Component({\n selector: 'ngs-menu',\n exportAs: 'ngsMenu',\n standalone: true,\n imports: [\n NgTemplateOutlet\n ],\n templateUrl: './menu.html',\n styleUrl: './menu.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.role]': 'role()',\n '[class.ngs-menu]': 'true',\n }\n})\nexport class Menu implements OnDestroy {\n readonly role = input<'menu' | 'menubar'>('menu');\n readonly classList = input<string>('');\n readonly xPosition = input<'before' | 'after'>('after');\n readonly yPosition = input<'above' | 'below'>('below');\n\n protected readonly _panelClasses = signal<string[]>([]);\n readonly closed = output<MenuCloseReason>();\n readonly _childMenuClosed = new Subject<void>();\n\n readonly templateRef = viewChild.required(TemplateRef);\n readonly content = contentChild(MenuContent);\n readonly items = contentChildren(MenuItem, { descendants: true });\n\n protected readonly _isNested = signal(false);\n protected readonly _context = signal<any>(undefined);\n private _parentMenu = inject(Menu, { optional: true, skipSelf: true });\n private _parentMenuTrigger = inject<MenuTrigger>(MENU_TRIGGER, { optional: true });\n private _itemSubscription = Subscription.EMPTY;\n private _openedTrigger: any = null;\n\n constructor() {\n if (this._parentMenu || this._parentMenuTrigger) {\n this._isNested.set(true);\n }\n\n effect(() => {\n const items = this.items();\n this._itemSubscription.unsubscribe();\n\n if (items.length > 0) {\n this._itemSubscription = merge(\n ...items.map(item => outputToObservable(item._triggered) as Observable<any>)\n )\n .subscribe(() => {\n this.close('click');\n });\n }\n });\n }\n\n ngOnDestroy() {\n this._itemSubscription.unsubscribe();\n }\n\n close(reason: MenuCloseReason): void {\n if (this._openedTrigger) {\n this._openedTrigger.closeMenu(reason);\n }\n this.closed.emit(reason);\n }\n\n _setPanelClasses(classes: string[]): void {\n this._panelClasses.set(classes);\n }\n\n _setContext(context: any): void {\n this._context.set(context);\n }\n\n _triggerOpened(trigger: any): void {\n if (this._openedTrigger && this._openedTrigger !== trigger) {\n this._openedTrigger.closeMenu('mouse', true);\n }\n this._openedTrigger = trigger;\n }\n\n _triggerClosed(trigger: any): void {\n if (this._openedTrigger === trigger) {\n this._openedTrigger = null;\n this._childMenuClosed.next();\n }\n }\n\n hasOpenChild(): boolean {\n return !!this._openedTrigger && this._openedTrigger.menuOpen();\n }\n}\n","<ng-template>\n <div\n class=\"ngs-menu-panel\"\n [class]=\"classList()\"\n [class.ngs-menu-before]=\"_panelClasses().includes('ngs-menu-before')\"\n [class.ngs-menu-after]=\"_panelClasses().includes('ngs-menu-after')\"\n [class.ngs-menu-above]=\"_panelClasses().includes('ngs-menu-above')\"\n [class.ngs-menu-below]=\"_panelClasses().includes('ngs-menu-below')\"\n tabindex=\"-1\"\n role=\"menu\"\n >\n <ng-content select=\"[ngs-menu-header]\"/>\n <div class=\"ngs-menu-content\">\n @if (content()) {\n <ng-container [ngTemplateOutlet]=\"content()!.templateRef\" [ngTemplateOutletContext]=\"_context()\" />\n } @else {\n <ng-content />\n }\n </div>\n <ng-content select=\"[ngs-menu-footer]\"/>\n </div>\n</ng-template>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-menu-divider',\n imports: [],\n templateUrl: './menu-divider.html',\n styleUrl: './menu-divider.scss',\n})\nexport class MenuDivider {\n\n}\n","","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-menu-heading',\n imports: [],\n templateUrl: './menu-heading.html',\n styleUrl: './menu-heading.scss',\n})\nexport class MenuHeading {\n\n}\n","<ng-content/>\n","import {\n Directive,\n inject,\n ElementRef,\n ViewContainerRef,\n OnDestroy,\n booleanAttribute,\n input,\n signal,\n output,\n forwardRef,\n Injector, DestroyRef\n} from '@angular/core';\nimport { outputToObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Overlay, OverlayRef, OverlayConfig, ConnectedPosition, FlexibleConnectedPositionStrategy } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Menu } from './menu/menu';\nimport { MenuCloseReason } from './menu-types';\nimport { Subscription, merge, EMPTY, fromEvent } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { MENU_TRIGGER, MENU_ITEM } from './menu-tokens';\n\n@Directive({\n selector: '[ngsMenuTriggerFor]',\n exportAs: 'ngsMenuTrigger',\n standalone: true,\n host: {\n 'aria-haspopup': 'menu',\n '[attr.aria-expanded]': 'menuOpen()',\n '[attr.aria-controls]': 'menuOpen() ? menu()?.templateRef() : null',\n '[class.ngs-menu-item-highlighted]': 'menuOpen()',\n '(click)': '_handleClick($event)',\n '(mouseenter)': '_handleMouseEnter()',\n '(mouseleave)': '_handleMouseLeave()',\n },\n providers: [\n {\n provide: MENU_TRIGGER,\n useExisting: forwardRef(() => MenuTrigger)\n }\n ]\n})\nexport class MenuTrigger implements OnDestroy {\n private _overlay = inject(Overlay);\n private _elementRef = inject(ElementRef<HTMLElement>);\n private _viewContainerRef = inject(ViewContainerRef);\n private destroyRef = inject(DestroyRef);\n private _injector = inject(Injector);\n private _parentMenu = inject(Menu, { optional: true, skipSelf: true });\n private _menu = inject(Menu, { optional: true });\n\n readonly menu = input<Menu | null>(null, { alias: 'ngsMenuTriggerFor' });\n readonly menuData = input<any>(undefined, { alias: 'ngsMenuTriggerData' });\n readonly menuDisabled = input(false, { transform: booleanAttribute, alias: 'ngsMenuDisabled' });\n readonly xPosition = input<'before' | 'after'>('after');\n readonly yPosition = input<'above' | 'below'>('below');\n\n readonly menuOpened = output<void>();\n readonly menuClosed = output<MenuCloseReason>();\n readonly restoreFocus = input(true, { transform: booleanAttribute, alias: 'ngsMenuTriggerRestoreFocus' });\n\n private _overlayRef: OverlayRef | null = null;\n private _portal: TemplatePortal | null = null;\n private _closingSubscription = Subscription.EMPTY;\n private _hoverSubscription = Subscription.EMPTY;\n private _childMenuClosedSubscription = Subscription.EMPTY;\n private _closeTimeoutId: any;\n private _previouslyFocusedElement: HTMLElement | null = null;\n\n readonly menuOpen = signal(false);\n\n ngOnDestroy() {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n this._closingSubscription.unsubscribe();\n this._hoverSubscription.unsubscribe();\n this._childMenuClosedSubscription.unsubscribe();\n this._clearCloseTimeout();\n }\n\n _handleMouseLeave() {\n }\n\n _clearCloseTimeout() {\n if (this._closeTimeoutId) {\n clearTimeout(this._closeTimeoutId);\n this._closeTimeoutId = null;\n }\n }\n\n _handleClick(event: MouseEvent): void {\n const menuItem = this._injector.get(MENU_ITEM, null);\n if (menuItem) {\n event.stopPropagation();\n event.stopImmediatePropagation();\n }\n this.toggleMenu();\n }\n\n toggleMenu(): void {\n if (this.menuDisabled()) {\n return;\n }\n\n if (this._parentMenu) {\n this.openMenu();\n } else {\n this.menuOpen() ? this.closeMenu('click') : this.openMenu();\n }\n }\n\n openMenu(): void {\n const menu = this.menu();\n if (this.menuOpen() || !menu) {\n return;\n }\n\n this._previouslyFocusedElement = document.activeElement as HTMLElement;\n const overlayRef = this._createOverlay();\n const strategy = overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy;\n\n strategy.positionChanges.subscribe(change => {\n menu._setPanelClasses(this._getPanelClasses(change.connectionPair));\n });\n\n menu._setContext(this.menuData());\n this._portal = new TemplatePortal(menu.templateRef(), this._viewContainerRef, this._viewContainerRef.injector);\n overlayRef.attach(this._portal);\n\n if (overlayRef.hasAttached()) {\n this._setIsMenuOpen(true);\n\n const overlayElement = overlayRef.overlayElement;\n this._hoverSubscription.unsubscribe();\n this._hoverSubscription = merge(\n fromEvent<MouseEvent>(overlayElement, 'mouseenter'),\n fromEvent<MouseEvent>(overlayElement, 'mouseleave')\n ).subscribe(event => {\n if (event.type === 'mouseenter') {\n this._clearCloseTimeout();\n } else {\n this._handleMouseLeave();\n }\n });\n }\n\n if (this._menu) {\n this._menu._triggerOpened(this);\n\n this._childMenuClosedSubscription.unsubscribe();\n this._childMenuClosedSubscription = this._menu._childMenuClosed.subscribe(() => {\n this._handleMouseLeave();\n });\n }\n\n this._closingSubscription = this._menuClosingActions().subscribe(reason => this.closeMenu(reason));\n this.menuOpened.emit();\n }\n\n closeMenu(reason: MenuCloseReason, force = false): void {\n if (!this._overlayRef || !this.menuOpen()) {\n return;\n }\n\n if (!force && reason === 'mouse' && this.menu()?.hasOpenChild()) {\n return;\n }\n\n this._setIsMenuOpen(false);\n const menu = this.menu();\n\n if (menu) {\n menu.close(reason);\n }\n\n if (this._menu) {\n this._menu._triggerClosed(this);\n }\n\n this._overlayRef.detach();\n this._closingSubscription.unsubscribe();\n this._hoverSubscription.unsubscribe();\n this._childMenuClosedSubscription.unsubscribe();\n this._clearCloseTimeout();\n this.menuClosed.emit(reason);\n\n if (this.restoreFocus() && this._previouslyFocusedElement) {\n this._previouslyFocusedElement.focus();\n }\n\n this._previouslyFocusedElement = null;\n\n if (reason === 'click' && this._parentMenu) {\n this._parentMenu.close('click');\n }\n }\n\n private _setIsMenuOpen(isOpen: boolean): void {\n this.menuOpen.set(isOpen);\n }\n\n private _getPanelClasses(connectionPair: ConnectedPosition): string[] {\n const classes = [];\n const isBelow = connectionPair.overlayY === 'top';\n const isBefore = connectionPair.overlayX === 'end';\n\n if (isBelow) {\n classes.push('ngs-menu-below');\n } else {\n classes.push('ngs-menu-above');\n }\n\n if (isBefore) {\n classes.push('ngs-menu-before');\n } else {\n classes.push('ngs-menu-after');\n }\n\n return classes;\n }\n\n private _createOverlay(): OverlayRef {\n if (!this._overlayRef) {\n const config = this._getOverlayConfig();\n this._overlayRef = this._overlay.create(config);\n this._overlayRef\n .keydownEvents()\n .pipe(filter(event => event.key === 'Escape'))\n .subscribe(() => this.closeMenu('keydown'));\n this._overlayRef\n .outsidePointerEvents()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((event) => {\n if (this._parentMenu && this._elementRef.nativeElement.contains(event.target as HTMLElement)) {\n return;\n }\n this.closeMenu('backdrop');\n });\n }\n return this._overlayRef;\n }\n\n private _getOverlayConfig(): OverlayConfig {\n return new OverlayConfig({\n positionStrategy: this._overlay.position()\n .flexibleConnectedTo(this._elementRef)\n .withLockedPosition(false)\n .withTransformOriginOn('.ngs-menu-panel')\n .withPositions(this._getPositions())\n .withPush(false),\n scrollStrategy: this._overlay.scrollStrategies.block(),\n hasBackdrop: !this._parentMenu,\n backdropClass: 'cdk-overlay-transparent-backdrop'\n });\n }\n\n private _getPositions(): ConnectedPosition[] {\n const menu = this.menu();\n\n if (this._parentMenu) {\n return [\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: 0,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: 0,\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: 0,\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetX: 0,\n }\n ];\n }\n\n const xPosition = menu?.xPosition() || this.xPosition();\n const yPosition = menu?.yPosition() || this.yPosition();\n\n if (yPosition === 'above') {\n return [\n {\n originX: xPosition === 'before' ? 'end' : 'start',\n originY: 'top',\n overlayX: xPosition === 'before' ? 'end' : 'start',\n overlayY: 'bottom',\n },\n {\n originX: xPosition === 'before' ? 'start' : 'end',\n originY: 'top',\n overlayX: xPosition === 'before' ? 'start' : 'end',\n overlayY: 'bottom',\n },\n {\n originX: xPosition === 'before' ? 'end' : 'start',\n originY: 'bottom',\n overlayX: xPosition === 'before' ? 'end' : 'start',\n overlayY: 'top',\n },\n {\n originX: xPosition === 'before' ? 'start' : 'end',\n originY: 'bottom',\n overlayX: xPosition === 'before' ? 'start' : 'end',\n overlayY: 'top',\n },\n ];\n }\n\n return [\n {\n originX: xPosition === 'before' ? 'end' : 'start',\n originY: 'bottom',\n overlayX: xPosition === 'before' ? 'end' : 'start',\n overlayY: 'top',\n },\n {\n originX: xPosition === 'before' ? 'start' : 'end',\n originY: 'bottom',\n overlayX: xPosition === 'before' ? 'start' : 'end',\n overlayY: 'top',\n },\n {\n originX: xPosition === 'before' ? 'end' : 'start',\n originY: 'top',\n overlayX: xPosition === 'before' ? 'end' : 'start',\n overlayY: 'bottom',\n },\n {\n originX: xPosition === 'before' ? 'start' : 'end',\n originY: 'top',\n overlayX: xPosition === 'before' ? 'start' : 'end',\n overlayY: 'bottom',\n },\n ];\n }\n\n private _menuClosingActions() {\n const menu = this.menu();\n const detachments = this._overlayRef!.detachments();\n const menuClosed = menu ? outputToObservable(menu.closed) : EMPTY;\n const parentMenuClosed = this._parentMenu ? outputToObservable(this._parentMenu.closed) : EMPTY;\n return merge(detachments, menuClosed, parentMenuClosed).pipe(\n filter((reason): reason is MenuCloseReason => !!reason)\n );\n }\n\n _handleMouseEnter() {\n this._clearCloseTimeout();\n if (this._parentMenu) {\n this.openMenu();\n } else if (this._menu) {\n this.openMenu();\n }\n }\n}\n","import {\n Directive,\n inject,\n ElementRef,\n ViewContainerRef,\n OnDestroy,\n input,\n signal,\n output,\n NgZone\n} from '@angular/core';\nimport {\n Overlay,\n OverlayRef,\n OverlayConfig,\n ConnectedPosition,\n FlexibleConnectedPositionStrategy\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Menu } from './menu/menu';\nimport { MenuCloseReason } from './menu-types';\nimport { Subscription, merge, EMPTY } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { outputToObservable } from '@angular/core/rxjs-interop';\n\n@Directive({\n selector: '[ngsContextMenuTriggerFor]',\n exportAs: 'ngsContextMenuTrigger',\n standalone: true,\n host: {\n '(contextmenu)': '_handleContextMenu($event)',\n }\n})\nexport class ContextMenuTrigger implements OnDestroy {\n private _overlay = inject(Overlay);\n private _elementRef = inject(ElementRef<HTMLElement>);\n private _viewContainerRef = inject(ViewContainerRef);\n private _ngZone = inject(NgZone);\n\n readonly menu = input<Menu | null>(null, { alias: 'ngsContextMenuTriggerFor' });\n readonly menuData = input<any>(undefined, { alias: 'ngsContextMenuTriggerData' });\n\n readonly menuOpened = output<void>();\n readonly menuClosed = output<MenuCloseReason>();\n\n private _overlayRef: OverlayRef | null = null;\n private _portal: TemplatePortal | null = null;\n private _closingSubscription = Subscription.EMPTY;\n\n readonly menuOpen = signal(false);\n\n ngOnDestroy() {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n this._closingSubscription.unsubscribe();\n }\n\n openMenu(x: number, y: number): void {\n const menu = this.menu();\n if (this.menuOpen() || !menu) {\n return;\n }\n\n const overlayRef = this._createOverlay(x, y);\n const strategy = overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy;\n\n strategy.positionChanges.subscribe(change => {\n menu._setPanelClasses(this._getPanelClasses(change.connectionPair));\n });\n\n menu._setContext(this.menuData());\n this._portal = new TemplatePortal(menu.templateRef(), this._viewContainerRef);\n overlayRef.attach(this._portal);\n\n if (overlayRef.hasAttached()) {\n this._setIsMenuOpen(true);\n }\n\n this._closingSubscription = this._menuClosingActions().subscribe(reason => this.closeMenu(reason));\n this.menuOpened.emit();\n }\n\n closeMenu(reason: MenuCloseReason): void {\n if (!this._overlayRef || !this.menuOpen()) {\n return;\n }\n\n this._setIsMenuOpen(false);\n const menu = this.menu();\n\n if (menu) {\n menu.close(reason);\n }\n\n this._overlayRef.detach();\n this._closingSubscription.unsubscribe();\n this.menuClosed.emit(reason);\n }\n\n private _setIsMenuOpen(isOpen: boolean): void {\n this.menuOpen.set(isOpen);\n }\n\n private _getPanelClasses(connectionPair: ConnectedPosition): string[] {\n const classes = [];\n const isBelow = connectionPair.overlayY === 'top';\n const isBefore = connectionPair.overlayX === 'end';\n\n if (isBelow) {\n classes.push('ngs-menu-below');\n } else {\n classes.push('ngs-menu-above');\n }\n\n if (isBefore) {\n classes.push('ngs-menu-before');\n } else {\n classes.push('ngs-menu-after');\n }\n\n return classes;\n }\n\n private _createOverlay(x: number, y: number): OverlayRef {\n if (this._overlayRef) {\n this._overlayRef.updatePositionStrategy(this._getPositionStrategy(x, y));\n return this._overlayRef;\n }\n\n const config = this._getOverlayConfig(x, y);\n this._overlayRef = this._overlay.create(config);\n\n this._overlayRef.keydownEvents()\n .pipe(filter(event => event.key === 'Escape'))\n .subscribe(() => this.closeMenu('keydown'));\n\n this._overlayRef.backdropClick().subscribe(() => this.closeMenu('backdrop'));\n\n return this._overlayRef;\n }\n\n private _getOverlayConfig(x: number, y: number): OverlayConfig {\n return new OverlayConfig({\n positionStrategy: this._getPositionStrategy(x, y),\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n hasBackdrop: true,\n backdropClass: 'cdk-overlay-transparent-backdrop',\n });\n }\n\n private _getPositionStrategy(x: number, y: number): FlexibleConnectedPositionStrategy {\n return this._overlay.position()\n .flexibleConnectedTo({ x, y })\n .withPush(false)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n ]);\n }\n\n private _menuClosingActions() {\n const menu = this.menu();\n const detachments = this._overlayRef!.detachments();\n const menuClosed = menu ? outputToObservable(menu.closed) : EMPTY;\n return merge(detachments, menuClosed).pipe(\n filter((reason): reason is MenuCloseReason => !!reason)\n );\n }\n\n _handleContextMenu(event: MouseEvent): void {\n event.preventDefault();\n\n if (this.menuOpen()) {\n this.closeMenu('click');\n }\n\n this.openMenu(event.clientX, event.clientY);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-menu-header',\n imports: [],\n templateUrl: './menu-header.html',\n styleUrl: './menu-header.scss',\n})\nexport class MenuHeader {\n\n}\n","<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-menu-footer',\n imports: [],\n templateUrl: './menu-footer.html',\n styleUrl: './menu-footer.scss',\n})\nexport class MenuFooter {\n\n}\n","<ng-content/>\n","import { InjectionToken, Signal } from '@angular/core';\n\n/**\n * Describes a parent component that manages a list of options.\n * Contains properties that the options can inherit.\n * @docs-private\n */\nexport interface OptionParentComponent {\n disableRipple?: boolean | Signal<boolean>;\n multiple?: boolean | Signal<boolean>;\n inertGroups?: boolean;\n hideSingleSelectionIndicator?: boolean;\n}\n\n/**\n * Injection token used to provide the parent component to options.\n */\nexport const OPTION_PARENT_COMPONENT = new InjectionToken<OptionParentComponent>('OPTION_PARENT_COMPONENT');\n","import {\n AfterContentInit,\n ChangeDetectorRef, DestroyRef,\n Directive,\n forwardRef,\n inject,\n OnInit,\n contentChildren, signal, Signal, input, booleanAttribute, computed,\n output\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { defer, merge, Observable, Subject, switchMap, EMPTY, map, startWith } from 'rxjs';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { outputToObservable } from '@angular/core/rxjs-interop';\nimport { Option, SELECT } from '@ngstarter-ui/components/select';\nimport { OptionParentComponent, OPTION_PARENT_COMPONENT } from './option-parent';\nimport { Menu } from './menu/menu';\n\n@Directive({\n selector: '[ngsMenuOptionGroup]',\n standalone: true,\n providers: [\n {\n provide: OPTION_PARENT_COMPONENT,\n useExisting: MenuOptionGroupDirective\n },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MenuOptionGroupDirective),\n multi: true\n },\n {\n provide: SELECT,\n useFactory: (directive: MenuOptionGroupDirective) => {\n return {\n multiple: directive.multipleSignal,\n hideCheckIcon: directive.hideCheckIcon,\n _optionsContentChanges: directive._optionsContentChanges\n };\n },\n deps: [forwardRef(() => MenuOptionGroupDirective)]\n }\n ]\n})\nexport class MenuOptionGroupDirective implements OptionParentComponent, OnInit, ControlValueAccessor, AfterContentInit {\n private _changeDetectorRef = inject(ChangeDetectorRef);\n private _destroyRef = inject(DestroyRef);\n private _menu = inject(Menu, { optional: true });\n\n disableRipple = false;\n inertGroups = false;\n hideSingleSelectionIndicator = false;\n\n multiple = input(false, { transform: booleanAttribute });\n readonly multipleSignal: Signal<boolean> = computed(() => this.multiple());\n readonly hideCheckIcon = signal(false);\n readonly _optionsContentChanges = signal(0);\n\n _selectionModel: SelectionModel<any>;\n private _value: any;\n\n readonly options = contentChildren(Option, { descendants: true });\n readonly ngsOptions = contentChildren(forwardRef(() => Option), { descendants: true });\n\n private _options$ = toObservable(this.options);\n private _ngsOptions$ = toObservable(this.ngsOptions);\n\n private _initialized = new Subject();\n\n readonly valueChange = output<any>();\n\n readonly optionSelectionChanges: Observable<any> = merge(\n this._options$,\n this._ngsOptions$\n ).pipe(\n startWith(null),\n switchMap(() => {\n const options = this.options();\n const ngsOptions = this.ngsOptions();\n const streams = [\n ...options.map(option => outputToObservable(option.onSelectionChange) as Observable<any>),\n ...ngsOptions.map(option => outputToObservable(option.onSelectionChange) as Observable<any>)\n ];\n\n if (streams.length === 0) {\n return EMPTY;\n }\n\n return merge(...streams);\n })\n );\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n ngOnInit() {\n this._selectionModel = new SelectionModel<any>(this.multiple());\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n ngAfterContentInit() {\n this.optionSelectionChanges\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((res: any) => {\n let source: any;\n\n if (res instanceof Option) {\n source = res;\n } else if (res && res.source instanceof Option) {\n source = res.source;\n } else {\n source = res;\n }\n\n if (source instanceof Option) {\n this._value = source.value();\n } else if (source && typeof source.value === 'function') {\n this._value = source.value();\n } else {\n this._value = source.value;\n }\n this._selectOptionByValue();\n this.onChange(this._value);\n\n if (!this.multiple) {\n this._menu?.close('click');\n }\n })\n ;\n\n this._options$\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._selectOptionByValue();\n });\n\n this._ngsOptions$\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._selectOptionByValue();\n });\n }\n\n private _selectOptionByValue() {\n const options = this.options();\n const ngsOptions = this.ngsOptions();\n\n options.forEach(option => {\n if (option.value === this._value) {\n option.select();\n } else {\n option.deselect();\n }\n });\n\n ngsOptions.forEach(option => {\n if (option.value() === this._value) {\n option.select();\n } else {\n option.deselect();\n }\n });\n this._changeDetectorRef.markForCheck();\n }\n\n writeValue(newValue: any): void {\n if (newValue !== this._value) {\n this._value = newValue;\n this._selectOptionByValue();\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngstarter-ui/components",
|
|
3
3
|
"description": "NgStarter - AI-friendly Enterprise Angular UI Components and Admin Panel",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.31",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/elementarlabsdev/ngstarter.git"
|
package/schematics/utils.js
CHANGED
|
@@ -31,8 +31,16 @@ const DEV_DEPENDENCY_NAMES = new Set([
|
|
|
31
31
|
'postcss',
|
|
32
32
|
'tailwindcss',
|
|
33
33
|
]);
|
|
34
|
-
const
|
|
34
|
+
const GOOGLE_FONTS_HREF = 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700&display=swap';
|
|
35
|
+
const GOOGLE_FONTS_HREF_PATTERN = /https:\/\/fonts\.googleapis\.com\/css2\?family=Manrope:wght@400;500;600;700;800(?:&|&)family=Sora:wght@500;600;700(?:&|&)display=swap/;
|
|
36
|
+
const GOOGLE_FONTS_LINK = `<link href="${GOOGLE_FONTS_HREF}" rel="stylesheet"/>`;
|
|
35
37
|
const NGS_THEME_IMPORT = '@use "@ngstarter-ui/components/styles/themes/default";';
|
|
38
|
+
const NGS_THEME_PROVIDER = `provideNgsTheme({
|
|
39
|
+
theme: 'default',
|
|
40
|
+
colorScheme: 'auto',
|
|
41
|
+
density: 'comfortable',
|
|
42
|
+
radius: 'medium',
|
|
43
|
+
}),`;
|
|
36
44
|
function setupNgStarterComponents(tree, context, options) {
|
|
37
45
|
validateAngularVersion(tree);
|
|
38
46
|
updatePackageJson(tree, options.updateExistingDependencies);
|
|
@@ -114,7 +122,11 @@ function setupTailwindFiles(tree, context, projectName) {
|
|
|
114
122
|
}
|
|
115
123
|
const buildOptions = getBuildOptions(project);
|
|
116
124
|
const stylePath = resolveGlobalStylePath(project, buildOptions);
|
|
125
|
+
const indexPath = resolveIndexHtmlPath(project, buildOptions);
|
|
126
|
+
const appConfigPath = resolveAppConfigPath(project);
|
|
117
127
|
ensureGlobalStyleFile(tree, stylePath);
|
|
128
|
+
ensureIndexGoogleFontsLink(tree, context, indexPath);
|
|
129
|
+
ensureAppConfigThemeProvider(tree, context, appConfigPath);
|
|
118
130
|
ensureProjectStyleEntry(buildOptions, stylePath);
|
|
119
131
|
writeJson(tree, ANGULAR_JSON_PATH, workspace);
|
|
120
132
|
}
|
|
@@ -216,6 +228,21 @@ function resolveGlobalStylePath(project, buildOptions) {
|
|
|
216
228
|
assertScssStylePath(stylePath);
|
|
217
229
|
return stylePath;
|
|
218
230
|
}
|
|
231
|
+
function resolveIndexHtmlPath(project, buildOptions) {
|
|
232
|
+
const index = buildOptions['index'];
|
|
233
|
+
if (typeof index === 'string') {
|
|
234
|
+
return normalizeWorkspacePath(index);
|
|
235
|
+
}
|
|
236
|
+
if (index && typeof index === 'object' && typeof index['input'] === 'string') {
|
|
237
|
+
return normalizeWorkspacePath(index['input']);
|
|
238
|
+
}
|
|
239
|
+
const sourceRoot = project.sourceRoot || joinWorkspacePath(project.root || '', 'src');
|
|
240
|
+
return normalizeWorkspacePath(joinWorkspacePath(sourceRoot, 'index.html'));
|
|
241
|
+
}
|
|
242
|
+
function resolveAppConfigPath(project) {
|
|
243
|
+
const sourceRoot = project.sourceRoot || joinWorkspacePath(project.root || '', 'src');
|
|
244
|
+
return normalizeWorkspacePath(joinWorkspacePath(sourceRoot, 'app/app.config.ts'));
|
|
245
|
+
}
|
|
219
246
|
function assertScssStylePath(stylePath) {
|
|
220
247
|
if (stylePath.endsWith('.scss')) {
|
|
221
248
|
return;
|
|
@@ -223,10 +250,78 @@ function assertScssStylePath(stylePath) {
|
|
|
223
250
|
throw new schematics_1.SchematicsException(`${packageJson.name} supports only SCSS global styles. The selected project uses "${stylePath}". ` +
|
|
224
251
|
'Switch the project global style file to styles.scss and retry.');
|
|
225
252
|
}
|
|
253
|
+
function ensureIndexGoogleFontsLink(tree, context, indexPath) {
|
|
254
|
+
if (!tree.exists(indexPath)) {
|
|
255
|
+
context.logger.warn(`Index file "${indexPath}" was not found. Skipping Google Fonts setup.`);
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
const content = readText(tree, indexPath);
|
|
259
|
+
if (GOOGLE_FONTS_HREF_PATTERN.test(content)) {
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
const headMatch = /([ \t]*)<\/head>/i.exec(content);
|
|
263
|
+
const nextContent = headMatch
|
|
264
|
+
? content.replace(/([ \t]*)<\/head>/i, (_match, indent, offset) => {
|
|
265
|
+
const needsLeadingNewline = !content.slice(0, offset).endsWith('\n');
|
|
266
|
+
return `${needsLeadingNewline ? '\n' : ''}${indent} ${GOOGLE_FONTS_LINK}\n${indent}</head>`;
|
|
267
|
+
})
|
|
268
|
+
: `${content.trimEnd()}\n${GOOGLE_FONTS_LINK}\n`;
|
|
269
|
+
tree.overwrite(indexPath, nextContent);
|
|
270
|
+
}
|
|
271
|
+
function ensureAppConfigThemeProvider(tree, context, appConfigPath) {
|
|
272
|
+
if (!tree.exists(appConfigPath)) {
|
|
273
|
+
context.logger.warn(`App config "${appConfigPath}" was not found. Skipping NgStarter theme provider setup.`);
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
const content = readText(tree, appConfigPath);
|
|
277
|
+
if (/provideNgsTheme\s*\(/.test(content)) {
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
if (!/providers\s*:\s*\[/.test(content)) {
|
|
281
|
+
context.logger.warn(`No providers array found in "${appConfigPath}". Skipping NgStarter theme provider setup.`);
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
const nextContent = insertThemeProvider(addCoreImport(content));
|
|
285
|
+
tree.overwrite(appConfigPath, nextContent);
|
|
286
|
+
}
|
|
287
|
+
function addCoreImport(content) {
|
|
288
|
+
var _a;
|
|
289
|
+
const coreImport = /import\s*\{([\s\S]*?)\}\s*from\s*['"]@ngstarter-ui\/components\/core['"];?/m;
|
|
290
|
+
const match = coreImport.exec(content);
|
|
291
|
+
if (match) {
|
|
292
|
+
const imports = match[1]
|
|
293
|
+
.split(',')
|
|
294
|
+
.map(item => item.trim())
|
|
295
|
+
.filter(Boolean);
|
|
296
|
+
if (!imports.includes('provideNgsTheme')) {
|
|
297
|
+
imports.push('provideNgsTheme');
|
|
298
|
+
}
|
|
299
|
+
return content.replace(coreImport, `import { ${imports.sort().join(', ')} } from '@ngstarter-ui/components/core';`);
|
|
300
|
+
}
|
|
301
|
+
const importStatement = `import { provideNgsTheme } from '@ngstarter-ui/components/core';`;
|
|
302
|
+
const imports = [...content.matchAll(/import[\s\S]*?from\s*['"][^'"]+['"];?/g)];
|
|
303
|
+
const lastImport = imports[imports.length - 1];
|
|
304
|
+
if (!lastImport) {
|
|
305
|
+
return `${importStatement}\n${content}`;
|
|
306
|
+
}
|
|
307
|
+
const insertIndex = ((_a = lastImport.index) !== null && _a !== void 0 ? _a : 0) + lastImport[0].length;
|
|
308
|
+
return `${content.slice(0, insertIndex)}\n${importStatement}${content.slice(insertIndex)}`;
|
|
309
|
+
}
|
|
310
|
+
function insertThemeProvider(content) {
|
|
311
|
+
return content.replace(/(\n([ \t]*)providers\s*:\s*\[)([ \t]*)(\r?\n)?/, (_match, start, indent) => {
|
|
312
|
+
const providerIndent = `${indent} `;
|
|
313
|
+
return `${start}\n${indentBlock(NGS_THEME_PROVIDER, providerIndent)}\n`;
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
function indentBlock(value, indent) {
|
|
317
|
+
return value
|
|
318
|
+
.split('\n')
|
|
319
|
+
.map(line => `${indent}${line}`)
|
|
320
|
+
.join('\n');
|
|
321
|
+
}
|
|
226
322
|
function ensureGlobalStyleFile(tree, stylePath) {
|
|
227
323
|
const content = tree.exists(stylePath) ? readText(tree, stylePath) : '';
|
|
228
324
|
const imports = [
|
|
229
|
-
{ needle: /@use\s+["']tailwindcss["'];?/, statement: TAILWIND_IMPORT },
|
|
230
325
|
{
|
|
231
326
|
needle: /@use\s+["']@ngstarter-ui\/components\/styles\/themes\/[^"']+["'];?/,
|
|
232
327
|
statement: NGS_THEME_IMPORT,
|
package/schematics/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../projects/components/schematics/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../projects/components/schematics/utils.ts"],"names":[],"mappings":"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"}
|
package/styles/_tokens.scss
CHANGED
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
|
|
55
55
|
--ngs-color-background: #ffffff;
|
|
56
56
|
--ngs-color-on-background: #0f172a;
|
|
57
|
-
--ngs-color-surface: #
|
|
57
|
+
--ngs-color-surface: #fbfdff;
|
|
58
58
|
--ngs-color-surface-bright: #ffffff;
|
|
59
59
|
--ngs-color-on-surface: #0f172a;
|
|
60
60
|
--ngs-color-on-surface-variant: #64748b;
|
|
@@ -172,6 +172,7 @@
|
|
|
172
172
|
--ngs-dropdown-border: 1px solid var(--ngs-color-faint);
|
|
173
173
|
--ngs-dropdown-max-height: 16rem;
|
|
174
174
|
--ngs-option-height: var(--ngs-control-height-md);
|
|
175
|
+
--ngs-menu-item-radius: var(--ngs-control-radius);
|
|
175
176
|
|
|
176
177
|
--ngs-dialog-bg: var(--ngs-color-surface-container-lowest);
|
|
177
178
|
--ngs-dialog-color: var(--ngs-color-on-surface);
|
|
@@ -423,7 +424,7 @@
|
|
|
423
424
|
--ngs-color-on-warning-container: #7a2e0e;
|
|
424
425
|
--ngs-color-background: #f3f5f7;
|
|
425
426
|
--ngs-color-on-background: #17202a;
|
|
426
|
-
--ngs-color-surface: #
|
|
427
|
+
--ngs-color-surface: #f7f9fb;
|
|
427
428
|
--ngs-color-surface-bright: #ffffff;
|
|
428
429
|
--ngs-color-on-surface: #17202a;
|
|
429
430
|
--ngs-color-on-surface-variant: #5e6b7a;
|
|
@@ -664,7 +665,7 @@
|
|
|
664
665
|
--ngs-color-on-warning-container: #92400e;
|
|
665
666
|
--ngs-color-background: #f7f8ff;
|
|
666
667
|
--ngs-color-on-background: #172033;
|
|
667
|
-
--ngs-color-surface: #
|
|
668
|
+
--ngs-color-surface: #f9fbff;
|
|
668
669
|
--ngs-color-surface-bright: #ffffff;
|
|
669
670
|
--ngs-color-on-surface: #172033;
|
|
670
671
|
--ngs-color-on-surface-variant: #667085;
|
|
@@ -880,10 +881,10 @@
|
|
|
880
881
|
--ngs-control-padding-x: --spacing(5);
|
|
881
882
|
}
|
|
882
883
|
|
|
883
|
-
[data-ngs-radius='none'] { --ngs-control-radius: var(--ngs-radius-none); --ngs-dialog-radius: var(--ngs-radius-none); --ngs-nav-item-radius: var(--ngs-radius-none); }
|
|
884
|
-
[data-ngs-radius='small'] { --ngs-control-radius: var(--ngs-radius-sm); --ngs-dialog-radius: var(--ngs-radius-md); --ngs-nav-item-radius: var(--ngs-radius-sm); }
|
|
885
|
-
[data-ngs-radius='medium'] { --ngs-control-radius: var(--ngs-radius-lg); --ngs-dialog-radius: var(--ngs-radius-xl); --ngs-nav-item-radius: var(--ngs-radius-lg); }
|
|
886
|
-
[data-ngs-radius='large'] { --ngs-control-radius: var(--ngs-radius-xl); --ngs-dialog-radius: 1.25rem; --ngs-nav-item-radius: var(--ngs-radius-xl); }
|
|
884
|
+
[data-ngs-radius='none'] { --ngs-control-radius: var(--ngs-radius-none); --ngs-dialog-radius: var(--ngs-radius-none); --ngs-nav-item-radius: var(--ngs-radius-none); --ngs-menu-item-radius: var(--ngs-radius-none); }
|
|
885
|
+
[data-ngs-radius='small'] { --ngs-control-radius: var(--ngs-radius-sm); --ngs-dialog-radius: var(--ngs-radius-md); --ngs-nav-item-radius: var(--ngs-radius-sm); --ngs-menu-item-radius: var(--ngs-radius-sm); }
|
|
886
|
+
[data-ngs-radius='medium'] { --ngs-control-radius: var(--ngs-radius-lg); --ngs-dialog-radius: var(--ngs-radius-xl); --ngs-nav-item-radius: var(--ngs-radius-lg); --ngs-menu-item-radius: var(--ngs-radius-lg); }
|
|
887
|
+
[data-ngs-radius='large'] { --ngs-control-radius: var(--ngs-radius-xl); --ngs-dialog-radius: 1.25rem; --ngs-nav-item-radius: var(--ngs-radius-xl); --ngs-menu-item-radius: var(--ngs-radius-xl); }
|
|
887
888
|
|
|
888
889
|
:root,
|
|
889
890
|
.dark,
|
|
@@ -1033,6 +1034,7 @@
|
|
|
1033
1034
|
--dropdown-border: var(--ngs-dropdown-border);
|
|
1034
1035
|
--dropdown-max-height: var(--ngs-dropdown-max-height);
|
|
1035
1036
|
--option-height: var(--ngs-option-height);
|
|
1037
|
+
--menu-item-radius: var(--ngs-menu-item-radius);
|
|
1036
1038
|
--overlay-backdrop-bg: var(--ngs-overlay-backdrop-bg);
|
|
1037
1039
|
--overlay-backdrop-blur: var(--ngs-overlay-backdrop-blur);
|
|
1038
1040
|
--icon-size: var(--ngs-icon-size);
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
--ngs-color-on-warning-container: #7a2e0e;
|
|
48
48
|
--ngs-color-background: #f3f5f7;
|
|
49
49
|
--ngs-color-on-background: #17202a;
|
|
50
|
-
--ngs-color-surface: #
|
|
50
|
+
--ngs-color-surface: #f7f9fb;
|
|
51
51
|
--ngs-color-surface-bright: #ffffff;
|
|
52
52
|
--ngs-color-on-surface: #17202a;
|
|
53
53
|
--ngs-color-on-surface-variant: #5e6b7a;
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
--ngs-color-on-warning-container: #92400e;
|
|
48
48
|
--ngs-color-background: #f7f8ff;
|
|
49
49
|
--ngs-color-on-background: #172033;
|
|
50
|
-
--ngs-color-surface: #
|
|
50
|
+
--ngs-color-surface: #f9fbff;
|
|
51
51
|
--ngs-color-surface-bright: #ffffff;
|
|
52
52
|
--ngs-color-on-surface: #172033;
|
|
53
53
|
--ngs-color-on-surface-variant: #667085;
|
|
@@ -20,7 +20,7 @@ declare class Chip {
|
|
|
20
20
|
_handleKeydown(event: KeyboardEvent): void;
|
|
21
21
|
_handleBlur(): void;
|
|
22
22
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Chip, never>;
|
|
23
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Chip, "ngs-chip", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "destroyed": "destroyed"; "removed": "removed"; }, never, ["ngs-chip-avatar, [ngsChipAvatar]", "*", "
|
|
23
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Chip, "ngs-chip", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "destroyed": "destroyed"; "removed": "removed"; }, never, ["ngs-chip-avatar, [ngsChipAvatar]", "*", "ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]"], true, never>;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
interface ChipEditedEvent {
|
|
@@ -44,7 +44,7 @@ declare class ChipRow extends Chip {
|
|
|
44
44
|
_startEditing(): void;
|
|
45
45
|
private _stopEditing;
|
|
46
46
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChipRow, never>;
|
|
47
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipRow, "ngs-chip-row", never, { "editable": { "alias": "editable"; "required": false; "isSignal": true; }; }, { "edited": "edited"; }, never, ["ngs-chip-avatar, [ngsChipAvatar]", "*", "
|
|
47
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipRow, "ngs-chip-row", never, { "editable": { "alias": "editable"; "required": false; "isSignal": true; }; }, { "edited": "edited"; }, never, ["ngs-chip-avatar, [ngsChipAvatar]", "*", "ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]"], true, never>;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
declare class ChipGrid implements ControlValueAccessor, AfterContentInit, FormFieldControl<any[]> {
|
|
@@ -109,7 +109,7 @@ declare class ChipOption extends Chip {
|
|
|
109
109
|
}>;
|
|
110
110
|
toggleSelected(): void;
|
|
111
111
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChipOption, never>;
|
|
112
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipOption, "ngs-chip-option", never, { "selected": { "alias": "selected"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, ["ngs-chip-avatar, [ngsChipAvatar]", "*", "
|
|
112
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipOption, "ngs-chip-option", never, { "selected": { "alias": "selected"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, ["ngs-chip-avatar, [ngsChipAvatar]", "*", "ngs-chip-remove, [ngsChipRemove], [ngsChipControl], [ngsChipEdit]"], true, never>;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
declare class ChipListbox implements ControlValueAccessor, AfterContentInit {
|
|
@@ -185,5 +185,10 @@ declare class ChipInput implements DoCheck {
|
|
|
185
185
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ChipInput, "input[ngsChipInputFor]", never, { "chipGridInput": { "alias": "ngsChipInputFor"; "required": false; "isSignal": true; }; "chipInputSeparatorKeyCodes": { "alias": "ngsChipInputSeparatorKeyCodes"; "required": false; "isSignal": true; }; "chipInputAddOnBlur": { "alias": "ngsChipInputAddOnBlur"; "required": false; "isSignal": true; }; }, { "chipInputTokenEnd": "chipInputTokenEnd"; }, never, never, true, never>;
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
-
|
|
188
|
+
declare class ChipControl {
|
|
189
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChipControl, never>;
|
|
190
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ChipControl, "[ngsChipControl]", never, {}, {}, never, never, true, never>;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export { Chip, ChipAvatar, ChipControl, ChipEdit, ChipGrid, ChipInput, ChipListbox, ChipOption, ChipRemove, ChipRow, ChipSet };
|
|
189
194
|
export type { ChipEditedEvent, ChipInputEvent };
|