@trsys-tech/matrix-library 0.4.7 → 0.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,41 +1,41 @@
1
- import { jsx as t, jsxs as i } from "react/jsx-runtime";
1
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
2
2
  import * as d from "react";
3
- import { DayPicker as b, Chevron as g } from "react-day-picker";
4
- import { ChevronLeft as p, ChevronRight as x, ChevronDown as w } from "@trsys-tech/matrix-icons";
5
- import { Collapsible as y, CollapsibleTrigger as c, CollapsibleContent as v } from "@radix-ui/react-collapsible";
6
- import { cn as a } from "./utils.es.js";
7
- import { Button as C } from "./button.es.js";
8
- function N({ className: m, classNames: f, showOutsideDays: u = !0, ...o }) {
9
- const n = d.useRef(null), [s, h] = d.useState({ width: 0, height: 0 });
3
+ import { DayPicker as g, Chevron as p } from "react-day-picker";
4
+ import { ChevronLeft as x, ChevronRight as w, ChevronDown as y } from "@trsys-tech/matrix-icons";
5
+ import { Collapsible as v, CollapsibleTrigger as u, CollapsibleContent as C } from "@radix-ui/react-collapsible";
6
+ import { cn as o } from "./utils.es.js";
7
+ import { Button as N } from "./button.es.js";
8
+ function _({ className: c, classNames: f, showOutsideDays: m = !0, ...a }) {
9
+ const n = d.useRef(null), [s, b] = d.useState({ width: 0, height: 0 });
10
10
  return d.useEffect(() => {
11
11
  if (n.current) {
12
12
  const { width: e, height: l } = n.current.parentElement?.parentElement?.parentElement?.getBoundingClientRect() ?? {
13
13
  width: 0,
14
14
  height: 0
15
15
  };
16
- h({ width: e, height: l });
16
+ b({ width: e, height: l });
17
17
  }
18
- }, []), /* @__PURE__ */ t(
19
- b,
18
+ }, []), /* @__PURE__ */ r(
19
+ g,
20
20
  {
21
- showOutsideDays: u,
22
- className: a("p-3 relative w-full max-w-sm group/root z-10", m),
21
+ showOutsideDays: m,
22
+ className: o("p-3 relative w-full max-w-sm group/root z-10", c),
23
23
  classNames: {
24
- months: a("relative flex flex-col", o.mode === "range" && "md:flex-row md:space-x-4 md:space-y-2"),
24
+ months: o("relative flex flex-col", a.mode === "range" && "md:flex-row md:space-x-4 md:space-y-2"),
25
25
  month: "space-y-4 peer md:flex-1",
26
26
  month_caption: "flex justify-center pt-1 relative items-center",
27
27
  dropdowns: "flex gap-2",
28
28
  caption_label: "text-sm font-bold",
29
- nav: a("space-x-1 flex items-center group-has-[[data-state=open]]/root:hidden", o.mode !== "range" && "relative"),
30
- button_previous: a(
29
+ nav: o("space-x-1 flex items-center group-has-[[data-state=open]]/root:hidden", a.mode !== "range" && "relative"),
30
+ button_previous: o(
31
31
  "h-7 w-7 bg-transparent p-0 text-primary hover:opacity-100 absolute left-2 top-0 md:top-0.5 z-10",
32
- o.mode === "range" && "md:left-8 md:top-2"
32
+ a.mode === "range" && "md:left-8 md:top-2"
33
33
  ),
34
- button_next: a(
34
+ button_next: o(
35
35
  "h-7 w-7 bg-transparent p-0 text-primary hover:opacity-100 absolute right-2 top-0 md:top-0.5 z-10",
36
- o.mode === "range" && "md:top-2"
36
+ a.mode === "range" && "md:top-2"
37
37
  ),
38
- month_grid: a("w-full border-collapse space-y-1"),
38
+ month_grid: o("w-full border-collapse space-y-1"),
39
39
  weekdays: "grid grid-cols-7 justify-items-center",
40
40
  weekday: "text-text rounded-md w-8 font-bold text-sm",
41
41
  week: "mt-2 h-11 grid grid-cols-7 items-center",
@@ -52,43 +52,43 @@ function N({ className: m, classNames: f, showOutsideDays: u = !0, ...o }) {
52
52
  ...f
53
53
  },
54
54
  components: {
55
- Chevron: (e) => e.orientation === "left" ? /* @__PURE__ */ t(p, { ...e, className: "h-6 w-6" }) : e.orientation === "right" ? /* @__PURE__ */ t(x, { ...e, className: "h-6 w-6" }) : /* @__PURE__ */ t(g, { ...e }),
55
+ Chevron: (e) => e.orientation === "left" ? /* @__PURE__ */ r(x, { ...e, className: "h-6 w-6" }) : e.orientation === "right" ? /* @__PURE__ */ r(w, { ...e, className: "h-6 w-6" }) : /* @__PURE__ */ r(p, { ...e }),
56
56
  YearsDropdown: (e) => {
57
- const l = (r) => {
58
- e.onChange?.({ target: { value: r } });
57
+ const l = (t) => {
58
+ e.onChange?.({ target: { value: t } });
59
59
  };
60
- return /* @__PURE__ */ i(y, { ref: n, children: [
61
- /* @__PURE__ */ i(c, { className: "group flex items-center gap-1", children: [
60
+ return /* @__PURE__ */ i(v, { ref: n, children: [
61
+ /* @__PURE__ */ i(u, { className: "group flex items-center gap-1", children: [
62
62
  e.value,
63
63
  " ",
64
- /* @__PURE__ */ t(w, { className: "text-primary w-5 h-5 group-data-[state='open']:rotate-180 transition-transform ms-auto" })
64
+ /* @__PURE__ */ r(y, { className: "text-primary w-5 h-5 group-data-[state='open']:rotate-180 transition-transform ms-auto" })
65
65
  ] }),
66
- /* @__PURE__ */ t(
67
- v,
66
+ /* @__PURE__ */ r(
67
+ C,
68
68
  {
69
69
  className: "overflow-auto z-50 absolute bg-popover left-2 top-11 p-1",
70
70
  style: { width: s.width, height: s.height - 44 },
71
- children: /* @__PURE__ */ t("div", { className: "flex flex-row flex-wrap gap-4", children: e.options?.reverse()?.map((r) => /* @__PURE__ */ t(c, { asChild: !0, children: /* @__PURE__ */ t(
72
- C,
71
+ children: /* @__PURE__ */ r("div", { className: "flex flex-row flex-wrap gap-4", children: e.options ? [...e.options].sort((t, h) => Number(h.value) - Number(t.value)).map((t) => /* @__PURE__ */ r(u, { asChild: !0, children: /* @__PURE__ */ r(
72
+ N,
73
73
  {
74
- "data-value": r.value,
74
+ "data-value": t.value,
75
75
  variant: "text",
76
- className: a("h-6 w-14 py-1 px-3 rounded-full font-bold", e.value === r.value && "bg-secondary"),
77
- onClick: () => l(r.value.toString()),
78
- children: r.label
76
+ className: o("h-6 w-14 py-1 px-3 rounded-full font-bold", e.value === t.value && "bg-secondary"),
77
+ onClick: () => l(t.value.toString()),
78
+ children: t.label
79
79
  }
80
- ) }, r.label)) })
80
+ ) }, t.label)) : null })
81
81
  }
82
82
  )
83
83
  ] });
84
84
  }
85
85
  },
86
- ...o
86
+ ...a
87
87
  }
88
88
  );
89
89
  }
90
- N.displayName = "Calendar";
90
+ _.displayName = "Calendar";
91
91
  export {
92
- N as Calendar
92
+ _ as Calendar
93
93
  };
94
94
  //# sourceMappingURL=calendar.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.es.js","sources":["../src/components/date-picker/calendar.tsx"],"sourcesContent":["\"use client\";\n\n/* eslint-disable camelcase */\nimport * as React from \"react\";\nimport { Chevron, DayPicker, DayPickerProps } from \"react-day-picker\";\nimport { ChevronDown, ChevronLeft, ChevronRight } from \"@trsys-tech/matrix-icons\";\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from \"@radix-ui/react-collapsible\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../button/Button\";\n\nexport type CalendarProps = DayPickerProps & {};\n\nfunction Calendar({ className, classNames, showOutsideDays = true, ...props }: CalendarProps) {\n const yearCollapseRef = React.useRef<HTMLDivElement>(null);\n const [size, setSize] = React.useState({ width: 0, height: 0 });\n\n React.useEffect(() => {\n if (yearCollapseRef.current) {\n const { width, height } = yearCollapseRef.current.parentElement?.parentElement?.parentElement?.getBoundingClientRect() ?? {\n width: 0,\n height: 0,\n };\n setSize({ width, height });\n }\n }, []);\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3 relative w-full max-w-sm group/root z-10\", className)}\n classNames={{\n months: cn(\"relative flex flex-col\", props.mode === \"range\" && \"md:flex-row md:space-x-4 md:space-y-2\"),\n month: \"space-y-4 peer md:flex-1\",\n month_caption: \"flex justify-center pt-1 relative items-center\",\n dropdowns: \"flex gap-2\",\n caption_label: \"text-sm font-bold\",\n nav: cn(\"space-x-1 flex items-center group-has-[[data-state=open]]/root:hidden\", props.mode !== \"range\" && \"relative\"),\n button_previous: cn(\n \"h-7 w-7 bg-transparent p-0 text-primary hover:opacity-100 absolute left-2 top-0 md:top-0.5 z-10\",\n props.mode === \"range\" && \"md:left-8 md:top-2\",\n ),\n button_next: cn(\n \"h-7 w-7 bg-transparent p-0 text-primary hover:opacity-100 absolute right-2 top-0 md:top-0.5 z-10\",\n props.mode === \"range\" && \"md:top-2\",\n ),\n month_grid: cn(\"w-full border-collapse space-y-1\"),\n weekdays: \"grid grid-cols-7 justify-items-center\",\n weekday: \"text-text rounded-md w-8 font-bold text-sm\",\n week: \"mt-2 h-11 grid grid-cols-7 items-center\",\n day: \"relative p-0 text-center text-sm h-11 min-w-11 md:min-w-9 md:h-9\",\n day_button: \"w-11 md:w-9 h-full p-0 text-sm\",\n range_start:\n \"before:block before:absolute before:-z-10 before:content-[''] before:w-1/2 before:end-0 before:h-full before:bg-secondary/50 after:!w-0\",\n range_end:\n \"after:block after:absolute after:top-0 after:-z-10 after:content-[''] after:w-1/2 after:start-0 after:h-full after:bg-secondary/50 before:!w-0\",\n selected:\n \"[&>button]:bg-secondary [&>button]:rounded-full text-text font-bold [&>button]:hover:bg-secondary [&>button]:hover:text-text [&>button]:focus:bg-secondary [&>button]:focus:text-text [&>button]:text-xs\",\n today: \"text-primary font-bold [&>button]:text-xs\",\n outside:\n \"day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30\",\n disabled: \"text-muted-foreground opacity-50\",\n range_middle: \"bg-secondary/50 [&>button]:data-[selected='true']:bg-secondary/0 data-[selected='true']:rounded-none text-accent-foreground\",\n hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n Chevron: props => {\n if (props.orientation === \"left\") {\n return <ChevronLeft {...props} className=\"h-6 w-6\" />;\n } else if (props.orientation === \"right\") {\n return <ChevronRight {...props} className=\"h-6 w-6\" />;\n }\n return <Chevron {...props} />;\n },\n YearsDropdown: props => {\n const handleChange = (value: string) => {\n props.onChange?.({ target: { value: value } } as unknown as React.ChangeEvent<HTMLSelectElement>);\n };\n return (\n <Collapsible ref={yearCollapseRef}>\n <CollapsibleTrigger className=\"group flex items-center gap-1\">\n {props.value} <ChevronDown className=\"text-primary w-5 h-5 group-data-[state='open']:rotate-180 transition-transform ms-auto\" />\n </CollapsibleTrigger>\n <CollapsibleContent\n className=\"overflow-auto z-50 absolute bg-popover left-2 top-11 p-1\"\n style={{ width: size.width, height: size.height - 44 }}\n >\n <div className=\"flex flex-row flex-wrap gap-4\">\n {props.options?.reverse()?.map(option => (\n <CollapsibleTrigger asChild key={option.label}>\n <Button\n data-value={option.value}\n variant=\"text\"\n className={cn(\"h-6 w-14 py-1 px-3 rounded-full font-bold\", props.value === option.value && \"bg-secondary\")}\n onClick={() => handleChange(option.value.toString())}\n >\n {option.label}\n </Button>\n </CollapsibleTrigger>\n ))}\n </div>\n </CollapsibleContent>\n </Collapsible>\n );\n },\n }}\n {...props}\n />\n );\n}\nCalendar.displayName = \"Calendar\";\n\nexport { Calendar };\n"],"names":["Calendar","className","classNames","showOutsideDays","props","yearCollapseRef","React","size","setSize","width","height","jsx","DayPicker","cn","ChevronLeft","ChevronRight","Chevron","handleChange","value","jsxs","Collapsible","CollapsibleTrigger","ChevronDown","CollapsibleContent","option","Button"],"mappings":"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"}
1
+ {"version":3,"file":"calendar.es.js","sources":["../src/components/date-picker/calendar.tsx"],"sourcesContent":["\"use client\";\n\n/* eslint-disable camelcase */\nimport * as React from \"react\";\nimport { Chevron, DayPicker, DayPickerProps } from \"react-day-picker\";\nimport { ChevronDown, ChevronLeft, ChevronRight } from \"@trsys-tech/matrix-icons\";\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from \"@radix-ui/react-collapsible\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../button/Button\";\n\nexport type CalendarProps = DayPickerProps & {};\n\nfunction Calendar({ className, classNames, showOutsideDays = true, ...props }: CalendarProps) {\n const yearCollapseRef = React.useRef<HTMLDivElement>(null);\n const [size, setSize] = React.useState({ width: 0, height: 0 });\n\n React.useEffect(() => {\n if (yearCollapseRef.current) {\n const { width, height } = yearCollapseRef.current.parentElement?.parentElement?.parentElement?.getBoundingClientRect() ?? {\n width: 0,\n height: 0,\n };\n setSize({ width, height });\n }\n }, []);\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3 relative w-full max-w-sm group/root z-10\", className)}\n classNames={{\n months: cn(\"relative flex flex-col\", props.mode === \"range\" && \"md:flex-row md:space-x-4 md:space-y-2\"),\n month: \"space-y-4 peer md:flex-1\",\n month_caption: \"flex justify-center pt-1 relative items-center\",\n dropdowns: \"flex gap-2\",\n caption_label: \"text-sm font-bold\",\n nav: cn(\"space-x-1 flex items-center group-has-[[data-state=open]]/root:hidden\", props.mode !== \"range\" && \"relative\"),\n button_previous: cn(\n \"h-7 w-7 bg-transparent p-0 text-primary hover:opacity-100 absolute left-2 top-0 md:top-0.5 z-10\",\n props.mode === \"range\" && \"md:left-8 md:top-2\",\n ),\n button_next: cn(\n \"h-7 w-7 bg-transparent p-0 text-primary hover:opacity-100 absolute right-2 top-0 md:top-0.5 z-10\",\n props.mode === \"range\" && \"md:top-2\",\n ),\n month_grid: cn(\"w-full border-collapse space-y-1\"),\n weekdays: \"grid grid-cols-7 justify-items-center\",\n weekday: \"text-text rounded-md w-8 font-bold text-sm\",\n week: \"mt-2 h-11 grid grid-cols-7 items-center\",\n day: \"relative p-0 text-center text-sm h-11 min-w-11 md:min-w-9 md:h-9\",\n day_button: \"w-11 md:w-9 h-full p-0 text-sm\",\n range_start:\n \"before:block before:absolute before:-z-10 before:content-[''] before:w-1/2 before:end-0 before:h-full before:bg-secondary/50 after:!w-0\",\n range_end:\n \"after:block after:absolute after:top-0 after:-z-10 after:content-[''] after:w-1/2 after:start-0 after:h-full after:bg-secondary/50 before:!w-0\",\n selected:\n \"[&>button]:bg-secondary [&>button]:rounded-full text-text font-bold [&>button]:hover:bg-secondary [&>button]:hover:text-text [&>button]:focus:bg-secondary [&>button]:focus:text-text [&>button]:text-xs\",\n today: \"text-primary font-bold [&>button]:text-xs\",\n outside:\n \"day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30\",\n disabled: \"text-muted-foreground opacity-50\",\n range_middle: \"bg-secondary/50 [&>button]:data-[selected='true']:bg-secondary/0 data-[selected='true']:rounded-none text-accent-foreground\",\n hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n Chevron: props => {\n if (props.orientation === \"left\") {\n return <ChevronLeft {...props} className=\"h-6 w-6\" />;\n } else if (props.orientation === \"right\") {\n return <ChevronRight {...props} className=\"h-6 w-6\" />;\n }\n return <Chevron {...props} />;\n },\n YearsDropdown: params => {\n const handleChange = (value: string) => {\n params.onChange?.({ target: { value: value } } as unknown as React.ChangeEvent<HTMLSelectElement>);\n };\n return (\n <Collapsible ref={yearCollapseRef}>\n <CollapsibleTrigger className=\"group flex items-center gap-1\">\n {params.value} <ChevronDown className=\"text-primary w-5 h-5 group-data-[state='open']:rotate-180 transition-transform ms-auto\" />\n </CollapsibleTrigger>\n <CollapsibleContent\n className=\"overflow-auto z-50 absolute bg-popover left-2 top-11 p-1\"\n style={{ width: size.width, height: size.height - 44 }}\n >\n <div className=\"flex flex-row flex-wrap gap-4\">\n {params.options\n ? [...params.options]\n .sort((a, b) => Number(b.value) - Number(a.value)) // Sort in descending order (newest year first)\n .map(option => (\n <CollapsibleTrigger asChild key={option.label}>\n <Button\n data-value={option.value}\n variant=\"text\"\n className={cn(\"h-6 w-14 py-1 px-3 rounded-full font-bold\", params.value === option.value && \"bg-secondary\")}\n onClick={() => handleChange(option.value.toString())}\n >\n {option.label}\n </Button>\n </CollapsibleTrigger>\n ))\n : null}\n </div>\n </CollapsibleContent>\n </Collapsible>\n );\n },\n }}\n {...props}\n />\n );\n}\nCalendar.displayName = \"Calendar\";\n\nexport { Calendar };\n"],"names":["Calendar","className","classNames","showOutsideDays","props","yearCollapseRef","React","size","setSize","width","height","jsx","DayPicker","cn","ChevronLeft","ChevronRight","Chevron","params","handleChange","value","jsxs","Collapsible","CollapsibleTrigger","ChevronDown","CollapsibleContent","a","b","option","Button"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { jsxs as n, jsx as a } from "react/jsx-runtime";
2
- import o, { useRef as R, useEffect as _ } from "react";
3
- import { ChevronDown as A, XMark as B, Check as O } from "@trsys-tech/matrix-icons";
2
+ import o, { useRef as _, useEffect as A } from "react";
3
+ import { ChevronDown as B, XMark as O, Check as T } from "@trsys-tech/matrix-icons";
4
4
  import { cn as v } from "./utils.es.js";
5
- import { Button as T } from "./button.es.js";
6
- import { Popover as G, PopoverTrigger as M, PopoverContent as X } from "./popover.es.js";
7
- import { Command as q, CommandInput as z, CommandList as H, CommandEmpty as J, CommandItem as h, CommandGroup as Q } from "./command.es.js";
8
- const re = ({
5
+ import { Button as G } from "./button.es.js";
6
+ import { Popover as M, PopoverTrigger as X, PopoverContent as q } from "./popover.es.js";
7
+ import { Command as z, CommandInput as H, CommandList as J, CommandEmpty as Q, CommandItem as h, CommandGroup as U } from "./command.es.js";
8
+ const ae = ({
9
9
  onValueChange: t,
10
10
  options: c,
11
11
  value: u,
@@ -20,36 +20,37 @@ const re = ({
20
20
  loadingText: N = "Loading...",
21
21
  emptyOptionsText: P = "No Items",
22
22
  showSearchInput: p = !0,
23
- ...L
23
+ modalPopover: L,
24
+ ...D
24
25
  }) => {
25
- const [m, l] = o.useState(!1), f = R(null), [r, i] = o.useState(u), D = o.useCallback(
26
+ const [m, l] = o.useState(!1), f = _(null), [r, i] = o.useState(u), E = o.useCallback(
26
27
  (e) => {
27
28
  e.key === "Enter" ? l(!0) : e.key === "Backspace" && !e.currentTarget.value && (i(r), t?.(r), s && l(!1));
28
29
  },
29
30
  [r, t, s]
30
- ), E = o.useCallback(
31
+ ), S = o.useCallback(
31
32
  (e) => {
32
33
  i(e), t?.(e), s && l(!1);
33
34
  },
34
35
  [t, s]
35
- ), S = o.useCallback(
36
+ ), j = o.useCallback(
36
37
  (e) => {
37
38
  e.stopPropagation(), t?.(void 0), i(void 0);
38
39
  },
39
40
  [t]
40
- ), j = o.useCallback((e, F, K = [""]) => K.join("").toLocaleLowerCase().includes(F.toLocaleLowerCase()) ? 1 : 0, []), I = o.useCallback(
41
+ ), I = o.useCallback((e, K, R = [""]) => R.join("").toLocaleLowerCase().includes(K.toLocaleLowerCase()) ? 1 : 0, []), F = o.useCallback(
41
42
  (e) => {
42
43
  p || (e.preventDefault(), f.current?.focus());
43
44
  },
44
45
  [p]
45
46
  );
46
- _(() => {
47
+ A(() => {
47
48
  i(u);
48
49
  }, [u]);
49
50
  const b = r === void 0 || r === "";
50
- return /* @__PURE__ */ n(G, { open: m, onOpenChange: l, children: [
51
- /* @__PURE__ */ a(M, { asChild: !0, children: /* @__PURE__ */ n(
52
- T,
51
+ return /* @__PURE__ */ n(M, { open: m, onOpenChange: l, modal: L, children: [
52
+ /* @__PURE__ */ a(X, { asChild: !0, children: /* @__PURE__ */ n(
53
+ G,
53
54
  {
54
55
  variant: "text",
55
56
  role: "combobox",
@@ -64,50 +65,50 @@ const re = ({
64
65
  loading: d,
65
66
  disabled: w,
66
67
  endIcon: /* @__PURE__ */ a(
67
- A,
68
+ B,
68
69
  {
69
70
  role: "button",
70
71
  "aria-label": "Expand dropdown",
71
72
  className: "!h-4.5 !w-4.5 cursor-pointer group-data-[state=open]:rotate-180 transition-transform ms-auto"
72
73
  }
73
74
  ),
74
- ...L,
75
+ ...D,
75
76
  children: [
76
77
  /* @__PURE__ */ a("span", { className: "text-start text-ellipsis whitespace-nowrap overflow-hidden flex-1 max-w-[calc(100%-24px)]", children: b ? d ? N : y : c.find((e) => e.value === r)?.label }),
77
78
  g && r !== void 0 && r !== null ? /* @__PURE__ */ a(
78
79
  "span",
79
80
  {
80
- onClick: S,
81
+ onClick: j,
81
82
  className: "p-0 rounded-sm text-xs font-normal transition-colors focus-visible:outline-none disabled:pointer-events-none disabled:bg-muted disabled:text-gray-500 text-primary hover:bg-primary-50 focus:bg-transparent focus:ring active:bg-primary-50 active:text-primary-700 [&>svg]:h-4.5 [&>svg]:w-4.5",
82
83
  role: "button",
83
84
  "aria-label": "Clear selection",
84
- children: /* @__PURE__ */ a(B, {})
85
+ children: /* @__PURE__ */ a(O, {})
85
86
  }
86
87
  ) : null
87
88
  ]
88
89
  }
89
90
  ) }),
90
- /* @__PURE__ */ a(X, { className: "w-auto p-0", align: "start", onEscapeKeyDown: () => l(!1), onOpenAutoFocus: I, children: /* @__PURE__ */ n(
91
- q,
91
+ /* @__PURE__ */ a(q, { className: "w-auto p-0", align: "start", onEscapeKeyDown: () => l(!1), onOpenAutoFocus: F, children: /* @__PURE__ */ n(
92
+ z,
92
93
  {
93
94
  className: "w-[--radix-popper-anchor-width] focus-visible:outline-none",
94
- filter: j,
95
+ filter: I,
95
96
  defaultValue: r != null ? String(r) : void 0,
96
97
  ref: f,
97
98
  children: [
98
- p && /* @__PURE__ */ a(z, { placeholder: C, onKeyDown: D }),
99
- /* @__PURE__ */ n(H, { children: [
100
- !d && /* @__PURE__ */ a(J, { children: k }),
99
+ p && /* @__PURE__ */ a(H, { placeholder: C, onKeyDown: E }),
100
+ /* @__PURE__ */ n(J, { children: [
101
+ !d && /* @__PURE__ */ a(Q, { children: k }),
101
102
  !d && !c.length ? /* @__PURE__ */ a(h, { value: "8fdcaeb67c8ad943c80fe54c3b1059b700d9254389a38a4a1fc39a6eee7564623", disabled: !0, children: P }) : null,
102
- /* @__PURE__ */ a(Q, { children: c.map((e) => /* @__PURE__ */ n(
103
+ /* @__PURE__ */ a(U, { children: c.map((e) => /* @__PURE__ */ n(
103
104
  h,
104
105
  {
105
106
  value: e.value,
106
107
  keywords: [e.label],
107
- onSelect: E,
108
+ onSelect: S,
108
109
  children: [
109
110
  e.label,
110
- /* @__PURE__ */ a(O, { className: v("ml-auto", r === e.value ? "opacity-100" : "opacity-0") })
111
+ /* @__PURE__ */ a(T, { className: v("ml-auto", r === e.value ? "opacity-100" : "opacity-0") })
111
112
  ]
112
113
  },
113
114
  String(e.value)
@@ -119,6 +120,6 @@ const re = ({
119
120
  ] });
120
121
  };
121
122
  export {
122
- re as Combobox
123
+ ae as Combobox
123
124
  };
124
125
  //# sourceMappingURL=combobox.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox.es.js","sources":["../src/components/combobox/Combobox.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { useEffect, useRef } from \"react\";\r\nimport { Check, ChevronDown, XMark } from \"@trsys-tech/matrix-icons\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Button } from \"../button/Button\";\r\nimport { Popover, PopoverContent, PopoverTrigger } from \"../popover/Popover\";\r\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from \"../command/Command\";\r\n\r\ntype ComboboxProps<T extends string | number> = React.HTMLAttributes<HTMLButtonElement> & {\r\n /**\r\n * The options to display in the combobox.\r\n * Each option should have a label and a value.\r\n * The label is what is displayed in the combobox.\r\n * The value is what is returned when the option is selected.\r\n */\r\n options: { label: string; value: T }[];\r\n\r\n /**\r\n * The value of the combobox.\r\n */\r\n value?: T;\r\n\r\n /**\r\n * A function that is called when the value of the combobox changes.\r\n */\r\n onValueChange?: (value: T) => void;\r\n\r\n /**\r\n * Placeholder text to be displayed when no values are selected.\r\n * @default \"Select an option\"\r\n */\r\n placeholder?: string;\r\n\r\n /**\r\n * The modality of the popover. When set to true, interaction with outside elements\r\n * will be disabled and only popover content will be visible to screen readers.\r\n * Optional\r\n * @default false\r\n */\r\n modalPopover?: boolean;\r\n\r\n /**\r\n * The text to display in the search input.\r\n * @default \"Search...\"\r\n */\r\n searchText?: string;\r\n\r\n /**\r\n * The text to display when no results are found.\r\n * @default \"No results found\"\r\n */\r\n noResultsText?: string;\r\n\r\n /**\r\n * Whether the popover should close when an option is selected.\r\n * @default true\r\n */\r\n closeOnSelect?: boolean;\r\n\r\n /**\r\n * Whether the combobox is loading.\r\n * @default false\r\n */\r\n loading?: boolean;\r\n\r\n /**\r\n * Whether the combobox is disabled.\r\n * @default false\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * The text to display when the combobox is loading.\r\n * @default \"Loading...\"\r\n */\r\n loadingText?: string;\r\n\r\n /**\r\n * The text to display when there are no options.\r\n * @default \"No Items\"\r\n */\r\n emptyOptionsText?: string;\r\n\r\n /**\r\n * Whether to show the search input.\r\n * @default true\r\n */\r\n showSearchInput?: boolean;\r\n\r\n /**\r\n * Whether to show the clear button.\r\n * @default false\r\n */\r\n clearable?: boolean;\r\n};\r\n\r\nconst Combobox = <T extends string | number>({\r\n onValueChange,\r\n options,\r\n value,\r\n className,\r\n clearable = false,\r\n closeOnSelect = true,\r\n loading,\r\n disabled,\r\n placeholder = \"Select an option\",\r\n searchText = \"Search...\",\r\n noResultsText = \"No results found\",\r\n loadingText = \"Loading...\",\r\n emptyOptionsText = \"No Items\",\r\n showSearchInput = true,\r\n ...props\r\n}: ComboboxProps<T>) => {\r\n const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);\r\n const commandRef = useRef<HTMLDivElement>(null);\r\n\r\n const [currentSelectedValue, setCurrentSelectedValue] = React.useState<T | undefined>(value);\r\n\r\n const handleInputKeyDown = React.useCallback(\r\n (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (event.key === \"Enter\") {\r\n setIsPopoverOpen(true);\r\n } else if (event.key === \"Backspace\" && !event.currentTarget.value) {\r\n setCurrentSelectedValue(currentSelectedValue);\r\n onValueChange?.(currentSelectedValue!);\r\n if (closeOnSelect) setIsPopoverOpen(false);\r\n }\r\n },\r\n [currentSelectedValue, onValueChange, closeOnSelect],\r\n );\r\n\r\n const handleSelect = React.useCallback(\r\n (currentValue: T) => {\r\n setCurrentSelectedValue(currentValue);\r\n onValueChange?.(currentValue);\r\n if (closeOnSelect) setIsPopoverOpen(false);\r\n },\r\n [onValueChange, closeOnSelect],\r\n );\r\n\r\n const handleClear = React.useCallback(\r\n (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n onValueChange?.(undefined as unknown as T);\r\n setCurrentSelectedValue(undefined);\r\n },\r\n [onValueChange],\r\n );\r\n\r\n const handleFilter = React.useCallback((value: string, search: string, keywords: string[] = [\"\"]) => {\r\n return keywords.join(\"\").toLocaleLowerCase().includes(search.toLocaleLowerCase()) ? 1 : 0;\r\n }, []);\r\n\r\n // when search input is not shown, we need to focus on the command manually to enable keyboard navigation\r\n const handleOpenAutoFocus = React.useCallback(\r\n (e: Event) => {\r\n if (!showSearchInput) {\r\n e.preventDefault();\r\n commandRef.current?.focus();\r\n }\r\n },\r\n [showSearchInput],\r\n );\r\n\r\n useEffect(() => {\r\n setCurrentSelectedValue(value);\r\n }, [value]);\r\n\r\n const showPlaceholder = currentSelectedValue === undefined || currentSelectedValue === \"\";\r\n\r\n return (\r\n <Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen}>\r\n <PopoverTrigger asChild>\r\n <Button\r\n variant=\"text\"\r\n role=\"combobox\"\r\n type=\"button\"\r\n aria-expanded={isPopoverOpen}\r\n className={cn(\r\n \"group flex h-8 w-full items-center justify-between whitespace-nowrap overflow-hidden rounded-sm border border-input bg-transparent px-3 py-1.5 text-sm ring-offset-background data-[placeholder]:text-muted-foreground hover:border hover:border-primary hover:bg-transparent focus:border focus:border-primary focus:outline-none focus:ring focus:ring-primary-100 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-text-300 disabled:border-gray-100 [&_svg]:disabled:text-text-300\",\r\n className,\r\n )}\r\n data-value={currentSelectedValue}\r\n data-placeholder={showPlaceholder ? \"\" : undefined}\r\n loading={loading}\r\n disabled={disabled}\r\n endIcon={\r\n <ChevronDown\r\n role=\"button\"\r\n aria-label=\"Expand dropdown\"\r\n className=\"!h-4.5 !w-4.5 cursor-pointer group-data-[state=open]:rotate-180 transition-transform ms-auto\"\r\n />\r\n }\r\n {...props}\r\n >\r\n <span className=\"text-start text-ellipsis whitespace-nowrap overflow-hidden flex-1 max-w-[calc(100%-24px)]\">\r\n {!showPlaceholder ? options.find(option => option.value === currentSelectedValue)?.label : loading ? loadingText : placeholder}\r\n </span>\r\n {clearable && currentSelectedValue !== undefined && currentSelectedValue !== null ? (\r\n <span\r\n onClick={handleClear}\r\n className=\"p-0 rounded-sm text-xs font-normal transition-colors focus-visible:outline-none disabled:pointer-events-none disabled:bg-muted disabled:text-gray-500 text-primary hover:bg-primary-50 focus:bg-transparent focus:ring active:bg-primary-50 active:text-primary-700 [&>svg]:h-4.5 [&>svg]:w-4.5\"\r\n role=\"button\"\r\n aria-label=\"Clear selection\"\r\n >\r\n <XMark />\r\n </span>\r\n ) : null}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-auto p-0\" align=\"start\" onEscapeKeyDown={() => setIsPopoverOpen(false)} onOpenAutoFocus={handleOpenAutoFocus}>\r\n <Command\r\n className=\"w-[--radix-popper-anchor-width] focus-visible:outline-none\"\r\n filter={handleFilter}\r\n defaultValue={currentSelectedValue !== undefined && currentSelectedValue !== null ? String(currentSelectedValue) : undefined} // highlight selected value on open\r\n ref={commandRef}\r\n >\r\n {showSearchInput && <CommandInput placeholder={searchText} onKeyDown={handleInputKeyDown} />}\r\n <CommandList>\r\n {!loading && <CommandEmpty>{noResultsText}</CommandEmpty>}\r\n {!loading && !options.length ? (\r\n <CommandItem value=\"8fdcaeb67c8ad943c80fe54c3b1059b700d9254389a38a4a1fc39a6eee7564623\" disabled>\r\n {emptyOptionsText}\r\n </CommandItem>\r\n ) : null}\r\n <CommandGroup>\r\n {options.map(option => (\r\n <CommandItem\r\n key={String(option.value)}\r\n value={option.value}\r\n keywords={[option.label]}\r\n onSelect={handleSelect as React.ComponentProps<typeof CommandItem>[\"onSelect\"]}\r\n >\r\n {option.label}\r\n <Check className={cn(\"ml-auto\", currentSelectedValue === option.value ? \"opacity-100\" : \"opacity-0\")} />\r\n </CommandItem>\r\n ))}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n );\r\n};\r\nexport { Combobox, type ComboboxProps };\r\n"],"names":["Combobox","onValueChange","options","value","className","clearable","closeOnSelect","loading","disabled","placeholder","searchText","noResultsText","loadingText","emptyOptionsText","showSearchInput","props","isPopoverOpen","setIsPopoverOpen","React","commandRef","useRef","currentSelectedValue","setCurrentSelectedValue","handleInputKeyDown","event","handleSelect","currentValue","handleClear","handleFilter","search","keywords","handleOpenAutoFocus","useEffect","showPlaceholder","jsxs","Popover","jsx","PopoverTrigger","Button","cn","ChevronDown","option","XMark","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandItem","CommandGroup","Check"],"mappings":"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"}
1
+ {"version":3,"file":"combobox.es.js","sources":["../src/components/combobox/Combobox.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { useEffect, useRef } from \"react\";\r\nimport { Check, ChevronDown, XMark } from \"@trsys-tech/matrix-icons\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Button } from \"../button/Button\";\r\nimport { Popover, PopoverContent, PopoverTrigger } from \"../popover/Popover\";\r\nimport { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from \"../command/Command\";\r\n\r\ntype ComboboxProps<T extends string | number> = React.HTMLAttributes<HTMLButtonElement> & {\r\n /**\r\n * The options to display in the combobox.\r\n * Each option should have a label and a value.\r\n * The label is what is displayed in the combobox.\r\n * The value is what is returned when the option is selected.\r\n */\r\n options: { label: string; value: T }[];\r\n\r\n /**\r\n * The value of the combobox.\r\n */\r\n value?: T;\r\n\r\n /**\r\n * A function that is called when the value of the combobox changes.\r\n */\r\n onValueChange?: (value: T) => void;\r\n\r\n /**\r\n * Placeholder text to be displayed when no values are selected.\r\n * @default \"Select an option\"\r\n */\r\n placeholder?: string;\r\n\r\n /**\r\n * The modality of the popover. When set to true, interaction with outside elements\r\n * will be disabled and only popover content will be visible to screen readers.\r\n * Optional\r\n * @default false\r\n */\r\n modalPopover?: boolean;\r\n\r\n /**\r\n * The text to display in the search input.\r\n * @default \"Search...\"\r\n */\r\n searchText?: string;\r\n\r\n /**\r\n * The text to display when no results are found.\r\n * @default \"No results found\"\r\n */\r\n noResultsText?: string;\r\n\r\n /**\r\n * Whether the popover should close when an option is selected.\r\n * @default true\r\n */\r\n closeOnSelect?: boolean;\r\n\r\n /**\r\n * Whether the combobox is loading.\r\n * @default false\r\n */\r\n loading?: boolean;\r\n\r\n /**\r\n * Whether the combobox is disabled.\r\n * @default false\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * The text to display when the combobox is loading.\r\n * @default \"Loading...\"\r\n */\r\n loadingText?: string;\r\n\r\n /**\r\n * The text to display when there are no options.\r\n * @default \"No Items\"\r\n */\r\n emptyOptionsText?: string;\r\n\r\n /**\r\n * Whether to show the search input.\r\n * @default true\r\n */\r\n showSearchInput?: boolean;\r\n\r\n /**\r\n * Whether to show the clear button.\r\n * @default false\r\n */\r\n clearable?: boolean;\r\n};\r\n\r\nconst Combobox = <T extends string | number>({\r\n onValueChange,\r\n options,\r\n value,\r\n className,\r\n clearable = false,\r\n closeOnSelect = true,\r\n loading,\r\n disabled,\r\n placeholder = \"Select an option\",\r\n searchText = \"Search...\",\r\n noResultsText = \"No results found\",\r\n loadingText = \"Loading...\",\r\n emptyOptionsText = \"No Items\",\r\n showSearchInput = true,\r\n modalPopover,\r\n ...props\r\n}: ComboboxProps<T>) => {\r\n const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);\r\n const commandRef = useRef<HTMLDivElement>(null);\r\n\r\n const [currentSelectedValue, setCurrentSelectedValue] = React.useState<T | undefined>(value);\r\n\r\n const handleInputKeyDown = React.useCallback(\r\n (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (event.key === \"Enter\") {\r\n setIsPopoverOpen(true);\r\n } else if (event.key === \"Backspace\" && !event.currentTarget.value) {\r\n setCurrentSelectedValue(currentSelectedValue);\r\n onValueChange?.(currentSelectedValue!);\r\n if (closeOnSelect) setIsPopoverOpen(false);\r\n }\r\n },\r\n [currentSelectedValue, onValueChange, closeOnSelect],\r\n );\r\n\r\n const handleSelect = React.useCallback(\r\n (currentValue: T) => {\r\n setCurrentSelectedValue(currentValue);\r\n onValueChange?.(currentValue);\r\n if (closeOnSelect) setIsPopoverOpen(false);\r\n },\r\n [onValueChange, closeOnSelect],\r\n );\r\n\r\n const handleClear = React.useCallback(\r\n (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n onValueChange?.(undefined as unknown as T);\r\n setCurrentSelectedValue(undefined);\r\n },\r\n [onValueChange],\r\n );\r\n\r\n const handleFilter = React.useCallback((value: string, search: string, keywords: string[] = [\"\"]) => {\r\n return keywords.join(\"\").toLocaleLowerCase().includes(search.toLocaleLowerCase()) ? 1 : 0;\r\n }, []);\r\n\r\n // when search input is not shown, we need to focus on the command manually to enable keyboard navigation\r\n const handleOpenAutoFocus = React.useCallback(\r\n (e: Event) => {\r\n if (!showSearchInput) {\r\n e.preventDefault();\r\n commandRef.current?.focus();\r\n }\r\n },\r\n [showSearchInput],\r\n );\r\n\r\n useEffect(() => {\r\n setCurrentSelectedValue(value);\r\n }, [value]);\r\n\r\n const showPlaceholder = currentSelectedValue === undefined || currentSelectedValue === \"\";\r\n\r\n return (\r\n <Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen} modal={modalPopover}>\r\n <PopoverTrigger asChild>\r\n <Button\r\n variant=\"text\"\r\n role=\"combobox\"\r\n type=\"button\"\r\n aria-expanded={isPopoverOpen}\r\n className={cn(\r\n \"group flex h-8 w-full items-center justify-between whitespace-nowrap overflow-hidden rounded-sm border border-input bg-transparent px-3 py-1.5 text-sm ring-offset-background data-[placeholder]:text-muted-foreground hover:border hover:border-primary hover:bg-transparent focus:border focus:border-primary focus:outline-none focus:ring focus:ring-primary-100 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-text-300 disabled:border-gray-100 [&_svg]:disabled:text-text-300\",\r\n className,\r\n )}\r\n data-value={currentSelectedValue}\r\n data-placeholder={showPlaceholder ? \"\" : undefined}\r\n loading={loading}\r\n disabled={disabled}\r\n endIcon={\r\n <ChevronDown\r\n role=\"button\"\r\n aria-label=\"Expand dropdown\"\r\n className=\"!h-4.5 !w-4.5 cursor-pointer group-data-[state=open]:rotate-180 transition-transform ms-auto\"\r\n />\r\n }\r\n {...props}\r\n >\r\n <span className=\"text-start text-ellipsis whitespace-nowrap overflow-hidden flex-1 max-w-[calc(100%-24px)]\">\r\n {!showPlaceholder ? options.find(option => option.value === currentSelectedValue)?.label : loading ? loadingText : placeholder}\r\n </span>\r\n {clearable && currentSelectedValue !== undefined && currentSelectedValue !== null ? (\r\n <span\r\n onClick={handleClear}\r\n className=\"p-0 rounded-sm text-xs font-normal transition-colors focus-visible:outline-none disabled:pointer-events-none disabled:bg-muted disabled:text-gray-500 text-primary hover:bg-primary-50 focus:bg-transparent focus:ring active:bg-primary-50 active:text-primary-700 [&>svg]:h-4.5 [&>svg]:w-4.5\"\r\n role=\"button\"\r\n aria-label=\"Clear selection\"\r\n >\r\n <XMark />\r\n </span>\r\n ) : null}\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-auto p-0\" align=\"start\" onEscapeKeyDown={() => setIsPopoverOpen(false)} onOpenAutoFocus={handleOpenAutoFocus}>\r\n <Command\r\n className=\"w-[--radix-popper-anchor-width] focus-visible:outline-none\"\r\n filter={handleFilter}\r\n defaultValue={currentSelectedValue !== undefined && currentSelectedValue !== null ? String(currentSelectedValue) : undefined} // highlight selected value on open\r\n ref={commandRef}\r\n >\r\n {showSearchInput && <CommandInput placeholder={searchText} onKeyDown={handleInputKeyDown} />}\r\n <CommandList>\r\n {!loading && <CommandEmpty>{noResultsText}</CommandEmpty>}\r\n {!loading && !options.length ? (\r\n <CommandItem value=\"8fdcaeb67c8ad943c80fe54c3b1059b700d9254389a38a4a1fc39a6eee7564623\" disabled>\r\n {emptyOptionsText}\r\n </CommandItem>\r\n ) : null}\r\n <CommandGroup>\r\n {options.map(option => (\r\n <CommandItem\r\n key={String(option.value)}\r\n value={option.value}\r\n keywords={[option.label]}\r\n onSelect={handleSelect as React.ComponentProps<typeof CommandItem>[\"onSelect\"]}\r\n >\r\n {option.label}\r\n <Check className={cn(\"ml-auto\", currentSelectedValue === option.value ? \"opacity-100\" : \"opacity-0\")} />\r\n </CommandItem>\r\n ))}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n </Popover>\r\n );\r\n};\r\nexport { Combobox, type ComboboxProps };\r\n"],"names":["Combobox","onValueChange","options","value","className","clearable","closeOnSelect","loading","disabled","placeholder","searchText","noResultsText","loadingText","emptyOptionsText","showSearchInput","modalPopover","props","isPopoverOpen","setIsPopoverOpen","React","commandRef","useRef","currentSelectedValue","setCurrentSelectedValue","handleInputKeyDown","event","handleSelect","currentValue","handleClear","handleFilter","search","keywords","handleOpenAutoFocus","useEffect","showPlaceholder","Popover","jsx","PopoverTrigger","jsxs","Button","cn","ChevronDown","option","XMark","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandItem","CommandGroup","Check"],"mappings":";;;;;;;AAkGA,MAAMA,KAAW,CAA4B;AAAA,EAC3C,eAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,eAAAC,IAAgB;AAAA,EAChB,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,YAAAC,IAAa;AAAA,EACb,eAAAC,IAAgB;AAAA,EAChB,aAAAC,IAAc;AAAA,EACd,kBAAAC,IAAmB;AAAA,EACnB,iBAAAC,IAAkB;AAAA,EAClB,cAAAC;AAAA,EACA,GAAGC;AACL,MAAwB;AACtB,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAM,SAAS,EAAK,GACxDC,IAAaC,EAAuB,IAAI,GAExC,CAACC,GAAsBC,CAAuB,IAAIJ,EAAM,SAAwBhB,CAAK,GAErFqB,IAAqBL,EAAM;AAAA,IAC/B,CAACM,MAAiD;AAC5C,MAAAA,EAAM,QAAQ,UAChBP,EAAiB,EAAI,IACZO,EAAM,QAAQ,eAAe,CAACA,EAAM,cAAc,UAC3DF,EAAwBD,CAAoB,GAC5CrB,IAAgBqB,CAAqB,GACjChB,OAAgC,EAAK;AAAA,IAE7C;AAAA,IACA,CAACgB,GAAsBrB,GAAeK,CAAa;AAAA,EACrD,GAEMoB,IAAeP,EAAM;AAAA,IACzB,CAACQ,MAAoB;AACnB,MAAAJ,EAAwBI,CAAY,GACpC1B,IAAgB0B,CAAY,GACxBrB,OAAgC,EAAK;AAAA,IAC3C;AAAA,IACA,CAACL,GAAeK,CAAa;AAAA,EAC/B,GAEMsB,IAAcT,EAAM;AAAA,IACxB,CAAC,MAAwB;AACvB,QAAE,gBAAgB,GAClBlB,IAAgB,MAAyB,GACzCsB,EAAwB,MAAS;AAAA,IACnC;AAAA,IACA,CAACtB,CAAa;AAAA,EAChB,GAEM4B,IAAeV,EAAM,YAAY,CAAChB,GAAe2B,GAAgBC,IAAqB,CAAC,EAAE,MACtFA,EAAS,KAAK,EAAE,EAAE,kBAAA,EAAoB,SAASD,EAAO,mBAAmB,IAAI,IAAI,GACvF,EAAE,GAGCE,IAAsBb,EAAM;AAAA,IAChC,CAAC,MAAa;AACZ,MAAKL,MACH,EAAE,eAAe,GACjBM,EAAW,SAAS,MAAM;AAAA,IAE9B;AAAA,IACA,CAACN,CAAe;AAAA,EAClB;AAEA,EAAAmB,EAAU,MAAM;AACd,IAAAV,EAAwBpB,CAAK;AAAA,EAAA,GAC5B,CAACA,CAAK,CAAC;AAEJ,QAAA+B,IAAkBZ,MAAyB,UAAaA,MAAyB;AAEvF,2BACGa,GAAQ,EAAA,MAAMlB,GAAe,cAAcC,GAAkB,OAAOH,GACnE,UAAA;AAAA,IAAC,gBAAAqB,EAAAC,GAAA,EAAe,SAAO,IACrB,UAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,MAAK;AAAA,QACL,iBAAetB;AAAA,QACf,WAAWuB;AAAA,UACT;AAAA,UACApC;AAAA,QACF;AAAA,QACA,cAAYkB;AAAA,QACZ,oBAAkBY,IAAkB,KAAK;AAAA,QACzC,SAAA3B;AAAA,QACA,UAAAC;AAAA,QACA,SACE,gBAAA4B;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,cAAW;AAAA,YACX,WAAU;AAAA,UAAA;AAAA,QACZ;AAAA,QAED,GAAGzB;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAoB,EAAC,QAAK,EAAA,WAAU,6FACb,UAACF,IAAyF3B,IAAUK,IAAcH,IAA/FP,EAAQ,KAAK,CAAUwC,MAAAA,EAAO,UAAUpB,CAAoB,GAAG,OACrF;AAAA,UACCjB,KAAaiB,MAAyB,UAAaA,MAAyB,OAC3E,gBAAAc;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,SAASR;AAAA,cACT,WAAU;AAAA,cACV,MAAK;AAAA,cACL,cAAW;AAAA,cAEX,4BAACe,GAAM,CAAA,CAAA;AAAA,YAAA;AAAA,UAAA,IAEP;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,GAER;AAAA,IACC,gBAAAP,EAAAQ,GAAA,EAAe,WAAU,cAAa,OAAM,SAAQ,iBAAiB,MAAM1B,EAAiB,EAAK,GAAG,iBAAiBc,GACpH,UAAA,gBAAAM;AAAA,MAACO;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,QAAQhB;AAAA,QACR,cAAoDP,KAAyB,OAAO,OAAOA,CAAoB,IAAI;AAAA,QACnH,KAAKF;AAAA,QAEJ,UAAA;AAAA,UAAAN,KAAoB,gBAAAsB,EAAAU,GAAA,EAAa,aAAapC,GAAY,WAAWc,GAAoB;AAAA,4BACzFuB,GACE,EAAA,UAAA;AAAA,YAAC,CAAAxC,KAAY,gBAAA6B,EAAAY,GAAA,EAAc,UAAcrC,EAAA,CAAA;AAAA,YACzC,CAACJ,KAAW,CAACL,EAAQ,SACpB,gBAAAkC,EAACa,GAAY,EAAA,OAAM,qEAAoE,UAAQ,IAC5F,UAAApC,EAAA,CACH,IACE;AAAA,YACH,gBAAAuB,EAAAc,GAAA,EACE,UAAQhD,EAAA,IAAI,CACXwC,MAAA,gBAAAJ;AAAA,cAACW;AAAA,cAAA;AAAA,gBAEC,OAAOP,EAAO;AAAA,gBACd,UAAU,CAACA,EAAO,KAAK;AAAA,gBACvB,UAAUhB;AAAA,gBAET,UAAA;AAAA,kBAAOgB,EAAA;AAAA,kBACR,gBAAAN,EAACe,GAAM,EAAA,WAAWX,EAAG,WAAWlB,MAAyBoB,EAAO,QAAQ,gBAAgB,WAAW,EAAG,CAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,cANjG,OAAOA,EAAO,KAAK;AAAA,YAAA,CAQ3B,EACH,CAAA;AAAA,UAAA,EACF,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,EAEJ,CAAA;AAAA,EAAA,GACF;AAEJ;"}
@@ -76,6 +76,6 @@ type ComboboxProps<T extends string | number> = React.HTMLAttributes<HTMLButtonE
76
76
  */
77
77
  clearable?: boolean;
78
78
  };
79
- declare const Combobox: <T extends string | number>({ onValueChange, options, value, className, clearable, closeOnSelect, loading, disabled, placeholder, searchText, noResultsText, loadingText, emptyOptionsText, showSearchInput, ...props }: ComboboxProps<T>) => import("react/jsx-runtime").JSX.Element;
79
+ declare const Combobox: <T extends string | number>({ onValueChange, options, value, className, clearable, closeOnSelect, loading, disabled, placeholder, searchText, noResultsText, loadingText, emptyOptionsText, showSearchInput, modalPopover, ...props }: ComboboxProps<T>) => import("react/jsx-runtime").JSX.Element;
80
80
  export { Combobox, type ComboboxProps };
81
81
  //# sourceMappingURL=Combobox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/Combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAQjD,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,GAAG;IACxF;;;;;OAKG;IACH,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,CAAA;KAAE,EAAE,CAAC;IAEvC;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC;IAEV;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAEnC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,+LAgBxC,aAAa,CAAC,CAAC,CAAC,4CAmIlB,CAAC;AACF,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/Combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAQjD,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,GAAG;IACxF;;;;;OAKG;IACH,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,CAAA;KAAE,EAAE,CAAC;IAEvC;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC;IAEV;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAEnC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,6MAiBxC,aAAa,CAAC,CAAC,CAAC,4CAmIlB,CAAC;AACF,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DesktopDatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/DesktopDatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAO3E,KAAK,sBAAsB,GAAG,SAAS,GACrC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEJ,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA+CvD,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"DesktopDatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/DesktopDatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAO3E,KAAK,sBAAsB,GAAG,SAAS,GACrC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEJ,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAkDvD,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DesktopDateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/DesktopDateRangePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQpE,KAAK,2BAA2B,GAAG,SAAS,GAC1C,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEJ,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CA+EjE,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,KAAK,2BAA2B,EAAE,CAAC"}
1
+ {"version":3,"file":"DesktopDateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/DesktopDateRangePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQpE,KAAK,2BAA2B,GAAG,SAAS,GAC1C,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEJ,QAAA,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAwFjE,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,KAAK,2BAA2B,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MobileDatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/MobileDatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAS1D,KAAK,qBAAqB,GAAG,SAAS,GACpC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEJ,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAqErD,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"MobileDatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/MobileDatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAS1D,KAAK,qBAAqB,GAAG,SAAS,GACpC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEJ,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA8ErD,CAAC;AAEF,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MobileDateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/MobileDateRangePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAmB,MAAM,kBAAkB,CAAC;AAOrF,KAAK,0BAA0B,GAAG,SAAS,GACzC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEJ,QAAA,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAoH/D,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,KAAK,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"MobileDateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/MobileDateRangePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAmB,MAAM,kBAAkB,CAAC;AAOrF,KAAK,0BAA0B,GAAG,SAAS,GACzC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEJ,QAAA,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA6H/D,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,KAAK,0BAA0B,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/calendar.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAsB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOtE,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,EAAE,CAAC;AAEhD,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,eAAsB,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,2CAiG3F;kBAjGQ,QAAQ;;;AAoGjB,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/calendar.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAsB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOtE,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,EAAE,CAAC;AAEhD,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,eAAsB,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,2CAqG3F;kBArGQ,QAAQ;;;AAwGjB,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -1,49 +1,52 @@
1
- import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
- import * as h from "react";
1
+ import { jsxs as t, jsx as r } from "react/jsx-runtime";
2
+ import * as g from "react";
3
3
  import { Calendar as x } from "@trsys-tech/matrix-icons";
4
- import { cn as v } from "./utils.es.js";
5
- import { Calendar as C } from "./calendar.es.js";
6
- import { Button as k } from "./button.es.js";
7
- import { Popover as w, PopoverTrigger as P, PopoverContent as D } from "./popover.es.js";
4
+ import { cn as w } from "./utils.es.js";
5
+ import { Calendar as v } from "./calendar.es.js";
6
+ import { Button as C } from "./button.es.js";
7
+ import { Popover as D, PopoverTrigger as k, PopoverContent as M } from "./popover.es.js";
8
8
  import { formatDate as n } from "./format.es.js";
9
- const L = ({
9
+ const I = ({
10
10
  formatStr: a,
11
- selected: r,
11
+ selected: e,
12
12
  placeholder: s,
13
13
  className: d,
14
14
  calendarClassName: i,
15
- closeOnSelect: p = !0,
16
- onDayClick: l,
15
+ closeOnSelect: l = !0,
16
+ onDayClick: p,
17
17
  disabled: m,
18
18
  ...c
19
19
  }) => {
20
- const [f, o] = h.useState(!1), u = (y, b, g) => {
21
- l?.(y, b, g), p && o(!1);
20
+ const [f, o] = g.useState(!1), u = (y, b, h) => {
21
+ p?.(y, b, h), l && o(!1);
22
22
  };
23
- return /* @__PURE__ */ t(w, { open: f, onOpenChange: o, children: [
24
- /* @__PURE__ */ e(P, { asChild: !0, children: /* @__PURE__ */ t(
25
- k,
23
+ return /* @__PURE__ */ t(D, { open: f, onOpenChange: o, children: [
24
+ /* @__PURE__ */ r(k, { asChild: !0, children: /* @__PURE__ */ t(
25
+ C,
26
26
  {
27
27
  variant: "text",
28
- className: v(
28
+ className: w(
29
29
  "flex h-8 w-full items-center justify-between whitespace-nowrap rounded-sm border border-input bg-transparent ps-3 pe-1 py-1.5 text-sm ring-offset-background data-[placeholder]:text-muted-foreground hover:border hover:border-primary hover:bg-transparent focus:border focus:border-primary focus:outline-none focus:ring focus:ring-primary-100 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-text-300 disabled:border-gray-100 [&>span]:line-clamp-1 [&_svg]:disabled:text-text-300",
30
30
  d
31
31
  ),
32
- "data-placeholder": r ? void 0 : "",
33
- "aria-label": r ? `Selected date: ${n(r, a ?? "yyyy/MM/dd")}` : "Pick a date",
32
+ "data-placeholder": e ? void 0 : "",
33
+ "aria-label": e ? `Selected date: ${n(e, a ?? "yyyy/MM/dd")}` : "Pick a date",
34
34
  disabled: m,
35
35
  children: [
36
- r ? n(r, a ?? "yyyy/MM/dd") : /* @__PURE__ */ e("span", { children: s ?? "Pick a date" }),
37
- /* @__PURE__ */ e(x, { className: "mr-2 ms-auto" })
36
+ e ? n(e, a ?? "yyyy/MM/dd") : /* @__PURE__ */ r("span", { children: s ?? "Pick a date" }),
37
+ /* @__PURE__ */ r(x, { className: "mr-2 ms-auto" })
38
38
  ]
39
39
  }
40
40
  ) }),
41
- /* @__PURE__ */ e(D, { className: "w-auto p-0", children: /* @__PURE__ */ e(
42
- C,
41
+ /* @__PURE__ */ r(M, { className: "w-auto p-0", children: /* @__PURE__ */ r(
42
+ v,
43
43
  {
44
+ defaultMonth: e,
45
+ startMonth: new Date(2e3, 0, 1),
46
+ endMonth: new Date((/* @__PURE__ */ new Date()).getFullYear() + 2, 11, 31),
44
47
  ...c,
45
48
  mode: "single",
46
- selected: r,
49
+ selected: e,
47
50
  captionLayout: "dropdown-years",
48
51
  className: i,
49
52
  onDayClick: u
@@ -52,6 +55,6 @@ const L = ({
52
55
  ] });
53
56
  };
54
57
  export {
55
- L as DesktopDatePicker
58
+ I as DesktopDatePicker
56
59
  };
57
60
  //# sourceMappingURL=desktopdatepicker.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"desktopdatepicker.es.js","sources":["../src/components/date-picker/DesktopDatePicker.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport { Calendar as CalendarIcon } from \"@trsys-tech/matrix-icons\";\r\nimport { PropsBase, PropsSingle, DayEventHandler } from \"react-day-picker\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Calendar } from \"./calendar\";\r\nimport { Button } from \"../button/Button\";\r\nimport { Popover, PopoverContent, PopoverTrigger } from \"../popover/Popover\";\r\n\r\ntype DesktopDatePickerProps = PropsBase &\r\n Omit<PropsSingle, \"mode\"> & {\r\n formatStr?: string;\r\n placeholder?: string;\r\n calendarClassName?: string;\r\n selected?: Date;\r\n required?: boolean;\r\n closeOnSelect?: boolean;\r\n disabled?: boolean;\r\n };\r\n\r\nconst DesktopDatePicker: React.FC<DesktopDatePickerProps> = ({\r\n formatStr,\r\n selected,\r\n placeholder,\r\n className,\r\n calendarClassName,\r\n closeOnSelect = true,\r\n onDayClick,\r\n disabled,\r\n ...props\r\n}) => {\r\n const [isOpen, setIsOpen] = React.useState(false);\r\n\r\n const handleDayClick: DayEventHandler<React.MouseEvent<Element, MouseEvent>> = (date, modifiers, e) => {\r\n onDayClick?.(date, modifiers, e);\r\n if (closeOnSelect) setIsOpen(false);\r\n };\r\n\r\n return (\r\n <Popover open={isOpen} onOpenChange={setIsOpen}>\r\n <PopoverTrigger asChild>\r\n <Button\r\n variant=\"text\"\r\n className={cn(\r\n \"flex h-8 w-full items-center justify-between whitespace-nowrap rounded-sm border border-input bg-transparent ps-3 pe-1 py-1.5 text-sm ring-offset-background data-[placeholder]:text-muted-foreground hover:border hover:border-primary hover:bg-transparent focus:border focus:border-primary focus:outline-none focus:ring focus:ring-primary-100 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-text-300 disabled:border-gray-100 [&>span]:line-clamp-1 [&_svg]:disabled:text-text-300\",\r\n className,\r\n )}\r\n data-placeholder={!selected ? \"\" : undefined}\r\n aria-label={selected ? `Selected date: ${format(selected, formatStr ?? \"yyyy/MM/dd\")}` : \"Pick a date\"}\r\n disabled={disabled}\r\n >\r\n {selected ? format(selected, formatStr ?? \"yyyy/MM/dd\") : <span>{placeholder ?? \"Pick a date\"}</span>}\r\n <CalendarIcon className=\"mr-2 ms-auto\" />\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-auto p-0\">\r\n <Calendar\r\n {...props}\r\n mode=\"single\"\r\n selected={selected}\r\n captionLayout=\"dropdown-years\"\r\n className={calendarClassName}\r\n onDayClick={handleDayClick}\r\n />\r\n </PopoverContent>\r\n </Popover>\r\n );\r\n};\r\n\r\nexport { DesktopDatePicker, type DesktopDatePickerProps };\r\n"],"names":["DesktopDatePicker","formatStr","selected","placeholder","className","calendarClassName","closeOnSelect","onDayClick","disabled","props","isOpen","setIsOpen","React","handleDayClick","date","modifiers","e","jsxs","Popover","jsx","PopoverTrigger","Button","cn","format","CalendarIcon","PopoverContent","Calendar"],"mappings":";;;;;;;;AAuBA,MAAMA,IAAsD,CAAC;AAAA,EAC3D,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAM,SAAS,EAAK,GAE1CC,IAAyE,CAACC,GAAMC,GAAWC,MAAM;AACxF,IAAAT,IAAAO,GAAMC,GAAWC,CAAC,GAC3BV,OAAyB,EAAK;AAAA,EACpC;AAEA,SACG,gBAAAW,EAAAC,GAAA,EAAQ,MAAMR,GAAQ,cAAcC,GACnC,UAAA;AAAA,IAAC,gBAAAQ,EAAAC,GAAA,EAAe,SAAO,IACrB,UAAA,gBAAAH;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,WAAWC;AAAA,UACT;AAAA,UACAlB;AAAA,QACF;AAAA,QACA,oBAAmBF,IAAgB,SAAL;AAAA,QAC9B,cAAYA,IAAW,kBAAkBqB,EAAOrB,GAAUD,KAAa,YAAY,CAAC,KAAK;AAAA,QACzF,UAAAO;AAAA,QAEC,UAAA;AAAA,UAAWN,IAAAqB,EAAOrB,GAAUD,KAAa,YAAY,IAAK,gBAAAkB,EAAA,QAAA,EAAM,eAAe,cAAc,CAAA;AAAA,UAC9F,gBAAAA,EAACK,GAAa,EAAA,WAAU,eAAe,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,GAE3C;AAAA,IACA,gBAAAL,EAACM,GAAe,EAAA,WAAU,cACxB,UAAA,gBAAAN;AAAA,MAACO;AAAAA,MAAA;AAAA,QACE,GAAGjB;AAAA,QACJ,MAAK;AAAA,QACL,UAAAP;AAAA,QACA,eAAc;AAAA,QACd,WAAWG;AAAA,QACX,YAAYQ;AAAA,MAAA;AAAA,IAAA,EAEhB,CAAA;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"desktopdatepicker.es.js","sources":["../src/components/date-picker/DesktopDatePicker.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport { Calendar as CalendarIcon } from \"@trsys-tech/matrix-icons\";\r\nimport { PropsBase, PropsSingle, DayEventHandler } from \"react-day-picker\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Calendar } from \"./calendar\";\r\nimport { Button } from \"../button/Button\";\r\nimport { Popover, PopoverContent, PopoverTrigger } from \"../popover/Popover\";\r\n\r\ntype DesktopDatePickerProps = PropsBase &\r\n Omit<PropsSingle, \"mode\"> & {\r\n formatStr?: string;\r\n placeholder?: string;\r\n calendarClassName?: string;\r\n selected?: Date;\r\n required?: boolean;\r\n closeOnSelect?: boolean;\r\n disabled?: boolean;\r\n };\r\n\r\nconst DesktopDatePicker: React.FC<DesktopDatePickerProps> = ({\r\n formatStr,\r\n selected,\r\n placeholder,\r\n className,\r\n calendarClassName,\r\n closeOnSelect = true,\r\n onDayClick,\r\n disabled,\r\n ...props\r\n}) => {\r\n const [isOpen, setIsOpen] = React.useState(false);\r\n\r\n const handleDayClick: DayEventHandler<React.MouseEvent<Element, MouseEvent>> = (date, modifiers, e) => {\r\n onDayClick?.(date, modifiers, e);\r\n if (closeOnSelect) setIsOpen(false);\r\n };\r\n\r\n return (\r\n <Popover open={isOpen} onOpenChange={setIsOpen}>\r\n <PopoverTrigger asChild>\r\n <Button\r\n variant=\"text\"\r\n className={cn(\r\n \"flex h-8 w-full items-center justify-between whitespace-nowrap rounded-sm border border-input bg-transparent ps-3 pe-1 py-1.5 text-sm ring-offset-background data-[placeholder]:text-muted-foreground hover:border hover:border-primary hover:bg-transparent focus:border focus:border-primary focus:outline-none focus:ring focus:ring-primary-100 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-text-300 disabled:border-gray-100 [&>span]:line-clamp-1 [&_svg]:disabled:text-text-300\",\r\n className,\r\n )}\r\n data-placeholder={!selected ? \"\" : undefined}\r\n aria-label={selected ? `Selected date: ${format(selected, formatStr ?? \"yyyy/MM/dd\")}` : \"Pick a date\"}\r\n disabled={disabled}\r\n >\r\n {selected ? format(selected, formatStr ?? \"yyyy/MM/dd\") : <span>{placeholder ?? \"Pick a date\"}</span>}\r\n <CalendarIcon className=\"mr-2 ms-auto\" />\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-auto p-0\">\r\n <Calendar\r\n defaultMonth={selected}\r\n startMonth={new Date(2000, 0, 1)}\r\n endMonth={new Date(new Date().getFullYear() + 2, 11, 31)}\r\n {...props}\r\n mode=\"single\"\r\n selected={selected}\r\n captionLayout=\"dropdown-years\"\r\n className={calendarClassName}\r\n onDayClick={handleDayClick}\r\n />\r\n </PopoverContent>\r\n </Popover>\r\n );\r\n};\r\n\r\nexport { DesktopDatePicker, type DesktopDatePickerProps };\r\n"],"names":["DesktopDatePicker","formatStr","selected","placeholder","className","calendarClassName","closeOnSelect","onDayClick","disabled","props","isOpen","setIsOpen","React","handleDayClick","date","modifiers","e","jsxs","Popover","jsx","PopoverTrigger","Button","cn","format","CalendarIcon","PopoverContent","Calendar"],"mappings":";;;;;;;;AAuBA,MAAMA,IAAsD,CAAC;AAAA,EAC3D,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAM,SAAS,EAAK,GAE1CC,IAAyE,CAACC,GAAMC,GAAWC,MAAM;AACxF,IAAAT,IAAAO,GAAMC,GAAWC,CAAC,GAC3BV,OAAyB,EAAK;AAAA,EACpC;AAEA,SACG,gBAAAW,EAAAC,GAAA,EAAQ,MAAMR,GAAQ,cAAcC,GACnC,UAAA;AAAA,IAAC,gBAAAQ,EAAAC,GAAA,EAAe,SAAO,IACrB,UAAA,gBAAAH;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,WAAWC;AAAA,UACT;AAAA,UACAlB;AAAA,QACF;AAAA,QACA,oBAAmBF,IAAgB,SAAL;AAAA,QAC9B,cAAYA,IAAW,kBAAkBqB,EAAOrB,GAAUD,KAAa,YAAY,CAAC,KAAK;AAAA,QACzF,UAAAO;AAAA,QAEC,UAAA;AAAA,UAAWN,IAAAqB,EAAOrB,GAAUD,KAAa,YAAY,IAAK,gBAAAkB,EAAA,QAAA,EAAM,eAAe,cAAc,CAAA;AAAA,UAC9F,gBAAAA,EAACK,GAAa,EAAA,WAAU,eAAe,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,GAE3C;AAAA,IACA,gBAAAL,EAACM,GAAe,EAAA,WAAU,cACxB,UAAA,gBAAAN;AAAA,MAACO;AAAAA,MAAA;AAAA,QACC,cAAcxB;AAAA,QACd,YAAY,IAAI,KAAK,KAAM,GAAG,CAAC;AAAA,QAC/B,UAAU,IAAI,MAAS,oBAAA,KAAA,GAAO,gBAAgB,GAAG,IAAI,EAAE;AAAA,QACtD,GAAGO;AAAA,QACJ,MAAK;AAAA,QACL,UAAAP;AAAA,QACA,eAAc;AAAA,QACd,WAAWG;AAAA,QACX,YAAYQ;AAAA,MAAA;AAAA,IAAA,EAEhB,CAAA;AAAA,EAAA,GACF;AAEJ;"}
@@ -1,10 +1,10 @@
1
1
  import { jsxs as o, jsx as a } from "react/jsx-runtime";
2
- import * as g from "react";
3
- import { Calendar as b } from "@trsys-tech/matrix-icons";
2
+ import * as h from "react";
3
+ import { Calendar as c } from "@trsys-tech/matrix-icons";
4
4
  import { cn as i } from "./utils.es.js";
5
- import { Calendar as h } from "./calendar.es.js";
5
+ import { Calendar as b } from "./calendar.es.js";
6
6
  import { Button as x } from "./button.es.js";
7
- import { Popover as v, PopoverTrigger as w, PopoverContent as M } from "./popover.es.js";
7
+ import { Popover as w, PopoverTrigger as M, PopoverContent as v } from "./popover.es.js";
8
8
  import { formatDate as t } from "./format.es.js";
9
9
  const R = ({
10
10
  formatStr: e,
@@ -17,16 +17,16 @@ const R = ({
17
17
  disabled: l,
18
18
  ...f
19
19
  }) => {
20
- const [y, u] = g.useState(!1);
20
+ const [u, y] = h.useState(!1);
21
21
  return /* @__PURE__ */ o(
22
- v,
22
+ w,
23
23
  {
24
- open: y,
25
- onOpenChange: (c) => {
26
- u(c);
24
+ open: u,
25
+ onOpenChange: (g) => {
26
+ y(g);
27
27
  },
28
28
  children: [
29
- /* @__PURE__ */ a(w, { asChild: !0, children: /* @__PURE__ */ o(
29
+ /* @__PURE__ */ a(M, { asChild: !0, children: /* @__PURE__ */ o(
30
30
  x,
31
31
  {
32
32
  variant: "text",
@@ -51,11 +51,23 @@ const R = ({
51
51
  r?.to ? t(r.to, e ?? "yyyy/MM/dd") : "-"
52
52
  ] })
53
53
  ] }) : /* @__PURE__ */ a("span", { children: n ?? "Pick a Range" }),
54
- /* @__PURE__ */ a(b, { className: "mr-2 h-5 w-4 ms-auto" })
54
+ /* @__PURE__ */ a(c, { className: "mr-2 h-5 w-4 ms-auto" })
55
55
  ]
56
56
  }
57
57
  ) }),
58
- /* @__PURE__ */ a(M, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ a(h, { ...f, mode: "range", selected: r, className: i(d, "md:max-w-full md:w-[36rem]"), numberOfMonths: 2 }) })
58
+ /* @__PURE__ */ a(v, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ a(
59
+ b,
60
+ {
61
+ defaultMonth: r?.from,
62
+ startMonth: new Date(2e3, 0, 1),
63
+ endMonth: new Date((/* @__PURE__ */ new Date()).getFullYear() + 2, 11, 31),
64
+ ...f,
65
+ mode: "range",
66
+ selected: r,
67
+ className: i(d, "md:max-w-full md:w-[36rem]"),
68
+ numberOfMonths: 2
69
+ }
70
+ ) })
59
71
  ]
60
72
  }
61
73
  );
@@ -1 +1 @@
1
- {"version":3,"file":"desktopdaterangepicker.es.js","sources":["../src/components/date-picker/DesktopDateRangePicker.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport { PropsBase, PropsRange, DateRange } from \"react-day-picker\";\r\nimport { Calendar as CalendarIcon } from \"@trsys-tech/matrix-icons\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Calendar } from \"./calendar\";\r\nimport { Button } from \"../button/Button\";\r\nimport { Popover, PopoverContent, PopoverTrigger } from \"../popover/Popover\";\r\n\r\ntype DesktopDateRangePickerProps = PropsBase &\r\n Omit<PropsRange, \"mode\"> & {\r\n formatStr?: string;\r\n placeholder?: string;\r\n calendarClassName?: string;\r\n selected?: DateRange;\r\n required?: boolean;\r\n fromText?: string;\r\n toText?: string;\r\n disabled?: boolean;\r\n };\r\n\r\nconst DesktopDateRangePicker: React.FC<DesktopDateRangePickerProps> = ({\r\n formatStr,\r\n selected,\r\n placeholder,\r\n className,\r\n calendarClassName,\r\n fromText,\r\n toText,\r\n disabled,\r\n ...props\r\n}) => {\r\n const [isOpen, setIsOpen] = React.useState(false);\r\n\r\n return (\r\n <Popover\r\n open={isOpen}\r\n onOpenChange={open => {\r\n setIsOpen(open);\r\n }}\r\n >\r\n <PopoverTrigger asChild>\r\n <Button\r\n variant=\"text\"\r\n className={cn(\r\n \"flex h-8 w-full items-center justify-between whitespace-nowrap rounded-sm border border-input bg-transparent ps-3 pe-1 py-1.5 text-sm ring-offset-background data-[placeholder]:text-muted-foreground hover:border hover:border-primary hover:bg-transparent focus:border focus:border-primary focus:outline-none focus:ring focus:ring-primary-100 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-text-300 disabled:border-gray-100 [&>span]:line-clamp-1 [&_svg]:disabled:text-text-300\",\r\n className,\r\n )}\r\n data-placeholder={!selected ? \"\" : undefined}\r\n aria-label={\r\n selected\r\n ? `Selected date: ${selected?.from ? format(selected.from, formatStr ?? \"yyyy/MM/dd\") : \"\"} - ${selected?.to ? format(selected.to, formatStr ?? \"yyyy/MM/dd\") : \"\"}`\r\n : placeholder\r\n }\r\n disabled={disabled}\r\n >\r\n {selected ? (\r\n <div className=\"grid grid-cols-2 flex-1 justify-items-start\">\r\n <span>\r\n {fromText ?? \"From\"}: {selected?.from ? format(selected.from, formatStr ?? \"yyyy/MM/dd\") : \"-\"}\r\n </span>{\" \"}\r\n <span>\r\n {toText ?? \"To\"}: {selected?.to ? format(selected.to, formatStr ?? \"yyyy/MM/dd\") : \"-\"}\r\n </span>\r\n </div>\r\n ) : (\r\n <span>{placeholder ?? \"Pick a Range\"}</span>\r\n )}\r\n <CalendarIcon className=\"mr-2 h-5 w-4 ms-auto\" />\r\n </Button>\r\n {/* <div className=\"flex gap-2\">\r\n <Button\r\n variant={\"outline\"}\r\n className={cn(\r\n \"border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start\",\r\n !selected && \"text-muted-foreground\",\r\n className,\r\n )}\r\n >\r\n {selected?.from ? format(selected.from, formatStr ?? \"yyyy/MM/dd\") : <span>{placeholder ?? \"From\"}</span>}\r\n <CalendarIcon className=\"mr-2 h-5 w-5 ms-auto\" />\r\n </Button>\r\n <Button\r\n variant={\"outline\"}\r\n className={cn(\r\n \"border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start\",\r\n !selected && \"text-muted-foreground\",\r\n className,\r\n )}\r\n >\r\n {selected?.to ? format(selected.to, formatStr ?? \"yyyy/MM/dd\") : <span>{placeholder ?? \"To\"}</span>}\r\n <CalendarIcon className=\"mr-2 h-5 w-5 ms-auto\" />\r\n </Button>\r\n </div> */}\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\r\n <Calendar {...props} mode=\"range\" selected={selected} className={cn(calendarClassName, \"md:max-w-full md:w-[36rem]\")} numberOfMonths={2} />\r\n </PopoverContent>\r\n </Popover>\r\n );\r\n};\r\n\r\nexport { DesktopDateRangePicker, type DesktopDateRangePickerProps };\r\n"],"names":["DesktopDateRangePicker","formatStr","selected","placeholder","className","calendarClassName","fromText","toText","disabled","props","isOpen","setIsOpen","React","jsxs","Popover","open","jsx","PopoverTrigger","Button","cn","format","CalendarIcon","PopoverContent","Calendar"],"mappings":";;;;;;;;AAwBA,MAAMA,IAAgE,CAAC;AAAA,EACrE,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAM,SAAS,EAAK;AAG9C,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMJ;AAAA,MACN,cAAc,CAAQK,MAAA;AACpB,QAAAJ,EAAUI,CAAI;AAAA,MAChB;AAAA,MAEA,UAAA;AAAA,QAAC,gBAAAC,EAAAC,GAAA,EAAe,SAAO,IACrB,UAAA,gBAAAJ;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,WAAWC;AAAA,cACT;AAAA,cACAf;AAAA,YACF;AAAA,YACA,oBAAmBF,IAAgB,SAAL;AAAA,YAC9B,cACEA,IACI,kBAAkBA,GAAU,OAAOkB,EAAOlB,EAAS,MAAMD,KAAa,YAAY,IAAI,EAAE,MAAMC,GAAU,KAAKkB,EAAOlB,EAAS,IAAID,KAAa,YAAY,IAAI,EAAE,KAChKE;AAAA,YAEN,UAAAK;AAAA,YAEC,UAAA;AAAA,cACCN,IAAA,gBAAAW,EAAC,OAAI,EAAA,WAAU,+CACb,UAAA;AAAA,gBAAA,gBAAAA,EAAC,QACE,EAAA,UAAA;AAAA,kBAAYP,KAAA;AAAA,kBAAO;AAAA,kBAAGJ,GAAU,OAAOkB,EAAOlB,EAAS,MAAMD,KAAa,YAAY,IAAI;AAAA,gBAAA,GAC7F;AAAA,gBAAQ;AAAA,kCACP,QACE,EAAA,UAAA;AAAA,kBAAUM,KAAA;AAAA,kBAAK;AAAA,kBAAGL,GAAU,KAAKkB,EAAOlB,EAAS,IAAID,KAAa,YAAY,IAAI;AAAA,gBAAA,EACrF,CAAA;AAAA,cAAA,EACF,CAAA,IAEA,gBAAAe,EAAC,QAAM,EAAA,UAAAb,KAAe,gBAAe;AAAA,cAEvC,gBAAAa,EAACK,GAAa,EAAA,WAAU,uBAAuB,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA,GA0BnD;AAAA,QACA,gBAAAL,EAACM,KAAe,WAAU,cAAa,OAAM,SAC3C,UAAA,gBAAAN,EAACO,KAAU,GAAGd,GAAO,MAAK,SAAQ,UAAAP,GAAoB,WAAWiB,EAAGd,GAAmB,4BAA4B,GAAG,gBAAgB,GAAG,EAC3I,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"desktopdaterangepicker.es.js","sources":["../src/components/date-picker/DesktopDateRangePicker.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport { PropsBase, PropsRange, DateRange } from \"react-day-picker\";\r\nimport { Calendar as CalendarIcon } from \"@trsys-tech/matrix-icons\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Calendar } from \"./calendar\";\r\nimport { Button } from \"../button/Button\";\r\nimport { Popover, PopoverContent, PopoverTrigger } from \"../popover/Popover\";\r\n\r\ntype DesktopDateRangePickerProps = PropsBase &\r\n Omit<PropsRange, \"mode\"> & {\r\n formatStr?: string;\r\n placeholder?: string;\r\n calendarClassName?: string;\r\n selected?: DateRange;\r\n required?: boolean;\r\n fromText?: string;\r\n toText?: string;\r\n disabled?: boolean;\r\n };\r\n\r\nconst DesktopDateRangePicker: React.FC<DesktopDateRangePickerProps> = ({\r\n formatStr,\r\n selected,\r\n placeholder,\r\n className,\r\n calendarClassName,\r\n fromText,\r\n toText,\r\n disabled,\r\n ...props\r\n}) => {\r\n const [isOpen, setIsOpen] = React.useState(false);\r\n\r\n return (\r\n <Popover\r\n open={isOpen}\r\n onOpenChange={open => {\r\n setIsOpen(open);\r\n }}\r\n >\r\n <PopoverTrigger asChild>\r\n <Button\r\n variant=\"text\"\r\n className={cn(\r\n \"flex h-8 w-full items-center justify-between whitespace-nowrap rounded-sm border border-input bg-transparent ps-3 pe-1 py-1.5 text-sm ring-offset-background data-[placeholder]:text-muted-foreground hover:border hover:border-primary hover:bg-transparent focus:border focus:border-primary focus:outline-none focus:ring focus:ring-primary-100 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-text-300 disabled:border-gray-100 [&>span]:line-clamp-1 [&_svg]:disabled:text-text-300\",\r\n className,\r\n )}\r\n data-placeholder={!selected ? \"\" : undefined}\r\n aria-label={\r\n selected\r\n ? `Selected date: ${selected?.from ? format(selected.from, formatStr ?? \"yyyy/MM/dd\") : \"\"} - ${selected?.to ? format(selected.to, formatStr ?? \"yyyy/MM/dd\") : \"\"}`\r\n : placeholder\r\n }\r\n disabled={disabled}\r\n >\r\n {selected ? (\r\n <div className=\"grid grid-cols-2 flex-1 justify-items-start\">\r\n <span>\r\n {fromText ?? \"From\"}: {selected?.from ? format(selected.from, formatStr ?? \"yyyy/MM/dd\") : \"-\"}\r\n </span>{\" \"}\r\n <span>\r\n {toText ?? \"To\"}: {selected?.to ? format(selected.to, formatStr ?? \"yyyy/MM/dd\") : \"-\"}\r\n </span>\r\n </div>\r\n ) : (\r\n <span>{placeholder ?? \"Pick a Range\"}</span>\r\n )}\r\n <CalendarIcon className=\"mr-2 h-5 w-4 ms-auto\" />\r\n </Button>\r\n {/* <div className=\"flex gap-2\">\r\n <Button\r\n variant={\"outline\"}\r\n className={cn(\r\n \"border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start\",\r\n !selected && \"text-muted-foreground\",\r\n className,\r\n )}\r\n >\r\n {selected?.from ? format(selected.from, formatStr ?? \"yyyy/MM/dd\") : <span>{placeholder ?? \"From\"}</span>}\r\n <CalendarIcon className=\"mr-2 h-5 w-5 ms-auto\" />\r\n </Button>\r\n <Button\r\n variant={\"outline\"}\r\n className={cn(\r\n \"border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start\",\r\n !selected && \"text-muted-foreground\",\r\n className,\r\n )}\r\n >\r\n {selected?.to ? format(selected.to, formatStr ?? \"yyyy/MM/dd\") : <span>{placeholder ?? \"To\"}</span>}\r\n <CalendarIcon className=\"mr-2 h-5 w-5 ms-auto\" />\r\n </Button>\r\n </div> */}\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\r\n <Calendar\r\n defaultMonth={selected?.from}\r\n startMonth={new Date(2000, 0, 1)}\r\n endMonth={new Date(new Date().getFullYear() + 2, 11, 31)}\r\n {...props}\r\n mode=\"range\"\r\n selected={selected}\r\n className={cn(calendarClassName, \"md:max-w-full md:w-[36rem]\")}\r\n numberOfMonths={2}\r\n />\r\n </PopoverContent>\r\n </Popover>\r\n );\r\n};\r\n\r\nexport { DesktopDateRangePicker, type DesktopDateRangePickerProps };\r\n"],"names":["DesktopDateRangePicker","formatStr","selected","placeholder","className","calendarClassName","fromText","toText","disabled","props","isOpen","setIsOpen","React","jsxs","Popover","open","jsx","PopoverTrigger","Button","cn","format","CalendarIcon","PopoverContent","Calendar"],"mappings":";;;;;;;;AAwBA,MAAMA,IAAgE,CAAC;AAAA,EACrE,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAM,SAAS,EAAK;AAG9C,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMJ;AAAA,MACN,cAAc,CAAQK,MAAA;AACpB,QAAAJ,EAAUI,CAAI;AAAA,MAChB;AAAA,MAEA,UAAA;AAAA,QAAC,gBAAAC,EAAAC,GAAA,EAAe,SAAO,IACrB,UAAA,gBAAAJ;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,WAAWC;AAAA,cACT;AAAA,cACAf;AAAA,YACF;AAAA,YACA,oBAAmBF,IAAgB,SAAL;AAAA,YAC9B,cACEA,IACI,kBAAkBA,GAAU,OAAOkB,EAAOlB,EAAS,MAAMD,KAAa,YAAY,IAAI,EAAE,MAAMC,GAAU,KAAKkB,EAAOlB,EAAS,IAAID,KAAa,YAAY,IAAI,EAAE,KAChKE;AAAA,YAEN,UAAAK;AAAA,YAEC,UAAA;AAAA,cACCN,IAAA,gBAAAW,EAAC,OAAI,EAAA,WAAU,+CACb,UAAA;AAAA,gBAAA,gBAAAA,EAAC,QACE,EAAA,UAAA;AAAA,kBAAYP,KAAA;AAAA,kBAAO;AAAA,kBAAGJ,GAAU,OAAOkB,EAAOlB,EAAS,MAAMD,KAAa,YAAY,IAAI;AAAA,gBAAA,GAC7F;AAAA,gBAAQ;AAAA,kCACP,QACE,EAAA,UAAA;AAAA,kBAAUM,KAAA;AAAA,kBAAK;AAAA,kBAAGL,GAAU,KAAKkB,EAAOlB,EAAS,IAAID,KAAa,YAAY,IAAI;AAAA,gBAAA,EACrF,CAAA;AAAA,cAAA,EACF,CAAA,IAEA,gBAAAe,EAAC,QAAM,EAAA,UAAAb,KAAe,gBAAe;AAAA,cAEvC,gBAAAa,EAACK,GAAa,EAAA,WAAU,uBAAuB,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA,GA0BnD;AAAA,QACC,gBAAAL,EAAAM,GAAA,EAAe,WAAU,cAAa,OAAM,SAC3C,UAAA,gBAAAN;AAAA,UAACO;AAAAA,UAAA;AAAA,YACC,cAAcrB,GAAU;AAAA,YACxB,YAAY,IAAI,KAAK,KAAM,GAAG,CAAC;AAAA,YAC/B,UAAU,IAAI,MAAS,oBAAA,KAAA,GAAO,gBAAgB,GAAG,IAAI,EAAE;AAAA,YACtD,GAAGO;AAAA,YACJ,MAAK;AAAA,YACL,UAAAP;AAAA,YACA,WAAWiB,EAAGd,GAAmB,4BAA4B;AAAA,YAC7D,gBAAgB;AAAA,UAAA;AAAA,QAAA,EAEpB,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF;AAEJ;"}
@@ -1,67 +1,79 @@
1
- import { jsxs as r, Fragment as C, jsx as e } from "react/jsx-runtime";
1
+ import { jsxs as r, Fragment as v, jsx as e } from "react/jsx-runtime";
2
2
  import * as c from "react";
3
- import { VisuallyHidden as D } from "@radix-ui/react-visually-hidden";
4
- import { Calendar as w } from "@trsys-tech/matrix-icons";
3
+ import { VisuallyHidden as M } from "@radix-ui/react-visually-hidden";
4
+ import { Calendar as N } from "@trsys-tech/matrix-icons";
5
5
  import { cn as m } from "./utils.es.js";
6
- import { Calendar as M } from "./calendar.es.js";
7
- import { Button as n } from "./button.es.js";
8
- import { Dialog as k, DialogContent as j, DialogHeader as P, DialogTitle as O, DialogDescription as S } from "./dialog.es.js";
6
+ import { Calendar as C } from "./calendar.es.js";
7
+ import { Button as o } from "./button.es.js";
8
+ import { Dialog as k, DialogContent as j, DialogHeader as P, DialogTitle as F, DialogDescription as O } from "./dialog.es.js";
9
9
  import { formatDate as s } from "./format.es.js";
10
- const V = ({
10
+ const T = ({
11
11
  formatStr: l,
12
12
  selected: a,
13
13
  placeholder: p,
14
- className: f,
15
- calendarClassName: h,
14
+ className: h,
15
+ calendarClassName: f,
16
16
  cancelText: u,
17
17
  applyText: b,
18
18
  onSelect: x,
19
19
  disabled: g,
20
20
  ...y
21
21
  }) => {
22
- const [v, o] = c.useState(!1), [t, i] = c.useState(a), d = () => {
23
- o(!1), i(a);
24
- }, N = () => {
25
- x?.(t), o(!1);
22
+ const [D, n] = c.useState(!1), [t, i] = c.useState(a), d = () => {
23
+ n(!1), i(a);
24
+ }, w = () => {
25
+ x?.(t), n(!1);
26
26
  };
27
- return /* @__PURE__ */ r(C, { children: [
27
+ return /* @__PURE__ */ r(v, { children: [
28
28
  /* @__PURE__ */ r(
29
- n,
29
+ o,
30
30
  {
31
31
  variant: "text",
32
32
  className: m(
33
33
  "flex h-8 w-full items-center justify-between whitespace-nowrap rounded-sm border border-input bg-transparent ps-3 pe-1 py-1.5 text-sm ring-offset-background data-[placeholder]:text-muted-foreground hover:border hover:border-primary hover:bg-transparent focus:border focus:border-primary focus:outline-none focus:ring focus:ring-primary-100 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-text-300 disabled:border-gray-100 [&>span]:line-clamp-1 [&_svg]:disabled:text-text-300",
34
- f
34
+ h
35
35
  ),
36
36
  "data-placeholder": a ? void 0 : "",
37
- onClick: () => o(!0),
37
+ onClick: () => n(!0),
38
38
  "aria-label": a ? `Selected date: ${s(a, l ?? "yyyy/MM/dd")}` : "Pick a date",
39
39
  disabled: g,
40
40
  children: [
41
41
  a ? s(a, l ?? "eee, MMM dd") : /* @__PURE__ */ e("span", { children: p ?? "Pick a date" }),
42
- /* @__PURE__ */ e(w, { className: "mr-2 h-5 w-5 ms-auto" })
42
+ /* @__PURE__ */ e(N, { className: "mr-2 h-5 w-5 ms-auto" })
43
43
  ]
44
44
  }
45
45
  ),
46
- /* @__PURE__ */ e(k, { open: v, onOpenChange: d, children: /* @__PURE__ */ r(j, { className: "h-dscreen w-screen p-0 flex flex-col gap-0 data-[state=open]:animate-slide-from-bottom data-[state=closed]:animate-slide-to-bottom overflow-auto max-w-screen-2xl sm:rounded-none", children: [
46
+ /* @__PURE__ */ e(k, { open: D, onOpenChange: d, children: /* @__PURE__ */ r(j, { className: "h-dscreen w-screen p-0 flex flex-col gap-0 data-[state=open]:animate-slide-from-bottom data-[state=closed]:animate-slide-to-bottom overflow-auto max-w-screen-2xl sm:rounded-none", children: [
47
47
  /* @__PURE__ */ r(P, { className: "p-4 border-b border-b-gray-200", children: [
48
- /* @__PURE__ */ e(O, { asChild: !0, children: /* @__PURE__ */ r("div", { className: "text-sm font-bold space-y-1 mt-3", children: [
48
+ /* @__PURE__ */ e(F, { asChild: !0, children: /* @__PURE__ */ r("div", { className: "text-sm font-bold space-y-1 mt-3", children: [
49
49
  /* @__PURE__ */ e("h5", { className: "text-text-300", children: t?.getFullYear() ?? /* @__PURE__ */ e("pre", { children: " " }) }),
50
50
  /* @__PURE__ */ e("h6", { className: "", children: t ? s(t, l ?? "eee, MMM dd") : /* @__PURE__ */ e("pre", { children: " " }) })
51
51
  ] }) }),
52
- /* @__PURE__ */ e(D, { children: /* @__PURE__ */ e(S, { children: "Date Picker" }) })
52
+ /* @__PURE__ */ e(M, { children: /* @__PURE__ */ e(O, { children: "Date Picker" }) })
53
53
  ] }),
54
54
  /* @__PURE__ */ r("div", { className: "flex-1 flex flex-col items-center p-4", children: [
55
- /* @__PURE__ */ e(M, { ...y, mode: "single", selected: t, onSelect: i, className: m("p-0", h) }),
55
+ /* @__PURE__ */ e(
56
+ C,
57
+ {
58
+ defaultMonth: a,
59
+ startMonth: new Date(2e3, 0, 1),
60
+ endMonth: new Date((/* @__PURE__ */ new Date()).getFullYear() + 2, 11, 31),
61
+ ...y,
62
+ mode: "single",
63
+ selected: t,
64
+ onSelect: i,
65
+ className: m("p-0", f)
66
+ }
67
+ ),
56
68
  /* @__PURE__ */ r("div", { className: "flex justify-center items-center gap-4 mt-auto w-full", children: [
57
- /* @__PURE__ */ e(n, { variant: "text", className: "flex-1 h-10", onClick: d, children: u ?? "Cancel" }),
58
- /* @__PURE__ */ e(n, { variant: "primary", className: "flex-1 h-10", onClick: N, children: b ?? "Apply" })
69
+ /* @__PURE__ */ e(o, { variant: "text", className: "flex-1 h-10", onClick: d, children: u ?? "Cancel" }),
70
+ /* @__PURE__ */ e(o, { variant: "primary", className: "flex-1 h-10", onClick: w, children: b ?? "Apply" })
59
71
  ] })
60
72
  ] })
61
73
  ] }) })
62
74
  ] });
63
75
  };
64
76
  export {
65
- V as MobileDatePicker
77
+ T as MobileDatePicker
66
78
  };
67
79
  //# sourceMappingURL=mobiledatepicker.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mobiledatepicker.es.js","sources":["../src/components/date-picker/MobileDatePicker.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport { PropsBase, PropsSingle } from \"react-day-picker\";\r\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\r\nimport { Calendar as CalendarIcon } from \"@trsys-tech/matrix-icons\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Calendar } from \"./calendar\";\r\nimport { Button } from \"../button/Button\";\r\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from \"../dialog/Dialog\";\r\n\r\ntype MobileDatePickerProps = PropsBase &\r\n Omit<PropsSingle, \"mode\"> & {\r\n formatStr?: string;\r\n placeholder?: string;\r\n calendarClassName?: string;\r\n selected?: Date;\r\n required?: boolean;\r\n cancelText?: string;\r\n applyText?: string;\r\n onSelect?: (date: Date | undefined) => void;\r\n disabled?: boolean;\r\n };\r\n\r\nconst MobileDatePicker: React.FC<MobileDatePickerProps> = ({\r\n formatStr,\r\n selected,\r\n placeholder,\r\n className,\r\n calendarClassName,\r\n cancelText,\r\n applyText,\r\n onSelect,\r\n disabled,\r\n ...props\r\n}) => {\r\n const [isOpen, setIsOpen] = React.useState(false);\r\n const [selectedDate, setSelectedDate] = React.useState<Date | undefined>(selected);\r\n\r\n const handleCancel = () => {\r\n setIsOpen(false);\r\n setSelectedDate(selected);\r\n };\r\n\r\n const handleApply = () => {\r\n onSelect?.(selectedDate);\r\n setIsOpen(false);\r\n };\r\n\r\n return (\r\n <>\r\n <Button\r\n variant=\"text\"\r\n className={cn(\r\n \"flex h-8 w-full items-center justify-between whitespace-nowrap rounded-sm border border-input bg-transparent ps-3 pe-1 py-1.5 text-sm ring-offset-background data-[placeholder]:text-muted-foreground hover:border hover:border-primary hover:bg-transparent focus:border focus:border-primary focus:outline-none focus:ring focus:ring-primary-100 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-text-300 disabled:border-gray-100 [&>span]:line-clamp-1 [&_svg]:disabled:text-text-300\",\r\n className,\r\n )}\r\n data-placeholder={!selected ? \"\" : undefined}\r\n onClick={() => setIsOpen(true)}\r\n aria-label={selected ? `Selected date: ${format(selected, formatStr ?? \"yyyy/MM/dd\")}` : \"Pick a date\"}\r\n disabled={disabled}\r\n >\r\n {selected ? format(selected, formatStr ?? \"eee, MMM dd\") : <span>{placeholder ?? \"Pick a date\"}</span>}\r\n <CalendarIcon className=\"mr-2 h-5 w-5 ms-auto\" />\r\n </Button>\r\n <Dialog open={isOpen} onOpenChange={handleCancel}>\r\n <DialogContent className=\"h-dscreen w-screen p-0 flex flex-col gap-0 data-[state=open]:animate-slide-from-bottom data-[state=closed]:animate-slide-to-bottom overflow-auto max-w-screen-2xl sm:rounded-none\">\r\n <DialogHeader className=\"p-4 border-b border-b-gray-200\">\r\n <DialogTitle asChild>\r\n <div className=\"text-sm font-bold space-y-1 mt-3\">\r\n <h5 className=\"text-text-300\">{selectedDate?.getFullYear() ?? <pre> </pre>}</h5>\r\n <h6 className=\"\">{selectedDate ? format(selectedDate, formatStr ?? \"eee, MMM dd\") : <pre> </pre>}</h6>\r\n </div>\r\n </DialogTitle>\r\n <VisuallyHidden>\r\n <DialogDescription>{\"Date Picker\"}</DialogDescription>\r\n </VisuallyHidden>\r\n </DialogHeader>\r\n <div className=\"flex-1 flex flex-col items-center p-4\">\r\n <Calendar {...props} mode=\"single\" selected={selectedDate} onSelect={setSelectedDate} className={cn(\"p-0\", calendarClassName)} />\r\n <div className=\"flex justify-center items-center gap-4 mt-auto w-full\">\r\n <Button variant=\"text\" className=\"flex-1 h-10\" onClick={handleCancel}>\r\n {cancelText ?? \"Cancel\"}\r\n </Button>\r\n <Button variant=\"primary\" className=\"flex-1 h-10\" onClick={handleApply}>\r\n {applyText ?? \"Apply\"}\r\n </Button>\r\n </div>\r\n </div>\r\n </DialogContent>\r\n </Dialog>\r\n </>\r\n );\r\n};\r\n\r\nexport { MobileDatePicker, type MobileDatePickerProps };\r\n"],"names":["MobileDatePicker","formatStr","selected","placeholder","className","calendarClassName","cancelText","applyText","onSelect","disabled","props","isOpen","setIsOpen","React","selectedDate","setSelectedDate","handleCancel","handleApply","jsxs","Fragment","Button","cn","format","jsx","CalendarIcon","Dialog","DialogContent","DialogHeader","DialogTitle","VisuallyHidden","DialogDescription","Calendar"],"mappings":";;;;;;;;;AA0BA,MAAMA,IAAoD,CAAC;AAAA,EACzD,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAM,SAAS,EAAK,GAC1C,CAACC,GAAcC,CAAe,IAAIF,EAAM,SAA2BX,CAAQ,GAE3Ec,IAAe,MAAM;AACzB,IAAAJ,EAAU,EAAK,GACfG,EAAgBb,CAAQ;AAAA,EAC1B,GAEMe,IAAc,MAAM;AACxB,IAAAT,IAAWM,CAAY,GACvBF,EAAU,EAAK;AAAA,EACjB;AAEA,SAEI,gBAAAM,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,WAAWC;AAAA,UACT;AAAA,UACAjB;AAAA,QACF;AAAA,QACA,oBAAmBF,IAAgB,SAAL;AAAA,QAC9B,SAAS,MAAMU,EAAU,EAAI;AAAA,QAC7B,cAAYV,IAAW,kBAAkBoB,EAAOpB,GAAUD,KAAa,YAAY,CAAC,KAAK;AAAA,QACzF,UAAAQ;AAAA,QAEC,UAAA;AAAA,UAAWP,IAAAoB,EAAOpB,GAAUD,KAAa,aAAa,IAAK,gBAAAsB,EAAA,QAAA,EAAM,eAAe,cAAc,CAAA;AAAA,UAC/F,gBAAAA,EAACC,GAAa,EAAA,WAAU,uBAAuB,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACjD;AAAA,IACA,gBAAAD,EAACE,KAAO,MAAMd,GAAQ,cAAcK,GAClC,UAAA,gBAAAE,EAACQ,GAAc,EAAA,WAAU,qLACvB,UAAA;AAAA,MAAC,gBAAAR,EAAAS,GAAA,EAAa,WAAU,kCACtB,UAAA;AAAA,QAAA,gBAAAJ,EAACK,KAAY,SAAO,IAClB,UAAC,gBAAAV,EAAA,OAAA,EAAI,WAAU,oCACb,UAAA;AAAA,UAAC,gBAAAK,EAAA,MAAA,EAAG,WAAU,iBAAiB,UAAAT,GAAc,iBAAiB,gBAAAS,EAAC,OAAI,EAAA,UAAA,IAAA,CAAC,EAAO,CAAA;AAAA,UAC1E,gBAAAA,EAAA,MAAA,EAAG,WAAU,IAAI,UAAeT,IAAAQ,EAAOR,GAAcb,KAAa,aAAa,IAAK,gBAAAsB,EAAA,OAAA,EAAI,eAAC,EAAO,CAAA;AAAA,QAAA,EAAA,CACnG,EACF,CAAA;AAAA,QACC,gBAAAA,EAAAM,GAAA,EACC,UAAC,gBAAAN,EAAAO,GAAA,EAAmB,yBAAc,EACpC,CAAA;AAAA,MAAA,GACF;AAAA,MACA,gBAAAZ,EAAC,OAAI,EAAA,WAAU,yCACb,UAAA;AAAA,QAAA,gBAAAK,EAACQ,GAAU,EAAA,GAAGrB,GAAO,MAAK,UAAS,UAAUI,GAAc,UAAUC,GAAiB,WAAWM,EAAG,OAAOhB,CAAiB,GAAG;AAAA,QAC/H,gBAAAa,EAAC,OAAI,EAAA,WAAU,yDACb,UAAA;AAAA,UAAC,gBAAAK,EAAAH,GAAA,EAAO,SAAQ,QAAO,WAAU,eAAc,SAASJ,GACrD,eAAc,SACjB,CAAA;AAAA,UACA,gBAAAO,EAACH,KAAO,SAAQ,WAAU,WAAU,eAAc,SAASH,GACxD,UAAAV,KAAa,QAChB,CAAA;AAAA,QAAA,EACF,CAAA;AAAA,MAAA,EACF,CAAA;AAAA,IAAA,EAAA,CACF,EACF,CAAA;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"mobiledatepicker.es.js","sources":["../src/components/date-picker/MobileDatePicker.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport { PropsBase, PropsSingle } from \"react-day-picker\";\r\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\r\nimport { Calendar as CalendarIcon } from \"@trsys-tech/matrix-icons\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Calendar } from \"./calendar\";\r\nimport { Button } from \"../button/Button\";\r\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from \"../dialog/Dialog\";\r\n\r\ntype MobileDatePickerProps = PropsBase &\r\n Omit<PropsSingle, \"mode\"> & {\r\n formatStr?: string;\r\n placeholder?: string;\r\n calendarClassName?: string;\r\n selected?: Date;\r\n required?: boolean;\r\n cancelText?: string;\r\n applyText?: string;\r\n onSelect?: (date: Date | undefined) => void;\r\n disabled?: boolean;\r\n };\r\n\r\nconst MobileDatePicker: React.FC<MobileDatePickerProps> = ({\r\n formatStr,\r\n selected,\r\n placeholder,\r\n className,\r\n calendarClassName,\r\n cancelText,\r\n applyText,\r\n onSelect,\r\n disabled,\r\n ...props\r\n}) => {\r\n const [isOpen, setIsOpen] = React.useState(false);\r\n const [selectedDate, setSelectedDate] = React.useState<Date | undefined>(selected);\r\n\r\n const handleCancel = () => {\r\n setIsOpen(false);\r\n setSelectedDate(selected);\r\n };\r\n\r\n const handleApply = () => {\r\n onSelect?.(selectedDate);\r\n setIsOpen(false);\r\n };\r\n\r\n return (\r\n <>\r\n <Button\r\n variant=\"text\"\r\n className={cn(\r\n \"flex h-8 w-full items-center justify-between whitespace-nowrap rounded-sm border border-input bg-transparent ps-3 pe-1 py-1.5 text-sm ring-offset-background data-[placeholder]:text-muted-foreground hover:border hover:border-primary hover:bg-transparent focus:border focus:border-primary focus:outline-none focus:ring focus:ring-primary-100 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-text-300 disabled:border-gray-100 [&>span]:line-clamp-1 [&_svg]:disabled:text-text-300\",\r\n className,\r\n )}\r\n data-placeholder={!selected ? \"\" : undefined}\r\n onClick={() => setIsOpen(true)}\r\n aria-label={selected ? `Selected date: ${format(selected, formatStr ?? \"yyyy/MM/dd\")}` : \"Pick a date\"}\r\n disabled={disabled}\r\n >\r\n {selected ? format(selected, formatStr ?? \"eee, MMM dd\") : <span>{placeholder ?? \"Pick a date\"}</span>}\r\n <CalendarIcon className=\"mr-2 h-5 w-5 ms-auto\" />\r\n </Button>\r\n <Dialog open={isOpen} onOpenChange={handleCancel}>\r\n <DialogContent className=\"h-dscreen w-screen p-0 flex flex-col gap-0 data-[state=open]:animate-slide-from-bottom data-[state=closed]:animate-slide-to-bottom overflow-auto max-w-screen-2xl sm:rounded-none\">\r\n <DialogHeader className=\"p-4 border-b border-b-gray-200\">\r\n <DialogTitle asChild>\r\n <div className=\"text-sm font-bold space-y-1 mt-3\">\r\n <h5 className=\"text-text-300\">{selectedDate?.getFullYear() ?? <pre> </pre>}</h5>\r\n <h6 className=\"\">{selectedDate ? format(selectedDate, formatStr ?? \"eee, MMM dd\") : <pre> </pre>}</h6>\r\n </div>\r\n </DialogTitle>\r\n <VisuallyHidden>\r\n <DialogDescription>{\"Date Picker\"}</DialogDescription>\r\n </VisuallyHidden>\r\n </DialogHeader>\r\n <div className=\"flex-1 flex flex-col items-center p-4\">\r\n <Calendar\r\n defaultMonth={selected}\r\n startMonth={new Date(2000, 0, 1)}\r\n endMonth={new Date(new Date().getFullYear() + 2, 11, 31)}\r\n {...props}\r\n mode=\"single\"\r\n selected={selectedDate}\r\n onSelect={setSelectedDate}\r\n className={cn(\"p-0\", calendarClassName)}\r\n />\r\n <div className=\"flex justify-center items-center gap-4 mt-auto w-full\">\r\n <Button variant=\"text\" className=\"flex-1 h-10\" onClick={handleCancel}>\r\n {cancelText ?? \"Cancel\"}\r\n </Button>\r\n <Button variant=\"primary\" className=\"flex-1 h-10\" onClick={handleApply}>\r\n {applyText ?? \"Apply\"}\r\n </Button>\r\n </div>\r\n </div>\r\n </DialogContent>\r\n </Dialog>\r\n </>\r\n );\r\n};\r\n\r\nexport { MobileDatePicker, type MobileDatePickerProps };\r\n"],"names":["MobileDatePicker","formatStr","selected","placeholder","className","calendarClassName","cancelText","applyText","onSelect","disabled","props","isOpen","setIsOpen","React","selectedDate","setSelectedDate","handleCancel","handleApply","jsxs","Fragment","Button","cn","format","jsx","CalendarIcon","Dialog","DialogContent","DialogHeader","DialogTitle","VisuallyHidden","DialogDescription","Calendar"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
- import { jsxs as a, Fragment as R, jsx as r } from "react/jsx-runtime";
1
+ import { jsxs as t, Fragment as F, jsx as o } from "react/jsx-runtime";
2
2
  import * as f from "react";
3
- import { VisuallyHidden as F } from "@radix-ui/react-visually-hidden";
3
+ import { VisuallyHidden as R } from "@radix-ui/react-visually-hidden";
4
4
  import { Calendar as O } from "@trsys-tech/matrix-icons";
5
5
  import { cn as p } from "./utils.es.js";
6
6
  import { Calendar as P } from "./calendar.es.js";
7
7
  import { Button as m } from "./button.es.js";
8
8
  import { Dialog as $, DialogContent as A, DialogHeader as H, DialogTitle as B, DialogDescription as I } from "./dialog.es.js";
9
9
  import { formatDate as l } from "./format.es.js";
10
- const L = ({
10
+ const K = ({
11
11
  formatStr: n,
12
- selected: o,
12
+ selected: r,
13
13
  placeholder: d,
14
14
  className: h,
15
15
  calendarClassName: g,
@@ -17,20 +17,20 @@ const L = ({
17
17
  cancelText: x,
18
18
  applyText: u,
19
19
  onSelect: b,
20
- fromText: v,
21
- toText: N,
22
- disabled: M,
23
- ...C
20
+ fromText: M,
21
+ toText: v,
22
+ disabled: N,
23
+ ...D
24
24
  }) => {
25
- const [T, s] = f.useState(!1), [e, i] = f.useState(o), D = (t, k, j) => {
26
- y?.(t, k, j), !e || !e.from ? i({ from: t, to: void 0 }) : t < e.from ? e.to ? i({ from: t, to: e.to }) : i({ from: t, to: e.from }) : e?.from?.getTime() === t?.getTime() && (e?.from?.getTime() === e?.to?.getTime() || !e.to) ? i(void 0) : e?.from?.getTime() !== e?.to?.getTime() && (e.from?.getTime() === t?.getTime() || e?.to?.getTime() === t?.getTime()) ? i({ from: t, to: t }) : i({ ...e, to: t });
25
+ const [w, s] = f.useState(!1), [e, i] = f.useState(r), C = (a, k, j) => {
26
+ y?.(a, k, j), !e || !e.from ? i({ from: a, to: void 0 }) : a < e.from ? e.to ? i({ from: a, to: e.to }) : i({ from: a, to: e.from }) : e?.from?.getTime() === a?.getTime() && (e?.from?.getTime() === e?.to?.getTime() || !e.to) ? i(void 0) : e?.from?.getTime() !== e?.to?.getTime() && (e.from?.getTime() === a?.getTime() || e?.to?.getTime() === a?.getTime()) ? i({ from: a, to: a }) : i({ ...e, to: a });
27
27
  }, c = () => {
28
- s(!1), i(o);
29
- }, w = () => {
28
+ s(!1), i(r);
29
+ }, T = () => {
30
30
  b?.(e), s(!1);
31
31
  };
32
- return /* @__PURE__ */ a(R, { children: [
33
- /* @__PURE__ */ a(
32
+ return /* @__PURE__ */ t(F, { children: [
33
+ /* @__PURE__ */ t(
34
34
  m,
35
35
  {
36
36
  variant: "text",
@@ -38,53 +38,65 @@ const L = ({
38
38
  "flex h-8 w-full items-center justify-between whitespace-nowrap rounded-sm border border-input bg-transparent ps-3 pe-1 py-1.5 text-sm ring-offset-background data-[placeholder]:text-muted-foreground hover:border hover:border-primary hover:bg-transparent focus:border focus:border-primary focus:outline-none focus:ring focus:ring-primary-100 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-text-300 disabled:border-gray-100 [&>span]:line-clamp-1 [&_svg]:disabled:text-text-300",
39
39
  h
40
40
  ),
41
- "data-placeholder": o ? void 0 : "",
41
+ "data-placeholder": r ? void 0 : "",
42
42
  onClick: () => s(!0),
43
- "aria-label": o ? `Selected date: ${o?.from ? l(o.from, n ?? "yyyy/MM/dd") : ""} - ${o?.to ? l(o.to, n ?? "yyyy/MM/dd") : ""}` : d,
44
- disabled: M,
43
+ "aria-label": r ? `Selected date: ${r?.from ? l(r.from, n ?? "yyyy/MM/dd") : ""} - ${r?.to ? l(r.to, n ?? "yyyy/MM/dd") : ""}` : d,
44
+ disabled: N,
45
45
  children: [
46
- o ? /* @__PURE__ */ a("div", { className: "grid grid-cols-2 flex-1 justify-items-start", children: [
47
- /* @__PURE__ */ a("span", { children: [
48
- v ?? "From",
46
+ r ? /* @__PURE__ */ t("div", { className: "grid grid-cols-2 flex-1 justify-items-start", children: [
47
+ /* @__PURE__ */ t("span", { children: [
48
+ M ?? "From",
49
49
  ": ",
50
- o?.from ? l(o.from, n ?? "yyyy/MM/dd") : "-"
50
+ r?.from ? l(r.from, n ?? "yyyy/MM/dd") : "-"
51
51
  ] }),
52
52
  " ",
53
- /* @__PURE__ */ a("span", { children: [
54
- N ?? "To",
53
+ /* @__PURE__ */ t("span", { children: [
54
+ v ?? "To",
55
55
  ": ",
56
- o?.to ? l(o.to, n ?? "yyyy/MM/dd") : "-"
56
+ r?.to ? l(r.to, n ?? "yyyy/MM/dd") : "-"
57
57
  ] })
58
- ] }) : /* @__PURE__ */ r("span", { children: d ?? "Pick a Range" }),
59
- /* @__PURE__ */ r(O, { className: "mr-2 h-5 w-4 ms-auto" })
58
+ ] }) : /* @__PURE__ */ o("span", { children: d ?? "Pick a Range" }),
59
+ /* @__PURE__ */ o(O, { className: "mr-2 h-5 w-4 ms-auto" })
60
60
  ]
61
61
  }
62
62
  ),
63
- /* @__PURE__ */ r($, { open: T, onOpenChange: c, children: /* @__PURE__ */ a(A, { className: "h-dscreen w-screen p-0 flex flex-col gap-0 data-[state=open]:animate-slide-from-bottom data-[state=closed]:animate-slide-to-bottom overflow-auto max-w-screen-2xl sm:rounded-none", children: [
64
- /* @__PURE__ */ a(H, { children: [
65
- /* @__PURE__ */ r(B, { asChild: !0, children: /* @__PURE__ */ a("div", { className: "grid grid-cols-2 border-b border-b-gray-200 mt-3", children: [
66
- /* @__PURE__ */ a("div", { className: "text-sm font-bold space-y-1 border-e border-e-gray-200 p-4", children: [
67
- /* @__PURE__ */ r("h5", { className: "text-text-300 font-medium text-xs", children: "From" }),
68
- /* @__PURE__ */ r("h6", { className: "", children: e?.from ? l(e.from, n ?? "eee, MMM dd") : /* @__PURE__ */ r("pre", { children: " " }) })
63
+ /* @__PURE__ */ o($, { open: w, onOpenChange: c, children: /* @__PURE__ */ t(A, { className: "h-dscreen w-screen p-0 flex flex-col gap-0 data-[state=open]:animate-slide-from-bottom data-[state=closed]:animate-slide-to-bottom overflow-auto max-w-screen-2xl sm:rounded-none", children: [
64
+ /* @__PURE__ */ t(H, { children: [
65
+ /* @__PURE__ */ o(B, { asChild: !0, children: /* @__PURE__ */ t("div", { className: "grid grid-cols-2 border-b border-b-gray-200 mt-3", children: [
66
+ /* @__PURE__ */ t("div", { className: "text-sm font-bold space-y-1 border-e border-e-gray-200 p-4", children: [
67
+ /* @__PURE__ */ o("h5", { className: "text-text-300 font-medium text-xs", children: "From" }),
68
+ /* @__PURE__ */ o("h6", { className: "", children: e?.from ? l(e.from, n ?? "eee, MMM dd") : /* @__PURE__ */ o("pre", { children: " " }) })
69
69
  ] }),
70
- /* @__PURE__ */ a("div", { className: "text-sm font-bold space-y-1 p-4 flex flex-col justify-center", children: [
71
- /* @__PURE__ */ r("h5", { className: "text-text-300 font-medium text-xs", children: "To" }),
72
- /* @__PURE__ */ r("h6", { className: "", children: e?.to ? l(e.to, n ?? "eee, MMM dd") : /* @__PURE__ */ r("pre", { children: " " }) })
70
+ /* @__PURE__ */ t("div", { className: "text-sm font-bold space-y-1 p-4 flex flex-col justify-center", children: [
71
+ /* @__PURE__ */ o("h5", { className: "text-text-300 font-medium text-xs", children: "To" }),
72
+ /* @__PURE__ */ o("h6", { className: "", children: e?.to ? l(e.to, n ?? "eee, MMM dd") : /* @__PURE__ */ o("pre", { children: " " }) })
73
73
  ] })
74
74
  ] }) }),
75
- /* @__PURE__ */ r(F, { children: /* @__PURE__ */ r(I, { children: "Date Picker" }) })
75
+ /* @__PURE__ */ o(R, { children: /* @__PURE__ */ o(I, { children: "Date Picker" }) })
76
76
  ] }),
77
- /* @__PURE__ */ a("div", { className: "flex-1 flex flex-col items-center p-4", children: [
78
- /* @__PURE__ */ r(P, { ...C, mode: "range", selected: o, onDayClick: D, className: p("p-0", g) }),
79
- /* @__PURE__ */ a("div", { className: "flex justify-center items-center gap-4 mt-auto w-full", children: [
80
- /* @__PURE__ */ r(m, { variant: "text", className: "flex-1 h-10", onClick: c, children: x ?? "Cancel" }),
81
- /* @__PURE__ */ r(m, { variant: "primary", className: "flex-1 h-10", onClick: w, children: u ?? "Apply" })
77
+ /* @__PURE__ */ t("div", { className: "flex-1 flex flex-col items-center p-4", children: [
78
+ /* @__PURE__ */ o(
79
+ P,
80
+ {
81
+ defaultMonth: r?.from,
82
+ startMonth: new Date(2e3, 0, 1),
83
+ endMonth: new Date((/* @__PURE__ */ new Date()).getFullYear() + 2, 11, 31),
84
+ ...D,
85
+ mode: "range",
86
+ selected: r,
87
+ onDayClick: C,
88
+ className: p("p-0", g)
89
+ }
90
+ ),
91
+ /* @__PURE__ */ t("div", { className: "flex justify-center items-center gap-4 mt-auto w-full", children: [
92
+ /* @__PURE__ */ o(m, { variant: "text", className: "flex-1 h-10", onClick: c, children: x ?? "Cancel" }),
93
+ /* @__PURE__ */ o(m, { variant: "primary", className: "flex-1 h-10", onClick: T, children: u ?? "Apply" })
82
94
  ] })
83
95
  ] })
84
96
  ] }) })
85
97
  ] });
86
98
  };
87
99
  export {
88
- L as MobileDateRangePicker
100
+ K as MobileDateRangePicker
89
101
  };
90
102
  //# sourceMappingURL=mobiledaterangepicker.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mobiledaterangepicker.es.js","sources":["../src/components/date-picker/MobileDateRangePicker.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\r\nimport { Calendar as CalendarIcon } from \"@trsys-tech/matrix-icons\";\r\nimport { PropsBase, PropsRange, DateRange, DayEventHandler } from \"react-day-picker\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Calendar } from \"./calendar\";\r\nimport { Button } from \"../button/Button\";\r\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from \"../dialog/Dialog\";\r\n\r\ntype MobileDateRangePickerProps = PropsBase &\r\n Omit<PropsRange, \"mode\"> & {\r\n formatStr?: string;\r\n placeholder?: string;\r\n calendarClassName?: string;\r\n selected?: DateRange;\r\n required?: boolean;\r\n cancelText?: string;\r\n applyText?: string;\r\n onSelect?: (date: DateRange | undefined) => void;\r\n fromText?: string;\r\n toText?: string;\r\n disabled?: boolean;\r\n };\r\n\r\nconst MobileDateRangePicker: React.FC<MobileDateRangePickerProps> = ({\r\n formatStr,\r\n selected,\r\n placeholder,\r\n className,\r\n calendarClassName,\r\n onDayClick,\r\n cancelText,\r\n applyText,\r\n onSelect,\r\n fromText,\r\n toText,\r\n disabled,\r\n ...props\r\n}) => {\r\n const [isOpen, setIsOpen] = React.useState(false);\r\n const [range, setRange] = React.useState<DateRange | undefined>(selected);\r\n\r\n const handleDayClick: DayEventHandler<React.MouseEvent<Element, MouseEvent>> = (date, modifiers, e) => {\r\n onDayClick?.(date, modifiers, e);\r\n if (!range || !range.from) {\r\n setRange({ from: date, to: undefined });\r\n } else if (date < range.from) {\r\n if (!range.to) {\r\n setRange({ from: date, to: range.from });\r\n } else {\r\n setRange({ from: date, to: range.to });\r\n }\r\n } else if (range?.from?.getTime() === date?.getTime() && (range?.from?.getTime() === range?.to?.getTime() || !range.to)) {\r\n setRange(undefined);\r\n } else if (\r\n range?.from?.getTime() !== range?.to?.getTime() &&\r\n (range.from?.getTime() === date?.getTime() || range?.to?.getTime() === date?.getTime())\r\n ) {\r\n setRange({ from: date, to: date });\r\n } else {\r\n setRange({ ...range, to: date });\r\n }\r\n };\r\n\r\n const handleCancel = () => {\r\n setIsOpen(false);\r\n setRange(selected);\r\n };\r\n\r\n const handleApply = () => {\r\n onSelect?.(range);\r\n setIsOpen(false);\r\n };\r\n\r\n return (\r\n <>\r\n <Button\r\n variant=\"text\"\r\n className={cn(\r\n \"flex h-8 w-full items-center justify-between whitespace-nowrap rounded-sm border border-input bg-transparent ps-3 pe-1 py-1.5 text-sm ring-offset-background data-[placeholder]:text-muted-foreground hover:border hover:border-primary hover:bg-transparent focus:border focus:border-primary focus:outline-none focus:ring focus:ring-primary-100 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-text-300 disabled:border-gray-100 [&>span]:line-clamp-1 [&_svg]:disabled:text-text-300\",\r\n className,\r\n )}\r\n data-placeholder={!selected ? \"\" : undefined}\r\n onClick={() => setIsOpen(true)}\r\n aria-label={\r\n selected\r\n ? `Selected date: ${selected?.from ? format(selected.from, formatStr ?? \"yyyy/MM/dd\") : \"\"} - ${selected?.to ? format(selected.to, formatStr ?? \"yyyy/MM/dd\") : \"\"}`\r\n : placeholder\r\n }\r\n disabled={disabled}\r\n >\r\n {selected ? (\r\n <div className=\"grid grid-cols-2 flex-1 justify-items-start\">\r\n <span>\r\n {fromText ?? \"From\"}: {selected?.from ? format(selected.from, formatStr ?? \"yyyy/MM/dd\") : \"-\"}\r\n </span>{\" \"}\r\n <span>\r\n {toText ?? \"To\"}: {selected?.to ? format(selected.to, formatStr ?? \"yyyy/MM/dd\") : \"-\"}\r\n </span>\r\n </div>\r\n ) : (\r\n <span>{placeholder ?? \"Pick a Range\"}</span>\r\n )}\r\n <CalendarIcon className=\"mr-2 h-5 w-4 ms-auto\" />\r\n </Button>\r\n <Dialog open={isOpen} onOpenChange={handleCancel}>\r\n <DialogContent className=\"h-dscreen w-screen p-0 flex flex-col gap-0 data-[state=open]:animate-slide-from-bottom data-[state=closed]:animate-slide-to-bottom overflow-auto max-w-screen-2xl sm:rounded-none\">\r\n <DialogHeader>\r\n <DialogTitle asChild>\r\n <div className=\"grid grid-cols-2 border-b border-b-gray-200 mt-3\">\r\n <div className=\"text-sm font-bold space-y-1 border-e border-e-gray-200 p-4\">\r\n <h5 className=\"text-text-300 font-medium text-xs\">From</h5>\r\n <h6 className=\"\">{range?.from ? format(range.from, formatStr ?? \"eee, MMM dd\") : <pre> </pre>}</h6>\r\n </div>\r\n <div className=\"text-sm font-bold space-y-1 p-4 flex flex-col justify-center\">\r\n <h5 className=\"text-text-300 font-medium text-xs\">To</h5>\r\n <h6 className=\"\">{range?.to ? format(range.to, formatStr ?? \"eee, MMM dd\") : <pre> </pre>}</h6>\r\n </div>\r\n </div>\r\n </DialogTitle>\r\n <VisuallyHidden>\r\n <DialogDescription>{\"Date Picker\"}</DialogDescription>\r\n </VisuallyHidden>\r\n </DialogHeader>\r\n <div className=\"flex-1 flex flex-col items-center p-4\">\r\n <Calendar {...props} mode=\"range\" selected={selected} onDayClick={handleDayClick} className={cn(\"p-0\", calendarClassName)} />\r\n\r\n <div className=\"flex justify-center items-center gap-4 mt-auto w-full\">\r\n <Button variant=\"text\" className=\"flex-1 h-10\" onClick={handleCancel}>\r\n {cancelText ?? \"Cancel\"}\r\n </Button>\r\n <Button variant=\"primary\" className=\"flex-1 h-10\" onClick={handleApply}>\r\n {applyText ?? \"Apply\"}\r\n </Button>\r\n </div>\r\n </div>\r\n </DialogContent>\r\n </Dialog>\r\n </>\r\n );\r\n};\r\n\r\nexport { MobileDateRangePicker, type MobileDateRangePickerProps };\r\n"],"names":["MobileDateRangePicker","formatStr","selected","placeholder","className","calendarClassName","onDayClick","cancelText","applyText","onSelect","fromText","toText","disabled","props","isOpen","setIsOpen","React","range","setRange","handleDayClick","date","modifiers","e","handleCancel","handleApply","jsxs","Fragment","Button","cn","format","jsx","CalendarIcon","Dialog","DialogContent","DialogHeader","DialogTitle","VisuallyHidden","DialogDescription","Calendar"],"mappings":"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"}
1
+ {"version":3,"file":"mobiledaterangepicker.es.js","sources":["../src/components/date-picker/MobileDateRangePicker.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { format } from \"date-fns\";\r\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\r\nimport { Calendar as CalendarIcon } from \"@trsys-tech/matrix-icons\";\r\nimport { PropsBase, PropsRange, DateRange, DayEventHandler } from \"react-day-picker\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Calendar } from \"./calendar\";\r\nimport { Button } from \"../button/Button\";\r\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from \"../dialog/Dialog\";\r\n\r\ntype MobileDateRangePickerProps = PropsBase &\r\n Omit<PropsRange, \"mode\"> & {\r\n formatStr?: string;\r\n placeholder?: string;\r\n calendarClassName?: string;\r\n selected?: DateRange;\r\n required?: boolean;\r\n cancelText?: string;\r\n applyText?: string;\r\n onSelect?: (date: DateRange | undefined) => void;\r\n fromText?: string;\r\n toText?: string;\r\n disabled?: boolean;\r\n };\r\n\r\nconst MobileDateRangePicker: React.FC<MobileDateRangePickerProps> = ({\r\n formatStr,\r\n selected,\r\n placeholder,\r\n className,\r\n calendarClassName,\r\n onDayClick,\r\n cancelText,\r\n applyText,\r\n onSelect,\r\n fromText,\r\n toText,\r\n disabled,\r\n ...props\r\n}) => {\r\n const [isOpen, setIsOpen] = React.useState(false);\r\n const [range, setRange] = React.useState<DateRange | undefined>(selected);\r\n\r\n const handleDayClick: DayEventHandler<React.MouseEvent<Element, MouseEvent>> = (date, modifiers, e) => {\r\n onDayClick?.(date, modifiers, e);\r\n if (!range || !range.from) {\r\n setRange({ from: date, to: undefined });\r\n } else if (date < range.from) {\r\n if (!range.to) {\r\n setRange({ from: date, to: range.from });\r\n } else {\r\n setRange({ from: date, to: range.to });\r\n }\r\n } else if (range?.from?.getTime() === date?.getTime() && (range?.from?.getTime() === range?.to?.getTime() || !range.to)) {\r\n setRange(undefined);\r\n } else if (\r\n range?.from?.getTime() !== range?.to?.getTime() &&\r\n (range.from?.getTime() === date?.getTime() || range?.to?.getTime() === date?.getTime())\r\n ) {\r\n setRange({ from: date, to: date });\r\n } else {\r\n setRange({ ...range, to: date });\r\n }\r\n };\r\n\r\n const handleCancel = () => {\r\n setIsOpen(false);\r\n setRange(selected);\r\n };\r\n\r\n const handleApply = () => {\r\n onSelect?.(range);\r\n setIsOpen(false);\r\n };\r\n\r\n return (\r\n <>\r\n <Button\r\n variant=\"text\"\r\n className={cn(\r\n \"flex h-8 w-full items-center justify-between whitespace-nowrap rounded-sm border border-input bg-transparent ps-3 pe-1 py-1.5 text-sm ring-offset-background data-[placeholder]:text-muted-foreground hover:border hover:border-primary hover:bg-transparent focus:border focus:border-primary focus:outline-none focus:ring focus:ring-primary-100 disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-text-300 disabled:border-gray-100 [&>span]:line-clamp-1 [&_svg]:disabled:text-text-300\",\r\n className,\r\n )}\r\n data-placeholder={!selected ? \"\" : undefined}\r\n onClick={() => setIsOpen(true)}\r\n aria-label={\r\n selected\r\n ? `Selected date: ${selected?.from ? format(selected.from, formatStr ?? \"yyyy/MM/dd\") : \"\"} - ${selected?.to ? format(selected.to, formatStr ?? \"yyyy/MM/dd\") : \"\"}`\r\n : placeholder\r\n }\r\n disabled={disabled}\r\n >\r\n {selected ? (\r\n <div className=\"grid grid-cols-2 flex-1 justify-items-start\">\r\n <span>\r\n {fromText ?? \"From\"}: {selected?.from ? format(selected.from, formatStr ?? \"yyyy/MM/dd\") : \"-\"}\r\n </span>{\" \"}\r\n <span>\r\n {toText ?? \"To\"}: {selected?.to ? format(selected.to, formatStr ?? \"yyyy/MM/dd\") : \"-\"}\r\n </span>\r\n </div>\r\n ) : (\r\n <span>{placeholder ?? \"Pick a Range\"}</span>\r\n )}\r\n <CalendarIcon className=\"mr-2 h-5 w-4 ms-auto\" />\r\n </Button>\r\n <Dialog open={isOpen} onOpenChange={handleCancel}>\r\n <DialogContent className=\"h-dscreen w-screen p-0 flex flex-col gap-0 data-[state=open]:animate-slide-from-bottom data-[state=closed]:animate-slide-to-bottom overflow-auto max-w-screen-2xl sm:rounded-none\">\r\n <DialogHeader>\r\n <DialogTitle asChild>\r\n <div className=\"grid grid-cols-2 border-b border-b-gray-200 mt-3\">\r\n <div className=\"text-sm font-bold space-y-1 border-e border-e-gray-200 p-4\">\r\n <h5 className=\"text-text-300 font-medium text-xs\">From</h5>\r\n <h6 className=\"\">{range?.from ? format(range.from, formatStr ?? \"eee, MMM dd\") : <pre> </pre>}</h6>\r\n </div>\r\n <div className=\"text-sm font-bold space-y-1 p-4 flex flex-col justify-center\">\r\n <h5 className=\"text-text-300 font-medium text-xs\">To</h5>\r\n <h6 className=\"\">{range?.to ? format(range.to, formatStr ?? \"eee, MMM dd\") : <pre> </pre>}</h6>\r\n </div>\r\n </div>\r\n </DialogTitle>\r\n <VisuallyHidden>\r\n <DialogDescription>{\"Date Picker\"}</DialogDescription>\r\n </VisuallyHidden>\r\n </DialogHeader>\r\n <div className=\"flex-1 flex flex-col items-center p-4\">\r\n <Calendar\r\n defaultMonth={selected?.from}\r\n startMonth={new Date(2000, 0, 1)}\r\n endMonth={new Date(new Date().getFullYear() + 2, 11, 31)}\r\n {...props}\r\n mode=\"range\"\r\n selected={selected}\r\n onDayClick={handleDayClick}\r\n className={cn(\"p-0\", calendarClassName)}\r\n />\r\n\r\n <div className=\"flex justify-center items-center gap-4 mt-auto w-full\">\r\n <Button variant=\"text\" className=\"flex-1 h-10\" onClick={handleCancel}>\r\n {cancelText ?? \"Cancel\"}\r\n </Button>\r\n <Button variant=\"primary\" className=\"flex-1 h-10\" onClick={handleApply}>\r\n {applyText ?? \"Apply\"}\r\n </Button>\r\n </div>\r\n </div>\r\n </DialogContent>\r\n </Dialog>\r\n </>\r\n );\r\n};\r\n\r\nexport { MobileDateRangePicker, type MobileDateRangePickerProps };\r\n"],"names":["MobileDateRangePicker","formatStr","selected","placeholder","className","calendarClassName","onDayClick","cancelText","applyText","onSelect","fromText","toText","disabled","props","isOpen","setIsOpen","React","range","setRange","handleDayClick","date","modifiers","e","handleCancel","handleApply","jsxs","Fragment","Button","cn","format","jsx","CalendarIcon","Dialog","DialogContent","DialogHeader","DialogTitle","VisuallyHidden","DialogDescription","Calendar"],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@trsys-tech/matrix-library",
3
3
  "description": "MatrixUI Library",
4
4
  "private": false,
5
- "version": "0.4.7",
5
+ "version": "0.4.9",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "module": "dist/index.es.js",