@luzmo/ngx-lucero 1.0.1-alpha.78
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 +41 -0
- package/esm/components/accordion-item.d.ts +32 -0
- package/esm/components/accordion-item.js +89 -0
- package/esm/components/accordion.d.ts +38 -0
- package/esm/components/accordion.js +107 -0
- package/esm/components/action-bar.d.ts +32 -0
- package/esm/components/action-bar.js +83 -0
- package/esm/components/action-button.d.ts +59 -0
- package/esm/components/action-button.js +205 -0
- package/esm/components/action-group.d.ts +42 -0
- package/esm/components/action-group.js +155 -0
- package/esm/components/action-menu.d.ts +75 -0
- package/esm/components/action-menu.js +337 -0
- package/esm/components/avatar.d.ts +35 -0
- package/esm/components/avatar.js +94 -0
- package/esm/components/badge.d.ts +31 -0
- package/esm/components/badge.js +86 -0
- package/esm/components/button-group.d.ts +28 -0
- package/esm/components/button-group.js +71 -0
- package/esm/components/button.d.ts +40 -0
- package/esm/components/button.js +140 -0
- package/esm/components/calendar.d.ts +64 -0
- package/esm/components/calendar.js +218 -0
- package/esm/components/chat-message-group.d.ts +29 -0
- package/esm/components/chat-message-group.js +76 -0
- package/esm/components/chat-message.d.ts +50 -0
- package/esm/components/chat-message.js +156 -0
- package/esm/components/checkbox.d.ts +55 -0
- package/esm/components/checkbox.js +196 -0
- package/esm/components/clear-button.d.ts +32 -0
- package/esm/components/clear-button.js +88 -0
- package/esm/components/close-button.d.ts +33 -0
- package/esm/components/close-button.js +95 -0
- package/esm/components/color-area.d.ts +45 -0
- package/esm/components/color-area.js +167 -0
- package/esm/components/color-field.d.ts +91 -0
- package/esm/components/color-field.js +321 -0
- package/esm/components/color-handle.d.ts +31 -0
- package/esm/components/color-handle.js +90 -0
- package/esm/components/color-loupe.d.ts +29 -0
- package/esm/components/color-loupe.js +76 -0
- package/esm/components/color-menu.d.ts +36 -0
- package/esm/components/color-menu.js +97 -0
- package/esm/components/color-palette-group.d.ts +40 -0
- package/esm/components/color-palette-group.js +117 -0
- package/esm/components/color-palette.d.ts +43 -0
- package/esm/components/color-palette.js +126 -0
- package/esm/components/color-picker.d.ts +49 -0
- package/esm/components/color-picker.js +143 -0
- package/esm/components/color-slider.d.ts +53 -0
- package/esm/components/color-slider.js +215 -0
- package/esm/components/date-range-picker.d.ts +69 -0
- package/esm/components/date-range-picker.js +228 -0
- package/esm/components/date-time-picker.d.ts +71 -0
- package/esm/components/date-time-picker.js +249 -0
- package/esm/components/divider.d.ts +31 -0
- package/esm/components/divider.js +78 -0
- package/esm/components/field-group.d.ts +32 -0
- package/esm/components/field-group.js +101 -0
- package/esm/components/field-label.d.ts +37 -0
- package/esm/components/field-label.js +104 -0
- package/esm/components/help-text.d.ts +30 -0
- package/esm/components/help-text.js +77 -0
- package/esm/components/icon.d.ts +33 -0
- package/esm/components/icon.js +104 -0
- package/esm/components/infield-button.d.ts +35 -0
- package/esm/components/infield-button.js +103 -0
- package/esm/components/label.d.ts +29 -0
- package/esm/components/label.js +76 -0
- package/esm/components/menu.d.ts +53 -0
- package/esm/components/menu.js +218 -0
- package/esm/components/multi-language-field.d.ts +58 -0
- package/esm/components/multi-language-field.js +263 -0
- package/esm/components/number-field.d.ts +103 -0
- package/esm/components/number-field.js +372 -0
- package/esm/components/options.d.ts +58 -0
- package/esm/components/options.js +207 -0
- package/esm/components/overlay.d.ts +67 -0
- package/esm/components/overlay.js +212 -0
- package/esm/components/picker-button.d.ts +32 -0
- package/esm/components/picker-button.js +94 -0
- package/esm/components/picker.d.ts +79 -0
- package/esm/components/picker.js +340 -0
- package/esm/components/popover.d.ts +33 -0
- package/esm/components/popover.js +93 -0
- package/esm/components/progress-bar.d.ts +35 -0
- package/esm/components/progress-bar.js +121 -0
- package/esm/components/progress-circle.d.ts +35 -0
- package/esm/components/progress-circle.js +94 -0
- package/esm/components/progress-steps.d.ts +46 -0
- package/esm/components/progress-steps.js +127 -0
- package/esm/components/prompt-box.d.ts +88 -0
- package/esm/components/prompt-box.js +280 -0
- package/esm/components/radio-group.d.ts +39 -0
- package/esm/components/radio-group.js +136 -0
- package/esm/components/radio.d.ts +46 -0
- package/esm/components/radio.js +172 -0
- package/esm/components/search.d.ts +95 -0
- package/esm/components/search.js +351 -0
- package/esm/components/select.d.ts +82 -0
- package/esm/components/select.js +351 -0
- package/esm/components/slider.d.ts +47 -0
- package/esm/components/slider.js +185 -0
- package/esm/components/status-light.d.ts +30 -0
- package/esm/components/status-light.js +78 -0
- package/esm/components/swatch-group.d.ts +37 -0
- package/esm/components/swatch-group.js +126 -0
- package/esm/components/swatch.d.ts +49 -0
- package/esm/components/swatch.js +197 -0
- package/esm/components/switch.d.ts +48 -0
- package/esm/components/switch.js +160 -0
- package/esm/components/tab-panel.d.ts +29 -0
- package/esm/components/tab-panel.js +78 -0
- package/esm/components/tab.d.ts +32 -0
- package/esm/components/tab.js +100 -0
- package/esm/components/tabs-overflow.d.ts +33 -0
- package/esm/components/tabs-overflow.js +97 -0
- package/esm/components/tabs.d.ts +43 -0
- package/esm/components/tabs.js +150 -0
- package/esm/components/tag.d.ts +31 -0
- package/esm/components/tag.js +90 -0
- package/esm/components/tags.d.ts +30 -0
- package/esm/components/tags.js +81 -0
- package/esm/components/text-field.d.ts +87 -0
- package/esm/components/text-field.js +308 -0
- package/esm/components/toast.d.ts +30 -0
- package/esm/components/toast.js +68 -0
- package/esm/components/tooltip.d.ts +44 -0
- package/esm/components/tooltip.js +154 -0
- package/esm/components/top-nav-item.d.ts +35 -0
- package/esm/components/top-nav-item.js +120 -0
- package/esm/components/top-nav.d.ts +35 -0
- package/esm/components/top-nav.js +110 -0
- package/esm/index.d.ts +135 -0
- package/esm/index.js +269 -0
- package/package.json +40 -0
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, forwardRef, inject, Input, output, Renderer2 } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import '@luzmo/lucero/date-time-picker';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const _c0 = ["*"];
|
|
6
|
+
/**
|
|
7
|
+
* Angular wrapper component for <luzmo-date-time-picker>
|
|
8
|
+
*
|
|
9
|
+
* @slot calendar-icon - The icon used in the calendar button
|
|
10
|
+
* @slot help-text - Default or non-negative help text to associate to your form element
|
|
11
|
+
* @slot negative-help-text - Negative help text to associate to your form element when `invalid`
|
|
12
|
+
*/
|
|
13
|
+
export class LuzmoDateTimePicker {
|
|
14
|
+
elementRef = inject(ElementRef);
|
|
15
|
+
renderer = inject(Renderer2);
|
|
16
|
+
destroyRef = inject(DestroyRef);
|
|
17
|
+
host = this.elementRef.nativeElement;
|
|
18
|
+
listenerCleanup = [];
|
|
19
|
+
/** The underlying custom element instance. Use to call imperative methods. */
|
|
20
|
+
get nativeElement() {
|
|
21
|
+
return this.host;
|
|
22
|
+
}
|
|
23
|
+
/** The selected date of the component. If defined, this also indicates where the calendar opens. If not, the calendar opens at the current month, and placeholder values are shown. */
|
|
24
|
+
value;
|
|
25
|
+
/** The minimum valid date a user can select */
|
|
26
|
+
min;
|
|
27
|
+
/** The maximum valid date a user can select */
|
|
28
|
+
max;
|
|
29
|
+
/** The date format to use for display. Can be 'mmdd', 'ddmm', or undefined (uses locale default). */
|
|
30
|
+
dateFormat;
|
|
31
|
+
/** The separator to use between date segments (month, day, and year). If not specified, the default separator from the locale will be used. */
|
|
32
|
+
dateSeparator;
|
|
33
|
+
/** The granularity used to display the segments of the component's value */
|
|
34
|
+
precision;
|
|
35
|
+
/** Whether the `value` held by the form control is invalid. */
|
|
36
|
+
invalid;
|
|
37
|
+
/** Whether a user can interact with the value of the form control */
|
|
38
|
+
readonly;
|
|
39
|
+
/** Whether to display the form control with no visible background */
|
|
40
|
+
quiet;
|
|
41
|
+
/** Whether to display the form control with no visible background */
|
|
42
|
+
placement;
|
|
43
|
+
/** The IANA time zone identifier (eg. America/Los_Angeles) to use for parsing the date & setting it */
|
|
44
|
+
timeZone;
|
|
45
|
+
/** Whether to display the form control with no visible background */
|
|
46
|
+
language;
|
|
47
|
+
/** Labels read by screen readers. The default values are in English and can be overridden to localize the content. */
|
|
48
|
+
labels;
|
|
49
|
+
focused;
|
|
50
|
+
helpTextManager;
|
|
51
|
+
/** Announces when a new date/time is committed by the user */
|
|
52
|
+
changeEvent = output({ alias: 'change' });
|
|
53
|
+
/** Announces when the user's input changes the component's segments */
|
|
54
|
+
inputEvent = output({ alias: 'input' });
|
|
55
|
+
constructor() {
|
|
56
|
+
this.bindEvents();
|
|
57
|
+
this.destroyRef.onDestroy(() => {
|
|
58
|
+
for (const cleanup of this.listenerCleanup) {
|
|
59
|
+
cleanup();
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
ngOnChanges(changes) {
|
|
64
|
+
for (const key of Object.keys(changes)) {
|
|
65
|
+
switch (key) {
|
|
66
|
+
case 'value':
|
|
67
|
+
this.setHostProperty('value', changes['value'].currentValue);
|
|
68
|
+
break;
|
|
69
|
+
case 'min':
|
|
70
|
+
this.setHostProperty('min', changes['min'].currentValue);
|
|
71
|
+
break;
|
|
72
|
+
case 'max':
|
|
73
|
+
this.setHostProperty('max', changes['max'].currentValue);
|
|
74
|
+
break;
|
|
75
|
+
case 'dateFormat':
|
|
76
|
+
this.setHostProperty('dateFormat', changes['dateFormat'].currentValue);
|
|
77
|
+
break;
|
|
78
|
+
case 'dateSeparator':
|
|
79
|
+
this.setHostProperty('dateSeparator', changes['dateSeparator'].currentValue);
|
|
80
|
+
break;
|
|
81
|
+
case 'precision':
|
|
82
|
+
this.setHostProperty('precision', changes['precision'].currentValue);
|
|
83
|
+
break;
|
|
84
|
+
case 'invalid':
|
|
85
|
+
this.setHostProperty('invalid', changes['invalid'].currentValue);
|
|
86
|
+
break;
|
|
87
|
+
case 'readonly':
|
|
88
|
+
this.setHostProperty('readonly', changes['readonly'].currentValue);
|
|
89
|
+
break;
|
|
90
|
+
case 'quiet':
|
|
91
|
+
this.setHostProperty('quiet', changes['quiet'].currentValue);
|
|
92
|
+
break;
|
|
93
|
+
case 'placement':
|
|
94
|
+
this.setHostProperty('placement', changes['placement'].currentValue);
|
|
95
|
+
break;
|
|
96
|
+
case 'timeZone':
|
|
97
|
+
this.setHostProperty('timeZone', changes['timeZone'].currentValue);
|
|
98
|
+
break;
|
|
99
|
+
case 'language':
|
|
100
|
+
this.setHostProperty('language', changes['language'].currentValue);
|
|
101
|
+
break;
|
|
102
|
+
case 'labels':
|
|
103
|
+
this.setHostProperty('labels', changes['labels'].currentValue);
|
|
104
|
+
break;
|
|
105
|
+
case 'focused':
|
|
106
|
+
this.setHostProperty('focused', changes['focused'].currentValue);
|
|
107
|
+
break;
|
|
108
|
+
case 'helpTextManager':
|
|
109
|
+
this.setHostProperty('helpTextManager', changes['helpTextManager'].currentValue);
|
|
110
|
+
break;
|
|
111
|
+
default:
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
118
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
119
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
120
|
+
* undefined / null by clearing their bindings.
|
|
121
|
+
*/
|
|
122
|
+
setHostProperty(key, value) {
|
|
123
|
+
this.renderer.setProperty(this.host, key, value);
|
|
124
|
+
}
|
|
125
|
+
bindEvents() {
|
|
126
|
+
this.listenerCleanup.push(this.renderer.listen(this.host, 'change', (event) => {
|
|
127
|
+
this.changeEvent.emit(event);
|
|
128
|
+
if (!this.isWritingValue) {
|
|
129
|
+
const eventWithDetail = event;
|
|
130
|
+
const eventTarget = event.target;
|
|
131
|
+
const detail = 'detail' in eventWithDetail ? eventWithDetail.detail : undefined;
|
|
132
|
+
const hostRecord = this.host;
|
|
133
|
+
const nextValue = (detail
|
|
134
|
+
?? eventTarget?.['value']
|
|
135
|
+
?? hostRecord['value']);
|
|
136
|
+
if (Object.is(this.lastCvaValue, nextValue)) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
this.lastCvaValue = nextValue;
|
|
140
|
+
this.setHostProperty('value', nextValue);
|
|
141
|
+
this.onChange(nextValue);
|
|
142
|
+
}
|
|
143
|
+
}));
|
|
144
|
+
this.listenerCleanup.push(this.renderer.listen(this.host, 'input', (event) => {
|
|
145
|
+
this.inputEvent.emit(event);
|
|
146
|
+
}));
|
|
147
|
+
this.listenerCleanup.push(this.renderer.listen(this.host, 'blur', () => {
|
|
148
|
+
this.onTouched();
|
|
149
|
+
}));
|
|
150
|
+
}
|
|
151
|
+
onChange = () => { };
|
|
152
|
+
onTouched = () => { };
|
|
153
|
+
isWritingValue = false;
|
|
154
|
+
lastCvaValue;
|
|
155
|
+
writeValue(value) {
|
|
156
|
+
this.isWritingValue = true;
|
|
157
|
+
this.lastCvaValue = value;
|
|
158
|
+
this.setHostProperty('value', value);
|
|
159
|
+
this.isWritingValue = false;
|
|
160
|
+
}
|
|
161
|
+
registerOnChange(fn) {
|
|
162
|
+
this.onChange = fn;
|
|
163
|
+
}
|
|
164
|
+
registerOnTouched(fn) {
|
|
165
|
+
this.onTouched = fn;
|
|
166
|
+
}
|
|
167
|
+
setDisabledState(isDisabled) {
|
|
168
|
+
// Underlying element does not declare a 'disabled' field; nothing to do.
|
|
169
|
+
void isDisabled;
|
|
170
|
+
}
|
|
171
|
+
/** Resets the component's value and segments */
|
|
172
|
+
clear() {
|
|
173
|
+
return this.host.clear();
|
|
174
|
+
}
|
|
175
|
+
static ɵfac = function LuzmoDateTimePicker_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoDateTimePicker)(); };
|
|
176
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoDateTimePicker, selectors: [["luzmo-date-time-picker"]], inputs: { value: "value", min: "min", max: "max", dateFormat: [0, "date-format", "dateFormat"], dateSeparator: [0, "date-separator", "dateSeparator"], precision: "precision", invalid: "invalid", readonly: "readonly", quiet: "quiet", placement: "placement", timeZone: [0, "time-zone", "timeZone"], language: "language", labels: "labels", focused: "focused", helpTextManager: [0, "help-text-manager", "helpTextManager"] }, outputs: { changeEvent: "change", inputEvent: "input" }, exportAs: ["luzmoDateTimePicker"], features: [i0.ɵɵProvidersFeature([
|
|
177
|
+
{
|
|
178
|
+
provide: NG_VALUE_ACCESSOR,
|
|
179
|
+
useExisting: forwardRef(() => LuzmoDateTimePicker),
|
|
180
|
+
multi: true
|
|
181
|
+
}
|
|
182
|
+
]), i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoDateTimePicker_Template(rf, ctx) { if (rf & 1) {
|
|
183
|
+
i0.ɵɵprojectionDef();
|
|
184
|
+
i0.ɵɵprojection(0);
|
|
185
|
+
} }, encapsulation: 2, changeDetection: 0 });
|
|
186
|
+
}
|
|
187
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoDateTimePicker, [{
|
|
188
|
+
type: Component,
|
|
189
|
+
args: [{
|
|
190
|
+
selector: 'luzmo-date-time-picker',
|
|
191
|
+
exportAs: 'luzmoDateTimePicker',
|
|
192
|
+
standalone: true,
|
|
193
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
194
|
+
template: '<ng-content />',
|
|
195
|
+
providers: [
|
|
196
|
+
{
|
|
197
|
+
provide: NG_VALUE_ACCESSOR,
|
|
198
|
+
useExisting: forwardRef(() => LuzmoDateTimePicker),
|
|
199
|
+
multi: true
|
|
200
|
+
}
|
|
201
|
+
]
|
|
202
|
+
}]
|
|
203
|
+
}], () => [], { value: [{
|
|
204
|
+
type: Input,
|
|
205
|
+
args: [{ alias: 'value' }]
|
|
206
|
+
}], min: [{
|
|
207
|
+
type: Input,
|
|
208
|
+
args: [{ alias: 'min' }]
|
|
209
|
+
}], max: [{
|
|
210
|
+
type: Input,
|
|
211
|
+
args: [{ alias: 'max' }]
|
|
212
|
+
}], dateFormat: [{
|
|
213
|
+
type: Input,
|
|
214
|
+
args: [{ alias: 'date-format' }]
|
|
215
|
+
}], dateSeparator: [{
|
|
216
|
+
type: Input,
|
|
217
|
+
args: [{ alias: 'date-separator' }]
|
|
218
|
+
}], precision: [{
|
|
219
|
+
type: Input,
|
|
220
|
+
args: [{ alias: 'precision' }]
|
|
221
|
+
}], invalid: [{
|
|
222
|
+
type: Input,
|
|
223
|
+
args: [{ alias: 'invalid' }]
|
|
224
|
+
}], readonly: [{
|
|
225
|
+
type: Input,
|
|
226
|
+
args: [{ alias: 'readonly' }]
|
|
227
|
+
}], quiet: [{
|
|
228
|
+
type: Input,
|
|
229
|
+
args: [{ alias: 'quiet' }]
|
|
230
|
+
}], placement: [{
|
|
231
|
+
type: Input,
|
|
232
|
+
args: [{ alias: 'placement' }]
|
|
233
|
+
}], timeZone: [{
|
|
234
|
+
type: Input,
|
|
235
|
+
args: [{ alias: 'time-zone' }]
|
|
236
|
+
}], language: [{
|
|
237
|
+
type: Input,
|
|
238
|
+
args: [{ alias: 'language' }]
|
|
239
|
+
}], labels: [{
|
|
240
|
+
type: Input,
|
|
241
|
+
args: [{ alias: 'labels' }]
|
|
242
|
+
}], focused: [{
|
|
243
|
+
type: Input,
|
|
244
|
+
args: [{ alias: 'focused' }]
|
|
245
|
+
}], helpTextManager: [{
|
|
246
|
+
type: Input,
|
|
247
|
+
args: [{ alias: 'help-text-manager' }]
|
|
248
|
+
}], changeEvent: [{ type: i0.Output, args: ["change"] }], inputEvent: [{ type: i0.Output, args: ["input"] }] }); })();
|
|
249
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoDateTimePicker, { className: "LuzmoDateTimePicker", filePath: "components/date-time-picker.ts", lineNumber: 28 }); })();
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import '@luzmo/lucero/divider';
|
|
3
|
+
import type { LuzmoDivider as LuzmoDividerHostElement } from '@luzmo/lucero/divider';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class LuzmoDivider 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(): LuzmoDividerHostElement;
|
|
13
|
+
/** Set the orientation of the divider */
|
|
14
|
+
vertical?: boolean;
|
|
15
|
+
/** Set the color of the divider */
|
|
16
|
+
staticColor?: 'white' | 'black';
|
|
17
|
+
constructor();
|
|
18
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
19
|
+
/**
|
|
20
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
21
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
22
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
23
|
+
* undefined / null by clearing their bindings.
|
|
24
|
+
*/
|
|
25
|
+
private setHostProperty;
|
|
26
|
+
private bindEvents;
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoDivider, never>;
|
|
28
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoDivider, "luzmo-divider", ["luzmoDivider"], { "vertical": { "alias": "vertical"; "required": false; }; "staticColor": { "alias": "static-color"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
29
|
+
}
|
|
30
|
+
/** The underlying custom element type for LuzmoDivider */
|
|
31
|
+
export type LuzmoDividerElement = LuzmoDividerHostElement;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, Renderer2 } from '@angular/core';
|
|
2
|
+
import '@luzmo/lucero/divider';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const _c0 = ["*"];
|
|
5
|
+
/**
|
|
6
|
+
* Angular wrapper component for <luzmo-divider>
|
|
7
|
+
*/
|
|
8
|
+
export class LuzmoDivider {
|
|
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
|
+
/** Set the orientation of the divider */
|
|
19
|
+
vertical;
|
|
20
|
+
/** Set the color of the divider */
|
|
21
|
+
staticColor;
|
|
22
|
+
constructor() {
|
|
23
|
+
this.bindEvents();
|
|
24
|
+
this.destroyRef.onDestroy(() => {
|
|
25
|
+
for (const cleanup of this.listenerCleanup) {
|
|
26
|
+
cleanup();
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
ngOnChanges(changes) {
|
|
31
|
+
for (const key of Object.keys(changes)) {
|
|
32
|
+
switch (key) {
|
|
33
|
+
case 'vertical':
|
|
34
|
+
this.setHostProperty('vertical', changes['vertical'].currentValue);
|
|
35
|
+
break;
|
|
36
|
+
case 'staticColor':
|
|
37
|
+
this.setHostProperty('staticColor', changes['staticColor'].currentValue);
|
|
38
|
+
break;
|
|
39
|
+
default:
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
46
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
47
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
48
|
+
* undefined / null by clearing their bindings.
|
|
49
|
+
*/
|
|
50
|
+
setHostProperty(key, value) {
|
|
51
|
+
this.renderer.setProperty(this.host, key, value);
|
|
52
|
+
}
|
|
53
|
+
bindEvents() {
|
|
54
|
+
// No custom events for this wrapper.
|
|
55
|
+
}
|
|
56
|
+
static ɵfac = function LuzmoDivider_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoDivider)(); };
|
|
57
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoDivider, selectors: [["luzmo-divider"]], inputs: { vertical: "vertical", staticColor: [0, "static-color", "staticColor"] }, exportAs: ["luzmoDivider"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoDivider_Template(rf, ctx) { if (rf & 1) {
|
|
58
|
+
i0.ɵɵprojectionDef();
|
|
59
|
+
i0.ɵɵprojection(0);
|
|
60
|
+
} }, encapsulation: 2, changeDetection: 0 });
|
|
61
|
+
}
|
|
62
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoDivider, [{
|
|
63
|
+
type: Component,
|
|
64
|
+
args: [{
|
|
65
|
+
selector: 'luzmo-divider',
|
|
66
|
+
exportAs: 'luzmoDivider',
|
|
67
|
+
standalone: true,
|
|
68
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
69
|
+
template: '<ng-content />'
|
|
70
|
+
}]
|
|
71
|
+
}], () => [], { vertical: [{
|
|
72
|
+
type: Input,
|
|
73
|
+
args: [{ alias: 'vertical' }]
|
|
74
|
+
}], staticColor: [{
|
|
75
|
+
type: Input,
|
|
76
|
+
args: [{ alias: 'static-color' }]
|
|
77
|
+
}] }); })();
|
|
78
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoDivider, { className: "LuzmoDivider", filePath: "components/divider.ts", lineNumber: 15 }); })();
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import '@luzmo/lucero/field-group';
|
|
3
|
+
import type { LuzmoFieldGroup as LuzmoFieldGroupHostElement } from '@luzmo/lucero/field-group';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class LuzmoFieldGroup 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(): LuzmoFieldGroupHostElement;
|
|
13
|
+
horizontal?: boolean;
|
|
14
|
+
invalid?: boolean;
|
|
15
|
+
label?: string;
|
|
16
|
+
vertical?: boolean;
|
|
17
|
+
helpTextManager?: unknown;
|
|
18
|
+
constructor();
|
|
19
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
20
|
+
/**
|
|
21
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
22
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
23
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
24
|
+
* undefined / null by clearing their bindings.
|
|
25
|
+
*/
|
|
26
|
+
private setHostProperty;
|
|
27
|
+
private bindEvents;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoFieldGroup, never>;
|
|
29
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoFieldGroup, "luzmo-field-group", ["luzmoFieldGroup"], { "horizontal": { "alias": "horizontal"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "label": { "alias": "label"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "helpTextManager": { "alias": "help-text-manager"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
30
|
+
}
|
|
31
|
+
/** The underlying custom element type for LuzmoFieldGroup */
|
|
32
|
+
export type LuzmoFieldGroupElement = LuzmoFieldGroupHostElement;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, Renderer2 } from '@angular/core';
|
|
2
|
+
import '@luzmo/lucero/field-group';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const _c0 = ["*"];
|
|
5
|
+
/**
|
|
6
|
+
* Angular wrapper component for <luzmo-field-group>
|
|
7
|
+
*
|
|
8
|
+
* @slot (default) - the form controls that make up the group
|
|
9
|
+
* @slot help-text - default or non-negative help text to associate to your form element
|
|
10
|
+
* @slot negative-help-text - negative help text to associate to your form element when `invalid`
|
|
11
|
+
*/
|
|
12
|
+
export class LuzmoFieldGroup {
|
|
13
|
+
elementRef = inject(ElementRef);
|
|
14
|
+
renderer = inject(Renderer2);
|
|
15
|
+
destroyRef = inject(DestroyRef);
|
|
16
|
+
host = this.elementRef.nativeElement;
|
|
17
|
+
listenerCleanup = [];
|
|
18
|
+
/** The underlying custom element instance. Use to call imperative methods. */
|
|
19
|
+
get nativeElement() {
|
|
20
|
+
return this.host;
|
|
21
|
+
}
|
|
22
|
+
horizontal;
|
|
23
|
+
invalid;
|
|
24
|
+
label;
|
|
25
|
+
vertical;
|
|
26
|
+
helpTextManager;
|
|
27
|
+
constructor() {
|
|
28
|
+
this.bindEvents();
|
|
29
|
+
this.destroyRef.onDestroy(() => {
|
|
30
|
+
for (const cleanup of this.listenerCleanup) {
|
|
31
|
+
cleanup();
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
ngOnChanges(changes) {
|
|
36
|
+
for (const key of Object.keys(changes)) {
|
|
37
|
+
switch (key) {
|
|
38
|
+
case 'horizontal':
|
|
39
|
+
this.setHostProperty('horizontal', changes['horizontal'].currentValue);
|
|
40
|
+
break;
|
|
41
|
+
case 'invalid':
|
|
42
|
+
this.setHostProperty('invalid', changes['invalid'].currentValue);
|
|
43
|
+
break;
|
|
44
|
+
case 'label':
|
|
45
|
+
this.setHostProperty('label', changes['label'].currentValue);
|
|
46
|
+
break;
|
|
47
|
+
case 'vertical':
|
|
48
|
+
this.setHostProperty('vertical', changes['vertical'].currentValue);
|
|
49
|
+
break;
|
|
50
|
+
case 'helpTextManager':
|
|
51
|
+
this.setHostProperty('helpTextManager', changes['helpTextManager'].currentValue);
|
|
52
|
+
break;
|
|
53
|
+
default:
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
60
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
61
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
62
|
+
* undefined / null by clearing their bindings.
|
|
63
|
+
*/
|
|
64
|
+
setHostProperty(key, value) {
|
|
65
|
+
this.renderer.setProperty(this.host, key, value);
|
|
66
|
+
}
|
|
67
|
+
bindEvents() {
|
|
68
|
+
// No custom events for this wrapper.
|
|
69
|
+
}
|
|
70
|
+
static ɵfac = function LuzmoFieldGroup_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoFieldGroup)(); };
|
|
71
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoFieldGroup, selectors: [["luzmo-field-group"]], inputs: { horizontal: "horizontal", invalid: "invalid", label: "label", vertical: "vertical", helpTextManager: [0, "help-text-manager", "helpTextManager"] }, exportAs: ["luzmoFieldGroup"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoFieldGroup_Template(rf, ctx) { if (rf & 1) {
|
|
72
|
+
i0.ɵɵprojectionDef();
|
|
73
|
+
i0.ɵɵprojection(0);
|
|
74
|
+
} }, encapsulation: 2, changeDetection: 0 });
|
|
75
|
+
}
|
|
76
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoFieldGroup, [{
|
|
77
|
+
type: Component,
|
|
78
|
+
args: [{
|
|
79
|
+
selector: 'luzmo-field-group',
|
|
80
|
+
exportAs: 'luzmoFieldGroup',
|
|
81
|
+
standalone: true,
|
|
82
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
83
|
+
template: '<ng-content />'
|
|
84
|
+
}]
|
|
85
|
+
}], () => [], { horizontal: [{
|
|
86
|
+
type: Input,
|
|
87
|
+
args: [{ alias: 'horizontal' }]
|
|
88
|
+
}], invalid: [{
|
|
89
|
+
type: Input,
|
|
90
|
+
args: [{ alias: 'invalid' }]
|
|
91
|
+
}], label: [{
|
|
92
|
+
type: Input,
|
|
93
|
+
args: [{ alias: 'label' }]
|
|
94
|
+
}], vertical: [{
|
|
95
|
+
type: Input,
|
|
96
|
+
args: [{ alias: 'vertical' }]
|
|
97
|
+
}], helpTextManager: [{
|
|
98
|
+
type: Input,
|
|
99
|
+
args: [{ alias: 'help-text-manager' }]
|
|
100
|
+
}] }); })();
|
|
101
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoFieldGroup, { className: "LuzmoFieldGroup", filePath: "components/field-group.ts", lineNumber: 19 }); })();
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import '@luzmo/lucero/field-label';
|
|
3
|
+
import type { LuzmoFieldLabel as LuzmoFieldLabelHostElement } from '@luzmo/lucero/field-label';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class LuzmoFieldLabel 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(): LuzmoFieldLabelHostElement;
|
|
13
|
+
/** Whether the label is disabled. */
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
/** Refers to the id of the element to label. */
|
|
16
|
+
for?: string;
|
|
17
|
+
/** Whether the label is required. */
|
|
18
|
+
required?: boolean;
|
|
19
|
+
/** The slot element containing the label text. */
|
|
20
|
+
slotEl?: unknown;
|
|
21
|
+
/** Side alignment of the label. */
|
|
22
|
+
sideAligned?: 'start' | 'end';
|
|
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<LuzmoFieldLabel, never>;
|
|
34
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoFieldLabel, "luzmo-field-label", ["luzmoFieldLabel"], { "disabled": { "alias": "disabled"; "required": false; }; "for": { "alias": "for"; "required": false; }; "required": { "alias": "required"; "required": false; }; "slotEl": { "alias": "slot-el"; "required": false; }; "sideAligned": { "alias": "side-aligned"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
35
|
+
}
|
|
36
|
+
/** The underlying custom element type for LuzmoFieldLabel */
|
|
37
|
+
export type LuzmoFieldLabelElement = LuzmoFieldLabelHostElement;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, Renderer2 } from '@angular/core';
|
|
2
|
+
import '@luzmo/lucero/field-label';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const _c0 = ["*"];
|
|
5
|
+
/**
|
|
6
|
+
* Angular wrapper component for <luzmo-field-label>
|
|
7
|
+
*
|
|
8
|
+
* @slot (default) - text content of the label
|
|
9
|
+
*/
|
|
10
|
+
export class LuzmoFieldLabel {
|
|
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
|
+
/** Whether the label is disabled. */
|
|
21
|
+
disabled;
|
|
22
|
+
/** Refers to the id of the element to label. */
|
|
23
|
+
for;
|
|
24
|
+
/** Whether the label is required. */
|
|
25
|
+
required;
|
|
26
|
+
/** The slot element containing the label text. */
|
|
27
|
+
slotEl;
|
|
28
|
+
/** Side alignment of the label. */
|
|
29
|
+
sideAligned;
|
|
30
|
+
constructor() {
|
|
31
|
+
this.bindEvents();
|
|
32
|
+
this.destroyRef.onDestroy(() => {
|
|
33
|
+
for (const cleanup of this.listenerCleanup) {
|
|
34
|
+
cleanup();
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
ngOnChanges(changes) {
|
|
39
|
+
for (const key of Object.keys(changes)) {
|
|
40
|
+
switch (key) {
|
|
41
|
+
case 'disabled':
|
|
42
|
+
this.setHostProperty('disabled', changes['disabled'].currentValue);
|
|
43
|
+
break;
|
|
44
|
+
case 'for':
|
|
45
|
+
this.setHostProperty('for', changes['for'].currentValue);
|
|
46
|
+
break;
|
|
47
|
+
case 'required':
|
|
48
|
+
this.setHostProperty('required', changes['required'].currentValue);
|
|
49
|
+
break;
|
|
50
|
+
case 'slotEl':
|
|
51
|
+
this.setHostProperty('slotEl', changes['slotEl'].currentValue);
|
|
52
|
+
break;
|
|
53
|
+
case 'sideAligned':
|
|
54
|
+
this.setHostProperty('sideAligned', changes['sideAligned'].currentValue);
|
|
55
|
+
break;
|
|
56
|
+
default:
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
63
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
64
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
65
|
+
* undefined / null by clearing their bindings.
|
|
66
|
+
*/
|
|
67
|
+
setHostProperty(key, value) {
|
|
68
|
+
this.renderer.setProperty(this.host, key, value);
|
|
69
|
+
}
|
|
70
|
+
bindEvents() {
|
|
71
|
+
// No custom events for this wrapper.
|
|
72
|
+
}
|
|
73
|
+
static ɵfac = function LuzmoFieldLabel_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoFieldLabel)(); };
|
|
74
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoFieldLabel, selectors: [["luzmo-field-label"]], inputs: { disabled: "disabled", for: "for", required: "required", slotEl: [0, "slot-el", "slotEl"], sideAligned: [0, "side-aligned", "sideAligned"] }, exportAs: ["luzmoFieldLabel"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoFieldLabel_Template(rf, ctx) { if (rf & 1) {
|
|
75
|
+
i0.ɵɵprojectionDef();
|
|
76
|
+
i0.ɵɵprojection(0);
|
|
77
|
+
} }, encapsulation: 2, changeDetection: 0 });
|
|
78
|
+
}
|
|
79
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoFieldLabel, [{
|
|
80
|
+
type: Component,
|
|
81
|
+
args: [{
|
|
82
|
+
selector: 'luzmo-field-label',
|
|
83
|
+
exportAs: 'luzmoFieldLabel',
|
|
84
|
+
standalone: true,
|
|
85
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
86
|
+
template: '<ng-content />'
|
|
87
|
+
}]
|
|
88
|
+
}], () => [], { disabled: [{
|
|
89
|
+
type: Input,
|
|
90
|
+
args: [{ alias: 'disabled' }]
|
|
91
|
+
}], for: [{
|
|
92
|
+
type: Input,
|
|
93
|
+
args: [{ alias: 'for' }]
|
|
94
|
+
}], required: [{
|
|
95
|
+
type: Input,
|
|
96
|
+
args: [{ alias: 'required' }]
|
|
97
|
+
}], slotEl: [{
|
|
98
|
+
type: Input,
|
|
99
|
+
args: [{ alias: 'slot-el' }]
|
|
100
|
+
}], sideAligned: [{
|
|
101
|
+
type: Input,
|
|
102
|
+
args: [{ alias: 'side-aligned' }]
|
|
103
|
+
}] }); })();
|
|
104
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoFieldLabel, { className: "LuzmoFieldLabel", filePath: "components/field-label.ts", lineNumber: 17 }); })();
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import '@luzmo/lucero/text-field';
|
|
3
|
+
import type { LuzmoHelpText as LuzmoHelpTextHostElement } from '@luzmo/lucero/text-field';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class LuzmoHelpText 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(): LuzmoHelpTextHostElement;
|
|
13
|
+
icon?: boolean;
|
|
14
|
+
/** The visual variant to apply to this help text. */
|
|
15
|
+
variant?: 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<LuzmoHelpText, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoHelpText, "luzmo-help-text", ["luzmoHelpText"], { "icon": { "alias": "icon"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
28
|
+
}
|
|
29
|
+
/** The underlying custom element type for LuzmoHelpText */
|
|
30
|
+
export type LuzmoHelpTextElement = LuzmoHelpTextHostElement;
|