@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.
Files changed (210) hide show
  1. package/dist/breadcrumb.es.js +18 -19
  2. package/dist/breadcrumb.es.js.map +1 -1
  3. package/dist/button.es.js +16 -16
  4. package/dist/button.es.js.map +1 -1
  5. package/dist/calendar.es.js +21 -23
  6. package/dist/calendar.es.js.map +1 -1
  7. package/dist/checkbox.es.js +9 -10
  8. package/dist/checkbox.es.js.map +1 -1
  9. package/dist/chip.es.js +4 -4
  10. package/dist/chip.es.js.map +1 -1
  11. package/dist/command.es.js +1 -1
  12. package/dist/command.es.js.map +1 -1
  13. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
  14. package/dist/components/button/Button.d.ts.map +1 -1
  15. package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
  16. package/dist/components/command/Command.d.ts.map +1 -1
  17. package/dist/components/context-menu/ContextMenu.d.ts.map +1 -1
  18. package/dist/components/data-grid/DataGrid.d.ts.map +1 -1
  19. package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
  20. package/dist/components/date-picker/DateRangePicker.d.ts.map +1 -1
  21. package/dist/components/date-picker/DesktopDatePicker.d.ts.map +1 -1
  22. package/dist/components/date-picker/DesktopDateRangePicker.d.ts +2 -0
  23. package/dist/components/date-picker/DesktopDateRangePicker.d.ts.map +1 -1
  24. package/dist/components/date-picker/DesktopTimePicker.d.ts +1 -0
  25. package/dist/components/date-picker/DesktopTimePicker.d.ts.map +1 -1
  26. package/dist/components/date-picker/MobileDatePicker.d.ts.map +1 -1
  27. package/dist/components/date-picker/MobileDateRangePicker.d.ts +2 -0
  28. package/dist/components/date-picker/MobileDateRangePicker.d.ts.map +1 -1
  29. package/dist/components/date-picker/MobileTimePicker.d.ts +1 -0
  30. package/dist/components/date-picker/MobileTimePicker.d.ts.map +1 -1
  31. package/dist/components/date-picker/TimePicker.d.ts.map +1 -1
  32. package/dist/components/date-picker/calendar.d.ts.map +1 -1
  33. package/dist/components/drawer/Drawer.d.ts +0 -1
  34. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  35. package/dist/components/form-combobox/FormCombobox.d.ts.map +1 -1
  36. package/dist/components/form-date-picker/FormDatePicker.d.ts +18 -0
  37. package/dist/components/form-date-picker/FormDatePicker.d.ts.map +1 -0
  38. package/dist/components/form-date-range-picker/FormDateRangePicker.d.ts +18 -0
  39. package/dist/components/form-date-range-picker/FormDateRangePicker.d.ts.map +1 -0
  40. package/dist/components/form-rating/FormRating.d.ts.map +1 -1
  41. package/dist/components/form-select/FormSelect.d.ts.map +1 -1
  42. package/dist/components/form-time-picker/FormTimePicker.d.ts +18 -0
  43. package/dist/components/form-time-picker/FormTimePicker.d.ts.map +1 -0
  44. package/dist/components/modal/Modal.d.ts.map +1 -1
  45. package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
  46. package/dist/components/radio-group/RadioGroup.d.ts.map +1 -1
  47. package/dist/components/select/Select.d.ts.map +1 -1
  48. package/dist/datagrid.es.js +66 -72
  49. package/dist/datagrid.es.js.map +1 -1
  50. package/dist/datepicker.es.js +8 -21
  51. package/dist/datepicker.es.js.map +1 -1
  52. package/dist/daterangepicker.es.js +7 -18
  53. package/dist/daterangepicker.es.js.map +1 -1
  54. package/dist/desktopdatepicker.es.js +35 -34
  55. package/dist/desktopdatepicker.es.js.map +1 -1
  56. package/dist/desktopdaterangepicker.es.js +40 -35
  57. package/dist/desktopdaterangepicker.es.js.map +1 -1
  58. package/dist/desktoptimepicker.es.js +23 -15
  59. package/dist/desktoptimepicker.es.js.map +1 -1
  60. package/dist/dialog.es.js +1 -1
  61. package/dist/dialog.es.js.map +1 -1
  62. package/dist/drawer.es.js +34 -43
  63. package/dist/drawer.es.js.map +1 -1
  64. package/dist/formcombobox.es.js +31 -33
  65. package/dist/formcombobox.es.js.map +1 -1
  66. package/dist/formdatepicker.es.js +29 -0
  67. package/dist/formdatepicker.es.js.map +1 -0
  68. package/dist/formdaterangepicker.es.js +29 -0
  69. package/dist/formdaterangepicker.es.js.map +1 -0
  70. package/dist/formrating.es.js +12 -12
  71. package/dist/formrating.es.js.map +1 -1
  72. package/dist/formselect.es.js +17 -17
  73. package/dist/formselect.es.js.map +1 -1
  74. package/dist/formtextarea.es.js +29 -0
  75. package/dist/formtextarea.es.js.map +1 -0
  76. package/dist/formtimepicker.es.js +29 -0
  77. package/dist/formtimepicker.es.js.map +1 -0
  78. package/dist/iconbutton.es.js +9 -9
  79. package/dist/iconbutton.es.js.map +1 -1
  80. package/dist/index.d.ts +4 -0
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.es.js +144 -136
  83. package/dist/index.es.js.map +1 -1
  84. package/dist/lib/hooks/use-mobile.d.ts.map +1 -1
  85. package/dist/mobiledatepicker.es.js +35 -34
  86. package/dist/mobiledatepicker.es.js.map +1 -1
  87. package/dist/mobiledaterangepicker.es.js +54 -49
  88. package/dist/mobiledaterangepicker.es.js.map +1 -1
  89. package/dist/mobiletimepicker.es.js +26 -18
  90. package/dist/mobiletimepicker.es.js.map +1 -1
  91. package/dist/modal.es.js +10 -10
  92. package/dist/modal.es.js.map +1 -1
  93. package/dist/multiselect.es.js +66 -69
  94. package/dist/multiselect.es.js.map +1 -1
  95. package/dist/radiogroup.es.js +1 -1
  96. package/dist/radiogroup.es.js.map +1 -1
  97. package/dist/rating.es.js +1 -1
  98. package/dist/rating.es.js.map +1 -1
  99. package/dist/select.es.js +24 -27
  100. package/dist/select.es.js.map +1 -1
  101. package/dist/sheet.es.js +1 -1
  102. package/dist/sheet.es.js.map +1 -1
  103. package/dist/style.css +1 -1
  104. package/dist/textarea.es.js +19 -0
  105. package/dist/textarea.es.js.map +1 -0
  106. package/dist/timepicker.es.js +8 -19
  107. package/dist/timepicker.es.js.map +1 -1
  108. package/dist/toast-components.es.js +2 -2
  109. package/dist/toast-components.es.js.map +1 -1
  110. package/dist/use-mobile.es.js +4 -5
  111. package/dist/use-mobile.es.js.map +1 -1
  112. package/package.json +4 -2
  113. package/dist/_commonjshelpers.es.js +0 -7
  114. package/dist/_commonjshelpers.es.js.map +0 -1
  115. package/dist/calendaricon.es.js +0 -8
  116. package/dist/calendaricon.es.js.map +0 -1
  117. package/dist/checkicon.es.js +0 -8
  118. package/dist/checkicon.es.js.map +0 -1
  119. package/dist/chevrondownicon.es.js +0 -8
  120. package/dist/chevrondownicon.es.js.map +0 -1
  121. package/dist/chevronlefticon.es.js +0 -8
  122. package/dist/chevronlefticon.es.js.map +0 -1
  123. package/dist/chevronrighticon.es.js +0 -8
  124. package/dist/chevronrighticon.es.js.map +0 -1
  125. package/dist/chevronsrighticon.es.js +0 -8
  126. package/dist/chevronsrighticon.es.js.map +0 -1
  127. package/dist/chevronupicon.es.js +0 -8
  128. package/dist/chevronupicon.es.js.map +0 -1
  129. package/dist/circleicon.es.js +0 -8
  130. package/dist/circleicon.es.js.map +0 -1
  131. package/dist/clonedeep.es.js +0 -18
  132. package/dist/clonedeep.es.js.map +0 -1
  133. package/dist/clonedeep.es2.js +0 -5
  134. package/dist/clonedeep.es2.js.map +0 -1
  135. package/dist/closecircleicon.es.js +0 -8
  136. package/dist/closecircleicon.es.js.map +0 -1
  137. package/dist/closeicon.es.js +0 -8
  138. package/dist/closeicon.es.js.map +0 -1
  139. package/dist/components/Icons/CalendarIcon.d.ts +0 -3
  140. package/dist/components/Icons/CalendarIcon.d.ts.map +0 -1
  141. package/dist/components/Icons/CheckIcon.d.ts +0 -3
  142. package/dist/components/Icons/CheckIcon.d.ts.map +0 -1
  143. package/dist/components/Icons/ChevronDownIcon.d.ts +0 -3
  144. package/dist/components/Icons/ChevronDownIcon.d.ts.map +0 -1
  145. package/dist/components/Icons/ChevronLeftIcon.d.ts +0 -3
  146. package/dist/components/Icons/ChevronLeftIcon.d.ts.map +0 -1
  147. package/dist/components/Icons/ChevronRightIcon.d.ts +0 -3
  148. package/dist/components/Icons/ChevronRightIcon.d.ts.map +0 -1
  149. package/dist/components/Icons/ChevronUpIcon.d.ts +0 -3
  150. package/dist/components/Icons/ChevronUpIcon.d.ts.map +0 -1
  151. package/dist/components/Icons/ChevronsRightIcon.d.ts +0 -3
  152. package/dist/components/Icons/ChevronsRightIcon.d.ts.map +0 -1
  153. package/dist/components/Icons/CircleIcon.d.ts +0 -3
  154. package/dist/components/Icons/CircleIcon.d.ts.map +0 -1
  155. package/dist/components/Icons/CloseCircleIcon.d.ts +0 -3
  156. package/dist/components/Icons/CloseCircleIcon.d.ts.map +0 -1
  157. package/dist/components/Icons/CloseIcon.d.ts +0 -3
  158. package/dist/components/Icons/CloseIcon.d.ts.map +0 -1
  159. package/dist/components/Icons/ElipsisHorizontal.d.ts +0 -3
  160. package/dist/components/Icons/ElipsisHorizontal.d.ts.map +0 -1
  161. package/dist/components/Icons/ElipsisVerticalIcon.d.ts +0 -3
  162. package/dist/components/Icons/ElipsisVerticalIcon.d.ts.map +0 -1
  163. package/dist/components/Icons/HomeIcon.d.ts +0 -3
  164. package/dist/components/Icons/HomeIcon.d.ts.map +0 -1
  165. package/dist/components/Icons/MinusIcon.d.ts +0 -3
  166. package/dist/components/Icons/MinusIcon.d.ts.map +0 -1
  167. package/dist/components/Icons/PlusIcon.d.ts +0 -3
  168. package/dist/components/Icons/PlusIcon.d.ts.map +0 -1
  169. package/dist/components/Icons/PrintIcon.d.ts +0 -3
  170. package/dist/components/Icons/PrintIcon.d.ts.map +0 -1
  171. package/dist/components/Icons/RefreshIcon.d.ts +0 -3
  172. package/dist/components/Icons/RefreshIcon.d.ts.map +0 -1
  173. package/dist/components/Icons/SearchIcon.d.ts +0 -3
  174. package/dist/components/Icons/SearchIcon.d.ts.map +0 -1
  175. package/dist/components/Icons/SnowflakeIcon.d.ts +0 -3
  176. package/dist/components/Icons/SnowflakeIcon.d.ts.map +0 -1
  177. package/dist/components/Icons/SpinnerIcon.d.ts +0 -3
  178. package/dist/components/Icons/SpinnerIcon.d.ts.map +0 -1
  179. package/dist/components/Icons/StartIcon.d.ts +0 -3
  180. package/dist/components/Icons/StartIcon.d.ts.map +0 -1
  181. package/dist/components/Icons/TrashcanIcon.d.ts +0 -3
  182. package/dist/components/Icons/TrashcanIcon.d.ts.map +0 -1
  183. package/dist/config.es.js +0 -1066
  184. package/dist/config.es.js.map +0 -1
  185. package/dist/default-theme.es.js +0 -22
  186. package/dist/default-theme.es.js.map +0 -1
  187. package/dist/default-theme.es2.js +0 -5
  188. package/dist/default-theme.es2.js.map +0 -1
  189. package/dist/defaulttheme.es.js +0 -10
  190. package/dist/defaulttheme.es.js.map +0 -1
  191. package/dist/elipsishorizontal.es.js +0 -8
  192. package/dist/elipsishorizontal.es.js.map +0 -1
  193. package/dist/elipsisverticalicon.es.js +0 -8
  194. package/dist/elipsisverticalicon.es.js.map +0 -1
  195. package/dist/minusicon.es.js +0 -8
  196. package/dist/minusicon.es.js.map +0 -1
  197. package/dist/printicon.es.js +0 -8
  198. package/dist/printicon.es.js.map +0 -1
  199. package/dist/refreshicon.es.js +0 -8
  200. package/dist/refreshicon.es.js.map +0 -1
  201. package/dist/searchicon.es.js +0 -8
  202. package/dist/searchicon.es.js.map +0 -1
  203. package/dist/snowflakeicon.es.js +0 -8
  204. package/dist/snowflakeicon.es.js.map +0 -1
  205. package/dist/spinnericon.es.js +0 -18
  206. package/dist/spinnericon.es.js.map +0 -1
  207. package/dist/starticon.es.js +0 -23
  208. package/dist/starticon.es.js.map +0 -1
  209. package/dist/trashcanicon.es.js +0 -6
  210. package/dist/trashcanicon.es.js.map +0 -1
@@ -1,83 +1,88 @@
1
- import { jsxs as o, Fragment as k, jsx as r } from "react/jsx-runtime";
2
- import * as d from "react";
3
- import { VisuallyHidden as j } from "@radix-ui/react-visually-hidden";
4
- import { cn as f } from "./utils.es.js";
5
- import { Calendar as w } from "./calendar.es.js";
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 { CalendarIcon as R } from "./calendaricon.es.js";
8
- import { Dialog as F, DialogContent as O, DialogHeader as P, DialogTitle as A, DialogDescription as H } from "./dialog.es.js";
9
- import { formatDate as n } from "./format.es.js";
10
- const K = ({
11
- formatStr: l,
12
- selected: i,
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: x,
17
- cancelText: y,
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 [T, m] = d.useState(!1), [e, a] = d.useState(i), b = (t, D, M) => {
23
- x?.(t, D, M), !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 });
24
- }, c = () => {
25
- m(!1), a(i);
26
- }, C = () => {
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__ */ o(k, { children: [
30
- /* @__PURE__ */ o(
31
+ return /* @__PURE__ */ i(w, { children: [
32
+ /* @__PURE__ */ i(
31
33
  s,
32
34
  {
33
35
  variant: "outline",
34
- className: f(
35
- "border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start",
36
- !i && "text-muted-foreground",
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
- i ? /* @__PURE__ */ o("div", { className: "grid grid-cols-2 flex-1 justify-items-start", children: [
42
- /* @__PURE__ */ o("span", { children: [
43
- "From: ",
44
- i?.from ? n(i.from, l ?? "yyyy/MM/dd") : "-"
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__ */ o("span", { children: [
48
- "To: ",
49
- i?.to ? n(i.to, l ?? "yyyy/MM/dd") : "-"
51
+ /* @__PURE__ */ i("span", { children: [
52
+ b ?? "To",
53
+ ": ",
54
+ r?.to ? l(r.to, n ?? "yyyy/MM/dd") : "-"
50
55
  ] })
51
- ] }) : /* @__PURE__ */ r("span", { children: h ?? "Pick a Range" }),
52
- /* @__PURE__ */ r(R, { className: "mr-2 h-5 w-4 ms-auto" })
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__ */ r(F, { open: T, onOpenChange: c, children: /* @__PURE__ */ o(O, { 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: [
57
- /* @__PURE__ */ o(P, { children: [
58
- /* @__PURE__ */ r(A, { asChild: !0, children: /* @__PURE__ */ o("div", { className: "grid grid-cols-2 border-b border-b-gray-200 mt-3", children: [
59
- /* @__PURE__ */ o("div", { className: "text-sm font-bold space-y-1 border-e border-e-gray-200 p-4", children: [
60
- /* @__PURE__ */ r("h5", { className: "text-text-300 font-medium text-xs", children: "From" }),
61
- /* @__PURE__ */ r("h6", { className: "", children: e?.from ? n(e.from, l ?? "eee, MMM dd") : /* @__PURE__ */ r("pre", { children: " " }) })
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__ */ o("div", { className: "text-sm font-bold space-y-1 p-4 flex flex-col justify-center", children: [
64
- /* @__PURE__ */ r("h5", { className: "text-text-300 font-medium text-xs", children: "To" }),
65
- /* @__PURE__ */ r("h6", { className: "", children: e?.to ? n(e.to, l ?? "eee, MMM dd") : /* @__PURE__ */ r("pre", { children: " " }) })
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__ */ r(j, { children: /* @__PURE__ */ r(H, { children: "Date Picker" }) })
73
+ /* @__PURE__ */ o(R, { children: /* @__PURE__ */ o(B, { children: "Date Picker" }) })
69
74
  ] }),
70
- /* @__PURE__ */ o("div", { className: "flex-1 flex flex-col items-center p-4", children: [
71
- /* @__PURE__ */ r(w, { ...v, mode: "range", selected: i, onDayClick: b, className: f("p-0", g) }),
72
- /* @__PURE__ */ o("div", { className: "flex justify-center items-center gap-4 mt-auto w-full", children: [
73
- /* @__PURE__ */ r(s, { variant: "text", className: "flex-1 h-10", onClick: c, children: y ?? "Cancel" }),
74
- /* @__PURE__ */ r(s, { variant: "primary", className: "flex-1 h-10", onClick: C, children: u ?? "Apply" })
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
- K as MobileDateRangePicker
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 { CalendarIcon } from \"../Icons/CalendarIcon\";\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 };\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\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 \"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 >\r\n {selected ? (\r\n <div className=\"grid grid-cols-2 flex-1 justify-items-start\">\r\n <span>From: {selected?.from ? format(selected.from, formatStr ?? \"yyyy/MM/dd\") : \"-\"}</span>{\" \"}\r\n <span>To: {selected?.to ? format(selected.to, formatStr ?? \"yyyy/MM/dd\") : \"-\"}</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","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 };\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 r } from "react/jsx-runtime";
2
- import { useState as s } from "react";
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 c } from "./utils.es.js";
5
- import { Button as d } from "./button.es.js";
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 u, SwipableDrawerContent as w, SwipableDrawerHeader as S, SwipableDrawerTitle as h, SwipableDrawerDescription as b } from "./swipabledrawer.es.js";
8
- const N = ({ time: e, onTimeChange: n, className: o, slotsProps: l, ...p }) => {
9
- const [i, a] = s(!1);
10
- return /* @__PURE__ */ t(u, { open: i, onOpenChange: a, children: [
11
- /* @__PURE__ */ r(
12
- d,
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: c("border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start", o),
16
- onClick: () => a(!0),
17
- ...p,
18
- children: `${e?.hour?.toString()?.padStart(2, "0") ?? "--"} : ${e?.minute?.toString()?.padStart(2, "0") ?? "--"} ${e?.ampm ?? "--"}`
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__ */ r(S, { className: "p-0", children: /* @__PURE__ */ t(m, { children: [
23
- /* @__PURE__ */ r(h, { className: "text-primary text-lg font-bold text-start", children: " " }),
24
- /* @__PURE__ */ r(b, { children: " " })
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__ */ r(f, { isOpen: i, onTimeChange: n, time: e, slotsProps: l })
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> = ({ time, onTimeChange, className, slotsProps, ...restProps }) => {\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(\"border-gray-300 text-text focus:ring-0 active:ring-transparent justify-start\", className)}\r\n onClick={() => setIsOpen(true)}\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","restProps","isOpen","setIsOpen","useState","jsxs","SwipableDrawer","jsx","Button","cn","SwipableDrawerContent","SwipableDrawerHeader","VisuallyHidden","SwipableDrawerTitle","SwipableDrawerDescription","TimePickerContent"],"mappings":";;;;;;;AAsBM,MAAAA,IAAoD,CAAC,EAAE,MAAAC,GAAM,cAAAC,GAAc,WAAAC,GAAW,YAAAC,GAAY,GAAGC,QAAgB;AACzH,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,gFAAgFV,CAAS;AAAA,QACvG,SAAS,MAAMI,EAAU,EAAI;AAAA,QAC5B,GAAGF;AAAA,QAEH,UAAA,GAAGJ,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,sBACCa,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,cAAAJ,GAA4B,MAAAD,GAAY,YAAAG,EAAwB,CAAA;AAAA,IAAA,EACrG,CAAA;AAAA,EAAA,GACF;AAEJ;"}
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 n from "react";
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
- import { CloseIcon as w } from "./closeicon.es.js";
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 = n.forwardRef(
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 C = n.forwardRef(({ className: e, ...a }, l) => /* @__PURE__ */ t(o.Description, { ref: l, className: s("text-sm text-muted-foreground", e), ...a }));
27
- C.displayName = o.Description.displayName;
28
- const P = n.forwardRef((e, a) => {
29
- const { title: l, className: f, children: g, fullScreen: i, open: u, onOpenChange: N, defaultOpen: x, modal: h, slotProps: d, ...y } = e;
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
- i ? "w-screen h-screen" : "max-w-lg",
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", i && "w-screen -mx-4", d?.divider?.className)
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
@@ -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\nimport { CloseIcon } from \"../Icons/CloseIcon\";\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 <CloseIcon 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","CloseIcon"],"mappings":"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"}
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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"}