@xanui/ui 1.2.8 → 1.2.11

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 (210) hide show
  1. package/Accordion/index.cjs +5 -5
  2. package/Accordion/index.cjs.map +1 -1
  3. package/Accordion/index.d.ts +1 -0
  4. package/Accordion/index.js +5 -5
  5. package/Accordion/index.js.map +1 -1
  6. package/Alert/index.cjs +8 -8
  7. package/Alert/index.cjs.map +1 -1
  8. package/Alert/index.js +8 -8
  9. package/Alert/index.js.map +1 -1
  10. package/Autocomplete/index.cjs +2 -2
  11. package/Autocomplete/index.cjs.map +1 -1
  12. package/Autocomplete/index.d.ts +1 -1
  13. package/Autocomplete/index.js +2 -2
  14. package/Autocomplete/index.js.map +1 -1
  15. package/Avatar/index.cjs +2 -2
  16. package/Avatar/index.cjs.map +1 -1
  17. package/Avatar/index.js +2 -2
  18. package/Avatar/index.js.map +1 -1
  19. package/AvatarBox/index.cjs +1 -1
  20. package/AvatarBox/index.cjs.map +1 -1
  21. package/AvatarBox/index.js +1 -1
  22. package/AvatarBox/index.js.map +1 -1
  23. package/AvatarPicker/index.cjs +3 -3
  24. package/AvatarPicker/index.cjs.map +1 -1
  25. package/AvatarPicker/index.d.ts +1 -1
  26. package/AvatarPicker/index.js +3 -3
  27. package/AvatarPicker/index.js.map +1 -1
  28. package/Badge/index.cjs +1 -1
  29. package/Badge/index.cjs.map +1 -1
  30. package/Badge/index.js +1 -1
  31. package/Badge/index.js.map +1 -1
  32. package/Button/index.cjs +1 -1
  33. package/Button/index.cjs.map +1 -1
  34. package/Button/index.js +1 -1
  35. package/Button/index.js.map +1 -1
  36. package/ButtonGroup/index.cjs +1 -1
  37. package/ButtonGroup/index.cjs.map +1 -1
  38. package/ButtonGroup/index.js +1 -1
  39. package/ButtonGroup/index.js.map +1 -1
  40. package/Calendar/index.cjs +9 -9
  41. package/Calendar/index.cjs.map +1 -1
  42. package/Calendar/index.js +9 -9
  43. package/Calendar/index.js.map +1 -1
  44. package/CalendarInput/index.cjs +1 -1
  45. package/CalendarInput/index.cjs.map +1 -1
  46. package/CalendarInput/index.js +1 -1
  47. package/CalendarInput/index.js.map +1 -1
  48. package/Card/index.cjs +4 -4
  49. package/Card/index.cjs.map +1 -1
  50. package/Card/index.d.ts +1 -1
  51. package/Card/index.js +4 -4
  52. package/Card/index.js.map +1 -1
  53. package/Checkbox/index.cjs +1 -1
  54. package/Checkbox/index.cjs.map +1 -1
  55. package/Checkbox/index.js +1 -1
  56. package/Checkbox/index.js.map +1 -1
  57. package/CircleProgress/index.cjs +7 -7
  58. package/CircleProgress/index.cjs.map +1 -1
  59. package/CircleProgress/index.js +7 -7
  60. package/CircleProgress/index.js.map +1 -1
  61. package/DataFilter/options/DateFilter.cjs +2 -2
  62. package/DataFilter/options/DateFilter.cjs.map +1 -1
  63. package/DataFilter/options/DateFilter.js +2 -2
  64. package/DataFilter/options/DateFilter.js.map +1 -1
  65. package/DataFilter/options/DateRangeFilter.cjs +1 -1
  66. package/DataFilter/options/DateRangeFilter.cjs.map +1 -1
  67. package/DataFilter/options/DateRangeFilter.js +1 -1
  68. package/DataFilter/options/DateRangeFilter.js.map +1 -1
  69. package/DataFilter/options/MultiSelectFilter.cjs +2 -2
  70. package/DataFilter/options/MultiSelectFilter.cjs.map +1 -1
  71. package/DataFilter/options/MultiSelectFilter.js +2 -2
  72. package/DataFilter/options/MultiSelectFilter.js.map +1 -1
  73. package/DataFilter/options/NumberFilter.cjs +1 -1
  74. package/DataFilter/options/NumberFilter.cjs.map +1 -1
  75. package/DataFilter/options/NumberFilter.js +1 -1
  76. package/DataFilter/options/NumberFilter.js.map +1 -1
  77. package/DataFilter/options/NumberRangeFilter.cjs +1 -1
  78. package/DataFilter/options/NumberRangeFilter.cjs.map +1 -1
  79. package/DataFilter/options/NumberRangeFilter.js +1 -1
  80. package/DataFilter/options/NumberRangeFilter.js.map +1 -1
  81. package/DataFilter/options/SelectFilter.cjs +2 -2
  82. package/DataFilter/options/SelectFilter.cjs.map +1 -1
  83. package/DataFilter/options/SelectFilter.js +2 -2
  84. package/DataFilter/options/SelectFilter.js.map +1 -1
  85. package/DataFilter/options/TextFilter.cjs +1 -1
  86. package/DataFilter/options/TextFilter.cjs.map +1 -1
  87. package/DataFilter/options/TextFilter.js +1 -1
  88. package/DataFilter/options/TextFilter.js.map +1 -1
  89. package/Datatable/FilterBox.cjs +2 -2
  90. package/Datatable/FilterBox.cjs.map +1 -1
  91. package/Datatable/FilterBox.js +2 -2
  92. package/Datatable/FilterBox.js.map +1 -1
  93. package/Datatable/Row.cjs +1 -1
  94. package/Datatable/Row.cjs.map +1 -1
  95. package/Datatable/Row.js +1 -1
  96. package/Datatable/Row.js.map +1 -1
  97. package/Datatable/SelectedBox.cjs +1 -1
  98. package/Datatable/SelectedBox.cjs.map +1 -1
  99. package/Datatable/SelectedBox.js +1 -1
  100. package/Datatable/SelectedBox.js.map +1 -1
  101. package/Datatable/Table.cjs +1 -1
  102. package/Datatable/Table.cjs.map +1 -1
  103. package/Datatable/Table.js +1 -1
  104. package/Datatable/Table.js.map +1 -1
  105. package/Datatable/TableHead.cjs +3 -3
  106. package/Datatable/TableHead.cjs.map +1 -1
  107. package/Datatable/TableHead.js +3 -3
  108. package/Datatable/TableHead.js.map +1 -1
  109. package/Datatable/index.cjs +1 -1
  110. package/Datatable/index.cjs.map +1 -1
  111. package/Datatable/index.js +1 -1
  112. package/Datatable/index.js.map +1 -1
  113. package/Divider/index.cjs +3 -3
  114. package/Divider/index.cjs.map +1 -1
  115. package/Divider/index.js +3 -3
  116. package/Divider/index.js.map +1 -1
  117. package/Drawer/index.cjs +1 -1
  118. package/Drawer/index.cjs.map +1 -1
  119. package/Drawer/index.js +1 -1
  120. package/Drawer/index.js.map +1 -1
  121. package/FilePicker/index.d.ts +1 -1
  122. package/Form/index.cjs +1 -1
  123. package/Form/index.cjs.map +1 -1
  124. package/Form/index.js +1 -1
  125. package/Form/index.js.map +1 -1
  126. package/GalleryPicker/index.cjs +5 -5
  127. package/GalleryPicker/index.cjs.map +1 -1
  128. package/GalleryPicker/index.d.ts +1 -1
  129. package/GalleryPicker/index.js +5 -5
  130. package/GalleryPicker/index.js.map +1 -1
  131. package/Input/index.cjs +7 -7
  132. package/Input/index.cjs.map +1 -1
  133. package/Input/index.d.ts +1 -1
  134. package/Input/index.js +7 -7
  135. package/Input/index.js.map +1 -1
  136. package/Label/index.cjs +1 -1
  137. package/Label/index.cjs.map +1 -1
  138. package/Label/index.js +1 -1
  139. package/Label/index.js.map +1 -1
  140. package/LineProgress/index.cjs +2 -2
  141. package/LineProgress/index.cjs.map +1 -1
  142. package/LineProgress/index.js +2 -2
  143. package/LineProgress/index.js.map +1 -1
  144. package/ListItem/index.cjs +2 -2
  145. package/ListItem/index.cjs.map +1 -1
  146. package/ListItem/index.js +2 -2
  147. package/ListItem/index.js.map +1 -1
  148. package/Menu/index.cjs +1 -1
  149. package/Menu/index.cjs.map +1 -1
  150. package/Menu/index.js +1 -1
  151. package/Menu/index.js.map +1 -1
  152. package/Modal/index.cjs +1 -1
  153. package/Modal/index.cjs.map +1 -1
  154. package/Modal/index.js +1 -1
  155. package/Modal/index.js.map +1 -1
  156. package/PasswordInput/index.cjs +1 -1
  157. package/PasswordInput/index.cjs.map +1 -1
  158. package/PasswordInput/index.js +1 -1
  159. package/PasswordInput/index.js.map +1 -1
  160. package/RangeSlider/index.cjs +2 -2
  161. package/RangeSlider/index.cjs.map +1 -1
  162. package/RangeSlider/index.js +2 -2
  163. package/RangeSlider/index.js.map +1 -1
  164. package/Skeleton/index.cjs +1 -1
  165. package/Skeleton/index.cjs.map +1 -1
  166. package/Skeleton/index.js +1 -1
  167. package/Skeleton/index.js.map +1 -1
  168. package/Switch/index.cjs +1 -1
  169. package/Switch/index.cjs.map +1 -1
  170. package/Switch/index.d.ts +1 -1
  171. package/Switch/index.js +1 -1
  172. package/Switch/index.js.map +1 -1
  173. package/Tab/index.cjs +1 -1
  174. package/Tab/index.cjs.map +1 -1
  175. package/Tab/index.js +1 -1
  176. package/Tab/index.js.map +1 -1
  177. package/Table/index.cjs +4 -4
  178. package/Table/index.cjs.map +1 -1
  179. package/Table/index.js +4 -4
  180. package/Table/index.js.map +1 -1
  181. package/TableCell/index.cjs +1 -1
  182. package/TableCell/index.cjs.map +1 -1
  183. package/TableCell/index.js +1 -1
  184. package/TableCell/index.js.map +1 -1
  185. package/TablePagination/index.cjs +2 -2
  186. package/TablePagination/index.cjs.map +1 -1
  187. package/TablePagination/index.js +2 -2
  188. package/TablePagination/index.js.map +1 -1
  189. package/Tabs/index.cjs +1 -1
  190. package/Tabs/index.cjs.map +1 -1
  191. package/Tabs/index.js +1 -1
  192. package/Tabs/index.js.map +1 -1
  193. package/Text/index.cjs +1 -1
  194. package/Text/index.cjs.map +1 -1
  195. package/Text/index.js +1 -1
  196. package/Text/index.js.map +1 -1
  197. package/Tooltip/index.cjs +2 -2
  198. package/Tooltip/index.cjs.map +1 -1
  199. package/Tooltip/index.js +2 -2
  200. package/Tooltip/index.js.map +1 -1
  201. package/package.json +2 -2
  202. package/readme.md +4 -4
  203. package/useBlurCss/index.cjs +1 -1
  204. package/useBlurCss/index.cjs.map +1 -1
  205. package/useBlurCss/index.js +1 -1
  206. package/useBlurCss/index.js.map +1 -1
  207. package/useContextMenu/index.cjs +1 -1
  208. package/useContextMenu/index.cjs.map +1 -1
  209. package/useContextMenu/index.js +1 -1
  210. package/useContextMenu/index.js.map +1 -1
@@ -1 +1 @@
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, 'surface'>>;\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 ?? \"primary\"\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 : 'surface.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
+ {"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 ?? \"primary\"\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 : 'default.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/Switch/index.d.ts CHANGED
@@ -4,7 +4,7 @@ import { TagProps, useBreakpointPropsType, UseColorTemplateColor } from '@xanui/
4
4
  type SwitchProps = Omit<TagProps<"input">, "color" | "size" | "component" | "type" | "checked"> & {
5
5
  checked?: boolean;
6
6
  size?: useBreakpointPropsType<number | "small" | "medium" | "large">;
7
- color?: useBreakpointPropsType<Omit<UseColorTemplateColor, 'surface'>>;
7
+ color?: useBreakpointPropsType<Omit<UseColorTemplateColor, 'default'>>;
8
8
  disabled?: useBreakpointPropsType<boolean>;
9
9
  trackSize?: useBreakpointPropsType<number>;
10
10
  icon?: useBreakpointPropsType<ReactElement>;
package/Switch/index.js CHANGED
@@ -53,7 +53,7 @@ const Switch = React.forwardRef((props, ref) => {
53
53
  position: 'absolute',
54
54
  top: "50%",
55
55
  transform: "translateY(-50%)",
56
- bgcolor: checked ? color : 'surface.divider',
56
+ bgcolor: checked ? color : 'default.divider',
57
57
  } })), jsx(Tag, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.thumb, { baseClass: 'switch-thumb', sxr: {
58
58
  transition: "all .25s",
59
59
  width: height,
@@ -1 +1 @@
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, 'surface'>>;\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 ?? \"primary\"\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 : 'surface.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
+ {"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 ?? \"primary\"\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 : 'default.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 CHANGED
@@ -29,7 +29,7 @@ const Tab = React.forwardRef((_a, ref) => {
29
29
  }
30
30
  }, [container.variant, container.color]);
31
31
  const isSelected = value === container.value;
32
- return (jsxRuntime.jsx(index, Object.assign({}, _props, { color: container.variant === "text" && isSelected ? container.color : 'surface', variant: "text", onClick: (e) => {
32
+ return (jsxRuntime.jsx(index, Object.assign({}, _props, { color: container.variant === "text" && isSelected ? container.color : 'default', variant: "text", onClick: (e) => {
33
33
  container.onChange(value, e);
34
34
  }, classNames: ["tab", ...((_props === null || _props === void 0 ? void 0 : _props.classNames) || [])], ref: mergeRef, children: children })));
35
35
  });
package/Tab/index.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/Tab/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useEffect, useRef } from 'react'\nimport { TagComponentType, useInterface, useMergeRefs } from '@xanui/core';\nimport Button, { ButtonProps } from '../Button';\nimport { useTabs } from '../Tabs/context';\nimport { TabsProps } from '../Tabs/types';\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, value, ...props }: TabProps<T>, ref: React.Ref<any>) => {\n let [_props] = useInterface<any>(\"Tab\", props, {})\n const container = useTabs() as TabsProps\n if (!container) throw new Error(\"Tabs component must be used within a <Tabs>.\");\n const btnRef = useRef<HTMLElement>(null)\n const mergeRef = useMergeRefs(ref, btnRef)\n\n useEffect(() => {\n if (value === container.value) {\n const e = {\n type: \"click\",\n target: btnRef.current,\n currentTarget: btnRef.current,\n preventDefault: () => { },\n stopPropagation: () => { },\n };\n\n (container as any).onChange(value, e)\n }\n }, [container.variant, container.color])\n const isSelected = value === container.value\n return (\n <Button\n {..._props}\n color={container.variant === \"text\" && isSelected ? container.color : 'surface'}\n variant={\"text\"}\n onClick={(e) => {\n (container as any).onChange(value, e)\n }}\n classNames={[\"tab\", ...(_props?.classNames || [])]}\n ref={mergeRef}\n >\n {children}\n </Button>\n )\n})\n\nexport default Tab"],"names":[],"mappings":";;;;;;;;;;AAWA;;AACI;AACA;AACA;AAAgB;AAChB;;;AAII;AACI;AACI;;;AAGA;AACA;;AAGH;;;AAGT;AACA;AAMa;AACL;AAOZ;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/Tab/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useEffect, useRef } from 'react'\nimport { TagComponentType, useInterface, useMergeRefs } from '@xanui/core';\nimport Button, { ButtonProps } from '../Button';\nimport { useTabs } from '../Tabs/context';\nimport { TabsProps } from '../Tabs/types';\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, value, ...props }: TabProps<T>, ref: React.Ref<any>) => {\n let [_props] = useInterface<any>(\"Tab\", props, {})\n const container = useTabs() as TabsProps\n if (!container) throw new Error(\"Tabs component must be used within a <Tabs>.\");\n const btnRef = useRef<HTMLElement>(null)\n const mergeRef = useMergeRefs(ref, btnRef)\n\n useEffect(() => {\n if (value === container.value) {\n const e = {\n type: \"click\",\n target: btnRef.current,\n currentTarget: btnRef.current,\n preventDefault: () => { },\n stopPropagation: () => { },\n };\n\n (container as any).onChange(value, e)\n }\n }, [container.variant, container.color])\n const isSelected = value === container.value\n return (\n <Button\n {..._props}\n color={container.variant === \"text\" && isSelected ? container.color : 'default'}\n variant={\"text\"}\n onClick={(e) => {\n (container as any).onChange(value, e)\n }}\n classNames={[\"tab\", ...(_props?.classNames || [])]}\n ref={mergeRef}\n >\n {children}\n </Button>\n )\n})\n\nexport default Tab"],"names":[],"mappings":";;;;;;;;;;AAWA;;AACI;AACA;AACA;AAAgB;AAChB;;;AAII;AACI;AACI;;;AAGA;AACA;;AAGH;;;AAGT;AACA;AAMa;AACL;AAOZ;;"}
package/Tab/index.js CHANGED
@@ -27,7 +27,7 @@ const Tab = React.forwardRef((_a, ref) => {
27
27
  }
28
28
  }, [container.variant, container.color]);
29
29
  const isSelected = value === container.value;
30
- return (jsx(Button, Object.assign({}, _props, { color: container.variant === "text" && isSelected ? container.color : 'surface', variant: "text", onClick: (e) => {
30
+ return (jsx(Button, Object.assign({}, _props, { color: container.variant === "text" && isSelected ? container.color : 'default', variant: "text", onClick: (e) => {
31
31
  container.onChange(value, e);
32
32
  }, classNames: ["tab", ...((_props === null || _props === void 0 ? void 0 : _props.classNames) || [])], ref: mergeRef, children: children })));
33
33
  });
package/Tab/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Tab/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useEffect, useRef } from 'react'\nimport { TagComponentType, useInterface, useMergeRefs } from '@xanui/core';\nimport Button, { ButtonProps } from '../Button';\nimport { useTabs } from '../Tabs/context';\nimport { TabsProps } from '../Tabs/types';\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, value, ...props }: TabProps<T>, ref: React.Ref<any>) => {\n let [_props] = useInterface<any>(\"Tab\", props, {})\n const container = useTabs() as TabsProps\n if (!container) throw new Error(\"Tabs component must be used within a <Tabs>.\");\n const btnRef = useRef<HTMLElement>(null)\n const mergeRef = useMergeRefs(ref, btnRef)\n\n useEffect(() => {\n if (value === container.value) {\n const e = {\n type: \"click\",\n target: btnRef.current,\n currentTarget: btnRef.current,\n preventDefault: () => { },\n stopPropagation: () => { },\n };\n\n (container as any).onChange(value, e)\n }\n }, [container.variant, container.color])\n const isSelected = value === container.value\n return (\n <Button\n {..._props}\n color={container.variant === \"text\" && isSelected ? container.color : 'surface'}\n variant={\"text\"}\n onClick={(e) => {\n (container as any).onChange(value, e)\n }}\n classNames={[\"tab\", ...(_props?.classNames || [])]}\n ref={mergeRef}\n >\n {children}\n </Button>\n )\n})\n\nexport default Tab"],"names":[],"mappings":";;;;;;;;AAWA;;AACI;AACA;AACA;AAAgB;AAChB;;;AAII;AACI;AACI;;;AAGA;AACA;;AAGH;;;AAGT;AACA;AAMa;AACL;AAOZ;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Tab/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useEffect, useRef } from 'react'\nimport { TagComponentType, useInterface, useMergeRefs } from '@xanui/core';\nimport Button, { ButtonProps } from '../Button';\nimport { useTabs } from '../Tabs/context';\nimport { TabsProps } from '../Tabs/types';\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, value, ...props }: TabProps<T>, ref: React.Ref<any>) => {\n let [_props] = useInterface<any>(\"Tab\", props, {})\n const container = useTabs() as TabsProps\n if (!container) throw new Error(\"Tabs component must be used within a <Tabs>.\");\n const btnRef = useRef<HTMLElement>(null)\n const mergeRef = useMergeRefs(ref, btnRef)\n\n useEffect(() => {\n if (value === container.value) {\n const e = {\n type: \"click\",\n target: btnRef.current,\n currentTarget: btnRef.current,\n preventDefault: () => { },\n stopPropagation: () => { },\n };\n\n (container as any).onChange(value, e)\n }\n }, [container.variant, container.color])\n const isSelected = value === container.value\n return (\n <Button\n {..._props}\n color={container.variant === \"text\" && isSelected ? container.color : 'default'}\n variant={\"text\"}\n onClick={(e) => {\n (container as any).onChange(value, e)\n }}\n classNames={[\"tab\", ...(_props?.classNames || [])]}\n ref={mergeRef}\n >\n {children}\n </Button>\n )\n})\n\nexport default Tab"],"names":[],"mappings":";;;;;;;;AAWA;;AACI;AACA;AACA;AAAgB;AAChB;;;AAII;AACI;AACI;;;AAGA;AACA;;AAGH;;;AAGT;AACA;AAMa;AACL;AAOZ;;"}
package/Table/index.cjs CHANGED
@@ -25,7 +25,7 @@ const Table = React.forwardRef((_a, ref) => {
25
25
  const p = core.useBreakpointProps(_p);
26
26
  evenColor = p.evenColor;
27
27
  size = (_b = p.size) !== null && _b !== void 0 ? _b : "medium";
28
- color = (_c = p.color) !== null && _c !== void 0 ? _c : 'surface';
28
+ color = (_c = p.color) !== null && _c !== void 0 ? _c : 'default';
29
29
  variant = (_d = p.variant) !== null && _d !== void 0 ? _d : "fill";
30
30
  borderType = (_e = p.borderType) !== null && _e !== void 0 ? _e : "line";
31
31
  const main = core.useColorTemplate(color, variant);
@@ -61,17 +61,17 @@ const Table = React.forwardRef((_a, ref) => {
61
61
  let border = {
62
62
  line: {
63
63
  borderBottom: "1px solid",
64
- borderColor: "surface.divider",
64
+ borderColor: "default.divider",
65
65
  },
66
66
  box: {
67
67
  border: "1px solid",
68
- borderColor: "surface.divider",
68
+ borderColor: "default.divider",
69
69
  },
70
70
  none: {}
71
71
  };
72
72
  return (jsxRuntime.jsx(index, { style: {
73
73
  overflowY: "hidden"
74
- }, children: jsxRuntime.jsx(core.Tag, Object.assign({}, rest, { baseClass: 'table', sxr: Object.assign(Object.assign({ color: "surface.contrast", fontSize: size === "small" ? "text" : "text", width: "100%", "& thead, & tfoot": {
74
+ }, children: jsxRuntime.jsx(core.Tag, Object.assign({}, rest, { baseClass: 'table', sxr: Object.assign(Object.assign({ color: "default.contrast", fontSize: size === "small" ? "text" : "text", width: "100%", "& thead, & tfoot": {
75
75
  bgcolor: main.main.bgcolor,
76
76
  "& th": {
77
77
  color: main.main.color
@@ -1 +1 @@
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 ?? 'surface'\n variant = p.variant ?? \"fill\"\n borderType = p.borderType ?? \"line\"\n\n const main = useColorTemplate(color, variant)\n const ghost = useColorTemplate(color, \"ghost\")\n\n let sx: any = {}\n if (evenColor) {\n sx = {\n \"& tbody tr:nth-child(even)\": {\n bgcolor: ghost.main.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: \"surface.divider\",\n },\n box: {\n border: \"1px solid\",\n borderColor: \"surface.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: \"surface.contrast\",\n fontSize: size === \"small\" ? \"text\" : \"text\",\n width: \"100%\",\n \"& thead, & tfoot\": {\n bgcolor: main.main.bgcolor,\n \"& th\": {\n color: main.main.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: ghost.main.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
+ {"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 ghost = useColorTemplate(color, \"ghost\")\n\n let sx: any = {}\n if (evenColor) {\n sx = {\n \"& tbody tr:nth-child(even)\": {\n bgcolor: ghost.main.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: \"default.divider\",\n },\n box: {\n border: \"1px solid\",\n borderColor: \"default.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: \"default.contrast\",\n fontSize: size === \"small\" ? \"text\" : \"text\",\n width: \"100%\",\n \"& thead, & tfoot\": {\n bgcolor: main.main.bgcolor,\n \"& th\": {\n color: main.main.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: ghost.main.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
@@ -23,7 +23,7 @@ const Table = React.forwardRef((_a, ref) => {
23
23
  const p = useBreakpointProps(_p);
24
24
  evenColor = p.evenColor;
25
25
  size = (_b = p.size) !== null && _b !== void 0 ? _b : "medium";
26
- color = (_c = p.color) !== null && _c !== void 0 ? _c : 'surface';
26
+ color = (_c = p.color) !== null && _c !== void 0 ? _c : 'default';
27
27
  variant = (_d = p.variant) !== null && _d !== void 0 ? _d : "fill";
28
28
  borderType = (_e = p.borderType) !== null && _e !== void 0 ? _e : "line";
29
29
  const main = useColorTemplate(color, variant);
@@ -59,17 +59,17 @@ const Table = React.forwardRef((_a, ref) => {
59
59
  let border = {
60
60
  line: {
61
61
  borderBottom: "1px solid",
62
- borderColor: "surface.divider",
62
+ borderColor: "default.divider",
63
63
  },
64
64
  box: {
65
65
  border: "1px solid",
66
- borderColor: "surface.divider",
66
+ borderColor: "default.divider",
67
67
  },
68
68
  none: {}
69
69
  };
70
70
  return (jsx(Scrollbar, { style: {
71
71
  overflowY: "hidden"
72
- }, children: jsx(Tag, Object.assign({}, rest, { baseClass: 'table', sxr: Object.assign(Object.assign({ color: "surface.contrast", fontSize: size === "small" ? "text" : "text", width: "100%", "& thead, & tfoot": {
72
+ }, children: jsx(Tag, Object.assign({}, rest, { baseClass: 'table', sxr: Object.assign(Object.assign({ color: "default.contrast", fontSize: size === "small" ? "text" : "text", width: "100%", "& thead, & tfoot": {
73
73
  bgcolor: main.main.bgcolor,
74
74
  "& th": {
75
75
  color: main.main.color
@@ -1 +1 @@
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 ?? 'surface'\n variant = p.variant ?? \"fill\"\n borderType = p.borderType ?? \"line\"\n\n const main = useColorTemplate(color, variant)\n const ghost = useColorTemplate(color, \"ghost\")\n\n let sx: any = {}\n if (evenColor) {\n sx = {\n \"& tbody tr:nth-child(even)\": {\n bgcolor: ghost.main.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: \"surface.divider\",\n },\n box: {\n border: \"1px solid\",\n borderColor: \"surface.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: \"surface.contrast\",\n fontSize: size === \"small\" ? \"text\" : \"text\",\n width: \"100%\",\n \"& thead, & tfoot\": {\n bgcolor: main.main.bgcolor,\n \"& th\": {\n color: main.main.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: ghost.main.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
+ {"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 ghost = useColorTemplate(color, \"ghost\")\n\n let sx: any = {}\n if (evenColor) {\n sx = {\n \"& tbody tr:nth-child(even)\": {\n bgcolor: ghost.main.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: \"default.divider\",\n },\n box: {\n border: \"1px solid\",\n borderColor: \"default.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: \"default.contrast\",\n fontSize: size === \"small\" ? \"text\" : \"text\",\n width: \"100%\",\n \"& thead, & tfoot\": {\n bgcolor: main.main.bgcolor,\n \"& th\": {\n color: main.main.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: ghost.main.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;;"}
@@ -8,7 +8,7 @@ var core = require('@xanui/core');
8
8
 
9
9
  const TableCell = React.forwardRef((_a, ref) => {
10
10
  var { children, th } = _a, rest = tslib.__rest(_a, ["children", "th"]);
11
- return (jsxRuntime.jsx(core.Tag, Object.assign({}, rest, { sxr: Object.assign({ verticalAlign: "inherit", textAlign: "left", fontSize: "inherit", color: "surface.contrast" }, ((rest === null || rest === void 0 ? void 0 : rest.sx) || {})), baseClass: 'table-cell', component: th ? "th" : "td", ref: ref, children: children })));
11
+ return (jsxRuntime.jsx(core.Tag, Object.assign({}, rest, { sxr: Object.assign({ verticalAlign: "inherit", textAlign: "left", fontSize: "inherit", color: "default.contrast" }, ((rest === null || rest === void 0 ? void 0 : rest.sx) || {})), baseClass: 'table-cell', component: th ? "th" : "td", ref: ref, children: children })));
12
12
  });
13
13
 
14
14
  module.exports = TableCell;
@@ -1 +1 @@
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: \"surface.contrast\",\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
+ {"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: \"default.contrast\",\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;;"}
@@ -6,7 +6,7 @@ import { Tag } from '@xanui/core';
6
6
 
7
7
  const TableCell = React.forwardRef((_a, ref) => {
8
8
  var { children, th } = _a, rest = __rest(_a, ["children", "th"]);
9
- return (jsx(Tag, Object.assign({}, rest, { sxr: Object.assign({ verticalAlign: "inherit", textAlign: "left", fontSize: "inherit", color: "surface.contrast" }, ((rest === null || rest === void 0 ? void 0 : rest.sx) || {})), baseClass: 'table-cell', component: th ? "th" : "td", ref: ref, children: children })));
9
+ return (jsx(Tag, Object.assign({}, rest, { sxr: Object.assign({ verticalAlign: "inherit", textAlign: "left", fontSize: "inherit", color: "default.contrast" }, ((rest === null || rest === void 0 ? void 0 : rest.sx) || {})), baseClass: 'table-cell', component: th ? "th" : "td", ref: ref, children: children })));
10
10
  });
11
11
 
12
12
  export { TableCell as default };
@@ -1 +1 @@
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: \"surface.contrast\",\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
+ {"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: \"default.contrast\",\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;;"}
@@ -15,7 +15,7 @@ var core = require('@xanui/core');
15
15
  const TablePagination = React.forwardRef((_a, ref) => {
16
16
  var { page, total, perpage, onChange } = _a, rest = tslib.__rest(_a, ["page", "total", "perpage", "onChange"]);
17
17
  let [_b] = core.useInterface("TablePagination", rest, {}), { perpages, color, variant, slotProps } = _b, props = tslib.__rest(_b, ["perpages", "color", "variant", "slotProps"]);
18
- color !== null && color !== void 0 ? color : (color = 'surface');
18
+ color !== null && color !== void 0 ? color : (color = 'default');
19
19
  variant !== null && variant !== void 0 ? variant : (variant = "fill");
20
20
  perpages !== null && perpages !== void 0 ? perpages : (perpages = [30, 50, 100]);
21
21
  perpage = perpage || perpages[0];
@@ -48,7 +48,7 @@ const TablePagination = React.forwardRef((_a, ref) => {
48
48
  flexDirection: "row",
49
49
  gap: 1,
50
50
  alignItems: 'center'
51
- }, children: [jsxRuntime.jsxs(index, { fontSize: "button", children: [current === null || current === void 0 ? void 0 : current.from, "-", current.to] }), jsxRuntime.jsx(index, { color: "surface.muted", children: "of" }), jsxRuntime.jsx(index, { fontSize: "button", children: total })] }), jsxRuntime.jsxs(core.Tag, { baseClass: 'table-pagination-navigation', flexBox: true, flexRow: true, gap: .4, children: [jsxRuntime.jsx(index$3, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.button, { color: color, variant: variant, size: 30, disabled: !hasPrev, onClick: () => {
51
+ }, children: [jsxRuntime.jsxs(index, { fontSize: "button", children: [current === null || current === void 0 ? void 0 : current.from, "-", current.to] }), jsxRuntime.jsx(index, { color: "default.muted", children: "of" }), jsxRuntime.jsx(index, { fontSize: "button", children: total })] }), jsxRuntime.jsxs(core.Tag, { baseClass: 'table-pagination-navigation', flexBox: true, flexRow: true, gap: .4, children: [jsxRuntime.jsx(index$3, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.button, { color: color, variant: variant, size: 30, disabled: !hasPrev, onClick: () => {
52
52
  onChange && onChange(chunks[page - 1]);
53
53
  }, children: jsxRuntime.jsx(IconKeyboardArrowLeft, {}) })), jsxRuntime.jsx(index$3, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.button, { color: color, variant: variant, size: 30, disabled: !hasNext, onClick: () => {
54
54
  onChange && onChange(chunks[page + 1]);
@@ -1 +1 @@
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 ??= 'surface'\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=\"surface.muted\">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
+ {"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=\"default.muted\">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;;"}
@@ -13,7 +13,7 @@ import { useInterface, Tag } from '@xanui/core';
13
13
  const TablePagination = React.forwardRef((_a, ref) => {
14
14
  var { page, total, perpage, onChange } = _a, rest = __rest(_a, ["page", "total", "perpage", "onChange"]);
15
15
  let [_b] = useInterface("TablePagination", rest, {}), { perpages, color, variant, slotProps } = _b, props = __rest(_b, ["perpages", "color", "variant", "slotProps"]);
16
- color !== null && color !== void 0 ? color : (color = 'surface');
16
+ color !== null && color !== void 0 ? color : (color = 'default');
17
17
  variant !== null && variant !== void 0 ? variant : (variant = "fill");
18
18
  perpages !== null && perpages !== void 0 ? perpages : (perpages = [30, 50, 100]);
19
19
  perpage = perpage || perpages[0];
@@ -46,7 +46,7 @@ const TablePagination = React.forwardRef((_a, ref) => {
46
46
  flexDirection: "row",
47
47
  gap: 1,
48
48
  alignItems: 'center'
49
- }, children: [jsxs(Text, { fontSize: "button", children: [current === null || current === void 0 ? void 0 : current.from, "-", current.to] }), jsx(Text, { color: "surface.muted", children: "of" }), jsx(Text, { fontSize: "button", children: total })] }), jsxs(Tag, { baseClass: 'table-pagination-navigation', flexBox: true, flexRow: true, gap: .4, children: [jsx(IconButton, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.button, { color: color, variant: variant, size: 30, disabled: !hasPrev, onClick: () => {
49
+ }, children: [jsxs(Text, { fontSize: "button", children: [current === null || current === void 0 ? void 0 : current.from, "-", current.to] }), jsx(Text, { color: "default.muted", children: "of" }), jsx(Text, { fontSize: "button", children: total })] }), jsxs(Tag, { baseClass: 'table-pagination-navigation', flexBox: true, flexRow: true, gap: .4, children: [jsx(IconButton, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.button, { color: color, variant: variant, size: 30, disabled: !hasPrev, onClick: () => {
50
50
  onChange && onChange(chunks[page - 1]);
51
51
  }, children: jsx(IconKeyboardArrowLeft, {}) })), jsx(IconButton, Object.assign({}, slotProps === null || slotProps === void 0 ? void 0 : slotProps.button, { color: color, variant: variant, size: 30, disabled: !hasNext, onClick: () => {
52
52
  onChange && onChange(chunks[page + 1]);
@@ -1 +1 @@
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 ??= 'surface'\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=\"surface.muted\">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
+ {"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=\"default.muted\">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;;"}
package/Tabs/index.cjs CHANGED
@@ -60,7 +60,7 @@ const Tabs = React.forwardRef((_a, ref) => {
60
60
  indicatorSize,
61
61
  onChange: (v, e) => {
62
62
  var _a, _b;
63
- onChange(v, e);
63
+ onChange && onChange(v, e);
64
64
  if (variant === 'text')
65
65
  return;
66
66
  const indicator = indicatorRef.current;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/Tabs/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useRef } from 'react'\nimport { animate, Tag, useBreakpointProps, useInterface } from '@xanui/core'\nimport { TabContext } from './context';\nimport { TabsProps } from './types';\n\nexport type { TabsProps }\n\nconst Tabs = React.forwardRef(({ onChange, value, children, ...props }: TabsProps, ref: any) => {\n let [{ 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 (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 ?? \"primary\"\n disableTransition = p.disableTransition\n indicatorSize = p.indicatorSize ?? 3\n\n const indicatorRef = useRef<HTMLElement>(null)\n const indicatorState = useRef({\n left: 0,\n width: 0\n })\n\n\n let indicatorProps: any = {}\n switch (variant) {\n case \"outline\":\n indicatorProps = {\n top: 0,\n border: \"1px solid\",\n borderColor: color,\n bgcolor: \"transparent\"\n }\n break;\n case \"ghost\":\n indicatorProps = {\n top: 0,\n bgcolor: `${color}.ghost`\n }\n break;\n case \"text\":\n indicatorProps = {\n display: \"none\"\n }\n break;\n }\n\n\n return (\n <TabContext.Provider\n value={{\n value,\n variant,\n color,\n disableTransition,\n indicatorSize,\n onChange: (v, e) => {\n onChange!(v, e)\n\n if (variant === 'text') return\n const indicator = indicatorRef.current;\n if (!indicator) return;\n\n const target = e.currentTarget as HTMLElement;\n\n switch (variant) {\n case \"start-line\":\n indicator.style.removeProperty(\"bottom\")\n indicator.style.top = `${target.offsetTop}px`\n indicator.style.height = `${indicatorSize}px`\n break;\n case \"end-line\":\n indicator.style.removeProperty(\"top\")\n indicator.style.bottom = `${target.offsetTop}px`\n indicator.style.height = `${indicatorSize}px`\n break;\n case \"fill\":\n case \"outline\":\n case \"ghost\":\n indicator.style.height = `${target.offsetHeight}px`\n indicator.style.top = `${target.offsetTop}px`\n break;\n }\n\n animate({\n from: {\n left: indicatorState.current.left ?? 0,\n width: indicatorState.current.width ?? 0,\n },\n to: {\n left: target.offsetLeft,\n width: target.clientWidth,\n },\n duration: 180,\n easing: (t) => 1 - Math.pow(1 - t, 3),\n onUpdate: ({ left, width }) => {\n indicatorState.current.left = left;\n indicatorState.current.width = width;\n\n indicator.style.left = `${left}px`;\n indicator.style.width = `${width}px`;\n },\n });\n },\n }}\n >\n <Tag\n {...rest}\n baseClass='tabs'\n sxr={{\n position: \"relative\",\n zIndex: 1,\n display: \"flex\",\n flexDirection: \"row\",\n }}\n ref={ref}\n >\n {children}\n <Tag\n ref={indicatorRef}\n baseClass='tabs-indicator'\n sxr={{\n radius: 1,\n position: \"absolute\",\n zIndex: -1,\n bgcolor: color,\n height: 2,\n ...indicatorProps\n }}\n />\n </Tag>\n </TabContext.Provider>\n )\n})\n\nexport default Tabs"],"names":[],"mappings":";;;;;;;;;AAQA;;;;;AAGI;AAAa;AACb;AAAW;AACX;AAAuB;AACvB;AAAmB;AACnB;AAEA;AACA;AACA;AACA;AAEA;;AAEI;AACA;AACH;;;AAKG;AACI;AACI;AACA;AACA;AACA;;;AAGR;AACI;AACI;;;;AAIR;AACI;AACI;;;;AAMZ;;;;;;AAQY;;AACI;;;AAGA;AACA;;AAEA;;AAGI;AACI;;;;AAIJ;AACI;;;;AAIJ;AACA;AACA;;;;;AAMJ;AACI;;;AAGC;AACD;;;AAGC;AACD;AACA;;AAEI;AACA;;;;AAKP;;;AAQD;AACA;AACA;AACA;;AAoBpB;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/Tabs/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useRef } from 'react'\nimport { animate, Tag, useBreakpointProps, useInterface } from '@xanui/core'\nimport { TabContext } from './context';\nimport { TabsProps } from './types';\n\nexport type { TabsProps }\n\nconst Tabs = React.forwardRef(({ onChange, value, children, ...props }: TabsProps, ref: any) => {\n let [{ 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 (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 ?? \"primary\"\n disableTransition = p.disableTransition\n indicatorSize = p.indicatorSize ?? 3\n\n const indicatorRef = useRef<HTMLElement>(null)\n const indicatorState = useRef({\n left: 0,\n width: 0\n })\n\n\n let indicatorProps: any = {}\n switch (variant) {\n case \"outline\":\n indicatorProps = {\n top: 0,\n border: \"1px solid\",\n borderColor: color,\n bgcolor: \"transparent\"\n }\n break;\n case \"ghost\":\n indicatorProps = {\n top: 0,\n bgcolor: `${color}.ghost`\n }\n break;\n case \"text\":\n indicatorProps = {\n display: \"none\"\n }\n break;\n }\n\n\n return (\n <TabContext.Provider\n value={{\n value,\n variant,\n color,\n disableTransition,\n indicatorSize,\n onChange: (v, e) => {\n onChange && onChange(v, e)\n\n if (variant === 'text') return\n const indicator = indicatorRef.current;\n if (!indicator) return;\n\n const target = e.currentTarget as HTMLElement;\n\n switch (variant) {\n case \"start-line\":\n indicator.style.removeProperty(\"bottom\")\n indicator.style.top = `${target.offsetTop}px`\n indicator.style.height = `${indicatorSize}px`\n break;\n case \"end-line\":\n indicator.style.removeProperty(\"top\")\n indicator.style.bottom = `${target.offsetTop}px`\n indicator.style.height = `${indicatorSize}px`\n break;\n case \"fill\":\n case \"outline\":\n case \"ghost\":\n indicator.style.height = `${target.offsetHeight}px`\n indicator.style.top = `${target.offsetTop}px`\n break;\n }\n\n animate({\n from: {\n left: indicatorState.current.left ?? 0,\n width: indicatorState.current.width ?? 0,\n },\n to: {\n left: target.offsetLeft,\n width: target.clientWidth,\n },\n duration: 180,\n easing: (t) => 1 - Math.pow(1 - t, 3),\n onUpdate: ({ left, width }) => {\n indicatorState.current.left = left;\n indicatorState.current.width = width;\n\n indicator.style.left = `${left}px`;\n indicator.style.width = `${width}px`;\n },\n });\n },\n }}\n >\n <Tag\n {...rest}\n baseClass='tabs'\n sxr={{\n position: \"relative\",\n zIndex: 1,\n display: \"flex\",\n flexDirection: \"row\",\n }}\n ref={ref}\n >\n {children}\n <Tag\n ref={indicatorRef}\n baseClass='tabs-indicator'\n sxr={{\n radius: 1,\n position: \"absolute\",\n zIndex: -1,\n bgcolor: color,\n height: 2,\n ...indicatorProps\n }}\n />\n </Tag>\n </TabContext.Provider>\n )\n})\n\nexport default Tabs"],"names":[],"mappings":";;;;;;;;;AAQA;;;;;AAGI;AAAa;AACb;AAAW;AACX;AAAuB;AACvB;AAAmB;AACnB;AAEA;AACA;AACA;AACA;AAEA;;AAEI;AACA;AACH;;;AAKG;AACI;AACI;AACA;AACA;AACA;;;AAGR;AACI;AACI;;;;AAIR;AACI;AACI;;;;AAMZ;;;;;;AAQY;;AACI;;;AAGA;AACA;;AAEA;;AAGI;AACI;;;;AAIJ;AACI;;;;AAIJ;AACA;AACA;;;;;AAMJ;AACI;;;AAGC;AACD;;;AAGC;AACD;AACA;;AAEI;AACA;;;;AAKP;;;AAQD;AACA;AACA;AACA;;AAoBpB;;"}
package/Tabs/index.js CHANGED
@@ -58,7 +58,7 @@ const Tabs = React.forwardRef((_a, ref) => {
58
58
  indicatorSize,
59
59
  onChange: (v, e) => {
60
60
  var _a, _b;
61
- onChange(v, e);
61
+ onChange && onChange(v, e);
62
62
  if (variant === 'text')
63
63
  return;
64
64
  const indicator = indicatorRef.current;
package/Tabs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Tabs/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useRef } from 'react'\nimport { animate, Tag, useBreakpointProps, useInterface } from '@xanui/core'\nimport { TabContext } from './context';\nimport { TabsProps } from './types';\n\nexport type { TabsProps }\n\nconst Tabs = React.forwardRef(({ onChange, value, children, ...props }: TabsProps, ref: any) => {\n let [{ 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 (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 ?? \"primary\"\n disableTransition = p.disableTransition\n indicatorSize = p.indicatorSize ?? 3\n\n const indicatorRef = useRef<HTMLElement>(null)\n const indicatorState = useRef({\n left: 0,\n width: 0\n })\n\n\n let indicatorProps: any = {}\n switch (variant) {\n case \"outline\":\n indicatorProps = {\n top: 0,\n border: \"1px solid\",\n borderColor: color,\n bgcolor: \"transparent\"\n }\n break;\n case \"ghost\":\n indicatorProps = {\n top: 0,\n bgcolor: `${color}.ghost`\n }\n break;\n case \"text\":\n indicatorProps = {\n display: \"none\"\n }\n break;\n }\n\n\n return (\n <TabContext.Provider\n value={{\n value,\n variant,\n color,\n disableTransition,\n indicatorSize,\n onChange: (v, e) => {\n onChange!(v, e)\n\n if (variant === 'text') return\n const indicator = indicatorRef.current;\n if (!indicator) return;\n\n const target = e.currentTarget as HTMLElement;\n\n switch (variant) {\n case \"start-line\":\n indicator.style.removeProperty(\"bottom\")\n indicator.style.top = `${target.offsetTop}px`\n indicator.style.height = `${indicatorSize}px`\n break;\n case \"end-line\":\n indicator.style.removeProperty(\"top\")\n indicator.style.bottom = `${target.offsetTop}px`\n indicator.style.height = `${indicatorSize}px`\n break;\n case \"fill\":\n case \"outline\":\n case \"ghost\":\n indicator.style.height = `${target.offsetHeight}px`\n indicator.style.top = `${target.offsetTop}px`\n break;\n }\n\n animate({\n from: {\n left: indicatorState.current.left ?? 0,\n width: indicatorState.current.width ?? 0,\n },\n to: {\n left: target.offsetLeft,\n width: target.clientWidth,\n },\n duration: 180,\n easing: (t) => 1 - Math.pow(1 - t, 3),\n onUpdate: ({ left, width }) => {\n indicatorState.current.left = left;\n indicatorState.current.width = width;\n\n indicator.style.left = `${left}px`;\n indicator.style.width = `${width}px`;\n },\n });\n },\n }}\n >\n <Tag\n {...rest}\n baseClass='tabs'\n sxr={{\n position: \"relative\",\n zIndex: 1,\n display: \"flex\",\n flexDirection: \"row\",\n }}\n ref={ref}\n >\n {children}\n <Tag\n ref={indicatorRef}\n baseClass='tabs-indicator'\n sxr={{\n radius: 1,\n position: \"absolute\",\n zIndex: -1,\n bgcolor: color,\n height: 2,\n ...indicatorProps\n }}\n />\n </Tag>\n </TabContext.Provider>\n )\n})\n\nexport default Tabs"],"names":[],"mappings":";;;;;;;AAQA;;;;;AAGI;AAAa;AACb;AAAW;AACX;AAAuB;AACvB;AAAmB;AACnB;AAEA;AACA;AACA;AACA;AAEA;;AAEI;AACA;AACH;;;AAKG;AACI;AACI;AACA;AACA;AACA;;;AAGR;AACI;AACI;;;;AAIR;AACI;AACI;;;;AAMZ;;;;;;AAQY;;AACI;;;AAGA;AACA;;AAEA;;AAGI;AACI;;;;AAIJ;AACI;;;;AAIJ;AACA;AACA;;;;;AAMJ;AACI;;;AAGC;AACD;;;AAGC;AACD;AACA;;AAEI;AACA;;;;AAKP;;;AAQD;AACA;AACA;AACA;;AAoBpB;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Tabs/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useRef } from 'react'\nimport { animate, Tag, useBreakpointProps, useInterface } from '@xanui/core'\nimport { TabContext } from './context';\nimport { TabsProps } from './types';\n\nexport type { TabsProps }\n\nconst Tabs = React.forwardRef(({ onChange, value, children, ...props }: TabsProps, ref: any) => {\n let [{ 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 (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 ?? \"primary\"\n disableTransition = p.disableTransition\n indicatorSize = p.indicatorSize ?? 3\n\n const indicatorRef = useRef<HTMLElement>(null)\n const indicatorState = useRef({\n left: 0,\n width: 0\n })\n\n\n let indicatorProps: any = {}\n switch (variant) {\n case \"outline\":\n indicatorProps = {\n top: 0,\n border: \"1px solid\",\n borderColor: color,\n bgcolor: \"transparent\"\n }\n break;\n case \"ghost\":\n indicatorProps = {\n top: 0,\n bgcolor: `${color}.ghost`\n }\n break;\n case \"text\":\n indicatorProps = {\n display: \"none\"\n }\n break;\n }\n\n\n return (\n <TabContext.Provider\n value={{\n value,\n variant,\n color,\n disableTransition,\n indicatorSize,\n onChange: (v, e) => {\n onChange && onChange(v, e)\n\n if (variant === 'text') return\n const indicator = indicatorRef.current;\n if (!indicator) return;\n\n const target = e.currentTarget as HTMLElement;\n\n switch (variant) {\n case \"start-line\":\n indicator.style.removeProperty(\"bottom\")\n indicator.style.top = `${target.offsetTop}px`\n indicator.style.height = `${indicatorSize}px`\n break;\n case \"end-line\":\n indicator.style.removeProperty(\"top\")\n indicator.style.bottom = `${target.offsetTop}px`\n indicator.style.height = `${indicatorSize}px`\n break;\n case \"fill\":\n case \"outline\":\n case \"ghost\":\n indicator.style.height = `${target.offsetHeight}px`\n indicator.style.top = `${target.offsetTop}px`\n break;\n }\n\n animate({\n from: {\n left: indicatorState.current.left ?? 0,\n width: indicatorState.current.width ?? 0,\n },\n to: {\n left: target.offsetLeft,\n width: target.clientWidth,\n },\n duration: 180,\n easing: (t) => 1 - Math.pow(1 - t, 3),\n onUpdate: ({ left, width }) => {\n indicatorState.current.left = left;\n indicatorState.current.width = width;\n\n indicator.style.left = `${left}px`;\n indicator.style.width = `${width}px`;\n },\n });\n },\n }}\n >\n <Tag\n {...rest}\n baseClass='tabs'\n sxr={{\n position: \"relative\",\n zIndex: 1,\n display: \"flex\",\n flexDirection: \"row\",\n }}\n ref={ref}\n >\n {children}\n <Tag\n ref={indicatorRef}\n baseClass='tabs-indicator'\n sxr={{\n radius: 1,\n position: \"absolute\",\n zIndex: -1,\n bgcolor: color,\n height: 2,\n ...indicatorProps\n }}\n />\n </Tag>\n </TabContext.Provider>\n )\n})\n\nexport default Tabs"],"names":[],"mappings":";;;;;;;AAQA;;;;;AAGI;AAAa;AACb;AAAW;AACX;AAAuB;AACvB;AAAmB;AACnB;AAEA;AACA;AACA;AACA;AAEA;;AAEI;AACA;AACH;;;AAKG;AACI;AACI;AACA;AACA;AACA;;;AAGR;AACI;AACI;;;;AAIR;AACI;AACI;;;;AAMZ;;;;;;AAQY;;AACI;;;AAGA;AACA;;AAEA;;AAGI;AACI;;;;AAIJ;AACI;;;;AAIJ;AACA;AACA;;;;;AAMJ;AACI;;;AAGC;AACD;;;AAGC;AACD;AACA;;AAEI;AACA;;;;AAKP;;;AAQD;AACA;AACA;AACA;;AAoBpB;;"}
package/Text/index.cjs CHANGED
@@ -18,7 +18,7 @@ const Text = React.forwardRef((_a, ref) => {
18
18
  fontSize: variant,
19
19
  lineHeight: variant,
20
20
  fontWeight: variant,
21
- color: "surface.contrast",
21
+ color: "default.contrast",
22
22
  }, baseClass: 'text', ref: ref, children: children })));
23
23
  });
24
24
 
@@ -1 +1 @@
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: \"surface.contrast\",\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
+ {"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: \"default.contrast\",\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
@@ -16,7 +16,7 @@ const Text = React.forwardRef((_a, ref) => {
16
16
  fontSize: variant,
17
17
  lineHeight: variant,
18
18
  fontWeight: variant,
19
- color: "surface.contrast",
19
+ color: "default.contrast",
20
20
  }, baseClass: 'text', ref: ref, children: children })));
21
21
  });
22
22
 
package/Text/index.js.map CHANGED
@@ -1 +1 @@
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: \"surface.contrast\",\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
+ {"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: \"default.contrast\",\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/Tooltip/index.cjs CHANGED
@@ -18,7 +18,7 @@ const Tooltip = ({ children, title, variant, color, placement }) => {
18
18
  _p.variant = variant;
19
19
  const p = core.useBreakpointProps(_p);
20
20
  title = p.title;
21
- color = (_a = p.color) !== null && _a !== void 0 ? _a : 'surface';
21
+ color = (_a = p.color) !== null && _a !== void 0 ? _a : 'default';
22
22
  variant = (_b = p.variant) !== null && _b !== void 0 ? _b : "fill";
23
23
  placement !== null && placement !== void 0 ? placement : (placement = "bottom");
24
24
  const template = core.useColorTemplate(color, variant);
@@ -32,7 +32,7 @@ const Tooltip = ({ children, title, variant, color, placement }) => {
32
32
  onMouseLeave: () => setTarget(null)
33
33
  });
34
34
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [child, jsxRuntime.jsx(index, { target: target, placement: placement, slotProps: {
35
- content: Object.assign(Object.assign({ p: .5, shadow: 1 }, template.main), { bgcolor: color == 'surface' ? "surface.main" : template.main.bgcolor })
35
+ content: Object.assign(Object.assign({ p: .5, shadow: 1 }, template.main), { bgcolor: color == 'default' ? "default.base" : template.main.bgcolor })
36
36
  }, children: title })] }));
37
37
  };
38
38
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/Tooltip/index.tsx"],"sourcesContent":["\"use client\";\nimport { Children, cloneElement, ReactElement, useState } from 'react'\nimport Menu, { MenuProps } from '../Menu'\nimport { useBreakpointProps, useColorTemplate, UseColorTemplateColor, UseColorTemplateType, useBreakpointPropsType } from '@xanui/core'\n\n\nexport type TooltipProps = {\n children: ReactElement;\n title: useBreakpointPropsType<string>;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n variant?: useBreakpointPropsType<UseColorTemplateType>;\n placement?: MenuProps['placement']\n}\n\nconst Tooltip = ({ children, title, variant, color, placement }: TooltipProps) => {\n const [target, setTarget] = useState<any>()\n const _p: any = {}\n if (title) _p.title = title\n if (color) _p.color = color\n if (variant) _p.variant = variant\n const p: any = useBreakpointProps(_p)\n title = p.title\n color = p.color ?? 'surface'\n variant = p.variant ?? \"fill\"\n placement ??= \"bottom\"\n\n const template = useColorTemplate(color as any, variant as any)\n if (!children || Array.isArray(children)) throw new Error(\"Invalid children in Toast\")\n const first: any = Children.toArray(children).shift();\n const child = cloneElement(first, {\n onMouseEnter: (e) => {\n setTarget(e.target)\n },\n onMouseLeave: () => setTarget(null)\n })\n\n\n return (\n <>\n {child}\n <Menu\n target={target}\n placement={placement}\n slotProps={{\n content: {\n p: .5,\n shadow: 1,\n ...template.main,\n bgcolor: color == 'surface' ? \"surface.main\" : template.main.bgcolor,\n }\n }}\n >\n {title as any}\n </Menu>\n </>\n )\n}\n\nexport default Tooltip"],"names":[],"mappings":";;;;;;;;AAcA;;;;AAGI;AAAW;AACX;AAAW;AACX;AAAa;AACb;AACA;AACA;AACA;;;;AAI0C;;AAE1C;AACI;AACI;;AAEJ;AACH;AAGD;AAOgB;AAMH;AAMjB;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/Tooltip/index.tsx"],"sourcesContent":["\"use client\";\nimport { Children, cloneElement, ReactElement, useState } from 'react'\nimport Menu, { MenuProps } from '../Menu'\nimport { useBreakpointProps, useColorTemplate, UseColorTemplateColor, UseColorTemplateType, useBreakpointPropsType } from '@xanui/core'\n\n\nexport type TooltipProps = {\n children: ReactElement;\n title: useBreakpointPropsType<string>;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n variant?: useBreakpointPropsType<UseColorTemplateType>;\n placement?: MenuProps['placement']\n}\n\nconst Tooltip = ({ children, title, variant, color, placement }: TooltipProps) => {\n const [target, setTarget] = useState<any>()\n const _p: any = {}\n if (title) _p.title = title\n if (color) _p.color = color\n if (variant) _p.variant = variant\n const p: any = useBreakpointProps(_p)\n title = p.title\n color = p.color ?? 'default'\n variant = p.variant ?? \"fill\"\n placement ??= \"bottom\"\n\n const template = useColorTemplate(color as any, variant as any)\n if (!children || Array.isArray(children)) throw new Error(\"Invalid children in Toast\")\n const first: any = Children.toArray(children).shift();\n const child = cloneElement(first, {\n onMouseEnter: (e) => {\n setTarget(e.target)\n },\n onMouseLeave: () => setTarget(null)\n })\n\n\n return (\n <>\n {child}\n <Menu\n target={target}\n placement={placement}\n slotProps={{\n content: {\n p: .5,\n shadow: 1,\n ...template.main,\n bgcolor: color == 'default' ? \"default.base\" : template.main.bgcolor,\n }\n }}\n >\n {title as any}\n </Menu>\n </>\n )\n}\n\nexport default Tooltip"],"names":[],"mappings":";;;;;;;;AAcA;;;;AAGI;AAAW;AACX;AAAW;AACX;AAAa;AACb;AACA;AACA;AACA;;;;AAI0C;;AAE1C;AACI;AACI;;AAEJ;AACH;AAGD;AAOgB;AAMH;AAMjB;;"}
package/Tooltip/index.js CHANGED
@@ -16,7 +16,7 @@ const Tooltip = ({ children, title, variant, color, placement }) => {
16
16
  _p.variant = variant;
17
17
  const p = useBreakpointProps(_p);
18
18
  title = p.title;
19
- color = (_a = p.color) !== null && _a !== void 0 ? _a : 'surface';
19
+ color = (_a = p.color) !== null && _a !== void 0 ? _a : 'default';
20
20
  variant = (_b = p.variant) !== null && _b !== void 0 ? _b : "fill";
21
21
  placement !== null && placement !== void 0 ? placement : (placement = "bottom");
22
22
  const template = useColorTemplate(color, variant);
@@ -30,7 +30,7 @@ const Tooltip = ({ children, title, variant, color, placement }) => {
30
30
  onMouseLeave: () => setTarget(null)
31
31
  });
32
32
  return (jsxs(Fragment, { children: [child, jsx(Menu, { target: target, placement: placement, slotProps: {
33
- content: Object.assign(Object.assign({ p: .5, shadow: 1 }, template.main), { bgcolor: color == 'surface' ? "surface.main" : template.main.bgcolor })
33
+ content: Object.assign(Object.assign({ p: .5, shadow: 1 }, template.main), { bgcolor: color == 'default' ? "default.base" : template.main.bgcolor })
34
34
  }, children: title })] }));
35
35
  };
36
36
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/Tooltip/index.tsx"],"sourcesContent":["\"use client\";\nimport { Children, cloneElement, ReactElement, useState } from 'react'\nimport Menu, { MenuProps } from '../Menu'\nimport { useBreakpointProps, useColorTemplate, UseColorTemplateColor, UseColorTemplateType, useBreakpointPropsType } from '@xanui/core'\n\n\nexport type TooltipProps = {\n children: ReactElement;\n title: useBreakpointPropsType<string>;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n variant?: useBreakpointPropsType<UseColorTemplateType>;\n placement?: MenuProps['placement']\n}\n\nconst Tooltip = ({ children, title, variant, color, placement }: TooltipProps) => {\n const [target, setTarget] = useState<any>()\n const _p: any = {}\n if (title) _p.title = title\n if (color) _p.color = color\n if (variant) _p.variant = variant\n const p: any = useBreakpointProps(_p)\n title = p.title\n color = p.color ?? 'surface'\n variant = p.variant ?? \"fill\"\n placement ??= \"bottom\"\n\n const template = useColorTemplate(color as any, variant as any)\n if (!children || Array.isArray(children)) throw new Error(\"Invalid children in Toast\")\n const first: any = Children.toArray(children).shift();\n const child = cloneElement(first, {\n onMouseEnter: (e) => {\n setTarget(e.target)\n },\n onMouseLeave: () => setTarget(null)\n })\n\n\n return (\n <>\n {child}\n <Menu\n target={target}\n placement={placement}\n slotProps={{\n content: {\n p: .5,\n shadow: 1,\n ...template.main,\n bgcolor: color == 'surface' ? \"surface.main\" : template.main.bgcolor,\n }\n }}\n >\n {title as any}\n </Menu>\n </>\n )\n}\n\nexport default Tooltip"],"names":[],"mappings":";;;;;;AAcA;;;;AAGI;AAAW;AACX;AAAW;AACX;AAAa;AACb;AACA;AACA;AACA;;;;AAI0C;;AAE1C;AACI;AACI;;AAEJ;AACH;AAGD;AAOgB;AAMH;AAMjB;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/Tooltip/index.tsx"],"sourcesContent":["\"use client\";\nimport { Children, cloneElement, ReactElement, useState } from 'react'\nimport Menu, { MenuProps } from '../Menu'\nimport { useBreakpointProps, useColorTemplate, UseColorTemplateColor, UseColorTemplateType, useBreakpointPropsType } from '@xanui/core'\n\n\nexport type TooltipProps = {\n children: ReactElement;\n title: useBreakpointPropsType<string>;\n color?: useBreakpointPropsType<UseColorTemplateColor>;\n variant?: useBreakpointPropsType<UseColorTemplateType>;\n placement?: MenuProps['placement']\n}\n\nconst Tooltip = ({ children, title, variant, color, placement }: TooltipProps) => {\n const [target, setTarget] = useState<any>()\n const _p: any = {}\n if (title) _p.title = title\n if (color) _p.color = color\n if (variant) _p.variant = variant\n const p: any = useBreakpointProps(_p)\n title = p.title\n color = p.color ?? 'default'\n variant = p.variant ?? \"fill\"\n placement ??= \"bottom\"\n\n const template = useColorTemplate(color as any, variant as any)\n if (!children || Array.isArray(children)) throw new Error(\"Invalid children in Toast\")\n const first: any = Children.toArray(children).shift();\n const child = cloneElement(first, {\n onMouseEnter: (e) => {\n setTarget(e.target)\n },\n onMouseLeave: () => setTarget(null)\n })\n\n\n return (\n <>\n {child}\n <Menu\n target={target}\n placement={placement}\n slotProps={{\n content: {\n p: .5,\n shadow: 1,\n ...template.main,\n bgcolor: color == 'default' ? \"default.base\" : template.main.bgcolor,\n }\n }}\n >\n {title as any}\n </Menu>\n </>\n )\n}\n\nexport default Tooltip"],"names":[],"mappings":";;;;;;AAcA;;;;AAGI;AAAW;AACX;AAAW;AACX;AAAa;AACb;AACA;AACA;AACA;;;;AAI0C;;AAE1C;AACI;AACI;;AAEJ;AACH;AAGD;AAOgB;AAMH;AAMjB;;"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@xanui/ui",
3
- "version": "1.2.8",
3
+ "version": "1.2.11",
4
4
  "description": "Xanui - A React Component Library",
5
5
  "private": false,
6
6
  "dependencies": {
7
- "@xanui/core": "^1.3.12",
7
+ "@xanui/core": "^1.3.16",
8
8
  "@xanui/icons": "^1.1.12",
9
9
  "pretty-class": "^1.0.8"
10
10
  },