@xanui/ui 1.1.38 → 1.1.40

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 (191) hide show
  1. package/Accordion/index.cjs +96 -0
  2. package/Accordion/index.cjs.map +1 -0
  3. package/Accordion/index.js.map +1 -1
  4. package/Alert/index.cjs +121 -0
  5. package/Alert/index.cjs.map +1 -0
  6. package/Alert/index.js.map +1 -1
  7. package/Autocomplete/index.cjs +136 -0
  8. package/Autocomplete/index.cjs.map +1 -0
  9. package/Avatar/index.cjs +50 -0
  10. package/Avatar/index.cjs.map +1 -0
  11. package/Badge/index.cjs +109 -0
  12. package/Badge/index.cjs.map +1 -0
  13. package/Box/index.cjs +14 -0
  14. package/Box/index.cjs.map +1 -0
  15. package/Button/index.cjs +94 -0
  16. package/Button/index.cjs.map +1 -0
  17. package/Button/index.js.map +1 -1
  18. package/ButtonGroup/index.cjs +58 -0
  19. package/ButtonGroup/index.cjs.map +1 -0
  20. package/Calendar/index.cjs +174 -0
  21. package/Calendar/index.cjs.map +1 -0
  22. package/Calendar/index.js.map +1 -1
  23. package/CalendarInput/index.cjs +34 -0
  24. package/CalendarInput/index.cjs.map +1 -0
  25. package/CalendarInput/index.js.map +1 -1
  26. package/Checkbox/index.cjs +58 -0
  27. package/Checkbox/index.cjs.map +1 -0
  28. package/Checkbox/index.js.map +1 -1
  29. package/Chip/index.cjs +76 -0
  30. package/Chip/index.cjs.map +1 -0
  31. package/CircleProgress/index.cjs +129 -0
  32. package/CircleProgress/index.cjs.map +1 -0
  33. package/CircleProgress/index.js.map +1 -1
  34. package/ClickOutside/index.cjs +37 -0
  35. package/ClickOutside/index.cjs.map +1 -0
  36. package/ClickOutside/index.js.map +1 -1
  37. package/Collaps/index.cjs +26 -0
  38. package/Collaps/index.cjs.map +1 -0
  39. package/Container/index.cjs +29 -0
  40. package/Container/index.cjs.map +1 -0
  41. package/DataFilter/index.cjs +78 -0
  42. package/DataFilter/index.cjs.map +1 -0
  43. package/DataFilter/options/DateFilter.cjs +32 -0
  44. package/DataFilter/options/DateFilter.cjs.map +1 -0
  45. package/DataFilter/options/DateRangeFilter.cjs +27 -0
  46. package/DataFilter/options/DateRangeFilter.cjs.map +1 -0
  47. package/DataFilter/options/MultiSelectFilter.cjs +38 -0
  48. package/DataFilter/options/MultiSelectFilter.cjs.map +1 -0
  49. package/DataFilter/options/NumberFilter.cjs +24 -0
  50. package/DataFilter/options/NumberFilter.cjs.map +1 -0
  51. package/DataFilter/options/NumberRangeFilter.cjs +29 -0
  52. package/DataFilter/options/NumberRangeFilter.cjs.map +1 -0
  53. package/DataFilter/options/SelectFilter.cjs +34 -0
  54. package/DataFilter/options/SelectFilter.cjs.map +1 -0
  55. package/DataFilter/options/TextFilter.cjs +24 -0
  56. package/DataFilter/options/TextFilter.cjs.map +1 -0
  57. package/Datatable/FilterBox.cjs +39 -0
  58. package/Datatable/FilterBox.cjs.map +1 -0
  59. package/Datatable/FilterBox.js.map +1 -1
  60. package/Datatable/Row.cjs +59 -0
  61. package/Datatable/Row.cjs.map +1 -0
  62. package/Datatable/Row.js.map +1 -1
  63. package/Datatable/SelectedBox.cjs +21 -0
  64. package/Datatable/SelectedBox.cjs.map +1 -0
  65. package/Datatable/Table.cjs +23 -0
  66. package/Datatable/Table.cjs.map +1 -0
  67. package/Datatable/Table.js.map +1 -1
  68. package/Datatable/TableHead.cjs +61 -0
  69. package/Datatable/TableHead.cjs.map +1 -0
  70. package/Datatable/TableHead.js.map +1 -1
  71. package/Datatable/index.cjs +93 -0
  72. package/Datatable/index.cjs.map +1 -0
  73. package/Datatable/index.js.map +1 -1
  74. package/Divider/index.cjs +31 -0
  75. package/Divider/index.cjs.map +1 -0
  76. package/Drawer/index.cjs +78 -0
  77. package/Drawer/index.cjs.map +1 -0
  78. package/Drawer/index.js.map +1 -1
  79. package/Form/index.cjs +45 -0
  80. package/Form/index.cjs.map +1 -0
  81. package/Form/index.js.map +1 -1
  82. package/GridContainer/index.cjs +19 -0
  83. package/GridContainer/index.cjs.map +1 -0
  84. package/GridItem/index.cjs +20 -0
  85. package/GridItem/index.cjs.map +1 -0
  86. package/IconButton/index.cjs +64 -0
  87. package/IconButton/index.cjs.map +1 -0
  88. package/IconButton/index.js.map +1 -1
  89. package/Image/index.cjs +27 -0
  90. package/Image/index.cjs.map +1 -0
  91. package/Image/index.js.map +1 -1
  92. package/Input/index.cjs +144 -0
  93. package/Input/index.cjs.map +1 -0
  94. package/Input/index.js.map +1 -1
  95. package/InputNumber/index.cjs +32 -0
  96. package/InputNumber/index.cjs.map +1 -0
  97. package/Label/index.cjs +24 -0
  98. package/Label/index.cjs.map +1 -0
  99. package/Layer/index.cjs +62 -0
  100. package/Layer/index.cjs.map +1 -0
  101. package/Layer/index.js.map +1 -1
  102. package/LineProgress/index.cjs +59 -0
  103. package/LineProgress/index.cjs.map +1 -0
  104. package/LineProgress/index.js.map +1 -1
  105. package/List/ListContext.cjs +11 -0
  106. package/List/ListContext.cjs.map +1 -0
  107. package/List/index.cjs +63 -0
  108. package/List/index.cjs.map +1 -0
  109. package/ListItem/index.cjs +54 -0
  110. package/ListItem/index.cjs.map +1 -0
  111. package/LoadingBox/index.cjs +32 -0
  112. package/LoadingBox/index.cjs.map +1 -0
  113. package/Menu/index.cjs +150 -0
  114. package/Menu/index.cjs.map +1 -0
  115. package/Menu/index.js.map +1 -1
  116. package/Modal/index.cjs +59 -0
  117. package/Modal/index.cjs.map +1 -0
  118. package/Modal/index.js.map +1 -1
  119. package/NoSSR/index.cjs +15 -0
  120. package/NoSSR/index.cjs.map +1 -0
  121. package/NoSSR/index.js.map +1 -1
  122. package/Option/index.cjs +14 -0
  123. package/Option/index.cjs.map +1 -0
  124. package/Paper/index.cjs +15 -0
  125. package/Paper/index.cjs.map +1 -0
  126. package/Portal/index.cjs +27 -0
  127. package/Portal/index.cjs.map +1 -0
  128. package/Portal/index.js.map +1 -1
  129. package/Radio/index.cjs +16 -0
  130. package/Radio/index.cjs.map +1 -0
  131. package/Scrollbar/index.cjs +59 -0
  132. package/Scrollbar/index.cjs.map +1 -0
  133. package/Scrollbar/index.js.map +1 -1
  134. package/Select/index.cjs +59 -0
  135. package/Select/index.cjs.map +1 -0
  136. package/Select/index.js.map +1 -1
  137. package/Skeleton/index.cjs +60 -0
  138. package/Skeleton/index.cjs.map +1 -0
  139. package/Stack/index.cjs +17 -0
  140. package/Stack/index.cjs.map +1 -0
  141. package/Switch/index.cjs +79 -0
  142. package/Switch/index.cjs.map +1 -0
  143. package/Switch/index.js.map +1 -1
  144. package/Tab/index.cjs +17 -0
  145. package/Tab/index.cjs.map +1 -0
  146. package/Tab/index.js.map +1 -1
  147. package/Table/index.cjs +88 -0
  148. package/Table/index.cjs.map +1 -0
  149. package/TableBody/index.cjs +14 -0
  150. package/TableBody/index.cjs.map +1 -0
  151. package/TableCell/index.cjs +14 -0
  152. package/TableCell/index.cjs.map +1 -0
  153. package/TableFooter/index.cjs +14 -0
  154. package/TableFooter/index.cjs.map +1 -0
  155. package/TableHead/index.cjs +14 -0
  156. package/TableHead/index.cjs.map +1 -0
  157. package/TablePagination/index.cjs +59 -0
  158. package/TablePagination/index.cjs.map +1 -0
  159. package/TablePagination/index.js.map +1 -1
  160. package/TableRow/index.cjs +14 -0
  161. package/TableRow/index.cjs.map +1 -0
  162. package/Tabs/index.cjs +201 -0
  163. package/Tabs/index.cjs.map +1 -0
  164. package/Tabs/index.js.map +1 -1
  165. package/Text/index.cjs +25 -0
  166. package/Text/index.cjs.map +1 -0
  167. package/Toast/index.cjs +120 -0
  168. package/Toast/index.cjs.map +1 -0
  169. package/Toast/index.js.map +1 -1
  170. package/Tooltip/index.cjs +40 -0
  171. package/Tooltip/index.cjs.map +1 -0
  172. package/Tooltip/index.js.map +1 -1
  173. package/ViewBox/index.cjs +32 -0
  174. package/ViewBox/index.cjs.map +1 -0
  175. package/index.cjs +134 -0
  176. package/index.cjs.map +1 -0
  177. package/package.json +3 -3
  178. package/readme.md +4 -4
  179. package/useAlert/index.cjs +94 -0
  180. package/useAlert/index.cjs.map +1 -0
  181. package/useAlert/index.js.map +1 -1
  182. package/useBlurCss/index.cjs +19 -0
  183. package/useBlurCss/index.cjs.map +1 -0
  184. package/useCorner/index.cjs +22 -0
  185. package/useCorner/index.cjs.map +1 -0
  186. package/useLayer/index.cjs +38 -0
  187. package/useLayer/index.cjs.map +1 -0
  188. package/useLayer/index.js.map +1 -1
  189. package/useModal/index.cjs +37 -0
  190. package/useModal/index.cjs.map +1 -0
  191. package/useModal/index.js.map +1 -1
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var core = require('@xanui/core');
5
+
6
+ let _d;
7
+ const useBlurCss = (blur, mode) => {
8
+ return React.useMemo(() => {
9
+ let transparent = { bgcolor: core.alpha("#000000", blur / 100) };
10
+ if (typeof window === 'undefined' || mode === 'transparent') {
11
+ return transparent;
12
+ }
13
+ const d = _d || (_d = window.document.createElement("div").style);
14
+ return d['backdropFilter'] !== undefined ? { backdropFilter: `blur(${(blur / 100) * 10}px)` } : transparent;
15
+ }, [blur]);
16
+ };
17
+
18
+ module.exports = useBlurCss;
19
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../src/useBlurCss/index.tsx"],"sourcesContent":["import { useMemo } from \"react\"\r\nimport { alpha } from \"@xanui/core\";\r\n\r\nlet _d: CSSStyleDeclaration;\r\n\r\nconst useBlurCss = (blur: number, mode?: \"transparent\" | \"blur\") => {\r\n return useMemo(() => {\r\n let transparent = { bgcolor: alpha(\"#000000\", blur / 100) }\r\n if (typeof window === 'undefined' || mode === 'transparent') {\r\n return transparent\r\n }\r\n const d = _d || (_d = window.document.createElement(\"div\").style)\r\n return d['backdropFilter'] !== undefined ? { backdropFilter: `blur(${(blur / 100) * 10}px)` } : transparent\r\n }, [blur])\r\n}\r\n\r\n\r\nexport default useBlurCss"],"names":["useMemo","alpha"],"mappings":";;;;;AAGA,IAAI,EAAuB;AAE3B,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,IAA6B,KAAI;IAChE,OAAOA,aAAO,CAAC,MAAK;AACjB,QAAA,IAAI,WAAW,GAAG,EAAE,OAAO,EAAEC,UAAK,CAAC,SAAS,EAAE,IAAI,GAAG,GAAG,CAAC,EAAE;QAC3D,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,IAAI,KAAK,aAAa,EAAE;AAC1D,YAAA,OAAO,WAAW;QACrB;AACA,QAAA,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;QACjE,OAAO,CAAC,CAAC,gBAAgB,CAAC,KAAK,SAAS,GAAG,EAAE,cAAc,EAAE,CAAA,KAAA,EAAQ,CAAC,IAAI,GAAG,GAAG,IAAI,EAAE,CAAA,GAAA,CAAK,EAAE,GAAG,WAAW;AAC9G,IAAA,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACb;;;;"}
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ const useCorner = (type) => {
4
+ switch (type) {
5
+ case 'square':
6
+ return {
7
+ radius: 0
8
+ };
9
+ case 'rounded':
10
+ return {
11
+ radius: 1
12
+ };
13
+ case 'circle':
14
+ return {
15
+ radius: 100
16
+ };
17
+ }
18
+ return {};
19
+ };
20
+
21
+ module.exports = useCorner;
22
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../src/useCorner/index.ts"],"sourcesContent":["\r\nexport type UseCornerTypes = \"square\" | \"rounded\" | \"circle\"\r\nconst useCorner = (type?: UseCornerTypes): object => {\r\n switch (type) {\r\n case 'square':\r\n return {\r\n radius: 0\r\n }\r\n case 'rounded':\r\n return {\r\n radius: 1\r\n }\r\n case 'circle':\r\n return {\r\n radius: 100\r\n }\r\n }\r\n return {}\r\n}\r\n\r\nexport default useCorner"],"names":[],"mappings":";;AAEA,MAAM,SAAS,GAAG,CAAC,IAAqB,KAAY;IAChD,QAAQ,IAAI;AACR,QAAA,KAAK,QAAQ;YACT,OAAO;AACH,gBAAA,MAAM,EAAE;aACX;AACL,QAAA,KAAK,SAAS;YACV,OAAO;AACH,gBAAA,MAAM,EAAE;aACX;AACL,QAAA,KAAK,QAAQ;YACT,OAAO;AACH,gBAAA,MAAM,EAAE;aACX;;AAET,IAAA,OAAO,EAAE;AACb;;;;"}
@@ -0,0 +1,38 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var core = require('@xanui/core');
6
+ var React = require('react');
7
+ var index = require('../Layer/index.cjs');
8
+
9
+ const useLayer = (children, props) => {
10
+ var _a;
11
+ const [open, setOpen] = React.useState(false);
12
+ const portalProps = ((_a = props === null || props === void 0 ? void 0 : props.slotProps) === null || _a === void 0 ? void 0 : _a.portal) || {};
13
+ const portal = core.usePortal(jsxRuntime.jsx(index, Object.assign({ blur: 20 }, props, { open: open, onClosed: () => {
14
+ portal.unmount();
15
+ if (props === null || props === void 0 ? void 0 : props.onClosed) {
16
+ props.onClosed();
17
+ }
18
+ }, onClickOutside: () => {
19
+ if (props === null || props === void 0 ? void 0 : props.onClickOutside) {
20
+ props.onClickOutside();
21
+ }
22
+ else {
23
+ setOpen(false);
24
+ }
25
+ }, children: typeof children === "function" ? children({ open: () => setOpen(true), close: () => setOpen(false) }) : children })), portalProps);
26
+ return {
27
+ open: () => {
28
+ portal.mount();
29
+ setOpen(true);
30
+ },
31
+ close: () => {
32
+ setOpen(false);
33
+ },
34
+ };
35
+ };
36
+
37
+ module.exports = useLayer;
38
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
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\";\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
+ {"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;;"}
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var tslib = require('tslib');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var index = require('../useLayer/index.cjs');
7
+ var core = require('@xanui/core');
8
+
9
+ const useModal = (children, props) => {
10
+ var _a, _b;
11
+ let sizes = {
12
+ xs: 420,
13
+ sm: 760,
14
+ md: 990,
15
+ lg: 1120,
16
+ xl: 1300,
17
+ full: "100%"
18
+ };
19
+ let _c = props || {}, { size, slotProps } = _c, useLayerProps = tslib.__rest(_c, ["size", "slotProps"]);
20
+ size = size !== null && size !== void 0 ? size : "xs";
21
+ slotProps = slotProps || {};
22
+ const root = (slotProps === null || slotProps === void 0 ? void 0 : slotProps.root) || {};
23
+ const layer = index(() => {
24
+ return (jsxRuntime.jsx(core.Tag, Object.assign({}, root, { sxr: Object.assign({ maxWidth: sizes[size] || size, width: "100%", radius: 2, bgcolor: "background.primary", shadow: 15 }, root === null || root === void 0 ? void 0 : root.sx), baseClass: 'modal', children: typeof children === "function" ? children({ open: layer.open, close: layer.close }) : children })));
25
+ }, Object.assign(Object.assign({}, useLayerProps), { onClickOutside: () => {
26
+ if (props === null || props === void 0 ? void 0 : props.onClickOutside) {
27
+ props.onClickOutside();
28
+ }
29
+ else {
30
+ layer.close();
31
+ }
32
+ }, slotProps: Object.assign(Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.layer), { clickOutside: Object.assign({ maxWidth: sizes[size] || size, width: "100%" }, (_a = slotProps === null || slotProps === void 0 ? void 0 : slotProps.layer) === null || _a === void 0 ? void 0 : _a.clickOutside), root: Object.assign({ display: "flex", alignItems: 'center', justifyContent: "center" }, (_b = slotProps === null || slotProps === void 0 ? void 0 : slotProps.layer) === null || _b === void 0 ? void 0 : _b.root) }) }));
33
+ return layer;
34
+ };
35
+
36
+ module.exports = useModal;
37
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
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\";\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
+ {"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;;"}