@epilot/spark-ui 0.17.0 → 0.18.0

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 (58) hide show
  1. package/dist/components/attachment.d.cts +1 -1
  2. package/dist/components/attachment.d.ts +1 -1
  3. package/dist/components/autocomplete.cjs +5 -6
  4. package/dist/components/autocomplete.cjs.map +1 -1
  5. package/dist/components/autocomplete.d.cts +1 -4
  6. package/dist/components/autocomplete.d.ts +1 -4
  7. package/dist/components/autocomplete.js +5 -6
  8. package/dist/components/autocomplete.js.map +1 -1
  9. package/dist/components/avatar.js +1 -1
  10. package/dist/components/badge.js +1 -1
  11. package/dist/components/bar-chart.cjs +1 -1
  12. package/dist/components/bar-chart.js +2 -2
  13. package/dist/components/box.js +1 -1
  14. package/dist/components/bubble.d.cts +1 -1
  15. package/dist/components/bubble.d.ts +1 -1
  16. package/dist/components/button-group.js +1 -1
  17. package/dist/components/button.d.cts +2 -2
  18. package/dist/components/button.d.ts +2 -2
  19. package/dist/components/button.js +1 -1
  20. package/dist/components/callout.d.cts +1 -1
  21. package/dist/components/callout.d.ts +1 -1
  22. package/dist/components/card.js +1 -1
  23. package/dist/components/checkbox.js +1 -1
  24. package/dist/components/icon.js +1 -1
  25. package/dist/components/info-block.d.cts +1 -1
  26. package/dist/components/info-block.d.ts +1 -1
  27. package/dist/components/input-date.cjs +141 -0
  28. package/dist/components/input-date.cjs.map +1 -0
  29. package/dist/components/input-date.d.cts +22 -0
  30. package/dist/components/input-date.d.ts +22 -0
  31. package/dist/components/input-date.js +138 -0
  32. package/dist/components/input-date.js.map +1 -0
  33. package/dist/components/line-chart.cjs +3 -3
  34. package/dist/components/line-chart.js +4 -4
  35. package/dist/components/marker.d.cts +1 -1
  36. package/dist/components/marker.d.ts +1 -1
  37. package/dist/components/message-scroller.js +1 -1
  38. package/dist/components/pill.cjs +2 -2
  39. package/dist/components/pill.cjs.map +1 -1
  40. package/dist/components/pill.js +3 -3
  41. package/dist/components/pill.js.map +1 -1
  42. package/dist/components/power-history-chart.cjs +3 -3
  43. package/dist/components/power-history-chart.js +4 -4
  44. package/dist/components/power-history.cjs +1 -1
  45. package/dist/components/power-history.js +1 -1
  46. package/dist/components/power-network.js +1 -1
  47. package/dist/components/radio.js +1 -1
  48. package/dist/components/solar-forecast-chart.js +1 -1
  49. package/dist/components/switch.js +1 -1
  50. package/dist/components/theme.js +1 -1
  51. package/dist/styles/spark-default.css +4 -0
  52. package/package.json +2 -1
  53. package/dist/utils/date-mask.cjs +0 -45
  54. package/dist/utils/date-mask.cjs.map +0 -1
  55. package/dist/utils/date-mask.d.cts +0 -17
  56. package/dist/utils/date-mask.d.ts +0 -17
  57. package/dist/utils/date-mask.js +0 -41
  58. package/dist/utils/date-mask.js.map +0 -1
@@ -1,41 +0,0 @@
1
- "use client";
2
- //#region src/utils/date-mask.ts
3
- function maskDateInput(value, { separator = ".", deleting = false } = {}) {
4
- const digits = value.replace(/\D/g, "").slice(0, 8);
5
- let out = digits.slice(0, 2);
6
- if (digits.length > 2) out += separator + digits.slice(2, 4);
7
- if (digits.length > 4) out += separator + digits.slice(4, 8);
8
- const groupComplete = digits.length === 2 || digits.length === 4;
9
- const keepTrailing = deleting ? /[./-]$/.test(value) : true;
10
- if (groupComplete && keepTrailing) out += separator;
11
- return out;
12
- }
13
- function parseTypedDate(value) {
14
- const parts = value.trim().split(/[./-]/).map(Number);
15
- if (parts.length !== 3 || parts.some(Number.isNaN)) return void 0;
16
- const [day, month, year] = parts;
17
- const parsed = new Date(year, month - 1, day);
18
- return parsed.getFullYear() === year && parsed.getMonth() === month - 1 && parsed.getDate() === day ? parsed : void 0;
19
- }
20
- function maskedDateCaret(masked, digitsBefore) {
21
- let digits = 0;
22
- let index = 0;
23
- while (index < masked.length && digits < digitsBefore) {
24
- if (/\d/.test(masked[index])) digits++;
25
- index++;
26
- }
27
- while (index < masked.length && /\D/.test(masked[index])) index++;
28
- return index;
29
- }
30
- function formatTypedDate(date, separator = ".") {
31
- const pad = (n) => String(n).padStart(2, "0");
32
- return [
33
- pad(date.getDate()),
34
- pad(date.getMonth() + 1),
35
- date.getFullYear()
36
- ].join(separator);
37
- }
38
- //#endregion
39
- export { formatTypedDate, maskDateInput, maskedDateCaret, parseTypedDate };
40
-
41
- //# sourceMappingURL=date-mask.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-mask.js","names":[],"sources":["../../src/utils/date-mask.ts"],"sourcesContent":["// Helpers for a typeable date field: mask keystrokes into DD.MM.YYYY, parse the\n// masked value into a Date, and format a picked Date back into the masked value.\n\n// While typing, a completed group (2 or 4 digits) gets a trailing separator so\n// the next group flows. While deleting, the trailing separator is kept only if\n// the raw value still ends with one — so backspace lands on `DD.MM.` first, then\n// removes the separator on the next press, one character at a time.\nexport function maskDateInput(\n value: string,\n { separator = '.', deleting = false }: MaskOptions = {},\n): string {\n const digits = value.replace(/\\D/g, '').slice(0, 8)\n let out = digits.slice(0, 2)\n if (digits.length > 2) out += separator + digits.slice(2, 4)\n if (digits.length > 4) out += separator + digits.slice(4, 8)\n const groupComplete = digits.length === 2 || digits.length === 4\n const keepTrailing = deleting ? /[./-]$/.test(value) : true\n if (groupComplete && keepTrailing) out += separator\n return out\n}\n\n// Accepts any of `.` `/` `-` as separators; rejects impossible dates (32.01.2020).\nexport function parseTypedDate(value: string): Date | undefined {\n const parts = value.trim().split(/[./-]/).map(Number)\n if (parts.length !== 3 || parts.some(Number.isNaN)) return undefined\n const [day, month, year] = parts as [number, number, number]\n const parsed = new Date(year, month - 1, day)\n const valid =\n parsed.getFullYear() === year &&\n parsed.getMonth() === month - 1 &&\n parsed.getDate() === day\n return valid ? parsed : undefined\n}\n\n// Caret position after TYPING: after the typed digit, flowing past a\n// separator into the next group. (For deletions, keep the raw caret instead —\n// the mask's separator positions are fixed, so it maps directly and backspace\n// can cross separators without looping.)\nexport function maskedDateCaret(masked: string, digitsBefore: number): number {\n let digits = 0\n let index = 0\n while (index < masked.length && digits < digitsBefore) {\n if (/\\d/.test(masked[index]!)) digits++\n index++\n }\n while (index < masked.length && /\\D/.test(masked[index]!)) index++\n return index\n}\n\nexport function formatTypedDate(date: Date, separator = '.'): string {\n const pad = (n: number) => String(n).padStart(2, '0')\n return [\n pad(date.getDate()),\n pad(date.getMonth() + 1),\n date.getFullYear(),\n ].join(separator)\n}\n\ninterface MaskOptions {\n separator?: string\n deleting?: boolean\n}\n"],"mappings":";;AAOA,SAAgB,cACd,OACA,EAAE,YAAY,KAAK,WAAW,UAAuB,CAAC,GAC9C;CACR,MAAM,SAAS,MAAM,QAAQ,OAAO,EAAE,EAAE,MAAM,GAAG,CAAC;CAClD,IAAI,MAAM,OAAO,MAAM,GAAG,CAAC;CAC3B,IAAI,OAAO,SAAS,GAAG,OAAO,YAAY,OAAO,MAAM,GAAG,CAAC;CAC3D,IAAI,OAAO,SAAS,GAAG,OAAO,YAAY,OAAO,MAAM,GAAG,CAAC;CAC3D,MAAM,gBAAgB,OAAO,WAAW,KAAK,OAAO,WAAW;CAC/D,MAAM,eAAe,WAAW,SAAS,KAAK,KAAK,IAAI;CACvD,IAAI,iBAAiB,cAAc,OAAO;CAC1C,OAAO;AACT;AAGA,SAAgB,eAAe,OAAiC;CAC9D,MAAM,QAAQ,MAAM,KAAK,EAAE,MAAM,OAAO,EAAE,IAAI,MAAM;CACpD,IAAI,MAAM,WAAW,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,OAAO,KAAA;CAC3D,MAAM,CAAC,KAAK,OAAO,QAAQ;CAC3B,MAAM,SAAS,IAAI,KAAK,MAAM,QAAQ,GAAG,GAAG;CAK5C,OAHE,OAAO,YAAY,MAAM,QACzB,OAAO,SAAS,MAAM,QAAQ,KAC9B,OAAO,QAAQ,MAAM,MACR,SAAS,KAAA;AAC1B;AAMA,SAAgB,gBAAgB,QAAgB,cAA8B;CAC5E,IAAI,SAAS;CACb,IAAI,QAAQ;CACZ,OAAO,QAAQ,OAAO,UAAU,SAAS,cAAc;EACrD,IAAI,KAAK,KAAK,OAAO,MAAO,GAAG;EAC/B;CACF;CACA,OAAO,QAAQ,OAAO,UAAU,KAAK,KAAK,OAAO,MAAO,GAAG;CAC3D,OAAO;AACT;AAEA,SAAgB,gBAAgB,MAAY,YAAY,KAAa;CACnE,MAAM,OAAO,MAAc,OAAO,CAAC,EAAE,SAAS,GAAG,GAAG;CACpD,OAAO;EACL,IAAI,KAAK,QAAQ,CAAC;EAClB,IAAI,KAAK,SAAS,IAAI,CAAC;EACvB,KAAK,YAAY;CACnB,EAAE,KAAK,SAAS;AAClB"}