@smwb/ui-solid 0.2.1 → 0.3.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 (51) hide show
  1. package/dist/assets/styles/less/components/carousel/carousel.entry.css +1 -1
  2. package/dist/components/dataDisplay/carousel/carousel.js +152 -138
  3. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  4. package/dist/components/dataDisplay/chat/chatAttachmentImage.js +17 -17
  5. package/dist/components/dataDisplay/chat/chatAttachmentImage.js.map +1 -1
  6. package/dist/components/dataDisplay/chat/chatShell.js +16 -16
  7. package/dist/components/dataDisplay/chat/chatShell.js.map +1 -1
  8. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +25 -25
  9. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  10. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +15 -15
  11. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -1
  12. package/dist/components/feedBack/modal/modal.js +29 -29
  13. package/dist/components/feedBack/modal/modal.js.map +1 -1
  14. package/dist/components/inputs/datePicker/datePicker.js +43 -43
  15. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  16. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +46 -46
  17. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  18. package/dist/components/inputs/selectField/dropdownMenu.js +30 -30
  19. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
  20. package/dist/components/inputs/slider/slider.js +48 -48
  21. package/dist/components/inputs/slider/slider.js.map +1 -1
  22. package/dist/components/inputs/timePicker/timePicker.js +31 -31
  23. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  24. package/dist/components/layout/sheet/sheet.js +29 -29
  25. package/dist/components/layout/sheet/sheet.js.map +1 -1
  26. package/dist/headless/components/dataDisplay/carousel/carousel.js +157 -143
  27. package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
  28. package/dist/headless/components/dataDisplay/chat/chatAttachmentImage.js +17 -17
  29. package/dist/headless/components/dataDisplay/chat/chatAttachmentImage.js.map +1 -1
  30. package/dist/headless/components/dataDisplay/chat/chatShell.js +16 -16
  31. package/dist/headless/components/dataDisplay/chat/chatShell.js.map +1 -1
  32. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +25 -25
  33. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  34. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +15 -15
  35. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -1
  36. package/dist/headless/components/feedBack/modal/modal.js +25 -25
  37. package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
  38. package/dist/headless/components/inputs/datePicker/datePicker.js +43 -43
  39. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  40. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +46 -46
  41. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  42. package/dist/headless/components/inputs/selectField/dropdownMenu.js +30 -30
  43. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
  44. package/dist/headless/components/inputs/slider/slider.js +90 -90
  45. package/dist/headless/components/inputs/slider/slider.js.map +1 -1
  46. package/dist/headless/components/inputs/timePicker/timePicker.js +31 -31
  47. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
  48. package/dist/headless/components/layout/sheet/sheet.js +29 -29
  49. package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
  50. package/dist/ssr.ssr-spec.d.ts +1 -0
  51. package/package.json +4 -3
@@ -1,10 +1,10 @@
1
- import { createComponent as n, Portal as l, effect as c, className as d, setAttribute as v, template as g, delegateEvents as u } from "solid-js/web";
2
- import { Show as f } from "solid-js";
3
- import _ from "clsx";
4
- import { createCssTransition as b } from "../../../../primitives/createCssTransition.js";
5
- var w = /* @__PURE__ */ g("<div><div class=smwb-image-modal><img alt class=smwb-image-modal__img>");
6
- function y(r) {
7
- const a = b({
1
+ import { createComponent as n, Portal as l, effect as c, className as d, setAttribute as v, isServer as g, template as u, delegateEvents as f } from "solid-js/web";
2
+ import { Show as _ } from "solid-js";
3
+ import b from "clsx";
4
+ import { createCssTransition as w } from "../../../../primitives/createCssTransition.js";
5
+ var h = /* @__PURE__ */ u("<div><div class=smwb-image-modal><img alt class=smwb-image-modal__img>");
6
+ function k(r) {
7
+ const i = w({
8
8
  in: () => r.isOpen,
9
9
  timeout: {
10
10
  enter: 100,
@@ -16,19 +16,19 @@ function y(r) {
16
16
  },
17
17
  appear: !1
18
18
  });
19
- return n(f, {
19
+ return n(_, {
20
20
  get when() {
21
- return a.mounted();
21
+ return i.mounted();
22
22
  },
23
23
  get children() {
24
24
  return n(l, {
25
25
  get mount() {
26
- return document.body;
26
+ return g ? void 0 : document.body;
27
27
  },
28
28
  get children() {
29
- var t = w(), i = t.firstChild, s = i.firstChild;
30
- return t.$$click = () => r.onClose(), i.$$click = (e) => e.stopPropagation(), c((e) => {
31
- var o = _("smwb-image-modal__overlay", a.classes()), m = r.src;
29
+ var t = h(), a = t.firstChild, s = a.firstChild;
30
+ return t.$$click = () => r.onClose(), a.$$click = (e) => e.stopPropagation(), c((e) => {
31
+ var o = b("smwb-image-modal__overlay", i.classes()), m = r.src;
32
32
  return o !== e.e && d(t, e.e = o), m !== e.t && v(s, "src", e.t = m), e;
33
33
  }, {
34
34
  e: void 0,
@@ -39,8 +39,8 @@ function y(r) {
39
39
  }
40
40
  });
41
41
  }
42
- u(["click"]);
42
+ f(["click"]);
43
43
  export {
44
- y as ImagesListItemModal
44
+ k as ImagesListItemModal
45
45
  };
46
46
  //# sourceMappingURL=imagesListItemModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"imagesListItemModal.js","sources":["../../../../../src/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.tsx"],"sourcesContent":["import { type JSX, Show } from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { createCssTransition } from \"../../../../primitives/createCssTransition\";\n\nexport interface ImagesListItemModalProps {\n src: string;\n onClose: () => void;\n isOpen: boolean;\n}\n\nexport function ImagesListItemModal(props: ImagesListItemModalProps): JSX.Element {\n const transition = createCssTransition({\n in: () => props.isOpen,\n timeout: { enter: 100, exit: 100 },\n classNames: {\n enterActive: \"smwb-image-modal__overlay-enter-active\",\n enterDone: \"smwb-image-modal__overlay-enter-done\",\n },\n appear: false,\n });\n\n return (\n <Show when={transition.mounted()}>\n <Portal mount={document.body}>\n <div class={cn(\"smwb-image-modal__overlay\", transition.classes())} onClick={() => props.onClose()}>\n <div class=\"smwb-image-modal\" onClick={(event) => event.stopPropagation()}>\n <img src={props.src} alt=\"\" class=\"smwb-image-modal__img\" />\n </div>\n </div>\n </Portal>\n </Show>\n );\n}\n\nexport default ImagesListItemModal;\n"],"names":["ImagesListItemModal","props","transition","createCssTransition","in","isOpen","timeout","enter","exit","classNames","enterActive","enterDone","appear","_$createComponent","Show","when","mounted","children","Portal","mount","document","body","_el$","_tmpl$","_el$2","firstChild","_el$3","$$click","onClose","event","stopPropagation","_$effect","_p$","_v$","cn","classes","_v$2","src","e","_$className","t","_$setAttribute","undefined","_$delegateEvents"],"mappings":";;;;;AAWO,SAASA,EAAoBC,GAA8C;AAChF,QAAMC,IAAaC,EAAoB;AAAA,IACrCC,IAAIA,MAAMH,EAAMI;AAAAA,IAChBC,SAAS;AAAA,MAAEC,OAAO;AAAA,MAAKC,MAAM;AAAA,IAAA;AAAA,IAC7BC,YAAY;AAAA,MACVC,aAAa;AAAA,MACbC,WAAW;AAAA,IAAA;AAAA,IAEbC,QAAQ;AAAA,EAAA,CACT;AAED,SAAAC,EACGC,GAAI;AAAA,IAAA,IAACC,OAAI;AAAA,aAAEb,EAAWc,QAAAA;AAAAA,IAAS;AAAA,IAAA,IAAAC,WAAA;AAAA,aAAAJ,EAC7BK,GAAM;AAAA,QAAA,IAACC,QAAK;AAAA,iBAAEC,SAASC;AAAAA,QAAI;AAAA,QAAA,IAAAJ,WAAA;AAAA,cAAAK,IAAAC,EAAAA,GAAAC,IAAAF,EAAAG,YAAAC,IAAAF,EAAAC;AAAAH,iBAAAA,EAAAK,UACkD,MAAM1B,EAAM2B,QAAAA,GAASJ,EAAAG,UACvDE,CAAAA,MAAUA,EAAMC,gBAAAA,GAAiBC,EAAAC,CAAAA,MAAA;AAAA,gBAAAC,IAD/DC,EAAG,6BAA6BhC,EAAWiC,SAAS,GAACC,IAEnDnC,EAAMoC;AAAGJ,mBAAAA,MAAAD,EAAAM,KAAAC,EAAAjB,GAAAU,EAAAM,IAAAL,CAAA,GAAAG,MAAAJ,EAAAQ,KAAAC,EAAAf,GAAA,OAAAM,EAAAQ,IAAAJ,CAAA,GAAAJ;AAAAA,UAAA,GAAA;AAAA,YAAAM,GAAAI;AAAAA,YAAAF,GAAAE;AAAAA,UAAAA,CAAA,GAAApB;AAAAA,QAAA;AAAA,MAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA;AAM/B;AAEmCqB,EAAA,CAAA,OAAA,CAAA;"}
1
+ {"version":3,"file":"imagesListItemModal.js","sources":["../../../../../src/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.tsx"],"sourcesContent":["import { type JSX, Show } from \"solid-js\";\nimport { Portal, isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { createCssTransition } from \"../../../../primitives/createCssTransition\";\n\nexport interface ImagesListItemModalProps {\n src: string;\n onClose: () => void;\n isOpen: boolean;\n}\n\nexport function ImagesListItemModal(props: ImagesListItemModalProps): JSX.Element {\n const transition = createCssTransition({\n in: () => props.isOpen,\n timeout: { enter: 100, exit: 100 },\n classNames: {\n enterActive: \"smwb-image-modal__overlay-enter-active\",\n enterDone: \"smwb-image-modal__overlay-enter-done\",\n },\n appear: false,\n });\n\n return (\n <Show when={transition.mounted()}>\n <Portal mount={(isServer ? undefined : document.body) as Node}>\n <div class={cn(\"smwb-image-modal__overlay\", transition.classes())} onClick={() => props.onClose()}>\n <div class=\"smwb-image-modal\" onClick={(event) => event.stopPropagation()}>\n <img src={props.src} alt=\"\" class=\"smwb-image-modal__img\" />\n </div>\n </div>\n </Portal>\n </Show>\n );\n}\n\nexport default ImagesListItemModal;\n"],"names":["ImagesListItemModal","props","transition","createCssTransition","in","isOpen","timeout","enter","exit","classNames","enterActive","enterDone","appear","_$createComponent","Show","when","mounted","children","Portal","mount","isServer","undefined","document","body","_el$","_tmpl$","_el$2","firstChild","_el$3","$$click","onClose","event","stopPropagation","_$effect","_p$","_v$","cn","classes","_v$2","src","e","_$className","t","_$setAttribute","_$delegateEvents"],"mappings":";;;;;AAWO,SAASA,EAAoBC,GAA8C;AAChF,QAAMC,IAAaC,EAAoB;AAAA,IACrCC,IAAIA,MAAMH,EAAMI;AAAAA,IAChBC,SAAS;AAAA,MAAEC,OAAO;AAAA,MAAKC,MAAM;AAAA,IAAA;AAAA,IAC7BC,YAAY;AAAA,MACVC,aAAa;AAAA,MACbC,WAAW;AAAA,IAAA;AAAA,IAEbC,QAAQ;AAAA,EAAA,CACT;AAED,SAAAC,EACGC,GAAI;AAAA,IAAA,IAACC,OAAI;AAAA,aAAEb,EAAWc,QAAAA;AAAAA,IAAS;AAAA,IAAA,IAAAC,WAAA;AAAA,aAAAJ,EAC7BK,GAAM;AAAA,QAAA,IAACC,QAAK;AAAA,iBAAGC,IAAWC,SAAYC,SAASC;AAAAA,QAAa;AAAA,QAAA,IAAAN,WAAA;AAAA,cAAAO,IAAAC,EAAAA,GAAAC,IAAAF,EAAAG,YAAAC,IAAAF,EAAAC;AAAAH,iBAAAA,EAAAK,UACiB,MAAM5B,EAAM6B,QAAAA,GAASJ,EAAAG,UACvDE,CAAAA,MAAUA,EAAMC,gBAAAA,GAAiBC,EAAAC,CAAAA,MAAA;AAAA,gBAAAC,IAD/DC,EAAG,6BAA6BlC,EAAWmC,SAAS,GAACC,IAEnDrC,EAAMsC;AAAGJ,mBAAAA,MAAAD,EAAAM,KAAAC,EAAAjB,GAAAU,EAAAM,IAAAL,CAAA,GAAAG,MAAAJ,EAAAQ,KAAAC,EAAAf,GAAA,OAAAM,EAAAQ,IAAAJ,CAAA,GAAAJ;AAAAA,UAAA,GAAA;AAAA,YAAAM,GAAAnB;AAAAA,YAAAqB,GAAArB;AAAAA,UAAAA,CAAA,GAAAG;AAAAA,QAAA;AAAA,MAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA;AAM/B;AAEmCoB,EAAA,CAAA,OAAA,CAAA;"}
@@ -1,12 +1,12 @@
1
- import { createComponent as d, Portal as f, addEventListener as b, insert as s, Dynamic as w, mergeProps as g, effect as l, className as i, template as y, delegateEvents as C } from "solid-js/web";
1
+ import { createComponent as d, Portal as f, addEventListener as b, insert as s, Dynamic as w, mergeProps as g, effect as i, className as l, isServer as y, template as C, delegateEvents as k } from "solid-js/web";
2
2
  import '../../../assets/styles/less/components/modal/modal.entry.css';/* empty css */
3
- import { mergeProps as k, splitProps as A, createEffect as E, onCleanup as h, Show as O } from "solid-js";
3
+ import { mergeProps as A, splitProps as E, createEffect as h, onCleanup as O, Show as $ } from "solid-js";
4
4
  import a from "clsx";
5
- import { createCssTransition as $ } from "../../../primitives/createCssTransition.js";
6
- import { createFocusTrap as x } from "../../../primitives/createFocusTrap.js";
7
- import { mergeRefs as P } from "../../../primitives/mergeRefs.js";
8
- var c = /* @__PURE__ */ y("<div>");
9
- const F = {
5
+ import { createCssTransition as x } from "../../../primitives/createCssTransition.js";
6
+ import { createFocusTrap as P } from "../../../primitives/createFocusTrap.js";
7
+ import { mergeRefs as F } from "../../../primitives/mergeRefs.js";
8
+ var c = /* @__PURE__ */ C("<div>");
9
+ const L = {
10
10
  appear: "smwb-modal__overlay-appear",
11
11
  appearActive: "smwb-modal__overlay-appear-active",
12
12
  appearDone: "smwb-modal__overlay-appear-done",
@@ -16,8 +16,8 @@ const F = {
16
16
  exit: "smwb-modal__overlay-exit",
17
17
  exitActive: "smwb-modal__overlay-exit-active"
18
18
  };
19
- function L(o) {
20
- const r = k({
19
+ function S(o) {
20
+ const r = A({
21
21
  animation: "fade",
22
22
  backdrop: "dark",
23
23
  size: "large",
@@ -26,35 +26,35 @@ function L(o) {
26
26
  disableAppearAnimation: !1,
27
27
  role: "dialog",
28
28
  closeOnEsc: !0
29
- }, o), [e, _] = A(r, ["children", "onClose", "open", "class", "animation", "backdrop", "size", "closeOnOutsideClick", "asForm", "disableAppearAnimation", "role", "closeOnEsc", "ref"]);
29
+ }, o), [e, v] = E(r, ["children", "onClose", "open", "class", "animation", "backdrop", "size", "closeOnOutsideClick", "asForm", "disableAppearAnimation", "role", "closeOnEsc", "ref"]);
30
30
  let p;
31
- const m = $({
31
+ const m = x({
32
32
  in: () => e.open,
33
33
  timeout: {
34
34
  appear: 225,
35
35
  enter: 225,
36
36
  exit: 150
37
37
  },
38
- classNames: F,
38
+ classNames: L,
39
39
  appear: !e.disableAppearAnimation
40
40
  });
41
- return x({
41
+ return P({
42
42
  active: () => e.open && m.mounted(),
43
43
  container: () => p
44
- }), E(() => {
44
+ }), h(() => {
45
45
  if (!e.open || !e.closeOnEsc || !e.onClose) return;
46
46
  const t = (n) => {
47
47
  n.key === "Escape" && e.onClose?.();
48
48
  };
49
- document.addEventListener("keydown", t), h(() => document.removeEventListener("keydown", t));
50
- }), d(O, {
49
+ document.addEventListener("keydown", t), O(() => document.removeEventListener("keydown", t));
50
+ }), d($, {
51
51
  get when() {
52
52
  return m.mounted();
53
53
  },
54
54
  get children() {
55
55
  return d(f, {
56
56
  get mount() {
57
- return document.body;
57
+ return y ? void 0 : document.body;
58
58
  },
59
59
  get children() {
60
60
  var t = c();
@@ -62,9 +62,9 @@ function L(o) {
62
62
  get component() {
63
63
  return e.asForm ? "form" : "div";
64
64
  }
65
- }, _, {
65
+ }, v, {
66
66
  ref(n) {
67
- var u = P(e.ref, (v) => p = v);
67
+ var u = F(e.ref, (_) => p = _);
68
68
  typeof u == "function" && u(n);
69
69
  },
70
70
  get class() {
@@ -78,7 +78,7 @@ function L(o) {
78
78
  get children() {
79
79
  return e.children;
80
80
  }
81
- }))), l(() => i(t, a("smwb-modal__overlay", `smwb-${e.backdrop}`, `smwb-${e.size}`, m.classes()))), t;
81
+ }))), i(() => l(t, a("smwb-modal__overlay", `smwb-${e.backdrop}`, `smwb-${e.size}`, m.classes()))), t;
82
82
  }
83
83
  });
84
84
  }
@@ -87,31 +87,31 @@ function L(o) {
87
87
  function z(o) {
88
88
  return (() => {
89
89
  var r = c();
90
- return s(r, () => o.children), l(() => i(r, a("smwb-modal__header", o.class))), r;
90
+ return s(r, () => o.children), i(() => l(r, a("smwb-modal__header", o.class))), r;
91
91
  })();
92
92
  }
93
93
  function D(o) {
94
94
  return (() => {
95
95
  var r = c();
96
- return s(r, () => o.children), l(() => i(r, a("smwb-modal__content", o.class))), r;
96
+ return s(r, () => o.children), i(() => l(r, a("smwb-modal__content", o.class))), r;
97
97
  })();
98
98
  }
99
- function S(o) {
99
+ function M(o) {
100
100
  return (() => {
101
101
  var r = c();
102
- return s(r, () => o.children), l(() => i(r, a("smwb-modal__footer", o.class))), r;
102
+ return s(r, () => o.children), i(() => l(r, a("smwb-modal__footer", o.class))), r;
103
103
  })();
104
104
  }
105
- const K = Object.assign(L, {
106
- Footer: S,
105
+ const V = Object.assign(S, {
106
+ Footer: M,
107
107
  Header: z,
108
108
  Content: D
109
109
  });
110
- C(["click"]);
110
+ k(["click"]);
111
111
  export {
112
112
  D as Content,
113
- S as Footer,
113
+ M as Footer,
114
114
  z as Header,
115
- K as Modal
115
+ V as Modal
116
116
  };
117
117
  //# sourceMappingURL=modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sources":["../../../../src/components/feedBack/modal/modal.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, createEffect, mergeProps, onCleanup, splitProps } from \"solid-js\";\nimport { Dynamic, Portal } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { createCssTransition } from \"../../../primitives/createCssTransition\";\nimport { createFocusTrap } from \"../../../primitives/createFocusTrap\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface ModalProps {\n size?: \"small\" | \"medium\" | \"large\" | \"fullscreen\";\n closeOnOutsideClick?: boolean;\n onClose?: () => void;\n open: boolean;\n animation?: \"fade\" | \"scale\" | \"drop\";\n class?: string;\n backdrop?: \"blured\" | \"dark\" | \"transparent\" | \"darkBlured\";\n asForm?: boolean;\n disableAppearAnimation?: boolean;\n /** ARIA role of the dialog. */\n role?: \"dialog\" | \"alertdialog\";\n /** Close the modal when Escape is pressed. */\n closeOnEsc?: boolean;\n \"aria-label\"?: string;\n \"aria-labelledby\"?: string;\n \"aria-describedby\"?: string;\n ref?: Ref<HTMLDivElement>;\n}\n\nconst OVERLAY_CLASSNAMES = {\n appear: \"smwb-modal__overlay-appear\",\n appearActive: \"smwb-modal__overlay-appear-active\",\n appearDone: \"smwb-modal__overlay-appear-done\",\n enter: \"smwb-modal__overlay-enter\",\n enterActive: \"smwb-modal__overlay-enter-active\",\n enterDone: \"smwb-modal__overlay-enter-done\",\n exit: \"smwb-modal__overlay-exit\",\n exitActive: \"smwb-modal__overlay-exit-active\",\n};\n\nfunction ModalBase(props: ParentProps<ModalProps>): JSX.Element {\n const merged = mergeProps(\n {\n animation: \"fade\" as const,\n backdrop: \"dark\" as const,\n size: \"large\" as const,\n closeOnOutsideClick: true,\n asForm: false,\n disableAppearAnimation: false,\n role: \"dialog\" as const,\n closeOnEsc: true,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"children\",\n \"onClose\",\n \"open\",\n \"class\",\n \"animation\",\n \"backdrop\",\n \"size\",\n \"closeOnOutsideClick\",\n \"asForm\",\n \"disableAppearAnimation\",\n \"role\",\n \"closeOnEsc\",\n \"ref\",\n ]);\n\n let contentEl: HTMLDivElement | undefined;\n\n const transition = createCssTransition({\n in: () => local.open,\n timeout: { appear: 225, enter: 225, exit: 150 },\n classNames: OVERLAY_CLASSNAMES,\n appear: !local.disableAppearAnimation,\n });\n\n createFocusTrap({ active: () => local.open && transition.mounted(), container: () => contentEl });\n\n createEffect(() => {\n if (!local.open || !local.closeOnEsc || !local.onClose) return;\n const onKeyDown = (event: KeyboardEvent): void => {\n if (event.key === \"Escape\") local.onClose?.();\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n return (\n <Show when={transition.mounted()}>\n <Portal mount={document.body}>\n <div\n class={cn(\"smwb-modal__overlay\", `smwb-${local.backdrop}`, `smwb-${local.size}`, transition.classes())}\n onClick={local.closeOnOutsideClick && local.onClose ? () => local.onClose?.() : undefined}\n >\n <Dynamic\n component={local.asForm ? \"form\" : \"div\"}\n {...rest}\n ref={mergeRefs(local.ref, (el) => (contentEl = el as HTMLDivElement))}\n class={cn(\"smwb-modal\", `smwb-${local.size}`, `smwb-${local.animation}`, local.class)}\n onClick={(event: MouseEvent) => event.stopPropagation()}\n role={local.role}\n aria-modal=\"true\"\n >\n {local.children}\n </Dynamic>\n </div>\n </Portal>\n </Show>\n );\n}\n\nexport interface ModalSlotProps {\n class?: string;\n}\n\nexport function Header(props: ParentProps<ModalSlotProps>): JSX.Element {\n return <div class={cn(\"smwb-modal__header\", props.class)}>{props.children}</div>;\n}\n\nexport function Content(props: ParentProps<ModalSlotProps>): JSX.Element {\n return <div class={cn(\"smwb-modal__content\", props.class)}>{props.children}</div>;\n}\n\nexport function Footer(props: ParentProps<ModalSlotProps>): JSX.Element {\n return <div class={cn(\"smwb-modal__footer\", props.class)}>{props.children}</div>;\n}\n\nexport const Modal = Object.assign(ModalBase, { Footer, Header, Content });\n\nexport default Modal;\n"],"names":["OVERLAY_CLASSNAMES","appear","appearActive","appearDone","enter","enterActive","enterDone","exit","exitActive","ModalBase","props","merged","mergeProps","animation","backdrop","size","closeOnOutsideClick","asForm","disableAppearAnimation","role","closeOnEsc","local","rest","splitProps","contentEl","transition","createCssTransition","in","open","timeout","classNames","createFocusTrap","active","mounted","container","createEffect","onClose","onKeyDown","event","key","document","addEventListener","onCleanup","removeEventListener","_$createComponent","Show","when","children","Portal","mount","body","_el$","_tmpl$","_$addEventListener","undefined","_$insert","Dynamic","_$mergeProps","component","ref","r$","_ref$","mergeRefs","el","cn","class","onClick","stopPropagation","_$effect","_$className","classes","Header","_el$2","Content","_el$3","Footer","_el$4","Modal","Object","assign","_$delegateEvents"],"mappings":"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"}
1
+ {"version":3,"file":"modal.js","sources":["../../../../src/components/feedBack/modal/modal.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, createEffect, mergeProps, onCleanup, splitProps } from \"solid-js\";\nimport { Dynamic, Portal, isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { createCssTransition } from \"../../../primitives/createCssTransition\";\nimport { createFocusTrap } from \"../../../primitives/createFocusTrap\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface ModalProps {\n size?: \"small\" | \"medium\" | \"large\" | \"fullscreen\";\n closeOnOutsideClick?: boolean;\n onClose?: () => void;\n open: boolean;\n animation?: \"fade\" | \"scale\" | \"drop\";\n class?: string;\n backdrop?: \"blured\" | \"dark\" | \"transparent\" | \"darkBlured\";\n asForm?: boolean;\n disableAppearAnimation?: boolean;\n /** ARIA role of the dialog. */\n role?: \"dialog\" | \"alertdialog\";\n /** Close the modal when Escape is pressed. */\n closeOnEsc?: boolean;\n \"aria-label\"?: string;\n \"aria-labelledby\"?: string;\n \"aria-describedby\"?: string;\n ref?: Ref<HTMLDivElement>;\n}\n\nconst OVERLAY_CLASSNAMES = {\n appear: \"smwb-modal__overlay-appear\",\n appearActive: \"smwb-modal__overlay-appear-active\",\n appearDone: \"smwb-modal__overlay-appear-done\",\n enter: \"smwb-modal__overlay-enter\",\n enterActive: \"smwb-modal__overlay-enter-active\",\n enterDone: \"smwb-modal__overlay-enter-done\",\n exit: \"smwb-modal__overlay-exit\",\n exitActive: \"smwb-modal__overlay-exit-active\",\n};\n\nfunction ModalBase(props: ParentProps<ModalProps>): JSX.Element {\n const merged = mergeProps(\n {\n animation: \"fade\" as const,\n backdrop: \"dark\" as const,\n size: \"large\" as const,\n closeOnOutsideClick: true,\n asForm: false,\n disableAppearAnimation: false,\n role: \"dialog\" as const,\n closeOnEsc: true,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"children\",\n \"onClose\",\n \"open\",\n \"class\",\n \"animation\",\n \"backdrop\",\n \"size\",\n \"closeOnOutsideClick\",\n \"asForm\",\n \"disableAppearAnimation\",\n \"role\",\n \"closeOnEsc\",\n \"ref\",\n ]);\n\n let contentEl: HTMLDivElement | undefined;\n\n const transition = createCssTransition({\n in: () => local.open,\n timeout: { appear: 225, enter: 225, exit: 150 },\n classNames: OVERLAY_CLASSNAMES,\n appear: !local.disableAppearAnimation,\n });\n\n createFocusTrap({ active: () => local.open && transition.mounted(), container: () => contentEl });\n\n createEffect(() => {\n if (!local.open || !local.closeOnEsc || !local.onClose) return;\n const onKeyDown = (event: KeyboardEvent): void => {\n if (event.key === \"Escape\") local.onClose?.();\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n return (\n <Show when={transition.mounted()}>\n <Portal mount={(isServer ? undefined : document.body) as Node}>\n <div\n class={cn(\"smwb-modal__overlay\", `smwb-${local.backdrop}`, `smwb-${local.size}`, transition.classes())}\n onClick={local.closeOnOutsideClick && local.onClose ? () => local.onClose?.() : undefined}\n >\n <Dynamic\n component={local.asForm ? \"form\" : \"div\"}\n {...rest}\n ref={mergeRefs(local.ref, (el) => (contentEl = el as HTMLDivElement))}\n class={cn(\"smwb-modal\", `smwb-${local.size}`, `smwb-${local.animation}`, local.class)}\n onClick={(event: MouseEvent) => event.stopPropagation()}\n role={local.role}\n aria-modal=\"true\"\n >\n {local.children}\n </Dynamic>\n </div>\n </Portal>\n </Show>\n );\n}\n\nexport interface ModalSlotProps {\n class?: string;\n}\n\nexport function Header(props: ParentProps<ModalSlotProps>): JSX.Element {\n return <div class={cn(\"smwb-modal__header\", props.class)}>{props.children}</div>;\n}\n\nexport function Content(props: ParentProps<ModalSlotProps>): JSX.Element {\n return <div class={cn(\"smwb-modal__content\", props.class)}>{props.children}</div>;\n}\n\nexport function Footer(props: ParentProps<ModalSlotProps>): JSX.Element {\n return <div class={cn(\"smwb-modal__footer\", props.class)}>{props.children}</div>;\n}\n\nexport const Modal = Object.assign(ModalBase, { Footer, Header, Content });\n\nexport default Modal;\n"],"names":["OVERLAY_CLASSNAMES","appear","appearActive","appearDone","enter","enterActive","enterDone","exit","exitActive","ModalBase","props","merged","mergeProps","animation","backdrop","size","closeOnOutsideClick","asForm","disableAppearAnimation","role","closeOnEsc","local","rest","splitProps","contentEl","transition","createCssTransition","in","open","timeout","classNames","createFocusTrap","active","mounted","container","createEffect","onClose","onKeyDown","event","key","document","addEventListener","onCleanup","removeEventListener","_$createComponent","Show","when","children","Portal","mount","isServer","undefined","body","_el$","_tmpl$","_$addEventListener","_$insert","Dynamic","_$mergeProps","component","ref","r$","_ref$","mergeRefs","el","cn","class","onClick","stopPropagation","_$effect","_$className","classes","Header","_el$2","Content","_el$3","Footer","_el$4","Modal","Object","assign","_$delegateEvents"],"mappings":"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"}
@@ -1,27 +1,27 @@
1
- import { createComponent as a, mergeProps as $, Portal as ne, use as oe, insert as x, effect as le, style as ie, setAttribute as se, template as ce } from "solid-js/web";
1
+ import { createComponent as a, mergeProps as $, Portal as ne, use as oe, insert as x, effect as ie, style as le, setAttribute as se, isServer as ce, template as de } from "solid-js/web";
2
2
  import '../../../assets/styles/less/components/datePicker/dataPicker.entry.css';/* empty css */
3
- import { splitProps as de, createSignal as c, createEffect as B, createMemo as ue, onCleanup as ge, Show as p } from "solid-js";
4
- import { buildFloatingMiddleware as me, resolvePlacement as fe } from "../../../utils/floating.js";
5
- import { createFloating as he } from "../../../primitives/createFloating.js";
6
- import { DataPickerHeader as pe } from "./dataPickerHeader.js";
7
- import { DataPickerDays as be } from "./dataPickerDays.js";
3
+ import { splitProps as ue, createSignal as c, createEffect as B, createMemo as ge, onCleanup as me, Show as p } from "solid-js";
4
+ import { buildFloatingMiddleware as fe, resolvePlacement as he } from "../../../utils/floating.js";
5
+ import { createFloating as pe } from "../../../primitives/createFloating.js";
6
+ import { DataPickerHeader as be } from "./dataPickerHeader.js";
7
+ import { DataPickerDays as ve } from "./dataPickerDays.js";
8
8
  import { DatePickerList as L } from "./datePickerList.js";
9
- import { DataPickerInput as ve } from "./dataPickerInput.js";
10
- import { DatePickerIconButton as we } from "./datePickerIconButton.js";
9
+ import { DataPickerInput as we } from "./dataPickerInput.js";
10
+ import { DatePickerIconButton as De } from "./datePickerIconButton.js";
11
11
  import { OpenView as o } from "./openView.js";
12
- import { isValidDate as D, getMonths as De, getYears as Ce, getDisplayDate as Y, setYear as ye, setMonth as ke } from "./dateUtils.js";
12
+ import { isValidDate as D, getMonths as Ce, getYears as ye, getDisplayDate as Y, setYear as ke, setMonth as Ve } from "./dateUtils.js";
13
13
  import { mergeRefs as E } from "../../../primitives/mergeRefs.js";
14
- import { TextField as Ve } from "../textField/textField.js";
15
- import { Icon as Oe } from "../../base/icon/icon.js";
16
- import { ClickAwayListener as Pe } from "../../clickAwayListener/clickAwayListener.js";
17
- var Fe = /* @__PURE__ */ ce('<div class=smwb-date-picker data-testid=date-picker role=dialog aria-modal=false style="transition:opacity 150ms ease-in-out"><div class=smwb-date-picker__inner><div class=smwb-date-picker__body>');
14
+ import { TextField as Oe } from "../textField/textField.js";
15
+ import { Icon as Pe } from "../../base/icon/icon.js";
16
+ import { ClickAwayListener as Se } from "../../clickAwayListener/clickAwayListener.js";
17
+ var Fe = /* @__PURE__ */ de('<div class=smwb-date-picker data-testid=date-picker role=dialog aria-modal=false style="transition:opacity 150ms ease-in-out"><div class=smwb-date-picker__inner><div class=smwb-date-picker__body>');
18
18
  const Me = 150;
19
- function Ge(C) {
20
- const [e, y] = de(C, ["value", "onChange", "showDaysOutsideMonth", "disablePast", "disableFuture", "weekStartsOn", "placement", "disabled", "disableCalendar", "calendarAriaLabel", "minDate", "maxDate", "isDateDisabled", "locale", "format", "range", "rangeValue", "onRangeChange", "calendarIcon", "onBlur", "ref"]), b = () => e.value === void 0 ? void 0 : new Date(e.value), k = () => e.rangeValue !== void 0, [q, z] = c([void 0, void 0]), i = () => k() && e.rangeValue ? e.rangeValue : q(), V = b(), [s, u] = c(D(V) ? V : /* @__PURE__ */ new Date()), [g, m] = c(o.days), [H, f] = c(!1);
19
+ function Je(C) {
20
+ const [e, y] = ue(C, ["value", "onChange", "showDaysOutsideMonth", "disablePast", "disableFuture", "weekStartsOn", "placement", "disabled", "disableCalendar", "calendarAriaLabel", "minDate", "maxDate", "isDateDisabled", "locale", "format", "range", "rangeValue", "onRangeChange", "calendarIcon", "onBlur", "ref"]), b = () => e.value === void 0 ? void 0 : new Date(e.value), k = () => e.rangeValue !== void 0, [q, z] = c([void 0, void 0]), l = () => k() && e.rangeValue ? e.rangeValue : q(), V = b(), [s, u] = c(D(V) ? V : /* @__PURE__ */ new Date()), [g, m] = c(o.days), [H, f] = c(!1);
21
21
  let O, P;
22
- const F = () => fe(e.placement ?? "bottom-start"), v = he({
23
- placement: () => F().placement,
24
- middleware: () => me(F())
22
+ const S = () => he(e.placement ?? "bottom-start"), v = pe({
23
+ placement: () => S().placement,
24
+ middleware: () => fe(S())
25
25
  });
26
26
  B(() => {
27
27
  if (e.disabled) return;
@@ -35,28 +35,28 @@ function Ge(C) {
35
35
  }, K = () => {
36
36
  m(g() === o.years ? o.days : o.years);
37
37
  }, N = (t) => {
38
- u(ke(s(), t)), m(o.days);
38
+ u(Ve(s(), t)), m(o.days);
39
39
  }, Q = (t) => {
40
- u(ye(s(), t)), m(o.days);
40
+ u(ke(s(), t)), m(o.days);
41
41
  }, U = (t, n) => {
42
42
  if (e.range) {
43
43
  if (!n) return;
44
- const [l, h] = i();
44
+ const [i, h] = l();
45
45
  let r;
46
- !l || l && h ? r = [n, void 0] : r = D(l) && n.getTime() < l.getTime() ? [n, l] : [l, n], k() || z(r), e.onRangeChange?.(r), r[0] && r[1] && f(!1);
46
+ !i || i && h ? r = [n, void 0] : r = D(i) && n.getTime() < i.getTime() ? [n, i] : [i, n], k() || z(r), e.onRangeChange?.(r), r[0] && r[1] && f(!1);
47
47
  return;
48
48
  }
49
49
  e.onChange?.(t, n, C), f(!1);
50
- }, M = () => {
50
+ }, F = () => {
51
51
  e.disabled || f((t) => !t);
52
52
  }, W = (t) => {
53
53
  const n = t.target;
54
54
  P?.contains(n) || O?.contains(n) || f(!1);
55
- }, X = ue(() => De(e.locale)), Z = Ce((/* @__PURE__ */ new Date()).getFullYear(), 100), S = () => H() && !e.disabled && !e.disableCalendar, [A, I] = c(S()), [ee, _] = c(!1);
55
+ }, X = ge(() => Ce(e.locale)), Z = ye((/* @__PURE__ */ new Date()).getFullYear(), 100), M = () => H() && !e.disabled && !e.disableCalendar, [A, I] = c(M()), [ee, _] = c(!1);
56
56
  let w, d;
57
57
  B(() => {
58
- S() ? (d !== void 0 && clearTimeout(d), I(!0), w = requestAnimationFrame(() => _(!0))) : (_(!1), A() && (d = setTimeout(() => I(!1), Me)));
59
- }), ge(() => {
58
+ M() ? (d !== void 0 && clearTimeout(d), I(!0), w = requestAnimationFrame(() => _(!0))) : (_(!1), A() && (d = setTimeout(() => I(!1), Me)));
59
+ }), me(() => {
60
60
  w !== void 0 && cancelAnimationFrame(w), d !== void 0 && clearTimeout(d);
61
61
  });
62
62
  const te = () => {
@@ -80,7 +80,7 @@ function Ge(C) {
80
80
  onChange: Q
81
81
  });
82
82
  default:
83
- return a(be, {
83
+ return a(ve, {
84
84
  get viewValue() {
85
85
  return s();
86
86
  },
@@ -116,20 +116,20 @@ function Ge(C) {
116
116
  return e.range;
117
117
  },
118
118
  get rangeStart() {
119
- return i()[0];
119
+ return l()[0];
120
120
  },
121
121
  get rangeEnd() {
122
- return i()[1];
122
+ return l()[1];
123
123
  }
124
124
  });
125
125
  }
126
- }, re = () => e.range && (i()[0] || i()[1]) ? `${Y(i()[0], e.format)} – ${Y(i()[1], e.format)}` : "", R = E(e.ref, v.setReference, (t) => O = t);
126
+ }, re = () => e.range && (l()[0] || l()[1]) ? `${Y(l()[0], e.format)} – ${Y(l()[1], e.format)}` : "", R = E(e.ref, v.setReference, (t) => O = t);
127
127
  return [a(p, {
128
128
  get when() {
129
129
  return e.range;
130
130
  },
131
131
  get fallback() {
132
- return a(ve, $({
132
+ return a(we, $({
133
133
  ref: R,
134
134
  get value() {
135
135
  return e.value;
@@ -140,7 +140,7 @@ function Ge(C) {
140
140
  get onBlur() {
141
141
  return e.onBlur;
142
142
  },
143
- onToggle: M,
143
+ onToggle: F,
144
144
  get disabled() {
145
145
  return e.disabled;
146
146
  },
@@ -156,7 +156,7 @@ function Ge(C) {
156
156
  }, y));
157
157
  },
158
158
  get children() {
159
- return a(Ve, $({
159
+ return a(Oe, $({
160
160
  ref: R,
161
161
  get value() {
162
162
  return re();
@@ -176,9 +176,9 @@ function Ge(C) {
176
176
  return !e.disableCalendar;
177
177
  },
178
178
  get children() {
179
- return a(we, {
179
+ return a(De, {
180
180
  edge: "end",
181
- onClick: M,
181
+ onClick: F,
182
182
  get disabled() {
183
183
  return !!e.disabled;
184
184
  },
@@ -189,7 +189,7 @@ function Ge(C) {
189
189
  return e.calendarIcon;
190
190
  },
191
191
  get fallback() {
192
- return a(Oe, {
192
+ return a(Pe, {
193
193
  name: "calendar_today",
194
194
  fill: 1,
195
195
  weight: 500,
@@ -214,14 +214,14 @@ function Ge(C) {
214
214
  get children() {
215
215
  return a(ne, {
216
216
  get mount() {
217
- return document.body;
217
+ return ce ? void 0 : document.body;
218
218
  },
219
219
  get children() {
220
- return a(Pe, {
220
+ return a(Se, {
221
221
  onClickAway: W,
222
222
  get children() {
223
- var t = Fe(), n = t.firstChild, l = n.firstChild, h = E(v.setFloating, (r) => P = r);
224
- return typeof h == "function" && oe(h, t), x(n, a(pe, {
223
+ var t = Fe(), n = t.firstChild, i = n.firstChild, h = E(v.setFloating, (r) => P = r);
224
+ return typeof h == "function" && oe(h, t), x(n, a(be, {
225
225
  get viewValue() {
226
226
  return s();
227
227
  },
@@ -234,12 +234,12 @@ function Ge(C) {
234
234
  onChange: G,
235
235
  onMonthLabelClick: J,
236
236
  onYearLabelClick: K
237
- }), l), x(l, te), le((r) => {
237
+ }), i), x(i, te), ie((r) => {
238
238
  var ae = {
239
239
  ...v.floatingStyles(),
240
240
  opacity: ee() ? 1 : 0
241
241
  }, T = e.calendarAriaLabel ?? "Choose date";
242
- return r.e = ie(t, ae, r.e), T !== r.t && se(t, "aria-label", r.t = T), r;
242
+ return r.e = le(t, ae, r.e), T !== r.t && se(t, "aria-label", r.t = T), r;
243
243
  }, {
244
244
  e: void 0,
245
245
  t: void 0
@@ -252,7 +252,7 @@ function Ge(C) {
252
252
  })];
253
253
  }
254
254
  export {
255
- Ge as DatePicker,
255
+ Je as DatePicker,
256
256
  o as OpenView
257
257
  };
258
258
  //# sourceMappingURL=datePicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datePicker.js","sources":["../../../../src/components/inputs/datePicker/datePicker.tsx"],"sourcesContent":["import { type JSX, Show, createEffect, createMemo, createSignal, onCleanup, splitProps } from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport { buildFloatingMiddleware, type Placement, resolvePlacement } from \"../../../utils/floating\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { ClickAwayListener } from \"../../clickAwayListener\";\nimport { TextField, type TextFieldProps } from \"../textField\";\nimport { DataPickerHeader } from \"./dataPickerHeader\";\nimport { DataPickerDays } from \"./dataPickerDays\";\nimport { DatePickerList } from \"./datePickerList\";\nimport { DataPickerInput } from \"./dataPickerInput\";\nimport { DatePickerIconButton } from \"./datePickerIconButton\";\nimport { OpenView } from \"./openView\";\nimport {\n type WeekStart,\n getDisplayDate,\n getMonths,\n getYears,\n isValidDate,\n setMonth,\n setYear,\n} from \"./dateUtils\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport { OpenView } from \"./openView\";\n\nexport interface DatePickerProps\n extends Omit<TextFieldProps, \"onBlur\" | \"onChange\" | \"value\" | \"defaultValue\" | \"ref\" | \"onToggle\"> {\n showDaysOutsideMonth?: boolean | undefined;\n disablePast?: boolean | undefined;\n disableFuture?: boolean | undefined;\n /** Earliest selectable date (inclusive). */\n minDate?: Date | undefined;\n /** Latest selectable date (inclusive). */\n maxDate?: Date | undefined;\n /** Predicate to disable arbitrary days. */\n isDateDisabled?: ((day: Date) => boolean) | undefined;\n weekStartsOn?: WeekStart | undefined;\n /** BCP-47 locale for calendar labels (day/month/year names). */\n locale?: string | undefined;\n /** Input format pattern with tokens dd, MM, yyyy, e.g. \"dd/MM/yyyy\". */\n format?: string | undefined;\n /** Enables date-range selection. */\n range?: boolean | undefined;\n /** Controlled range value `[start, end]`. */\n rangeValue?: [Date | undefined, Date | undefined] | undefined;\n /** Called when the range changes. */\n onRangeChange?: ((range: [Date | undefined, Date | undefined]) => void) | undefined;\n placement?: Placement | undefined;\n disableCalendar?: boolean | undefined;\n label?: string | undefined;\n /** Accessible label for the calendar popup dialog. */\n calendarAriaLabel?: string | undefined;\n value?: Date | string | undefined;\n calendarIcon?: JSX.Element;\n onChange?: ((event?: Event, value?: Date, data?: DatePickerProps) => void) | undefined;\n onBlur?: ((event?: FocusEvent, value?: Date, data?: DatePickerProps) => void) | undefined;\n ref?: Ref<HTMLInputElement>;\n}\n\nconst FADE_MS = 150;\n\nexport function DatePicker(props: DatePickerProps): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"value\",\n \"onChange\",\n \"showDaysOutsideMonth\",\n \"disablePast\",\n \"disableFuture\",\n \"weekStartsOn\",\n \"placement\",\n \"disabled\",\n \"disableCalendar\",\n \"calendarAriaLabel\",\n \"minDate\",\n \"maxDate\",\n \"isDateDisabled\",\n \"locale\",\n \"format\",\n \"range\",\n \"rangeValue\",\n \"onRangeChange\",\n \"calendarIcon\",\n \"onBlur\",\n \"ref\",\n ]);\n\n const value = (): Date | undefined => (local.value === undefined ? undefined : new Date(local.value));\n const isRangeControlled = (): boolean => local.rangeValue !== undefined;\n const [rangeState, setRangeState] = createSignal<[Date | undefined, Date | undefined]>([undefined, undefined]);\n const currentRange = (): [Date | undefined, Date | undefined] =>\n isRangeControlled() && local.rangeValue ? local.rangeValue : rangeState();\n\n const initialValue = value();\n const [viewValue, setViewValue] = createSignal<Date>(isValidDate(initialValue) ? initialValue : new Date());\n const [openView, setOpenView] = createSignal<OpenView>(OpenView.days);\n const [isOpen, setIsOpen] = createSignal(false);\n\n let anchorEl: HTMLElement | undefined;\n let calendarEl: HTMLElement | undefined;\n\n const resolved = (): ReturnType<typeof resolvePlacement> => resolvePlacement(local.placement ?? \"bottom-start\");\n const floating = createFloating({\n placement: () => resolved().placement,\n middleware: () => buildFloatingMiddleware(resolved()),\n });\n\n createEffect(() => {\n if (local.disabled) return;\n const v = value();\n setViewValue(isValidDate(v) ? v : new Date());\n });\n\n const weekStartsOn = (): WeekStart => local.weekStartsOn ?? 1;\n\n const onViewValueChange = (v: Date): void => {\n setViewValue(v);\n };\n\n const onMonthLabelClick = (): void => {\n setOpenView(openView() === OpenView.months ? OpenView.days : OpenView.months);\n };\n\n const onYearLabelClick = (): void => {\n setOpenView(openView() === OpenView.years ? OpenView.days : OpenView.years);\n };\n\n const onMonthChange = (month: number): void => {\n setViewValue(setMonth(viewValue(), month));\n setOpenView(OpenView.days);\n };\n\n const onYearChange = (year: number): void => {\n setViewValue(setYear(viewValue(), year));\n setOpenView(OpenView.days);\n };\n\n const onChange = (event?: Event, date?: Date): void => {\n if (local.range) {\n if (!date) return;\n const [start, end] = currentRange();\n let next: [Date | undefined, Date | undefined];\n if (!start || (start && end)) {\n next = [date, undefined];\n } else {\n next = isValidDate(start) && date.getTime() < start.getTime() ? [date, start] : [start, date];\n }\n if (!isRangeControlled()) setRangeState(next);\n local.onRangeChange?.(next);\n if (next[0] && next[1]) setIsOpen(false);\n return;\n }\n local.onChange?.(event, date, props);\n setIsOpen(false);\n };\n\n const onToggle = (): void => {\n if (!local.disabled) setIsOpen((prev) => !prev);\n };\n\n const onClickAway = (event: MouseEvent | TouchEvent): void => {\n const target = event.target as HTMLElement;\n if (calendarEl?.contains(target) || anchorEl?.contains(target)) return;\n setIsOpen(false);\n };\n\n const months = createMemo(() => getMonths(local.locale));\n const years = getYears(new Date().getFullYear(), 100);\n\n const shouldOpen = (): boolean => isOpen() && !local.disabled && !local.disableCalendar;\n const [mounted, setMounted] = createSignal(shouldOpen());\n const [shown, setShown] = createSignal(false);\n let raf: number | undefined;\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n createEffect(() => {\n if (shouldOpen()) {\n if (timer !== undefined) clearTimeout(timer);\n setMounted(true);\n raf = requestAnimationFrame(() => setShown(true));\n } else {\n setShown(false);\n if (mounted()) timer = setTimeout(() => setMounted(false), FADE_MS);\n }\n });\n onCleanup(() => {\n if (raf !== undefined) cancelAnimationFrame(raf);\n if (timer !== undefined) clearTimeout(timer);\n });\n\n const view = (): JSX.Element => {\n switch (openView()) {\n case OpenView.months:\n return <DatePickerList value={viewValue().getMonth()} items={months()} onChange={onMonthChange} />;\n case OpenView.years:\n return <DatePickerList value={viewValue().getFullYear()} items={years} onChange={onYearChange} />;\n default:\n return (\n <DataPickerDays\n viewValue={viewValue()}\n value={value()}\n showDaysOutsideMonth={local.showDaysOutsideMonth}\n onChange={onChange}\n disablePast={local.disablePast}\n disableFuture={local.disableFuture}\n weekStartsOn={weekStartsOn()}\n minDate={local.minDate}\n maxDate={local.maxDate}\n isDateDisabled={local.isDateDisabled}\n locale={local.locale}\n range={local.range}\n rangeStart={currentRange()[0]}\n rangeEnd={currentRange()[1]}\n />\n );\n }\n };\n\n const rangeDisplay = (): string =>\n local.range && (currentRange()[0] || currentRange()[1])\n ? `${getDisplayDate(currentRange()[0], local.format)} – ${getDisplayDate(currentRange()[1], local.format)}`\n : \"\";\n\n const anchorRef = mergeRefs(local.ref, floating.setReference, (el) => (anchorEl = el as HTMLElement));\n\n return (\n <>\n <Show\n when={local.range}\n fallback={\n <DataPickerInput\n ref={anchorRef}\n value={local.value}\n onChange={local.onChange}\n onBlur={local.onBlur}\n onToggle={onToggle}\n disabled={local.disabled}\n disableCalendar={local.disableCalendar}\n format={local.format}\n calendarIcon={local.calendarIcon}\n {...rest}\n />\n }\n >\n <TextField\n ref={anchorRef}\n value={rangeDisplay()}\n readOnly\n onChange={() => undefined}\n disabled={Boolean(local.disabled)}\n {...(local.format ? { placeholder: `${local.format} – ${local.format}` } : {})}\n endAdornment={\n <Show when={!local.disableCalendar}>\n <DatePickerIconButton\n edge=\"end\"\n onClick={onToggle}\n disabled={Boolean(local.disabled)}\n data-testid=\"date-picker-icon-button\"\n >\n <Show\n when={local.calendarIcon}\n fallback={<Icon name=\"calendar_today\" fill={1} weight={500} size={24} />}\n >\n {local.calendarIcon}\n </Show>\n </DatePickerIconButton>\n </Show>\n }\n {...rest}\n />\n </Show>\n <Show when={mounted()}>\n <Portal mount={document.body}>\n <ClickAwayListener onClickAway={onClickAway}>\n <div\n ref={mergeRefs(floating.setFloating, (el) => (calendarEl = el as HTMLElement))}\n class=\"smwb-date-picker\"\n style={{\n ...floating.floatingStyles(),\n transition: `opacity ${FADE_MS}ms ease-in-out`,\n opacity: shown() ? 1 : 0,\n }}\n data-testid=\"date-picker\"\n role=\"dialog\"\n aria-modal=\"false\"\n aria-label={local.calendarAriaLabel ?? \"Choose date\"}\n >\n <div class=\"smwb-date-picker__inner\">\n <DataPickerHeader\n viewValue={viewValue()}\n locale={local.locale}\n openView={openView()}\n onChange={onViewValueChange}\n onMonthLabelClick={onMonthLabelClick}\n onYearLabelClick={onYearLabelClick}\n />\n <div class=\"smwb-date-picker__body\">{view()}</div>\n </div>\n </div>\n </ClickAwayListener>\n </Portal>\n </Show>\n </>\n );\n}\n\nexport default DatePicker;\n"],"names":["FADE_MS","DatePicker","props","local","rest","splitProps","value","undefined","Date","isRangeControlled","rangeValue","rangeState","setRangeState","createSignal","currentRange","initialValue","viewValue","setViewValue","isValidDate","openView","setOpenView","OpenView","days","isOpen","setIsOpen","anchorEl","calendarEl","resolved","resolvePlacement","placement","floating","createFloating","middleware","buildFloatingMiddleware","createEffect","disabled","v","weekStartsOn","onViewValueChange","onMonthLabelClick","months","onYearLabelClick","years","onMonthChange","month","setMonth","onYearChange","year","setYear","onChange","event","date","range","start","end","next","getTime","onRangeChange","onToggle","prev","onClickAway","target","contains","createMemo","getMonths","locale","getYears","getFullYear","shouldOpen","disableCalendar","mounted","setMounted","shown","setShown","raf","timer","clearTimeout","requestAnimationFrame","setTimeout","onCleanup","cancelAnimationFrame","view","_$createComponent","DatePickerList","getMonth","items","DataPickerDays","showDaysOutsideMonth","disablePast","disableFuture","minDate","maxDate","isDateDisabled","rangeStart","rangeEnd","rangeDisplay","getDisplayDate","format","anchorRef","mergeRefs","ref","setReference","el","Show","when","fallback","DataPickerInput","_$mergeProps","onBlur","calendarIcon","children","TextField","readOnly","Boolean","placeholder","endAdornment","DatePickerIconButton","edge","onClick","Icon","name","fill","weight","size","Portal","mount","document","body","ClickAwayListener","_el$","_tmpl$","_el$2","firstChild","_el$3","_ref$","setFloating","_$use","_$insert","DataPickerHeader","_$effect","_p$","_v$","floatingStyles","opacity","_v$2","calendarAriaLabel","e","_$style","t","_$setAttribute"],"mappings":";;;;;;;;;;;;;;;;;AA6DA,MAAMA,KAAU;AAET,SAASC,GAAWC,GAAqC;AAC9D,QAAM,CAACC,GAAOC,CAAI,IAAIC,GAAWH,GAAO,CACtC,SACA,YACA,wBACA,eACA,iBACA,gBACA,aACA,YACA,mBACA,qBACA,WACA,WACA,kBACA,UACA,UACA,SACA,cACA,iBACA,gBACA,UACA,KAAK,CACN,GAEKI,IAAQA,MAAyBH,EAAMG,UAAUC,SAAYA,SAAY,IAAIC,KAAKL,EAAMG,KAAK,GAC7FG,IAAoBA,MAAeN,EAAMO,eAAeH,QACxD,CAACI,GAAYC,CAAa,IAAIC,EAAmD,CAACN,QAAWA,MAAS,CAAC,GACvGO,IAAeA,MACnBL,OAAuBN,EAAMO,aAAaP,EAAMO,aAAaC,EAAAA,GAEzDI,IAAeT,EAAAA,GACf,CAACU,GAAWC,CAAY,IAAIJ,EAAmBK,EAAYH,CAAY,IAAIA,IAAe,oBAAIP,MAAM,GACpG,CAACW,GAAUC,CAAW,IAAIP,EAAuBQ,EAASC,IAAI,GAC9D,CAACC,GAAQC,CAAS,IAAIX,EAAa,EAAK;AAE9C,MAAIY,GACAC;AAEJ,QAAMC,IAAWA,MAA2CC,GAAiBzB,EAAM0B,aAAa,cAAc,GACxGC,IAAWC,GAAe;AAAA,IAC9BF,WAAWA,MAAMF,EAAAA,EAAWE;AAAAA,IAC5BG,YAAYA,MAAMC,GAAwBN,EAAAA,CAAU;AAAA,EAAA,CACrD;AAEDO,EAAAA,EAAa,MAAM;AACjB,QAAI/B,EAAMgC,SAAU;AACpB,UAAMC,IAAI9B,EAAAA;AACVW,IAAAA,EAAaC,EAAYkB,CAAC,IAAIA,IAAI,oBAAI5B,MAAM;AAAA,EAC9C,CAAC;AAED,QAAM6B,IAAeA,MAAiBlC,EAAMkC,gBAAgB,GAEtDC,IAAoBA,CAACF,MAAkB;AAC3CnB,IAAAA,EAAamB,CAAC;AAAA,EAChB,GAEMG,IAAoBA,MAAY;AACpCnB,IAAAA,EAAYD,QAAeE,EAASmB,SAASnB,EAASC,OAAOD,EAASmB,MAAM;AAAA,EAC9E,GAEMC,IAAmBA,MAAY;AACnCrB,IAAAA,EAAYD,QAAeE,EAASqB,QAAQrB,EAASC,OAAOD,EAASqB,KAAK;AAAA,EAC5E,GAEMC,IAAgBA,CAACC,MAAwB;AAC7C3B,IAAAA,EAAa4B,GAAS7B,EAAAA,GAAa4B,CAAK,CAAC,GACzCxB,EAAYC,EAASC,IAAI;AAAA,EAC3B,GAEMwB,IAAeA,CAACC,MAAuB;AAC3C9B,IAAAA,EAAa+B,GAAQhC,EAAAA,GAAa+B,CAAI,CAAC,GACvC3B,EAAYC,EAASC,IAAI;AAAA,EAC3B,GAEM2B,IAAWA,CAACC,GAAeC,MAAsB;AACrD,QAAIhD,EAAMiD,OAAO;AACf,UAAI,CAACD,EAAM;AACX,YAAM,CAACE,GAAOC,CAAG,IAAIxC,EAAAA;AACrB,UAAIyC;AACJ,MAAI,CAACF,KAAUA,KAASC,IACtBC,IAAO,CAACJ,GAAM5C,MAAS,IAEvBgD,IAAOrC,EAAYmC,CAAK,KAAKF,EAAKK,YAAYH,EAAMG,QAAAA,IAAY,CAACL,GAAME,CAAK,IAAI,CAACA,GAAOF,CAAI,GAEzF1C,EAAAA,KAAqBG,EAAc2C,CAAI,GAC5CpD,EAAMsD,gBAAgBF,CAAI,GACtBA,EAAK,CAAC,KAAKA,EAAK,CAAC,OAAa,EAAK;AACvC;AAAA,IACF;AACApD,IAAAA,EAAM8C,WAAWC,GAAOC,GAAMjD,CAAK,GACnCsB,EAAU,EAAK;AAAA,EACjB,GAEMkC,IAAWA,MAAY;AAC3B,IAAKvD,EAAMgC,YAAUX,EAAWmC,CAAAA,MAAS,CAACA,CAAI;AAAA,EAChD,GAEMC,IAAcA,CAACV,MAAyC;AAC5D,UAAMW,IAASX,EAAMW;AACrB,IAAInC,GAAYoC,SAASD,CAAM,KAAKpC,GAAUqC,SAASD,CAAM,KAC7DrC,EAAU,EAAK;AAAA,EACjB,GAEMgB,IAASuB,GAAW,MAAMC,GAAU7D,EAAM8D,MAAM,CAAC,GACjDvB,IAAQwB,IAAS,oBAAI1D,QAAO2D,YAAAA,GAAe,GAAG,GAE9CC,IAAaA,MAAe7C,EAAAA,KAAY,CAACpB,EAAMgC,YAAY,CAAChC,EAAMkE,iBAClE,CAACC,GAASC,CAAU,IAAI1D,EAAauD,GAAY,GACjD,CAACI,IAAOC,CAAQ,IAAI5D,EAAa,EAAK;AAC5C,MAAI6D,GACAC;AAEJzC,EAAAA,EAAa,MAAM;AACjB,IAAIkC,OACEO,MAAUpE,UAAWqE,aAAaD,CAAK,GAC3CJ,EAAW,EAAI,GACfG,IAAMG,sBAAsB,MAAMJ,EAAS,EAAI,CAAC,MAEhDA,EAAS,EAAK,GACVH,EAAAA,MAAWK,IAAQG,WAAW,MAAMP,EAAW,EAAK,GAAGvE,EAAO;AAAA,EAEtE,CAAC,GACD+E,GAAU,MAAM;AACd,IAAIL,MAAQnE,UAAWyE,qBAAqBN,CAAG,GAC3CC,MAAUpE,UAAWqE,aAAaD,CAAK;AAAA,EAC7C,CAAC;AAED,QAAMM,KAAOA,MAAmB;AAC9B,YAAQ9D,KAAS;AAAA,MACf,KAAKE,EAASmB;AACZ,eAAA0C,EAAQC,GAAc;AAAA,UAAA,IAAC7E,QAAK;AAAA,mBAAEU,EAAAA,EAAYoE,SAAAA;AAAAA,UAAU;AAAA,UAAA,IAAEC,QAAK;AAAA,mBAAE7C,EAAAA;AAAAA,UAAQ;AAAA,UAAES,UAAUN;AAAAA,QAAAA,CAAa;AAAA,MAChG,KAAKtB,EAASqB;AACZ,eAAAwC,EAAQC,GAAc;AAAA,UAAA,IAAC7E,QAAK;AAAA,mBAAEU,EAAAA,EAAYmD,YAAAA;AAAAA,UAAa;AAAA,UAAEkB,OAAO3C;AAAAA,UAAOO,UAAUH;AAAAA,QAAAA,CAAY;AAAA,MAC/F;AACE,eAAAoC,EACGI,IAAc;AAAA,UAAA,IACbtE,YAAS;AAAA,mBAAEA,EAAAA;AAAAA,UAAW;AAAA,UAAA,IACtBV,QAAK;AAAA,mBAAEA,EAAAA;AAAAA,UAAO;AAAA,UAAA,IACdiF,uBAAoB;AAAA,mBAAEpF,EAAMoF;AAAAA,UAAoB;AAAA,UAChDtC,UAAAA;AAAAA,UAAkB,IAClBuC,cAAW;AAAA,mBAAErF,EAAMqF;AAAAA,UAAW;AAAA,UAAA,IAC9BC,gBAAa;AAAA,mBAAEtF,EAAMsF;AAAAA,UAAa;AAAA,UAAA,IAClCpD,eAAY;AAAA,mBAAEA,EAAAA;AAAAA,UAAc;AAAA,UAAA,IAC5BqD,UAAO;AAAA,mBAAEvF,EAAMuF;AAAAA,UAAO;AAAA,UAAA,IACtBC,UAAO;AAAA,mBAAExF,EAAMwF;AAAAA,UAAO;AAAA,UAAA,IACtBC,iBAAc;AAAA,mBAAEzF,EAAMyF;AAAAA,UAAc;AAAA,UAAA,IACpC3B,SAAM;AAAA,mBAAE9D,EAAM8D;AAAAA,UAAM;AAAA,UAAA,IACpBb,QAAK;AAAA,mBAAEjD,EAAMiD;AAAAA,UAAK;AAAA,UAAA,IAClByC,aAAU;AAAA,mBAAE/E,EAAAA,EAAe,CAAC;AAAA,UAAC;AAAA,UAAA,IAC7BgF,WAAQ;AAAA,mBAAEhF,EAAAA,EAAe,CAAC;AAAA,UAAC;AAAA,QAAA,CAAA;AAAA,IAAA;AAAA,EAIrC,GAEMiF,KAAeA,MACnB5F,EAAMiD,UAAUtC,EAAAA,EAAe,CAAC,KAAKA,EAAAA,EAAe,CAAC,KACjD,GAAGkF,EAAelF,IAAe,CAAC,GAAGX,EAAM8F,MAAM,CAAC,MAAMD,EAAelF,EAAAA,EAAe,CAAC,GAAGX,EAAM8F,MAAM,CAAC,KACvG,IAEAC,IAAYC,EAAUhG,EAAMiG,KAAKtE,EAASuE,cAAeC,CAAAA,MAAQ7E,IAAW6E,CAAkB;AAEpG,SAAA,CAAApB,EAEKqB,GAAI;AAAA,IAAA,IACHC,OAAI;AAAA,aAAErG,EAAMiD;AAAAA,IAAK;AAAA,IAAA,IACjBqD,WAAQ;AAAA,aAAAvB,EACLwB,IAAeC,EAAA;AAAA,QAAAP,KACTF;AAAAA,QAAS,IACd5F,QAAK;AAAA,iBAAEH,EAAMG;AAAAA,QAAK;AAAA,QAAA,IAClB2C,WAAQ;AAAA,iBAAE9C,EAAM8C;AAAAA,QAAQ;AAAA,QAAA,IACxB2D,SAAM;AAAA,iBAAEzG,EAAMyG;AAAAA,QAAM;AAAA,QACpBlD,UAAAA;AAAAA,QAAkB,IAClBvB,WAAQ;AAAA,iBAAEhC,EAAMgC;AAAAA,QAAQ;AAAA,QAAA,IACxBkC,kBAAe;AAAA,iBAAElE,EAAMkE;AAAAA,QAAe;AAAA,QAAA,IACtC4B,SAAM;AAAA,iBAAE9F,EAAM8F;AAAAA,QAAM;AAAA,QAAA,IACpBY,eAAY;AAAA,iBAAE1G,EAAM0G;AAAAA,QAAY;AAAA,MAAA,GAC5BzG,CAAI,CAAA;AAAA,IAAA;AAAA,IAAA,IAAA0G,WAAA;AAAA,aAAA5B,EAIX6B,IAASJ,EAAA;AAAA,QAAAP,KACHF;AAAAA,QAAS,IACd5F,QAAK;AAAA,iBAAEyF,GAAAA;AAAAA,QAAc;AAAA,QACrBiB,UAAQ;AAAA,QACR/D,UAAUA,MAAAA;AAAAA;AAAAA,QAAe,IACzBd,WAAQ;AAAA,iBAAE8E,EAAQ9G,EAAMgC;AAAAA,QAAS;AAAA,MAAA,GAAA,MAC5BhC,EAAM8F,SAAS;AAAA,QAAEiB,aAAa,GAAG/G,EAAM8F,MAAM,MAAM9F,EAAM8F,MAAM;AAAA,MAAA,IAAO,IAAE;AAAA,QAAA,IAC7EkB,eAAY;AAAA,iBAAAjC,EACTqB,GAAI;AAAA,YAAA,IAACC,OAAI;AAAA,qBAAE,CAACrG,EAAMkE;AAAAA,YAAe;AAAA,YAAA,IAAAyC,WAAA;AAAA,qBAAA5B,EAC/BkC,IAAoB;AAAA,gBACnBC,MAAI;AAAA,gBACJC,SAAS5D;AAAAA,gBAAQ,IACjBvB,WAAQ;AAAA,yBAAE8E,EAAQ9G,EAAMgC;AAAAA,gBAAS;AAAA,gBAAA,eAAA;AAAA,gBAAA,IAAA2E,WAAA;AAAA,yBAAA5B,EAGhCqB,GAAI;AAAA,oBAAA,IACHC,OAAI;AAAA,6BAAErG,EAAM0G;AAAAA,oBAAY;AAAA,oBAAA,IACxBJ,WAAQ;AAAA,6BAAAvB,EAAGqC,IAAI;AAAA,wBAACC,MAAI;AAAA,wBAAkBC,MAAM;AAAA,wBAAGC,QAAQ;AAAA,wBAAKC,MAAM;AAAA,sBAAA,CAAE;AAAA,oBAAA;AAAA,oBAAA,IAAAb,WAAA;AAAA,6BAEnE3G,EAAM0G;AAAAA,oBAAY;AAAA,kBAAA,CAAA;AAAA,gBAAA;AAAA,cAAA,CAAA;AAAA,YAAA;AAAA,UAAA,CAAA;AAAA,QAAA;AAAA,MAAA,GAKvBzG,CAAI,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA,GAAA8E,EAGXqB,GAAI;AAAA,IAAA,IAACC,OAAI;AAAA,aAAElC,EAAAA;AAAAA,IAAS;AAAA,IAAA,IAAAwC,WAAA;AAAA,aAAA5B,EAClB0C,IAAM;AAAA,QAAA,IAACC,QAAK;AAAA,iBAAEC,SAASC;AAAAA,QAAI;AAAA,QAAA,IAAAjB,WAAA;AAAA,iBAAA5B,EACzB8C,IAAiB;AAAA,YAACpE,aAAAA;AAAAA,YAAwB,IAAAkD,WAAA;AAAA,kBAAAmB,IAAAC,GAAAA,GAAAC,IAAAF,EAAAG,YAAAC,IAAAF,EAAAC,YAAAE,IAElCnC,EAAUrE,EAASyG,aAAcjC,CAAAA,MAAQ5E,IAAa4E,CAAkB;AAAC,4BAAAgC,KAAA,cAAAE,GAAAF,GAAAL,CAAA,GAAAQ,EAAAN,GAAAjD,EAa3EwD,IAAgB;AAAA,gBAAA,IACf1H,YAAS;AAAA,yBAAEA,EAAAA;AAAAA,gBAAW;AAAA,gBAAA,IACtBiD,SAAM;AAAA,yBAAE9D,EAAM8D;AAAAA,gBAAM;AAAA,gBAAA,IACpB9C,WAAQ;AAAA,yBAAEA,EAAAA;AAAAA,gBAAU;AAAA,gBACpB8B,UAAUX;AAAAA,gBACVC,mBAAAA;AAAAA,gBACAE,kBAAAA;AAAAA,cAAAA,CAAkC,GAAA4F,CAAA,GAAAI,EAAAJ,GAECpD,EAAI,GAAA0D,GAAAC,CAAAA,MAAA;AAAA,oBAAAC,KAnBpC;AAAA,kBACL,GAAG/G,EAASgH,eAAAA;AAAAA,kBAEZC,SAASvE,GAAAA,IAAU,IAAI;AAAA,gBAAA,GACxBwE,IAIW7I,EAAM8I,qBAAqB;AAAaL,uBAAAA,EAAAM,IAAAC,GAAAlB,GAAAY,IAAAD,EAAAM,CAAA,GAAAF,MAAAJ,EAAAQ,KAAAC,GAAApB,GAAA,cAAAW,EAAAQ,IAAAJ,CAAA,GAAAJ;AAAAA,cAAA,GAAA;AAAA,gBAAAM,GAAA3I;AAAAA,gBAAA6I,GAAA7I;AAAAA,cAAAA,CAAA,GAAA0H;AAAAA,YAAA;AAAA,UAAA,CAAA;AAAA,QAAA;AAAA,MAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA,CAAA;AAmBlE;"}
1
+ {"version":3,"file":"datePicker.js","sources":["../../../../src/components/inputs/datePicker/datePicker.tsx"],"sourcesContent":["import { type JSX, Show, createEffect, createMemo, createSignal, onCleanup, splitProps } from \"solid-js\";\nimport { Portal, isServer } from \"solid-js/web\";\nimport { buildFloatingMiddleware, type Placement, resolvePlacement } from \"../../../utils/floating\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { ClickAwayListener } from \"../../clickAwayListener\";\nimport { TextField, type TextFieldProps } from \"../textField\";\nimport { DataPickerHeader } from \"./dataPickerHeader\";\nimport { DataPickerDays } from \"./dataPickerDays\";\nimport { DatePickerList } from \"./datePickerList\";\nimport { DataPickerInput } from \"./dataPickerInput\";\nimport { DatePickerIconButton } from \"./datePickerIconButton\";\nimport { OpenView } from \"./openView\";\nimport {\n type WeekStart,\n getDisplayDate,\n getMonths,\n getYears,\n isValidDate,\n setMonth,\n setYear,\n} from \"./dateUtils\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport { OpenView } from \"./openView\";\n\nexport interface DatePickerProps\n extends Omit<TextFieldProps, \"onBlur\" | \"onChange\" | \"value\" | \"defaultValue\" | \"ref\" | \"onToggle\"> {\n showDaysOutsideMonth?: boolean | undefined;\n disablePast?: boolean | undefined;\n disableFuture?: boolean | undefined;\n /** Earliest selectable date (inclusive). */\n minDate?: Date | undefined;\n /** Latest selectable date (inclusive). */\n maxDate?: Date | undefined;\n /** Predicate to disable arbitrary days. */\n isDateDisabled?: ((day: Date) => boolean) | undefined;\n weekStartsOn?: WeekStart | undefined;\n /** BCP-47 locale for calendar labels (day/month/year names). */\n locale?: string | undefined;\n /** Input format pattern with tokens dd, MM, yyyy, e.g. \"dd/MM/yyyy\". */\n format?: string | undefined;\n /** Enables date-range selection. */\n range?: boolean | undefined;\n /** Controlled range value `[start, end]`. */\n rangeValue?: [Date | undefined, Date | undefined] | undefined;\n /** Called when the range changes. */\n onRangeChange?: ((range: [Date | undefined, Date | undefined]) => void) | undefined;\n placement?: Placement | undefined;\n disableCalendar?: boolean | undefined;\n label?: string | undefined;\n /** Accessible label for the calendar popup dialog. */\n calendarAriaLabel?: string | undefined;\n value?: Date | string | undefined;\n calendarIcon?: JSX.Element;\n onChange?: ((event?: Event, value?: Date, data?: DatePickerProps) => void) | undefined;\n onBlur?: ((event?: FocusEvent, value?: Date, data?: DatePickerProps) => void) | undefined;\n ref?: Ref<HTMLInputElement>;\n}\n\nconst FADE_MS = 150;\n\nexport function DatePicker(props: DatePickerProps): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"value\",\n \"onChange\",\n \"showDaysOutsideMonth\",\n \"disablePast\",\n \"disableFuture\",\n \"weekStartsOn\",\n \"placement\",\n \"disabled\",\n \"disableCalendar\",\n \"calendarAriaLabel\",\n \"minDate\",\n \"maxDate\",\n \"isDateDisabled\",\n \"locale\",\n \"format\",\n \"range\",\n \"rangeValue\",\n \"onRangeChange\",\n \"calendarIcon\",\n \"onBlur\",\n \"ref\",\n ]);\n\n const value = (): Date | undefined => (local.value === undefined ? undefined : new Date(local.value));\n const isRangeControlled = (): boolean => local.rangeValue !== undefined;\n const [rangeState, setRangeState] = createSignal<[Date | undefined, Date | undefined]>([undefined, undefined]);\n const currentRange = (): [Date | undefined, Date | undefined] =>\n isRangeControlled() && local.rangeValue ? local.rangeValue : rangeState();\n\n const initialValue = value();\n const [viewValue, setViewValue] = createSignal<Date>(isValidDate(initialValue) ? initialValue : new Date());\n const [openView, setOpenView] = createSignal<OpenView>(OpenView.days);\n const [isOpen, setIsOpen] = createSignal(false);\n\n let anchorEl: HTMLElement | undefined;\n let calendarEl: HTMLElement | undefined;\n\n const resolved = (): ReturnType<typeof resolvePlacement> => resolvePlacement(local.placement ?? \"bottom-start\");\n const floating = createFloating({\n placement: () => resolved().placement,\n middleware: () => buildFloatingMiddleware(resolved()),\n });\n\n createEffect(() => {\n if (local.disabled) return;\n const v = value();\n setViewValue(isValidDate(v) ? v : new Date());\n });\n\n const weekStartsOn = (): WeekStart => local.weekStartsOn ?? 1;\n\n const onViewValueChange = (v: Date): void => {\n setViewValue(v);\n };\n\n const onMonthLabelClick = (): void => {\n setOpenView(openView() === OpenView.months ? OpenView.days : OpenView.months);\n };\n\n const onYearLabelClick = (): void => {\n setOpenView(openView() === OpenView.years ? OpenView.days : OpenView.years);\n };\n\n const onMonthChange = (month: number): void => {\n setViewValue(setMonth(viewValue(), month));\n setOpenView(OpenView.days);\n };\n\n const onYearChange = (year: number): void => {\n setViewValue(setYear(viewValue(), year));\n setOpenView(OpenView.days);\n };\n\n const onChange = (event?: Event, date?: Date): void => {\n if (local.range) {\n if (!date) return;\n const [start, end] = currentRange();\n let next: [Date | undefined, Date | undefined];\n if (!start || (start && end)) {\n next = [date, undefined];\n } else {\n next = isValidDate(start) && date.getTime() < start.getTime() ? [date, start] : [start, date];\n }\n if (!isRangeControlled()) setRangeState(next);\n local.onRangeChange?.(next);\n if (next[0] && next[1]) setIsOpen(false);\n return;\n }\n local.onChange?.(event, date, props);\n setIsOpen(false);\n };\n\n const onToggle = (): void => {\n if (!local.disabled) setIsOpen((prev) => !prev);\n };\n\n const onClickAway = (event: MouseEvent | TouchEvent): void => {\n const target = event.target as HTMLElement;\n if (calendarEl?.contains(target) || anchorEl?.contains(target)) return;\n setIsOpen(false);\n };\n\n const months = createMemo(() => getMonths(local.locale));\n const years = getYears(new Date().getFullYear(), 100);\n\n const shouldOpen = (): boolean => isOpen() && !local.disabled && !local.disableCalendar;\n const [mounted, setMounted] = createSignal(shouldOpen());\n const [shown, setShown] = createSignal(false);\n let raf: number | undefined;\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n createEffect(() => {\n if (shouldOpen()) {\n if (timer !== undefined) clearTimeout(timer);\n setMounted(true);\n raf = requestAnimationFrame(() => setShown(true));\n } else {\n setShown(false);\n if (mounted()) timer = setTimeout(() => setMounted(false), FADE_MS);\n }\n });\n onCleanup(() => {\n if (raf !== undefined) cancelAnimationFrame(raf);\n if (timer !== undefined) clearTimeout(timer);\n });\n\n const view = (): JSX.Element => {\n switch (openView()) {\n case OpenView.months:\n return <DatePickerList value={viewValue().getMonth()} items={months()} onChange={onMonthChange} />;\n case OpenView.years:\n return <DatePickerList value={viewValue().getFullYear()} items={years} onChange={onYearChange} />;\n default:\n return (\n <DataPickerDays\n viewValue={viewValue()}\n value={value()}\n showDaysOutsideMonth={local.showDaysOutsideMonth}\n onChange={onChange}\n disablePast={local.disablePast}\n disableFuture={local.disableFuture}\n weekStartsOn={weekStartsOn()}\n minDate={local.minDate}\n maxDate={local.maxDate}\n isDateDisabled={local.isDateDisabled}\n locale={local.locale}\n range={local.range}\n rangeStart={currentRange()[0]}\n rangeEnd={currentRange()[1]}\n />\n );\n }\n };\n\n const rangeDisplay = (): string =>\n local.range && (currentRange()[0] || currentRange()[1])\n ? `${getDisplayDate(currentRange()[0], local.format)} – ${getDisplayDate(currentRange()[1], local.format)}`\n : \"\";\n\n const anchorRef = mergeRefs(local.ref, floating.setReference, (el) => (anchorEl = el as HTMLElement));\n\n return (\n <>\n <Show\n when={local.range}\n fallback={\n <DataPickerInput\n ref={anchorRef}\n value={local.value}\n onChange={local.onChange}\n onBlur={local.onBlur}\n onToggle={onToggle}\n disabled={local.disabled}\n disableCalendar={local.disableCalendar}\n format={local.format}\n calendarIcon={local.calendarIcon}\n {...rest}\n />\n }\n >\n <TextField\n ref={anchorRef}\n value={rangeDisplay()}\n readOnly\n onChange={() => undefined}\n disabled={Boolean(local.disabled)}\n {...(local.format ? { placeholder: `${local.format} – ${local.format}` } : {})}\n endAdornment={\n <Show when={!local.disableCalendar}>\n <DatePickerIconButton\n edge=\"end\"\n onClick={onToggle}\n disabled={Boolean(local.disabled)}\n data-testid=\"date-picker-icon-button\"\n >\n <Show\n when={local.calendarIcon}\n fallback={<Icon name=\"calendar_today\" fill={1} weight={500} size={24} />}\n >\n {local.calendarIcon}\n </Show>\n </DatePickerIconButton>\n </Show>\n }\n {...rest}\n />\n </Show>\n <Show when={mounted()}>\n <Portal mount={(isServer ? undefined : document.body) as Node}>\n <ClickAwayListener onClickAway={onClickAway}>\n <div\n ref={mergeRefs(floating.setFloating, (el) => (calendarEl = el as HTMLElement))}\n class=\"smwb-date-picker\"\n style={{\n ...floating.floatingStyles(),\n transition: `opacity ${FADE_MS}ms ease-in-out`,\n opacity: shown() ? 1 : 0,\n }}\n data-testid=\"date-picker\"\n role=\"dialog\"\n aria-modal=\"false\"\n aria-label={local.calendarAriaLabel ?? \"Choose date\"}\n >\n <div class=\"smwb-date-picker__inner\">\n <DataPickerHeader\n viewValue={viewValue()}\n locale={local.locale}\n openView={openView()}\n onChange={onViewValueChange}\n onMonthLabelClick={onMonthLabelClick}\n onYearLabelClick={onYearLabelClick}\n />\n <div class=\"smwb-date-picker__body\">{view()}</div>\n </div>\n </div>\n </ClickAwayListener>\n </Portal>\n </Show>\n </>\n );\n}\n\nexport default DatePicker;\n"],"names":["FADE_MS","DatePicker","props","local","rest","splitProps","value","undefined","Date","isRangeControlled","rangeValue","rangeState","setRangeState","createSignal","currentRange","initialValue","viewValue","setViewValue","isValidDate","openView","setOpenView","OpenView","days","isOpen","setIsOpen","anchorEl","calendarEl","resolved","resolvePlacement","placement","floating","createFloating","middleware","buildFloatingMiddleware","createEffect","disabled","v","weekStartsOn","onViewValueChange","onMonthLabelClick","months","onYearLabelClick","years","onMonthChange","month","setMonth","onYearChange","year","setYear","onChange","event","date","range","start","end","next","getTime","onRangeChange","onToggle","prev","onClickAway","target","contains","createMemo","getMonths","locale","getYears","getFullYear","shouldOpen","disableCalendar","mounted","setMounted","shown","setShown","raf","timer","clearTimeout","requestAnimationFrame","setTimeout","onCleanup","cancelAnimationFrame","view","_$createComponent","DatePickerList","getMonth","items","DataPickerDays","showDaysOutsideMonth","disablePast","disableFuture","minDate","maxDate","isDateDisabled","rangeStart","rangeEnd","rangeDisplay","getDisplayDate","format","anchorRef","mergeRefs","ref","setReference","el","Show","when","fallback","DataPickerInput","_$mergeProps","onBlur","calendarIcon","children","TextField","readOnly","Boolean","placeholder","endAdornment","DatePickerIconButton","edge","onClick","Icon","name","fill","weight","size","Portal","mount","isServer","document","body","ClickAwayListener","_el$","_tmpl$","_el$2","firstChild","_el$3","_ref$","setFloating","_$use","_$insert","DataPickerHeader","_$effect","_p$","_v$","floatingStyles","opacity","_v$2","calendarAriaLabel","e","_$style","t","_$setAttribute"],"mappings":"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"}