@luzmo/ngx-lucero 2.4.2 → 2.5.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 +63 -0
- package/esm/components/action-button.d.ts +2 -2
- package/esm/components/action-button.js +2 -2
- package/esm/components/action-menu.d.ts +7 -2
- package/esm/components/action-menu.js +18 -2
- package/esm/components/progress-steps.d.ts +1 -2
- package/esm/components/progress-steps.js +1 -8
- package/esm/components/table-body.d.ts +30 -0
- package/esm/components/table-body.js +75 -0
- package/esm/components/table-cell.d.ts +30 -0
- package/esm/components/table-cell.js +79 -0
- package/esm/components/table-checkbox-cell.d.ts +37 -0
- package/esm/components/table-checkbox-cell.js +120 -0
- package/esm/components/table-disclosure-cell.d.ts +31 -0
- package/esm/components/table-disclosure-cell.js +84 -0
- package/esm/components/table-head-cell.d.ts +50 -0
- package/esm/components/table-head-cell.js +155 -0
- package/esm/components/table-head.d.ts +30 -0
- package/esm/components/table-head.js +79 -0
- package/esm/components/table-row-details.d.ts +32 -0
- package/esm/components/table-row-details.js +83 -0
- package/esm/components/table-row.d.ts +38 -0
- package/esm/components/table-row.js +111 -0
- package/esm/components/table.d.ts +89 -0
- package/esm/components/table.js +279 -0
- package/esm/components/template-input.d.ts +11 -0
- package/esm/components/template-input.js +56 -0
- package/esm/components/template.d.ts +10 -0
- package/esm/components/template.js +30 -0
- package/esm/index.d.ts +21 -2
- package/esm/index.js +37 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -86,6 +86,69 @@ Angular 17–19 do not recognize custom elements as anchor-like. On those
|
|
|
86
86
|
versions, use `routerLink` without a separate `href` for client-side navigation,
|
|
87
87
|
or upgrade to Angular 20+ when native link behavior is required.
|
|
88
88
|
|
|
89
|
+
## Template inputs
|
|
90
|
+
|
|
91
|
+
Properties marked with `@templateProperty` accept nested named templates through
|
|
92
|
+
`LuzmoTemplate`. Import both the component and `LuzmoTemplate` into your standalone
|
|
93
|
+
component's `imports` array:
|
|
94
|
+
|
|
95
|
+
```ts
|
|
96
|
+
import { LuzmoTable, LuzmoTableCell, LuzmoTemplate } from '@luzmo/ngx-lucero';
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
```html
|
|
100
|
+
<luzmo-table [items]="rows" [columns]="columns">
|
|
101
|
+
<ng-template luzmoTemplate="row" let-item let-index="index">
|
|
102
|
+
<luzmo-table-cell>{{ index }}: {{ item.name }}</luzmo-table-cell>
|
|
103
|
+
</ng-template>
|
|
104
|
+
<ng-template luzmoTemplate="details" let-item>
|
|
105
|
+
Details: {{ item.name }}
|
|
106
|
+
</ng-template>
|
|
107
|
+
</luzmo-table>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
The directive must be a direct content child of the wrapper (Angular `@if` and
|
|
111
|
+
`@for` blocks are supported). Templates inside nested components belong to those
|
|
112
|
+
components. Duplicate or unknown slot names throw an error.
|
|
113
|
+
|
|
114
|
+
Explicit inputs remain supported: `[renderItem]="callbackOrTemplate"` takes
|
|
115
|
+
precedence over the `row` slot. A `null` or `undefined` input falls back to the
|
|
116
|
+
nested template; removing that template restores the component's initial renderer.
|
|
117
|
+
|
|
118
|
+
The table context exposes `$implicit`/`item` and the source `index`. Angular views
|
|
119
|
+
refresh when their declaring component is checked, including bindings, events and
|
|
120
|
+
control flow. Each mounted Lit render location owns one view. Changing templates,
|
|
121
|
+
removing content or destroying the wrapper releases the affected views. Unchanged
|
|
122
|
+
templates retain their views across Angular checks. Temporary Lit disconnection
|
|
123
|
+
releases views; reconnecting creates them again.
|
|
124
|
+
|
|
125
|
+
### Declaring a template property
|
|
126
|
+
|
|
127
|
+
In a web component, replace the renderer's `@property({ attribute: false })`
|
|
128
|
+
with the shared decorator:
|
|
129
|
+
|
|
130
|
+
```ts
|
|
131
|
+
@templateProperty({ slot: 'row', context: ['item', 'index'], implicit: 'item' })
|
|
132
|
+
public renderItem: ((item: Item, index: number) => unknown) | undefined;
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
The optional `slot` names the projected template; without it, the property name
|
|
136
|
+
is used. Slot names must be unique within a component.
|
|
137
|
+
|
|
138
|
+
Import `templateProperty` from the core utilities. Continue calling the renderer
|
|
139
|
+
inside a Lit child expression. The analyzer writes the literal context names and
|
|
140
|
+
implicit argument to the Custom Elements Manifest; the Angular generator uses
|
|
141
|
+
that metadata to produce its input and shared adapter. Neither layer branches on
|
|
142
|
+
a component name. This contract requires the renderer result to reach a Lit child
|
|
143
|
+
expression; it does not apply to callbacks that require a string or a DOM element.
|
|
144
|
+
|
|
145
|
+
The wrappers generate typed `TemplateRef` inputs but do not generate
|
|
146
|
+
component-specific context guards to infer `let-item` inside an `ng-template`,
|
|
147
|
+
including templates marked with the generic `LuzmoTemplate` directive.
|
|
148
|
+
The existing callback API remains typed. Decorator options must be literal
|
|
149
|
+
`slot`, `context` and `implicit` values so the analyzer can read them without executing
|
|
150
|
+
component code.
|
|
151
|
+
|
|
89
152
|
## Notes
|
|
90
153
|
|
|
91
154
|
- This package depends on `@luzmo/lucero` for the underlying custom elements.
|
|
@@ -18,7 +18,7 @@ export declare class LuzmoActionButton implements OnChanges, ControlValueAccesso
|
|
|
18
18
|
holdAffordance?: boolean;
|
|
19
19
|
/** Whether the Action Button should show in a quiet state */
|
|
20
20
|
quiet?: boolean;
|
|
21
|
-
/** The surface treatment for neutral action buttons. `outline` preserves the standard surface; `fill` uses highlighted neutral surface tokens. Quiet, selected, and static-color appearances take precedence. Other variants retain their existing appearance. */
|
|
21
|
+
/** The surface treatment for neutral and primary action buttons. `outline` preserves the standard surface; `fill` uses highlighted neutral surface tokens. Primary fill uses primary surface and inverse content colors. Quiet, selected, and static-color appearances take precedence. Other variants retain their existing appearance. */
|
|
22
22
|
treatment?: ActionButtonTreatments;
|
|
23
23
|
/** The role for the Action Button */
|
|
24
24
|
role?: string;
|
|
@@ -28,7 +28,7 @@ export declare class LuzmoActionButton implements OnChanges, ControlValueAccesso
|
|
|
28
28
|
toggles?: boolean;
|
|
29
29
|
/** The static color variant to use for the action button. */
|
|
30
30
|
staticColor?: 'white' | 'black';
|
|
31
|
-
/** The appearance preset to apply to this action button. - `neutral` (default): the standard action button. - `primary`: a primary-colored outline action button. - `negative`: a destructive tool with negative text and icon colors. - `pill`: a content-width chip using the standard action-button radius. - `accent`: a content-width chip with a soft, primary-tinted theme. */
|
|
31
|
+
/** The appearance preset to apply to this action button. - `neutral` (default): the standard action button. - `primary`: a primary-colored outline or filled action button. - `negative`: a destructive tool with negative text and icon colors. - `pill`: a content-width chip using the standard action-button radius. - `accent`: a content-width chip with a soft, primary-tinted theme. */
|
|
32
32
|
variant?: ActionButtonVariants;
|
|
33
33
|
/** The value of the Action Button */
|
|
34
34
|
value?: string;
|
|
@@ -25,7 +25,7 @@ export class LuzmoActionButton {
|
|
|
25
25
|
holdAffordance;
|
|
26
26
|
/** Whether the Action Button should show in a quiet state */
|
|
27
27
|
quiet;
|
|
28
|
-
/** The surface treatment for neutral action buttons. `outline` preserves the standard surface; `fill` uses highlighted neutral surface tokens. Quiet, selected, and static-color appearances take precedence. Other variants retain their existing appearance. */
|
|
28
|
+
/** The surface treatment for neutral and primary action buttons. `outline` preserves the standard surface; `fill` uses highlighted neutral surface tokens. Primary fill uses primary surface and inverse content colors. Quiet, selected, and static-color appearances take precedence. Other variants retain their existing appearance. */
|
|
29
29
|
treatment;
|
|
30
30
|
/** The role for the Action Button */
|
|
31
31
|
role;
|
|
@@ -35,7 +35,7 @@ export class LuzmoActionButton {
|
|
|
35
35
|
toggles;
|
|
36
36
|
/** The static color variant to use for the action button. */
|
|
37
37
|
staticColor;
|
|
38
|
-
/** The appearance preset to apply to this action button. - `neutral` (default): the standard action button. - `primary`: a primary-colored outline action button. - `negative`: a destructive tool with negative text and icon colors. - `pill`: a content-width chip using the standard action-button radius. - `accent`: a content-width chip with a soft, primary-tinted theme. */
|
|
38
|
+
/** The appearance preset to apply to this action button. - `neutral` (default): the standard action button. - `primary`: a primary-colored outline or filled action button. - `negative`: a destructive tool with negative text and icon colors. - `pill`: a content-width chip using the standard action-button radius. - `accent`: a content-width chip with a soft, primary-tinted theme. */
|
|
39
39
|
variant;
|
|
40
40
|
/** The value of the Action Button */
|
|
41
41
|
value;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
2
|
import { ControlValueAccessor } from '@angular/forms';
|
|
3
3
|
import '@luzmo/lucero/action-menu';
|
|
4
|
-
import type { LuzmoActionMenu as LuzmoActionMenuHostElement } from '@luzmo/lucero/action-menu';
|
|
4
|
+
import type { LuzmoActionMenu as LuzmoActionMenuHostElement, ActionButtonTreatments, ActionButtonVariants } from '@luzmo/lucero/action-menu';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
export type { ActionButtonTreatments, ActionButtonVariants } from '@luzmo/lucero/action-menu';
|
|
6
7
|
export declare class LuzmoActionMenu implements OnChanges, ControlValueAccessor {
|
|
7
8
|
private readonly elementRef;
|
|
8
9
|
private readonly renderer;
|
|
@@ -13,6 +14,10 @@ export declare class LuzmoActionMenu implements OnChanges, ControlValueAccessor
|
|
|
13
14
|
get nativeElement(): LuzmoActionMenuHostElement;
|
|
14
15
|
selects?: never | 'single';
|
|
15
16
|
staticColor?: 'white' | 'black';
|
|
17
|
+
/** The appearance preset for the trigger, independent of the menu variant. When omitted, the trigger uses its neutral variant. */
|
|
18
|
+
buttonVariant?: ActionButtonVariants;
|
|
19
|
+
/** The surface treatment for the trigger, including primary filled actions. When omitted, the trigger uses its outline treatment. */
|
|
20
|
+
buttonTreatment?: ActionButtonTreatments;
|
|
16
21
|
handleSlottableRequest?: unknown;
|
|
17
22
|
managePresenceObservedSlot?: unknown;
|
|
18
23
|
size?: ('xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl');
|
|
@@ -76,7 +81,7 @@ export declare class LuzmoActionMenu implements OnChanges, ControlValueAccessor
|
|
|
76
81
|
toggle(target?: boolean): void;
|
|
77
82
|
close(): void;
|
|
78
83
|
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": "changeEvent"; "scrollEvent": "scrollEvent"; "keydownEvent": "keydownEvent"; }, never, ["*"], true, never>;
|
|
84
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoActionMenu, "luzmo-action-menu", ["luzmoActionMenu"], { "selects": { "alias": "selects"; "required": false; }; "staticColor": { "alias": "staticColor"; "required": false; }; "buttonVariant": { "alias": "buttonVariant"; "required": false; }; "buttonTreatment": { "alias": "buttonTreatment"; "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
85
|
}
|
|
81
86
|
/** The underlying custom element type for LuzmoActionMenu */
|
|
82
87
|
export type LuzmoActionMenuElement = LuzmoActionMenuHostElement;
|
|
@@ -24,6 +24,10 @@ export class LuzmoActionMenu {
|
|
|
24
24
|
}
|
|
25
25
|
selects;
|
|
26
26
|
staticColor;
|
|
27
|
+
/** The appearance preset for the trigger, independent of the menu variant. When omitted, the trigger uses its neutral variant. */
|
|
28
|
+
buttonVariant;
|
|
29
|
+
/** The surface treatment for the trigger, including primary filled actions. When omitted, the trigger uses its outline treatment. */
|
|
30
|
+
buttonTreatment;
|
|
27
31
|
handleSlottableRequest;
|
|
28
32
|
managePresenceObservedSlot;
|
|
29
33
|
size;
|
|
@@ -82,6 +86,12 @@ export class LuzmoActionMenu {
|
|
|
82
86
|
case 'staticColor':
|
|
83
87
|
this.setHostProperty('staticColor', changes['staticColor'].currentValue);
|
|
84
88
|
break;
|
|
89
|
+
case 'buttonVariant':
|
|
90
|
+
this.setHostProperty('buttonVariant', changes['buttonVariant'].currentValue);
|
|
91
|
+
break;
|
|
92
|
+
case 'buttonTreatment':
|
|
93
|
+
this.setHostProperty('buttonTreatment', changes['buttonTreatment'].currentValue);
|
|
94
|
+
break;
|
|
85
95
|
case 'handleSlottableRequest':
|
|
86
96
|
this.setHostProperty('handleSlottableRequest', changes['handleSlottableRequest'].currentValue);
|
|
87
97
|
break;
|
|
@@ -249,7 +259,7 @@ export class LuzmoActionMenu {
|
|
|
249
259
|
return this.host.close();
|
|
250
260
|
}
|
|
251
261
|
static ɵfac = function LuzmoActionMenu_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoActionMenu)(); };
|
|
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([
|
|
262
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoActionMenu, selectors: [["luzmo-action-menu"]], inputs: { selects: "selects", staticColor: "staticColor", buttonVariant: "buttonVariant", buttonTreatment: "buttonTreatment", 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([
|
|
253
263
|
{
|
|
254
264
|
provide: NG_VALUE_ACCESSOR,
|
|
255
265
|
useExisting: forwardRef(() => LuzmoActionMenu),
|
|
@@ -282,6 +292,12 @@ export class LuzmoActionMenu {
|
|
|
282
292
|
}], staticColor: [{
|
|
283
293
|
type: Input,
|
|
284
294
|
args: [{ alias: 'staticColor' }]
|
|
295
|
+
}], buttonVariant: [{
|
|
296
|
+
type: Input,
|
|
297
|
+
args: [{ alias: 'buttonVariant' }]
|
|
298
|
+
}], buttonTreatment: [{
|
|
299
|
+
type: Input,
|
|
300
|
+
args: [{ alias: 'buttonTreatment' }]
|
|
285
301
|
}], handleSlottableRequest: [{
|
|
286
302
|
type: Input,
|
|
287
303
|
args: [{ alias: 'handleSlottableRequest' }]
|
|
@@ -370,4 +386,4 @@ export class LuzmoActionMenu {
|
|
|
370
386
|
type: Input,
|
|
371
387
|
args: [{ alias: 'tabIndex' }]
|
|
372
388
|
}], changeEvent: [{ type: i0.Output, args: ["changeEvent"] }], scrollEvent: [{ type: i0.Output, args: ["scrollEvent"] }], keydownEvent: [{ type: i0.Output, args: ["keydownEvent"] }] }); })();
|
|
373
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoActionMenu, { className: "LuzmoActionMenu", filePath: "components/action-menu.ts", lineNumber:
|
|
389
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoActionMenu, { className: "LuzmoActionMenu", filePath: "components/action-menu.ts", lineNumber: 30 }); })();
|
|
@@ -19,7 +19,6 @@ export declare class LuzmoProgressSteps implements OnChanges {
|
|
|
19
19
|
collapsed?: boolean;
|
|
20
20
|
/** 'detailed' (default): the history lists main steps with their substeps - 'compact': the history lists main steps only */
|
|
21
21
|
displayMode?: ProgressStepsDisplayMode;
|
|
22
|
-
condensed?: boolean;
|
|
23
22
|
/** Visible and announced copy. Partial overrides are merged over the English defaults. `{{count}}` is replaced in the count labels. */
|
|
24
23
|
labels?: Partial<ProgressStepsLabels>;
|
|
25
24
|
/** Disables the shimmer and transitions. */
|
|
@@ -42,7 +41,7 @@ export declare class LuzmoProgressSteps implements OnChanges {
|
|
|
42
41
|
private setHostProperty;
|
|
43
42
|
private bindEvents;
|
|
44
43
|
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoProgressSteps, never>;
|
|
45
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoProgressSteps, "luzmo-progress-steps", ["luzmoProgressSteps"], { "progress": { "alias": "progress"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "collapsed": { "alias": "collapsed"; "required": false; }; "displayMode": { "alias": "displayMode"; "required": false; }; "
|
|
44
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoProgressSteps, "luzmo-progress-steps", ["luzmoProgressSteps"], { "progress": { "alias": "progress"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "collapsed": { "alias": "collapsed"; "required": false; }; "displayMode": { "alias": "displayMode"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "noAnimate": { "alias": "noAnimate"; "required": false; }; "open": { "alias": "open"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoStepExpanded": "luzmo-step-expanded"; "luzmoStepCollapsed": "luzmo-step-collapsed"; }, never, ["*"], true, never>;
|
|
46
45
|
}
|
|
47
46
|
/** The underlying custom element type for LuzmoProgressSteps */
|
|
48
47
|
export type LuzmoProgressStepsElement = LuzmoProgressStepsHostElement;
|
|
@@ -23,7 +23,6 @@ export class LuzmoProgressSteps {
|
|
|
23
23
|
collapsed;
|
|
24
24
|
/** 'detailed' (default): the history lists main steps with their substeps - 'compact': the history lists main steps only */
|
|
25
25
|
displayMode;
|
|
26
|
-
condensed;
|
|
27
26
|
/** Visible and announced copy. Partial overrides are merged over the English defaults. `{{count}}` is replaced in the count labels. */
|
|
28
27
|
labels;
|
|
29
28
|
/** Disables the shimmer and transitions. */
|
|
@@ -58,9 +57,6 @@ export class LuzmoProgressSteps {
|
|
|
58
57
|
case 'displayMode':
|
|
59
58
|
this.setHostProperty('displayMode', changes['displayMode'].currentValue);
|
|
60
59
|
break;
|
|
61
|
-
case 'condensed':
|
|
62
|
-
this.setHostProperty('condensed', changes['condensed'].currentValue);
|
|
63
|
-
break;
|
|
64
60
|
case 'labels':
|
|
65
61
|
this.setHostProperty('labels', changes['labels'].currentValue);
|
|
66
62
|
break;
|
|
@@ -96,7 +92,7 @@ export class LuzmoProgressSteps {
|
|
|
96
92
|
}));
|
|
97
93
|
}
|
|
98
94
|
static ɵfac = function LuzmoProgressSteps_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoProgressSteps)(); };
|
|
99
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoProgressSteps, selectors: [["luzmo-progress-steps"]], inputs: { progress: "progress", locale: "locale", collapsed: "collapsed", displayMode: "displayMode",
|
|
95
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoProgressSteps, selectors: [["luzmo-progress-steps"]], inputs: { progress: "progress", locale: "locale", collapsed: "collapsed", displayMode: "displayMode", labels: "labels", noAnimate: "noAnimate", open: "open", size: "size" }, outputs: { luzmoStepExpanded: "luzmo-step-expanded", luzmoStepCollapsed: "luzmo-step-collapsed" }, exportAs: ["luzmoProgressSteps"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoProgressSteps_Template(rf, ctx) { if (rf & 1) {
|
|
100
96
|
i0.ɵɵprojectionDef();
|
|
101
97
|
i0.ɵɵprojection(0);
|
|
102
98
|
} }, encapsulation: 2 });
|
|
@@ -122,9 +118,6 @@ export class LuzmoProgressSteps {
|
|
|
122
118
|
}], displayMode: [{
|
|
123
119
|
type: Input,
|
|
124
120
|
args: [{ alias: 'displayMode' }]
|
|
125
|
-
}], condensed: [{
|
|
126
|
-
type: Input,
|
|
127
|
-
args: [{ alias: 'condensed' }]
|
|
128
121
|
}], labels: [{
|
|
129
122
|
type: Input,
|
|
130
123
|
args: [{ alias: 'labels' }]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import '@luzmo/lucero/table';
|
|
3
|
+
import type { LuzmoTableBody as LuzmoTableBodyHostElement } from '@luzmo/lucero/table';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class LuzmoTableBody implements OnChanges {
|
|
6
|
+
private readonly elementRef;
|
|
7
|
+
private readonly renderer;
|
|
8
|
+
private readonly destroyRef;
|
|
9
|
+
private readonly host;
|
|
10
|
+
private readonly listenerCleanup;
|
|
11
|
+
/** The underlying custom element instance. Use to call imperative methods. */
|
|
12
|
+
get nativeElement(): LuzmoTableBodyHostElement;
|
|
13
|
+
role?: string;
|
|
14
|
+
/** The body scroll position changed. */
|
|
15
|
+
readonly luzmoTableBodyScroll: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
|
|
16
|
+
constructor();
|
|
17
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
18
|
+
/**
|
|
19
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
20
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
21
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
22
|
+
* undefined / null by clearing their bindings.
|
|
23
|
+
*/
|
|
24
|
+
private setHostProperty;
|
|
25
|
+
private bindEvents;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoTableBody, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoTableBody, "luzmo-table-body", ["luzmoTableBody"], { "role": { "alias": "role"; "required": false; }; }, { "luzmoTableBodyScroll": "luzmo-table-body-scroll"; }, never, ["*"], true, never>;
|
|
28
|
+
}
|
|
29
|
+
/** The underlying custom element type for LuzmoTableBody */
|
|
30
|
+
export type LuzmoTableBodyElement = LuzmoTableBodyHostElement;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, output, Renderer2 } from '@angular/core';
|
|
2
|
+
import '@luzmo/lucero/table';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const _c0 = ["*"];
|
|
5
|
+
/**
|
|
6
|
+
* Angular wrapper component for <luzmo-table-body>
|
|
7
|
+
*
|
|
8
|
+
* @slot (default) - `luzmo-table-row` elements.
|
|
9
|
+
*/
|
|
10
|
+
export class LuzmoTableBody {
|
|
11
|
+
elementRef = inject(ElementRef);
|
|
12
|
+
renderer = inject(Renderer2);
|
|
13
|
+
destroyRef = inject(DestroyRef);
|
|
14
|
+
host = this.elementRef.nativeElement;
|
|
15
|
+
listenerCleanup = [];
|
|
16
|
+
/** The underlying custom element instance. Use to call imperative methods. */
|
|
17
|
+
get nativeElement() {
|
|
18
|
+
return this.host;
|
|
19
|
+
}
|
|
20
|
+
role;
|
|
21
|
+
/** The body scroll position changed. */
|
|
22
|
+
luzmoTableBodyScroll = output({ alias: 'luzmo-table-body-scroll' });
|
|
23
|
+
constructor() {
|
|
24
|
+
this.bindEvents();
|
|
25
|
+
this.destroyRef.onDestroy(() => {
|
|
26
|
+
for (const cleanup of this.listenerCleanup) {
|
|
27
|
+
cleanup();
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
ngOnChanges(changes) {
|
|
32
|
+
for (const key of Object.keys(changes)) {
|
|
33
|
+
switch (key) {
|
|
34
|
+
case 'role':
|
|
35
|
+
this.setHostProperty('role', changes['role'].currentValue);
|
|
36
|
+
break;
|
|
37
|
+
default:
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
44
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
45
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
46
|
+
* undefined / null by clearing their bindings.
|
|
47
|
+
*/
|
|
48
|
+
setHostProperty(key, value) {
|
|
49
|
+
this.renderer.setProperty(this.host, key, value);
|
|
50
|
+
}
|
|
51
|
+
bindEvents() {
|
|
52
|
+
this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-table-body-scroll', (event) => {
|
|
53
|
+
this.luzmoTableBodyScroll.emit(event);
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
static ɵfac = function LuzmoTableBody_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoTableBody)(); };
|
|
57
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoTableBody, selectors: [["luzmo-table-body"]], inputs: { role: "role" }, outputs: { luzmoTableBodyScroll: "luzmo-table-body-scroll" }, exportAs: ["luzmoTableBody"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoTableBody_Template(rf, ctx) { if (rf & 1) {
|
|
58
|
+
i0.ɵɵprojectionDef();
|
|
59
|
+
i0.ɵɵprojection(0);
|
|
60
|
+
} }, encapsulation: 2 });
|
|
61
|
+
}
|
|
62
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoTableBody, [{
|
|
63
|
+
type: Component,
|
|
64
|
+
args: [{
|
|
65
|
+
selector: 'luzmo-table-body',
|
|
66
|
+
exportAs: 'luzmoTableBody',
|
|
67
|
+
standalone: true,
|
|
68
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
69
|
+
template: '<ng-content />'
|
|
70
|
+
}]
|
|
71
|
+
}], () => [], { role: [{
|
|
72
|
+
type: Input,
|
|
73
|
+
args: [{ alias: 'role' }]
|
|
74
|
+
}], luzmoTableBodyScroll: [{ type: i0.Output, args: ["luzmo-table-body-scroll"] }] }); })();
|
|
75
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoTableBody, { className: "LuzmoTableBody", filePath: "components/table-body.ts", lineNumber: 17 }); })();
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import '@luzmo/lucero/table';
|
|
3
|
+
import type { LuzmoTableCell as LuzmoTableCellHostElement } from '@luzmo/lucero/table';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class LuzmoTableCell implements OnChanges {
|
|
6
|
+
private readonly elementRef;
|
|
7
|
+
private readonly renderer;
|
|
8
|
+
private readonly destroyRef;
|
|
9
|
+
private readonly host;
|
|
10
|
+
private readonly listenerCleanup;
|
|
11
|
+
/** The underlying custom element instance. Use to call imperative methods. */
|
|
12
|
+
get nativeElement(): LuzmoTableCellHostElement;
|
|
13
|
+
role?: string;
|
|
14
|
+
/** Maximum number of lines before the cell truncates. Unset wraps. Overrides the column's `lineClamp`. */
|
|
15
|
+
lineClamp?: number;
|
|
16
|
+
constructor();
|
|
17
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
18
|
+
/**
|
|
19
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
20
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
21
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
22
|
+
* undefined / null by clearing their bindings.
|
|
23
|
+
*/
|
|
24
|
+
private setHostProperty;
|
|
25
|
+
private bindEvents;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoTableCell, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoTableCell, "luzmo-table-cell", ["luzmoTableCell"], { "role": { "alias": "role"; "required": false; }; "lineClamp": { "alias": "lineClamp"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
28
|
+
}
|
|
29
|
+
/** The underlying custom element type for LuzmoTableCell */
|
|
30
|
+
export type LuzmoTableCellElement = LuzmoTableCellHostElement;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, Renderer2 } from '@angular/core';
|
|
2
|
+
import '@luzmo/lucero/table';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const _c0 = ["*"];
|
|
5
|
+
/**
|
|
6
|
+
* Angular wrapper component for <luzmo-table-cell>
|
|
7
|
+
*
|
|
8
|
+
* @slot (default) - Cell content.
|
|
9
|
+
*/
|
|
10
|
+
export class LuzmoTableCell {
|
|
11
|
+
elementRef = inject(ElementRef);
|
|
12
|
+
renderer = inject(Renderer2);
|
|
13
|
+
destroyRef = inject(DestroyRef);
|
|
14
|
+
host = this.elementRef.nativeElement;
|
|
15
|
+
listenerCleanup = [];
|
|
16
|
+
/** The underlying custom element instance. Use to call imperative methods. */
|
|
17
|
+
get nativeElement() {
|
|
18
|
+
return this.host;
|
|
19
|
+
}
|
|
20
|
+
role;
|
|
21
|
+
/** Maximum number of lines before the cell truncates. Unset wraps. Overrides the column's `lineClamp`. */
|
|
22
|
+
lineClamp;
|
|
23
|
+
constructor() {
|
|
24
|
+
this.bindEvents();
|
|
25
|
+
this.destroyRef.onDestroy(() => {
|
|
26
|
+
for (const cleanup of this.listenerCleanup) {
|
|
27
|
+
cleanup();
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
ngOnChanges(changes) {
|
|
32
|
+
for (const key of Object.keys(changes)) {
|
|
33
|
+
switch (key) {
|
|
34
|
+
case 'role':
|
|
35
|
+
this.setHostProperty('role', changes['role'].currentValue);
|
|
36
|
+
break;
|
|
37
|
+
case 'lineClamp':
|
|
38
|
+
this.setHostProperty('lineClamp', changes['lineClamp'].currentValue);
|
|
39
|
+
break;
|
|
40
|
+
default:
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
47
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
48
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
49
|
+
* undefined / null by clearing their bindings.
|
|
50
|
+
*/
|
|
51
|
+
setHostProperty(key, value) {
|
|
52
|
+
this.renderer.setProperty(this.host, key, value);
|
|
53
|
+
}
|
|
54
|
+
bindEvents() {
|
|
55
|
+
// No custom events for this wrapper.
|
|
56
|
+
}
|
|
57
|
+
static ɵfac = function LuzmoTableCell_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoTableCell)(); };
|
|
58
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoTableCell, selectors: [["luzmo-table-cell"]], inputs: { role: "role", lineClamp: "lineClamp" }, exportAs: ["luzmoTableCell"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoTableCell_Template(rf, ctx) { if (rf & 1) {
|
|
59
|
+
i0.ɵɵprojectionDef();
|
|
60
|
+
i0.ɵɵprojection(0);
|
|
61
|
+
} }, encapsulation: 2 });
|
|
62
|
+
}
|
|
63
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoTableCell, [{
|
|
64
|
+
type: Component,
|
|
65
|
+
args: [{
|
|
66
|
+
selector: 'luzmo-table-cell',
|
|
67
|
+
exportAs: 'luzmoTableCell',
|
|
68
|
+
standalone: true,
|
|
69
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
70
|
+
template: '<ng-content />'
|
|
71
|
+
}]
|
|
72
|
+
}], () => [], { role: [{
|
|
73
|
+
type: Input,
|
|
74
|
+
args: [{ alias: 'role' }]
|
|
75
|
+
}], lineClamp: [{
|
|
76
|
+
type: Input,
|
|
77
|
+
args: [{ alias: 'lineClamp' }]
|
|
78
|
+
}] }); })();
|
|
79
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoTableCell, { className: "LuzmoTableCell", filePath: "components/table-cell.ts", lineNumber: 17 }); })();
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import '@luzmo/lucero/table';
|
|
3
|
+
import type { LuzmoTableCheckboxCell as LuzmoTableCheckboxCellHostElement } from '@luzmo/lucero/table';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class LuzmoTableCheckboxCell implements OnChanges {
|
|
6
|
+
private readonly elementRef;
|
|
7
|
+
private readonly renderer;
|
|
8
|
+
private readonly destroyRef;
|
|
9
|
+
private readonly host;
|
|
10
|
+
private readonly listenerCleanup;
|
|
11
|
+
/** The underlying custom element instance. Use to call imperative methods. */
|
|
12
|
+
get nativeElement(): LuzmoTableCheckboxCellHostElement;
|
|
13
|
+
role?: string;
|
|
14
|
+
/** Whether this is the select-all cell of the header row. */
|
|
15
|
+
headCell?: boolean;
|
|
16
|
+
checked?: boolean;
|
|
17
|
+
indeterminate?: boolean;
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
selectsSingle?: boolean;
|
|
20
|
+
emphasized?: boolean;
|
|
21
|
+
/** Accessible name of the checkbox. */
|
|
22
|
+
label?: string;
|
|
23
|
+
constructor();
|
|
24
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
25
|
+
/**
|
|
26
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
27
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
28
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
29
|
+
* undefined / null by clearing their bindings.
|
|
30
|
+
*/
|
|
31
|
+
private setHostProperty;
|
|
32
|
+
private bindEvents;
|
|
33
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoTableCheckboxCell, never>;
|
|
34
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoTableCheckboxCell, "luzmo-table-checkbox-cell", ["luzmoTableCheckboxCell"], { "role": { "alias": "role"; "required": false; }; "headCell": { "alias": "headCell"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "selectsSingle": { "alias": "selectsSingle"; "required": false; }; "emphasized": { "alias": "emphasized"; "required": false; }; "label": { "alias": "label"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
35
|
+
}
|
|
36
|
+
/** The underlying custom element type for LuzmoTableCheckboxCell */
|
|
37
|
+
export type LuzmoTableCheckboxCellElement = LuzmoTableCheckboxCellHostElement;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, Renderer2 } from '@angular/core';
|
|
2
|
+
import '@luzmo/lucero/table';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const _c0 = ["*"];
|
|
5
|
+
/**
|
|
6
|
+
* Angular wrapper component for <luzmo-table-checkbox-cell>
|
|
7
|
+
*/
|
|
8
|
+
export class LuzmoTableCheckboxCell {
|
|
9
|
+
elementRef = inject(ElementRef);
|
|
10
|
+
renderer = inject(Renderer2);
|
|
11
|
+
destroyRef = inject(DestroyRef);
|
|
12
|
+
host = this.elementRef.nativeElement;
|
|
13
|
+
listenerCleanup = [];
|
|
14
|
+
/** The underlying custom element instance. Use to call imperative methods. */
|
|
15
|
+
get nativeElement() {
|
|
16
|
+
return this.host;
|
|
17
|
+
}
|
|
18
|
+
role;
|
|
19
|
+
/** Whether this is the select-all cell of the header row. */
|
|
20
|
+
headCell;
|
|
21
|
+
checked;
|
|
22
|
+
indeterminate;
|
|
23
|
+
disabled;
|
|
24
|
+
selectsSingle;
|
|
25
|
+
emphasized;
|
|
26
|
+
/** Accessible name of the checkbox. */
|
|
27
|
+
label;
|
|
28
|
+
constructor() {
|
|
29
|
+
this.bindEvents();
|
|
30
|
+
this.destroyRef.onDestroy(() => {
|
|
31
|
+
for (const cleanup of this.listenerCleanup) {
|
|
32
|
+
cleanup();
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
ngOnChanges(changes) {
|
|
37
|
+
for (const key of Object.keys(changes)) {
|
|
38
|
+
switch (key) {
|
|
39
|
+
case 'role':
|
|
40
|
+
this.setHostProperty('role', changes['role'].currentValue);
|
|
41
|
+
break;
|
|
42
|
+
case 'headCell':
|
|
43
|
+
this.setHostProperty('headCell', changes['headCell'].currentValue);
|
|
44
|
+
break;
|
|
45
|
+
case 'checked':
|
|
46
|
+
this.setHostProperty('checked', changes['checked'].currentValue);
|
|
47
|
+
break;
|
|
48
|
+
case 'indeterminate':
|
|
49
|
+
this.setHostProperty('indeterminate', changes['indeterminate'].currentValue);
|
|
50
|
+
break;
|
|
51
|
+
case 'disabled':
|
|
52
|
+
this.setHostProperty('disabled', changes['disabled'].currentValue);
|
|
53
|
+
break;
|
|
54
|
+
case 'selectsSingle':
|
|
55
|
+
this.setHostProperty('selectsSingle', changes['selectsSingle'].currentValue);
|
|
56
|
+
break;
|
|
57
|
+
case 'emphasized':
|
|
58
|
+
this.setHostProperty('emphasized', changes['emphasized'].currentValue);
|
|
59
|
+
break;
|
|
60
|
+
case 'label':
|
|
61
|
+
this.setHostProperty('label', changes['label'].currentValue);
|
|
62
|
+
break;
|
|
63
|
+
default:
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
70
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
71
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
72
|
+
* undefined / null by clearing their bindings.
|
|
73
|
+
*/
|
|
74
|
+
setHostProperty(key, value) {
|
|
75
|
+
this.renderer.setProperty(this.host, key, value);
|
|
76
|
+
}
|
|
77
|
+
bindEvents() {
|
|
78
|
+
// No custom events for this wrapper.
|
|
79
|
+
}
|
|
80
|
+
static ɵfac = function LuzmoTableCheckboxCell_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoTableCheckboxCell)(); };
|
|
81
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoTableCheckboxCell, selectors: [["luzmo-table-checkbox-cell"]], inputs: { role: "role", headCell: "headCell", checked: "checked", indeterminate: "indeterminate", disabled: "disabled", selectsSingle: "selectsSingle", emphasized: "emphasized", label: "label" }, exportAs: ["luzmoTableCheckboxCell"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoTableCheckboxCell_Template(rf, ctx) { if (rf & 1) {
|
|
82
|
+
i0.ɵɵprojectionDef();
|
|
83
|
+
i0.ɵɵprojection(0);
|
|
84
|
+
} }, encapsulation: 2 });
|
|
85
|
+
}
|
|
86
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoTableCheckboxCell, [{
|
|
87
|
+
type: Component,
|
|
88
|
+
args: [{
|
|
89
|
+
selector: 'luzmo-table-checkbox-cell',
|
|
90
|
+
exportAs: 'luzmoTableCheckboxCell',
|
|
91
|
+
standalone: true,
|
|
92
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
93
|
+
template: '<ng-content />'
|
|
94
|
+
}]
|
|
95
|
+
}], () => [], { role: [{
|
|
96
|
+
type: Input,
|
|
97
|
+
args: [{ alias: 'role' }]
|
|
98
|
+
}], headCell: [{
|
|
99
|
+
type: Input,
|
|
100
|
+
args: [{ alias: 'headCell' }]
|
|
101
|
+
}], checked: [{
|
|
102
|
+
type: Input,
|
|
103
|
+
args: [{ alias: 'checked' }]
|
|
104
|
+
}], indeterminate: [{
|
|
105
|
+
type: Input,
|
|
106
|
+
args: [{ alias: 'indeterminate' }]
|
|
107
|
+
}], disabled: [{
|
|
108
|
+
type: Input,
|
|
109
|
+
args: [{ alias: 'disabled' }]
|
|
110
|
+
}], selectsSingle: [{
|
|
111
|
+
type: Input,
|
|
112
|
+
args: [{ alias: 'selectsSingle' }]
|
|
113
|
+
}], emphasized: [{
|
|
114
|
+
type: Input,
|
|
115
|
+
args: [{ alias: 'emphasized' }]
|
|
116
|
+
}], label: [{
|
|
117
|
+
type: Input,
|
|
118
|
+
args: [{ alias: 'label' }]
|
|
119
|
+
}] }); })();
|
|
120
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoTableCheckboxCell, { className: "LuzmoTableCheckboxCell", filePath: "components/table-checkbox-cell.ts", lineNumber: 15 }); })();
|