@xanui/ui 1.1.56 → 1.1.57

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 (162) hide show
  1. package/Accordion/index.cjs.map +1 -1
  2. package/Accordion/index.js.map +1 -1
  3. package/Alert/index.cjs +3 -5
  4. package/Alert/index.cjs.map +1 -1
  5. package/Alert/index.js +3 -5
  6. package/Alert/index.js.map +1 -1
  7. package/Autocomplete/index.cjs.map +1 -1
  8. package/Autocomplete/index.js.map +1 -1
  9. package/Avatar/index.cjs.map +1 -1
  10. package/Avatar/index.js.map +1 -1
  11. package/Badge/index.cjs.map +1 -1
  12. package/Badge/index.js.map +1 -1
  13. package/Box/index.cjs.map +1 -1
  14. package/Box/index.js.map +1 -1
  15. package/Button/index.cjs.map +1 -1
  16. package/Button/index.js.map +1 -1
  17. package/ButtonGroup/index.cjs.map +1 -1
  18. package/ButtonGroup/index.js.map +1 -1
  19. package/Calendar/index.cjs.map +1 -1
  20. package/Calendar/index.js.map +1 -1
  21. package/CalendarInput/index.cjs.map +1 -1
  22. package/CalendarInput/index.js.map +1 -1
  23. package/Checkbox/index.cjs.map +1 -1
  24. package/Checkbox/index.js.map +1 -1
  25. package/Chip/index.cjs.map +1 -1
  26. package/Chip/index.js.map +1 -1
  27. package/CircleProgress/index.cjs.map +1 -1
  28. package/CircleProgress/index.js.map +1 -1
  29. package/ClickOutside/index.cjs.map +1 -1
  30. package/ClickOutside/index.js.map +1 -1
  31. package/Collaps/index.cjs.map +1 -1
  32. package/Collaps/index.js.map +1 -1
  33. package/Container/index.cjs.map +1 -1
  34. package/Container/index.js.map +1 -1
  35. package/DataFilter/index.cjs.map +1 -1
  36. package/DataFilter/index.js.map +1 -1
  37. package/DataFilter/options/DateFilter.cjs.map +1 -1
  38. package/DataFilter/options/DateFilter.js.map +1 -1
  39. package/DataFilter/options/DateRangeFilter.cjs.map +1 -1
  40. package/DataFilter/options/DateRangeFilter.js.map +1 -1
  41. package/DataFilter/options/MultiSelectFilter.cjs.map +1 -1
  42. package/DataFilter/options/MultiSelectFilter.js.map +1 -1
  43. package/DataFilter/options/NumberFilter.cjs.map +1 -1
  44. package/DataFilter/options/NumberFilter.js.map +1 -1
  45. package/DataFilter/options/NumberRangeFilter.cjs.map +1 -1
  46. package/DataFilter/options/NumberRangeFilter.js.map +1 -1
  47. package/DataFilter/options/SelectFilter.cjs.map +1 -1
  48. package/DataFilter/options/SelectFilter.js.map +1 -1
  49. package/DataFilter/options/TextFilter.cjs.map +1 -1
  50. package/DataFilter/options/TextFilter.js.map +1 -1
  51. package/Datatable/FilterBox.cjs.map +1 -1
  52. package/Datatable/FilterBox.js.map +1 -1
  53. package/Datatable/Row.cjs.map +1 -1
  54. package/Datatable/Row.js.map +1 -1
  55. package/Datatable/SelectedBox.cjs.map +1 -1
  56. package/Datatable/SelectedBox.js.map +1 -1
  57. package/Datatable/Table.cjs.map +1 -1
  58. package/Datatable/Table.js.map +1 -1
  59. package/Datatable/TableHead.cjs.map +1 -1
  60. package/Datatable/TableHead.js.map +1 -1
  61. package/Datatable/index.cjs.map +1 -1
  62. package/Datatable/index.js.map +1 -1
  63. package/Divider/index.cjs.map +1 -1
  64. package/Divider/index.js.map +1 -1
  65. package/Drawer/index.cjs.map +1 -1
  66. package/Drawer/index.js.map +1 -1
  67. package/Form/index.cjs.map +1 -1
  68. package/Form/index.js.map +1 -1
  69. package/GridContainer/index.cjs.map +1 -1
  70. package/GridContainer/index.js.map +1 -1
  71. package/GridItem/index.cjs.map +1 -1
  72. package/GridItem/index.js.map +1 -1
  73. package/IconButton/index.cjs.map +1 -1
  74. package/IconButton/index.js.map +1 -1
  75. package/Image/index.cjs.map +1 -1
  76. package/Image/index.js.map +1 -1
  77. package/Input/index.cjs.map +1 -1
  78. package/Input/index.js.map +1 -1
  79. package/InputNumber/index.cjs.map +1 -1
  80. package/InputNumber/index.js.map +1 -1
  81. package/Label/index.cjs.map +1 -1
  82. package/Label/index.js.map +1 -1
  83. package/Layer/index.cjs.map +1 -1
  84. package/Layer/index.js.map +1 -1
  85. package/LineProgress/index.cjs.map +1 -1
  86. package/LineProgress/index.js.map +1 -1
  87. package/List/ListContext.cjs.map +1 -1
  88. package/List/ListContext.js.map +1 -1
  89. package/List/index.cjs.map +1 -1
  90. package/List/index.js.map +1 -1
  91. package/ListItem/index.cjs.map +1 -1
  92. package/ListItem/index.js.map +1 -1
  93. package/LoadingBox/index.cjs.map +1 -1
  94. package/LoadingBox/index.js.map +1 -1
  95. package/Menu/index.cjs +3 -4
  96. package/Menu/index.cjs.map +1 -1
  97. package/Menu/index.d.ts +6 -0
  98. package/Menu/index.js +3 -4
  99. package/Menu/index.js.map +1 -1
  100. package/Modal/index.cjs.map +1 -1
  101. package/Modal/index.js.map +1 -1
  102. package/NoSSR/index.cjs.map +1 -1
  103. package/NoSSR/index.js.map +1 -1
  104. package/Option/index.cjs.map +1 -1
  105. package/Option/index.js.map +1 -1
  106. package/Paper/index.cjs.map +1 -1
  107. package/Paper/index.js.map +1 -1
  108. package/Portal/index.cjs.map +1 -1
  109. package/Portal/index.js.map +1 -1
  110. package/Radio/index.cjs.map +1 -1
  111. package/Radio/index.js.map +1 -1
  112. package/Scrollbar/index.cjs.map +1 -1
  113. package/Scrollbar/index.js.map +1 -1
  114. package/Select/index.cjs.map +1 -1
  115. package/Select/index.js.map +1 -1
  116. package/Skeleton/index.cjs.map +1 -1
  117. package/Skeleton/index.js.map +1 -1
  118. package/Stack/index.cjs.map +1 -1
  119. package/Stack/index.js.map +1 -1
  120. package/Switch/index.cjs.map +1 -1
  121. package/Switch/index.js.map +1 -1
  122. package/Tab/index.cjs.map +1 -1
  123. package/Tab/index.js.map +1 -1
  124. package/Table/index.cjs.map +1 -1
  125. package/Table/index.js.map +1 -1
  126. package/TableBody/index.cjs.map +1 -1
  127. package/TableBody/index.js.map +1 -1
  128. package/TableCell/index.cjs.map +1 -1
  129. package/TableCell/index.js.map +1 -1
  130. package/TableFooter/index.cjs.map +1 -1
  131. package/TableFooter/index.js.map +1 -1
  132. package/TableHead/index.cjs.map +1 -1
  133. package/TableHead/index.js.map +1 -1
  134. package/TablePagination/index.cjs.map +1 -1
  135. package/TablePagination/index.js.map +1 -1
  136. package/TableRow/index.cjs.map +1 -1
  137. package/TableRow/index.js.map +1 -1
  138. package/Tabs/index.cjs.map +1 -1
  139. package/Tabs/index.js.map +1 -1
  140. package/Text/index.cjs.map +1 -1
  141. package/Text/index.js.map +1 -1
  142. package/Toast/index.cjs +57 -42
  143. package/Toast/index.cjs.map +1 -1
  144. package/Toast/index.d.ts +4 -1
  145. package/Toast/index.js +58 -43
  146. package/Toast/index.js.map +1 -1
  147. package/Tooltip/index.cjs.map +1 -1
  148. package/Tooltip/index.js.map +1 -1
  149. package/ViewBox/index.cjs.map +1 -1
  150. package/ViewBox/index.js.map +1 -1
  151. package/package.json +2 -2
  152. package/readme.md +104 -104
  153. package/useAlert/index.cjs.map +1 -1
  154. package/useAlert/index.js.map +1 -1
  155. package/useBlurCss/index.cjs.map +1 -1
  156. package/useBlurCss/index.js.map +1 -1
  157. package/useCorner/index.cjs.map +1 -1
  158. package/useCorner/index.js.map +1 -1
  159. package/useLayer/index.cjs.map +1 -1
  160. package/useLayer/index.js.map +1 -1
  161. package/useModal/index.cjs.map +1 -1
  162. package/useModal/index.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/useLayer/index.tsx"],"sourcesContent":["\"use client\";\n\nimport { usePortal } from \"@xanui/core\"\nimport { useState } from \"react\"\nimport Layer, { LayerProps } from \"../Layer\"\nimport { UsePortalOptions } from \"@xanui/core/hooks/usePortal\"\n\nexport type UseLayerProps = Omit<LayerProps, \"open\" | \"children\" | \"slotProps\"> & {\n slotProps?: LayerProps[\"slotProps\"] & {\n portal?: UsePortalOptions\n }\n}\n\nexport type UseLayerReturn = {\n open: () => void;\n close: () => void;\n}\n\nexport type UseLayerChildren = React.ReactElement | ((props: UseLayerReturn) => React.ReactElement)\n\nconst useLayer = (children: UseLayerChildren, props?: UseLayerProps): UseLayerReturn => {\n const [open, setOpen] = useState(false)\n const portalProps = props?.slotProps?.portal || {}\n const portal = usePortal(<Layer\n blur={20}\n {...props}\n open={open}\n onClosed={() => {\n portal.unmount()\n if (props?.onClosed) {\n props.onClosed()\n }\n }}\n onClickOutside={() => {\n if (props?.onClickOutside) {\n props.onClickOutside()\n } else {\n setOpen(false)\n }\n }}\n >\n {typeof children === \"function\" ? children({ open: () => setOpen(true), close: () => setOpen(false) }) : children}\n </Layer>, portalProps)\n\n return {\n open: () => {\n portal.mount()\n setOpen(true)\n },\n close: () => {\n setOpen(false)\n },\n }\n}\n\nexport default useLayer"],"names":[],"mappings":";;;;;;;;AAoBA;;;AAEG;;;;;;AAUG;;;;;;;AAOA;;;;;;;;;;AAcN;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/useLayer/index.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { usePortal } from \"@xanui/core\"\r\nimport { useState } from \"react\"\r\nimport Layer, { LayerProps } from \"../Layer\"\r\nimport { UsePortalOptions } from \"@xanui/core/hooks/usePortal\"\r\n\r\nexport type UseLayerProps = Omit<LayerProps, \"open\" | \"children\" | \"slotProps\"> & {\r\n slotProps?: LayerProps[\"slotProps\"] & {\r\n portal?: UsePortalOptions\r\n }\r\n}\r\n\r\nexport type UseLayerReturn = {\r\n open: () => void;\r\n close: () => void;\r\n}\r\n\r\nexport type UseLayerChildren = React.ReactElement | ((props: UseLayerReturn) => React.ReactElement)\r\n\r\nconst useLayer = (children: UseLayerChildren, props?: UseLayerProps): UseLayerReturn => {\r\n const [open, setOpen] = useState(false)\r\n const portalProps = props?.slotProps?.portal || {}\r\n const portal = usePortal(<Layer\r\n blur={20}\r\n {...props}\r\n open={open}\r\n onClosed={() => {\r\n portal.unmount()\r\n if (props?.onClosed) {\r\n props.onClosed()\r\n }\r\n }}\r\n onClickOutside={() => {\r\n if (props?.onClickOutside) {\r\n props.onClickOutside()\r\n } else {\r\n setOpen(false)\r\n }\r\n }}\r\n >\r\n {typeof children === \"function\" ? children({ open: () => setOpen(true), close: () => setOpen(false) }) : children}\r\n </Layer>, portalProps)\r\n\r\n return {\r\n open: () => {\r\n portal.mount()\r\n setOpen(true)\r\n },\r\n close: () => {\r\n setOpen(false)\r\n },\r\n }\r\n}\r\n\r\nexport default useLayer"],"names":[],"mappings":";;;;;;;;AAoBA;;;AAEG;;;;;;AAUG;;;;;;;AAOA;;;;;;;;;;AAcN;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/useLayer/index.tsx"],"sourcesContent":["\"use client\";\n\nimport { usePortal } from \"@xanui/core\"\nimport { useState } from \"react\"\nimport Layer, { LayerProps } from \"../Layer\"\nimport { UsePortalOptions } from \"@xanui/core/hooks/usePortal\"\n\nexport type UseLayerProps = Omit<LayerProps, \"open\" | \"children\" | \"slotProps\"> & {\n slotProps?: LayerProps[\"slotProps\"] & {\n portal?: UsePortalOptions\n }\n}\n\nexport type UseLayerReturn = {\n open: () => void;\n close: () => void;\n}\n\nexport type UseLayerChildren = React.ReactElement | ((props: UseLayerReturn) => React.ReactElement)\n\nconst useLayer = (children: UseLayerChildren, props?: UseLayerProps): UseLayerReturn => {\n const [open, setOpen] = useState(false)\n const portalProps = props?.slotProps?.portal || {}\n const portal = usePortal(<Layer\n blur={20}\n {...props}\n open={open}\n onClosed={() => {\n portal.unmount()\n if (props?.onClosed) {\n props.onClosed()\n }\n }}\n onClickOutside={() => {\n if (props?.onClickOutside) {\n props.onClickOutside()\n } else {\n setOpen(false)\n }\n }}\n >\n {typeof children === \"function\" ? children({ open: () => setOpen(true), close: () => setOpen(false) }) : children}\n </Layer>, portalProps)\n\n return {\n open: () => {\n portal.mount()\n setOpen(true)\n },\n close: () => {\n setOpen(false)\n },\n }\n}\n\nexport default useLayer"],"names":[],"mappings":";;;;;;AAoBA;;;AAEG;;;;;;AAUG;;;;;;;AAOA;;;;;;;;;;AAcN;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/useLayer/index.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { usePortal } from \"@xanui/core\"\r\nimport { useState } from \"react\"\r\nimport Layer, { LayerProps } from \"../Layer\"\r\nimport { UsePortalOptions } from \"@xanui/core/hooks/usePortal\"\r\n\r\nexport type UseLayerProps = Omit<LayerProps, \"open\" | \"children\" | \"slotProps\"> & {\r\n slotProps?: LayerProps[\"slotProps\"] & {\r\n portal?: UsePortalOptions\r\n }\r\n}\r\n\r\nexport type UseLayerReturn = {\r\n open: () => void;\r\n close: () => void;\r\n}\r\n\r\nexport type UseLayerChildren = React.ReactElement | ((props: UseLayerReturn) => React.ReactElement)\r\n\r\nconst useLayer = (children: UseLayerChildren, props?: UseLayerProps): UseLayerReturn => {\r\n const [open, setOpen] = useState(false)\r\n const portalProps = props?.slotProps?.portal || {}\r\n const portal = usePortal(<Layer\r\n blur={20}\r\n {...props}\r\n open={open}\r\n onClosed={() => {\r\n portal.unmount()\r\n if (props?.onClosed) {\r\n props.onClosed()\r\n }\r\n }}\r\n onClickOutside={() => {\r\n if (props?.onClickOutside) {\r\n props.onClickOutside()\r\n } else {\r\n setOpen(false)\r\n }\r\n }}\r\n >\r\n {typeof children === \"function\" ? children({ open: () => setOpen(true), close: () => setOpen(false) }) : children}\r\n </Layer>, portalProps)\r\n\r\n return {\r\n open: () => {\r\n portal.mount()\r\n setOpen(true)\r\n },\r\n close: () => {\r\n setOpen(false)\r\n },\r\n }\r\n}\r\n\r\nexport default useLayer"],"names":[],"mappings":";;;;;;AAoBA;;;AAEG;;;;;;AAUG;;;;;;;AAOA;;;;;;;;;;AAcN;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/useModal/index.tsx"],"sourcesContent":["\"use client\";\n\nimport useLayer, { UseLayerProps } from \"../useLayer\";\nimport { Tag, TagProps } from '@xanui/core'\n\nexport type UseModalProps = Omit<UseLayerProps, \"slotProps\"> & {\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\" | number;\n slotProps?: {\n layer?: UseLayerProps['slotProps'];\n root?: Omit<TagProps<'div'>, \"children\">\n }\n}\n\nexport type UseModalChildren = React.ReactElement | ((props: UseModalReturn) => React.ReactElement)\n\nexport type UseModalReturn = {\n open: () => void;\n close: () => void;\n}\n\nconst useModal = (children: UseModalChildren, props?: UseModalProps) => {\n\n let sizes: any = {\n xs: 420,\n sm: 760,\n md: 990,\n lg: 1120,\n xl: 1300,\n full: \"100%\"\n }\n let { size, slotProps, ...useLayerProps } = props || {}\n size = size ?? \"xs\"\n slotProps = slotProps || {} as any\n const root: any = slotProps?.root || {}\n\n const layer = useLayer(() => {\n return (\n <Tag\n {...root}\n sxr={{\n maxWidth: sizes[size as any] || size,\n width: \"100%\",\n radius: 2,\n bgcolor: \"background.primary\",\n shadow: 15,\n ...root?.sx\n }}\n baseClass='modal'\n >\n {typeof children === \"function\" ? children({ open: layer.open, close: layer.close }) : children}\n </Tag>\n )\n }, {\n ...useLayerProps,\n onClickOutside: () => {\n if (props?.onClickOutside) {\n props.onClickOutside()\n } else {\n layer.close()\n }\n },\n slotProps: {\n ...slotProps?.layer,\n clickOutside: {\n maxWidth: sizes[size as any] || size,\n width: \"100%\",\n ...slotProps?.layer?.clickOutside,\n },\n root: {\n display: \"flex\",\n alignItems: 'center',\n justifyContent: \"center\",\n ...slotProps?.layer?.root,\n }\n }\n })\n\n return layer\n}\n\nexport default useModal;"],"names":[],"mappings":";;;;;;;;AAoBA;;AAEG;AACG;AACA;AACA;AACA;AACA;AACA;;AAEH;;AAEA;AACA;AAEA;AACG;AAgBH;;;;;;;AAQG;AAiBH;AACH;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/useModal/index.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport useLayer, { UseLayerProps } from \"../useLayer\";\r\nimport { Tag, TagProps } from '@xanui/core'\r\n\r\nexport type UseModalProps = Omit<UseLayerProps, \"slotProps\"> & {\r\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\" | number;\r\n slotProps?: {\r\n layer?: UseLayerProps['slotProps'];\r\n root?: Omit<TagProps<'div'>, \"children\">\r\n }\r\n}\r\n\r\nexport type UseModalChildren = React.ReactElement | ((props: UseModalReturn) => React.ReactElement)\r\n\r\nexport type UseModalReturn = {\r\n open: () => void;\r\n close: () => void;\r\n}\r\n\r\nconst useModal = (children: UseModalChildren, props?: UseModalProps) => {\r\n\r\n let sizes: any = {\r\n xs: 420,\r\n sm: 760,\r\n md: 990,\r\n lg: 1120,\r\n xl: 1300,\r\n full: \"100%\"\r\n }\r\n let { size, slotProps, ...useLayerProps } = props || {}\r\n size = size ?? \"xs\"\r\n slotProps = slotProps || {} as any\r\n const root: any = slotProps?.root || {}\r\n\r\n const layer = useLayer(() => {\r\n return (\r\n <Tag\r\n {...root}\r\n sxr={{\r\n maxWidth: sizes[size as any] || size,\r\n width: \"100%\",\r\n radius: 2,\r\n bgcolor: \"background.primary\",\r\n shadow: 15,\r\n ...root?.sx\r\n }}\r\n baseClass='modal'\r\n >\r\n {typeof children === \"function\" ? children({ open: layer.open, close: layer.close }) : children}\r\n </Tag>\r\n )\r\n }, {\r\n ...useLayerProps,\r\n onClickOutside: () => {\r\n if (props?.onClickOutside) {\r\n props.onClickOutside()\r\n } else {\r\n layer.close()\r\n }\r\n },\r\n slotProps: {\r\n ...slotProps?.layer,\r\n clickOutside: {\r\n maxWidth: sizes[size as any] || size,\r\n width: \"100%\",\r\n ...slotProps?.layer?.clickOutside,\r\n },\r\n root: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n ...slotProps?.layer?.root,\r\n }\r\n }\r\n })\r\n\r\n return layer\r\n}\r\n\r\nexport default useModal;"],"names":[],"mappings":";;;;;;;;AAoBA;;AAEG;AACG;AACA;AACA;AACA;AACA;AACA;;AAEH;;AAEA;AACA;AAEA;AACG;AAgBH;;;;;;;AAQG;AAiBH;AACH;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/useModal/index.tsx"],"sourcesContent":["\"use client\";\n\nimport useLayer, { UseLayerProps } from \"../useLayer\";\nimport { Tag, TagProps } from '@xanui/core'\n\nexport type UseModalProps = Omit<UseLayerProps, \"slotProps\"> & {\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\" | number;\n slotProps?: {\n layer?: UseLayerProps['slotProps'];\n root?: Omit<TagProps<'div'>, \"children\">\n }\n}\n\nexport type UseModalChildren = React.ReactElement | ((props: UseModalReturn) => React.ReactElement)\n\nexport type UseModalReturn = {\n open: () => void;\n close: () => void;\n}\n\nconst useModal = (children: UseModalChildren, props?: UseModalProps) => {\n\n let sizes: any = {\n xs: 420,\n sm: 760,\n md: 990,\n lg: 1120,\n xl: 1300,\n full: \"100%\"\n }\n let { size, slotProps, ...useLayerProps } = props || {}\n size = size ?? \"xs\"\n slotProps = slotProps || {} as any\n const root: any = slotProps?.root || {}\n\n const layer = useLayer(() => {\n return (\n <Tag\n {...root}\n sxr={{\n maxWidth: sizes[size as any] || size,\n width: \"100%\",\n radius: 2,\n bgcolor: \"background.primary\",\n shadow: 15,\n ...root?.sx\n }}\n baseClass='modal'\n >\n {typeof children === \"function\" ? children({ open: layer.open, close: layer.close }) : children}\n </Tag>\n )\n }, {\n ...useLayerProps,\n onClickOutside: () => {\n if (props?.onClickOutside) {\n props.onClickOutside()\n } else {\n layer.close()\n }\n },\n slotProps: {\n ...slotProps?.layer,\n clickOutside: {\n maxWidth: sizes[size as any] || size,\n width: \"100%\",\n ...slotProps?.layer?.clickOutside,\n },\n root: {\n display: \"flex\",\n alignItems: 'center',\n justifyContent: \"center\",\n ...slotProps?.layer?.root,\n }\n }\n })\n\n return layer\n}\n\nexport default useModal;"],"names":[],"mappings":";;;;;;AAoBA;;AAEG;AACG;AACA;AACA;AACA;AACA;AACA;;AAEH;;AAEA;AACA;AAEA;AACG;AAgBH;;;;;;;AAQG;AAiBH;AACH;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/useModal/index.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport useLayer, { UseLayerProps } from \"../useLayer\";\r\nimport { Tag, TagProps } from '@xanui/core'\r\n\r\nexport type UseModalProps = Omit<UseLayerProps, \"slotProps\"> & {\r\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\" | number;\r\n slotProps?: {\r\n layer?: UseLayerProps['slotProps'];\r\n root?: Omit<TagProps<'div'>, \"children\">\r\n }\r\n}\r\n\r\nexport type UseModalChildren = React.ReactElement | ((props: UseModalReturn) => React.ReactElement)\r\n\r\nexport type UseModalReturn = {\r\n open: () => void;\r\n close: () => void;\r\n}\r\n\r\nconst useModal = (children: UseModalChildren, props?: UseModalProps) => {\r\n\r\n let sizes: any = {\r\n xs: 420,\r\n sm: 760,\r\n md: 990,\r\n lg: 1120,\r\n xl: 1300,\r\n full: \"100%\"\r\n }\r\n let { size, slotProps, ...useLayerProps } = props || {}\r\n size = size ?? \"xs\"\r\n slotProps = slotProps || {} as any\r\n const root: any = slotProps?.root || {}\r\n\r\n const layer = useLayer(() => {\r\n return (\r\n <Tag\r\n {...root}\r\n sxr={{\r\n maxWidth: sizes[size as any] || size,\r\n width: \"100%\",\r\n radius: 2,\r\n bgcolor: \"background.primary\",\r\n shadow: 15,\r\n ...root?.sx\r\n }}\r\n baseClass='modal'\r\n >\r\n {typeof children === \"function\" ? children({ open: layer.open, close: layer.close }) : children}\r\n </Tag>\r\n )\r\n }, {\r\n ...useLayerProps,\r\n onClickOutside: () => {\r\n if (props?.onClickOutside) {\r\n props.onClickOutside()\r\n } else {\r\n layer.close()\r\n }\r\n },\r\n slotProps: {\r\n ...slotProps?.layer,\r\n clickOutside: {\r\n maxWidth: sizes[size as any] || size,\r\n width: \"100%\",\r\n ...slotProps?.layer?.clickOutside,\r\n },\r\n root: {\r\n display: \"flex\",\r\n alignItems: 'center',\r\n justifyContent: \"center\",\r\n ...slotProps?.layer?.root,\r\n }\r\n }\r\n })\r\n\r\n return layer\r\n}\r\n\r\nexport default useModal;"],"names":[],"mappings":";;;;;;AAoBA;;AAEG;AACG;AACA;AACA;AACA;AACA;AACA;;AAEH;;AAEA;AACA;AAEA;AACG;AAgBH;;;;;;;AAQG;AAiBH;AACH;;"}