@luzmo/ngx-lucero 1.0.3-alpha.8 → 2.0.0
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/README.md +37 -0
- package/esm/components/accordion-item.js +1 -1
- package/esm/components/accordion.js +1 -1
- package/esm/components/action-bar.js +1 -1
- package/esm/components/action-button.d.ts +6 -4
- package/esm/components/action-button.js +11 -3
- package/esm/components/action-group.js +1 -1
- package/esm/components/action-menu.d.ts +2 -1
- package/esm/components/action-menu.js +9 -2
- package/esm/components/avatar.d.ts +5 -1
- package/esm/components/avatar.js +18 -2
- package/esm/components/badge.js +1 -1
- package/esm/components/button-group.js +1 -1
- package/esm/components/button.d.ts +1 -3
- package/esm/components/button.js +3 -8
- package/esm/components/calendar.js +1 -1
- package/esm/components/chat-message-group.js +1 -1
- package/esm/components/chat-message.js +1 -1
- package/esm/components/checkbox.js +3 -2
- package/esm/components/clear-button.js +1 -1
- package/esm/components/close-button.js +1 -1
- package/esm/components/color-area.js +1 -1
- package/esm/components/color-field.js +1 -1
- package/esm/components/color-handle.js +1 -1
- package/esm/components/color-loupe.js +1 -1
- package/esm/components/color-menu.js +1 -1
- package/esm/components/color-palette-group.js +1 -1
- package/esm/components/color-palette.js +1 -1
- package/esm/components/color-picker.js +1 -1
- package/esm/components/color-slider.js +1 -1
- package/esm/components/date-range-picker.js +1 -1
- package/esm/components/date-time-picker.js +1 -1
- package/esm/components/divider.js +1 -1
- package/esm/components/field-group.js +1 -1
- package/esm/components/field-label.js +1 -1
- package/esm/components/help-text.js +1 -1
- package/esm/components/icon.js +1 -1
- package/esm/components/infield-button.js +1 -1
- package/esm/components/label.js +1 -1
- package/esm/components/menu-divider.js +1 -1
- package/esm/components/menu-group.d.ts +3 -1
- package/esm/components/menu-group.js +16 -2
- package/esm/components/menu-item.d.ts +3 -3
- package/esm/components/menu-item.js +7 -7
- package/esm/components/menu.d.ts +5 -3
- package/esm/components/menu.js +16 -2
- package/esm/components/multi-language-field.js +1 -1
- package/esm/components/notice.d.ts +49 -0
- package/esm/components/notice.js +145 -0
- package/esm/components/number-field.js +1 -1
- package/esm/components/option.d.ts +66 -0
- package/esm/components/option.js +241 -0
- package/esm/components/options-divider.d.ts +29 -0
- package/esm/components/options-divider.js +69 -0
- package/esm/components/options.d.ts +7 -6
- package/esm/components/options.js +2 -2
- package/esm/components/overlay-trigger.d.ts +45 -0
- package/esm/components/overlay-trigger.js +155 -0
- package/esm/components/overlay.d.ts +5 -3
- package/esm/components/overlay.js +2 -2
- package/esm/components/picker-button.js +1 -1
- package/esm/components/picker.d.ts +2 -1
- package/esm/components/picker.js +9 -2
- package/esm/components/popover.js +1 -1
- package/esm/components/progress-bar.js +1 -1
- package/esm/components/progress-circle.js +1 -1
- package/esm/components/progress-steps.js +1 -1
- package/esm/components/prompt-box.d.ts +7 -3
- package/esm/components/prompt-box.js +20 -3
- package/esm/components/question-box.d.ts +78 -0
- package/esm/components/question-box.js +253 -0
- package/esm/components/radio-group.d.ts +3 -2
- package/esm/components/radio-group.js +8 -7
- package/esm/components/radio.d.ts +1 -1
- package/esm/components/radio.js +4 -3
- package/esm/components/search.js +1 -1
- package/esm/components/select.js +1 -1
- package/esm/components/skeleton-loader.js +1 -1
- package/esm/components/slider-handle.d.ts +63 -0
- package/esm/components/slider-handle.js +218 -0
- package/esm/components/slider.d.ts +59 -8
- package/esm/components/slider.js +205 -27
- package/esm/components/status-light.js +1 -1
- package/esm/components/swatch-group.js +1 -1
- package/esm/components/swatch.d.ts +1 -1
- package/esm/components/swatch.js +1 -1
- package/esm/components/switch.js +1 -1
- package/esm/components/tab-panel.js +1 -1
- package/esm/components/tab.js +1 -1
- package/esm/components/tabs-overflow.js +1 -1
- package/esm/components/tabs.d.ts +1 -1
- package/esm/components/tabs.js +1 -1
- package/esm/components/tag.d.ts +1 -1
- package/esm/components/tag.js +2 -2
- package/esm/components/tags.js +1 -1
- package/esm/components/text-field.d.ts +3 -3
- package/esm/components/text-field.js +1 -1
- package/esm/components/toast.js +1 -1
- package/esm/components/tooltip.js +1 -1
- package/esm/components/top-nav-item.js +1 -1
- package/esm/components/top-nav.d.ts +2 -2
- package/esm/components/top-nav.js +1 -1
- package/esm/index.d.ts +14 -2
- package/esm/index.js +24 -0
- package/package.json +2 -2
|
@@ -163,7 +163,7 @@ export class LuzmoColorSlider {
|
|
|
163
163
|
]), i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoColorSlider_Template(rf, ctx) { if (rf & 1) {
|
|
164
164
|
i0.ɵɵprojectionDef();
|
|
165
165
|
i0.ɵɵprojection(0);
|
|
166
|
-
} }, encapsulation: 2
|
|
166
|
+
} }, encapsulation: 2 });
|
|
167
167
|
}
|
|
168
168
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoColorSlider, [{
|
|
169
169
|
type: Component,
|
|
@@ -178,7 +178,7 @@ export class LuzmoDateRangePicker {
|
|
|
178
178
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoDateRangePicker, selectors: [["luzmo-date-range-picker"]], inputs: { startDate: "startDate", endDate: "endDate", min: "min", max: "max", dateFormat: "dateFormat", dateSeparator: "dateSeparator", precision: "precision", calendars: "calendars", showDefinedRanges: "showDefinedRanges", definedRanges: "definedRanges", invalid: "invalid", readonly: "readonly", quiet: "quiet", placement: "placement", timeZone: "timeZone", language: "language", labels: "labels", focused: "focused", helpTextManager: "helpTextManager", size: "size", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { changeEvent: "change", inputEvent: "input", keydownEvent: "keydown" }, exportAs: ["luzmoDateRangePicker"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoDateRangePicker_Template(rf, ctx) { if (rf & 1) {
|
|
179
179
|
i0.ɵɵprojectionDef();
|
|
180
180
|
i0.ɵɵprojection(0);
|
|
181
|
-
} }, encapsulation: 2
|
|
181
|
+
} }, encapsulation: 2 });
|
|
182
182
|
}
|
|
183
183
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoDateRangePicker, [{
|
|
184
184
|
type: Component,
|
|
@@ -212,7 +212,7 @@ export class LuzmoDateTimePicker {
|
|
|
212
212
|
]), i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoDateTimePicker_Template(rf, ctx) { if (rf & 1) {
|
|
213
213
|
i0.ɵɵprojectionDef();
|
|
214
214
|
i0.ɵɵprojection(0);
|
|
215
|
-
} }, encapsulation: 2
|
|
215
|
+
} }, encapsulation: 2 });
|
|
216
216
|
}
|
|
217
217
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoDateTimePicker, [{
|
|
218
218
|
type: Component,
|
|
@@ -61,7 +61,7 @@ export class LuzmoDivider {
|
|
|
61
61
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoDivider, selectors: [["luzmo-divider"]], inputs: { vertical: "vertical", staticColor: "staticColor", size: "size" }, exportAs: ["luzmoDivider"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoDivider_Template(rf, ctx) { if (rf & 1) {
|
|
62
62
|
i0.ɵɵprojectionDef();
|
|
63
63
|
i0.ɵɵprojection(0);
|
|
64
|
-
} }, encapsulation: 2
|
|
64
|
+
} }, encapsulation: 2 });
|
|
65
65
|
}
|
|
66
66
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoDivider, [{
|
|
67
67
|
type: Component,
|
|
@@ -71,7 +71,7 @@ export class LuzmoFieldGroup {
|
|
|
71
71
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoFieldGroup, selectors: [["luzmo-field-group"]], inputs: { horizontal: "horizontal", invalid: "invalid", label: "label", vertical: "vertical", helpTextManager: "helpTextManager" }, exportAs: ["luzmoFieldGroup"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoFieldGroup_Template(rf, ctx) { if (rf & 1) {
|
|
72
72
|
i0.ɵɵprojectionDef();
|
|
73
73
|
i0.ɵɵprojection(0);
|
|
74
|
-
} }, encapsulation: 2
|
|
74
|
+
} }, encapsulation: 2 });
|
|
75
75
|
}
|
|
76
76
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoFieldGroup, [{
|
|
77
77
|
type: Component,
|
|
@@ -78,7 +78,7 @@ export class LuzmoFieldLabel {
|
|
|
78
78
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoFieldLabel, selectors: [["luzmo-field-label"]], inputs: { disabled: "disabled", for: "for", required: "required", slotEl: "slotEl", sideAligned: "sideAligned", size: "size" }, exportAs: ["luzmoFieldLabel"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoFieldLabel_Template(rf, ctx) { if (rf & 1) {
|
|
79
79
|
i0.ɵɵprojectionDef();
|
|
80
80
|
i0.ɵɵprojection(0);
|
|
81
|
-
} }, encapsulation: 2
|
|
81
|
+
} }, encapsulation: 2 });
|
|
82
82
|
}
|
|
83
83
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoFieldLabel, [{
|
|
84
84
|
type: Component,
|
|
@@ -60,7 +60,7 @@ export class LuzmoHelpText {
|
|
|
60
60
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoHelpText, selectors: [["luzmo-help-text"]], inputs: { icon: "icon", variant: "variant", size: "size" }, exportAs: ["luzmoHelpText"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoHelpText_Template(rf, ctx) { if (rf & 1) {
|
|
61
61
|
i0.ɵɵprojectionDef();
|
|
62
62
|
i0.ɵɵprojection(0);
|
|
63
|
-
} }, encapsulation: 2
|
|
63
|
+
} }, encapsulation: 2 });
|
|
64
64
|
}
|
|
65
65
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoHelpText, [{
|
|
66
66
|
type: Component,
|
package/esm/components/icon.js
CHANGED
|
@@ -71,7 +71,7 @@ export class LuzmoIcon {
|
|
|
71
71
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoIcon, selectors: [["luzmo-icon"]], inputs: { src: "src", options: "options", icon: "icon", block: "block", label: "label", size: "size" }, exportAs: ["luzmoIcon"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoIcon_Template(rf, ctx) { if (rf & 1) {
|
|
72
72
|
i0.ɵɵprojectionDef();
|
|
73
73
|
i0.ɵɵprojection(0);
|
|
74
|
-
} }, encapsulation: 2
|
|
74
|
+
} }, encapsulation: 2 });
|
|
75
75
|
}
|
|
76
76
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoIcon, [{
|
|
77
77
|
type: Component,
|
|
@@ -124,7 +124,7 @@ export class LuzmoInfieldButton {
|
|
|
124
124
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoInfieldButton, selectors: [["luzmo-infield-button"]], inputs: { block: "block", inline: "inline", quiet: "quiet", size: "size", download: "download", label: "label", href: "href", target: "target", referrerpolicy: "referrerpolicy", rel: "rel", active: "active", type: "type", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { keydownEvent: "keydown" }, exportAs: ["luzmoInfieldButton"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoInfieldButton_Template(rf, ctx) { if (rf & 1) {
|
|
125
125
|
i0.ɵɵprojectionDef();
|
|
126
126
|
i0.ɵɵprojection(0);
|
|
127
|
-
} }, encapsulation: 2
|
|
127
|
+
} }, encapsulation: 2 });
|
|
128
128
|
}
|
|
129
129
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoInfieldButton, [{
|
|
130
130
|
type: Component,
|
package/esm/components/label.js
CHANGED
|
@@ -55,7 +55,7 @@ export class LuzmoLabel {
|
|
|
55
55
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoLabel, selectors: [["luzmo-label"]], inputs: { label: "label", tooltip: "tooltip" }, exportAs: ["luzmoLabel"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoLabel_Template(rf, ctx) { if (rf & 1) {
|
|
56
56
|
i0.ɵɵprojectionDef();
|
|
57
57
|
i0.ɵɵprojection(0);
|
|
58
|
-
} }, encapsulation: 2
|
|
58
|
+
} }, encapsulation: 2 });
|
|
59
59
|
}
|
|
60
60
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoLabel, [{
|
|
61
61
|
type: Component,
|
|
@@ -51,7 +51,7 @@ export class LuzmoMenuDivider {
|
|
|
51
51
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoMenuDivider, selectors: [["luzmo-menu-divider"]], inputs: { size: "size" }, exportAs: ["luzmoMenuDivider"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoMenuDivider_Template(rf, ctx) { if (rf & 1) {
|
|
52
52
|
i0.ɵɵprojectionDef();
|
|
53
53
|
i0.ɵɵprojection(0);
|
|
54
|
-
} }, encapsulation: 2
|
|
54
|
+
} }, encapsulation: 2 });
|
|
55
55
|
}
|
|
56
56
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoMenuDivider, [{
|
|
57
57
|
type: Component,
|
|
@@ -24,6 +24,8 @@ export declare class LuzmoMenuGroup implements OnChanges, ControlValueAccessor {
|
|
|
24
24
|
menuSlot?: unknown;
|
|
25
25
|
focusedItemIndex?: number;
|
|
26
26
|
focusInItemIndex?: number;
|
|
27
|
+
shouldSupportDragAndSelect?: boolean;
|
|
28
|
+
isScrolling?: boolean;
|
|
27
29
|
handleSubmenuClosed?: unknown;
|
|
28
30
|
handleSubmenuOpened?: unknown;
|
|
29
31
|
/** Announces that the `value` of the element has changed */
|
|
@@ -49,7 +51,7 @@ export declare class LuzmoMenuGroup implements OnChanges, ControlValueAccessor {
|
|
|
49
51
|
setDisabledState(isDisabled: boolean): void;
|
|
50
52
|
focus({ preventScroll }: FocusOptions): void;
|
|
51
53
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoMenuGroup, never>;
|
|
52
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoMenuGroup, "luzmo-menu-group", ["luzmoMenuGroup"], { "size": { "alias": "size"; "required": false; }; "label": { "alias": "label"; "required": false; }; "ignore": { "alias": "ignore"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "selects": { "alias": "selects"; "required": false; }; "value": { "alias": "value"; "required": false; }; "valueSeparator": { "alias": "valueSeparator"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "selectedItems": { "alias": "selectedItems"; "required": false; }; "menuSlot": { "alias": "menuSlot"; "required": false; }; "focusedItemIndex": { "alias": "focusedItemIndex"; "required": false; }; "focusInItemIndex": { "alias": "focusInItemIndex"; "required": false; }; "handleSubmenuClosed": { "alias": "handleSubmenuClosed"; "required": false; }; "handleSubmenuOpened": { "alias": "handleSubmenuOpened"; "required": false; }; }, { "changeEvent": "change"; "closeEvent": "close"; }, never, ["*"], true, never>;
|
|
54
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoMenuGroup, "luzmo-menu-group", ["luzmoMenuGroup"], { "size": { "alias": "size"; "required": false; }; "label": { "alias": "label"; "required": false; }; "ignore": { "alias": "ignore"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "selects": { "alias": "selects"; "required": false; }; "value": { "alias": "value"; "required": false; }; "valueSeparator": { "alias": "valueSeparator"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "selectedItems": { "alias": "selectedItems"; "required": false; }; "menuSlot": { "alias": "menuSlot"; "required": false; }; "focusedItemIndex": { "alias": "focusedItemIndex"; "required": false; }; "focusInItemIndex": { "alias": "focusInItemIndex"; "required": false; }; "shouldSupportDragAndSelect": { "alias": "shouldSupportDragAndSelect"; "required": false; }; "isScrolling": { "alias": "isScrolling"; "required": false; }; "handleSubmenuClosed": { "alias": "handleSubmenuClosed"; "required": false; }; "handleSubmenuOpened": { "alias": "handleSubmenuOpened"; "required": false; }; }, { "changeEvent": "change"; "closeEvent": "close"; }, never, ["*"], true, never>;
|
|
53
55
|
}
|
|
54
56
|
/** The underlying custom element type for LuzmoMenuGroup */
|
|
55
57
|
export type LuzmoMenuGroupElement = LuzmoMenuGroupHostElement;
|
|
@@ -31,6 +31,8 @@ export class LuzmoMenuGroup {
|
|
|
31
31
|
menuSlot;
|
|
32
32
|
focusedItemIndex;
|
|
33
33
|
focusInItemIndex;
|
|
34
|
+
shouldSupportDragAndSelect;
|
|
35
|
+
isScrolling;
|
|
34
36
|
handleSubmenuClosed;
|
|
35
37
|
handleSubmenuOpened;
|
|
36
38
|
/** Announces that the `value` of the element has changed */
|
|
@@ -83,6 +85,12 @@ export class LuzmoMenuGroup {
|
|
|
83
85
|
case 'focusInItemIndex':
|
|
84
86
|
this.setHostProperty('focusInItemIndex', changes['focusInItemIndex'].currentValue);
|
|
85
87
|
break;
|
|
88
|
+
case 'shouldSupportDragAndSelect':
|
|
89
|
+
this.setHostProperty('shouldSupportDragAndSelect', changes['shouldSupportDragAndSelect'].currentValue);
|
|
90
|
+
break;
|
|
91
|
+
case 'isScrolling':
|
|
92
|
+
this.setHostProperty('isScrolling', changes['isScrolling'].currentValue);
|
|
93
|
+
break;
|
|
86
94
|
case 'handleSubmenuClosed':
|
|
87
95
|
this.setHostProperty('handleSubmenuClosed', changes['handleSubmenuClosed'].currentValue);
|
|
88
96
|
break;
|
|
@@ -156,7 +164,7 @@ export class LuzmoMenuGroup {
|
|
|
156
164
|
return this.host.focus({ preventScroll });
|
|
157
165
|
}
|
|
158
166
|
static ɵfac = function LuzmoMenuGroup_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoMenuGroup)(); };
|
|
159
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoMenuGroup, selectors: [["luzmo-menu-group"]], inputs: { size: "size", label: "label", ignore: "ignore", variant: "variant", selects: "selects", value: "value", valueSeparator: "valueSeparator", selected: "selected", selectedItems: "selectedItems", menuSlot: "menuSlot", focusedItemIndex: "focusedItemIndex", focusInItemIndex: "focusInItemIndex", handleSubmenuClosed: "handleSubmenuClosed", handleSubmenuOpened: "handleSubmenuOpened" }, outputs: { changeEvent: "change", closeEvent: "close" }, exportAs: ["luzmoMenuGroup"], features: [i0.ɵɵProvidersFeature([
|
|
167
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoMenuGroup, selectors: [["luzmo-menu-group"]], inputs: { size: "size", label: "label", ignore: "ignore", variant: "variant", selects: "selects", value: "value", valueSeparator: "valueSeparator", selected: "selected", selectedItems: "selectedItems", menuSlot: "menuSlot", focusedItemIndex: "focusedItemIndex", focusInItemIndex: "focusInItemIndex", shouldSupportDragAndSelect: "shouldSupportDragAndSelect", isScrolling: "isScrolling", handleSubmenuClosed: "handleSubmenuClosed", handleSubmenuOpened: "handleSubmenuOpened" }, outputs: { changeEvent: "change", closeEvent: "close" }, exportAs: ["luzmoMenuGroup"], features: [i0.ɵɵProvidersFeature([
|
|
160
168
|
{
|
|
161
169
|
provide: NG_VALUE_ACCESSOR,
|
|
162
170
|
useExisting: forwardRef(() => LuzmoMenuGroup),
|
|
@@ -165,7 +173,7 @@ export class LuzmoMenuGroup {
|
|
|
165
173
|
]), i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoMenuGroup_Template(rf, ctx) { if (rf & 1) {
|
|
166
174
|
i0.ɵɵprojectionDef();
|
|
167
175
|
i0.ɵɵprojection(0);
|
|
168
|
-
} }, encapsulation: 2
|
|
176
|
+
} }, encapsulation: 2 });
|
|
169
177
|
}
|
|
170
178
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoMenuGroup, [{
|
|
171
179
|
type: Component,
|
|
@@ -219,6 +227,12 @@ export class LuzmoMenuGroup {
|
|
|
219
227
|
}], focusInItemIndex: [{
|
|
220
228
|
type: Input,
|
|
221
229
|
args: [{ alias: 'focusInItemIndex' }]
|
|
230
|
+
}], shouldSupportDragAndSelect: [{
|
|
231
|
+
type: Input,
|
|
232
|
+
args: [{ alias: 'shouldSupportDragAndSelect' }]
|
|
233
|
+
}], isScrolling: [{
|
|
234
|
+
type: Input,
|
|
235
|
+
args: [{ alias: 'isScrolling' }]
|
|
222
236
|
}], handleSubmenuClosed: [{
|
|
223
237
|
type: Input,
|
|
224
238
|
args: [{ alias: 'handleSubmenuClosed' }]
|
|
@@ -42,8 +42,8 @@ export declare class LuzmoMenuItem implements OnChanges {
|
|
|
42
42
|
disabled?: boolean;
|
|
43
43
|
/** The tab index to apply to this control. See general documentation about the tabindex HTML property */
|
|
44
44
|
tabIndex?: number;
|
|
45
|
-
/** announces the item has been added so a parent menu can take
|
|
46
|
-
readonly
|
|
45
|
+
/** announces the item has been added or updated so a parent menu can take ownership */
|
|
46
|
+
readonly luzmoMenuItemAddedOrUpdatedEvent: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
|
|
47
47
|
/** Trick :focus-visible polyfill into thinking keyboard based focus */
|
|
48
48
|
readonly keydownEvent: import("@angular/core").OutputEmitterRef<unknown>;
|
|
49
49
|
constructor();
|
|
@@ -58,7 +58,7 @@ export declare class LuzmoMenuItem implements OnChanges {
|
|
|
58
58
|
private bindEvents;
|
|
59
59
|
focus(options?: FocusOptions): void;
|
|
60
60
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoMenuItem, never>;
|
|
61
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoMenuItem, "luzmo-menu-item", ["luzmoMenuItem"], { "abortControllerSubmenu": { "alias": "abortControllerSubmenu"; "required": false; }; "active": { "alias": "active"; "required": false; }; "focused": { "alias": "focused"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "value": { "alias": "value"; "required": false; }; "hasSubmenu": { "alias": "hasSubmenu"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "tooltipPlacement": { "alias": "tooltipPlacement"; "required": false; }; "contentSlot": { "alias": "contentSlot"; "required": false; }; "iconSlot": { "alias": "iconSlot"; "required": false; }; "noWrap": { "alias": "noWrap"; "required": false; }; "overlayElement": { "alias": "overlayElement"; "required": false; }; "open": { "alias": "open"; "required": false; }; "menuData": { "alias": "menuData"; "required": false; }; "download": { "alias": "download"; "required": false; }; "label": { "alias": "label"; "required": false; }; "href": { "alias": "href"; "required": false; }; "target": { "alias": "target"; "required": false; }; "referrerpolicy": { "alias": "referrerpolicy"; "required": false; }; "rel": { "alias": "rel"; "required": false; }; "managePresenceObservedSlot": { "alias": "managePresenceObservedSlot"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "
|
|
61
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoMenuItem, "luzmo-menu-item", ["luzmoMenuItem"], { "abortControllerSubmenu": { "alias": "abortControllerSubmenu"; "required": false; }; "active": { "alias": "active"; "required": false; }; "focused": { "alias": "focused"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "value": { "alias": "value"; "required": false; }; "hasSubmenu": { "alias": "hasSubmenu"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "tooltipPlacement": { "alias": "tooltipPlacement"; "required": false; }; "contentSlot": { "alias": "contentSlot"; "required": false; }; "iconSlot": { "alias": "iconSlot"; "required": false; }; "noWrap": { "alias": "noWrap"; "required": false; }; "overlayElement": { "alias": "overlayElement"; "required": false; }; "open": { "alias": "open"; "required": false; }; "menuData": { "alias": "menuData"; "required": false; }; "download": { "alias": "download"; "required": false; }; "label": { "alias": "label"; "required": false; }; "href": { "alias": "href"; "required": false; }; "target": { "alias": "target"; "required": false; }; "referrerpolicy": { "alias": "referrerpolicy"; "required": false; }; "rel": { "alias": "rel"; "required": false; }; "managePresenceObservedSlot": { "alias": "managePresenceObservedSlot"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "luzmoMenuItemAddedOrUpdatedEvent": "luzmo-menu-item-added-or-updated"; "keydownEvent": "keydown"; }, never, ["*"], true, never>;
|
|
62
62
|
}
|
|
63
63
|
/** The underlying custom element type for LuzmoMenuItem */
|
|
64
64
|
export type LuzmoMenuItemElement = LuzmoMenuItemHostElement;
|
|
@@ -52,8 +52,8 @@ export class LuzmoMenuItem {
|
|
|
52
52
|
disabled;
|
|
53
53
|
/** The tab index to apply to this control. See general documentation about the tabindex HTML property */
|
|
54
54
|
tabIndex;
|
|
55
|
-
/** announces the item has been added so a parent menu can take
|
|
56
|
-
|
|
55
|
+
/** announces the item has been added or updated so a parent menu can take ownership */
|
|
56
|
+
luzmoMenuItemAddedOrUpdatedEvent = output({ alias: 'luzmo-menu-item-added-or-updated' });
|
|
57
57
|
/** Trick :focus-visible polyfill into thinking keyboard based focus */
|
|
58
58
|
keydownEvent = output({ alias: 'keydown' });
|
|
59
59
|
constructor() {
|
|
@@ -151,8 +151,8 @@ export class LuzmoMenuItem {
|
|
|
151
151
|
this.renderer.setProperty(this.host, key, value);
|
|
152
152
|
}
|
|
153
153
|
bindEvents() {
|
|
154
|
-
this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-menu-item-added', (event) => {
|
|
155
|
-
this.
|
|
154
|
+
this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-menu-item-added-or-updated', (event) => {
|
|
155
|
+
this.luzmoMenuItemAddedOrUpdatedEvent.emit(event);
|
|
156
156
|
}));
|
|
157
157
|
this.listenerCleanup.push(this.renderer.listen(this.host, 'keydown', (event) => {
|
|
158
158
|
this.keydownEvent.emit(event);
|
|
@@ -162,10 +162,10 @@ export class LuzmoMenuItem {
|
|
|
162
162
|
return this.host.focus(options);
|
|
163
163
|
}
|
|
164
164
|
static ɵfac = function LuzmoMenuItem_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoMenuItem)(); };
|
|
165
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoMenuItem, selectors: [["luzmo-menu-item"]], inputs: { abortControllerSubmenu: "abortControllerSubmenu", active: "active", focused: "focused", selected: "selected", value: "value", hasSubmenu: "hasSubmenu", tooltip: "tooltip", tooltipPlacement: "tooltipPlacement", contentSlot: "contentSlot", iconSlot: "iconSlot", noWrap: "noWrap", overlayElement: "overlayElement", open: "open", menuData: "menuData", download: "download", label: "label", href: "href", target: "target", referrerpolicy: "referrerpolicy", rel: "rel", managePresenceObservedSlot: "managePresenceObservedSlot", disabled: "disabled", tabIndex: "tabIndex" }, outputs: {
|
|
165
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoMenuItem, selectors: [["luzmo-menu-item"]], inputs: { abortControllerSubmenu: "abortControllerSubmenu", active: "active", focused: "focused", selected: "selected", value: "value", hasSubmenu: "hasSubmenu", tooltip: "tooltip", tooltipPlacement: "tooltipPlacement", contentSlot: "contentSlot", iconSlot: "iconSlot", noWrap: "noWrap", overlayElement: "overlayElement", open: "open", menuData: "menuData", download: "download", label: "label", href: "href", target: "target", referrerpolicy: "referrerpolicy", rel: "rel", managePresenceObservedSlot: "managePresenceObservedSlot", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { luzmoMenuItemAddedOrUpdatedEvent: "luzmo-menu-item-added-or-updated", keydownEvent: "keydown" }, exportAs: ["luzmoMenuItem"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoMenuItem_Template(rf, ctx) { if (rf & 1) {
|
|
166
166
|
i0.ɵɵprojectionDef();
|
|
167
167
|
i0.ɵɵprojection(0);
|
|
168
|
-
} }, encapsulation: 2
|
|
168
|
+
} }, encapsulation: 2 });
|
|
169
169
|
}
|
|
170
170
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoMenuItem, [{
|
|
171
171
|
type: Component,
|
|
@@ -245,5 +245,5 @@ export class LuzmoMenuItem {
|
|
|
245
245
|
}], tabIndex: [{
|
|
246
246
|
type: Input,
|
|
247
247
|
args: [{ alias: 'tabIndex' }]
|
|
248
|
-
}],
|
|
248
|
+
}], luzmoMenuItemAddedOrUpdatedEvent: [{ type: i0.Output, args: ["luzmo-menu-item-added-or-updated"] }], keydownEvent: [{ type: i0.Output, args: ["keydown"] }] }); })();
|
|
249
249
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoMenuItem, { className: "LuzmoMenuItem", filePath: "components/menu-item.ts", lineNumber: 22 }); })();
|
package/esm/components/menu.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
2
|
import { ControlValueAccessor } from '@angular/forms';
|
|
3
3
|
import '@luzmo/lucero/menu';
|
|
4
|
-
import type { LuzmoMenu as LuzmoMenuHostElement } from '@luzmo/lucero/menu';
|
|
4
|
+
import type { LuzmoMenu as LuzmoMenuHostElement, LuzmoMenuItem } from '@luzmo/lucero/menu';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export type { MenuChildItem, MenuItemChildren } from '@luzmo/lucero/menu';
|
|
7
7
|
export declare class LuzmoMenu implements OnChanges, ControlValueAccessor {
|
|
@@ -19,10 +19,12 @@ export declare class LuzmoMenu implements OnChanges, ControlValueAccessor {
|
|
|
19
19
|
value?: string;
|
|
20
20
|
valueSeparator?: string;
|
|
21
21
|
selected?: string[];
|
|
22
|
-
selectedItems?:
|
|
22
|
+
selectedItems?: LuzmoMenuItem[];
|
|
23
23
|
menuSlot?: unknown;
|
|
24
24
|
focusedItemIndex?: number;
|
|
25
25
|
focusInItemIndex?: number;
|
|
26
|
+
shouldSupportDragAndSelect?: boolean;
|
|
27
|
+
isScrolling?: boolean;
|
|
26
28
|
handleSubmenuClosed?: unknown;
|
|
27
29
|
handleSubmenuOpened?: unknown;
|
|
28
30
|
size?: ('xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl');
|
|
@@ -49,7 +51,7 @@ export declare class LuzmoMenu implements OnChanges, ControlValueAccessor {
|
|
|
49
51
|
setDisabledState(isDisabled: boolean): void;
|
|
50
52
|
focus({ preventScroll }: FocusOptions): void;
|
|
51
53
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoMenu, never>;
|
|
52
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoMenu, "luzmo-menu", ["luzmoMenu"], { "label": { "alias": "label"; "required": false; }; "ignore": { "alias": "ignore"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "selects": { "alias": "selects"; "required": false; }; "value": { "alias": "value"; "required": false; }; "valueSeparator": { "alias": "valueSeparator"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "selectedItems": { "alias": "selectedItems"; "required": false; }; "menuSlot": { "alias": "menuSlot"; "required": false; }; "focusedItemIndex": { "alias": "focusedItemIndex"; "required": false; }; "focusInItemIndex": { "alias": "focusInItemIndex"; "required": false; }; "handleSubmenuClosed": { "alias": "handleSubmenuClosed"; "required": false; }; "handleSubmenuOpened": { "alias": "handleSubmenuOpened"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "changeEvent": "change"; "closeEvent": "close"; }, never, ["*"], true, never>;
|
|
54
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoMenu, "luzmo-menu", ["luzmoMenu"], { "label": { "alias": "label"; "required": false; }; "ignore": { "alias": "ignore"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "selects": { "alias": "selects"; "required": false; }; "value": { "alias": "value"; "required": false; }; "valueSeparator": { "alias": "valueSeparator"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "selectedItems": { "alias": "selectedItems"; "required": false; }; "menuSlot": { "alias": "menuSlot"; "required": false; }; "focusedItemIndex": { "alias": "focusedItemIndex"; "required": false; }; "focusInItemIndex": { "alias": "focusInItemIndex"; "required": false; }; "shouldSupportDragAndSelect": { "alias": "shouldSupportDragAndSelect"; "required": false; }; "isScrolling": { "alias": "isScrolling"; "required": false; }; "handleSubmenuClosed": { "alias": "handleSubmenuClosed"; "required": false; }; "handleSubmenuOpened": { "alias": "handleSubmenuOpened"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "changeEvent": "change"; "closeEvent": "close"; }, never, ["*"], true, never>;
|
|
53
55
|
}
|
|
54
56
|
/** The underlying custom element type for LuzmoMenu */
|
|
55
57
|
export type LuzmoMenuElement = LuzmoMenuHostElement;
|
package/esm/components/menu.js
CHANGED
|
@@ -29,6 +29,8 @@ export class LuzmoMenu {
|
|
|
29
29
|
menuSlot;
|
|
30
30
|
focusedItemIndex;
|
|
31
31
|
focusInItemIndex;
|
|
32
|
+
shouldSupportDragAndSelect;
|
|
33
|
+
isScrolling;
|
|
32
34
|
handleSubmenuClosed;
|
|
33
35
|
handleSubmenuOpened;
|
|
34
36
|
size;
|
|
@@ -79,6 +81,12 @@ export class LuzmoMenu {
|
|
|
79
81
|
case 'focusInItemIndex':
|
|
80
82
|
this.setHostProperty('focusInItemIndex', changes['focusInItemIndex'].currentValue);
|
|
81
83
|
break;
|
|
84
|
+
case 'shouldSupportDragAndSelect':
|
|
85
|
+
this.setHostProperty('shouldSupportDragAndSelect', changes['shouldSupportDragAndSelect'].currentValue);
|
|
86
|
+
break;
|
|
87
|
+
case 'isScrolling':
|
|
88
|
+
this.setHostProperty('isScrolling', changes['isScrolling'].currentValue);
|
|
89
|
+
break;
|
|
82
90
|
case 'handleSubmenuClosed':
|
|
83
91
|
this.setHostProperty('handleSubmenuClosed', changes['handleSubmenuClosed'].currentValue);
|
|
84
92
|
break;
|
|
@@ -155,7 +163,7 @@ export class LuzmoMenu {
|
|
|
155
163
|
return this.host.focus({ preventScroll });
|
|
156
164
|
}
|
|
157
165
|
static ɵfac = function LuzmoMenu_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoMenu)(); };
|
|
158
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoMenu, selectors: [["luzmo-menu"]], inputs: { label: "label", ignore: "ignore", variant: "variant", selects: "selects", value: "value", valueSeparator: "valueSeparator", selected: "selected", selectedItems: "selectedItems", menuSlot: "menuSlot", focusedItemIndex: "focusedItemIndex", focusInItemIndex: "focusInItemIndex", handleSubmenuClosed: "handleSubmenuClosed", handleSubmenuOpened: "handleSubmenuOpened", size: "size" }, outputs: { changeEvent: "change", closeEvent: "close" }, exportAs: ["luzmoMenu"], features: [i0.ɵɵProvidersFeature([
|
|
166
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoMenu, selectors: [["luzmo-menu"]], inputs: { label: "label", ignore: "ignore", variant: "variant", selects: "selects", value: "value", valueSeparator: "valueSeparator", selected: "selected", selectedItems: "selectedItems", menuSlot: "menuSlot", focusedItemIndex: "focusedItemIndex", focusInItemIndex: "focusInItemIndex", shouldSupportDragAndSelect: "shouldSupportDragAndSelect", isScrolling: "isScrolling", handleSubmenuClosed: "handleSubmenuClosed", handleSubmenuOpened: "handleSubmenuOpened", size: "size" }, outputs: { changeEvent: "change", closeEvent: "close" }, exportAs: ["luzmoMenu"], features: [i0.ɵɵProvidersFeature([
|
|
159
167
|
{
|
|
160
168
|
provide: NG_VALUE_ACCESSOR,
|
|
161
169
|
useExisting: forwardRef(() => LuzmoMenu),
|
|
@@ -164,7 +172,7 @@ export class LuzmoMenu {
|
|
|
164
172
|
]), i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoMenu_Template(rf, ctx) { if (rf & 1) {
|
|
165
173
|
i0.ɵɵprojectionDef();
|
|
166
174
|
i0.ɵɵprojection(0);
|
|
167
|
-
} }, encapsulation: 2
|
|
175
|
+
} }, encapsulation: 2 });
|
|
168
176
|
}
|
|
169
177
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoMenu, [{
|
|
170
178
|
type: Component,
|
|
@@ -215,6 +223,12 @@ export class LuzmoMenu {
|
|
|
215
223
|
}], focusInItemIndex: [{
|
|
216
224
|
type: Input,
|
|
217
225
|
args: [{ alias: 'focusInItemIndex' }]
|
|
226
|
+
}], shouldSupportDragAndSelect: [{
|
|
227
|
+
type: Input,
|
|
228
|
+
args: [{ alias: 'shouldSupportDragAndSelect' }]
|
|
229
|
+
}], isScrolling: [{
|
|
230
|
+
type: Input,
|
|
231
|
+
args: [{ alias: 'isScrolling' }]
|
|
218
232
|
}], handleSubmenuClosed: [{
|
|
219
233
|
type: Input,
|
|
220
234
|
args: [{ alias: 'handleSubmenuClosed' }]
|
|
@@ -188,7 +188,7 @@ export class LuzmoMultiLanguageField {
|
|
|
188
188
|
]), i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoMultiLanguageField_Template(rf, ctx) { if (rf & 1) {
|
|
189
189
|
i0.ɵɵprojectionDef();
|
|
190
190
|
i0.ɵɵprojection(0);
|
|
191
|
-
} }, encapsulation: 2
|
|
191
|
+
} }, encapsulation: 2 });
|
|
192
192
|
}
|
|
193
193
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoMultiLanguageField, [{
|
|
194
194
|
type: Component,
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import '@luzmo/lucero/notice';
|
|
3
|
+
import type { LuzmoNotice as LuzmoNoticeHostElement, NoticeCloseDetail, NoticeLabels, NoticeVariant } from '@luzmo/lucero/notice';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export type { NoticeCloseDetail, NoticeCloseReason, NoticeLabels, NoticeVariant } from '@luzmo/lucero/notice';
|
|
6
|
+
export declare class LuzmoNotice implements OnChanges {
|
|
7
|
+
private readonly elementRef;
|
|
8
|
+
private readonly renderer;
|
|
9
|
+
private readonly destroyRef;
|
|
10
|
+
private readonly host;
|
|
11
|
+
private readonly listenerCleanup;
|
|
12
|
+
/** The underlying custom element instance. Use to call imperative methods. */
|
|
13
|
+
get nativeElement(): LuzmoNoticeHostElement;
|
|
14
|
+
/** Whether the notice is visible. */
|
|
15
|
+
open?: boolean;
|
|
16
|
+
/** The semantic appearance and live-region priority. */
|
|
17
|
+
variant?: NoticeVariant;
|
|
18
|
+
/** Whether to hide the automatic semantic icon. */
|
|
19
|
+
hideIcon?: boolean;
|
|
20
|
+
/** Whether to render a manual close control. Timed notices always render it. */
|
|
21
|
+
closeable?: boolean;
|
|
22
|
+
/** Plain-text heading fallback for the `heading` slot. */
|
|
23
|
+
heading?: string;
|
|
24
|
+
/** Plain-text description fallback for the default slot. */
|
|
25
|
+
description?: string;
|
|
26
|
+
/** Automatic-close delay in seconds. Positive values are clamped to at least six seconds; null and non-positive values disable automatic closing. Hover pauses the countdown while the pointer stays inside. The first keyboard focus latches the pause until the notice is dismissed. */
|
|
27
|
+
duration?: number | null;
|
|
28
|
+
/** Localized close-control and semantic-icon labels. */
|
|
29
|
+
labels?: NoticeLabels;
|
|
30
|
+
size?: ('xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl');
|
|
31
|
+
/** Cancelable request to close the notice. Detail contains the `manual`, `automatic`, or `programmatic` reason. */
|
|
32
|
+
readonly luzmoNoticeCloseEvent: import("@angular/core").OutputEmitterRef<CustomEvent<NoticeCloseDetail>>;
|
|
33
|
+
constructor();
|
|
34
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
35
|
+
/**
|
|
36
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
37
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
38
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
39
|
+
* undefined / null by clearing their bindings.
|
|
40
|
+
*/
|
|
41
|
+
private setHostProperty;
|
|
42
|
+
private bindEvents;
|
|
43
|
+
/** Requests closure and emits the cancelable `luzmo-notice-close` event. */
|
|
44
|
+
close(reason?: 'manual' | 'automatic' | 'programmatic'): void;
|
|
45
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoNotice, never>;
|
|
46
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoNotice, "luzmo-notice", ["luzmoNotice"], { "open": { "alias": "open"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "hideIcon": { "alias": "hideIcon"; "required": false; }; "closeable": { "alias": "closeable"; "required": false; }; "heading": { "alias": "heading"; "required": false; }; "description": { "alias": "description"; "required": false; }; "duration": { "alias": "duration"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoNoticeCloseEvent": "luzmo-notice-close"; }, never, ["*"], true, never>;
|
|
47
|
+
}
|
|
48
|
+
/** The underlying custom element type for LuzmoNotice */
|
|
49
|
+
export type LuzmoNoticeElement = LuzmoNoticeHostElement;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, output, Renderer2 } from '@angular/core';
|
|
2
|
+
import '@luzmo/lucero/notice';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const _c0 = ["*"];
|
|
5
|
+
/**
|
|
6
|
+
* An inline semantic message with optional dismissal behavior.
|
|
7
|
+
*
|
|
8
|
+
* @slot (default) - Rich description content. Replaces the `description` fallback.
|
|
9
|
+
* @slot heading - Rich heading content. Replaces the `heading` fallback.
|
|
10
|
+
* @slot icon - Icon that replaces the automatic semantic icon.
|
|
11
|
+
*/
|
|
12
|
+
export class LuzmoNotice {
|
|
13
|
+
elementRef = inject(ElementRef);
|
|
14
|
+
renderer = inject(Renderer2);
|
|
15
|
+
destroyRef = inject(DestroyRef);
|
|
16
|
+
host = this.elementRef.nativeElement;
|
|
17
|
+
listenerCleanup = [];
|
|
18
|
+
/** The underlying custom element instance. Use to call imperative methods. */
|
|
19
|
+
get nativeElement() {
|
|
20
|
+
return this.host;
|
|
21
|
+
}
|
|
22
|
+
/** Whether the notice is visible. */
|
|
23
|
+
open;
|
|
24
|
+
/** The semantic appearance and live-region priority. */
|
|
25
|
+
variant;
|
|
26
|
+
/** Whether to hide the automatic semantic icon. */
|
|
27
|
+
hideIcon;
|
|
28
|
+
/** Whether to render a manual close control. Timed notices always render it. */
|
|
29
|
+
closeable;
|
|
30
|
+
/** Plain-text heading fallback for the `heading` slot. */
|
|
31
|
+
heading;
|
|
32
|
+
/** Plain-text description fallback for the default slot. */
|
|
33
|
+
description;
|
|
34
|
+
/** Automatic-close delay in seconds. Positive values are clamped to at least six seconds; null and non-positive values disable automatic closing. Hover pauses the countdown while the pointer stays inside. The first keyboard focus latches the pause until the notice is dismissed. */
|
|
35
|
+
duration;
|
|
36
|
+
/** Localized close-control and semantic-icon labels. */
|
|
37
|
+
labels;
|
|
38
|
+
size;
|
|
39
|
+
/** Cancelable request to close the notice. Detail contains the `manual`, `automatic`, or `programmatic` reason. */
|
|
40
|
+
luzmoNoticeCloseEvent = output({ alias: 'luzmo-notice-close' });
|
|
41
|
+
constructor() {
|
|
42
|
+
this.bindEvents();
|
|
43
|
+
this.destroyRef.onDestroy(() => {
|
|
44
|
+
for (const cleanup of this.listenerCleanup) {
|
|
45
|
+
cleanup();
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
ngOnChanges(changes) {
|
|
50
|
+
for (const key of Object.keys(changes)) {
|
|
51
|
+
switch (key) {
|
|
52
|
+
case 'open':
|
|
53
|
+
this.setHostProperty('open', changes['open'].currentValue);
|
|
54
|
+
break;
|
|
55
|
+
case 'variant':
|
|
56
|
+
this.setHostProperty('variant', changes['variant'].currentValue);
|
|
57
|
+
break;
|
|
58
|
+
case 'hideIcon':
|
|
59
|
+
this.setHostProperty('hideIcon', changes['hideIcon'].currentValue);
|
|
60
|
+
break;
|
|
61
|
+
case 'closeable':
|
|
62
|
+
this.setHostProperty('closeable', changes['closeable'].currentValue);
|
|
63
|
+
break;
|
|
64
|
+
case 'heading':
|
|
65
|
+
this.setHostProperty('heading', changes['heading'].currentValue);
|
|
66
|
+
break;
|
|
67
|
+
case 'description':
|
|
68
|
+
this.setHostProperty('description', changes['description'].currentValue);
|
|
69
|
+
break;
|
|
70
|
+
case 'duration':
|
|
71
|
+
this.setHostProperty('duration', changes['duration'].currentValue);
|
|
72
|
+
break;
|
|
73
|
+
case 'labels':
|
|
74
|
+
this.setHostProperty('labels', changes['labels'].currentValue);
|
|
75
|
+
break;
|
|
76
|
+
case 'size':
|
|
77
|
+
this.setHostProperty('size', changes['size'].currentValue);
|
|
78
|
+
break;
|
|
79
|
+
default:
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
86
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
87
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
88
|
+
* undefined / null by clearing their bindings.
|
|
89
|
+
*/
|
|
90
|
+
setHostProperty(key, value) {
|
|
91
|
+
this.renderer.setProperty(this.host, key, value);
|
|
92
|
+
}
|
|
93
|
+
bindEvents() {
|
|
94
|
+
this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-notice-close', (event) => {
|
|
95
|
+
this.luzmoNoticeCloseEvent.emit(event);
|
|
96
|
+
}));
|
|
97
|
+
}
|
|
98
|
+
/** Requests closure and emits the cancelable `luzmo-notice-close` event. */
|
|
99
|
+
close(reason) {
|
|
100
|
+
return this.host.close(reason);
|
|
101
|
+
}
|
|
102
|
+
static ɵfac = function LuzmoNotice_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoNotice)(); };
|
|
103
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoNotice, selectors: [["luzmo-notice"]], inputs: { open: "open", variant: "variant", hideIcon: "hideIcon", closeable: "closeable", heading: "heading", description: "description", duration: "duration", labels: "labels", size: "size" }, outputs: { luzmoNoticeCloseEvent: "luzmo-notice-close" }, exportAs: ["luzmoNotice"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoNotice_Template(rf, ctx) { if (rf & 1) {
|
|
104
|
+
i0.ɵɵprojectionDef();
|
|
105
|
+
i0.ɵɵprojection(0);
|
|
106
|
+
} }, encapsulation: 2 });
|
|
107
|
+
}
|
|
108
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoNotice, [{
|
|
109
|
+
type: Component,
|
|
110
|
+
args: [{
|
|
111
|
+
selector: 'luzmo-notice',
|
|
112
|
+
exportAs: 'luzmoNotice',
|
|
113
|
+
standalone: true,
|
|
114
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
115
|
+
template: '<ng-content />'
|
|
116
|
+
}]
|
|
117
|
+
}], () => [], { open: [{
|
|
118
|
+
type: Input,
|
|
119
|
+
args: [{ alias: 'open' }]
|
|
120
|
+
}], variant: [{
|
|
121
|
+
type: Input,
|
|
122
|
+
args: [{ alias: 'variant' }]
|
|
123
|
+
}], hideIcon: [{
|
|
124
|
+
type: Input,
|
|
125
|
+
args: [{ alias: 'hideIcon' }]
|
|
126
|
+
}], closeable: [{
|
|
127
|
+
type: Input,
|
|
128
|
+
args: [{ alias: 'closeable' }]
|
|
129
|
+
}], heading: [{
|
|
130
|
+
type: Input,
|
|
131
|
+
args: [{ alias: 'heading' }]
|
|
132
|
+
}], description: [{
|
|
133
|
+
type: Input,
|
|
134
|
+
args: [{ alias: 'description' }]
|
|
135
|
+
}], duration: [{
|
|
136
|
+
type: Input,
|
|
137
|
+
args: [{ alias: 'duration' }]
|
|
138
|
+
}], labels: [{
|
|
139
|
+
type: Input,
|
|
140
|
+
args: [{ alias: 'labels' }]
|
|
141
|
+
}], size: [{
|
|
142
|
+
type: Input,
|
|
143
|
+
args: [{ alias: 'size' }]
|
|
144
|
+
}], luzmoNoticeCloseEvent: [{ type: i0.Output, args: ["luzmo-notice-close"] }] }); })();
|
|
145
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoNotice, { className: "LuzmoNotice", filePath: "components/notice.ts", lineNumber: 20 }); })();
|
|
@@ -293,7 +293,7 @@ export class LuzmoNumberField {
|
|
|
293
293
|
]), i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoNumberField_Template(rf, ctx) { if (rf & 1) {
|
|
294
294
|
i0.ɵɵprojectionDef();
|
|
295
295
|
i0.ɵɵprojection(0);
|
|
296
|
-
} }, encapsulation: 2
|
|
296
|
+
} }, encapsulation: 2 });
|
|
297
297
|
}
|
|
298
298
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoNumberField, [{
|
|
299
299
|
type: Component,
|