@luzmo/ngx-lucero 2.1.0 → 2.2.1

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.
Files changed (104) hide show
  1. package/README.md +14 -0
  2. package/esm/components/accordion-item.d.ts +2 -2
  3. package/esm/components/accordion-item.js +5 -5
  4. package/esm/components/action-bar.d.ts +1 -1
  5. package/esm/components/action-bar.js +3 -3
  6. package/esm/components/action-button.d.ts +2 -2
  7. package/esm/components/action-button.js +11 -12
  8. package/esm/components/action-group.d.ts +1 -1
  9. package/esm/components/action-group.js +3 -3
  10. package/esm/components/action-menu.d.ts +1 -1
  11. package/esm/components/action-menu.js +10 -11
  12. package/esm/components/avatar.d.ts +1 -1
  13. package/esm/components/avatar.js +3 -3
  14. package/esm/components/button.d.ts +1 -1
  15. package/esm/components/button.js +3 -3
  16. package/esm/components/calendar.d.ts +4 -4
  17. package/esm/components/calendar.js +14 -15
  18. package/esm/components/checkbox.d.ts +1 -1
  19. package/esm/components/checkbox.js +8 -9
  20. package/esm/components/clear-button.d.ts +1 -1
  21. package/esm/components/clear-button.js +3 -3
  22. package/esm/components/close-button.d.ts +1 -1
  23. package/esm/components/close-button.js +3 -3
  24. package/esm/components/color-area.d.ts +1 -1
  25. package/esm/components/color-area.js +4 -4
  26. package/esm/components/color-field.d.ts +1 -1
  27. package/esm/components/color-field.js +11 -12
  28. package/esm/components/color-menu.d.ts +1 -1
  29. package/esm/components/color-menu.js +4 -4
  30. package/esm/components/color-palette-group.d.ts +1 -1
  31. package/esm/components/color-palette-group.js +3 -3
  32. package/esm/components/color-palette.d.ts +1 -1
  33. package/esm/components/color-palette.js +3 -3
  34. package/esm/components/color-picker.d.ts +1 -1
  35. package/esm/components/color-picker.js +4 -4
  36. package/esm/components/color-slider.d.ts +1 -1
  37. package/esm/components/color-slider.js +10 -11
  38. package/esm/components/date-range-picker.d.ts +1 -1
  39. package/esm/components/date-range-picker.js +5 -5
  40. package/esm/components/date-time-picker.d.ts +1 -1
  41. package/esm/components/date-time-picker.js +10 -11
  42. package/esm/components/infield-button.d.ts +1 -1
  43. package/esm/components/infield-button.js +3 -3
  44. package/esm/components/menu-group.d.ts +1 -1
  45. package/esm/components/menu-group.js +9 -10
  46. package/esm/components/menu-item.d.ts +2 -2
  47. package/esm/components/menu-item.js +5 -5
  48. package/esm/components/menu.d.ts +1 -1
  49. package/esm/components/menu.js +9 -10
  50. package/esm/components/multi-language-field.d.ts +1 -1
  51. package/esm/components/multi-language-field.js +8 -9
  52. package/esm/components/notice.d.ts +2 -2
  53. package/esm/components/notice.js +4 -4
  54. package/esm/components/number-field.d.ts +1 -1
  55. package/esm/components/number-field.js +11 -12
  56. package/esm/components/option.d.ts +1 -1
  57. package/esm/components/option.js +3 -3
  58. package/esm/components/options.d.ts +5 -5
  59. package/esm/components/options.js +15 -16
  60. package/esm/components/overlay-trigger.d.ts +3 -3
  61. package/esm/components/overlay-trigger.js +6 -6
  62. package/esm/components/overlay.d.ts +4 -4
  63. package/esm/components/overlay.js +8 -8
  64. package/esm/components/picker-button.d.ts +1 -1
  65. package/esm/components/picker-button.js +3 -3
  66. package/esm/components/picker.d.ts +3 -3
  67. package/esm/components/picker.js +14 -15
  68. package/esm/components/progress-steps.d.ts +3 -3
  69. package/esm/components/progress-steps.js +6 -6
  70. package/esm/components/prompt-box.d.ts +11 -11
  71. package/esm/components/prompt-box.js +22 -22
  72. package/esm/components/question-box.d.ts +4 -4
  73. package/esm/components/question-box.js +15 -16
  74. package/esm/components/radio-group.d.ts +1 -1
  75. package/esm/components/radio-group.js +3 -3
  76. package/esm/components/radio.d.ts +1 -1
  77. package/esm/components/radio.js +9 -10
  78. package/esm/components/search.d.ts +1 -1
  79. package/esm/components/search.js +12 -13
  80. package/esm/components/select.d.ts +5 -5
  81. package/esm/components/select.js +17 -18
  82. package/esm/components/slider-handle.d.ts +1 -1
  83. package/esm/components/slider-handle.js +9 -10
  84. package/esm/components/slider.d.ts +1 -1
  85. package/esm/components/slider.js +10 -11
  86. package/esm/components/split-view.d.ts +2 -2
  87. package/esm/components/split-view.js +7 -7
  88. package/esm/components/swatch-group.d.ts +1 -1
  89. package/esm/components/swatch-group.js +3 -3
  90. package/esm/components/swatch.d.ts +1 -1
  91. package/esm/components/swatch.js +9 -10
  92. package/esm/components/switch.d.ts +1 -1
  93. package/esm/components/switch.js +9 -10
  94. package/esm/components/tabs.d.ts +1 -1
  95. package/esm/components/tabs.js +4 -4
  96. package/esm/components/tag.d.ts +2 -2
  97. package/esm/components/tag.js +4 -4
  98. package/esm/components/text-field.d.ts +1 -1
  99. package/esm/components/text-field.js +11 -12
  100. package/esm/components/toast.d.ts +1 -1
  101. package/esm/components/toast.js +3 -3
  102. package/esm/components/top-nav.d.ts +1 -1
  103. package/esm/components/top-nav.js +4 -4
  104. package/package.json +2 -2
@@ -49,7 +49,7 @@ export declare class LuzmoInfieldButton implements OnChanges {
49
49
  private bindEvents;
50
50
  focus(options?: FocusOptions): void;
51
51
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoInfieldButton, never>;
52
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoInfieldButton, "luzmo-infield-button", ["luzmoInfieldButton"], { "block": { "alias": "block"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "quiet": { "alias": "quiet"; "required": false; }; "size": { "alias": "size"; "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; }; "active": { "alias": "active"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "keydownEvent": "keydown"; }, never, ["*"], true, never>;
52
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoInfieldButton, "luzmo-infield-button", ["luzmoInfieldButton"], { "block": { "alias": "block"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "quiet": { "alias": "quiet"; "required": false; }; "size": { "alias": "size"; "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; }; "active": { "alias": "active"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "keydownEvent": "keydownEvent"; }, never, ["*"], true, never>;
53
53
  }
54
54
  /** The underlying custom element type for LuzmoInfieldButton */
55
55
  export type LuzmoInfieldButtonElement = LuzmoInfieldButtonHostElement;
@@ -44,7 +44,7 @@ export class LuzmoInfieldButton {
44
44
  /** The tab index to apply to this control. See general documentation about the tabindex HTML property */
45
45
  tabIndex;
46
46
  /** Trick :focus-visible polyfill into thinking keyboard based focus */
47
- keydownEvent = output({ alias: 'keydown' });
47
+ keydownEvent = output();
48
48
  constructor() {
49
49
  this.bindEvents();
50
50
  this.destroyRef.onDestroy(() => {
@@ -121,7 +121,7 @@ export class LuzmoInfieldButton {
121
121
  return this.host.focus(options);
122
122
  }
123
123
  static ɵfac = function LuzmoInfieldButton_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoInfieldButton)(); };
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) {
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: "keydownEvent" }, 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
127
  } }, encapsulation: 2 });
@@ -177,5 +177,5 @@ export class LuzmoInfieldButton {
177
177
  }], tabIndex: [{
178
178
  type: Input,
179
179
  args: [{ alias: 'tabIndex' }]
180
- }], keydownEvent: [{ type: i0.Output, args: ["keydown"] }] }); })();
180
+ }], keydownEvent: [{ type: i0.Output, args: ["keydownEvent"] }] }); })();
181
181
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoInfieldButton, { className: "LuzmoInfieldButton", filePath: "components/infield-button.ts", lineNumber: 18 }); })();
@@ -51,7 +51,7 @@ export declare class LuzmoMenuGroup implements OnChanges, ControlValueAccessor {
51
51
  setDisabledState(isDisabled: boolean): void;
52
52
  focus({ preventScroll }: FocusOptions): void;
53
53
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoMenuGroup, 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>;
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": "changeEvent"; "closeEvent": "closeEvent"; }, never, ["*"], true, never>;
55
55
  }
56
56
  /** The underlying custom element type for LuzmoMenuGroup */
57
57
  export type LuzmoMenuGroupElement = LuzmoMenuGroupHostElement;
@@ -36,8 +36,8 @@ export class LuzmoMenuGroup {
36
36
  handleSubmenuClosed;
37
37
  handleSubmenuOpened;
38
38
  /** Announces that the `value` of the element has changed */
39
- changeEvent = output({ alias: 'change' });
40
- closeEvent = output({ alias: 'close' });
39
+ changeEvent = output();
40
+ closeEvent = output();
41
41
  constructor() {
42
42
  this.bindEvents();
43
43
  this.destroyRef.onDestroy(() => {
@@ -113,7 +113,6 @@ export class LuzmoMenuGroup {
113
113
  }
114
114
  bindEvents() {
115
115
  this.listenerCleanup.push(this.renderer.listen(this.host, 'change', (event) => {
116
- this.changeEvent.emit(event);
117
116
  if (!this.isWritingValue) {
118
117
  const eventWithDetail = event;
119
118
  const eventTarget = event.target;
@@ -125,13 +124,13 @@ export class LuzmoMenuGroup {
125
124
  : (detailRecord === undefined ? detail : undefined)
126
125
  ?? eventTarget?.['value']
127
126
  ?? hostRecord['value']);
128
- if (Object.is(this.lastCvaValue, nextValue)) {
129
- return;
127
+ if (!Object.is(this.lastCvaValue, nextValue)) {
128
+ this.lastCvaValue = nextValue;
129
+ this.setHostProperty('value', nextValue);
130
+ this.onChange(nextValue);
130
131
  }
131
- this.lastCvaValue = nextValue;
132
- this.setHostProperty('value', nextValue);
133
- this.onChange(nextValue);
134
132
  }
133
+ this.changeEvent.emit(event);
135
134
  }));
136
135
  this.listenerCleanup.push(this.renderer.listen(this.host, 'close', (event) => {
137
136
  this.closeEvent.emit(event);
@@ -164,7 +163,7 @@ export class LuzmoMenuGroup {
164
163
  return this.host.focus({ preventScroll });
165
164
  }
166
165
  static ɵfac = function LuzmoMenuGroup_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoMenuGroup)(); };
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([
166
+ 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: "changeEvent", closeEvent: "closeEvent" }, exportAs: ["luzmoMenuGroup"], features: [i0.ɵɵProvidersFeature([
168
167
  {
169
168
  provide: NG_VALUE_ACCESSOR,
170
169
  useExisting: forwardRef(() => LuzmoMenuGroup),
@@ -239,5 +238,5 @@ export class LuzmoMenuGroup {
239
238
  }], handleSubmenuOpened: [{
240
239
  type: Input,
241
240
  args: [{ alias: 'handleSubmenuOpened' }]
242
- }], changeEvent: [{ type: i0.Output, args: ["change"] }], closeEvent: [{ type: i0.Output, args: ["close"] }] }); })();
241
+ }], changeEvent: [{ type: i0.Output, args: ["changeEvent"] }], closeEvent: [{ type: i0.Output, args: ["closeEvent"] }] }); })();
243
242
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoMenuGroup, { className: "LuzmoMenuGroup", filePath: "components/menu-group.ts", lineNumber: 27 }); })();
@@ -43,7 +43,7 @@ export declare class LuzmoMenuItem implements OnChanges {
43
43
  /** The tab index to apply to this control. See general documentation about the tabindex HTML property */
44
44
  tabIndex?: number;
45
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>>;
46
+ readonly luzmoMenuItemAddedOrUpdated: 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; }; }, { "luzmoMenuItemAddedOrUpdatedEvent": "luzmo-menu-item-added-or-updated"; "keydownEvent": "keydown"; }, never, ["*"], true, 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; }; }, { "luzmoMenuItemAddedOrUpdated": "luzmo-menu-item-added-or-updated"; "keydownEvent": "keydownEvent"; }, never, ["*"], true, never>;
62
62
  }
63
63
  /** The underlying custom element type for LuzmoMenuItem */
64
64
  export type LuzmoMenuItemElement = LuzmoMenuItemHostElement;
@@ -53,9 +53,9 @@ export class LuzmoMenuItem {
53
53
  /** The tab index to apply to this control. See general documentation about the tabindex HTML property */
54
54
  tabIndex;
55
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' });
56
+ luzmoMenuItemAddedOrUpdated = output({ alias: 'luzmo-menu-item-added-or-updated' });
57
57
  /** Trick :focus-visible polyfill into thinking keyboard based focus */
58
- keydownEvent = output({ alias: 'keydown' });
58
+ keydownEvent = output();
59
59
  constructor() {
60
60
  this.bindEvents();
61
61
  this.destroyRef.onDestroy(() => {
@@ -152,7 +152,7 @@ export class LuzmoMenuItem {
152
152
  }
153
153
  bindEvents() {
154
154
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-menu-item-added-or-updated', (event) => {
155
- this.luzmoMenuItemAddedOrUpdatedEvent.emit(event);
155
+ this.luzmoMenuItemAddedOrUpdated.emit(event);
156
156
  }));
157
157
  this.listenerCleanup.push(this.renderer.listen(this.host, 'keydown', (event) => {
158
158
  this.keydownEvent.emit(event);
@@ -162,7 +162,7 @@ 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: { 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) {
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: { luzmoMenuItemAddedOrUpdated: "luzmo-menu-item-added-or-updated", keydownEvent: "keydownEvent" }, 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
168
  } }, encapsulation: 2 });
@@ -245,5 +245,5 @@ export class LuzmoMenuItem {
245
245
  }], tabIndex: [{
246
246
  type: Input,
247
247
  args: [{ alias: 'tabIndex' }]
248
- }], luzmoMenuItemAddedOrUpdatedEvent: [{ type: i0.Output, args: ["luzmo-menu-item-added-or-updated"] }], keydownEvent: [{ type: i0.Output, args: ["keydown"] }] }); })();
248
+ }], luzmoMenuItemAddedOrUpdated: [{ type: i0.Output, args: ["luzmo-menu-item-added-or-updated"] }], keydownEvent: [{ type: i0.Output, args: ["keydownEvent"] }] }); })();
249
249
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoMenuItem, { className: "LuzmoMenuItem", filePath: "components/menu-item.ts", lineNumber: 22 }); })();
@@ -51,7 +51,7 @@ export declare class LuzmoMenu implements OnChanges, ControlValueAccessor {
51
51
  setDisabledState(isDisabled: boolean): void;
52
52
  focus({ preventScroll }: FocusOptions): void;
53
53
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoMenu, 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>;
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": "changeEvent"; "closeEvent": "closeEvent"; }, never, ["*"], true, never>;
55
55
  }
56
56
  /** The underlying custom element type for LuzmoMenu */
57
57
  export type LuzmoMenuElement = LuzmoMenuHostElement;
@@ -35,8 +35,8 @@ export class LuzmoMenu {
35
35
  handleSubmenuOpened;
36
36
  size;
37
37
  /** Announces that the `value` of the element has changed */
38
- changeEvent = output({ alias: 'change' });
39
- closeEvent = output({ alias: 'close' });
38
+ changeEvent = output();
39
+ closeEvent = output();
40
40
  constructor() {
41
41
  this.bindEvents();
42
42
  this.destroyRef.onDestroy(() => {
@@ -112,7 +112,6 @@ export class LuzmoMenu {
112
112
  }
113
113
  bindEvents() {
114
114
  this.listenerCleanup.push(this.renderer.listen(this.host, 'change', (event) => {
115
- this.changeEvent.emit(event);
116
115
  if (!this.isWritingValue) {
117
116
  const eventWithDetail = event;
118
117
  const eventTarget = event.target;
@@ -124,13 +123,13 @@ export class LuzmoMenu {
124
123
  : (detailRecord === undefined ? detail : undefined)
125
124
  ?? eventTarget?.['value']
126
125
  ?? hostRecord['value']);
127
- if (Object.is(this.lastCvaValue, nextValue)) {
128
- return;
126
+ if (!Object.is(this.lastCvaValue, nextValue)) {
127
+ this.lastCvaValue = nextValue;
128
+ this.setHostProperty('value', nextValue);
129
+ this.onChange(nextValue);
129
130
  }
130
- this.lastCvaValue = nextValue;
131
- this.setHostProperty('value', nextValue);
132
- this.onChange(nextValue);
133
131
  }
132
+ this.changeEvent.emit(event);
134
133
  }));
135
134
  this.listenerCleanup.push(this.renderer.listen(this.host, 'close', (event) => {
136
135
  this.closeEvent.emit(event);
@@ -163,7 +162,7 @@ export class LuzmoMenu {
163
162
  return this.host.focus({ preventScroll });
164
163
  }
165
164
  static ɵfac = function LuzmoMenu_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoMenu)(); };
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([
165
+ 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: "changeEvent", closeEvent: "closeEvent" }, exportAs: ["luzmoMenu"], features: [i0.ɵɵProvidersFeature([
167
166
  {
168
167
  provide: NG_VALUE_ACCESSOR,
169
168
  useExisting: forwardRef(() => LuzmoMenu),
@@ -238,5 +237,5 @@ export class LuzmoMenu {
238
237
  }], size: [{
239
238
  type: Input,
240
239
  args: [{ alias: 'size' }]
241
- }], changeEvent: [{ type: i0.Output, args: ["change"] }], closeEvent: [{ type: i0.Output, args: ["close"] }] }); })();
240
+ }], changeEvent: [{ type: i0.Output, args: ["changeEvent"] }], closeEvent: [{ type: i0.Output, args: ["closeEvent"] }] }); })();
242
241
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoMenu, { className: "LuzmoMenu", filePath: "components/menu.ts", lineNumber: 26 }); })();
@@ -53,7 +53,7 @@ export declare class LuzmoMultiLanguageField implements OnChanges, ControlValueA
53
53
  registerOnTouched(fn: () => void): void;
54
54
  setDisabledState(isDisabled: boolean): void;
55
55
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoMultiLanguageField, never>;
56
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoMultiLanguageField, "luzmo-multi-language-field", ["luzmoMultiLanguageField"], { "label": { "alias": "label"; "required": false; }; "allowedKeys": { "alias": "allowedKeys"; "required": false; }; "name": { "alias": "name"; "required": false; }; "i18nPlaceholder": { "alias": "i18nPlaceholder"; "required": false; }; "type": { "alias": "type"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "grows": { "alias": "grows"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "multiline": { "alias": "multiline"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "quiet": { "alias": "quiet"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "language": { "alias": "language"; "required": false; }; "defaultLanguage": { "alias": "defaultLanguage"; "required": false; }; "value": { "alias": "value"; "required": false; }; "helpTextManager": { "alias": "helpTextManager"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "changeEvent": "change"; }, never, ["*"], true, never>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoMultiLanguageField, "luzmo-multi-language-field", ["luzmoMultiLanguageField"], { "label": { "alias": "label"; "required": false; }; "allowedKeys": { "alias": "allowedKeys"; "required": false; }; "name": { "alias": "name"; "required": false; }; "i18nPlaceholder": { "alias": "i18nPlaceholder"; "required": false; }; "type": { "alias": "type"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "grows": { "alias": "grows"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "multiline": { "alias": "multiline"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "quiet": { "alias": "quiet"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "language": { "alias": "language"; "required": false; }; "defaultLanguage": { "alias": "defaultLanguage"; "required": false; }; "value": { "alias": "value"; "required": false; }; "helpTextManager": { "alias": "helpTextManager"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "changeEvent": "changeEvent"; }, never, ["*"], true, never>;
57
57
  }
58
58
  /** The underlying custom element type for LuzmoMultiLanguageField */
59
59
  export type LuzmoMultiLanguageFieldElement = LuzmoMultiLangFieldHostElement;
@@ -38,7 +38,7 @@ export class LuzmoMultiLanguageField {
38
38
  helpTextManager;
39
39
  size;
40
40
  /** An change of the i18n value happened by the user */
41
- changeEvent = output({ alias: 'change' });
41
+ changeEvent = output();
42
42
  constructor() {
43
43
  this.bindEvents();
44
44
  this.destroyRef.onDestroy(() => {
@@ -129,7 +129,6 @@ export class LuzmoMultiLanguageField {
129
129
  }
130
130
  bindEvents() {
131
131
  this.listenerCleanup.push(this.renderer.listen(this.host, 'change', (event) => {
132
- this.changeEvent.emit(event);
133
132
  if (!this.isWritingValue) {
134
133
  const eventWithDetail = event;
135
134
  const eventTarget = event.target;
@@ -141,13 +140,13 @@ export class LuzmoMultiLanguageField {
141
140
  : (detailRecord === undefined ? detail : undefined)
142
141
  ?? eventTarget?.['value']
143
142
  ?? hostRecord['value']);
144
- if (Object.is(this.lastCvaValue, nextValue)) {
145
- return;
143
+ if (!Object.is(this.lastCvaValue, nextValue)) {
144
+ this.lastCvaValue = nextValue;
145
+ this.setHostProperty('value', nextValue);
146
+ this.onChange(nextValue);
146
147
  }
147
- this.lastCvaValue = nextValue;
148
- this.setHostProperty('value', nextValue);
149
- this.onChange(nextValue);
150
148
  }
149
+ this.changeEvent.emit(event);
151
150
  }));
152
151
  this.listenerCleanup.push(this.renderer.listen(this.host, 'blur', () => {
153
152
  this.onTouched();
@@ -179,7 +178,7 @@ export class LuzmoMultiLanguageField {
179
178
  }
180
179
  }
181
180
  static ɵfac = function LuzmoMultiLanguageField_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoMultiLanguageField)(); };
182
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoMultiLanguageField, selectors: [["luzmo-multi-language-field"]], inputs: { label: "label", allowedKeys: "allowedKeys", name: "name", i18nPlaceholder: "i18nPlaceholder", type: "type", pattern: "pattern", grows: "grows", maxlength: "maxlength", minlength: "minlength", multiline: "multiline", rows: "rows", quiet: "quiet", disabled: "disabled", required: "required", readonly: "readonly", autocomplete: "autocomplete", language: "language", defaultLanguage: "defaultLanguage", value: "value", helpTextManager: "helpTextManager", size: "size" }, outputs: { changeEvent: "change" }, exportAs: ["luzmoMultiLanguageField"], features: [i0.ɵɵProvidersFeature([
181
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoMultiLanguageField, selectors: [["luzmo-multi-language-field"]], inputs: { label: "label", allowedKeys: "allowedKeys", name: "name", i18nPlaceholder: "i18nPlaceholder", type: "type", pattern: "pattern", grows: "grows", maxlength: "maxlength", minlength: "minlength", multiline: "multiline", rows: "rows", quiet: "quiet", disabled: "disabled", required: "required", readonly: "readonly", autocomplete: "autocomplete", language: "language", defaultLanguage: "defaultLanguage", value: "value", helpTextManager: "helpTextManager", size: "size" }, outputs: { changeEvent: "changeEvent" }, exportAs: ["luzmoMultiLanguageField"], features: [i0.ɵɵProvidersFeature([
183
182
  {
184
183
  provide: NG_VALUE_ACCESSOR,
185
184
  useExisting: forwardRef(() => LuzmoMultiLanguageField),
@@ -269,5 +268,5 @@ export class LuzmoMultiLanguageField {
269
268
  }], size: [{
270
269
  type: Input,
271
270
  args: [{ alias: 'size' }]
272
- }], changeEvent: [{ type: i0.Output, args: ["change"] }] }); })();
271
+ }], changeEvent: [{ type: i0.Output, args: ["changeEvent"] }] }); })();
273
272
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoMultiLanguageField, { className: "LuzmoMultiLanguageField", filePath: "components/multi-language-field.ts", lineNumber: 23 }); })();
@@ -29,7 +29,7 @@ export declare class LuzmoNotice implements OnChanges {
29
29
  labels?: NoticeLabels;
30
30
  size?: ('xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl');
31
31
  /** Cancelable request to close the notice. Detail contains the `manual`, `automatic`, or `programmatic` reason. */
32
- readonly luzmoNoticeCloseEvent: import("@angular/core").OutputEmitterRef<CustomEvent<NoticeCloseDetail>>;
32
+ readonly luzmoNoticeClose: import("@angular/core").OutputEmitterRef<CustomEvent<NoticeCloseDetail>>;
33
33
  constructor();
34
34
  ngOnChanges(changes: SimpleChanges): void;
35
35
  /**
@@ -43,7 +43,7 @@ export declare class LuzmoNotice implements OnChanges {
43
43
  /** Requests closure and emits the cancelable `luzmo-notice-close` event. */
44
44
  close(reason?: 'manual' | 'automatic' | 'programmatic'): void;
45
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>;
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; }; }, { "luzmoNoticeClose": "luzmo-notice-close"; }, never, ["*"], true, never>;
47
47
  }
48
48
  /** The underlying custom element type for LuzmoNotice */
49
49
  export type LuzmoNoticeElement = LuzmoNoticeHostElement;
@@ -37,7 +37,7 @@ export class LuzmoNotice {
37
37
  labels;
38
38
  size;
39
39
  /** Cancelable request to close the notice. Detail contains the `manual`, `automatic`, or `programmatic` reason. */
40
- luzmoNoticeCloseEvent = output({ alias: 'luzmo-notice-close' });
40
+ luzmoNoticeClose = output({ alias: 'luzmo-notice-close' });
41
41
  constructor() {
42
42
  this.bindEvents();
43
43
  this.destroyRef.onDestroy(() => {
@@ -92,7 +92,7 @@ export class LuzmoNotice {
92
92
  }
93
93
  bindEvents() {
94
94
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-notice-close', (event) => {
95
- this.luzmoNoticeCloseEvent.emit(event);
95
+ this.luzmoNoticeClose.emit(event);
96
96
  }));
97
97
  }
98
98
  /** Requests closure and emits the cancelable `luzmo-notice-close` event. */
@@ -100,7 +100,7 @@ export class LuzmoNotice {
100
100
  return this.host.close(reason);
101
101
  }
102
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) {
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: { luzmoNoticeClose: "luzmo-notice-close" }, exportAs: ["luzmoNotice"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoNotice_Template(rf, ctx) { if (rf & 1) {
104
104
  i0.ɵɵprojectionDef();
105
105
  i0.ɵɵprojection(0);
106
106
  } }, encapsulation: 2 });
@@ -141,5 +141,5 @@ export class LuzmoNotice {
141
141
  }], size: [{
142
142
  type: Input,
143
143
  args: [{ alias: 'size' }]
144
- }], luzmoNoticeCloseEvent: [{ type: i0.Output, args: ["luzmo-notice-close"] }] }); })();
144
+ }], luzmoNoticeClose: [{ type: i0.Output, args: ["luzmo-notice-close"] }] }); })();
145
145
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoNotice, { className: "LuzmoNotice", filePath: "components/notice.ts", lineNumber: 20 }); })();
@@ -105,7 +105,7 @@ export declare class LuzmoNumberField implements OnChanges, ControlValueAccessor
105
105
  checkValidity(): boolean;
106
106
  focus(options?: FocusOptions): void;
107
107
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoNumberField, never>;
108
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoNumberField, "luzmo-number-field", ["luzmoNumberField"], { "formatOptions": { "alias": "formatOptions"; "required": false; }; "hideStepper": { "alias": "hideStepper"; "required": false; }; "grows": { "alias": "grows"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; "keyboardFocused": { "alias": "keyboardFocused"; "required": false; }; "max": { "alias": "max"; "required": false; }; "min": { "alias": "min"; "required": false; }; "step": { "alias": "step"; "required": false; }; "stepModifier": { "alias": "stepModifier"; "required": false; }; "value": { "alias": "value"; "required": false; }; "helpTextManager": { "alias": "helpTextManager"; "required": false; }; "size": { "alias": "size"; "required": false; }; "allowedKeys": { "alias": "allowedKeys"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "label": { "alias": "label"; "required": false; }; "name": { "alias": "name"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "type": { "alias": "type"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "multiline": { "alias": "multiline"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "maxRows": { "alias": "maxRows"; "required": false; }; "valid": { "alias": "valid"; "required": false; }; "hideValidationIcons": { "alias": "hideValidationIcons"; "required": false; }; "quiet": { "alias": "quiet"; "required": false; }; "required": { "alias": "required"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "changeEvent": "change"; "inputEvent": "input"; "keypressEvent": "keypress"; "keydownEvent": "keydown"; }, never, ["*"], true, never>;
108
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoNumberField, "luzmo-number-field", ["luzmoNumberField"], { "formatOptions": { "alias": "formatOptions"; "required": false; }; "hideStepper": { "alias": "hideStepper"; "required": false; }; "grows": { "alias": "grows"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; "keyboardFocused": { "alias": "keyboardFocused"; "required": false; }; "max": { "alias": "max"; "required": false; }; "min": { "alias": "min"; "required": false; }; "step": { "alias": "step"; "required": false; }; "stepModifier": { "alias": "stepModifier"; "required": false; }; "value": { "alias": "value"; "required": false; }; "helpTextManager": { "alias": "helpTextManager"; "required": false; }; "size": { "alias": "size"; "required": false; }; "allowedKeys": { "alias": "allowedKeys"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "label": { "alias": "label"; "required": false; }; "name": { "alias": "name"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "type": { "alias": "type"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "multiline": { "alias": "multiline"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "maxRows": { "alias": "maxRows"; "required": false; }; "valid": { "alias": "valid"; "required": false; }; "hideValidationIcons": { "alias": "hideValidationIcons"; "required": false; }; "quiet": { "alias": "quiet"; "required": false; }; "required": { "alias": "required"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "changeEvent": "changeEvent"; "inputEvent": "inputEvent"; "keypressEvent": "keypressEvent"; "keydownEvent": "keydownEvent"; }, never, ["*"], true, never>;
109
109
  }
110
110
  /** The underlying custom element type for LuzmoNumberField */
111
111
  export type LuzmoNumberFieldElement = LuzmoNumberFieldHostElement;
@@ -81,13 +81,13 @@ export class LuzmoNumberField {
81
81
  /** The tab index to apply to this control. See general documentation about the tabindex HTML property */
82
82
  tabIndex;
83
83
  /** An alteration to the value of the element has been committed by the user. */
84
- changeEvent = output({ alias: 'change' });
84
+ changeEvent = output();
85
85
  /** The value of the element has changed. */
86
- inputEvent = output({ alias: 'input' });
86
+ inputEvent = output();
87
87
  /** A key has been pressed. */
88
- keypressEvent = output({ alias: 'keypress' });
88
+ keypressEvent = output();
89
89
  /** Trick :focus-visible polyfill into thinking keyboard based focus */
90
- keydownEvent = output({ alias: 'keydown' });
90
+ keydownEvent = output();
91
91
  constructor() {
92
92
  this.bindEvents();
93
93
  this.destroyRef.onDestroy(() => {
@@ -211,7 +211,6 @@ export class LuzmoNumberField {
211
211
  }
212
212
  bindEvents() {
213
213
  this.listenerCleanup.push(this.renderer.listen(this.host, 'change', (event) => {
214
- this.changeEvent.emit(event);
215
214
  if (!this.isWritingValue) {
216
215
  const eventWithDetail = event;
217
216
  const eventTarget = event.target;
@@ -223,13 +222,13 @@ export class LuzmoNumberField {
223
222
  : (detailRecord === undefined ? detail : undefined)
224
223
  ?? eventTarget?.['value']
225
224
  ?? hostRecord['value']);
226
- if (Object.is(this.lastCvaValue, nextValue)) {
227
- return;
225
+ if (!Object.is(this.lastCvaValue, nextValue)) {
226
+ this.lastCvaValue = nextValue;
227
+ this.setHostProperty('value', nextValue);
228
+ this.onChange(nextValue);
228
229
  }
229
- this.lastCvaValue = nextValue;
230
- this.setHostProperty('value', nextValue);
231
- this.onChange(nextValue);
232
230
  }
231
+ this.changeEvent.emit(event);
233
232
  }));
234
233
  this.listenerCleanup.push(this.renderer.listen(this.host, 'input', (event) => {
235
234
  this.inputEvent.emit(event);
@@ -284,7 +283,7 @@ export class LuzmoNumberField {
284
283
  return this.host.focus(options);
285
284
  }
286
285
  static ɵfac = function LuzmoNumberField_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoNumberField)(); };
287
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoNumberField, selectors: [["luzmo-number-field"]], inputs: { formatOptions: "formatOptions", hideStepper: "hideStepper", grows: "grows", indeterminate: "indeterminate", keyboardFocused: "keyboardFocused", max: "max", min: "min", step: "step", stepModifier: "stepModifier", value: "value", helpTextManager: "helpTextManager", size: "size", allowedKeys: "allowedKeys", invalid: "invalid", label: "label", name: "name", placeholder: "placeholder", type: "type", pattern: "pattern", maxlength: "maxlength", minlength: "minlength", multiline: "multiline", readonly: "readonly", rows: "rows", maxRows: "maxRows", valid: "valid", hideValidationIcons: "hideValidationIcons", quiet: "quiet", required: "required", autocomplete: "autocomplete", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { changeEvent: "change", inputEvent: "input", keypressEvent: "keypress", keydownEvent: "keydown" }, exportAs: ["luzmoNumberField"], features: [i0.ɵɵProvidersFeature([
286
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoNumberField, selectors: [["luzmo-number-field"]], inputs: { formatOptions: "formatOptions", hideStepper: "hideStepper", grows: "grows", indeterminate: "indeterminate", keyboardFocused: "keyboardFocused", max: "max", min: "min", step: "step", stepModifier: "stepModifier", value: "value", helpTextManager: "helpTextManager", size: "size", allowedKeys: "allowedKeys", invalid: "invalid", label: "label", name: "name", placeholder: "placeholder", type: "type", pattern: "pattern", maxlength: "maxlength", minlength: "minlength", multiline: "multiline", readonly: "readonly", rows: "rows", maxRows: "maxRows", valid: "valid", hideValidationIcons: "hideValidationIcons", quiet: "quiet", required: "required", autocomplete: "autocomplete", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { changeEvent: "changeEvent", inputEvent: "inputEvent", keypressEvent: "keypressEvent", keydownEvent: "keydownEvent" }, exportAs: ["luzmoNumberField"], features: [i0.ɵɵProvidersFeature([
288
287
  {
289
288
  provide: NG_VALUE_ACCESSOR,
290
289
  useExisting: forwardRef(() => LuzmoNumberField),
@@ -407,5 +406,5 @@ export class LuzmoNumberField {
407
406
  }], tabIndex: [{
408
407
  type: Input,
409
408
  args: [{ alias: 'tabIndex' }]
410
- }], changeEvent: [{ type: i0.Output, args: ["change"] }], inputEvent: [{ type: i0.Output, args: ["input"] }], keypressEvent: [{ type: i0.Output, args: ["keypress"] }], keydownEvent: [{ type: i0.Output, args: ["keydown"] }] }); })();
409
+ }], changeEvent: [{ type: i0.Output, args: ["changeEvent"] }], inputEvent: [{ type: i0.Output, args: ["inputEvent"] }], keypressEvent: [{ type: i0.Output, args: ["keypressEvent"] }], keydownEvent: [{ type: i0.Output, args: ["keydownEvent"] }] }); })();
411
410
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoNumberField, { className: "LuzmoNumberField", filePath: "components/number-field.ts", lineNumber: 26 }); })();
@@ -60,7 +60,7 @@ export declare class LuzmoOption implements OnChanges {
60
60
  private bindEvents;
61
61
  focus(options?: FocusOptions): void;
62
62
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoOption, never>;
63
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoOption, "luzmo-option", ["luzmoOption"], { "active": { "alias": "active"; "required": false; }; "focused": { "alias": "focused"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "emphasized": { "alias": "emphasized"; "required": false; }; "expandable": { "alias": "expandable"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "childOption": { "alias": "childOption"; "required": false; }; "hasSelectedChild": { "alias": "hasSelectedChild"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "value": { "alias": "value"; "required": false; }; "contentSlot": { "alias": "contentSlot"; "required": false; }; "iconSlot": { "alias": "iconSlot"; "required": false; }; "noWrap": { "alias": "noWrap"; "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; }; }, { "keydownEvent": "keydown"; }, never, ["*"], true, never>;
63
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoOption, "luzmo-option", ["luzmoOption"], { "active": { "alias": "active"; "required": false; }; "focused": { "alias": "focused"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "emphasized": { "alias": "emphasized"; "required": false; }; "expandable": { "alias": "expandable"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "childOption": { "alias": "childOption"; "required": false; }; "hasSelectedChild": { "alias": "hasSelectedChild"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "value": { "alias": "value"; "required": false; }; "contentSlot": { "alias": "contentSlot"; "required": false; }; "iconSlot": { "alias": "iconSlot"; "required": false; }; "noWrap": { "alias": "noWrap"; "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; }; }, { "keydownEvent": "keydownEvent"; }, never, ["*"], true, never>;
64
64
  }
65
65
  /** The underlying custom element type for LuzmoOption */
66
66
  export type LuzmoOptionElement = LuzmoOptionHostElement;
@@ -56,7 +56,7 @@ export class LuzmoOption {
56
56
  /** The tab index to apply to this control. See general documentation about the tabindex HTML property */
57
57
  tabIndex;
58
58
  /** Trick :focus-visible polyfill into thinking keyboard based focus */
59
- keydownEvent = output({ alias: 'keydown' });
59
+ keydownEvent = output();
60
60
  constructor() {
61
61
  this.bindEvents();
62
62
  this.destroyRef.onDestroy(() => {
@@ -157,7 +157,7 @@ export class LuzmoOption {
157
157
  return this.host.focus(options);
158
158
  }
159
159
  static ɵfac = function LuzmoOption_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoOption)(); };
160
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoOption, selectors: [["luzmo-option"]], inputs: { active: "active", focused: "focused", selected: "selected", emphasized: "emphasized", expandable: "expandable", expanded: "expanded", childOption: "childOption", hasSelectedChild: "hasSelectedChild", variant: "variant", value: "value", contentSlot: "contentSlot", iconSlot: "iconSlot", noWrap: "noWrap", download: "download", label: "label", href: "href", target: "target", referrerpolicy: "referrerpolicy", rel: "rel", managePresenceObservedSlot: "managePresenceObservedSlot", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { keydownEvent: "keydown" }, exportAs: ["luzmoOption"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoOption_Template(rf, ctx) { if (rf & 1) {
160
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoOption, selectors: [["luzmo-option"]], inputs: { active: "active", focused: "focused", selected: "selected", emphasized: "emphasized", expandable: "expandable", expanded: "expanded", childOption: "childOption", hasSelectedChild: "hasSelectedChild", variant: "variant", value: "value", contentSlot: "contentSlot", iconSlot: "iconSlot", noWrap: "noWrap", download: "download", label: "label", href: "href", target: "target", referrerpolicy: "referrerpolicy", rel: "rel", managePresenceObservedSlot: "managePresenceObservedSlot", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { keydownEvent: "keydownEvent" }, exportAs: ["luzmoOption"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoOption_Template(rf, ctx) { if (rf & 1) {
161
161
  i0.ɵɵprojectionDef();
162
162
  i0.ɵɵprojection(0);
163
163
  } }, encapsulation: 2 });
@@ -237,5 +237,5 @@ export class LuzmoOption {
237
237
  }], tabIndex: [{
238
238
  type: Input,
239
239
  args: [{ alias: 'tabIndex' }]
240
- }], keydownEvent: [{ type: i0.Output, args: ["keydown"] }] }); })();
240
+ }], keydownEvent: [{ type: i0.Output, args: ["keydownEvent"] }] }); })();
241
241
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoOption, { className: "LuzmoOption", filePath: "components/option.ts", lineNumber: 21 }); })();
@@ -17,7 +17,7 @@ export declare class LuzmoOptions implements OnChanges, ControlValueAccessor {
17
17
  selects?: 'single' | 'multiple';
18
18
  emphasized?: boolean;
19
19
  pending?: boolean;
20
- /** options - The options to be listed in the options menu OptionValue is an object with the following properties: - label: string - value: string | number | null - disabled: boolean - divider: boolean - icon: IconDefinition - imgSrc: string - shortcut: string (leaf options only) */
20
+ /** options - The options to be listed in the options menu OptionValue is an object with the following properties: - label: string - value: string | number | null - disabled: boolean - divider: boolean - header: boolean - icon: IconDefinition - imgSrc: string - shortcut: string (leaf options only) */
21
21
  options?: OptionValue[];
22
22
  noWrap?: boolean;
23
23
  /** value - The value of the selected options */
@@ -26,13 +26,13 @@ export declare class LuzmoOptions implements OnChanges, ControlValueAccessor {
26
26
  optionIconRenderer?: OptionIconRenderer;
27
27
  size?: ('xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl');
28
28
  /** Announces that the user has scrolled within the options menu. Only fires when the options menu is virtualized. */
29
- readonly luzmoScrolledEvent: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
29
+ readonly luzmoScrolled: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
30
30
  /** Announces that the `value` of the element has changed */
31
31
  readonly changeEvent: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
32
32
  /** Announces that the `arrowUp` key has been pressed and the top of the options menu has been exceeded */
33
- readonly luzmoExceededTopEvent: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
33
+ readonly luzmoExceededTop: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
34
34
  /** Announces that the `arrowDown` key has been pressed and the bottom of the options menu has been exceeded */
35
- readonly luzmoExceededBottomEvent: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
35
+ readonly luzmoExceededBottom: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
36
36
  constructor();
37
37
  ngOnChanges(changes: SimpleChanges): void;
38
38
  /**
@@ -54,7 +54,7 @@ export declare class LuzmoOptions implements OnChanges, ControlValueAccessor {
54
54
  focus({ preventScroll }: FocusOptions): void;
55
55
  scrollToTop(): void;
56
56
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoOptions, never>;
57
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoOptions, "luzmo-options", ["luzmoOptions"], { "label": { "alias": "label"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "selects": { "alias": "selects"; "required": false; }; "emphasized": { "alias": "emphasized"; "required": false; }; "pending": { "alias": "pending"; "required": false; }; "options": { "alias": "options"; "required": false; }; "noWrap": { "alias": "noWrap"; "required": false; }; "value": { "alias": "value"; "required": false; }; "optionIconRenderer": { "alias": "optionIconRenderer"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoScrolledEvent": "luzmo-scrolled"; "changeEvent": "change"; "luzmoExceededTopEvent": "luzmo-exceeded-top"; "luzmoExceededBottomEvent": "luzmo-exceeded-bottom"; }, never, ["*"], true, never>;
57
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoOptions, "luzmo-options", ["luzmoOptions"], { "label": { "alias": "label"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "selects": { "alias": "selects"; "required": false; }; "emphasized": { "alias": "emphasized"; "required": false; }; "pending": { "alias": "pending"; "required": false; }; "options": { "alias": "options"; "required": false; }; "noWrap": { "alias": "noWrap"; "required": false; }; "value": { "alias": "value"; "required": false; }; "optionIconRenderer": { "alias": "optionIconRenderer"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoScrolled": "luzmo-scrolled"; "changeEvent": "changeEvent"; "luzmoExceededTop": "luzmo-exceeded-top"; "luzmoExceededBottom": "luzmo-exceeded-bottom"; }, never, ["*"], true, never>;
58
58
  }
59
59
  /** The underlying custom element type for LuzmoOptions */
60
60
  export type LuzmoOptionsElement = LuzmoOptionsHostElement;