@trsys-tech/matrix-library 0.6.0 → 1.0.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/dist/accordion.es.js +27 -27
  2. package/dist/accordion.es.js.map +1 -1
  3. package/dist/avatar.es.js +28 -14
  4. package/dist/avatar.es.js.map +1 -1
  5. package/dist/badge.es.js +24 -24
  6. package/dist/badge.es.js.map +1 -1
  7. package/dist/breadcrumb.es.js +34 -24
  8. package/dist/breadcrumb.es.js.map +1 -1
  9. package/dist/button.es.js +28 -28
  10. package/dist/button.es.js.map +1 -1
  11. package/dist/calendar.es.js +64 -61
  12. package/dist/calendar.es.js.map +1 -1
  13. package/dist/card.es.js +21 -21
  14. package/dist/card.es.js.map +1 -1
  15. package/dist/checkbox.es.js +15 -15
  16. package/dist/checkbox.es.js.map +1 -1
  17. package/dist/chip.es.js +24 -24
  18. package/dist/chip.es.js.map +1 -1
  19. package/dist/collapsible.es.js +17 -17
  20. package/dist/collapsible.es.js.map +1 -1
  21. package/dist/combobox.es.js +79 -70
  22. package/dist/combobox.es.js.map +1 -1
  23. package/dist/command.es.js +62 -59
  24. package/dist/command.es.js.map +1 -1
  25. package/dist/components/accordion/Accordion.d.ts.map +1 -1
  26. package/dist/components/avatar/Avatar.d.ts.map +1 -1
  27. package/dist/components/badge/Badge.d.ts +2 -2
  28. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
  29. package/dist/components/button/Button.d.ts +2 -2
  30. package/dist/components/chip/Chip.d.ts +2 -2
  31. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  32. package/dist/components/command/Command.d.ts.map +1 -1
  33. package/dist/components/confirm/Confirm.d.ts.map +1 -1
  34. package/dist/components/context-menu/ContextMenu.d.ts.map +1 -1
  35. package/dist/components/data-grid/DataGrid.d.ts.map +1 -1
  36. package/dist/components/date-picker/TimePickerContent.d.ts.map +1 -1
  37. package/dist/components/date-picker/calendar.d.ts.map +1 -1
  38. package/dist/components/dialog/Dialog.d.ts.map +1 -1
  39. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  40. package/dist/components/drawer/SwipableDrawer.d.ts.map +1 -1
  41. package/dist/components/form/Form.d.ts.map +1 -1
  42. package/dist/components/icon-botton/IconButton.d.ts +2 -2
  43. package/dist/components/icon-botton/IconButton.d.ts.map +1 -1
  44. package/dist/components/label/Label.d.ts +1 -1
  45. package/dist/components/label/Label.d.ts.map +1 -1
  46. package/dist/components/modal/Modal.d.ts.map +1 -1
  47. package/dist/components/multi-select/MultiSelect.d.ts +2 -2
  48. package/dist/components/progress/Progress.d.ts.map +1 -1
  49. package/dist/components/rating/Rating.d.ts +2 -2
  50. package/dist/components/select/Select.d.ts.map +1 -1
  51. package/dist/components/sheet/Sheet.d.ts +2 -2
  52. package/dist/components/sheet/Sheet.d.ts.map +1 -1
  53. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  54. package/dist/components/switch/Switch.d.ts +2 -2
  55. package/dist/components/text-field/TextField.d.ts.map +1 -1
  56. package/dist/components/toast/toast-components.d.ts +4 -4
  57. package/dist/components/toast/toast-components.d.ts.map +1 -1
  58. package/dist/confirm.es.js +18 -8
  59. package/dist/confirm.es.js.map +1 -1
  60. package/dist/contextmenu.es.js +77 -70
  61. package/dist/contextmenu.es.js.map +1 -1
  62. package/dist/datagrid.es.js +101 -97
  63. package/dist/datagrid.es.js.map +1 -1
  64. package/dist/desktopdatepicker.es.js +30 -30
  65. package/dist/desktopdatepicker.es.js.map +1 -1
  66. package/dist/desktopdaterangepicker.es.js +44 -44
  67. package/dist/desktopdaterangepicker.es.js.map +1 -1
  68. package/dist/desktoptimepicker.es.js +24 -24
  69. package/dist/desktoptimepicker.es.js.map +1 -1
  70. package/dist/dialog.es.js +43 -43
  71. package/dist/dialog.es.js.map +1 -1
  72. package/dist/drawer.es.js +27 -27
  73. package/dist/drawer.es.js.map +1 -1
  74. package/dist/duration.es.js +34 -34
  75. package/dist/duration.es.js.map +1 -1
  76. package/dist/form.es.js +20 -20
  77. package/dist/form.es.js.map +1 -1
  78. package/dist/formcheckbox.es.js +13 -13
  79. package/dist/formcheckbox.es.js.map +1 -1
  80. package/dist/formcombobox.es.js +17 -17
  81. package/dist/formcombobox.es.js.map +1 -1
  82. package/dist/formdatepicker.es.js +12 -12
  83. package/dist/formdatepicker.es.js.map +1 -1
  84. package/dist/formdaterangepicker.es.js +16 -16
  85. package/dist/formdaterangepicker.es.js.map +1 -1
  86. package/dist/formduration.es.js +13 -13
  87. package/dist/formduration.es.js.map +1 -1
  88. package/dist/forminput.es.js +10 -10
  89. package/dist/forminput.es.js.map +1 -1
  90. package/dist/formmultiselect.es.js +7 -7
  91. package/dist/formmultiselect.es.js.map +1 -1
  92. package/dist/formrating.es.js +21 -21
  93. package/dist/formrating.es.js.map +1 -1
  94. package/dist/formselect.es.js +28 -28
  95. package/dist/formselect.es.js.map +1 -1
  96. package/dist/formswitch.es.js +14 -14
  97. package/dist/formswitch.es.js.map +1 -1
  98. package/dist/formtextarea.es.js +12 -12
  99. package/dist/formtextarea.es.js.map +1 -1
  100. package/dist/formtimepicker.es.js +12 -12
  101. package/dist/formtimepicker.es.js.map +1 -1
  102. package/dist/iconbutton.es.js +22 -22
  103. package/dist/iconbutton.es.js.map +1 -1
  104. package/dist/label.es.js +6 -6
  105. package/dist/label.es.js.map +1 -1
  106. package/dist/lib/utils.d.ts.map +1 -1
  107. package/dist/mobiledatepicker.es.js +42 -42
  108. package/dist/mobiledatepicker.es.js.map +1 -1
  109. package/dist/mobiledaterangepicker.es.js +50 -50
  110. package/dist/mobiledaterangepicker.es.js.map +1 -1
  111. package/dist/mobiletimepicker.es.js +30 -30
  112. package/dist/mobiletimepicker.es.js.map +1 -1
  113. package/dist/modal.es.js +48 -44
  114. package/dist/modal.es.js.map +1 -1
  115. package/dist/multiselect.es.js +120 -120
  116. package/dist/multiselect.es.js.map +1 -1
  117. package/dist/popover.es.js +16 -16
  118. package/dist/popover.es.js.map +1 -1
  119. package/dist/progress.es.js +29 -21
  120. package/dist/progress.es.js.map +1 -1
  121. package/dist/radiogroup.es.js +16 -16
  122. package/dist/radiogroup.es.js.map +1 -1
  123. package/dist/rating.es.js +76 -76
  124. package/dist/rating.es.js.map +1 -1
  125. package/dist/select.es.js +82 -63
  126. package/dist/select.es.js.map +1 -1
  127. package/dist/separator.es.js +13 -13
  128. package/dist/separator.es.js.map +1 -1
  129. package/dist/sheet.es.js +44 -44
  130. package/dist/sheet.es.js.map +1 -1
  131. package/dist/sidebar.es.js +245 -233
  132. package/dist/sidebar.es.js.map +1 -1
  133. package/dist/skeleton.es.js +6 -6
  134. package/dist/skeleton.es.js.map +1 -1
  135. package/dist/styles.css +1 -1
  136. package/dist/swipabledrawer.es.js +41 -38
  137. package/dist/swipabledrawer.es.js.map +1 -1
  138. package/dist/switch.es.js +16 -16
  139. package/dist/switch.es.js.map +1 -1
  140. package/dist/tabs.es.js +22 -22
  141. package/dist/tabs.es.js.map +1 -1
  142. package/dist/textarea.es.js +12 -12
  143. package/dist/textarea.es.js.map +1 -1
  144. package/dist/textfield.es.js +37 -37
  145. package/dist/textfield.es.js.map +1 -1
  146. package/dist/timepickercontent.es.js +63 -56
  147. package/dist/timepickercontent.es.js.map +1 -1
  148. package/dist/toast-components.es.js +47 -44
  149. package/dist/toast-components.es.js.map +1 -1
  150. package/dist/toast.es.js +24 -24
  151. package/dist/toast.es.js.map +1 -1
  152. package/dist/tooltip.es.js +16 -16
  153. package/dist/tooltip.es.js.map +1 -1
  154. package/dist/utils.es.js +6 -5
  155. package/dist/utils.es.js.map +1 -1
  156. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"timepickercontent.es.js","sources":["../src/components/date-picker/TimePickerContent.tsx"],"sourcesContent":["import { HTMLAttributes, useEffect, useRef, useState } from \"react\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\n\r\ntype Time = { hour: number; minute: number; ampm: \"AM\" | \"PM\" };\r\n\r\ntype TimePickerContentProps = {\r\n time: Time | undefined;\r\n isOpen: boolean;\r\n onTimeChange: (time: Time | undefined) => void;\r\n slotsProps?: {\r\n content?: HTMLAttributes<HTMLDivElement>;\r\n };\r\n};\r\n\r\nconst getNow = (): Time => {\r\n return { hour: new Date().getHours() % 12, minute: new Date().getMinutes(), ampm: new Date().getHours() < 12 ? \"AM\" : \"PM\" };\r\n};\r\n\r\nconst TimePickerContent: React.FC<TimePickerContentProps> = ({ isOpen, time, onTimeChange, slotsProps }) => {\r\n const [selectedtime, setSelectedTime] = useState<Time>(time ?? getNow());\r\n const selectedTimeRef = useRef<Time>(selectedtime);\r\n\r\n const hourRef = useRef<HTMLDivElement>(null);\r\n const minuteRef = useRef<HTMLDivElement>(null);\r\n\r\n const itemHeight = 32; // Assuming each item height is 40px\r\n const marginBetweenItems = 8; // Assuming margin between each item is 8px\r\n\r\n // Function to scroll to a specific hour\r\n const scrollToHour = (index: number) => {\r\n hourRef?.current?.scrollTo({\r\n top: index * (itemHeight + marginBetweenItems),\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n // Function to scroll to a specific minute\r\n const scrollToMinute = (index: number) => {\r\n minuteRef?.current?.scrollTo({\r\n top: index * (itemHeight + marginBetweenItems),\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n const handleSethour = (hour: number) => {\r\n selectedTimeRef.current = { ...selectedtime, hour };\r\n setSelectedTime(selectedTimeRef.current);\r\n onTimeChange(selectedTimeRef.current);\r\n };\r\n\r\n const handleSetMinute = (minute: number) => {\r\n selectedTimeRef.current = { ...selectedtime, minute };\r\n setSelectedTime(selectedTimeRef.current);\r\n onTimeChange(selectedTimeRef.current);\r\n };\r\n\r\n const handleSetAMPM = (ampm: \"AM\" | \"PM\") => {\r\n selectedTimeRef.current = { ...selectedtime, ampm };\r\n setSelectedTime(selectedTimeRef.current);\r\n onTimeChange(selectedTimeRef.current);\r\n };\r\n\r\n useEffect(() => {\r\n if (isOpen) {\r\n setSelectedTime(time ?? getNow());\r\n }\r\n }, [isOpen, time]);\r\n\r\n useEffect(() => {\r\n // Center the selected hour/minute on mount\r\n if (isOpen) {\r\n setTimeout(() => {\r\n scrollToHour(selectedTimeRef.current.hour - 1);\r\n scrollToMinute(selectedTimeRef.current.minute);\r\n });\r\n }\r\n }, [isOpen]);\r\n\r\n return (\r\n <div {...(slotsProps?.content ?? {})} className={cn(\"py-2 px-0 h-52 w-full flex justify-center gap-1\", slotsProps?.content?.className)}>\r\n {/* Hour Selector */}\r\n <div className=\"w-24 px-2 h-full relative overflow-auto thin-scrollbar\" ref={hourRef}>\r\n {Array.from({ length: 12 }, (_, i) => i).map(hour => (\r\n <button\r\n style={{ height: itemHeight, marginBottom: marginBetweenItems }}\r\n className={cn(\r\n \"w-full flex justify-center items-center rounded-full text-xs font-bold text-text-400\",\r\n hour + 1 === selectedtime.hour && \"bg-secondary\",\r\n )}\r\n key={hour + 1}\r\n onClick={() => handleSethour(hour + 1)}\r\n >\r\n {(hour + 1).toString().padStart(2, \"0\")}\r\n </button>\r\n ))}\r\n </div>\r\n\r\n {/* Minute Selector */}\r\n <div className=\"h-full w-24 px-2 relative overflow-auto thin-scrollbar\" ref={minuteRef}>\r\n {Array.from({ length: 60 }, (_, i) => i).map(minute => (\r\n <button\r\n style={{ height: itemHeight, marginBottom: marginBetweenItems }}\r\n className={cn(\r\n \"w-full flex justify-center items-center rounded-full text-xs font-bold text-text-400\",\r\n minute === selectedtime.minute && \"bg-secondary\",\r\n )}\r\n key={minute}\r\n onClick={() => handleSetMinute(minute)}\r\n >\r\n {minute.toString().padStart(2, \"0\")}\r\n </button>\r\n ))}\r\n </div>\r\n\r\n {/* AM/PM Selector */}\r\n <div className=\"h-full w-24 px-2 relative overflow-auto thin-scrollbar\">\r\n {[\"AM\", \"PM\"].map(ampm => (\r\n <button\r\n style={{ height: itemHeight, marginBottom: marginBetweenItems }}\r\n className={cn(\r\n \"w-full flex justify-center items-center rounded-full text-xs font-bold text-text-400\",\r\n ampm === selectedtime.ampm && \"bg-secondary\",\r\n )}\r\n key={ampm}\r\n onClick={() => handleSetAMPM(ampm as \"AM\" | \"PM\")}\r\n >\r\n {ampm}\r\n </button>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n};\r\nexport { TimePickerContent, type TimePickerContentProps, type Time };\r\n"],"names":["getNow","TimePickerContent","isOpen","time","onTimeChange","slotsProps","selectedtime","setSelectedTime","useState","selectedTimeRef","useRef","hourRef","minuteRef","itemHeight","marginBetweenItems","scrollToHour","index","scrollToMinute","handleSethour","hour","handleSetMinute","minute","handleSetAMPM","ampm","useEffect","jsxs","cn","jsx","_","i"],"mappings":"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"}
1
+ {"version":3,"file":"timepickercontent.es.js","sources":["../src/components/date-picker/TimePickerContent.tsx"],"sourcesContent":["import { HTMLAttributes, useEffect, useRef, useState } from \"react\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\n\r\ntype Time = { hour: number; minute: number; ampm: \"AM\" | \"PM\" };\r\n\r\ntype TimePickerContentProps = {\r\n time: Time | undefined;\r\n isOpen: boolean;\r\n onTimeChange: (time: Time | undefined) => void;\r\n slotsProps?: {\r\n content?: HTMLAttributes<HTMLDivElement>;\r\n };\r\n};\r\n\r\nconst getNow = (): Time => {\r\n return { hour: new Date().getHours() % 12, minute: new Date().getMinutes(), ampm: new Date().getHours() < 12 ? \"AM\" : \"PM\" };\r\n};\r\n\r\nconst TimePickerContent: React.FC<TimePickerContentProps> = ({ isOpen, time, onTimeChange, slotsProps }) => {\r\n const [selectedtime, setSelectedTime] = useState<Time>(time ?? getNow());\r\n const selectedTimeRef = useRef<Time>(selectedtime);\r\n\r\n const hourRef = useRef<HTMLDivElement>(null);\r\n const minuteRef = useRef<HTMLDivElement>(null);\r\n\r\n const itemHeight = 32; // Assuming each item height is 40px\r\n const marginBetweenItems = 8; // Assuming margin between each item is 8px\r\n\r\n // Function to scroll to a specific hour\r\n const scrollToHour = (index: number) => {\r\n hourRef?.current?.scrollTo({\r\n top: index * (itemHeight + marginBetweenItems),\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n // Function to scroll to a specific minute\r\n const scrollToMinute = (index: number) => {\r\n minuteRef?.current?.scrollTo({\r\n top: index * (itemHeight + marginBetweenItems),\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n const handleSethour = (hour: number) => {\r\n selectedTimeRef.current = { ...selectedtime, hour };\r\n setSelectedTime(selectedTimeRef.current);\r\n onTimeChange(selectedTimeRef.current);\r\n };\r\n\r\n const handleSetMinute = (minute: number) => {\r\n selectedTimeRef.current = { ...selectedtime, minute };\r\n setSelectedTime(selectedTimeRef.current);\r\n onTimeChange(selectedTimeRef.current);\r\n };\r\n\r\n const handleSetAMPM = (ampm: \"AM\" | \"PM\") => {\r\n selectedTimeRef.current = { ...selectedtime, ampm };\r\n setSelectedTime(selectedTimeRef.current);\r\n onTimeChange(selectedTimeRef.current);\r\n };\r\n\r\n useEffect(() => {\r\n if (isOpen) {\r\n setSelectedTime(time ?? getNow());\r\n }\r\n }, [isOpen, time]);\r\n\r\n useEffect(() => {\r\n // Center the selected hour/minute on mount\r\n if (isOpen) {\r\n setTimeout(() => {\r\n scrollToHour(selectedTimeRef.current.hour - 1);\r\n scrollToMinute(selectedTimeRef.current.minute);\r\n });\r\n }\r\n }, [isOpen]);\r\n\r\n return (\r\n <div\r\n {...(slotsProps?.content ?? {})}\r\n className={cn(\"mtx-py-2 mtx-px-0 mtx-h-52 mtx-w-full mtx-flex mtx-justify-center mtx-gap-1\", slotsProps?.content?.className)}\r\n >\r\n {/* Hour Selector */}\r\n <div className=\"mtx-w-24 mtx-px-2 mtx-h-full mtx-relative mtx-overflow-auto mtx-thin-scrollbar\" ref={hourRef}>\r\n {Array.from({ length: 12 }, (_, i) => i).map(hour => (\r\n <button\r\n style={{ height: itemHeight, marginBottom: marginBetweenItems }}\r\n className={cn(\r\n \"mtx-w-full mtx-flex mtx-justify-center mtx-items-center mtx-rounded-full mtx-text-xs mtx-font-bold mtx-text-text-400\",\r\n hour + 1 === selectedtime.hour && \"mtx-bg-secondary\",\r\n )}\r\n key={hour + 1}\r\n onClick={() => handleSethour(hour + 1)}\r\n >\r\n {(hour + 1).toString().padStart(2, \"0\")}\r\n </button>\r\n ))}\r\n </div>\r\n\r\n {/* Minute Selector */}\r\n <div className=\"mtx-h-full mtx-w-24 mtx-px-2 mtx-relative mtx-overflow-auto mtx-thin-scrollbar\" ref={minuteRef}>\r\n {Array.from({ length: 60 }, (_, i) => i).map(minute => (\r\n <button\r\n style={{ height: itemHeight, marginBottom: marginBetweenItems }}\r\n className={cn(\r\n \"mtx-w-full mtx-flex mtx-justify-center mtx-items-center mtx-rounded-full mtx-text-xs mtx-font-bold mtx-text-text-400\",\r\n minute === selectedtime.minute && \"mtx-bg-secondary\",\r\n )}\r\n key={minute}\r\n onClick={() => handleSetMinute(minute)}\r\n >\r\n {minute.toString().padStart(2, \"0\")}\r\n </button>\r\n ))}\r\n </div>\r\n\r\n {/* AM/PM Selector */}\r\n <div className=\"mtx-h-full mtx-w-24 mtx-px-2 mtx-relative mtx-overflow-auto mtx-thin-scrollbar\">\r\n {[\"AM\", \"PM\"].map(ampm => (\r\n <button\r\n style={{ height: itemHeight, marginBottom: marginBetweenItems }}\r\n className={cn(\r\n \"mtx-w-full mtx-flex mtx-justify-center mtx-items-center mtx-rounded-full mtx-text-xs mtx-font-bold mtx-text-text-400\",\r\n ampm === selectedtime.ampm && \"mtx-bg-secondary\",\r\n )}\r\n key={ampm}\r\n onClick={() => handleSetAMPM(ampm as \"AM\" | \"PM\")}\r\n >\r\n {ampm}\r\n </button>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n};\r\nexport { TimePickerContent, type TimePickerContentProps, type Time };\r\n"],"names":["getNow","TimePickerContent","isOpen","time","onTimeChange","slotsProps","selectedtime","setSelectedTime","useState","selectedTimeRef","useRef","hourRef","minuteRef","itemHeight","marginBetweenItems","scrollToHour","index","scrollToMinute","handleSethour","hour","handleSetMinute","minute","handleSetAMPM","ampm","useEffect","jsxs","cn","jsx","_","i"],"mappings":";;;AAeA,MAAMA,IAAS,OACN,EAAE,OAAM,oBAAI,KAAA,GAAO,aAAa,IAAI,SAAQ,oBAAI,KAAA,GAAO,WAAA,GAAc,OAAM,oBAAI,KAAA,GAAO,aAAa,KAAK,OAAO,KAAA,IAGlHC,IAAsD,CAAC,EAAE,QAAAC,GAAQ,MAAAC,GAAM,cAAAC,GAAc,YAAAC,QAAiB;AAC1G,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAAeL,KAAQH,GAAQ,GACjES,IAAkBC,EAAaJ,CAAY,GAE3CK,IAAUD,EAAuB,IAAI,GACrCE,IAAYF,EAAuB,IAAI,GAEvCG,IAAa,IACbC,IAAqB,GAGrBC,IAAe,CAACC,MAAkB;AACtC,IAAAL,GAAS,SAAS,SAAS;AAAA,MACzB,KAAKK,KAASH,IAAaC;AAAA,MAC3B,UAAU;AAAA,IAAA,CACX;AAAA,EACH,GAGMG,IAAiB,CAACD,MAAkB;AACxC,IAAAJ,GAAW,SAAS,SAAS;AAAA,MAC3B,KAAKI,KAASH,IAAaC;AAAA,MAC3B,UAAU;AAAA,IAAA,CACX;AAAA,EACH,GAEMI,IAAgB,CAACC,MAAiB;AACtC,IAAAV,EAAgB,UAAU,EAAE,GAAGH,GAAc,MAAAa,EAAA,GAC7CZ,EAAgBE,EAAgB,OAAO,GACvCL,EAAaK,EAAgB,OAAO;AAAA,EACtC,GAEMW,IAAkB,CAACC,MAAmB;AAC1C,IAAAZ,EAAgB,UAAU,EAAE,GAAGH,GAAc,QAAAe,EAAA,GAC7Cd,EAAgBE,EAAgB,OAAO,GACvCL,EAAaK,EAAgB,OAAO;AAAA,EACtC,GAEMa,IAAgB,CAACC,MAAsB;AAC3C,IAAAd,EAAgB,UAAU,EAAE,GAAGH,GAAc,MAAAiB,EAAA,GAC7ChB,EAAgBE,EAAgB,OAAO,GACvCL,EAAaK,EAAgB,OAAO;AAAA,EACtC;AAEA,SAAAe,EAAU,MAAM;AACd,IAAItB,KACFK,EAAgBJ,KAAQH,GAAQ;AAAA,EAEpC,GAAG,CAACE,GAAQC,CAAI,CAAC,GAEjBqB,EAAU,MAAM;AAEd,IAAItB,KACF,WAAW,MAAM;AACf,MAAAa,EAAaN,EAAgB,QAAQ,OAAO,CAAC,GAC7CQ,EAAeR,EAAgB,QAAQ,MAAM;AAAA,IAC/C,CAAC;AAAA,EAEL,GAAG,CAACP,CAAM,CAAC,GAGT,gBAAAuB;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAIpB,GAAY,WAAW,CAAA;AAAA,MAC5B,WAAWqB,EAAG,+EAA+ErB,GAAY,SAAS,SAAS;AAAA,MAG3H,UAAA;AAAA,QAAA,gBAAAsB,EAAC,SAAI,WAAU,kFAAiF,KAAKhB,GAClG,gBAAM,KAAK,EAAE,QAAQ,GAAA,GAAM,CAACiB,GAAGC,MAAMA,CAAC,EAAE,IAAI,CAAAV,MAC3C,gBAAAQ;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO,EAAE,QAAQd,GAAY,cAAcC,EAAA;AAAA,YAC3C,WAAWY;AAAA,cACT;AAAA,cACAP,IAAO,MAAMb,EAAa,QAAQ;AAAA,YAAA;AAAA,YAGpC,SAAS,MAAMY,EAAcC,IAAO,CAAC;AAAA,YAEnC,eAAO,GAAG,SAAA,EAAW,SAAS,GAAG,GAAG;AAAA,UAAA;AAAA,UAHjCA,IAAO;AAAA,QAAA,CAKf,GACH;AAAA,0BAGC,OAAA,EAAI,WAAU,kFAAiF,KAAKP,GAClG,gBAAM,KAAK,EAAE,QAAQ,GAAA,GAAM,CAACgB,GAAGC,MAAMA,CAAC,EAAE,IAAI,CAAAR,MAC3C,gBAAAM;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO,EAAE,QAAQd,GAAY,cAAcC,EAAA;AAAA,YAC3C,WAAWY;AAAA,cACT;AAAA,cACAL,MAAWf,EAAa,UAAU;AAAA,YAAA;AAAA,YAGpC,SAAS,MAAMc,EAAgBC,CAAM;AAAA,YAEpC,UAAAA,EAAO,SAAA,EAAW,SAAS,GAAG,GAAG;AAAA,UAAA;AAAA,UAH7BA;AAAA,QAAA,CAKR,GACH;AAAA,QAGA,gBAAAM,EAAC,SAAI,WAAU,kFACZ,WAAC,MAAM,IAAI,EAAE,IAAI,CAAAJ,MAChB,gBAAAI;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO,EAAE,QAAQd,GAAY,cAAcC,EAAA;AAAA,YAC3C,WAAWY;AAAA,cACT;AAAA,cACAH,MAASjB,EAAa,QAAQ;AAAA,YAAA;AAAA,YAGhC,SAAS,MAAMgB,EAAcC,CAAmB;AAAA,YAE/C,UAAAA;AAAA,UAAA;AAAA,UAHIA;AAAA,QAAA,CAKR,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1,66 +1,69 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import * as s from "react";
3
- import * as e from "@radix-ui/react-toast";
4
- import { tv as d } from "tailwind-variants";
5
- import { cn as n } from "./utils.es.js";
6
- import { XMark as l } from "@trsys-tech/matrix-icons";
7
- const y = e.Provider, c = s.forwardRef(({ className: a, ...t }, o) => /* @__PURE__ */ r(
8
- e.Viewport,
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import * as r from "react";
3
+ import * as t from "@radix-ui/react-toast";
4
+ import { tv as n } from "tailwind-variants";
5
+ import { cn as s } from "./utils.es.js";
6
+ import { XMark as i } from "@trsys-tech/matrix-icons";
7
+ const y = t.Provider, d = r.forwardRef(({ className: e, ...a }, m) => /* @__PURE__ */ o(
8
+ t.Viewport,
9
9
  {
10
- ref: o,
11
- className: n("fixed z-[100] flex flex-col-reverse gap-3 max-h-dscreen w-full p-4 top-0 right-0 md:max-w-[420px] ", a),
12
- ...t
10
+ ref: m,
11
+ className: s(
12
+ "mtx-fixed mtx-z-[100] mtx-flex mtx-flex-col-reverse mtx-gap-3 mtx-max-h-dscreen mtx-w-full mtx-p-4 mtx-top-0 mtx-right-0 md:mtx-max-w-[420px] ",
13
+ e
14
+ ),
15
+ ...a
13
16
  }
14
17
  ));
15
- c.displayName = e.Viewport.displayName;
16
- const p = d({
17
- base: "group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-lg border p-4 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full",
18
+ d.displayName = t.Viewport.displayName;
19
+ const l = n({
20
+ base: "mtx-group mtx-pointer-events-auto mtx-relative mtx-flex mtx-w-full mtx-items-center mtx-justify-between mtx-space-x-2 mtx-overflow-hidden mtx-rounded-lg mtx-border mtx-p-4 mtx-shadow-lg mtx-transition-all data-[swipe=cancel]:mtx-translate-x-0 data-[swipe=end]:mtx-translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:mtx-translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:mtx-transition-none data-[state=open]:mtx-animate-in data-[state=closed]:mtx-animate-out data-[swipe=end]:mtx-animate-out data-[state=closed]:mtx-fade-out-80 data-[state=closed]:mtx-slide-out-to-right-full data-[state=open]:mtx-slide-in-from-top-full",
18
21
  // data-[state=open]:sm:slide-in-from-bottom-full
19
22
  variants: {
20
23
  variant: {
21
- default: "border bg-background text-foreground",
22
- danger: "danger group border-danger bg-danger-400 text-danger-800",
23
- success: "success group border-success bg-success-400 text-success-800",
24
- warning: "warning group border-warning bg-warning-400 text-warning-800",
25
- info: "info group border-info bg-info-400 text-info-700"
24
+ default: "mtx-border mtx-bg-background mtx-text-foreground",
25
+ danger: "mtx-danger mtx-group mtx-border-danger mtx-bg-danger-400 mtx-text-danger-800",
26
+ success: "mtx-success mtx-group mtx-border-success mtx-bg-success-400 mtx-text-success-800",
27
+ warning: "mtx-warning mtx-group mtx-border-warning mtx-bg-warning-400 mtx-text-warning-800",
28
+ info: "mtx-info mtx-group mtx-border-info mtx-bg-info-400 mtx-text-info-700"
26
29
  }
27
30
  },
28
31
  defaultVariants: {
29
32
  variant: "default"
30
33
  }
31
- }), g = s.forwardRef(({ className: a, variant: t, ...o }, i) => /* @__PURE__ */ r(e.Root, { ref: i, className: n(p({ variant: t }), a), ...o }));
32
- g.displayName = e.Root.displayName;
33
- const m = s.forwardRef(
34
- ({ className: a, ...t }, o) => /* @__PURE__ */ r(
35
- e.Action,
34
+ }), c = r.forwardRef(({ className: e, variant: a, ...m }, x) => /* @__PURE__ */ o(t.Root, { ref: x, className: s(l({ variant: a }), e), ...m }));
35
+ c.displayName = t.Root.displayName;
36
+ const p = r.forwardRef(
37
+ ({ className: e, ...a }, m) => /* @__PURE__ */ o(
38
+ t.Action,
36
39
  {
37
- ref: o,
38
- className: n(
39
- "inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.danger]:border-muted/40 group-[.danger]:hover:border-danger/30 group-[.danger]:hover:bg-danger group-[.danger]:hover:text-danger-foreground group-[.danger]:focus:ring-danger",
40
- a
40
+ ref: m,
41
+ className: s(
42
+ "mtx-inline-flex mtx-h-8 mtx-shrink-0 mtx-items-center mtx-justify-center mtx-rounded-md mtx-border mtx-bg-transparent mtx-px-3 mtx-text-sm mtx-font-medium mtx-transition-colors hover:mtx-bg-secondary focus:mtx-outline-none focus:mtx-ring-1 focus:mtx-ring-ring disabled:mtx-pointer-events-none disabled:mtx-opacity-50 group-[.danger]:mtx-border-muted/40 group-[.danger]:hover:mtx-border-danger/30 group-[.danger]:hover:mtx-bg-danger group-[.danger]:hover:mtx-text-danger-foreground group-[.danger]:focus:mtx-ring-danger",
43
+ e
41
44
  ),
42
- ...t
45
+ ...a
43
46
  }
44
47
  )
45
48
  );
46
- m.displayName = e.Action.displayName;
47
- const f = s.forwardRef(
48
- ({ className: a, ...t }, o) => /* @__PURE__ */ r(e.Close, { ref: o, className: n("focus:outline-none focus:ring-none", a), "toast-close": "", ...t, children: /* @__PURE__ */ r(l, { className: "h-5 w-5" }) })
49
+ p.displayName = t.Action.displayName;
50
+ const g = r.forwardRef(
51
+ ({ className: e, ...a }, m) => /* @__PURE__ */ o(t.Close, { ref: m, className: s("focus:mtx-outline-none focus:mtx-ring-none", e), "toast-close": "", ...a, children: /* @__PURE__ */ o(i, { className: "mtx-h-5 mtx-w-5" }) })
49
52
  );
50
- f.displayName = e.Close.displayName;
51
- const u = s.forwardRef(
52
- ({ className: a, ...t }, o) => /* @__PURE__ */ r(e.Title, { ref: o, className: n("text-xs font-semibold leading-5 [&+div]:text-xs", a), ...t })
53
+ g.displayName = t.Close.displayName;
54
+ const f = r.forwardRef(
55
+ ({ className: e, ...a }, m) => /* @__PURE__ */ o(t.Title, { ref: m, className: s("mtx-text-xs mtx-font-semibold mtx-leading-5 [&+div]:mtx-text-xs", e), ...a })
53
56
  );
54
- u.displayName = e.Title.displayName;
55
- const x = s.forwardRef(({ className: a, ...t }, o) => /* @__PURE__ */ r(e.Description, { ref: o, className: n("text-sm opacity-90", a), ...t }));
56
- x.displayName = e.Description.displayName;
57
+ f.displayName = t.Title.displayName;
58
+ const u = r.forwardRef(({ className: e, ...a }, m) => /* @__PURE__ */ o(t.Description, { ref: m, className: s("mtx-text-sm mtx-opacity-90", e), ...a }));
59
+ u.displayName = t.Description.displayName;
57
60
  export {
58
- g as Toast,
59
- m as ToastAction,
60
- f as ToastClose,
61
- x as ToastDescription,
61
+ c as Toast,
62
+ p as ToastAction,
63
+ g as ToastClose,
64
+ u as ToastDescription,
62
65
  y as ToastProvider,
63
- u as ToastTitle,
64
- c as ToastViewport
66
+ f as ToastTitle,
67
+ d as ToastViewport
65
68
  };
66
69
  //# sourceMappingURL=toast-components.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast-components.es.js","sources":["../src/components/toast/toast-components.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as ToastPrimitives from \"@radix-ui/react-toast\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport { cn } from \"../../lib/utils\";\nimport { XMark } from \"@trsys-tech/matrix-icons\";\n\nconst ToastProvider = ToastPrimitives.Provider;\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\"fixed z-[100] flex flex-col-reverse gap-3 max-h-dscreen w-full p-4 top-0 right-0 md:max-w-[420px] \", className)}\n {...props}\n />\n));\nToastViewport.displayName = ToastPrimitives.Viewport.displayName;\n\nconst toastVariants = tv({\n base: \"group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-lg border p-4 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full\", // data-[state=open]:sm:slide-in-from-bottom-full\n variants: {\n variant: {\n default: \"border bg-background text-foreground\",\n danger: \"danger group border-danger bg-danger-400 text-danger-800\",\n success: \"success group border-success bg-success-400 text-success-800\",\n warning: \"warning group border-warning bg-warning-400 text-warning-800\",\n info: \"info group border-info bg-info-400 text-info-700\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n});\n\ntype ToastVariant = VariantProps<typeof toastVariants>[\"variant\"];\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return <ToastPrimitives.Root ref={ref} className={cn(toastVariants({ variant }), className)} {...props} />;\n});\nToast.displayName = ToastPrimitives.Root.displayName;\n\nconst ToastAction = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Action>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>>(\n ({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.danger]:border-muted/40 group-[.danger]:hover:border-danger/30 group-[.danger]:hover:bg-danger group-[.danger]:hover:text-danger-foreground group-[.danger]:focus:ring-danger\",\n className,\n )}\n {...props}\n />\n ),\n);\nToastAction.displayName = ToastPrimitives.Action.displayName;\n\nconst ToastClose = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Close>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>>(\n ({ className, ...props }, ref) => (\n <ToastPrimitives.Close ref={ref} className={cn(\"focus:outline-none focus:ring-none\", className)} toast-close=\"\" {...props}>\n <XMark className=\"h-5 w-5\" />\n </ToastPrimitives.Close>\n ),\n);\nToastClose.displayName = ToastPrimitives.Close.displayName;\n\nconst ToastTitle = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Title>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>>(\n ({ className, ...props }, ref) => (\n <ToastPrimitives.Title ref={ref} className={cn(\"text-xs font-semibold leading-5 [&+div]:text-xs\", className)} {...props} />\n ),\n);\nToastTitle.displayName = ToastPrimitives.Title.displayName;\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => <ToastPrimitives.Description ref={ref} className={cn(\"text-sm opacity-90\", className)} {...props} />);\nToastDescription.displayName = ToastPrimitives.Description.displayName;\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>;\n\nexport {\n type ToastProps,\n type ToastActionElement,\n type ToastVariant,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction,\n};\n"],"names":["ToastProvider","ToastPrimitives","ToastViewport","React","className","props","ref","jsx","cn","toastVariants","tv","Toast","variant","ToastAction","ToastClose","XMark","ToastTitle","ToastDescription"],"mappings":";;;;;;AASA,MAAMA,IAAgBC,EAAgB,UAEhCC,IAAgBC,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAACN,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAK;AAAA,IACA,WAAWE,EAAG,sGAAsGJ,CAAS;AAAA,IAC5H,GAAGC;AAAA,EAAA;AACN,CACD;AACDH,EAAc,cAAcD,EAAgB,SAAS;AAErD,MAAMQ,IAAgBC,EAAG;AAAA,EACvB,MAAM;AAAA;AAAA,EACN,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,iBAAiB;AAAA,IACf,SAAS;AAAA,EAAA;AAEb,CAAC,GAIKC,IAAQR,EAAM,WAGlB,CAAC,EAAE,WAAAC,GAAW,SAAAQ,GAAS,GAAGP,EAAA,GAASC,MAC5B,gBAAAC,EAACN,EAAgB,MAAhB,EAAqB,KAAAK,GAAU,WAAWE,EAAGC,EAAc,EAAE,SAAAG,GAAS,GAAGR,CAAS,GAAI,GAAGC,EAAA,CAAO,CACzG;AACDM,EAAM,cAAcV,EAAgB,KAAK;AAEzC,MAAMY,IAAcV,EAAM;AAAA,EACxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MACxB,gBAAAC;AAAA,IAACN,EAAgB;AAAA,IAAhB;AAAA,MACC,KAAAK;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AACAQ,EAAY,cAAcZ,EAAgB,OAAO;AAEjD,MAAMa,IAAaX,EAAM;AAAA,EACvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MACxB,gBAAAC,EAACN,EAAgB,OAAhB,EAAsB,KAAAK,GAAU,WAAWE,EAAG,sCAAsCJ,CAAS,GAAG,eAAY,IAAI,GAAGC,GAClH,UAAA,gBAAAE,EAACQ,GAAA,EAAM,WAAU,UAAA,CAAU,EAAA,CAC7B;AAEJ;AACAD,EAAW,cAAcb,EAAgB,MAAM;AAE/C,MAAMe,IAAab,EAAM;AAAA,EACvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MACxB,gBAAAC,EAACN,EAAgB,OAAhB,EAAsB,KAAAK,GAAU,WAAWE,EAAG,mDAAmDJ,CAAS,GAAI,GAAGC,EAAA,CAAO;AAE7H;AACAW,EAAW,cAAcf,EAAgB,MAAM;AAE/C,MAAMgB,IAAmBd,EAAM,WAG7B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAAQ,gBAAAC,EAACN,EAAgB,aAAhB,EAA4B,KAAAK,GAAU,WAAWE,EAAG,sBAAsBJ,CAAS,GAAI,GAAGC,GAAO,CAAE;AACxIY,EAAiB,cAAchB,EAAgB,YAAY;"}
1
+ {"version":3,"file":"toast-components.es.js","sources":["../src/components/toast/toast-components.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as ToastPrimitives from \"@radix-ui/react-toast\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nimport { cn } from \"../../lib/utils\";\nimport { XMark } from \"@trsys-tech/matrix-icons\";\n\nconst ToastProvider = ToastPrimitives.Provider;\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n \"mtx-fixed mtx-z-[100] mtx-flex mtx-flex-col-reverse mtx-gap-3 mtx-max-h-dscreen mtx-w-full mtx-p-4 mtx-top-0 mtx-right-0 md:mtx-max-w-[420px] \",\n className,\n )}\n {...props}\n />\n));\nToastViewport.displayName = ToastPrimitives.Viewport.displayName;\n\nconst toastVariants = tv({\n base: \"mtx-group mtx-pointer-events-auto mtx-relative mtx-flex mtx-w-full mtx-items-center mtx-justify-between mtx-space-x-2 mtx-overflow-hidden mtx-rounded-lg mtx-border mtx-p-4 mtx-shadow-lg mtx-transition-all data-[swipe=cancel]:mtx-translate-x-0 data-[swipe=end]:mtx-translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:mtx-translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:mtx-transition-none data-[state=open]:mtx-animate-in data-[state=closed]:mtx-animate-out data-[swipe=end]:mtx-animate-out data-[state=closed]:mtx-fade-out-80 data-[state=closed]:mtx-slide-out-to-right-full data-[state=open]:mtx-slide-in-from-top-full\", // data-[state=open]:sm:slide-in-from-bottom-full\n variants: {\n variant: {\n default: \"mtx-border mtx-bg-background mtx-text-foreground\",\n danger: \"mtx-danger mtx-group mtx-border-danger mtx-bg-danger-400 mtx-text-danger-800\",\n success: \"mtx-success mtx-group mtx-border-success mtx-bg-success-400 mtx-text-success-800\",\n warning: \"mtx-warning mtx-group mtx-border-warning mtx-bg-warning-400 mtx-text-warning-800\",\n info: \"mtx-info mtx-group mtx-border-info mtx-bg-info-400 mtx-text-info-700\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n});\n\ntype ToastVariant = VariantProps<typeof toastVariants>[\"variant\"];\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return <ToastPrimitives.Root ref={ref} className={cn(toastVariants({ variant }), className)} {...props} />;\n});\nToast.displayName = ToastPrimitives.Root.displayName;\n\nconst ToastAction = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Action>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>>(\n ({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n \"mtx-inline-flex mtx-h-8 mtx-shrink-0 mtx-items-center mtx-justify-center mtx-rounded-md mtx-border mtx-bg-transparent mtx-px-3 mtx-text-sm mtx-font-medium mtx-transition-colors hover:mtx-bg-secondary focus:mtx-outline-none focus:mtx-ring-1 focus:mtx-ring-ring disabled:mtx-pointer-events-none disabled:mtx-opacity-50 group-[.danger]:mtx-border-muted/40 group-[.danger]:hover:mtx-border-danger/30 group-[.danger]:hover:mtx-bg-danger group-[.danger]:hover:mtx-text-danger-foreground group-[.danger]:focus:mtx-ring-danger\",\n className,\n )}\n {...props}\n />\n ),\n);\nToastAction.displayName = ToastPrimitives.Action.displayName;\n\nconst ToastClose = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Close>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>>(\n ({ className, ...props }, ref) => (\n <ToastPrimitives.Close ref={ref} className={cn(\"focus:mtx-outline-none focus:mtx-ring-none\", className)} toast-close=\"\" {...props}>\n <XMark className=\"mtx-h-5 mtx-w-5\" />\n </ToastPrimitives.Close>\n ),\n);\nToastClose.displayName = ToastPrimitives.Close.displayName;\n\nconst ToastTitle = React.forwardRef<React.ElementRef<typeof ToastPrimitives.Title>, React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>>(\n ({ className, ...props }, ref) => (\n <ToastPrimitives.Title ref={ref} className={cn(\"mtx-text-xs mtx-font-semibold mtx-leading-5 [&+div]:mtx-text-xs\", className)} {...props} />\n ),\n);\nToastTitle.displayName = ToastPrimitives.Title.displayName;\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => <ToastPrimitives.Description ref={ref} className={cn(\"mtx-text-sm mtx-opacity-90\", className)} {...props} />);\nToastDescription.displayName = ToastPrimitives.Description.displayName;\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>;\n\nexport {\n type ToastProps,\n type ToastActionElement,\n type ToastVariant,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction,\n};\n"],"names":["ToastProvider","ToastPrimitives","ToastViewport","React","className","props","ref","jsx","cn","toastVariants","tv","Toast","variant","ToastAction","ToastClose","XMark","ToastTitle","ToastDescription"],"mappings":";;;;;;AASA,MAAMA,IAAgBC,EAAgB,UAEhCC,IAAgBC,EAAM,WAG1B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAACN,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAK;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDH,EAAc,cAAcD,EAAgB,SAAS;AAErD,MAAMQ,IAAgBC,EAAG;AAAA,EACvB,MAAM;AAAA;AAAA,EACN,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAAA,EAEF,iBAAiB;AAAA,IACf,SAAS;AAAA,EAAA;AAEb,CAAC,GAIKC,IAAQR,EAAM,WAGlB,CAAC,EAAE,WAAAC,GAAW,SAAAQ,GAAS,GAAGP,EAAA,GAASC,MAC5B,gBAAAC,EAACN,EAAgB,MAAhB,EAAqB,KAAAK,GAAU,WAAWE,EAAGC,EAAc,EAAE,SAAAG,GAAS,GAAGR,CAAS,GAAI,GAAGC,EAAA,CAAO,CACzG;AACDM,EAAM,cAAcV,EAAgB,KAAK;AAEzC,MAAMY,IAAcV,EAAM;AAAA,EACxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MACxB,gBAAAC;AAAA,IAACN,EAAgB;AAAA,IAAhB;AAAA,MACC,KAAAK;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AACAQ,EAAY,cAAcZ,EAAgB,OAAO;AAEjD,MAAMa,IAAaX,EAAM;AAAA,EACvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MACxB,gBAAAC,EAACN,EAAgB,OAAhB,EAAsB,KAAAK,GAAU,WAAWE,EAAG,8CAA8CJ,CAAS,GAAG,eAAY,IAAI,GAAGC,GAC1H,UAAA,gBAAAE,EAACQ,GAAA,EAAM,WAAU,kBAAA,CAAkB,EAAA,CACrC;AAEJ;AACAD,EAAW,cAAcb,EAAgB,MAAM;AAE/C,MAAMe,IAAab,EAAM;AAAA,EACvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MACxB,gBAAAC,EAACN,EAAgB,OAAhB,EAAsB,KAAAK,GAAU,WAAWE,EAAG,mEAAmEJ,CAAS,GAAI,GAAGC,EAAA,CAAO;AAE7I;AACAW,EAAW,cAAcf,EAAgB,MAAM;AAE/C,MAAMgB,IAAmBd,EAAM,WAG7B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAAQ,gBAAAC,EAACN,EAAgB,aAAhB,EAA4B,KAAAK,GAAU,WAAWE,EAAG,8BAA8BJ,CAAS,GAAI,GAAGC,GAAO,CAAE;AAChJY,EAAiB,cAAchB,EAAgB,YAAY;"}
package/dist/toast.es.js CHANGED
@@ -1,40 +1,40 @@
1
- import { jsxs as s, jsx as o } from "react/jsx-runtime";
1
+ import { jsxs as t, jsx as o } from "react/jsx-runtime";
2
2
  import { useEffect as l } from "react";
3
- import { ToastProvider as p, Toast as d, ToastTitle as T, ToastClose as h, ToastViewport as u } from "./toast-components.es.js";
4
- import { useToasts as w, toastParams as C } from "./use-toast.es.js";
5
- import { InfoCircleIcon as N } from "./infocircleicon.es.js";
6
- import { SuccessCircleIcon as g } from "./successcircleicon.es.js";
7
- import { WarningCircleIcon as I } from "./warningcircleicon.es.js";
8
- import { DangerCircleIcon as x } from "./dangercircleicon.es.js";
9
- function P({ limit: i = 3, duration: m = 5e3, slotProps: e }) {
10
- const { toasts: a, removeToast: n } = w();
3
+ import { ToastProvider as p, Toast as x, ToastTitle as d, ToastClose as T, ToastViewport as h } from "./toast-components.es.js";
4
+ import { useToasts as u, toastParams as w } from "./use-toast.es.js";
5
+ import { InfoCircleIcon as C } from "./infocircleicon.es.js";
6
+ import { SuccessCircleIcon as N } from "./successcircleicon.es.js";
7
+ import { WarningCircleIcon as g } from "./warningcircleicon.es.js";
8
+ import { DangerCircleIcon as I } from "./dangercircleicon.es.js";
9
+ function P({ limit: m = 3, duration: c = 5e3, slotProps: e }) {
10
+ const { toasts: a, removeToast: n } = u();
11
11
  return l(() => {
12
- i !== void 0 && (C.limit = i);
13
- }, [i]), /* @__PURE__ */ s(p, { duration: m, ...e?.providerProps ?? {}, children: [
14
- Array.from(a).map(([t, { message: c, variant: r }]) => /* @__PURE__ */ s(
15
- d,
12
+ m !== void 0 && (w.limit = m);
13
+ }, [m]), /* @__PURE__ */ t(p, { duration: c, ...e?.providerProps ?? {}, children: [
14
+ Array.from(a).map(([s, { message: i, variant: r }]) => /* @__PURE__ */ t(
15
+ x,
16
16
  {
17
17
  variant: r,
18
18
  onOpenChange: (f) => {
19
- f || setTimeout(() => n(t), 100);
19
+ f || setTimeout(() => n(s), 100);
20
20
  },
21
21
  ...e?.itemProps ?? {},
22
22
  children: [
23
- /* @__PURE__ */ s("div", { className: "flex gap-2 items-center", children: [
24
- /* @__PURE__ */ s("div", { children: [
25
- r === "danger" && /* @__PURE__ */ o(x, { className: "w-5 h-5" }),
26
- r === "success" && /* @__PURE__ */ o(g, { className: "w-5 h-5" }),
27
- r === "info" && /* @__PURE__ */ o(N, { className: "w-5 h-5" }),
28
- r === "warning" && /* @__PURE__ */ o(I, { className: "w-5 h-5" })
23
+ /* @__PURE__ */ t("div", { className: "mtx-flex mtx-gap-2 mtx-items-center", children: [
24
+ /* @__PURE__ */ t("div", { children: [
25
+ r === "danger" && /* @__PURE__ */ o(I, { className: "mtx-w-5 mtx-h-5" }),
26
+ r === "success" && /* @__PURE__ */ o(N, { className: "mtx-w-5 mtx-h-5" }),
27
+ r === "info" && /* @__PURE__ */ o(C, { className: "mtx-w-5 mtx-h-5" }),
28
+ r === "warning" && /* @__PURE__ */ o(g, { className: "mtx-w-5 mtx-h-5" })
29
29
  ] }),
30
- c && /* @__PURE__ */ o(T, { ...e?.titleProps ?? {}, children: c })
30
+ i && /* @__PURE__ */ o(d, { ...e?.titleProps ?? {}, children: i })
31
31
  ] }),
32
- /* @__PURE__ */ o(h, { ...e?.closeProps ?? {} })
32
+ /* @__PURE__ */ o(T, { ...e?.closeProps ?? {} })
33
33
  ]
34
34
  },
35
- t
35
+ s
36
36
  )),
37
- /* @__PURE__ */ o(u, {})
37
+ /* @__PURE__ */ o(h, {})
38
38
  ] });
39
39
  }
40
40
  P.displayName = "Toast";
@@ -1 +1 @@
1
- {"version":3,"file":"toast.es.js","sources":["../src/components/toast/Toast.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { Toast as Root, ToastClose, ToastProvider, ToastTitle, ToastViewport } from \"./toast-components\";\r\n\r\nimport { useToasts, toastParams } from \"./use-toast\";\r\nimport { InfoCircleIcon } from \"../Icons/InfoCircleIcon\";\r\nimport { SuccessCircleIcon } from \"../Icons/SuccessCircleIcon\";\r\nimport { WarningCircleIcon } from \"../Icons/WarningCircleIcon\";\r\nimport { DangerCircleIcon } from \"../Icons/DangerCircleIcon\";\r\nimport { ToastProviderProps, ToastViewportProps } from \"@radix-ui/react-toast\";\r\n\r\ntype ToastProps = {\r\n limit?: number;\r\n duration?: number;\r\n slotProps?: {\r\n providerProps?: ToastProviderProps;\r\n viewportProps?: ToastViewportProps;\r\n itemProps?: React.ComponentProps<typeof Root>;\r\n closeProps?: React.ComponentProps<typeof ToastClose>;\r\n titleProps?: React.ComponentProps<typeof ToastTitle>;\r\n };\r\n};\r\n\r\nfunction Toast({ limit = 3, duration = 5000, slotProps }: ToastProps) {\r\n const { toasts, removeToast } = useToasts();\r\n\r\n useEffect(() => {\r\n if (limit !== undefined) {\r\n toastParams.limit = limit;\r\n }\r\n }, [limit]);\r\n\r\n return (\r\n <ToastProvider duration={duration} {...(slotProps?.providerProps ?? {})}>\r\n {Array.from(toasts).map(([key, { message, variant }]) => {\r\n return (\r\n <Root\r\n key={key}\r\n variant={variant}\r\n onOpenChange={open => {\r\n if (!open) {\r\n setTimeout(() => removeToast(key), 100); // let the animation finish then remove the toast\r\n }\r\n }}\r\n {...(slotProps?.itemProps ?? {})}\r\n >\r\n <div className=\"flex gap-2 items-center\">\r\n <div>\r\n {variant === \"danger\" && <DangerCircleIcon className=\"w-5 h-5\" />}\r\n {variant === \"success\" && <SuccessCircleIcon className=\"w-5 h-5\" />}\r\n {variant === \"info\" && <InfoCircleIcon className=\"w-5 h-5\" />}\r\n {variant === \"warning\" && <WarningCircleIcon className=\"w-5 h-5\" />}\r\n </div>\r\n {message && <ToastTitle {...(slotProps?.titleProps ?? {})}>{message}</ToastTitle>}\r\n </div>\r\n <ToastClose {...(slotProps?.closeProps ?? {})} />\r\n {/* {action} */}\r\n </Root>\r\n );\r\n })}\r\n <ToastViewport />\r\n </ToastProvider>\r\n );\r\n}\r\nToast.displayName = \"Toast\";\r\n\r\nexport { Toast, type ToastProps };\r\n"],"names":["Toast","limit","duration","slotProps","toasts","removeToast","useToasts","useEffect","toastParams","ToastProvider","key","message","variant","jsxs","Root","open","jsx","DangerCircleIcon","SuccessCircleIcon","InfoCircleIcon","WarningCircleIcon","ToastTitle","ToastClose","ToastViewport"],"mappings":";;;;;;;;AAwBA,SAASA,EAAM,EAAE,OAAAC,IAAQ,GAAG,UAAAC,IAAW,KAAM,WAAAC,KAAyB;AACpE,QAAM,EAAE,QAAAC,GAAQ,aAAAC,EAAA,IAAgBC,EAAA;AAEhC,SAAAC,EAAU,MAAM;AACd,IAAIN,MAAU,WACZO,EAAY,QAAQP;AAAA,EAExB,GAAG,CAACA,CAAK,CAAC,qBAGPQ,GAAA,EAAc,UAAAP,GAAqB,GAAIC,GAAW,iBAAiB,CAAA,GACjE,UAAA;AAAA,IAAA,MAAM,KAAKC,CAAM,EAAE,IAAI,CAAC,CAACM,GAAK,EAAE,SAAAC,GAAS,SAAAC,EAAA,CAAS,MAE/C,gBAAAC;AAAA,MAACC;AAAAA,MAAA;AAAA,QAEC,SAAAF;AAAA,QACA,cAAc,CAAAG,MAAQ;AACpB,UAAKA,KACH,WAAW,MAAMV,EAAYK,CAAG,GAAG,GAAG;AAAA,QAE1C;AAAA,QACC,GAAIP,GAAW,aAAa,CAAA;AAAA,QAE7B,UAAA;AAAA,UAAA,gBAAAU,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,YAAA,gBAAAA,EAAC,OAAA,EACE,UAAA;AAAA,cAAAD,MAAY,YAAY,gBAAAI,EAACC,GAAA,EAAiB,WAAU,WAAU;AAAA,cAC9DL,MAAY,aAAa,gBAAAI,EAACE,GAAA,EAAkB,WAAU,WAAU;AAAA,cAChEN,MAAY,UAAU,gBAAAI,EAACG,GAAA,EAAe,WAAU,WAAU;AAAA,cAC1DP,MAAY,aAAa,gBAAAI,EAACI,GAAA,EAAkB,WAAU,UAAA,CAAU;AAAA,YAAA,GACnE;AAAA,YACCT,uBAAYU,GAAA,EAAY,GAAIlB,GAAW,cAAc,CAAA,GAAM,UAAAQ,EAAA,CAAQ;AAAA,UAAA,GACtE;AAAA,4BACCW,GAAA,EAAY,GAAInB,GAAW,cAAc,CAAA,EAAC,CAAI;AAAA,QAAA;AAAA,MAAA;AAAA,MAlB1CO;AAAA,IAAA,CAsBV;AAAA,sBACAa,GAAA,CAAA,CAAc;AAAA,EAAA,GACjB;AAEJ;AACAvB,EAAM,cAAc;"}
1
+ {"version":3,"file":"toast.es.js","sources":["../src/components/toast/Toast.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { Toast as Root, ToastClose, ToastProvider, ToastTitle, ToastViewport } from \"./toast-components\";\r\n\r\nimport { useToasts, toastParams } from \"./use-toast\";\r\nimport { InfoCircleIcon } from \"../Icons/InfoCircleIcon\";\r\nimport { SuccessCircleIcon } from \"../Icons/SuccessCircleIcon\";\r\nimport { WarningCircleIcon } from \"../Icons/WarningCircleIcon\";\r\nimport { DangerCircleIcon } from \"../Icons/DangerCircleIcon\";\r\nimport { ToastProviderProps, ToastViewportProps } from \"@radix-ui/react-toast\";\r\n\r\ntype ToastProps = {\r\n limit?: number;\r\n duration?: number;\r\n slotProps?: {\r\n providerProps?: ToastProviderProps;\r\n viewportProps?: ToastViewportProps;\r\n itemProps?: React.ComponentProps<typeof Root>;\r\n closeProps?: React.ComponentProps<typeof ToastClose>;\r\n titleProps?: React.ComponentProps<typeof ToastTitle>;\r\n };\r\n};\r\n\r\nfunction Toast({ limit = 3, duration = 5000, slotProps }: ToastProps) {\r\n const { toasts, removeToast } = useToasts();\r\n\r\n useEffect(() => {\r\n if (limit !== undefined) {\r\n toastParams.limit = limit;\r\n }\r\n }, [limit]);\r\n\r\n return (\r\n <ToastProvider duration={duration} {...(slotProps?.providerProps ?? {})}>\r\n {Array.from(toasts).map(([key, { message, variant }]) => {\r\n return (\r\n <Root\r\n key={key}\r\n variant={variant}\r\n onOpenChange={open => {\r\n if (!open) {\r\n setTimeout(() => removeToast(key), 100); // let the animation finish then remove the toast\r\n }\r\n }}\r\n {...(slotProps?.itemProps ?? {})}\r\n >\r\n <div className=\"mtx-flex mtx-gap-2 mtx-items-center\">\r\n <div>\r\n {variant === \"danger\" && <DangerCircleIcon className=\"mtx-w-5 mtx-h-5\" />}\r\n {variant === \"success\" && <SuccessCircleIcon className=\"mtx-w-5 mtx-h-5\" />}\r\n {variant === \"info\" && <InfoCircleIcon className=\"mtx-w-5 mtx-h-5\" />}\r\n {variant === \"warning\" && <WarningCircleIcon className=\"mtx-w-5 mtx-h-5\" />}\r\n </div>\r\n {message && <ToastTitle {...(slotProps?.titleProps ?? {})}>{message}</ToastTitle>}\r\n </div>\r\n <ToastClose {...(slotProps?.closeProps ?? {})} />\r\n {/* {action} */}\r\n </Root>\r\n );\r\n })}\r\n <ToastViewport />\r\n </ToastProvider>\r\n );\r\n}\r\nToast.displayName = \"Toast\";\r\n\r\nexport { Toast, type ToastProps };\r\n"],"names":["Toast","limit","duration","slotProps","toasts","removeToast","useToasts","useEffect","toastParams","ToastProvider","key","message","variant","jsxs","Root","open","jsx","DangerCircleIcon","SuccessCircleIcon","InfoCircleIcon","WarningCircleIcon","ToastTitle","ToastClose","ToastViewport"],"mappings":";;;;;;;;AAwBA,SAASA,EAAM,EAAE,OAAAC,IAAQ,GAAG,UAAAC,IAAW,KAAM,WAAAC,KAAyB;AACpE,QAAM,EAAE,QAAAC,GAAQ,aAAAC,EAAA,IAAgBC,EAAA;AAEhC,SAAAC,EAAU,MAAM;AACd,IAAIN,MAAU,WACZO,EAAY,QAAQP;AAAA,EAExB,GAAG,CAACA,CAAK,CAAC,qBAGPQ,GAAA,EAAc,UAAAP,GAAqB,GAAIC,GAAW,iBAAiB,CAAA,GACjE,UAAA;AAAA,IAAA,MAAM,KAAKC,CAAM,EAAE,IAAI,CAAC,CAACM,GAAK,EAAE,SAAAC,GAAS,SAAAC,EAAA,CAAS,MAE/C,gBAAAC;AAAA,MAACC;AAAAA,MAAA;AAAA,QAEC,SAAAF;AAAA,QACA,cAAc,CAAAG,MAAQ;AACpB,UAAKA,KACH,WAAW,MAAMV,EAAYK,CAAG,GAAG,GAAG;AAAA,QAE1C;AAAA,QACC,GAAIP,GAAW,aAAa,CAAA;AAAA,QAE7B,UAAA;AAAA,UAAA,gBAAAU,EAAC,OAAA,EAAI,WAAU,uCACb,UAAA;AAAA,YAAA,gBAAAA,EAAC,OAAA,EACE,UAAA;AAAA,cAAAD,MAAY,YAAY,gBAAAI,EAACC,GAAA,EAAiB,WAAU,mBAAkB;AAAA,cACtEL,MAAY,aAAa,gBAAAI,EAACE,GAAA,EAAkB,WAAU,mBAAkB;AAAA,cACxEN,MAAY,UAAU,gBAAAI,EAACG,GAAA,EAAe,WAAU,mBAAkB;AAAA,cAClEP,MAAY,aAAa,gBAAAI,EAACI,GAAA,EAAkB,WAAU,kBAAA,CAAkB;AAAA,YAAA,GAC3E;AAAA,YACCT,uBAAYU,GAAA,EAAY,GAAIlB,GAAW,cAAc,CAAA,GAAM,UAAAQ,EAAA,CAAQ;AAAA,UAAA,GACtE;AAAA,4BACCW,GAAA,EAAY,GAAInB,GAAW,cAAc,CAAA,EAAC,CAAI;AAAA,QAAA;AAAA,MAAA;AAAA,MAlB1CO;AAAA,IAAA,CAsBV;AAAA,sBACAa,GAAA,CAAA,CAAc;AAAA,EAAA,GACjB;AAEJ;AACAvB,EAAM,cAAc;"}
@@ -1,27 +1,27 @@
1
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
2
- import * as m from "react";
3
- import { Root as n, Provider as l, Trigger as p, Portal as f, Content as t, Arrow as c } from "@radix-ui/react-tooltip";
4
- import { cn as g } from "./utils.es.js";
5
- const y = l, w = n, N = p, x = m.forwardRef(({ className: a, sideOffset: e = 4, children: r, ...i }, d) => /* @__PURE__ */ o(f, { children: /* @__PURE__ */ s(
6
- t,
1
+ import { jsx as t, jsxs as d } from "react/jsx-runtime";
2
+ import * as s from "react";
3
+ import { Root as x, Provider as n, Trigger as l, Portal as p, Content as o, Arrow as f } from "@radix-ui/react-tooltip";
4
+ import { cn as c } from "./utils.es.js";
5
+ const y = n, w = x, N = l, g = s.forwardRef(({ className: m, sideOffset: a = 4, children: e, ...r }, i) => /* @__PURE__ */ t(p, { children: /* @__PURE__ */ d(
6
+ o,
7
7
  {
8
- ref: d,
9
- sideOffset: e,
10
- className: g(
11
- "z-50 rounded-sm bg-primary-900 px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
12
- a
8
+ ref: i,
9
+ sideOffset: a,
10
+ className: c(
11
+ "mtx-z-50 mtx-rounded-sm mtx-bg-primary-900 mtx-px-3 mtx-py-1.5 mtx-text-xs mtx-text-primary-foreground mtx-animate-in mtx-fade-in-0 mtx-zoom-in-95 data-[state=closed]:mtx-animate-out data-[state=closed]:mtx-fade-out-0 data-[state=closed]:mtx-zoom-out-95 data-[side=bottom]:mtx-slide-in-from-top-2 data-[side=left]:mtx-slide-in-from-right-2 data-[side=right]:mtx-slide-in-from-left-2 data-[side=top]:mtx-slide-in-from-bottom-2",
12
+ m
13
13
  ),
14
- ...i,
14
+ ...r,
15
15
  children: [
16
- r,
17
- /* @__PURE__ */ o(c, { "data-role": "arrow", className: "w-2 h-1.5" })
16
+ e,
17
+ /* @__PURE__ */ t(f, { "data-role": "arrow", className: "mtx-w-2 mtx-h-1.5" })
18
18
  ]
19
19
  }
20
20
  ) }));
21
- x.displayName = t.displayName;
21
+ g.displayName = o.displayName;
22
22
  export {
23
23
  w as Tooltip,
24
- x as TooltipContent,
24
+ g as TooltipContent,
25
25
  y as TooltipProvider,
26
26
  N as TooltipTrigger
27
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.es.js","sources":["../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport {\r\n Root,\r\n Provider,\r\n Trigger,\r\n Portal,\r\n Content,\r\n TooltipContentProps as ContentProps,\r\n Arrow,\r\n TooltipProps,\r\n TooltipProviderProps,\r\n TooltipTriggerProps,\r\n} from \"@radix-ui/react-tooltip\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\n\r\nconst TooltipProvider = Provider;\r\n\r\nconst Tooltip = Root;\r\n\r\nconst TooltipTrigger = Trigger;\r\n\r\nconst TooltipContent = React.forwardRef<React.ElementRef<typeof Content>, ContentProps>(({ className, sideOffset = 4, children, ...props }, ref) => (\r\n <Portal>\r\n <Content\r\n ref={ref}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"z-50 rounded-sm bg-primary-900 px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\r\n className,\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <Arrow data-role=\"arrow\" className=\"w-2 h-1.5\" />\r\n </Content>\r\n </Portal>\r\n));\r\nTooltipContent.displayName = Content.displayName;\r\ntype TooltipContentProps = ContentProps & { ref: React.Ref<React.ElementRef<typeof Content>> };\r\n\r\nexport {\r\n Tooltip,\r\n TooltipTrigger,\r\n TooltipContent,\r\n TooltipProvider,\r\n type TooltipProps,\r\n type TooltipContentProps,\r\n type TooltipTriggerProps,\r\n type TooltipProviderProps,\r\n};\r\n"],"names":["TooltipProvider","Provider","Tooltip","Root","TooltipTrigger","Trigger","TooltipContent","React","className","sideOffset","children","props","ref","Portal","jsxs","Content","cn","jsx","Arrow"],"mappings":";;;;AAkBA,MAAMA,IAAkBC,GAElBC,IAAUC,GAEVC,IAAiBC,GAEjBC,IAAiBC,EAAM,WAA2D,CAAC,EAAE,WAAAC,GAAW,YAAAC,IAAa,GAAG,UAAAC,GAAU,GAAGC,EAAA,GAASC,wBACzIC,GAAA,EACC,UAAA,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,KAAAH;AAAA,IACA,YAAAH;AAAA,IACA,WAAWO;AAAA,MACT;AAAA,MACAR;AAAA,IAAA;AAAA,IAED,GAAGG;AAAA,IAEH,UAAA;AAAA,MAAAD;AAAA,MACD,gBAAAO,EAACC,GAAA,EAAM,aAAU,SAAQ,WAAU,YAAA,CAAY;AAAA,IAAA;AAAA,EAAA;AACjD,GACF,CACD;AACDZ,EAAe,cAAcS,EAAQ;"}
1
+ {"version":3,"file":"tooltip.es.js","sources":["../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport {\r\n Root,\r\n Provider,\r\n Trigger,\r\n Portal,\r\n Content,\r\n TooltipContentProps as ContentProps,\r\n Arrow,\r\n TooltipProps,\r\n TooltipProviderProps,\r\n TooltipTriggerProps,\r\n} from \"@radix-ui/react-tooltip\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\n\r\nconst TooltipProvider = Provider;\r\n\r\nconst Tooltip = Root;\r\n\r\nconst TooltipTrigger = Trigger;\r\n\r\nconst TooltipContent = React.forwardRef<React.ElementRef<typeof Content>, ContentProps>(({ className, sideOffset = 4, children, ...props }, ref) => (\r\n <Portal>\r\n <Content\r\n ref={ref}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"mtx-z-50 mtx-rounded-sm mtx-bg-primary-900 mtx-px-3 mtx-py-1.5 mtx-text-xs mtx-text-primary-foreground mtx-animate-in mtx-fade-in-0 mtx-zoom-in-95 data-[state=closed]:mtx-animate-out data-[state=closed]:mtx-fade-out-0 data-[state=closed]:mtx-zoom-out-95 data-[side=bottom]:mtx-slide-in-from-top-2 data-[side=left]:mtx-slide-in-from-right-2 data-[side=right]:mtx-slide-in-from-left-2 data-[side=top]:mtx-slide-in-from-bottom-2\",\r\n className,\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <Arrow data-role=\"arrow\" className=\"mtx-w-2 mtx-h-1.5\" />\r\n </Content>\r\n </Portal>\r\n));\r\nTooltipContent.displayName = Content.displayName;\r\ntype TooltipContentProps = ContentProps & { ref: React.Ref<React.ElementRef<typeof Content>> };\r\n\r\nexport {\r\n Tooltip,\r\n TooltipTrigger,\r\n TooltipContent,\r\n TooltipProvider,\r\n type TooltipProps,\r\n type TooltipContentProps,\r\n type TooltipTriggerProps,\r\n type TooltipProviderProps,\r\n};\r\n"],"names":["TooltipProvider","Provider","Tooltip","Root","TooltipTrigger","Trigger","TooltipContent","React","className","sideOffset","children","props","ref","Portal","jsxs","Content","cn","jsx","Arrow"],"mappings":";;;;AAkBA,MAAMA,IAAkBC,GAElBC,IAAUC,GAEVC,IAAiBC,GAEjBC,IAAiBC,EAAM,WAA2D,CAAC,EAAE,WAAAC,GAAW,YAAAC,IAAa,GAAG,UAAAC,GAAU,GAAGC,EAAA,GAASC,wBACzIC,GAAA,EACC,UAAA,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,KAAAH;AAAA,IACA,YAAAH;AAAA,IACA,WAAWO;AAAA,MACT;AAAA,MACAR;AAAA,IAAA;AAAA,IAED,GAAGG;AAAA,IAEH,UAAA;AAAA,MAAAD;AAAA,MACD,gBAAAO,EAACC,GAAA,EAAM,aAAU,SAAQ,WAAU,oBAAA,CAAoB;AAAA,IAAA;AAAA,EAAA;AACzD,GACF,CACD;AACDZ,EAAe,cAAcS,EAAQ;"}
package/dist/utils.es.js CHANGED
@@ -1,9 +1,10 @@
1
- import { clsx as o } from "clsx";
2
- import { twMerge as t } from "tailwind-merge";
3
- function n(...r) {
4
- return t(o(r));
1
+ import { clsx as r } from "clsx";
2
+ import { extendTailwindMerge as t } from "tailwind-merge";
3
+ const n = t({ prefix: "mtx-" });
4
+ function x(...e) {
5
+ return n(r(e));
5
6
  }
6
7
  export {
7
- n as cn
8
+ x as cn
8
9
  };
9
10
  //# sourceMappingURL=utils.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.es.js","sources":["../src/lib/utils.ts"],"sourcesContent":["import { ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n \nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n"],"names":["cn","inputs","twMerge","clsx"],"mappings":";;AAGO,SAASA,KAAMC,GAAsB;AAC1C,SAAOC,EAAQC,EAAKF,CAAM,CAAC;AAC7B;"}
1
+ {"version":3,"file":"utils.es.js","sources":["../src/lib/utils.ts"],"sourcesContent":["import { ClassValue, clsx } from \"clsx\";\nimport { extendTailwindMerge } from \"tailwind-merge\";\n\nconst twMergeExtended = extendTailwindMerge({ prefix: \"mtx-\" });\nexport function cn(...inputs: ClassValue[]) {\n return twMergeExtended(clsx(inputs));\n}\n"],"names":["twMergeExtended","extendTailwindMerge","cn","inputs","clsx"],"mappings":";;AAGA,MAAMA,IAAkBC,EAAoB,EAAE,QAAQ,QAAQ;AACvD,SAASC,KAAMC,GAAsB;AAC1C,SAAOH,EAAgBI,EAAKD,CAAM,CAAC;AACrC;"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@trsys-tech/matrix-library",
3
3
  "description": "MatrixUI Library",
4
4
  "private": false,
5
- "version": "0.6.0",
5
+ "version": "1.0.0-canary.0",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "module": "dist/index.es.js",
@@ -89,15 +89,14 @@
89
89
  "vaul": "^1.1.1"
90
90
  },
91
91
  "peerDependencies": {
92
- "@hookform/resolvers": "^3.9.1",
93
92
  "react": "^19.2.4",
94
93
  "react-dom": "^19.2.4",
95
- "react-hook-form": "^7.61.1",
96
- "zod": "^3.23.8"
94
+ "react-hook-form": "^7.61.1"
97
95
  },
98
96
  "devDependencies": {
99
97
  "@chromatic-com/storybook": "^1.9.0",
100
98
  "@eslint/js": "^9.13.0",
99
+ "@hookform/resolvers": "^5.2.2",
101
100
  "@storybook/addon-essentials": "^8.6.18",
102
101
  "@storybook/addon-interactions": "^8.6.18",
103
102
  "@storybook/addon-onboarding": "^8.6.18",
@@ -125,7 +124,8 @@
125
124
  "typescript": "~5.6.2",
126
125
  "typescript-eslint": "^8.11.0",
127
126
  "vite": "^6.3.5",
128
- "vite-plugin-dts": "^4.5.4"
127
+ "vite-plugin-dts": "^4.5.4",
128
+ "zod": "^4.3.6"
129
129
  },
130
130
  "eslintConfig": {
131
131
  "extends": [