@xanui/ui 1.1.68 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/Autocomplete/index.cjs +45 -31
  2. package/Autocomplete/index.cjs.map +1 -1
  3. package/Autocomplete/index.js +46 -32
  4. package/Autocomplete/index.js.map +1 -1
  5. package/Avatar/index.cjs +1 -0
  6. package/Avatar/index.cjs.map +1 -1
  7. package/Avatar/index.js +1 -0
  8. package/Avatar/index.js.map +1 -1
  9. package/Badge/index.cjs +1 -0
  10. package/Badge/index.cjs.map +1 -1
  11. package/Badge/index.js +1 -0
  12. package/Badge/index.js.map +1 -1
  13. package/Box/index.cjs +1 -0
  14. package/Box/index.cjs.map +1 -1
  15. package/Box/index.js +1 -0
  16. package/Box/index.js.map +1 -1
  17. package/ButtonGroup/index.cjs +1 -0
  18. package/ButtonGroup/index.cjs.map +1 -1
  19. package/ButtonGroup/index.js +1 -0
  20. package/ButtonGroup/index.js.map +1 -1
  21. package/Chip/index.cjs +9 -4
  22. package/Chip/index.cjs.map +1 -1
  23. package/Chip/index.d.ts +3 -0
  24. package/Chip/index.js +9 -4
  25. package/Chip/index.js.map +1 -1
  26. package/Collaps/index.cjs +1 -0
  27. package/Collaps/index.cjs.map +1 -1
  28. package/Collaps/index.js +1 -0
  29. package/Collaps/index.js.map +1 -1
  30. package/Container/index.cjs +1 -0
  31. package/Container/index.cjs.map +1 -1
  32. package/Container/index.js +1 -0
  33. package/Container/index.js.map +1 -1
  34. package/Datatable/SelectedBox.cjs +1 -0
  35. package/Datatable/SelectedBox.cjs.map +1 -1
  36. package/Datatable/SelectedBox.js +1 -0
  37. package/Datatable/SelectedBox.js.map +1 -1
  38. package/Datatable/Table.cjs.map +1 -1
  39. package/Datatable/Table.js.map +1 -1
  40. package/Divider/index.cjs +1 -0
  41. package/Divider/index.cjs.map +1 -1
  42. package/Divider/index.js +1 -0
  43. package/Divider/index.js.map +1 -1
  44. package/GridContainer/index.cjs +1 -0
  45. package/GridContainer/index.cjs.map +1 -1
  46. package/GridContainer/index.js +1 -0
  47. package/GridContainer/index.js.map +1 -1
  48. package/GridItem/index.cjs +1 -0
  49. package/GridItem/index.cjs.map +1 -1
  50. package/GridItem/index.js +1 -0
  51. package/GridItem/index.js.map +1 -1
  52. package/Image/index.cjs.map +1 -1
  53. package/Image/index.js.map +1 -1
  54. package/Input/index.cjs +2 -2
  55. package/Input/index.cjs.map +1 -1
  56. package/Input/index.js +2 -2
  57. package/Input/index.js.map +1 -1
  58. package/Label/index.cjs +1 -0
  59. package/Label/index.cjs.map +1 -1
  60. package/Label/index.js +1 -0
  61. package/Label/index.js.map +1 -1
  62. package/List/index.cjs +1 -0
  63. package/List/index.cjs.map +1 -1
  64. package/List/index.js +1 -0
  65. package/List/index.js.map +1 -1
  66. package/ListItem/index.cjs +1 -0
  67. package/ListItem/index.cjs.map +1 -1
  68. package/ListItem/index.js +1 -0
  69. package/ListItem/index.js.map +1 -1
  70. package/LoadingBox/index.cjs +1 -0
  71. package/LoadingBox/index.cjs.map +1 -1
  72. package/LoadingBox/index.js +1 -0
  73. package/LoadingBox/index.js.map +1 -1
  74. package/Option/index.cjs +1 -0
  75. package/Option/index.cjs.map +1 -1
  76. package/Option/index.js +1 -0
  77. package/Option/index.js.map +1 -1
  78. package/Paper/index.cjs +1 -0
  79. package/Paper/index.cjs.map +1 -1
  80. package/Paper/index.js +1 -0
  81. package/Paper/index.js.map +1 -1
  82. package/Radio/index.cjs +1 -0
  83. package/Radio/index.cjs.map +1 -1
  84. package/Radio/index.js +1 -0
  85. package/Radio/index.js.map +1 -1
  86. package/Scrollbar/index.cjs.map +1 -1
  87. package/Scrollbar/index.js.map +1 -1
  88. package/Select/index.cjs.map +1 -1
  89. package/Select/index.js.map +1 -1
  90. package/Skeleton/index.cjs +1 -0
  91. package/Skeleton/index.cjs.map +1 -1
  92. package/Skeleton/index.js +1 -0
  93. package/Skeleton/index.js.map +1 -1
  94. package/Stack/index.cjs +1 -0
  95. package/Stack/index.cjs.map +1 -1
  96. package/Stack/index.js +1 -0
  97. package/Stack/index.js.map +1 -1
  98. package/Switch/index.cjs.map +1 -1
  99. package/Switch/index.js.map +1 -1
  100. package/Tab/index.cjs.map +1 -1
  101. package/Tab/index.js.map +1 -1
  102. package/Table/index.cjs +1 -0
  103. package/Table/index.cjs.map +1 -1
  104. package/Table/index.js +1 -0
  105. package/Table/index.js.map +1 -1
  106. package/TableBody/index.cjs +1 -0
  107. package/TableBody/index.cjs.map +1 -1
  108. package/TableBody/index.js +1 -0
  109. package/TableBody/index.js.map +1 -1
  110. package/TableCell/index.cjs +1 -0
  111. package/TableCell/index.cjs.map +1 -1
  112. package/TableCell/index.js +1 -0
  113. package/TableCell/index.js.map +1 -1
  114. package/TableFooter/index.cjs +1 -0
  115. package/TableFooter/index.cjs.map +1 -1
  116. package/TableFooter/index.js +1 -0
  117. package/TableFooter/index.js.map +1 -1
  118. package/TableHead/index.cjs +1 -0
  119. package/TableHead/index.cjs.map +1 -1
  120. package/TableHead/index.js +1 -0
  121. package/TableHead/index.js.map +1 -1
  122. package/TablePagination/index.cjs.map +1 -1
  123. package/TablePagination/index.js.map +1 -1
  124. package/TableRow/index.cjs +1 -0
  125. package/TableRow/index.cjs.map +1 -1
  126. package/TableRow/index.js +1 -0
  127. package/TableRow/index.js.map +1 -1
  128. package/Tabs/index.cjs.map +1 -1
  129. package/Tabs/index.js.map +1 -1
  130. package/Text/index.cjs +1 -0
  131. package/Text/index.cjs.map +1 -1
  132. package/Text/index.js +1 -0
  133. package/Text/index.js.map +1 -1
  134. package/Toast/index.cjs.map +1 -1
  135. package/Toast/index.js.map +1 -1
  136. package/Tooltip/index.cjs.map +1 -1
  137. package/Tooltip/index.js.map +1 -1
  138. package/ViewBox/index.cjs +1 -0
  139. package/ViewBox/index.cjs.map +1 -1
  140. package/ViewBox/index.js +1 -0
  141. package/ViewBox/index.js.map +1 -1
  142. package/package.json +1 -1
  143. package/useBlurCss/index.cjs +1 -0
  144. package/useBlurCss/index.cjs.map +1 -1
  145. package/useBlurCss/index.js +1 -0
  146. package/useBlurCss/index.js.map +1 -1
  147. package/useContextMenu/index.cjs +1 -0
  148. package/useContextMenu/index.cjs.map +1 -1
  149. package/useContextMenu/index.js +1 -0
  150. package/useContextMenu/index.js.map +1 -1
  151. package/useCorner/index.cjs +1 -0
  152. package/useCorner/index.cjs.map +1 -1
  153. package/useCorner/index.js +1 -0
  154. package/useCorner/index.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/Stack/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type StackProps<T extends TagComponentType = \"div\"> = TagProps<T>\n\nconst Stack = React.forwardRef(<T extends TagComponentType = \"div\">({ children, ...props }: StackProps<T>, ref?: React.Ref<any>) => {\n return (\n <Tag\n {...props}\n sxr={{\n display: \"flex\",\n flexDirection: \"column\",\n }}\n baseClass='stack'\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Stack\n"],"names":["__rest","_jsx","Tag"],"mappings":";;;;;;;AAMA,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAAqC,EAAE,GAAoB,KAAI;AAA/D,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAA2B,EAAtB,KAAK,GAAAA,YAAA,CAAA,EAAA,EAApB,YAAsB,CAAF;AACpF,IAAA,QACIC,cAAA,CAACC,QAAG,oBACI,KAAK,EAAA,EACT,GAAG,EAAE;AACD,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,QAAQ;SAC1B,EACD,SAAS,EAAC,OAAO,EACjB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/Stack/index.tsx"],"sourcesContent":["\"use client\"\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type StackProps<T extends TagComponentType = \"div\"> = TagProps<T>\n\nconst Stack = React.forwardRef(<T extends TagComponentType = \"div\">({ children, ...props }: StackProps<T>, ref?: React.Ref<any>) => {\n return (\n <Tag\n {...props}\n sxr={{\n display: \"flex\",\n flexDirection: \"column\",\n }}\n baseClass='stack'\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Stack\n"],"names":[],"mappings":";;;;;;;;AAMA;AAAoE;AAChE;AAIY;AACA;;AAMhB;;"}
package/Stack/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { __rest } from 'tslib';
2
3
  import { jsx } from 'react/jsx-runtime';
3
4
  import React from 'react';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Stack/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type StackProps<T extends TagComponentType = \"div\"> = TagProps<T>\n\nconst Stack = React.forwardRef(<T extends TagComponentType = \"div\">({ children, ...props }: StackProps<T>, ref?: React.Ref<any>) => {\n return (\n <Tag\n {...props}\n sxr={{\n display: \"flex\",\n flexDirection: \"column\",\n }}\n baseClass='stack'\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Stack\n"],"names":["_jsx"],"mappings":";;;;;AAMA,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAqC,EAAqC,EAAE,GAAoB,KAAI;AAA/D,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAA2B,EAAtB,KAAK,GAAA,MAAA,CAAA,EAAA,EAApB,YAAsB,CAAF;AACpF,IAAA,QACIA,GAAA,CAAC,GAAG,oBACI,KAAK,EAAA,EACT,GAAG,EAAE;AACD,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,QAAQ;SAC1B,EACD,SAAS,EAAC,OAAO,EACjB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Stack/index.tsx"],"sourcesContent":["\"use client\"\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type StackProps<T extends TagComponentType = \"div\"> = TagProps<T>\n\nconst Stack = React.forwardRef(<T extends TagComponentType = \"div\">({ children, ...props }: StackProps<T>, ref?: React.Ref<any>) => {\n return (\n <Tag\n {...props}\n sxr={{\n display: \"flex\",\n flexDirection: \"column\",\n }}\n baseClass='stack'\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Stack\n"],"names":[],"mappings":";;;;;;AAMA;AAAoE;AAChE;AAIY;AACA;;AAMhB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/Switch/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { ReactElement, useState } from 'react';\nimport { Tag, TagProps, useBreakpointProps, UseColorTemplateColor, useInterface, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type SwitchProps = Omit<TagProps<\"input\">, \"color\" | \"size\" | \"component\" | \"type\" | \"checked\"> & {\n checked?: boolean;\n size?: useBreakpointPropsType<number | \"small\" | \"medium\" | \"large\">;\n color?: useBreakpointPropsType<Omit<UseColorTemplateColor, \"default\">>;\n disabled?: useBreakpointPropsType<boolean>;\n trackSize?: useBreakpointPropsType<number>;\n icon?: useBreakpointPropsType<ReactElement>;\n slotProps?: {\n thumb?: Omit<TagProps, 'children'>;\n track?: Omit<TagProps, 'children'>;\n }\n}\n\nconst Switch = React.forwardRef((props: SwitchProps, ref?: React.Ref<any>) => {\n let [{ size, checked, color, disabled, icon, onChange, trackSize, slotProps, ...rest }] = useInterface<any>(\"Switch\", props, {})\n const _p: any = {}\n if (size) _p.size = size\n if (color) _p.color = color\n if (disabled) _p.disabled = disabled\n if (trackSize) _p.trackSize = trackSize\n if (icon) _p.icon = icon\n const p: any = useBreakpointProps(_p)\n size = p.size ?? \"medium\"\n color = p.color ?? \"brand\"\n disabled = p.disabled\n trackSize = p.trackSize\n icon = p.icon\n\n const [c, set] = useState(false)\n checked ??= c\n\n onChange = onChange || (() => set(!c));\n\n let sizes: any = {\n small: 32,\n medium: 48,\n large: 60\n }\n let _size = sizes[size as any] || size\n\n let height = (_size / 2)\n trackSize ??= height + 4\n let isNormalSize = (height + 4) === trackSize\n let transform = checked ? \"92%\" : \"8%\"\n if (!isNormalSize) {\n transform = checked ? \"100%\" : \"-10%\"\n }\n\n return (\n <Tag\n disabled={disabled}\n sxr={{\n width: _size,\n height: height,\n position: \"relative\",\n cursor: \"pointer\",\n display: \"inline-block\"\n }}\n onClick={onChange}\n >\n <Tag\n {...slotProps?.track}\n baseClass='switch-track-bar'\n sxr={{\n width: _size,\n height: trackSize,\n borderRadius: height,\n position: 'absolute',\n top: \"50%\",\n transform: \"translateY(-50%)\",\n bgcolor: checked ? color : \"divider\",\n\n }}\n >\n </Tag>\n <Tag\n {...slotProps?.thumb}\n baseClass='switch-thumb'\n sxr={{\n transition: \"all .25s\",\n width: height,\n height: height,\n radius: height,\n bgcolor: \"#FFFFFF\",\n position: \"absolute\",\n top: \"50%\",\n border: isNormalSize ? 0 : 1,\n left: 0,\n transform: `translate(${transform}, -50%)`,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n }}\n >\n {\n icon\n }\n </Tag>\n <Tag\n {...rest}\n component='input'\n ref={ref}\n type=\"radio\"\n readOnly\n checked={checked}\n sxr={{\n display: \"none!important\"\n }}\n />\n </Tag>\n )\n})\n\nexport default Switch\n"],"names":[],"mappings":";;;;;;;;AAmBA;;AACI;;AAEA;AAAU;AACV;AAAW;AACX;AAAc;AACd;AAAe;AACf;AAAU;AACV;AACA;AACA;AACA;AACA;AACA;;;AAKA;AAEA;AACI;AACA;AACA;;;AAIJ;;;;;;;;AAYY;AACA;AACA;AACA;AACA;;AAQI;AACA;AACA;AACA;AACA;AACA;;AAGH;AAOG;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAeA;;AAKpB;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/Switch/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { ReactElement, useState } from 'react';\nimport { Tag, TagProps, useBreakpointProps, UseColorTemplateColor, useInterface, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type SwitchProps = Omit<TagProps<\"input\">, \"color\" | \"size\" | \"component\" | \"type\" | \"checked\"> & {\n checked?: boolean;\n size?: useBreakpointPropsType<number | \"small\" | \"medium\" | \"large\">;\n color?: useBreakpointPropsType<Omit<UseColorTemplateColor, \"default\">>;\n disabled?: useBreakpointPropsType<boolean>;\n trackSize?: useBreakpointPropsType<number>;\n icon?: useBreakpointPropsType<ReactElement>;\n slotProps?: {\n thumb?: Omit<TagProps, 'children'>;\n track?: Omit<TagProps, 'children'>;\n }\n}\n\nconst Switch = React.forwardRef((props: SwitchProps, ref?: React.Ref<any>) => {\n let [{ size, checked, color, disabled, icon, onChange, trackSize, slotProps, ...rest }] = useInterface<any>(\"Switch\", props, {})\n const _p: any = {}\n if (size) _p.size = size\n if (color) _p.color = color\n if (disabled) _p.disabled = disabled\n if (trackSize) _p.trackSize = trackSize\n if (icon) _p.icon = icon\n const p: any = useBreakpointProps(_p)\n size = p.size ?? \"medium\"\n color = p.color ?? \"brand\"\n disabled = p.disabled\n trackSize = p.trackSize\n icon = p.icon\n\n const [c, set] = useState(false)\n checked ??= c\n\n onChange = onChange || (() => set(!c));\n\n let sizes: any = {\n small: 32,\n medium: 48,\n large: 60\n }\n let _size = sizes[size as any] || size\n\n let height = (_size / 2)\n trackSize ??= height + 4\n let isNormalSize = (height + 4) === trackSize\n let transform = checked ? \"92%\" : \"8%\"\n if (!isNormalSize) {\n transform = checked ? \"100%\" : \"-10%\"\n }\n\n return (\n <Tag\n disabled={disabled}\n sxr={{\n width: _size,\n height: height,\n position: \"relative\",\n cursor: \"pointer\",\n display: \"inline-block\"\n }}\n onClick={onChange}\n >\n <Tag\n {...slotProps?.track}\n baseClass='switch-track-bar'\n sxr={{\n width: _size,\n height: trackSize,\n borderRadius: height,\n position: 'absolute',\n top: \"50%\",\n transform: \"translateY(-50%)\",\n bgcolor: checked ? color : \"divider\",\n\n }}\n >\n </Tag>\n <Tag\n {...slotProps?.thumb}\n baseClass='switch-thumb'\n sxr={{\n transition: \"all .25s\",\n width: height,\n height: height,\n radius: height,\n bgcolor: \"#FFFFFF\",\n position: \"absolute\",\n top: \"50%\",\n border: isNormalSize ? 0 : 1,\n left: 0,\n transform: `translate(${transform}, -50%)`,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n }}\n >\n {\n icon\n }\n </Tag>\n <Tag\n {...rest}\n component='input'\n ref={ref}\n type=\"radio\"\n readOnly\n checked={checked}\n sxr={{\n display: \"none!important\"\n }}\n />\n </Tag>\n )\n})\n\nexport default Switch\n"],"names":[],"mappings":";;;;;;;;AAkBA;;AACI;;AAEA;AAAU;AACV;AAAW;AACX;AAAc;AACd;AAAe;AACf;AAAU;AACV;AACA;AACA;AACA;AACA;AACA;;;AAKA;AAEA;AACI;AACA;AACA;;;AAIJ;;;;;;;;AAYY;AACA;AACA;AACA;AACA;;AAQI;AACA;AACA;AACA;AACA;AACA;;AAGH;AAOG;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAeA;;AAKpB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Switch/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { ReactElement, useState } from 'react';\nimport { Tag, TagProps, useBreakpointProps, UseColorTemplateColor, useInterface, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type SwitchProps = Omit<TagProps<\"input\">, \"color\" | \"size\" | \"component\" | \"type\" | \"checked\"> & {\n checked?: boolean;\n size?: useBreakpointPropsType<number | \"small\" | \"medium\" | \"large\">;\n color?: useBreakpointPropsType<Omit<UseColorTemplateColor, \"default\">>;\n disabled?: useBreakpointPropsType<boolean>;\n trackSize?: useBreakpointPropsType<number>;\n icon?: useBreakpointPropsType<ReactElement>;\n slotProps?: {\n thumb?: Omit<TagProps, 'children'>;\n track?: Omit<TagProps, 'children'>;\n }\n}\n\nconst Switch = React.forwardRef((props: SwitchProps, ref?: React.Ref<any>) => {\n let [{ size, checked, color, disabled, icon, onChange, trackSize, slotProps, ...rest }] = useInterface<any>(\"Switch\", props, {})\n const _p: any = {}\n if (size) _p.size = size\n if (color) _p.color = color\n if (disabled) _p.disabled = disabled\n if (trackSize) _p.trackSize = trackSize\n if (icon) _p.icon = icon\n const p: any = useBreakpointProps(_p)\n size = p.size ?? \"medium\"\n color = p.color ?? \"brand\"\n disabled = p.disabled\n trackSize = p.trackSize\n icon = p.icon\n\n const [c, set] = useState(false)\n checked ??= c\n\n onChange = onChange || (() => set(!c));\n\n let sizes: any = {\n small: 32,\n medium: 48,\n large: 60\n }\n let _size = sizes[size as any] || size\n\n let height = (_size / 2)\n trackSize ??= height + 4\n let isNormalSize = (height + 4) === trackSize\n let transform = checked ? \"92%\" : \"8%\"\n if (!isNormalSize) {\n transform = checked ? \"100%\" : \"-10%\"\n }\n\n return (\n <Tag\n disabled={disabled}\n sxr={{\n width: _size,\n height: height,\n position: \"relative\",\n cursor: \"pointer\",\n display: \"inline-block\"\n }}\n onClick={onChange}\n >\n <Tag\n {...slotProps?.track}\n baseClass='switch-track-bar'\n sxr={{\n width: _size,\n height: trackSize,\n borderRadius: height,\n position: 'absolute',\n top: \"50%\",\n transform: \"translateY(-50%)\",\n bgcolor: checked ? color : \"divider\",\n\n }}\n >\n </Tag>\n <Tag\n {...slotProps?.thumb}\n baseClass='switch-thumb'\n sxr={{\n transition: \"all .25s\",\n width: height,\n height: height,\n radius: height,\n bgcolor: \"#FFFFFF\",\n position: \"absolute\",\n top: \"50%\",\n border: isNormalSize ? 0 : 1,\n left: 0,\n transform: `translate(${transform}, -50%)`,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n }}\n >\n {\n icon\n }\n </Tag>\n <Tag\n {...rest}\n component='input'\n ref={ref}\n type=\"radio\"\n readOnly\n checked={checked}\n sxr={{\n display: \"none!important\"\n }}\n />\n </Tag>\n )\n})\n\nexport default Switch\n"],"names":[],"mappings":";;;;;;AAmBA;;AACI;;AAEA;AAAU;AACV;AAAW;AACX;AAAc;AACd;AAAe;AACf;AAAU;AACV;AACA;AACA;AACA;AACA;AACA;;;AAKA;AAEA;AACI;AACA;AACA;;;AAIJ;;;;;;;;AAYY;AACA;AACA;AACA;AACA;;AAQI;AACA;AACA;AACA;AACA;AACA;;AAGH;AAOG;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAeA;;AAKpB;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Switch/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { ReactElement, useState } from 'react';\nimport { Tag, TagProps, useBreakpointProps, UseColorTemplateColor, useInterface, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type SwitchProps = Omit<TagProps<\"input\">, \"color\" | \"size\" | \"component\" | \"type\" | \"checked\"> & {\n checked?: boolean;\n size?: useBreakpointPropsType<number | \"small\" | \"medium\" | \"large\">;\n color?: useBreakpointPropsType<Omit<UseColorTemplateColor, \"default\">>;\n disabled?: useBreakpointPropsType<boolean>;\n trackSize?: useBreakpointPropsType<number>;\n icon?: useBreakpointPropsType<ReactElement>;\n slotProps?: {\n thumb?: Omit<TagProps, 'children'>;\n track?: Omit<TagProps, 'children'>;\n }\n}\n\nconst Switch = React.forwardRef((props: SwitchProps, ref?: React.Ref<any>) => {\n let [{ size, checked, color, disabled, icon, onChange, trackSize, slotProps, ...rest }] = useInterface<any>(\"Switch\", props, {})\n const _p: any = {}\n if (size) _p.size = size\n if (color) _p.color = color\n if (disabled) _p.disabled = disabled\n if (trackSize) _p.trackSize = trackSize\n if (icon) _p.icon = icon\n const p: any = useBreakpointProps(_p)\n size = p.size ?? \"medium\"\n color = p.color ?? \"brand\"\n disabled = p.disabled\n trackSize = p.trackSize\n icon = p.icon\n\n const [c, set] = useState(false)\n checked ??= c\n\n onChange = onChange || (() => set(!c));\n\n let sizes: any = {\n small: 32,\n medium: 48,\n large: 60\n }\n let _size = sizes[size as any] || size\n\n let height = (_size / 2)\n trackSize ??= height + 4\n let isNormalSize = (height + 4) === trackSize\n let transform = checked ? \"92%\" : \"8%\"\n if (!isNormalSize) {\n transform = checked ? \"100%\" : \"-10%\"\n }\n\n return (\n <Tag\n disabled={disabled}\n sxr={{\n width: _size,\n height: height,\n position: \"relative\",\n cursor: \"pointer\",\n display: \"inline-block\"\n }}\n onClick={onChange}\n >\n <Tag\n {...slotProps?.track}\n baseClass='switch-track-bar'\n sxr={{\n width: _size,\n height: trackSize,\n borderRadius: height,\n position: 'absolute',\n top: \"50%\",\n transform: \"translateY(-50%)\",\n bgcolor: checked ? color : \"divider\",\n\n }}\n >\n </Tag>\n <Tag\n {...slotProps?.thumb}\n baseClass='switch-thumb'\n sxr={{\n transition: \"all .25s\",\n width: height,\n height: height,\n radius: height,\n bgcolor: \"#FFFFFF\",\n position: \"absolute\",\n top: \"50%\",\n border: isNormalSize ? 0 : 1,\n left: 0,\n transform: `translate(${transform}, -50%)`,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\"\n }}\n >\n {\n icon\n }\n </Tag>\n <Tag\n {...rest}\n component='input'\n ref={ref}\n type=\"radio\"\n readOnly\n checked={checked}\n sxr={{\n display: \"none!important\"\n }}\n />\n </Tag>\n )\n})\n\nexport default Switch\n"],"names":[],"mappings":";;;;;;AAkBA;;AACI;;AAEA;AAAU;AACV;AAAW;AACX;AAAc;AACd;AAAe;AACf;AAAU;AACV;AACA;AACA;AACA;AACA;AACA;;;AAKA;AAEA;AACI;AACA;AACA;;;AAIJ;;;;;;;;AAYY;AACA;AACA;AACA;AACA;;AAQI;AACA;AACA;AACA;AACA;AACA;;AAGH;AAOG;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAeA;;AAKpB;;"}
package/Tab/index.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/Tab/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React from 'react'\nimport { TagComponentType, useInterface } from '@xanui/core';\nimport Button, { ButtonProps } from '../Button';\n\nexport type TabProps<T extends TagComponentType = \"button\"> = ButtonProps<T> & {\n value?: string | number\n}\n\nconst Tab = React.forwardRef(<T extends TagComponentType = \"div\">({ children, ...props }: TabProps<T>, ref: React.Ref<any>) => {\n let [_props] = useInterface<any>(\"Tab\", props, {})\n return (\n <Button\n {..._props}\n classNames={[\"tab\", ...(_props?.classNames || [])]}\n ref={ref}\n >\n {children}\n </Button>\n )\n})\n\nexport default Tab"],"names":[],"mappings":";;;;;;;;;AAUA;AAAkE;AAC9D;AACA;AASJ;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/Tab/index.tsx"],"sourcesContent":["\"use client\";\nimport React from 'react'\nimport { TagComponentType, useInterface } from '@xanui/core';\nimport Button, { ButtonProps } from '../Button';\n\nexport type TabProps<T extends TagComponentType = \"button\"> = ButtonProps<T> & {\n value?: string | number\n}\n\nconst Tab = React.forwardRef(<T extends TagComponentType = \"div\">({ children, ...props }: TabProps<T>, ref: React.Ref<any>) => {\n let [_props] = useInterface<any>(\"Tab\", props, {})\n return (\n <Button\n {..._props}\n classNames={[\"tab\", ...(_props?.classNames || [])]}\n ref={ref}\n >\n {children}\n </Button>\n )\n})\n\nexport default Tab"],"names":[],"mappings":";;;;;;;;;AASA;AAAkE;AAC9D;AACA;AASJ;;"}
package/Tab/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Tab/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React from 'react'\nimport { TagComponentType, useInterface } from '@xanui/core';\nimport Button, { ButtonProps } from '../Button';\n\nexport type TabProps<T extends TagComponentType = \"button\"> = ButtonProps<T> & {\n value?: string | number\n}\n\nconst Tab = React.forwardRef(<T extends TagComponentType = \"div\">({ children, ...props }: TabProps<T>, ref: React.Ref<any>) => {\n let [_props] = useInterface<any>(\"Tab\", props, {})\n return (\n <Button\n {..._props}\n classNames={[\"tab\", ...(_props?.classNames || [])]}\n ref={ref}\n >\n {children}\n </Button>\n )\n})\n\nexport default Tab"],"names":[],"mappings":";;;;;;;AAUA;AAAkE;AAC9D;AACA;AASJ;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Tab/index.tsx"],"sourcesContent":["\"use client\";\nimport React from 'react'\nimport { TagComponentType, useInterface } from '@xanui/core';\nimport Button, { ButtonProps } from '../Button';\n\nexport type TabProps<T extends TagComponentType = \"button\"> = ButtonProps<T> & {\n value?: string | number\n}\n\nconst Tab = React.forwardRef(<T extends TagComponentType = \"div\">({ children, ...props }: TabProps<T>, ref: React.Ref<any>) => {\n let [_props] = useInterface<any>(\"Tab\", props, {})\n return (\n <Button\n {..._props}\n classNames={[\"tab\", ...(_props?.classNames || [])]}\n ref={ref}\n >\n {children}\n </Button>\n )\n})\n\nexport default Tab"],"names":[],"mappings":";;;;;;;AASA;AAAkE;AAC9D;AACA;AASJ;;"}
package/Table/index.cjs CHANGED
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  'use strict';
2
3
 
3
4
  var tslib = require('tslib');
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/Table/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, UseColorTemplateColor, useInterface, useColorTemplate, UseColorTemplateType, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\nimport Scrollbar from '../Scrollbar';\n\n\nexport type TableProps<T extends TagComponentType = \"table\"> = Omit<TagProps<T>, \"color\" | \"size\"> & {\n evenColor?: useBreakpointPropsType<boolean>;\n size?: useBreakpointPropsType<\"small\" | \"medium\" | \"large\" | number>;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n variant?: useBreakpointPropsType<Omit<UseColorTemplateType, \"outline\">>;\n borderType?: useBreakpointPropsType<\"box\" | \"line\" | \"none\">;\n}\n\nconst Table = React.forwardRef(<T extends TagComponentType = \"table\">({ children, ...props }: TableProps<T>, ref: React.Ref<any>) => {\n let [{ evenColor, size, color, variant, borderType, ...rest }] = useInterface<any>(\"Table\", props, {})\n const _p: any = {}\n if (evenColor) _p.evenColor = evenColor\n if (size) _p.size = size\n if (color) _p.color = color\n if (variant) _p.variant = variant\n if (borderType) _p.borderType = borderType\n const p: any = useBreakpointProps(_p)\n evenColor = p.evenColor\n size = p.size ?? \"medium\"\n color = p.color ?? 'default'\n variant = p.variant ?? \"fill\"\n borderType = p.borderType ?? \"line\"\n\n const main = useColorTemplate(color, variant)\n const soft = useColorTemplate(color, \"soft\")\n\n let sx: any = {}\n if (evenColor) {\n sx = {\n \"& tbody tr:nth-child(even)\": {\n bgcolor: soft.primary.bgcolor\n }\n }\n }\n if (borderType === 'box') {\n sx = {\n ...sx,\n \"& tr:last-child td\": {\n borderBottom: 0\n },\n \"& tr:first-child th\": {\n borderTop: 0\n },\n \"& tr td:first-child, & tr th:first-child\": {\n borderLeft: 0\n },\n \"& tr td:last-child, & tr th:last-child\": {\n borderRight: 0\n },\n }\n }\n let _size = size\n let sizes: any = {\n small: .4,\n medium: .8,\n large: 2\n }\n\n if (typeof size === 'string' && sizes[size]) {\n _size = sizes[size]\n }\n let border: any = {\n line: {\n borderBottom: \"1px solid\",\n borderColor: \"divider\",\n },\n box: {\n border: \"1px solid\",\n borderColor: \"divider\",\n },\n none: {}\n }\n\n return (\n <Scrollbar\n style={{\n overflowY: \"hidden\"\n }}\n >\n <Tag\n {...rest}\n baseClass='table'\n sxr={{\n color: \"text.primary\",\n fontSize: size === \"small\" ? \"text\" : \"text\",\n width: \"100%\",\n \"& thead, & tfoot\": {\n bgcolor: main.primary.bgcolor,\n \"& th\": {\n color: main.primary.color\n }\n },\n \"& td, & th\": {\n p: _size,\n px: 1,\n ...border[borderType],\n },\n \"& tr:last-child td\": {\n borderBottom: 0\n },\n \"& tr:first-child th\": {\n borderTop: 0\n },\n \"& tbody tr:hover\": {\n bgcolor: soft.primary.bgcolor\n },\n ...sx,\n ...((rest as any).sx || {})\n }}\n component=\"table\"\n ref={ref}\n >{children}</Tag>\n </Scrollbar>\n )\n})\n\nexport default Table"],"names":["__rest","useInterface","useBreakpointProps","useColorTemplate","_jsx","Scrollbar","Tag"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/Table/index.tsx"],"sourcesContent":["\"use client\"\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, UseColorTemplateColor, useInterface, useColorTemplate, UseColorTemplateType, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\nimport Scrollbar from '../Scrollbar';\n\n\nexport type TableProps<T extends TagComponentType = \"table\"> = Omit<TagProps<T>, \"color\" | \"size\"> & {\n evenColor?: useBreakpointPropsType<boolean>;\n size?: useBreakpointPropsType<\"small\" | \"medium\" | \"large\" | number>;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n variant?: useBreakpointPropsType<Omit<UseColorTemplateType, \"outline\">>;\n borderType?: useBreakpointPropsType<\"box\" | \"line\" | \"none\">;\n}\n\nconst Table = React.forwardRef(<T extends TagComponentType = \"table\">({ children, ...props }: TableProps<T>, ref: React.Ref<any>) => {\n let [{ evenColor, size, color, variant, borderType, ...rest }] = useInterface<any>(\"Table\", props, {})\n const _p: any = {}\n if (evenColor) _p.evenColor = evenColor\n if (size) _p.size = size\n if (color) _p.color = color\n if (variant) _p.variant = variant\n if (borderType) _p.borderType = borderType\n const p: any = useBreakpointProps(_p)\n evenColor = p.evenColor\n size = p.size ?? \"medium\"\n color = p.color ?? 'default'\n variant = p.variant ?? \"fill\"\n borderType = p.borderType ?? \"line\"\n\n const main = useColorTemplate(color, variant)\n const soft = useColorTemplate(color, \"soft\")\n\n let sx: any = {}\n if (evenColor) {\n sx = {\n \"& tbody tr:nth-child(even)\": {\n bgcolor: soft.primary.bgcolor\n }\n }\n }\n if (borderType === 'box') {\n sx = {\n ...sx,\n \"& tr:last-child td\": {\n borderBottom: 0\n },\n \"& tr:first-child th\": {\n borderTop: 0\n },\n \"& tr td:first-child, & tr th:first-child\": {\n borderLeft: 0\n },\n \"& tr td:last-child, & tr th:last-child\": {\n borderRight: 0\n },\n }\n }\n let _size = size\n let sizes: any = {\n small: .4,\n medium: .8,\n large: 2\n }\n\n if (typeof size === 'string' && sizes[size]) {\n _size = sizes[size]\n }\n let border: any = {\n line: {\n borderBottom: \"1px solid\",\n borderColor: \"divider\",\n },\n box: {\n border: \"1px solid\",\n borderColor: \"divider\",\n },\n none: {}\n }\n\n return (\n <Scrollbar\n style={{\n overflowY: \"hidden\"\n }}\n >\n <Tag\n {...rest}\n baseClass='table'\n sxr={{\n color: \"text.primary\",\n fontSize: size === \"small\" ? \"text\" : \"text\",\n width: \"100%\",\n \"& thead, & tfoot\": {\n bgcolor: main.primary.bgcolor,\n \"& th\": {\n color: main.primary.color\n }\n },\n \"& td, & th\": {\n p: _size,\n px: 1,\n ...border[borderType],\n },\n \"& tr:last-child td\": {\n borderBottom: 0\n },\n \"& tr:first-child th\": {\n borderTop: 0\n },\n \"& tbody tr:hover\": {\n bgcolor: soft.primary.bgcolor\n },\n ...sx,\n ...((rest as any).sx || {})\n }}\n component=\"table\"\n ref={ref}\n >{children}</Tag>\n </Scrollbar>\n )\n})\n\nexport default Table"],"names":[],"mappings":";;;;;;;;;AAcA;;AAAsE;;;AAGlE;AAAe;AACf;AAAU;AACV;AAAW;AACX;AAAa;AACb;AAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;;;;;AAOI;AACI;AACI;AACH;;;AAGT;AACI;AAGQ;AACH;AAEG;AACH;AAEG;AACH;AAEG;AACH;;;AAIT;AACI;AACA;AACA;;;AAIA;;AAEJ;AACI;AACI;AACA;AACH;AACD;AACI;AACA;AACH;AACD;;AAGJ;AAGY;AACH;AAUW;AACA;AACI;AACH;AACJ;AAOG;AACH;AAEG;AACH;AAEG;;AAUxB;;"}
package/Table/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { __rest } from 'tslib';
2
3
  import { jsx } from 'react/jsx-runtime';
3
4
  import React from 'react';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Table/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, UseColorTemplateColor, useInterface, useColorTemplate, UseColorTemplateType, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\nimport Scrollbar from '../Scrollbar';\n\n\nexport type TableProps<T extends TagComponentType = \"table\"> = Omit<TagProps<T>, \"color\" | \"size\"> & {\n evenColor?: useBreakpointPropsType<boolean>;\n size?: useBreakpointPropsType<\"small\" | \"medium\" | \"large\" | number>;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n variant?: useBreakpointPropsType<Omit<UseColorTemplateType, \"outline\">>;\n borderType?: useBreakpointPropsType<\"box\" | \"line\" | \"none\">;\n}\n\nconst Table = React.forwardRef(<T extends TagComponentType = \"table\">({ children, ...props }: TableProps<T>, ref: React.Ref<any>) => {\n let [{ evenColor, size, color, variant, borderType, ...rest }] = useInterface<any>(\"Table\", props, {})\n const _p: any = {}\n if (evenColor) _p.evenColor = evenColor\n if (size) _p.size = size\n if (color) _p.color = color\n if (variant) _p.variant = variant\n if (borderType) _p.borderType = borderType\n const p: any = useBreakpointProps(_p)\n evenColor = p.evenColor\n size = p.size ?? \"medium\"\n color = p.color ?? 'default'\n variant = p.variant ?? \"fill\"\n borderType = p.borderType ?? \"line\"\n\n const main = useColorTemplate(color, variant)\n const soft = useColorTemplate(color, \"soft\")\n\n let sx: any = {}\n if (evenColor) {\n sx = {\n \"& tbody tr:nth-child(even)\": {\n bgcolor: soft.primary.bgcolor\n }\n }\n }\n if (borderType === 'box') {\n sx = {\n ...sx,\n \"& tr:last-child td\": {\n borderBottom: 0\n },\n \"& tr:first-child th\": {\n borderTop: 0\n },\n \"& tr td:first-child, & tr th:first-child\": {\n borderLeft: 0\n },\n \"& tr td:last-child, & tr th:last-child\": {\n borderRight: 0\n },\n }\n }\n let _size = size\n let sizes: any = {\n small: .4,\n medium: .8,\n large: 2\n }\n\n if (typeof size === 'string' && sizes[size]) {\n _size = sizes[size]\n }\n let border: any = {\n line: {\n borderBottom: \"1px solid\",\n borderColor: \"divider\",\n },\n box: {\n border: \"1px solid\",\n borderColor: \"divider\",\n },\n none: {}\n }\n\n return (\n <Scrollbar\n style={{\n overflowY: \"hidden\"\n }}\n >\n <Tag\n {...rest}\n baseClass='table'\n sxr={{\n color: \"text.primary\",\n fontSize: size === \"small\" ? \"text\" : \"text\",\n width: \"100%\",\n \"& thead, & tfoot\": {\n bgcolor: main.primary.bgcolor,\n \"& th\": {\n color: main.primary.color\n }\n },\n \"& td, & th\": {\n p: _size,\n px: 1,\n ...border[borderType],\n },\n \"& tr:last-child td\": {\n borderBottom: 0\n },\n \"& tr:first-child th\": {\n borderTop: 0\n },\n \"& tbody tr:hover\": {\n bgcolor: soft.primary.bgcolor\n },\n ...sx,\n ...((rest as any).sx || {})\n }}\n component=\"table\"\n ref={ref}\n >{children}</Tag>\n </Scrollbar>\n )\n})\n\nexport default Table"],"names":["_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Table/index.tsx"],"sourcesContent":["\"use client\"\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, UseColorTemplateColor, useInterface, useColorTemplate, UseColorTemplateType, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\nimport Scrollbar from '../Scrollbar';\n\n\nexport type TableProps<T extends TagComponentType = \"table\"> = Omit<TagProps<T>, \"color\" | \"size\"> & {\n evenColor?: useBreakpointPropsType<boolean>;\n size?: useBreakpointPropsType<\"small\" | \"medium\" | \"large\" | number>;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n variant?: useBreakpointPropsType<Omit<UseColorTemplateType, \"outline\">>;\n borderType?: useBreakpointPropsType<\"box\" | \"line\" | \"none\">;\n}\n\nconst Table = React.forwardRef(<T extends TagComponentType = \"table\">({ children, ...props }: TableProps<T>, ref: React.Ref<any>) => {\n let [{ evenColor, size, color, variant, borderType, ...rest }] = useInterface<any>(\"Table\", props, {})\n const _p: any = {}\n if (evenColor) _p.evenColor = evenColor\n if (size) _p.size = size\n if (color) _p.color = color\n if (variant) _p.variant = variant\n if (borderType) _p.borderType = borderType\n const p: any = useBreakpointProps(_p)\n evenColor = p.evenColor\n size = p.size ?? \"medium\"\n color = p.color ?? 'default'\n variant = p.variant ?? \"fill\"\n borderType = p.borderType ?? \"line\"\n\n const main = useColorTemplate(color, variant)\n const soft = useColorTemplate(color, \"soft\")\n\n let sx: any = {}\n if (evenColor) {\n sx = {\n \"& tbody tr:nth-child(even)\": {\n bgcolor: soft.primary.bgcolor\n }\n }\n }\n if (borderType === 'box') {\n sx = {\n ...sx,\n \"& tr:last-child td\": {\n borderBottom: 0\n },\n \"& tr:first-child th\": {\n borderTop: 0\n },\n \"& tr td:first-child, & tr th:first-child\": {\n borderLeft: 0\n },\n \"& tr td:last-child, & tr th:last-child\": {\n borderRight: 0\n },\n }\n }\n let _size = size\n let sizes: any = {\n small: .4,\n medium: .8,\n large: 2\n }\n\n if (typeof size === 'string' && sizes[size]) {\n _size = sizes[size]\n }\n let border: any = {\n line: {\n borderBottom: \"1px solid\",\n borderColor: \"divider\",\n },\n box: {\n border: \"1px solid\",\n borderColor: \"divider\",\n },\n none: {}\n }\n\n return (\n <Scrollbar\n style={{\n overflowY: \"hidden\"\n }}\n >\n <Tag\n {...rest}\n baseClass='table'\n sxr={{\n color: \"text.primary\",\n fontSize: size === \"small\" ? \"text\" : \"text\",\n width: \"100%\",\n \"& thead, & tfoot\": {\n bgcolor: main.primary.bgcolor,\n \"& th\": {\n color: main.primary.color\n }\n },\n \"& td, & th\": {\n p: _size,\n px: 1,\n ...border[borderType],\n },\n \"& tr:last-child td\": {\n borderBottom: 0\n },\n \"& tr:first-child th\": {\n borderTop: 0\n },\n \"& tbody tr:hover\": {\n bgcolor: soft.primary.bgcolor\n },\n ...sx,\n ...((rest as any).sx || {})\n }}\n component=\"table\"\n ref={ref}\n >{children}</Tag>\n </Scrollbar>\n )\n})\n\nexport default Table"],"names":[],"mappings":";;;;;;;AAcA;;AAAsE;;;AAGlE;AAAe;AACf;AAAU;AACV;AAAW;AACX;AAAa;AACb;AAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;;;;;AAOI;AACI;AACI;AACH;;;AAGT;AACI;AAGQ;AACH;AAEG;AACH;AAEG;AACH;AAEG;AACH;;;AAIT;AACI;AACA;AACA;;;AAIA;;AAEJ;AACI;AACI;AACA;AACH;AACD;AACI;AACA;AACH;AACD;;AAGJ;AAGY;AACH;AAUW;AACA;AACI;AACH;AACJ;AAOG;AACH;AAEG;AACH;AAEG;;AAUxB;;"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  'use strict';
2
3
 
3
4
  var tslib = require('tslib');
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/TableBody/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableBodyProps<T extends TagComponentType = \"tbody\"> = TagProps<T>\n\nconst TableBody = React.forwardRef(<T extends TagComponentType = \"tbody\">({ children, ...rest }: TableBodyProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n baseClass='table-body'\n component=\"tbody\"\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default TableBody"],"names":["__rest","_jsx","Tag"],"mappings":";;;;;;;AAMA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAuC,EAAwC,EAAE,GAAmB,KAAI;AAAjE,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAA8B,EAAzB,IAAI,GAAAA,YAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;IACzF,QACIC,eAACC,QAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,IAAI,EAAA,EACR,SAAS,EAAC,YAAY,EACtB,SAAS,EAAC,OAAO,EACjB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/TableBody/index.tsx"],"sourcesContent":["\"use client\"\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableBodyProps<T extends TagComponentType = \"tbody\"> = TagProps<T>\n\nconst TableBody = React.forwardRef(<T extends TagComponentType = \"tbody\">({ children, ...rest }: TableBodyProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n baseClass='table-body'\n component=\"tbody\"\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default TableBody"],"names":[],"mappings":";;;;;;;;AAMA;AAA0E;;AAS1E;;"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { __rest } from 'tslib';
2
3
  import { jsx } from 'react/jsx-runtime';
3
4
  import React from 'react';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/TableBody/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableBodyProps<T extends TagComponentType = \"tbody\"> = TagProps<T>\n\nconst TableBody = React.forwardRef(<T extends TagComponentType = \"tbody\">({ children, ...rest }: TableBodyProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n baseClass='table-body'\n component=\"tbody\"\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default TableBody"],"names":["_jsx"],"mappings":";;;;;AAMA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAuC,EAAwC,EAAE,GAAmB,KAAI;AAAjE,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAA8B,EAAzB,IAAI,GAAA,MAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;IACzF,QACIA,IAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,IAAI,EAAA,EACR,SAAS,EAAC,YAAY,EACtB,SAAS,EAAC,OAAO,EACjB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/TableBody/index.tsx"],"sourcesContent":["\"use client\"\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableBodyProps<T extends TagComponentType = \"tbody\"> = TagProps<T>\n\nconst TableBody = React.forwardRef(<T extends TagComponentType = \"tbody\">({ children, ...rest }: TableBodyProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n baseClass='table-body'\n component=\"tbody\"\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default TableBody"],"names":[],"mappings":";;;;;;AAMA;AAA0E;;AAS1E;;"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  'use strict';
2
3
 
3
4
  var tslib = require('tslib');
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/TableCell/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableColumnProps<T extends TagComponentType = \"td\"> = TagProps<T> & {\n th?: boolean\n}\n\nconst TableCell = React.forwardRef(<T extends TagComponentType = \"td\">({ children, th, ...rest }: TableColumnProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n sxr={{\n verticalAlign: \"inherit\",\n textAlign: \"left\",\n fontSize: \"inherit\",\n color: \"text.primary\",\n ...((rest as any)?.sx || {})\n }}\n baseClass='table-cell'\n component={th ? \"th\" : \"td\"} ref={ref}\n >\n {children}\n </Tag>\n )\n})\n\nexport default TableCell"],"names":["__rest","_jsx","Tag"],"mappings":";;;;;;;AAQA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAoC,EAA8C,EAAE,GAAmB,KAAI;QAAvE,EAAE,QAAQ,EAAE,EAAE,EAAA,GAAA,EAAgC,EAA3B,IAAI,GAAAA,YAAA,CAAA,EAAA,EAAvB,kBAAyB,CAAF;AAC1F,IAAA,QACIC,cAAA,CAACC,QAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,IAAI,EAAA,EACR,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACC,aAAa,EAAE,SAAS,EACxB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,cAAc,EAAA,GACjB,CAAC,IAAY,KAAA,IAAA,IAAZ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAU,EAAE,KAAI,EAAE,EAAC,EAEhC,SAAS,EAAC,YAAY,EACtB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAA,QAAA,EAEpC,QAAQ,EAAA,CAAA,CACP;AAEd,CAAC;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/TableCell/index.tsx"],"sourcesContent":["\"use client\"\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableColumnProps<T extends TagComponentType = \"td\"> = TagProps<T> & {\n th?: boolean\n}\n\nconst TableCell = React.forwardRef(<T extends TagComponentType = \"td\">({ children, th, ...rest }: TableColumnProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n sxr={{\n verticalAlign: \"inherit\",\n textAlign: \"left\",\n fontSize: \"inherit\",\n color: \"text.primary\",\n ...((rest as any)?.sx || {})\n }}\n baseClass='table-cell'\n component={th ? \"th\" : \"td\"} ref={ref}\n >\n {children}\n </Tag>\n )\n})\n\nexport default TableCell"],"names":[],"mappings":";;;;;;;;AAQA;;AACI;AAgBJ;;"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { __rest } from 'tslib';
2
3
  import { jsx } from 'react/jsx-runtime';
3
4
  import React from 'react';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/TableCell/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableColumnProps<T extends TagComponentType = \"td\"> = TagProps<T> & {\n th?: boolean\n}\n\nconst TableCell = React.forwardRef(<T extends TagComponentType = \"td\">({ children, th, ...rest }: TableColumnProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n sxr={{\n verticalAlign: \"inherit\",\n textAlign: \"left\",\n fontSize: \"inherit\",\n color: \"text.primary\",\n ...((rest as any)?.sx || {})\n }}\n baseClass='table-cell'\n component={th ? \"th\" : \"td\"} ref={ref}\n >\n {children}\n </Tag>\n )\n})\n\nexport default TableCell"],"names":["_jsx"],"mappings":";;;;;AAQA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAoC,EAA8C,EAAE,GAAmB,KAAI;QAAvE,EAAE,QAAQ,EAAE,EAAE,EAAA,GAAA,EAAgC,EAA3B,IAAI,GAAA,MAAA,CAAA,EAAA,EAAvB,kBAAyB,CAAF;AAC1F,IAAA,QACIA,GAAA,CAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,IAAI,EAAA,EACR,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACC,aAAa,EAAE,SAAS,EACxB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,cAAc,EAAA,GACjB,CAAC,IAAY,KAAA,IAAA,IAAZ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAU,EAAE,KAAI,EAAE,EAAC,EAEhC,SAAS,EAAC,YAAY,EACtB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAA,QAAA,EAEpC,QAAQ,EAAA,CAAA,CACP;AAEd,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/TableCell/index.tsx"],"sourcesContent":["\"use client\"\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableColumnProps<T extends TagComponentType = \"td\"> = TagProps<T> & {\n th?: boolean\n}\n\nconst TableCell = React.forwardRef(<T extends TagComponentType = \"td\">({ children, th, ...rest }: TableColumnProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n sxr={{\n verticalAlign: \"inherit\",\n textAlign: \"left\",\n fontSize: \"inherit\",\n color: \"text.primary\",\n ...((rest as any)?.sx || {})\n }}\n baseClass='table-cell'\n component={th ? \"th\" : \"td\"} ref={ref}\n >\n {children}\n </Tag>\n )\n})\n\nexport default TableCell"],"names":[],"mappings":";;;;;;AAQA;;AACI;AAgBJ;;"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  'use strict';
2
3
 
3
4
  var tslib = require('tslib');
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/TableFooter/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableFooterProps<T extends TagComponentType = \"tfoot\"> = TagProps<T>\n\nconst TableFooter = React.forwardRef(<T extends TagComponentType = \"tfoot\">({ children, ...rest }: TableFooterProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n baseClass='table-footer'\n component=\"tfoot\"\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default TableFooter"],"names":["__rest","_jsx","Tag"],"mappings":";;;;;;;AAMA,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,CAAuC,EAA0C,EAAE,GAAmB,KAAI;AAAnE,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAAgC,EAA3B,IAAI,GAAAA,YAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;IAC3F,QACIC,eAACC,QAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,IAAI,EAAA,EACR,SAAS,EAAC,cAAc,EACxB,SAAS,EAAC,OAAO,EACjB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/TableFooter/index.tsx"],"sourcesContent":["\"use client\"\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableFooterProps<T extends TagComponentType = \"tfoot\"> = TagProps<T>\n\nconst TableFooter = React.forwardRef(<T extends TagComponentType = \"tfoot\">({ children, ...rest }: TableFooterProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n baseClass='table-footer'\n component=\"tfoot\"\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default TableFooter"],"names":[],"mappings":";;;;;;;;AAMA;AAA4E;;AAS5E;;"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { __rest } from 'tslib';
2
3
  import { jsx } from 'react/jsx-runtime';
3
4
  import React from 'react';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/TableFooter/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableFooterProps<T extends TagComponentType = \"tfoot\"> = TagProps<T>\n\nconst TableFooter = React.forwardRef(<T extends TagComponentType = \"tfoot\">({ children, ...rest }: TableFooterProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n baseClass='table-footer'\n component=\"tfoot\"\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default TableFooter"],"names":["_jsx"],"mappings":";;;;;AAMA,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,CAAuC,EAA0C,EAAE,GAAmB,KAAI;AAAnE,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAAgC,EAA3B,IAAI,GAAA,MAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;IAC3F,QACIA,IAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,IAAI,EAAA,EACR,SAAS,EAAC,cAAc,EACxB,SAAS,EAAC,OAAO,EACjB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/TableFooter/index.tsx"],"sourcesContent":["\"use client\"\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableFooterProps<T extends TagComponentType = \"tfoot\"> = TagProps<T>\n\nconst TableFooter = React.forwardRef(<T extends TagComponentType = \"tfoot\">({ children, ...rest }: TableFooterProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n baseClass='table-footer'\n component=\"tfoot\"\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default TableFooter"],"names":[],"mappings":";;;;;;AAMA;AAA4E;;AAS5E;;"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  'use strict';
2
3
 
3
4
  var tslib = require('tslib');
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/TableHead/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableHeadProps<T extends TagComponentType = \"thead\"> = TagProps<T>\n\nconst TableHead = React.forwardRef(<T extends TagComponentType = \"thead\">({ children, ...rest }: TableHeadProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n baseClass='table-head'\n component=\"thead\"\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default TableHead "],"names":["__rest","_jsx","Tag"],"mappings":";;;;;;;AAMA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAuC,EAAwC,EAAE,GAAmB,KAAI;AAAjE,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAA8B,EAAzB,IAAI,GAAAA,YAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;IACzF,QACIC,eAACC,QAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,IAAI,EAAA,EACR,SAAS,EAAC,YAAY,EACtB,SAAS,EAAC,OAAO,EACjB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/TableHead/index.tsx"],"sourcesContent":["\"use client\"\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableHeadProps<T extends TagComponentType = \"thead\"> = TagProps<T>\n\nconst TableHead = React.forwardRef(<T extends TagComponentType = \"thead\">({ children, ...rest }: TableHeadProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n baseClass='table-head'\n component=\"thead\"\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default TableHead "],"names":[],"mappings":";;;;;;;;AAMA;AAA0E;;AAS1E;;"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { __rest } from 'tslib';
2
3
  import { jsx } from 'react/jsx-runtime';
3
4
  import React from 'react';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/TableHead/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableHeadProps<T extends TagComponentType = \"thead\"> = TagProps<T>\n\nconst TableHead = React.forwardRef(<T extends TagComponentType = \"thead\">({ children, ...rest }: TableHeadProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n baseClass='table-head'\n component=\"thead\"\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default TableHead "],"names":["_jsx"],"mappings":";;;;;AAMA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAuC,EAAwC,EAAE,GAAmB,KAAI;AAAjE,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAA8B,EAAzB,IAAI,GAAA,MAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;IACzF,QACIA,IAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACI,IAAI,EAAA,EACR,SAAS,EAAC,YAAY,EACtB,SAAS,EAAC,OAAO,EACjB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/TableHead/index.tsx"],"sourcesContent":["\"use client\"\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableHeadProps<T extends TagComponentType = \"thead\"> = TagProps<T>\n\nconst TableHead = React.forwardRef(<T extends TagComponentType = \"thead\">({ children, ...rest }: TableHeadProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n {...rest}\n baseClass='table-head'\n component=\"thead\"\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default TableHead "],"names":[],"mappings":";;;;;;AAMA;AAA0E;;AAS1E;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/TablePagination/index.tsx"],"sourcesContent":["\"use client\";\n\nimport Text from '../Text'\nimport Select, { SelectProps } from '../Select'\nimport Option from '../Option'\nimport IconButton, { IconButtonProps } from '../IconButton'\nimport React, { useMemo } from 'react'\nimport PrevIcon from '@xanui/icons/KeyboardArrowLeft'\nimport NextIcon from '@xanui/icons/KeyboardArrowRight'\nimport { TagProps, Tag, useInterface, UseColorTemplateColor, UseColorTemplateType, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type TablePaginationState = { page: number, perpage: number, from: number, to: number }\nexport type TablePaginationProps = Omit<TagProps, \"children\" | \"onChange\"> & {\n page: number;\n total: number;\n perpage?: number;\n perpages?: number[];\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n variant?: useBreakpointPropsType<UseColorTemplateType>;\n onChange?: (state: TablePaginationState) => void;\n\n slotProps?: {\n button?: Omit<IconButtonProps, \"children\" | \"color\" | \"variant\">;\n select?: Omit<SelectProps, \"value\" | \"onChange\" | \"children\">;\n }\n}\n\nconst TablePagination = React.forwardRef(({ page, total, perpage, onChange, ...rest }: TablePaginationProps, ref: React.Ref<any>) => {\n let [{ perpages, color, variant, slotProps, ...props }] = useInterface<any>(\"TablePagination\", rest, {})\n color ??= \"default\"\n variant ??= \"fill\"\n perpages ??= [30, 50, 100]\n perpage = perpage || perpages[0] as number\n const isPerpage = perpages[0] && perpages.length >= 1\n\n\n const chunks = useMemo(() => {\n const chunks: any = [];\n let _page = 1;\n for (let from = 0; from < total; from += perpage) {\n const to = Math.min(from + perpage, total)\n chunks[_page] = { from: from + 1, to, page: _page, perpage }\n _page++\n }\n return chunks\n }, [perpage, perpages, total])\n\n if (!chunks.length) {\n return <></>\n }\n\n const current = chunks[page] || chunks[1]\n const hasNext = !!chunks[page + 1]\n const hasPrev = !!chunks[page - 1]\n\n return (\n <Tag\n {...props}\n sxr={{\n display: \"flex\",\n flexDirection: \"row\",\n gap: 1,\n alignItems: \"center\"\n }}\n baseClass='table-pagination'\n ref={ref}\n >\n {\n isPerpage && <Tag baseClass='table-pagination-perpage' flexBox flexRow gap={1} alignItems=\"center\">\n <Text fontSize=\"button\">PER PAGE</Text>\n <Select\n {...slotProps?.select}\n width={(perpage.toString().length * 10) + 60}\n minWidth={\"auto\"}\n maxWidth={\"auto\"}\n value={perpage}\n onChange={(value: any) => {\n onChange && onChange({ page: 1, perpage: value, from: 1, to: Math.min(value, total) })\n }}\n >\n {perpages.map((p: number) => <Option key={p} value={p}>{p}</Option>)}\n </Select>\n </Tag>\n }\n <Tag\n sxr={{\n display: \"flex\",\n flexDirection: \"row\",\n gap: 1,\n alignItems: 'center'\n }}\n >\n <Text fontSize=\"button\">{current?.from}-{current.to}</Text>\n <Text color=\"text.secondary\">of</Text>\n <Text fontSize=\"button\">{total}</Text>\n </Tag>\n <Tag baseClass='table-pagination-navigation' flexBox flexRow gap={.4} >\n <IconButton\n {...slotProps?.button}\n color={color}\n variant={variant}\n size={30}\n disabled={!hasPrev}\n onClick={() => {\n onChange && onChange(chunks[page - 1]);\n }}\n >\n <PrevIcon />\n </IconButton>\n <IconButton\n {...slotProps?.button}\n color={color}\n variant={variant}\n size={30}\n disabled={!hasNext}\n onClick={() => {\n onChange && onChange(chunks[page + 1]);\n }}\n >\n <NextIcon />\n </IconButton>\n </Tag>\n </Tag>\n )\n})\n\nexport default TablePagination"],"names":[],"mappings":";;;;;;;;;;;;;;AA4BA;AAA0C;;;;AAItC;AACA;AACA;AAGA;;;AAGI;AACI;AACA;AACA;;AAEJ;;AAGJ;AACI;;;;;AAOJ;AAIY;AACA;AACA;AACA;AACH;AAce;AACJ;AAQJ;AACA;AACA;AACA;AACH;;AAeG;;;AAmBpB;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/TablePagination/index.tsx"],"sourcesContent":["\"use client\";\nimport Text from '../Text'\nimport Select, { SelectProps } from '../Select'\nimport Option from '../Option'\nimport IconButton, { IconButtonProps } from '../IconButton'\nimport React, { useMemo } from 'react'\nimport PrevIcon from '@xanui/icons/KeyboardArrowLeft'\nimport NextIcon from '@xanui/icons/KeyboardArrowRight'\nimport { TagProps, Tag, useInterface, UseColorTemplateColor, UseColorTemplateType, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type TablePaginationState = { page: number, perpage: number, from: number, to: number }\nexport type TablePaginationProps = Omit<TagProps, \"children\" | \"onChange\"> & {\n page: number;\n total: number;\n perpage?: number;\n perpages?: number[];\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n variant?: useBreakpointPropsType<UseColorTemplateType>;\n onChange?: (state: TablePaginationState) => void;\n\n slotProps?: {\n button?: Omit<IconButtonProps, \"children\" | \"color\" | \"variant\">;\n select?: Omit<SelectProps, \"value\" | \"onChange\" | \"children\">;\n }\n}\n\nconst TablePagination = React.forwardRef(({ page, total, perpage, onChange, ...rest }: TablePaginationProps, ref: React.Ref<any>) => {\n let [{ perpages, color, variant, slotProps, ...props }] = useInterface<any>(\"TablePagination\", rest, {})\n color ??= \"default\"\n variant ??= \"fill\"\n perpages ??= [30, 50, 100]\n perpage = perpage || perpages[0] as number\n const isPerpage = perpages[0] && perpages.length >= 1\n\n\n const chunks = useMemo(() => {\n const chunks: any = [];\n let _page = 1;\n for (let from = 0; from < total; from += perpage) {\n const to = Math.min(from + perpage, total)\n chunks[_page] = { from: from + 1, to, page: _page, perpage }\n _page++\n }\n return chunks\n }, [perpage, perpages, total])\n\n if (!chunks.length) {\n return <></>\n }\n\n const current = chunks[page] || chunks[1]\n const hasNext = !!chunks[page + 1]\n const hasPrev = !!chunks[page - 1]\n\n return (\n <Tag\n {...props}\n sxr={{\n display: \"flex\",\n flexDirection: \"row\",\n gap: 1,\n alignItems: \"center\"\n }}\n baseClass='table-pagination'\n ref={ref}\n >\n {\n isPerpage && <Tag baseClass='table-pagination-perpage' flexBox flexRow gap={1} alignItems=\"center\">\n <Text fontSize=\"button\">PER PAGE</Text>\n <Select\n {...slotProps?.select}\n width={(perpage.toString().length * 10) + 60}\n minWidth={\"auto\"}\n maxWidth={\"auto\"}\n value={perpage}\n onChange={(value: any) => {\n onChange && onChange({ page: 1, perpage: value, from: 1, to: Math.min(value, total) })\n }}\n >\n {perpages.map((p: number) => <Option key={p} value={p}>{p}</Option>)}\n </Select>\n </Tag>\n }\n <Tag\n sxr={{\n display: \"flex\",\n flexDirection: \"row\",\n gap: 1,\n alignItems: 'center'\n }}\n >\n <Text fontSize=\"button\">{current?.from}-{current.to}</Text>\n <Text color=\"text.secondary\">of</Text>\n <Text fontSize=\"button\">{total}</Text>\n </Tag>\n <Tag baseClass='table-pagination-navigation' flexBox flexRow gap={.4} >\n <IconButton\n {...slotProps?.button}\n color={color}\n variant={variant}\n size={30}\n disabled={!hasPrev}\n onClick={() => {\n onChange && onChange(chunks[page - 1]);\n }}\n >\n <PrevIcon />\n </IconButton>\n <IconButton\n {...slotProps?.button}\n color={color}\n variant={variant}\n size={30}\n disabled={!hasNext}\n onClick={() => {\n onChange && onChange(chunks[page + 1]);\n }}\n >\n <NextIcon />\n </IconButton>\n </Tag>\n </Tag>\n )\n})\n\nexport default TablePagination"],"names":[],"mappings":";;;;;;;;;;;;;;AA2BA;AAA0C;;;;AAItC;AACA;AACA;AAGA;;;AAGI;AACI;AACA;AACA;;AAEJ;;AAGJ;AACI;;;;;AAOJ;AAIY;AACA;AACA;AACA;AACH;AAce;AACJ;AAQJ;AACA;AACA;AACA;AACH;;AAeG;;;AAmBpB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/TablePagination/index.tsx"],"sourcesContent":["\"use client\";\n\nimport Text from '../Text'\nimport Select, { SelectProps } from '../Select'\nimport Option from '../Option'\nimport IconButton, { IconButtonProps } from '../IconButton'\nimport React, { useMemo } from 'react'\nimport PrevIcon from '@xanui/icons/KeyboardArrowLeft'\nimport NextIcon from '@xanui/icons/KeyboardArrowRight'\nimport { TagProps, Tag, useInterface, UseColorTemplateColor, UseColorTemplateType, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type TablePaginationState = { page: number, perpage: number, from: number, to: number }\nexport type TablePaginationProps = Omit<TagProps, \"children\" | \"onChange\"> & {\n page: number;\n total: number;\n perpage?: number;\n perpages?: number[];\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n variant?: useBreakpointPropsType<UseColorTemplateType>;\n onChange?: (state: TablePaginationState) => void;\n\n slotProps?: {\n button?: Omit<IconButtonProps, \"children\" | \"color\" | \"variant\">;\n select?: Omit<SelectProps, \"value\" | \"onChange\" | \"children\">;\n }\n}\n\nconst TablePagination = React.forwardRef(({ page, total, perpage, onChange, ...rest }: TablePaginationProps, ref: React.Ref<any>) => {\n let [{ perpages, color, variant, slotProps, ...props }] = useInterface<any>(\"TablePagination\", rest, {})\n color ??= \"default\"\n variant ??= \"fill\"\n perpages ??= [30, 50, 100]\n perpage = perpage || perpages[0] as number\n const isPerpage = perpages[0] && perpages.length >= 1\n\n\n const chunks = useMemo(() => {\n const chunks: any = [];\n let _page = 1;\n for (let from = 0; from < total; from += perpage) {\n const to = Math.min(from + perpage, total)\n chunks[_page] = { from: from + 1, to, page: _page, perpage }\n _page++\n }\n return chunks\n }, [perpage, perpages, total])\n\n if (!chunks.length) {\n return <></>\n }\n\n const current = chunks[page] || chunks[1]\n const hasNext = !!chunks[page + 1]\n const hasPrev = !!chunks[page - 1]\n\n return (\n <Tag\n {...props}\n sxr={{\n display: \"flex\",\n flexDirection: \"row\",\n gap: 1,\n alignItems: \"center\"\n }}\n baseClass='table-pagination'\n ref={ref}\n >\n {\n isPerpage && <Tag baseClass='table-pagination-perpage' flexBox flexRow gap={1} alignItems=\"center\">\n <Text fontSize=\"button\">PER PAGE</Text>\n <Select\n {...slotProps?.select}\n width={(perpage.toString().length * 10) + 60}\n minWidth={\"auto\"}\n maxWidth={\"auto\"}\n value={perpage}\n onChange={(value: any) => {\n onChange && onChange({ page: 1, perpage: value, from: 1, to: Math.min(value, total) })\n }}\n >\n {perpages.map((p: number) => <Option key={p} value={p}>{p}</Option>)}\n </Select>\n </Tag>\n }\n <Tag\n sxr={{\n display: \"flex\",\n flexDirection: \"row\",\n gap: 1,\n alignItems: 'center'\n }}\n >\n <Text fontSize=\"button\">{current?.from}-{current.to}</Text>\n <Text color=\"text.secondary\">of</Text>\n <Text fontSize=\"button\">{total}</Text>\n </Tag>\n <Tag baseClass='table-pagination-navigation' flexBox flexRow gap={.4} >\n <IconButton\n {...slotProps?.button}\n color={color}\n variant={variant}\n size={30}\n disabled={!hasPrev}\n onClick={() => {\n onChange && onChange(chunks[page - 1]);\n }}\n >\n <PrevIcon />\n </IconButton>\n <IconButton\n {...slotProps?.button}\n color={color}\n variant={variant}\n size={30}\n disabled={!hasNext}\n onClick={() => {\n onChange && onChange(chunks[page + 1]);\n }}\n >\n <NextIcon />\n </IconButton>\n </Tag>\n </Tag>\n )\n})\n\nexport default TablePagination"],"names":[],"mappings":";;;;;;;;;;;;AA4BA;AAA0C;;;;AAItC;AACA;AACA;AAGA;;;AAGI;AACI;AACA;AACA;;AAEJ;;AAGJ;AACI;;;;;AAOJ;AAIY;AACA;AACA;AACA;AACH;AAce;AACJ;AAQJ;AACA;AACA;AACA;AACH;;AAeG;;;AAmBpB;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/TablePagination/index.tsx"],"sourcesContent":["\"use client\";\nimport Text from '../Text'\nimport Select, { SelectProps } from '../Select'\nimport Option from '../Option'\nimport IconButton, { IconButtonProps } from '../IconButton'\nimport React, { useMemo } from 'react'\nimport PrevIcon from '@xanui/icons/KeyboardArrowLeft'\nimport NextIcon from '@xanui/icons/KeyboardArrowRight'\nimport { TagProps, Tag, useInterface, UseColorTemplateColor, UseColorTemplateType, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type TablePaginationState = { page: number, perpage: number, from: number, to: number }\nexport type TablePaginationProps = Omit<TagProps, \"children\" | \"onChange\"> & {\n page: number;\n total: number;\n perpage?: number;\n perpages?: number[];\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n variant?: useBreakpointPropsType<UseColorTemplateType>;\n onChange?: (state: TablePaginationState) => void;\n\n slotProps?: {\n button?: Omit<IconButtonProps, \"children\" | \"color\" | \"variant\">;\n select?: Omit<SelectProps, \"value\" | \"onChange\" | \"children\">;\n }\n}\n\nconst TablePagination = React.forwardRef(({ page, total, perpage, onChange, ...rest }: TablePaginationProps, ref: React.Ref<any>) => {\n let [{ perpages, color, variant, slotProps, ...props }] = useInterface<any>(\"TablePagination\", rest, {})\n color ??= \"default\"\n variant ??= \"fill\"\n perpages ??= [30, 50, 100]\n perpage = perpage || perpages[0] as number\n const isPerpage = perpages[0] && perpages.length >= 1\n\n\n const chunks = useMemo(() => {\n const chunks: any = [];\n let _page = 1;\n for (let from = 0; from < total; from += perpage) {\n const to = Math.min(from + perpage, total)\n chunks[_page] = { from: from + 1, to, page: _page, perpage }\n _page++\n }\n return chunks\n }, [perpage, perpages, total])\n\n if (!chunks.length) {\n return <></>\n }\n\n const current = chunks[page] || chunks[1]\n const hasNext = !!chunks[page + 1]\n const hasPrev = !!chunks[page - 1]\n\n return (\n <Tag\n {...props}\n sxr={{\n display: \"flex\",\n flexDirection: \"row\",\n gap: 1,\n alignItems: \"center\"\n }}\n baseClass='table-pagination'\n ref={ref}\n >\n {\n isPerpage && <Tag baseClass='table-pagination-perpage' flexBox flexRow gap={1} alignItems=\"center\">\n <Text fontSize=\"button\">PER PAGE</Text>\n <Select\n {...slotProps?.select}\n width={(perpage.toString().length * 10) + 60}\n minWidth={\"auto\"}\n maxWidth={\"auto\"}\n value={perpage}\n onChange={(value: any) => {\n onChange && onChange({ page: 1, perpage: value, from: 1, to: Math.min(value, total) })\n }}\n >\n {perpages.map((p: number) => <Option key={p} value={p}>{p}</Option>)}\n </Select>\n </Tag>\n }\n <Tag\n sxr={{\n display: \"flex\",\n flexDirection: \"row\",\n gap: 1,\n alignItems: 'center'\n }}\n >\n <Text fontSize=\"button\">{current?.from}-{current.to}</Text>\n <Text color=\"text.secondary\">of</Text>\n <Text fontSize=\"button\">{total}</Text>\n </Tag>\n <Tag baseClass='table-pagination-navigation' flexBox flexRow gap={.4} >\n <IconButton\n {...slotProps?.button}\n color={color}\n variant={variant}\n size={30}\n disabled={!hasPrev}\n onClick={() => {\n onChange && onChange(chunks[page - 1]);\n }}\n >\n <PrevIcon />\n </IconButton>\n <IconButton\n {...slotProps?.button}\n color={color}\n variant={variant}\n size={30}\n disabled={!hasNext}\n onClick={() => {\n onChange && onChange(chunks[page + 1]);\n }}\n >\n <NextIcon />\n </IconButton>\n </Tag>\n </Tag>\n )\n})\n\nexport default TablePagination"],"names":[],"mappings":";;;;;;;;;;;;AA2BA;AAA0C;;;;AAItC;AACA;AACA;AAGA;;;AAGI;AACI;AACA;AACA;;AAEJ;;AAGJ;AACI;;;;;AAOJ;AAIY;AACA;AACA;AACA;AACH;AAce;AACJ;AAQJ;AACA;AACA;AACA;AACH;;AAeG;;;AAmBpB;;"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  'use strict';
2
3
 
3
4
  var tslib = require('tslib');
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/TableRow/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableRowProps<T extends TagComponentType = \"tr\"> = TagProps<T>\n\nconst TableRow = React.forwardRef(<T extends TagComponentType = \"tr\">({ children, ...rest }: TableRowProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n baseClass='table-row'\n verticalAlign=\"middle\"\n {...rest}\n component=\"tr\"\n ref={ref}>{children}</Tag>\n )\n})\n\nexport default TableRow"],"names":["__rest","_jsx","Tag"],"mappings":";;;;;;;AAMA,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAoC,EAAuC,EAAE,GAAmB,KAAI;AAAhE,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAA6B,EAAxB,IAAI,GAAAA,YAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;IACrF,QACIC,cAAA,CAACC,QAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACA,SAAS,EAAC,WAAW,EACrB,aAAa,EAAC,QAAQ,EAAA,EAClB,IAAI,EAAA,EACR,SAAS,EAAC,IAAI,EACd,GAAG,EAAE,GAAG,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAA,CAAO;AAEtC,CAAC;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/TableRow/index.tsx"],"sourcesContent":["\"use client\"\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableRowProps<T extends TagComponentType = \"tr\"> = TagProps<T>\n\nconst TableRow = React.forwardRef(<T extends TagComponentType = \"tr\">({ children, ...rest }: TableRowProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n baseClass='table-row'\n verticalAlign=\"middle\"\n {...rest}\n component=\"tr\"\n ref={ref}>{children}</Tag>\n )\n})\n\nexport default TableRow"],"names":[],"mappings":";;;;;;;;AAMA;AAAsE;;AAStE;;"}
package/TableRow/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { __rest } from 'tslib';
2
3
  import { jsx } from 'react/jsx-runtime';
3
4
  import React from 'react';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/TableRow/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableRowProps<T extends TagComponentType = \"tr\"> = TagProps<T>\n\nconst TableRow = React.forwardRef(<T extends TagComponentType = \"tr\">({ children, ...rest }: TableRowProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n baseClass='table-row'\n verticalAlign=\"middle\"\n {...rest}\n component=\"tr\"\n ref={ref}>{children}</Tag>\n )\n})\n\nexport default TableRow"],"names":["_jsx"],"mappings":";;;;;AAMA,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAoC,EAAuC,EAAE,GAAmB,KAAI;AAAhE,IAAA,IAAA,EAAE,QAAQ,EAAA,GAAA,EAA6B,EAAxB,IAAI,GAAA,MAAA,CAAA,EAAA,EAAnB,YAAqB,CAAF;IACrF,QACIA,GAAA,CAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACA,SAAS,EAAC,WAAW,EACrB,aAAa,EAAC,QAAQ,EAAA,EAClB,IAAI,EAAA,EACR,SAAS,EAAC,IAAI,EACd,GAAG,EAAE,GAAG,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAA,CAAO;AAEtC,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/TableRow/index.tsx"],"sourcesContent":["\"use client\"\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType } from '@xanui/core';\n\nexport type TableRowProps<T extends TagComponentType = \"tr\"> = TagProps<T>\n\nconst TableRow = React.forwardRef(<T extends TagComponentType = \"tr\">({ children, ...rest }: TableRowProps<T>, ref: React.Ref<any>) => {\n return (\n <Tag\n baseClass='table-row'\n verticalAlign=\"middle\"\n {...rest}\n component=\"tr\"\n ref={ref}>{children}</Tag>\n )\n})\n\nexport default TableRow"],"names":[],"mappings":";;;;;;AAMA;AAAsE;;AAStE;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/Tabs/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, ReactElement, useMemo, cloneElement, useState, Children, useRef } from 'react'\nimport { TabProps } from '../Tab'\nimport { Tag, TagProps, useBreakpointProps, UseColorTemplateColor, useInterface, useBreakpointPropsType, Transition } from '@xanui/core'\nimport { ButtonProps } from '../Button'\n\n\ntype ValueType = string | number\nexport type TabsProps = Omit<TagProps, 'onChange'> & {\n children: ReactElement<TabProps> | ReactElement<TabProps>[];\n value?: ValueType;\n onChange?: (value: ValueType) => void;\n variant?: useBreakpointPropsType<\"start-line\" | \"end-line\" | \"fill\" | \"outline\" | \"text\" | \"soft\">;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n verticle?: useBreakpointPropsType<boolean>;\n disableTransition?: useBreakpointPropsType<boolean>;\n indicatorSize?: useBreakpointPropsType<number>;\n\n slotProps?: {\n content?: Omit<TagProps, \"children\">;\n button?: Omit<ButtonProps, \"children\" | \"color\" | \"variant\" | \"classNames\">;\n }\n}\n\nconst getRect = (ele: HTMLElement, parent: HTMLElement) => {\n const _rect: any = {};\n const parentRect = parent.getBoundingClientRect();\n const childRect = ele.getBoundingClientRect();\n _rect.top = childRect.top - parentRect.top;\n _rect.right = childRect.right - parentRect.right;\n _rect.bottom = childRect.bottom - parentRect.bottom;\n _rect.left = childRect.left - parentRect.left;\n _rect.width = childRect.width;\n _rect.height = childRect.height;\n return _rect\n}\n\nconst Tabs = React.forwardRef(({ onChange, value, children, ...props }: TabsProps, ref: any) => {\n let [{ verticle, color, variant, indicatorSize, disableTransition, slotProps, ...rest }] = useInterface<any>(\"Tabs\", props, {})\n const _p: any = {}\n if (variant) _p.variant = variant\n if (color) _p.color = color\n if (verticle) _p.verticle = verticle\n if (disableTransition) _p.disableTransition = disableTransition\n if (indicatorSize) _p.indicatorSize = indicatorSize\n const p: any = useBreakpointProps(_p)\n\n variant = p.variant ?? \"end-line\"\n color = p.color ?? \"brand\"\n verticle = p.verticle\n disableTransition = p.disableTransition\n indicatorSize = p.indicatorSize ?? 3\n\n ref = ref || useRef(null)\n const containerRef: any = useRef(null)\n const [trans, setTrans] = useState<any>()\n\n const { childs, selectedIndex } = useMemo(() => {\n let info: any = {\n childs: null,\n selectedIndex: 0\n }\n info.childs = Children.map(children, (child: any, idx: number) => {\n let selected = child.props.value === value\n if (selected) {\n info.selectedIndex = idx\n }\n\n let btnProps: any = {}\n if (variant === 'fill' && selected) {\n btnProps = {\n sx: {\n bgcolor: \"transparent!importnat\",\n color: \"#FFFFFF!important\"\n }\n }\n } else if (variant === 'soft' && selected) {\n btnProps = {\n sx: {\n bgcolor: \"transparent!importnat\",\n }\n }\n }\n\n // delete child.props.value\n return cloneElement(child, {\n corner: \"square\",\n value: undefined,\n onClick: () => {\n onChange && onChange(child.props.value)\n },\n ...slotProps?.button,\n ...btnProps,\n color: selected ? color : \"default\",\n variant: \"text\",\n classNames: [child.props.classNames, { \"tab-selected\": selected }],\n })\n })\n return info\n }, [children, onChange, value, variant, color, verticle])\n\n useEffect(() => {\n let con = containerRef.current\n const conChilds = con.children\n if (conChilds && conChilds[selectedIndex]) {\n const selectedTab = con.querySelector(\".tab-selected\") || conChilds[0]\n const prevRect = getRect(selectedTab, con)\n const rect = getRect(conChilds[selectedIndex], con)\n\n let anim: any = () => ({})\n if (verticle) {\n let v: any = {\n from: {\n top: prevRect?.top || 0,\n height: prevRect?.height || 0,\n },\n to: {\n top: rect?.top || 0,\n height: rect?.height || 0,\n }\n }\n\n if ([\"fill\", \"soft\", \"outline\"].includes(variant)) {\n v.from.width = prevRect?.width\n v.to.width = rect?.width\n }\n anim = () => v\n } else {\n let v: any = {\n from: {\n left: prevRect?.left || 0,\n width: prevRect?.width || 0,\n },\n to: {\n left: rect?.left || 0,\n width: rect?.width || 0,\n },\n }\n\n if ([\"fill\", \"soft\", \"outline\"].includes(variant)) {\n v.from.height = prevRect?.height || 0\n v.to.height = rect?.height || 0\n }\n anim = () => v\n }\n setTrans(() => anim)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedIndex, variant, color, verticle])\n\n let indicatorProps: any = useMemo(() => {\n let _indicatorProps: any = {}\n switch (variant) {\n case \"start-line\":\n if (verticle) {\n _indicatorProps = {\n left: 0,\n width: indicatorSize\n }\n } else {\n _indicatorProps = {\n top: 0,\n height: indicatorSize\n }\n }\n break;\n case \"end-line\":\n if (verticle) {\n _indicatorProps = {\n right: 0,\n width: indicatorSize\n }\n } else {\n _indicatorProps = {\n bottom: 0,\n height: indicatorSize\n }\n }\n break;\n case \"fill\":\n _indicatorProps = {\n top: 0,\n bgcolor: color\n }\n break;\n case \"outline\":\n _indicatorProps = {\n top: 0,\n border: \"1px solid\",\n borderColor: color,\n bgcolor: \"transparent\"\n }\n break;\n case \"soft\":\n _indicatorProps = {\n top: 0,\n bgcolor: `${color}.soft.primary`\n }\n break;\n case \"text\":\n _indicatorProps = {\n display: \"none\"\n }\n break;\n }\n return _indicatorProps\n }, [selectedIndex, variant, color, verticle])\n\n return (\n <Tag\n {...rest}\n baseClass='tabs'\n ref={ref}\n sxr={{\n position: \"relative\",\n zIndex: 1,\n display: \"inline-block\"\n }}\n >\n <Tag\n {...slotProps?.content}\n baseClass='tabs-content'\n sxr={{\n display: verticle ? \"flex\" : \"inline-flex\",\n flexDirection: verticle ? \"column\" : \"row\",\n }}\n ref={containerRef}\n >\n {childs}\n </Tag>\n <Transition\n open={!!trans}\n variant={trans}\n duration={trans ? (disableTransition ? 0 : 250) : 0}\n easing=\"smooth\"\n >\n <Tag\n baseClass='tabs-indicator'\n // className={classname}\n sxr={{\n position: \"absolute\",\n zIndex: -1,\n cursor: \"pointer\",\n bgcolor: color\n }}\n {...indicatorProps}\n >\n </Tag>\n </Transition>\n </Tag>\n )\n})\n\nexport default Tabs"],"names":[],"mappings":";;;;;;;;AAyBA;;AAEI;AACA;;;;;AAKA;AACA;AACA;AACJ;AAEA;;;AACI;;AAEA;AAAa;AACb;AAAW;AACX;AAAc;AACd;AAAuB;AACvB;AAAmB;AACnB;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;;;AAII;AACI;AACA;;AAEJ;;;AAGQ;;;AAIJ;AACI;AACI;AACI;AACA;AACH;;;AAEF;AACH;AACI;AACI;AACH;;;;AAKT;;AAKI;AAOR;AACA;AACJ;;AAGI;AACA;AACA;AACI;;;;;AAMI;AACI;;;AAGC;AACD;;;AAGC;;AAGL;AACI;AACA;;AAEJ;;;AAEA;AACI;;;AAGC;AACD;;;AAGC;;AAGL;AACI;AACA;;AAEJ;;AAEJ;;;;AAKR;;;AAGQ;;AAEQ;AACI;AACA;;;;AAGJ;AACI;AACA;;;;AAIZ;;AAEQ;AACI;AACA;;;;AAGJ;AACI;AACA;;;;AAIZ;AACI;AACI;AACA;;;AAGR;AACI;AACI;AACA;AACA;AACA;;;AAGR;AACI;AACI;;;;AAIR;AACI;AACI;;;;AAIZ;;AAGJ;AAMY;AACA;AACA;AACH;;;;;AAsBO;AACI;;AAEA;AACA;AACH;AAOrB;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/Tabs/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useEffect, ReactElement, useMemo, cloneElement, useState, Children, useRef } from 'react'\nimport { TabProps } from '../Tab'\nimport { Tag, TagProps, useBreakpointProps, UseColorTemplateColor, useInterface, useBreakpointPropsType, Transition } from '@xanui/core'\nimport { ButtonProps } from '../Button'\n\n\ntype ValueType = string | number\nexport type TabsProps = Omit<TagProps, 'onChange'> & {\n children: ReactElement<TabProps> | ReactElement<TabProps>[];\n value?: ValueType;\n onChange?: (value: ValueType) => void;\n variant?: useBreakpointPropsType<\"start-line\" | \"end-line\" | \"fill\" | \"outline\" | \"text\" | \"soft\">;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n verticle?: useBreakpointPropsType<boolean>;\n disableTransition?: useBreakpointPropsType<boolean>;\n indicatorSize?: useBreakpointPropsType<number>;\n\n slotProps?: {\n content?: Omit<TagProps, \"children\">;\n button?: Omit<ButtonProps, \"children\" | \"color\" | \"variant\" | \"classNames\">;\n }\n}\n\nconst getRect = (ele: HTMLElement, parent: HTMLElement) => {\n const _rect: any = {};\n const parentRect = parent.getBoundingClientRect();\n const childRect = ele.getBoundingClientRect();\n _rect.top = childRect.top - parentRect.top;\n _rect.right = childRect.right - parentRect.right;\n _rect.bottom = childRect.bottom - parentRect.bottom;\n _rect.left = childRect.left - parentRect.left;\n _rect.width = childRect.width;\n _rect.height = childRect.height;\n return _rect\n}\n\nconst Tabs = React.forwardRef(({ onChange, value, children, ...props }: TabsProps, ref: any) => {\n let [{ verticle, color, variant, indicatorSize, disableTransition, slotProps, ...rest }] = useInterface<any>(\"Tabs\", props, {})\n const _p: any = {}\n if (variant) _p.variant = variant\n if (color) _p.color = color\n if (verticle) _p.verticle = verticle\n if (disableTransition) _p.disableTransition = disableTransition\n if (indicatorSize) _p.indicatorSize = indicatorSize\n const p: any = useBreakpointProps(_p)\n\n variant = p.variant ?? \"end-line\"\n color = p.color ?? \"brand\"\n verticle = p.verticle\n disableTransition = p.disableTransition\n indicatorSize = p.indicatorSize ?? 3\n\n ref = ref || useRef(null)\n const containerRef: any = useRef(null)\n const [trans, setTrans] = useState<any>()\n\n const { childs, selectedIndex } = useMemo(() => {\n let info: any = {\n childs: null,\n selectedIndex: 0\n }\n info.childs = Children.map(children, (child: any, idx: number) => {\n let selected = child.props.value === value\n if (selected) {\n info.selectedIndex = idx\n }\n\n let btnProps: any = {}\n if (variant === 'fill' && selected) {\n btnProps = {\n sx: {\n bgcolor: \"transparent!importnat\",\n color: \"#FFFFFF!important\"\n }\n }\n } else if (variant === 'soft' && selected) {\n btnProps = {\n sx: {\n bgcolor: \"transparent!importnat\",\n }\n }\n }\n\n // delete child.props.value\n return cloneElement(child, {\n corner: \"square\",\n value: undefined,\n onClick: () => {\n onChange && onChange(child.props.value)\n },\n ...slotProps?.button,\n ...btnProps,\n color: selected ? color : \"default\",\n variant: \"text\",\n classNames: [child.props.classNames, { \"tab-selected\": selected }],\n })\n })\n return info\n }, [children, onChange, value, variant, color, verticle])\n\n useEffect(() => {\n let con = containerRef.current\n const conChilds = con.children\n if (conChilds && conChilds[selectedIndex]) {\n const selectedTab = con.querySelector(\".tab-selected\") || conChilds[0]\n const prevRect = getRect(selectedTab, con)\n const rect = getRect(conChilds[selectedIndex], con)\n\n let anim: any = () => ({})\n if (verticle) {\n let v: any = {\n from: {\n top: prevRect?.top || 0,\n height: prevRect?.height || 0,\n },\n to: {\n top: rect?.top || 0,\n height: rect?.height || 0,\n }\n }\n\n if ([\"fill\", \"soft\", \"outline\"].includes(variant)) {\n v.from.width = prevRect?.width\n v.to.width = rect?.width\n }\n anim = () => v\n } else {\n let v: any = {\n from: {\n left: prevRect?.left || 0,\n width: prevRect?.width || 0,\n },\n to: {\n left: rect?.left || 0,\n width: rect?.width || 0,\n },\n }\n\n if ([\"fill\", \"soft\", \"outline\"].includes(variant)) {\n v.from.height = prevRect?.height || 0\n v.to.height = rect?.height || 0\n }\n anim = () => v\n }\n setTrans(() => anim)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedIndex, variant, color, verticle])\n\n let indicatorProps: any = useMemo(() => {\n let _indicatorProps: any = {}\n switch (variant) {\n case \"start-line\":\n if (verticle) {\n _indicatorProps = {\n left: 0,\n width: indicatorSize\n }\n } else {\n _indicatorProps = {\n top: 0,\n height: indicatorSize\n }\n }\n break;\n case \"end-line\":\n if (verticle) {\n _indicatorProps = {\n right: 0,\n width: indicatorSize\n }\n } else {\n _indicatorProps = {\n bottom: 0,\n height: indicatorSize\n }\n }\n break;\n case \"fill\":\n _indicatorProps = {\n top: 0,\n bgcolor: color\n }\n break;\n case \"outline\":\n _indicatorProps = {\n top: 0,\n border: \"1px solid\",\n borderColor: color,\n bgcolor: \"transparent\"\n }\n break;\n case \"soft\":\n _indicatorProps = {\n top: 0,\n bgcolor: `${color}.soft.primary`\n }\n break;\n case \"text\":\n _indicatorProps = {\n display: \"none\"\n }\n break;\n }\n return _indicatorProps\n }, [selectedIndex, variant, color, verticle])\n\n return (\n <Tag\n {...rest}\n baseClass='tabs'\n ref={ref}\n sxr={{\n position: \"relative\",\n zIndex: 1,\n display: \"inline-block\"\n }}\n >\n <Tag\n {...slotProps?.content}\n baseClass='tabs-content'\n sxr={{\n display: verticle ? \"flex\" : \"inline-flex\",\n flexDirection: verticle ? \"column\" : \"row\",\n }}\n ref={containerRef}\n >\n {childs}\n </Tag>\n <Transition\n open={!!trans}\n variant={trans}\n duration={trans ? (disableTransition ? 0 : 250) : 0}\n easing=\"smooth\"\n >\n <Tag\n baseClass='tabs-indicator'\n // className={classname}\n sxr={{\n position: \"absolute\",\n zIndex: -1,\n cursor: \"pointer\",\n bgcolor: color\n }}\n {...indicatorProps}\n >\n </Tag>\n </Transition>\n </Tag>\n )\n})\n\nexport default Tabs"],"names":[],"mappings":";;;;;;;;AAwBA;;AAEI;AACA;;;;;AAKA;AACA;AACA;AACJ;AAEA;;;AACI;;AAEA;AAAa;AACb;AAAW;AACX;AAAc;AACd;AAAuB;AACvB;AAAmB;AACnB;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;;;AAII;AACI;AACA;;AAEJ;;;AAGQ;;;AAIJ;AACI;AACI;AACI;AACA;AACH;;;AAEF;AACH;AACI;AACI;AACH;;;;AAKT;;AAKI;AAOR;AACA;AACJ;;AAGI;AACA;AACA;AACI;;;;;AAMI;AACI;;;AAGC;AACD;;;AAGC;;AAGL;AACI;AACA;;AAEJ;;;AAEA;AACI;;;AAGC;AACD;;;AAGC;;AAGL;AACI;AACA;;AAEJ;;AAEJ;;;;AAKR;;;AAGQ;;AAEQ;AACI;AACA;;;;AAGJ;AACI;AACA;;;;AAIZ;;AAEQ;AACI;AACA;;;;AAGJ;AACI;AACA;;;;AAIZ;AACI;AACI;AACA;;;AAGR;AACI;AACI;AACA;AACA;AACA;;;AAGR;AACI;AACI;;;;AAIR;AACI;AACI;;;;AAIZ;;AAGJ;AAMY;AACA;AACA;AACH;;;;;AAsBO;AACI;;AAEA;AACA;AACH;AAOrB;;"}
package/Tabs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Tabs/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, ReactElement, useMemo, cloneElement, useState, Children, useRef } from 'react'\nimport { TabProps } from '../Tab'\nimport { Tag, TagProps, useBreakpointProps, UseColorTemplateColor, useInterface, useBreakpointPropsType, Transition } from '@xanui/core'\nimport { ButtonProps } from '../Button'\n\n\ntype ValueType = string | number\nexport type TabsProps = Omit<TagProps, 'onChange'> & {\n children: ReactElement<TabProps> | ReactElement<TabProps>[];\n value?: ValueType;\n onChange?: (value: ValueType) => void;\n variant?: useBreakpointPropsType<\"start-line\" | \"end-line\" | \"fill\" | \"outline\" | \"text\" | \"soft\">;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n verticle?: useBreakpointPropsType<boolean>;\n disableTransition?: useBreakpointPropsType<boolean>;\n indicatorSize?: useBreakpointPropsType<number>;\n\n slotProps?: {\n content?: Omit<TagProps, \"children\">;\n button?: Omit<ButtonProps, \"children\" | \"color\" | \"variant\" | \"classNames\">;\n }\n}\n\nconst getRect = (ele: HTMLElement, parent: HTMLElement) => {\n const _rect: any = {};\n const parentRect = parent.getBoundingClientRect();\n const childRect = ele.getBoundingClientRect();\n _rect.top = childRect.top - parentRect.top;\n _rect.right = childRect.right - parentRect.right;\n _rect.bottom = childRect.bottom - parentRect.bottom;\n _rect.left = childRect.left - parentRect.left;\n _rect.width = childRect.width;\n _rect.height = childRect.height;\n return _rect\n}\n\nconst Tabs = React.forwardRef(({ onChange, value, children, ...props }: TabsProps, ref: any) => {\n let [{ verticle, color, variant, indicatorSize, disableTransition, slotProps, ...rest }] = useInterface<any>(\"Tabs\", props, {})\n const _p: any = {}\n if (variant) _p.variant = variant\n if (color) _p.color = color\n if (verticle) _p.verticle = verticle\n if (disableTransition) _p.disableTransition = disableTransition\n if (indicatorSize) _p.indicatorSize = indicatorSize\n const p: any = useBreakpointProps(_p)\n\n variant = p.variant ?? \"end-line\"\n color = p.color ?? \"brand\"\n verticle = p.verticle\n disableTransition = p.disableTransition\n indicatorSize = p.indicatorSize ?? 3\n\n ref = ref || useRef(null)\n const containerRef: any = useRef(null)\n const [trans, setTrans] = useState<any>()\n\n const { childs, selectedIndex } = useMemo(() => {\n let info: any = {\n childs: null,\n selectedIndex: 0\n }\n info.childs = Children.map(children, (child: any, idx: number) => {\n let selected = child.props.value === value\n if (selected) {\n info.selectedIndex = idx\n }\n\n let btnProps: any = {}\n if (variant === 'fill' && selected) {\n btnProps = {\n sx: {\n bgcolor: \"transparent!importnat\",\n color: \"#FFFFFF!important\"\n }\n }\n } else if (variant === 'soft' && selected) {\n btnProps = {\n sx: {\n bgcolor: \"transparent!importnat\",\n }\n }\n }\n\n // delete child.props.value\n return cloneElement(child, {\n corner: \"square\",\n value: undefined,\n onClick: () => {\n onChange && onChange(child.props.value)\n },\n ...slotProps?.button,\n ...btnProps,\n color: selected ? color : \"default\",\n variant: \"text\",\n classNames: [child.props.classNames, { \"tab-selected\": selected }],\n })\n })\n return info\n }, [children, onChange, value, variant, color, verticle])\n\n useEffect(() => {\n let con = containerRef.current\n const conChilds = con.children\n if (conChilds && conChilds[selectedIndex]) {\n const selectedTab = con.querySelector(\".tab-selected\") || conChilds[0]\n const prevRect = getRect(selectedTab, con)\n const rect = getRect(conChilds[selectedIndex], con)\n\n let anim: any = () => ({})\n if (verticle) {\n let v: any = {\n from: {\n top: prevRect?.top || 0,\n height: prevRect?.height || 0,\n },\n to: {\n top: rect?.top || 0,\n height: rect?.height || 0,\n }\n }\n\n if ([\"fill\", \"soft\", \"outline\"].includes(variant)) {\n v.from.width = prevRect?.width\n v.to.width = rect?.width\n }\n anim = () => v\n } else {\n let v: any = {\n from: {\n left: prevRect?.left || 0,\n width: prevRect?.width || 0,\n },\n to: {\n left: rect?.left || 0,\n width: rect?.width || 0,\n },\n }\n\n if ([\"fill\", \"soft\", \"outline\"].includes(variant)) {\n v.from.height = prevRect?.height || 0\n v.to.height = rect?.height || 0\n }\n anim = () => v\n }\n setTrans(() => anim)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedIndex, variant, color, verticle])\n\n let indicatorProps: any = useMemo(() => {\n let _indicatorProps: any = {}\n switch (variant) {\n case \"start-line\":\n if (verticle) {\n _indicatorProps = {\n left: 0,\n width: indicatorSize\n }\n } else {\n _indicatorProps = {\n top: 0,\n height: indicatorSize\n }\n }\n break;\n case \"end-line\":\n if (verticle) {\n _indicatorProps = {\n right: 0,\n width: indicatorSize\n }\n } else {\n _indicatorProps = {\n bottom: 0,\n height: indicatorSize\n }\n }\n break;\n case \"fill\":\n _indicatorProps = {\n top: 0,\n bgcolor: color\n }\n break;\n case \"outline\":\n _indicatorProps = {\n top: 0,\n border: \"1px solid\",\n borderColor: color,\n bgcolor: \"transparent\"\n }\n break;\n case \"soft\":\n _indicatorProps = {\n top: 0,\n bgcolor: `${color}.soft.primary`\n }\n break;\n case \"text\":\n _indicatorProps = {\n display: \"none\"\n }\n break;\n }\n return _indicatorProps\n }, [selectedIndex, variant, color, verticle])\n\n return (\n <Tag\n {...rest}\n baseClass='tabs'\n ref={ref}\n sxr={{\n position: \"relative\",\n zIndex: 1,\n display: \"inline-block\"\n }}\n >\n <Tag\n {...slotProps?.content}\n baseClass='tabs-content'\n sxr={{\n display: verticle ? \"flex\" : \"inline-flex\",\n flexDirection: verticle ? \"column\" : \"row\",\n }}\n ref={containerRef}\n >\n {childs}\n </Tag>\n <Transition\n open={!!trans}\n variant={trans}\n duration={trans ? (disableTransition ? 0 : 250) : 0}\n easing=\"smooth\"\n >\n <Tag\n baseClass='tabs-indicator'\n // className={classname}\n sxr={{\n position: \"absolute\",\n zIndex: -1,\n cursor: \"pointer\",\n bgcolor: color\n }}\n {...indicatorProps}\n >\n </Tag>\n </Transition>\n </Tag>\n )\n})\n\nexport default Tabs"],"names":[],"mappings":";;;;;;AAyBA;;AAEI;AACA;;;;;AAKA;AACA;AACA;AACJ;AAEA;;;AACI;;AAEA;AAAa;AACb;AAAW;AACX;AAAc;AACd;AAAuB;AACvB;AAAmB;AACnB;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;;;AAII;AACI;AACA;;AAEJ;;;AAGQ;;;AAIJ;AACI;AACI;AACI;AACA;AACH;;;AAEF;AACH;AACI;AACI;AACH;;;;AAKT;;AAKI;AAOR;AACA;AACJ;;AAGI;AACA;AACA;AACI;;;;;AAMI;AACI;;;AAGC;AACD;;;AAGC;;AAGL;AACI;AACA;;AAEJ;;;AAEA;AACI;;;AAGC;AACD;;;AAGC;;AAGL;AACI;AACA;;AAEJ;;AAEJ;;;;AAKR;;;AAGQ;;AAEQ;AACI;AACA;;;;AAGJ;AACI;AACA;;;;AAIZ;;AAEQ;AACI;AACA;;;;AAGJ;AACI;AACA;;;;AAIZ;AACI;AACI;AACA;;;AAGR;AACI;AACI;AACA;AACA;AACA;;;AAGR;AACI;AACI;;;;AAIR;AACI;AACI;;;;AAIZ;;AAGJ;AAMY;AACA;AACA;AACH;;;;;AAsBO;AACI;;AAEA;AACA;AACH;AAOrB;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Tabs/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useEffect, ReactElement, useMemo, cloneElement, useState, Children, useRef } from 'react'\nimport { TabProps } from '../Tab'\nimport { Tag, TagProps, useBreakpointProps, UseColorTemplateColor, useInterface, useBreakpointPropsType, Transition } from '@xanui/core'\nimport { ButtonProps } from '../Button'\n\n\ntype ValueType = string | number\nexport type TabsProps = Omit<TagProps, 'onChange'> & {\n children: ReactElement<TabProps> | ReactElement<TabProps>[];\n value?: ValueType;\n onChange?: (value: ValueType) => void;\n variant?: useBreakpointPropsType<\"start-line\" | \"end-line\" | \"fill\" | \"outline\" | \"text\" | \"soft\">;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n verticle?: useBreakpointPropsType<boolean>;\n disableTransition?: useBreakpointPropsType<boolean>;\n indicatorSize?: useBreakpointPropsType<number>;\n\n slotProps?: {\n content?: Omit<TagProps, \"children\">;\n button?: Omit<ButtonProps, \"children\" | \"color\" | \"variant\" | \"classNames\">;\n }\n}\n\nconst getRect = (ele: HTMLElement, parent: HTMLElement) => {\n const _rect: any = {};\n const parentRect = parent.getBoundingClientRect();\n const childRect = ele.getBoundingClientRect();\n _rect.top = childRect.top - parentRect.top;\n _rect.right = childRect.right - parentRect.right;\n _rect.bottom = childRect.bottom - parentRect.bottom;\n _rect.left = childRect.left - parentRect.left;\n _rect.width = childRect.width;\n _rect.height = childRect.height;\n return _rect\n}\n\nconst Tabs = React.forwardRef(({ onChange, value, children, ...props }: TabsProps, ref: any) => {\n let [{ verticle, color, variant, indicatorSize, disableTransition, slotProps, ...rest }] = useInterface<any>(\"Tabs\", props, {})\n const _p: any = {}\n if (variant) _p.variant = variant\n if (color) _p.color = color\n if (verticle) _p.verticle = verticle\n if (disableTransition) _p.disableTransition = disableTransition\n if (indicatorSize) _p.indicatorSize = indicatorSize\n const p: any = useBreakpointProps(_p)\n\n variant = p.variant ?? \"end-line\"\n color = p.color ?? \"brand\"\n verticle = p.verticle\n disableTransition = p.disableTransition\n indicatorSize = p.indicatorSize ?? 3\n\n ref = ref || useRef(null)\n const containerRef: any = useRef(null)\n const [trans, setTrans] = useState<any>()\n\n const { childs, selectedIndex } = useMemo(() => {\n let info: any = {\n childs: null,\n selectedIndex: 0\n }\n info.childs = Children.map(children, (child: any, idx: number) => {\n let selected = child.props.value === value\n if (selected) {\n info.selectedIndex = idx\n }\n\n let btnProps: any = {}\n if (variant === 'fill' && selected) {\n btnProps = {\n sx: {\n bgcolor: \"transparent!importnat\",\n color: \"#FFFFFF!important\"\n }\n }\n } else if (variant === 'soft' && selected) {\n btnProps = {\n sx: {\n bgcolor: \"transparent!importnat\",\n }\n }\n }\n\n // delete child.props.value\n return cloneElement(child, {\n corner: \"square\",\n value: undefined,\n onClick: () => {\n onChange && onChange(child.props.value)\n },\n ...slotProps?.button,\n ...btnProps,\n color: selected ? color : \"default\",\n variant: \"text\",\n classNames: [child.props.classNames, { \"tab-selected\": selected }],\n })\n })\n return info\n }, [children, onChange, value, variant, color, verticle])\n\n useEffect(() => {\n let con = containerRef.current\n const conChilds = con.children\n if (conChilds && conChilds[selectedIndex]) {\n const selectedTab = con.querySelector(\".tab-selected\") || conChilds[0]\n const prevRect = getRect(selectedTab, con)\n const rect = getRect(conChilds[selectedIndex], con)\n\n let anim: any = () => ({})\n if (verticle) {\n let v: any = {\n from: {\n top: prevRect?.top || 0,\n height: prevRect?.height || 0,\n },\n to: {\n top: rect?.top || 0,\n height: rect?.height || 0,\n }\n }\n\n if ([\"fill\", \"soft\", \"outline\"].includes(variant)) {\n v.from.width = prevRect?.width\n v.to.width = rect?.width\n }\n anim = () => v\n } else {\n let v: any = {\n from: {\n left: prevRect?.left || 0,\n width: prevRect?.width || 0,\n },\n to: {\n left: rect?.left || 0,\n width: rect?.width || 0,\n },\n }\n\n if ([\"fill\", \"soft\", \"outline\"].includes(variant)) {\n v.from.height = prevRect?.height || 0\n v.to.height = rect?.height || 0\n }\n anim = () => v\n }\n setTrans(() => anim)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedIndex, variant, color, verticle])\n\n let indicatorProps: any = useMemo(() => {\n let _indicatorProps: any = {}\n switch (variant) {\n case \"start-line\":\n if (verticle) {\n _indicatorProps = {\n left: 0,\n width: indicatorSize\n }\n } else {\n _indicatorProps = {\n top: 0,\n height: indicatorSize\n }\n }\n break;\n case \"end-line\":\n if (verticle) {\n _indicatorProps = {\n right: 0,\n width: indicatorSize\n }\n } else {\n _indicatorProps = {\n bottom: 0,\n height: indicatorSize\n }\n }\n break;\n case \"fill\":\n _indicatorProps = {\n top: 0,\n bgcolor: color\n }\n break;\n case \"outline\":\n _indicatorProps = {\n top: 0,\n border: \"1px solid\",\n borderColor: color,\n bgcolor: \"transparent\"\n }\n break;\n case \"soft\":\n _indicatorProps = {\n top: 0,\n bgcolor: `${color}.soft.primary`\n }\n break;\n case \"text\":\n _indicatorProps = {\n display: \"none\"\n }\n break;\n }\n return _indicatorProps\n }, [selectedIndex, variant, color, verticle])\n\n return (\n <Tag\n {...rest}\n baseClass='tabs'\n ref={ref}\n sxr={{\n position: \"relative\",\n zIndex: 1,\n display: \"inline-block\"\n }}\n >\n <Tag\n {...slotProps?.content}\n baseClass='tabs-content'\n sxr={{\n display: verticle ? \"flex\" : \"inline-flex\",\n flexDirection: verticle ? \"column\" : \"row\",\n }}\n ref={containerRef}\n >\n {childs}\n </Tag>\n <Transition\n open={!!trans}\n variant={trans}\n duration={trans ? (disableTransition ? 0 : 250) : 0}\n easing=\"smooth\"\n >\n <Tag\n baseClass='tabs-indicator'\n // className={classname}\n sxr={{\n position: \"absolute\",\n zIndex: -1,\n cursor: \"pointer\",\n bgcolor: color\n }}\n {...indicatorProps}\n >\n </Tag>\n </Transition>\n </Tag>\n )\n})\n\nexport default Tabs"],"names":[],"mappings":";;;;;;AAwBA;;AAEI;AACA;;;;;AAKA;AACA;AACA;AACJ;AAEA;;;AACI;;AAEA;AAAa;AACb;AAAW;AACX;AAAc;AACd;AAAuB;AACvB;AAAmB;AACnB;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;;;AAII;AACI;AACA;;AAEJ;;;AAGQ;;;AAIJ;AACI;AACI;AACI;AACA;AACH;;;AAEF;AACH;AACI;AACI;AACH;;;;AAKT;;AAKI;AAOR;AACA;AACJ;;AAGI;AACA;AACA;AACI;;;;;AAMI;AACI;;;AAGC;AACD;;;AAGC;;AAGL;AACI;AACA;;AAEJ;;;AAEA;AACI;;;AAGC;AACD;;;AAGC;;AAGL;AACI;AACA;;AAEJ;;AAEJ;;;;AAKR;;;AAGQ;;AAEQ;AACI;AACA;;;;AAGJ;AACI;AACA;;;;AAIZ;;AAEQ;AACI;AACA;;;;AAGJ;AACI;AACA;;;;AAIZ;AACI;AACI;AACA;;;AAGR;AACI;AACI;AACA;AACA;AACA;;;AAGR;AACI;AACI;;;;AAIR;AACI;AACI;;;;AAIZ;;AAGJ;AAMY;AACA;AACA;AACH;;;;;AAsBO;AACI;;AAEA;AACA;AACH;AAOrB;;"}
package/Text/index.cjs CHANGED
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  'use strict';
2
3
 
3
4
  var tslib = require('tslib');
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/Text/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type TextProps<T extends TagComponentType = \"p\"> = TagProps<T> & {\n variant?: useBreakpointPropsType<\"text\" | \"button\" | \"small\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\">\n}\n\nconst Text = React.forwardRef(<T extends TagComponentType = \"p\">({ children, variant, ...props }: TextProps<T>, ref?: React.Ref<any>) => {\n const _p: any = {}\n if (variant) _p.variant = variant\n const p: any = useBreakpointProps(_p)\n variant = p.variant ?? 'text'\n\n return (\n <Tag\n component={(variant as string).startsWith('h') ? variant as any : \"p\"}\n {...props}\n sxr={{\n fontSize: variant,\n lineHeight: variant,\n fontWeight: variant,\n color: \"text.primary\",\n }}\n baseClass='text'\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Text\n"],"names":["__rest","useBreakpointProps","_jsx","Tag"],"mappings":";;;;;;;AASA,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAmC,EAA6C,EAAE,GAAoB,KAAI;;QAAvE,EAAE,QAAQ,EAAE,OAAO,EAAA,GAAA,EAA0B,EAArB,KAAK,GAAAA,YAAA,CAAA,EAAA,EAA7B,uBAA+B,CAAF;IAC1F,MAAM,EAAE,GAAQ,EAAE;AAClB,IAAA,IAAI,OAAO;AAAE,QAAA,EAAE,CAAC,OAAO,GAAG,OAAO;AACjC,IAAA,MAAM,CAAC,GAAQC,uBAAkB,CAAC,EAAE,CAAC;AACrC,IAAA,OAAO,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,MAAM;IAE7B,QACIC,cAAA,CAACC,QAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACA,SAAS,EAAG,OAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,OAAc,GAAG,GAAG,EAAA,EACjE,KAAK,EAAA,EACT,GAAG,EAAE;AACD,YAAA,QAAQ,EAAE,OAAO;AACjB,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,KAAK,EAAE,cAAc;SACxB,EACD,SAAS,EAAC,MAAM,EAChB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/Text/index.tsx"],"sourcesContent":["\"use client\"\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type TextProps<T extends TagComponentType = \"p\"> = TagProps<T> & {\n variant?: useBreakpointPropsType<\"text\" | \"button\" | \"small\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\">\n}\n\nconst Text = React.forwardRef(<T extends TagComponentType = \"p\">({ children, variant, ...props }: TextProps<T>, ref?: React.Ref<any>) => {\n const _p: any = {}\n if (variant) _p.variant = variant\n const p: any = useBreakpointProps(_p)\n variant = p.variant ?? 'text'\n\n return (\n <Tag\n component={(variant as string).startsWith('h') ? variant as any : \"p\"}\n {...props}\n sxr={{\n fontSize: variant,\n lineHeight: variant,\n fontWeight: variant,\n color: \"text.primary\",\n }}\n baseClass='text'\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Text\n"],"names":[],"mappings":";;;;;;;;AASA;;;;AAEI;AAAa;AACb;AACA;;AAOY;AACA;AACA;AACA;;AAMhB;;"}
package/Text/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { __rest } from 'tslib';
2
3
  import { jsx } from 'react/jsx-runtime';
3
4
  import React from 'react';
package/Text/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Text/index.tsx"],"sourcesContent":["\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type TextProps<T extends TagComponentType = \"p\"> = TagProps<T> & {\n variant?: useBreakpointPropsType<\"text\" | \"button\" | \"small\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\">\n}\n\nconst Text = React.forwardRef(<T extends TagComponentType = \"p\">({ children, variant, ...props }: TextProps<T>, ref?: React.Ref<any>) => {\n const _p: any = {}\n if (variant) _p.variant = variant\n const p: any = useBreakpointProps(_p)\n variant = p.variant ?? 'text'\n\n return (\n <Tag\n component={(variant as string).startsWith('h') ? variant as any : \"p\"}\n {...props}\n sxr={{\n fontSize: variant,\n lineHeight: variant,\n fontWeight: variant,\n color: \"text.primary\",\n }}\n baseClass='text'\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Text\n"],"names":["_jsx"],"mappings":";;;;;AASA,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAmC,EAA6C,EAAE,GAAoB,KAAI;;QAAvE,EAAE,QAAQ,EAAE,OAAO,EAAA,GAAA,EAA0B,EAArB,KAAK,GAAA,MAAA,CAAA,EAAA,EAA7B,uBAA+B,CAAF;IAC1F,MAAM,EAAE,GAAQ,EAAE;AAClB,IAAA,IAAI,OAAO;AAAE,QAAA,EAAE,CAAC,OAAO,GAAG,OAAO;AACjC,IAAA,MAAM,CAAC,GAAQ,kBAAkB,CAAC,EAAE,CAAC;AACrC,IAAA,OAAO,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,MAAM;IAE7B,QACIA,GAAA,CAAC,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,EACA,SAAS,EAAG,OAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,OAAc,GAAG,GAAG,EAAA,EACjE,KAAK,EAAA,EACT,GAAG,EAAE;AACD,YAAA,QAAQ,EAAE,OAAO;AACjB,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,UAAU,EAAE,OAAO;AACnB,YAAA,KAAK,EAAE,cAAc;SACxB,EACD,SAAS,EAAC,MAAM,EAChB,GAAG,EAAE,GAAG,EAAA,QAAA,EACV,QAAQ,EAAA,CAAA,CAAO;AAEzB,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Text/index.tsx"],"sourcesContent":["\"use client\"\nimport React from 'react';\nimport { Tag, TagProps, TagComponentType, useBreakpointProps, useBreakpointPropsType } from '@xanui/core';\n\n\nexport type TextProps<T extends TagComponentType = \"p\"> = TagProps<T> & {\n variant?: useBreakpointPropsType<\"text\" | \"button\" | \"small\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\">\n}\n\nconst Text = React.forwardRef(<T extends TagComponentType = \"p\">({ children, variant, ...props }: TextProps<T>, ref?: React.Ref<any>) => {\n const _p: any = {}\n if (variant) _p.variant = variant\n const p: any = useBreakpointProps(_p)\n variant = p.variant ?? 'text'\n\n return (\n <Tag\n component={(variant as string).startsWith('h') ? variant as any : \"p\"}\n {...props}\n sxr={{\n fontSize: variant,\n lineHeight: variant,\n fontWeight: variant,\n color: \"text.primary\",\n }}\n baseClass='text'\n ref={ref}\n >{children}</Tag>\n )\n})\n\nexport default Text\n"],"names":[],"mappings":";;;;;;AASA;;;;AAEI;AAAa;AACb;AACA;;AAOY;AACA;AACA;AACA;;AAMhB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/Toast/index.tsx"],"sourcesContent":["\"use client\";\n\nimport { UseColorTemplateColor, UseColorTemplateType, Transition, useBreakpointPropsType, Renderar } from \"@xanui/core\";\nimport React, { ReactElement } from \"react\";\nimport Alert, { AlertProps } from \"../Alert\";\nimport Scrollbar from \"../Scrollbar\";\n\ntype PlacementType = \"top-left\" | \"top-center\" | \"top-right\" | \"bottom-left\" | \"bottom-center\" | \"bottom-right\"\n\nexport type UseToastProps = {\n title?: useBreakpointPropsType<string | ReactElement>;\n content?: AlertProps['children'];\n variant?: useBreakpointPropsType<UseColorTemplateType>;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n icon?: useBreakpointPropsType<\"info\" | \"warning\" | \"success\" | \"error\" | false | ReactElement>;\n placement?: PlacementType;\n closeable?: useBreakpointPropsType<boolean>;\n autoColose?: boolean;\n autoColoseDelay?: number;\n pauseOnHover?: boolean;\n}\n\n\nconst formatPacement = (placement: PlacementType) => {\n let sx: any = {}\n let transition: any = \"\"\n switch (placement) {\n case \"top-left\":\n sx = {\n top: 0,\n left: 0\n }\n transition = \"fadeRight\"\n break;\n case \"top-right\":\n sx = {\n top: 0,\n right: 0\n }\n transition = \"fadeLeft\"\n break;\n case \"top-center\":\n sx = {\n top: 0,\n left: \"50%\",\n transform: \"translateX(-50%)\"\n }\n transition = \"fadeDown\"\n break;\n case \"bottom-right\":\n sx = {\n bottom: 0,\n right: 0\n }\n transition = \"fadeLeft\"\n break;\n case \"bottom-left\":\n sx = {\n bottom: 0,\n left: 0\n }\n transition = \"fadeRight\"\n break;\n case \"bottom-center\":\n sx = {\n bottom: 0,\n left: \"50%\",\n transform: \"translateX(-50%)\"\n }\n transition = \"fadeUp\"\n break;\n }\n return { sx, transition }\n}\n\nconst ToastView = (props: UseToastProps & { onClosed: () => void }) => {\n const [open, setOpen] = React.useState(true)\n const [timer, setTimer] = React.useState<any>(null)\n const {\n placement = \"bottom-right\",\n content,\n closeable,\n onClosed,\n autoColose = true,\n pauseOnHover = true,\n autoColoseDelay = 6000,\n ...rest\n } = props || {}\n\n const { transition } = formatPacement(placement)\n\n return (<Transition\n open={open}\n variant={transition}\n onClosed={() => {\n onClosed()\n }}\n onOpened={() => {\n if (autoColose) {\n setTimer(setTimeout(() => {\n setOpen(false)\n }, autoColoseDelay))\n }\n }}\n >\n <Alert\n variant=\"fill\"\n color=\"brand\"\n {...rest as any}\n mode=\"item\"\n mb={1}\n onMouseEnter={() => {\n (autoColose && pauseOnHover) && clearTimeout(timer)\n }}\n onMouseLeave={() => {\n if (autoColose && pauseOnHover) {\n setTimer(setTimeout(() => {\n setOpen(false)\n }, autoColoseDelay))\n }\n }}\n onClose={closeable ? () => setOpen(false) : undefined}\n >{content}</Alert>\n </Transition>)\n}\n\nconst State: Record<PlacementType, UseToastProps[]> = {\n // \"top-left\": [],\n // \"top-center\": [],\n // \"top-right\": [],\n // \"bottom-left\": [],\n // \"bottom-center\": [],\n // \"bottom-right\": []\n} as any\n\nconst RenderToasts = () => {\n let views = []\n\n for (let placement in State) {\n const items = (State as any)[placement]\n const { sx } = formatPacement(placement as any)\n if (!items.length) continue;\n views.push(\n <Scrollbar\n key={`toast-render-${placement}`}\n overflow=\"hidden\"\n p={1}\n sx={{\n position: \"fixed\",\n zIndex: 99999999,\n display: \"flex\",\n justifyContent: \"flex-end\",\n flexDirection: \"column\",\n width: 280,\n height: \"auto\",\n maxHeight: \"100vh\",\n ...sx\n }}\n >\n\n {items.map((itemprops: UseToastProps, index: number) => {\n return (\n <ToastView\n key={`toast-view-${index}`}\n {...itemprops}\n onClosed={() => {\n items.splice(index, 1)\n if (!items.length) {\n delete (State as any)[placement]\n } else {\n (State as any)[placement] = items\n }\n if (!Object.keys(State).length) {\n Renderar.unrender(RenderToasts)\n }\n }}\n />\n )\n })}\n </Scrollbar >\n )\n }\n\n return views\n}\n\nconst Toast = (props?: UseToastProps['content'] | UseToastProps) => {\n props = React.isValidElement(props) ? { content: props } : props\n let { placement = \"bottom-right\" } = (props || {}) as UseToastProps\n const length = Object.keys(State).length\n if (!State[placement]) State[placement] = []\n State[placement].push(props as any)\n if (length) {\n Renderar.updateProps(RenderToasts, {})\n } else {\n Renderar.render(RenderToasts)\n }\n}\n\nexport default Toast;"],"names":[],"mappings":";;;;;;;;;;AAuBA;;;;AAIQ;AACI;AACI;AACA;;;;AAIR;AACI;AACI;AACA;;;;AAIR;AACI;AACI;AACA;AACA;;;;AAIR;AACI;AACI;AACA;;;;AAIR;AACI;AACI;AACA;;;;AAIR;AACI;AACI;AACA;AACA;;;;;AAKZ;AACJ;AAEA;AACI;AACA;AACA;;AAaA;AAIQ;AACJ;;AAGQ;;AAEA;;;;AAYJ;AAEI;AACI;;AAEA;;;AAMpB;AAEA;AACI;AACA;AACA;AACA;AACA;AACA;;AAGJ;;AAGI;AACI;;;;;;AA2BwB;AACA;AACI;;;AAEC;;;AAGD;;AAER;AAGZ;;AAKZ;AACJ;AAEA;AACI;;;AAGA;AAAuB;;;AAGnB;;;AAEA;;AAER;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/Toast/index.tsx"],"sourcesContent":["\"use client\";\nimport { UseColorTemplateColor, UseColorTemplateType, Transition, useBreakpointPropsType, Renderar } from \"@xanui/core\";\nimport React, { ReactElement } from \"react\";\nimport Alert, { AlertProps } from \"../Alert\";\nimport Scrollbar from \"../Scrollbar\";\n\ntype PlacementType = \"top-left\" | \"top-center\" | \"top-right\" | \"bottom-left\" | \"bottom-center\" | \"bottom-right\"\n\nexport type UseToastProps = {\n title?: useBreakpointPropsType<string | ReactElement>;\n content?: AlertProps['children'];\n variant?: useBreakpointPropsType<UseColorTemplateType>;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n icon?: useBreakpointPropsType<\"info\" | \"warning\" | \"success\" | \"error\" | false | ReactElement>;\n placement?: PlacementType;\n closeable?: useBreakpointPropsType<boolean>;\n autoColose?: boolean;\n autoColoseDelay?: number;\n pauseOnHover?: boolean;\n}\n\n\nconst formatPacement = (placement: PlacementType) => {\n let sx: any = {}\n let transition: any = \"\"\n switch (placement) {\n case \"top-left\":\n sx = {\n top: 0,\n left: 0\n }\n transition = \"fadeRight\"\n break;\n case \"top-right\":\n sx = {\n top: 0,\n right: 0\n }\n transition = \"fadeLeft\"\n break;\n case \"top-center\":\n sx = {\n top: 0,\n left: \"50%\",\n transform: \"translateX(-50%)\"\n }\n transition = \"fadeDown\"\n break;\n case \"bottom-right\":\n sx = {\n bottom: 0,\n right: 0\n }\n transition = \"fadeLeft\"\n break;\n case \"bottom-left\":\n sx = {\n bottom: 0,\n left: 0\n }\n transition = \"fadeRight\"\n break;\n case \"bottom-center\":\n sx = {\n bottom: 0,\n left: \"50%\",\n transform: \"translateX(-50%)\"\n }\n transition = \"fadeUp\"\n break;\n }\n return { sx, transition }\n}\n\nconst ToastView = (props: UseToastProps & { onClosed: () => void }) => {\n const [open, setOpen] = React.useState(true)\n const [timer, setTimer] = React.useState<any>(null)\n const {\n placement = \"bottom-right\",\n content,\n closeable,\n onClosed,\n autoColose = true,\n pauseOnHover = true,\n autoColoseDelay = 6000,\n ...rest\n } = props || {}\n\n const { transition } = formatPacement(placement)\n\n return (<Transition\n open={open}\n variant={transition}\n onClosed={() => {\n onClosed()\n }}\n onOpened={() => {\n if (autoColose) {\n setTimer(setTimeout(() => {\n setOpen(false)\n }, autoColoseDelay))\n }\n }}\n >\n <Alert\n variant=\"fill\"\n color=\"brand\"\n {...rest as any}\n mode=\"item\"\n mb={1}\n onMouseEnter={() => {\n (autoColose && pauseOnHover) && clearTimeout(timer)\n }}\n onMouseLeave={() => {\n if (autoColose && pauseOnHover) {\n setTimer(setTimeout(() => {\n setOpen(false)\n }, autoColoseDelay))\n }\n }}\n onClose={closeable ? () => setOpen(false) : undefined}\n >{content}</Alert>\n </Transition>)\n}\n\nconst State: Record<PlacementType, UseToastProps[]> = {\n // \"top-left\": [],\n // \"top-center\": [],\n // \"top-right\": [],\n // \"bottom-left\": [],\n // \"bottom-center\": [],\n // \"bottom-right\": []\n} as any\n\nconst RenderToasts = () => {\n let views = []\n\n for (let placement in State) {\n const items = (State as any)[placement]\n const { sx } = formatPacement(placement as any)\n if (!items.length) continue;\n views.push(\n <Scrollbar\n key={`toast-render-${placement}`}\n overflow=\"hidden\"\n p={1}\n sx={{\n position: \"fixed\",\n zIndex: 99999999,\n display: \"flex\",\n justifyContent: \"flex-end\",\n flexDirection: \"column\",\n width: 280,\n height: \"auto\",\n maxHeight: \"100vh\",\n ...sx\n }}\n >\n\n {items.map((itemprops: UseToastProps, index: number) => {\n return (\n <ToastView\n key={`toast-view-${index}`}\n {...itemprops}\n onClosed={() => {\n items.splice(index, 1)\n if (!items.length) {\n delete (State as any)[placement]\n } else {\n (State as any)[placement] = items\n }\n if (!Object.keys(State).length) {\n Renderar.unrender(RenderToasts)\n }\n }}\n />\n )\n })}\n </Scrollbar >\n )\n }\n\n return views\n}\n\nconst Toast = (props?: UseToastProps['content'] | UseToastProps) => {\n props = React.isValidElement(props) ? { content: props } : props\n let { placement = \"bottom-right\" } = (props || {}) as UseToastProps\n const length = Object.keys(State).length\n if (!State[placement]) State[placement] = []\n State[placement].push(props as any)\n if (length) {\n Renderar.updateProps(RenderToasts, {})\n } else {\n Renderar.render(RenderToasts)\n }\n}\n\nexport default Toast;"],"names":[],"mappings":";;;;;;;;;;AAsBA;;;;AAIQ;AACI;AACI;AACA;;;;AAIR;AACI;AACI;AACA;;;;AAIR;AACI;AACI;AACA;AACA;;;;AAIR;AACI;AACI;AACA;;;;AAIR;AACI;AACI;AACA;;;;AAIR;AACI;AACI;AACA;AACA;;;;;AAKZ;AACJ;AAEA;AACI;AACA;AACA;;AAaA;AAIQ;AACJ;;AAGQ;;AAEA;;;;AAYJ;AAEI;AACI;;AAEA;;;AAMpB;AAEA;AACI;AACA;AACA;AACA;AACA;AACA;;AAGJ;;AAGI;AACI;;;;;;AA2BwB;AACA;AACI;;;AAEC;;;AAGD;;AAER;AAGZ;;AAKZ;AACJ;AAEA;AACI;;;AAGA;AAAuB;;;AAGnB;;;AAEA;;AAER;;"}