@sondor-technology/sondor-components 1.0.6 → 1.0.8

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 (65) 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 +439 -0
  4. package/dist/components/calendar/calendar.js.map +1 -0
  5. package/dist/components/cron-builder/cron-builder.d.ts +34 -0
  6. package/dist/components/cron-builder/cron-builder.d.ts.map +1 -0
  7. package/dist/components/cron-builder/cron-builder.js +456 -0
  8. package/dist/components/cron-builder/cron-builder.js.map +1 -0
  9. package/dist/components/form/form.js +2 -2
  10. package/dist/components/icon/icon-paths.d.ts +161 -86
  11. package/dist/components/icon/icon-paths.d.ts.map +1 -1
  12. package/dist/components/icon/icon-paths.js +175 -106
  13. package/dist/components/icon/icon-paths.js.map +1 -1
  14. package/dist/components/icon/icon.d.ts +1 -1
  15. package/dist/components/icon/icon.d.ts.map +1 -1
  16. package/dist/components/icon/icon.js +5 -5
  17. package/dist/components/icon/icon.js.map +1 -1
  18. package/dist/components/input/input.d.ts +1 -0
  19. package/dist/components/input/input.d.ts.map +1 -1
  20. package/dist/components/input/input.js +35 -12
  21. package/dist/components/input/input.js.map +1 -1
  22. package/dist/components/pin-input/pin-input.d.ts +33 -0
  23. package/dist/components/pin-input/pin-input.d.ts.map +1 -0
  24. package/dist/components/pin-input/pin-input.js +253 -0
  25. package/dist/components/pin-input/pin-input.js.map +1 -0
  26. package/dist/components/popover/popover.d.ts +26 -0
  27. package/dist/components/popover/popover.d.ts.map +1 -0
  28. package/dist/components/popover/popover.js +196 -0
  29. package/dist/components/popover/popover.js.map +1 -0
  30. package/dist/components/select/select.d.ts +4 -1
  31. package/dist/components/select/select.d.ts.map +1 -1
  32. package/dist/components/select/select.js +26 -4
  33. package/dist/components/select/select.js.map +1 -1
  34. package/dist/components/time-picker/time-picker.d.ts +38 -0
  35. package/dist/components/time-picker/time-picker.d.ts.map +1 -0
  36. package/dist/components/time-picker/time-picker.js +280 -0
  37. package/dist/components/time-picker/time-picker.js.map +1 -0
  38. package/dist/components/toggle-group/toggle-button.d.ts +23 -0
  39. package/dist/components/toggle-group/toggle-button.d.ts.map +1 -0
  40. package/dist/components/toggle-group/toggle-button.js +115 -0
  41. package/dist/components/toggle-group/toggle-button.js.map +1 -0
  42. package/dist/components/toggle-group/toggle-group.d.ts +32 -0
  43. package/dist/components/toggle-group/toggle-group.d.ts.map +1 -0
  44. package/dist/components/toggle-group/toggle-group.js +150 -0
  45. package/dist/components/toggle-group/toggle-group.js.map +1 -0
  46. package/dist/components/tooltip/tooltip.d.ts +33 -0
  47. package/dist/components/tooltip/tooltip.d.ts.map +1 -0
  48. package/dist/components/tooltip/tooltip.js +293 -0
  49. package/dist/components/tooltip/tooltip.js.map +1 -0
  50. package/dist/styles/index.css +1 -0
  51. package/package.json +29 -1
  52. package/src/components/calendar/calendar.ts +444 -0
  53. package/src/components/cron-builder/cron-builder.ts +452 -0
  54. package/src/components/form/form.ts +2 -2
  55. package/src/components/icon/icon-paths.ts +175 -106
  56. package/src/components/icon/icon.ts +6 -6
  57. package/src/components/input/input.ts +38 -14
  58. package/src/components/pin-input/pin-input.ts +249 -0
  59. package/src/components/popover/popover.ts +192 -0
  60. package/src/components/select/select.ts +25 -63
  61. package/src/components/time-picker/time-picker.ts +272 -0
  62. package/src/components/toggle-group/toggle-button.ts +104 -0
  63. package/src/components/toggle-group/toggle-group.ts +148 -0
  64. package/src/components/tooltip/tooltip.ts +286 -0
  65. package/src/styles/theme.css +2 -0
@@ -0,0 +1,456 @@
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";
10
+ let StCronBuilder = class StCronBuilder extends LitElement {
11
+ constructor() {
12
+ super();
13
+ this.name = "";
14
+ this.value = "";
15
+ this.required = false;
16
+ this._frequency = "weekly";
17
+ this._time = "12:00";
18
+ this._days = "1,3,5";
19
+ this._monthDay = "1";
20
+ this._date = "";
21
+ this._customCron = "0 * * * *";
22
+ this._customCronError = "";
23
+ this._customCronText = "";
24
+ this._defaultValue = "";
25
+ this._internals = this.attachInternals();
26
+ const today = new Date();
27
+ const pad = (n) => n.toString().padStart(2, "0");
28
+ this._date = `${today.getFullYear()}-${pad(today.getMonth() + 1)}-${pad(today.getDate())}`;
29
+ }
30
+ firstUpdated() {
31
+ this._generateOutput();
32
+ this._defaultValue = this.value;
33
+ }
34
+ _translateCron(cron) {
35
+ const parts = cron.trim().split(/\s+/);
36
+ if (parts.length !== 5) {
37
+ return {
38
+ valid: false,
39
+ text: `A cron expression must contain exactly 5 segments (currently ${parts.length}).`,
40
+ };
41
+ }
42
+ const types = ["Minute", "Hour", "Day of Month", "Month", "Day of Week"];
43
+ const bounds = [
44
+ { min: 0, max: 59 }, // Minute
45
+ { min: 0, max: 23 }, // Hour
46
+ { min: 1, max: 31 }, // DOM
47
+ { min: 1, max: 12 }, // Month
48
+ { min: 0, max: 7 }, // DOW
49
+ ];
50
+ for (let i = 0; i < 5; i++) {
51
+ const part = parts[i];
52
+ const type = types[i];
53
+ const bound = bounds[i];
54
+ // Prevent consecutive or hanging symbols like 1- or */
55
+ if (/(^[\/\-\,])|([\/\-\,]$)|([\/\-\,]{2,})/.test(part)) {
56
+ return { valid: false, text: `Invalid formatting in ${type} segment.` };
57
+ }
58
+ // First 3 segments (min, hour, dom) cannot have letters
59
+ if (i < 3 && /[A-Za-z]/.test(part)) {
60
+ return { valid: false, text: `${type} cannot contain letters.` };
61
+ }
62
+ // Last 2 segments can only have specific valid keywords
63
+ if (/[A-Za-z]/.test(part)) {
64
+ const words = part.match(/[A-Za-z]+/g) || [];
65
+ const validWords = i === 3
66
+ ? ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"]
67
+ : ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];
68
+ for (const word of words) {
69
+ if (!validWords.includes(word.toUpperCase())) {
70
+ return { valid: false, text: `"${word}" is not a valid ${type}.` };
71
+ }
72
+ }
73
+ }
74
+ const numbers = part.match(/\d+/g);
75
+ if (numbers) {
76
+ for (const numStr of numbers) {
77
+ const num = parseInt(numStr, 10);
78
+ if (num < bound.min || num > bound.max) {
79
+ return {
80
+ valid: false,
81
+ text: `${type} values must be between ${bound.min} and ${bound.max}.`,
82
+ };
83
+ }
84
+ }
85
+ }
86
+ }
87
+ const [min, hour, dom, mon, dow] = parts;
88
+ let desc = "Runs ";
89
+ if (min === "*")
90
+ desc += "every minute";
91
+ else if (min.startsWith("*/"))
92
+ desc += `every ${min.substring(2)} minutes`;
93
+ else
94
+ desc += `at minute ${min}`;
95
+ if (hour !== "*") {
96
+ if (hour.startsWith("*/"))
97
+ desc += `, past every ${hour.substring(2)} hours`;
98
+ else
99
+ desc += `, past hour ${hour}`;
100
+ }
101
+ if (dom !== "*") {
102
+ if (dom.startsWith("*/"))
103
+ desc += `, every ${dom.substring(2)} days`;
104
+ else
105
+ desc += `, on day ${dom} of the month`;
106
+ }
107
+ if (mon !== "*") {
108
+ if (mon.startsWith("*/"))
109
+ desc += `, every ${mon.substring(2)} months`;
110
+ else
111
+ desc += `, in month ${mon}`;
112
+ }
113
+ if (dow !== "*") {
114
+ const days = [
115
+ "Sunday",
116
+ "Monday",
117
+ "Tuesday",
118
+ "Wednesday",
119
+ "Thursday",
120
+ "Friday",
121
+ "Saturday",
122
+ "Sunday",
123
+ ];
124
+ let dayStr = dow;
125
+ if (dow.length === 1 && /[0-7]/.test(dow)) {
126
+ dayStr = days[parseInt(dow, 10)];
127
+ }
128
+ else if (dow.includes("-") && /[0-7]-[0-7]/.test(dow)) {
129
+ dayStr = dow
130
+ .split("-")
131
+ .map((d) => days[parseInt(d, 10)])
132
+ .join(" through ");
133
+ }
134
+ desc += `, on ${dayStr}`;
135
+ }
136
+ return { valid: true, text: desc + "." };
137
+ }
138
+ _generateOutput() {
139
+ let output = "";
140
+ this._customCronError = "";
141
+ this._customCronText = "";
142
+ this._internals.setValidity({});
143
+ if (this._frequency === "custom") {
144
+ const analysis = this._translateCron(this._customCron);
145
+ if (!analysis.valid) {
146
+ this._customCronError = analysis.text;
147
+ this._internals.setValidity({ customError: true }, analysis.text);
148
+ }
149
+ else {
150
+ this._customCronText = analysis.text;
151
+ }
152
+ output = this._customCron;
153
+ }
154
+ else if (this._frequency === "one-off") {
155
+ output = `${this._date}T${this._time}`;
156
+ }
157
+ else {
158
+ const [hh, mm] = this._time.split(":");
159
+ const minute = mm ? parseInt(mm, 10).toString() : "0";
160
+ const hour = hh ? parseInt(hh, 10).toString() : "0";
161
+ switch (this._frequency) {
162
+ case "daily":
163
+ output = `${minute} ${hour} * * *`;
164
+ break;
165
+ case "weekly":
166
+ const safeDays = this._days || "1";
167
+ output = `${minute} ${hour} * * ${safeDays}`;
168
+ break;
169
+ case "monthly":
170
+ output = `${minute} ${hour} ${this._monthDay} * *`;
171
+ break;
172
+ }
173
+ }
174
+ this.value = output;
175
+ this._internals.setFormValue(output);
176
+ this.dispatchEvent(new Event("change", { bubbles: true, composed: true }));
177
+ }
178
+ _handleCustomCronInput(e) {
179
+ const inputEl = e.target;
180
+ const sanitized = inputEl.value.replace(/[^0-9A-Za-z\s\*\/\-\,]/g, "");
181
+ if (inputEl.value !== sanitized) {
182
+ inputEl.value = sanitized;
183
+ }
184
+ this._customCron = sanitized;
185
+ this._generateOutput();
186
+ }
187
+ _handleFrequencyChange(e) {
188
+ this._frequency = e.target.value;
189
+ this._generateOutput();
190
+ }
191
+ checkValidity() {
192
+ return this._internals.checkValidity();
193
+ }
194
+ reportValidity() {
195
+ return this._internals.reportValidity();
196
+ }
197
+ formResetCallback() {
198
+ this.value = this._defaultValue;
199
+ this._frequency = "weekly";
200
+ this._generateOutput();
201
+ }
202
+ render() {
203
+ const frequencyOptions = [
204
+ { label: "One-Off Execution", value: "one-off" },
205
+ { label: "Daily", value: "daily" },
206
+ { label: "Weekly", value: "weekly" },
207
+ { label: "Monthly", value: "monthly" },
208
+ { label: "Custom Cron", value: "custom" },
209
+ ];
210
+ const monthDayOptions = Array.from({ length: 31 }, (_, i) => ({
211
+ label: `${i + 1}${i === 0 ? "st" : i === 1 ? "nd" : i === 2 ? "rd" : "th"}`,
212
+ value: String(i + 1),
213
+ }));
214
+ // Calculate which segment the user is currently typing in
215
+ const activeSegmentIndex = Math.min(this._customCron.trimStart().split(/\s+/).length - 1, 4);
216
+ return html `
217
+ <div class="builder-grid">
218
+ <div class="row">
219
+ <st-select
220
+ label="Schedule Type"
221
+ .options=${frequencyOptions}
222
+ .value=${this._frequency}
223
+ @change=${this._handleFrequencyChange}
224
+ ></st-select>
225
+ </div>
226
+
227
+ ${this._frequency === "weekly"
228
+ ? html `
229
+ <div class="row">
230
+ <label>Run on days</label>
231
+ <st-toggle-group
232
+ multiple
233
+ .value=${this._days}
234
+ @change=${(e) => {
235
+ this._days = e.target.value;
236
+ this._generateOutput();
237
+ }}
238
+ >
239
+ <st-toggle-button value="1">Mon</st-toggle-button>
240
+ <st-toggle-button value="2">Tue</st-toggle-button>
241
+ <st-toggle-button value="3">Wed</st-toggle-button>
242
+ <st-toggle-button value="4">Thu</st-toggle-button>
243
+ <st-toggle-button value="5">Fri</st-toggle-button>
244
+ <st-toggle-button value="6">Sat</st-toggle-button>
245
+ <st-toggle-button value="0">Sun</st-toggle-button>
246
+ </st-toggle-group>
247
+ </div>
248
+ `
249
+ : ""}
250
+ ${this._frequency === "monthly"
251
+ ? html `
252
+ <div class="row">
253
+ <st-select
254
+ label="Run on day of month"
255
+ .options=${monthDayOptions}
256
+ .value=${this._monthDay}
257
+ @change=${(e) => {
258
+ this._monthDay = e.target.value;
259
+ this._generateOutput();
260
+ }}
261
+ ></st-select>
262
+ </div>
263
+ `
264
+ : ""}
265
+ ${this._frequency === "one-off"
266
+ ? html `
267
+ <div class="row">
268
+ <label>Execution Date</label>
269
+ <st-calendar
270
+ .value=${this._date}
271
+ @change=${(e) => {
272
+ this._date = e.target.value;
273
+ this._generateOutput();
274
+ }}
275
+ ></st-calendar>
276
+ </div>
277
+ `
278
+ : ""}
279
+ ${this._frequency === "custom"
280
+ ? html `
281
+ <div class="row">
282
+ <st-input
283
+ label="Raw Cron Expression"
284
+ placeholder="*/15 * * * *"
285
+ .value=${this._customCron}
286
+ .error=${this._customCronError}
287
+ ?invalid=${!!this._customCronError}
288
+ @input=${this._handleCustomCronInput}
289
+ ></st-input>
290
+ <div class="cron-segments" aria-hidden="true">
291
+ ${["Minute", "Hour", "Day", "Month", "Weekday"].map((label, i) => html `
292
+ <div class="segment-badge ${activeSegmentIndex === i ? "active" : ""}">
293
+ ${label}
294
+ </div>
295
+ `)}
296
+ </div>
297
+
298
+ ${this._customCronText && !this._customCronError
299
+ ? html `
300
+ <div class="helper-text success-text">
301
+ <strong>Schedule:</strong> ${this._customCronText}
302
+ </div>
303
+ `
304
+ : ""}
305
+ </div>
306
+ `
307
+ : ""}
308
+ ${this._frequency !== "custom"
309
+ ? html `
310
+ <div class="row">
311
+ <st-time-picker
312
+ label="Execution Time"
313
+ .value=${this._time}
314
+ @change=${(e) => {
315
+ this._time = e.target.value;
316
+ this._generateOutput();
317
+ }}
318
+ ></st-time-picker>
319
+ </div>
320
+ `
321
+ : ""}
322
+
323
+ <div class="output-preview">
324
+ <div class="helper-text">Generated Payload</div>
325
+ <code>${this.value}</code>
326
+ </div>
327
+ </div>
328
+ `;
329
+ }
330
+ };
331
+ StCronBuilder.formAssociated = true;
332
+ StCronBuilder.styles = [
333
+ resetStyles,
334
+ css `
335
+ :host {
336
+ display: block;
337
+ background: var(--st-color-surface);
338
+ border: 1px solid var(--st-color-border);
339
+ border-radius: var(--st-radius-lg);
340
+ padding: var(--st-spacing-lg);
341
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
342
+ }
343
+
344
+ .builder-grid {
345
+ display: flex;
346
+ flex-direction: column;
347
+ gap: var(--st-spacing-lg);
348
+ }
349
+
350
+ .row {
351
+ display: flex;
352
+ flex-direction: column;
353
+ gap: var(--st-spacing-xs);
354
+ }
355
+
356
+ label {
357
+ font-size: var(--st-font-size-sm);
358
+ font-weight: 600;
359
+ color: var(--st-color-text);
360
+ }
361
+
362
+ .helper-text {
363
+ font-size: var(--st-font-size-xs);
364
+ color: var(--st-color-text-muted);
365
+ margin-top: 4px;
366
+ }
367
+
368
+ .cron-segments {
369
+ display: flex;
370
+ gap: 4px;
371
+ margin-top: var(--st-spacing-xs);
372
+ margin-bottom: var(--st-spacing-xs);
373
+ }
374
+
375
+ .segment-badge {
376
+ flex: 1;
377
+ text-align: center;
378
+ font-size: 11px;
379
+ padding: 4px;
380
+ background: var(--st-color-surface-muted, #f1f5f9);
381
+ border-radius: var(--st-radius-sm);
382
+ color: var(--st-color-text-muted);
383
+ border: 1px solid var(--st-color-border);
384
+ transition: all 0.2s;
385
+ }
386
+
387
+ .segment-badge.active {
388
+ background: var(--st-color-primary, #eff6ff);
389
+ color: var(--st-color-surface);
390
+ border-color: var(--st-color-primary);
391
+ font-weight: 600;
392
+ }
393
+
394
+ .success-text {
395
+ color: var(--st-color-success, #16a34a);
396
+ }
397
+
398
+ .error-text {
399
+ color: var(--st-color-danger, #dc2626);
400
+ font-weight: 500;
401
+ }
402
+
403
+ .output-preview {
404
+ margin-top: var(--st-spacing-md);
405
+ padding: var(--st-spacing-md);
406
+ background: var(--st-color-surface-muted, #f8fafc);
407
+ border-radius: var(--st-radius-md);
408
+ border: 1px dashed var(--st-color-border);
409
+ }
410
+
411
+ .output-preview code {
412
+ font-family: monospace;
413
+ color: var(--st-color-primary);
414
+ font-weight: bold;
415
+ font-size: var(--st-font-size-lg);
416
+ }
417
+ `,
418
+ ];
419
+ __decorate([
420
+ property({ type: String, reflect: true })
421
+ ], StCronBuilder.prototype, "name", void 0);
422
+ __decorate([
423
+ property({ type: String })
424
+ ], StCronBuilder.prototype, "value", void 0);
425
+ __decorate([
426
+ property({ type: Boolean, reflect: true })
427
+ ], StCronBuilder.prototype, "required", void 0);
428
+ __decorate([
429
+ state()
430
+ ], StCronBuilder.prototype, "_frequency", void 0);
431
+ __decorate([
432
+ state()
433
+ ], StCronBuilder.prototype, "_time", void 0);
434
+ __decorate([
435
+ state()
436
+ ], StCronBuilder.prototype, "_days", void 0);
437
+ __decorate([
438
+ state()
439
+ ], StCronBuilder.prototype, "_monthDay", void 0);
440
+ __decorate([
441
+ state()
442
+ ], StCronBuilder.prototype, "_date", void 0);
443
+ __decorate([
444
+ state()
445
+ ], StCronBuilder.prototype, "_customCron", void 0);
446
+ __decorate([
447
+ state()
448
+ ], StCronBuilder.prototype, "_customCronError", void 0);
449
+ __decorate([
450
+ state()
451
+ ], StCronBuilder.prototype, "_customCronText", void 0);
452
+ StCronBuilder = __decorate([
453
+ customElement("st-cron-builder")
454
+ ], StCronBuilder);
455
+ export { StCronBuilder };
456
+ //# sourceMappingURL=cron-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-builder.js","sourceRoot":"","sources":["../../../src/components/cron-builder/cron-builder.ts"],"names":[],"mappings":"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"}
@@ -267,7 +267,7 @@ let StForm = class StForm extends LitElement {
267
267
  >
268
268
  <div class="step-circle">
269
269
  ${isCompleted
270
- ? html `<st-icon name="check-circle" size="sm"></st-icon>`
270
+ ? html `<st-icon name="circle-check" size="sm"></st-icon>`
271
271
  : html `${index + 1}`}
272
272
  </div>
273
273
  <span>${step.title || `Step ${index + 1}`}</span>
@@ -287,7 +287,7 @@ let StForm = class StForm extends LitElement {
287
287
  ${this.error
288
288
  ? html `
289
289
  <st-alert color="error" style="margin-bottom: var(--st-spacing-lg);">
290
- <st-icon slot="icon" name="alert-triangle"></st-icon>
290
+ <st-icon slot="icon" name="triangle-exclamation"></st-icon>
291
291
  ${this.error}
292
292
  </st-alert>
293
293
  `