@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.
- package/README.md +14 -0
- package/esm/components/accordion-item.d.ts +2 -2
- package/esm/components/accordion-item.js +5 -5
- package/esm/components/action-bar.d.ts +1 -1
- package/esm/components/action-bar.js +3 -3
- package/esm/components/action-button.d.ts +2 -2
- package/esm/components/action-button.js +11 -12
- package/esm/components/action-group.d.ts +1 -1
- package/esm/components/action-group.js +3 -3
- package/esm/components/action-menu.d.ts +1 -1
- package/esm/components/action-menu.js +10 -11
- package/esm/components/avatar.d.ts +1 -1
- package/esm/components/avatar.js +3 -3
- package/esm/components/button.d.ts +1 -1
- package/esm/components/button.js +3 -3
- package/esm/components/calendar.d.ts +4 -4
- package/esm/components/calendar.js +14 -15
- package/esm/components/checkbox.d.ts +1 -1
- package/esm/components/checkbox.js +8 -9
- package/esm/components/clear-button.d.ts +1 -1
- package/esm/components/clear-button.js +3 -3
- package/esm/components/close-button.d.ts +1 -1
- package/esm/components/close-button.js +3 -3
- package/esm/components/color-area.d.ts +1 -1
- package/esm/components/color-area.js +4 -4
- package/esm/components/color-field.d.ts +1 -1
- package/esm/components/color-field.js +11 -12
- package/esm/components/color-menu.d.ts +1 -1
- package/esm/components/color-menu.js +4 -4
- package/esm/components/color-palette-group.d.ts +1 -1
- package/esm/components/color-palette-group.js +3 -3
- package/esm/components/color-palette.d.ts +1 -1
- package/esm/components/color-palette.js +3 -3
- package/esm/components/color-picker.d.ts +1 -1
- package/esm/components/color-picker.js +4 -4
- package/esm/components/color-slider.d.ts +1 -1
- package/esm/components/color-slider.js +10 -11
- package/esm/components/date-range-picker.d.ts +1 -1
- package/esm/components/date-range-picker.js +5 -5
- package/esm/components/date-time-picker.d.ts +1 -1
- package/esm/components/date-time-picker.js +10 -11
- package/esm/components/infield-button.d.ts +1 -1
- package/esm/components/infield-button.js +3 -3
- package/esm/components/menu-group.d.ts +1 -1
- package/esm/components/menu-group.js +9 -10
- package/esm/components/menu-item.d.ts +2 -2
- package/esm/components/menu-item.js +5 -5
- package/esm/components/menu.d.ts +1 -1
- package/esm/components/menu.js +9 -10
- package/esm/components/multi-language-field.d.ts +1 -1
- package/esm/components/multi-language-field.js +8 -9
- package/esm/components/notice.d.ts +2 -2
- package/esm/components/notice.js +4 -4
- package/esm/components/number-field.d.ts +1 -1
- package/esm/components/number-field.js +11 -12
- package/esm/components/option.d.ts +1 -1
- package/esm/components/option.js +3 -3
- package/esm/components/options.d.ts +5 -5
- package/esm/components/options.js +15 -16
- package/esm/components/overlay-trigger.d.ts +3 -3
- package/esm/components/overlay-trigger.js +6 -6
- package/esm/components/overlay.d.ts +4 -4
- package/esm/components/overlay.js +8 -8
- package/esm/components/picker-button.d.ts +1 -1
- package/esm/components/picker-button.js +3 -3
- package/esm/components/picker.d.ts +3 -3
- package/esm/components/picker.js +14 -15
- package/esm/components/progress-steps.d.ts +3 -3
- package/esm/components/progress-steps.js +6 -6
- package/esm/components/prompt-box.d.ts +11 -11
- package/esm/components/prompt-box.js +22 -22
- package/esm/components/question-box.d.ts +4 -4
- package/esm/components/question-box.js +15 -16
- package/esm/components/radio-group.d.ts +1 -1
- package/esm/components/radio-group.js +3 -3
- package/esm/components/radio.d.ts +1 -1
- package/esm/components/radio.js +9 -10
- package/esm/components/search.d.ts +1 -1
- package/esm/components/search.js +12 -13
- package/esm/components/select.d.ts +5 -5
- package/esm/components/select.js +17 -18
- package/esm/components/slider-handle.d.ts +1 -1
- package/esm/components/slider-handle.js +9 -10
- package/esm/components/slider.d.ts +1 -1
- package/esm/components/slider.js +10 -11
- package/esm/components/split-view.d.ts +2 -2
- package/esm/components/split-view.js +7 -7
- package/esm/components/swatch-group.d.ts +1 -1
- package/esm/components/swatch-group.js +3 -3
- package/esm/components/swatch.d.ts +1 -1
- package/esm/components/swatch.js +9 -10
- package/esm/components/switch.d.ts +1 -1
- package/esm/components/switch.js +9 -10
- package/esm/components/tabs.d.ts +1 -1
- package/esm/components/tabs.js +4 -4
- package/esm/components/tag.d.ts +2 -2
- package/esm/components/tag.js +4 -4
- package/esm/components/text-field.d.ts +1 -1
- package/esm/components/text-field.js +11 -12
- package/esm/components/toast.d.ts +1 -1
- package/esm/components/toast.js +3 -3
- package/esm/components/top-nav.d.ts +1 -1
- package/esm/components/top-nav.js +4 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -35,6 +35,20 @@ The wrapper class name mirrors the host element (`LuzmoButton`); the
|
|
|
35
35
|
underlying `HTMLElement` subclass type is re-exported as
|
|
36
36
|
`LuzmoButtonElement` for `@ViewChild` / `ElementRef<T>` use cases.
|
|
37
37
|
|
|
38
|
+
## Events
|
|
39
|
+
|
|
40
|
+
Native events keep their DOM names, such as `(change)`. Typed Angular outputs
|
|
41
|
+
for reserved native event names append `Event` to avoid subscribing the same
|
|
42
|
+
callback to both the native and Angular event paths:
|
|
43
|
+
|
|
44
|
+
```html
|
|
45
|
+
<luzmo-slider (changeEvent)="onSliderChange($event)"></luzmo-slider>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
The output is also available for programmatic subscriptions through the
|
|
49
|
+
wrapper instance's `changeEvent` property. Non-reserved custom events keep
|
|
50
|
+
their existing names, such as `(luzmo-opened)`.
|
|
51
|
+
|
|
38
52
|
## Router links
|
|
39
53
|
|
|
40
54
|
Angular 20 and newer recognize Lucero components with an `href` property as
|
|
@@ -18,7 +18,7 @@ export declare class LuzmoAccordionItem implements OnChanges {
|
|
|
18
18
|
/** The tab index to apply to this control. See general documentation about the tabindex HTML property */
|
|
19
19
|
tabIndex?: number;
|
|
20
20
|
/** Announce that an accordion item has been toggled while allowing the event to be cancelled. */
|
|
21
|
-
readonly
|
|
21
|
+
readonly luzmoAccordionItemToggle: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
|
|
22
22
|
/** Trick :focus-visible polyfill into thinking keyboard based focus */
|
|
23
23
|
readonly keydownEvent: import("@angular/core").OutputEmitterRef<unknown>;
|
|
24
24
|
constructor();
|
|
@@ -33,7 +33,7 @@ export declare class LuzmoAccordionItem implements OnChanges {
|
|
|
33
33
|
private bindEvents;
|
|
34
34
|
focus(options?: FocusOptions): void;
|
|
35
35
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoAccordionItem, never>;
|
|
36
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoAccordionItem, "luzmo-accordion-item", ["luzmoAccordionItem"], { "open": { "alias": "open"; "required": false; }; "label": { "alias": "label"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "
|
|
36
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoAccordionItem, "luzmo-accordion-item", ["luzmoAccordionItem"], { "open": { "alias": "open"; "required": false; }; "label": { "alias": "label"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "luzmoAccordionItemToggle": "luzmo-accordion-item-toggle"; "keydownEvent": "keydownEvent"; }, never, ["*"], true, never>;
|
|
37
37
|
}
|
|
38
38
|
/** The underlying custom element type for LuzmoAccordionItem */
|
|
39
39
|
export type LuzmoAccordionItemElement = LuzmoAccordionItemHostElement;
|
|
@@ -25,9 +25,9 @@ export class LuzmoAccordionItem {
|
|
|
25
25
|
/** The tab index to apply to this control. See general documentation about the tabindex HTML property */
|
|
26
26
|
tabIndex;
|
|
27
27
|
/** Announce that an accordion item has been toggled while allowing the event to be cancelled. */
|
|
28
|
-
|
|
28
|
+
luzmoAccordionItemToggle = output({ alias: 'luzmo-accordion-item-toggle' });
|
|
29
29
|
/** Trick :focus-visible polyfill into thinking keyboard based focus */
|
|
30
|
-
keydownEvent = output(
|
|
30
|
+
keydownEvent = output();
|
|
31
31
|
constructor() {
|
|
32
32
|
this.bindEvents();
|
|
33
33
|
this.destroyRef.onDestroy(() => {
|
|
@@ -70,7 +70,7 @@ export class LuzmoAccordionItem {
|
|
|
70
70
|
}
|
|
71
71
|
bindEvents() {
|
|
72
72
|
this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-accordion-item-toggle', (event) => {
|
|
73
|
-
this.
|
|
73
|
+
this.luzmoAccordionItemToggle.emit(event);
|
|
74
74
|
}));
|
|
75
75
|
this.listenerCleanup.push(this.renderer.listen(this.host, 'keydown', (event) => {
|
|
76
76
|
this.keydownEvent.emit(event);
|
|
@@ -80,7 +80,7 @@ export class LuzmoAccordionItem {
|
|
|
80
80
|
return this.host.focus(options);
|
|
81
81
|
}
|
|
82
82
|
static ɵfac = function LuzmoAccordionItem_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoAccordionItem)(); };
|
|
83
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoAccordionItem, selectors: [["luzmo-accordion-item"]], inputs: { open: "open", label: "label", disabled: "disabled", size: "size", tabIndex: "tabIndex" }, outputs: {
|
|
83
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoAccordionItem, selectors: [["luzmo-accordion-item"]], inputs: { open: "open", label: "label", disabled: "disabled", size: "size", tabIndex: "tabIndex" }, outputs: { luzmoAccordionItemToggle: "luzmo-accordion-item-toggle", keydownEvent: "keydownEvent" }, exportAs: ["luzmoAccordionItem"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoAccordionItem_Template(rf, ctx) { if (rf & 1) {
|
|
84
84
|
i0.ɵɵprojectionDef();
|
|
85
85
|
i0.ɵɵprojection(0);
|
|
86
86
|
} }, encapsulation: 2 });
|
|
@@ -109,5 +109,5 @@ export class LuzmoAccordionItem {
|
|
|
109
109
|
}], tabIndex: [{
|
|
110
110
|
type: Input,
|
|
111
111
|
args: [{ alias: 'tabIndex' }]
|
|
112
|
-
}],
|
|
112
|
+
}], luzmoAccordionItemToggle: [{ type: i0.Output, args: ["luzmo-accordion-item-toggle"] }], keydownEvent: [{ type: i0.Output, args: ["keydownEvent"] }] }); })();
|
|
113
113
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoAccordionItem, { className: "LuzmoAccordionItem", filePath: "components/accordion-item.ts", lineNumber: 17 }); })();
|
|
@@ -26,7 +26,7 @@ export declare class LuzmoActionBar implements OnChanges {
|
|
|
26
26
|
private setHostProperty;
|
|
27
27
|
private bindEvents;
|
|
28
28
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoActionBar, never>;
|
|
29
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoActionBar, "luzmo-action-bar", ["luzmoActionBar"], { "emphasized": { "alias": "emphasized"; "required": false; }; "open": { "alias": "open"; "required": false; }; }, { "closeEvent": "
|
|
29
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoActionBar, "luzmo-action-bar", ["luzmoActionBar"], { "emphasized": { "alias": "emphasized"; "required": false; }; "open": { "alias": "open"; "required": false; }; }, { "closeEvent": "closeEvent"; }, never, ["*"], true, never>;
|
|
30
30
|
}
|
|
31
31
|
/** The underlying custom element type for LuzmoActionBar */
|
|
32
32
|
export type LuzmoActionBarElement = LuzmoActionBarHostElement;
|
|
@@ -21,7 +21,7 @@ export class LuzmoActionBar {
|
|
|
21
21
|
emphasized;
|
|
22
22
|
/** The `open` attribute is used to control the visibility of the popover. */
|
|
23
23
|
open;
|
|
24
|
-
closeEvent = output(
|
|
24
|
+
closeEvent = output();
|
|
25
25
|
constructor() {
|
|
26
26
|
this.bindEvents();
|
|
27
27
|
this.destroyRef.onDestroy(() => {
|
|
@@ -59,7 +59,7 @@ export class LuzmoActionBar {
|
|
|
59
59
|
}));
|
|
60
60
|
}
|
|
61
61
|
static ɵfac = function LuzmoActionBar_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoActionBar)(); };
|
|
62
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoActionBar, selectors: [["luzmo-action-bar"]], inputs: { emphasized: "emphasized", open: "open" }, outputs: { closeEvent: "
|
|
62
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoActionBar, selectors: [["luzmo-action-bar"]], inputs: { emphasized: "emphasized", open: "open" }, outputs: { closeEvent: "closeEvent" }, exportAs: ["luzmoActionBar"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoActionBar_Template(rf, ctx) { if (rf & 1) {
|
|
63
63
|
i0.ɵɵprojectionDef();
|
|
64
64
|
i0.ɵɵprojection(0);
|
|
65
65
|
} }, encapsulation: 2 });
|
|
@@ -79,5 +79,5 @@ export class LuzmoActionBar {
|
|
|
79
79
|
}], open: [{
|
|
80
80
|
type: Input,
|
|
81
81
|
args: [{ alias: 'open' }]
|
|
82
|
-
}], closeEvent: [{ type: i0.Output, args: ["
|
|
82
|
+
}], closeEvent: [{ type: i0.Output, args: ["closeEvent"] }] }); })();
|
|
83
83
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoActionBar, { className: "LuzmoActionBar", filePath: "components/action-bar.ts", lineNumber: 17 }); })();
|
|
@@ -53,7 +53,7 @@ export declare class LuzmoActionButton implements OnChanges, ControlValueAccesso
|
|
|
53
53
|
/** The tab index to apply to this control. See general documentation about the tabindex HTML property */
|
|
54
54
|
tabIndex?: number;
|
|
55
55
|
/** Synthesizes a "longpress" interaction that signifies a `pointerdown` event that is >=300ms or a keyboard event where code is `Space` or code is `ArrowDown` while `altKey===true`. */
|
|
56
|
-
readonly
|
|
56
|
+
readonly longpress: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
|
|
57
57
|
/** Announces a change in the `selected` property of an action button */
|
|
58
58
|
readonly changeEvent: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
|
|
59
59
|
/** Trick :focus-visible polyfill into thinking keyboard based focus */
|
|
@@ -78,7 +78,7 @@ export declare class LuzmoActionButton implements OnChanges, ControlValueAccesso
|
|
|
78
78
|
setDisabledState(isDisabled: boolean): void;
|
|
79
79
|
focus(options?: FocusOptions): void;
|
|
80
80
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoActionButton, never>;
|
|
81
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoActionButton, "luzmo-action-button", ["luzmoActionButton"], { "emphasized": { "alias": "emphasized"; "required": false; }; "holdAffordance": { "alias": "holdAffordance"; "required": false; }; "quiet": { "alias": "quiet"; "required": false; }; "treatment": { "alias": "treatment"; "required": false; }; "role": { "alias": "role"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "toggles": { "alias": "toggles"; "required": false; }; "staticColor": { "alias": "staticColor"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "value": { "alias": "value"; "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; }; }, { "
|
|
81
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoActionButton, "luzmo-action-button", ["luzmoActionButton"], { "emphasized": { "alias": "emphasized"; "required": false; }; "holdAffordance": { "alias": "holdAffordance"; "required": false; }; "quiet": { "alias": "quiet"; "required": false; }; "treatment": { "alias": "treatment"; "required": false; }; "role": { "alias": "role"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "toggles": { "alias": "toggles"; "required": false; }; "staticColor": { "alias": "staticColor"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "value": { "alias": "value"; "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; }; }, { "longpress": "longpress"; "changeEvent": "changeEvent"; "keydownEvent": "keydownEvent"; }, never, ["*"], true, never>;
|
|
82
82
|
}
|
|
83
83
|
/** The underlying custom element type for LuzmoActionButton */
|
|
84
84
|
export type LuzmoActionButtonElement = LuzmoActionButtonHostElement;
|
|
@@ -60,11 +60,11 @@ export class LuzmoActionButton {
|
|
|
60
60
|
/** The tab index to apply to this control. See general documentation about the tabindex HTML property */
|
|
61
61
|
tabIndex;
|
|
62
62
|
/** Synthesizes a "longpress" interaction that signifies a `pointerdown` event that is >=300ms or a keyboard event where code is `Space` or code is `ArrowDown` while `altKey===true`. */
|
|
63
|
-
|
|
63
|
+
longpress = output({ alias: 'longpress' });
|
|
64
64
|
/** Announces a change in the `selected` property of an action button */
|
|
65
|
-
changeEvent = output(
|
|
65
|
+
changeEvent = output();
|
|
66
66
|
/** Trick :focus-visible polyfill into thinking keyboard based focus */
|
|
67
|
-
keydownEvent = output(
|
|
67
|
+
keydownEvent = output();
|
|
68
68
|
constructor() {
|
|
69
69
|
this.bindEvents();
|
|
70
70
|
this.destroyRef.onDestroy(() => {
|
|
@@ -155,10 +155,9 @@ export class LuzmoActionButton {
|
|
|
155
155
|
}
|
|
156
156
|
bindEvents() {
|
|
157
157
|
this.listenerCleanup.push(this.renderer.listen(this.host, 'longpress', (event) => {
|
|
158
|
-
this.
|
|
158
|
+
this.longpress.emit(event);
|
|
159
159
|
}));
|
|
160
160
|
this.listenerCleanup.push(this.renderer.listen(this.host, 'change', (event) => {
|
|
161
|
-
this.changeEvent.emit(event);
|
|
162
161
|
if (!this.isWritingValue) {
|
|
163
162
|
const eventWithDetail = event;
|
|
164
163
|
const eventTarget = event.target;
|
|
@@ -170,13 +169,13 @@ export class LuzmoActionButton {
|
|
|
170
169
|
: (detailRecord === undefined ? detail : undefined)
|
|
171
170
|
?? eventTarget?.['value']
|
|
172
171
|
?? hostRecord['value']);
|
|
173
|
-
if (Object.is(this.lastCvaValue, nextValue)) {
|
|
174
|
-
|
|
172
|
+
if (!Object.is(this.lastCvaValue, nextValue)) {
|
|
173
|
+
this.lastCvaValue = nextValue;
|
|
174
|
+
this.setHostProperty('value', nextValue);
|
|
175
|
+
this.onChange(nextValue);
|
|
175
176
|
}
|
|
176
|
-
this.lastCvaValue = nextValue;
|
|
177
|
-
this.setHostProperty('value', nextValue);
|
|
178
|
-
this.onChange(nextValue);
|
|
179
177
|
}
|
|
178
|
+
this.changeEvent.emit(event);
|
|
180
179
|
}));
|
|
181
180
|
this.listenerCleanup.push(this.renderer.listen(this.host, 'keydown', (event) => {
|
|
182
181
|
this.keydownEvent.emit(event);
|
|
@@ -214,7 +213,7 @@ export class LuzmoActionButton {
|
|
|
214
213
|
return this.host.focus(options);
|
|
215
214
|
}
|
|
216
215
|
static ɵfac = function LuzmoActionButton_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoActionButton)(); };
|
|
217
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoActionButton, selectors: [["luzmo-action-button"]], inputs: { emphasized: "emphasized", holdAffordance: "holdAffordance", quiet: "quiet", treatment: "treatment", role: "role", selected: "selected", toggles: "toggles", staticColor: "staticColor", variant: "variant", value: "value", size: "size", download: "download", label: "label", href: "href", target: "target", referrerpolicy: "referrerpolicy", rel: "rel", active: "active", type: "type", disabled: "disabled", tabIndex: "tabIndex" }, outputs: {
|
|
216
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoActionButton, selectors: [["luzmo-action-button"]], inputs: { emphasized: "emphasized", holdAffordance: "holdAffordance", quiet: "quiet", treatment: "treatment", role: "role", selected: "selected", toggles: "toggles", staticColor: "staticColor", variant: "variant", value: "value", size: "size", download: "download", label: "label", href: "href", target: "target", referrerpolicy: "referrerpolicy", rel: "rel", active: "active", type: "type", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { longpress: "longpress", changeEvent: "changeEvent", keydownEvent: "keydownEvent" }, exportAs: ["luzmoActionButton"], features: [i0.ɵɵProvidersFeature([
|
|
218
217
|
{
|
|
219
218
|
provide: NG_VALUE_ACCESSOR,
|
|
220
219
|
useExisting: forwardRef(() => LuzmoActionButton),
|
|
@@ -304,5 +303,5 @@ export class LuzmoActionButton {
|
|
|
304
303
|
}], tabIndex: [{
|
|
305
304
|
type: Input,
|
|
306
305
|
args: [{ alias: 'tabIndex' }]
|
|
307
|
-
}],
|
|
306
|
+
}], longpress: [{ type: i0.Output, args: ["longpress"] }], changeEvent: [{ type: i0.Output, args: ["changeEvent"] }], keydownEvent: [{ type: i0.Output, args: ["keydownEvent"] }] }); })();
|
|
308
307
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoActionButton, { className: "LuzmoActionButton", filePath: "components/action-button.ts", lineNumber: 27 }); })();
|
|
@@ -37,7 +37,7 @@ export declare class LuzmoActionGroup implements OnChanges {
|
|
|
37
37
|
private bindEvents;
|
|
38
38
|
focus(options?: FocusOptions): void;
|
|
39
39
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoActionGroup, never>;
|
|
40
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoActionGroup, "luzmo-action-group", ["luzmoActionGroup"], { "buttons": { "alias": "buttons"; "required": false; }; "rovingTabindexController": { "alias": "rovingTabindexController"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "emphasized": { "alias": "emphasized"; "required": false; }; "justified": { "alias": "justified"; "required": false; }; "label": { "alias": "label"; "required": false; }; "quiet": { "alias": "quiet"; "required": false; }; "selects": { "alias": "selects"; "required": false; }; "staticColor": { "alias": "staticColor"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "slotElement": { "alias": "slotElement"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "changeEvent": "
|
|
40
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoActionGroup, "luzmo-action-group", ["luzmoActionGroup"], { "buttons": { "alias": "buttons"; "required": false; }; "rovingTabindexController": { "alias": "rovingTabindexController"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "emphasized": { "alias": "emphasized"; "required": false; }; "justified": { "alias": "justified"; "required": false; }; "label": { "alias": "label"; "required": false; }; "quiet": { "alias": "quiet"; "required": false; }; "selects": { "alias": "selects"; "required": false; }; "staticColor": { "alias": "staticColor"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "slotElement": { "alias": "slotElement"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "changeEvent": "changeEvent"; }, never, ["*"], true, never>;
|
|
41
41
|
}
|
|
42
42
|
/** The underlying custom element type for LuzmoActionGroup */
|
|
43
43
|
export type LuzmoActionGroupElement = LuzmoActionGroupHostElement;
|
|
@@ -31,7 +31,7 @@ export class LuzmoActionGroup {
|
|
|
31
31
|
slotElement;
|
|
32
32
|
size;
|
|
33
33
|
/** Announces that selection state has been changed by user */
|
|
34
|
-
changeEvent = output(
|
|
34
|
+
changeEvent = output();
|
|
35
35
|
constructor() {
|
|
36
36
|
this.bindEvents();
|
|
37
37
|
this.destroyRef.onDestroy(() => {
|
|
@@ -105,7 +105,7 @@ export class LuzmoActionGroup {
|
|
|
105
105
|
return this.host.focus(options);
|
|
106
106
|
}
|
|
107
107
|
static ɵfac = function LuzmoActionGroup_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoActionGroup)(); };
|
|
108
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoActionGroup, selectors: [["luzmo-action-group"]], inputs: { buttons: "buttons", rovingTabindexController: "rovingTabindexController", compact: "compact", emphasized: "emphasized", justified: "justified", label: "label", quiet: "quiet", selects: "selects", staticColor: "staticColor", vertical: "vertical", selected: "selected", slotElement: "slotElement", size: "size" }, outputs: { changeEvent: "
|
|
108
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoActionGroup, selectors: [["luzmo-action-group"]], inputs: { buttons: "buttons", rovingTabindexController: "rovingTabindexController", compact: "compact", emphasized: "emphasized", justified: "justified", label: "label", quiet: "quiet", selects: "selects", staticColor: "staticColor", vertical: "vertical", selected: "selected", slotElement: "slotElement", size: "size" }, outputs: { changeEvent: "changeEvent" }, exportAs: ["luzmoActionGroup"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoActionGroup_Template(rf, ctx) { if (rf & 1) {
|
|
109
109
|
i0.ɵɵprojectionDef();
|
|
110
110
|
i0.ɵɵprojection(0);
|
|
111
111
|
} }, encapsulation: 2 });
|
|
@@ -158,5 +158,5 @@ export class LuzmoActionGroup {
|
|
|
158
158
|
}], size: [{
|
|
159
159
|
type: Input,
|
|
160
160
|
args: [{ alias: 'size' }]
|
|
161
|
-
}], changeEvent: [{ type: i0.Output, args: ["
|
|
161
|
+
}], changeEvent: [{ type: i0.Output, args: ["changeEvent"] }] }); })();
|
|
162
162
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoActionGroup, { className: "LuzmoActionGroup", filePath: "components/action-group.ts", lineNumber: 17 }); })();
|
|
@@ -76,7 +76,7 @@ export declare class LuzmoActionMenu implements OnChanges, ControlValueAccessor
|
|
|
76
76
|
toggle(target?: boolean): void;
|
|
77
77
|
close(): void;
|
|
78
78
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoActionMenu, never>;
|
|
79
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoActionMenu, "luzmo-action-menu", ["luzmoActionMenu"], { "selects": { "alias": "selects"; "required": false; }; "staticColor": { "alias": "staticColor"; "required": false; }; "handleSlottableRequest": { "alias": "handleSlottableRequest"; "required": false; }; "managePresenceObservedSlot": { "alias": "managePresenceObservedSlot"; "required": false; }; "size": { "alias": "size"; "required": false; }; "appliedLabel": { "alias": "appliedLabel"; "required": false; }; "button": { "alias": "button"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "focused": { "alias": "focused"; "required": false; }; "icons": { "alias": "icons"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "pending": { "alias": "pending"; "required": false; }; "pendingLabel": { "alias": "pendingLabel"; "required": false; }; "label": { "alias": "label"; "required": false; }; "open": { "alias": "open"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "labelAlignment": { "alias": "labelAlignment"; "required": false; }; "optionsMenu": { "alias": "optionsMenu"; "required": false; }; "overlayElement": { "alias": "overlayElement"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "quiet": { "alias": "quiet"; "required": false; }; "value": { "alias": "value"; "required": false; }; "selectedItem": { "alias": "selectedItem"; "required": false; }; "dependencyManager": { "alias": "dependencyManager"; "required": false; }; "isMobile": { "alias": "isMobile"; "required": false; }; "isTouchDevice": { "alias": "isTouchDevice"; "required": false; }; "strategy": { "alias": "strategy"; "required": false; }; "pendingStateController": { "alias": "pendingStateController"; "required": false; }; "applyFocusElementLabel": { "alias": "applyFocusElementLabel"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "changeEvent": "
|
|
79
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoActionMenu, "luzmo-action-menu", ["luzmoActionMenu"], { "selects": { "alias": "selects"; "required": false; }; "staticColor": { "alias": "staticColor"; "required": false; }; "handleSlottableRequest": { "alias": "handleSlottableRequest"; "required": false; }; "managePresenceObservedSlot": { "alias": "managePresenceObservedSlot"; "required": false; }; "size": { "alias": "size"; "required": false; }; "appliedLabel": { "alias": "appliedLabel"; "required": false; }; "button": { "alias": "button"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "focused": { "alias": "focused"; "required": false; }; "icons": { "alias": "icons"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "pending": { "alias": "pending"; "required": false; }; "pendingLabel": { "alias": "pendingLabel"; "required": false; }; "label": { "alias": "label"; "required": false; }; "open": { "alias": "open"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "labelAlignment": { "alias": "labelAlignment"; "required": false; }; "optionsMenu": { "alias": "optionsMenu"; "required": false; }; "overlayElement": { "alias": "overlayElement"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "quiet": { "alias": "quiet"; "required": false; }; "value": { "alias": "value"; "required": false; }; "selectedItem": { "alias": "selectedItem"; "required": false; }; "dependencyManager": { "alias": "dependencyManager"; "required": false; }; "isMobile": { "alias": "isMobile"; "required": false; }; "isTouchDevice": { "alias": "isTouchDevice"; "required": false; }; "strategy": { "alias": "strategy"; "required": false; }; "pendingStateController": { "alias": "pendingStateController"; "required": false; }; "applyFocusElementLabel": { "alias": "applyFocusElementLabel"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "changeEvent": "changeEvent"; "scrollEvent": "scrollEvent"; "keydownEvent": "keydownEvent"; }, never, ["*"], true, never>;
|
|
80
80
|
}
|
|
81
81
|
/** The underlying custom element type for LuzmoActionMenu */
|
|
82
82
|
export type LuzmoActionMenuElement = LuzmoActionMenuHostElement;
|
|
@@ -61,10 +61,10 @@ export class LuzmoActionMenu {
|
|
|
61
61
|
applyFocusElementLabel;
|
|
62
62
|
/** The tab index to apply to this control. See general documentation about the tabindex HTML property */
|
|
63
63
|
tabIndex;
|
|
64
|
-
changeEvent = output(
|
|
65
|
-
scrollEvent = output(
|
|
64
|
+
changeEvent = output();
|
|
65
|
+
scrollEvent = output();
|
|
66
66
|
/** Trick :focus-visible polyfill into thinking keyboard based focus */
|
|
67
|
-
keydownEvent = output(
|
|
67
|
+
keydownEvent = output();
|
|
68
68
|
constructor() {
|
|
69
69
|
this.bindEvents();
|
|
70
70
|
this.destroyRef.onDestroy(() => {
|
|
@@ -185,7 +185,6 @@ export class LuzmoActionMenu {
|
|
|
185
185
|
}
|
|
186
186
|
bindEvents() {
|
|
187
187
|
this.listenerCleanup.push(this.renderer.listen(this.host, 'change', (event) => {
|
|
188
|
-
this.changeEvent.emit(event);
|
|
189
188
|
if (!this.isWritingValue) {
|
|
190
189
|
const eventWithDetail = event;
|
|
191
190
|
const eventTarget = event.target;
|
|
@@ -197,13 +196,13 @@ export class LuzmoActionMenu {
|
|
|
197
196
|
: (detailRecord === undefined ? detail : undefined)
|
|
198
197
|
?? eventTarget?.['value']
|
|
199
198
|
?? hostRecord['value']);
|
|
200
|
-
if (Object.is(this.lastCvaValue, nextValue)) {
|
|
201
|
-
|
|
199
|
+
if (!Object.is(this.lastCvaValue, nextValue)) {
|
|
200
|
+
this.lastCvaValue = nextValue;
|
|
201
|
+
this.setHostProperty('value', nextValue);
|
|
202
|
+
this.onChange(nextValue);
|
|
202
203
|
}
|
|
203
|
-
this.lastCvaValue = nextValue;
|
|
204
|
-
this.setHostProperty('value', nextValue);
|
|
205
|
-
this.onChange(nextValue);
|
|
206
204
|
}
|
|
205
|
+
this.changeEvent.emit(event);
|
|
207
206
|
}));
|
|
208
207
|
this.listenerCleanup.push(this.renderer.listen(this.host, 'scroll', (event) => {
|
|
209
208
|
this.scrollEvent.emit(event);
|
|
@@ -250,7 +249,7 @@ export class LuzmoActionMenu {
|
|
|
250
249
|
return this.host.close();
|
|
251
250
|
}
|
|
252
251
|
static ɵfac = function LuzmoActionMenu_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoActionMenu)(); };
|
|
253
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoActionMenu, selectors: [["luzmo-action-menu"]], inputs: { selects: "selects", staticColor: "staticColor", handleSlottableRequest: "handleSlottableRequest", managePresenceObservedSlot: "managePresenceObservedSlot", size: "size", appliedLabel: "appliedLabel", button: "button", disabled: "disabled", focused: "focused", icons: "icons", variant: "variant", invalid: "invalid", pending: "pending", pendingLabel: "pendingLabel", label: "label", open: "open", readonly: "readonly", labelAlignment: "labelAlignment", optionsMenu: "optionsMenu", overlayElement: "overlayElement", placement: "placement", quiet: "quiet", value: "value", selectedItem: "selectedItem", dependencyManager: "dependencyManager", isMobile: "isMobile", isTouchDevice: "isTouchDevice", strategy: "strategy", pendingStateController: "pendingStateController", applyFocusElementLabel: "applyFocusElementLabel", tabIndex: "tabIndex" }, outputs: { changeEvent: "
|
|
252
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoActionMenu, selectors: [["luzmo-action-menu"]], inputs: { selects: "selects", staticColor: "staticColor", handleSlottableRequest: "handleSlottableRequest", managePresenceObservedSlot: "managePresenceObservedSlot", size: "size", appliedLabel: "appliedLabel", button: "button", disabled: "disabled", focused: "focused", icons: "icons", variant: "variant", invalid: "invalid", pending: "pending", pendingLabel: "pendingLabel", label: "label", open: "open", readonly: "readonly", labelAlignment: "labelAlignment", optionsMenu: "optionsMenu", overlayElement: "overlayElement", placement: "placement", quiet: "quiet", value: "value", selectedItem: "selectedItem", dependencyManager: "dependencyManager", isMobile: "isMobile", isTouchDevice: "isTouchDevice", strategy: "strategy", pendingStateController: "pendingStateController", applyFocusElementLabel: "applyFocusElementLabel", tabIndex: "tabIndex" }, outputs: { changeEvent: "changeEvent", scrollEvent: "scrollEvent", keydownEvent: "keydownEvent" }, exportAs: ["luzmoActionMenu"], features: [i0.ɵɵProvidersFeature([
|
|
254
253
|
{
|
|
255
254
|
provide: NG_VALUE_ACCESSOR,
|
|
256
255
|
useExisting: forwardRef(() => LuzmoActionMenu),
|
|
@@ -370,5 +369,5 @@ export class LuzmoActionMenu {
|
|
|
370
369
|
}], tabIndex: [{
|
|
371
370
|
type: Input,
|
|
372
371
|
args: [{ alias: 'tabIndex' }]
|
|
373
|
-
}], changeEvent: [{ type: i0.Output, args: ["
|
|
372
|
+
}], changeEvent: [{ type: i0.Output, args: ["changeEvent"] }], scrollEvent: [{ type: i0.Output, args: ["scrollEvent"] }], keydownEvent: [{ type: i0.Output, args: ["keydownEvent"] }] }); })();
|
|
374
373
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoActionMenu, { className: "LuzmoActionMenu", filePath: "components/action-menu.ts", lineNumber: 29 }); })();
|
|
@@ -53,7 +53,7 @@ export declare class LuzmoAvatar implements OnChanges {
|
|
|
53
53
|
private bindEvents;
|
|
54
54
|
focus(options?: FocusOptions): void;
|
|
55
55
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoAvatar, never>;
|
|
56
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoAvatar, "luzmo-avatar", ["luzmoAvatar"], { "border": { "alias": "border"; "required": false; }; "rounding": { "alias": "rounding"; "required": false; }; "src": { "alias": "src"; "required": false; }; "letter": { "alias": "letter"; "required": false; }; "colorFromLetter": { "alias": "colorFromLetter"; "required": false; }; "isDecorative": { "alias": "isDecorative"; "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; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "keydownEvent": "
|
|
56
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoAvatar, "luzmo-avatar", ["luzmoAvatar"], { "border": { "alias": "border"; "required": false; }; "rounding": { "alias": "rounding"; "required": false; }; "src": { "alias": "src"; "required": false; }; "letter": { "alias": "letter"; "required": false; }; "colorFromLetter": { "alias": "colorFromLetter"; "required": false; }; "isDecorative": { "alias": "isDecorative"; "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; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "keydownEvent": "keydownEvent"; }, never, ["*"], true, never>;
|
|
57
57
|
}
|
|
58
58
|
/** The underlying custom element type for LuzmoAvatar */
|
|
59
59
|
export type LuzmoAvatarElement = LuzmoAvatarHostElement;
|
package/esm/components/avatar.js
CHANGED
|
@@ -45,7 +45,7 @@ export class LuzmoAvatar {
|
|
|
45
45
|
/** The tab index to apply to this control. See general documentation about the tabindex HTML property */
|
|
46
46
|
tabIndex;
|
|
47
47
|
/** Trick :focus-visible polyfill into thinking keyboard based focus */
|
|
48
|
-
keydownEvent = output(
|
|
48
|
+
keydownEvent = output();
|
|
49
49
|
constructor() {
|
|
50
50
|
this.bindEvents();
|
|
51
51
|
this.destroyRef.onDestroy(() => {
|
|
@@ -125,7 +125,7 @@ export class LuzmoAvatar {
|
|
|
125
125
|
return this.host.focus(options);
|
|
126
126
|
}
|
|
127
127
|
static ɵfac = function LuzmoAvatar_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoAvatar)(); };
|
|
128
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoAvatar, selectors: [["luzmo-avatar"]], inputs: { border: "border", rounding: "rounding", src: "src", letter: "letter", colorFromLetter: "colorFromLetter", isDecorative: "isDecorative", download: "download", label: "label", href: "href", target: "target", referrerpolicy: "referrerpolicy", rel: "rel", size: "size", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { keydownEvent: "
|
|
128
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoAvatar, selectors: [["luzmo-avatar"]], inputs: { border: "border", rounding: "rounding", src: "src", letter: "letter", colorFromLetter: "colorFromLetter", isDecorative: "isDecorative", download: "download", label: "label", href: "href", target: "target", referrerpolicy: "referrerpolicy", rel: "rel", size: "size", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { keydownEvent: "keydownEvent" }, exportAs: ["luzmoAvatar"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoAvatar_Template(rf, ctx) { if (rf & 1) {
|
|
129
129
|
i0.ɵɵprojectionDef();
|
|
130
130
|
i0.ɵɵprojection(0);
|
|
131
131
|
} }, encapsulation: 2 });
|
|
@@ -184,5 +184,5 @@ export class LuzmoAvatar {
|
|
|
184
184
|
}], tabIndex: [{
|
|
185
185
|
type: Input,
|
|
186
186
|
args: [{ alias: 'tabIndex' }]
|
|
187
|
-
}], keydownEvent: [{ type: i0.Output, args: ["
|
|
187
|
+
}], keydownEvent: [{ type: i0.Output, args: ["keydownEvent"] }] }); })();
|
|
188
188
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoAvatar, { className: "LuzmoAvatar", filePath: "components/avatar.ts", lineNumber: 15 }); })();
|
|
@@ -52,7 +52,7 @@ export declare class LuzmoButton implements OnChanges {
|
|
|
52
52
|
private bindEvents;
|
|
53
53
|
focus(options?: FocusOptions): void;
|
|
54
54
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoButton, never>;
|
|
55
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoButton, "luzmo-button", ["luzmoButton"], { "pendingLabel": { "alias": "pendingLabel"; "required": false; }; "pending": { "alias": "pending"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "staticColor": { "alias": "staticColor"; "required": false; }; "treatment": { "alias": "treatment"; "required": false; }; "quiet": { "alias": "quiet"; "required": false; }; "noWrap": { "alias": "noWrap"; "required": false; }; "pendingStateController": { "alias": "pendingStateController"; "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": "
|
|
55
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoButton, "luzmo-button", ["luzmoButton"], { "pendingLabel": { "alias": "pendingLabel"; "required": false; }; "pending": { "alias": "pending"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "staticColor": { "alias": "staticColor"; "required": false; }; "treatment": { "alias": "treatment"; "required": false; }; "quiet": { "alias": "quiet"; "required": false; }; "noWrap": { "alias": "noWrap"; "required": false; }; "pendingStateController": { "alias": "pendingStateController"; "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>;
|
|
56
56
|
}
|
|
57
57
|
/** The underlying custom element type for LuzmoButton */
|
|
58
58
|
export type LuzmoButtonElement = LuzmoButtonHostElement;
|
package/esm/components/button.js
CHANGED
|
@@ -47,7 +47,7 @@ export class LuzmoButton {
|
|
|
47
47
|
/** The tab index to apply to this control. See general documentation about the tabindex HTML property */
|
|
48
48
|
tabIndex;
|
|
49
49
|
/** Trick :focus-visible polyfill into thinking keyboard based focus */
|
|
50
|
-
keydownEvent = output(
|
|
50
|
+
keydownEvent = output();
|
|
51
51
|
constructor() {
|
|
52
52
|
this.bindEvents();
|
|
53
53
|
this.destroyRef.onDestroy(() => {
|
|
@@ -139,7 +139,7 @@ export class LuzmoButton {
|
|
|
139
139
|
return this.host.focus(options);
|
|
140
140
|
}
|
|
141
141
|
static ɵfac = function LuzmoButton_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoButton)(); };
|
|
142
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoButton, selectors: [["luzmo-button"]], inputs: { pendingLabel: "pendingLabel", pending: "pending", variant: "variant", staticColor: "staticColor", treatment: "treatment", quiet: "quiet", noWrap: "noWrap", pendingStateController: "pendingStateController", size: "size", download: "download", label: "label", href: "href", target: "target", referrerpolicy: "referrerpolicy", rel: "rel", active: "active", type: "type", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { keydownEvent: "
|
|
142
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoButton, selectors: [["luzmo-button"]], inputs: { pendingLabel: "pendingLabel", pending: "pending", variant: "variant", staticColor: "staticColor", treatment: "treatment", quiet: "quiet", noWrap: "noWrap", pendingStateController: "pendingStateController", 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: ["luzmoButton"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoButton_Template(rf, ctx) { if (rf & 1) {
|
|
143
143
|
i0.ɵɵprojectionDef();
|
|
144
144
|
i0.ɵɵprojection(0);
|
|
145
145
|
} }, encapsulation: 2 });
|
|
@@ -210,5 +210,5 @@ export class LuzmoButton {
|
|
|
210
210
|
}], tabIndex: [{
|
|
211
211
|
type: Input,
|
|
212
212
|
args: [{ alias: 'tabIndex' }]
|
|
213
|
-
}], keydownEvent: [{ type: i0.Output, args: ["
|
|
213
|
+
}], keydownEvent: [{ type: i0.Output, args: ["keydownEvent"] }] }); })();
|
|
214
214
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoButton, { className: "LuzmoButton", filePath: "components/button.ts", lineNumber: 18 }); })();
|
|
@@ -34,10 +34,10 @@ export declare class LuzmoCalendar implements OnChanges, ControlValueAccessor {
|
|
|
34
34
|
/** The date being hovered, used for range preview between start and end during range selection. Can be set externally to synchronize hover previews across multiple calendar instances. */
|
|
35
35
|
hoveredDate?: __extt_CalendarDate;
|
|
36
36
|
size?: ('xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl');
|
|
37
|
-
readonly
|
|
37
|
+
readonly monthChange: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
|
|
38
38
|
readonly changeEvent: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
|
|
39
|
-
readonly
|
|
40
|
-
readonly
|
|
39
|
+
readonly rangeSelect: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
|
|
40
|
+
readonly hoverDate: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
|
|
41
41
|
constructor();
|
|
42
42
|
ngOnChanges(changes: SimpleChanges): void;
|
|
43
43
|
/**
|
|
@@ -59,7 +59,7 @@ export declare class LuzmoCalendar implements OnChanges, ControlValueAccessor {
|
|
|
59
59
|
/** Resets the component's value */
|
|
60
60
|
clear(): void;
|
|
61
61
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoCalendar, never>;
|
|
62
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoCalendar, "luzmo-calendar", ["luzmoCalendar"], { "value": { "alias": "value"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "language": { "alias": "language"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "endDate": { "alias": "endDate"; "required": false; }; "hoveredDate": { "alias": "hoveredDate"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "
|
|
62
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoCalendar, "luzmo-calendar", ["luzmoCalendar"], { "value": { "alias": "value"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "language": { "alias": "language"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "endDate": { "alias": "endDate"; "required": false; }; "hoveredDate": { "alias": "hoveredDate"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "monthChange": "month-change"; "changeEvent": "changeEvent"; "rangeSelect": "range-select"; "hoverDate": "hover-date"; }, never, ["*"], true, never>;
|
|
63
63
|
}
|
|
64
64
|
/** The underlying custom element type for LuzmoCalendar */
|
|
65
65
|
export type LuzmoCalendarElement = LuzmoCalendarHostElement;
|
|
@@ -37,10 +37,10 @@ export class LuzmoCalendar {
|
|
|
37
37
|
/** The date being hovered, used for range preview between start and end during range selection. Can be set externally to synchronize hover previews across multiple calendar instances. */
|
|
38
38
|
hoveredDate;
|
|
39
39
|
size;
|
|
40
|
-
|
|
41
|
-
changeEvent = output(
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
monthChange = output({ alias: 'month-change' });
|
|
41
|
+
changeEvent = output();
|
|
42
|
+
rangeSelect = output({ alias: 'range-select' });
|
|
43
|
+
hoverDate = output({ alias: 'hover-date' });
|
|
44
44
|
constructor() {
|
|
45
45
|
this.bindEvents();
|
|
46
46
|
this.destroyRef.onDestroy(() => {
|
|
@@ -101,10 +101,9 @@ export class LuzmoCalendar {
|
|
|
101
101
|
}
|
|
102
102
|
bindEvents() {
|
|
103
103
|
this.listenerCleanup.push(this.renderer.listen(this.host, 'month-change', (event) => {
|
|
104
|
-
this.
|
|
104
|
+
this.monthChange.emit(event);
|
|
105
105
|
}));
|
|
106
106
|
this.listenerCleanup.push(this.renderer.listen(this.host, 'change', (event) => {
|
|
107
|
-
this.changeEvent.emit(event);
|
|
108
107
|
if (!this.isWritingValue) {
|
|
109
108
|
const eventWithDetail = event;
|
|
110
109
|
const eventTarget = event.target;
|
|
@@ -116,19 +115,19 @@ export class LuzmoCalendar {
|
|
|
116
115
|
: (detailRecord === undefined ? detail : undefined)
|
|
117
116
|
?? eventTarget?.['value']
|
|
118
117
|
?? hostRecord['value']);
|
|
119
|
-
if (Object.is(this.lastCvaValue, nextValue)) {
|
|
120
|
-
|
|
118
|
+
if (!Object.is(this.lastCvaValue, nextValue)) {
|
|
119
|
+
this.lastCvaValue = nextValue;
|
|
120
|
+
this.setHostProperty('value', nextValue);
|
|
121
|
+
this.onChange(nextValue);
|
|
121
122
|
}
|
|
122
|
-
this.lastCvaValue = nextValue;
|
|
123
|
-
this.setHostProperty('value', nextValue);
|
|
124
|
-
this.onChange(nextValue);
|
|
125
123
|
}
|
|
124
|
+
this.changeEvent.emit(event);
|
|
126
125
|
}));
|
|
127
126
|
this.listenerCleanup.push(this.renderer.listen(this.host, 'range-select', (event) => {
|
|
128
|
-
this.
|
|
127
|
+
this.rangeSelect.emit(event);
|
|
129
128
|
}));
|
|
130
129
|
this.listenerCleanup.push(this.renderer.listen(this.host, 'hover-date', (event) => {
|
|
131
|
-
this.
|
|
130
|
+
this.hoverDate.emit(event);
|
|
132
131
|
}));
|
|
133
132
|
this.listenerCleanup.push(this.renderer.listen(this.host, 'blur', () => {
|
|
134
133
|
this.onTouched();
|
|
@@ -164,7 +163,7 @@ export class LuzmoCalendar {
|
|
|
164
163
|
return this.host.clear();
|
|
165
164
|
}
|
|
166
165
|
static ɵfac = function LuzmoCalendar_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoCalendar)(); };
|
|
167
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoCalendar, selectors: [["luzmo-calendar"]], inputs: { value: "value", min: "min", max: "max", disabled: "disabled", language: "language", labels: "labels", selectionMode: "selectionMode", startDate: "startDate", endDate: "endDate", hoveredDate: "hoveredDate", size: "size" }, outputs: {
|
|
166
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoCalendar, selectors: [["luzmo-calendar"]], inputs: { value: "value", min: "min", max: "max", disabled: "disabled", language: "language", labels: "labels", selectionMode: "selectionMode", startDate: "startDate", endDate: "endDate", hoveredDate: "hoveredDate", size: "size" }, outputs: { monthChange: "month-change", changeEvent: "changeEvent", rangeSelect: "range-select", hoverDate: "hover-date" }, exportAs: ["luzmoCalendar"], features: [i0.ɵɵProvidersFeature([
|
|
168
167
|
{
|
|
169
168
|
provide: NG_VALUE_ACCESSOR,
|
|
170
169
|
useExisting: forwardRef(() => LuzmoCalendar),
|
|
@@ -224,5 +223,5 @@ export class LuzmoCalendar {
|
|
|
224
223
|
}], size: [{
|
|
225
224
|
type: Input,
|
|
226
225
|
args: [{ alias: 'size' }]
|
|
227
|
-
}],
|
|
226
|
+
}], monthChange: [{ type: i0.Output, args: ["month-change"] }], changeEvent: [{ type: i0.Output, args: ["changeEvent"] }], rangeSelect: [{ type: i0.Output, args: ["range-select"] }], hoverDate: [{ type: i0.Output, args: ["hover-date"] }] }); })();
|
|
228
227
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoCalendar, { className: "LuzmoCalendar", filePath: "components/calendar.ts", lineNumber: 25 }); })();
|
|
@@ -50,7 +50,7 @@ export declare class LuzmoCheckbox implements OnChanges, ControlValueAccessor {
|
|
|
50
50
|
registerOnTouched(fn: () => void): void;
|
|
51
51
|
setDisabledState(isDisabled: boolean): void;
|
|
52
52
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoCheckbox, never>;
|
|
53
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoCheckbox, "luzmo-checkbox", ["luzmoCheckbox"], { "disabled": { "alias": "disabled"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "emphasized": { "alias": "emphasized"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "size": { "alias": "size"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "name": { "alias": "name"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; }, { "changeEvent": "
|
|
53
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoCheckbox, "luzmo-checkbox", ["luzmoCheckbox"], { "disabled": { "alias": "disabled"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "emphasized": { "alias": "emphasized"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "size": { "alias": "size"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "name": { "alias": "name"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; }, { "changeEvent": "changeEvent"; }, never, ["*"], true, never>;
|
|
54
54
|
}
|
|
55
55
|
/** The underlying custom element type for LuzmoCheckbox */
|
|
56
56
|
export type LuzmoCheckboxElement = LuzmoCheckboxHostElement;
|
|
@@ -38,7 +38,7 @@ export class LuzmoCheckbox {
|
|
|
38
38
|
/** Whether the element is read-only */
|
|
39
39
|
readonly;
|
|
40
40
|
/** Announces a change in the `checked` property of a Checkbox */
|
|
41
|
-
changeEvent = output(
|
|
41
|
+
changeEvent = output();
|
|
42
42
|
constructor() {
|
|
43
43
|
this.bindEvents();
|
|
44
44
|
this.destroyRef.onDestroy(() => {
|
|
@@ -96,7 +96,6 @@ export class LuzmoCheckbox {
|
|
|
96
96
|
}
|
|
97
97
|
bindEvents() {
|
|
98
98
|
this.listenerCleanup.push(this.renderer.listen(this.host, 'change', (event) => {
|
|
99
|
-
this.changeEvent.emit(event);
|
|
100
99
|
if (!this.isWritingValue) {
|
|
101
100
|
const eventWithDetail = event;
|
|
102
101
|
const eventTarget = event.target;
|
|
@@ -108,13 +107,13 @@ export class LuzmoCheckbox {
|
|
|
108
107
|
: (detailRecord === undefined ? detail : undefined)
|
|
109
108
|
?? eventTarget?.['checked']
|
|
110
109
|
?? hostRecord['checked']);
|
|
111
|
-
if (Object.is(this.lastCvaValue, nextValue)) {
|
|
112
|
-
|
|
110
|
+
if (!Object.is(this.lastCvaValue, nextValue)) {
|
|
111
|
+
this.lastCvaValue = nextValue;
|
|
112
|
+
this.setHostProperty('checked', nextValue);
|
|
113
|
+
this.onChange(nextValue);
|
|
113
114
|
}
|
|
114
|
-
this.lastCvaValue = nextValue;
|
|
115
|
-
this.setHostProperty('checked', nextValue);
|
|
116
|
-
this.onChange(nextValue);
|
|
117
115
|
}
|
|
116
|
+
this.changeEvent.emit(event);
|
|
118
117
|
}));
|
|
119
118
|
this.listenerCleanup.push(this.renderer.listen(this.host, 'blur', () => {
|
|
120
119
|
this.onTouched();
|
|
@@ -146,7 +145,7 @@ export class LuzmoCheckbox {
|
|
|
146
145
|
}
|
|
147
146
|
}
|
|
148
147
|
static ɵfac = function LuzmoCheckbox_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoCheckbox)(); };
|
|
149
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoCheckbox, selectors: [["luzmo-checkbox"]], inputs: { disabled: "disabled", indeterminate: "indeterminate", autofocus: "autofocus", invalid: "invalid", emphasized: "emphasized", tabIndex: "tabIndex", size: "size", checked: "checked", name: "name", readonly: "readonly" }, outputs: { changeEvent: "
|
|
148
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoCheckbox, selectors: [["luzmo-checkbox"]], inputs: { disabled: "disabled", indeterminate: "indeterminate", autofocus: "autofocus", invalid: "invalid", emphasized: "emphasized", tabIndex: "tabIndex", size: "size", checked: "checked", name: "name", readonly: "readonly" }, outputs: { changeEvent: "changeEvent" }, exportAs: ["luzmoCheckbox"], features: [i0.ɵɵProvidersFeature([
|
|
150
149
|
{
|
|
151
150
|
provide: NG_VALUE_ACCESSOR,
|
|
152
151
|
useExisting: forwardRef(() => LuzmoCheckbox),
|
|
@@ -203,5 +202,5 @@ export class LuzmoCheckbox {
|
|
|
203
202
|
}], readonly: [{
|
|
204
203
|
type: Input,
|
|
205
204
|
args: [{ alias: 'readonly' }]
|
|
206
|
-
}], changeEvent: [{ type: i0.Output, args: ["
|
|
205
|
+
}], changeEvent: [{ type: i0.Output, args: ["changeEvent"] }] }); })();
|
|
207
206
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoCheckbox, { className: "LuzmoCheckbox", filePath: "components/checkbox.ts", lineNumber: 26 }); })();
|