@iziui/react 0.0.5-rc → 0.0.7-rc

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 (439) hide show
  1. package/dist/.types/_internal/core/index.d.ts +5 -0
  2. package/dist/.types/_internal/core/options/CustomOptions.d.ts +20 -0
  3. package/dist/.types/_internal/core/options/createOptions/createOptions.d.ts +10 -0
  4. package/dist/.types/_internal/core/options/createOptions/index.d.ts +1 -0
  5. package/dist/.types/_internal/core/options/index.d.ts +2 -0
  6. package/dist/.types/_internal/core/plugin/behavior/defineBoxShadow/defineBoxShadow.d.ts +2 -0
  7. package/dist/.types/_internal/core/plugin/behavior/defineBoxShadow/index.d.ts +1 -0
  8. package/dist/.types/_internal/core/plugin/behavior/index.d.ts +1 -0
  9. package/dist/.types/_internal/core/plugin/color/defineBackground/defineBackground.d.ts +2 -0
  10. package/dist/.types/_internal/core/plugin/color/defineBackground/index.d.ts +1 -0
  11. package/dist/.types/_internal/core/plugin/color/defineBackgroundColor/defineBackgroundColor.d.ts +2 -0
  12. package/dist/.types/_internal/core/plugin/color/defineBackgroundColor/index.d.ts +1 -0
  13. package/dist/.types/_internal/core/plugin/color/defineBorderColor/defineBorderColor.d.ts +2 -0
  14. package/dist/.types/_internal/core/plugin/color/defineBorderColor/index.d.ts +1 -0
  15. package/dist/.types/_internal/core/plugin/color/defineColor/defineColor.d.ts +2 -0
  16. package/dist/.types/_internal/core/plugin/color/defineColor/index.d.ts +1 -0
  17. package/dist/.types/_internal/core/plugin/color/index.d.ts +4 -0
  18. package/dist/.types/_internal/core/plugin/definePlugin/definePlugin.d.ts +5 -0
  19. package/dist/.types/_internal/core/plugin/definePlugin/index.d.ts +1 -0
  20. package/dist/.types/_internal/core/plugin/index.d.ts +5 -0
  21. package/dist/.types/_internal/core/plugin/plugin.d.ts +4 -0
  22. package/dist/.types/_internal/core/plugin/shape/defineBorderRadius/defineBorderRadius.d.ts +2 -0
  23. package/dist/.types/_internal/core/plugin/shape/defineBorderRadius/index.d.ts +1 -0
  24. package/dist/.types/_internal/core/plugin/shape/index.d.ts +1 -0
  25. package/dist/.types/_internal/core/plugin/spacing/defineMargin/defineMargin.d.ts +2 -0
  26. package/dist/.types/_internal/core/plugin/spacing/defineMargin/index.d.ts +1 -0
  27. package/dist/.types/_internal/core/plugin/spacing/definePadding/definePadding.d.ts +2 -0
  28. package/dist/.types/_internal/core/plugin/spacing/definePadding/index.d.ts +1 -0
  29. package/dist/.types/_internal/core/plugin/spacing/index.d.ts +2 -0
  30. package/dist/.types/_internal/core/system/Sx.d.ts +5 -0
  31. package/dist/.types/_internal/core/system/index.d.ts +1 -0
  32. package/dist/.types/_internal/core/theme/Theme.d.ts +63 -0
  33. package/dist/.types/_internal/core/theme/applyTheme/applyTheme.d.ts +2 -0
  34. package/dist/.types/_internal/core/theme/applyTheme/index.d.ts +1 -0
  35. package/dist/.types/_internal/core/theme/colors/colors.d.ts +2 -0
  36. package/dist/.types/_internal/core/theme/colors/index.d.ts +1 -0
  37. package/dist/.types/_internal/core/theme/createMappedColors.d.ts +2 -0
  38. package/dist/.types/_internal/core/theme/createTheme/createTheme.d.ts +2 -0
  39. package/dist/.types/_internal/core/theme/createTheme/index.d.ts +1 -0
  40. package/dist/.types/_internal/core/theme/defaultTheme.d.ts +5 -0
  41. package/dist/.types/_internal/core/theme/index.d.ts +5 -0
  42. package/dist/.types/_internal/core/utils/adjustLightness/adjustLightness.d.ts +1 -0
  43. package/dist/.types/_internal/core/utils/adjustLightness/index.d.ts +1 -0
  44. package/dist/.types/_internal/core/utils/convertPathToColor/convertPathToColor.d.ts +3 -0
  45. package/dist/.types/_internal/core/utils/convertPathToColor/index.d.ts +1 -0
  46. package/dist/.types/_internal/core/utils/generateSupportColors/generateSupportColors.d.ts +2 -0
  47. package/dist/.types/_internal/core/utils/generateSupportColors/index.d.ts +1 -0
  48. package/dist/.types/_internal/core/utils/getContrastColor/getContrastColor.d.ts +1 -0
  49. package/dist/.types/_internal/core/utils/getContrastColor/index.d.ts +1 -0
  50. package/dist/.types/_internal/core/utils/getGradient/getGradient.d.ts +1 -0
  51. package/dist/.types/_internal/core/utils/getGradient/index.d.ts +1 -0
  52. package/dist/.types/_internal/core/utils/getOpacityColor/getOpacityColor.d.ts +7 -0
  53. package/dist/.types/_internal/core/utils/getOpacityColor/index.d.ts +1 -0
  54. package/dist/.types/_internal/core/utils/getPriorityColor/getPriorityColor.d.ts +2 -0
  55. package/dist/.types/_internal/core/utils/getPriorityColor/index.d.ts +1 -0
  56. package/dist/.types/_internal/core/utils/hexToHsl/hexToHsl.d.ts +5 -0
  57. package/dist/.types/_internal/core/utils/hexToHsl/index.d.ts +1 -0
  58. package/dist/.types/_internal/core/utils/hslToHex/hslToHex.d.ts +1 -0
  59. package/dist/.types/_internal/core/utils/hslToHex/index.d.ts +1 -0
  60. package/dist/.types/_internal/core/utils/index.d.ts +10 -0
  61. package/dist/.types/_internal/core/utils/joinClass/index.d.ts +1 -0
  62. package/dist/.types/_internal/core/utils/joinClass/joinClass.d.ts +1 -0
  63. package/dist/.types/_internal/tokens/web/js/const.d.ts +1 -0
  64. package/dist/.types/_internal/tokens/web/js/index.d.ts +19 -0
  65. package/dist/.types/_internal/tokens/web/js/index.js +33 -0
  66. package/dist/.types/_internal/tokens/web/js/list.d.ts +2 -0
  67. package/dist/.types/_internal/tokens/web/js/object.d.ts +10 -0
  68. package/dist/.types/_internal/tokens/web/scss/main.scss +2 -0
  69. package/dist/.types/_internal/tokens/web/scss/mixins.scss +61 -0
  70. package/dist/.types/_internal/tokens/web/scss/variables.scss +47 -0
  71. package/dist/.types/_internal/toolkit/debounce/debounce.d.ts +6 -0
  72. package/dist/.types/_internal/toolkit/debounce/index.d.ts +1 -0
  73. package/dist/.types/_internal/toolkit/index.d.ts +9 -0
  74. package/dist/.types/_internal/toolkit/interface/ArrayOrObject.d.ts +1 -0
  75. package/dist/.types/_internal/toolkit/interface/IntRange.d.ts +3 -0
  76. package/dist/.types/_internal/toolkit/interface/Path.d.ts +5 -0
  77. package/dist/.types/_internal/toolkit/interface/index.d.ts +3 -0
  78. package/dist/.types/_internal/toolkit/logger/index.d.ts +1 -0
  79. package/dist/.types/_internal/toolkit/logger/logger.d.ts +10 -0
  80. package/dist/.types/_internal/toolkit/mask/MaskOptions.d.ts +5 -0
  81. package/dist/.types/_internal/toolkit/mask/index.d.ts +2 -0
  82. package/dist/.types/_internal/toolkit/mask/mask.d.ts +2 -0
  83. package/dist/.types/_internal/toolkit/normalize/index.d.ts +1 -0
  84. package/dist/.types/_internal/toolkit/normalize/normalize.d.ts +1 -0
  85. package/dist/.types/_internal/toolkit/promise/index.d.ts +1 -0
  86. package/dist/.types/_internal/toolkit/promise/wait.d.ts +1 -0
  87. package/dist/.types/_internal/toolkit/string/index.d.ts +1 -0
  88. package/dist/.types/_internal/toolkit/string/string.d.ts +4 -0
  89. package/dist/.types/_internal/toolkit/uuid/index.d.ts +1 -0
  90. package/dist/.types/_internal/toolkit/uuid/uuid.d.ts +1 -0
  91. package/dist/.types/_internal/toolkit/validators/index.d.ts +2 -0
  92. package/dist/.types/_internal/toolkit/validators/isEmpty.d.ts +1 -0
  93. package/dist/.types/_internal/toolkit/validators/isValidEmail.d.ts +1 -0
  94. package/dist/.types/actions/Button/Button.d.ts +2 -2
  95. package/dist/.types/actions/Button/Button.stories.d.ts +1 -0
  96. package/dist/.types/actions/Button/Button.stories.d.ts.map +1 -1
  97. package/dist/.types/actions/ButtonIcon/ButtonIcon.d.ts +2 -2
  98. package/dist/.types/animations/Bounce/Bounce.d.ts +1 -3
  99. package/dist/.types/animations/Bounce/Bounce.d.ts.map +1 -1
  100. package/dist/.types/animations/Bounce/index.d.ts +2 -1
  101. package/dist/.types/animations/Bounce/index.d.ts.map +1 -1
  102. package/dist/.types/animations/Fade/Fade.d.ts +0 -1
  103. package/dist/.types/animations/Fade/Fade.d.ts.map +1 -1
  104. package/dist/.types/animations/Fade/index.d.ts +2 -1
  105. package/dist/.types/animations/Fade/index.d.ts.map +1 -1
  106. package/dist/.types/animations/Slide/Slide.d.ts +4 -5
  107. package/dist/.types/animations/Slide/Slide.d.ts.map +1 -1
  108. package/dist/.types/animations/Slide/index.d.ts +2 -1
  109. package/dist/.types/animations/Slide/index.d.ts.map +1 -1
  110. package/dist/.types/animations/Zoom/Zoom.d.ts +9 -0
  111. package/dist/.types/animations/Zoom/Zoom.d.ts.map +1 -0
  112. package/dist/.types/animations/Zoom/Zoom.stories.d.ts +8 -0
  113. package/dist/.types/animations/Zoom/Zoom.stories.d.ts.map +1 -0
  114. package/dist/.types/animations/Zoom/index.d.ts +3 -0
  115. package/dist/.types/animations/Zoom/index.d.ts.map +1 -0
  116. package/dist/.types/animations/index.d.ts +5 -3
  117. package/dist/.types/animations/index.d.ts.map +1 -1
  118. package/dist/.types/animations/types.d.ts +2 -0
  119. package/dist/.types/animations/types.d.ts.map +1 -0
  120. package/dist/.types/core/createComponent.d.ts +1 -1
  121. package/dist/.types/core/createComponent.d.ts.map +1 -1
  122. package/dist/.types/display/Avatar/Avatar.d.ts +2 -2
  123. package/dist/.types/display/Card/Card.d.ts +1 -1
  124. package/dist/.types/display/Card/CardContent.d.ts +1 -1
  125. package/dist/.types/display/Chip/Chip.d.ts +2 -2
  126. package/dist/.types/display/Divider/Divider.d.ts +1 -1
  127. package/dist/.types/display/Icon/Icon.d.ts +1 -1
  128. package/dist/.types/display/Table/Table.d.ts +1 -1
  129. package/dist/.types/display/Table/TableCell.d.ts +1 -1
  130. package/dist/.types/display/Tooltip/Tooltip.d.ts +1 -1
  131. package/dist/.types/display/Typography/Typography.d.ts +3 -3
  132. package/dist/.types/display/Typography/Typography.d.ts.map +1 -1
  133. package/dist/.types/display/Typography/index.d.ts +1 -0
  134. package/dist/.types/display/Typography/index.d.ts.map +1 -1
  135. package/dist/.types/feedback/Alert/Alert.d.ts +2 -2
  136. package/dist/.types/feedback/Alert/Alert.d.ts.map +1 -1
  137. package/dist/.types/feedback/Loading/Loading.d.ts +2 -2
  138. package/dist/.types/feedback/Modal/Modal.d.ts +1 -1
  139. package/dist/.types/feedback/Modal/ModalFooter.d.ts +1 -1
  140. package/dist/.types/feedback/Skeleton/Skeleton.d.ts +1 -1
  141. package/dist/.types/feedback/Toast/Toast.d.ts +17 -0
  142. package/dist/.types/feedback/Toast/Toast.d.ts.map +1 -0
  143. package/dist/.types/feedback/Toast/Toast.spec.d.ts +2 -0
  144. package/dist/.types/feedback/Toast/Toast.spec.d.ts.map +1 -0
  145. package/dist/.types/feedback/Toast/Toast.stories.d.ts +8 -0
  146. package/dist/.types/feedback/Toast/Toast.stories.d.ts.map +1 -0
  147. package/dist/.types/feedback/Toast/ToastProvider.d.ts +9 -0
  148. package/dist/.types/feedback/Toast/ToastProvider.d.ts.map +1 -0
  149. package/dist/.types/feedback/Toast/index.d.ts +4 -0
  150. package/dist/.types/feedback/Toast/index.d.ts.map +1 -0
  151. package/dist/.types/feedback/Toast/useToast.d.ts +4 -0
  152. package/dist/.types/feedback/Toast/useToast.d.ts.map +1 -0
  153. package/dist/.types/fields/Checkbox/Checkbox.d.ts +2 -2
  154. package/dist/.types/fields/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  155. package/dist/.types/fields/ColorPicker/ColorPicker.d.ts +1 -1
  156. package/dist/.types/fields/Input/Input.d.ts +1 -1
  157. package/dist/.types/fields/InputFile/InputFile.d.ts +1 -1
  158. package/dist/.types/fields/Select/Select.d.ts +1 -1
  159. package/dist/.types/fields/Switchs/Switch.d.ts +2 -2
  160. package/dist/.types/hooks/index.d.ts +1 -0
  161. package/dist/.types/hooks/index.d.ts.map +1 -1
  162. package/dist/.types/hooks/useResize/index.d.ts +2 -0
  163. package/dist/.types/hooks/useResize/index.d.ts.map +1 -0
  164. package/dist/.types/hooks/useResize/useResize.d.ts +19 -0
  165. package/dist/.types/hooks/useResize/useResize.d.ts.map +1 -0
  166. package/dist/.types/hooks/useResize/useResize.stories.d.ts +6 -0
  167. package/dist/.types/hooks/useResize/useResize.stories.d.ts.map +1 -0
  168. package/dist/.types/lab/Form/Form.d.ts.map +1 -1
  169. package/dist/.types/lab/Form/Form.stories.d.ts.map +1 -1
  170. package/dist/.types/lab/Form/FormGroup.d.ts +2 -2
  171. package/dist/.types/lab/Form/FormGroup.d.ts.map +1 -1
  172. package/dist/.types/lab/Form/useForm.d.ts +1 -1
  173. package/dist/.types/lab/Form/useForm.d.ts.map +1 -1
  174. package/dist/.types/layout/Box/Box.d.ts +1 -1
  175. package/dist/.types/layout/Container/Container.d.ts +11 -0
  176. package/dist/.types/layout/Container/Container.d.ts.map +1 -0
  177. package/dist/.types/layout/Container/Container.spec.d.ts +2 -0
  178. package/dist/.types/layout/Container/Container.spec.d.ts.map +1 -0
  179. package/dist/.types/layout/Container/Container.stories.d.ts +7 -0
  180. package/dist/.types/layout/Container/Container.stories.d.ts.map +1 -0
  181. package/dist/.types/layout/Container/index.d.ts +2 -0
  182. package/dist/.types/layout/Container/index.d.ts.map +1 -0
  183. package/dist/.types/layout/Grid/interface.d.ts +1 -1
  184. package/dist/.types/layout/Stack/Stack.d.ts +1 -1
  185. package/dist/.types/layout/index.d.ts +1 -0
  186. package/dist/.types/layout/index.d.ts.map +1 -1
  187. package/dist/.types/navigation/Drawer/Drawer.d.ts +1 -1
  188. package/dist/.types/navigation/Drawer/DrawerContent.d.ts +1 -1
  189. package/dist/.types/navigation/Drawer/DrawerFooter.d.ts +1 -1
  190. package/dist/.types/navigation/Drawer/DrawerHeader.d.ts +1 -1
  191. package/dist/.types/navigation/Menu/Menu.d.ts +1 -1
  192. package/dist/.types/navigation/Menu/MenuButton.d.ts +2 -2
  193. package/dist/.types/theme/Theme.d.ts +2 -0
  194. package/dist/.types/theme/Theme.d.ts.map +1 -0
  195. package/dist/.types/theme/ThemeProvider.d.ts +1 -1
  196. package/dist/.types/theme/createTheme.d.ts +1 -1
  197. package/dist/.types/theme/index.d.ts +3 -0
  198. package/dist/.types/theme/index.d.ts.map +1 -1
  199. package/dist/.types/theme/options.d.ts +2 -0
  200. package/dist/.types/theme/options.d.ts.map +1 -0
  201. package/dist/.types/theme/system.d.ts +2 -0
  202. package/dist/.types/theme/system.d.ts.map +1 -0
  203. package/dist/animations/Bounce/index.cjs +1 -1
  204. package/dist/animations/Bounce/index.cjs.map +1 -1
  205. package/dist/animations/Bounce/index.js +1 -1
  206. package/dist/animations/Bounce/index.js.map +1 -1
  207. package/dist/animations/Fade/index.cjs +1 -1
  208. package/dist/animations/Fade/index.cjs.map +1 -1
  209. package/dist/animations/Fade/index.js +1 -1
  210. package/dist/animations/Fade/index.js.map +1 -1
  211. package/dist/animations/Slide/index.cjs +1 -1
  212. package/dist/animations/Slide/index.js +1 -1
  213. package/dist/animations/Zoom/index.cjs +2 -0
  214. package/dist/animations/Zoom/index.cjs.map +1 -0
  215. package/dist/animations/Zoom/index.d.ts +2 -0
  216. package/dist/animations/Zoom/index.js +2 -0
  217. package/dist/animations/Zoom/index.js.map +1 -0
  218. package/dist/chunks/Alert-BxZX8Ifk.cjs +2 -0
  219. package/dist/chunks/Alert-BxZX8Ifk.cjs.map +1 -0
  220. package/dist/chunks/Alert-Em-sG89m.js +2 -0
  221. package/dist/chunks/Alert-Em-sG89m.js.map +1 -0
  222. package/dist/chunks/Bounce-ByNbJjX0.cjs +2 -0
  223. package/dist/chunks/Bounce-ByNbJjX0.cjs.map +1 -0
  224. package/dist/chunks/Bounce-DP0PU3kr.js +2 -0
  225. package/dist/chunks/Bounce-DP0PU3kr.js.map +1 -0
  226. package/dist/chunks/{Box-CNenh0Si.js → Box-DD-rZ2rr.js} +2 -2
  227. package/dist/chunks/{Box-CNenh0Si.js.map → Box-DD-rZ2rr.js.map} +1 -1
  228. package/dist/chunks/{Box-CqKu7ACK.cjs → Box-ut8xLHQT.cjs} +2 -2
  229. package/dist/chunks/{Box-CqKu7ACK.cjs.map → Box-ut8xLHQT.cjs.map} +1 -1
  230. package/dist/chunks/{ButtonIcon-B5nwYzcd.js → ButtonIcon-CsX4oYeI.js} +2 -2
  231. package/dist/chunks/{ButtonIcon-B5nwYzcd.js.map → ButtonIcon-CsX4oYeI.js.map} +1 -1
  232. package/dist/chunks/{ButtonIcon-CJPT8zy-.cjs → ButtonIcon-Cz8zJH-E.cjs} +2 -2
  233. package/dist/chunks/{ButtonIcon-CJPT8zy-.cjs.map → ButtonIcon-Cz8zJH-E.cjs.map} +1 -1
  234. package/dist/chunks/{Card-DwQwp0Z1.cjs → Card-B8XSgLaD.cjs} +2 -2
  235. package/dist/chunks/{Card-DwQwp0Z1.cjs.map → Card-B8XSgLaD.cjs.map} +1 -1
  236. package/dist/chunks/{Card-BcsU9Bwu.js → Card-DOsl4_nu.js} +2 -2
  237. package/dist/chunks/{Card-BcsU9Bwu.js.map → Card-DOsl4_nu.js.map} +1 -1
  238. package/dist/chunks/{CardContent-BfNpVYNI.cjs → CardContent-BivcVoIc.cjs} +2 -2
  239. package/dist/chunks/{CardContent-BfNpVYNI.cjs.map → CardContent-BivcVoIc.cjs.map} +1 -1
  240. package/dist/chunks/{CardContent-BvRmc1hs.js → CardContent-C8ypE7yH.js} +2 -2
  241. package/dist/chunks/{CardContent-BvRmc1hs.js.map → CardContent-C8ypE7yH.js.map} +1 -1
  242. package/dist/chunks/{Drawer-C0bFfY0L.cjs → Drawer-0wOdungj.cjs} +2 -2
  243. package/dist/chunks/{Drawer-C0bFfY0L.cjs.map → Drawer-0wOdungj.cjs.map} +1 -1
  244. package/dist/chunks/{Drawer-BvpQwgSH.js → Drawer-D1lAWrdi.js} +2 -2
  245. package/dist/chunks/{Drawer-BvpQwgSH.js.map → Drawer-D1lAWrdi.js.map} +1 -1
  246. package/dist/chunks/Fade-CM-5xRVt.cjs +2 -0
  247. package/dist/chunks/Fade-CM-5xRVt.cjs.map +1 -0
  248. package/dist/chunks/Fade-spxq-W-Q.js +2 -0
  249. package/dist/chunks/Fade-spxq-W-Q.js.map +1 -0
  250. package/dist/chunks/{GridItem-B1AVF8KI.js → GridItem-CaoPZmBu.js} +2 -2
  251. package/dist/chunks/{GridItem-B1AVF8KI.js.map → GridItem-CaoPZmBu.js.map} +1 -1
  252. package/dist/chunks/{GridItem-CWqF8c-3.cjs → GridItem-wwo-SHGR.cjs} +2 -2
  253. package/dist/chunks/{GridItem-CWqF8c-3.cjs.map → GridItem-wwo-SHGR.cjs.map} +1 -1
  254. package/dist/chunks/{Icon-Dr2s-fYK.js → Icon-CCIgEwA9.js} +2 -2
  255. package/dist/chunks/{Icon-Dr2s-fYK.js.map → Icon-CCIgEwA9.js.map} +1 -1
  256. package/dist/chunks/{Icon-DkPC2mKK.cjs → Icon-COl2Nhp9.cjs} +2 -2
  257. package/dist/chunks/{Icon-DkPC2mKK.cjs.map → Icon-COl2Nhp9.cjs.map} +1 -1
  258. package/dist/chunks/{MenuButton-Dr8liABR.cjs → MenuButton-AyzSxRY0.cjs} +2 -2
  259. package/dist/chunks/{MenuButton-Dr8liABR.cjs.map → MenuButton-AyzSxRY0.cjs.map} +1 -1
  260. package/dist/chunks/{MenuButton-Cz3vFc6y.js → MenuButton-DLf22r80.js} +2 -2
  261. package/dist/chunks/{MenuButton-Cz3vFc6y.js.map → MenuButton-DLf22r80.js.map} +1 -1
  262. package/dist/chunks/{Ripple-DUBh1UW5.js → Ripple-Bq9bxg4k.js} +2 -2
  263. package/dist/chunks/{Ripple-DUBh1UW5.js.map → Ripple-Bq9bxg4k.js.map} +1 -1
  264. package/dist/chunks/{Ripple-BqrSCCqr.cjs → Ripple-Dy4i91j1.cjs} +2 -2
  265. package/dist/chunks/{Ripple-BqrSCCqr.cjs.map → Ripple-Dy4i91j1.cjs.map} +1 -1
  266. package/dist/chunks/Slide-BxEwoZ70.js.map +1 -1
  267. package/dist/chunks/Slide-D4aLHjYS.cjs.map +1 -1
  268. package/dist/chunks/{Stack-Cde2gkUJ.js → Stack-DK5pfu2w.js} +2 -2
  269. package/dist/chunks/{Stack-Cde2gkUJ.js.map → Stack-DK5pfu2w.js.map} +1 -1
  270. package/dist/chunks/{Stack-dVH2e42b.cjs → Stack-beBM7a60.cjs} +2 -2
  271. package/dist/chunks/{Stack-dVH2e42b.cjs.map → Stack-beBM7a60.cjs.map} +1 -1
  272. package/dist/chunks/Typography-BIZP_DtQ.js +2 -0
  273. package/dist/chunks/Typography-BIZP_DtQ.js.map +1 -0
  274. package/dist/chunks/Typography-CAQXUFSQ.cjs +2 -0
  275. package/dist/chunks/Typography-CAQXUFSQ.cjs.map +1 -0
  276. package/dist/chunks/Zoom-BOnqwiDY.cjs +2 -0
  277. package/dist/chunks/Zoom-BOnqwiDY.cjs.map +1 -0
  278. package/dist/chunks/Zoom-DqgU4Wfv.js +2 -0
  279. package/dist/chunks/Zoom-DqgU4Wfv.js.map +1 -0
  280. package/dist/chunks/createComponent-CTufIEiN.cjs +2 -0
  281. package/dist/chunks/{createComponent-D7BY-VlJ.cjs.map → createComponent-CTufIEiN.cjs.map} +1 -1
  282. package/dist/chunks/createComponent-WNQRXK89.js +2 -0
  283. package/dist/chunks/{createComponent-CyZoFjRB.js.map → createComponent-WNQRXK89.js.map} +1 -1
  284. package/dist/chunks/generateSupportColors-BN5t8dA-.js +2 -0
  285. package/dist/chunks/generateSupportColors-BN5t8dA-.js.map +1 -0
  286. package/dist/chunks/generateSupportColors-CTMoGhDf.cjs +2 -0
  287. package/dist/chunks/generateSupportColors-CTMoGhDf.cjs.map +1 -0
  288. package/dist/chunks/index-CZ41y9Hn.js +2 -0
  289. package/dist/chunks/{index-Bmr5u5lp.js.map → index-CZ41y9Hn.js.map} +1 -1
  290. package/dist/chunks/index-DYxwT4uW.cjs +2 -0
  291. package/dist/chunks/{index-BaaRDmgo.cjs.map → index-DYxwT4uW.cjs.map} +1 -1
  292. package/dist/chunks/useForm-3oClzOJC.js +2 -0
  293. package/dist/chunks/useForm-3oClzOJC.js.map +1 -0
  294. package/dist/chunks/useForm-TyKbw7O8.cjs +2 -0
  295. package/dist/chunks/useForm-TyKbw7O8.cjs.map +1 -0
  296. package/dist/chunks/{useMenu-C47b1gPc.js → useMenu-BNL22pOQ.js} +2 -2
  297. package/dist/chunks/{useMenu-C47b1gPc.js.map → useMenu-BNL22pOQ.js.map} +1 -1
  298. package/dist/chunks/{useMenu-C6Vg_3uM.cjs → useMenu-C0u9aTiR.cjs} +2 -2
  299. package/dist/chunks/{useMenu-C6Vg_3uM.cjs.map → useMenu-C0u9aTiR.cjs.map} +1 -1
  300. package/dist/chunks/useResize-B-oebgDR.cjs +2 -0
  301. package/dist/chunks/useResize-B-oebgDR.cjs.map +1 -0
  302. package/dist/chunks/useResize-BjM6tiAF.js +2 -0
  303. package/dist/chunks/useResize-BjM6tiAF.js.map +1 -0
  304. package/dist/chunks/useTheme-DoESyi5h.cjs +2 -0
  305. package/dist/chunks/useTheme-DoESyi5h.cjs.map +1 -0
  306. package/dist/chunks/useTheme-njpgklWP.js +2 -0
  307. package/dist/chunks/useTheme-njpgklWP.js.map +1 -0
  308. package/dist/components/Alert/index.cjs +1 -1
  309. package/dist/components/Alert/index.cjs.map +1 -1
  310. package/dist/components/Alert/index.js +1 -1
  311. package/dist/components/Alert/index.js.map +1 -1
  312. package/dist/components/Avatar/index.cjs +1 -1
  313. package/dist/components/Avatar/index.cjs.map +1 -1
  314. package/dist/components/Avatar/index.js +1 -1
  315. package/dist/components/Avatar/index.js.map +1 -1
  316. package/dist/components/Box/index.cjs +1 -1
  317. package/dist/components/Box/index.js +1 -1
  318. package/dist/components/Button/index.cjs +1 -1
  319. package/dist/components/Button/index.cjs.map +1 -1
  320. package/dist/components/Button/index.js +1 -1
  321. package/dist/components/Button/index.js.map +1 -1
  322. package/dist/components/ButtonIcon/index.cjs +1 -1
  323. package/dist/components/ButtonIcon/index.js +1 -1
  324. package/dist/components/Card/index.cjs +1 -1
  325. package/dist/components/Card/index.js +1 -1
  326. package/dist/components/Checkbox/index.cjs +1 -1
  327. package/dist/components/Checkbox/index.cjs.map +1 -1
  328. package/dist/components/Checkbox/index.js +1 -1
  329. package/dist/components/Checkbox/index.js.map +1 -1
  330. package/dist/components/CheckboxGroup/index.cjs +1 -1
  331. package/dist/components/CheckboxGroup/index.cjs.map +1 -1
  332. package/dist/components/CheckboxGroup/index.js +1 -1
  333. package/dist/components/CheckboxGroup/index.js.map +1 -1
  334. package/dist/components/Chip/index.cjs +1 -1
  335. package/dist/components/Chip/index.cjs.map +1 -1
  336. package/dist/components/Chip/index.js +1 -1
  337. package/dist/components/Chip/index.js.map +1 -1
  338. package/dist/components/ColorPicker/index.cjs +1 -1
  339. package/dist/components/ColorPicker/index.cjs.map +1 -1
  340. package/dist/components/ColorPicker/index.js +1 -1
  341. package/dist/components/ColorPicker/index.js.map +1 -1
  342. package/dist/components/Container/index.cjs +2 -0
  343. package/dist/components/Container/index.cjs.map +1 -0
  344. package/dist/components/Container/index.d.ts +2 -0
  345. package/dist/components/Container/index.js +2 -0
  346. package/dist/components/Container/index.js.map +1 -0
  347. package/dist/components/Divider/index.cjs +1 -1
  348. package/dist/components/Divider/index.cjs.map +1 -1
  349. package/dist/components/Divider/index.js +1 -1
  350. package/dist/components/Divider/index.js.map +1 -1
  351. package/dist/components/Drawer/index.cjs +1 -1
  352. package/dist/components/Drawer/index.js +1 -1
  353. package/dist/components/Grid/index.cjs +1 -1
  354. package/dist/components/Grid/index.js +1 -1
  355. package/dist/components/Icon/index.cjs +1 -1
  356. package/dist/components/Icon/index.js +1 -1
  357. package/dist/components/Input/index.cjs +1 -1
  358. package/dist/components/Input/index.cjs.map +1 -1
  359. package/dist/components/Input/index.js +1 -1
  360. package/dist/components/Input/index.js.map +1 -1
  361. package/dist/components/InputFile/index.cjs +1 -1
  362. package/dist/components/InputFile/index.cjs.map +1 -1
  363. package/dist/components/InputFile/index.js +1 -1
  364. package/dist/components/InputFile/index.js.map +1 -1
  365. package/dist/components/Loading/index.cjs +1 -1
  366. package/dist/components/Loading/index.cjs.map +1 -1
  367. package/dist/components/Loading/index.js +1 -1
  368. package/dist/components/Loading/index.js.map +1 -1
  369. package/dist/components/Menu/index.cjs +1 -1
  370. package/dist/components/Menu/index.js +1 -1
  371. package/dist/components/Modal/index.cjs +1 -1
  372. package/dist/components/Modal/index.cjs.map +1 -1
  373. package/dist/components/Modal/index.js +1 -1
  374. package/dist/components/Modal/index.js.map +1 -1
  375. package/dist/components/Ripple/index.cjs +1 -1
  376. package/dist/components/Ripple/index.js +1 -1
  377. package/dist/components/Select/index.cjs +1 -1
  378. package/dist/components/Select/index.cjs.map +1 -1
  379. package/dist/components/Select/index.js +1 -1
  380. package/dist/components/Select/index.js.map +1 -1
  381. package/dist/components/Skeleton/index.cjs +1 -1
  382. package/dist/components/Skeleton/index.cjs.map +1 -1
  383. package/dist/components/Skeleton/index.js +1 -1
  384. package/dist/components/Skeleton/index.js.map +1 -1
  385. package/dist/components/Stack/index.cjs +1 -1
  386. package/dist/components/Stack/index.js +1 -1
  387. package/dist/components/Switchs/index.cjs +1 -1
  388. package/dist/components/Switchs/index.cjs.map +1 -1
  389. package/dist/components/Switchs/index.js +1 -1
  390. package/dist/components/Switchs/index.js.map +1 -1
  391. package/dist/components/Table/index.cjs +1 -1
  392. package/dist/components/Table/index.cjs.map +1 -1
  393. package/dist/components/Table/index.js +1 -1
  394. package/dist/components/Table/index.js.map +1 -1
  395. package/dist/components/Toast/index.cjs +2 -0
  396. package/dist/components/Toast/index.cjs.map +1 -0
  397. package/dist/components/Toast/index.d.ts +2 -0
  398. package/dist/components/Toast/index.js +2 -0
  399. package/dist/components/Toast/index.js.map +1 -0
  400. package/dist/components/Tooltip/index.cjs +1 -1
  401. package/dist/components/Tooltip/index.cjs.map +1 -1
  402. package/dist/components/Tooltip/index.js +1 -1
  403. package/dist/components/Tooltip/index.js.map +1 -1
  404. package/dist/components/Typography/index.cjs +1 -1
  405. package/dist/components/Typography/index.js +1 -1
  406. package/dist/core/index.cjs +2 -0
  407. package/dist/core/index.cjs.map +1 -0
  408. package/dist/core/index.d.ts +1 -0
  409. package/dist/core/index.js +2 -0
  410. package/dist/core/index.js.map +1 -0
  411. package/dist/hooks/useResize/index.cjs +2 -0
  412. package/dist/hooks/useResize/index.cjs.map +1 -0
  413. package/dist/hooks/useResize/index.d.ts +2 -0
  414. package/dist/hooks/useResize/index.js +2 -0
  415. package/dist/hooks/useResize/index.js.map +1 -0
  416. package/dist/index.cjs +1 -1
  417. package/dist/index.js +1 -1
  418. package/dist/lab/Form/index.cjs +1 -1
  419. package/dist/lab/Form/index.js +1 -1
  420. package/dist/style.css +7 -4
  421. package/dist/theme/index.cjs +1 -1
  422. package/dist/theme/index.js +1 -1
  423. package/package.json +6 -1
  424. package/dist/chunks/Typography-4DVl9Rev.cjs +0 -2
  425. package/dist/chunks/Typography-4DVl9Rev.cjs.map +0 -1
  426. package/dist/chunks/Typography-DO-npvz3.js +0 -2
  427. package/dist/chunks/Typography-DO-npvz3.js.map +0 -1
  428. package/dist/chunks/createComponent-CyZoFjRB.js +0 -2
  429. package/dist/chunks/createComponent-D7BY-VlJ.cjs +0 -2
  430. package/dist/chunks/index-BaaRDmgo.cjs +0 -2
  431. package/dist/chunks/index-Bmr5u5lp.js +0 -2
  432. package/dist/chunks/useForm-BrezSwQu.js +0 -2
  433. package/dist/chunks/useForm-BrezSwQu.js.map +0 -1
  434. package/dist/chunks/useForm-UT6lrV2_.cjs +0 -2
  435. package/dist/chunks/useForm-UT6lrV2_.cjs.map +0 -1
  436. package/dist/chunks/useTheme-BQxrRS5M.js +0 -2
  437. package/dist/chunks/useTheme-BQxrRS5M.js.map +0 -1
  438. package/dist/chunks/useTheme-BZl65Sjh.cjs +0 -2
  439. package/dist/chunks/useTheme-BZl65Sjh.cjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"Typography-4DVl9Rev.cjs","sources":["../../src/display/Typography/Typography.tsx"],"sourcesContent":["import type { PropsWithChildren, HTMLAttributes, CSSProperties } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { MappedColors } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport { convertPathToColor } from '@iziui/core/utils/convertPathToColor';\n\nimport { useTheme } from '@/theme';\nimport createComponent from '@/core/createComponent';\n\nimport '@iziui/styles/components/Typography.scss';\n\nexport const variants = [\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'subtitle1',\n 'subtitle2',\n 'body1',\n 'body2',\n] as const;\n\nexport type Variant = typeof variants[number];\n\nconst MAP: { [x: string]: React.ElementType } = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p',\n};\n\ninterface TypographyProps extends PropsWithChildren<HTMLAttributes<HTMLParagraphElement>> {\n variant?: Variant;\n color?: MappedColors;\n textAlign?: CSSProperties['textAlign'];\n weight?: 'bold' | 'normal' | 'light';\n}\nfunction Typography({\n children,\n variant = 'body1',\n color = 'text.primary',\n weight,\n textAlign,\n ...props\n}: TypographyProps) {\n const { theme: { palette } } = useTheme();\n\n const CustomTag = MAP[variant];\n\n const cls = joinClass(\n `${prefix}-typography`,\n `${prefix}-typography--${variant}`,\n weight && `${prefix}-typography--weight-${weight}`,\n props.className\n );\n\n const c = convertPathToColor(color, palette);\n\n return (\n <CustomTag\n {...props}\n className={cls}\n style={{\n color: c,\n textAlign,\n ...props.style\n }}\n >\n {children}\n </CustomTag>\n );\n}\n\nexport default createComponent(Typography);"],"names":["MAP","Typography","children","variant","color","weight","textAlign","props","palette","useTheme","CustomTag","cls","joinClass","prefix","c","convertPathToColor","jsx","createComponent"],"mappings":"0PA4BMA,EAA0C,CAC9C,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,UAAW,KACX,UAAW,KACX,MAAO,IACP,MAAO,GACT,EAQA,SAASC,EAAW,CAClB,SAAAC,EACA,QAAAC,EAAU,QACV,MAAAC,EAAQ,eACR,OAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAoB,CAClB,KAAM,CAAE,MAAO,CAAE,QAAAC,CAAA,CAAQ,EAAMC,EAAAA,SAAA,EAEzBC,EAAYV,EAAIG,CAAO,EAEvBQ,EAAMC,EAAAA,UACV,GAAGC,EAAAA,MAAM,cACT,GAAGA,EAAAA,MAAM,gBAAgBV,CAAO,GAChCE,GAAU,GAAGQ,EAAAA,MAAM,uBAAuBR,CAAM,GAChDE,EAAM,SAAA,EAGFO,EAAIC,EAAAA,mBAAmBX,EAAOI,CAAO,EAE3C,OACEQ,EAAAA,IAACN,EAAA,CACE,GAAGH,EACJ,UAAWI,EACX,MAAO,CACL,MAAOG,EACP,UAAAR,EACA,GAAGC,EAAM,KAAA,EAGV,SAAAL,CAAA,CAAA,CAGP,CAEA,MAAAD,EAAegB,EAAAA,gBAAgBhB,CAAU"}
@@ -1,2 +0,0 @@
1
- import{jsx as n}from"react/jsx-runtime";import{p as t}from"./index-Bmr5u5lp.js";import{j as i}from"./joinClass-anSpaauN.js";import{c as l}from"./convertPathToColor-D2SdAqGh.js";import{u as f}from"./useTheme-BQxrRS5M.js";import{c as u}from"./createComponent-CyZoFjRB.js";const g={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p"};function T({children:h,variant:r="body1",color:e="text.primary",weight:s,textAlign:p,...o}){const{theme:{palette:a}}=f(),m=g[r],c=i(`${t}-typography`,`${t}-typography--${r}`,s&&`${t}-typography--weight-${s}`,o.className),y=l(e,a);return n(m,{...o,className:c,style:{color:y,textAlign:p,...o.style},children:h})}const N=u(T);export{N as T};
2
- //# sourceMappingURL=Typography-DO-npvz3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Typography-DO-npvz3.js","sources":["../../src/display/Typography/Typography.tsx"],"sourcesContent":["import type { PropsWithChildren, HTMLAttributes, CSSProperties } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { MappedColors } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport { convertPathToColor } from '@iziui/core/utils/convertPathToColor';\n\nimport { useTheme } from '@/theme';\nimport createComponent from '@/core/createComponent';\n\nimport '@iziui/styles/components/Typography.scss';\n\nexport const variants = [\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'subtitle1',\n 'subtitle2',\n 'body1',\n 'body2',\n] as const;\n\nexport type Variant = typeof variants[number];\n\nconst MAP: { [x: string]: React.ElementType } = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p',\n};\n\ninterface TypographyProps extends PropsWithChildren<HTMLAttributes<HTMLParagraphElement>> {\n variant?: Variant;\n color?: MappedColors;\n textAlign?: CSSProperties['textAlign'];\n weight?: 'bold' | 'normal' | 'light';\n}\nfunction Typography({\n children,\n variant = 'body1',\n color = 'text.primary',\n weight,\n textAlign,\n ...props\n}: TypographyProps) {\n const { theme: { palette } } = useTheme();\n\n const CustomTag = MAP[variant];\n\n const cls = joinClass(\n `${prefix}-typography`,\n `${prefix}-typography--${variant}`,\n weight && `${prefix}-typography--weight-${weight}`,\n props.className\n );\n\n const c = convertPathToColor(color, palette);\n\n return (\n <CustomTag\n {...props}\n className={cls}\n style={{\n color: c,\n textAlign,\n ...props.style\n }}\n >\n {children}\n </CustomTag>\n );\n}\n\nexport default createComponent(Typography);"],"names":["MAP","Typography","children","variant","color","weight","textAlign","props","palette","useTheme","CustomTag","cls","joinClass","prefix","c","convertPathToColor","jsx","Typography$1","createComponent"],"mappings":"8QA4BA,MAAMA,EAA0C,CAC9C,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,UAAW,KACX,UAAW,KACX,MAAO,IACP,MAAO,GACT,EAQA,SAASC,EAAW,CAClB,SAAAC,EACA,QAAAC,EAAU,QACV,MAAAC,EAAQ,eACR,OAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAoB,CAClB,KAAM,CAAE,MAAO,CAAE,QAAAC,CAAA,CAAQ,EAAMC,EAAA,EAEzBC,EAAYV,EAAIG,CAAO,EAEvBQ,EAAMC,EACV,GAAGC,CAAM,cACT,GAAGA,CAAM,gBAAgBV,CAAO,GAChCE,GAAU,GAAGQ,CAAM,uBAAuBR,CAAM,GAChDE,EAAM,SAAA,EAGFO,EAAIC,EAAmBX,EAAOI,CAAO,EAE3C,OACEQ,EAACN,EAAA,CACE,GAAGH,EACJ,UAAWI,EACX,MAAO,CACL,MAAOG,EACP,UAAAR,EACA,GAAGC,EAAM,KAAA,EAGV,SAAAL,CAAA,CAAA,CAGP,CAEA,MAAAe,EAAeC,EAAgBjB,CAAU"}
@@ -1,2 +0,0 @@
1
- import{jsx as P}from"react/jsx-runtime";import{b,a as M,c as S}from"./index-Bmr5u5lp.js";import{u as y}from"./useTheme-BQxrRS5M.js";function B({sx:t,theme:n},...e){return e.reduce((s,a)=>(s={...s,...a(n,t)},s),{})}const w=(t,{color:n})=>{const{palette:e}=t;return n?{color:n(e)}:{}},_=(t,{background:n})=>{const{palette:e}=t;return n?{background:n(e)}:{}},j=(t,{borderColor:n})=>{const{palette:e}=t;return n?{borderColor:n(e)}:{}},C=(t,{backgroundColor:n})=>{const{palette:e}=t;return n?{backgroundColor:n(e)}:{}},O=(t,{borderRadius:n})=>{const{shape:e}=t;return n?{borderRadius:`${e.radius*n}px`}:{}},R=(t,{m:n,mb:e,ml:s,mr:a,mt:i,mx:u,my:g})=>{const{spacing:f}=t,o=c=>c||c===0?`${String(c*f)}px`:"",r=o(n),h=o(i),m=o(e),d=o(g),l=o(u),p=o(s),x=o(a);return{margin:r,marginTop:h||d||r,marginBottom:m||d||r,marginLeft:p||l||r,marginRight:x||l||r}},T=(t,{p:n,pb:e,pl:s,pr:a,pt:i,px:u,py:g})=>{const{spacing:f}=t,o=c=>c||c===0?`${String(c*f)}px`:"",r=o(n),h=o(i),m=o(e),d=o(g),l=o(u),p=o(s),x=o(a);return{padding:r,paddingTop:h||d||r,paddingBottom:m||d||r,paddingLeft:p||l||r,paddingRight:x||l||r}},z=(t,{boxShadow:n})=>n?{boxShadow:{sm:S,md:M,lg:b}[n]}:{},L=Object.freeze(Object.defineProperty({__proto__:null,defineBackground:_,defineBackgroundColor:C,defineBorderColor:j,defineBorderRadius:O,defineBoxShadow:z,defineColor:w,defineMargin:R,definePadding:T},Symbol.toStringTag,{value:"Module"}));function $(t){return Object.values(t).map(n=>n)}function N(t){return t.displayName=t.name,({sx:e,fullWidth:s,...a})=>{const{theme:i}=y(),u=e&&B({theme:i,sx:e},...$(L));return P(t,{...a,style:{...a.style,...u,...s?{width:"100%"}:{}}})}}export{N as c};
2
- //# sourceMappingURL=createComponent-CyZoFjRB.js.map
@@ -1,2 +0,0 @@
1
- "use strict";const M=require("react/jsx-runtime"),P=require("./index-BaaRDmgo.cjs"),b=require("./useTheme-BZl65Sjh.cjs");function S({sx:t,theme:n},...e){return e.reduce((s,a)=>(s={...s,...a(n,t)},s),{})}const y=(t,{color:n})=>{const{palette:e}=t;return n?{color:n(e)}:{}},B=(t,{background:n})=>{const{palette:e}=t;return n?{background:n(e)}:{}},j=(t,{borderColor:n})=>{const{palette:e}=t;return n?{borderColor:n(e)}:{}},w=(t,{backgroundColor:n})=>{const{palette:e}=t;return n?{backgroundColor:n(e)}:{}},C=(t,{borderRadius:n})=>{const{shape:e}=t;return n?{borderRadius:`${e.radius*n}px`}:{}},R=(t,{m:n,mb:e,ml:s,mr:a,mt:i,mx:u,my:g})=>{const{spacing:h}=t,r=c=>c||c===0?`${String(c*h)}px`:"",o=r(n),f=r(i),m=r(e),d=r(g),l=r(u),p=r(s),x=r(a);return{margin:o,marginTop:f||d||o,marginBottom:m||d||o,marginLeft:p||l||o,marginRight:x||l||o}},T=(t,{p:n,pb:e,pl:s,pr:a,pt:i,px:u,py:g})=>{const{spacing:h}=t,r=c=>c||c===0?`${String(c*h)}px`:"",o=r(n),f=r(i),m=r(e),d=r(g),l=r(u),p=r(s),x=r(a);return{padding:o,paddingTop:f||d||o,paddingBottom:m||d||o,paddingLeft:p||l||o,paddingRight:x||l||o}},_=(t,{boxShadow:n})=>n?{boxShadow:{sm:P.boxShadowSmall,md:P.boxShadowRegular,lg:P.boxShadowLarge}[n]}:{},O=Object.freeze(Object.defineProperty({__proto__:null,defineBackground:B,defineBackgroundColor:w,defineBorderColor:j,defineBorderRadius:C,defineBoxShadow:_,defineColor:y,defineMargin:R,definePadding:T},Symbol.toStringTag,{value:"Module"}));function q(t){return Object.values(t).map(n=>n)}function z(t){return t.displayName=t.name,({sx:e,fullWidth:s,...a})=>{const{theme:i}=b.useTheme(),u=e&&S({theme:i,sx:e},...q(O));return M.jsx(t,{...a,style:{...a.style,...u,...s?{width:"100%"}:{}}})}}exports.createComponent=z;
2
- //# sourceMappingURL=createComponent-D7BY-VlJ.cjs.map
@@ -1,2 +0,0 @@
1
- "use strict";const x="0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24)",a="0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23)",o="0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23)",p="iziui";exports.boxShadowLarge=o;exports.boxShadowRegular=a;exports.boxShadowSmall=x;exports.prefix=p;
2
- //# sourceMappingURL=index-BaaRDmgo.cjs.map
@@ -1,2 +0,0 @@
1
- const a="0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24)",x="0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23)",p="0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23)",o="iziui";export{x as a,p as b,a as c,o as p};
2
- //# sourceMappingURL=index-Bmr5u5lp.js.map
@@ -1,2 +0,0 @@
1
- import{createContext as p,useContext as f,cloneElement as v,useState as m}from"react";import{jsxs as y,jsx as h}from"react/jsx-runtime";const d=p(null);function V({formGroup:o,debug:t=!1,children:r,...e}){return y(d,{value:o,children:[h("form",{...e,onSubmit:o.submit,noValidate:!0,children:r}),t&&h("pre",{style:{maxHeight:350,padding:15,borderRadius:4,overflow:"auto",color:"#333",background:"#e5e5e5",boxShadow:"0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24)"},children:JSON.stringify(o.controls,null,2)})]})}function g(){const o=f(d);if(!o)throw new Error("useFormGroup must be used inside <FormProvider> (or <Form />).");return o}function b(o){const t=g();return{control:t.controls[o],update:n=>{t.setValues(a=>(a[o]=n,a))}}}function w({controlName:o,field:t,action:r="input"}){const{control:e,update:n}=b(o);return(i=>{const u=s=>["radio","checkbox"].includes(s.type)?s.target.checked:s.target.value;return v(i,{onBlur:s=>{r==="blur"&&n(u(s)),i.props.onBlur&&i.props.onBlur(s)},onInput:s=>{r==="input"&&n(u(s)),i.props.onInput&&i.props.onInput(s)},onChange:s=>{r==="change"&&n(u(s)),i.props.onChange&&i.props.onChange(s)}})})(t(e))}class c{constructor(t,r,e){this.controls=t,this.handle=r,this.validator=e}controls;handle;validator;_valid=!1;_hydrate;get hydrate(){return this._hydrate}set hydrate(t){this._hydrate=t}get isValid(){return this._valid}set isValid(t){this._valid=t}get errors(){return Object.values(this.controls).filter(t=>t.error)}get values(){const t={};return this.eachControl((r,e)=>({[e]:r.value})).forEach(r=>{for(const e in r)t[e]=r[e]}),t}setValues(t){const r=typeof t=="function"?t(this.values):t;for(const e of Object.keys(r))this.controls[e].value=r[e];this.validate(),this.hydrate(this),this.handle.change&&this.handle.change(this)}eachControl(t){return Object.keys(this.controls).map(r=>t(this.controls[r],r))}submit(){this.handle.submit&&(this.eachControl(t=>t.dirty=!0),this.handle.submit(this))}reset(){this.eachControl(t=>t.reset()),this.hydrate(this)}validate(){this.validator&&(Object.entries(this.validator).map(([t,r])=>{const e=this.controls[t].validate(),n=r(this);this.controls[t].error=e||n||""}),this.isValid=!this.errors.length)}}class C{_value;defaultValue;validators=[];type;error="";dirty=!1;constructor({defaultValue:t,type:r="text",validators:e}){this.type=r,this._value=t,this.defaultValue=t,e&&(this.validators=e)}get value(){return this._value}set value(t){this.dirty=!0,this._value=t,this.validate()}get isInvalid(){return!!(this.dirty&&this.error)}reset(){this.value=this.defaultValue,this.dirty=!1}validate(){const t=this.validators.map(r=>r(this)).filter(Boolean);return this.error=t[0]||"",this.error}}function x(o){return Object.entries(o).reduce((t,r)=>{const e=r[0],n=r[1];return t[e]=new C(n),t},{})}function j({form:o,handle:t,validator:r}){const[e,n]=m(new c(x(o),t,r)),a=i=>{n(u=>{const s=i.controls,l=new c(s,t,r);return l.hydrate=u.hydrate,l})};return e.hydrate=a,e}export{w as C,V as F,j as a,g as b,b as u};
2
- //# sourceMappingURL=useForm-BrezSwQu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useForm-BrezSwQu.js","sources":["../../src/lab/Form/Form.tsx","../../src/lab/Form/useFormGroup.ts","../../src/lab/Form/useControl.ts","../../src/lab/Form/Control.tsx","../../src/lab/Form/FormGroup.ts","../../src/lab/Form/FormControl.ts","../../src/lab/Form/useForm.ts"],"sourcesContent":["import { createContext, HTMLAttributes } from 'react';\n\nimport type FormGroup from './FormGroup';\n\nexport const FormContext = createContext<FormGroup<any> | null>(null);\n\ninterface FormProps<T extends Record<string, unknown>> extends HTMLAttributes<HTMLFormElement> {\n formGroup: FormGroup<T>;\n debug?: boolean;\n}\n\nexport default function Form<T extends Record<string, unknown>>({\n formGroup,\n debug = false,\n children,\n ...props\n}: FormProps<T>) {\n return (\n <FormContext value={formGroup}>\n <form {...props} onSubmit={formGroup.submit} noValidate>\n {children}\n </form>\n {\n debug && (\n <pre style={{\n maxHeight: 350,\n padding: 15,\n borderRadius: 4,\n overflow: 'auto',\n color: '#333',\n background: '#e5e5e5',\n boxShadow: '0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24)',\n }}>\n {JSON.stringify(formGroup.controls, null, 2)}\n </pre>\n )\n }\n </FormContext>\n );\n}","import { useContext } from 'react';\n\nimport type FormGroup from './FormGroup';\nimport { FormContext } from './Form';\n\nexport default function useFormGroup<T extends Record<string, unknown>>() {\n const context = useContext(FormContext);\n\n if (!context) throw new Error('useFormGroup must be used inside <FormProvider> (or <Form />).');\n\n return context as FormGroup<T>;\n}","import useFormGroup from './useFormGroup';\n\nexport default function useControl<\n T extends Record<string, unknown>,\n K extends keyof T = keyof T,\n>(controlName: K) {\n const formGroup = useFormGroup<T>();\n const control = formGroup.controls[controlName];\n\n const update = (value: T[K]) => {\n formGroup.setValues((data) => {\n data[controlName] = value;\n\n return data;\n });\n };\n\n return { control, update };\n}","import { ChangeEvent, cloneElement, InputEvent, InputHTMLAttributes, ReactElement } from 'react';\n\nimport useControl from './useControl';\nimport type { AbstractControl } from './AbstractControl';\n\ninterface ControlProps<\n T extends Record<string, any>,\n K extends keyof T,\n> {\n controlName: K;\n action?: 'change' | 'input' | 'blur';\n field: (control: AbstractControl<T>[K]) => React.JSX.Element;\n}\n\nexport default function Control<\n T extends Record<string, any>,\n K extends keyof T\n>({\n controlName,\n field,\n action = 'input'\n}: ControlProps<T, K>) {\n const { control, update } = useControl<T, K>(controlName);\n\n const renderChildren = (child: ReactElement<InputHTMLAttributes<HTMLInputElement>>) => {\n const getValue = (e: ChangeEvent<HTMLInputElement> | InputEvent<HTMLInputElement>) => {\n if (['radio', 'checkbox'].includes(e.type)) { return e.target['checked']; }\n\n return e.target['value'];\n };\n\n return cloneElement(child, {\n onBlur: (e) => {\n if (action === 'blur') { update(getValue(e)); };\n\n if (child.props.onBlur) { child.props.onBlur(e); }\n },\n onInput: (e) => {\n if (action === 'input') { update(getValue(e)); };\n\n if (child.props.onInput) { child.props.onInput(e); }\n },\n onChange: (e) => {\n if (action === 'change') { update(getValue(e)); };\n\n if (child.props.onChange) { child.props.onChange(e); }\n },\n });\n };\n\n return (\n renderChildren(field(control))\n );\n}","import type { AbstractControl } from './AbstractControl';\nimport type FormControl from './FormControl';\n\ntype Hydrate<T extends Record<string, unknown>> = (data: FormGroup<T>) => void;\ntype SetValues<F> = Partial<F> | ((values: F) => Partial<F>);\n\nexport type Validator<T extends Record<string, unknown>> = {\n [K in keyof T]: (data: FormGroup<T>) => string | void;\n}\n\nexport interface Handle<T extends Record<string, unknown>> {\n change?: (form: FormGroup<T>) => void;\n submit?: (form: FormGroup<T>) => void;\n}\n\nexport default class FormGroup<T extends Record<string, unknown>> {\n private _valid = false;\n private _hydrate!: Hydrate<T>;\n\n constructor(\n public controls: AbstractControl<T>,\n public handle: Handle<T>,\n public validator?: Validator<T>,\n ) { }\n\n /**\n * Atualiza o estado interno do componente.\n * @private\n * @description Este método é usado internamente pela biblioteca.\n * Para atualizar valores externamente, use {@link setValues}.\n*/\n get hydrate() { return this._hydrate; }\n set hydrate(fn: (values: FormGroup<T>) => any) { this._hydrate = fn; }\n\n get isValid(): boolean { return this._valid; }\n set isValid(validity: boolean) { this._valid = validity; }\n\n get errors() {\n return Object.values<FormControl<T[keyof T]>>(this.controls).filter(c => c.error);\n }\n\n get values(): T {\n const values: Record<string, any> = {};\n\n this.eachControl((control, key) => ({ [key as string]: control.value }))\n .forEach(control => { for (const prop in control) { values[prop] = control[prop]; } });\n\n return values as T;\n }\n\n public setValues(fn: SetValues<T>): void;\n public setValues(partialForm: Partial<T>): void;\n public setValues(arg: Partial<T> | SetValues<T>) {\n const partial =\n typeof arg === 'function'\n ? arg(this.values)\n : arg;\n\n for (const key of Object.keys(partial)) {\n this.controls[key].value = partial[key] as T[keyof T];\n }\n\n this.validate();\n\n this.hydrate(this);\n\n if (!this.handle.change) { return; }\n\n this.handle.change(this);\n }\n\n private eachControl(fn: <K extends keyof T>(control: FormControl<T[K]>, key?: K) => any) {\n return Object.keys(this.controls).map(k => fn(this.controls[k], k));\n }\n\n public submit() {\n if (!this.handle.submit) { return; }\n\n this.eachControl((control) => control.dirty = true);\n\n this.handle.submit(this);\n }\n\n public reset() {\n this.eachControl((control) => control.reset());\n this.hydrate(this);\n }\n\n public validate() {\n if (!this.validator) { return; }\n\n Object.entries(this.validator).map(([key, fn]) => {\n const controlError = this.controls[key].validate();\n const validatorError = fn(this);\n\n this.controls[key].error = controlError || validatorError || '';\n });\n\n this.isValid = !this.errors.length;\n }\n}","type Type = 'text' | 'email';\ntype Validator<C> = (control: FormControl<C>) => string | false | void;\n\ntype Data<T> = {\n defaultValue: T;\n type?: Type;\n validators?: Validator<T>[];\n}\n\nexport type Constructor<V> = ConstructorParameters<typeof FormControl<V>>[number];\n\nexport default class FormControl<V> implements Pick<Data<V>, 'type'> {\n private _value!: V;\n private defaultValue: V;\n private validators: Validator<V>[] = [];\n\n public type: Type;\n public error = '';\n public dirty = false;\n\n constructor({\n defaultValue,\n type = 'text',\n validators,\n }: Data<V>) {\n this.type = type;\n this._value = defaultValue;\n this.defaultValue = defaultValue;\n\n if (validators) { this.validators = validators; }\n }\n\n get value(): V { return this._value; }\n set value(value: V) {\n this.dirty = true;\n this._value = value;\n this.validate();\n }\n\n get isInvalid() { return Boolean(this.dirty && this.error); }\n\n public reset() {\n this.value = this.defaultValue;\n this.dirty = false;\n }\n\n public validate() {\n const errors = this.validators\n .map(v => v(this))\n .filter(Boolean);\n\n this.error = errors[0] || '';\n\n return this.error;\n }\n}\n","import { useState } from 'react';\n\nimport FormGroup from './FormGroup';\nimport FormControl from './FormControl';\nimport type { Constructor } from './FormControl';\nimport type { Handle, Validator } from './FormGroup';\nimport type { AbstractControl } from './AbstractControl';\n\ntype UseForm<T extends Record<string, unknown>> = {\n form: { [K in keyof T]: Constructor<T[K]> };\n handle: Handle<T>;\n validator?: Validator<T>;\n}\n\nfunction makingControls<T extends Record<string, unknown>>(form: { [K in keyof T]: Constructor<T[K]> }) {\n return Object.entries(form)\n .reduce((acc, data) => {\n const key = data[0] as keyof T;\n const value = data[1] as Constructor<T[keyof T]>;\n\n acc[key] = new FormControl(value);\n\n return acc;\n }, {} as AbstractControl<T>);\n}\n\nexport default function useForm<T extends Record<string, unknown>>({\n form,\n handle,\n validator\n}: UseForm<T>) {\n const [formGroup, setFormGroup] = useState<FormGroup<T>>(\n new FormGroup(\n makingControls(form),\n handle,\n validator\n )\n );\n\n const hydrate = (form: FormGroup<T>) => {\n setFormGroup(prev => {\n const controls = form.controls;\n\n const newFormGroup = new FormGroup(controls, handle, validator);\n newFormGroup.hydrate = prev.hydrate;\n\n return newFormGroup;\n });\n };\n\n formGroup.hydrate = hydrate;\n\n return formGroup;\n}"],"names":["FormContext","createContext","Form","formGroup","debug","children","props","jsxs","jsx","useFormGroup","context","useContext","useControl","controlName","value","data","Control","field","action","control","update","child","getValue","e","cloneElement","FormGroup","controls","handle","validator","fn","validity","c","values","key","prop","arg","partial","k","controlError","validatorError","FormControl","defaultValue","type","validators","errors","v","makingControls","form","acc","useForm","setFormGroup","useState","hydrate","prev","newFormGroup"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";const l=require("react"),h=require("react/jsx-runtime"),p=l.createContext(null);function m({formGroup:o,debug:t=!1,children:r,...e}){return h.jsxs(p,{value:o,children:[h.jsx("form",{...e,onSubmit:o.submit,noValidate:!0,children:r}),t&&h.jsx("pre",{style:{maxHeight:350,padding:15,borderRadius:4,overflow:"auto",color:"#333",background:"#e5e5e5",boxShadow:"0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24)"},children:JSON.stringify(o.controls,null,2)})]})}function f(){const o=l.useContext(p);if(!o)throw new Error("useFormGroup must be used inside <FormProvider> (or <Form />).");return o}function v(o){const t=f();return{control:t.controls[o],update:n=>{t.setValues(u=>(u[o]=n,u))}}}function y({controlName:o,field:t,action:r="input"}){const{control:e,update:n}=v(o);return(i=>{const a=s=>["radio","checkbox"].includes(s.type)?s.target.checked:s.target.value;return l.cloneElement(i,{onBlur:s=>{r==="blur"&&n(a(s)),i.props.onBlur&&i.props.onBlur(s)},onInput:s=>{r==="input"&&n(a(s)),i.props.onInput&&i.props.onInput(s)},onChange:s=>{r==="change"&&n(a(s)),i.props.onChange&&i.props.onChange(s)}})})(t(e))}class d{constructor(t,r,e){this.controls=t,this.handle=r,this.validator=e}controls;handle;validator;_valid=!1;_hydrate;get hydrate(){return this._hydrate}set hydrate(t){this._hydrate=t}get isValid(){return this._valid}set isValid(t){this._valid=t}get errors(){return Object.values(this.controls).filter(t=>t.error)}get values(){const t={};return this.eachControl((r,e)=>({[e]:r.value})).forEach(r=>{for(const e in r)t[e]=r[e]}),t}setValues(t){const r=typeof t=="function"?t(this.values):t;for(const e of Object.keys(r))this.controls[e].value=r[e];this.validate(),this.hydrate(this),this.handle.change&&this.handle.change(this)}eachControl(t){return Object.keys(this.controls).map(r=>t(this.controls[r],r))}submit(){this.handle.submit&&(this.eachControl(t=>t.dirty=!0),this.handle.submit(this))}reset(){this.eachControl(t=>t.reset()),this.hydrate(this)}validate(){this.validator&&(Object.entries(this.validator).map(([t,r])=>{const e=this.controls[t].validate(),n=r(this);this.controls[t].error=e||n||""}),this.isValid=!this.errors.length)}}class g{_value;defaultValue;validators=[];type;error="";dirty=!1;constructor({defaultValue:t,type:r="text",validators:e}){this.type=r,this._value=t,this.defaultValue=t,e&&(this.validators=e)}get value(){return this._value}set value(t){this.dirty=!0,this._value=t,this.validate()}get isInvalid(){return!!(this.dirty&&this.error)}reset(){this.value=this.defaultValue,this.dirty=!1}validate(){const t=this.validators.map(r=>r(this)).filter(Boolean);return this.error=t[0]||"",this.error}}function b(o){return Object.entries(o).reduce((t,r)=>{const e=r[0],n=r[1];return t[e]=new g(n),t},{})}function C({form:o,handle:t,validator:r}){const[e,n]=l.useState(new d(b(o),t,r)),u=i=>{n(a=>{const s=i.controls,c=new d(s,t,r);return c.hydrate=a.hydrate,c})};return e.hydrate=u,e}exports.Control=y;exports.Form=m;exports.useControl=v;exports.useForm=C;exports.useFormGroup=f;
2
- //# sourceMappingURL=useForm-UT6lrV2_.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useForm-UT6lrV2_.cjs","sources":["../../src/lab/Form/Form.tsx","../../src/lab/Form/useFormGroup.ts","../../src/lab/Form/useControl.ts","../../src/lab/Form/Control.tsx","../../src/lab/Form/FormGroup.ts","../../src/lab/Form/FormControl.ts","../../src/lab/Form/useForm.ts"],"sourcesContent":["import { createContext, HTMLAttributes } from 'react';\n\nimport type FormGroup from './FormGroup';\n\nexport const FormContext = createContext<FormGroup<any> | null>(null);\n\ninterface FormProps<T extends Record<string, unknown>> extends HTMLAttributes<HTMLFormElement> {\n formGroup: FormGroup<T>;\n debug?: boolean;\n}\n\nexport default function Form<T extends Record<string, unknown>>({\n formGroup,\n debug = false,\n children,\n ...props\n}: FormProps<T>) {\n return (\n <FormContext value={formGroup}>\n <form {...props} onSubmit={formGroup.submit} noValidate>\n {children}\n </form>\n {\n debug && (\n <pre style={{\n maxHeight: 350,\n padding: 15,\n borderRadius: 4,\n overflow: 'auto',\n color: '#333',\n background: '#e5e5e5',\n boxShadow: '0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24)',\n }}>\n {JSON.stringify(formGroup.controls, null, 2)}\n </pre>\n )\n }\n </FormContext>\n );\n}","import { useContext } from 'react';\n\nimport type FormGroup from './FormGroup';\nimport { FormContext } from './Form';\n\nexport default function useFormGroup<T extends Record<string, unknown>>() {\n const context = useContext(FormContext);\n\n if (!context) throw new Error('useFormGroup must be used inside <FormProvider> (or <Form />).');\n\n return context as FormGroup<T>;\n}","import useFormGroup from './useFormGroup';\n\nexport default function useControl<\n T extends Record<string, unknown>,\n K extends keyof T = keyof T,\n>(controlName: K) {\n const formGroup = useFormGroup<T>();\n const control = formGroup.controls[controlName];\n\n const update = (value: T[K]) => {\n formGroup.setValues((data) => {\n data[controlName] = value;\n\n return data;\n });\n };\n\n return { control, update };\n}","import { ChangeEvent, cloneElement, InputEvent, InputHTMLAttributes, ReactElement } from 'react';\n\nimport useControl from './useControl';\nimport type { AbstractControl } from './AbstractControl';\n\ninterface ControlProps<\n T extends Record<string, any>,\n K extends keyof T,\n> {\n controlName: K;\n action?: 'change' | 'input' | 'blur';\n field: (control: AbstractControl<T>[K]) => React.JSX.Element;\n}\n\nexport default function Control<\n T extends Record<string, any>,\n K extends keyof T\n>({\n controlName,\n field,\n action = 'input'\n}: ControlProps<T, K>) {\n const { control, update } = useControl<T, K>(controlName);\n\n const renderChildren = (child: ReactElement<InputHTMLAttributes<HTMLInputElement>>) => {\n const getValue = (e: ChangeEvent<HTMLInputElement> | InputEvent<HTMLInputElement>) => {\n if (['radio', 'checkbox'].includes(e.type)) { return e.target['checked']; }\n\n return e.target['value'];\n };\n\n return cloneElement(child, {\n onBlur: (e) => {\n if (action === 'blur') { update(getValue(e)); };\n\n if (child.props.onBlur) { child.props.onBlur(e); }\n },\n onInput: (e) => {\n if (action === 'input') { update(getValue(e)); };\n\n if (child.props.onInput) { child.props.onInput(e); }\n },\n onChange: (e) => {\n if (action === 'change') { update(getValue(e)); };\n\n if (child.props.onChange) { child.props.onChange(e); }\n },\n });\n };\n\n return (\n renderChildren(field(control))\n );\n}","import type { AbstractControl } from './AbstractControl';\nimport type FormControl from './FormControl';\n\ntype Hydrate<T extends Record<string, unknown>> = (data: FormGroup<T>) => void;\ntype SetValues<F> = Partial<F> | ((values: F) => Partial<F>);\n\nexport type Validator<T extends Record<string, unknown>> = {\n [K in keyof T]: (data: FormGroup<T>) => string | void;\n}\n\nexport interface Handle<T extends Record<string, unknown>> {\n change?: (form: FormGroup<T>) => void;\n submit?: (form: FormGroup<T>) => void;\n}\n\nexport default class FormGroup<T extends Record<string, unknown>> {\n private _valid = false;\n private _hydrate!: Hydrate<T>;\n\n constructor(\n public controls: AbstractControl<T>,\n public handle: Handle<T>,\n public validator?: Validator<T>,\n ) { }\n\n /**\n * Atualiza o estado interno do componente.\n * @private\n * @description Este método é usado internamente pela biblioteca.\n * Para atualizar valores externamente, use {@link setValues}.\n*/\n get hydrate() { return this._hydrate; }\n set hydrate(fn: (values: FormGroup<T>) => any) { this._hydrate = fn; }\n\n get isValid(): boolean { return this._valid; }\n set isValid(validity: boolean) { this._valid = validity; }\n\n get errors() {\n return Object.values<FormControl<T[keyof T]>>(this.controls).filter(c => c.error);\n }\n\n get values(): T {\n const values: Record<string, any> = {};\n\n this.eachControl((control, key) => ({ [key as string]: control.value }))\n .forEach(control => { for (const prop in control) { values[prop] = control[prop]; } });\n\n return values as T;\n }\n\n public setValues(fn: SetValues<T>): void;\n public setValues(partialForm: Partial<T>): void;\n public setValues(arg: Partial<T> | SetValues<T>) {\n const partial =\n typeof arg === 'function'\n ? arg(this.values)\n : arg;\n\n for (const key of Object.keys(partial)) {\n this.controls[key].value = partial[key] as T[keyof T];\n }\n\n this.validate();\n\n this.hydrate(this);\n\n if (!this.handle.change) { return; }\n\n this.handle.change(this);\n }\n\n private eachControl(fn: <K extends keyof T>(control: FormControl<T[K]>, key?: K) => any) {\n return Object.keys(this.controls).map(k => fn(this.controls[k], k));\n }\n\n public submit() {\n if (!this.handle.submit) { return; }\n\n this.eachControl((control) => control.dirty = true);\n\n this.handle.submit(this);\n }\n\n public reset() {\n this.eachControl((control) => control.reset());\n this.hydrate(this);\n }\n\n public validate() {\n if (!this.validator) { return; }\n\n Object.entries(this.validator).map(([key, fn]) => {\n const controlError = this.controls[key].validate();\n const validatorError = fn(this);\n\n this.controls[key].error = controlError || validatorError || '';\n });\n\n this.isValid = !this.errors.length;\n }\n}","type Type = 'text' | 'email';\ntype Validator<C> = (control: FormControl<C>) => string | false | void;\n\ntype Data<T> = {\n defaultValue: T;\n type?: Type;\n validators?: Validator<T>[];\n}\n\nexport type Constructor<V> = ConstructorParameters<typeof FormControl<V>>[number];\n\nexport default class FormControl<V> implements Pick<Data<V>, 'type'> {\n private _value!: V;\n private defaultValue: V;\n private validators: Validator<V>[] = [];\n\n public type: Type;\n public error = '';\n public dirty = false;\n\n constructor({\n defaultValue,\n type = 'text',\n validators,\n }: Data<V>) {\n this.type = type;\n this._value = defaultValue;\n this.defaultValue = defaultValue;\n\n if (validators) { this.validators = validators; }\n }\n\n get value(): V { return this._value; }\n set value(value: V) {\n this.dirty = true;\n this._value = value;\n this.validate();\n }\n\n get isInvalid() { return Boolean(this.dirty && this.error); }\n\n public reset() {\n this.value = this.defaultValue;\n this.dirty = false;\n }\n\n public validate() {\n const errors = this.validators\n .map(v => v(this))\n .filter(Boolean);\n\n this.error = errors[0] || '';\n\n return this.error;\n }\n}\n","import { useState } from 'react';\n\nimport FormGroup from './FormGroup';\nimport FormControl from './FormControl';\nimport type { Constructor } from './FormControl';\nimport type { Handle, Validator } from './FormGroup';\nimport type { AbstractControl } from './AbstractControl';\n\ntype UseForm<T extends Record<string, unknown>> = {\n form: { [K in keyof T]: Constructor<T[K]> };\n handle: Handle<T>;\n validator?: Validator<T>;\n}\n\nfunction makingControls<T extends Record<string, unknown>>(form: { [K in keyof T]: Constructor<T[K]> }) {\n return Object.entries(form)\n .reduce((acc, data) => {\n const key = data[0] as keyof T;\n const value = data[1] as Constructor<T[keyof T]>;\n\n acc[key] = new FormControl(value);\n\n return acc;\n }, {} as AbstractControl<T>);\n}\n\nexport default function useForm<T extends Record<string, unknown>>({\n form,\n handle,\n validator\n}: UseForm<T>) {\n const [formGroup, setFormGroup] = useState<FormGroup<T>>(\n new FormGroup(\n makingControls(form),\n handle,\n validator\n )\n );\n\n const hydrate = (form: FormGroup<T>) => {\n setFormGroup(prev => {\n const controls = form.controls;\n\n const newFormGroup = new FormGroup(controls, handle, validator);\n newFormGroup.hydrate = prev.hydrate;\n\n return newFormGroup;\n });\n };\n\n formGroup.hydrate = hydrate;\n\n return formGroup;\n}"],"names":["FormContext","createContext","Form","formGroup","debug","children","props","jsxs","jsx","useFormGroup","context","useContext","useControl","controlName","value","data","Control","field","action","control","update","child","getValue","e","cloneElement","FormGroup","controls","handle","validator","fn","validity","c","values","key","prop","arg","partial","k","controlError","validatorError","FormControl","defaultValue","type","validators","errors","v","makingControls","form","acc","useForm","setFormGroup","useState","hydrate","prev","newFormGroup"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{useState as b,useMemo as F,useEffect as E,createContext as $,useContext as P}from"react";import{jsx as k}from"react/jsx-runtime";function w(t,e,n){e/=100,n/=100;const r=(1-Math.abs(2*n-1))*e,a=r*(1-Math.abs(t/60%2-1)),o=n-r/2;let s=0,c=0,i=0;0<=t&&t<60?(s=r,c=a,i=0):60<=t&&t<120?(s=a,c=r,i=0):120<=t&&t<180?(s=0,c=r,i=a):180<=t&&t<240?(s=0,c=a,i=r):240<=t&&t<300?(s=a,c=0,i=r):300<=t&&t<360&&(s=r,c=0,i=a);const p=Math.round((s+o)*255).toString(16).padStart(2,"0"),f=Math.round((c+o)*255).toString(16).padStart(2,"0"),h=Math.round((i+o)*255).toString(16).padStart(2,"0");return`#${p}${f}${h}`}function u(t,e,n,r){return n=Math.min(Math.max(n+r,0),100),w(t,e,n)}function v(t){const e=parseInt(t.slice(1,3),16)/255,n=parseInt(t.slice(3,5),16)/255,r=parseInt(t.slice(5,7),16)/255,a=Math.max(e,n,r),o=Math.min(e,n,r);let s=0,c=0;const i=(a+o)/2;if(a===o)s=c=0;else{const p=a-o;switch(c=i>.5?p/(2-a-o):p/(a+o),a){case e:s=(n-r)/p+(n<r?6:0);break;case n:s=(r-e)/p+2;break;case r:s=(e-n)/p+4;break}s*=60}return{h:s,s:c*100,l:i*100}}function x(t,e){if(!/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(t))throw new Error("Cor inválida. Use um formato hexadecimal (#RRGGBB ou #RGB).");t.length===4&&(t=`#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`);const a=Math.round(e*255).toString(16).padStart(2,"0").toUpperCase();return`${t}${a}`}function S(t){const e=parseInt(t.slice(1,3),16)/255,n=parseInt(t.slice(3,5),16)/255,r=parseInt(t.slice(5,7),16)/255;return .2126*e+.7152*n+.0722*r>.6?"#000000":"#ffffff"}function M(t){const n=v(t),r=S(t),a=u(n.h,n.s,n.l,20),o=u(n.h,n.s,n.l,-20*1.7),s=x(t,20/100);return{main:t,dark:o,light:a,opacity:s,contrast:r}}function T(t){return[`${t}.main`,`${t}.dark`,`${t}.light`,`${t}.opacity`,`${t}.contrast`]}function C(t){return t.reduce((e,n)=>{const r=T(n);return e=[...e,...r],e},["text.primary","text.secondary","text.disabled","background.paper","background.default","divider"])}const B=["primary","secondary","error","warning","success","info"];C(B);function d(t,e){document.documentElement.style.setProperty(`--${t}`,e.main),document.documentElement.style.setProperty(`--${t}-light`,e.light),document.documentElement.style.setProperty(`--${t}-dark`,e.dark),document.documentElement.style.setProperty(`--${t}-contrast`,e.contrast),document.documentElement.style.setProperty(`--${t}-opacity`,e.opacity)}function I(t){if(document.querySelector(`link[href="${t}"]`))return;const e=document.createElement("link");e.rel="stylesheet",e.href=t,document.head.appendChild(e)}function R(t){if(typeof window>"u")return;const{palette:e,shape:n,spacing:r,typography:a}=t;a.url&&I(a.url),d("info",e.info),d("error",e.error),d("warning",e.warning),d("success",e.success),d("primary",e.primary),d("secondary",e.secondary),d("grey",e.grey),document.documentElement.style.setProperty("--typography",a.family),document.documentElement.style.setProperty("--text-primary",e.text?.primary),document.documentElement.style.setProperty("--text-secondary",e.text?.secondary),document.documentElement.style.setProperty("--text-disabled",e.text?.disabled),document.documentElement.style.setProperty("--background-paper",e.background?.paper),document.documentElement.style.setProperty("--background-default",e.background?.default),document.documentElement.style.setProperty("--divider",e.divider),document.documentElement.style.setProperty("--radius",`${n.radius}px`),document.documentElement.style.setProperty("--spacing",`${r}px`)}const l=8,m={radius:8},y={palette:{mode:"light",info:"#72E4FC",error:"#FF5377",warning:"#FF9457",success:"#36E79B",primary:"#6C37F4",secondary:"#FB7185",grey:"#F4F4F4",text:{primary:"rgb(31, 41, 55)",secondary:"rgb(75, 85, 99)",disabled:"rgb(172, 172, 172)"},background:{paper:"#F9F8F9",default:"#FFF"},divider:"rgba(0, 0, 0, 0.12)"},spacing:l,shape:m,typography:{family:"Poppins",url:"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap"}},A={palette:{mode:"dark",info:"#72E4FC",error:"#FF5377",warning:"#FF9457",success:"#36E79B",primary:"#6C37F4",secondary:"#EBFF5E",grey:"#2A2A2A",text:{primary:"rgba(255, 255, 255, 0.87)",secondary:"rgba(255, 255, 255, 0.6)",disabled:"rgba(255, 255, 255, 0.38)"},background:{paper:"#0D0225",default:"#30294E"},divider:"rgba(255, 255, 255, 0.12)"},spacing:l,shape:m,typography:{family:"Poppins",url:"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap"}},D=["primary","secondary","error","warning","success","info","grey"];function G(t){const e=t?.palette?.mode??"light",n=e==="dark"?A:y,r=t?.palette??{},a=n.palette,o=Object.fromEntries(D.map(s=>[s,M(r[s]??a[s])]));return{palette:{mode:e,text:r.text??a.text,background:r.background??a.background,divider:r.divider??a.divider,...o},shape:t?.shape??n.shape,spacing:t?.spacing??n.spacing,typography:t?.typography??n.typography}}const g=$({theme:G(y),updateTheme:()=>{}});function H({theme:t,children:e}){const[n,r]=b(t),a=F(()=>({theme:n,updateTheme:s=>o(s)}),[t,n]);E(()=>{R(n)},[n]);const o=s=>{r(s)};return k(g.Provider,{value:a,children:e})}function O(){return P(g)}export{H as T,G as c,S as g,O as u};
2
- //# sourceMappingURL=useTheme-BQxrRS5M.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTheme-BQxrRS5M.js","sources":["../../../../core/src/utils/hslToHex/hslToHex.ts","../../../../core/src/utils/adjustLightness/adjustLightness.ts","../../../../core/src/utils/hexToHsl/hexToHsl.ts","../../../../core/src/utils/getOpacityColor/getOpacityColor.ts","../../../../core/src/utils/getContrastColor/getContrastColor.ts","../../../../core/src/utils/generateSupportColors/generateSupportColors.ts","../../../../core/src/theme/createMappedColors.ts","../../../../core/src/theme/Theme.ts","../../../../core/src/theme/applyTheme/applyTheme.ts","../../../../core/src/theme/defaultTheme.ts","../../../../core/src/theme/createTheme/createTheme.ts","../../src/theme/ThemeProvider.tsx","../../src/theme/useTheme.ts"],"sourcesContent":["export function hslToHex(h: number, s: number, l: number) {\n s /= 100;\n l /= 100;\n\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs((h / 60) % 2 - 1));\n const m = l - c / 2;\n let r = 0, g = 0, b = 0;\n\n if (0 <= h && h < 60) { r = c; g = x; b = 0; }\n else if (60 <= h && h < 120) { r = x; g = c; b = 0; }\n else if (120 <= h && h < 180) { r = 0; g = c; b = x; }\n else if (180 <= h && h < 240) { r = 0; g = x; b = c; }\n else if (240 <= h && h < 300) { r = x; g = 0; b = c; }\n else if (300 <= h && h < 360) { r = c; g = 0; b = x; }\n\n const newR = Math.round((r + m) * 255).toString(16).padStart(2, '0');\n const newG = Math.round((g + m) * 255).toString(16).padStart(2, '0');\n const newB = Math.round((b + m) * 255).toString(16).padStart(2, '0');\n\n return `#${newR}${newG}${newB}`;\n}","import { hslToHex } from '../hslToHex';\n\nexport function adjustLightness(h: number, s: number, l: number, amount: number) {\n l = Math.min(Math.max(l + amount, 0), 100);\n return hslToHex(h, s, l);\n}","export function hexToHsl(hex: string) {\n const r = parseInt(hex.slice(1, 3), 16) / 255;\n const g = parseInt(hex.slice(3, 5), 16) / 255;\n const b = parseInt(hex.slice(5, 7), 16) / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = 0, s = 0;\n const l = (max + min) / 2;\n\n if (max === min) {\n h = s = 0; // acromático\n } else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch (max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h *= 60;\n }\n\n return { h, s: s * 100, l: l * 100 };\n}","/**\n * Adiciona opacidade a uma cor em hexadecimal.\n * @param hexColor - A cor em hexadecimal (ex: #RRGGBB ou #RGB).\n * @param opacity - O valor da opacidade (entre 0 e 1).\n * @returns A cor hexadecimal com opacidade (ex: #RRGGBBAA).\n */\nexport function getOpacityColor(hexColor: string, opacity: number): string {\n // Validar entrada do hexadecimal\n const hexPattern = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;\n if (!hexPattern.test(hexColor)) {\n throw new Error('Cor inválida. Use um formato hexadecimal (#RRGGBB ou #RGB).');\n }\n\n // Expandir formato #RGB para #RRGGBB\n if (hexColor.length === 4) {\n hexColor = `#${hexColor[1]}${hexColor[1]}${hexColor[2]}${hexColor[2]}${hexColor[3]}${hexColor[3]}`;\n }\n\n // Converter opacidade para formato hexadecimal (0 a 255)\n const alpha = Math.round(opacity * 255);\n const alphaHex = alpha.toString(16).padStart(2, '0').toUpperCase();\n\n // Combinar cor com opacidade\n return `${hexColor}${alphaHex}`;\n}","export function getContrastColor(hexColor: string) {\n // Converter hexadecimal para RGB\n const r = parseInt(hexColor.slice(1, 3), 16) / 255;\n const g = parseInt(hexColor.slice(3, 5), 16) / 255;\n const b = parseInt(hexColor.slice(5, 7), 16) / 255;\n\n // Calcular a luminância relativa\n const luminance = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n // Se a luminância for baixa, usar branco como contraste, senão preto\n return luminance > 0.6 ? '#000000' : '#ffffff';\n}","import type { Color } from '../../theme';\nimport { hexToHsl } from '../hexToHsl';\nimport { adjustLightness } from '../adjustLightness';\nimport { getOpacityColor } from '../getOpacityColor';\nimport { getContrastColor } from '../getContrastColor/getContrastColor';\n\nexport function generateSupportColors(hex: string): Color {\n const variation = 20;\n\n const hsl = hexToHsl(hex);\n\n const contrastColor = getContrastColor(hex);\n const lighterColor = adjustLightness(hsl.h, hsl.s, hsl.l, variation);\n const darkerColor = adjustLightness(hsl.h, hsl.s, hsl.l, -variation * 1.7);\n const opacityColor = getOpacityColor(hex, variation / 100);\n\n return {\n main: hex,\n dark: darkerColor,\n light: lighterColor,\n opacity: opacityColor,\n contrast: contrastColor\n };\n}","import type { MappedColors, Colors, colors } from './Theme';\n\nfunction generateMappedColor(color: Colors): MappedColors[] {\n return [\n `${color}.main`,\n `${color}.dark`,\n `${color}.light`,\n `${color}.opacity`,\n `${color}.contrast`,\n ];\n}\n\nexport function createMappedColors(_colors: typeof colors): MappedColors[] {\n return _colors.reduce<MappedColors[]>((acc, color) => {\n const mapped = generateMappedColor(color);\n\n acc = [...acc, ...mapped];\n\n return acc;\n }, [\n 'text.primary',\n 'text.secondary',\n 'text.disabled',\n 'background.paper',\n 'background.default',\n 'divider'\n ]);\n}","import type { Path } from '@iziui/toolkit/interface';\n\nimport { createMappedColors } from './createMappedColors';\n\nexport const colors = ['primary', 'secondary', 'error', 'warning', 'success', 'info'] as const;\nexport const mappedColors = createMappedColors(colors);\n\nexport type Mode = 'light' | 'dark'\n\nexport type MappedColors = Path<PaletteBuilded>;\nexport type Colors = typeof colors[number];\n\nexport type Size = 'small' | 'medium' | 'large';\n\nexport interface Color {\n main: string;\n dark: string;\n light: string;\n opacity: string;\n contrast: string;\n}\n\nexport interface Palette {\n mode: Mode;\n info: string;\n error: string;\n warning: string;\n success: string;\n primary: string;\n secondary: string;\n grey: string;\n text: {\n primary: string;\n secondary: string;\n disabled: string;\n };\n background: {\n paper: string;\n default: string;\n };\n divider: string;\n}\n\nexport type Spacing = number;\nexport type Shape = { radius: number; }\nexport type Typography = { family: string; url?: string; }\n\nexport interface PaletteBuilded extends Pick<Palette, 'mode' | 'text' | 'background' | 'divider'> {\n mode: Mode;\n grey: Color;\n info: Color;\n error: Color;\n warning: Color;\n success: Color;\n primary: Color;\n secondary: Color;\n}\n\nexport interface Theme {\n shape: Shape;\n palette: Palette;\n spacing: Spacing;\n typography: Typography;\n}\n\nexport interface ThemeOptions extends Omit<Partial<Theme>, 'palette'> {\n palette?: Partial<Palette>;\n}\nexport interface ThemeBuilded extends Omit<Theme, 'palette'> {\n palette: PaletteBuilded;\n}\n","import type { ThemeBuilded, Color } from '../Theme';\n\nfunction setColor(name: string, color: Color) {\n document.documentElement.style.setProperty(`--${name}`, color.main);\n document.documentElement.style.setProperty(`--${name}-light`, color.light);\n document.documentElement.style.setProperty(`--${name}-dark`, color.dark);\n document.documentElement.style.setProperty(`--${name}-contrast`, color.contrast);\n document.documentElement.style.setProperty(`--${name}-opacity`, color.opacity);\n}\n\nfunction ensureStylesheet(href: string) {\n if (document.querySelector(`link[href=\"${href}\"]`)) return;\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = href;\n document.head.appendChild(link);\n}\n\nexport function applyTheme(theme: ThemeBuilded) {\n if (typeof window === 'undefined') { return; }\n\n const { palette, shape, spacing, typography } = theme;\n\n if (typography.url) { ensureStylesheet(typography.url); }\n\n // COLORS\n setColor('info', palette.info);\n setColor('error', palette.error);\n setColor('warning', palette.warning);\n setColor('success', palette.success);\n setColor('primary', palette.primary);\n setColor('secondary', palette.secondary);\n\n // GREY\n setColor('grey', palette.grey);\n\n // TYPOGRAPHY\n document.documentElement.style.setProperty('--typography', typography.family);\n\n // TEXT\n document.documentElement.style.setProperty('--text-primary', palette.text?.primary);\n document.documentElement.style.setProperty('--text-secondary', palette.text?.secondary);\n document.documentElement.style.setProperty('--text-disabled', palette.text?.disabled);\n\n // BACKGROUND\n document.documentElement.style.setProperty('--background-paper', palette.background?.paper);\n document.documentElement.style.setProperty('--background-default', palette.background?.default);\n\n // DIVIDER\n document.documentElement.style.setProperty('--divider', palette.divider);\n\n // SHAPE\n document.documentElement.style.setProperty('--radius', `${shape.radius}px`);\n\n // SPACING\n document.documentElement.style.setProperty('--spacing', `${spacing}px`);\n}","import type { Theme } from './Theme';\n\nexport const defaultSpacing: Theme['spacing'] = 8;\nexport const defaultShape: Theme['shape'] = { radius: 8 };\n\nexport const themeDefaultLight: Theme = {\n palette: {\n mode: 'light',\n info: '#72E4FC',\n error: '#FF5377',\n warning: '#FF9457',\n success: '#36E79B',\n primary: '#6C37F4',\n secondary: '#FB7185', //C026D3 // F97316 // FB7185 // F59E0B\n grey: '#F4F4F4',\n text: {\n primary: 'rgb(31, 41, 55)',\n secondary: 'rgb(75, 85, 99)',\n disabled: 'rgb(172, 172, 172)'\n },\n background: {\n paper: '#F9F8F9',\n default: '#FFF',\n },\n divider: 'rgba(0, 0, 0, 0.12)'\n },\n spacing: defaultSpacing,\n shape: defaultShape,\n typography: {\n family: 'Poppins',\n // eslint-disable-next-line\n url: 'https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap'\n }\n};\n\nexport const themeDefaultDark: Theme = {\n palette: {\n mode: 'dark',\n info: '#72E4FC',\n error: '#FF5377',\n warning: '#FF9457',\n success: '#36E79B',\n primary: '#6C37F4',\n secondary: '#EBFF5E',\n grey: '#2A2A2A',\n text: {\n primary: 'rgba(255, 255, 255, 0.87)',\n secondary: 'rgba(255, 255, 255, 0.6)',\n disabled: 'rgba(255, 255, 255, 0.38)'\n },\n background: {\n paper: '#0D0225',\n default: '#30294E',\n },\n divider: 'rgba(255, 255, 255, 0.12)'\n },\n spacing: defaultSpacing,\n shape: defaultShape,\n typography: {\n family: 'Poppins',\n // eslint-disable-next-line\n url: 'https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap'\n }\n};","import { generateSupportColors } from '../../utils';\nimport type { ThemeBuilded, ThemeOptions } from '../Theme';\nimport { themeDefaultDark, themeDefaultLight } from '../defaultTheme';\n\nconst SUPPORT_KEYS = [\n 'primary',\n 'secondary',\n 'error',\n 'warning',\n 'success',\n 'info',\n 'grey',\n] as const;\n\ntype SupportKey = (typeof SUPPORT_KEYS)[number];\n\nexport function createTheme(theme?: ThemeOptions): ThemeBuilded {\n const mode = theme?.palette?.mode ?? 'light';\n const ref = mode === 'dark' ? themeDefaultDark : themeDefaultLight;\n\n const paletteFromUser = theme?.palette ?? {};\n const paletteFromRef = ref.palette;\n\n const supportColors = Object.fromEntries(\n SUPPORT_KEYS.map((key) => [\n key,\n generateSupportColors(paletteFromUser[key] ?? paletteFromRef[key]),\n ])\n ) as Record<SupportKey, ThemeBuilded['palette'][SupportKey]>;\n\n return {\n palette: {\n mode,\n text: paletteFromUser.text ?? paletteFromRef.text,\n background: paletteFromUser.background ?? paletteFromRef.background,\n divider: paletteFromUser.divider ?? paletteFromRef.divider,\n ...supportColors,\n },\n shape: theme?.shape ?? ref.shape,\n spacing: theme?.spacing ?? ref.spacing,\n typography: theme?.typography ?? ref.typography,\n };\n}","import { createContext, useEffect, useMemo, useState, type PropsWithChildren } from 'react';\n\nimport type { ThemeBuilded } from '@iziui/core/theme';\nimport { createTheme, applyTheme, themeDefaultLight } from '@iziui/core/theme';\n\nimport '@iziui/styles/base/_base.scss';\n\nexport interface ThemeContextConfig {\n theme: ThemeBuilded;\n updateTheme: (theme: ThemeBuilded) => void;\n}\n\nexport const ThemeContext = createContext<ThemeContextConfig>({\n theme: createTheme(themeDefaultLight),\n updateTheme: () => { },\n});\n\ntype ThemeProviderProps = PropsWithChildren<{ theme: ThemeBuilded; }>\nexport default function ThemeProvider({ theme, children }: ThemeProviderProps) {\n const [_theme, setTheme] = useState<ThemeBuilded>(theme);\n\n const context = useMemo<ThemeContextConfig>(() => ({\n theme: _theme,\n updateTheme: (newTheme: ThemeBuilded) => updateTheme(newTheme),\n }), [theme, _theme]);\n\n useEffect(() => { applyTheme(_theme); }, [_theme]);\n\n const updateTheme = (newTheme: ThemeBuilded) => { setTheme(newTheme); };\n\n return (\n <ThemeContext.Provider value={context}>\n {children}\n </ThemeContext.Provider>\n );\n}\n\n","import { useContext } from 'react';\n\nimport { ThemeContext } from './ThemeProvider';\n\nexport default function useTheme() {\n return useContext(ThemeContext);\n}"],"names":["hslToHex","h","s","l","c","x","m","r","g","b","newR","newG","newB","adjustLightness","amount","hexToHsl","hex","max","min","d","getOpacityColor","hexColor","opacity","alphaHex","getContrastColor","generateSupportColors","hsl","contrastColor","lighterColor","darkerColor","opacityColor","generateMappedColor","color","createMappedColors","_colors","acc","mapped","colors","setColor","name","ensureStylesheet","href","link","applyTheme","theme","palette","shape","spacing","typography","defaultSpacing","defaultShape","themeDefaultLight","themeDefaultDark","SUPPORT_KEYS","createTheme","mode","ref","paletteFromUser","paletteFromRef","supportColors","key","ThemeContext","createContext","ThemeProvider","children","_theme","setTheme","useState","context","useMemo","newTheme","updateTheme","useEffect","useTheme","useContext"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";const u=require("react"),P=require("react/jsx-runtime");function $(t,e,r){e/=100,r/=100;const n=(1-Math.abs(2*r-1))*e,a=n*(1-Math.abs(t/60%2-1)),o=r-n/2;let s=0,c=0,i=0;0<=t&&t<60?(s=n,c=a,i=0):60<=t&&t<120?(s=a,c=n,i=0):120<=t&&t<180?(s=0,c=n,i=a):180<=t&&t<240?(s=0,c=a,i=n):240<=t&&t<300?(s=a,c=0,i=n):300<=t&&t<360&&(s=n,c=0,i=a);const p=Math.round((s+o)*255).toString(16).padStart(2,"0"),F=Math.round((c+o)*255).toString(16).padStart(2,"0"),E=Math.round((i+o)*255).toString(16).padStart(2,"0");return`#${p}${F}${E}`}function l(t,e,r,n){return r=Math.min(Math.max(r+n,0),100),$(t,e,r)}function k(t){const e=parseInt(t.slice(1,3),16)/255,r=parseInt(t.slice(3,5),16)/255,n=parseInt(t.slice(5,7),16)/255,a=Math.max(e,r,n),o=Math.min(e,r,n);let s=0,c=0;const i=(a+o)/2;if(a===o)s=c=0;else{const p=a-o;switch(c=i>.5?p/(2-a-o):p/(a+o),a){case e:s=(r-n)/p+(r<n?6:0);break;case r:s=(n-e)/p+2;break;case n:s=(e-r)/p+4;break}s*=60}return{h:s,s:c*100,l:i*100}}function w(t,e){if(!/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(t))throw new Error("Cor inválida. Use um formato hexadecimal (#RRGGBB ou #RGB).");t.length===4&&(t=`#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`);const a=Math.round(e*255).toString(16).padStart(2,"0").toUpperCase();return`${t}${a}`}function m(t){const e=parseInt(t.slice(1,3),16)/255,r=parseInt(t.slice(3,5),16)/255,n=parseInt(t.slice(5,7),16)/255;return .2126*e+.7152*r+.0722*n>.6?"#000000":"#ffffff"}function v(t){const r=k(t),n=m(t),a=l(r.h,r.s,r.l,20),o=l(r.h,r.s,r.l,-20*1.7),s=w(t,20/100);return{main:t,dark:o,light:a,opacity:s,contrast:n}}function x(t){return[`${t}.main`,`${t}.dark`,`${t}.light`,`${t}.opacity`,`${t}.contrast`]}function S(t){return t.reduce((e,r)=>{const n=x(r);return e=[...e,...n],e},["text.primary","text.secondary","text.disabled","background.paper","background.default","divider"])}const T=["primary","secondary","error","warning","success","info"];S(T);function d(t,e){document.documentElement.style.setProperty(`--${t}`,e.main),document.documentElement.style.setProperty(`--${t}-light`,e.light),document.documentElement.style.setProperty(`--${t}-dark`,e.dark),document.documentElement.style.setProperty(`--${t}-contrast`,e.contrast),document.documentElement.style.setProperty(`--${t}-opacity`,e.opacity)}function C(t){if(document.querySelector(`link[href="${t}"]`))return;const e=document.createElement("link");e.rel="stylesheet",e.href=t,document.head.appendChild(e)}function M(t){if(typeof window>"u")return;const{palette:e,shape:r,spacing:n,typography:a}=t;a.url&&C(a.url),d("info",e.info),d("error",e.error),d("warning",e.warning),d("success",e.success),d("primary",e.primary),d("secondary",e.secondary),d("grey",e.grey),document.documentElement.style.setProperty("--typography",a.family),document.documentElement.style.setProperty("--text-primary",e.text?.primary),document.documentElement.style.setProperty("--text-secondary",e.text?.secondary),document.documentElement.style.setProperty("--text-disabled",e.text?.disabled),document.documentElement.style.setProperty("--background-paper",e.background?.paper),document.documentElement.style.setProperty("--background-default",e.background?.default),document.documentElement.style.setProperty("--divider",e.divider),document.documentElement.style.setProperty("--radius",`${r.radius}px`),document.documentElement.style.setProperty("--spacing",`${n}px`)}const y=8,g={radius:8},f={palette:{mode:"light",info:"#72E4FC",error:"#FF5377",warning:"#FF9457",success:"#36E79B",primary:"#6C37F4",secondary:"#FB7185",grey:"#F4F4F4",text:{primary:"rgb(31, 41, 55)",secondary:"rgb(75, 85, 99)",disabled:"rgb(172, 172, 172)"},background:{paper:"#F9F8F9",default:"#FFF"},divider:"rgba(0, 0, 0, 0.12)"},spacing:y,shape:g,typography:{family:"Poppins",url:"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap"}},B={palette:{mode:"dark",info:"#72E4FC",error:"#FF5377",warning:"#FF9457",success:"#36E79B",primary:"#6C37F4",secondary:"#EBFF5E",grey:"#2A2A2A",text:{primary:"rgba(255, 255, 255, 0.87)",secondary:"rgba(255, 255, 255, 0.6)",disabled:"rgba(255, 255, 255, 0.38)"},background:{paper:"#0D0225",default:"#30294E"},divider:"rgba(255, 255, 255, 0.12)"},spacing:y,shape:g,typography:{family:"Poppins",url:"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap"}},R=["primary","secondary","error","warning","success","info","grey"];function h(t){const e=t?.palette?.mode??"light",r=e==="dark"?B:f,n=t?.palette??{},a=r.palette,o=Object.fromEntries(R.map(s=>[s,v(n[s]??a[s])]));return{palette:{mode:e,text:n.text??a.text,background:n.background??a.background,divider:n.divider??a.divider,...o},shape:t?.shape??r.shape,spacing:t?.spacing??r.spacing,typography:t?.typography??r.typography}}const b=u.createContext({theme:h(f),updateTheme:()=>{}});function I({theme:t,children:e}){const[r,n]=u.useState(t),a=u.useMemo(()=>({theme:r,updateTheme:s=>o(s)}),[t,r]);u.useEffect(()=>{M(r)},[r]);const o=s=>{n(s)};return P.jsx(b.Provider,{value:a,children:e})}function A(){return u.useContext(b)}exports.ThemeProvider=I;exports.createTheme=h;exports.getContrastColor=m;exports.useTheme=A;
2
- //# sourceMappingURL=useTheme-BZl65Sjh.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTheme-BZl65Sjh.cjs","sources":["../../../../core/src/utils/hslToHex/hslToHex.ts","../../../../core/src/utils/adjustLightness/adjustLightness.ts","../../../../core/src/utils/hexToHsl/hexToHsl.ts","../../../../core/src/utils/getOpacityColor/getOpacityColor.ts","../../../../core/src/utils/getContrastColor/getContrastColor.ts","../../../../core/src/utils/generateSupportColors/generateSupportColors.ts","../../../../core/src/theme/createMappedColors.ts","../../../../core/src/theme/Theme.ts","../../../../core/src/theme/applyTheme/applyTheme.ts","../../../../core/src/theme/defaultTheme.ts","../../../../core/src/theme/createTheme/createTheme.ts","../../src/theme/ThemeProvider.tsx","../../src/theme/useTheme.ts"],"sourcesContent":["export function hslToHex(h: number, s: number, l: number) {\n s /= 100;\n l /= 100;\n\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs((h / 60) % 2 - 1));\n const m = l - c / 2;\n let r = 0, g = 0, b = 0;\n\n if (0 <= h && h < 60) { r = c; g = x; b = 0; }\n else if (60 <= h && h < 120) { r = x; g = c; b = 0; }\n else if (120 <= h && h < 180) { r = 0; g = c; b = x; }\n else if (180 <= h && h < 240) { r = 0; g = x; b = c; }\n else if (240 <= h && h < 300) { r = x; g = 0; b = c; }\n else if (300 <= h && h < 360) { r = c; g = 0; b = x; }\n\n const newR = Math.round((r + m) * 255).toString(16).padStart(2, '0');\n const newG = Math.round((g + m) * 255).toString(16).padStart(2, '0');\n const newB = Math.round((b + m) * 255).toString(16).padStart(2, '0');\n\n return `#${newR}${newG}${newB}`;\n}","import { hslToHex } from '../hslToHex';\n\nexport function adjustLightness(h: number, s: number, l: number, amount: number) {\n l = Math.min(Math.max(l + amount, 0), 100);\n return hslToHex(h, s, l);\n}","export function hexToHsl(hex: string) {\n const r = parseInt(hex.slice(1, 3), 16) / 255;\n const g = parseInt(hex.slice(3, 5), 16) / 255;\n const b = parseInt(hex.slice(5, 7), 16) / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = 0, s = 0;\n const l = (max + min) / 2;\n\n if (max === min) {\n h = s = 0; // acromático\n } else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch (max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h *= 60;\n }\n\n return { h, s: s * 100, l: l * 100 };\n}","/**\n * Adiciona opacidade a uma cor em hexadecimal.\n * @param hexColor - A cor em hexadecimal (ex: #RRGGBB ou #RGB).\n * @param opacity - O valor da opacidade (entre 0 e 1).\n * @returns A cor hexadecimal com opacidade (ex: #RRGGBBAA).\n */\nexport function getOpacityColor(hexColor: string, opacity: number): string {\n // Validar entrada do hexadecimal\n const hexPattern = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;\n if (!hexPattern.test(hexColor)) {\n throw new Error('Cor inválida. Use um formato hexadecimal (#RRGGBB ou #RGB).');\n }\n\n // Expandir formato #RGB para #RRGGBB\n if (hexColor.length === 4) {\n hexColor = `#${hexColor[1]}${hexColor[1]}${hexColor[2]}${hexColor[2]}${hexColor[3]}${hexColor[3]}`;\n }\n\n // Converter opacidade para formato hexadecimal (0 a 255)\n const alpha = Math.round(opacity * 255);\n const alphaHex = alpha.toString(16).padStart(2, '0').toUpperCase();\n\n // Combinar cor com opacidade\n return `${hexColor}${alphaHex}`;\n}","export function getContrastColor(hexColor: string) {\n // Converter hexadecimal para RGB\n const r = parseInt(hexColor.slice(1, 3), 16) / 255;\n const g = parseInt(hexColor.slice(3, 5), 16) / 255;\n const b = parseInt(hexColor.slice(5, 7), 16) / 255;\n\n // Calcular a luminância relativa\n const luminance = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n // Se a luminância for baixa, usar branco como contraste, senão preto\n return luminance > 0.6 ? '#000000' : '#ffffff';\n}","import type { Color } from '../../theme';\nimport { hexToHsl } from '../hexToHsl';\nimport { adjustLightness } from '../adjustLightness';\nimport { getOpacityColor } from '../getOpacityColor';\nimport { getContrastColor } from '../getContrastColor/getContrastColor';\n\nexport function generateSupportColors(hex: string): Color {\n const variation = 20;\n\n const hsl = hexToHsl(hex);\n\n const contrastColor = getContrastColor(hex);\n const lighterColor = adjustLightness(hsl.h, hsl.s, hsl.l, variation);\n const darkerColor = adjustLightness(hsl.h, hsl.s, hsl.l, -variation * 1.7);\n const opacityColor = getOpacityColor(hex, variation / 100);\n\n return {\n main: hex,\n dark: darkerColor,\n light: lighterColor,\n opacity: opacityColor,\n contrast: contrastColor\n };\n}","import type { MappedColors, Colors, colors } from './Theme';\n\nfunction generateMappedColor(color: Colors): MappedColors[] {\n return [\n `${color}.main`,\n `${color}.dark`,\n `${color}.light`,\n `${color}.opacity`,\n `${color}.contrast`,\n ];\n}\n\nexport function createMappedColors(_colors: typeof colors): MappedColors[] {\n return _colors.reduce<MappedColors[]>((acc, color) => {\n const mapped = generateMappedColor(color);\n\n acc = [...acc, ...mapped];\n\n return acc;\n }, [\n 'text.primary',\n 'text.secondary',\n 'text.disabled',\n 'background.paper',\n 'background.default',\n 'divider'\n ]);\n}","import type { Path } from '@iziui/toolkit/interface';\n\nimport { createMappedColors } from './createMappedColors';\n\nexport const colors = ['primary', 'secondary', 'error', 'warning', 'success', 'info'] as const;\nexport const mappedColors = createMappedColors(colors);\n\nexport type Mode = 'light' | 'dark'\n\nexport type MappedColors = Path<PaletteBuilded>;\nexport type Colors = typeof colors[number];\n\nexport type Size = 'small' | 'medium' | 'large';\n\nexport interface Color {\n main: string;\n dark: string;\n light: string;\n opacity: string;\n contrast: string;\n}\n\nexport interface Palette {\n mode: Mode;\n info: string;\n error: string;\n warning: string;\n success: string;\n primary: string;\n secondary: string;\n grey: string;\n text: {\n primary: string;\n secondary: string;\n disabled: string;\n };\n background: {\n paper: string;\n default: string;\n };\n divider: string;\n}\n\nexport type Spacing = number;\nexport type Shape = { radius: number; }\nexport type Typography = { family: string; url?: string; }\n\nexport interface PaletteBuilded extends Pick<Palette, 'mode' | 'text' | 'background' | 'divider'> {\n mode: Mode;\n grey: Color;\n info: Color;\n error: Color;\n warning: Color;\n success: Color;\n primary: Color;\n secondary: Color;\n}\n\nexport interface Theme {\n shape: Shape;\n palette: Palette;\n spacing: Spacing;\n typography: Typography;\n}\n\nexport interface ThemeOptions extends Omit<Partial<Theme>, 'palette'> {\n palette?: Partial<Palette>;\n}\nexport interface ThemeBuilded extends Omit<Theme, 'palette'> {\n palette: PaletteBuilded;\n}\n","import type { ThemeBuilded, Color } from '../Theme';\n\nfunction setColor(name: string, color: Color) {\n document.documentElement.style.setProperty(`--${name}`, color.main);\n document.documentElement.style.setProperty(`--${name}-light`, color.light);\n document.documentElement.style.setProperty(`--${name}-dark`, color.dark);\n document.documentElement.style.setProperty(`--${name}-contrast`, color.contrast);\n document.documentElement.style.setProperty(`--${name}-opacity`, color.opacity);\n}\n\nfunction ensureStylesheet(href: string) {\n if (document.querySelector(`link[href=\"${href}\"]`)) return;\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = href;\n document.head.appendChild(link);\n}\n\nexport function applyTheme(theme: ThemeBuilded) {\n if (typeof window === 'undefined') { return; }\n\n const { palette, shape, spacing, typography } = theme;\n\n if (typography.url) { ensureStylesheet(typography.url); }\n\n // COLORS\n setColor('info', palette.info);\n setColor('error', palette.error);\n setColor('warning', palette.warning);\n setColor('success', palette.success);\n setColor('primary', palette.primary);\n setColor('secondary', palette.secondary);\n\n // GREY\n setColor('grey', palette.grey);\n\n // TYPOGRAPHY\n document.documentElement.style.setProperty('--typography', typography.family);\n\n // TEXT\n document.documentElement.style.setProperty('--text-primary', palette.text?.primary);\n document.documentElement.style.setProperty('--text-secondary', palette.text?.secondary);\n document.documentElement.style.setProperty('--text-disabled', palette.text?.disabled);\n\n // BACKGROUND\n document.documentElement.style.setProperty('--background-paper', palette.background?.paper);\n document.documentElement.style.setProperty('--background-default', palette.background?.default);\n\n // DIVIDER\n document.documentElement.style.setProperty('--divider', palette.divider);\n\n // SHAPE\n document.documentElement.style.setProperty('--radius', `${shape.radius}px`);\n\n // SPACING\n document.documentElement.style.setProperty('--spacing', `${spacing}px`);\n}","import type { Theme } from './Theme';\n\nexport const defaultSpacing: Theme['spacing'] = 8;\nexport const defaultShape: Theme['shape'] = { radius: 8 };\n\nexport const themeDefaultLight: Theme = {\n palette: {\n mode: 'light',\n info: '#72E4FC',\n error: '#FF5377',\n warning: '#FF9457',\n success: '#36E79B',\n primary: '#6C37F4',\n secondary: '#FB7185', //C026D3 // F97316 // FB7185 // F59E0B\n grey: '#F4F4F4',\n text: {\n primary: 'rgb(31, 41, 55)',\n secondary: 'rgb(75, 85, 99)',\n disabled: 'rgb(172, 172, 172)'\n },\n background: {\n paper: '#F9F8F9',\n default: '#FFF',\n },\n divider: 'rgba(0, 0, 0, 0.12)'\n },\n spacing: defaultSpacing,\n shape: defaultShape,\n typography: {\n family: 'Poppins',\n // eslint-disable-next-line\n url: 'https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap'\n }\n};\n\nexport const themeDefaultDark: Theme = {\n palette: {\n mode: 'dark',\n info: '#72E4FC',\n error: '#FF5377',\n warning: '#FF9457',\n success: '#36E79B',\n primary: '#6C37F4',\n secondary: '#EBFF5E',\n grey: '#2A2A2A',\n text: {\n primary: 'rgba(255, 255, 255, 0.87)',\n secondary: 'rgba(255, 255, 255, 0.6)',\n disabled: 'rgba(255, 255, 255, 0.38)'\n },\n background: {\n paper: '#0D0225',\n default: '#30294E',\n },\n divider: 'rgba(255, 255, 255, 0.12)'\n },\n spacing: defaultSpacing,\n shape: defaultShape,\n typography: {\n family: 'Poppins',\n // eslint-disable-next-line\n url: 'https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap'\n }\n};","import { generateSupportColors } from '../../utils';\nimport type { ThemeBuilded, ThemeOptions } from '../Theme';\nimport { themeDefaultDark, themeDefaultLight } from '../defaultTheme';\n\nconst SUPPORT_KEYS = [\n 'primary',\n 'secondary',\n 'error',\n 'warning',\n 'success',\n 'info',\n 'grey',\n] as const;\n\ntype SupportKey = (typeof SUPPORT_KEYS)[number];\n\nexport function createTheme(theme?: ThemeOptions): ThemeBuilded {\n const mode = theme?.palette?.mode ?? 'light';\n const ref = mode === 'dark' ? themeDefaultDark : themeDefaultLight;\n\n const paletteFromUser = theme?.palette ?? {};\n const paletteFromRef = ref.palette;\n\n const supportColors = Object.fromEntries(\n SUPPORT_KEYS.map((key) => [\n key,\n generateSupportColors(paletteFromUser[key] ?? paletteFromRef[key]),\n ])\n ) as Record<SupportKey, ThemeBuilded['palette'][SupportKey]>;\n\n return {\n palette: {\n mode,\n text: paletteFromUser.text ?? paletteFromRef.text,\n background: paletteFromUser.background ?? paletteFromRef.background,\n divider: paletteFromUser.divider ?? paletteFromRef.divider,\n ...supportColors,\n },\n shape: theme?.shape ?? ref.shape,\n spacing: theme?.spacing ?? ref.spacing,\n typography: theme?.typography ?? ref.typography,\n };\n}","import { createContext, useEffect, useMemo, useState, type PropsWithChildren } from 'react';\n\nimport type { ThemeBuilded } from '@iziui/core/theme';\nimport { createTheme, applyTheme, themeDefaultLight } from '@iziui/core/theme';\n\nimport '@iziui/styles/base/_base.scss';\n\nexport interface ThemeContextConfig {\n theme: ThemeBuilded;\n updateTheme: (theme: ThemeBuilded) => void;\n}\n\nexport const ThemeContext = createContext<ThemeContextConfig>({\n theme: createTheme(themeDefaultLight),\n updateTheme: () => { },\n});\n\ntype ThemeProviderProps = PropsWithChildren<{ theme: ThemeBuilded; }>\nexport default function ThemeProvider({ theme, children }: ThemeProviderProps) {\n const [_theme, setTheme] = useState<ThemeBuilded>(theme);\n\n const context = useMemo<ThemeContextConfig>(() => ({\n theme: _theme,\n updateTheme: (newTheme: ThemeBuilded) => updateTheme(newTheme),\n }), [theme, _theme]);\n\n useEffect(() => { applyTheme(_theme); }, [_theme]);\n\n const updateTheme = (newTheme: ThemeBuilded) => { setTheme(newTheme); };\n\n return (\n <ThemeContext.Provider value={context}>\n {children}\n </ThemeContext.Provider>\n );\n}\n\n","import { useContext } from 'react';\n\nimport { ThemeContext } from './ThemeProvider';\n\nexport default function useTheme() {\n return useContext(ThemeContext);\n}"],"names":["hslToHex","h","s","l","c","x","m","r","g","b","newR","newG","newB","adjustLightness","amount","hexToHsl","hex","max","min","d","getOpacityColor","hexColor","opacity","alphaHex","getContrastColor","generateSupportColors","hsl","contrastColor","lighterColor","darkerColor","opacityColor","generateMappedColor","color","createMappedColors","_colors","acc","mapped","colors","setColor","name","ensureStylesheet","href","link","applyTheme","theme","palette","shape","spacing","typography","defaultSpacing","defaultShape","themeDefaultLight","themeDefaultDark","SUPPORT_KEYS","createTheme","mode","ref","paletteFromUser","paletteFromRef","supportColors","key","ThemeContext","createContext","ThemeProvider","children","_theme","setTheme","useState","context","useMemo","newTheme","updateTheme","useEffect","useTheme","useContext"],"mappings":"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"}