@sondor-technology/sondor-components 1.0.7 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/components/calendar/calendar.d.ts +36 -0
  2. package/dist/components/calendar/calendar.d.ts.map +1 -0
  3. package/dist/components/calendar/calendar.js +449 -0
  4. package/dist/components/calendar/calendar.js.map +1 -0
  5. package/dist/components/cron-builder/cron-builder.d.ts +37 -0
  6. package/dist/components/cron-builder/cron-builder.d.ts.map +1 -0
  7. package/dist/components/cron-builder/cron-builder.js +522 -0
  8. package/dist/components/cron-builder/cron-builder.js.map +1 -0
  9. package/dist/components/input/input.d.ts +1 -0
  10. package/dist/components/input/input.d.ts.map +1 -1
  11. package/dist/components/input/input.js +35 -12
  12. package/dist/components/input/input.js.map +1 -1
  13. package/dist/components/pin-input/pin-input.d.ts +33 -0
  14. package/dist/components/pin-input/pin-input.d.ts.map +1 -0
  15. package/dist/components/pin-input/pin-input.js +253 -0
  16. package/dist/components/pin-input/pin-input.js.map +1 -0
  17. package/dist/components/popover/popover.d.ts +26 -0
  18. package/dist/components/popover/popover.d.ts.map +1 -0
  19. package/dist/components/popover/popover.js +196 -0
  20. package/dist/components/popover/popover.js.map +1 -0
  21. package/dist/components/select/select.d.ts +4 -1
  22. package/dist/components/select/select.d.ts.map +1 -1
  23. package/dist/components/select/select.js +26 -4
  24. package/dist/components/select/select.js.map +1 -1
  25. package/dist/components/time-picker/time-picker.d.ts +38 -0
  26. package/dist/components/time-picker/time-picker.d.ts.map +1 -0
  27. package/dist/components/time-picker/time-picker.js +290 -0
  28. package/dist/components/time-picker/time-picker.js.map +1 -0
  29. package/dist/components/toggle-group/toggle-button.d.ts +23 -0
  30. package/dist/components/toggle-group/toggle-button.d.ts.map +1 -0
  31. package/dist/components/toggle-group/toggle-button.js +114 -0
  32. package/dist/components/toggle-group/toggle-button.js.map +1 -0
  33. package/dist/components/toggle-group/toggle-group.d.ts +38 -0
  34. package/dist/components/toggle-group/toggle-group.d.ts.map +1 -0
  35. package/dist/components/toggle-group/toggle-group.js +270 -0
  36. package/dist/components/toggle-group/toggle-group.js.map +1 -0
  37. package/dist/components/tooltip/tooltip.d.ts +33 -0
  38. package/dist/components/tooltip/tooltip.d.ts.map +1 -0
  39. package/dist/components/tooltip/tooltip.js +293 -0
  40. package/dist/components/tooltip/tooltip.js.map +1 -0
  41. package/dist/styles/index.css +2 -0
  42. package/package.json +33 -1
  43. package/src/components/calendar/calendar.ts +458 -0
  44. package/src/components/cron-builder/cron-builder.ts +529 -0
  45. package/src/components/input/input.ts +38 -14
  46. package/src/components/pin-input/pin-input.ts +249 -0
  47. package/src/components/popover/popover.ts +192 -0
  48. package/src/components/select/select.ts +25 -63
  49. package/src/components/time-picker/time-picker.ts +286 -0
  50. package/src/components/toggle-group/toggle-button.ts +103 -0
  51. package/src/components/toggle-group/toggle-group.ts +264 -0
  52. package/src/components/tooltip/tooltip.ts +286 -0
  53. package/src/styles/theme.css +3 -0
@@ -0,0 +1,36 @@
1
+ import { LitElement, PropertyValues } from "lit";
2
+ import "../select/select.js";
3
+ export declare class StCalendar extends LitElement {
4
+ static formAssociated: boolean;
5
+ private _internals;
6
+ name: string;
7
+ value: string;
8
+ min: string;
9
+ max: string;
10
+ disabled: boolean;
11
+ required: boolean;
12
+ invalid: boolean;
13
+ private _viewMonth;
14
+ private _viewYear;
15
+ private _defaultValue;
16
+ constructor();
17
+ static styles: import("lit").CSSResult[];
18
+ firstUpdated(changedProperties: PropertyValues): void;
19
+ updated(changedProperties: PropertyValues): void;
20
+ private get _yearRange();
21
+ private _syncValidity;
22
+ formResetCallback(): void;
23
+ checkValidity(): boolean;
24
+ reportValidity(): boolean;
25
+ private _prevMonth;
26
+ private _nextMonth;
27
+ private _selectDate;
28
+ private _isDateDisabled;
29
+ render(): import("lit-html").TemplateResult<1>;
30
+ }
31
+ declare global {
32
+ interface HTMLElementTagNameMap {
33
+ "st-calendar": StCalendar;
34
+ }
35
+ }
36
+ //# sourceMappingURL=calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAa,cAAc,EAAC,MAAM,KAAK,CAAC;AAG1D,OAAO,qBAAqB,CAAC;AA8B7B,qBACa,UAAW,SAAQ,UAAU;IACxC,MAAM,CAAC,cAAc,UAAQ;IAC7B,OAAO,CAAC,UAAU,CAAmB;IAEI,IAAI,SAAM;IACzB,KAAK,SAAM;IACX,GAAG,SAAM;IACT,GAAG,SAAM;IAEO,QAAQ,UAAS;IACjB,QAAQ,UAAS;IACjB,OAAO,UAAS;IAEjD,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,SAAS,CAA4B;IAEtD,OAAO,CAAC,aAAa,CAAM;IAE3B,cAGC;IAED,MAAM,CAAC,MAAM,4BAgJX;IAEO,YAAY,CAAC,iBAAiB,EAAE,cAAc,QAWtD;IAEQ,OAAO,CAAC,iBAAiB,EAAE,cAAc,QAOjD;IAED,OAAO,KAAK,UAAU,GAmBrB;IAED,OAAO,CAAC,aAAa;IA6BrB,iBAAiB,SAShB;IAEM,aAAa,YAEnB;IACM,cAAc,YAEpB;IAED,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,eAAe;IAavB,MAAM,yCAwGL;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
@@ -0,0 +1,449 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { LitElement, html, css } from "lit";
8
+ import { customElement, property, state } from "lit/decorators.js";
9
+ import { resetStyles } from "../../styles/reset.js";
10
+ import "../select/select.js"; // Ensure this path matches your project structure
11
+ const MONTH_NAMES = [
12
+ "January",
13
+ "February",
14
+ "March",
15
+ "April",
16
+ "May",
17
+ "June",
18
+ "July",
19
+ "August",
20
+ "September",
21
+ "October",
22
+ "November",
23
+ "December",
24
+ ];
25
+ const DAY_NAMES = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
26
+ const parseIsoLocal = (iso) => {
27
+ if (!iso)
28
+ return null;
29
+ const [y, m, d] = iso.split(/\D/).map(Number);
30
+ if (!y || !m || !d)
31
+ return null;
32
+ return new Date(y, m - 1, d);
33
+ };
34
+ const formatIsoLocal = (date) => {
35
+ const pad = (n) => n.toString().padStart(2, "0");
36
+ return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`;
37
+ };
38
+ let StCalendar = class StCalendar extends LitElement {
39
+ constructor() {
40
+ super();
41
+ this.name = "";
42
+ this.value = "";
43
+ this.min = "";
44
+ this.max = "";
45
+ this.disabled = false;
46
+ this.required = false;
47
+ this.invalid = false;
48
+ this._viewMonth = new Date().getMonth();
49
+ this._viewYear = new Date().getFullYear();
50
+ this._defaultValue = "";
51
+ this._internals = this.attachInternals();
52
+ }
53
+ firstUpdated(changedProperties) {
54
+ super.firstUpdated(changedProperties);
55
+ this._defaultValue = this.value;
56
+ if (this.value) {
57
+ const initDate = parseIsoLocal(this.value);
58
+ if (initDate) {
59
+ this._viewMonth = initDate.getMonth();
60
+ this._viewYear = initDate.getFullYear();
61
+ }
62
+ }
63
+ }
64
+ updated(changedProperties) {
65
+ super.updated(changedProperties);
66
+ if (changedProperties.has("value")) {
67
+ this._internals.setFormValue(this.value || null);
68
+ this._syncValidity();
69
+ }
70
+ }
71
+ get _yearRange() {
72
+ const currentYear = new Date().getFullYear();
73
+ let minYear = currentYear - 50;
74
+ let maxYear = currentYear + 50;
75
+ if (this.min) {
76
+ const minDate = parseIsoLocal(this.min);
77
+ if (minDate)
78
+ minYear = minDate.getFullYear();
79
+ }
80
+ if (this.max) {
81
+ const maxDate = parseIsoLocal(this.max);
82
+ if (maxDate)
83
+ maxYear = maxDate.getFullYear();
84
+ }
85
+ const years = [];
86
+ for (let y = minYear; y <= maxYear; y++) {
87
+ years.push(y);
88
+ }
89
+ return years;
90
+ }
91
+ _syncValidity() {
92
+ this.invalid = false;
93
+ if (this.required && !this.value) {
94
+ this._internals.setValidity({ valueMissing: true }, "Please select a date.");
95
+ this.invalid = true;
96
+ return;
97
+ }
98
+ if (this.value) {
99
+ const minDate = parseIsoLocal(this.min);
100
+ const maxDate = parseIsoLocal(this.max);
101
+ const valDate = parseIsoLocal(this.value);
102
+ if (valDate && minDate && valDate < minDate) {
103
+ this._internals.setValidity({ rangeUnderflow: true }, `Date must be after ${this.min}.`);
104
+ this.invalid = true;
105
+ return;
106
+ }
107
+ if (valDate && maxDate && valDate > maxDate) {
108
+ this._internals.setValidity({ rangeOverflow: true }, `Date must be before ${this.max}.`);
109
+ this.invalid = true;
110
+ return;
111
+ }
112
+ }
113
+ this._internals.setValidity({});
114
+ }
115
+ formResetCallback() {
116
+ this.value = this._defaultValue;
117
+ if (this.value) {
118
+ const initDate = parseIsoLocal(this.value);
119
+ if (initDate) {
120
+ this._viewMonth = initDate.getMonth();
121
+ this._viewYear = initDate.getFullYear();
122
+ }
123
+ }
124
+ }
125
+ checkValidity() {
126
+ return this._internals.checkValidity();
127
+ }
128
+ reportValidity() {
129
+ return this._internals.reportValidity();
130
+ }
131
+ _prevMonth() {
132
+ if (this._viewMonth === 0) {
133
+ this._viewMonth = 11;
134
+ this._viewYear--;
135
+ }
136
+ else {
137
+ this._viewMonth--;
138
+ }
139
+ }
140
+ _nextMonth() {
141
+ if (this._viewMonth === 11) {
142
+ this._viewMonth = 0;
143
+ this._viewYear++;
144
+ }
145
+ else {
146
+ this._viewMonth++;
147
+ }
148
+ }
149
+ _selectDate(day) {
150
+ const selected = new Date(this._viewYear, this._viewMonth, day);
151
+ this.value = formatIsoLocal(selected);
152
+ this.dispatchEvent(new Event("change", { bubbles: true, composed: true }));
153
+ this.dispatchEvent(new CustomEvent("st-change", {
154
+ bubbles: true,
155
+ composed: true,
156
+ detail: { name: this.name, value: this.value },
157
+ }));
158
+ this.dispatchEvent(new Event("input", { bubbles: true, composed: true }));
159
+ this.dispatchEvent(new CustomEvent("st-input", {
160
+ bubbles: true,
161
+ composed: true,
162
+ detail: { name: this.name, value: this.value },
163
+ }));
164
+ }
165
+ _isDateDisabled(year, month, day) {
166
+ if (this.disabled)
167
+ return true;
168
+ const date = new Date(year, month, day);
169
+ const minDate = parseIsoLocal(this.min);
170
+ const maxDate = parseIsoLocal(this.max);
171
+ if (minDate && date < minDate)
172
+ return true;
173
+ if (maxDate && date > maxDate)
174
+ return true;
175
+ return false;
176
+ }
177
+ render() {
178
+ const today = new Date();
179
+ const isToday = (day) => today.getDate() === day &&
180
+ today.getMonth() === this._viewMonth &&
181
+ today.getFullYear() === this._viewYear;
182
+ const selectedDate = parseIsoLocal(this.value);
183
+ const isSelected = (day) => selectedDate !== null &&
184
+ selectedDate.getDate() === day &&
185
+ selectedDate.getMonth() === this._viewMonth &&
186
+ selectedDate.getFullYear() === this._viewYear;
187
+ const firstDayOfMonth = new Date(this._viewYear, this._viewMonth, 1).getDay();
188
+ const daysInMonth = new Date(this._viewYear, this._viewMonth + 1, 0).getDate();
189
+ const blanks = Array.from({ length: firstDayOfMonth }, (_, i) => i);
190
+ const days = Array.from({ length: daysInMonth }, (_, i) => i + 1);
191
+ const allCells = [
192
+ ...blanks.map(() => html `<div class="day empty" role="gridcell"></div>`),
193
+ ...days.map((day) => {
194
+ const disabled = this._isDateDisabled(this._viewYear, this._viewMonth, day);
195
+ return html `
196
+ <button
197
+ class="day"
198
+ role="gridcell"
199
+ type="button"
200
+ ?disabled=${disabled}
201
+ aria-label=${`${MONTH_NAMES[this._viewMonth]} ${day}, ${this._viewYear}`}
202
+ aria-current=${isToday(day) ? "date" : "false"}
203
+ aria-selected=${isSelected(day) ? "true" : "false"}
204
+ @click=${() => this._selectDate(day)}
205
+ >
206
+ ${day}
207
+ </button>
208
+ `;
209
+ }),
210
+ ];
211
+ const weeks = [];
212
+ for (let i = 0; i < allCells.length; i += 7) {
213
+ weeks.push(allCells.slice(i, i + 7));
214
+ }
215
+ // 🚀 FIX: Generate the option array objects as required by your st-select API
216
+ const monthOptions = MONTH_NAMES.map((name, i) => ({ label: name, value: String(i) }));
217
+ const yearOptions = this._yearRange.map((year) => ({ label: String(year), value: String(year) }));
218
+ return html `
219
+ <div class="header">
220
+ <button
221
+ class="nav-button"
222
+ type="button"
223
+ aria-label="Previous Month"
224
+ @click=${this._prevMonth}
225
+ ?disabled=${this.disabled}
226
+ >
227
+ <svg viewBox="0 0 24 24"><path d="M15 18l-6-6 6-6"></path></svg>
228
+ </button>
229
+
230
+ <div class="header-controls">
231
+ <st-select
232
+ label="Month"
233
+ hide-label
234
+ .options=${monthOptions}
235
+ .value=${String(this._viewMonth)}
236
+ ?disabled=${this.disabled}
237
+ @change=${(e) => (this._viewMonth = Number(e.target.value))}
238
+ ></st-select>
239
+
240
+ <st-select
241
+ label="Year"
242
+ hide-label
243
+ .options=${yearOptions}
244
+ .value=${String(this._viewYear)}
245
+ ?disabled=${this.disabled}
246
+ @change=${(e) => (this._viewYear = Number(e.target.value))}
247
+ ></st-select>
248
+ </div>
249
+
250
+ <button
251
+ class="nav-button"
252
+ type="button"
253
+ aria-label="Next Month"
254
+ @click=${this._nextMonth}
255
+ ?disabled=${this.disabled}
256
+ >
257
+ <svg viewBox="0 0 24 24"><path d="M9 18l6-6-6-6"></path></svg>
258
+ </button>
259
+ </div>
260
+
261
+ <div class="grid" role="grid" aria-label="Calendar">
262
+ <div class="grid-row" role="row">
263
+ ${DAY_NAMES.map((name) => html `
264
+ <div class="day-name" role="columnheader" aria-label=${name}>${name}</div>
265
+ `)}
266
+ </div>
267
+ ${weeks.map((week) => html ` <div class="grid-row" role="row">${week}</div> `)}
268
+ </div>
269
+ `;
270
+ }
271
+ };
272
+ StCalendar.formAssociated = true;
273
+ StCalendar.styles = [
274
+ resetStyles,
275
+ css `
276
+ :host {
277
+ display: inline-block;
278
+ width: 320px;
279
+ background-color: var(--st-color-surface);
280
+ border: 1px solid var(--st-color-border);
281
+ border-radius: var(--st-radius-md);
282
+ padding: var(--st-spacing-md);
283
+ box-sizing: border-box;
284
+ }
285
+
286
+ :host([disabled]) {
287
+ opacity: 0.5;
288
+ pointer-events: none;
289
+ }
290
+
291
+ :host([invalid]) {
292
+ border-color: var(--st-color-error, #dc2626);
293
+ }
294
+
295
+ .header {
296
+ display: flex;
297
+ align-items: center;
298
+ justify-content: space-between;
299
+ margin-bottom: var(--st-spacing-md);
300
+ gap: var(--st-spacing-xs);
301
+ }
302
+
303
+ .header-controls {
304
+ display: flex;
305
+ gap: var(--st-spacing-xs);
306
+ flex: 1;
307
+ justify-content: center;
308
+ }
309
+
310
+ /* Shape the custom selects to fit side-by-side in the header */
311
+ .header-controls st-select:first-child {
312
+ width: 120px;
313
+ }
314
+
315
+ .header-controls st-select:last-child {
316
+ width: 90px;
317
+ }
318
+
319
+ .nav-button {
320
+ display: flex;
321
+ align-items: center;
322
+ justify-content: center;
323
+ width: 32px;
324
+ height: 42px; /* Matches the 42px min-height of your st-select combobox */
325
+ border: none;
326
+ background: transparent;
327
+ border-radius: var(--st-radius-sm);
328
+ color: var(--st-color-text-muted);
329
+ cursor: pointer;
330
+ transition: background-color 0.2s;
331
+ flex-shrink: 0;
332
+ }
333
+
334
+ .nav-button:hover {
335
+ background-color: var(--st-color-surface-hover, #f1f5f9);
336
+ color: var(--st-color-text);
337
+ }
338
+
339
+ .nav-button svg {
340
+ width: 20px;
341
+ height: 20px;
342
+ fill: none;
343
+ stroke: currentColor;
344
+ stroke-width: 2;
345
+ stroke-linecap: round;
346
+ stroke-linejoin: round;
347
+ }
348
+
349
+ .grid {
350
+ display: grid;
351
+ grid-template-columns: repeat(7, 1fr);
352
+ gap: 4px;
353
+ text-align: center;
354
+ }
355
+
356
+ .grid-row {
357
+ display: contents;
358
+ }
359
+
360
+ .day-name {
361
+ font-size: var(--st-font-size-xs);
362
+ font-weight: var(--st-font-weight-semibold);
363
+ color: var(--st-color-text-muted);
364
+ padding-bottom: var(--st-spacing-xs);
365
+ }
366
+
367
+ .day {
368
+ aspect-ratio: 1;
369
+ display: flex;
370
+ align-items: center;
371
+ justify-content: center;
372
+ border: none;
373
+ background: transparent;
374
+ border-radius: 50%;
375
+ color: var(--st-color-text);
376
+ font-size: var(--st-font-size-sm);
377
+ cursor: pointer;
378
+ transition: all 0.2s ease;
379
+ }
380
+
381
+ .day:hover:not(:disabled):not(.empty) {
382
+ background-color: var(--st-color-surface-hover, #f1f5f9);
383
+ }
384
+
385
+ .day:focus-visible {
386
+ outline: 2px solid var(--st-color-primary);
387
+ outline-offset: -2px;
388
+ }
389
+
390
+ .day:disabled {
391
+ color: var(--st-color-text-muted);
392
+ opacity: 0.3;
393
+ cursor: not-allowed;
394
+ }
395
+
396
+ .day.empty {
397
+ cursor: default;
398
+ pointer-events: none;
399
+ }
400
+
401
+ .day[aria-current="date"] {
402
+ font-weight: var(--st-font-weight-bold);
403
+ color: var(--st-color-primary);
404
+ background-color: var(--st-color-primary-light, #eff6ff);
405
+ }
406
+
407
+ .day[aria-selected="true"] {
408
+ background-color: var(--st-color-primary);
409
+ color: var(--st-color-on-primary, var(--st-color-bg, #ffffff));
410
+ font-weight: var(--st-font-weight-bold);
411
+ }
412
+
413
+ .day[aria-selected="true"]:hover {
414
+ background-color: var(--st-color-primary-dark, #1d4ed8);
415
+ }
416
+ `,
417
+ ];
418
+ __decorate([
419
+ property({ type: String, reflect: true })
420
+ ], StCalendar.prototype, "name", void 0);
421
+ __decorate([
422
+ property({ type: String })
423
+ ], StCalendar.prototype, "value", void 0);
424
+ __decorate([
425
+ property({ type: String })
426
+ ], StCalendar.prototype, "min", void 0);
427
+ __decorate([
428
+ property({ type: String })
429
+ ], StCalendar.prototype, "max", void 0);
430
+ __decorate([
431
+ property({ type: Boolean, reflect: true })
432
+ ], StCalendar.prototype, "disabled", void 0);
433
+ __decorate([
434
+ property({ type: Boolean, reflect: true })
435
+ ], StCalendar.prototype, "required", void 0);
436
+ __decorate([
437
+ property({ type: Boolean, reflect: true })
438
+ ], StCalendar.prototype, "invalid", void 0);
439
+ __decorate([
440
+ state()
441
+ ], StCalendar.prototype, "_viewMonth", void 0);
442
+ __decorate([
443
+ state()
444
+ ], StCalendar.prototype, "_viewYear", void 0);
445
+ StCalendar = __decorate([
446
+ customElement("st-calendar")
447
+ ], StCalendar);
448
+ export { StCalendar };
449
+ //# sourceMappingURL=calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../../src/components/calendar/calendar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { LitElement, PropertyValues } from "lit";
2
+ export declare class StCronBuilder extends LitElement {
3
+ static formAssociated: boolean;
4
+ private _internals;
5
+ name: string;
6
+ value: string;
7
+ required: boolean;
8
+ private _frequency;
9
+ private _time;
10
+ private _days;
11
+ private _monthDay;
12
+ private _date;
13
+ private _customCron;
14
+ private _customCronError;
15
+ private _customCronText;
16
+ private _defaultValue;
17
+ private _lastGeneratedOutput;
18
+ constructor();
19
+ static styles: import("lit").CSSResult[];
20
+ willUpdate(changedProperties: PropertyValues): void;
21
+ firstUpdated(changedProperties: PropertyValues): void;
22
+ private _parseIncomingValue;
23
+ private _translateCron;
24
+ private _generateOutput;
25
+ private _handleCustomCronInput;
26
+ private _handleFrequencyChange;
27
+ checkValidity(): boolean;
28
+ reportValidity(): boolean;
29
+ formResetCallback(): void;
30
+ render(): import("lit-html").TemplateResult<1>;
31
+ }
32
+ declare global {
33
+ interface HTMLElementTagNameMap {
34
+ "st-cron-builder": StCronBuilder;
35
+ }
36
+ }
37
+ //# sourceMappingURL=cron-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-builder.d.ts","sourceRoot":"","sources":["../../../src/components/cron-builder/cron-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAa,cAAc,EAAC,MAAM,KAAK,CAAC;AAI1D,qBACa,aAAc,SAAQ,UAAU;IAC3C,MAAM,CAAC,cAAc,UAAQ;IAC7B,OAAO,CAAC,UAAU,CAAmB;IAEI,IAAI,SAAM;IACzB,KAAK,SAAM;IACK,QAAQ,UAAS;IAElD,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,KAAK,CAAM;IAEnB,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,eAAe,CAAM;IAEtC,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,oBAAoB,CAAM;IAElC,cAOC;IAED,MAAM,CAAC,MAAM,4BAsFX;IAEO,UAAU,CAAC,iBAAiB,EAAE,cAAc,QAQpD;IAEQ,YAAY,CAAC,iBAAiB,EAAE,cAAc,QAStD;IAED,OAAO,CAAC,mBAAmB;IAuD3B,OAAO,CAAC,cAAc;IAiHtB,OAAO,CAAC,eAAe;IA+CvB,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,sBAAsB;IAKvB,aAAa,YAEnB;IACM,cAAc,YAEpB;IAED,iBAAiB,SAIhB;IAED,MAAM,yCAoIL;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,aAAa,CAAC;KAClC;CACF"}