@trsys-tech/matrix-library 0.3.0 → 0.3.2
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/breadcrumb.es.js +18 -19
- package/dist/breadcrumb.es.js.map +1 -1
- package/dist/button.es.js +16 -16
- package/dist/button.es.js.map +1 -1
- package/dist/calendar.es.js +21 -23
- package/dist/calendar.es.js.map +1 -1
- package/dist/checkbox.es.js +9 -10
- package/dist/checkbox.es.js.map +1 -1
- package/dist/chip.es.js +4 -4
- package/dist/chip.es.js.map +1 -1
- package/dist/command.es.js +1 -1
- package/dist/command.es.js.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/components/button/Button.d.ts.map +1 -1
- package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/command/Command.d.ts.map +1 -1
- package/dist/components/context-menu/ContextMenu.d.ts.map +1 -1
- package/dist/components/data-grid/DataGrid.d.ts.map +1 -1
- package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
- package/dist/components/date-picker/DateRangePicker.d.ts.map +1 -1
- package/dist/components/date-picker/DesktopDatePicker.d.ts.map +1 -1
- package/dist/components/date-picker/DesktopDateRangePicker.d.ts +2 -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.map +1 -1
- package/dist/components/date-picker/MobileDateRangePicker.d.ts +2 -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/date-picker/TimePicker.d.ts.map +1 -1
- package/dist/components/date-picker/calendar.d.ts.map +1 -1
- package/dist/components/drawer/Drawer.d.ts +0 -1
- package/dist/components/drawer/Drawer.d.ts.map +1 -1
- package/dist/components/form-combobox/FormCombobox.d.ts.map +1 -1
- package/dist/components/form-date-picker/FormDatePicker.d.ts +18 -0
- package/dist/components/form-date-picker/FormDatePicker.d.ts.map +1 -0
- package/dist/components/form-date-range-picker/FormDateRangePicker.d.ts +18 -0
- package/dist/components/form-date-range-picker/FormDateRangePicker.d.ts.map +1 -0
- package/dist/components/form-rating/FormRating.d.ts.map +1 -1
- package/dist/components/form-select/FormSelect.d.ts.map +1 -1
- package/dist/components/form-time-picker/FormTimePicker.d.ts +18 -0
- package/dist/components/form-time-picker/FormTimePicker.d.ts.map +1 -0
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
- package/dist/components/radio-group/RadioGroup.d.ts.map +1 -1
- package/dist/components/select/Select.d.ts.map +1 -1
- package/dist/datagrid.es.js +66 -72
- package/dist/datagrid.es.js.map +1 -1
- package/dist/datepicker.es.js +8 -21
- package/dist/datepicker.es.js.map +1 -1
- package/dist/daterangepicker.es.js +7 -18
- package/dist/daterangepicker.es.js.map +1 -1
- package/dist/desktopdatepicker.es.js +35 -34
- package/dist/desktopdatepicker.es.js.map +1 -1
- package/dist/desktopdaterangepicker.es.js +40 -35
- package/dist/desktopdaterangepicker.es.js.map +1 -1
- package/dist/desktoptimepicker.es.js +23 -15
- package/dist/desktoptimepicker.es.js.map +1 -1
- package/dist/dialog.es.js +1 -1
- package/dist/dialog.es.js.map +1 -1
- package/dist/drawer.es.js +34 -43
- package/dist/drawer.es.js.map +1 -1
- package/dist/formcombobox.es.js +31 -33
- package/dist/formcombobox.es.js.map +1 -1
- package/dist/formdatepicker.es.js +29 -0
- package/dist/formdatepicker.es.js.map +1 -0
- package/dist/formdaterangepicker.es.js +29 -0
- package/dist/formdaterangepicker.es.js.map +1 -0
- package/dist/formrating.es.js +12 -12
- package/dist/formrating.es.js.map +1 -1
- package/dist/formselect.es.js +17 -17
- package/dist/formselect.es.js.map +1 -1
- package/dist/formtextarea.es.js +29 -0
- package/dist/formtextarea.es.js.map +1 -0
- package/dist/formtimepicker.es.js +29 -0
- package/dist/formtimepicker.es.js.map +1 -0
- package/dist/iconbutton.es.js +9 -9
- package/dist/iconbutton.es.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +144 -136
- package/dist/index.es.js.map +1 -1
- package/dist/lib/hooks/use-mobile.d.ts.map +1 -1
- package/dist/mobiledatepicker.es.js +35 -34
- package/dist/mobiledatepicker.es.js.map +1 -1
- package/dist/mobiledaterangepicker.es.js +54 -49
- package/dist/mobiledaterangepicker.es.js.map +1 -1
- package/dist/mobiletimepicker.es.js +26 -18
- package/dist/mobiletimepicker.es.js.map +1 -1
- package/dist/modal.es.js +10 -10
- package/dist/modal.es.js.map +1 -1
- package/dist/multiselect.es.js +66 -69
- package/dist/multiselect.es.js.map +1 -1
- package/dist/radiogroup.es.js +1 -1
- package/dist/radiogroup.es.js.map +1 -1
- package/dist/rating.es.js +1 -1
- package/dist/rating.es.js.map +1 -1
- package/dist/select.es.js +24 -27
- package/dist/select.es.js.map +1 -1
- package/dist/sheet.es.js +1 -1
- package/dist/sheet.es.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/textarea.es.js +19 -0
- package/dist/textarea.es.js.map +1 -0
- package/dist/timepicker.es.js +8 -19
- package/dist/timepicker.es.js.map +1 -1
- package/dist/toast-components.es.js +2 -2
- package/dist/toast-components.es.js.map +1 -1
- package/dist/use-mobile.es.js +4 -5
- package/dist/use-mobile.es.js.map +1 -1
- package/package.json +4 -2
- package/dist/_commonjshelpers.es.js +0 -7
- package/dist/_commonjshelpers.es.js.map +0 -1
- package/dist/calendaricon.es.js +0 -8
- package/dist/calendaricon.es.js.map +0 -1
- package/dist/checkicon.es.js +0 -8
- package/dist/checkicon.es.js.map +0 -1
- package/dist/chevrondownicon.es.js +0 -8
- package/dist/chevrondownicon.es.js.map +0 -1
- package/dist/chevronlefticon.es.js +0 -8
- package/dist/chevronlefticon.es.js.map +0 -1
- package/dist/chevronrighticon.es.js +0 -8
- package/dist/chevronrighticon.es.js.map +0 -1
- package/dist/chevronsrighticon.es.js +0 -8
- package/dist/chevronsrighticon.es.js.map +0 -1
- package/dist/chevronupicon.es.js +0 -8
- package/dist/chevronupicon.es.js.map +0 -1
- package/dist/circleicon.es.js +0 -8
- package/dist/circleicon.es.js.map +0 -1
- package/dist/clonedeep.es.js +0 -18
- package/dist/clonedeep.es.js.map +0 -1
- package/dist/clonedeep.es2.js +0 -5
- package/dist/clonedeep.es2.js.map +0 -1
- package/dist/closecircleicon.es.js +0 -8
- package/dist/closecircleicon.es.js.map +0 -1
- package/dist/closeicon.es.js +0 -8
- package/dist/closeicon.es.js.map +0 -1
- package/dist/components/Icons/CalendarIcon.d.ts +0 -3
- package/dist/components/Icons/CalendarIcon.d.ts.map +0 -1
- package/dist/components/Icons/CheckIcon.d.ts +0 -3
- package/dist/components/Icons/CheckIcon.d.ts.map +0 -1
- package/dist/components/Icons/ChevronDownIcon.d.ts +0 -3
- package/dist/components/Icons/ChevronDownIcon.d.ts.map +0 -1
- package/dist/components/Icons/ChevronLeftIcon.d.ts +0 -3
- package/dist/components/Icons/ChevronLeftIcon.d.ts.map +0 -1
- package/dist/components/Icons/ChevronRightIcon.d.ts +0 -3
- package/dist/components/Icons/ChevronRightIcon.d.ts.map +0 -1
- package/dist/components/Icons/ChevronUpIcon.d.ts +0 -3
- package/dist/components/Icons/ChevronUpIcon.d.ts.map +0 -1
- package/dist/components/Icons/ChevronsRightIcon.d.ts +0 -3
- package/dist/components/Icons/ChevronsRightIcon.d.ts.map +0 -1
- package/dist/components/Icons/CircleIcon.d.ts +0 -3
- package/dist/components/Icons/CircleIcon.d.ts.map +0 -1
- package/dist/components/Icons/CloseCircleIcon.d.ts +0 -3
- package/dist/components/Icons/CloseCircleIcon.d.ts.map +0 -1
- package/dist/components/Icons/CloseIcon.d.ts +0 -3
- package/dist/components/Icons/CloseIcon.d.ts.map +0 -1
- package/dist/components/Icons/ElipsisHorizontal.d.ts +0 -3
- package/dist/components/Icons/ElipsisHorizontal.d.ts.map +0 -1
- package/dist/components/Icons/ElipsisVerticalIcon.d.ts +0 -3
- package/dist/components/Icons/ElipsisVerticalIcon.d.ts.map +0 -1
- package/dist/components/Icons/HomeIcon.d.ts +0 -3
- package/dist/components/Icons/HomeIcon.d.ts.map +0 -1
- package/dist/components/Icons/MinusIcon.d.ts +0 -3
- package/dist/components/Icons/MinusIcon.d.ts.map +0 -1
- package/dist/components/Icons/PlusIcon.d.ts +0 -3
- package/dist/components/Icons/PlusIcon.d.ts.map +0 -1
- package/dist/components/Icons/PrintIcon.d.ts +0 -3
- package/dist/components/Icons/PrintIcon.d.ts.map +0 -1
- package/dist/components/Icons/RefreshIcon.d.ts +0 -3
- package/dist/components/Icons/RefreshIcon.d.ts.map +0 -1
- package/dist/components/Icons/SearchIcon.d.ts +0 -3
- package/dist/components/Icons/SearchIcon.d.ts.map +0 -1
- package/dist/components/Icons/SnowflakeIcon.d.ts +0 -3
- package/dist/components/Icons/SnowflakeIcon.d.ts.map +0 -1
- package/dist/components/Icons/SpinnerIcon.d.ts +0 -3
- package/dist/components/Icons/SpinnerIcon.d.ts.map +0 -1
- package/dist/components/Icons/StartIcon.d.ts +0 -3
- package/dist/components/Icons/StartIcon.d.ts.map +0 -1
- package/dist/components/Icons/TrashcanIcon.d.ts +0 -3
- package/dist/components/Icons/TrashcanIcon.d.ts.map +0 -1
- package/dist/config.es.js +0 -1066
- package/dist/config.es.js.map +0 -1
- package/dist/default-theme.es.js +0 -22
- package/dist/default-theme.es.js.map +0 -1
- package/dist/default-theme.es2.js +0 -5
- package/dist/default-theme.es2.js.map +0 -1
- package/dist/defaulttheme.es.js +0 -10
- package/dist/defaulttheme.es.js.map +0 -1
- package/dist/elipsishorizontal.es.js +0 -8
- package/dist/elipsishorizontal.es.js.map +0 -1
- package/dist/elipsisverticalicon.es.js +0 -8
- package/dist/elipsisverticalicon.es.js.map +0 -1
- package/dist/minusicon.es.js +0 -8
- package/dist/minusicon.es.js.map +0 -1
- package/dist/printicon.es.js +0 -8
- package/dist/printicon.es.js.map +0 -1
- package/dist/refreshicon.es.js +0 -8
- package/dist/refreshicon.es.js.map +0 -1
- package/dist/searchicon.es.js +0 -8
- package/dist/searchicon.es.js.map +0 -1
- package/dist/snowflakeicon.es.js +0 -8
- package/dist/snowflakeicon.es.js.map +0 -1
- package/dist/spinnericon.es.js +0 -18
- package/dist/spinnericon.es.js.map +0 -1
- package/dist/starticon.es.js +0 -23
- package/dist/starticon.es.js.map +0 -1
- package/dist/trashcanicon.es.js +0 -6
- package/dist/trashcanicon.es.js.map +0 -1
|
@@ -1,83 +1,88 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import * as
|
|
3
|
-
import { VisuallyHidden as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { jsxs as i, Fragment as w, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import * as f from "react";
|
|
3
|
+
import { VisuallyHidden as R } from "@radix-ui/react-visually-hidden";
|
|
4
|
+
import { Calendar as F } from "@trsys-tech/matrix-icons";
|
|
5
|
+
import { cn as h } from "./utils.es.js";
|
|
6
|
+
import { Calendar as O } from "./calendar.es.js";
|
|
6
7
|
import { Button as s } from "./button.es.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
placeholder: h,
|
|
8
|
+
import { Dialog as P, DialogContent as $, DialogHeader as A, DialogTitle as H, DialogDescription as B } from "./dialog.es.js";
|
|
9
|
+
import { formatDate as l } from "./format.es.js";
|
|
10
|
+
const L = ({
|
|
11
|
+
formatStr: n,
|
|
12
|
+
selected: r,
|
|
13
|
+
placeholder: c,
|
|
14
14
|
className: p,
|
|
15
15
|
calendarClassName: g,
|
|
16
|
-
onDayClick:
|
|
17
|
-
cancelText:
|
|
16
|
+
onDayClick: y,
|
|
17
|
+
cancelText: x,
|
|
18
18
|
applyText: u,
|
|
19
19
|
onSelect: N,
|
|
20
|
+
fromText: M,
|
|
21
|
+
toText: b,
|
|
20
22
|
...v
|
|
21
23
|
}) => {
|
|
22
|
-
const [
|
|
23
|
-
|
|
24
|
-
},
|
|
25
|
-
m(!1), a(
|
|
26
|
-
},
|
|
24
|
+
const [C, m] = f.useState(!1), [e, a] = f.useState(r), T = (t, k, j) => {
|
|
25
|
+
y?.(t, k, j), !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
|
+
}, d = () => {
|
|
27
|
+
m(!1), a(r);
|
|
28
|
+
}, D = () => {
|
|
27
29
|
N?.(e), m(!1);
|
|
28
30
|
};
|
|
29
|
-
return /* @__PURE__ */
|
|
30
|
-
/* @__PURE__ */
|
|
31
|
+
return /* @__PURE__ */ i(w, { children: [
|
|
32
|
+
/* @__PURE__ */ i(
|
|
31
33
|
s,
|
|
32
34
|
{
|
|
33
35
|
variant: "outline",
|
|
34
|
-
className:
|
|
35
|
-
"border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start",
|
|
36
|
-
!
|
|
36
|
+
className: h(
|
|
37
|
+
"w-full border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start",
|
|
38
|
+
!r && "text-muted-foreground",
|
|
37
39
|
p
|
|
38
40
|
),
|
|
39
41
|
onClick: () => m(!0),
|
|
42
|
+
"aria-label": r ? `Selected date: ${r?.from ? l(r.from, n ?? "yyyy/MM/dd") : ""} - ${r?.to ? l(r.to, n ?? "yyyy/MM/dd") : ""}` : c,
|
|
40
43
|
children: [
|
|
41
|
-
|
|
42
|
-
/* @__PURE__ */
|
|
43
|
-
"From
|
|
44
|
-
|
|
44
|
+
r ? /* @__PURE__ */ i("div", { className: "grid grid-cols-2 flex-1 justify-items-start", children: [
|
|
45
|
+
/* @__PURE__ */ i("span", { children: [
|
|
46
|
+
M ?? "From",
|
|
47
|
+
": ",
|
|
48
|
+
r?.from ? l(r.from, n ?? "yyyy/MM/dd") : "-"
|
|
45
49
|
] }),
|
|
46
50
|
" ",
|
|
47
|
-
/* @__PURE__ */
|
|
48
|
-
"To
|
|
49
|
-
|
|
51
|
+
/* @__PURE__ */ i("span", { children: [
|
|
52
|
+
b ?? "To",
|
|
53
|
+
": ",
|
|
54
|
+
r?.to ? l(r.to, n ?? "yyyy/MM/dd") : "-"
|
|
50
55
|
] })
|
|
51
|
-
] }) : /* @__PURE__ */
|
|
52
|
-
/* @__PURE__ */
|
|
56
|
+
] }) : /* @__PURE__ */ o("span", { children: c ?? "Pick a Range" }),
|
|
57
|
+
/* @__PURE__ */ o(F, { className: "mr-2 h-5 w-4 ms-auto" })
|
|
53
58
|
]
|
|
54
59
|
}
|
|
55
60
|
),
|
|
56
|
-
/* @__PURE__ */
|
|
57
|
-
/* @__PURE__ */
|
|
58
|
-
/* @__PURE__ */
|
|
59
|
-
/* @__PURE__ */
|
|
60
|
-
/* @__PURE__ */
|
|
61
|
-
/* @__PURE__ */
|
|
61
|
+
/* @__PURE__ */ o(P, { open: C, onOpenChange: d, children: /* @__PURE__ */ i($, { 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: [
|
|
62
|
+
/* @__PURE__ */ i(A, { children: [
|
|
63
|
+
/* @__PURE__ */ o(H, { asChild: !0, children: /* @__PURE__ */ i("div", { className: "grid grid-cols-2 border-b border-b-gray-200 mt-3", children: [
|
|
64
|
+
/* @__PURE__ */ i("div", { className: "text-sm font-bold space-y-1 border-e border-e-gray-200 p-4", children: [
|
|
65
|
+
/* @__PURE__ */ o("h5", { className: "text-text-300 font-medium text-xs", children: "From" }),
|
|
66
|
+
/* @__PURE__ */ o("h6", { className: "", children: e?.from ? l(e.from, n ?? "eee, MMM dd") : /* @__PURE__ */ o("pre", { children: " " }) })
|
|
62
67
|
] }),
|
|
63
|
-
/* @__PURE__ */
|
|
64
|
-
/* @__PURE__ */
|
|
65
|
-
/* @__PURE__ */
|
|
68
|
+
/* @__PURE__ */ i("div", { className: "text-sm font-bold space-y-1 p-4 flex flex-col justify-center", children: [
|
|
69
|
+
/* @__PURE__ */ o("h5", { className: "text-text-300 font-medium text-xs", children: "To" }),
|
|
70
|
+
/* @__PURE__ */ o("h6", { className: "", children: e?.to ? l(e.to, n ?? "eee, MMM dd") : /* @__PURE__ */ o("pre", { children: " " }) })
|
|
66
71
|
] })
|
|
67
72
|
] }) }),
|
|
68
|
-
/* @__PURE__ */
|
|
73
|
+
/* @__PURE__ */ o(R, { children: /* @__PURE__ */ o(B, { children: "Date Picker" }) })
|
|
69
74
|
] }),
|
|
70
|
-
/* @__PURE__ */
|
|
71
|
-
/* @__PURE__ */
|
|
72
|
-
/* @__PURE__ */
|
|
73
|
-
/* @__PURE__ */
|
|
74
|
-
/* @__PURE__ */
|
|
75
|
+
/* @__PURE__ */ i("div", { className: "flex-1 flex flex-col items-center p-4", children: [
|
|
76
|
+
/* @__PURE__ */ o(O, { ...v, mode: "range", selected: r, onDayClick: T, className: h("p-0", g) }),
|
|
77
|
+
/* @__PURE__ */ i("div", { className: "flex justify-center items-center gap-4 mt-auto w-full", children: [
|
|
78
|
+
/* @__PURE__ */ o(s, { variant: "text", className: "flex-1 h-10", onClick: d, children: x ?? "Cancel" }),
|
|
79
|
+
/* @__PURE__ */ o(s, { variant: "primary", className: "flex-1 h-10", onClick: D, children: u ?? "Apply" })
|
|
75
80
|
] })
|
|
76
81
|
] })
|
|
77
82
|
] }) })
|
|
78
83
|
] });
|
|
79
84
|
};
|
|
80
85
|
export {
|
|
81
|
-
|
|
86
|
+
L as MobileDateRangePicker
|
|
82
87
|
};
|
|
83
88
|
//# 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 { 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 {
|
|
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":"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"}
|
|
@@ -1,29 +1,37 @@
|
|
|
1
|
-
import { jsxs as t, jsx as
|
|
2
|
-
import { useState as
|
|
1
|
+
import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { useState as c } from "react";
|
|
3
3
|
import { VisuallyHidden as m } from "@radix-ui/react-visually-hidden";
|
|
4
|
-
import { cn as
|
|
5
|
-
import { Button as
|
|
4
|
+
import { cn as d } from "./utils.es.js";
|
|
5
|
+
import { Button as u } from "./button.es.js";
|
|
6
6
|
import { TimePickerContent as f } from "./timepickercontent.es.js";
|
|
7
|
-
import { SwipableDrawer as
|
|
8
|
-
const N = ({
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
import { SwipableDrawer as h, SwipableDrawerContent as w, SwipableDrawerHeader as S, SwipableDrawerTitle as b, SwipableDrawerDescription as x } from "./swipabledrawer.es.js";
|
|
8
|
+
const N = ({
|
|
9
|
+
time: r,
|
|
10
|
+
onTimeChange: n,
|
|
11
|
+
className: o,
|
|
12
|
+
slotsProps: l,
|
|
13
|
+
placeholder: p = "Pick a time",
|
|
14
|
+
...s
|
|
15
|
+
}) => {
|
|
16
|
+
const [a, i] = c(!1);
|
|
17
|
+
return /* @__PURE__ */ t(h, { open: a, onOpenChange: i, children: [
|
|
18
|
+
/* @__PURE__ */ e(
|
|
19
|
+
u,
|
|
13
20
|
{
|
|
14
21
|
variant: "outline",
|
|
15
|
-
className:
|
|
16
|
-
onClick: () =>
|
|
17
|
-
|
|
18
|
-
|
|
22
|
+
className: d("w-full border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start", o),
|
|
23
|
+
onClick: () => i(!0),
|
|
24
|
+
"aria-label": r?.hour ? `Selected time: ${r.hour}:${r.minute} ${r.ampm}` : p,
|
|
25
|
+
...s,
|
|
26
|
+
children: `${r?.hour?.toString()?.padStart(2, "0") ?? "--"} : ${r?.minute?.toString()?.padStart(2, "0") ?? "--"} ${r?.ampm ?? "--"}`
|
|
19
27
|
}
|
|
20
28
|
),
|
|
21
29
|
/* @__PURE__ */ t(w, { children: [
|
|
22
|
-
/* @__PURE__ */
|
|
23
|
-
/* @__PURE__ */
|
|
24
|
-
/* @__PURE__ */
|
|
30
|
+
/* @__PURE__ */ e(S, { className: "p-0", children: /* @__PURE__ */ t(m, { children: [
|
|
31
|
+
/* @__PURE__ */ e(b, { className: "text-primary text-lg font-bold text-start", children: " " }),
|
|
32
|
+
/* @__PURE__ */ e(x, { children: " " })
|
|
25
33
|
] }) }),
|
|
26
|
-
/* @__PURE__ */
|
|
34
|
+
/* @__PURE__ */ e(f, { isOpen: a, onTimeChange: n, time: r, slotsProps: l })
|
|
27
35
|
] })
|
|
28
36
|
] });
|
|
29
37
|
};
|
|
@@ -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 slotsProps?: {\r\n content?: HTMLAttributes<HTMLDivElement>;\r\n };\r\n};\r\n\r\nconst MobileTimePicker: React.FC<MobileTimePickerProps> = ({
|
|
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":";;;;;;;AAuBA,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,uFAAuFX,CAAS;AAAA,QAC9G,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/modal.es.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as t, jsxs as r } from "react/jsx-runtime";
|
|
2
|
-
import * as
|
|
2
|
+
import * as i from "react";
|
|
3
|
+
import { XMark as w } from "@trsys-tech/matrix-icons";
|
|
3
4
|
import * as o from "@radix-ui/react-dialog";
|
|
4
5
|
import { cn as s } from "./utils.es.js";
|
|
5
|
-
|
|
6
|
-
const b = o.Portal, v = o.Close, c = n.forwardRef(({ className: e, ...a }, l) => /* @__PURE__ */ t(
|
|
6
|
+
const b = o.Portal, v = o.Close, c = i.forwardRef(({ className: e, ...a }, l) => /* @__PURE__ */ t(
|
|
7
7
|
o.Overlay,
|
|
8
8
|
{
|
|
9
9
|
ref: l,
|
|
@@ -19,14 +19,14 @@ const m = ({ className: e, ...a }) => /* @__PURE__ */ t("div", { className: s("f
|
|
|
19
19
|
m.displayName = "DialogHeader";
|
|
20
20
|
const M = ({ className: e, ...a }) => /* @__PURE__ */ t("div", { className: s("flex flex-row justify-end gap-2", e), ...a });
|
|
21
21
|
M.displayName = "DialogFooter";
|
|
22
|
-
const p =
|
|
22
|
+
const p = i.forwardRef(
|
|
23
23
|
({ className: e, ...a }, l) => /* @__PURE__ */ t(o.Title, { ref: l, className: s("text-lg font-semibold leading-none tracking-tight", e), ...a })
|
|
24
24
|
);
|
|
25
25
|
p.displayName = o.Title.displayName;
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
const P =
|
|
29
|
-
const { title: l, className: f, children: g, fullScreen:
|
|
26
|
+
const D = i.forwardRef(({ className: e, ...a }, l) => /* @__PURE__ */ t(o.Description, { ref: l, className: s("text-sm text-muted-foreground", e), ...a }));
|
|
27
|
+
D.displayName = o.Description.displayName;
|
|
28
|
+
const P = i.forwardRef((e, a) => {
|
|
29
|
+
const { title: l, className: f, children: g, fullScreen: n, open: u, onOpenChange: N, defaultOpen: x, modal: h, slotProps: d, ...y } = e;
|
|
30
30
|
return /* @__PURE__ */ t(o.Root, { defaultOpen: x, modal: h, open: u, onOpenChange: N, children: /* @__PURE__ */ r(b, { ...d?.portal ?? {}, children: [
|
|
31
31
|
/* @__PURE__ */ t(c, {}),
|
|
32
32
|
/* @__PURE__ */ r(
|
|
@@ -35,7 +35,7 @@ const P = n.forwardRef((e, a) => {
|
|
|
35
35
|
ref: a,
|
|
36
36
|
className: s(
|
|
37
37
|
"fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-50 flex flex-col gap-2 w-full max-w-lg p-4 border bg-background shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
|
|
38
|
-
|
|
38
|
+
n ? "w-screen h-screen" : "max-w-lg",
|
|
39
39
|
f
|
|
40
40
|
),
|
|
41
41
|
...y,
|
|
@@ -62,7 +62,7 @@ const P = n.forwardRef((e, a) => {
|
|
|
62
62
|
"hr",
|
|
63
63
|
{
|
|
64
64
|
...d?.divider ?? {},
|
|
65
|
-
className: s("w-full border-muted -mt-[1px] pb-2",
|
|
65
|
+
className: s("w-full border-muted -mt-[1px] pb-2", n && "w-screen -mx-4", d?.divider?.className)
|
|
66
66
|
}
|
|
67
67
|
),
|
|
68
68
|
g
|
package/dist/modal.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.es.js","sources":["../src/components/modal/Modal.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\
|
|
1
|
+
{"version":3,"file":"modal.es.js","sources":["../src/components/modal/Modal.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { XMark } from \"@trsys-tech/matrix-icons\";\r\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\n\r\nconst ModalPortal = DialogPrimitive.Portal;\r\n\r\nconst ModalClose = DialogPrimitive.Close;\r\n\r\nconst ModalOverlay = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Overlay>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\r\n>(({ className, ...props }, ref) => (\r\n <DialogPrimitive.Overlay\r\n ref={ref}\r\n className={cn(\r\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n));\r\nModalOverlay.displayName = DialogPrimitive.Overlay.displayName;\r\n\r\nconst ModalHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div className={cn(\"flex flex-row justify-between\", className)} {...props} />\r\n);\r\nModalHeader.displayName = \"DialogHeader\";\r\n\r\nconst ModalFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div className={cn(\"flex flex-row justify-end gap-2\", className)} {...props} />\r\n);\r\nModalFooter.displayName = \"DialogFooter\";\r\ntype ModalFooterProps = React.ComponentProps<typeof ModalFooter>;\r\n\r\nconst ModalTitle = React.forwardRef<React.ElementRef<typeof DialogPrimitive.Title>, React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>>(\r\n ({ className, ...props }, ref) => (\r\n <DialogPrimitive.Title ref={ref} className={cn(\"text-lg font-semibold leading-none tracking-tight\", className)} {...props} />\r\n ),\r\n);\r\nModalTitle.displayName = DialogPrimitive.Title.displayName;\r\n\r\nconst ModalDescription = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Description>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\r\n>(({ className, ...props }, ref) => <DialogPrimitive.Description ref={ref} className={cn(\"text-sm text-muted-foreground\", className)} {...props} />);\r\nModalDescription.displayName = DialogPrimitive.Description.displayName;\r\n\r\ninterface ModalProps extends DialogPrimitive.DialogProps, Omit<DialogPrimitive.DialogContentProps, \"title\"> {\r\n title: React.ReactNode;\r\n fullScreen?: boolean;\r\n slotProps?: {\r\n title?: DialogPrimitive.DialogTitleProps;\r\n close?: DialogPrimitive.DialogCloseProps;\r\n header?: React.ComponentProps<typeof ModalHeader>;\r\n portal?: DialogPrimitive.DialogPortalProps;\r\n divider?: React.ComponentProps<\"hr\">;\r\n };\r\n}\r\n\r\nconst Modal = React.forwardRef<React.ElementRef<typeof DialogPrimitive.Content>, ModalProps>((props, ref) => {\r\n const { title, className, children, fullScreen, open, onOpenChange, defaultOpen, modal, slotProps, ...restProps } = props;\r\n\r\n return (\r\n <DialogPrimitive.Root defaultOpen={defaultOpen} modal={modal} open={open} onOpenChange={onOpenChange}>\r\n <ModalPortal {...(slotProps?.portal ?? {})}>\r\n <ModalOverlay />\r\n <DialogPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n \"fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-50 flex flex-col gap-2 w-full max-w-lg p-4 border bg-background shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\r\n fullScreen ? \"w-screen h-screen\" : \"max-w-lg\",\r\n className,\r\n )}\r\n {...restProps}\r\n aria-describedby={undefined}\r\n >\r\n <ModalHeader {...(slotProps?.header ?? {})}>\r\n <ModalTitle {...(slotProps?.title ?? {})}>{title}</ModalTitle>\r\n <ModalClose\r\n {...(slotProps?.close ?? {})}\r\n className={cn(\r\n \"rounded-sm hover:bg-primary-50 hover:ring-2 hover:ring-primary-50 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground mt-0\",\r\n slotProps?.close?.className,\r\n )}\r\n >\r\n <XMark className=\"h-5 w-5\" />\r\n <span className=\"sr-only\">Close</span>\r\n </ModalClose>\r\n </ModalHeader>\r\n {/* Divider: the padding and margin is because of a bug in chrome causes the border to be shown with more height than expected */}\r\n <hr\r\n {...(slotProps?.divider ?? {})}\r\n className={cn(\"w-full border-muted -mt-[1px] pb-2\", fullScreen && \"w-screen -mx-4\", slotProps?.divider?.className)}\r\n />\r\n {children}\r\n </DialogPrimitive.Content>\r\n </ModalPortal>\r\n </DialogPrimitive.Root>\r\n );\r\n});\r\n\r\nexport { Modal, ModalFooter, type ModalProps, type ModalFooterProps };\r\n"],"names":["ModalPortal","DialogPrimitive","ModalClose","ModalOverlay","React","className","props","ref","jsx","cn","ModalHeader","ModalFooter","ModalTitle","ModalDescription","Modal","title","children","fullScreen","open","onOpenChange","defaultOpen","modal","slotProps","restProps","jsxs","XMark"],"mappings":"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"}
|