@luzmo/ngx-lucero 2.1.0 → 2.2.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.
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
@@ -69,25 +69,25 @@ export class LuzmoPromptBox {
69
69
  segments;
70
70
  size;
71
71
  /** Fired when the prompt is submitted. */
72
- luzmoSubmitEvent = output({ alias: 'luzmo-submit' });
72
+ luzmoSubmit = output({ alias: 'luzmo-submit' });
73
73
  /** Fired when the stop button is clicked. */
74
- luzmoStopEvent = output({ alias: 'luzmo-stop' });
74
+ luzmoStop = output({ alias: 'luzmo-stop' });
75
75
  /** Fired when a trigger menu opens, closes, or the search string changes. */
76
- luzmoTriggerChangeEvent = output({ alias: 'luzmo-trigger-change' });
76
+ luzmoTriggerChange = output({ alias: 'luzmo-trigger-change' });
77
77
  /** Fired when an inline element badge is inserted. */
78
- luzmoElementInsertedEvent = output({ alias: 'luzmo-element-inserted' });
78
+ luzmoElementInserted = output({ alias: 'luzmo-element-inserted' });
79
79
  /** Fired when an inline element badge is removed. */
80
- luzmoElementRemovedEvent = output({ alias: 'luzmo-element-removed' });
80
+ luzmoElementRemoved = output({ alias: 'luzmo-element-removed' });
81
81
  /** Fired when attachments change. */
82
- luzmoAttachmentsChangeEvent = output({ alias: 'luzmo-attachments-change' });
82
+ luzmoAttachmentsChange = output({ alias: 'luzmo-attachments-change' });
83
83
  /** Fired when recording state changes. */
84
- luzmoRecordEvent = output({ alias: 'luzmo-record' });
84
+ luzmoRecord = output({ alias: 'luzmo-record' });
85
85
  /** Fired when recording finishes. */
86
- luzmoRecordingCompleteEvent = output({ alias: 'luzmo-recording-complete' });
86
+ luzmoRecordingComplete = output({ alias: 'luzmo-recording-complete' });
87
87
  /** Fired when recording is cancelled. */
88
- luzmoRecordCancelEvent = output({ alias: 'luzmo-record-cancel' });
88
+ luzmoRecordCancel = output({ alias: 'luzmo-record-cancel' });
89
89
  /** Fired when recording errors. */
90
- luzmoRecordErrorEvent = output({ alias: 'luzmo-record-error' });
90
+ luzmoRecordError = output({ alias: 'luzmo-record-error' });
91
91
  constructor() {
92
92
  this.bindEvents();
93
93
  this.destroyRef.onDestroy(() => {
@@ -187,34 +187,34 @@ export class LuzmoPromptBox {
187
187
  }
188
188
  bindEvents() {
189
189
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-submit', (event) => {
190
- this.luzmoSubmitEvent.emit(event);
190
+ this.luzmoSubmit.emit(event);
191
191
  }));
192
192
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-stop', (event) => {
193
- this.luzmoStopEvent.emit(event);
193
+ this.luzmoStop.emit(event);
194
194
  }));
195
195
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-trigger-change', (event) => {
196
- this.luzmoTriggerChangeEvent.emit(event);
196
+ this.luzmoTriggerChange.emit(event);
197
197
  }));
198
198
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-element-inserted', (event) => {
199
- this.luzmoElementInsertedEvent.emit(event);
199
+ this.luzmoElementInserted.emit(event);
200
200
  }));
201
201
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-element-removed', (event) => {
202
- this.luzmoElementRemovedEvent.emit(event);
202
+ this.luzmoElementRemoved.emit(event);
203
203
  }));
204
204
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-attachments-change', (event) => {
205
- this.luzmoAttachmentsChangeEvent.emit(event);
205
+ this.luzmoAttachmentsChange.emit(event);
206
206
  }));
207
207
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-record', (event) => {
208
- this.luzmoRecordEvent.emit(event);
208
+ this.luzmoRecord.emit(event);
209
209
  }));
210
210
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-recording-complete', (event) => {
211
- this.luzmoRecordingCompleteEvent.emit(event);
211
+ this.luzmoRecordingComplete.emit(event);
212
212
  }));
213
213
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-record-cancel', (event) => {
214
- this.luzmoRecordCancelEvent.emit(event);
214
+ this.luzmoRecordCancel.emit(event);
215
215
  }));
216
216
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-record-error', (event) => {
217
- this.luzmoRecordErrorEvent.emit(event);
217
+ this.luzmoRecordError.emit(event);
218
218
  }));
219
219
  }
220
220
  focus() {
@@ -227,7 +227,7 @@ export class LuzmoPromptBox {
227
227
  return this.host.submit();
228
228
  }
229
229
  static ɵfac = function LuzmoPromptBox_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoPromptBox)(); };
230
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoPromptBox, selectors: [["luzmo-prompt-box"]], inputs: { rows: "rows", grows: "grows", maxRows: "maxRows", recording: "recording", hideSubmit: "hideSubmit", disableSubmit: "disableSubmit", singleLine: "singleLine", placeholder: "placeholder", value: "value", disabled: "disabled", readonly: "readonly", maxlength: "maxlength", pending: "pending", stoppable: "stoppable", allowImages: "allowImages", allowFiles: "allowFiles", acceptedFileTypes: "acceptedFileTypes", fileIcons: "fileIcons", removeAttachmentLabel: "removeAttachmentLabel", allowElements: "allowElements", acceptedElementTypes: "acceptedElementTypes", triggers: "triggers", segments: "segments", size: "size" }, outputs: { luzmoSubmitEvent: "luzmo-submit", luzmoStopEvent: "luzmo-stop", luzmoTriggerChangeEvent: "luzmo-trigger-change", luzmoElementInsertedEvent: "luzmo-element-inserted", luzmoElementRemovedEvent: "luzmo-element-removed", luzmoAttachmentsChangeEvent: "luzmo-attachments-change", luzmoRecordEvent: "luzmo-record", luzmoRecordingCompleteEvent: "luzmo-recording-complete", luzmoRecordCancelEvent: "luzmo-record-cancel", luzmoRecordErrorEvent: "luzmo-record-error" }, exportAs: ["luzmoPromptBox"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoPromptBox_Template(rf, ctx) { if (rf & 1) {
230
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoPromptBox, selectors: [["luzmo-prompt-box"]], inputs: { rows: "rows", grows: "grows", maxRows: "maxRows", recording: "recording", hideSubmit: "hideSubmit", disableSubmit: "disableSubmit", singleLine: "singleLine", placeholder: "placeholder", value: "value", disabled: "disabled", readonly: "readonly", maxlength: "maxlength", pending: "pending", stoppable: "stoppable", allowImages: "allowImages", allowFiles: "allowFiles", acceptedFileTypes: "acceptedFileTypes", fileIcons: "fileIcons", removeAttachmentLabel: "removeAttachmentLabel", allowElements: "allowElements", acceptedElementTypes: "acceptedElementTypes", triggers: "triggers", segments: "segments", size: "size" }, outputs: { luzmoSubmit: "luzmo-submit", luzmoStop: "luzmo-stop", luzmoTriggerChange: "luzmo-trigger-change", luzmoElementInserted: "luzmo-element-inserted", luzmoElementRemoved: "luzmo-element-removed", luzmoAttachmentsChange: "luzmo-attachments-change", luzmoRecord: "luzmo-record", luzmoRecordingComplete: "luzmo-recording-complete", luzmoRecordCancel: "luzmo-record-cancel", luzmoRecordError: "luzmo-record-error" }, exportAs: ["luzmoPromptBox"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoPromptBox_Template(rf, ctx) { if (rf & 1) {
231
231
  i0.ɵɵprojectionDef();
232
232
  i0.ɵɵprojection(0);
233
233
  } }, encapsulation: 2 });
@@ -313,5 +313,5 @@ export class LuzmoPromptBox {
313
313
  }], size: [{
314
314
  type: Input,
315
315
  args: [{ alias: 'size' }]
316
- }], luzmoSubmitEvent: [{ type: i0.Output, args: ["luzmo-submit"] }], luzmoStopEvent: [{ type: i0.Output, args: ["luzmo-stop"] }], luzmoTriggerChangeEvent: [{ type: i0.Output, args: ["luzmo-trigger-change"] }], luzmoElementInsertedEvent: [{ type: i0.Output, args: ["luzmo-element-inserted"] }], luzmoElementRemovedEvent: [{ type: i0.Output, args: ["luzmo-element-removed"] }], luzmoAttachmentsChangeEvent: [{ type: i0.Output, args: ["luzmo-attachments-change"] }], luzmoRecordEvent: [{ type: i0.Output, args: ["luzmo-record"] }], luzmoRecordingCompleteEvent: [{ type: i0.Output, args: ["luzmo-recording-complete"] }], luzmoRecordCancelEvent: [{ type: i0.Output, args: ["luzmo-record-cancel"] }], luzmoRecordErrorEvent: [{ type: i0.Output, args: ["luzmo-record-error"] }] }); })();
316
+ }], luzmoSubmit: [{ type: i0.Output, args: ["luzmo-submit"] }], luzmoStop: [{ type: i0.Output, args: ["luzmo-stop"] }], luzmoTriggerChange: [{ type: i0.Output, args: ["luzmo-trigger-change"] }], luzmoElementInserted: [{ type: i0.Output, args: ["luzmo-element-inserted"] }], luzmoElementRemoved: [{ type: i0.Output, args: ["luzmo-element-removed"] }], luzmoAttachmentsChange: [{ type: i0.Output, args: ["luzmo-attachments-change"] }], luzmoRecord: [{ type: i0.Output, args: ["luzmo-record"] }], luzmoRecordingComplete: [{ type: i0.Output, args: ["luzmo-recording-complete"] }], luzmoRecordCancel: [{ type: i0.Output, args: ["luzmo-record-cancel"] }], luzmoRecordError: [{ type: i0.Output, args: ["luzmo-record-error"] }] }); })();
317
317
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoPromptBox, { className: "LuzmoPromptBox", filePath: "components/prompt-box.ts", lineNumber: 23 }); })();
@@ -38,11 +38,11 @@ export declare class LuzmoQuestionBox implements OnChanges, ControlValueAccessor
38
38
  /** An answer was committed by the user. */
39
39
  readonly changeEvent: import("@angular/core").OutputEmitterRef<Event>;
40
40
  /** The user accepted. `detail.action` is `accept`. */
41
- readonly luzmoSubmitEvent: import("@angular/core").OutputEmitterRef<CustomEvent<QuestionBoxResultDetail>>;
41
+ readonly luzmoSubmit: import("@angular/core").OutputEmitterRef<CustomEvent<QuestionBoxResultDetail>>;
42
42
  /** The user explicitly skipped the request. `detail.action` is `decline`. */
43
- readonly luzmoDeclineEvent: import("@angular/core").OutputEmitterRef<CustomEvent<QuestionBoxResultDetail>>;
43
+ readonly luzmoDecline: import("@angular/core").OutputEmitterRef<CustomEvent<QuestionBoxResultDetail>>;
44
44
  /** The user dismissed the interaction (Close, Escape, or `cancel()`). `detail.action` is `cancel`. */
45
- readonly luzmoCancelEvent: import("@angular/core").OutputEmitterRef<CustomEvent<QuestionBoxResultDetail>>;
45
+ readonly luzmoCancel: import("@angular/core").OutputEmitterRef<CustomEvent<QuestionBoxResultDetail>>;
46
46
  constructor();
47
47
  ngOnChanges(changes: SimpleChanges): void;
48
48
  /**
@@ -72,7 +72,7 @@ export declare class LuzmoQuestionBox implements OnChanges, ControlValueAccessor
72
72
  /** Dismisses the interaction and emits `luzmo-cancel`. */
73
73
  cancel(): void;
74
74
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoQuestionBox, never>;
75
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoQuestionBox, "luzmo-question-box", ["luzmoQuestionBox"], { "questions": { "alias": "questions"; "required": false; }; "value": { "alias": "value"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "hideClose": { "alias": "hideClose"; "required": false; }; "hideSkip": { "alias": "hideSkip"; "required": false; }; "showChange": { "alias": "showChange"; "required": false; }; "optionIndicator": { "alias": "optionIndicator"; "required": false; }; "size": { "alias": "size"; "required": false; }; "dir": { "alias": "dir"; "required": false; }; }, { "inputEvent": "input"; "changeEvent": "change"; "luzmoSubmitEvent": "luzmo-submit"; "luzmoDeclineEvent": "luzmo-decline"; "luzmoCancelEvent": "luzmo-cancel"; }, never, ["*"], true, never>;
75
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoQuestionBox, "luzmo-question-box", ["luzmoQuestionBox"], { "questions": { "alias": "questions"; "required": false; }; "value": { "alias": "value"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "hideClose": { "alias": "hideClose"; "required": false; }; "hideSkip": { "alias": "hideSkip"; "required": false; }; "showChange": { "alias": "showChange"; "required": false; }; "optionIndicator": { "alias": "optionIndicator"; "required": false; }; "size": { "alias": "size"; "required": false; }; "dir": { "alias": "dir"; "required": false; }; }, { "inputEvent": "inputEvent"; "changeEvent": "changeEvent"; "luzmoSubmit": "luzmo-submit"; "luzmoDecline": "luzmo-decline"; "luzmoCancel": "luzmo-cancel"; }, never, ["*"], true, never>;
76
76
  }
77
77
  /** The underlying custom element type for LuzmoQuestionBox */
78
78
  export type LuzmoQuestionBoxElement = LuzmoQuestionBoxHostElement;
@@ -38,15 +38,15 @@ export class LuzmoQuestionBox {
38
38
  /** Writing direction (`ltr` or `rtl`) propagated to composed controls. */
39
39
  dir;
40
40
  /** The in-progress answer value changed. */
41
- inputEvent = output({ alias: 'input' });
41
+ inputEvent = output();
42
42
  /** An answer was committed by the user. */
43
- changeEvent = output({ alias: 'change' });
43
+ changeEvent = output();
44
44
  /** The user accepted. `detail.action` is `accept`. */
45
- luzmoSubmitEvent = output({ alias: 'luzmo-submit' });
45
+ luzmoSubmit = output({ alias: 'luzmo-submit' });
46
46
  /** The user explicitly skipped the request. `detail.action` is `decline`. */
47
- luzmoDeclineEvent = output({ alias: 'luzmo-decline' });
47
+ luzmoDecline = output({ alias: 'luzmo-decline' });
48
48
  /** The user dismissed the interaction (Close, Escape, or `cancel()`). `detail.action` is `cancel`. */
49
- luzmoCancelEvent = output({ alias: 'luzmo-cancel' });
49
+ luzmoCancel = output({ alias: 'luzmo-cancel' });
50
50
  constructor() {
51
51
  this.bindEvents();
52
52
  this.destroyRef.onDestroy(() => {
@@ -107,7 +107,6 @@ export class LuzmoQuestionBox {
107
107
  }
108
108
  bindEvents() {
109
109
  this.listenerCleanup.push(this.renderer.listen(this.host, 'input', (event) => {
110
- this.inputEvent.emit(event);
111
110
  if (!this.isWritingValue) {
112
111
  const eventWithDetail = event;
113
112
  const eventTarget = event.target;
@@ -119,25 +118,25 @@ export class LuzmoQuestionBox {
119
118
  : (detailRecord === undefined ? detail : undefined)
120
119
  ?? eventTarget?.['value']
121
120
  ?? hostRecord['value']);
122
- if (Object.is(this.lastCvaValue, nextValue)) {
123
- return;
121
+ if (!Object.is(this.lastCvaValue, nextValue)) {
122
+ this.lastCvaValue = nextValue;
123
+ this.setHostProperty('value', nextValue);
124
+ this.onChange(nextValue);
124
125
  }
125
- this.lastCvaValue = nextValue;
126
- this.setHostProperty('value', nextValue);
127
- this.onChange(nextValue);
128
126
  }
127
+ this.inputEvent.emit(event);
129
128
  }));
130
129
  this.listenerCleanup.push(this.renderer.listen(this.host, 'change', (event) => {
131
130
  this.changeEvent.emit(event);
132
131
  }));
133
132
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-submit', (event) => {
134
- this.luzmoSubmitEvent.emit(event);
133
+ this.luzmoSubmit.emit(event);
135
134
  }));
136
135
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-decline', (event) => {
137
- this.luzmoDeclineEvent.emit(event);
136
+ this.luzmoDecline.emit(event);
138
137
  }));
139
138
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-cancel', (event) => {
140
- this.luzmoCancelEvent.emit(event);
139
+ this.luzmoCancel.emit(event);
141
140
  }));
142
141
  this.listenerCleanup.push(this.renderer.listen(this.host, 'blur', () => {
143
142
  this.onTouched();
@@ -189,7 +188,7 @@ export class LuzmoQuestionBox {
189
188
  return this.host.cancel();
190
189
  }
191
190
  static ɵfac = function LuzmoQuestionBox_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoQuestionBox)(); };
192
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoQuestionBox, selectors: [["luzmo-question-box"]], inputs: { questions: "questions", value: "value", labels: "labels", disabled: "disabled", readonly: "readonly", hideClose: "hideClose", hideSkip: "hideSkip", showChange: "showChange", optionIndicator: "optionIndicator", size: "size", dir: "dir" }, outputs: { inputEvent: "input", changeEvent: "change", luzmoSubmitEvent: "luzmo-submit", luzmoDeclineEvent: "luzmo-decline", luzmoCancelEvent: "luzmo-cancel" }, exportAs: ["luzmoQuestionBox"], features: [i0.ɵɵProvidersFeature([
191
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoQuestionBox, selectors: [["luzmo-question-box"]], inputs: { questions: "questions", value: "value", labels: "labels", disabled: "disabled", readonly: "readonly", hideClose: "hideClose", hideSkip: "hideSkip", showChange: "showChange", optionIndicator: "optionIndicator", size: "size", dir: "dir" }, outputs: { inputEvent: "inputEvent", changeEvent: "changeEvent", luzmoSubmit: "luzmo-submit", luzmoDecline: "luzmo-decline", luzmoCancel: "luzmo-cancel" }, exportAs: ["luzmoQuestionBox"], features: [i0.ɵɵProvidersFeature([
193
192
  {
194
193
  provide: NG_VALUE_ACCESSOR,
195
194
  useExisting: forwardRef(() => LuzmoQuestionBox),
@@ -249,5 +248,5 @@ export class LuzmoQuestionBox {
249
248
  }], dir: [{
250
249
  type: Input,
251
250
  args: [{ alias: 'dir' }]
252
- }], inputEvent: [{ type: i0.Output, args: ["input"] }], changeEvent: [{ type: i0.Output, args: ["change"] }], luzmoSubmitEvent: [{ type: i0.Output, args: ["luzmo-submit"] }], luzmoDeclineEvent: [{ type: i0.Output, args: ["luzmo-decline"] }], luzmoCancelEvent: [{ type: i0.Output, args: ["luzmo-cancel"] }] }); })();
251
+ }], inputEvent: [{ type: i0.Output, args: ["inputEvent"] }], changeEvent: [{ type: i0.Output, args: ["changeEvent"] }], luzmoSubmit: [{ type: i0.Output, args: ["luzmo-submit"] }], luzmoDecline: [{ type: i0.Output, args: ["luzmo-decline"] }], luzmoCancel: [{ type: i0.Output, args: ["luzmo-cancel"] }] }); })();
253
252
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoQuestionBox, { className: "LuzmoQuestionBox", filePath: "components/question-box.ts", lineNumber: 24 }); })();
@@ -34,7 +34,7 @@ export declare class LuzmoRadioGroup implements OnChanges {
34
34
  private bindEvents;
35
35
  focus(): void;
36
36
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoRadioGroup, never>;
37
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoRadioGroup, "luzmo-radio-group", ["luzmoRadioGroup"], { "name": { "alias": "name"; "required": false; }; "manualSelection": { "alias": "manualSelection"; "required": false; }; "rovingTabindexController": { "alias": "rovingTabindexController"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "helpTextManager": { "alias": "helpTextManager"; "required": false; }; "horizontal": { "alias": "horizontal"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "label": { "alias": "label"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; }, { "changeEvent": "change"; }, never, ["*"], true, never>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoRadioGroup, "luzmo-radio-group", ["luzmoRadioGroup"], { "name": { "alias": "name"; "required": false; }; "manualSelection": { "alias": "manualSelection"; "required": false; }; "rovingTabindexController": { "alias": "rovingTabindexController"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "helpTextManager": { "alias": "helpTextManager"; "required": false; }; "horizontal": { "alias": "horizontal"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "label": { "alias": "label"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; }, { "changeEvent": "changeEvent"; }, never, ["*"], true, never>;
38
38
  }
39
39
  /** The underlying custom element type for LuzmoRadioGroup */
40
40
  export type LuzmoRadioGroupElement = LuzmoRadioGroupHostElement;
@@ -30,7 +30,7 @@ export class LuzmoRadioGroup {
30
30
  label;
31
31
  vertical;
32
32
  /** An alteration to the value of the element has been committed by the user. */
33
- changeEvent = output({ alias: 'change' });
33
+ changeEvent = output();
34
34
  constructor() {
35
35
  this.bindEvents();
36
36
  this.destroyRef.onDestroy(() => {
@@ -92,7 +92,7 @@ export class LuzmoRadioGroup {
92
92
  return this.host.focus();
93
93
  }
94
94
  static ɵfac = function LuzmoRadioGroup_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoRadioGroup)(); };
95
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoRadioGroup, selectors: [["luzmo-radio-group"]], inputs: { name: "name", manualSelection: "manualSelection", rovingTabindexController: "rovingTabindexController", selected: "selected", helpTextManager: "helpTextManager", horizontal: "horizontal", invalid: "invalid", label: "label", vertical: "vertical" }, outputs: { changeEvent: "change" }, exportAs: ["luzmoRadioGroup"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoRadioGroup_Template(rf, ctx) { if (rf & 1) {
95
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoRadioGroup, selectors: [["luzmo-radio-group"]], inputs: { name: "name", manualSelection: "manualSelection", rovingTabindexController: "rovingTabindexController", selected: "selected", helpTextManager: "helpTextManager", horizontal: "horizontal", invalid: "invalid", label: "label", vertical: "vertical" }, outputs: { changeEvent: "changeEvent" }, exportAs: ["luzmoRadioGroup"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoRadioGroup_Template(rf, ctx) { if (rf & 1) {
96
96
  i0.ɵɵprojectionDef();
97
97
  i0.ɵɵprojection(0);
98
98
  } }, encapsulation: 2 });
@@ -133,5 +133,5 @@ export class LuzmoRadioGroup {
133
133
  }], vertical: [{
134
134
  type: Input,
135
135
  args: [{ alias: 'vertical' }]
136
- }], changeEvent: [{ type: i0.Output, args: ["change"] }] }); })();
136
+ }], changeEvent: [{ type: i0.Output, args: ["changeEvent"] }] }); })();
137
137
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoRadioGroup, { className: "LuzmoRadioGroup", filePath: "components/radio-group.ts", lineNumber: 19 }); })();
@@ -41,7 +41,7 @@ export declare class LuzmoRadio implements OnChanges, ControlValueAccessor {
41
41
  registerOnTouched(fn: () => void): void;
42
42
  setDisabledState(isDisabled: boolean): void;
43
43
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoRadio, never>;
44
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoRadio, "luzmo-radio", ["luzmoRadio"], { "value": { "alias": "value"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "emphasized": { "alias": "emphasized"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "keydownEvent": "keydown"; "changeEvent": "change"; }, never, ["*"], true, never>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoRadio, "luzmo-radio", ["luzmoRadio"], { "value": { "alias": "value"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "emphasized": { "alias": "emphasized"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "keydownEvent": "keydownEvent"; "changeEvent": "changeEvent"; }, never, ["*"], true, never>;
45
45
  }
46
46
  /** The underlying custom element type for LuzmoRadio */
47
47
  export type LuzmoRadioElement = LuzmoRadioHostElement;
@@ -27,9 +27,9 @@ export class LuzmoRadio {
27
27
  readonly;
28
28
  size;
29
29
  /** Trick :focus-visible polyfill into thinking keyboard based focus */
30
- keydownEvent = output({ alias: 'keydown' });
30
+ keydownEvent = output();
31
31
  /** The checked value was committed by the user. */
32
- changeEvent = output({ alias: 'change' });
32
+ changeEvent = output();
33
33
  constructor() {
34
34
  this.bindEvents();
35
35
  this.destroyRef.onDestroy(() => {
@@ -81,7 +81,6 @@ export class LuzmoRadio {
81
81
  this.keydownEvent.emit(event);
82
82
  }));
83
83
  this.listenerCleanup.push(this.renderer.listen(this.host, 'change', (event) => {
84
- this.changeEvent.emit(event);
85
84
  if (!this.isWritingValue) {
86
85
  const eventWithDetail = event;
87
86
  const eventTarget = event.target;
@@ -93,13 +92,13 @@ export class LuzmoRadio {
93
92
  : (detailRecord === undefined ? detail : undefined)
94
93
  ?? eventTarget?.['value']
95
94
  ?? hostRecord['value']);
96
- if (Object.is(this.lastCvaValue, nextValue)) {
97
- return;
95
+ if (!Object.is(this.lastCvaValue, nextValue)) {
96
+ this.lastCvaValue = nextValue;
97
+ this.setHostProperty('value', nextValue);
98
+ this.onChange(nextValue);
98
99
  }
99
- this.lastCvaValue = nextValue;
100
- this.setHostProperty('value', nextValue);
101
- this.onChange(nextValue);
102
100
  }
101
+ this.changeEvent.emit(event);
103
102
  }));
104
103
  this.listenerCleanup.push(this.renderer.listen(this.host, 'blur', () => {
105
104
  this.onTouched();
@@ -131,7 +130,7 @@ export class LuzmoRadio {
131
130
  }
132
131
  }
133
132
  static ɵfac = function LuzmoRadio_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoRadio)(); };
134
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoRadio, selectors: [["luzmo-radio"]], inputs: { value: "value", checked: "checked", disabled: "disabled", emphasized: "emphasized", invalid: "invalid", readonly: "readonly", size: "size" }, outputs: { keydownEvent: "keydown", changeEvent: "change" }, exportAs: ["luzmoRadio"], features: [i0.ɵɵProvidersFeature([
133
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoRadio, selectors: [["luzmo-radio"]], inputs: { value: "value", checked: "checked", disabled: "disabled", emphasized: "emphasized", invalid: "invalid", readonly: "readonly", size: "size" }, outputs: { keydownEvent: "keydownEvent", changeEvent: "changeEvent" }, exportAs: ["luzmoRadio"], features: [i0.ɵɵProvidersFeature([
135
134
  {
136
135
  provide: NG_VALUE_ACCESSOR,
137
136
  useExisting: forwardRef(() => LuzmoRadio),
@@ -179,5 +178,5 @@ export class LuzmoRadio {
179
178
  }], size: [{
180
179
  type: Input,
181
180
  args: [{ alias: 'size' }]
182
- }], keydownEvent: [{ type: i0.Output, args: ["keydown"] }], changeEvent: [{ type: i0.Output, args: ["change"] }] }); })();
181
+ }], keydownEvent: [{ type: i0.Output, args: ["keydownEvent"] }], changeEvent: [{ type: i0.Output, args: ["changeEvent"] }] }); })();
183
182
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoRadio, { className: "LuzmoRadio", filePath: "components/radio.ts", lineNumber: 26 }); })();
@@ -98,7 +98,7 @@ export declare class LuzmoSearch implements OnChanges, ControlValueAccessor {
98
98
  checkValidity(): boolean;
99
99
  focus(options?: FocusOptions): void;
100
100
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoSearch, never>;
101
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoSearch, "luzmo-search", ["luzmoSearch"], { "action": { "alias": "action"; "required": false; }; "label": { "alias": "label"; "required": false; }; "border": { "alias": "border"; "required": false; }; "method": { "alias": "method"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "hideIcon": { "alias": "hideIcon"; "required": false; }; "holdValueOnEscape": { "alias": "holdValueOnEscape"; "required": false; }; "form": { "alias": "form"; "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; }; "name": { "alias": "name"; "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; }; "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; }; }, { "submitEvent": "submit"; "changeEvent": "change"; "inputEvent": "input"; "keypressEvent": "keypress"; "keydownEvent": "keydown"; }, never, ["*"], true, never>;
101
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoSearch, "luzmo-search", ["luzmoSearch"], { "action": { "alias": "action"; "required": false; }; "label": { "alias": "label"; "required": false; }; "border": { "alias": "border"; "required": false; }; "method": { "alias": "method"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "hideIcon": { "alias": "hideIcon"; "required": false; }; "holdValueOnEscape": { "alias": "holdValueOnEscape"; "required": false; }; "form": { "alias": "form"; "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; }; "name": { "alias": "name"; "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; }; "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; }; }, { "submitEvent": "submitEvent"; "changeEvent": "changeEvent"; "inputEvent": "inputEvent"; "keypressEvent": "keypressEvent"; "keydownEvent": "keydownEvent"; }, never, ["*"], true, never>;
102
102
  }
103
103
  /** The underlying custom element type for LuzmoSearch */
104
104
  export type LuzmoSearchElement = LuzmoSearchHostElement;
@@ -71,15 +71,15 @@ export class LuzmoSearch {
71
71
  /** The tab index to apply to this control. See general documentation about the tabindex HTML property */
72
72
  tabIndex;
73
73
  /** The search form has been submitted. */
74
- submitEvent = output({ alias: 'submit' });
74
+ submitEvent = output();
75
75
  /** An alteration to the value of the element has been committed by the user. */
76
- changeEvent = output({ alias: 'change' });
76
+ changeEvent = output();
77
77
  /** The value of the element has changed. */
78
- inputEvent = output({ alias: 'input' });
78
+ inputEvent = output();
79
79
  /** A key has been pressed. */
80
- keypressEvent = output({ alias: 'keypress' });
80
+ keypressEvent = output();
81
81
  /** Trick :focus-visible polyfill into thinking keyboard based focus */
82
- keydownEvent = output({ alias: 'keydown' });
82
+ keydownEvent = output();
83
83
  constructor() {
84
84
  this.bindEvents();
85
85
  this.destroyRef.onDestroy(() => {
@@ -200,7 +200,6 @@ export class LuzmoSearch {
200
200
  this.submitEvent.emit(event);
201
201
  }));
202
202
  this.listenerCleanup.push(this.renderer.listen(this.host, 'change', (event) => {
203
- this.changeEvent.emit(event);
204
203
  if (!this.isWritingValue) {
205
204
  const eventWithDetail = event;
206
205
  const eventTarget = event.target;
@@ -212,13 +211,13 @@ export class LuzmoSearch {
212
211
  : (detailRecord === undefined ? detail : undefined)
213
212
  ?? eventTarget?.['value']
214
213
  ?? hostRecord['value']);
215
- if (Object.is(this.lastCvaValue, nextValue)) {
216
- return;
214
+ if (!Object.is(this.lastCvaValue, nextValue)) {
215
+ this.lastCvaValue = nextValue;
216
+ this.setHostProperty('value', nextValue);
217
+ this.onChange(nextValue);
217
218
  }
218
- this.lastCvaValue = nextValue;
219
- this.setHostProperty('value', nextValue);
220
- this.onChange(nextValue);
221
219
  }
220
+ this.changeEvent.emit(event);
222
221
  }));
223
222
  this.listenerCleanup.push(this.renderer.listen(this.host, 'input', (event) => {
224
223
  this.inputEvent.emit(event);
@@ -276,7 +275,7 @@ export class LuzmoSearch {
276
275
  return this.host.focus(options);
277
276
  }
278
277
  static ɵfac = function LuzmoSearch_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoSearch)(); };
279
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoSearch, selectors: [["luzmo-search"]], inputs: { action: "action", label: "label", border: "border", method: "method", placeholder: "placeholder", hideIcon: "hideIcon", holdValueOnEscape: "holdValueOnEscape", form: "form", value: "value", helpTextManager: "helpTextManager", size: "size", allowedKeys: "allowedKeys", invalid: "invalid", name: "name", type: "type", pattern: "pattern", grows: "grows", 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: { submitEvent: "submit", changeEvent: "change", inputEvent: "input", keypressEvent: "keypress", keydownEvent: "keydown" }, exportAs: ["luzmoSearch"], features: [i0.ɵɵProvidersFeature([
278
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoSearch, selectors: [["luzmo-search"]], inputs: { action: "action", label: "label", border: "border", method: "method", placeholder: "placeholder", hideIcon: "hideIcon", holdValueOnEscape: "holdValueOnEscape", form: "form", value: "value", helpTextManager: "helpTextManager", size: "size", allowedKeys: "allowedKeys", invalid: "invalid", name: "name", type: "type", pattern: "pattern", grows: "grows", 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: { submitEvent: "submitEvent", changeEvent: "changeEvent", inputEvent: "inputEvent", keypressEvent: "keypressEvent", keydownEvent: "keydownEvent" }, exportAs: ["luzmoSearch"], features: [i0.ɵɵProvidersFeature([
280
279
  {
281
280
  provide: NG_VALUE_ACCESSOR,
282
281
  useExisting: forwardRef(() => LuzmoSearch),
@@ -393,5 +392,5 @@ export class LuzmoSearch {
393
392
  }], tabIndex: [{
394
393
  type: Input,
395
394
  args: [{ alias: 'tabIndex' }]
396
- }], submitEvent: [{ type: i0.Output, args: ["submit"] }], changeEvent: [{ type: i0.Output, args: ["change"] }], inputEvent: [{ type: i0.Output, args: ["input"] }], keypressEvent: [{ type: i0.Output, args: ["keypress"] }], keydownEvent: [{ type: i0.Output, args: ["keydown"] }] }); })();
395
+ }], submitEvent: [{ type: i0.Output, args: ["submitEvent"] }], changeEvent: [{ type: i0.Output, args: ["changeEvent"] }], inputEvent: [{ type: i0.Output, args: ["inputEvent"] }], keypressEvent: [{ type: i0.Output, args: ["keypressEvent"] }], keydownEvent: [{ type: i0.Output, args: ["keydownEvent"] }] }); })();
397
396
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoSearch, { className: "LuzmoSearch", filePath: "components/search.ts", lineNumber: 26 }); })();
@@ -51,13 +51,13 @@ export declare class LuzmoSelect implements OnChanges, ControlValueAccessor {
51
51
  /** Announces that the `value` of the element has changed */
52
52
  readonly changeEvent: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
53
53
  /** Announces that the user has scrolled within the options menu. Only fires when the options menu is virtualized. */
54
- readonly luzmoScrolledEvent: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
54
+ readonly luzmoScrolled: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
55
55
  /** Announces that the search has been updated */
56
- readonly luzmoSearchEvent: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
56
+ readonly luzmoSearch: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
57
57
  /** Announces that the overlay has been opened */
58
- readonly luzmoOpenedEvent: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
58
+ readonly luzmoOpened: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
59
59
  /** Announces that the overlay has been closed */
60
- readonly luzmoClosedEvent: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
60
+ readonly luzmoClosed: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
61
61
  /** Trick :focus-visible polyfill into thinking keyboard based focus */
62
62
  readonly keydownEvent: import("@angular/core").OutputEmitterRef<unknown>;
63
63
  constructor();
@@ -82,7 +82,7 @@ export declare class LuzmoSelect implements OnChanges, ControlValueAccessor {
82
82
  toggle(target?: boolean): void;
83
83
  close(): void;
84
84
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoSelect, never>;
85
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoSelect, "luzmo-select", ["luzmoSelect"], { "disabled": { "alias": "disabled"; "required": false; }; "focused": { "alias": "focused"; "required": false; }; "icons": { "alias": "icons"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "emphasized": { "alias": "emphasized"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "search": { "alias": "search"; "required": false; }; "noWrap": { "alias": "noWrap"; "required": false; }; "retrieving": { "alias": "retrieving"; "required": false; }; "pending": { "alias": "pending"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "hideDropdownIcon": { "alias": "hideDropdownIcon"; "required": false; }; "pendingLabel": { "alias": "pendingLabel"; "required": false; }; "searchLabel": { "alias": "searchLabel"; "required": false; }; "noResultsLabel": { "alias": "noResultsLabel"; "required": false; }; "noDataLabel": { "alias": "noDataLabel"; "required": false; }; "multipleLabelTemplate": { "alias": "multipleLabelTemplate"; "required": false; }; "label": { "alias": "label"; "required": false; }; "open": { "alias": "open"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "labelAlignment": { "alias": "labelAlignment"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "quiet": { "alias": "quiet"; "required": false; }; "value": { "alias": "value"; "required": false; }; "options": { "alias": "options"; "required": false; }; "optionIconRenderer": { "alias": "optionIconRenderer"; "required": false; }; "selects": { "alias": "selects"; "required": false; }; "size": { "alias": "size"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "changeEvent": "change"; "luzmoScrolledEvent": "luzmo-scrolled"; "luzmoSearchEvent": "luzmo-search"; "luzmoOpenedEvent": "luzmo-opened"; "luzmoClosedEvent": "luzmo-closed"; "keydownEvent": "keydown"; }, never, ["*"], true, never>;
85
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoSelect, "luzmo-select", ["luzmoSelect"], { "disabled": { "alias": "disabled"; "required": false; }; "focused": { "alias": "focused"; "required": false; }; "icons": { "alias": "icons"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "emphasized": { "alias": "emphasized"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "search": { "alias": "search"; "required": false; }; "noWrap": { "alias": "noWrap"; "required": false; }; "retrieving": { "alias": "retrieving"; "required": false; }; "pending": { "alias": "pending"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "hideDropdownIcon": { "alias": "hideDropdownIcon"; "required": false; }; "pendingLabel": { "alias": "pendingLabel"; "required": false; }; "searchLabel": { "alias": "searchLabel"; "required": false; }; "noResultsLabel": { "alias": "noResultsLabel"; "required": false; }; "noDataLabel": { "alias": "noDataLabel"; "required": false; }; "multipleLabelTemplate": { "alias": "multipleLabelTemplate"; "required": false; }; "label": { "alias": "label"; "required": false; }; "open": { "alias": "open"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "labelAlignment": { "alias": "labelAlignment"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "quiet": { "alias": "quiet"; "required": false; }; "value": { "alias": "value"; "required": false; }; "options": { "alias": "options"; "required": false; }; "optionIconRenderer": { "alias": "optionIconRenderer"; "required": false; }; "selects": { "alias": "selects"; "required": false; }; "size": { "alias": "size"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "changeEvent": "changeEvent"; "luzmoScrolled": "luzmo-scrolled"; "luzmoSearch": "luzmo-search"; "luzmoOpened": "luzmo-opened"; "luzmoClosed": "luzmo-closed"; "keydownEvent": "keydownEvent"; }, never, ["*"], true, never>;
86
86
  }
87
87
  /** The underlying custom element type for LuzmoSelect */
88
88
  export type LuzmoSelectElement = LuzmoSelectHostElement;
@@ -58,17 +58,17 @@ export class LuzmoSelect {
58
58
  /** The tab index to apply to this control. See general documentation about the tabindex HTML property */
59
59
  tabIndex;
60
60
  /** Announces that the `value` of the element has changed */
61
- changeEvent = output({ alias: 'change' });
61
+ changeEvent = output();
62
62
  /** Announces that the user has scrolled within the options menu. Only fires when the options menu is virtualized. */
63
- luzmoScrolledEvent = output({ alias: 'luzmo-scrolled' });
63
+ luzmoScrolled = output({ alias: 'luzmo-scrolled' });
64
64
  /** Announces that the search has been updated */
65
- luzmoSearchEvent = output({ alias: 'luzmo-search' });
65
+ luzmoSearch = output({ alias: 'luzmo-search' });
66
66
  /** Announces that the overlay has been opened */
67
- luzmoOpenedEvent = output({ alias: 'luzmo-opened' });
67
+ luzmoOpened = output({ alias: 'luzmo-opened' });
68
68
  /** Announces that the overlay has been closed */
69
- luzmoClosedEvent = output({ alias: 'luzmo-closed' });
69
+ luzmoClosed = output({ alias: 'luzmo-closed' });
70
70
  /** Trick :focus-visible polyfill into thinking keyboard based focus */
71
- keydownEvent = output({ alias: 'keydown' });
71
+ keydownEvent = output();
72
72
  constructor() {
73
73
  this.bindEvents();
74
74
  this.destroyRef.onDestroy(() => {
@@ -183,7 +183,6 @@ export class LuzmoSelect {
183
183
  }
184
184
  bindEvents() {
185
185
  this.listenerCleanup.push(this.renderer.listen(this.host, 'change', (event) => {
186
- this.changeEvent.emit(event);
187
186
  if (!this.isWritingValue) {
188
187
  const eventWithDetail = event;
189
188
  const eventTarget = event.target;
@@ -195,25 +194,25 @@ export class LuzmoSelect {
195
194
  : (detailRecord === undefined ? detail : undefined)
196
195
  ?? eventTarget?.['value']
197
196
  ?? hostRecord['value']);
198
- if (Object.is(this.lastCvaValue, nextValue)) {
199
- return;
197
+ if (!Object.is(this.lastCvaValue, nextValue)) {
198
+ this.lastCvaValue = nextValue;
199
+ this.setHostProperty('value', nextValue);
200
+ this.onChange(nextValue);
200
201
  }
201
- this.lastCvaValue = nextValue;
202
- this.setHostProperty('value', nextValue);
203
- this.onChange(nextValue);
204
202
  }
203
+ this.changeEvent.emit(event);
205
204
  }));
206
205
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-scrolled', (event) => {
207
- this.luzmoScrolledEvent.emit(event);
206
+ this.luzmoScrolled.emit(event);
208
207
  }));
209
208
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-search', (event) => {
210
- this.luzmoSearchEvent.emit(event);
209
+ this.luzmoSearch.emit(event);
211
210
  }));
212
211
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-opened', (event) => {
213
- this.luzmoOpenedEvent.emit(event);
212
+ this.luzmoOpened.emit(event);
214
213
  }));
215
214
  this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-closed', (event) => {
216
- this.luzmoClosedEvent.emit(event);
215
+ this.luzmoClosed.emit(event);
217
216
  }));
218
217
  this.listenerCleanup.push(this.renderer.listen(this.host, 'keydown', (event) => {
219
218
  this.keydownEvent.emit(event);
@@ -257,7 +256,7 @@ export class LuzmoSelect {
257
256
  return this.host.close();
258
257
  }
259
258
  static ɵfac = function LuzmoSelect_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoSelect)(); };
260
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoSelect, selectors: [["luzmo-select"]], inputs: { disabled: "disabled", focused: "focused", icons: "icons", variant: "variant", emphasized: "emphasized", invalid: "invalid", search: "search", noWrap: "noWrap", retrieving: "retrieving", pending: "pending", clearable: "clearable", hideDropdownIcon: "hideDropdownIcon", pendingLabel: "pendingLabel", searchLabel: "searchLabel", noResultsLabel: "noResultsLabel", noDataLabel: "noDataLabel", multipleLabelTemplate: "multipleLabelTemplate", label: "label", open: "open", readonly: "readonly", labelAlignment: "labelAlignment", placement: "placement", quiet: "quiet", value: "value", options: "options", optionIconRenderer: "optionIconRenderer", selects: "selects", size: "size", tabIndex: "tabIndex" }, outputs: { changeEvent: "change", luzmoScrolledEvent: "luzmo-scrolled", luzmoSearchEvent: "luzmo-search", luzmoOpenedEvent: "luzmo-opened", luzmoClosedEvent: "luzmo-closed", keydownEvent: "keydown" }, exportAs: ["luzmoSelect"], features: [i0.ɵɵProvidersFeature([
259
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoSelect, selectors: [["luzmo-select"]], inputs: { disabled: "disabled", focused: "focused", icons: "icons", variant: "variant", emphasized: "emphasized", invalid: "invalid", search: "search", noWrap: "noWrap", retrieving: "retrieving", pending: "pending", clearable: "clearable", hideDropdownIcon: "hideDropdownIcon", pendingLabel: "pendingLabel", searchLabel: "searchLabel", noResultsLabel: "noResultsLabel", noDataLabel: "noDataLabel", multipleLabelTemplate: "multipleLabelTemplate", label: "label", open: "open", readonly: "readonly", labelAlignment: "labelAlignment", placement: "placement", quiet: "quiet", value: "value", options: "options", optionIconRenderer: "optionIconRenderer", selects: "selects", size: "size", tabIndex: "tabIndex" }, outputs: { changeEvent: "changeEvent", luzmoScrolled: "luzmo-scrolled", luzmoSearch: "luzmo-search", luzmoOpened: "luzmo-opened", luzmoClosed: "luzmo-closed", keydownEvent: "keydownEvent" }, exportAs: ["luzmoSelect"], features: [i0.ɵɵProvidersFeature([
261
260
  {
262
261
  provide: NG_VALUE_ACCESSOR,
263
262
  useExisting: forwardRef(() => LuzmoSelect),
@@ -371,5 +370,5 @@ export class LuzmoSelect {
371
370
  }], tabIndex: [{
372
371
  type: Input,
373
372
  args: [{ alias: 'tabIndex' }]
374
- }], changeEvent: [{ type: i0.Output, args: ["change"] }], luzmoScrolledEvent: [{ type: i0.Output, args: ["luzmo-scrolled"] }], luzmoSearchEvent: [{ type: i0.Output, args: ["luzmo-search"] }], luzmoOpenedEvent: [{ type: i0.Output, args: ["luzmo-opened"] }], luzmoClosedEvent: [{ type: i0.Output, args: ["luzmo-closed"] }], keydownEvent: [{ type: i0.Output, args: ["keydown"] }] }); })();
373
+ }], changeEvent: [{ type: i0.Output, args: ["changeEvent"] }], luzmoScrolled: [{ type: i0.Output, args: ["luzmo-scrolled"] }], luzmoSearch: [{ type: i0.Output, args: ["luzmo-search"] }], luzmoOpened: [{ type: i0.Output, args: ["luzmo-opened"] }], luzmoClosed: [{ type: i0.Output, args: ["luzmo-closed"] }], keydownEvent: [{ type: i0.Output, args: ["keydownEvent"] }] }); })();
375
374
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoSelect, { className: "LuzmoSelect", filePath: "components/select.ts", lineNumber: 27 }); })();
@@ -57,7 +57,7 @@ export declare class LuzmoSliderHandle implements OnChanges, ControlValueAccesso
57
57
  setDisabledState(isDisabled: boolean): void;
58
58
  focus(options?: FocusOptions): void;
59
59
  static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoSliderHandle, never>;
60
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoSliderHandle, "luzmo-slider-handle", ["luzmoSliderHandle"], { "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "value": { "alias": "value"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "color": { "alias": "color"; "required": false; }; "formatOptions": { "alias": "formatOptions"; "required": false; }; "normalization": { "alias": "normalization"; "required": false; }; "getAriaHandleText": { "alias": "getAriaHandleText"; "required": false; }; }, { "inputEvent": "input"; "changeEvent": "change"; }, never, ["*"], true, never>;
60
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoSliderHandle, "luzmo-slider-handle", ["luzmoSliderHandle"], { "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "value": { "alias": "value"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "color": { "alias": "color"; "required": false; }; "formatOptions": { "alias": "formatOptions"; "required": false; }; "normalization": { "alias": "normalization"; "required": false; }; "getAriaHandleText": { "alias": "getAriaHandleText"; "required": false; }; }, { "inputEvent": "inputEvent"; "changeEvent": "changeEvent"; }, never, ["*"], true, never>;
61
61
  }
62
62
  /** The underlying custom element type for LuzmoSliderHandle */
63
63
  export type LuzmoSliderHandleElement = LuzmoSliderHandleHostElement;