@trsys-tech/matrix-library 0.3.2 → 0.3.4
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.
- package/dist/command.es.js +52 -47
- package/dist/command.es.js.map +1 -1
- package/dist/components/date-picker/DesktopDatePicker.d.ts +1 -0
- package/dist/components/date-picker/DesktopDatePicker.d.ts.map +1 -1
- package/dist/components/date-picker/DesktopDateRangePicker.d.ts +1 -0
- package/dist/components/date-picker/DesktopDateRangePicker.d.ts.map +1 -1
- package/dist/components/date-picker/DesktopTimePicker.d.ts +1 -0
- package/dist/components/date-picker/DesktopTimePicker.d.ts.map +1 -1
- package/dist/components/date-picker/MobileDatePicker.d.ts +1 -0
- package/dist/components/date-picker/MobileDatePicker.d.ts.map +1 -1
- package/dist/components/date-picker/MobileDateRangePicker.d.ts +1 -0
- package/dist/components/date-picker/MobileDateRangePicker.d.ts.map +1 -1
- package/dist/components/date-picker/MobileTimePicker.d.ts +1 -0
- package/dist/components/date-picker/MobileTimePicker.d.ts.map +1 -1
- package/dist/components/form-date-picker/FormDatePicker.d.ts +1 -0
- package/dist/components/form-date-picker/FormDatePicker.d.ts.map +1 -1
- package/dist/components/text-field/TextField.d.ts +2 -2
- package/dist/components/text-field/TextField.d.ts.map +1 -1
- package/dist/datagrid.es.js +41 -41
- package/dist/datagrid.es.js.map +1 -1
- package/dist/desktopdatepicker.es.js +23 -21
- package/dist/desktopdatepicker.es.js.map +1 -1
- package/dist/desktopdaterangepicker.es.js +28 -26
- package/dist/desktopdaterangepicker.es.js.map +1 -1
- package/dist/desktoptimepicker.es.js +12 -12
- package/dist/desktoptimepicker.es.js.map +1 -1
- package/dist/formcheckbox.es.js +4 -4
- package/dist/formcheckbox.es.js.map +1 -1
- package/dist/formcombobox.es.js +6 -6
- package/dist/formcombobox.es.js.map +1 -1
- package/dist/formdatepicker.es.js +17 -17
- package/dist/formdatepicker.es.js.map +1 -1
- package/dist/formdaterangepicker.es.js +16 -16
- package/dist/formdaterangepicker.es.js.map +1 -1
- package/dist/forminput.es.js +8 -8
- package/dist/forminput.es.js.map +1 -1
- package/dist/formmultiselect.es.js +10 -10
- package/dist/formmultiselect.es.js.map +1 -1
- package/dist/formrating.es.js +21 -21
- package/dist/formrating.es.js.map +1 -1
- package/dist/formselect.es.js +11 -11
- package/dist/formselect.es.js.map +1 -1
- package/dist/formswitch.es.js +7 -7
- package/dist/formswitch.es.js.map +1 -1
- package/dist/formtextarea.es.js +5 -5
- package/dist/formtextarea.es.js.map +1 -1
- package/dist/formtimepicker.es.js +13 -13
- package/dist/formtimepicker.es.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +203 -193
- package/dist/index.es.js.map +1 -1
- package/dist/mobiledatepicker.es.js +16 -14
- package/dist/mobiledatepicker.es.js.map +1 -1
- package/dist/mobiledaterangepicker.es.js +44 -42
- package/dist/mobiledaterangepicker.es.js.map +1 -1
- package/dist/mobiletimepicker.es.js +7 -7
- package/dist/mobiletimepicker.es.js.map +1 -1
- package/dist/select.es.js +1 -1
- package/dist/select.es.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/textfield.es.js +12 -11
- package/dist/textfield.es.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,88 +1,90 @@
|
|
|
1
|
-
import { jsxs as i, Fragment as
|
|
1
|
+
import { jsxs as i, Fragment as R, jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import * as f from "react";
|
|
3
|
-
import { VisuallyHidden as
|
|
4
|
-
import { Calendar as
|
|
3
|
+
import { VisuallyHidden as F } from "@radix-ui/react-visually-hidden";
|
|
4
|
+
import { Calendar as O } from "@trsys-tech/matrix-icons";
|
|
5
5
|
import { cn as h } from "./utils.es.js";
|
|
6
|
-
import { Calendar as
|
|
6
|
+
import { Calendar as P } from "./calendar.es.js";
|
|
7
7
|
import { Button as s } from "./button.es.js";
|
|
8
|
-
import { Dialog as
|
|
9
|
-
import { formatDate as
|
|
10
|
-
const
|
|
11
|
-
formatStr:
|
|
12
|
-
selected:
|
|
8
|
+
import { Dialog as $, DialogContent as A, DialogHeader as H, DialogTitle as B, DialogDescription as I } from "./dialog.es.js";
|
|
9
|
+
import { formatDate as n } from "./format.es.js";
|
|
10
|
+
const Q = ({
|
|
11
|
+
formatStr: l,
|
|
12
|
+
selected: o,
|
|
13
13
|
placeholder: c,
|
|
14
|
-
className:
|
|
15
|
-
calendarClassName:
|
|
14
|
+
className: g,
|
|
15
|
+
calendarClassName: p,
|
|
16
16
|
onDayClick: y,
|
|
17
17
|
cancelText: x,
|
|
18
18
|
applyText: u,
|
|
19
19
|
onSelect: N,
|
|
20
|
-
fromText:
|
|
21
|
-
toText:
|
|
22
|
-
|
|
20
|
+
fromText: b,
|
|
21
|
+
toText: M,
|
|
22
|
+
disabled: v,
|
|
23
|
+
...C
|
|
23
24
|
}) => {
|
|
24
|
-
const [
|
|
25
|
-
y?.(t,
|
|
25
|
+
const [T, m] = f.useState(!1), [e, a] = f.useState(o), D = (t, j, w) => {
|
|
26
|
+
y?.(t, j, w), !e || !e.from ? a({ from: t, to: void 0 }) : t < e.from ? e.to ? a({ from: t, to: e.to }) : a({ from: t, to: e.from }) : e?.from?.getTime() === t?.getTime() && (e?.from?.getTime() === e?.to?.getTime() || !e.to) ? a(void 0) : e?.from?.getTime() !== e?.to?.getTime() && (e.from?.getTime() === t?.getTime() || e?.to?.getTime() === t?.getTime()) ? a({ from: t, to: t }) : a({ ...e, to: t });
|
|
26
27
|
}, d = () => {
|
|
27
|
-
m(!1), a(
|
|
28
|
-
},
|
|
28
|
+
m(!1), a(o);
|
|
29
|
+
}, k = () => {
|
|
29
30
|
N?.(e), m(!1);
|
|
30
31
|
};
|
|
31
|
-
return /* @__PURE__ */ i(
|
|
32
|
+
return /* @__PURE__ */ i(R, { children: [
|
|
32
33
|
/* @__PURE__ */ i(
|
|
33
34
|
s,
|
|
34
35
|
{
|
|
35
36
|
variant: "outline",
|
|
36
37
|
className: h(
|
|
37
|
-
"w-full border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start",
|
|
38
|
-
!
|
|
39
|
-
|
|
38
|
+
"w-full border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start disabled:bg-gray-100",
|
|
39
|
+
!o && "text-muted-foreground",
|
|
40
|
+
g
|
|
40
41
|
),
|
|
41
42
|
onClick: () => m(!0),
|
|
42
|
-
"aria-label":
|
|
43
|
+
"aria-label": o ? `Selected date: ${o?.from ? n(o.from, l ?? "yyyy/MM/dd") : ""} - ${o?.to ? n(o.to, l ?? "yyyy/MM/dd") : ""}` : c,
|
|
44
|
+
disabled: v,
|
|
43
45
|
children: [
|
|
44
|
-
|
|
46
|
+
o ? /* @__PURE__ */ i("div", { className: "grid grid-cols-2 flex-1 justify-items-start", children: [
|
|
45
47
|
/* @__PURE__ */ i("span", { children: [
|
|
46
|
-
|
|
48
|
+
b ?? "From",
|
|
47
49
|
": ",
|
|
48
|
-
|
|
50
|
+
o?.from ? n(o.from, l ?? "yyyy/MM/dd") : "-"
|
|
49
51
|
] }),
|
|
50
52
|
" ",
|
|
51
53
|
/* @__PURE__ */ i("span", { children: [
|
|
52
|
-
|
|
54
|
+
M ?? "To",
|
|
53
55
|
": ",
|
|
54
|
-
|
|
56
|
+
o?.to ? n(o.to, l ?? "yyyy/MM/dd") : "-"
|
|
55
57
|
] })
|
|
56
|
-
] }) : /* @__PURE__ */
|
|
57
|
-
/* @__PURE__ */
|
|
58
|
+
] }) : /* @__PURE__ */ r("span", { children: c ?? "Pick a Range" }),
|
|
59
|
+
/* @__PURE__ */ r(O, { className: "mr-2 h-5 w-4 ms-auto" })
|
|
58
60
|
]
|
|
59
61
|
}
|
|
60
62
|
),
|
|
61
|
-
/* @__PURE__ */
|
|
62
|
-
/* @__PURE__ */ i(
|
|
63
|
-
/* @__PURE__ */
|
|
63
|
+
/* @__PURE__ */ r($, { open: T, onOpenChange: d, children: /* @__PURE__ */ i(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__ */ i(H, { children: [
|
|
65
|
+
/* @__PURE__ */ r(B, { asChild: !0, children: /* @__PURE__ */ i("div", { className: "grid grid-cols-2 border-b border-b-gray-200 mt-3", children: [
|
|
64
66
|
/* @__PURE__ */ i("div", { className: "text-sm font-bold space-y-1 border-e border-e-gray-200 p-4", children: [
|
|
65
|
-
/* @__PURE__ */
|
|
66
|
-
/* @__PURE__ */
|
|
67
|
+
/* @__PURE__ */ r("h5", { className: "text-text-300 font-medium text-xs", children: "From" }),
|
|
68
|
+
/* @__PURE__ */ r("h6", { className: "", children: e?.from ? n(e.from, l ?? "eee, MMM dd") : /* @__PURE__ */ r("pre", { children: " " }) })
|
|
67
69
|
] }),
|
|
68
70
|
/* @__PURE__ */ i("div", { className: "text-sm font-bold space-y-1 p-4 flex flex-col justify-center", children: [
|
|
69
|
-
/* @__PURE__ */
|
|
70
|
-
/* @__PURE__ */
|
|
71
|
+
/* @__PURE__ */ r("h5", { className: "text-text-300 font-medium text-xs", children: "To" }),
|
|
72
|
+
/* @__PURE__ */ r("h6", { className: "", children: e?.to ? n(e.to, l ?? "eee, MMM dd") : /* @__PURE__ */ r("pre", { children: " " }) })
|
|
71
73
|
] })
|
|
72
74
|
] }) }),
|
|
73
|
-
/* @__PURE__ */
|
|
75
|
+
/* @__PURE__ */ r(F, { children: /* @__PURE__ */ r(I, { children: "Date Picker" }) })
|
|
74
76
|
] }),
|
|
75
77
|
/* @__PURE__ */ i("div", { className: "flex-1 flex flex-col items-center p-4", children: [
|
|
76
|
-
/* @__PURE__ */
|
|
78
|
+
/* @__PURE__ */ r(P, { ...C, mode: "range", selected: o, onDayClick: D, className: h("p-0", p) }),
|
|
77
79
|
/* @__PURE__ */ i("div", { className: "flex justify-center items-center gap-4 mt-auto w-full", children: [
|
|
78
|
-
/* @__PURE__ */
|
|
79
|
-
/* @__PURE__ */
|
|
80
|
+
/* @__PURE__ */ r(s, { variant: "text", className: "flex-1 h-10", onClick: d, children: x ?? "Cancel" }),
|
|
81
|
+
/* @__PURE__ */ r(s, { variant: "primary", className: "flex-1 h-10", onClick: k, children: u ?? "Apply" })
|
|
80
82
|
] })
|
|
81
83
|
] })
|
|
82
84
|
] }) })
|
|
83
85
|
] });
|
|
84
86
|
};
|
|
85
87
|
export {
|
|
86
|
-
|
|
88
|
+
Q as MobileDateRangePicker
|
|
87
89
|
};
|
|
88
90
|
//# 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 };\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 ...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={\"outline\"}\r\n className={cn(\r\n \"w-full 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 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 >\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","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":";;;;;;;;;
|
|
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={\"outline\"}\r\n className={cn(\r\n \"w-full border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start disabled:bg-gray-100\",\r\n !selected && \"text-muted-foreground\",\r\n className,\r\n )}\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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"}
|
|
@@ -4,7 +4,7 @@ import { VisuallyHidden as m } from "@radix-ui/react-visually-hidden";
|
|
|
4
4
|
import { cn as d } from "./utils.es.js";
|
|
5
5
|
import { Button as u } from "./button.es.js";
|
|
6
6
|
import { TimePickerContent as f } from "./timepickercontent.es.js";
|
|
7
|
-
import { SwipableDrawer as
|
|
7
|
+
import { SwipableDrawer as b, SwipableDrawerContent as h, SwipableDrawerHeader as w, SwipableDrawerTitle as S, SwipableDrawerDescription as g } from "./swipabledrawer.es.js";
|
|
8
8
|
const N = ({
|
|
9
9
|
time: r,
|
|
10
10
|
onTimeChange: n,
|
|
@@ -14,22 +14,22 @@ const N = ({
|
|
|
14
14
|
...s
|
|
15
15
|
}) => {
|
|
16
16
|
const [a, i] = c(!1);
|
|
17
|
-
return /* @__PURE__ */ t(
|
|
17
|
+
return /* @__PURE__ */ t(b, { open: a, onOpenChange: i, children: [
|
|
18
18
|
/* @__PURE__ */ e(
|
|
19
19
|
u,
|
|
20
20
|
{
|
|
21
21
|
variant: "outline",
|
|
22
|
-
className: d("w-full border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start", o),
|
|
22
|
+
className: d("w-full border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start disabled:bg-gray-100", o),
|
|
23
23
|
onClick: () => i(!0),
|
|
24
24
|
"aria-label": r?.hour ? `Selected time: ${r.hour}:${r.minute} ${r.ampm}` : p,
|
|
25
25
|
...s,
|
|
26
26
|
children: `${r?.hour?.toString()?.padStart(2, "0") ?? "--"} : ${r?.minute?.toString()?.padStart(2, "0") ?? "--"} ${r?.ampm ?? "--"}`
|
|
27
27
|
}
|
|
28
28
|
),
|
|
29
|
-
/* @__PURE__ */ t(
|
|
30
|
-
/* @__PURE__ */ e(
|
|
31
|
-
/* @__PURE__ */ e(
|
|
32
|
-
/* @__PURE__ */ e(
|
|
29
|
+
/* @__PURE__ */ t(h, { children: [
|
|
30
|
+
/* @__PURE__ */ e(w, { className: "p-0", children: /* @__PURE__ */ t(m, { children: [
|
|
31
|
+
/* @__PURE__ */ e(S, { className: "text-primary text-lg font-bold text-start", children: " " }),
|
|
32
|
+
/* @__PURE__ */ e(g, { children: " " })
|
|
33
33
|
] }) }),
|
|
34
34
|
/* @__PURE__ */ e(f, { isOpen: a, onTimeChange: n, time: r, slotsProps: l })
|
|
35
35
|
] })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobiletimepicker.es.js","sources":["../src/components/date-picker/MobileTimePicker.tsx"],"sourcesContent":["import { HTMLAttributes, useState } from \"react\";\r\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Button } from \"../button/Button\";\r\nimport { Time, TimePickerContent } from \"./TimePickerContent\";\r\nimport {\r\n SwipableDrawer,\r\n SwipableDrawerContent,\r\n SwipableDrawerDescription,\r\n SwipableDrawerHeader,\r\n SwipableDrawerTitle,\r\n} from \"../drawer/SwipableDrawer\";\r\n\r\ntype MobileTimePickerProps = HTMLAttributes<HTMLButtonElement> & {\r\n time: Time | undefined;\r\n onTimeChange: (time: Time | undefined) => void;\r\n placeholder?: string;\r\n slotsProps?: {\r\n content?: HTMLAttributes<HTMLDivElement>;\r\n };\r\n};\r\n\r\nconst MobileTimePicker: React.FC<MobileTimePickerProps> = ({\r\n time,\r\n onTimeChange,\r\n className,\r\n slotsProps,\r\n placeholder = \"Pick a time\",\r\n ...restProps\r\n}) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n return (\r\n <SwipableDrawer open={isOpen} onOpenChange={setIsOpen}>\r\n <Button\r\n variant={\"outline\"}\r\n className={cn(\"w-full border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start\", className)}\r\n onClick={() => setIsOpen(true)}\r\n aria-label={time?.hour ? `Selected time: ${time.hour}:${time.minute} ${time.ampm}` : placeholder}\r\n {...restProps}\r\n >\r\n {`${time?.hour?.toString()?.padStart(2, \"0\") ?? \"--\"} : ${time?.minute?.toString()?.padStart(2, \"0\") ?? \"--\"} ${time?.ampm ?? \"--\"}`}\r\n </Button>\r\n <SwipableDrawerContent>\r\n <SwipableDrawerHeader className=\"p-0\">\r\n <VisuallyHidden>\r\n <SwipableDrawerTitle className=\"text-primary text-lg font-bold text-start\"> </SwipableDrawerTitle>\r\n <SwipableDrawerDescription> </SwipableDrawerDescription>\r\n </VisuallyHidden>\r\n </SwipableDrawerHeader>\r\n <TimePickerContent isOpen={isOpen} onTimeChange={onTimeChange} time={time} slotsProps={slotsProps} />\r\n </SwipableDrawerContent>\r\n </SwipableDrawer>\r\n );\r\n};\r\nexport { MobileTimePicker, type MobileTimePickerProps };\r\n"],"names":["MobileTimePicker","time","onTimeChange","className","slotsProps","placeholder","restProps","isOpen","setIsOpen","useState","jsxs","SwipableDrawer","jsx","Button","cn","SwipableDrawerContent","SwipableDrawerHeader","VisuallyHidden","SwipableDrawerTitle","SwipableDrawerDescription","TimePickerContent"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"mobiletimepicker.es.js","sources":["../src/components/date-picker/MobileTimePicker.tsx"],"sourcesContent":["import { HTMLAttributes, useState } from \"react\";\r\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Button } from \"../button/Button\";\r\nimport { Time, TimePickerContent } from \"./TimePickerContent\";\r\nimport {\r\n SwipableDrawer,\r\n SwipableDrawerContent,\r\n SwipableDrawerDescription,\r\n SwipableDrawerHeader,\r\n SwipableDrawerTitle,\r\n} from \"../drawer/SwipableDrawer\";\r\n\r\ntype MobileTimePickerProps = HTMLAttributes<HTMLButtonElement> & {\r\n time: Time | undefined;\r\n onTimeChange: (time: Time | undefined) => void;\r\n placeholder?: string;\r\n disabled?: boolean;\r\n slotsProps?: {\r\n content?: HTMLAttributes<HTMLDivElement>;\r\n };\r\n};\r\n\r\nconst MobileTimePicker: React.FC<MobileTimePickerProps> = ({\r\n time,\r\n onTimeChange,\r\n className,\r\n slotsProps,\r\n placeholder = \"Pick a time\",\r\n ...restProps\r\n}) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n return (\r\n <SwipableDrawer open={isOpen} onOpenChange={setIsOpen}>\r\n <Button\r\n variant={\"outline\"}\r\n className={cn(\"w-full border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start disabled:bg-gray-100\", className)}\r\n onClick={() => setIsOpen(true)}\r\n aria-label={time?.hour ? `Selected time: ${time.hour}:${time.minute} ${time.ampm}` : placeholder}\r\n {...restProps}\r\n >\r\n {`${time?.hour?.toString()?.padStart(2, \"0\") ?? \"--\"} : ${time?.minute?.toString()?.padStart(2, \"0\") ?? \"--\"} ${time?.ampm ?? \"--\"}`}\r\n </Button>\r\n <SwipableDrawerContent>\r\n <SwipableDrawerHeader className=\"p-0\">\r\n <VisuallyHidden>\r\n <SwipableDrawerTitle className=\"text-primary text-lg font-bold text-start\"> </SwipableDrawerTitle>\r\n <SwipableDrawerDescription> </SwipableDrawerDescription>\r\n </VisuallyHidden>\r\n </SwipableDrawerHeader>\r\n <TimePickerContent isOpen={isOpen} onTimeChange={onTimeChange} time={time} slotsProps={slotsProps} />\r\n </SwipableDrawerContent>\r\n </SwipableDrawer>\r\n );\r\n};\r\nexport { MobileTimePicker, type MobileTimePickerProps };\r\n"],"names":["MobileTimePicker","time","onTimeChange","className","slotsProps","placeholder","restProps","isOpen","setIsOpen","useState","jsxs","SwipableDrawer","jsx","Button","cn","SwipableDrawerContent","SwipableDrawerHeader","VisuallyHidden","SwipableDrawerTitle","SwipableDrawerDescription","TimePickerContent"],"mappings":";;;;;;;AAwBA,MAAMA,IAAoD,CAAC;AAAA,EACzD,MAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,GAAGC;AACL,MAAM;AACJ,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK;AAE1C,SACG,gBAAAC,EAAAC,GAAA,EAAe,MAAMJ,GAAQ,cAAcC,GAC1C,UAAA;AAAA,IAAA,gBAAAI;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAAS;AAAA,QACT,WAAWC,EAAG,4GAA4GX,CAAS;AAAA,QACnI,SAAS,MAAMK,EAAU,EAAI;AAAA,QAC7B,cAAYP,GAAM,OAAO,kBAAkBA,EAAK,IAAI,IAAIA,EAAK,MAAM,IAAIA,EAAK,IAAI,KAAKI;AAAA,QACpF,GAAGC;AAAA,QAEH,UAAA,GAAGL,GAAM,MAAM,SAAA,GAAY,SAAS,GAAG,GAAG,KAAK,IAAI,MAAMA,GAAM,QAAQ,SAAA,GAAY,SAAS,GAAG,GAAG,KAAK,IAAI,IAAIA,GAAM,QAAQ,IAAI;AAAA,MAAA;AAAA,IACpI;AAAA,sBACCc,GACC,EAAA,UAAA;AAAA,MAAA,gBAAAH,EAACI,GAAqB,EAAA,WAAU,OAC9B,UAAA,gBAAAN,EAACO,GACC,EAAA,UAAA;AAAA,QAAC,gBAAAL,EAAAM,GAAA,EAAoB,WAAU,6CAA4C,UAAC,KAAA;AAAA,QAC5E,gBAAAN,EAACO,KAA0B,UAAC,IAAA,CAAA;AAAA,MAAA,EAAA,CAC9B,EACF,CAAA;AAAA,MACC,gBAAAP,EAAAQ,GAAA,EAAkB,QAAAb,GAAgB,cAAAL,GAA4B,MAAAD,GAAY,YAAAG,EAAwB,CAAA;AAAA,IAAA,EACrG,CAAA;AAAA,EAAA,GACF;AAEJ;"}
|
package/dist/select.es.js
CHANGED
|
@@ -21,7 +21,7 @@ const P = e.Group, k = e.Value, v = l.forwardRef(
|
|
|
21
21
|
{
|
|
22
22
|
ref: i,
|
|
23
23
|
className: s(
|
|
24
|
-
"group flex h-
|
|
24
|
+
"group flex h-8 w-full items-center justify-between whitespace-nowrap rounded-sm border border-input bg-transparent px-3 py-2 text-sm ring-offset-background data-[placeholder]:text-muted-foreground hover:border hover:border-primary 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-none [&>span]:line-clamp-1 [&_svg]:disabled:text-text-300",
|
|
25
25
|
r
|
|
26
26
|
),
|
|
27
27
|
"data-value": c,
|
package/dist/select.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.es.js","sources":["../src/components/select/Select.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Check, ChevronDown, ChevronUp, XMark } from \"@trsys-tech/matrix-icons\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport type { SelectValueProps, SelectGroupProps } from \"@radix-ui/react-select\";\n\nimport { cn } from \"../../lib/utils\";\n\ntype ClearSelectContextValue = {\n onClear: () => void;\n value: string | undefined;\n};\n\nconst SelectContext = React.createContext<ClearSelectContextValue>({ onClear: () => {}, value: undefined });\n\nconst Select = ({ onValueChange, value, ...props }: SelectPrimitive.SelectProps) => {\n const onClear = () => {\n onValueChange?.(\"\");\n };\n\n return (\n <SelectContext.Provider value={{ onClear, value }}>\n <SelectPrimitive.Root {...props} value={value} onValueChange={onValueChange} />\n </SelectContext.Provider>\n );\n};\nSelect.displayName = SelectPrimitive.Root.displayName;\ntype SelectProps = React.ComponentProps<typeof Select>;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\ntype SelectTriggerProps = React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n clearable?: boolean;\n};\n\nconst SelectTrigger = React.forwardRef<React.ElementRef<typeof SelectPrimitive.Trigger>, SelectTriggerProps>(\n ({ className, children, clearable, ...props }: SelectTriggerProps, ref) => {\n const { onClear, value } = React.useContext(SelectContext);\n\n const handlePointerDown = (e: React.PointerEvent) => {\n e.stopPropagation();\n };\n\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"group flex h-9 w-full items-center justify-between whitespace-nowrap rounded-sm border border-input bg-transparent px-3 py-2 text-sm ring-offset-background data-[placeholder]:text-muted-foreground hover:border hover:border-primary 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-none [&>span]:line-clamp-1 [&_svg]:disabled:text-text-300\",\n className,\n )}\n data-value={value}\n {...props}\n >\n {children}\n <div className=\"flex items-center gap-2\">\n {clearable && value ? (\n <SelectPrimitive.Icon asChild onPointerDown={handlePointerDown} onClickCapture={onClear}>\n <XMark className=\"h-4.5 w-4.5\" />\n </SelectPrimitive.Icon>\n ) : null}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4.5 w-4.5 text-primary group-data-[state=open]:rotate-180 transition-transform\" />\n </SelectPrimitive.Icon>\n </div>\n </SelectPrimitive.Trigger>\n );\n },\n);\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n// type SelectTriggerProps = React.ComponentProps<typeof SelectTrigger>;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton ref={ref} className={cn(\"flex cursor-default items-center justify-center py-1\", className)} {...props}>\n <ChevronUp />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\ntype SelectScrollUpButtonProps = React.ComponentProps<typeof SelectScrollUpButton>;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton ref={ref} className={cn(\"flex cursor-default items-center justify-center py-1\", className)} {...props}>\n <ChevronDown />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\ntype SelectScrollDownButtonProps = React.ComponentProps<typeof SelectScrollDownButton>;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1 max-h-[--radix-select-content-available-height]\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\"p-1\", position === \"popper\" && \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\")}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\ntype SelectContentProps = React.ComponentProps<typeof SelectContent>;\n\nconst SelectLabel = React.forwardRef<React.ElementRef<typeof SelectPrimitive.Label>, React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>>(\n ({ className, ...props }, ref) => <SelectPrimitive.Label ref={ref} className={cn(\"px-2 py-1.5 text-sm font-semibold\", className)} {...props} />,\n);\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\ntype SelectLabelProps = React.ComponentProps<typeof SelectLabel>;\n\nconst SelectItem = React.forwardRef<React.ElementRef<typeof SelectPrimitive.Item>, React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>>(\n ({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-gray-200 data-[active=true]:bg-gray-300 data-[active=true]:font-bold data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n ),\n);\nSelectItem.displayName = SelectPrimitive.Item.displayName;\ntype SelectItemProps = React.ComponentProps<typeof SelectItem>;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => <SelectPrimitive.Separator ref={ref} className={cn(\"-mx-1 my-1 h-px bg-muted\", className)} {...props} />);\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\ntype SelectSeparatorProps = React.ComponentProps<typeof SelectSeparator>;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n type SelectProps,\n type SelectGroupProps,\n type SelectValueProps,\n type SelectTriggerProps,\n type SelectContentProps,\n type SelectLabelProps,\n type SelectItemProps,\n type SelectSeparatorProps,\n type SelectScrollUpButtonProps,\n type SelectScrollDownButtonProps,\n};\n"],"names":["SelectContext","React","Select","onValueChange","value","props","onClear","jsx","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","className","children","clearable","ref","handlePointerDown","e","jsxs","cn","XMark","ChevronDown","SelectScrollUpButton","ChevronUp","SelectScrollDownButton","SelectContent","position","SelectLabel","SelectItem","Check","SelectSeparator"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select.es.js","sources":["../src/components/select/Select.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Check, ChevronDown, ChevronUp, XMark } from \"@trsys-tech/matrix-icons\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport type { SelectValueProps, SelectGroupProps } from \"@radix-ui/react-select\";\n\nimport { cn } from \"../../lib/utils\";\n\ntype ClearSelectContextValue = {\n onClear: () => void;\n value: string | undefined;\n};\n\nconst SelectContext = React.createContext<ClearSelectContextValue>({ onClear: () => {}, value: undefined });\n\nconst Select = ({ onValueChange, value, ...props }: SelectPrimitive.SelectProps) => {\n const onClear = () => {\n onValueChange?.(\"\");\n };\n\n return (\n <SelectContext.Provider value={{ onClear, value }}>\n <SelectPrimitive.Root {...props} value={value} onValueChange={onValueChange} />\n </SelectContext.Provider>\n );\n};\nSelect.displayName = SelectPrimitive.Root.displayName;\ntype SelectProps = React.ComponentProps<typeof Select>;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\ntype SelectTriggerProps = React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n clearable?: boolean;\n};\n\nconst SelectTrigger = React.forwardRef<React.ElementRef<typeof SelectPrimitive.Trigger>, SelectTriggerProps>(\n ({ className, children, clearable, ...props }: SelectTriggerProps, ref) => {\n const { onClear, value } = React.useContext(SelectContext);\n\n const handlePointerDown = (e: React.PointerEvent) => {\n e.stopPropagation();\n };\n\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"group flex h-8 w-full items-center justify-between whitespace-nowrap rounded-sm border border-input bg-transparent px-3 py-2 text-sm ring-offset-background data-[placeholder]:text-muted-foreground hover:border hover:border-primary 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-none [&>span]:line-clamp-1 [&_svg]:disabled:text-text-300\",\n className,\n )}\n data-value={value}\n {...props}\n >\n {children}\n <div className=\"flex items-center gap-2\">\n {clearable && value ? (\n <SelectPrimitive.Icon asChild onPointerDown={handlePointerDown} onClickCapture={onClear}>\n <XMark className=\"h-4.5 w-4.5\" />\n </SelectPrimitive.Icon>\n ) : null}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4.5 w-4.5 text-primary group-data-[state=open]:rotate-180 transition-transform\" />\n </SelectPrimitive.Icon>\n </div>\n </SelectPrimitive.Trigger>\n );\n },\n);\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n// type SelectTriggerProps = React.ComponentProps<typeof SelectTrigger>;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton ref={ref} className={cn(\"flex cursor-default items-center justify-center py-1\", className)} {...props}>\n <ChevronUp />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\ntype SelectScrollUpButtonProps = React.ComponentProps<typeof SelectScrollUpButton>;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton ref={ref} className={cn(\"flex cursor-default items-center justify-center py-1\", className)} {...props}>\n <ChevronDown />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\ntype SelectScrollDownButtonProps = React.ComponentProps<typeof SelectScrollDownButton>;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1 max-h-[--radix-select-content-available-height]\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\"p-1\", position === \"popper\" && \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\")}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\ntype SelectContentProps = React.ComponentProps<typeof SelectContent>;\n\nconst SelectLabel = React.forwardRef<React.ElementRef<typeof SelectPrimitive.Label>, React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>>(\n ({ className, ...props }, ref) => <SelectPrimitive.Label ref={ref} className={cn(\"px-2 py-1.5 text-sm font-semibold\", className)} {...props} />,\n);\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\ntype SelectLabelProps = React.ComponentProps<typeof SelectLabel>;\n\nconst SelectItem = React.forwardRef<React.ElementRef<typeof SelectPrimitive.Item>, React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>>(\n ({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-gray-200 data-[active=true]:bg-gray-300 data-[active=true]:font-bold data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n ),\n);\nSelectItem.displayName = SelectPrimitive.Item.displayName;\ntype SelectItemProps = React.ComponentProps<typeof SelectItem>;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => <SelectPrimitive.Separator ref={ref} className={cn(\"-mx-1 my-1 h-px bg-muted\", className)} {...props} />);\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\ntype SelectSeparatorProps = React.ComponentProps<typeof SelectSeparator>;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n type SelectProps,\n type SelectGroupProps,\n type SelectValueProps,\n type SelectTriggerProps,\n type SelectContentProps,\n type SelectLabelProps,\n type SelectItemProps,\n type SelectSeparatorProps,\n type SelectScrollUpButtonProps,\n type SelectScrollDownButtonProps,\n};\n"],"names":["SelectContext","React","Select","onValueChange","value","props","onClear","jsx","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","className","children","clearable","ref","handlePointerDown","e","jsxs","cn","XMark","ChevronDown","SelectScrollUpButton","ChevronUp","SelectScrollDownButton","SelectContent","position","SelectLabel","SelectItem","Check","SelectSeparator"],"mappings":"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"}
|