@iziui/react 0.0.92-rc → 0.0.94-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 (170) hide show
  1. package/dist/.types/_internal/core/options/CustomOptions.d.ts +1 -6
  2. package/dist/.types/_internal/core/options/createOptions/createOptions.d.ts +1 -1
  3. package/dist/.types/_internal/core/plugin/behavior/defineBoxShadow/defineBoxShadow.d.ts +1 -5
  4. package/dist/.types/_internal/core/plugin/color/defineBackground/defineBackground.d.ts +1 -5
  5. package/dist/.types/_internal/core/plugin/color/defineBackgroundColor/defineBackgroundColor.d.ts +1 -5
  6. package/dist/.types/_internal/core/plugin/color/defineBorderColor/defineBorderColor.d.ts +1 -5
  7. package/dist/.types/_internal/core/plugin/color/defineColor/defineColor.d.ts +1 -5
  8. package/dist/.types/_internal/core/plugin/definePlugin/definePlugin.d.ts +3 -2
  9. package/dist/.types/_internal/core/plugin/index.d.ts +0 -1
  10. package/dist/.types/_internal/core/plugin/plugin.d.ts +1 -2
  11. package/dist/.types/_internal/core/plugin/shape/defineBorderRadius/defineBorderRadius.d.ts +1 -5
  12. package/dist/.types/_internal/core/plugin/spacing/defineMargin/defineMargin.d.ts +1 -7
  13. package/dist/.types/_internal/core/plugin/spacing/definePadding/definePadding.d.ts +1 -7
  14. package/dist/.types/core/createComponent.d.ts.map +1 -1
  15. package/dist/.types/feedback/Alert/Alert.d.ts.map +1 -1
  16. package/dist/.types/navigation/Tabs/TabButton.d.ts +2 -2
  17. package/dist/.types/navigation/Tabs/TabButton.d.ts.map +1 -1
  18. package/dist/.types/navigation/Tabs/TabContent.d.ts +2 -3
  19. package/dist/.types/navigation/Tabs/TabContent.d.ts.map +1 -1
  20. package/dist/.types/navigation/Tabs/index.d.ts +4 -1
  21. package/dist/.types/navigation/Tabs/index.d.ts.map +1 -1
  22. package/dist/chunks/Alert-CD6hOvos.js +2 -0
  23. package/dist/chunks/Alert-CD6hOvos.js.map +1 -0
  24. package/dist/chunks/Alert-DCB56IAI.cjs +2 -0
  25. package/dist/chunks/Alert-DCB56IAI.cjs.map +1 -0
  26. package/dist/chunks/{Box-DdpIV_Bl.cjs → Box-CNg55MFq.cjs} +2 -2
  27. package/dist/chunks/{Box-DdpIV_Bl.cjs.map → Box-CNg55MFq.cjs.map} +1 -1
  28. package/dist/chunks/{Box-O2jw08Hf.js → Box-DqBZgXYR.js} +2 -2
  29. package/dist/chunks/{Box-O2jw08Hf.js.map → Box-DqBZgXYR.js.map} +1 -1
  30. package/dist/chunks/{ButtonIcon-BMOZPxpN.cjs → ButtonIcon-Ccq88QaY.cjs} +2 -2
  31. package/dist/chunks/{ButtonIcon-BMOZPxpN.cjs.map → ButtonIcon-Ccq88QaY.cjs.map} +1 -1
  32. package/dist/chunks/{ButtonIcon-CYO1Crb-.js → ButtonIcon-DMetcfYt.js} +2 -2
  33. package/dist/chunks/{ButtonIcon-CYO1Crb-.js.map → ButtonIcon-DMetcfYt.js.map} +1 -1
  34. package/dist/chunks/{Card-DtjP8NP7.cjs → Card-Bqgukgip.cjs} +2 -2
  35. package/dist/chunks/{Card-DtjP8NP7.cjs.map → Card-Bqgukgip.cjs.map} +1 -1
  36. package/dist/chunks/{Card-D_RFnUk2.js → Card-C2mSdoXV.js} +2 -2
  37. package/dist/chunks/{Card-D_RFnUk2.js.map → Card-C2mSdoXV.js.map} +1 -1
  38. package/dist/chunks/{CardContent-BsSfxSQH.js → CardContent-CViecz1a.js} +2 -2
  39. package/dist/chunks/{CardContent-BsSfxSQH.js.map → CardContent-CViecz1a.js.map} +1 -1
  40. package/dist/chunks/{CardContent-BqqU9iwO.cjs → CardContent-DPL-tBOS.cjs} +2 -2
  41. package/dist/chunks/{CardContent-BqqU9iwO.cjs.map → CardContent-DPL-tBOS.cjs.map} +1 -1
  42. package/dist/chunks/{DrawerContent-Dyc1evVF.cjs → DrawerContent-BkSL16Os.cjs} +2 -2
  43. package/dist/chunks/{DrawerContent-Dyc1evVF.cjs.map → DrawerContent-BkSL16Os.cjs.map} +1 -1
  44. package/dist/chunks/{DrawerContent-CYQSz1G-.js → DrawerContent-D8NDBDBf.js} +2 -2
  45. package/dist/chunks/{DrawerContent-CYQSz1G-.js.map → DrawerContent-D8NDBDBf.js.map} +1 -1
  46. package/dist/chunks/{Icon-CIrgQex7.cjs → Icon-BN4Kp4Aq.cjs} +2 -2
  47. package/dist/chunks/{Icon-CIrgQex7.cjs.map → Icon-BN4Kp4Aq.cjs.map} +1 -1
  48. package/dist/chunks/{Icon-imOBrsbL.js → Icon-DTU52KQE.js} +2 -2
  49. package/dist/chunks/{Icon-imOBrsbL.js.map → Icon-DTU52KQE.js.map} +1 -1
  50. package/dist/chunks/{Loading-qktwpHVe.js → Loading-BjCfYdLa.js} +2 -2
  51. package/dist/chunks/{Loading-qktwpHVe.js.map → Loading-BjCfYdLa.js.map} +1 -1
  52. package/dist/chunks/{Loading-BB3SGbdY.cjs → Loading-DVK2G3KT.cjs} +2 -2
  53. package/dist/chunks/{Loading-BB3SGbdY.cjs.map → Loading-DVK2G3KT.cjs.map} +1 -1
  54. package/dist/chunks/{MenuButton-CvQxSdho.js → MenuButton-31ZFG3JW.js} +2 -2
  55. package/dist/chunks/{MenuButton-CvQxSdho.js.map → MenuButton-31ZFG3JW.js.map} +1 -1
  56. package/dist/chunks/{MenuButton-D0cPZU6x.cjs → MenuButton-Dpbow8YC.cjs} +2 -2
  57. package/dist/chunks/{MenuButton-D0cPZU6x.cjs.map → MenuButton-Dpbow8YC.cjs.map} +1 -1
  58. package/dist/chunks/{Stack-B_lU0ez7.cjs → Stack-CF3Wyma9.cjs} +2 -2
  59. package/dist/chunks/{Stack-B_lU0ez7.cjs.map → Stack-CF3Wyma9.cjs.map} +1 -1
  60. package/dist/chunks/{Stack-Deow48Th.js → Stack-CHR_pZC4.js} +2 -2
  61. package/dist/chunks/{Stack-Deow48Th.js.map → Stack-CHR_pZC4.js.map} +1 -1
  62. package/dist/chunks/{TableHeader-DnifrYxO.js → TableHeader-CrbbJXyv.js} +2 -2
  63. package/dist/chunks/{TableHeader-DnifrYxO.js.map → TableHeader-CrbbJXyv.js.map} +1 -1
  64. package/dist/chunks/{TableHeader-SKzj2zHB.cjs → TableHeader-D0wXM5mO.cjs} +2 -2
  65. package/dist/chunks/{TableHeader-SKzj2zHB.cjs.map → TableHeader-D0wXM5mO.cjs.map} +1 -1
  66. package/dist/chunks/{Typography-BrJZyxiT.js → Typography-B_WR62ip.js} +2 -2
  67. package/dist/chunks/{Typography-BrJZyxiT.js.map → Typography-B_WR62ip.js.map} +1 -1
  68. package/dist/chunks/{Typography-DW57lh3e.cjs → Typography-Ch-BLqCH.cjs} +2 -2
  69. package/dist/chunks/{Typography-DW57lh3e.cjs.map → Typography-Ch-BLqCH.cjs.map} +1 -1
  70. package/dist/chunks/createComponent-Bls5N6x8.cjs +2 -0
  71. package/dist/chunks/createComponent-Bls5N6x8.cjs.map +1 -0
  72. package/dist/chunks/createComponent-BmdhWozT.js +2 -0
  73. package/dist/chunks/createComponent-BmdhWozT.js.map +1 -0
  74. package/dist/chunks/useMenu-CvPJe62S.cjs +2 -0
  75. package/dist/chunks/{useMenu-DewYBiar.cjs.map → useMenu-CvPJe62S.cjs.map} +1 -1
  76. package/dist/chunks/useMenu-we523Eob.js +2 -0
  77. package/dist/chunks/{useMenu-DuX7EGHi.js.map → useMenu-we523Eob.js.map} +1 -1
  78. package/dist/chunks/useTabs-DG53jo4T.js +2 -0
  79. package/dist/chunks/useTabs-DG53jo4T.js.map +1 -0
  80. package/dist/chunks/useTabs-Dcksp_re.cjs +2 -0
  81. package/dist/chunks/useTabs-Dcksp_re.cjs.map +1 -0
  82. package/dist/chunks/uuid-dGvr9vBZ.js +2 -0
  83. package/dist/chunks/uuid-dGvr9vBZ.js.map +1 -0
  84. package/dist/chunks/uuid-omnJ9TjZ.cjs +2 -0
  85. package/dist/chunks/uuid-omnJ9TjZ.cjs.map +1 -0
  86. package/dist/components/Alert/index.cjs +1 -1
  87. package/dist/components/Alert/index.js +1 -1
  88. package/dist/components/Avatar/index.cjs +1 -1
  89. package/dist/components/Avatar/index.cjs.map +1 -1
  90. package/dist/components/Avatar/index.js +1 -1
  91. package/dist/components/Avatar/index.js.map +1 -1
  92. package/dist/components/Box/index.cjs +1 -1
  93. package/dist/components/Box/index.js +1 -1
  94. package/dist/components/Button/index.cjs +1 -1
  95. package/dist/components/Button/index.js +1 -1
  96. package/dist/components/ButtonIcon/index.cjs +1 -1
  97. package/dist/components/ButtonIcon/index.js +1 -1
  98. package/dist/components/Card/index.cjs +1 -1
  99. package/dist/components/Card/index.js +1 -1
  100. package/dist/components/Checkbox/index.cjs +1 -1
  101. package/dist/components/Checkbox/index.js +1 -1
  102. package/dist/components/CheckboxGroup/index.cjs +1 -1
  103. package/dist/components/CheckboxGroup/index.js +1 -1
  104. package/dist/components/Chip/index.cjs +1 -1
  105. package/dist/components/Chip/index.js +1 -1
  106. package/dist/components/ColorPicker/index.cjs +1 -1
  107. package/dist/components/ColorPicker/index.cjs.map +1 -1
  108. package/dist/components/ColorPicker/index.js +1 -1
  109. package/dist/components/ColorPicker/index.js.map +1 -1
  110. package/dist/components/Container/index.cjs +1 -1
  111. package/dist/components/Container/index.js +1 -1
  112. package/dist/components/Divider/index.cjs +1 -1
  113. package/dist/components/Divider/index.js +1 -1
  114. package/dist/components/Drawer/index.cjs +1 -1
  115. package/dist/components/Drawer/index.js +1 -1
  116. package/dist/components/Icon/index.cjs +1 -1
  117. package/dist/components/Icon/index.js +1 -1
  118. package/dist/components/Input/index.cjs +1 -1
  119. package/dist/components/Input/index.js +1 -1
  120. package/dist/components/InputFile/index.cjs +1 -1
  121. package/dist/components/InputFile/index.js +1 -1
  122. package/dist/components/Loading/index.cjs +1 -1
  123. package/dist/components/Loading/index.js +1 -1
  124. package/dist/components/Menu/index.cjs +1 -1
  125. package/dist/components/Menu/index.js +1 -1
  126. package/dist/components/Modal/index.cjs +1 -1
  127. package/dist/components/Modal/index.js +1 -1
  128. package/dist/components/Select/index.cjs +1 -1
  129. package/dist/components/Select/index.cjs.map +1 -1
  130. package/dist/components/Select/index.js +1 -1
  131. package/dist/components/Select/index.js.map +1 -1
  132. package/dist/components/Skeleton/index.cjs +1 -1
  133. package/dist/components/Skeleton/index.js +1 -1
  134. package/dist/components/Stack/index.cjs +1 -1
  135. package/dist/components/Stack/index.js +1 -1
  136. package/dist/components/Switch/index.cjs +1 -1
  137. package/dist/components/Switch/index.cjs.map +1 -1
  138. package/dist/components/Switch/index.js +1 -1
  139. package/dist/components/Switch/index.js.map +1 -1
  140. package/dist/components/Table/index.cjs +1 -1
  141. package/dist/components/Table/index.js +1 -1
  142. package/dist/components/Tabs/index.cjs +1 -1
  143. package/dist/components/Tabs/index.cjs.map +1 -1
  144. package/dist/components/Tabs/index.js +1 -1
  145. package/dist/components/Tabs/index.js.map +1 -1
  146. package/dist/components/Toast/index.cjs +1 -1
  147. package/dist/components/Toast/index.cjs.map +1 -1
  148. package/dist/components/Toast/index.js +1 -1
  149. package/dist/components/Toast/index.js.map +1 -1
  150. package/dist/components/Tooltip/index.cjs +1 -1
  151. package/dist/components/Tooltip/index.js +1 -1
  152. package/dist/components/Typography/index.cjs +1 -1
  153. package/dist/components/Typography/index.js +1 -1
  154. package/dist/index.cjs +1 -1
  155. package/dist/index.js +1 -1
  156. package/dist/style.css +6 -6
  157. package/package.json +1 -1
  158. package/dist/.types/_internal/core/plugin/breakpoint/defineBreakpoint/defineBreakpoint.d.ts +0 -2
  159. package/dist/.types/_internal/core/plugin/breakpoint/defineBreakpoint/index.d.ts +0 -1
  160. package/dist/.types/_internal/core/plugin/breakpoint/index.d.ts +0 -1
  161. package/dist/chunks/Alert-CUgp08gU.cjs +0 -2
  162. package/dist/chunks/Alert-CUgp08gU.cjs.map +0 -1
  163. package/dist/chunks/Alert-mOXPwc3e.js +0 -2
  164. package/dist/chunks/Alert-mOXPwc3e.js.map +0 -1
  165. package/dist/chunks/createComponent-CovqNaAJ.js +0 -8
  166. package/dist/chunks/createComponent-CovqNaAJ.js.map +0 -1
  167. package/dist/chunks/createComponent-Dkt68kvT.cjs +0 -8
  168. package/dist/chunks/createComponent-Dkt68kvT.cjs.map +0 -1
  169. package/dist/chunks/useMenu-DewYBiar.cjs +0 -2
  170. package/dist/chunks/useMenu-DuX7EGHi.js +0 -2
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),c=require("react"),s=require("../../chunks/index-DYxwT4uW.cjs"),n=require("../../chunks/joinClass-Jk3EszKD.cjs"),M=require("../../chunks/Icon-CIrgQex7.cjs"),C=require("../../chunks/useMenu-DewYBiar.cjs"),k=require("../../chunks/createComponent-Dkt68kvT.cjs");require("../../chunks/useListenerResized-AwpsZLcP.cjs");require("../../chunks/Card-DtjP8NP7.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/CardContent-BqqU9iwO.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");function S({error:i,color:a="grey",label:u,helperText:p,startIcon:x,children:j,disabled:l,onChange:d,...t}){const f=c.Children.toArray(j),_=c.useMemo(()=>f.find(e=>e.props.value===t.value)?.props.children||"",[t.value]),[q,$,m]=C.useMenu(),v=n.joinClass(`${s.prefix}-select-container`),h=n.joinClass(`${s.prefix}-select-label`,i&&`${s.prefix}-select-label--error`),N=n.joinClass(`${s.prefix}-select`,l&&`${s.prefix}-select--disabled`,i&&`${s.prefix}-select--error`,t.className),y=n.joinClass(`${s.prefix}-select__helper-text`,p&&`${s.prefix}-select__helper-text--visible`,i&&`${s.prefix}-select__helper-text--error`),b=e=>c.cloneElement(e,{className:n.joinClass(e.props.className,`${s.prefix}-select__icon--left`),type:"button",style:{color:a},onClick:o=>{o.stopPropagation(),e.props.onClick&&!l&&e.props.onClick(o)}}),g=()=>f.map(e=>c.cloneElement(e,{color:a,className:n.joinClass(e.props.className,e.props.value===t.value&&`${s.prefix}-select__option--selected`),onClick:o=>{!e.props.disabled&&d&&d(o)}}));return r.jsxs("div",{className:v,children:[u&&r.jsxs("label",{className:h,children:[u," ",t.required&&"*"]}),r.jsxs("button",{type:"button",className:N,onClick:m,disabled:l,children:[r.jsx("div",{children:x&&b(x)}),r.jsx("input",{...t,readOnly:!0,type:"text",value:_,disabled:l}),r.jsx(M.Icon,{name:"angle-down",sx:{color:({grey:e})=>e.main},className:`${s.prefix}-select__icon--right`})]}),r.jsx(C.Menu,{autoClose:!0,direction:"center",open:q,anchorEl:$,onClose:m,children:g()}),r.jsx("span",{className:y,children:p})]})}const E=k.createComponent(S);exports.default=E;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),o=require("react"),s=require("../../chunks/index-DYxwT4uW.cjs"),n=require("../../chunks/joinClass-Jk3EszKD.cjs"),M=require("../../chunks/Icon-BN4Kp4Aq.cjs"),C=require("../../chunks/useMenu-CvPJe62S.cjs"),k=require("../../chunks/createComponent-Bls5N6x8.cjs");require("../../chunks/uuid-omnJ9TjZ.cjs");require("../../chunks/useListenerResized-AwpsZLcP.cjs");require("../../chunks/Card-Bqgukgip.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/CardContent-DPL-tBOS.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");function S({error:c,color:a="grey",label:u,helperText:p,startIcon:x,children:j,disabled:l,onChange:d,...t}){const f=o.Children.toArray(j),q=o.useMemo(()=>f.find(e=>e.props.value===t.value)?.props.children||"",[t.value]),[_,$,m]=C.useMenu(),v=n.joinClass(`${s.prefix}-select-container`),h=n.joinClass(`${s.prefix}-select-label`,c&&`${s.prefix}-select-label--error`),N=n.joinClass(`${s.prefix}-select`,l&&`${s.prefix}-select--disabled`,c&&`${s.prefix}-select--error`,t.className),y=n.joinClass(`${s.prefix}-select__helper-text`,p&&`${s.prefix}-select__helper-text--visible`,c&&`${s.prefix}-select__helper-text--error`),b=e=>o.cloneElement(e,{className:n.joinClass(e.props.className,`${s.prefix}-select__icon--left`),type:"button",style:{color:a},onClick:i=>{i.stopPropagation(),e.props.onClick&&!l&&e.props.onClick(i)}}),g=()=>f.map(e=>o.cloneElement(e,{color:a,className:n.joinClass(e.props.className,e.props.value===t.value&&`${s.prefix}-select__option--selected`),onClick:i=>{!e.props.disabled&&d&&d(i)}}));return r.jsxs("div",{className:v,children:[u&&r.jsxs("label",{className:h,children:[u," ",t.required&&"*"]}),r.jsxs("button",{type:"button",className:N,onClick:m,disabled:l,children:[r.jsx("div",{children:x&&b(x)}),r.jsx("input",{...t,readOnly:!0,type:"text",value:q,disabled:l}),r.jsx(M.Icon,{name:"angle-down",sx:{color:({grey:e})=>e.main},className:`${s.prefix}-select__icon--right`})]}),r.jsx(C.Menu,{autoClose:!0,direction:"center",open:_,anchorEl:$,onClose:m,children:g()}),r.jsx("span",{className:y,children:p})]})}const E=k.createComponent(S);exports.default=E;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/fields/Select/Select.tsx"],"sourcesContent":["import {\n useMemo,\n Children,\n cloneElement,\n type ReactElement,\n type InputHTMLAttributes,\n type ButtonHTMLAttributes,\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Colors } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport Icon from '@/display/Icon';\nimport { Menu, useMenu } from '@/navigation/Menu';\n\nimport type { OptionProps } from './Option';\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Select.scss';\n\nexport interface SelectProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'color'> {\n error?: boolean;\n autoClose?: boolean;\n label?: string;\n helperText?: string;\n color?: Colors;\n startIcon?: React.JSX.Element | boolean;\n children: React.JSX.Element | React.JSX.Element[];\n}\n\nfunction Select({\n error,\n color = 'grey',\n label,\n helperText,\n startIcon,\n children,\n disabled,\n onChange,\n ...props\n}: SelectProps) {\n const arrayChildren = Children.toArray(children) as ReactElement<OptionProps>[];\n\n const newValue = useMemo(() => {\n return arrayChildren.find((child) =>\n child.props.value === props.value)?.props.children || '';\n }, [props.value]);\n\n const [open, el, toggle] = useMenu();\n\n const containerClss = joinClass(\n `${prefix}-select-container`\n );\n\n const labelClss = joinClass(\n `${prefix}-select-label`,\n error && `${prefix}-select-label--error`,\n );\n\n const clss = joinClass(\n `${prefix}-select`,\n disabled && `${prefix}-select--disabled`,\n error && `${prefix}-select--error`,\n props.className\n );\n\n const helperTextClss = joinClass(\n `${prefix}-select__helper-text`,\n helperText && `${prefix}-select__helper-text--visible`,\n error && `${prefix}-select__helper-text--error`\n );\n\n const renderIcon = (icon: ReactElement<ButtonHTMLAttributes<any>>) => {\n return cloneElement(icon, {\n className: joinClass(\n icon.props.className,\n `${prefix}-select__icon--left`\n ),\n type: 'button',\n style: { color },\n onClick: (e) => {\n e.stopPropagation();\n if (icon.props.onClick && !disabled) { icon.props.onClick(e); };\n }\n });\n };\n\n const renderOption = () => {\n return arrayChildren.map((child) => {\n return cloneElement(child, {\n color,\n className: joinClass(\n child.props.className,\n child.props.value === props.value && `${prefix}-select__option--selected`,\n ),\n onClick: (e) => {\n if (!child.props.disabled && onChange) { onChange(e as any); }\n }\n });\n });\n };\n\n return (\n <div className={containerClss}>\n {label && <label className={labelClss}>{label} {props.required && '*'}</label>}\n <button type=\"button\" className={clss} onClick={toggle} disabled={disabled}>\n <div>\n {startIcon && renderIcon(startIcon as React.JSX.Element)}\n </div>\n <input {...props} readOnly type=\"text\" value={newValue} disabled={disabled} />\n <Icon\n name=\"angle-down\"\n sx={{ color: ({ grey }) => grey.main }}\n className={`${prefix}-select__icon--right`}\n />\n </button>\n <Menu\n autoClose\n direction=\"center\"\n open={open}\n anchorEl={el}\n onClose={toggle}\n >\n {renderOption()}\n </Menu>\n <span className={helperTextClss}>{helperText}</span>\n </div>\n );\n}\n\nexport default createComponent(Select);\n"],"names":["Select","error","color","label","helperText","startIcon","children","disabled","onChange","props","arrayChildren","Children","newValue","useMemo","child","open","el","toggle","useMenu","containerClss","joinClass","prefix","labelClss","clss","helperTextClss","renderIcon","icon","cloneElement","e","renderOption","jsxs","jsx","Icon","grey","Menu","Select_default","createComponent"],"mappings":"4rBAgCA,SAASA,EAAO,CACd,MAAAC,EACA,MAAAC,EAAQ,OACR,MAAAC,EACA,WAAAC,EACA,UAAAC,EACA,SAAAC,EACA,SAAAC,EACA,SAAAC,EACA,GAAGC,CACL,EAAgB,CACd,MAAMC,EAAgBC,EAAAA,SAAS,QAAQL,CAAQ,EAEzCM,EAAWC,EAAAA,QAAQ,IAChBH,EAAc,KAAMI,GACzBA,EAAM,MAAM,QAAUL,EAAM,KAAK,GAAG,MAAM,UAAY,GACvD,CAACA,EAAM,KAAK,CAAC,EAEV,CAACM,EAAMC,EAAIC,CAAM,EAAIC,EAAAA,QAAA,EAErBC,EAAgBC,EAAAA,UACpB,GAAGC,EAAAA,MAAM,mBAAA,EAGLC,EAAYF,EAAAA,UAChB,GAAGC,EAAAA,MAAM,gBACTpB,GAAS,GAAGoB,EAAAA,MAAM,sBAAA,EAGdE,EAAOH,EAAAA,UACX,GAAGC,EAAAA,MAAM,UACTd,GAAY,GAAGc,EAAAA,MAAM,oBACrBpB,GAAS,GAAGoB,EAAAA,MAAM,iBAClBZ,EAAM,SAAA,EAGFe,EAAiBJ,EAAAA,UACrB,GAAGC,EAAAA,MAAM,uBACTjB,GAAc,GAAGiB,EAAAA,MAAM,gCACvBpB,GAAS,GAAGoB,EAAAA,MAAM,6BAAA,EAGdI,EAAcC,GACXC,EAAAA,aAAaD,EAAM,CACxB,UAAWN,EAAAA,UACTM,EAAK,MAAM,UACX,GAAGL,EAAAA,MAAM,qBAAA,EAEX,KAAM,SACN,MAAO,CAAE,MAAAnB,CAAA,EACT,QAAU0B,GAAM,CACdA,EAAE,gBAAA,EACEF,EAAK,MAAM,SAAW,CAACnB,GAAYmB,EAAK,MAAM,QAAQE,CAAC,CAC7D,CAAA,CACD,EAGGC,EAAe,IACZnB,EAAc,IAAKI,GACjBa,EAAAA,aAAab,EAAO,CACzB,MAAAZ,EACA,UAAWkB,EAAAA,UACTN,EAAM,MAAM,UACZA,EAAM,MAAM,QAAUL,EAAM,OAAS,GAAGY,EAAAA,MAAM,2BAAA,EAEhD,QAAUO,GAAM,CACV,CAACd,EAAM,MAAM,UAAYN,GAAYA,EAASoB,CAAQ,CAC5D,CAAA,CACD,CACF,EAGH,OACEE,EAAAA,KAAC,MAAA,CAAI,UAAWX,EACb,SAAA,CAAAhB,GAAS2B,EAAAA,KAAC,QAAA,CAAM,UAAWR,EAAY,SAAA,CAAAnB,EAAM,IAAEM,EAAM,UAAY,GAAA,EAAI,EACtEqB,EAAAA,KAAC,UAAO,KAAK,SAAS,UAAWP,EAAM,QAASN,EAAQ,SAAAV,EACtD,SAAA,CAAAwB,EAAAA,IAAC,MAAA,CACE,SAAA1B,GAAaoB,EAAWpB,CAA8B,EACzD,EACA0B,EAAAA,IAAC,QAAA,CAAO,GAAGtB,EAAO,SAAQ,GAAC,KAAK,OAAO,MAAOG,EAAU,SAAAL,CAAA,CAAoB,EAC5EwB,EAAAA,IAACC,EAAAA,KAAA,CACC,KAAK,aACL,GAAI,CAAE,MAAO,CAAC,CAAE,KAAAC,CAAA,IAAWA,EAAK,IAAA,EAChC,UAAW,GAAGZ,EAAAA,MAAM,sBAAA,CAAA,CACtB,EACF,EACAU,EAAAA,IAACG,EAAAA,KAAA,CACC,UAAS,GACT,UAAU,SACV,KAAAnB,EACA,SAAUC,EACV,QAASC,EAER,SAAAY,EAAA,CAAa,CAAA,EAEhBE,EAAAA,IAAC,OAAA,CAAK,UAAWP,EAAiB,SAAApB,CAAA,CAAW,CAAA,EAC/C,CAEJ,CAEA,MAAA+B,EAAeC,EAAAA,gBAAgBpC,CAAM"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/fields/Select/Select.tsx"],"sourcesContent":["import {\n useMemo,\n Children,\n cloneElement,\n type ReactElement,\n type InputHTMLAttributes,\n type ButtonHTMLAttributes,\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Colors } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport Icon from '@/display/Icon';\nimport { Menu, useMenu } from '@/navigation/Menu';\n\nimport type { OptionProps } from './Option';\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Select.scss';\n\nexport interface SelectProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'color'> {\n error?: boolean;\n autoClose?: boolean;\n label?: string;\n helperText?: string;\n color?: Colors;\n startIcon?: React.JSX.Element | boolean;\n children: React.JSX.Element | React.JSX.Element[];\n}\n\nfunction Select({\n error,\n color = 'grey',\n label,\n helperText,\n startIcon,\n children,\n disabled,\n onChange,\n ...props\n}: SelectProps) {\n const arrayChildren = Children.toArray(children) as ReactElement<OptionProps>[];\n\n const newValue = useMemo(() => {\n return arrayChildren.find((child) =>\n child.props.value === props.value)?.props.children || '';\n }, [props.value]);\n\n const [open, el, toggle] = useMenu();\n\n const containerClss = joinClass(\n `${prefix}-select-container`\n );\n\n const labelClss = joinClass(\n `${prefix}-select-label`,\n error && `${prefix}-select-label--error`,\n );\n\n const clss = joinClass(\n `${prefix}-select`,\n disabled && `${prefix}-select--disabled`,\n error && `${prefix}-select--error`,\n props.className\n );\n\n const helperTextClss = joinClass(\n `${prefix}-select__helper-text`,\n helperText && `${prefix}-select__helper-text--visible`,\n error && `${prefix}-select__helper-text--error`\n );\n\n const renderIcon = (icon: ReactElement<ButtonHTMLAttributes<any>>) => {\n return cloneElement(icon, {\n className: joinClass(\n icon.props.className,\n `${prefix}-select__icon--left`\n ),\n type: 'button',\n style: { color },\n onClick: (e) => {\n e.stopPropagation();\n if (icon.props.onClick && !disabled) { icon.props.onClick(e); };\n }\n });\n };\n\n const renderOption = () => {\n return arrayChildren.map((child) => {\n return cloneElement(child, {\n color,\n className: joinClass(\n child.props.className,\n child.props.value === props.value && `${prefix}-select__option--selected`,\n ),\n onClick: (e) => {\n if (!child.props.disabled && onChange) { onChange(e as any); }\n }\n });\n });\n };\n\n return (\n <div className={containerClss}>\n {label && <label className={labelClss}>{label} {props.required && '*'}</label>}\n <button type=\"button\" className={clss} onClick={toggle} disabled={disabled}>\n <div>\n {startIcon && renderIcon(startIcon as React.JSX.Element)}\n </div>\n <input {...props} readOnly type=\"text\" value={newValue} disabled={disabled} />\n <Icon\n name=\"angle-down\"\n sx={{ color: ({ grey }) => grey.main }}\n className={`${prefix}-select__icon--right`}\n />\n </button>\n <Menu\n autoClose\n direction=\"center\"\n open={open}\n anchorEl={el}\n onClose={toggle}\n >\n {renderOption()}\n </Menu>\n <span className={helperTextClss}>{helperText}</span>\n </div>\n );\n}\n\nexport default createComponent(Select);\n"],"names":["Select","error","color","label","helperText","startIcon","children","disabled","onChange","props","arrayChildren","Children","newValue","useMemo","child","open","el","toggle","useMenu","containerClss","joinClass","prefix","labelClss","clss","helperTextClss","renderIcon","icon","cloneElement","e","renderOption","jsxs","jsx","Icon","grey","Menu","Select_default","createComponent"],"mappings":"suBAgCA,SAASA,EAAO,CACd,MAAAC,EACA,MAAAC,EAAQ,OACR,MAAAC,EACA,WAAAC,EACA,UAAAC,EACA,SAAAC,EACA,SAAAC,EACA,SAAAC,EACA,GAAGC,CACL,EAAgB,CACd,MAAMC,EAAgBC,EAAAA,SAAS,QAAQL,CAAQ,EAEzCM,EAAWC,EAAAA,QAAQ,IAChBH,EAAc,KAAMI,GACzBA,EAAM,MAAM,QAAUL,EAAM,KAAK,GAAG,MAAM,UAAY,GACvD,CAACA,EAAM,KAAK,CAAC,EAEV,CAACM,EAAMC,EAAIC,CAAM,EAAIC,EAAAA,QAAA,EAErBC,EAAgBC,EAAAA,UACpB,GAAGC,EAAAA,MAAM,mBAAA,EAGLC,EAAYF,EAAAA,UAChB,GAAGC,EAAAA,MAAM,gBACTpB,GAAS,GAAGoB,EAAAA,MAAM,sBAAA,EAGdE,EAAOH,EAAAA,UACX,GAAGC,EAAAA,MAAM,UACTd,GAAY,GAAGc,EAAAA,MAAM,oBACrBpB,GAAS,GAAGoB,EAAAA,MAAM,iBAClBZ,EAAM,SAAA,EAGFe,EAAiBJ,EAAAA,UACrB,GAAGC,EAAAA,MAAM,uBACTjB,GAAc,GAAGiB,EAAAA,MAAM,gCACvBpB,GAAS,GAAGoB,EAAAA,MAAM,6BAAA,EAGdI,EAAcC,GACXC,EAAAA,aAAaD,EAAM,CACxB,UAAWN,EAAAA,UACTM,EAAK,MAAM,UACX,GAAGL,EAAAA,MAAM,qBAAA,EAEX,KAAM,SACN,MAAO,CAAE,MAAAnB,CAAA,EACT,QAAU0B,GAAM,CACdA,EAAE,gBAAA,EACEF,EAAK,MAAM,SAAW,CAACnB,GAAYmB,EAAK,MAAM,QAAQE,CAAC,CAC7D,CAAA,CACD,EAGGC,EAAe,IACZnB,EAAc,IAAKI,GACjBa,EAAAA,aAAab,EAAO,CACzB,MAAAZ,EACA,UAAWkB,EAAAA,UACTN,EAAM,MAAM,UACZA,EAAM,MAAM,QAAUL,EAAM,OAAS,GAAGY,EAAAA,MAAM,2BAAA,EAEhD,QAAUO,GAAM,CACV,CAACd,EAAM,MAAM,UAAYN,GAAYA,EAASoB,CAAQ,CAC5D,CAAA,CACD,CACF,EAGH,OACEE,EAAAA,KAAC,MAAA,CAAI,UAAWX,EACb,SAAA,CAAAhB,GAAS2B,EAAAA,KAAC,QAAA,CAAM,UAAWR,EAAY,SAAA,CAAAnB,EAAM,IAAEM,EAAM,UAAY,GAAA,EAAI,EACtEqB,EAAAA,KAAC,UAAO,KAAK,SAAS,UAAWP,EAAM,QAASN,EAAQ,SAAAV,EACtD,SAAA,CAAAwB,EAAAA,IAAC,MAAA,CACE,SAAA1B,GAAaoB,EAAWpB,CAA8B,EACzD,EACA0B,EAAAA,IAAC,QAAA,CAAO,GAAGtB,EAAO,SAAQ,GAAC,KAAK,OAAO,MAAOG,EAAU,SAAAL,CAAA,CAAoB,EAC5EwB,EAAAA,IAACC,EAAAA,KAAA,CACC,KAAK,aACL,GAAI,CAAE,MAAO,CAAC,CAAE,KAAAC,CAAA,IAAWA,EAAK,IAAA,EAChC,UAAW,GAAGZ,EAAAA,MAAM,sBAAA,CAAA,CACtB,EACF,EACAU,EAAAA,IAACG,EAAAA,KAAA,CACC,UAAS,GACT,UAAU,SACV,KAAAnB,EACA,SAAUC,EACV,QAASC,EAER,SAAAY,EAAA,CAAa,CAAA,EAEhBE,EAAAA,IAAC,OAAA,CAAK,UAAWP,EAAiB,SAAApB,CAAA,CAAW,CAAA,EAC/C,CAEJ,CAEA,MAAA+B,EAAeC,EAAAA,gBAAgBpC,CAAM"}
@@ -1,2 +1,2 @@
1
- import{jsxs as a,jsx as l}from"react/jsx-runtime";import{Children as M,useMemo as w,cloneElement as _}from"react";import{p as t}from"../../chunks/index-CZ41y9Hn.js";import{j as r}from"../../chunks/joinClass-anSpaauN.js";import{I as E}from"../../chunks/Icon-imOBrsbL.js";import{u as I,M as O}from"../../chunks/useMenu-DuX7EGHi.js";import{c as S}from"../../chunks/createComponent-CovqNaAJ.js";import"../../chunks/useListenerResized-Bnqxrt7k.js";import"../../chunks/Card-D_RFnUk2.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/CardContent-BsSfxSQH.js";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";function q({error:c,color:i="grey",label:p,helperText:m,startIcon:u,children:$,disabled:o,onChange:d,...s}){const f=M.toArray($),h=w(()=>f.find(e=>e.props.value===s.value)?.props.children||"",[s.value]),[N,v,C]=I(),x=r(`${t}-select-container`),y=r(`${t}-select-label`,c&&`${t}-select-label--error`),b=r(`${t}-select`,o&&`${t}-select--disabled`,c&&`${t}-select--error`,s.className),g=r(`${t}-select__helper-text`,m&&`${t}-select__helper-text--visible`,c&&`${t}-select__helper-text--error`),k=e=>_(e,{className:r(e.props.className,`${t}-select__icon--left`),type:"button",style:{color:i},onClick:n=>{n.stopPropagation(),e.props.onClick&&!o&&e.props.onClick(n)}}),j=()=>f.map(e=>_(e,{color:i,className:r(e.props.className,e.props.value===s.value&&`${t}-select__option--selected`),onClick:n=>{!e.props.disabled&&d&&d(n)}}));return a("div",{className:x,children:[p&&a("label",{className:y,children:[p," ",s.required&&"*"]}),a("button",{type:"button",className:b,onClick:C,disabled:o,children:[l("div",{children:u&&k(u)}),l("input",{...s,readOnly:!0,type:"text",value:h,disabled:o}),l(E,{name:"angle-down",sx:{color:({grey:e})=>e.main},className:`${t}-select__icon--right`})]}),l(O,{autoClose:!0,direction:"center",open:N,anchorEl:v,onClose:C,children:j()}),l("span",{className:g,children:m})]})}const R=S(q);export{R as default};
1
+ import{jsxs as a,jsx as l}from"react/jsx-runtime";import{Children as M,useMemo as w,cloneElement as _}from"react";import{p as t}from"../../chunks/index-CZ41y9Hn.js";import{j as r}from"../../chunks/joinClass-anSpaauN.js";import{I as E}from"../../chunks/Icon-DTU52KQE.js";import{u as I,M as O}from"../../chunks/useMenu-we523Eob.js";import{c as S}from"../../chunks/createComponent-BmdhWozT.js";import"../../chunks/uuid-dGvr9vBZ.js";import"../../chunks/useListenerResized-Bnqxrt7k.js";import"../../chunks/Card-C2mSdoXV.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/CardContent-CViecz1a.js";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";function q({error:c,color:i="grey",label:p,helperText:m,startIcon:u,children:$,disabled:o,onChange:d,...s}){const f=M.toArray($),h=w(()=>f.find(e=>e.props.value===s.value)?.props.children||"",[s.value]),[N,v,C]=I(),x=r(`${t}-select-container`),y=r(`${t}-select-label`,c&&`${t}-select-label--error`),b=r(`${t}-select`,o&&`${t}-select--disabled`,c&&`${t}-select--error`,s.className),g=r(`${t}-select__helper-text`,m&&`${t}-select__helper-text--visible`,c&&`${t}-select__helper-text--error`),k=e=>_(e,{className:r(e.props.className,`${t}-select__icon--left`),type:"button",style:{color:i},onClick:n=>{n.stopPropagation(),e.props.onClick&&!o&&e.props.onClick(n)}}),j=()=>f.map(e=>_(e,{color:i,className:r(e.props.className,e.props.value===s.value&&`${t}-select__option--selected`),onClick:n=>{!e.props.disabled&&d&&d(n)}}));return a("div",{className:x,children:[p&&a("label",{className:y,children:[p," ",s.required&&"*"]}),a("button",{type:"button",className:b,onClick:C,disabled:o,children:[l("div",{children:u&&k(u)}),l("input",{...s,readOnly:!0,type:"text",value:h,disabled:o}),l(E,{name:"angle-down",sx:{color:({grey:e})=>e.main},className:`${t}-select__icon--right`})]}),l(O,{autoClose:!0,direction:"center",open:N,anchorEl:v,onClose:C,children:j()}),l("span",{className:g,children:m})]})}const T=S(q);export{T as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/fields/Select/Select.tsx"],"sourcesContent":["import {\n useMemo,\n Children,\n cloneElement,\n type ReactElement,\n type InputHTMLAttributes,\n type ButtonHTMLAttributes,\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Colors } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport Icon from '@/display/Icon';\nimport { Menu, useMenu } from '@/navigation/Menu';\n\nimport type { OptionProps } from './Option';\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Select.scss';\n\nexport interface SelectProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'color'> {\n error?: boolean;\n autoClose?: boolean;\n label?: string;\n helperText?: string;\n color?: Colors;\n startIcon?: React.JSX.Element | boolean;\n children: React.JSX.Element | React.JSX.Element[];\n}\n\nfunction Select({\n error,\n color = 'grey',\n label,\n helperText,\n startIcon,\n children,\n disabled,\n onChange,\n ...props\n}: SelectProps) {\n const arrayChildren = Children.toArray(children) as ReactElement<OptionProps>[];\n\n const newValue = useMemo(() => {\n return arrayChildren.find((child) =>\n child.props.value === props.value)?.props.children || '';\n }, [props.value]);\n\n const [open, el, toggle] = useMenu();\n\n const containerClss = joinClass(\n `${prefix}-select-container`\n );\n\n const labelClss = joinClass(\n `${prefix}-select-label`,\n error && `${prefix}-select-label--error`,\n );\n\n const clss = joinClass(\n `${prefix}-select`,\n disabled && `${prefix}-select--disabled`,\n error && `${prefix}-select--error`,\n props.className\n );\n\n const helperTextClss = joinClass(\n `${prefix}-select__helper-text`,\n helperText && `${prefix}-select__helper-text--visible`,\n error && `${prefix}-select__helper-text--error`\n );\n\n const renderIcon = (icon: ReactElement<ButtonHTMLAttributes<any>>) => {\n return cloneElement(icon, {\n className: joinClass(\n icon.props.className,\n `${prefix}-select__icon--left`\n ),\n type: 'button',\n style: { color },\n onClick: (e) => {\n e.stopPropagation();\n if (icon.props.onClick && !disabled) { icon.props.onClick(e); };\n }\n });\n };\n\n const renderOption = () => {\n return arrayChildren.map((child) => {\n return cloneElement(child, {\n color,\n className: joinClass(\n child.props.className,\n child.props.value === props.value && `${prefix}-select__option--selected`,\n ),\n onClick: (e) => {\n if (!child.props.disabled && onChange) { onChange(e as any); }\n }\n });\n });\n };\n\n return (\n <div className={containerClss}>\n {label && <label className={labelClss}>{label} {props.required && '*'}</label>}\n <button type=\"button\" className={clss} onClick={toggle} disabled={disabled}>\n <div>\n {startIcon && renderIcon(startIcon as React.JSX.Element)}\n </div>\n <input {...props} readOnly type=\"text\" value={newValue} disabled={disabled} />\n <Icon\n name=\"angle-down\"\n sx={{ color: ({ grey }) => grey.main }}\n className={`${prefix}-select__icon--right`}\n />\n </button>\n <Menu\n autoClose\n direction=\"center\"\n open={open}\n anchorEl={el}\n onClose={toggle}\n >\n {renderOption()}\n </Menu>\n <span className={helperTextClss}>{helperText}</span>\n </div>\n );\n}\n\nexport default createComponent(Select);\n"],"names":["Select","error","color","label","helperText","startIcon","children","disabled","onChange","props","arrayChildren","Children","newValue","useMemo","child","open","el","toggle","useMenu","containerClss","joinClass","prefix","labelClss","clss","helperTextClss","renderIcon","icon","cloneElement","e","renderOption","jsxs","jsx","Icon","grey","Menu","Select_default","createComponent"],"mappings":"upBAgCA,SAASA,EAAO,CACd,MAAAC,EACA,MAAAC,EAAQ,OACR,MAAAC,EACA,WAAAC,EACA,UAAAC,EACA,SAAAC,EACA,SAAAC,EACA,SAAAC,EACA,GAAGC,CACL,EAAgB,CACd,MAAMC,EAAgBC,EAAS,QAAQL,CAAQ,EAEzCM,EAAWC,EAAQ,IAChBH,EAAc,KAAMI,GACzBA,EAAM,MAAM,QAAUL,EAAM,KAAK,GAAG,MAAM,UAAY,GACvD,CAACA,EAAM,KAAK,CAAC,EAEV,CAACM,EAAMC,EAAIC,CAAM,EAAIC,EAAA,EAErBC,EAAgBC,EACpB,GAAGC,CAAM,mBAAA,EAGLC,EAAYF,EAChB,GAAGC,CAAM,gBACTpB,GAAS,GAAGoB,CAAM,sBAAA,EAGdE,EAAOH,EACX,GAAGC,CAAM,UACTd,GAAY,GAAGc,CAAM,oBACrBpB,GAAS,GAAGoB,CAAM,iBAClBZ,EAAM,SAAA,EAGFe,EAAiBJ,EACrB,GAAGC,CAAM,uBACTjB,GAAc,GAAGiB,CAAM,gCACvBpB,GAAS,GAAGoB,CAAM,6BAAA,EAGdI,EAAcC,GACXC,EAAaD,EAAM,CACxB,UAAWN,EACTM,EAAK,MAAM,UACX,GAAGL,CAAM,qBAAA,EAEX,KAAM,SACN,MAAO,CAAE,MAAAnB,CAAA,EACT,QAAU0B,GAAM,CACdA,EAAE,gBAAA,EACEF,EAAK,MAAM,SAAW,CAACnB,GAAYmB,EAAK,MAAM,QAAQE,CAAC,CAC7D,CAAA,CACD,EAGGC,EAAe,IACZnB,EAAc,IAAKI,GACjBa,EAAab,EAAO,CACzB,MAAAZ,EACA,UAAWkB,EACTN,EAAM,MAAM,UACZA,EAAM,MAAM,QAAUL,EAAM,OAAS,GAAGY,CAAM,2BAAA,EAEhD,QAAUO,GAAM,CACV,CAACd,EAAM,MAAM,UAAYN,GAAYA,EAASoB,CAAQ,CAC5D,CAAA,CACD,CACF,EAGH,OACEE,EAAC,MAAA,CAAI,UAAWX,EACb,SAAA,CAAAhB,GAAS2B,EAAC,QAAA,CAAM,UAAWR,EAAY,SAAA,CAAAnB,EAAM,IAAEM,EAAM,UAAY,GAAA,EAAI,EACtEqB,EAAC,UAAO,KAAK,SAAS,UAAWP,EAAM,QAASN,EAAQ,SAAAV,EACtD,SAAA,CAAAwB,EAAC,MAAA,CACE,SAAA1B,GAAaoB,EAAWpB,CAA8B,EACzD,EACA0B,EAAC,QAAA,CAAO,GAAGtB,EAAO,SAAQ,GAAC,KAAK,OAAO,MAAOG,EAAU,SAAAL,CAAA,CAAoB,EAC5EwB,EAACC,EAAA,CACC,KAAK,aACL,GAAI,CAAE,MAAO,CAAC,CAAE,KAAAC,CAAA,IAAWA,EAAK,IAAA,EAChC,UAAW,GAAGZ,CAAM,sBAAA,CAAA,CACtB,EACF,EACAU,EAACG,EAAA,CACC,UAAS,GACT,UAAU,SACV,KAAAnB,EACA,SAAUC,EACV,QAASC,EAER,SAAAY,EAAA,CAAa,CAAA,EAEhBE,EAAC,OAAA,CAAK,UAAWP,EAAiB,SAAApB,CAAA,CAAW,CAAA,EAC/C,CAEJ,CAEA,MAAA+B,EAAeC,EAAgBpC,CAAM"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/fields/Select/Select.tsx"],"sourcesContent":["import {\n useMemo,\n Children,\n cloneElement,\n type ReactElement,\n type InputHTMLAttributes,\n type ButtonHTMLAttributes,\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Colors } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport Icon from '@/display/Icon';\nimport { Menu, useMenu } from '@/navigation/Menu';\n\nimport type { OptionProps } from './Option';\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Select.scss';\n\nexport interface SelectProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'color'> {\n error?: boolean;\n autoClose?: boolean;\n label?: string;\n helperText?: string;\n color?: Colors;\n startIcon?: React.JSX.Element | boolean;\n children: React.JSX.Element | React.JSX.Element[];\n}\n\nfunction Select({\n error,\n color = 'grey',\n label,\n helperText,\n startIcon,\n children,\n disabled,\n onChange,\n ...props\n}: SelectProps) {\n const arrayChildren = Children.toArray(children) as ReactElement<OptionProps>[];\n\n const newValue = useMemo(() => {\n return arrayChildren.find((child) =>\n child.props.value === props.value)?.props.children || '';\n }, [props.value]);\n\n const [open, el, toggle] = useMenu();\n\n const containerClss = joinClass(\n `${prefix}-select-container`\n );\n\n const labelClss = joinClass(\n `${prefix}-select-label`,\n error && `${prefix}-select-label--error`,\n );\n\n const clss = joinClass(\n `${prefix}-select`,\n disabled && `${prefix}-select--disabled`,\n error && `${prefix}-select--error`,\n props.className\n );\n\n const helperTextClss = joinClass(\n `${prefix}-select__helper-text`,\n helperText && `${prefix}-select__helper-text--visible`,\n error && `${prefix}-select__helper-text--error`\n );\n\n const renderIcon = (icon: ReactElement<ButtonHTMLAttributes<any>>) => {\n return cloneElement(icon, {\n className: joinClass(\n icon.props.className,\n `${prefix}-select__icon--left`\n ),\n type: 'button',\n style: { color },\n onClick: (e) => {\n e.stopPropagation();\n if (icon.props.onClick && !disabled) { icon.props.onClick(e); };\n }\n });\n };\n\n const renderOption = () => {\n return arrayChildren.map((child) => {\n return cloneElement(child, {\n color,\n className: joinClass(\n child.props.className,\n child.props.value === props.value && `${prefix}-select__option--selected`,\n ),\n onClick: (e) => {\n if (!child.props.disabled && onChange) { onChange(e as any); }\n }\n });\n });\n };\n\n return (\n <div className={containerClss}>\n {label && <label className={labelClss}>{label} {props.required && '*'}</label>}\n <button type=\"button\" className={clss} onClick={toggle} disabled={disabled}>\n <div>\n {startIcon && renderIcon(startIcon as React.JSX.Element)}\n </div>\n <input {...props} readOnly type=\"text\" value={newValue} disabled={disabled} />\n <Icon\n name=\"angle-down\"\n sx={{ color: ({ grey }) => grey.main }}\n className={`${prefix}-select__icon--right`}\n />\n </button>\n <Menu\n autoClose\n direction=\"center\"\n open={open}\n anchorEl={el}\n onClose={toggle}\n >\n {renderOption()}\n </Menu>\n <span className={helperTextClss}>{helperText}</span>\n </div>\n );\n}\n\nexport default createComponent(Select);\n"],"names":["Select","error","color","label","helperText","startIcon","children","disabled","onChange","props","arrayChildren","Children","newValue","useMemo","child","open","el","toggle","useMenu","containerClss","joinClass","prefix","labelClss","clss","helperTextClss","renderIcon","icon","cloneElement","e","renderOption","jsxs","jsx","Icon","grey","Menu","Select_default","createComponent"],"mappings":"6rBAgCA,SAASA,EAAO,CACd,MAAAC,EACA,MAAAC,EAAQ,OACR,MAAAC,EACA,WAAAC,EACA,UAAAC,EACA,SAAAC,EACA,SAAAC,EACA,SAAAC,EACA,GAAGC,CACL,EAAgB,CACd,MAAMC,EAAgBC,EAAS,QAAQL,CAAQ,EAEzCM,EAAWC,EAAQ,IAChBH,EAAc,KAAMI,GACzBA,EAAM,MAAM,QAAUL,EAAM,KAAK,GAAG,MAAM,UAAY,GACvD,CAACA,EAAM,KAAK,CAAC,EAEV,CAACM,EAAMC,EAAIC,CAAM,EAAIC,EAAA,EAErBC,EAAgBC,EACpB,GAAGC,CAAM,mBAAA,EAGLC,EAAYF,EAChB,GAAGC,CAAM,gBACTpB,GAAS,GAAGoB,CAAM,sBAAA,EAGdE,EAAOH,EACX,GAAGC,CAAM,UACTd,GAAY,GAAGc,CAAM,oBACrBpB,GAAS,GAAGoB,CAAM,iBAClBZ,EAAM,SAAA,EAGFe,EAAiBJ,EACrB,GAAGC,CAAM,uBACTjB,GAAc,GAAGiB,CAAM,gCACvBpB,GAAS,GAAGoB,CAAM,6BAAA,EAGdI,EAAcC,GACXC,EAAaD,EAAM,CACxB,UAAWN,EACTM,EAAK,MAAM,UACX,GAAGL,CAAM,qBAAA,EAEX,KAAM,SACN,MAAO,CAAE,MAAAnB,CAAA,EACT,QAAU0B,GAAM,CACdA,EAAE,gBAAA,EACEF,EAAK,MAAM,SAAW,CAACnB,GAAYmB,EAAK,MAAM,QAAQE,CAAC,CAC7D,CAAA,CACD,EAGGC,EAAe,IACZnB,EAAc,IAAKI,GACjBa,EAAab,EAAO,CACzB,MAAAZ,EACA,UAAWkB,EACTN,EAAM,MAAM,UACZA,EAAM,MAAM,QAAUL,EAAM,OAAS,GAAGY,CAAM,2BAAA,EAEhD,QAAUO,GAAM,CACV,CAACd,EAAM,MAAM,UAAYN,GAAYA,EAASoB,CAAQ,CAC5D,CAAA,CACD,CACF,EAGH,OACEE,EAAC,MAAA,CAAI,UAAWX,EACb,SAAA,CAAAhB,GAAS2B,EAAC,QAAA,CAAM,UAAWR,EAAY,SAAA,CAAAnB,EAAM,IAAEM,EAAM,UAAY,GAAA,EAAI,EACtEqB,EAAC,UAAO,KAAK,SAAS,UAAWP,EAAM,QAASN,EAAQ,SAAAV,EACtD,SAAA,CAAAwB,EAAC,MAAA,CACE,SAAA1B,GAAaoB,EAAWpB,CAA8B,EACzD,EACA0B,EAAC,QAAA,CAAO,GAAGtB,EAAO,SAAQ,GAAC,KAAK,OAAO,MAAOG,EAAU,SAAAL,CAAA,CAAoB,EAC5EwB,EAACC,EAAA,CACC,KAAK,aACL,GAAI,CAAE,MAAO,CAAC,CAAE,KAAAC,CAAA,IAAWA,EAAK,IAAA,EAChC,UAAW,GAAGZ,CAAM,sBAAA,CAAA,CACtB,EACF,EACAU,EAACG,EAAA,CACC,UAAS,GACT,UAAU,SACV,KAAAnB,EACA,SAAUC,EACV,QAASC,EAER,SAAAY,EAAA,CAAa,CAAA,EAEhBE,EAAC,OAAA,CAAK,UAAWP,EAAiB,SAAApB,CAAA,CAAW,CAAA,EAC/C,CAEJ,CAEA,MAAA+B,EAAeC,EAAgBpC,CAAM"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),e=require("../../chunks/index-DYxwT4uW.cjs"),i=require("../../chunks/joinClass-Jk3EszKD.cjs"),u=require("../../chunks/createComponent-Dkt68kvT.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("react");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");function l({width:t,height:r,variant:n="rounded"}){const o=i.joinClass(`${e.prefix}-skeleton`,`${e.prefix}-skeleton--${n}`);return s.jsx("div",{className:o,style:{width:t,height:r}})}const c=u.createComponent(l);exports.default=c;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),e=require("../../chunks/index-DYxwT4uW.cjs"),i=require("../../chunks/joinClass-Jk3EszKD.cjs"),u=require("../../chunks/createComponent-Bls5N6x8.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("react");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");function l({width:t,height:r,variant:n="rounded"}){const o=i.joinClass(`${e.prefix}-skeleton`,`${e.prefix}-skeleton--${n}`);return s.jsx("div",{className:o,style:{width:t,height:r}})}const c=u.createComponent(l);exports.default=c;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import{jsx as m}from"react/jsx-runtime";import{p as o}from"../../chunks/index-CZ41y9Hn.js";import{j as n}from"../../chunks/joinClass-anSpaauN.js";import{c as i}from"../../chunks/createComponent-CovqNaAJ.js";import"../../chunks/useTheme-BYuNiCiH.js";import"react";import"../../chunks/generateSupportColors-BN5t8dA-.js";function p({width:t,height:e,variant:r="rounded"}){const s=n(`${o}-skeleton`,`${o}-skeleton--${r}`);return m("div",{className:s,style:{width:t,height:e}})}const j=i(p);export{j as default};
1
+ import{jsx as m}from"react/jsx-runtime";import{p as o}from"../../chunks/index-CZ41y9Hn.js";import{j as n}from"../../chunks/joinClass-anSpaauN.js";import{c as i}from"../../chunks/createComponent-BmdhWozT.js";import"../../chunks/useTheme-BYuNiCiH.js";import"react";import"../../chunks/generateSupportColors-BN5t8dA-.js";function p({width:t,height:e,variant:r="rounded"}){const s=n(`${o}-skeleton`,`${o}-skeleton--${r}`);return m("div",{className:s,style:{width:t,height:e}})}const j=i(p);export{j as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Stack-B_lU0ez7.cjs");require("react/jsx-runtime");require("react");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/createComponent-Dkt68kvT.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");exports.default=e.Stack;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Stack-CF3Wyma9.cjs");require("react/jsx-runtime");require("react");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/createComponent-Bls5N6x8.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");exports.default=e.Stack;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import{S as d}from"../../chunks/Stack-Deow48Th.js";import"react/jsx-runtime";import"react";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/createComponent-CovqNaAJ.js";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";export{d as default};
1
+ import{S as d}from"../../chunks/Stack-CHR_pZC4.js";import"react/jsx-runtime";import"react";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/createComponent-BmdhWozT.js";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";export{d as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),i=require("react"),e=require("../../chunks/index-DYxwT4uW.cjs"),r=require("../../chunks/joinClass-Jk3EszKD.cjs"),o=require("../../chunks/createComponent-Dkt68kvT.cjs"),b=require("../../chunks/Stack-B_lU0ez7.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");function p({label:h,error:n,helperText:a,color:x="primary",...c}){const[l,u]=i.useState(!!c.checked),d=r.joinClass(`${e.prefix}-switch__checkbox`,`${e.prefix}-switch__checkbox--${x}`),_=r.joinClass(`${e.prefix}-switch__label`,n&&`${e.prefix}-switch__label--error`),f=r.joinClass(`${e.prefix}-switch__helper-text`,n&&`${e.prefix}-switch__helper-text--error`,a&&`${e.prefix}-switch__helper-text--visible`),s=i.useMemo(()=>`${e.prefix}-switch-${o.uuid()}`,[]);i.useEffect(()=>{u(!!c.checked)},[c.checked]);const m=()=>{c.onChange&&c.onChange({type:"checkbox",target:{checked:!l}})};return t.jsxs(b.Stack,{gap:2,style:{width:"fit-content"},children:[t.jsx("label",{htmlFor:s,className:_,children:h}),t.jsxs("div",{className:`${e.prefix}-switch`,children:[t.jsx("input",{...c,type:"checkbox",id:s,className:d,onChange:m,checked:l}),t.jsx("label",{className:`${e.prefix}-switch__box`,htmlFor:s,children:t.jsx("span",{className:`${e.prefix}-switch__button`})})]}),t.jsx("span",{className:f,children:a})]})}const w=o.createComponent(p);exports.default=w;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),i=require("react"),e=require("../../chunks/index-DYxwT4uW.cjs"),r=require("../../chunks/joinClass-Jk3EszKD.cjs"),m=require("../../chunks/uuid-omnJ9TjZ.cjs"),b=require("../../chunks/Stack-CF3Wyma9.cjs"),p=require("../../chunks/createComponent-Bls5N6x8.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");function w({label:o,error:n,helperText:a,color:h="primary",...c}){const[l,u]=i.useState(!!c.checked),x=r.joinClass(`${e.prefix}-switch__checkbox`,`${e.prefix}-switch__checkbox--${h}`),d=r.joinClass(`${e.prefix}-switch__label`,n&&`${e.prefix}-switch__label--error`),_=r.joinClass(`${e.prefix}-switch__helper-text`,n&&`${e.prefix}-switch__helper-text--error`,a&&`${e.prefix}-switch__helper-text--visible`),s=i.useMemo(()=>`${e.prefix}-switch-${m.uuid()}`,[]);i.useEffect(()=>{u(!!c.checked)},[c.checked]);const f=()=>{c.onChange&&c.onChange({type:"checkbox",target:{checked:!l}})};return t.jsxs(b.Stack,{gap:2,style:{width:"fit-content"},children:[t.jsx("label",{htmlFor:s,className:d,children:o}),t.jsxs("div",{className:`${e.prefix}-switch`,children:[t.jsx("input",{...c,type:"checkbox",id:s,className:x,onChange:f,checked:l}),t.jsx("label",{className:`${e.prefix}-switch__box`,htmlFor:s,children:t.jsx("span",{className:`${e.prefix}-switch__button`})})]}),t.jsx("span",{className:_,children:a})]})}const j=p.createComponent(w);exports.default=j;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/fields/Switch/Switch.tsx"],"sourcesContent":["import { InputHTMLAttributes, useEffect, useMemo, useState } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Colors } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport Stack from '@/layout/Stack';\n\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Switch.scss';\n\nexport interface SwitchProps extends InputHTMLAttributes<HTMLInputElement> {\n label?: string;\n error?: boolean;\n helperText?: string;\n color?: Colors;\n auto?: boolean;\n}\n\nfunction Switch({ label, error, helperText, color = 'primary', ...props }: SwitchProps) {\n const [checked, setChecked] = useState(Boolean(props.checked));\n\n const classNameCheckbox = joinClass(\n `${prefix}-switch__checkbox`,\n `${prefix}-switch__checkbox--${color}`,\n );\n\n const classNameLabel = joinClass(\n `${prefix}-switch__label`,\n error && `${prefix}-switch__label--error`,\n );\n\n const helperTextClss = joinClass(\n `${prefix}-switch__helper-text`,\n error && `${prefix}-switch__helper-text--error`,\n helperText && `${prefix}-switch__helper-text--visible`,\n );\n\n const id = useMemo(() => `${prefix}-switch-${uuid()}`, []);\n\n useEffect(() => { setChecked(Boolean(props.checked)); }, [props.checked]);\n\n const handleToggle = () => {\n if (!props.onChange) { return; }\n\n props.onChange({\n type: 'checkbox',\n target: { checked: !checked }\n } as React.ChangeEvent<HTMLInputElement>);\n };\n\n return (\n <Stack gap={2} style={{ width: 'fit-content' }}>\n <label htmlFor={id} className={classNameLabel}>\n {label}\n </label>\n <div className={`${prefix}-switch`}>\n <input\n {...props}\n type=\"checkbox\"\n id={id}\n className={classNameCheckbox}\n onChange={handleToggle}\n checked={checked}\n />\n <label className={`${prefix}-switch__box`} htmlFor={id}>\n <span className={`${prefix}-switch__button`} />\n </label>\n </div>\n <span className={helperTextClss}>{helperText}</span>\n </Stack>\n );\n}\n\nexport default createComponent(Switch);"],"names":["Switch","label","error","helperText","color","props","checked","setChecked","useState","classNameCheckbox","joinClass","prefix","classNameLabel","helperTextClss","id","useMemo","uuid","useEffect","handleToggle","jsxs","Stack","jsx","Switch_default","createComponent"],"mappings":"+cAuBA,SAASA,EAAO,CAAE,MAAAC,EAAO,MAAAC,EAAO,WAAAC,EAAY,MAAAC,EAAQ,UAAW,GAAGC,GAAsB,CACtF,KAAM,CAACC,EAASC,CAAU,EAAIC,EAAAA,SAAS,EAAQH,EAAM,OAAQ,EAEvDI,EAAoBC,EAAAA,UACxB,GAAGC,EAAAA,MAAM,oBACT,GAAGA,EAAAA,MAAM,sBAAsBP,CAAK,EAAA,EAGhCQ,EAAiBF,EAAAA,UACrB,GAAGC,EAAAA,MAAM,iBACTT,GAAS,GAAGS,EAAAA,MAAM,uBAAA,EAGdE,EAAiBH,EAAAA,UACrB,GAAGC,EAAAA,MAAM,uBACTT,GAAS,GAAGS,EAAAA,MAAM,8BAClBR,GAAc,GAAGQ,EAAAA,MAAM,+BAAA,EAGnBG,EAAKC,UAAQ,IAAM,GAAGJ,EAAAA,MAAM,WAAWK,EAAAA,KAAA,CAAM,GAAI,EAAE,EAEzDC,EAAAA,UAAU,IAAM,CAAEV,EAAW,EAAQF,EAAM,OAAQ,CAAG,EAAG,CAACA,EAAM,OAAO,CAAC,EAExE,MAAMa,EAAe,IAAM,CACpBb,EAAM,UAEXA,EAAM,SAAS,CACb,KAAM,WACN,OAAQ,CAAE,QAAS,CAACC,CAAA,CAAQ,CACU,CAC1C,EAEA,OACEa,EAAAA,KAACC,SAAM,IAAK,EAAG,MAAO,CAAE,MAAO,eAC7B,SAAA,CAAAC,MAAC,QAAA,CAAM,QAASP,EAAI,UAAWF,EAC5B,SAAAX,EACH,EACAkB,EAAAA,KAAC,MAAA,CAAI,UAAW,GAAGR,QAAM,UACvB,SAAA,CAAAU,EAAAA,IAAC,QAAA,CACE,GAAGhB,EACJ,KAAK,WACL,GAAAS,EACA,UAAWL,EACX,SAAUS,EACV,QAAAZ,CAAA,CAAA,EAEFe,EAAAA,IAAC,QAAA,CAAM,UAAW,GAAGV,QAAM,eAAgB,QAASG,EAClD,SAAAO,EAAAA,IAAC,OAAA,CAAK,UAAW,GAAGV,QAAM,kBAAmB,CAAA,CAC/C,CAAA,EACF,EACAU,EAAAA,IAAC,OAAA,CAAK,UAAWR,EAAiB,SAAAV,CAAA,CAAW,CAAA,EAC/C,CAEJ,CAEA,MAAAmB,EAAeC,EAAAA,gBAAgBvB,CAAM"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/fields/Switch/Switch.tsx"],"sourcesContent":["import { InputHTMLAttributes, useEffect, useMemo, useState } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Colors } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport Stack from '@/layout/Stack';\n\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Switch.scss';\n\nexport interface SwitchProps extends InputHTMLAttributes<HTMLInputElement> {\n label?: string;\n error?: boolean;\n helperText?: string;\n color?: Colors;\n auto?: boolean;\n}\n\nfunction Switch({ label, error, helperText, color = 'primary', ...props }: SwitchProps) {\n const [checked, setChecked] = useState(Boolean(props.checked));\n\n const classNameCheckbox = joinClass(\n `${prefix}-switch__checkbox`,\n `${prefix}-switch__checkbox--${color}`,\n );\n\n const classNameLabel = joinClass(\n `${prefix}-switch__label`,\n error && `${prefix}-switch__label--error`,\n );\n\n const helperTextClss = joinClass(\n `${prefix}-switch__helper-text`,\n error && `${prefix}-switch__helper-text--error`,\n helperText && `${prefix}-switch__helper-text--visible`,\n );\n\n const id = useMemo(() => `${prefix}-switch-${uuid()}`, []);\n\n useEffect(() => { setChecked(Boolean(props.checked)); }, [props.checked]);\n\n const handleToggle = () => {\n if (!props.onChange) { return; }\n\n props.onChange({\n type: 'checkbox',\n target: { checked: !checked }\n } as React.ChangeEvent<HTMLInputElement>);\n };\n\n return (\n <Stack gap={2} style={{ width: 'fit-content' }}>\n <label htmlFor={id} className={classNameLabel}>\n {label}\n </label>\n <div className={`${prefix}-switch`}>\n <input\n {...props}\n type=\"checkbox\"\n id={id}\n className={classNameCheckbox}\n onChange={handleToggle}\n checked={checked}\n />\n <label className={`${prefix}-switch__box`} htmlFor={id}>\n <span className={`${prefix}-switch__button`} />\n </label>\n </div>\n <span className={helperTextClss}>{helperText}</span>\n </Stack>\n );\n}\n\nexport default createComponent(Switch);"],"names":["Switch","label","error","helperText","color","props","checked","setChecked","useState","classNameCheckbox","joinClass","prefix","classNameLabel","helperTextClss","id","useMemo","uuid","useEffect","handleToggle","jsxs","Stack","jsx","Switch_default","createComponent"],"mappings":"2fAuBA,SAASA,EAAO,CAAE,MAAAC,EAAO,MAAAC,EAAO,WAAAC,EAAY,MAAAC,EAAQ,UAAW,GAAGC,GAAsB,CACtF,KAAM,CAACC,EAASC,CAAU,EAAIC,EAAAA,SAAS,EAAQH,EAAM,OAAQ,EAEvDI,EAAoBC,EAAAA,UACxB,GAAGC,EAAAA,MAAM,oBACT,GAAGA,EAAAA,MAAM,sBAAsBP,CAAK,EAAA,EAGhCQ,EAAiBF,EAAAA,UACrB,GAAGC,EAAAA,MAAM,iBACTT,GAAS,GAAGS,EAAAA,MAAM,uBAAA,EAGdE,EAAiBH,EAAAA,UACrB,GAAGC,EAAAA,MAAM,uBACTT,GAAS,GAAGS,EAAAA,MAAM,8BAClBR,GAAc,GAAGQ,EAAAA,MAAM,+BAAA,EAGnBG,EAAKC,UAAQ,IAAM,GAAGJ,EAAAA,MAAM,WAAWK,EAAAA,KAAA,CAAM,GAAI,EAAE,EAEzDC,EAAAA,UAAU,IAAM,CAAEV,EAAW,EAAQF,EAAM,OAAQ,CAAG,EAAG,CAACA,EAAM,OAAO,CAAC,EAExE,MAAMa,EAAe,IAAM,CACpBb,EAAM,UAEXA,EAAM,SAAS,CACb,KAAM,WACN,OAAQ,CAAE,QAAS,CAACC,CAAA,CAAQ,CACU,CAC1C,EAEA,OACEa,EAAAA,KAACC,SAAM,IAAK,EAAG,MAAO,CAAE,MAAO,eAC7B,SAAA,CAAAC,MAAC,QAAA,CAAM,QAASP,EAAI,UAAWF,EAC5B,SAAAX,EACH,EACAkB,EAAAA,KAAC,MAAA,CAAI,UAAW,GAAGR,QAAM,UACvB,SAAA,CAAAU,EAAAA,IAAC,QAAA,CACE,GAAGhB,EACJ,KAAK,WACL,GAAAS,EACA,UAAWL,EACX,SAAUS,EACV,QAAAZ,CAAA,CAAA,EAEFe,EAAAA,IAAC,QAAA,CAAM,UAAW,GAAGV,QAAM,eAAgB,QAASG,EAClD,SAAAO,EAAAA,IAAC,OAAA,CAAK,UAAW,GAAGV,QAAM,kBAAmB,CAAA,CAC/C,CAAA,EACF,EACAU,EAAAA,IAAC,OAAA,CAAK,UAAWR,EAAiB,SAAAV,CAAA,CAAW,CAAA,EAC/C,CAEJ,CAEA,MAAAmB,EAAeC,EAAAA,gBAAgBvB,CAAM"}
@@ -1,2 +1,2 @@
1
- import{jsxs as l,jsx as c}from"react/jsx-runtime";import{useState as b,useMemo as u,useEffect as x}from"react";import{p as e}from"../../chunks/index-CZ41y9Hn.js";import{j as a}from"../../chunks/joinClass-anSpaauN.js";import{c as $,u as k}from"../../chunks/createComponent-CovqNaAJ.js";import{S as p}from"../../chunks/Stack-Deow48Th.js";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";function C({label:n,error:o,helperText:h,color:r="primary",...t}){const[i,m]=b(!!t.checked),_=a(`${e}-switch__checkbox`,`${e}-switch__checkbox--${r}`),d=a(`${e}-switch__label`,o&&`${e}-switch__label--error`),f=a(`${e}-switch__helper-text`,o&&`${e}-switch__helper-text--error`,h&&`${e}-switch__helper-text--visible`),s=u(()=>`${e}-switch-${k()}`,[]);x(()=>{m(!!t.checked)},[t.checked]);const w=()=>{t.onChange&&t.onChange({type:"checkbox",target:{checked:!i}})};return l(p,{gap:2,style:{width:"fit-content"},children:[c("label",{htmlFor:s,className:d,children:n}),l("div",{className:`${e}-switch`,children:[c("input",{...t,type:"checkbox",id:s,className:_,onChange:w,checked:i}),c("label",{className:`${e}-switch__box`,htmlFor:s,children:c("span",{className:`${e}-switch__button`})})]}),c("span",{className:f,children:h})]})}const E=$(C);export{E as default};
1
+ import{jsxs as l,jsx as c}from"react/jsx-runtime";import{useState as b,useMemo as p,useEffect as u}from"react";import{p as e}from"../../chunks/index-CZ41y9Hn.js";import{j as a}from"../../chunks/joinClass-anSpaauN.js";import{u as x}from"../../chunks/uuid-dGvr9vBZ.js";import{S as $}from"../../chunks/Stack-CHR_pZC4.js";import{c as k}from"../../chunks/createComponent-BmdhWozT.js";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";function C({label:n,error:o,helperText:i,color:r="primary",...t}){const[h,m]=b(!!t.checked),_=a(`${e}-switch__checkbox`,`${e}-switch__checkbox--${r}`),d=a(`${e}-switch__label`,o&&`${e}-switch__label--error`),f=a(`${e}-switch__helper-text`,o&&`${e}-switch__helper-text--error`,i&&`${e}-switch__helper-text--visible`),s=p(()=>`${e}-switch-${x()}`,[]);u(()=>{m(!!t.checked)},[t.checked]);const w=()=>{t.onChange&&t.onChange({type:"checkbox",target:{checked:!h}})};return l($,{gap:2,style:{width:"fit-content"},children:[c("label",{htmlFor:s,className:d,children:n}),l("div",{className:`${e}-switch`,children:[c("input",{...t,type:"checkbox",id:s,className:_,onChange:w,checked:h}),c("label",{className:`${e}-switch__box`,htmlFor:s,children:c("span",{className:`${e}-switch__button`})})]}),c("span",{className:f,children:i})]})}const L=k(C);export{L as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/fields/Switch/Switch.tsx"],"sourcesContent":["import { InputHTMLAttributes, useEffect, useMemo, useState } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Colors } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport Stack from '@/layout/Stack';\n\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Switch.scss';\n\nexport interface SwitchProps extends InputHTMLAttributes<HTMLInputElement> {\n label?: string;\n error?: boolean;\n helperText?: string;\n color?: Colors;\n auto?: boolean;\n}\n\nfunction Switch({ label, error, helperText, color = 'primary', ...props }: SwitchProps) {\n const [checked, setChecked] = useState(Boolean(props.checked));\n\n const classNameCheckbox = joinClass(\n `${prefix}-switch__checkbox`,\n `${prefix}-switch__checkbox--${color}`,\n );\n\n const classNameLabel = joinClass(\n `${prefix}-switch__label`,\n error && `${prefix}-switch__label--error`,\n );\n\n const helperTextClss = joinClass(\n `${prefix}-switch__helper-text`,\n error && `${prefix}-switch__helper-text--error`,\n helperText && `${prefix}-switch__helper-text--visible`,\n );\n\n const id = useMemo(() => `${prefix}-switch-${uuid()}`, []);\n\n useEffect(() => { setChecked(Boolean(props.checked)); }, [props.checked]);\n\n const handleToggle = () => {\n if (!props.onChange) { return; }\n\n props.onChange({\n type: 'checkbox',\n target: { checked: !checked }\n } as React.ChangeEvent<HTMLInputElement>);\n };\n\n return (\n <Stack gap={2} style={{ width: 'fit-content' }}>\n <label htmlFor={id} className={classNameLabel}>\n {label}\n </label>\n <div className={`${prefix}-switch`}>\n <input\n {...props}\n type=\"checkbox\"\n id={id}\n className={classNameCheckbox}\n onChange={handleToggle}\n checked={checked}\n />\n <label className={`${prefix}-switch__box`} htmlFor={id}>\n <span className={`${prefix}-switch__button`} />\n </label>\n </div>\n <span className={helperTextClss}>{helperText}</span>\n </Stack>\n );\n}\n\nexport default createComponent(Switch);"],"names":["Switch","label","error","helperText","color","props","checked","setChecked","useState","classNameCheckbox","joinClass","prefix","classNameLabel","helperTextClss","id","useMemo","uuid","useEffect","handleToggle","jsxs","Stack","jsx","Switch_default","createComponent"],"mappings":"ibAuBA,SAASA,EAAO,CAAE,MAAAC,EAAO,MAAAC,EAAO,WAAAC,EAAY,MAAAC,EAAQ,UAAW,GAAGC,GAAsB,CACtF,KAAM,CAACC,EAASC,CAAU,EAAIC,EAAS,EAAQH,EAAM,OAAQ,EAEvDI,EAAoBC,EACxB,GAAGC,CAAM,oBACT,GAAGA,CAAM,sBAAsBP,CAAK,EAAA,EAGhCQ,EAAiBF,EACrB,GAAGC,CAAM,iBACTT,GAAS,GAAGS,CAAM,uBAAA,EAGdE,EAAiBH,EACrB,GAAGC,CAAM,uBACTT,GAAS,GAAGS,CAAM,8BAClBR,GAAc,GAAGQ,CAAM,+BAAA,EAGnBG,EAAKC,EAAQ,IAAM,GAAGJ,CAAM,WAAWK,EAAA,CAAM,GAAI,EAAE,EAEzDC,EAAU,IAAM,CAAEV,EAAW,EAAQF,EAAM,OAAQ,CAAG,EAAG,CAACA,EAAM,OAAO,CAAC,EAExE,MAAMa,EAAe,IAAM,CACpBb,EAAM,UAEXA,EAAM,SAAS,CACb,KAAM,WACN,OAAQ,CAAE,QAAS,CAACC,CAAA,CAAQ,CACU,CAC1C,EAEA,OACEa,EAACC,GAAM,IAAK,EAAG,MAAO,CAAE,MAAO,eAC7B,SAAA,CAAAC,EAAC,QAAA,CAAM,QAASP,EAAI,UAAWF,EAC5B,SAAAX,EACH,EACAkB,EAAC,MAAA,CAAI,UAAW,GAAGR,CAAM,UACvB,SAAA,CAAAU,EAAC,QAAA,CACE,GAAGhB,EACJ,KAAK,WACL,GAAAS,EACA,UAAWL,EACX,SAAUS,EACV,QAAAZ,CAAA,CAAA,EAEFe,EAAC,QAAA,CAAM,UAAW,GAAGV,CAAM,eAAgB,QAASG,EAClD,SAAAO,EAAC,OAAA,CAAK,UAAW,GAAGV,CAAM,kBAAmB,CAAA,CAC/C,CAAA,EACF,EACAU,EAAC,OAAA,CAAK,UAAWR,EAAiB,SAAAV,CAAA,CAAW,CAAA,EAC/C,CAEJ,CAEA,MAAAmB,EAAeC,EAAgBvB,CAAM"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/fields/Switch/Switch.tsx"],"sourcesContent":["import { InputHTMLAttributes, useEffect, useMemo, useState } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Colors } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport Stack from '@/layout/Stack';\n\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Switch.scss';\n\nexport interface SwitchProps extends InputHTMLAttributes<HTMLInputElement> {\n label?: string;\n error?: boolean;\n helperText?: string;\n color?: Colors;\n auto?: boolean;\n}\n\nfunction Switch({ label, error, helperText, color = 'primary', ...props }: SwitchProps) {\n const [checked, setChecked] = useState(Boolean(props.checked));\n\n const classNameCheckbox = joinClass(\n `${prefix}-switch__checkbox`,\n `${prefix}-switch__checkbox--${color}`,\n );\n\n const classNameLabel = joinClass(\n `${prefix}-switch__label`,\n error && `${prefix}-switch__label--error`,\n );\n\n const helperTextClss = joinClass(\n `${prefix}-switch__helper-text`,\n error && `${prefix}-switch__helper-text--error`,\n helperText && `${prefix}-switch__helper-text--visible`,\n );\n\n const id = useMemo(() => `${prefix}-switch-${uuid()}`, []);\n\n useEffect(() => { setChecked(Boolean(props.checked)); }, [props.checked]);\n\n const handleToggle = () => {\n if (!props.onChange) { return; }\n\n props.onChange({\n type: 'checkbox',\n target: { checked: !checked }\n } as React.ChangeEvent<HTMLInputElement>);\n };\n\n return (\n <Stack gap={2} style={{ width: 'fit-content' }}>\n <label htmlFor={id} className={classNameLabel}>\n {label}\n </label>\n <div className={`${prefix}-switch`}>\n <input\n {...props}\n type=\"checkbox\"\n id={id}\n className={classNameCheckbox}\n onChange={handleToggle}\n checked={checked}\n />\n <label className={`${prefix}-switch__box`} htmlFor={id}>\n <span className={`${prefix}-switch__button`} />\n </label>\n </div>\n <span className={helperTextClss}>{helperText}</span>\n </Stack>\n );\n}\n\nexport default createComponent(Switch);"],"names":["Switch","label","error","helperText","color","props","checked","setChecked","useState","classNameCheckbox","joinClass","prefix","classNameLabel","helperTextClss","id","useMemo","uuid","useEffect","handleToggle","jsxs","Stack","jsx","Switch_default","createComponent"],"mappings":"4dAuBA,SAASA,EAAO,CAAE,MAAAC,EAAO,MAAAC,EAAO,WAAAC,EAAY,MAAAC,EAAQ,UAAW,GAAGC,GAAsB,CACtF,KAAM,CAACC,EAASC,CAAU,EAAIC,EAAS,EAAQH,EAAM,OAAQ,EAEvDI,EAAoBC,EACxB,GAAGC,CAAM,oBACT,GAAGA,CAAM,sBAAsBP,CAAK,EAAA,EAGhCQ,EAAiBF,EACrB,GAAGC,CAAM,iBACTT,GAAS,GAAGS,CAAM,uBAAA,EAGdE,EAAiBH,EACrB,GAAGC,CAAM,uBACTT,GAAS,GAAGS,CAAM,8BAClBR,GAAc,GAAGQ,CAAM,+BAAA,EAGnBG,EAAKC,EAAQ,IAAM,GAAGJ,CAAM,WAAWK,EAAA,CAAM,GAAI,EAAE,EAEzDC,EAAU,IAAM,CAAEV,EAAW,EAAQF,EAAM,OAAQ,CAAG,EAAG,CAACA,EAAM,OAAO,CAAC,EAExE,MAAMa,EAAe,IAAM,CACpBb,EAAM,UAEXA,EAAM,SAAS,CACb,KAAM,WACN,OAAQ,CAAE,QAAS,CAACC,CAAA,CAAQ,CACU,CAC1C,EAEA,OACEa,EAACC,GAAM,IAAK,EAAG,MAAO,CAAE,MAAO,eAC7B,SAAA,CAAAC,EAAC,QAAA,CAAM,QAASP,EAAI,UAAWF,EAC5B,SAAAX,EACH,EACAkB,EAAC,MAAA,CAAI,UAAW,GAAGR,CAAM,UACvB,SAAA,CAAAU,EAAC,QAAA,CACE,GAAGhB,EACJ,KAAK,WACL,GAAAS,EACA,UAAWL,EACX,SAAUS,EACV,QAAAZ,CAAA,CAAA,EAEFe,EAAC,QAAA,CAAM,UAAW,GAAGV,CAAM,eAAgB,QAASG,EAClD,SAAAO,EAAC,OAAA,CAAK,UAAW,GAAGV,CAAM,kBAAmB,CAAA,CAC/C,CAAA,EACF,EACAU,EAAC,OAAA,CAAK,UAAWR,EAAiB,SAAAV,CAAA,CAAW,CAAA,EAC/C,CAEJ,CAEA,MAAAmB,EAAeC,EAAgBvB,CAAM"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/TableHeader-SKzj2zHB.cjs");require("react/jsx-runtime");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/createComponent-Dkt68kvT.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("react");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/Card-DtjP8NP7.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");exports.Table=e.Table_default;exports.TableBody=e.TableBody;exports.TableCell=e.TableCell_default;exports.TableHeader=e.TableHeader;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/TableHeader-D0wXM5mO.cjs");require("react/jsx-runtime");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/createComponent-Bls5N6x8.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("react");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/Card-Bqgukgip.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");exports.Table=e.Table_default;exports.TableBody=e.TableBody;exports.TableCell=e.TableCell_default;exports.TableHeader=e.TableHeader;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import{T as s,a as d,b as c,c as f}from"../../chunks/TableHeader-DnifrYxO.js";import"react/jsx-runtime";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/createComponent-CovqNaAJ.js";import"../../chunks/useTheme-BYuNiCiH.js";import"react";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/Card-D_RFnUk2.js";import"../../chunks/Ripple-Bq9bxg4k.js";export{s as Table,d as TableBody,c as TableCell,f as TableHeader};
1
+ import{T as s,a as d,b as c,c as f}from"../../chunks/TableHeader-CrbbJXyv.js";import"react/jsx-runtime";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/createComponent-BmdhWozT.js";import"../../chunks/useTheme-BYuNiCiH.js";import"react";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/Card-C2mSdoXV.js";import"../../chunks/Ripple-Bq9bxg4k.js";export{s as Table,d as TableBody,c as TableCell,f as TableHeader};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("react/jsx-runtime"),r=require("react"),d=require("../../chunks/index-DYxwT4uW.cjs"),C=require("../../chunks/joinClass-Jk3EszKD.cjs"),q=require("../../chunks/createComponent-Dkt68kvT.cjs"),w=require("../../chunks/useListenerResized-AwpsZLcP.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");function R(o,i){if(i>o)throw new Error(`Current tab index (${i}) is greater than the number of tabs (${o})`)}function I({children:o,color:i="primary",current:c=0,onChange:m,...h}){const a=r.Children.toArray(o),[s,$]=r.useState(c),l=r.useRef([]),x=C.joinClass(`${d.prefix}-tabs`,`${d.prefix}-tabs--${i}`,h.className),y=C.joinClass(`${d.prefix}-tabs__marker`,`${d.prefix}-tabs__marker--${i}`),u=r.useMemo(()=>`marker-${q.uuid()}`,[]);w.useListenerResized(()=>p(),[s]),r.useEffect(()=>{R(a.length-1,s)},[]),r.useEffect(()=>{const e=a.findIndex(n=>!n.props.disabled),t=a[c].props.disabled;$(t?e:c)},[c]),r.useEffect(()=>{p(),j(s)},[s]);const _=e=>{m&&m(e),$(e)},j=e=>{l.current&&l.current[e].scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},k=(e,t)=>{!l.current||!t||(l.current[e]=t)},p=()=>{const e=document.querySelector(`#tab-${u}-${s}`),t=document.getElementById(u),n=e.offsetWidth,f=e.offsetLeft;t.style.width=`${n}px`,t.style.left=`${f}px`},v=()=>a.map((e,t)=>{const n=`tab-${u}-${t}`,f=s===t;return b.jsx("div",{ref:E=>k(t,E),style:{width:"100%"},children:r.cloneElement(e,{id:n,tabIndex:t+1,"aria-checked":f,onClick:()=>_(t)})},n)});return b.jsxs("div",{...h,className:x,children:[v(),b.jsx("div",{id:u,className:y})]})}const T=q.createComponent(I);exports.default=T;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/useTabs-Dcksp_re.cjs");require("react/jsx-runtime");require("react");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/uuid-omnJ9TjZ.cjs");require("../../chunks/createComponent-Bls5N6x8.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/useListenerResized-AwpsZLcP.cjs");require("../../chunks/Slide-D4aLHjYS.cjs");exports.TabButton=e.TabButton;exports.TabContent=e.TabContent;exports.Tabs=e.Tabs_default;exports.useTabs=e.useTabs;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/navigation/Tabs/Tabs.tsx"],"sourcesContent":["import { Children, cloneElement, ReactElement, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils';\nimport { Colors } from '@iziui/core/theme';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport createComponent from '@/core/createComponent';\nimport useListenerResized from '@/hooks/useListenerResized';\n\nimport '@iziui/styles/components/Tabs.scss';\n\nfunction validateCurrent(length: number, current: number) {\n if (current > length) {\n throw new Error(`Current tab index (${current}) is greater than the number of tabs (${length})`);\n }\n}\n\nexport interface TabsProps extends Omit<React.HTMLProps<HTMLDivElement>, 'onChange'> {\n current?: number;\n color?: Colors;\n children: React.ReactNode;\n onChange?: (index: number) => void;\n};\n\nfunction Tabs({\n children,\n color = 'primary',\n current = 0,\n onChange,\n ...props\n}: TabsProps) {\n const arrayChildren = Children.toArray(children) as ReactElement<TabsProps>[];\n\n const [_current, setCurrent] = useState(current);\n const scrollRef = useRef<HTMLDivElement[] | null>([]);\n\n const cls = joinClass(\n `${prefix}-tabs`,\n `${prefix}-tabs--${color}`,\n props.className\n );\n\n const classNameMarker = joinClass(\n `${prefix}-tabs__marker`,\n `${prefix}-tabs__marker--${color}`,\n );\n\n const id = useMemo(() => `marker-${uuid()}`, []);\n\n useListenerResized(() => setBorderLine(), [_current]);\n\n useEffect(() => { validateCurrent(arrayChildren.length - 1, _current); }, []);\n\n useEffect(() => {\n const firstEnableButton = arrayChildren.findIndex(children => !children.props.disabled);\n const currentIsDisabled = arrayChildren[current].props.disabled;\n\n setCurrent(currentIsDisabled ? firstEnableButton : current);\n }, [current]);\n\n useEffect(() => {\n setBorderLine();\n goToTab(_current);\n }, [_current]);\n\n const handleClick = (index: number) => {\n if (onChange) { onChange(index); };\n setCurrent(index);\n };\n\n const goToTab = (index: number) => {\n if (!scrollRef.current) { return; }\n scrollRef.current[index].scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'center', });\n };\n\n const setRef = (index: number, ref: HTMLDivElement | null) => {\n if (!scrollRef.current || !ref) { return; }\n\n scrollRef.current[index] = ref;\n };\n\n const setBorderLine = () => {\n const element = document.querySelector(`#tab-${id}-${_current}`) as HTMLElement;\n const el = document.getElementById(id) as HTMLElement;\n\n const width = element['offsetWidth'];\n const left = element['offsetLeft'];\n\n el.style.width = `${width}px`;\n el.style.left = `${left}px`;\n };\n\n const renderChildren = () => {\n return arrayChildren.map((child, index) => {\n const _id = `tab-${id}-${index}`;\n const isActive = _current === index;\n\n return (\n <div key={_id} ref={ref => setRef(index, ref)} style={{ width: '100%' }}>\n {\n cloneElement(child, {\n id: _id,\n tabIndex: index + 1,\n 'aria-checked': isActive,\n onClick: () => handleClick(index),\n })\n }\n </div>\n );\n });\n };\n\n return (\n <div {...props} className={cls}>\n {renderChildren()}\n <div id={id} className={classNameMarker} />\n </div>\n );\n}\n\nexport default createComponent(Tabs);\n"],"names":["validateCurrent","length","current","Tabs","children","color","onChange","props","arrayChildren","Children","_current","setCurrent","useState","scrollRef","useRef","cls","joinClass","prefix","classNameMarker","id","useMemo","uuid","useListenerResized","setBorderLine","useEffect","firstEnableButton","currentIsDisabled","goToTab","handleClick","index","setRef","ref","element","el","width","left","renderChildren","child","_id","isActive","jsx","jsxs","Tabs_default","createComponent"],"mappings":"4dAcA,SAASA,EAAgBC,EAAgBC,EAAiB,CACxD,GAAIA,EAAUD,EACZ,MAAM,IAAI,MAAM,sBAAsBC,CAAO,yCAAyCD,CAAM,GAAG,CAEnG,CASA,SAASE,EAAK,CACZ,SAAAC,EACA,MAAAC,EAAQ,UACR,QAAAH,EAAU,EACV,SAAAI,EACA,GAAGC,CACL,EAAc,CACZ,MAAMC,EAAgBC,EAAAA,SAAS,QAAQL,CAAQ,EAEzC,CAACM,EAAUC,CAAU,EAAIC,EAAAA,SAASV,CAAO,EACzCW,EAAYC,EAAAA,OAAgC,EAAE,EAE9CC,EAAMC,EAAAA,UACV,GAAGC,EAAAA,MAAM,QACT,GAAGA,EAAAA,MAAM,UAAUZ,CAAK,GACxBE,EAAM,SAAA,EAGFW,EAAkBF,EAAAA,UACtB,GAAGC,EAAAA,MAAM,gBACT,GAAGA,EAAAA,MAAM,kBAAkBZ,CAAK,EAAA,EAG5Bc,EAAKC,EAAAA,QAAQ,IAAM,UAAUC,QAAM,GAAI,EAAE,EAE/CC,EAAAA,mBAAmB,IAAMC,IAAiB,CAACb,CAAQ,CAAC,EAEpDc,EAAAA,UAAU,IAAM,CAAExB,EAAgBQ,EAAc,OAAS,EAAGE,CAAQ,CAAG,EAAG,CAAA,CAAE,EAE5Ec,EAAAA,UAAU,IAAM,CACd,MAAMC,EAAoBjB,EAAc,UAAUJ,GAAY,CAACA,EAAS,MAAM,QAAQ,EAChFsB,EAAoBlB,EAAcN,CAAO,EAAE,MAAM,SAEvDS,EAAWe,EAAoBD,EAAoBvB,CAAO,CAC5D,EAAG,CAACA,CAAO,CAAC,EAEZsB,EAAAA,UAAU,IAAM,CACdD,EAAA,EACAI,EAAQjB,CAAQ,CAClB,EAAG,CAACA,CAAQ,CAAC,EAEb,MAAMkB,EAAeC,GAAkB,CACjCvB,GAAYA,EAASuB,CAAK,EAC9BlB,EAAWkB,CAAK,CAClB,EAEMF,EAAWE,GAAkB,CAC5BhB,EAAU,SACfA,EAAU,QAAQgB,CAAK,EAAE,eAAe,CAAE,SAAU,SAAU,MAAO,UAAW,OAAQ,QAAA,CAAW,CACrG,EAEMC,EAAS,CAACD,EAAeE,IAA+B,CACxD,CAAClB,EAAU,SAAW,CAACkB,IAE3BlB,EAAU,QAAQgB,CAAK,EAAIE,EAC7B,EAEMR,EAAgB,IAAM,CAC1B,MAAMS,EAAU,SAAS,cAAc,QAAQb,CAAE,IAAIT,CAAQ,EAAE,EACzDuB,EAAK,SAAS,eAAed,CAAE,EAE/Be,EAAQF,EAAQ,YAChBG,EAAOH,EAAQ,WAErBC,EAAG,MAAM,MAAQ,GAAGC,CAAK,KACzBD,EAAG,MAAM,KAAO,GAAGE,CAAI,IACzB,EAEMC,EAAiB,IACd5B,EAAc,IAAI,CAAC6B,EAAOR,IAAU,CACzC,MAAMS,EAAM,OAAOnB,CAAE,IAAIU,CAAK,GACxBU,EAAW7B,IAAamB,EAE9B,OACEW,EAAAA,IAAC,MAAA,CAAc,IAAKT,GAAOD,EAAOD,EAAOE,CAAG,EAAG,MAAO,CAAE,MAAO,MAAA,EAE3D,wBAAaM,EAAO,CAClB,GAAIC,EACJ,SAAUT,EAAQ,EAClB,eAAgBU,EAChB,QAAS,IAAMX,EAAYC,CAAK,CAAA,CACjC,GAPKS,CASV,CAEJ,CAAC,EAGH,OACEG,EAAAA,KAAC,MAAA,CAAK,GAAGlC,EAAO,UAAWQ,EACxB,SAAA,CAAAqB,EAAA,EACDI,EAAAA,IAAC,MAAA,CAAI,GAAArB,EAAQ,UAAWD,CAAA,CAAiB,CAAA,EAC3C,CAEJ,CAEA,MAAAwB,EAAeC,EAAAA,gBAAgBxC,CAAI"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{jsxs as I,jsx as $}from"react/jsx-runtime";import{Children as j,useState as x,useRef as N,useMemo as R,useEffect as f,cloneElement as T}from"react";import{p as d}from"../../chunks/index-CZ41y9Hn.js";import{j as C}from"../../chunks/joinClass-anSpaauN.js";import{c as B,u as L}from"../../chunks/createComponent-CovqNaAJ.js";import{u as g}from"../../chunks/useListenerResized-Bnqxrt7k.js";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";function A(o,n){if(n>o)throw new Error(`Current tab index (${n}) is greater than the number of tabs (${o})`)}function M({children:o,color:n="primary",current:a=0,onChange:u,...b}){const i=j.toArray(o),[r,p]=x(a),c=N([]),k=C(`${d}-tabs`,`${d}-tabs--${n}`,b.className),y=C(`${d}-tabs__marker`,`${d}-tabs__marker--${n}`),l=R(()=>`marker-${L()}`,[]);g(()=>h(),[r]),f(()=>{A(i.length-1,r)},[]),f(()=>{const e=i.findIndex(s=>!s.props.disabled),t=i[a].props.disabled;p(t?e:a)},[a]),f(()=>{h(),v(r)},[r]);const _=e=>{u&&u(e),p(e)},v=e=>{c.current&&c.current[e].scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},w=(e,t)=>{!c.current||!t||(c.current[e]=t)},h=()=>{const e=document.querySelector(`#tab-${l}-${r}`),t=document.getElementById(l),s=e.offsetWidth,m=e.offsetLeft;t.style.width=`${s}px`,t.style.left=`${m}px`};return I("div",{...b,className:k,children:[i.map((e,t)=>{const s=`tab-${l}-${t}`,m=r===t;return $("div",{ref:E=>w(t,E),style:{width:"100%"},children:T(e,{id:s,tabIndex:t+1,"aria-checked":m,onClick:()=>_(t)})},s)}),$("div",{id:l,className:y})]})}const J=B(M);export{J as default};
1
+ import{T as u,a as f,b as x,u as B}from"../../chunks/useTabs-DG53jo4T.js";import"react/jsx-runtime";import"react";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/uuid-dGvr9vBZ.js";import"../../chunks/createComponent-BmdhWozT.js";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/useListenerResized-Bnqxrt7k.js";import"../../chunks/Slide-BxEwoZ70.js";export{u as TabButton,f as TabContent,x as Tabs,B as useTabs};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/navigation/Tabs/Tabs.tsx"],"sourcesContent":["import { Children, cloneElement, ReactElement, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils';\nimport { Colors } from '@iziui/core/theme';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport createComponent from '@/core/createComponent';\nimport useListenerResized from '@/hooks/useListenerResized';\n\nimport '@iziui/styles/components/Tabs.scss';\n\nfunction validateCurrent(length: number, current: number) {\n if (current > length) {\n throw new Error(`Current tab index (${current}) is greater than the number of tabs (${length})`);\n }\n}\n\nexport interface TabsProps extends Omit<React.HTMLProps<HTMLDivElement>, 'onChange'> {\n current?: number;\n color?: Colors;\n children: React.ReactNode;\n onChange?: (index: number) => void;\n};\n\nfunction Tabs({\n children,\n color = 'primary',\n current = 0,\n onChange,\n ...props\n}: TabsProps) {\n const arrayChildren = Children.toArray(children) as ReactElement<TabsProps>[];\n\n const [_current, setCurrent] = useState(current);\n const scrollRef = useRef<HTMLDivElement[] | null>([]);\n\n const cls = joinClass(\n `${prefix}-tabs`,\n `${prefix}-tabs--${color}`,\n props.className\n );\n\n const classNameMarker = joinClass(\n `${prefix}-tabs__marker`,\n `${prefix}-tabs__marker--${color}`,\n );\n\n const id = useMemo(() => `marker-${uuid()}`, []);\n\n useListenerResized(() => setBorderLine(), [_current]);\n\n useEffect(() => { validateCurrent(arrayChildren.length - 1, _current); }, []);\n\n useEffect(() => {\n const firstEnableButton = arrayChildren.findIndex(children => !children.props.disabled);\n const currentIsDisabled = arrayChildren[current].props.disabled;\n\n setCurrent(currentIsDisabled ? firstEnableButton : current);\n }, [current]);\n\n useEffect(() => {\n setBorderLine();\n goToTab(_current);\n }, [_current]);\n\n const handleClick = (index: number) => {\n if (onChange) { onChange(index); };\n setCurrent(index);\n };\n\n const goToTab = (index: number) => {\n if (!scrollRef.current) { return; }\n scrollRef.current[index].scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'center', });\n };\n\n const setRef = (index: number, ref: HTMLDivElement | null) => {\n if (!scrollRef.current || !ref) { return; }\n\n scrollRef.current[index] = ref;\n };\n\n const setBorderLine = () => {\n const element = document.querySelector(`#tab-${id}-${_current}`) as HTMLElement;\n const el = document.getElementById(id) as HTMLElement;\n\n const width = element['offsetWidth'];\n const left = element['offsetLeft'];\n\n el.style.width = `${width}px`;\n el.style.left = `${left}px`;\n };\n\n const renderChildren = () => {\n return arrayChildren.map((child, index) => {\n const _id = `tab-${id}-${index}`;\n const isActive = _current === index;\n\n return (\n <div key={_id} ref={ref => setRef(index, ref)} style={{ width: '100%' }}>\n {\n cloneElement(child, {\n id: _id,\n tabIndex: index + 1,\n 'aria-checked': isActive,\n onClick: () => handleClick(index),\n })\n }\n </div>\n );\n });\n };\n\n return (\n <div {...props} className={cls}>\n {renderChildren()}\n <div id={id} className={classNameMarker} />\n </div>\n );\n}\n\nexport default createComponent(Tabs);\n"],"names":["validateCurrent","length","current","Tabs","children","color","onChange","props","arrayChildren","Children","_current","setCurrent","useState","scrollRef","useRef","cls","joinClass","prefix","classNameMarker","id","useMemo","uuid","useListenerResized","setBorderLine","useEffect","firstEnableButton","currentIsDisabled","goToTab","handleClick","index","setRef","ref","element","el","width","left","jsxs","child","_id","isActive","jsx","Tabs_default","createComponent"],"mappings":"0eAcA,SAASA,EAAgBC,EAAgBC,EAAiB,CACxD,GAAIA,EAAUD,EACZ,MAAM,IAAI,MAAM,sBAAsBC,CAAO,yCAAyCD,CAAM,GAAG,CAEnG,CASA,SAASE,EAAK,CACZ,SAAAC,EACA,MAAAC,EAAQ,UACR,QAAAH,EAAU,EACV,SAAAI,EACA,GAAGC,CACL,EAAc,CACZ,MAAMC,EAAgBC,EAAS,QAAQL,CAAQ,EAEzC,CAACM,EAAUC,CAAU,EAAIC,EAASV,CAAO,EACzCW,EAAYC,EAAgC,EAAE,EAE9CC,EAAMC,EACV,GAAGC,CAAM,QACT,GAAGA,CAAM,UAAUZ,CAAK,GACxBE,EAAM,SAAA,EAGFW,EAAkBF,EACtB,GAAGC,CAAM,gBACT,GAAGA,CAAM,kBAAkBZ,CAAK,EAAA,EAG5Bc,EAAKC,EAAQ,IAAM,UAAUC,GAAM,GAAI,EAAE,EAE/CC,EAAmB,IAAMC,IAAiB,CAACb,CAAQ,CAAC,EAEpDc,EAAU,IAAM,CAAExB,EAAgBQ,EAAc,OAAS,EAAGE,CAAQ,CAAG,EAAG,CAAA,CAAE,EAE5Ec,EAAU,IAAM,CACd,MAAMC,EAAoBjB,EAAc,UAAUJ,GAAY,CAACA,EAAS,MAAM,QAAQ,EAChFsB,EAAoBlB,EAAcN,CAAO,EAAE,MAAM,SAEvDS,EAAWe,EAAoBD,EAAoBvB,CAAO,CAC5D,EAAG,CAACA,CAAO,CAAC,EAEZsB,EAAU,IAAM,CACdD,EAAA,EACAI,EAAQjB,CAAQ,CAClB,EAAG,CAACA,CAAQ,CAAC,EAEb,MAAMkB,EAAeC,GAAkB,CACjCvB,GAAYA,EAASuB,CAAK,EAC9BlB,EAAWkB,CAAK,CAClB,EAEMF,EAAWE,GAAkB,CAC5BhB,EAAU,SACfA,EAAU,QAAQgB,CAAK,EAAE,eAAe,CAAE,SAAU,SAAU,MAAO,UAAW,OAAQ,QAAA,CAAW,CACrG,EAEMC,EAAS,CAACD,EAAeE,IAA+B,CACxD,CAAClB,EAAU,SAAW,CAACkB,IAE3BlB,EAAU,QAAQgB,CAAK,EAAIE,EAC7B,EAEMR,EAAgB,IAAM,CAC1B,MAAMS,EAAU,SAAS,cAAc,QAAQb,CAAE,IAAIT,CAAQ,EAAE,EACzDuB,EAAK,SAAS,eAAed,CAAE,EAE/Be,EAAQF,EAAQ,YAChBG,EAAOH,EAAQ,WAErBC,EAAG,MAAM,MAAQ,GAAGC,CAAK,KACzBD,EAAG,MAAM,KAAO,GAAGE,CAAI,IACzB,EAsBA,OACEC,EAAC,MAAA,CAAK,GAAG7B,EAAO,UAAWQ,EACxB,SAAA,CArBIP,EAAc,IAAI,CAAC6B,EAAOR,IAAU,CACzC,MAAMS,EAAM,OAAOnB,CAAE,IAAIU,CAAK,GACxBU,EAAW7B,IAAamB,EAE9B,OACEW,EAAC,MAAA,CAAc,IAAKT,GAAOD,EAAOD,EAAOE,CAAG,EAAG,MAAO,CAAE,MAAO,MAAA,EAE3D,WAAaM,EAAO,CAClB,GAAIC,EACJ,SAAUT,EAAQ,EAClB,eAAgBU,EAChB,QAAS,IAAMX,EAAYC,CAAK,CAAA,CACjC,GAPKS,CASV,CAEJ,CAAC,EAMCE,EAAC,MAAA,CAAI,GAAArB,EAAQ,UAAWD,CAAA,CAAiB,CAAA,EAC3C,CAEJ,CAEA,MAAAuB,EAAeC,EAAgBvC,CAAI"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),n=require("react"),q=require("../../chunks/index-DYxwT4uW.cjs"),C=require("../../chunks/joinClass-Jk3EszKD.cjs"),x=require("../../chunks/createComponent-Dkt68kvT.cjs"),p=require("../../chunks/useTheme-DsrjDJKC.cjs"),b=require("../../chunks/Alert-CUgp08gU.cjs"),R=require("../../chunks/Zoom-BOnqwiDY.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/Stack-B_lU0ez7.cjs");require("../../chunks/Typography-DW57lh3e.cjs");require("../../chunks/convertPathToColor-D8eBpd_D.cjs");require("../../chunks/ButtonIcon-BMOZPxpN.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/Icon-CIrgQex7.cjs");function g({id:o,color:i,message:u,icon:c,delay:a=2500,onRemove:l,...e}){const t=n.useRef(null),{theme:{mode:r}}=p.useTheme(),h=C.joinClass(`${q.prefix}-toast`,e.className);n.useEffect(()=>(T(),f),[]);const m=()=>{o&&l(o)},T=()=>{t.current=setTimeout(()=>{m()},a)},f=()=>{t.current&&(clearTimeout(t.current),t.current=null)};return s.jsx(b.Alert,{className:h,icon:c,sx:{backgroundColor:({text:d})=>d.primary,color:d=>d[i][r]},onClose:m,onMouseEnter:f,onMouseLeave:T,children:u})}const v=x.createComponent(g),j=n.createContext({toasts:[],add:()=>{}});function y({children:o}){const[i,u]=n.useState([]),c=n.useMemo(()=>({toasts:i,add:e=>{a(e)}}),[i]),a=e=>{u(t=>[...t,{id:x.uuid(),visible:!0,...e}])},l=e=>{u(t=>t.map(r=>(r.id===e&&(r.visible=!1),r))),setTimeout(()=>{u(t=>t.filter(r=>r.id!==e))},500)};return s.jsxs(j.Provider,{value:c,children:[s.jsx("div",{className:`${q.prefix}-toast-container`,children:i.map(({...e})=>s.jsx("div",{style:{marginBottom:15},children:s.jsx(R.Zoom,{enter:!!e.visible,children:s.jsx(v,{...e,onRemove:l})})},e.id))}),o]})}function M(){const{add:o}=n.useContext(j);return{addToast:o}}exports.Toast=v;exports.ToastProvider=y;exports.useToast=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),n=require("react"),f=require("../../chunks/index-DYxwT4uW.cjs"),h=require("../../chunks/joinClass-Jk3EszKD.cjs"),C=require("../../chunks/createComponent-Bls5N6x8.cjs"),p=require("../../chunks/useTheme-DsrjDJKC.cjs"),b=require("../../chunks/Alert-DCB56IAI.cjs"),R=require("../../chunks/uuid-omnJ9TjZ.cjs"),g=require("../../chunks/Zoom-BOnqwiDY.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/Stack-CF3Wyma9.cjs");require("../../chunks/Typography-Ch-BLqCH.cjs");require("../../chunks/convertPathToColor-D8eBpd_D.cjs");require("../../chunks/ButtonIcon-Ccq88QaY.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/Icon-BN4Kp4Aq.cjs");function y({id:o,color:i,message:u,icon:c,delay:a=2500,onRemove:l,...e}){const t=n.useRef(null),{theme:{mode:r}}=p.useTheme(),j=h.joinClass(`${f.prefix}-toast`,e.className);n.useEffect(()=>(T(),q),[]);const m=()=>{o&&l(o)},T=()=>{t.current=setTimeout(()=>{m()},a)},q=()=>{t.current&&(clearTimeout(t.current),t.current=null)};return s.jsx(b.Alert,{className:j,icon:c,sx:{backgroundColor:({text:d})=>d.primary,color:d=>d[i][r]},onClose:m,onMouseEnter:q,onMouseLeave:T,children:u})}const x=C.createComponent(y),v=n.createContext({toasts:[],add:()=>{}});function M({children:o}){const[i,u]=n.useState([]),c=n.useMemo(()=>({toasts:i,add:e=>{a(e)}}),[i]),a=e=>{u(t=>[...t,{id:R.uuid(),visible:!0,...e}])},l=e=>{u(t=>t.map(r=>(r.id===e&&(r.visible=!1),r))),setTimeout(()=>{u(t=>t.filter(r=>r.id!==e))},500)};return s.jsxs(v.Provider,{value:c,children:[s.jsx("div",{className:`${f.prefix}-toast-container`,children:i.map(({...e})=>s.jsx("div",{style:{marginBottom:15},children:s.jsx(g.Zoom,{enter:!!e.visible,children:s.jsx(x,{...e,onRemove:l})})},e.id))}),o]})}function P(){const{add:o}=n.useContext(v);return{addToast:o}}exports.Toast=x;exports.ToastProvider=M;exports.useToast=P;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/feedback/Toast/Toast.tsx","../../../src/feedback/Toast/ToastProvider.tsx","../../../src/feedback/Toast/useToast.ts"],"sourcesContent":["import { useEffect, useRef, type HTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport { Colors } from '@iziui/core/theme';\n\nimport createComponent from '@/core/createComponent';\nimport { useTheme } from '@/theme';\n\nimport Alert from '../Alert';\n\nimport '@iziui/styles/components/Toast.scss';\n\ntype Icon = React.JSX.Element;\ntype Message = React.JSX.Element | string;\n\nexport type PickedToast = Pick<ToastProps,\n | 'id'\n | 'icon'\n | 'color'\n | 'message'\n | 'delay'\n | 'visible'\n>\n\nexport interface ToastProps extends HTMLAttributes<HTMLDivElement> {\n id?: string;\n icon?: Icon;\n color: Colors;\n message: Message;\n delay?: number;\n visible?: boolean;\n onRemove: (id: string) => void;\n};\n\nfunction Toast({ id, color, message, icon, delay = 2500, onRemove, ...props }: ToastProps) {\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const { theme: { mode } } = useTheme();\n\n const className = joinClass(\n `${prefix}-toast`,\n props.className\n );\n\n useEffect(() => {\n startTimer();\n return clearTimer;\n }, []);\n\n const handleRemove = () => {\n if (!id) { return; }\n onRemove(id);\n };\n\n const startTimer = () => {\n timeoutRef.current = setTimeout(() => { handleRemove(); }, delay);\n };\n\n const clearTimer = () => {\n if (!timeoutRef.current) { return; }\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n };\n\n return (\n <Alert\n className={className}\n icon={icon}\n sx={{\n backgroundColor: ({ text }) => text.primary,\n color: (palette) => palette[color][mode]\n }}\n onClose={handleRemove}\n onMouseEnter={clearTimer}\n onMouseLeave={startTimer}\n >\n {message}\n </Alert>\n );\n}\n\nexport default createComponent(Toast);\n","import { createContext, type PropsWithChildren, useMemo, useState } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport Zoom from '@/animations/Zoom';\n\nimport Toast, { type PickedToast } from './Toast';\n\nimport '@iziui/styles/components/Toast.scss';\n\nexport interface ToastContextConfig {\n toasts: Array<PickedToast>;\n add: (toast: PickedToast) => void;\n}\n\nexport const ToastContext = createContext<ToastContextConfig>({\n toasts: [],\n add: () => { }\n});\n\nexport default function ToastProvider({ children }: PropsWithChildren) {\n const [toasts, setToasts] = useState<Array<PickedToast>>([]);\n\n const context: ToastContextConfig = useMemo(() => ({\n toasts,\n add: (toast) => { addToast(toast); },\n }), [toasts]);\n\n const addToast = (toast: PickedToast) => {\n setToasts(prev => [...prev, { id: uuid(), visible: true, ...toast }]);\n };\n\n const remove = (id: string) => {\n setToasts(prev => prev.map(a => {\n if (a.id === id) { a.visible = false; }\n return a;\n }));\n setTimeout(() => { setToasts(prev => prev.filter(a => a.id !== id)); }, 500);\n };\n\n return (\n <ToastContext.Provider value={context}>\n <div className={`${prefix}-toast-container`}>\n {\n toasts.map(({ ...toast }) => {\n return (\n <div key={toast.id} style={{ marginBottom: 15 }}>\n <Zoom enter={Boolean(toast.visible)}>\n <Toast {...toast} onRemove={remove} />\n </Zoom>\n </div>\n );\n })\n }\n </div>\n {children}\n </ToastContext.Provider>\n );\n}","import { useContext } from 'react';\n\nimport { ToastContext } from './ToastProvider';\n\nexport default function useToast() {\n const { add } = useContext(ToastContext);\n\n return { addToast: add };\n}"],"names":["Toast","id","color","message","icon","delay","onRemove","props","timeoutRef","useRef","mode","useTheme","className","joinClass","prefix","useEffect","startTimer","clearTimer","handleRemove","jsx","Alert","text","palette","createComponent","ToastContext","createContext","ToastProvider","children","toasts","setToasts","useState","context","useMemo","toast","addToast","prev","uuid","remove","a","jsxs","Zoom","useToast","add","useContext"],"mappings":"0vBAoCA,SAASA,EAAM,CAAE,GAAAC,EAAI,MAAAC,EAAO,QAAAC,EAAS,KAAAC,EAAM,MAAAC,EAAQ,KAAM,SAAAC,EAAU,GAAGC,GAAqB,CACzF,MAAMC,EAAaC,EAAAA,OAA6C,IAAI,EAE9D,CAAE,MAAO,CAAE,KAAAC,CAAA,CAAK,EAAMC,EAAAA,SAAA,EAEtBC,EAAYC,EAAAA,UAChB,GAAGC,EAAAA,MAAM,SACTP,EAAM,SAAA,EAGRQ,EAAAA,UAAU,KACRC,EAAA,EACOC,GACN,CAAA,CAAE,EAEL,MAAMC,EAAe,IAAM,CACpBjB,GACLK,EAASL,CAAE,CACb,EAEMe,EAAa,IAAM,CACvBR,EAAW,QAAU,WAAW,IAAM,CAAEU,EAAA,CAAgB,EAAGb,CAAK,CAClE,EAEMY,EAAa,IAAM,CAClBT,EAAW,UAChB,aAAaA,EAAW,OAAO,EAC/BA,EAAW,QAAU,KACvB,EAEA,OACEW,EAAAA,IAACC,EAAAA,MAAA,CACC,UAAAR,EACA,KAAAR,EACA,GAAI,CACF,gBAAiB,CAAC,CAAE,KAAAiB,CAAA,IAAWA,EAAK,QACpC,MAAQC,GAAYA,EAAQpB,CAAK,EAAEQ,CAAI,CAAA,EAEzC,QAASQ,EACT,aAAcD,EACd,aAAcD,EAEb,SAAAb,CAAA,CAAA,CAGP,CAEA,MAAAH,EAAeuB,EAAAA,gBAAgBvB,CAAK,EClEvBwB,EAAeC,EAAAA,cAAkC,CAC5D,OAAQ,CAAA,EACR,IAAK,IAAM,CAAE,CACf,CAAC,EAED,SAAwBC,EAAc,CAAE,SAAAC,GAA+B,CACrE,KAAM,CAACC,EAAQC,CAAS,EAAIC,EAAAA,SAA6B,CAAA,CAAE,EAErDC,EAA8BC,EAAAA,QAAQ,KAAO,CACjD,OAAAJ,EACA,IAAMK,GAAU,CAAEC,EAASD,CAAK,CAAG,CAAA,GACjC,CAACL,CAAM,CAAC,EAENM,EAAYD,GAAuB,CACvCJ,EAAUM,GAAQ,CAAC,GAAGA,EAAM,CAAE,GAAIC,EAAAA,KAAA,EAAQ,QAAS,GAAM,GAAGH,CAAA,CAAO,CAAC,CACtE,EAEMI,EAAUpC,GAAe,CAC7B4B,EAAUM,GAAQA,EAAK,IAAIG,IACrBA,EAAE,KAAOrC,IAAMqC,EAAE,QAAU,IACxBA,EACR,CAAC,EACF,WAAW,IAAM,CAAET,KAAkBM,EAAK,UAAYG,EAAE,KAAOrC,CAAE,CAAC,CAAG,EAAG,GAAG,CAC7E,EAEA,OACEsC,EAAAA,KAACf,EAAa,SAAb,CAAsB,MAAOO,EAC5B,SAAA,CAAAZ,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGL,EAAAA,MAAM,mBAErB,SAAAc,EAAO,IAAI,CAAC,CAAE,GAAGK,CAAA,IAEbd,EAAAA,IAAC,OAAmB,MAAO,CAAE,aAAc,IACzC,SAAAA,EAAAA,IAACqB,EAAAA,KAAA,CAAK,MAAO,EAAQP,EAAM,QACzB,SAAAd,EAAAA,IAACnB,EAAA,CAAO,GAAGiC,EAAO,SAAUI,CAAA,CAAQ,CAAA,CACtC,GAHQJ,EAAM,EAIhB,CAEH,CAAA,CAEL,EACCN,CAAA,EACH,CAEJ,CCxDA,SAAwBc,GAAW,CACjC,KAAM,CAAE,IAAAC,CAAA,EAAQC,EAAAA,WAAWnB,CAAY,EAEvC,MAAO,CAAE,SAAUkB,CAAA,CACrB"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/feedback/Toast/Toast.tsx","../../../src/feedback/Toast/ToastProvider.tsx","../../../src/feedback/Toast/useToast.ts"],"sourcesContent":["import { useEffect, useRef, type HTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport { Colors } from '@iziui/core/theme';\n\nimport createComponent from '@/core/createComponent';\nimport { useTheme } from '@/theme';\n\nimport Alert from '../Alert';\n\nimport '@iziui/styles/components/Toast.scss';\n\ntype Icon = React.JSX.Element;\ntype Message = React.JSX.Element | string;\n\nexport type PickedToast = Pick<ToastProps,\n | 'id'\n | 'icon'\n | 'color'\n | 'message'\n | 'delay'\n | 'visible'\n>\n\nexport interface ToastProps extends HTMLAttributes<HTMLDivElement> {\n id?: string;\n icon?: Icon;\n color: Colors;\n message: Message;\n delay?: number;\n visible?: boolean;\n onRemove: (id: string) => void;\n};\n\nfunction Toast({ id, color, message, icon, delay = 2500, onRemove, ...props }: ToastProps) {\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const { theme: { mode } } = useTheme();\n\n const className = joinClass(\n `${prefix}-toast`,\n props.className\n );\n\n useEffect(() => {\n startTimer();\n return clearTimer;\n }, []);\n\n const handleRemove = () => {\n if (!id) { return; }\n onRemove(id);\n };\n\n const startTimer = () => {\n timeoutRef.current = setTimeout(() => { handleRemove(); }, delay);\n };\n\n const clearTimer = () => {\n if (!timeoutRef.current) { return; }\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n };\n\n return (\n <Alert\n className={className}\n icon={icon}\n sx={{\n backgroundColor: ({ text }) => text.primary,\n color: (palette) => palette[color][mode]\n }}\n onClose={handleRemove}\n onMouseEnter={clearTimer}\n onMouseLeave={startTimer}\n >\n {message}\n </Alert>\n );\n}\n\nexport default createComponent(Toast);\n","import { createContext, type PropsWithChildren, useMemo, useState } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport Zoom from '@/animations/Zoom';\n\nimport Toast, { type PickedToast } from './Toast';\n\nimport '@iziui/styles/components/Toast.scss';\n\nexport interface ToastContextConfig {\n toasts: Array<PickedToast>;\n add: (toast: PickedToast) => void;\n}\n\nexport const ToastContext = createContext<ToastContextConfig>({\n toasts: [],\n add: () => { }\n});\n\nexport default function ToastProvider({ children }: PropsWithChildren) {\n const [toasts, setToasts] = useState<Array<PickedToast>>([]);\n\n const context: ToastContextConfig = useMemo(() => ({\n toasts,\n add: (toast) => { addToast(toast); },\n }), [toasts]);\n\n const addToast = (toast: PickedToast) => {\n setToasts(prev => [...prev, { id: uuid(), visible: true, ...toast }]);\n };\n\n const remove = (id: string) => {\n setToasts(prev => prev.map(a => {\n if (a.id === id) { a.visible = false; }\n return a;\n }));\n setTimeout(() => { setToasts(prev => prev.filter(a => a.id !== id)); }, 500);\n };\n\n return (\n <ToastContext.Provider value={context}>\n <div className={`${prefix}-toast-container`}>\n {\n toasts.map(({ ...toast }) => {\n return (\n <div key={toast.id} style={{ marginBottom: 15 }}>\n <Zoom enter={Boolean(toast.visible)}>\n <Toast {...toast} onRemove={remove} />\n </Zoom>\n </div>\n );\n })\n }\n </div>\n {children}\n </ToastContext.Provider>\n );\n}","import { useContext } from 'react';\n\nimport { ToastContext } from './ToastProvider';\n\nexport default function useToast() {\n const { add } = useContext(ToastContext);\n\n return { addToast: add };\n}"],"names":["Toast","id","color","message","icon","delay","onRemove","props","timeoutRef","useRef","mode","useTheme","className","joinClass","prefix","useEffect","startTimer","clearTimer","handleRemove","jsx","Alert","text","palette","createComponent","ToastContext","createContext","ToastProvider","children","toasts","setToasts","useState","context","useMemo","toast","addToast","prev","uuid","remove","a","jsxs","Zoom","useToast","add","useContext"],"mappings":"syBAoCA,SAASA,EAAM,CAAE,GAAAC,EAAI,MAAAC,EAAO,QAAAC,EAAS,KAAAC,EAAM,MAAAC,EAAQ,KAAM,SAAAC,EAAU,GAAGC,GAAqB,CACzF,MAAMC,EAAaC,EAAAA,OAA6C,IAAI,EAE9D,CAAE,MAAO,CAAE,KAAAC,CAAA,CAAK,EAAMC,EAAAA,SAAA,EAEtBC,EAAYC,EAAAA,UAChB,GAAGC,EAAAA,MAAM,SACTP,EAAM,SAAA,EAGRQ,EAAAA,UAAU,KACRC,EAAA,EACOC,GACN,CAAA,CAAE,EAEL,MAAMC,EAAe,IAAM,CACpBjB,GACLK,EAASL,CAAE,CACb,EAEMe,EAAa,IAAM,CACvBR,EAAW,QAAU,WAAW,IAAM,CAAEU,EAAA,CAAgB,EAAGb,CAAK,CAClE,EAEMY,EAAa,IAAM,CAClBT,EAAW,UAChB,aAAaA,EAAW,OAAO,EAC/BA,EAAW,QAAU,KACvB,EAEA,OACEW,EAAAA,IAACC,EAAAA,MAAA,CACC,UAAAR,EACA,KAAAR,EACA,GAAI,CACF,gBAAiB,CAAC,CAAE,KAAAiB,CAAA,IAAWA,EAAK,QACpC,MAAQC,GAAYA,EAAQpB,CAAK,EAAEQ,CAAI,CAAA,EAEzC,QAASQ,EACT,aAAcD,EACd,aAAcD,EAEb,SAAAb,CAAA,CAAA,CAGP,CAEA,MAAAH,EAAeuB,EAAAA,gBAAgBvB,CAAK,EClEvBwB,EAAeC,EAAAA,cAAkC,CAC5D,OAAQ,CAAA,EACR,IAAK,IAAM,CAAE,CACf,CAAC,EAED,SAAwBC,EAAc,CAAE,SAAAC,GAA+B,CACrE,KAAM,CAACC,EAAQC,CAAS,EAAIC,EAAAA,SAA6B,CAAA,CAAE,EAErDC,EAA8BC,EAAAA,QAAQ,KAAO,CACjD,OAAAJ,EACA,IAAMK,GAAU,CAAEC,EAASD,CAAK,CAAG,CAAA,GACjC,CAACL,CAAM,CAAC,EAENM,EAAYD,GAAuB,CACvCJ,EAAUM,GAAQ,CAAC,GAAGA,EAAM,CAAE,GAAIC,EAAAA,KAAA,EAAQ,QAAS,GAAM,GAAGH,CAAA,CAAO,CAAC,CACtE,EAEMI,EAAUpC,GAAe,CAC7B4B,EAAUM,GAAQA,EAAK,IAAIG,IACrBA,EAAE,KAAOrC,IAAMqC,EAAE,QAAU,IACxBA,EACR,CAAC,EACF,WAAW,IAAM,CAAET,KAAkBM,EAAK,UAAYG,EAAE,KAAOrC,CAAE,CAAC,CAAG,EAAG,GAAG,CAC7E,EAEA,OACEsC,EAAAA,KAACf,EAAa,SAAb,CAAsB,MAAOO,EAC5B,SAAA,CAAAZ,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGL,EAAAA,MAAM,mBAErB,SAAAc,EAAO,IAAI,CAAC,CAAE,GAAGK,CAAA,IAEbd,EAAAA,IAAC,OAAmB,MAAO,CAAE,aAAc,IACzC,SAAAA,EAAAA,IAACqB,EAAAA,KAAA,CAAK,MAAO,EAAQP,EAAM,QACzB,SAAAd,EAAAA,IAACnB,EAAA,CAAO,GAAGiC,EAAO,SAAUI,CAAA,CAAQ,CAAA,CACtC,GAHQJ,EAAM,EAIhB,CAEH,CAAA,CAEL,EACCN,CAAA,EACH,CAEJ,CCxDA,SAAwBc,GAAW,CACjC,KAAM,CAAE,IAAAC,CAAA,EAAQC,EAAAA,WAAWnB,CAAY,EAEvC,MAAO,CAAE,SAAUkB,CAAA,CACrB"}
@@ -1,2 +1,2 @@
1
- import{jsx as i,jsxs as x}from"react/jsx-runtime";import{useRef as h,useEffect as C,useState as b,useMemo as j,createContext as R,useContext as M}from"react";import{p as f}from"../../chunks/index-CZ41y9Hn.js";import{j as N}from"../../chunks/joinClass-anSpaauN.js";import{c as $,u as g}from"../../chunks/createComponent-CovqNaAJ.js";import{u as y}from"../../chunks/useTheme-BYuNiCiH.js";import{A}from"../../chunks/Alert-mOXPwc3e.js";import{Z as B}from"../../chunks/Zoom-DqgU4Wfv.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/Stack-Deow48Th.js";import"../../chunks/Typography-BrJZyxiT.js";import"../../chunks/convertPathToColor-DtOjH4ZP.js";import"../../chunks/ButtonIcon-CYO1Crb-.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/Icon-imOBrsbL.js";function E({id:r,color:s,message:n,icon:a,delay:m=2500,onRemove:c,...t}){const o=h(null),{theme:{mode:e}}=y(),v=N(`${f}-toast`,t.className);C(()=>(d(),p),[]);const l=()=>{r&&c(r)},d=()=>{o.current=setTimeout(()=>{l()},m)},p=()=>{o.current&&(clearTimeout(o.current),o.current=null)};return i(A,{className:v,icon:a,sx:{backgroundColor:({text:u})=>u.primary,color:u=>u[s][e]},onClose:l,onMouseEnter:p,onMouseLeave:d,children:n})}const P=$(E),T=R({toasts:[],add:()=>{}});function Q({children:r}){const[s,n]=b([]),a=j(()=>({toasts:s,add:t=>{m(t)}}),[s]),m=t=>{n(o=>[...o,{id:g(),visible:!0,...t}])},c=t=>{n(o=>o.map(e=>(e.id===t&&(e.visible=!1),e))),setTimeout(()=>{n(o=>o.filter(e=>e.id!==t))},500)};return x(T.Provider,{value:a,children:[i("div",{className:`${f}-toast-container`,children:s.map(({...t})=>i("div",{style:{marginBottom:15},children:i(B,{enter:!!t.visible,children:i(P,{...t,onRemove:c})})},t.id))}),r]})}function U(){const{add:r}=M(T);return{addToast:r}}export{P as Toast,Q as ToastProvider,U as useToast};
1
+ import{jsx as i,jsxs as x}from"react/jsx-runtime";import{useRef as h,useEffect as C,useState as b,useMemo as j,createContext as R,useContext as M}from"react";import{p as f}from"../../chunks/index-CZ41y9Hn.js";import{j as N}from"../../chunks/joinClass-anSpaauN.js";import{c as $}from"../../chunks/createComponent-BmdhWozT.js";import{u as g}from"../../chunks/useTheme-BYuNiCiH.js";import{A as y}from"../../chunks/Alert-CD6hOvos.js";import{u as A}from"../../chunks/uuid-dGvr9vBZ.js";import{Z as B}from"../../chunks/Zoom-DqgU4Wfv.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/Stack-CHR_pZC4.js";import"../../chunks/Typography-B_WR62ip.js";import"../../chunks/convertPathToColor-DtOjH4ZP.js";import"../../chunks/ButtonIcon-DMetcfYt.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/Icon-DTU52KQE.js";function E({id:r,color:s,message:n,icon:m,delay:a=2500,onRemove:c,...t}){const o=h(null),{theme:{mode:e}}=g(),v=N(`${f}-toast`,t.className);C(()=>(d(),p),[]);const l=()=>{r&&c(r)},d=()=>{o.current=setTimeout(()=>{l()},a)},p=()=>{o.current&&(clearTimeout(o.current),o.current=null)};return i(y,{className:v,icon:m,sx:{backgroundColor:({text:u})=>u.primary,color:u=>u[s][e]},onClose:l,onMouseEnter:p,onMouseLeave:d,children:n})}const P=$(E),T=R({toasts:[],add:()=>{}});function U({children:r}){const[s,n]=b([]),m=j(()=>({toasts:s,add:t=>{a(t)}}),[s]),a=t=>{n(o=>[...o,{id:A(),visible:!0,...t}])},c=t=>{n(o=>o.map(e=>(e.id===t&&(e.visible=!1),e))),setTimeout(()=>{n(o=>o.filter(e=>e.id!==t))},500)};return x(T.Provider,{value:m,children:[i("div",{className:`${f}-toast-container`,children:s.map(({...t})=>i("div",{style:{marginBottom:15},children:i(B,{enter:!!t.visible,children:i(P,{...t,onRemove:c})})},t.id))}),r]})}function V(){const{add:r}=M(T);return{addToast:r}}export{P as Toast,U as ToastProvider,V as useToast};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/feedback/Toast/Toast.tsx","../../../src/feedback/Toast/ToastProvider.tsx","../../../src/feedback/Toast/useToast.ts"],"sourcesContent":["import { useEffect, useRef, type HTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport { Colors } from '@iziui/core/theme';\n\nimport createComponent from '@/core/createComponent';\nimport { useTheme } from '@/theme';\n\nimport Alert from '../Alert';\n\nimport '@iziui/styles/components/Toast.scss';\n\ntype Icon = React.JSX.Element;\ntype Message = React.JSX.Element | string;\n\nexport type PickedToast = Pick<ToastProps,\n | 'id'\n | 'icon'\n | 'color'\n | 'message'\n | 'delay'\n | 'visible'\n>\n\nexport interface ToastProps extends HTMLAttributes<HTMLDivElement> {\n id?: string;\n icon?: Icon;\n color: Colors;\n message: Message;\n delay?: number;\n visible?: boolean;\n onRemove: (id: string) => void;\n};\n\nfunction Toast({ id, color, message, icon, delay = 2500, onRemove, ...props }: ToastProps) {\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const { theme: { mode } } = useTheme();\n\n const className = joinClass(\n `${prefix}-toast`,\n props.className\n );\n\n useEffect(() => {\n startTimer();\n return clearTimer;\n }, []);\n\n const handleRemove = () => {\n if (!id) { return; }\n onRemove(id);\n };\n\n const startTimer = () => {\n timeoutRef.current = setTimeout(() => { handleRemove(); }, delay);\n };\n\n const clearTimer = () => {\n if (!timeoutRef.current) { return; }\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n };\n\n return (\n <Alert\n className={className}\n icon={icon}\n sx={{\n backgroundColor: ({ text }) => text.primary,\n color: (palette) => palette[color][mode]\n }}\n onClose={handleRemove}\n onMouseEnter={clearTimer}\n onMouseLeave={startTimer}\n >\n {message}\n </Alert>\n );\n}\n\nexport default createComponent(Toast);\n","import { createContext, type PropsWithChildren, useMemo, useState } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport Zoom from '@/animations/Zoom';\n\nimport Toast, { type PickedToast } from './Toast';\n\nimport '@iziui/styles/components/Toast.scss';\n\nexport interface ToastContextConfig {\n toasts: Array<PickedToast>;\n add: (toast: PickedToast) => void;\n}\n\nexport const ToastContext = createContext<ToastContextConfig>({\n toasts: [],\n add: () => { }\n});\n\nexport default function ToastProvider({ children }: PropsWithChildren) {\n const [toasts, setToasts] = useState<Array<PickedToast>>([]);\n\n const context: ToastContextConfig = useMemo(() => ({\n toasts,\n add: (toast) => { addToast(toast); },\n }), [toasts]);\n\n const addToast = (toast: PickedToast) => {\n setToasts(prev => [...prev, { id: uuid(), visible: true, ...toast }]);\n };\n\n const remove = (id: string) => {\n setToasts(prev => prev.map(a => {\n if (a.id === id) { a.visible = false; }\n return a;\n }));\n setTimeout(() => { setToasts(prev => prev.filter(a => a.id !== id)); }, 500);\n };\n\n return (\n <ToastContext.Provider value={context}>\n <div className={`${prefix}-toast-container`}>\n {\n toasts.map(({ ...toast }) => {\n return (\n <div key={toast.id} style={{ marginBottom: 15 }}>\n <Zoom enter={Boolean(toast.visible)}>\n <Toast {...toast} onRemove={remove} />\n </Zoom>\n </div>\n );\n })\n }\n </div>\n {children}\n </ToastContext.Provider>\n );\n}","import { useContext } from 'react';\n\nimport { ToastContext } from './ToastProvider';\n\nexport default function useToast() {\n const { add } = useContext(ToastContext);\n\n return { addToast: add };\n}"],"names":["Toast","id","color","message","icon","delay","onRemove","props","timeoutRef","useRef","mode","useTheme","className","joinClass","prefix","useEffect","startTimer","clearTimer","handleRemove","jsx","Alert","text","palette","Toast$1","createComponent","ToastContext","createContext","ToastProvider","children","toasts","setToasts","useState","context","useMemo","toast","addToast","prev","uuid","remove","a","jsxs","Zoom","useToast","add","useContext"],"mappings":"0xBAoCA,SAASA,EAAM,CAAE,GAAAC,EAAI,MAAAC,EAAO,QAAAC,EAAS,KAAAC,EAAM,MAAAC,EAAQ,KAAM,SAAAC,EAAU,GAAGC,GAAqB,CACzF,MAAMC,EAAaC,EAA6C,IAAI,EAE9D,CAAE,MAAO,CAAE,KAAAC,CAAA,CAAK,EAAMC,EAAA,EAEtBC,EAAYC,EAChB,GAAGC,CAAM,SACTP,EAAM,SAAA,EAGRQ,EAAU,KACRC,EAAA,EACOC,GACN,CAAA,CAAE,EAEL,MAAMC,EAAe,IAAM,CACpBjB,GACLK,EAASL,CAAE,CACb,EAEMe,EAAa,IAAM,CACvBR,EAAW,QAAU,WAAW,IAAM,CAAEU,EAAA,CAAgB,EAAGb,CAAK,CAClE,EAEMY,EAAa,IAAM,CAClBT,EAAW,UAChB,aAAaA,EAAW,OAAO,EAC/BA,EAAW,QAAU,KACvB,EAEA,OACEW,EAACC,EAAA,CACC,UAAAR,EACA,KAAAR,EACA,GAAI,CACF,gBAAiB,CAAC,CAAE,KAAAiB,CAAA,IAAWA,EAAK,QACpC,MAAQC,GAAYA,EAAQpB,CAAK,EAAEQ,CAAI,CAAA,EAEzC,QAASQ,EACT,aAAcD,EACd,aAAcD,EAEb,SAAAb,CAAA,CAAA,CAGP,CAEA,MAAAoB,EAAeC,EAAgBxB,CAAK,EClEvByB,EAAeC,EAAkC,CAC5D,OAAQ,CAAA,EACR,IAAK,IAAM,CAAE,CACf,CAAC,EAED,SAAwBC,EAAc,CAAE,SAAAC,GAA+B,CACrE,KAAM,CAACC,EAAQC,CAAS,EAAIC,EAA6B,CAAA,CAAE,EAErDC,EAA8BC,EAAQ,KAAO,CACjD,OAAAJ,EACA,IAAMK,GAAU,CAAEC,EAASD,CAAK,CAAG,CAAA,GACjC,CAACL,CAAM,CAAC,EAENM,EAAYD,GAAuB,CACvCJ,EAAUM,GAAQ,CAAC,GAAGA,EAAM,CAAE,GAAIC,EAAA,EAAQ,QAAS,GAAM,GAAGH,CAAA,CAAO,CAAC,CACtE,EAEMI,EAAUrC,GAAe,CAC7B6B,EAAUM,GAAQA,EAAK,IAAIG,IACrBA,EAAE,KAAOtC,IAAMsC,EAAE,QAAU,IACxBA,EACR,CAAC,EACF,WAAW,IAAM,CAAET,KAAkBM,EAAK,UAAYG,EAAE,KAAOtC,CAAE,CAAC,CAAG,EAAG,GAAG,CAC7E,EAEA,OACEuC,EAACf,EAAa,SAAb,CAAsB,MAAOO,EAC5B,SAAA,CAAAb,EAAC,MAAA,CAAI,UAAW,GAAGL,CAAM,mBAErB,SAAAe,EAAO,IAAI,CAAC,CAAE,GAAGK,CAAA,IAEbf,EAAC,OAAmB,MAAO,CAAE,aAAc,IACzC,SAAAA,EAACsB,EAAA,CAAK,MAAO,EAAQP,EAAM,QACzB,SAAAf,EAACnB,EAAA,CAAO,GAAGkC,EAAO,SAAUI,CAAA,CAAQ,CAAA,CACtC,GAHQJ,EAAM,EAIhB,CAEH,CAAA,CAEL,EACCN,CAAA,EACH,CAEJ,CCxDA,SAAwBc,GAAW,CACjC,KAAM,CAAE,IAAAC,CAAA,EAAQC,EAAWnB,CAAY,EAEvC,MAAO,CAAE,SAAUkB,CAAA,CACrB"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/feedback/Toast/Toast.tsx","../../../src/feedback/Toast/ToastProvider.tsx","../../../src/feedback/Toast/useToast.ts"],"sourcesContent":["import { useEffect, useRef, type HTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport { Colors } from '@iziui/core/theme';\n\nimport createComponent from '@/core/createComponent';\nimport { useTheme } from '@/theme';\n\nimport Alert from '../Alert';\n\nimport '@iziui/styles/components/Toast.scss';\n\ntype Icon = React.JSX.Element;\ntype Message = React.JSX.Element | string;\n\nexport type PickedToast = Pick<ToastProps,\n | 'id'\n | 'icon'\n | 'color'\n | 'message'\n | 'delay'\n | 'visible'\n>\n\nexport interface ToastProps extends HTMLAttributes<HTMLDivElement> {\n id?: string;\n icon?: Icon;\n color: Colors;\n message: Message;\n delay?: number;\n visible?: boolean;\n onRemove: (id: string) => void;\n};\n\nfunction Toast({ id, color, message, icon, delay = 2500, onRemove, ...props }: ToastProps) {\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const { theme: { mode } } = useTheme();\n\n const className = joinClass(\n `${prefix}-toast`,\n props.className\n );\n\n useEffect(() => {\n startTimer();\n return clearTimer;\n }, []);\n\n const handleRemove = () => {\n if (!id) { return; }\n onRemove(id);\n };\n\n const startTimer = () => {\n timeoutRef.current = setTimeout(() => { handleRemove(); }, delay);\n };\n\n const clearTimer = () => {\n if (!timeoutRef.current) { return; }\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n };\n\n return (\n <Alert\n className={className}\n icon={icon}\n sx={{\n backgroundColor: ({ text }) => text.primary,\n color: (palette) => palette[color][mode]\n }}\n onClose={handleRemove}\n onMouseEnter={clearTimer}\n onMouseLeave={startTimer}\n >\n {message}\n </Alert>\n );\n}\n\nexport default createComponent(Toast);\n","import { createContext, type PropsWithChildren, useMemo, useState } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport Zoom from '@/animations/Zoom';\n\nimport Toast, { type PickedToast } from './Toast';\n\nimport '@iziui/styles/components/Toast.scss';\n\nexport interface ToastContextConfig {\n toasts: Array<PickedToast>;\n add: (toast: PickedToast) => void;\n}\n\nexport const ToastContext = createContext<ToastContextConfig>({\n toasts: [],\n add: () => { }\n});\n\nexport default function ToastProvider({ children }: PropsWithChildren) {\n const [toasts, setToasts] = useState<Array<PickedToast>>([]);\n\n const context: ToastContextConfig = useMemo(() => ({\n toasts,\n add: (toast) => { addToast(toast); },\n }), [toasts]);\n\n const addToast = (toast: PickedToast) => {\n setToasts(prev => [...prev, { id: uuid(), visible: true, ...toast }]);\n };\n\n const remove = (id: string) => {\n setToasts(prev => prev.map(a => {\n if (a.id === id) { a.visible = false; }\n return a;\n }));\n setTimeout(() => { setToasts(prev => prev.filter(a => a.id !== id)); }, 500);\n };\n\n return (\n <ToastContext.Provider value={context}>\n <div className={`${prefix}-toast-container`}>\n {\n toasts.map(({ ...toast }) => {\n return (\n <div key={toast.id} style={{ marginBottom: 15 }}>\n <Zoom enter={Boolean(toast.visible)}>\n <Toast {...toast} onRemove={remove} />\n </Zoom>\n </div>\n );\n })\n }\n </div>\n {children}\n </ToastContext.Provider>\n );\n}","import { useContext } from 'react';\n\nimport { ToastContext } from './ToastProvider';\n\nexport default function useToast() {\n const { add } = useContext(ToastContext);\n\n return { addToast: add };\n}"],"names":["Toast","id","color","message","icon","delay","onRemove","props","timeoutRef","useRef","mode","useTheme","className","joinClass","prefix","useEffect","startTimer","clearTimer","handleRemove","jsx","Alert","text","palette","Toast$1","createComponent","ToastContext","createContext","ToastProvider","children","toasts","setToasts","useState","context","useMemo","toast","addToast","prev","uuid","remove","a","jsxs","Zoom","useToast","add","useContext"],"mappings":"00BAoCA,SAASA,EAAM,CAAE,GAAAC,EAAI,MAAAC,EAAO,QAAAC,EAAS,KAAAC,EAAM,MAAAC,EAAQ,KAAM,SAAAC,EAAU,GAAGC,GAAqB,CACzF,MAAMC,EAAaC,EAA6C,IAAI,EAE9D,CAAE,MAAO,CAAE,KAAAC,CAAA,CAAK,EAAMC,EAAA,EAEtBC,EAAYC,EAChB,GAAGC,CAAM,SACTP,EAAM,SAAA,EAGRQ,EAAU,KACRC,EAAA,EACOC,GACN,CAAA,CAAE,EAEL,MAAMC,EAAe,IAAM,CACpBjB,GACLK,EAASL,CAAE,CACb,EAEMe,EAAa,IAAM,CACvBR,EAAW,QAAU,WAAW,IAAM,CAAEU,EAAA,CAAgB,EAAGb,CAAK,CAClE,EAEMY,EAAa,IAAM,CAClBT,EAAW,UAChB,aAAaA,EAAW,OAAO,EAC/BA,EAAW,QAAU,KACvB,EAEA,OACEW,EAACC,EAAA,CACC,UAAAR,EACA,KAAAR,EACA,GAAI,CACF,gBAAiB,CAAC,CAAE,KAAAiB,CAAA,IAAWA,EAAK,QACpC,MAAQC,GAAYA,EAAQpB,CAAK,EAAEQ,CAAI,CAAA,EAEzC,QAASQ,EACT,aAAcD,EACd,aAAcD,EAEb,SAAAb,CAAA,CAAA,CAGP,CAEA,MAAAoB,EAAeC,EAAgBxB,CAAK,EClEvByB,EAAeC,EAAkC,CAC5D,OAAQ,CAAA,EACR,IAAK,IAAM,CAAE,CACf,CAAC,EAED,SAAwBC,EAAc,CAAE,SAAAC,GAA+B,CACrE,KAAM,CAACC,EAAQC,CAAS,EAAIC,EAA6B,CAAA,CAAE,EAErDC,EAA8BC,EAAQ,KAAO,CACjD,OAAAJ,EACA,IAAMK,GAAU,CAAEC,EAASD,CAAK,CAAG,CAAA,GACjC,CAACL,CAAM,CAAC,EAENM,EAAYD,GAAuB,CACvCJ,EAAUM,GAAQ,CAAC,GAAGA,EAAM,CAAE,GAAIC,EAAA,EAAQ,QAAS,GAAM,GAAGH,CAAA,CAAO,CAAC,CACtE,EAEMI,EAAUrC,GAAe,CAC7B6B,EAAUM,GAAQA,EAAK,IAAIG,IACrBA,EAAE,KAAOtC,IAAMsC,EAAE,QAAU,IACxBA,EACR,CAAC,EACF,WAAW,IAAM,CAAET,KAAkBM,EAAK,UAAYG,EAAE,KAAOtC,CAAE,CAAC,CAAG,EAAG,GAAG,CAC7E,EAEA,OACEuC,EAACf,EAAa,SAAb,CAAsB,MAAOO,EAC5B,SAAA,CAAAb,EAAC,MAAA,CAAI,UAAW,GAAGL,CAAM,mBAErB,SAAAe,EAAO,IAAI,CAAC,CAAE,GAAGK,CAAA,IAEbf,EAAC,OAAmB,MAAO,CAAE,aAAc,IACzC,SAAAA,EAACsB,EAAA,CAAK,MAAO,EAAQP,EAAM,QACzB,SAAAf,EAACnB,EAAA,CAAO,GAAGkC,EAAO,SAAUI,CAAA,CAAQ,CAAA,CACtC,GAHQJ,EAAM,EAIhB,CAEH,CAAA,CAEL,EACCN,CAAA,EACH,CAEJ,CCxDA,SAAwBc,GAAW,CACjC,KAAM,CAAE,IAAAC,CAAA,EAAQC,EAAWnB,CAAY,EAEvC,MAAO,CAAE,SAAUkB,CAAA,CACrB"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const q=require("react/jsx-runtime"),t=require("react"),v=require("../../chunks/index-DYxwT4uW.cjs"),S=require("../../chunks/joinClass-Jk3EszKD.cjs"),M=require("../../chunks/createComponent-Dkt68kvT.cjs"),A=require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");function H({children:x,label:b,width:g="max-content",direction:l="bottom",...d}){const{theme:{spacing:n}}=A.useTheme(),[r,h]=t.useState(!1),[j,i]=t.useState(!1),[y,T]=t.useState(null),c=t.useRef(null),a=t.useRef(null),e=t.useRef(null);t.useLayoutEffect(()=>{if(!r||!c.current||!a.current)return;const{offsetHeight:o,offsetWidth:f}=c.current,{offsetHeight:m,offsetWidth:p}=a.current;let s,u;l==="top"?(s=-(m+n),u=-(p-f)/2):l==="bottom"?(s=o+n,u=-(p-f)/2):l==="right"?(s=(o-m)/2,u=f+n):(s=(o-m)/2,u=-(p+n)),T({top:s,left:u})},[r,l,n]),t.useEffect(()=>{if(!r)return;const o=requestAnimationFrame(()=>i(!0));return()=>cancelAnimationFrame(o)},[r]),t.useEffect(()=>()=>{e.current&&clearTimeout(e.current)},[]);const R=()=>{if(e.current){clearTimeout(e.current),e.current=null,i(!0);return}h(!0)},C=()=>{e.current&&(clearTimeout(e.current),e.current=null),i(!1),e.current=setTimeout(()=>{h(!1),T(null),e.current=null},300)},E=S.joinClass(`${v.prefix}-tooltip`,j&&`${v.prefix}-tooltip--visible`);return q.jsxs("div",{ref:c,...d,style:{position:"relative",...d.style},onMouseEnter:R,onMouseLeave:C,children:[x,q.jsx("span",{ref:a,className:E,style:{...y,width:g,display:r?"block":"none"},children:b})]})}const L=M.createComponent(H);exports.default=L;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const q=require("react/jsx-runtime"),t=require("react"),v=require("../../chunks/index-DYxwT4uW.cjs"),S=require("../../chunks/joinClass-Jk3EszKD.cjs"),M=require("../../chunks/createComponent-Bls5N6x8.cjs"),A=require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");function H({children:x,label:b,width:g="max-content",direction:l="bottom",...d}){const{theme:{spacing:n}}=A.useTheme(),[r,h]=t.useState(!1),[j,i]=t.useState(!1),[y,T]=t.useState(null),c=t.useRef(null),a=t.useRef(null),e=t.useRef(null);t.useLayoutEffect(()=>{if(!r||!c.current||!a.current)return;const{offsetHeight:o,offsetWidth:f}=c.current,{offsetHeight:m,offsetWidth:p}=a.current;let s,u;l==="top"?(s=-(m+n),u=-(p-f)/2):l==="bottom"?(s=o+n,u=-(p-f)/2):l==="right"?(s=(o-m)/2,u=f+n):(s=(o-m)/2,u=-(p+n)),T({top:s,left:u})},[r,l,n]),t.useEffect(()=>{if(!r)return;const o=requestAnimationFrame(()=>i(!0));return()=>cancelAnimationFrame(o)},[r]),t.useEffect(()=>()=>{e.current&&clearTimeout(e.current)},[]);const R=()=>{if(e.current){clearTimeout(e.current),e.current=null,i(!0);return}h(!0)},C=()=>{e.current&&(clearTimeout(e.current),e.current=null),i(!1),e.current=setTimeout(()=>{h(!1),T(null),e.current=null},300)},E=S.joinClass(`${v.prefix}-tooltip`,j&&`${v.prefix}-tooltip--visible`);return q.jsxs("div",{ref:c,...d,style:{position:"relative",...d.style},onMouseEnter:R,onMouseLeave:C,children:[x,q.jsx("span",{ref:a,className:E,style:{...y,width:g,display:r?"block":"none"},children:b})]})}const L=M.createComponent(H);exports.default=L;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import{jsxs as R,jsx as W}from"react/jsx-runtime";import{useState as p,useRef as h,useLayoutEffect as F,useEffect as x}from"react";import{p as y}from"../../chunks/index-CZ41y9Hn.js";import{j as M}from"../../chunks/joinClass-anSpaauN.js";import{c as $}from"../../chunks/createComponent-CovqNaAJ.js";import{u as k}from"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";function q({children:b,label:g,width:j="max-content",direction:l="bottom",...d}){const{theme:{spacing:t}}=k(),[o,T]=p(!1),[E,i]=p(!1),[A,v]=p(null),u=h(null),c=h(null),e=h(null);F(()=>{if(!o||!u.current||!c.current)return;const{offsetHeight:r,offsetWidth:a}=u.current,{offsetHeight:f,offsetWidth:m}=c.current;let n,s;l==="top"?(n=-(f+t),s=-(m-a)/2):l==="bottom"?(n=r+t,s=-(m-a)/2):l==="right"?(n=(r-f)/2,s=a+t):(n=(r-f)/2,s=-(m+t)),v({top:n,left:s})},[o,l,t]),x(()=>{if(!o)return;const r=requestAnimationFrame(()=>i(!0));return()=>cancelAnimationFrame(r)},[o]),x(()=>()=>{e.current&&clearTimeout(e.current)},[]);const C=()=>{if(e.current){clearTimeout(e.current),e.current=null,i(!0);return}T(!0)},H=()=>{e.current&&(clearTimeout(e.current),e.current=null),i(!1),e.current=setTimeout(()=>{T(!1),v(null),e.current=null},300)},L=M(`${y}-tooltip`,E&&`${y}-tooltip--visible`);return R("div",{ref:u,...d,style:{position:"relative",...d.style},onMouseEnter:C,onMouseLeave:H,children:[b,W("span",{ref:c,className:L,style:{...A,width:j,display:o?"block":"none"},children:g})]})}const D=$(q);export{D as default};
1
+ import{jsxs as R,jsx as W}from"react/jsx-runtime";import{useState as p,useRef as h,useLayoutEffect as F,useEffect as x}from"react";import{p as y}from"../../chunks/index-CZ41y9Hn.js";import{j as M}from"../../chunks/joinClass-anSpaauN.js";import{c as $}from"../../chunks/createComponent-BmdhWozT.js";import{u as k}from"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";function q({children:b,label:g,width:j="max-content",direction:l="bottom",...d}){const{theme:{spacing:t}}=k(),[o,T]=p(!1),[E,i]=p(!1),[A,v]=p(null),u=h(null),c=h(null),e=h(null);F(()=>{if(!o||!u.current||!c.current)return;const{offsetHeight:r,offsetWidth:a}=u.current,{offsetHeight:f,offsetWidth:m}=c.current;let n,s;l==="top"?(n=-(f+t),s=-(m-a)/2):l==="bottom"?(n=r+t,s=-(m-a)/2):l==="right"?(n=(r-f)/2,s=a+t):(n=(r-f)/2,s=-(m+t)),v({top:n,left:s})},[o,l,t]),x(()=>{if(!o)return;const r=requestAnimationFrame(()=>i(!0));return()=>cancelAnimationFrame(r)},[o]),x(()=>()=>{e.current&&clearTimeout(e.current)},[]);const C=()=>{if(e.current){clearTimeout(e.current),e.current=null,i(!0);return}T(!0)},H=()=>{e.current&&(clearTimeout(e.current),e.current=null),i(!1),e.current=setTimeout(()=>{T(!1),v(null),e.current=null},300)},L=M(`${y}-tooltip`,E&&`${y}-tooltip--visible`);return R("div",{ref:u,...d,style:{position:"relative",...d.style},onMouseEnter:C,onMouseLeave:H,children:[b,W("span",{ref:c,className:L,style:{...A,width:j,display:o?"block":"none"},children:g})]})}const D=$(q);export{D as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Typography-DW57lh3e.cjs");require("react/jsx-runtime");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/convertPathToColor-D8eBpd_D.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("react");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/createComponent-Dkt68kvT.cjs");exports.default=e.Typography;exports.variants=e.variants;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Typography-Ch-BLqCH.cjs");require("react/jsx-runtime");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/convertPathToColor-D8eBpd_D.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("react");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/createComponent-Bls5N6x8.cjs");exports.default=e.Typography;exports.variants=e.variants;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import{T as v,v as d}from"../../chunks/Typography-BrJZyxiT.js";import"react/jsx-runtime";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/convertPathToColor-DtOjH4ZP.js";import"../../chunks/useTheme-BYuNiCiH.js";import"react";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/createComponent-CovqNaAJ.js";export{v as default,d as variants};
1
+ import{T as v,v as d}from"../../chunks/Typography-B_WR62ip.js";import"react/jsx-runtime";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/convertPathToColor-DtOjH4ZP.js";import"../../chunks/useTheme-BYuNiCiH.js";import"react";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/createComponent-BmdhWozT.js";export{v as default,d as variants};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./chunks/useTheme-DsrjDJKC.cjs"),i=require("./chunks/Bounce-ByNbJjX0.cjs"),e=require("./chunks/useForm-BNLOy0E6.cjs"),a=require("./chunks/Fade-DfxUFkY4.cjs"),s=require("./chunks/Slide-D4aLHjYS.cjs"),u=require("./chunks/TableHeader-SKzj2zHB.cjs"),d=require("./chunks/Zoom-BOnqwiDY.cjs"),r=require("./chunks/DrawerContent-Dyc1evVF.cjs"),l=require("./chunks/useListenerResized-AwpsZLcP.cjs"),t=require("./chunks/useMenu-DewYBiar.cjs"),q=require("./chunks/useResize-Dnf6Ktrn.cjs"),c=require("./chunks/Card-DtjP8NP7.cjs"),m=require("./chunks/CardContent-BqqU9iwO.cjs"),n=require("./chunks/GridItem-wwo-SHGR.cjs"),C=require("./chunks/MenuButton-D0cPZU6x.cjs"),T=require("./chunks/Typography-DW57lh3e.cjs");require("react");require("react/jsx-runtime");require("./chunks/generateSupportColors-CTMoGhDf.cjs");require("./chunks/wait-CgS79FV1.cjs");require("./chunks/index-DYxwT4uW.cjs");require("./chunks/joinClass-Jk3EszKD.cjs");require("./chunks/createComponent-Dkt68kvT.cjs");require("./chunks/Stack-B_lU0ez7.cjs");require("./chunks/ButtonIcon-BMOZPxpN.cjs");require("./chunks/Ripple-Dy4i91j1.cjs");require("./chunks/Icon-CIrgQex7.cjs");require("./chunks/convertPathToColor-D8eBpd_D.cjs");exports.ThemeProvider=o.ThemeProvider;exports.createTheme=o.createTheme;exports.useTheme=o.useTheme;exports.Bounce=i.Bounce;exports.Control=e.Control;exports.Form=e.Form;exports.useControl=e.useControl;exports.useForm=e.useForm;exports.useFormGroup=e.useFormGroup;exports.Fade=a.Fade;exports.Slide=s.Slide;exports.Table=u.Table_default;exports.TableBody=u.TableBody;exports.TableCell=u.TableCell_default;exports.TableHeader=u.TableHeader;exports.Zoom=d.Zoom;exports.Drawer=r.Drawer_default;exports.DrawerContent=r.DrawerContent_default;exports.DrawerFooter=r.DrawerFooter_default;exports.DrawerHeader=r.DrawerHeader_default;exports.useDrawer=r.useDrawer;exports.useListenerResized=l.useListenerResized;exports.Menu=t.Menu;exports.useMenu=t.useMenu;exports.useResize=q.useResize;exports.Card=c.Card;exports.CardContent=m.CardContent;exports.Grid=n.Grid;exports.GridItem=n.GridItem;exports.MenuButton=C.MenuButton_default;exports.variants=T.variants;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./chunks/useTheme-DsrjDJKC.cjs"),s=require("./chunks/Bounce-ByNbJjX0.cjs"),e=require("./chunks/useForm-BNLOy0E6.cjs"),i=require("./chunks/Fade-DfxUFkY4.cjs"),d=require("./chunks/Slide-D4aLHjYS.cjs"),u=require("./chunks/useTabs-Dcksp_re.cjs"),t=require("./chunks/TableHeader-D0wXM5mO.cjs"),l=require("./chunks/Zoom-BOnqwiDY.cjs"),r=require("./chunks/DrawerContent-BkSL16Os.cjs"),q=require("./chunks/useListenerResized-AwpsZLcP.cjs"),a=require("./chunks/useMenu-CvPJe62S.cjs"),T=require("./chunks/useResize-Dnf6Ktrn.cjs"),c=require("./chunks/Card-Bqgukgip.cjs"),m=require("./chunks/CardContent-DPL-tBOS.cjs"),n=require("./chunks/GridItem-wwo-SHGR.cjs"),b=require("./chunks/MenuButton-Dpbow8YC.cjs"),C=require("./chunks/Typography-Ch-BLqCH.cjs");require("react");require("react/jsx-runtime");require("./chunks/generateSupportColors-CTMoGhDf.cjs");require("./chunks/wait-CgS79FV1.cjs");require("./chunks/index-DYxwT4uW.cjs");require("./chunks/joinClass-Jk3EszKD.cjs");require("./chunks/uuid-omnJ9TjZ.cjs");require("./chunks/createComponent-Bls5N6x8.cjs");require("./chunks/Stack-CF3Wyma9.cjs");require("./chunks/ButtonIcon-Ccq88QaY.cjs");require("./chunks/Ripple-Dy4i91j1.cjs");require("./chunks/Icon-BN4Kp4Aq.cjs");require("./chunks/convertPathToColor-D8eBpd_D.cjs");exports.ThemeProvider=o.ThemeProvider;exports.createTheme=o.createTheme;exports.useTheme=o.useTheme;exports.Bounce=s.Bounce;exports.Control=e.Control;exports.Form=e.Form;exports.useControl=e.useControl;exports.useForm=e.useForm;exports.useFormGroup=e.useFormGroup;exports.Fade=i.Fade;exports.Slide=d.Slide;exports.TabButton=u.TabButton;exports.TabContent=u.TabContent;exports.Tabs=u.Tabs_default;exports.useTabs=u.useTabs;exports.Table=t.Table_default;exports.TableBody=t.TableBody;exports.TableCell=t.TableCell_default;exports.TableHeader=t.TableHeader;exports.Zoom=l.Zoom;exports.Drawer=r.Drawer_default;exports.DrawerContent=r.DrawerContent_default;exports.DrawerFooter=r.DrawerFooter_default;exports.DrawerHeader=r.DrawerHeader_default;exports.useDrawer=r.useDrawer;exports.useListenerResized=q.useListenerResized;exports.Menu=a.Menu;exports.useMenu=a.useMenu;exports.useResize=T.useResize;exports.Card=c.Card;exports.CardContent=m.CardContent;exports.Grid=n.Grid;exports.GridItem=n.GridItem;exports.MenuButton=b.MenuButton_default;exports.variants=C.variants;
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{T as C,c as l,u as T}from"./chunks/useTheme-BYuNiCiH.js";import{B as F}from"./chunks/Bounce-DP0PU3kr.js";import{C as c,F as w,u as M,a as B,b as G}from"./chunks/useForm-iwGfb88g.js";import{F as v}from"./chunks/Fade-CWDTkVB8.js";import{S as H}from"./chunks/Slide-BxEwoZ70.js";import{T as S,a as Z,b as y,c as I}from"./chunks/TableHeader-DnifrYxO.js";import{Z as P}from"./chunks/Zoom-DqgU4Wfv.js";import{D as j,a as k,b as q,c as A,u as E}from"./chunks/DrawerContent-CYQSz1G-.js";import{u as K}from"./chunks/useListenerResized-Bnqxrt7k.js";import{M as O,u as Q}from"./chunks/useMenu-DuX7EGHi.js";import{u as V}from"./chunks/useResize-BUftB918.js";import{C as X}from"./chunks/Card-D_RFnUk2.js";import{C as _}from"./chunks/CardContent-BsSfxSQH.js";import{G as rr,a as er}from"./chunks/GridItem-CaoPZmBu.js";import{M as ar}from"./chunks/MenuButton-CvQxSdho.js";import{v as tr}from"./chunks/Typography-BrJZyxiT.js";import"react";import"react/jsx-runtime";import"./chunks/generateSupportColors-BN5t8dA-.js";import"./chunks/wait-BSgGzoPk.js";import"./chunks/index-CZ41y9Hn.js";import"./chunks/joinClass-anSpaauN.js";import"./chunks/createComponent-CovqNaAJ.js";import"./chunks/Stack-Deow48Th.js";import"./chunks/ButtonIcon-CYO1Crb-.js";import"./chunks/Ripple-Bq9bxg4k.js";import"./chunks/Icon-imOBrsbL.js";import"./chunks/convertPathToColor-DtOjH4ZP.js";export{F as Bounce,X as Card,_ as CardContent,c as Control,j as Drawer,k as DrawerContent,q as DrawerFooter,A as DrawerHeader,v as Fade,w as Form,rr as Grid,er as GridItem,O as Menu,ar as MenuButton,H as Slide,S as Table,Z as TableBody,y as TableCell,I as TableHeader,C as ThemeProvider,P as Zoom,l as createTheme,M as useControl,E as useDrawer,B as useForm,G as useFormGroup,K as useListenerResized,Q as useMenu,V as useResize,T as useTheme,tr as variants};
1
+ import{T as d,c as C,u as l}from"./chunks/useTheme-BYuNiCiH.js";import{B as D}from"./chunks/Bounce-DP0PU3kr.js";import{C as w,F as B,u as M,a as G,b as h}from"./chunks/useForm-iwGfb88g.js";import{F as z}from"./chunks/Fade-CWDTkVB8.js";import{S as R}from"./chunks/Slide-BxEwoZ70.js";import{T as Z,a as y,b as I,u as L}from"./chunks/useTabs-DG53jo4T.js";import{T as g,a as j,b as k,c as q}from"./chunks/TableHeader-CrbbJXyv.js";import{Z as E}from"./chunks/Zoom-DqgU4Wfv.js";import{D as K,a as N,b as O,c as Q,u as U}from"./chunks/DrawerContent-D8NDBDBf.js";import{u as W}from"./chunks/useListenerResized-Bnqxrt7k.js";import{M as Y,u as _}from"./chunks/useMenu-we523Eob.js";import{u as rr}from"./chunks/useResize-BUftB918.js";import{C as er}from"./chunks/Card-C2mSdoXV.js";import{C as sr}from"./chunks/CardContent-CViecz1a.js";import{G as mr,a as pr}from"./chunks/GridItem-CaoPZmBu.js";import{M as ir}from"./chunks/MenuButton-31ZFG3JW.js";import{v as xr}from"./chunks/Typography-B_WR62ip.js";import"react";import"react/jsx-runtime";import"./chunks/generateSupportColors-BN5t8dA-.js";import"./chunks/wait-BSgGzoPk.js";import"./chunks/index-CZ41y9Hn.js";import"./chunks/joinClass-anSpaauN.js";import"./chunks/uuid-dGvr9vBZ.js";import"./chunks/createComponent-BmdhWozT.js";import"./chunks/Stack-CHR_pZC4.js";import"./chunks/ButtonIcon-DMetcfYt.js";import"./chunks/Ripple-Bq9bxg4k.js";import"./chunks/Icon-DTU52KQE.js";import"./chunks/convertPathToColor-DtOjH4ZP.js";export{D as Bounce,er as Card,sr as CardContent,w as Control,K as Drawer,N as DrawerContent,O as DrawerFooter,Q as DrawerHeader,z as Fade,B as Form,mr as Grid,pr as GridItem,Y as Menu,ir as MenuButton,R as Slide,Z as TabButton,y as TabContent,g as Table,j as TableBody,k as TableCell,q as TableHeader,I as Tabs,d as ThemeProvider,E as Zoom,C as createTheme,M as useControl,U as useDrawer,G as useForm,h as useFormGroup,W as useListenerResized,_ as useMenu,rr as useResize,L as useTabs,l as useTheme,xr as variants};
2
2
  //# sourceMappingURL=index.js.map
package/dist/style.css CHANGED
@@ -11,9 +11,6 @@
11
11
  /* assets/index-D0bj3w-V.css */
12
12
  .iziui-chip{border-radius:calc(var(--radius) * 4);white-space:nowrap;padding:0 12px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;justify-content:center;align-items:center;position:relative}.iziui-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iziui-chip--small{font-size:.75rem;height:24px}.iziui-chip--medium{font-size:.8125rem;height:32px}.iziui-chip--large{font-size:1rem;height:38px}.iziui-chip--primary--outlined{border:1px solid var(--primary)}.iziui-chip--primary--contained{background-color:var(--primary-opacity)}.iziui-chip--secondary--outlined{border:1px solid var(--secondary)}.iziui-chip--secondary--contained{background-color:var(--secondary-opacity)}.iziui-chip--info--outlined{border:1px solid var(--info)}.iziui-chip--info--contained{background-color:var(--info-opacity)}.iziui-chip--error--outlined{border:1px solid var(--error)}.iziui-chip--error--contained{background-color:var(--error-opacity)}.iziui-chip--warning--outlined{border:1px solid var(--warning)}.iziui-chip--warning--contained{background-color:var(--warning-opacity)}.iziui-chip--success--outlined{border:1px solid var(--success)}.iziui-chip--success--contained{background-color:var(--success-opacity)}.iziui-chip--grey--outlined{border:1px solid var(--grey)}.iziui-chip--grey--contained{background-color:var(--grey-opacity)}.iziui-chip--light.iziui-chip--primary{color:var(--primary-dark)}.iziui-chip--light.iziui-chip--secondary{color:var(--secondary-dark)}.iziui-chip--light.iziui-chip--info{color:var(--info-dark)}.iziui-chip--light.iziui-chip--error{color:var(--error-dark)}.iziui-chip--light.iziui-chip--warning{color:var(--warning-dark)}.iziui-chip--light.iziui-chip--success{color:var(--success-dark)}.iziui-chip--light.iziui-chip--grey{color:var(--grey-dark)}.iziui-chip--dark.iziui-chip--primary{color:var(--primary-light)}.iziui-chip--dark.iziui-chip--secondary{color:var(--secondary-light)}.iziui-chip--dark.iziui-chip--info{color:var(--info-light)}.iziui-chip--dark.iziui-chip--error{color:var(--error-light)}.iziui-chip--dark.iziui-chip--warning{color:var(--warning-light)}.iziui-chip--dark.iziui-chip--success{color:var(--success-light)}.iziui-chip--dark.iziui-chip--grey{color:var(--grey-light)}.iziui-chip--clickable{cursor:pointer}.iziui-chip--deletable{padding:0 0 0 12px}.iziui-chip--default{border:1px solid var(--divider);color:var(--text-primary)}.iziui-chip--default--outlined{color:var(--text-primary)}.iziui-chip--default--contained{background-color:var(--divider);color:var(--text-primary)}.iziui-chip__icon{color:currentColor!important}.iziui-chip__icon--margin{margin-right:5px}.iziui-chip__delete-icon{cursor:pointer;position:relative;background:transparent;border:none;border-radius:50%;font-size:16px;color:currentColor!important}
13
13
  /*$vite$:1*/
14
- /* assets/index-Bs0qH-ot.css */
15
- .iziui-avatar{display:flex;position:relative;align-items:center;justify-content:center;flex-shrink:0;font-size:1.25rem;line-height:1;overflow:hidden;-webkit-user-select:none;user-select:none;border:1px solid var(--divider);transition:all .3s cubic-bezier(.4,0,.2,1)}.iziui-avatar--rounded{border-radius:var(--radius)}.iziui-avatar--circular{border-radius:50%}.iziui-avatar--clickable{cursor:pointer}.iziui-avatar--primary{color:var(--primary-contrast);background-color:var(--primary)}.iziui-avatar--secondary{color:var(--secondary-contrast);background-color:var(--secondary)}.iziui-avatar--info{color:var(--info-contrast);background-color:var(--info)}.iziui-avatar--error{color:var(--error-contrast);background-color:var(--error)}.iziui-avatar--warning{color:var(--warning-contrast);background-color:var(--warning)}.iziui-avatar--success{color:var(--success-contrast);background-color:var(--success)}.iziui-avatar--grey{color:var(--grey-contrast);background-color:var(--grey)}.iziui-avatar__icon{color:currentColor!important}
16
- /*$vite$:1*/
17
14
  /* assets/index-tbLNWUoG.css */
18
15
  .iziui-skeleton{position:relative;overflow:hidden;background-color:var(--divider)}.iziui-skeleton--rounded{border-radius:var(--radius)}.iziui-skeleton--circular{border-radius:50%}.iziui-skeleton:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#fff3 20%,#ffffff80 60%,#fff0);animation:2s linear .5s infinite normal none running shimmer;content:""}@keyframes shimmer{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(100%)}}
19
16
  /*$vite$:1*/
@@ -46,9 +43,6 @@
46
43
  /*$vite$:1*/
47
44
  /* assets/index-tn0RQdqM.css */
48
45
  /*$vite$:1*/
49
- /* assets/index-DdKlNTHj.css */
50
- .iziui-tabs{display:flex;position:relative;align-items:center;overflow:auto}.iziui-tabs::-webkit-scrollbar{display:none}.iziui-tabs{scrollbar-width:none;-ms-overflow-style:none}.iziui-tabs__button{width:100%;min-width:120px;border:none;text-transform:uppercase;background-color:transparent;height:48px;font-weight:700;white-space:nowrap;color:var(--text-primary);border-bottom:2px solid var(--divider);cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}.iziui-tabs__button--active-primary{color:var(--primary)}.iziui-tabs__button--active-secondary{color:var(--secondary)}.iziui-tabs__button--active-info{color:var(--info)}.iziui-tabs__button--active-error{color:var(--error)}.iziui-tabs__button--active-warning{color:var(--warning)}.iziui-tabs__button--active-success{color:var(--success)}.iziui-tabs__button--active-grey{color:var(--grey)}.iziui-tabs__button--disabled{color:var(--text-disabled);cursor:not-allowed}.iziui-tabs__button__icon{opacity:1;margin-right:8px;transition:all .3s cubic-bezier(.4,0,.2,1)}.iziui-tabs__marker{left:0;bottom:0;position:absolute;transition:all .4s;height:2px}.iziui-tabs__marker--primary{background-color:var(--primary)}.iziui-tabs__marker--secondary{background-color:var(--secondary)}.iziui-tabs__marker--info{background-color:var(--info)}.iziui-tabs__marker--error{background-color:var(--error)}.iziui-tabs__marker--warning{background-color:var(--warning)}.iziui-tabs__marker--success{background-color:var(--success)}.iziui-tabs__marker--grey{background-color:var(--grey)}.iziui-tabs__marker__icon{margin-right:8px}
51
- /*$vite$:1*/
52
46
  /* assets/Card-CsjbyRZq.css */
53
47
  .iziui-card{position:relative;border-radius:var(--radius);border:1px solid var(--divider);background-color:var(--background-default);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.iziui-card--clickable{cursor:pointer}.iziui-card--clickable:hover{box-shadow:0 3px 6px #00000029,0 3px 6px #0000003b;border-color:var(--primary-light)}.iziui-card__content{padding:16px;border-radius:var(--radius)}
54
48
  /*$vite$:1*/
@@ -64,6 +58,9 @@
64
58
  /* assets/Ripple-D71SUpze.css */
65
59
  .iziui-ripple-container{position:absolute;inset:0;overflow:hidden;border-radius:inherit}.iziui-ripple{position:absolute;border-radius:50%;transform:scale(0);animation:ripple-animation .8s ease-out;pointer-events:none;background-color:#fff9}@keyframes ripple-animation{to{transform:scale(4);opacity:0}}
66
60
  /*$vite$:1*/
61
+ /* assets/index-Bs0qH-ot.css */
62
+ .iziui-avatar{display:flex;position:relative;align-items:center;justify-content:center;flex-shrink:0;font-size:1.25rem;line-height:1;overflow:hidden;-webkit-user-select:none;user-select:none;border:1px solid var(--divider);transition:all .3s cubic-bezier(.4,0,.2,1)}.iziui-avatar--rounded{border-radius:var(--radius)}.iziui-avatar--circular{border-radius:50%}.iziui-avatar--clickable{cursor:pointer}.iziui-avatar--primary{color:var(--primary-contrast);background-color:var(--primary)}.iziui-avatar--secondary{color:var(--secondary-contrast);background-color:var(--secondary)}.iziui-avatar--info{color:var(--info-contrast);background-color:var(--info)}.iziui-avatar--error{color:var(--error-contrast);background-color:var(--error)}.iziui-avatar--warning{color:var(--warning-contrast);background-color:var(--warning)}.iziui-avatar--success{color:var(--success-contrast);background-color:var(--success)}.iziui-avatar--grey{color:var(--grey-contrast);background-color:var(--grey)}.iziui-avatar__icon{color:currentColor!important}
63
+ /*$vite$:1*/
67
64
  /* assets/index-C3yxI1Ai.css */
68
65
  .iziui-color-picker{padding:0;min-width:160px;width:100%;cursor:pointer;overflow:hidden;position:relative;border-radius:var(--radius);border:1px solid var(--divider);background-color:var(--background-default);display:flex;align-items:center;justify-content:flex-start}.iziui-color-picker:focus-within{outline:2px solid var(--primary)}.iziui-color-picker--error{border-color:var(--error)}.iziui-color-picker-container{width:fit-content}.iziui-color-picker__preview{width:72px;height:48px;background-color:var(--background-default);border:none;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--divider)}.iziui-color-picker__preview div{width:20px;height:20px;border-radius:var(--radius);transition:all .3s cubic-bezier(.4,0,.2,1)}.iziui-color-picker__label{font-size:12px;color:var(--text-secondary);display:block;margin-bottom:5px}.iziui-color-picker__label--error{color:var(--error)}.iziui-color-picker__value{width:100%;height:100%;padding-left:16px;color:var(--text-secondary);text-transform:uppercase;display:flex;align-items:center;justify-content:flex-start}.iziui-color-picker__value--error{color:var(--error)}.iziui-color-picker__helper-text{opacity:0;margin-top:5px;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:12px}.iziui-color-picker__helper-text--visible{opacity:1}.iziui-color-picker__helper-text--error{color:var(--error)}.iziui-color-picker__color{width:30px;height:30px;position:relative;border-radius:var(--radius);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;display:flex;justify-content:center;align-items:center;border:none;cursor:pointer}.iziui-color-picker__color:hover{box-shadow:0 0 0 2px var(--primary)}.iziui-color-picker__color__icon{transform:scale(0);transition:all .3s cubic-bezier(.4,0,.2,1)}.iziui-color-picker__color__icon--visible{transform:scale(1)}.iziui-color-picker__color input{position:absolute;visibility:hidden}.iziui-color-picker input{height:48px;width:100%;border:none;outline:none;font:inherit;padding-left:16px}
69
66
  /*$vite$:1*/
@@ -82,6 +79,9 @@
82
79
  /* assets/TableHeader-BihiZoyL.css */
83
80
  .iziui-table{width:100%;border-radius:var(--radius);overflow:hidden;border-spacing:0px;border-collapse:separate}.iziui-table__header td{font-size:.875rem;text-transform:uppercase;padding:10.8px 14.4px;font-weight:600;color:var(--text-primary);border-right:1px solid var(--divider);border-bottom:1px solid var(--divider);background-color:var(--background-default);transition:all .3s cubic-bezier(.4,0,.2,1)}.iziui-table__header td:last-child{border-right:0}.iziui-table__body tr{background-color:var(--background-default);transition:all .3s cubic-bezier(.4,0,.2,1)}.iziui-table__body tr:hover{background-color:var(--background-paper)}.iziui-table__body tr td{padding:10.8px 14.4px;font-size:.875rem;border:none;border-right:1px solid var(--divider);border-bottom:1px solid var(--divider);color:var(--text-primary);transition:all .3s cubic-bezier(.4,0,.2,1)}.iziui-table__body tr td:last-child{border-right:none}.iziui-table__body tr:last-child td{border-bottom:none}.iziui-table__cell--center{text-align:center}.iziui-table__cell--right{text-align:right}.iziui-table__cell--left{text-align:left}
84
81
  /*$vite$:1*/
82
+ /* assets/useTabs-DdKlNTHj.css */
83
+ .iziui-tabs{display:flex;position:relative;align-items:center;overflow:auto}.iziui-tabs::-webkit-scrollbar{display:none}.iziui-tabs{scrollbar-width:none;-ms-overflow-style:none}.iziui-tabs__button{width:100%;min-width:120px;border:none;text-transform:uppercase;background-color:transparent;height:48px;font-weight:700;white-space:nowrap;color:var(--text-primary);border-bottom:2px solid var(--divider);cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}.iziui-tabs__button--active-primary{color:var(--primary)}.iziui-tabs__button--active-secondary{color:var(--secondary)}.iziui-tabs__button--active-info{color:var(--info)}.iziui-tabs__button--active-error{color:var(--error)}.iziui-tabs__button--active-warning{color:var(--warning)}.iziui-tabs__button--active-success{color:var(--success)}.iziui-tabs__button--active-grey{color:var(--grey)}.iziui-tabs__button--disabled{color:var(--text-disabled);cursor:not-allowed}.iziui-tabs__button__icon{opacity:1;margin-right:8px;transition:all .3s cubic-bezier(.4,0,.2,1)}.iziui-tabs__marker{left:0;bottom:0;position:absolute;transition:all .4s;height:2px}.iziui-tabs__marker--primary{background-color:var(--primary)}.iziui-tabs__marker--secondary{background-color:var(--secondary)}.iziui-tabs__marker--info{background-color:var(--info)}.iziui-tabs__marker--error{background-color:var(--error)}.iziui-tabs__marker--warning{background-color:var(--warning)}.iziui-tabs__marker--success{background-color:var(--success)}.iziui-tabs__marker--grey{background-color:var(--grey)}.iziui-tabs__marker__icon{margin-right:8px}
84
+ /*$vite$:1*/
85
85
  /* assets/DrawerContent-DQ2BPEJ4.css */
86
86
  .iziui-drawer{top:0;left:0;width:100%;height:100vh;position:fixed;overflow:hidden;transition:all ease-in-out .3s;z-index:50}.iziui-drawer__overlay{position:fixed;top:0;left:0;width:100%;height:100%;opacity:0;background-color:#000000a3;transition:all ease-in-out .3s;z-index:50}.iziui-drawer__overlay--show{opacity:1}.iziui-drawer__content{position:fixed;z-index:90;background-color:var(--background-default);transition:all ease-in-out .3s;width:570px;height:100vh}@media only screen and (max-width:899px){.iziui-drawer__content{width:100%}}.iziui-drawer__content__container{height:100%;width:100%;padding:1rem;overflow-y:auto;overflow-x:hidden}.iziui-drawer__content__close-button{display:flex;padding:1rem}.iziui-drawer__content--right .iziui-drawer__content__close-button,.iziui-drawer__content--bottom .iziui-drawer__content__close-button{justify-content:flex-end}.iziui-drawer__content--left .iziui-drawer__content__close-button{justify-content:flex-start}.iziui-drawer__content--left{top:0;height:100%;transform:translate(-100%)}.iziui-drawer__content--left--show{transform:translate(0)}.iziui-drawer__content--right{top:0;right:0;height:100%;transform:translate(100%)}.iziui-drawer__content--right--show{transform:translate(0)}.iziui-drawer__content--bottom{bottom:0;width:100%;border-radius:var(--radius) var(--radius) 0 0;transform:translateY(100%);height:auto}.iziui-drawer__content--bottom--show{transform:translateY(0)}.iziui-drawer__header{width:100%;padding:1rem;box-sizing:border-box;border-bottom:1px solid var(--divider)}.iziui-drawer__footer{width:100%;padding:1rem;box-sizing:border-box;border-top:1px solid var(--divider)}
87
87
  /*$vite$:1*/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iziui/react",
3
- "version": "0.0.92-rc",
3
+ "version": "0.0.94-rc",
4
4
  "main": "./dist/index.cjs",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -1,2 +0,0 @@
1
- declare const _default: import("../..").Plugin<string>;
2
- export default _default;
@@ -1 +0,0 @@
1
- export { default } from './defineBreakpoint';
@@ -1 +0,0 @@
1
- export { default as defineBreakpoint } from './defineBreakpoint';
@@ -1,2 +0,0 @@
1
- "use strict";const e=require("react/jsx-runtime"),d=require("react"),t=require("./index-DYxwT4uW.cjs"),i=require("./joinClass-Jk3EszKD.cjs"),j=require("./useTheme-DsrjDJKC.cjs"),a=require("./Stack-B_lU0ez7.cjs"),$=require("./Typography-DW57lh3e.cjs"),q=require("./ButtonIcon-BMOZPxpN.cjs"),y=require("./createComponent-Dkt68kvT.cjs"),h=require("./Icon-CIrgQex7.cjs");function g({children:n,icon:s,color:r="primary",onClose:c,...o}){const{theme:{mode:l}}=j.useTheme(),u=i.joinClass(`${t.prefix}-alert`,`${t.prefix}-alert--${l}`,`${t.prefix}-alert--${r}`,o.className),m=i.joinClass(`${t.prefix}-alert__button`,`${t.prefix}-alert__button--${r}`),x=()=>typeof n=="string"?e.jsx($.Typography,{variant:"body1",style:{color:"currentcolor"},children:n}):n,f=p=>d.cloneElement(p,{color:`${r}.dark`});return e.jsxs(a.Stack,{fullWidth:!0,gap:0,flexDirection:"row",alignItems:"center",justifyContent:"center",...o,className:u,children:[e.jsxs(a.Stack,{fullWidth:!0,gap:8,flexDirection:"row",alignItems:"center",className:`${t.prefix}-alert__content`,children:[s&&f(s),x()]}),c&&e.jsx("div",{children:e.jsx(q.ButtonIcon,{className:m,onClick:c,color:r,style:{color:"currentColor"},children:e.jsx(h.Icon,{name:"times"})})})]})}const C=y.createComponent(g);exports.Alert=C;
2
- //# sourceMappingURL=Alert-CUgp08gU.cjs.map