@xanui/ui 1.1.56 → 1.1.58

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 (172) 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/index.cjs +4 -2
  152. package/index.cjs.map +1 -1
  153. package/index.d.ts +1 -0
  154. package/index.js +1 -0
  155. package/index.js.map +1 -1
  156. package/package.json +2 -2
  157. package/readme.md +104 -104
  158. package/useAlert/index.cjs.map +1 -1
  159. package/useAlert/index.js.map +1 -1
  160. package/useBlurCss/index.cjs.map +1 -1
  161. package/useBlurCss/index.js.map +1 -1
  162. package/useContextMenu/index.cjs +40 -0
  163. package/useContextMenu/index.cjs.map +1 -0
  164. package/useContextMenu/index.d.ts +9 -0
  165. package/useContextMenu/index.js +38 -0
  166. package/useContextMenu/index.js.map +1 -0
  167. package/useCorner/index.cjs.map +1 -1
  168. package/useCorner/index.js.map +1 -1
  169. package/useLayer/index.cjs.map +1 -1
  170. package/useLayer/index.js.map +1 -1
  171. package/useModal/index.cjs.map +1 -1
  172. package/useModal/index.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/useAlert/index.tsx"],"sourcesContent":["\"use client\";\n\nimport { Tag, UseTransitionVariantTypes } from \"@xanui/core\"\nimport Button, { ButtonProps } from \"../Button\";\nimport useModal, { UseModalProps } from \"../useModal\";\nimport Alert, { AlertProps } from \"../Alert\";\nimport React from \"react\";\nexport type UseAlertContentProps = {\n open: () => void;\n close: () => void;\n loading: (is: boolean) => void;\n isLoading: () => boolean;\n}\n\nexport type UseAlertContent = React.ReactElement | ((props: UseAlertContentProps) => React.ReactElement)\n\nexport type UseAlerProps = Omit<AlertProps, 'children' | 'onClose' | 'variant' | \"size\"> & {\n content: string | UseAlertContent,\n size?: \"small\" | \"medium\" | \"large\" | number;\n closeButton?: boolean;\n clickOutsideToClose?: boolean;\n okButtonText?: string;\n cancelButtonText?: string;\n hideOkButton?: boolean;\n hideCancelButton?: boolean;\n buttonPlacement?: \"start\" | \"end\" | \"between\" | \"full\";\n variant?: \"text\" | \"fill\"\n onConfirm?: () => Promise<void> | void;\n onCancel?: () => Promise<void> | void;\n transition?: UseTransitionVariantTypes;\n blurMode?: UseModalProps['blurMode'];\n slotProps?: {\n modal?: UseModalProps;\n okButton?: Omit<ButtonProps, \"children\">;\n closeButton?: Omit<ButtonProps, \"children\">;\n }\n}\n\n\nconst useAlert = (props: UseAlerProps) => {\n const [loading, setLoading] = React.useState(false)\n let {\n content,\n size,\n color,\n direction,\n variant,\n closeButton,\n clickOutsideToClose,\n okButtonText,\n cancelButtonText,\n hideOkButton,\n hideCancelButton,\n buttonPlacement,\n onConfirm,\n onCancel,\n transition,\n blurMode,\n slotProps,\n ...rest\n } = props\n\n hideOkButton ??= false\n hideCancelButton ??= false\n\n size ??= \"small\"\n color ??= 'default'\n variant ??= \"text\"\n direction ??= \"column\"\n buttonPlacement ??= \"end\"\n let sx: any = {};\n\n switch (buttonPlacement) {\n case \"start\":\n sx.justifyContent = 'flex-start'\n break;\n case \"end\":\n sx.justifyContent = 'flex-end'\n break;\n case \"between\":\n sx.justifyContent = 'space-between'\n break;\n case \"full\":\n sx = {\n \"& button\": {\n flex: 1\n }\n }\n break;\n }\n\n let sizes: any = {\n small: 320,\n medium: 400,\n large: 600\n }\n\n let okcolor = color\n let closecolor = color\n if (color === 'default') {\n okcolor = 'brand'\n closecolor = 'default'\n variant = 'text'\n } else {\n if (variant === 'fill') {\n okcolor = 'default'\n closecolor = 'default'\n } else {\n okcolor = color\n closecolor = 'default'\n }\n }\n\n const modal = useModal(<Alert\n direction={direction}\n sx={{\n px: 2,\n py: 1,\n pt: direction === 'row' ? 1 : 2\n }}\n color={color}\n variant={variant}\n onClose={closeButton ? close : undefined}\n {...rest}\n >\n {typeof content === \"function\" ? content({\n open: () => modal.open(),\n close: () => modal.close(),\n loading: (is: boolean) => setLoading(is),\n isLoading: () => loading\n }) : content}\n <Tag\n sxr={{\n display: \"flex\",\n gap: 1,\n pt: 4,\n flexDirection: \"row\",\n ...sx,\n }}\n >\n {!hideCancelButton && <Button\n disabled={loading}\n color={closecolor}\n variant=\"fill\"\n {...slotProps?.closeButton}\n onClick={async () => {\n setLoading(true)\n onCancel && await onCancel()\n setLoading(false)\n modal.close()\n }}\n >{cancelButtonText || \"Close\"}</Button>}\n <Button\n loading={loading}\n color={okcolor}\n variant=\"fill\"\n {...slotProps?.okButton}\n\n onClick={async () => {\n setLoading(true)\n onConfirm && await onConfirm()\n setLoading(false)\n modal.close()\n }}\n >{okButtonText || \"OK\"}</Button>\n </Tag>\n </Alert>, {\n ...slotProps?.modal,\n size: sizes[size] || size,\n blur: 40,\n blurMode: blurMode || \"transparent\",\n transition: transition || \"zoom\",\n onClickOutside: async () => {\n if (clickOutsideToClose && !loading) {\n setLoading(true)\n onCancel && await onCancel()\n setLoading(false)\n modal.close()\n }\n }\n })\n\n return {\n ...modal,\n loading: (is: boolean) => setLoading(is),\n isLoading: () => loading\n }\n}\n\nexport default useAlert"],"names":[],"mappings":";;;;;;;;;AAuCA;AACI;AACA;;;;;;;;;;AAgCI;AACI;;AAEJ;AACI;;AAEJ;AACI;;AAEJ;AACI;AACI;AACI;AACH;;;;AAKb;AACI;AACA;AACA;;;;AAKJ;;;;;;AAKI;;;;;;;;;AASJ;AAGQ;AACA;;AAEH;AAOG;AACA;;AAEA;;;AAkBQ;;;AAGJ;;AAUI;;;;AAaR;;AAEI;;;;AAIR;;AAQR;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/useAlert/index.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { Tag, UseTransitionVariantTypes } from \"@xanui/core\"\r\nimport Button, { ButtonProps } from \"../Button\";\r\nimport useModal, { UseModalProps } from \"../useModal\";\r\nimport Alert, { AlertProps } from \"../Alert\";\r\nimport React from \"react\";\r\nexport type UseAlertContentProps = {\r\n open: () => void;\r\n close: () => void;\r\n loading: (is: boolean) => void;\r\n isLoading: () => boolean;\r\n}\r\n\r\nexport type UseAlertContent = React.ReactElement | ((props: UseAlertContentProps) => React.ReactElement)\r\n\r\nexport type UseAlerProps = Omit<AlertProps, 'children' | 'onClose' | 'variant' | \"size\"> & {\r\n content: string | UseAlertContent,\r\n size?: \"small\" | \"medium\" | \"large\" | number;\r\n closeButton?: boolean;\r\n clickOutsideToClose?: boolean;\r\n okButtonText?: string;\r\n cancelButtonText?: string;\r\n hideOkButton?: boolean;\r\n hideCancelButton?: boolean;\r\n buttonPlacement?: \"start\" | \"end\" | \"between\" | \"full\";\r\n variant?: \"text\" | \"fill\"\r\n onConfirm?: () => Promise<void> | void;\r\n onCancel?: () => Promise<void> | void;\r\n transition?: UseTransitionVariantTypes;\r\n blurMode?: UseModalProps['blurMode'];\r\n slotProps?: {\r\n modal?: UseModalProps;\r\n okButton?: Omit<ButtonProps, \"children\">;\r\n closeButton?: Omit<ButtonProps, \"children\">;\r\n }\r\n}\r\n\r\n\r\nconst useAlert = (props: UseAlerProps) => {\r\n const [loading, setLoading] = React.useState(false)\r\n let {\r\n content,\r\n size,\r\n color,\r\n direction,\r\n variant,\r\n closeButton,\r\n clickOutsideToClose,\r\n okButtonText,\r\n cancelButtonText,\r\n hideOkButton,\r\n hideCancelButton,\r\n buttonPlacement,\r\n onConfirm,\r\n onCancel,\r\n transition,\r\n blurMode,\r\n slotProps,\r\n ...rest\r\n } = props\r\n\r\n hideOkButton ??= false\r\n hideCancelButton ??= false\r\n\r\n size ??= \"small\"\r\n color ??= 'default'\r\n variant ??= \"text\"\r\n direction ??= \"column\"\r\n buttonPlacement ??= \"end\"\r\n let sx: any = {};\r\n\r\n switch (buttonPlacement) {\r\n case \"start\":\r\n sx.justifyContent = 'flex-start'\r\n break;\r\n case \"end\":\r\n sx.justifyContent = 'flex-end'\r\n break;\r\n case \"between\":\r\n sx.justifyContent = 'space-between'\r\n break;\r\n case \"full\":\r\n sx = {\r\n \"& button\": {\r\n flex: 1\r\n }\r\n }\r\n break;\r\n }\r\n\r\n let sizes: any = {\r\n small: 320,\r\n medium: 400,\r\n large: 600\r\n }\r\n\r\n let okcolor = color\r\n let closecolor = color\r\n if (color === 'default') {\r\n okcolor = 'brand'\r\n closecolor = 'default'\r\n variant = 'text'\r\n } else {\r\n if (variant === 'fill') {\r\n okcolor = 'default'\r\n closecolor = 'default'\r\n } else {\r\n okcolor = color\r\n closecolor = 'default'\r\n }\r\n }\r\n\r\n const modal = useModal(<Alert\r\n direction={direction}\r\n sx={{\r\n px: 2,\r\n py: 1,\r\n pt: direction === 'row' ? 1 : 2\r\n }}\r\n color={color}\r\n variant={variant}\r\n onClose={closeButton ? close : undefined}\r\n {...rest}\r\n >\r\n {typeof content === \"function\" ? content({\r\n open: () => modal.open(),\r\n close: () => modal.close(),\r\n loading: (is: boolean) => setLoading(is),\r\n isLoading: () => loading\r\n }) : content}\r\n <Tag\r\n sxr={{\r\n display: \"flex\",\r\n gap: 1,\r\n pt: 4,\r\n flexDirection: \"row\",\r\n ...sx,\r\n }}\r\n >\r\n {!hideCancelButton && <Button\r\n disabled={loading}\r\n color={closecolor}\r\n variant=\"fill\"\r\n {...slotProps?.closeButton}\r\n onClick={async () => {\r\n setLoading(true)\r\n onCancel && await onCancel()\r\n setLoading(false)\r\n modal.close()\r\n }}\r\n >{cancelButtonText || \"Close\"}</Button>}\r\n <Button\r\n loading={loading}\r\n color={okcolor}\r\n variant=\"fill\"\r\n {...slotProps?.okButton}\r\n\r\n onClick={async () => {\r\n setLoading(true)\r\n onConfirm && await onConfirm()\r\n setLoading(false)\r\n modal.close()\r\n }}\r\n >{okButtonText || \"OK\"}</Button>\r\n </Tag>\r\n </Alert>, {\r\n ...slotProps?.modal,\r\n size: sizes[size] || size,\r\n blur: 40,\r\n blurMode: blurMode || \"transparent\",\r\n transition: transition || \"zoom\",\r\n onClickOutside: async () => {\r\n if (clickOutsideToClose && !loading) {\r\n setLoading(true)\r\n onCancel && await onCancel()\r\n setLoading(false)\r\n modal.close()\r\n }\r\n }\r\n })\r\n\r\n return {\r\n ...modal,\r\n loading: (is: boolean) => setLoading(is),\r\n isLoading: () => loading\r\n }\r\n}\r\n\r\nexport default useAlert"],"names":[],"mappings":";;;;;;;;;AAuCA;AACI;AACA;;;;;;;;;;AAgCI;AACI;;AAEJ;AACI;;AAEJ;AACI;;AAEJ;AACI;AACI;AACI;AACH;;;;AAKb;AACI;AACA;AACA;;;;AAKJ;;;;;;AAKI;;;;;;;;;AASJ;AAGQ;AACA;;AAEH;AAOG;AACA;;AAEA;;;AAkBQ;;;AAGJ;;AAUI;;;;AAaR;;AAEI;;;;AAIR;;AAQR;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/useBlurCss/index.tsx"],"sourcesContent":["import { useMemo } from \"react\"\nimport { alpha } from \"@xanui/core\";\n\nlet _d: CSSStyleDeclaration;\n\nconst useBlurCss = (blur: number, mode?: \"transparent\" | \"blur\") => {\n return useMemo(() => {\n let transparent = { bgcolor: alpha(\"#000000\", blur / 100) }\n if (typeof window === 'undefined' || mode === 'transparent') {\n return transparent\n }\n const d = _d || (_d = window.document.createElement(\"div\").style)\n return d['backdropFilter'] !== undefined ? { backdropFilter: `blur(${(blur / 100) * 10}px)` } : transparent\n }, [blur])\n}\n\n\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;;;;"}
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;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/useBlurCss/index.tsx"],"sourcesContent":["import { useMemo } from \"react\"\nimport { alpha } from \"@xanui/core\";\n\nlet _d: CSSStyleDeclaration;\n\nconst useBlurCss = (blur: number, mode?: \"transparent\" | \"blur\") => {\n return useMemo(() => {\n let transparent = { bgcolor: alpha(\"#000000\", blur / 100) }\n if (typeof window === 'undefined' || mode === 'transparent') {\n return transparent\n }\n const d = _d || (_d = window.document.createElement(\"div\").style)\n return d['backdropFilter'] !== undefined ? { backdropFilter: `blur(${(blur / 100) * 10}px)` } : transparent\n }, [blur])\n}\n\n\nexport default useBlurCss"],"names":[],"mappings":";;;AAGA,IAAI,EAAuB;AAE3B,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,IAA6B,KAAI;IAChE,OAAO,OAAO,CAAC,MAAK;AACjB,QAAA,IAAI,WAAW,GAAG,EAAE,OAAO,EAAE,KAAK,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;;;;"}
1
+ {"version":3,"file":"index.js","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":[],"mappings":";;;AAGA,IAAI,EAAuB;AAE3B,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,IAA6B,KAAI;IAChE,OAAO,OAAO,CAAC,MAAK;AACjB,QAAA,IAAI,WAAW,GAAG,EAAE,OAAO,EAAE,KAAK,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,40 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var core = require('@xanui/core');
6
+ var React = require('react');
7
+ var index = require('../Menu/index.cjs');
8
+
9
+ const useContextMenu = (_a) => {
10
+ var { children, onClosed, onClickOutside } = _a, props = tslib.__rest(_a, ["children", "onClosed", "onClickOutside"]);
11
+ const Comp = ({ x, y }) => {
12
+ const ref = React.useRef(null);
13
+ const [target, setTarget] = React.useState();
14
+ React.useEffect(() => {
15
+ setTarget(ref.current);
16
+ return () => {
17
+ core.Renderar.unrender(Comp);
18
+ };
19
+ }, []);
20
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(core.Tag, { baseClass: "context-menu-target", ref: ref, position: "fixed", top: y, left: x, zIndex: 99999999999999, bgcolor: "background.primary", height: 0, width: 0 }), jsxRuntime.jsx(index, Object.assign({}, props, { target: target, onClickOutside: (e) => {
21
+ core.Renderar.unrender(Comp);
22
+ onClickOutside && onClickOutside(e);
23
+ }, children: children }))] }));
24
+ };
25
+ const onContextMenu = (e) => {
26
+ e.preventDefault();
27
+ core.Renderar.render(Comp, {
28
+ x: e.pageX,
29
+ y: e.pageY,
30
+ open: true,
31
+ });
32
+ };
33
+ onContextMenu.close = () => {
34
+ core.Renderar.unrender(Comp);
35
+ };
36
+ return onContextMenu;
37
+ };
38
+
39
+ module.exports = useContextMenu;
40
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../src/useContextMenu/index.tsx"],"sourcesContent":["import { Renderar, Tag, TagComponentType } from \"@xanui/core\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport Menu, { MenuProps } from \"../Menu\"\r\n\r\n\r\nconst useContextMenu = ({ children, onClosed, onClickOutside, ...props }: MenuProps) => {\r\n\r\n const Comp = ({ x, y }: any) => {\r\n const ref = useRef(null)\r\n const [target, setTarget] = useState<any>()\r\n\r\n useEffect(() => {\r\n setTarget(ref.current)\r\n return () => {\r\n Renderar.unrender(Comp)\r\n }\r\n }, [])\r\n\r\n return (\r\n <>\r\n <Tag\r\n baseClass=\"context-menu-target\"\r\n ref={ref}\r\n position={\"fixed\"}\r\n top={y}\r\n left={x}\r\n zIndex={99999999999999}\r\n bgcolor=\"background.primary\"\r\n height={0}\r\n width={0}\r\n />\r\n <Menu\r\n {...props}\r\n target={target!}\r\n onClickOutside={(e) => {\r\n Renderar.unrender(Comp)\r\n onClickOutside && onClickOutside(e)\r\n }}\r\n >\r\n {children}\r\n </Menu>\r\n </>\r\n )\r\n }\r\n\r\n const onContextMenu = (e: React.MouseEvent<TagComponentType, MouseEvent>) => {\r\n e.preventDefault()\r\n Renderar.render(Comp, {\r\n x: e.pageX,\r\n y: e.pageY,\r\n open: true,\r\n })\r\n }\r\n\r\n onContextMenu.close = () => {\r\n Renderar.unrender(Comp)\r\n }\r\n\r\n return onContextMenu\r\n}\r\n\r\nexport default useContextMenu"],"names":["__rest","useRef","useState","useEffect","Renderar","_jsxs","_Fragment","_jsx","Tag","Menu"],"mappings":";;;;;;;;AAKA,MAAM,cAAc,GAAG,CAAC,EAA2D,KAAI;QAA/D,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,OAAuB,EAAlB,KAAK,GAAAA,YAAA,CAAA,EAAA,EAA9C,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAA,CAAgD,CAAF;IAEnE,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAO,KAAI;AAC5B,QAAA,MAAM,GAAG,GAAGC,YAAM,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGC,cAAQ,EAAO;QAE3CC,eAAS,CAAC,MAAK;AACZ,YAAA,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;AACtB,YAAA,OAAO,MAAK;AACT,gBAAAC,aAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,YAAA,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC;QAEN,QACGC,eAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA,CACGC,cAAA,CAACC,QAAG,EAAA,EACD,SAAS,EAAC,qBAAqB,EAC/B,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,OAAO,EACjB,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,cAAc,EACtB,OAAO,EAAC,oBAAoB,EAC5B,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,CAAC,EAAA,CACT,EACFD,cAAA,CAACE,KAAI,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACE,KAAK,EAAA,EACT,MAAM,EAAE,MAAO,EACf,cAAc,EAAE,CAAC,CAAC,KAAI;AACnB,wBAAAL,aAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;AACvB,wBAAA,cAAc,IAAI,cAAc,CAAC,CAAC,CAAC;AACtC,oBAAA,CAAC,EAAA,QAAA,EAEA,QAAQ,EAAA,CAAA,CACL,CAAA,EAAA,CACP;AAET,IAAA,CAAC;AAED,IAAA,MAAM,aAAa,GAAG,CAAC,CAAiD,KAAI;QACzE,CAAC,CAAC,cAAc,EAAE;AAClB,QAAAA,aAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;YACnB,CAAC,EAAE,CAAC,CAAC,KAAK;YACV,CAAC,EAAE,CAAC,CAAC,KAAK;AACV,YAAA,IAAI,EAAE,IAAI;AACZ,SAAA,CAAC;AACL,IAAA,CAAC;AAED,IAAA,aAAa,CAAC,KAAK,GAAG,MAAK;AACxB,QAAAA,aAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,IAAA,CAAC;AAED,IAAA,OAAO,aAAa;AACvB;;;;"}
@@ -0,0 +1,9 @@
1
+ import { TagComponentType } from '@xanui/core';
2
+ import { MenuProps } from '../Menu/index.js';
3
+
4
+ declare const useContextMenu: ({ children, onClosed, onClickOutside, ...props }: MenuProps) => {
5
+ (e: React.MouseEvent<TagComponentType, MouseEvent>): void;
6
+ close(): void;
7
+ };
8
+
9
+ export { useContextMenu as default };
@@ -0,0 +1,38 @@
1
+ import { __rest } from 'tslib';
2
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
+ import { Renderar, Tag } from '@xanui/core';
4
+ import { useRef, useState, useEffect } from 'react';
5
+ import Menu from '../Menu/index.js';
6
+
7
+ const useContextMenu = (_a) => {
8
+ var { children, onClosed, onClickOutside } = _a, props = __rest(_a, ["children", "onClosed", "onClickOutside"]);
9
+ const Comp = ({ x, y }) => {
10
+ const ref = useRef(null);
11
+ const [target, setTarget] = useState();
12
+ useEffect(() => {
13
+ setTarget(ref.current);
14
+ return () => {
15
+ Renderar.unrender(Comp);
16
+ };
17
+ }, []);
18
+ return (jsxs(Fragment, { children: [jsx(Tag, { baseClass: "context-menu-target", ref: ref, position: "fixed", top: y, left: x, zIndex: 99999999999999, bgcolor: "background.primary", height: 0, width: 0 }), jsx(Menu, Object.assign({}, props, { target: target, onClickOutside: (e) => {
19
+ Renderar.unrender(Comp);
20
+ onClickOutside && onClickOutside(e);
21
+ }, children: children }))] }));
22
+ };
23
+ const onContextMenu = (e) => {
24
+ e.preventDefault();
25
+ Renderar.render(Comp, {
26
+ x: e.pageX,
27
+ y: e.pageY,
28
+ open: true,
29
+ });
30
+ };
31
+ onContextMenu.close = () => {
32
+ Renderar.unrender(Comp);
33
+ };
34
+ return onContextMenu;
35
+ };
36
+
37
+ export { useContextMenu as default };
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/useContextMenu/index.tsx"],"sourcesContent":["import { Renderar, Tag, TagComponentType } from \"@xanui/core\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport Menu, { MenuProps } from \"../Menu\"\r\n\r\n\r\nconst useContextMenu = ({ children, onClosed, onClickOutside, ...props }: MenuProps) => {\r\n\r\n const Comp = ({ x, y }: any) => {\r\n const ref = useRef(null)\r\n const [target, setTarget] = useState<any>()\r\n\r\n useEffect(() => {\r\n setTarget(ref.current)\r\n return () => {\r\n Renderar.unrender(Comp)\r\n }\r\n }, [])\r\n\r\n return (\r\n <>\r\n <Tag\r\n baseClass=\"context-menu-target\"\r\n ref={ref}\r\n position={\"fixed\"}\r\n top={y}\r\n left={x}\r\n zIndex={99999999999999}\r\n bgcolor=\"background.primary\"\r\n height={0}\r\n width={0}\r\n />\r\n <Menu\r\n {...props}\r\n target={target!}\r\n onClickOutside={(e) => {\r\n Renderar.unrender(Comp)\r\n onClickOutside && onClickOutside(e)\r\n }}\r\n >\r\n {children}\r\n </Menu>\r\n </>\r\n )\r\n }\r\n\r\n const onContextMenu = (e: React.MouseEvent<TagComponentType, MouseEvent>) => {\r\n e.preventDefault()\r\n Renderar.render(Comp, {\r\n x: e.pageX,\r\n y: e.pageY,\r\n open: true,\r\n })\r\n }\r\n\r\n onContextMenu.close = () => {\r\n Renderar.unrender(Comp)\r\n }\r\n\r\n return onContextMenu\r\n}\r\n\r\nexport default useContextMenu"],"names":["_jsxs","_Fragment","_jsx"],"mappings":";;;;;;AAKA,MAAM,cAAc,GAAG,CAAC,EAA2D,KAAI;QAA/D,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,OAAuB,EAAlB,KAAK,GAAA,MAAA,CAAA,EAAA,EAA9C,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAA,CAAgD,CAAF;IAEnE,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAO,KAAI;AAC5B,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAO;QAE3C,SAAS,CAAC,MAAK;AACZ,YAAA,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;AACtB,YAAA,OAAO,MAAK;AACT,gBAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,YAAA,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC;QAEN,QACGA,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACGC,GAAA,CAAC,GAAG,EAAA,EACD,SAAS,EAAC,qBAAqB,EAC/B,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,OAAO,EACjB,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,cAAc,EACtB,OAAO,EAAC,oBAAoB,EAC5B,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,CAAC,EAAA,CACT,EACFA,GAAA,CAAC,IAAI,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACE,KAAK,EAAA,EACT,MAAM,EAAE,MAAO,EACf,cAAc,EAAE,CAAC,CAAC,KAAI;AACnB,wBAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;AACvB,wBAAA,cAAc,IAAI,cAAc,CAAC,CAAC,CAAC;AACtC,oBAAA,CAAC,EAAA,QAAA,EAEA,QAAQ,EAAA,CAAA,CACL,CAAA,EAAA,CACP;AAET,IAAA,CAAC;AAED,IAAA,MAAM,aAAa,GAAG,CAAC,CAAiD,KAAI;QACzE,CAAC,CAAC,cAAc,EAAE;AAClB,QAAA,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;YACnB,CAAC,EAAE,CAAC,CAAC,KAAK;YACV,CAAC,EAAE,CAAC,CAAC,KAAK;AACV,YAAA,IAAI,EAAE,IAAI;AACZ,SAAA,CAAC;AACL,IAAA,CAAC;AAED,IAAA,aAAa,CAAC,KAAK,GAAG,MAAK;AACxB,QAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,IAAA,CAAC;AAED,IAAA,OAAO,aAAa;AACvB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/useCorner/index.ts"],"sourcesContent":["\nexport type UseCornerTypes = \"square\" | \"rounded\" | \"circle\"\nconst useCorner = (type?: UseCornerTypes): object => {\n switch (type) {\n case 'square':\n return {\n radius: 0\n }\n case 'rounded':\n return {\n radius: 1\n }\n case 'circle':\n return {\n radius: 100\n }\n }\n return {}\n}\n\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;;;;"}
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;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/useCorner/index.ts"],"sourcesContent":["\nexport type UseCornerTypes = \"square\" | \"rounded\" | \"circle\"\nconst useCorner = (type?: UseCornerTypes): object => {\n switch (type) {\n case 'square':\n return {\n radius: 0\n }\n case 'rounded':\n return {\n radius: 1\n }\n case 'circle':\n return {\n radius: 100\n }\n }\n return {}\n}\n\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;;;;"}
1
+ {"version":3,"file":"index.js","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;;;;"}
@@ -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;;"}