@iziui/react 0.0.101-rc → 0.0.102-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 (160) hide show
  1. package/dist/.types/fields/Autocomplete/Autocomplete.d.ts.map +1 -1
  2. package/dist/.types/fields/Input/Input.d.ts +1 -1
  3. package/dist/.types/fields/Input/Input.d.ts.map +1 -1
  4. package/dist/.types/fields/Select/Select.d.ts.map +1 -1
  5. package/dist/.types/fields/Textarea/Textarea.d.ts +12 -0
  6. package/dist/.types/fields/Textarea/Textarea.d.ts.map +1 -0
  7. package/dist/.types/fields/Textarea/Textarea.spec.d.ts +2 -0
  8. package/dist/.types/fields/Textarea/Textarea.spec.d.ts.map +1 -0
  9. package/dist/.types/fields/Textarea/Textarea.stories.d.ts +13 -0
  10. package/dist/.types/fields/Textarea/Textarea.stories.d.ts.map +1 -0
  11. package/dist/.types/fields/Textarea/index.d.ts +2 -0
  12. package/dist/.types/fields/Textarea/index.d.ts.map +1 -0
  13. package/dist/.types/fields/index.d.ts +1 -0
  14. package/dist/.types/fields/index.d.ts.map +1 -1
  15. package/dist/.types/lab/Form/Form.stories.d.ts.map +1 -1
  16. package/dist/chunks/{Alert-CD6hOvos.js → Alert-2lPmGif4.js} +2 -2
  17. package/dist/chunks/{Alert-CD6hOvos.js.map → Alert-2lPmGif4.js.map} +1 -1
  18. package/dist/chunks/{Alert-DCB56IAI.cjs → Alert-C1OQ_kCA.cjs} +2 -2
  19. package/dist/chunks/{Alert-DCB56IAI.cjs.map → Alert-C1OQ_kCA.cjs.map} +1 -1
  20. package/dist/chunks/{Box-CNg55MFq.cjs → Box-BKxhMtOj.cjs} +2 -2
  21. package/dist/chunks/{Box-CNg55MFq.cjs.map → Box-BKxhMtOj.cjs.map} +1 -1
  22. package/dist/chunks/{Box-DqBZgXYR.js → Box-C4RkeFA4.js} +2 -2
  23. package/dist/chunks/{Box-DqBZgXYR.js.map → Box-C4RkeFA4.js.map} +1 -1
  24. package/dist/chunks/{ButtonIcon-Ccq88QaY.cjs → ButtonIcon-CQrH17s6.cjs} +2 -2
  25. package/dist/chunks/{ButtonIcon-Ccq88QaY.cjs.map → ButtonIcon-CQrH17s6.cjs.map} +1 -1
  26. package/dist/chunks/{ButtonIcon-DMetcfYt.js → ButtonIcon-DuOL6WWW.js} +2 -2
  27. package/dist/chunks/{ButtonIcon-DMetcfYt.js.map → ButtonIcon-DuOL6WWW.js.map} +1 -1
  28. package/dist/chunks/{Card-C2mSdoXV.js → Card-CigqRMT2.js} +2 -2
  29. package/dist/chunks/{Card-C2mSdoXV.js.map → Card-CigqRMT2.js.map} +1 -1
  30. package/dist/chunks/{Card-Bqgukgip.cjs → Card-KRiSWAFI.cjs} +2 -2
  31. package/dist/chunks/{Card-Bqgukgip.cjs.map → Card-KRiSWAFI.cjs.map} +1 -1
  32. package/dist/chunks/{CardContent-CViecz1a.js → CardContent-fPZactJG.js} +2 -2
  33. package/dist/chunks/{CardContent-CViecz1a.js.map → CardContent-fPZactJG.js.map} +1 -1
  34. package/dist/chunks/{CardContent-DPL-tBOS.cjs → CardContent-iH_wskpH.cjs} +2 -2
  35. package/dist/chunks/{CardContent-DPL-tBOS.cjs.map → CardContent-iH_wskpH.cjs.map} +1 -1
  36. package/dist/chunks/{DrawerContent-D8NDBDBf.js → DrawerContent-kQFoLzOg.js} +2 -2
  37. package/dist/chunks/{DrawerContent-D8NDBDBf.js.map → DrawerContent-kQFoLzOg.js.map} +1 -1
  38. package/dist/chunks/{DrawerContent-BkSL16Os.cjs → DrawerContent-wjJUFV6j.cjs} +2 -2
  39. package/dist/chunks/{DrawerContent-BkSL16Os.cjs.map → DrawerContent-wjJUFV6j.cjs.map} +1 -1
  40. package/dist/chunks/{Icon-DTU52KQE.js → Icon-DHtgHg6D.js} +2 -2
  41. package/dist/chunks/{Icon-DTU52KQE.js.map → Icon-DHtgHg6D.js.map} +1 -1
  42. package/dist/chunks/{Icon-BN4Kp4Aq.cjs → Icon-DK9kFkJZ.cjs} +2 -2
  43. package/dist/chunks/{Icon-BN4Kp4Aq.cjs.map → Icon-DK9kFkJZ.cjs.map} +1 -1
  44. package/dist/chunks/{Loading-BjCfYdLa.js → Loading-Bw5MXPw-.js} +2 -2
  45. package/dist/chunks/{Loading-BjCfYdLa.js.map → Loading-Bw5MXPw-.js.map} +1 -1
  46. package/dist/chunks/{Loading-DVK2G3KT.cjs → Loading-CZmsYoqx.cjs} +2 -2
  47. package/dist/chunks/{Loading-DVK2G3KT.cjs.map → Loading-CZmsYoqx.cjs.map} +1 -1
  48. package/dist/chunks/{MenuButton-31ZFG3JW.js → MenuButton-CQakN75R.js} +2 -2
  49. package/dist/chunks/{MenuButton-31ZFG3JW.js.map → MenuButton-CQakN75R.js.map} +1 -1
  50. package/dist/chunks/{MenuButton-Dpbow8YC.cjs → MenuButton-qyHJwXtF.cjs} +2 -2
  51. package/dist/chunks/{MenuButton-Dpbow8YC.cjs.map → MenuButton-qyHJwXtF.cjs.map} +1 -1
  52. package/dist/chunks/Select-CQPxeEfV.js +2 -0
  53. package/dist/chunks/Select-CQPxeEfV.js.map +1 -0
  54. package/dist/chunks/Select-CXDit8M-.cjs +2 -0
  55. package/dist/chunks/Select-CXDit8M-.cjs.map +1 -0
  56. package/dist/chunks/{Stack-CHR_pZC4.js → Stack-DnCw2pFA.js} +2 -2
  57. package/dist/chunks/{Stack-CHR_pZC4.js.map → Stack-DnCw2pFA.js.map} +1 -1
  58. package/dist/chunks/{Stack-CF3Wyma9.cjs → Stack-KD0LOLkS.cjs} +2 -2
  59. package/dist/chunks/{Stack-CF3Wyma9.cjs.map → Stack-KD0LOLkS.cjs.map} +1 -1
  60. package/dist/chunks/{TableHeader-CrbbJXyv.js → TableHeader-Crwdqye1.js} +2 -2
  61. package/dist/chunks/{TableHeader-CrbbJXyv.js.map → TableHeader-Crwdqye1.js.map} +1 -1
  62. package/dist/chunks/{TableHeader-D0wXM5mO.cjs → TableHeader-hddlVfv3.cjs} +2 -2
  63. package/dist/chunks/{TableHeader-D0wXM5mO.cjs.map → TableHeader-hddlVfv3.cjs.map} +1 -1
  64. package/dist/chunks/{Typography-B_WR62ip.js → Typography-BFtQbh5C.js} +2 -2
  65. package/dist/chunks/{Typography-B_WR62ip.js.map → Typography-BFtQbh5C.js.map} +1 -1
  66. package/dist/chunks/{Typography-Ch-BLqCH.cjs → Typography-BMBXbiC1.cjs} +2 -2
  67. package/dist/chunks/{Typography-Ch-BLqCH.cjs.map → Typography-BMBXbiC1.cjs.map} +1 -1
  68. package/dist/chunks/{createComponent-BmdhWozT.js → createComponent-BvE_8glE.js} +2 -2
  69. package/dist/chunks/{createComponent-BmdhWozT.js.map → createComponent-BvE_8glE.js.map} +1 -1
  70. package/dist/chunks/{createComponent-Bls5N6x8.cjs → createComponent-cs9AuqoJ.cjs} +2 -2
  71. package/dist/chunks/{createComponent-Bls5N6x8.cjs.map → createComponent-cs9AuqoJ.cjs.map} +1 -1
  72. package/dist/chunks/{useMenu-B49hOh6R.js → useMenu-BLhAh_V2.js} +2 -2
  73. package/dist/chunks/{useMenu-B49hOh6R.js.map → useMenu-BLhAh_V2.js.map} +1 -1
  74. package/dist/chunks/{useMenu-BfWmrq4L.cjs → useMenu-i5MYMNcY.cjs} +2 -2
  75. package/dist/chunks/{useMenu-BfWmrq4L.cjs.map → useMenu-i5MYMNcY.cjs.map} +1 -1
  76. package/dist/chunks/{useTabs-C10MlXVP.js → useTabs-BOKC1kGI.js} +2 -2
  77. package/dist/chunks/{useTabs-C10MlXVP.js.map → useTabs-BOKC1kGI.js.map} +1 -1
  78. package/dist/chunks/{useTabs-DXjPVKGl.cjs → useTabs-D1LpVrab.cjs} +2 -2
  79. package/dist/chunks/{useTabs-DXjPVKGl.cjs.map → useTabs-D1LpVrab.cjs.map} +1 -1
  80. package/dist/chunks/{useTheme-BYuNiCiH.js → useTheme-Bxa1LbQE.js} +2 -2
  81. package/dist/chunks/{useTheme-BYuNiCiH.js.map → useTheme-Bxa1LbQE.js.map} +1 -1
  82. package/dist/chunks/{useTheme-DsrjDJKC.cjs → useTheme-DZmXQ5qV.cjs} +2 -2
  83. package/dist/chunks/{useTheme-DsrjDJKC.cjs.map → useTheme-DZmXQ5qV.cjs.map} +1 -1
  84. package/dist/components/Alert/index.cjs +1 -1
  85. package/dist/components/Alert/index.js +1 -1
  86. package/dist/components/Autocomplete/index.cjs +1 -1
  87. package/dist/components/Autocomplete/index.cjs.map +1 -1
  88. package/dist/components/Autocomplete/index.js +1 -1
  89. package/dist/components/Autocomplete/index.js.map +1 -1
  90. package/dist/components/Avatar/index.cjs +1 -1
  91. package/dist/components/Avatar/index.js +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.js +1 -1
  108. package/dist/components/Container/index.cjs +1 -1
  109. package/dist/components/Container/index.js +1 -1
  110. package/dist/components/Divider/index.cjs +1 -1
  111. package/dist/components/Divider/index.js +1 -1
  112. package/dist/components/Drawer/index.cjs +1 -1
  113. package/dist/components/Drawer/index.js +1 -1
  114. package/dist/components/Icon/index.cjs +1 -1
  115. package/dist/components/Icon/index.js +1 -1
  116. package/dist/components/Input/index.cjs +1 -1
  117. package/dist/components/Input/index.cjs.map +1 -1
  118. package/dist/components/Input/index.js +1 -1
  119. package/dist/components/Input/index.js.map +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.js +1 -1
  130. package/dist/components/Skeleton/index.cjs +1 -1
  131. package/dist/components/Skeleton/index.js +1 -1
  132. package/dist/components/Stack/index.cjs +1 -1
  133. package/dist/components/Stack/index.js +1 -1
  134. package/dist/components/Switch/index.cjs +1 -1
  135. package/dist/components/Switch/index.js +1 -1
  136. package/dist/components/Table/index.cjs +1 -1
  137. package/dist/components/Table/index.js +1 -1
  138. package/dist/components/Tabs/index.cjs +1 -1
  139. package/dist/components/Tabs/index.js +1 -1
  140. package/dist/components/Textarea/index.cjs +2 -0
  141. package/dist/components/Textarea/index.cjs.map +1 -0
  142. package/dist/components/Textarea/index.d.ts +2 -0
  143. package/dist/components/Textarea/index.js +2 -0
  144. package/dist/components/Textarea/index.js.map +1 -0
  145. package/dist/components/Toast/index.cjs +1 -1
  146. package/dist/components/Toast/index.js +1 -1
  147. package/dist/components/Tooltip/index.cjs +1 -1
  148. package/dist/components/Tooltip/index.js +1 -1
  149. package/dist/components/Typography/index.cjs +1 -1
  150. package/dist/components/Typography/index.js +1 -1
  151. package/dist/index.cjs +1 -1
  152. package/dist/index.js +1 -1
  153. package/dist/style.css +19 -16
  154. package/dist/theme/index.cjs +1 -1
  155. package/dist/theme/index.js +1 -1
  156. package/package.json +1 -1
  157. package/dist/chunks/Select-CBfG5CDU.cjs +0 -2
  158. package/dist/chunks/Select-CBfG5CDU.cjs.map +0 -1
  159. package/dist/chunks/Select-D9o7DyOl.js +0 -2
  160. package/dist/chunks/Select-D9o7DyOl.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";const r=require("react/jsx-runtime"),c=require("react"),s=require("./index-DYxwT4uW.cjs"),a=require("./joinClass-Jk3EszKD.cjs"),l=require("./Ripple-Dy4i91j1.cjs"),m=require("./createComponent-Bls5N6x8.cjs");function p({label:u,icon:e,color:n="grey",...t}){const i=a.joinClass(`${s.prefix}-menu__item`,n&&`${s.prefix}-menu__item--${n}`,t.className),o=()=>e&&c.cloneElement(e,{size:18,style:{marginRight:8}});return r.jsxs("button",{...t,className:i,children:[o(),u,r.jsx(l.Ripple,{})]})}const q=m.createComponent(p);exports.MenuButton_default=q;
2
- //# sourceMappingURL=MenuButton-Dpbow8YC.cjs.map
1
+ "use strict";const r=require("react/jsx-runtime"),c=require("react"),s=require("./index-DYxwT4uW.cjs"),a=require("./joinClass-Jk3EszKD.cjs"),l=require("./Ripple-Dy4i91j1.cjs"),m=require("./createComponent-cs9AuqoJ.cjs");function p({label:u,icon:e,color:n="grey",...t}){const i=a.joinClass(`${s.prefix}-menu__item`,n&&`${s.prefix}-menu__item--${n}`,t.className),o=()=>e&&c.cloneElement(e,{size:18,style:{marginRight:8}});return r.jsxs("button",{...t,className:i,children:[o(),u,r.jsx(l.Ripple,{})]})}const q=m.createComponent(p);exports.MenuButton_default=q;
2
+ //# sourceMappingURL=MenuButton-qyHJwXtF.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuButton-Dpbow8YC.cjs","sources":["../../src/navigation/Menu/MenuButton.tsx"],"sourcesContent":["import { type ButtonHTMLAttributes, cloneElement } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport type { Colors } from '@iziui/core/theme';\n\nimport type { IconProps } from '@/display/Icon';\nimport Ripple from '@/actions/Ripple';\n\nimport createComponent from '../../core/createComponent';\n\nexport interface MenuButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n label: string;\n color?: Colors;\n icon?: React.JSX.Element;\n}\n\nfunction MenuButton({ label, icon, color = 'grey', ...props }: MenuButtonProps) {\n const className = joinClass(\n `${prefix}-menu__item`,\n color && `${prefix}-menu__item--${color}`,\n props.className\n );\n\n const renderIcon = () => {\n return icon && cloneElement<IconProps>(icon, {\n size: 18,\n style: { marginRight: 8 }\n });\n };\n\n return (\n <button {...props} className={className}>\n {renderIcon()}\n {label}\n <Ripple />\n </button>\n );\n}\n\nexport default createComponent(MenuButton);"],"names":["MenuButton","label","icon","color","props","className","joinClass","prefix","renderIcon","cloneElement","jsxs","Ripple","MenuButton_default","createComponent"],"mappings":"4NAkBA,SAASA,EAAW,CAAE,MAAAC,EAAO,KAAAC,EAAM,MAAAC,EAAQ,OAAQ,GAAGC,GAA0B,CAC9E,MAAMC,EAAYC,EAAAA,UAChB,GAAGC,EAAAA,MAAM,cACTJ,GAAS,GAAGI,EAAAA,MAAM,gBAAgBJ,CAAK,GACvCC,EAAM,SAAA,EAGFI,EAAa,IACVN,GAAQO,EAAAA,aAAwBP,EAAM,CAC3C,KAAM,GACN,MAAO,CAAE,YAAa,CAAA,CAAE,CACzB,EAGH,OACEQ,EAAAA,KAAC,SAAA,CAAQ,GAAGN,EAAO,UAAAC,EAChB,SAAA,CAAAG,EAAA,EACAP,QACAU,EAAAA,OAAA,CAAA,CAAO,CAAA,EACV,CAEJ,CAEA,MAAAC,EAAeC,EAAAA,gBAAgBb,CAAU"}
1
+ {"version":3,"file":"MenuButton-qyHJwXtF.cjs","sources":["../../src/navigation/Menu/MenuButton.tsx"],"sourcesContent":["import { type ButtonHTMLAttributes, cloneElement } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport type { Colors } from '@iziui/core/theme';\n\nimport type { IconProps } from '@/display/Icon';\nimport Ripple from '@/actions/Ripple';\n\nimport createComponent from '../../core/createComponent';\n\nexport interface MenuButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n label: string;\n color?: Colors;\n icon?: React.JSX.Element;\n}\n\nfunction MenuButton({ label, icon, color = 'grey', ...props }: MenuButtonProps) {\n const className = joinClass(\n `${prefix}-menu__item`,\n color && `${prefix}-menu__item--${color}`,\n props.className\n );\n\n const renderIcon = () => {\n return icon && cloneElement<IconProps>(icon, {\n size: 18,\n style: { marginRight: 8 }\n });\n };\n\n return (\n <button {...props} className={className}>\n {renderIcon()}\n {label}\n <Ripple />\n </button>\n );\n}\n\nexport default createComponent(MenuButton);"],"names":["MenuButton","label","icon","color","props","className","joinClass","prefix","renderIcon","cloneElement","jsxs","Ripple","MenuButton_default","createComponent"],"mappings":"4NAkBA,SAASA,EAAW,CAAE,MAAAC,EAAO,KAAAC,EAAM,MAAAC,EAAQ,OAAQ,GAAGC,GAA0B,CAC9E,MAAMC,EAAYC,EAAAA,UAChB,GAAGC,EAAAA,MAAM,cACTJ,GAAS,GAAGI,EAAAA,MAAM,gBAAgBJ,CAAK,GACvCC,EAAM,SAAA,EAGFI,EAAa,IACVN,GAAQO,EAAAA,aAAwBP,EAAM,CAC3C,KAAM,GACN,MAAO,CAAE,YAAa,CAAA,CAAE,CACzB,EAGH,OACEQ,EAAAA,KAAC,SAAA,CAAQ,GAAGN,EAAO,UAAAC,EAChB,SAAA,CAAAG,EAAA,EACAP,QACAU,EAAAA,OAAA,CAAA,CAAO,CAAA,EACV,CAEJ,CAEA,MAAAC,EAAeC,EAAAA,gBAAgBb,CAAU"}
@@ -0,0 +1,2 @@
1
+ import{jsxs as a,jsx as r}from"react/jsx-runtime";import{Children as M,useMemo as S,cloneElement as C}from"react";import{p as t}from"./index-CZ41y9Hn.js";import{j as l}from"./joinClass-anSpaauN.js";import{I as w}from"./Icon-DHtgHg6D.js";import{u as E,M as I}from"./useMenu-BLhAh_V2.js";import{c as O}from"./createComponent-BvE_8glE.js";function q({error:c,position:_="bottom",label:i,helperText:m,startIcon:p,children:$,disabled:o,onChange:u,...s}){const d=M.toArray($),h=S(()=>d.find(e=>e.props.value===s.value)?.props.children||"",[s.value]),[N,v,f]=E(),x=l(`${t}-select-container`),b=l(`${t}-select-label`,c&&`${t}-select-label--error`),y=l(`${t}-select`,o&&`${t}-select--disabled`,c&&`${t}-select--error`,s.className),k=l(`${t}-select__helper-text`,m&&`${t}-select__helper-text--visible`,c&&`${t}-select__helper-text--error`),g=e=>C(e,{className:l(e.props.className,`${t}-select__icon--left`),type:"button",onClick:n=>{n.stopPropagation(),e.props.onClick&&!o&&e.props.onClick(n)}}),j=()=>d.map(e=>C(e,{className:l(e.props.className,e.props.value===s.value&&`${t}-select__option--selected`),onClick:n=>{!e.props.disabled&&u&&u(n)}}));return a("div",{className:x,children:[i&&a("label",{className:b,children:[i," ",s.required&&"*"]}),a("button",{type:"button",className:y,onClick:f,disabled:o,children:[r("div",{children:p&&g(p)}),r("input",{...s,readOnly:!0,type:"text",value:h,disabled:o}),r(w,{name:"angle-down",sx:{color:({grey:e})=>e.main},className:`${t}-select__icon--right`})]}),r(I,{autoClose:!0,position:_,direction:"center",open:N,anchorEl:v,onClose:f,children:j()}),r("span",{className:k,children:m})]})}const G=O(q);export{G as S};
2
+ //# sourceMappingURL=Select-CQPxeEfV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select-CQPxeEfV.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, type MenuProps, 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 label?: string;\n helperText?: string;\n color?: Colors;\n position?: MenuProps['position'];\n startIcon?: React.JSX.Element | boolean;\n children: React.JSX.Element | React.JSX.Element[];\n}\n\nfunction Select({\n error,\n position = 'bottom',\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 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 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 position={position}\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","position","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":"gVAgCA,SAASA,EAAO,CACd,MAAAC,EACA,SAAAC,EAAW,SACX,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,QAAUO,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,UAAWM,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,SAAAhC,EACA,UAAU,SACV,KAAAa,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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const t=require("react/jsx-runtime"),o=require("react"),s=require("./index-DYxwT4uW.cjs"),l=require("./joinClass-Jk3EszKD.cjs"),g=require("./Icon-DK9kFkJZ.cjs"),f=require("./useMenu-i5MYMNcY.cjs"),M=require("./createComponent-cs9AuqoJ.cjs");function E({error:i,position:d="bottom",label:a,helperText:u,startIcon:p,children:j,disabled:r,onChange:x,...n}){const m=o.Children.toArray(j),_=o.useMemo(()=>m.find(e=>e.props.value===n.value)?.props.children||"",[n.value]),[$,h,C]=f.useMenu(),N=l.joinClass(`${s.prefix}-select-container`),v=l.joinClass(`${s.prefix}-select-label`,i&&`${s.prefix}-select-label--error`),q=l.joinClass(`${s.prefix}-select`,r&&`${s.prefix}-select--disabled`,i&&`${s.prefix}-select--error`,n.className),b=l.joinClass(`${s.prefix}-select__helper-text`,u&&`${s.prefix}-select__helper-text--visible`,i&&`${s.prefix}-select__helper-text--error`),y=e=>o.cloneElement(e,{className:l.joinClass(e.props.className,`${s.prefix}-select__icon--left`),type:"button",onClick:c=>{c.stopPropagation(),e.props.onClick&&!r&&e.props.onClick(c)}}),k=()=>m.map(e=>o.cloneElement(e,{className:l.joinClass(e.props.className,e.props.value===n.value&&`${s.prefix}-select__option--selected`),onClick:c=>{!e.props.disabled&&x&&x(c)}}));return t.jsxs("div",{className:N,children:[a&&t.jsxs("label",{className:v,children:[a," ",n.required&&"*"]}),t.jsxs("button",{type:"button",className:q,onClick:C,disabled:r,children:[t.jsx("div",{children:p&&y(p)}),t.jsx("input",{...n,readOnly:!0,type:"text",value:_,disabled:r}),t.jsx(g.Icon,{name:"angle-down",sx:{color:({grey:e})=>e.main},className:`${s.prefix}-select__icon--right`})]}),t.jsx(f.Menu,{autoClose:!0,position:d,direction:"center",open:$,anchorEl:h,onClose:C,children:k()}),t.jsx("span",{className:b,children:u})]})}const S=M.createComponent(E);exports.Select_default=S;
2
+ //# sourceMappingURL=Select-CXDit8M-.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select-CXDit8M-.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, type MenuProps, 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 label?: string;\n helperText?: string;\n color?: Colors;\n position?: MenuProps['position'];\n startIcon?: React.JSX.Element | boolean;\n children: React.JSX.Element | React.JSX.Element[];\n}\n\nfunction Select({\n error,\n position = 'bottom',\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 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 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 position={position}\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","position","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":"8PAgCA,SAASA,EAAO,CACd,MAAAC,EACA,SAAAC,EAAW,SACX,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,QAAUO,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,UAAWM,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,SAAAhC,EACA,UAAU,SACV,KAAAa,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{jsx as l}from"react/jsx-runtime";import{forwardRef as p}from"react";import{p as k}from"./index-CZ41y9Hn.js";import{j as u}from"./joinClass-anSpaauN.js";import{c as x}from"./createComponent-BmdhWozT.js";const C=p(function({children:s,tag:a="div",gap:o=16,alignSelf:r,flexWrap:m="nowrap",alignItems:c="flex-start",flexDirection:e="column",justifyContent:n="flex-start",...t},f){const i=u(`${k}-stack`,t.className);return l(a,{...t,ref:f,className:i,style:{gap:o,flexWrap:m,alignItems:c,alignSelf:r,flexDirection:e,justifyContent:n,...t.style},children:s})}),T=x(C);export{T as S};
2
- //# sourceMappingURL=Stack-CHR_pZC4.js.map
1
+ import{jsx as l}from"react/jsx-runtime";import{forwardRef as p}from"react";import{p as k}from"./index-CZ41y9Hn.js";import{j as u}from"./joinClass-anSpaauN.js";import{c as x}from"./createComponent-BvE_8glE.js";const C=p(function({children:s,tag:a="div",gap:o=16,alignSelf:r,flexWrap:m="nowrap",alignItems:c="flex-start",flexDirection:e="column",justifyContent:n="flex-start",...t},f){const i=u(`${k}-stack`,t.className);return l(a,{...t,ref:f,className:i,style:{gap:o,flexWrap:m,alignItems:c,alignSelf:r,flexDirection:e,justifyContent:n,...t.style},children:s})}),T=x(C);export{T as S};
2
+ //# sourceMappingURL=Stack-DnCw2pFA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stack-CHR_pZC4.js","sources":["../../src/layout/Stack/Stack.tsx"],"sourcesContent":["import type { HTMLAttributes, CSSProperties } from 'react';\nimport { forwardRef } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils';\n\nimport createComponent from '@/core/createComponent';\n\nimport '@iziui/styles/components/Stack.scss';\n\nexport interface StackProps extends HTMLAttributes<HTMLElement> {\n tag?: React.ElementType;\n gap?: number;\n flexDirection?: CSSProperties['flexDirection'];\n justifyContent?: CSSProperties['justifyContent'];\n alignItems?: CSSProperties['alignItems'];\n alignSelf?: CSSProperties['alignSelf'];\n flexWrap?: CSSProperties['flexWrap'];\n}\n\nconst Stack = forwardRef<HTMLElement, StackProps>(\n function Stack(\n {\n children,\n tag = 'div',\n gap = 16,\n alignSelf,\n flexWrap = 'nowrap',\n alignItems = 'flex-start',\n flexDirection = 'column',\n justifyContent = 'flex-start',\n ...props\n },\n ref\n ) {\n const stackClasses = joinClass(\n `${prefix}-stack`,\n props.className\n );\n\n const CustomTag = tag;\n\n return (\n <CustomTag\n {...props}\n ref={ref}\n className={stackClasses}\n style={{\n gap,\n flexWrap,\n alignItems,\n alignSelf,\n flexDirection,\n justifyContent,\n ...props.style,\n }}\n >\n {children}\n </CustomTag>\n );\n }\n);\n\nexport default createComponent(Stack);\n"],"names":["Stack","forwardRef","children","tag","gap","alignSelf","flexWrap","alignItems","flexDirection","justifyContent","props","ref","stackClasses","joinClass","prefix","jsx","Stack$1","createComponent"],"mappings":"iNAqBA,MAAMA,EAAQC,EACZ,SACE,CACE,SAAAC,EACA,IAAAC,EAAM,MACN,IAAAC,EAAM,GACN,UAAAC,EACA,SAAAC,EAAW,SACX,WAAAC,EAAa,aACb,cAAAC,EAAgB,SAChB,eAAAC,EAAiB,aACjB,GAAGC,CAAA,EAELC,EACA,CACA,MAAMC,EAAeC,EACnB,GAAGC,CAAM,SACTJ,EAAM,SAAA,EAKR,OACEK,EAHgBZ,EAGf,CACE,GAAGO,EACJ,IAAAC,EACA,UAAWC,EACX,MAAO,CACL,IAAAR,EACA,SAAAE,EACA,WAAAC,EACA,UAAAF,EACA,cAAAG,EACA,eAAAC,EACA,GAAGC,EAAM,KAAA,EAGV,SAAAR,CAAA,CAAA,CAGP,CACF,EAEAc,EAAeC,EAAgBjB,CAAK"}
1
+ {"version":3,"file":"Stack-DnCw2pFA.js","sources":["../../src/layout/Stack/Stack.tsx"],"sourcesContent":["import type { HTMLAttributes, CSSProperties } from 'react';\nimport { forwardRef } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils';\n\nimport createComponent from '@/core/createComponent';\n\nimport '@iziui/styles/components/Stack.scss';\n\nexport interface StackProps extends HTMLAttributes<HTMLElement> {\n tag?: React.ElementType;\n gap?: number;\n flexDirection?: CSSProperties['flexDirection'];\n justifyContent?: CSSProperties['justifyContent'];\n alignItems?: CSSProperties['alignItems'];\n alignSelf?: CSSProperties['alignSelf'];\n flexWrap?: CSSProperties['flexWrap'];\n}\n\nconst Stack = forwardRef<HTMLElement, StackProps>(\n function Stack(\n {\n children,\n tag = 'div',\n gap = 16,\n alignSelf,\n flexWrap = 'nowrap',\n alignItems = 'flex-start',\n flexDirection = 'column',\n justifyContent = 'flex-start',\n ...props\n },\n ref\n ) {\n const stackClasses = joinClass(\n `${prefix}-stack`,\n props.className\n );\n\n const CustomTag = tag;\n\n return (\n <CustomTag\n {...props}\n ref={ref}\n className={stackClasses}\n style={{\n gap,\n flexWrap,\n alignItems,\n alignSelf,\n flexDirection,\n justifyContent,\n ...props.style,\n }}\n >\n {children}\n </CustomTag>\n );\n }\n);\n\nexport default createComponent(Stack);\n"],"names":["Stack","forwardRef","children","tag","gap","alignSelf","flexWrap","alignItems","flexDirection","justifyContent","props","ref","stackClasses","joinClass","prefix","jsx","Stack$1","createComponent"],"mappings":"iNAqBA,MAAMA,EAAQC,EACZ,SACE,CACE,SAAAC,EACA,IAAAC,EAAM,MACN,IAAAC,EAAM,GACN,UAAAC,EACA,SAAAC,EAAW,SACX,WAAAC,EAAa,aACb,cAAAC,EAAgB,SAChB,eAAAC,EAAiB,aACjB,GAAGC,CAAA,EAELC,EACA,CACA,MAAMC,EAAeC,EACnB,GAAGC,CAAM,SACTJ,EAAM,SAAA,EAKR,OACEK,EAHgBZ,EAGf,CACE,GAAGO,EACJ,IAAAC,EACA,UAAWC,EACX,MAAO,CACL,IAAAR,EACA,SAAAE,EACA,WAAAC,EACA,UAAAF,EACA,cAAAG,EACA,eAAAC,EACA,GAAGC,EAAM,KAAA,EAGV,SAAAR,CAAA,CAAA,CAGP,CACF,EAEAc,EAAeC,EAAgBjB,CAAK"}
@@ -1,2 +1,2 @@
1
- "use strict";const f=require("react/jsx-runtime"),k=require("react"),x=require("./index-DYxwT4uW.cjs"),C=require("./joinClass-Jk3EszKD.cjs"),q=require("./createComponent-Bls5N6x8.cjs"),j=k.forwardRef(function({children:e,tag:s="div",gap:c=16,alignSelf:n,flexWrap:a="nowrap",alignItems:r="flex-start",flexDirection:o="column",justifyContent:i="flex-start",...t},u){const l=C.joinClass(`${x.prefix}-stack`,t.className),m=s;return f.jsx(m,{...t,ref:u,className:l,style:{gap:c,flexWrap:a,alignItems:r,alignSelf:n,flexDirection:o,justifyContent:i,...t.style},children:e})}),S=q.createComponent(j);exports.Stack=S;
2
- //# sourceMappingURL=Stack-CF3Wyma9.cjs.map
1
+ "use strict";const f=require("react/jsx-runtime"),k=require("react"),x=require("./index-DYxwT4uW.cjs"),C=require("./joinClass-Jk3EszKD.cjs"),q=require("./createComponent-cs9AuqoJ.cjs"),j=k.forwardRef(function({children:e,tag:s="div",gap:c=16,alignSelf:n,flexWrap:a="nowrap",alignItems:r="flex-start",flexDirection:o="column",justifyContent:i="flex-start",...t},u){const l=C.joinClass(`${x.prefix}-stack`,t.className),m=s;return f.jsx(m,{...t,ref:u,className:l,style:{gap:c,flexWrap:a,alignItems:r,alignSelf:n,flexDirection:o,justifyContent:i,...t.style},children:e})}),S=q.createComponent(j);exports.Stack=S;
2
+ //# sourceMappingURL=Stack-KD0LOLkS.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stack-CF3Wyma9.cjs","sources":["../../src/layout/Stack/Stack.tsx"],"sourcesContent":["import type { HTMLAttributes, CSSProperties } from 'react';\nimport { forwardRef } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils';\n\nimport createComponent from '@/core/createComponent';\n\nimport '@iziui/styles/components/Stack.scss';\n\nexport interface StackProps extends HTMLAttributes<HTMLElement> {\n tag?: React.ElementType;\n gap?: number;\n flexDirection?: CSSProperties['flexDirection'];\n justifyContent?: CSSProperties['justifyContent'];\n alignItems?: CSSProperties['alignItems'];\n alignSelf?: CSSProperties['alignSelf'];\n flexWrap?: CSSProperties['flexWrap'];\n}\n\nconst Stack = forwardRef<HTMLElement, StackProps>(\n function Stack(\n {\n children,\n tag = 'div',\n gap = 16,\n alignSelf,\n flexWrap = 'nowrap',\n alignItems = 'flex-start',\n flexDirection = 'column',\n justifyContent = 'flex-start',\n ...props\n },\n ref\n ) {\n const stackClasses = joinClass(\n `${prefix}-stack`,\n props.className\n );\n\n const CustomTag = tag;\n\n return (\n <CustomTag\n {...props}\n ref={ref}\n className={stackClasses}\n style={{\n gap,\n flexWrap,\n alignItems,\n alignSelf,\n flexDirection,\n justifyContent,\n ...props.style,\n }}\n >\n {children}\n </CustomTag>\n );\n }\n);\n\nexport default createComponent(Stack);\n"],"names":["Stack","forwardRef","children","tag","gap","alignSelf","flexWrap","alignItems","flexDirection","justifyContent","props","ref","stackClasses","joinClass","prefix","CustomTag","jsx","createComponent"],"mappings":"yLAqBMA,EAAQC,EAAAA,WACZ,SACE,CACE,SAAAC,EACA,IAAAC,EAAM,MACN,IAAAC,EAAM,GACN,UAAAC,EACA,SAAAC,EAAW,SACX,WAAAC,EAAa,aACb,cAAAC,EAAgB,SAChB,eAAAC,EAAiB,aACjB,GAAGC,CAAA,EAELC,EACA,CACA,MAAMC,EAAeC,EAAAA,UACnB,GAAGC,EAAAA,MAAM,SACTJ,EAAM,SAAA,EAGFK,EAAYZ,EAElB,OACEa,EAAAA,IAACD,EAAA,CACE,GAAGL,EACJ,IAAAC,EACA,UAAWC,EACX,MAAO,CACL,IAAAR,EACA,SAAAE,EACA,WAAAC,EACA,UAAAF,EACA,cAAAG,EACA,eAAAC,EACA,GAAGC,EAAM,KAAA,EAGV,SAAAR,CAAA,CAAA,CAGP,CACF,EAEAF,EAAeiB,EAAAA,gBAAgBjB,CAAK"}
1
+ {"version":3,"file":"Stack-KD0LOLkS.cjs","sources":["../../src/layout/Stack/Stack.tsx"],"sourcesContent":["import type { HTMLAttributes, CSSProperties } from 'react';\nimport { forwardRef } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils';\n\nimport createComponent from '@/core/createComponent';\n\nimport '@iziui/styles/components/Stack.scss';\n\nexport interface StackProps extends HTMLAttributes<HTMLElement> {\n tag?: React.ElementType;\n gap?: number;\n flexDirection?: CSSProperties['flexDirection'];\n justifyContent?: CSSProperties['justifyContent'];\n alignItems?: CSSProperties['alignItems'];\n alignSelf?: CSSProperties['alignSelf'];\n flexWrap?: CSSProperties['flexWrap'];\n}\n\nconst Stack = forwardRef<HTMLElement, StackProps>(\n function Stack(\n {\n children,\n tag = 'div',\n gap = 16,\n alignSelf,\n flexWrap = 'nowrap',\n alignItems = 'flex-start',\n flexDirection = 'column',\n justifyContent = 'flex-start',\n ...props\n },\n ref\n ) {\n const stackClasses = joinClass(\n `${prefix}-stack`,\n props.className\n );\n\n const CustomTag = tag;\n\n return (\n <CustomTag\n {...props}\n ref={ref}\n className={stackClasses}\n style={{\n gap,\n flexWrap,\n alignItems,\n alignSelf,\n flexDirection,\n justifyContent,\n ...props.style,\n }}\n >\n {children}\n </CustomTag>\n );\n }\n);\n\nexport default createComponent(Stack);\n"],"names":["Stack","forwardRef","children","tag","gap","alignSelf","flexWrap","alignItems","flexDirection","justifyContent","props","ref","stackClasses","joinClass","prefix","CustomTag","jsx","createComponent"],"mappings":"yLAqBMA,EAAQC,EAAAA,WACZ,SACE,CACE,SAAAC,EACA,IAAAC,EAAM,MACN,IAAAC,EAAM,GACN,UAAAC,EACA,SAAAC,EAAW,SACX,WAAAC,EAAa,aACb,cAAAC,EAAgB,SAChB,eAAAC,EAAiB,aACjB,GAAGC,CAAA,EAELC,EACA,CACA,MAAMC,EAAeC,EAAAA,UACnB,GAAGC,EAAAA,MAAM,SACTJ,EAAM,SAAA,EAGFK,EAAYZ,EAElB,OACEa,EAAAA,IAACD,EAAA,CACE,GAAGL,EACJ,IAAAC,EACA,UAAWC,EACX,MAAO,CACL,IAAAR,EACA,SAAAE,EACA,WAAAC,EACA,UAAAF,EACA,cAAAG,EACA,eAAAC,EACA,GAAGC,EAAM,KAAA,EAGV,SAAAR,CAAA,CAAA,CAGP,CACF,EAEAF,EAAeiB,EAAAA,gBAAgBjB,CAAK"}
@@ -1,2 +1,2 @@
1
- import{jsx as l}from"react/jsx-runtime";import{p as s}from"./index-CZ41y9Hn.js";import{j as o}from"./joinClass-anSpaauN.js";import{c as r}from"./createComponent-BmdhWozT.js";import{C as n}from"./Card-C2mSdoXV.js";function m({children:a,...e}){const t=o(`${s}-table`,e.className);return l(n,{fullWidth:!0,style:{overflow:"auto"},children:l("table",{className:t,...e,children:a})})}const p=r(m);function b({children:a,...e}){const t=o(`${s}-table__body`,e.className);return l("tbody",{className:t,...e,children:a})}b.displayName="TableBody";function d({align:a="left",children:e,...t}){const c=o(`${s}-table__cell`,`${s}-table__cell--${a}`);return l("td",{className:c,...t,children:e})}const y=r(d);function i({children:a}){const e=o(`${s}-table__header`);return l("thead",{className:e,children:l("tr",{children:a})})}i.displayName="TableHeader";export{p as T,b as a,y as b,i as c};
2
- //# sourceMappingURL=TableHeader-CrbbJXyv.js.map
1
+ import{jsx as l}from"react/jsx-runtime";import{p as s}from"./index-CZ41y9Hn.js";import{j as o}from"./joinClass-anSpaauN.js";import{c as r}from"./createComponent-BvE_8glE.js";import{C as n}from"./Card-CigqRMT2.js";function m({children:a,...e}){const t=o(`${s}-table`,e.className);return l(n,{fullWidth:!0,style:{overflow:"auto"},children:l("table",{className:t,...e,children:a})})}const p=r(m);function b({children:a,...e}){const t=o(`${s}-table__body`,e.className);return l("tbody",{className:t,...e,children:a})}b.displayName="TableBody";function d({align:a="left",children:e,...t}){const c=o(`${s}-table__cell`,`${s}-table__cell--${a}`);return l("td",{className:c,...t,children:e})}const y=r(d);function i({children:a}){const e=o(`${s}-table__header`);return l("thead",{className:e,children:l("tr",{children:a})})}i.displayName="TableHeader";export{p as T,b as a,y as b,i as c};
2
+ //# sourceMappingURL=TableHeader-Crwdqye1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeader-CrbbJXyv.js","sources":["../../src/display/Table/Table.tsx","../../src/display/Table/TableBody.tsx","../../src/display/Table/TableCell.tsx","../../src/display/Table/TableHeader.tsx"],"sourcesContent":["import type { TableHTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport createComponent from '@/core/createComponent';\n\nimport { Card } from '../Card';\n\nimport '@iziui/styles/components/Table.scss';\n\nexport type TableProps = TableHTMLAttributes<HTMLTableElement>;\n\nfunction Table({ children, ...props }: TableProps) {\n const cls = joinClass(\n `${prefix}-table`,\n props.className\n );\n\n return (\n <Card fullWidth style={{ overflow: 'auto' }}>\n <table className={cls} {...props}>\n {children}\n </table>\n </Card>\n );\n}\n\nexport default createComponent(Table);\n","import type { TableHTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\ninterface TableBodyProps extends TableHTMLAttributes<HTMLTableSectionElement> {\n children: React.ReactNode;\n}\n\nfunction TableBody({ children, ...props }: TableBodyProps) {\n\n const cls = joinClass(\n `${prefix}-table__body`,\n props.className\n );\n\n return (\n <tbody className={cls} {...props}>\n {children}\n </tbody>\n );\n}\n\nTableBody.displayName = 'TableBody';\n\nexport default TableBody;","import { TdHTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport createComponent from '../../core/createComponent';\n\ninterface TableCellProps extends TdHTMLAttributes<HTMLTableDataCellElement> {\n align?: 'left' | 'center' | 'right';\n children: React.JSX.Element | string | number | null;\n}\nfunction TableCell({ align = 'left', children, ...props }: TableCellProps) {\n const className = joinClass(\n `${prefix}-table__cell`,\n `${prefix}-table__cell--${align}`,\n );\n\n return (\n <td className={className} {...props}>\n {children}\n </td>\n );\n}\n\nexport default createComponent(TableCell);","import type { PropsWithChildren } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nfunction TableHeader({ children }: PropsWithChildren) {\n const className = joinClass(\n `${prefix}-table__header`,\n );\n\n return (\n <thead className={className}>\n <tr>\n {children}\n </tr>\n </thead>\n );\n}\n\nTableHeader.displayName = 'TableHeader';\n\nexport default TableHeader;"],"names":["Table","children","props","cls","joinClass","prefix","Card","jsx","Table_default","createComponent","TableBody","TableCell","align","className","TableCell_default","TableHeader"],"mappings":"qNAcA,SAASA,EAAM,CAAE,SAAAC,EAAU,GAAGC,GAAqB,CACjD,MAAMC,EAAMC,EACV,GAAGC,CAAM,SACTH,EAAM,SAAA,EAGR,SACGI,EAAA,CAAK,UAAS,GAAC,MAAO,CAAE,SAAU,MAAA,EACjC,SAAAC,EAAC,SAAM,UAAWJ,EAAM,GAAGD,EACxB,SAAAD,EACH,EACF,CAEJ,CAEA,MAAAO,EAAeC,EAAgBT,CAAK,ECnBpC,SAASU,EAAU,CAAE,SAAAT,EAAU,GAAGC,GAAyB,CAEzD,MAAMC,EAAMC,EACV,GAAGC,CAAM,eACTH,EAAM,SAAA,EAGR,SACG,QAAA,CAAM,UAAWC,EAAM,GAAGD,EACxB,SAAAD,EACH,CAEJ,CAEAS,EAAU,YAAc,YCZxB,SAASC,EAAU,CAAE,MAAAC,EAAQ,OAAQ,SAAAX,EAAU,GAAGC,GAAyB,CACzE,MAAMW,EAAYT,EAChB,GAAGC,CAAM,eACT,GAAGA,CAAM,iBAAiBO,CAAK,EAAA,EAGjC,OACEL,EAAC,KAAA,CAAG,UAAAM,EAAuB,GAAGX,EAC3B,SAAAD,EACH,CAEJ,CAEA,MAAAa,EAAeL,EAAgBE,CAAS,ECnBxC,SAASI,EAAY,CAAE,SAAAd,GAA+B,CACpD,MAAMY,EAAYT,EAChB,GAAGC,CAAM,gBAAA,EAGX,SACG,QAAA,CAAM,UAAAQ,EACL,SAAAN,EAAC,KAAA,CACE,SAAAN,EACH,EACF,CAEJ,CAEAc,EAAY,YAAc"}
1
+ {"version":3,"file":"TableHeader-Crwdqye1.js","sources":["../../src/display/Table/Table.tsx","../../src/display/Table/TableBody.tsx","../../src/display/Table/TableCell.tsx","../../src/display/Table/TableHeader.tsx"],"sourcesContent":["import type { TableHTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport createComponent from '@/core/createComponent';\n\nimport { Card } from '../Card';\n\nimport '@iziui/styles/components/Table.scss';\n\nexport type TableProps = TableHTMLAttributes<HTMLTableElement>;\n\nfunction Table({ children, ...props }: TableProps) {\n const cls = joinClass(\n `${prefix}-table`,\n props.className\n );\n\n return (\n <Card fullWidth style={{ overflow: 'auto' }}>\n <table className={cls} {...props}>\n {children}\n </table>\n </Card>\n );\n}\n\nexport default createComponent(Table);\n","import type { TableHTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\ninterface TableBodyProps extends TableHTMLAttributes<HTMLTableSectionElement> {\n children: React.ReactNode;\n}\n\nfunction TableBody({ children, ...props }: TableBodyProps) {\n\n const cls = joinClass(\n `${prefix}-table__body`,\n props.className\n );\n\n return (\n <tbody className={cls} {...props}>\n {children}\n </tbody>\n );\n}\n\nTableBody.displayName = 'TableBody';\n\nexport default TableBody;","import { TdHTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport createComponent from '../../core/createComponent';\n\ninterface TableCellProps extends TdHTMLAttributes<HTMLTableDataCellElement> {\n align?: 'left' | 'center' | 'right';\n children: React.JSX.Element | string | number | null;\n}\nfunction TableCell({ align = 'left', children, ...props }: TableCellProps) {\n const className = joinClass(\n `${prefix}-table__cell`,\n `${prefix}-table__cell--${align}`,\n );\n\n return (\n <td className={className} {...props}>\n {children}\n </td>\n );\n}\n\nexport default createComponent(TableCell);","import type { PropsWithChildren } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nfunction TableHeader({ children }: PropsWithChildren) {\n const className = joinClass(\n `${prefix}-table__header`,\n );\n\n return (\n <thead className={className}>\n <tr>\n {children}\n </tr>\n </thead>\n );\n}\n\nTableHeader.displayName = 'TableHeader';\n\nexport default TableHeader;"],"names":["Table","children","props","cls","joinClass","prefix","Card","jsx","Table_default","createComponent","TableBody","TableCell","align","className","TableCell_default","TableHeader"],"mappings":"qNAcA,SAASA,EAAM,CAAE,SAAAC,EAAU,GAAGC,GAAqB,CACjD,MAAMC,EAAMC,EACV,GAAGC,CAAM,SACTH,EAAM,SAAA,EAGR,SACGI,EAAA,CAAK,UAAS,GAAC,MAAO,CAAE,SAAU,MAAA,EACjC,SAAAC,EAAC,SAAM,UAAWJ,EAAM,GAAGD,EACxB,SAAAD,EACH,EACF,CAEJ,CAEA,MAAAO,EAAeC,EAAgBT,CAAK,ECnBpC,SAASU,EAAU,CAAE,SAAAT,EAAU,GAAGC,GAAyB,CAEzD,MAAMC,EAAMC,EACV,GAAGC,CAAM,eACTH,EAAM,SAAA,EAGR,SACG,QAAA,CAAM,UAAWC,EAAM,GAAGD,EACxB,SAAAD,EACH,CAEJ,CAEAS,EAAU,YAAc,YCZxB,SAASC,EAAU,CAAE,MAAAC,EAAQ,OAAQ,SAAAX,EAAU,GAAGC,GAAyB,CACzE,MAAMW,EAAYT,EAChB,GAAGC,CAAM,eACT,GAAGA,CAAM,iBAAiBO,CAAK,EAAA,EAGjC,OACEL,EAAC,KAAA,CAAG,UAAAM,EAAuB,GAAGX,EAC3B,SAAAD,EACH,CAEJ,CAEA,MAAAa,EAAeL,EAAgBE,CAAS,ECnBxC,SAASI,EAAY,CAAE,SAAAd,GAA+B,CACpD,MAAMY,EAAYT,EAChB,GAAGC,CAAM,gBAAA,EAGX,SACG,QAAA,CAAM,UAAAQ,EACL,SAAAN,EAAC,KAAA,CACE,SAAAN,EACH,EACF,CAEJ,CAEAc,EAAY,YAAc"}
@@ -1,2 +1,2 @@
1
- "use strict";const l=require("react/jsx-runtime"),s=require("./index-DYxwT4uW.cjs"),n=require("./joinClass-Jk3EszKD.cjs"),r=require("./createComponent-Bls5N6x8.cjs"),d=require("./Card-Bqgukgip.cjs");function u({children:a,...e}){const t=n.joinClass(`${s.prefix}-table`,e.className);return l.jsx(d.Card,{fullWidth:!0,style:{overflow:"auto"},children:l.jsx("table",{className:t,...e,children:a})})}const b=r.createComponent(u);function o({children:a,...e}){const t=n.joinClass(`${s.prefix}-table__body`,e.className);return l.jsx("tbody",{className:t,...e,children:a})}o.displayName="TableBody";function f({align:a="left",children:e,...t}){const i=n.joinClass(`${s.prefix}-table__cell`,`${s.prefix}-table__cell--${a}`);return l.jsx("td",{className:i,...t,children:e})}const x=r.createComponent(f);function c({children:a}){const e=n.joinClass(`${s.prefix}-table__header`);return l.jsx("thead",{className:e,children:l.jsx("tr",{children:a})})}c.displayName="TableHeader";exports.TableBody=o;exports.TableCell_default=x;exports.TableHeader=c;exports.Table_default=b;
2
- //# sourceMappingURL=TableHeader-D0wXM5mO.cjs.map
1
+ "use strict";const l=require("react/jsx-runtime"),s=require("./index-DYxwT4uW.cjs"),n=require("./joinClass-Jk3EszKD.cjs"),r=require("./createComponent-cs9AuqoJ.cjs"),d=require("./Card-KRiSWAFI.cjs");function u({children:a,...e}){const t=n.joinClass(`${s.prefix}-table`,e.className);return l.jsx(d.Card,{fullWidth:!0,style:{overflow:"auto"},children:l.jsx("table",{className:t,...e,children:a})})}const b=r.createComponent(u);function o({children:a,...e}){const t=n.joinClass(`${s.prefix}-table__body`,e.className);return l.jsx("tbody",{className:t,...e,children:a})}o.displayName="TableBody";function f({align:a="left",children:e,...t}){const i=n.joinClass(`${s.prefix}-table__cell`,`${s.prefix}-table__cell--${a}`);return l.jsx("td",{className:i,...t,children:e})}const x=r.createComponent(f);function c({children:a}){const e=n.joinClass(`${s.prefix}-table__header`);return l.jsx("thead",{className:e,children:l.jsx("tr",{children:a})})}c.displayName="TableHeader";exports.TableBody=o;exports.TableCell_default=x;exports.TableHeader=c;exports.Table_default=b;
2
+ //# sourceMappingURL=TableHeader-hddlVfv3.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableHeader-D0wXM5mO.cjs","sources":["../../src/display/Table/Table.tsx","../../src/display/Table/TableBody.tsx","../../src/display/Table/TableCell.tsx","../../src/display/Table/TableHeader.tsx"],"sourcesContent":["import type { TableHTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport createComponent from '@/core/createComponent';\n\nimport { Card } from '../Card';\n\nimport '@iziui/styles/components/Table.scss';\n\nexport type TableProps = TableHTMLAttributes<HTMLTableElement>;\n\nfunction Table({ children, ...props }: TableProps) {\n const cls = joinClass(\n `${prefix}-table`,\n props.className\n );\n\n return (\n <Card fullWidth style={{ overflow: 'auto' }}>\n <table className={cls} {...props}>\n {children}\n </table>\n </Card>\n );\n}\n\nexport default createComponent(Table);\n","import type { TableHTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\ninterface TableBodyProps extends TableHTMLAttributes<HTMLTableSectionElement> {\n children: React.ReactNode;\n}\n\nfunction TableBody({ children, ...props }: TableBodyProps) {\n\n const cls = joinClass(\n `${prefix}-table__body`,\n props.className\n );\n\n return (\n <tbody className={cls} {...props}>\n {children}\n </tbody>\n );\n}\n\nTableBody.displayName = 'TableBody';\n\nexport default TableBody;","import { TdHTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport createComponent from '../../core/createComponent';\n\ninterface TableCellProps extends TdHTMLAttributes<HTMLTableDataCellElement> {\n align?: 'left' | 'center' | 'right';\n children: React.JSX.Element | string | number | null;\n}\nfunction TableCell({ align = 'left', children, ...props }: TableCellProps) {\n const className = joinClass(\n `${prefix}-table__cell`,\n `${prefix}-table__cell--${align}`,\n );\n\n return (\n <td className={className} {...props}>\n {children}\n </td>\n );\n}\n\nexport default createComponent(TableCell);","import type { PropsWithChildren } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nfunction TableHeader({ children }: PropsWithChildren) {\n const className = joinClass(\n `${prefix}-table__header`,\n );\n\n return (\n <thead className={className}>\n <tr>\n {children}\n </tr>\n </thead>\n );\n}\n\nTableHeader.displayName = 'TableHeader';\n\nexport default TableHeader;"],"names":["Table","children","props","cls","joinClass","prefix","Card","jsx","Table_default","createComponent","TableBody","TableCell","align","className","TableCell_default","TableHeader"],"mappings":"uMAcA,SAASA,EAAM,CAAE,SAAAC,EAAU,GAAGC,GAAqB,CACjD,MAAMC,EAAMC,EAAAA,UACV,GAAGC,EAAAA,MAAM,SACTH,EAAM,SAAA,EAGR,aACGI,EAAAA,KAAA,CAAK,UAAS,GAAC,MAAO,CAAE,SAAU,MAAA,EACjC,SAAAC,MAAC,SAAM,UAAWJ,EAAM,GAAGD,EACxB,SAAAD,EACH,EACF,CAEJ,CAEA,MAAAO,EAAeC,EAAAA,gBAAgBT,CAAK,ECnBpC,SAASU,EAAU,CAAE,SAAAT,EAAU,GAAGC,GAAyB,CAEzD,MAAMC,EAAMC,EAAAA,UACV,GAAGC,EAAAA,MAAM,eACTH,EAAM,SAAA,EAGR,aACG,QAAA,CAAM,UAAWC,EAAM,GAAGD,EACxB,SAAAD,EACH,CAEJ,CAEAS,EAAU,YAAc,YCZxB,SAASC,EAAU,CAAE,MAAAC,EAAQ,OAAQ,SAAAX,EAAU,GAAGC,GAAyB,CACzE,MAAMW,EAAYT,EAAAA,UAChB,GAAGC,EAAAA,MAAM,eACT,GAAGA,EAAAA,MAAM,iBAAiBO,CAAK,EAAA,EAGjC,OACEL,EAAAA,IAAC,KAAA,CAAG,UAAAM,EAAuB,GAAGX,EAC3B,SAAAD,EACH,CAEJ,CAEA,MAAAa,EAAeL,EAAAA,gBAAgBE,CAAS,ECnBxC,SAASI,EAAY,CAAE,SAAAd,GAA+B,CACpD,MAAMY,EAAYT,EAAAA,UAChB,GAAGC,EAAAA,MAAM,gBAAA,EAGX,aACG,QAAA,CAAM,UAAAQ,EACL,SAAAN,EAAAA,IAAC,KAAA,CACE,SAAAN,EACH,EACF,CAEJ,CAEAc,EAAY,YAAc"}
1
+ {"version":3,"file":"TableHeader-hddlVfv3.cjs","sources":["../../src/display/Table/Table.tsx","../../src/display/Table/TableBody.tsx","../../src/display/Table/TableCell.tsx","../../src/display/Table/TableHeader.tsx"],"sourcesContent":["import type { TableHTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport createComponent from '@/core/createComponent';\n\nimport { Card } from '../Card';\n\nimport '@iziui/styles/components/Table.scss';\n\nexport type TableProps = TableHTMLAttributes<HTMLTableElement>;\n\nfunction Table({ children, ...props }: TableProps) {\n const cls = joinClass(\n `${prefix}-table`,\n props.className\n );\n\n return (\n <Card fullWidth style={{ overflow: 'auto' }}>\n <table className={cls} {...props}>\n {children}\n </table>\n </Card>\n );\n}\n\nexport default createComponent(Table);\n","import type { TableHTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\ninterface TableBodyProps extends TableHTMLAttributes<HTMLTableSectionElement> {\n children: React.ReactNode;\n}\n\nfunction TableBody({ children, ...props }: TableBodyProps) {\n\n const cls = joinClass(\n `${prefix}-table__body`,\n props.className\n );\n\n return (\n <tbody className={cls} {...props}>\n {children}\n </tbody>\n );\n}\n\nTableBody.displayName = 'TableBody';\n\nexport default TableBody;","import { TdHTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport createComponent from '../../core/createComponent';\n\ninterface TableCellProps extends TdHTMLAttributes<HTMLTableDataCellElement> {\n align?: 'left' | 'center' | 'right';\n children: React.JSX.Element | string | number | null;\n}\nfunction TableCell({ align = 'left', children, ...props }: TableCellProps) {\n const className = joinClass(\n `${prefix}-table__cell`,\n `${prefix}-table__cell--${align}`,\n );\n\n return (\n <td className={className} {...props}>\n {children}\n </td>\n );\n}\n\nexport default createComponent(TableCell);","import type { PropsWithChildren } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nfunction TableHeader({ children }: PropsWithChildren) {\n const className = joinClass(\n `${prefix}-table__header`,\n );\n\n return (\n <thead className={className}>\n <tr>\n {children}\n </tr>\n </thead>\n );\n}\n\nTableHeader.displayName = 'TableHeader';\n\nexport default TableHeader;"],"names":["Table","children","props","cls","joinClass","prefix","Card","jsx","Table_default","createComponent","TableBody","TableCell","align","className","TableCell_default","TableHeader"],"mappings":"uMAcA,SAASA,EAAM,CAAE,SAAAC,EAAU,GAAGC,GAAqB,CACjD,MAAMC,EAAMC,EAAAA,UACV,GAAGC,EAAAA,MAAM,SACTH,EAAM,SAAA,EAGR,aACGI,EAAAA,KAAA,CAAK,UAAS,GAAC,MAAO,CAAE,SAAU,MAAA,EACjC,SAAAC,MAAC,SAAM,UAAWJ,EAAM,GAAGD,EACxB,SAAAD,EACH,EACF,CAEJ,CAEA,MAAAO,EAAeC,EAAAA,gBAAgBT,CAAK,ECnBpC,SAASU,EAAU,CAAE,SAAAT,EAAU,GAAGC,GAAyB,CAEzD,MAAMC,EAAMC,EAAAA,UACV,GAAGC,EAAAA,MAAM,eACTH,EAAM,SAAA,EAGR,aACG,QAAA,CAAM,UAAWC,EAAM,GAAGD,EACxB,SAAAD,EACH,CAEJ,CAEAS,EAAU,YAAc,YCZxB,SAASC,EAAU,CAAE,MAAAC,EAAQ,OAAQ,SAAAX,EAAU,GAAGC,GAAyB,CACzE,MAAMW,EAAYT,EAAAA,UAChB,GAAGC,EAAAA,MAAM,eACT,GAAGA,EAAAA,MAAM,iBAAiBO,CAAK,EAAA,EAGjC,OACEL,EAAAA,IAAC,KAAA,CAAG,UAAAM,EAAuB,GAAGX,EAC3B,SAAAD,EACH,CAEJ,CAEA,MAAAa,EAAeL,EAAAA,gBAAgBE,CAAS,ECnBxC,SAASI,EAAY,CAAE,SAAAd,GAA+B,CACpD,MAAMY,EAAYT,EAAAA,UAChB,GAAGC,EAAAA,MAAM,gBAAA,EAGX,aACG,QAAA,CAAM,UAAAQ,EACL,SAAAN,EAAAA,IAAC,KAAA,CACE,SAAAN,EACH,EACF,CAEJ,CAEAc,EAAY,YAAc"}
@@ -1,2 +1,2 @@
1
- import{jsx as i}from"react/jsx-runtime";import{p as t}from"./index-CZ41y9Hn.js";import{j as l}from"./joinClass-anSpaauN.js";import{c as n}from"./convertPathToColor-DtOjH4ZP.js";import{u as b}from"./useTheme-BYuNiCiH.js";import{c as u}from"./createComponent-BmdhWozT.js";const v=["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2"],f={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p"};function g({children:e,variant:s="body1",color:a="text.primary",weight:h,textAlign:p,...o}){const{theme:{palette:m}}=b(),y=f[s],c=l(`${t}-typography`,`${t}-typography--${s}`,h&&`${t}-typography--weight-${h}`,o.className),r=n(a,m);return i(y,{...o,className:c,style:{...r?{color:r}:{},textAlign:p,...o.style},children:e})}const N=u(g);export{N as T,v};
2
- //# sourceMappingURL=Typography-B_WR62ip.js.map
1
+ import{jsx as i}from"react/jsx-runtime";import{p as t}from"./index-CZ41y9Hn.js";import{j as l}from"./joinClass-anSpaauN.js";import{c as n}from"./convertPathToColor-DtOjH4ZP.js";import{u as b}from"./useTheme-Bxa1LbQE.js";import{c as u}from"./createComponent-BvE_8glE.js";const v=["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2"],f={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p"};function g({children:e,variant:s="body1",color:a="text.primary",weight:h,textAlign:p,...o}){const{theme:{palette:m}}=b(),y=f[s],c=l(`${t}-typography`,`${t}-typography--${s}`,h&&`${t}-typography--weight-${h}`,o.className),r=n(a,m);return i(y,{...o,className:c,style:{...r?{color:r}:{},textAlign:p,...o.style},children:e})}const N=u(g);export{N as T,v};
2
+ //# sourceMappingURL=Typography-BFtQbh5C.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Typography-B_WR62ip.js","sources":["../../src/display/Typography/Typography.tsx"],"sourcesContent":["import { type PropsWithChildren, type HTMLAttributes, type CSSProperties } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { MappedColors } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport { convertPathToColor } from '@iziui/core/utils/convertPathToColor';\n\nimport { useTheme } from '@/theme';\nimport createComponent from '@/core/createComponent';\n\nimport '@iziui/styles/components/Typography.scss';\n\nexport const variants = [\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'subtitle1',\n 'subtitle2',\n 'body1',\n 'body2',\n] as const;\n\nexport type Variant = typeof variants[number];\n\nconst MAP: { [x: string]: React.ElementType } = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p',\n};\n\nexport interface TypographyProps extends PropsWithChildren<HTMLAttributes<HTMLParagraphElement>> {\n variant?: Variant;\n color?: MappedColors;\n textAlign?: CSSProperties['textAlign'];\n weight?: 'bold' | 'normal' | 'light';\n}\n\nfunction Typography({\n children,\n variant = 'body1',\n color: _color = 'text.primary',\n weight,\n textAlign,\n ...props\n}: TypographyProps) {\n const { theme: { palette } } = useTheme();\n\n const CustomTag = MAP[variant];\n\n const cls = joinClass(\n `${prefix}-typography`,\n `${prefix}-typography--${variant}`,\n weight && `${prefix}-typography--weight-${weight}`,\n props.className\n );\n\n const color = convertPathToColor(_color, palette);\n\n return (\n <CustomTag\n {...props}\n className={cls}\n style={{\n ...(color ? { color } : {}),\n textAlign,\n ...props.style\n }}\n >\n {children}\n </CustomTag>\n );\n}\n\nexport default createComponent(Typography);"],"names":["variants","MAP","Typography","children","variant","_color","weight","textAlign","props","palette","useTheme","CustomTag","cls","joinClass","prefix","color","convertPathToColor","jsx","Typography$1","createComponent"],"mappings":"8QAaO,MAAMA,EAAW,CACtB,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,OACF,EAIMC,EAA0C,CAC9C,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,UAAW,KACX,UAAW,KACX,MAAO,IACP,MAAO,GACT,EASA,SAASC,EAAW,CAClB,SAAAC,EACA,QAAAC,EAAU,QACV,MAAOC,EAAS,eAChB,OAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAoB,CAClB,KAAM,CAAE,MAAO,CAAE,QAAAC,CAAA,CAAQ,EAAMC,EAAA,EAEzBC,EAAYV,EAAIG,CAAO,EAEvBQ,EAAMC,EACV,GAAGC,CAAM,cACT,GAAGA,CAAM,gBAAgBV,CAAO,GAChCE,GAAU,GAAGQ,CAAM,uBAAuBR,CAAM,GAChDE,EAAM,SAAA,EAGFO,EAAQC,EAAmBX,EAAQI,CAAO,EAEhD,OACEQ,EAACN,EAAA,CACE,GAAGH,EACJ,UAAWI,EACX,MAAO,CACL,GAAIG,EAAQ,CAAE,MAAAA,CAAA,EAAU,CAAA,EACxB,UAAAR,EACA,GAAGC,EAAM,KAAA,EAGV,SAAAL,CAAA,CAAA,CAGP,CAEA,MAAAe,EAAeC,EAAgBjB,CAAU"}
1
+ {"version":3,"file":"Typography-BFtQbh5C.js","sources":["../../src/display/Typography/Typography.tsx"],"sourcesContent":["import { type PropsWithChildren, type HTMLAttributes, type CSSProperties } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { MappedColors } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport { convertPathToColor } from '@iziui/core/utils/convertPathToColor';\n\nimport { useTheme } from '@/theme';\nimport createComponent from '@/core/createComponent';\n\nimport '@iziui/styles/components/Typography.scss';\n\nexport const variants = [\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'subtitle1',\n 'subtitle2',\n 'body1',\n 'body2',\n] as const;\n\nexport type Variant = typeof variants[number];\n\nconst MAP: { [x: string]: React.ElementType } = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p',\n};\n\nexport interface TypographyProps extends PropsWithChildren<HTMLAttributes<HTMLParagraphElement>> {\n variant?: Variant;\n color?: MappedColors;\n textAlign?: CSSProperties['textAlign'];\n weight?: 'bold' | 'normal' | 'light';\n}\n\nfunction Typography({\n children,\n variant = 'body1',\n color: _color = 'text.primary',\n weight,\n textAlign,\n ...props\n}: TypographyProps) {\n const { theme: { palette } } = useTheme();\n\n const CustomTag = MAP[variant];\n\n const cls = joinClass(\n `${prefix}-typography`,\n `${prefix}-typography--${variant}`,\n weight && `${prefix}-typography--weight-${weight}`,\n props.className\n );\n\n const color = convertPathToColor(_color, palette);\n\n return (\n <CustomTag\n {...props}\n className={cls}\n style={{\n ...(color ? { color } : {}),\n textAlign,\n ...props.style\n }}\n >\n {children}\n </CustomTag>\n );\n}\n\nexport default createComponent(Typography);"],"names":["variants","MAP","Typography","children","variant","_color","weight","textAlign","props","palette","useTheme","CustomTag","cls","joinClass","prefix","color","convertPathToColor","jsx","Typography$1","createComponent"],"mappings":"8QAaO,MAAMA,EAAW,CACtB,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,OACF,EAIMC,EAA0C,CAC9C,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,UAAW,KACX,UAAW,KACX,MAAO,IACP,MAAO,GACT,EASA,SAASC,EAAW,CAClB,SAAAC,EACA,QAAAC,EAAU,QACV,MAAOC,EAAS,eAChB,OAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAoB,CAClB,KAAM,CAAE,MAAO,CAAE,QAAAC,CAAA,CAAQ,EAAMC,EAAA,EAEzBC,EAAYV,EAAIG,CAAO,EAEvBQ,EAAMC,EACV,GAAGC,CAAM,cACT,GAAGA,CAAM,gBAAgBV,CAAO,GAChCE,GAAU,GAAGQ,CAAM,uBAAuBR,CAAM,GAChDE,EAAM,SAAA,EAGFO,EAAQC,EAAmBX,EAAQI,CAAO,EAEhD,OACEQ,EAACN,EAAA,CACE,GAAGH,EACJ,UAAWI,EACX,MAAO,CACL,GAAIG,EAAQ,CAAE,MAAAA,CAAA,EAAU,CAAA,EACxB,UAAAR,EACA,GAAGC,EAAM,KAAA,EAGV,SAAAL,CAAA,CAAA,CAGP,CAEA,MAAAe,EAAeC,EAAgBjB,CAAU"}
@@ -1,2 +1,2 @@
1
- "use strict";const p=require("react/jsx-runtime"),t=require("./index-DYxwT4uW.cjs"),u=require("./joinClass-Jk3EszKD.cjs"),l=require("./convertPathToColor-D8eBpd_D.cjs"),m=require("./useTheme-DsrjDJKC.cjs"),b=require("./createComponent-Bls5N6x8.cjs"),T=["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2"],g={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p"};function x({children:h,variant:o="body1",color:n="text.primary",weight:s,textAlign:c,...e}){const{theme:{palette:a}}=m.useTheme(),i=g[o],y=u.joinClass(`${t.prefix}-typography`,`${t.prefix}-typography--${o}`,s&&`${t.prefix}-typography--weight-${s}`,e.className),r=l.convertPathToColor(n,a);return p.jsx(i,{...e,className:y,style:{...r?{color:r}:{},textAlign:c,...e.style},children:h})}const C=b.createComponent(x);exports.Typography=C;exports.variants=T;
2
- //# sourceMappingURL=Typography-Ch-BLqCH.cjs.map
1
+ "use strict";const p=require("react/jsx-runtime"),t=require("./index-DYxwT4uW.cjs"),u=require("./joinClass-Jk3EszKD.cjs"),l=require("./convertPathToColor-D8eBpd_D.cjs"),m=require("./useTheme-DZmXQ5qV.cjs"),b=require("./createComponent-cs9AuqoJ.cjs"),T=["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2"],g={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p"};function x({children:h,variant:o="body1",color:n="text.primary",weight:s,textAlign:c,...e}){const{theme:{palette:a}}=m.useTheme(),i=g[o],y=u.joinClass(`${t.prefix}-typography`,`${t.prefix}-typography--${o}`,s&&`${t.prefix}-typography--weight-${s}`,e.className),r=l.convertPathToColor(n,a);return p.jsx(i,{...e,className:y,style:{...r?{color:r}:{},textAlign:c,...e.style},children:h})}const C=b.createComponent(x);exports.Typography=C;exports.variants=T;
2
+ //# sourceMappingURL=Typography-BMBXbiC1.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Typography-Ch-BLqCH.cjs","sources":["../../src/display/Typography/Typography.tsx"],"sourcesContent":["import { type PropsWithChildren, type HTMLAttributes, type CSSProperties } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { MappedColors } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport { convertPathToColor } from '@iziui/core/utils/convertPathToColor';\n\nimport { useTheme } from '@/theme';\nimport createComponent from '@/core/createComponent';\n\nimport '@iziui/styles/components/Typography.scss';\n\nexport const variants = [\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'subtitle1',\n 'subtitle2',\n 'body1',\n 'body2',\n] as const;\n\nexport type Variant = typeof variants[number];\n\nconst MAP: { [x: string]: React.ElementType } = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p',\n};\n\nexport interface TypographyProps extends PropsWithChildren<HTMLAttributes<HTMLParagraphElement>> {\n variant?: Variant;\n color?: MappedColors;\n textAlign?: CSSProperties['textAlign'];\n weight?: 'bold' | 'normal' | 'light';\n}\n\nfunction Typography({\n children,\n variant = 'body1',\n color: _color = 'text.primary',\n weight,\n textAlign,\n ...props\n}: TypographyProps) {\n const { theme: { palette } } = useTheme();\n\n const CustomTag = MAP[variant];\n\n const cls = joinClass(\n `${prefix}-typography`,\n `${prefix}-typography--${variant}`,\n weight && `${prefix}-typography--weight-${weight}`,\n props.className\n );\n\n const color = convertPathToColor(_color, palette);\n\n return (\n <CustomTag\n {...props}\n className={cls}\n style={{\n ...(color ? { color } : {}),\n textAlign,\n ...props.style\n }}\n >\n {children}\n </CustomTag>\n );\n}\n\nexport default createComponent(Typography);"],"names":["variants","MAP","Typography","children","variant","_color","weight","textAlign","props","palette","useTheme","CustomTag","cls","joinClass","prefix","color","convertPathToColor","jsx","createComponent"],"mappings":"0PAaaA,EAAW,CACtB,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,OACF,EAIMC,EAA0C,CAC9C,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,UAAW,KACX,UAAW,KACX,MAAO,IACP,MAAO,GACT,EASA,SAASC,EAAW,CAClB,SAAAC,EACA,QAAAC,EAAU,QACV,MAAOC,EAAS,eAChB,OAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAoB,CAClB,KAAM,CAAE,MAAO,CAAE,QAAAC,CAAA,CAAQ,EAAMC,EAAAA,SAAA,EAEzBC,EAAYV,EAAIG,CAAO,EAEvBQ,EAAMC,EAAAA,UACV,GAAGC,EAAAA,MAAM,cACT,GAAGA,EAAAA,MAAM,gBAAgBV,CAAO,GAChCE,GAAU,GAAGQ,EAAAA,MAAM,uBAAuBR,CAAM,GAChDE,EAAM,SAAA,EAGFO,EAAQC,EAAAA,mBAAmBX,EAAQI,CAAO,EAEhD,OACEQ,EAAAA,IAACN,EAAA,CACE,GAAGH,EACJ,UAAWI,EACX,MAAO,CACL,GAAIG,EAAQ,CAAE,MAAAA,CAAA,EAAU,CAAA,EACxB,UAAAR,EACA,GAAGC,EAAM,KAAA,EAGV,SAAAL,CAAA,CAAA,CAGP,CAEA,MAAAD,EAAegB,EAAAA,gBAAgBhB,CAAU"}
1
+ {"version":3,"file":"Typography-BMBXbiC1.cjs","sources":["../../src/display/Typography/Typography.tsx"],"sourcesContent":["import { type PropsWithChildren, type HTMLAttributes, type CSSProperties } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { MappedColors } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport { convertPathToColor } from '@iziui/core/utils/convertPathToColor';\n\nimport { useTheme } from '@/theme';\nimport createComponent from '@/core/createComponent';\n\nimport '@iziui/styles/components/Typography.scss';\n\nexport const variants = [\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'subtitle1',\n 'subtitle2',\n 'body1',\n 'body2',\n] as const;\n\nexport type Variant = typeof variants[number];\n\nconst MAP: { [x: string]: React.ElementType } = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p',\n};\n\nexport interface TypographyProps extends PropsWithChildren<HTMLAttributes<HTMLParagraphElement>> {\n variant?: Variant;\n color?: MappedColors;\n textAlign?: CSSProperties['textAlign'];\n weight?: 'bold' | 'normal' | 'light';\n}\n\nfunction Typography({\n children,\n variant = 'body1',\n color: _color = 'text.primary',\n weight,\n textAlign,\n ...props\n}: TypographyProps) {\n const { theme: { palette } } = useTheme();\n\n const CustomTag = MAP[variant];\n\n const cls = joinClass(\n `${prefix}-typography`,\n `${prefix}-typography--${variant}`,\n weight && `${prefix}-typography--weight-${weight}`,\n props.className\n );\n\n const color = convertPathToColor(_color, palette);\n\n return (\n <CustomTag\n {...props}\n className={cls}\n style={{\n ...(color ? { color } : {}),\n textAlign,\n ...props.style\n }}\n >\n {children}\n </CustomTag>\n );\n}\n\nexport default createComponent(Typography);"],"names":["variants","MAP","Typography","children","variant","_color","weight","textAlign","props","palette","useTheme","CustomTag","cls","joinClass","prefix","color","convertPathToColor","jsx","createComponent"],"mappings":"0PAaaA,EAAW,CACtB,KACA,KACA,KACA,KACA,KACA,KACA,YACA,YACA,QACA,OACF,EAIMC,EAA0C,CAC9C,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,UAAW,KACX,UAAW,KACX,MAAO,IACP,MAAO,GACT,EASA,SAASC,EAAW,CAClB,SAAAC,EACA,QAAAC,EAAU,QACV,MAAOC,EAAS,eAChB,OAAAC,EACA,UAAAC,EACA,GAAGC,CACL,EAAoB,CAClB,KAAM,CAAE,MAAO,CAAE,QAAAC,CAAA,CAAQ,EAAMC,EAAAA,SAAA,EAEzBC,EAAYV,EAAIG,CAAO,EAEvBQ,EAAMC,EAAAA,UACV,GAAGC,EAAAA,MAAM,cACT,GAAGA,EAAAA,MAAM,gBAAgBV,CAAO,GAChCE,GAAU,GAAGQ,EAAAA,MAAM,uBAAuBR,CAAM,GAChDE,EAAM,SAAA,EAGFO,EAAQC,EAAAA,mBAAmBX,EAAQI,CAAO,EAEhD,OACEQ,EAAAA,IAACN,EAAA,CACE,GAAGH,EACJ,UAAWI,EACX,MAAO,CACL,GAAIG,EAAQ,CAAE,MAAAA,CAAA,EAAU,CAAA,EACxB,UAAAR,EACA,GAAGC,EAAM,KAAA,EAGV,SAAAL,CAAA,CAAA,CAGP,CAEA,MAAAD,EAAegB,EAAAA,gBAAgBhB,CAAU"}
@@ -1,2 +1,2 @@
1
- import{jsx as x}from"react/jsx-runtime";import{b as P,c as M,d as S}from"./index-CZ41y9Hn.js";import{u as y}from"./useTheme-BYuNiCiH.js";function B({sx:t,theme:n},...e){return e.reduce((s,a)=>(s={...s,...a(n,t)},s),{})}const w=(t,{color:n})=>{const{palette:e}=t;return n?{color:n(e)}:{}},_=(t,{background:n})=>{const{palette:e}=t;return n?{background:n(e)}:{}},j=(t,{borderColor:n})=>{const{palette:e}=t;return n?{borderColor:n(e)}:{}},z=(t,{backgroundColor:n})=>{const{palette:e}=t;return n?{backgroundColor:n(e)}:{}},C=(t,{borderRadius:n})=>{const{shape:e}=t;return n?{borderRadius:`${e.radius*n}px`}:{}},O=(t,{m:n,mb:e,ml:s,mr:a,mt:c,mx:u,my:l})=>{const{spacing:f}=t,o=i=>i||i===0?`${String(i*f)}px`:"",r=o(n),h=o(c),m=o(e),d=o(l),g=o(u),p=o(s),b=o(a);return{margin:r,marginTop:h||d||r,marginBottom:m||d||r,marginLeft:p||g||r,marginRight:b||g||r}},R=(t,{p:n,pb:e,pl:s,pr:a,pt:c,px:u,py:l})=>{const{spacing:f}=t,o=i=>i||i===0?`${String(i*f)}px`:"",r=o(n),h=o(c),m=o(e),d=o(l),g=o(u),p=o(s),b=o(a);return{padding:r,paddingTop:h||d||r,paddingBottom:m||d||r,paddingLeft:p||g||r,paddingRight:b||g||r}},T=(t,{boxShadow:n})=>n?{boxShadow:{sm:S,md:M,lg:P}[n]}:{},L=Object.freeze(Object.defineProperty({__proto__:null,defineBackground:_,defineBackgroundColor:z,defineBorderColor:j,defineBorderRadius:C,defineBoxShadow:T,defineColor:w,defineMargin:O,definePadding:R},Symbol.toStringTag,{value:"Module"}));function $(t){return Object.values(t).map(n=>n)}function N(t){return t.displayName=t.name,({sx:e,fullWidth:s,...a})=>{const{theme:c}=y(),u=e&&B({theme:c,sx:e},...$(L));return x(t,{...a,style:{boxSizing:"border-box",...a.style,...u,...s?{width:"100%"}:{}}})}}export{N as c};
2
- //# sourceMappingURL=createComponent-BmdhWozT.js.map
1
+ import{jsx as x}from"react/jsx-runtime";import{b as P,c as M,d as S}from"./index-CZ41y9Hn.js";import{u as y}from"./useTheme-Bxa1LbQE.js";function B({sx:t,theme:n},...e){return e.reduce((s,a)=>(s={...s,...a(n,t)},s),{})}const w=(t,{color:n})=>{const{palette:e}=t;return n?{color:n(e)}:{}},_=(t,{background:n})=>{const{palette:e}=t;return n?{background:n(e)}:{}},j=(t,{borderColor:n})=>{const{palette:e}=t;return n?{borderColor:n(e)}:{}},z=(t,{backgroundColor:n})=>{const{palette:e}=t;return n?{backgroundColor:n(e)}:{}},C=(t,{borderRadius:n})=>{const{shape:e}=t;return n?{borderRadius:`${e.radius*n}px`}:{}},O=(t,{m:n,mb:e,ml:s,mr:a,mt:c,mx:u,my:l})=>{const{spacing:f}=t,o=i=>i||i===0?`${String(i*f)}px`:"",r=o(n),h=o(c),m=o(e),d=o(l),g=o(u),p=o(s),b=o(a);return{margin:r,marginTop:h||d||r,marginBottom:m||d||r,marginLeft:p||g||r,marginRight:b||g||r}},R=(t,{p:n,pb:e,pl:s,pr:a,pt:c,px:u,py:l})=>{const{spacing:f}=t,o=i=>i||i===0?`${String(i*f)}px`:"",r=o(n),h=o(c),m=o(e),d=o(l),g=o(u),p=o(s),b=o(a);return{padding:r,paddingTop:h||d||r,paddingBottom:m||d||r,paddingLeft:p||g||r,paddingRight:b||g||r}},T=(t,{boxShadow:n})=>n?{boxShadow:{sm:S,md:M,lg:P}[n]}:{},L=Object.freeze(Object.defineProperty({__proto__:null,defineBackground:_,defineBackgroundColor:z,defineBorderColor:j,defineBorderRadius:C,defineBoxShadow:T,defineColor:w,defineMargin:O,definePadding:R},Symbol.toStringTag,{value:"Module"}));function $(t){return Object.values(t).map(n=>n)}function N(t){return t.displayName=t.name,({sx:e,fullWidth:s,...a})=>{const{theme:c}=y(),u=e&&B({theme:c,sx:e},...$(L));return x(t,{...a,style:{boxSizing:"border-box",...a.style,...u,...s?{width:"100%"}:{}}})}}export{N as c};
2
+ //# sourceMappingURL=createComponent-BvE_8glE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createComponent-BmdhWozT.js","sources":["../../../../core/src/options/createOptions/createOptions.ts","../../../../core/src/plugin/color/defineColor/defineColor.ts","../../../../core/src/plugin/color/defineBackground/defineBackground.ts","../../../../core/src/plugin/color/defineBorderColor/defineBorderColor.ts","../../../../core/src/plugin/color/defineBackgroundColor/defineBackgroundColor.ts","../../../../core/src/plugin/shape/defineBorderRadius/defineBorderRadius.ts","../../../../core/src/plugin/spacing/defineMargin/defineMargin.ts","../../../../core/src/plugin/spacing/definePadding/definePadding.ts","../../../../core/src/plugin/behavior/defineBoxShadow/defineBoxShadow.ts","../../src/core/createComponent.tsx"],"sourcesContent":["import type { Properties } from 'csstype';\n\nimport type { Plugin } from '../../plugin';\nimport type { ThemeBuilded } from '../../theme';\nimport type { CustomOptions } from '../CustomOptions';\n\ntype Data = {\n sx: CustomOptions;\n theme: ThemeBuilded;\n}\n\nexport default function createOptions({ sx, theme }: Data, ...plugins: Plugin[]): Properties {\n return plugins.reduce<Properties>((acc, plugin) => {\n acc = { ...acc, ...plugin(theme, sx) };\n\n return acc;\n }, {});\n}","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { color }) => {\n const { palette } = theme;\n\n if (!color) { return {}; }\n\n return {\n color: color(palette)\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { background }) => {\n const { palette } = theme;\n\n if (!background) { return {}; }\n\n return {\n background: background(palette)\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { borderColor }) => {\n const { palette } = theme;\n\n if (!borderColor) { return {}; }\n\n return {\n borderColor: borderColor(palette)\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { backgroundColor }) => {\n const { palette } = theme;\n\n if (!backgroundColor) { return {}; }\n\n return {\n backgroundColor: backgroundColor(palette)\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { borderRadius }) => {\n const { shape } = theme;\n\n if (!borderRadius) { return {}; }\n\n return {\n borderRadius: `${shape.radius * borderRadius}px`\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { m, mb, ml, mr, mt, mx, my }) => {\n const { spacing } = theme;\n\n const calculateMargin = (mg?: number) => {\n return !!mg || mg === 0 ? `${String(mg * spacing)}px` : '';\n };\n\n const hasM = calculateMargin(m);\n\n const hasMt = calculateMargin(mt);\n const hasMb = calculateMargin(mb);\n\n const hasMy = calculateMargin(my);\n const hasMx = calculateMargin(mx);\n\n const hasMl = calculateMargin(ml);\n const hasMr = calculateMargin(mr);\n\n return {\n margin: hasM,\n marginTop: hasMt || hasMy || hasM,\n marginBottom: hasMb || hasMy || hasM,\n marginLeft: hasMl || hasMx || hasM,\n marginRight: hasMr || hasMx || hasM,\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { p, pb, pl, pr, pt, px, py }) => {\n const { spacing } = theme;\n\n const calculatePadding = (pd?: number) => {\n return !!pd || pd === 0 ? `${String(pd * spacing)}px` : '';\n };\n\n const hasP = calculatePadding(p);\n\n const hasPt = calculatePadding(pt);\n const hasPb = calculatePadding(pb);\n\n const hasPy = calculatePadding(py);\n const hasPx = calculatePadding(px);\n\n const hasPl = calculatePadding(pl);\n const hasPr = calculatePadding(pr);\n\n return {\n padding: hasP,\n paddingTop: hasPt || hasPy || hasP,\n paddingBottom: hasPb || hasPy || hasP,\n paddingLeft: hasPl || hasPx || hasP,\n paddingRight: hasPr || hasPx || hasP,\n };\n});","import { boxShadowSmall, boxShadowRegular, boxShadowLarge } from '@iziui/tokens/web/js';\n\nimport definePlugin from '../../definePlugin';\nimport type { CustomOptions } from '../../../options/CustomOptions';\n\ntype ExtractSize = NonNullable<CustomOptions['boxShadow']>;\n\nexport default definePlugin((_, { boxShadow }) => {\n\n if (!boxShadow) { return {}; }\n\n const sizes: { [s in ExtractSize]: string } = {\n sm: boxShadowSmall,\n md: boxShadowRegular,\n lg: boxShadowLarge,\n };\n\n return {\n boxShadow: sizes[boxShadow]\n };\n});","import type { ComponentType, FC } from 'react';\n\nimport type { Sx } from '@iziui/core/system';\nimport type { Plugin } from '@iziui/core/plugin';\nimport createOptions from '@iziui/core/options';\nimport * as plugins from '@iziui/core/plugin';\n\nimport { useTheme } from '@/theme';\n\nfunction extract(module: { [key: string]: Plugin }) {\n return Object.values(module).map((fn) => fn);\n}\n\nexport default function createComponent<P>(WrappedComponent: ComponentType<P>) {\n WrappedComponent.displayName = WrappedComponent.name;\n\n const EnhancedComponent: FC<Sx<P>> = ({ sx, fullWidth, ...props }) => {\n const { theme } = useTheme();\n\n const options = sx && createOptions({ theme, sx },\n ...extract(plugins),\n );\n\n return (\n <WrappedComponent\n {...(props as P)}\n style={{\n boxSizing: 'border-box',\n ...props['style'],\n ...options,\n ...(fullWidth ? { width: '100%' } : {}),\n }}\n />\n );\n };\n\n return EnhancedComponent;\n}"],"names":["createOptions","sx","theme","plugins","acc","plugin","defineColor","color","palette","defineBackground","background","defineBorderColor","borderColor","defineBackgroundColor","backgroundColor","defineBorderRadius","borderRadius","shape","defineMargin","m","mb","ml","mr","mt","mx","my","spacing","calculateMargin","mg","hasM","hasMt","hasMb","hasMy","hasMx","hasMl","hasMr","definePadding","p","pb","pl","pr","pt","px","py","calculatePadding","pd","hasP","hasPt","hasPb","hasPy","hasPx","hasPl","hasPr","defineBoxShadow","_","boxShadow","boxShadowSmall","boxShadowRegular","boxShadowLarge","extract","module","fn","createComponent","WrappedComponent","fullWidth","props","useTheme","options","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"createComponent-BvE_8glE.js","sources":["../../../../core/src/options/createOptions/createOptions.ts","../../../../core/src/plugin/color/defineColor/defineColor.ts","../../../../core/src/plugin/color/defineBackground/defineBackground.ts","../../../../core/src/plugin/color/defineBorderColor/defineBorderColor.ts","../../../../core/src/plugin/color/defineBackgroundColor/defineBackgroundColor.ts","../../../../core/src/plugin/shape/defineBorderRadius/defineBorderRadius.ts","../../../../core/src/plugin/spacing/defineMargin/defineMargin.ts","../../../../core/src/plugin/spacing/definePadding/definePadding.ts","../../../../core/src/plugin/behavior/defineBoxShadow/defineBoxShadow.ts","../../src/core/createComponent.tsx"],"sourcesContent":["import type { Properties } from 'csstype';\n\nimport type { Plugin } from '../../plugin';\nimport type { ThemeBuilded } from '../../theme';\nimport type { CustomOptions } from '../CustomOptions';\n\ntype Data = {\n sx: CustomOptions;\n theme: ThemeBuilded;\n}\n\nexport default function createOptions({ sx, theme }: Data, ...plugins: Plugin[]): Properties {\n return plugins.reduce<Properties>((acc, plugin) => {\n acc = { ...acc, ...plugin(theme, sx) };\n\n return acc;\n }, {});\n}","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { color }) => {\n const { palette } = theme;\n\n if (!color) { return {}; }\n\n return {\n color: color(palette)\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { background }) => {\n const { palette } = theme;\n\n if (!background) { return {}; }\n\n return {\n background: background(palette)\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { borderColor }) => {\n const { palette } = theme;\n\n if (!borderColor) { return {}; }\n\n return {\n borderColor: borderColor(palette)\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { backgroundColor }) => {\n const { palette } = theme;\n\n if (!backgroundColor) { return {}; }\n\n return {\n backgroundColor: backgroundColor(palette)\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { borderRadius }) => {\n const { shape } = theme;\n\n if (!borderRadius) { return {}; }\n\n return {\n borderRadius: `${shape.radius * borderRadius}px`\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { m, mb, ml, mr, mt, mx, my }) => {\n const { spacing } = theme;\n\n const calculateMargin = (mg?: number) => {\n return !!mg || mg === 0 ? `${String(mg * spacing)}px` : '';\n };\n\n const hasM = calculateMargin(m);\n\n const hasMt = calculateMargin(mt);\n const hasMb = calculateMargin(mb);\n\n const hasMy = calculateMargin(my);\n const hasMx = calculateMargin(mx);\n\n const hasMl = calculateMargin(ml);\n const hasMr = calculateMargin(mr);\n\n return {\n margin: hasM,\n marginTop: hasMt || hasMy || hasM,\n marginBottom: hasMb || hasMy || hasM,\n marginLeft: hasMl || hasMx || hasM,\n marginRight: hasMr || hasMx || hasM,\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { p, pb, pl, pr, pt, px, py }) => {\n const { spacing } = theme;\n\n const calculatePadding = (pd?: number) => {\n return !!pd || pd === 0 ? `${String(pd * spacing)}px` : '';\n };\n\n const hasP = calculatePadding(p);\n\n const hasPt = calculatePadding(pt);\n const hasPb = calculatePadding(pb);\n\n const hasPy = calculatePadding(py);\n const hasPx = calculatePadding(px);\n\n const hasPl = calculatePadding(pl);\n const hasPr = calculatePadding(pr);\n\n return {\n padding: hasP,\n paddingTop: hasPt || hasPy || hasP,\n paddingBottom: hasPb || hasPy || hasP,\n paddingLeft: hasPl || hasPx || hasP,\n paddingRight: hasPr || hasPx || hasP,\n };\n});","import { boxShadowSmall, boxShadowRegular, boxShadowLarge } from '@iziui/tokens/web/js';\n\nimport definePlugin from '../../definePlugin';\nimport type { CustomOptions } from '../../../options/CustomOptions';\n\ntype ExtractSize = NonNullable<CustomOptions['boxShadow']>;\n\nexport default definePlugin((_, { boxShadow }) => {\n\n if (!boxShadow) { return {}; }\n\n const sizes: { [s in ExtractSize]: string } = {\n sm: boxShadowSmall,\n md: boxShadowRegular,\n lg: boxShadowLarge,\n };\n\n return {\n boxShadow: sizes[boxShadow]\n };\n});","import type { ComponentType, FC } from 'react';\n\nimport type { Sx } from '@iziui/core/system';\nimport type { Plugin } from '@iziui/core/plugin';\nimport createOptions from '@iziui/core/options';\nimport * as plugins from '@iziui/core/plugin';\n\nimport { useTheme } from '@/theme';\n\nfunction extract(module: { [key: string]: Plugin }) {\n return Object.values(module).map((fn) => fn);\n}\n\nexport default function createComponent<P>(WrappedComponent: ComponentType<P>) {\n WrappedComponent.displayName = WrappedComponent.name;\n\n const EnhancedComponent: FC<Sx<P>> = ({ sx, fullWidth, ...props }) => {\n const { theme } = useTheme();\n\n const options = sx && createOptions({ theme, sx },\n ...extract(plugins),\n );\n\n return (\n <WrappedComponent\n {...(props as P)}\n style={{\n boxSizing: 'border-box',\n ...props['style'],\n ...options,\n ...(fullWidth ? { width: '100%' } : {}),\n }}\n />\n );\n };\n\n return EnhancedComponent;\n}"],"names":["createOptions","sx","theme","plugins","acc","plugin","defineColor","color","palette","defineBackground","background","defineBorderColor","borderColor","defineBackgroundColor","backgroundColor","defineBorderRadius","borderRadius","shape","defineMargin","m","mb","ml","mr","mt","mx","my","spacing","calculateMargin","mg","hasM","hasMt","hasMb","hasMy","hasMx","hasMl","hasMr","definePadding","p","pb","pl","pr","pt","px","py","calculatePadding","pd","hasP","hasPt","hasPb","hasPy","hasPx","hasPl","hasPr","defineBoxShadow","_","boxShadow","boxShadowSmall","boxShadowRegular","boxShadowLarge","extract","module","fn","createComponent","WrappedComponent","fullWidth","props","useTheme","options","jsx"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const P=require("react/jsx-runtime"),b=require("./index-DYxwT4uW.cjs"),M=require("./useTheme-DsrjDJKC.cjs");function S({sx:t,theme:n},...e){return e.reduce((s,a)=>(s={...s,...a(n,t)},s),{})}const y=(t,{color:n})=>{const{palette:e}=t;return n?{color:n(e)}:{}},B=(t,{background:n})=>{const{palette:e}=t;return n?{background:n(e)}:{}},j=(t,{borderColor:n})=>{const{palette:e}=t;return n?{borderColor:n(e)}:{}},w=(t,{backgroundColor:n})=>{const{palette:e}=t;return n?{backgroundColor:n(e)}:{}},C=(t,{borderRadius:n})=>{const{shape:e}=t;return n?{borderRadius:`${e.radius*n}px`}:{}},R=(t,{m:n,mb:e,ml:s,mr:a,mt:c,mx:u,my:l})=>{const{spacing:h}=t,r=i=>i||i===0?`${String(i*h)}px`:"",o=r(n),f=r(c),m=r(e),d=r(l),g=r(u),p=r(s),x=r(a);return{margin:o,marginTop:f||d||o,marginBottom:m||d||o,marginLeft:p||g||o,marginRight:x||g||o}},T=(t,{p:n,pb:e,pl:s,pr:a,pt:c,px:u,py:l})=>{const{spacing:h}=t,r=i=>i||i===0?`${String(i*h)}px`:"",o=r(n),f=r(c),m=r(e),d=r(l),g=r(u),p=r(s),x=r(a);return{padding:o,paddingTop:f||d||o,paddingBottom:m||d||o,paddingLeft:p||g||o,paddingRight:x||g||o}},_=(t,{boxShadow:n})=>n?{boxShadow:{sm:b.boxShadowSmall,md:b.boxShadowRegular,lg:b.boxShadowLarge}[n]}:{},z=Object.freeze(Object.defineProperty({__proto__:null,defineBackground:B,defineBackgroundColor:w,defineBorderColor:j,defineBorderRadius:C,defineBoxShadow:_,defineColor:y,defineMargin:R,definePadding:T},Symbol.toStringTag,{value:"Module"}));function O(t){return Object.values(t).map(n=>n)}function q(t){return t.displayName=t.name,({sx:e,fullWidth:s,...a})=>{const{theme:c}=M.useTheme(),u=e&&S({theme:c,sx:e},...O(z));return P.jsx(t,{...a,style:{boxSizing:"border-box",...a.style,...u,...s?{width:"100%"}:{}}})}}exports.createComponent=q;
2
- //# sourceMappingURL=createComponent-Bls5N6x8.cjs.map
1
+ "use strict";const P=require("react/jsx-runtime"),b=require("./index-DYxwT4uW.cjs"),M=require("./useTheme-DZmXQ5qV.cjs");function S({sx:t,theme:n},...e){return e.reduce((s,a)=>(s={...s,...a(n,t)},s),{})}const y=(t,{color:n})=>{const{palette:e}=t;return n?{color:n(e)}:{}},B=(t,{background:n})=>{const{palette:e}=t;return n?{background:n(e)}:{}},j=(t,{borderColor:n})=>{const{palette:e}=t;return n?{borderColor:n(e)}:{}},w=(t,{backgroundColor:n})=>{const{palette:e}=t;return n?{backgroundColor:n(e)}:{}},C=(t,{borderRadius:n})=>{const{shape:e}=t;return n?{borderRadius:`${e.radius*n}px`}:{}},R=(t,{m:n,mb:e,ml:s,mr:a,mt:c,mx:u,my:l})=>{const{spacing:h}=t,r=i=>i||i===0?`${String(i*h)}px`:"",o=r(n),f=r(c),m=r(e),d=r(l),g=r(u),p=r(s),x=r(a);return{margin:o,marginTop:f||d||o,marginBottom:m||d||o,marginLeft:p||g||o,marginRight:x||g||o}},T=(t,{p:n,pb:e,pl:s,pr:a,pt:c,px:u,py:l})=>{const{spacing:h}=t,r=i=>i||i===0?`${String(i*h)}px`:"",o=r(n),f=r(c),m=r(e),d=r(l),g=r(u),p=r(s),x=r(a);return{padding:o,paddingTop:f||d||o,paddingBottom:m||d||o,paddingLeft:p||g||o,paddingRight:x||g||o}},_=(t,{boxShadow:n})=>n?{boxShadow:{sm:b.boxShadowSmall,md:b.boxShadowRegular,lg:b.boxShadowLarge}[n]}:{},z=Object.freeze(Object.defineProperty({__proto__:null,defineBackground:B,defineBackgroundColor:w,defineBorderColor:j,defineBorderRadius:C,defineBoxShadow:_,defineColor:y,defineMargin:R,definePadding:T},Symbol.toStringTag,{value:"Module"}));function O(t){return Object.values(t).map(n=>n)}function q(t){return t.displayName=t.name,({sx:e,fullWidth:s,...a})=>{const{theme:c}=M.useTheme(),u=e&&S({theme:c,sx:e},...O(z));return P.jsx(t,{...a,style:{boxSizing:"border-box",...a.style,...u,...s?{width:"100%"}:{}}})}}exports.createComponent=q;
2
+ //# sourceMappingURL=createComponent-cs9AuqoJ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"createComponent-Bls5N6x8.cjs","sources":["../../../../core/src/options/createOptions/createOptions.ts","../../../../core/src/plugin/color/defineColor/defineColor.ts","../../../../core/src/plugin/color/defineBackground/defineBackground.ts","../../../../core/src/plugin/color/defineBorderColor/defineBorderColor.ts","../../../../core/src/plugin/color/defineBackgroundColor/defineBackgroundColor.ts","../../../../core/src/plugin/shape/defineBorderRadius/defineBorderRadius.ts","../../../../core/src/plugin/spacing/defineMargin/defineMargin.ts","../../../../core/src/plugin/spacing/definePadding/definePadding.ts","../../../../core/src/plugin/behavior/defineBoxShadow/defineBoxShadow.ts","../../src/core/createComponent.tsx"],"sourcesContent":["import type { Properties } from 'csstype';\n\nimport type { Plugin } from '../../plugin';\nimport type { ThemeBuilded } from '../../theme';\nimport type { CustomOptions } from '../CustomOptions';\n\ntype Data = {\n sx: CustomOptions;\n theme: ThemeBuilded;\n}\n\nexport default function createOptions({ sx, theme }: Data, ...plugins: Plugin[]): Properties {\n return plugins.reduce<Properties>((acc, plugin) => {\n acc = { ...acc, ...plugin(theme, sx) };\n\n return acc;\n }, {});\n}","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { color }) => {\n const { palette } = theme;\n\n if (!color) { return {}; }\n\n return {\n color: color(palette)\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { background }) => {\n const { palette } = theme;\n\n if (!background) { return {}; }\n\n return {\n background: background(palette)\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { borderColor }) => {\n const { palette } = theme;\n\n if (!borderColor) { return {}; }\n\n return {\n borderColor: borderColor(palette)\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { backgroundColor }) => {\n const { palette } = theme;\n\n if (!backgroundColor) { return {}; }\n\n return {\n backgroundColor: backgroundColor(palette)\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { borderRadius }) => {\n const { shape } = theme;\n\n if (!borderRadius) { return {}; }\n\n return {\n borderRadius: `${shape.radius * borderRadius}px`\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { m, mb, ml, mr, mt, mx, my }) => {\n const { spacing } = theme;\n\n const calculateMargin = (mg?: number) => {\n return !!mg || mg === 0 ? `${String(mg * spacing)}px` : '';\n };\n\n const hasM = calculateMargin(m);\n\n const hasMt = calculateMargin(mt);\n const hasMb = calculateMargin(mb);\n\n const hasMy = calculateMargin(my);\n const hasMx = calculateMargin(mx);\n\n const hasMl = calculateMargin(ml);\n const hasMr = calculateMargin(mr);\n\n return {\n margin: hasM,\n marginTop: hasMt || hasMy || hasM,\n marginBottom: hasMb || hasMy || hasM,\n marginLeft: hasMl || hasMx || hasM,\n marginRight: hasMr || hasMx || hasM,\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { p, pb, pl, pr, pt, px, py }) => {\n const { spacing } = theme;\n\n const calculatePadding = (pd?: number) => {\n return !!pd || pd === 0 ? `${String(pd * spacing)}px` : '';\n };\n\n const hasP = calculatePadding(p);\n\n const hasPt = calculatePadding(pt);\n const hasPb = calculatePadding(pb);\n\n const hasPy = calculatePadding(py);\n const hasPx = calculatePadding(px);\n\n const hasPl = calculatePadding(pl);\n const hasPr = calculatePadding(pr);\n\n return {\n padding: hasP,\n paddingTop: hasPt || hasPy || hasP,\n paddingBottom: hasPb || hasPy || hasP,\n paddingLeft: hasPl || hasPx || hasP,\n paddingRight: hasPr || hasPx || hasP,\n };\n});","import { boxShadowSmall, boxShadowRegular, boxShadowLarge } from '@iziui/tokens/web/js';\n\nimport definePlugin from '../../definePlugin';\nimport type { CustomOptions } from '../../../options/CustomOptions';\n\ntype ExtractSize = NonNullable<CustomOptions['boxShadow']>;\n\nexport default definePlugin((_, { boxShadow }) => {\n\n if (!boxShadow) { return {}; }\n\n const sizes: { [s in ExtractSize]: string } = {\n sm: boxShadowSmall,\n md: boxShadowRegular,\n lg: boxShadowLarge,\n };\n\n return {\n boxShadow: sizes[boxShadow]\n };\n});","import type { ComponentType, FC } from 'react';\n\nimport type { Sx } from '@iziui/core/system';\nimport type { Plugin } from '@iziui/core/plugin';\nimport createOptions from '@iziui/core/options';\nimport * as plugins from '@iziui/core/plugin';\n\nimport { useTheme } from '@/theme';\n\nfunction extract(module: { [key: string]: Plugin }) {\n return Object.values(module).map((fn) => fn);\n}\n\nexport default function createComponent<P>(WrappedComponent: ComponentType<P>) {\n WrappedComponent.displayName = WrappedComponent.name;\n\n const EnhancedComponent: FC<Sx<P>> = ({ sx, fullWidth, ...props }) => {\n const { theme } = useTheme();\n\n const options = sx && createOptions({ theme, sx },\n ...extract(plugins),\n );\n\n return (\n <WrappedComponent\n {...(props as P)}\n style={{\n boxSizing: 'border-box',\n ...props['style'],\n ...options,\n ...(fullWidth ? { width: '100%' } : {}),\n }}\n />\n );\n };\n\n return EnhancedComponent;\n}"],"names":["createOptions","sx","theme","plugins","acc","plugin","defineColor","color","palette","defineBackground","background","defineBorderColor","borderColor","defineBackgroundColor","backgroundColor","defineBorderRadius","borderRadius","shape","defineMargin","m","mb","ml","mr","mt","mx","my","spacing","calculateMargin","mg","hasM","hasMt","hasMb","hasMy","hasMx","hasMl","hasMr","definePadding","p","pb","pl","pr","pt","px","py","calculatePadding","pd","hasP","hasPt","hasPb","hasPy","hasPx","hasPl","hasPr","defineBoxShadow","_","boxShadow","boxShadowSmall","boxShadowRegular","boxShadowLarge","extract","module","fn","createComponent","WrappedComponent","fullWidth","props","useTheme","options","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"createComponent-cs9AuqoJ.cjs","sources":["../../../../core/src/options/createOptions/createOptions.ts","../../../../core/src/plugin/color/defineColor/defineColor.ts","../../../../core/src/plugin/color/defineBackground/defineBackground.ts","../../../../core/src/plugin/color/defineBorderColor/defineBorderColor.ts","../../../../core/src/plugin/color/defineBackgroundColor/defineBackgroundColor.ts","../../../../core/src/plugin/shape/defineBorderRadius/defineBorderRadius.ts","../../../../core/src/plugin/spacing/defineMargin/defineMargin.ts","../../../../core/src/plugin/spacing/definePadding/definePadding.ts","../../../../core/src/plugin/behavior/defineBoxShadow/defineBoxShadow.ts","../../src/core/createComponent.tsx"],"sourcesContent":["import type { Properties } from 'csstype';\n\nimport type { Plugin } from '../../plugin';\nimport type { ThemeBuilded } from '../../theme';\nimport type { CustomOptions } from '../CustomOptions';\n\ntype Data = {\n sx: CustomOptions;\n theme: ThemeBuilded;\n}\n\nexport default function createOptions({ sx, theme }: Data, ...plugins: Plugin[]): Properties {\n return plugins.reduce<Properties>((acc, plugin) => {\n acc = { ...acc, ...plugin(theme, sx) };\n\n return acc;\n }, {});\n}","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { color }) => {\n const { palette } = theme;\n\n if (!color) { return {}; }\n\n return {\n color: color(palette)\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { background }) => {\n const { palette } = theme;\n\n if (!background) { return {}; }\n\n return {\n background: background(palette)\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { borderColor }) => {\n const { palette } = theme;\n\n if (!borderColor) { return {}; }\n\n return {\n borderColor: borderColor(palette)\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { backgroundColor }) => {\n const { palette } = theme;\n\n if (!backgroundColor) { return {}; }\n\n return {\n backgroundColor: backgroundColor(palette)\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { borderRadius }) => {\n const { shape } = theme;\n\n if (!borderRadius) { return {}; }\n\n return {\n borderRadius: `${shape.radius * borderRadius}px`\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { m, mb, ml, mr, mt, mx, my }) => {\n const { spacing } = theme;\n\n const calculateMargin = (mg?: number) => {\n return !!mg || mg === 0 ? `${String(mg * spacing)}px` : '';\n };\n\n const hasM = calculateMargin(m);\n\n const hasMt = calculateMargin(mt);\n const hasMb = calculateMargin(mb);\n\n const hasMy = calculateMargin(my);\n const hasMx = calculateMargin(mx);\n\n const hasMl = calculateMargin(ml);\n const hasMr = calculateMargin(mr);\n\n return {\n margin: hasM,\n marginTop: hasMt || hasMy || hasM,\n marginBottom: hasMb || hasMy || hasM,\n marginLeft: hasMl || hasMx || hasM,\n marginRight: hasMr || hasMx || hasM,\n };\n});","import definePlugin from '../../definePlugin';\n\nexport default definePlugin((theme, { p, pb, pl, pr, pt, px, py }) => {\n const { spacing } = theme;\n\n const calculatePadding = (pd?: number) => {\n return !!pd || pd === 0 ? `${String(pd * spacing)}px` : '';\n };\n\n const hasP = calculatePadding(p);\n\n const hasPt = calculatePadding(pt);\n const hasPb = calculatePadding(pb);\n\n const hasPy = calculatePadding(py);\n const hasPx = calculatePadding(px);\n\n const hasPl = calculatePadding(pl);\n const hasPr = calculatePadding(pr);\n\n return {\n padding: hasP,\n paddingTop: hasPt || hasPy || hasP,\n paddingBottom: hasPb || hasPy || hasP,\n paddingLeft: hasPl || hasPx || hasP,\n paddingRight: hasPr || hasPx || hasP,\n };\n});","import { boxShadowSmall, boxShadowRegular, boxShadowLarge } from '@iziui/tokens/web/js';\n\nimport definePlugin from '../../definePlugin';\nimport type { CustomOptions } from '../../../options/CustomOptions';\n\ntype ExtractSize = NonNullable<CustomOptions['boxShadow']>;\n\nexport default definePlugin((_, { boxShadow }) => {\n\n if (!boxShadow) { return {}; }\n\n const sizes: { [s in ExtractSize]: string } = {\n sm: boxShadowSmall,\n md: boxShadowRegular,\n lg: boxShadowLarge,\n };\n\n return {\n boxShadow: sizes[boxShadow]\n };\n});","import type { ComponentType, FC } from 'react';\n\nimport type { Sx } from '@iziui/core/system';\nimport type { Plugin } from '@iziui/core/plugin';\nimport createOptions from '@iziui/core/options';\nimport * as plugins from '@iziui/core/plugin';\n\nimport { useTheme } from '@/theme';\n\nfunction extract(module: { [key: string]: Plugin }) {\n return Object.values(module).map((fn) => fn);\n}\n\nexport default function createComponent<P>(WrappedComponent: ComponentType<P>) {\n WrappedComponent.displayName = WrappedComponent.name;\n\n const EnhancedComponent: FC<Sx<P>> = ({ sx, fullWidth, ...props }) => {\n const { theme } = useTheme();\n\n const options = sx && createOptions({ theme, sx },\n ...extract(plugins),\n );\n\n return (\n <WrappedComponent\n {...(props as P)}\n style={{\n boxSizing: 'border-box',\n ...props['style'],\n ...options,\n ...(fullWidth ? { width: '100%' } : {}),\n }}\n />\n );\n };\n\n return EnhancedComponent;\n}"],"names":["createOptions","sx","theme","plugins","acc","plugin","defineColor","color","palette","defineBackground","background","defineBorderColor","borderColor","defineBackgroundColor","backgroundColor","defineBorderRadius","borderRadius","shape","defineMargin","m","mb","ml","mr","mt","mx","my","spacing","calculateMargin","mg","hasM","hasMt","hasMb","hasMy","hasMx","hasMl","hasMr","definePadding","p","pb","pl","pr","pt","px","py","calculatePadding","pd","hasP","hasPt","hasPb","hasPy","hasPx","hasPl","hasPr","defineBoxShadow","_","boxShadow","boxShadowSmall","boxShadowRegular","boxShadowLarge","extract","module","fn","createComponent","WrappedComponent","fullWidth","props","useTheme","options","jsx"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{jsxs as E,Fragment as H,jsx as m}from"react/jsx-runtime";import{forwardRef as P,useState as y,Children as W,useMemo as F,useEffect as M,cloneElement as G}from"react";import{p as a}from"./index-CZ41y9Hn.js";import{j as L}from"./joinClass-anSpaauN.js";import{u as S}from"./uuid-dGvr9vBZ.js";import{u as U}from"./useListenerResized-Bnqxrt7k.js";import{C as q}from"./Card-C2mSdoXV.js";import{C as J}from"./CardContent-CViecz1a.js";import{c as K}from"./createComponent-BmdhWozT.js";class Q{delay(t,n=500){if(!n){t();return}clearTimeout(this.timeout),this.timeout=setTimeout(()=>{t()},n)}}const V=new Q,X=P(function({open:t,width:n,children:u,anchorEl:s,direction:c="left",position:o="bottom",maxHeight:k=150,autoClose:v,onClose:A,...d},I){const[b,j]=y(),[f,r]=y({state:"invisible",animation:"close",width:"auto"}),T=16,$=150,O=W.toArray(u),_=F(()=>S(),[]),R=L(`${a}-menu`,`${a}-menu--${f?.animation}`,`${a}-menu--${o}`,d.className);U(()=>h(),[s]),M(()=>{h()},[s]),M(()=>{t?B():p()},[t]);const h=()=>{s&&setTimeout(()=>{let e={};const{width:i,height:C,left:x,top:N}=s.getBoundingClientRect();r(z=>({...z,width:i}));const w=document.getElementById(_),g=o==="bottom"?N+C+T/2:N-w.offsetHeight-T/2;c==="center"&&(e={top:g,right:i}),c==="left"&&(e={top:g,left:x}),c==="right"&&(e={top:g,left:x-(w.offsetWidth-i)}),j(e)},0)},B=()=>{r(e=>({...e,state:"visible"})),h(),setTimeout(()=>{r(e=>({...e,animation:"open"}))},10)},p=()=>{r(e=>({...e,animation:"close"})),setTimeout(()=>{r(e=>({...e,state:"invisible"})),A()},$)},D=()=>O.map((e,i)=>G(e,{tabIndex:i+1,key:`button-${i}`,onClick:C=>{V.delay(()=>{v&&p(),e.props.onClick&&e.props.onClick(C)},0)}}));return E(H,{children:[m("div",{id:_,ref:I,...d,style:{width:n||f.width,top:b?.top,left:b?.left,display:f?.state==="visible"?"block":"none",transition:`all ${$}ms ease-in`,zIndex:50,...d.style},className:R,children:t&&m(q,{className:`${a}-menu__card`,children:m(J,{className:`${a}-menu__card__content`,sx:{py:1},style:{display:"flex",flexDirection:"column",maxHeight:k},children:D()})})}),t&&m("div",{className:`${a}-menu__overlay`,onClick:p})]})}),re=K(X);function le(){const[l,t]=y(null),n=!!l,u=o=>{t(o?o.currentTarget:null)},s=()=>{t(null)};return[n,l,o=>{if(n){s();return}u(o)}]}export{re as M,le as u};
2
- //# sourceMappingURL=useMenu-B49hOh6R.js.map
1
+ import{jsxs as E,Fragment as H,jsx as m}from"react/jsx-runtime";import{forwardRef as P,useState as y,Children as W,useMemo as F,useEffect as M,cloneElement as G}from"react";import{p as a}from"./index-CZ41y9Hn.js";import{j as L}from"./joinClass-anSpaauN.js";import{u as S}from"./uuid-dGvr9vBZ.js";import{u as U}from"./useListenerResized-Bnqxrt7k.js";import{C as q}from"./Card-CigqRMT2.js";import{C as J}from"./CardContent-fPZactJG.js";import{c as K}from"./createComponent-BvE_8glE.js";class Q{delay(t,n=500){if(!n){t();return}clearTimeout(this.timeout),this.timeout=setTimeout(()=>{t()},n)}}const V=new Q,X=P(function({open:t,width:n,children:u,anchorEl:s,direction:c="left",position:o="bottom",maxHeight:k=150,autoClose:v,onClose:A,...d},I){const[b,j]=y(),[f,r]=y({state:"invisible",animation:"close",width:"auto"}),T=16,$=150,O=W.toArray(u),_=F(()=>S(),[]),R=L(`${a}-menu`,`${a}-menu--${f?.animation}`,`${a}-menu--${o}`,d.className);U(()=>h(),[s]),M(()=>{h()},[s]),M(()=>{t?B():p()},[t]);const h=()=>{s&&setTimeout(()=>{let e={};const{width:i,height:C,left:x,top:N}=s.getBoundingClientRect();r(z=>({...z,width:i}));const w=document.getElementById(_),g=o==="bottom"?N+C+T/2:N-w.offsetHeight-T/2;c==="center"&&(e={top:g,right:i}),c==="left"&&(e={top:g,left:x}),c==="right"&&(e={top:g,left:x-(w.offsetWidth-i)}),j(e)},0)},B=()=>{r(e=>({...e,state:"visible"})),h(),setTimeout(()=>{r(e=>({...e,animation:"open"}))},10)},p=()=>{r(e=>({...e,animation:"close"})),setTimeout(()=>{r(e=>({...e,state:"invisible"})),A()},$)},D=()=>O.map((e,i)=>G(e,{tabIndex:i+1,key:`button-${i}`,onClick:C=>{V.delay(()=>{v&&p(),e.props.onClick&&e.props.onClick(C)},0)}}));return E(H,{children:[m("div",{id:_,ref:I,...d,style:{width:n||f.width,top:b?.top,left:b?.left,display:f?.state==="visible"?"block":"none",transition:`all ${$}ms ease-in`,zIndex:50,...d.style},className:R,children:t&&m(q,{className:`${a}-menu__card`,children:m(J,{className:`${a}-menu__card__content`,sx:{py:1},style:{display:"flex",flexDirection:"column",maxHeight:k},children:D()})})}),t&&m("div",{className:`${a}-menu__overlay`,onClick:p})]})}),re=K(X);function le(){const[l,t]=y(null),n=!!l,u=o=>{t(o?o.currentTarget:null)},s=()=>{t(null)};return[n,l,o=>{if(n){s();return}u(o)}]}export{re as M,le as u};
2
+ //# sourceMappingURL=useMenu-BLhAh_V2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMenu-B49hOh6R.js","sources":["../../../../toolkit/src/debounce/debounce.ts","../../src/navigation/Menu/Menu.tsx","../../src/navigation/Menu/useMenu.ts"],"sourcesContent":["class Debounce {\n private timeout: NodeJS.Timeout | undefined;\n public delay(func: (a?: any) => void, milliseconds = 500) {\n if (!milliseconds) {\n func();\n return;\n }\n\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => { func(); }, milliseconds);\n }\n}\n\nexport const debounce = new Debounce();\n","import {\n useMemo,\n useState,\n useEffect,\n Children,\n forwardRef,\n type ReactElement,\n type CSSProperties,\n type HTMLAttributes,\n cloneElement\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils';\n\nimport { uuid } from '@iziui/toolkit/uuid';\nimport { debounce } from '@iziui/toolkit/debounce';\n\nimport useListenerResized from '@/hooks/useListenerResized';\nimport { Card, CardContent } from '@/display/Card';\n\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Menu.scss';\n\ntype Direction = 'left' | 'right' | 'center';\ntype Position = 'top' | 'bottom';\ntype AnimationClass = 'open' | 'close';\ntype State = 'visible' | 'invisible';\ntype Coordinates = { top?: number; right?: number; bottom?: number; left?: number; };\ntype Config = { animation: AnimationClass, state: State; width: CSSProperties['width'] };\n\nexport interface MenuProps extends HTMLAttributes<HTMLDivElement> {\n open: boolean;\n autoClose?: boolean;\n maxHeight?: CSSProperties['maxHeight'];\n direction?: Direction;\n position?: Position;\n anchorEl: HTMLElement | null;\n width?: CSSProperties['width'];\n onClose: (e?: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nconst Menu = forwardRef<HTMLDivElement, MenuProps>(function Menu({\n open,\n width,\n children,\n anchorEl,\n direction = 'left',\n position = 'bottom',\n maxHeight = 150,\n autoClose,\n onClose,\n ...props\n}: MenuProps, ref) {\n const [coordinate, setCoordinate] = useState<Coordinates>();\n const [config, setConfig] = useState<Config>({ state: 'invisible', animation: 'close', width: 'auto' });\n\n const GAP = 16;\n const ANIMATION_DURATION = 150;\n\n const arrayChildren = Children.toArray(children) as ReactElement<any>[];\n\n const id = useMemo(() => uuid(), []);\n\n const classes = joinClass(\n `${prefix}-menu`,\n `${prefix}-menu--${config?.animation}`,\n `${prefix}-menu--${position}`,\n props.className\n );\n\n useListenerResized(() => changePosition(), [anchorEl]);\n\n useEffect(() => { changePosition(); }, [anchorEl]);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n useEffect(() => { open ? handleOpen() : handleClose(); }, [open]);\n\n const changePosition = () => {\n if (!anchorEl) { return; }\n\n setTimeout(() => {\n let coordinates: Coordinates = {};\n\n const { width: anchorWidth, height: anchorHeight, left, top: anchorTop } = anchorEl.getBoundingClientRect();\n\n setConfig(prev => ({ ...prev, width: anchorWidth }));\n\n const el = document.getElementById(id) as HTMLElement;\n\n const top = position === 'bottom'\n ? anchorTop + anchorHeight + (GAP / 2)\n : anchorTop - el.offsetHeight - (GAP / 2);\n\n if (direction === 'center') { coordinates = { top, right: anchorWidth }; }\n\n if (direction === 'left') { coordinates = { top, left }; }\n\n if (direction === 'right') { coordinates = { top, left: left - (el.offsetWidth - anchorWidth) }; }\n\n setCoordinate(coordinates);\n }, 0);\n };\n\n const handleOpen = () => {\n setConfig(prev => ({ ...prev, state: 'visible' }));\n\n changePosition();\n\n setTimeout(() => { setConfig(prev => ({ ...prev, animation: 'open' })); }, 10);\n };\n\n const handleClose = () => {\n setConfig(prev => ({ ...prev, animation: 'close' }));\n\n setTimeout(() => {\n setConfig(prev => ({ ...prev, state: 'invisible' }));\n onClose();\n }, ANIMATION_DURATION);\n };\n\n const renderChildren = () => {\n return arrayChildren.map((child, index) => {\n return cloneElement(child, {\n 'tabIndex': index + 1,\n key: `button-${index}`,\n onClick: (e: React.MouseEvent<HTMLButtonElement>) => {\n debounce.delay(() => {\n\n if (autoClose) { handleClose(); }\n\n if (child.props.onClick) { child.props.onClick(e); }\n }, 0);\n },\n });\n });\n };\n\n return (\n <>\n <div\n id={id}\n ref={ref}\n {...props}\n style={{\n width: width || config.width,\n top: coordinate?.top,\n left: coordinate?.left,\n display: config?.state === 'visible' ? 'block' : 'none',\n transition: `all ${ANIMATION_DURATION}ms ease-in`,\n zIndex: 50,\n ...props.style\n }}\n className={classes}\n >\n {\n open && (\n <Card className={`${prefix}-menu__card`}>\n <CardContent\n className={`${prefix}-menu__card__content`}\n sx={{ py: 1 }}\n style={{\n display: 'flex',\n flexDirection: 'column',\n maxHeight\n }}\n >\n {renderChildren()}\n </CardContent>\n </Card>\n )\n }\n </div>\n {open && <div className={`${prefix}-menu__overlay`} onClick={handleClose} />}\n </>\n );\n});\n\nexport default createComponent(Menu);\n","import { useState } from 'react';\n\ntype UseMenu = [\n boolean,\n HTMLElement | null,\n (event?: React.MouseEvent<HTMLButtonElement>) => void,\n];\n\nexport default function useMenu(): UseMenu {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const open = Boolean(anchorEl);\n\n const handleOpen = (event?: React.MouseEvent<HTMLElement, MouseEvent>) => {\n setAnchorEl(event ? event.currentTarget : null);\n };\n\n const handleClose = () => { setAnchorEl(null); };\n\n const handleToggle = (event?: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (open) {\n handleClose();\n return;\n }\n\n handleOpen(event);\n };\n\n return [open, anchorEl, handleToggle];\n}\n"],"names":["Debounce","func","milliseconds","debounce","Menu","forwardRef","open","width","children","anchorEl","direction","position","maxHeight","autoClose","onClose","props","ref","coordinate","setCoordinate","useState","config","setConfig","GAP","ANIMATION_DURATION","arrayChildren","Children","id","useMemo","uuid","classes","joinClass","prefix","useListenerResized","changePosition","useEffect","handleOpen","handleClose","coordinates","anchorWidth","anchorHeight","left","anchorTop","prev","el","top","renderChildren","child","index","cloneElement","e","jsxs","Fragment","jsx","Card","CardContent","Menu$1","createComponent","useMenu","setAnchorEl","event"],"mappings":"oeAAA,MAAMA,CAAS,CAEN,MAAMC,EAAyBC,EAAe,IAAK,CACxD,GAAI,CAACA,EAAc,CACjBD,EAAA,EACA,MACF,CAEA,aAAa,KAAK,OAAO,EACzB,KAAK,QAAU,WAAW,IAAM,CAAEA,EAAA,CAAQ,EAAGC,CAAY,CAC3D,CACF,CAEO,MAAMC,EAAW,IAAIH,EC+BtBI,EAAOC,EAAsC,SAAc,CAC/D,KAAAC,EACA,MAAAC,EACA,SAAAC,EACA,SAAAC,EACA,UAAAC,EAAY,OACZ,SAAAC,EAAW,SACX,UAAAC,EAAY,IACZ,UAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EAAcC,EAAK,CACjB,KAAM,CAACC,EAAYC,CAAa,EAAIC,EAAA,EAC9B,CAACC,EAAQC,CAAS,EAAIF,EAAiB,CAAE,MAAO,YAAa,UAAW,QAAS,MAAO,MAAA,CAAQ,EAEhGG,EAAM,GACNC,EAAqB,IAErBC,EAAgBC,EAAS,QAAQjB,CAAQ,EAEzCkB,EAAKC,EAAQ,IAAMC,EAAA,EAAQ,CAAA,CAAE,EAE7BC,EAAUC,EACd,GAAGC,CAAM,QACT,GAAGA,CAAM,UAAUX,GAAQ,SAAS,GACpC,GAAGW,CAAM,UAAUpB,CAAQ,GAC3BI,EAAM,SAAA,EAGRiB,EAAmB,IAAMC,IAAkB,CAACxB,CAAQ,CAAC,EAErDyB,EAAU,IAAM,CAAED,EAAA,CAAkB,EAAG,CAACxB,CAAQ,CAAC,EAGjDyB,EAAU,IAAM,CAAE5B,EAAO6B,EAAA,EAAeC,EAAA,CAAe,EAAG,CAAC9B,CAAI,CAAC,EAEhE,MAAM2B,EAAiB,IAAM,CACtBxB,GAEL,WAAW,IAAM,CACf,IAAI4B,EAA2B,CAAA,EAE/B,KAAM,CAAE,MAAOC,EAAa,OAAQC,EAAc,KAAAC,EAAM,IAAKC,CAAA,EAAchC,EAAS,sBAAA,EAEpFY,MAAmB,CAAE,GAAGqB,EAAM,MAAOJ,GAAc,EAEnD,MAAMK,EAAK,SAAS,eAAejB,CAAE,EAE/BkB,EAAMjC,IAAa,SACrB8B,EAAYF,EAAgBjB,EAAM,EAClCmB,EAAYE,EAAG,aAAgBrB,EAAM,EAErCZ,IAAc,WAAY2B,EAAc,CAAE,IAAAO,EAAK,MAAON,CAAA,GAEtD5B,IAAc,SAAU2B,EAAc,CAAE,IAAAO,EAAK,KAAAJ,CAAA,GAE7C9B,IAAc,UAAW2B,EAAc,CAAE,IAAAO,EAAK,KAAMJ,GAAQG,EAAG,YAAcL,EAAA,GAEjFpB,EAAcmB,CAAW,CAC3B,EAAG,CAAC,CACN,EAEMF,EAAa,IAAM,CACvBd,MAAmB,CAAE,GAAGqB,EAAM,MAAO,WAAY,EAEjDT,EAAA,EAEA,WAAW,IAAM,CAAEZ,MAAmB,CAAE,GAAGqB,EAAM,UAAW,QAAS,CAAG,EAAG,EAAE,CAC/E,EAEMN,EAAc,IAAM,CACxBf,MAAmB,CAAE,GAAGqB,EAAM,UAAW,SAAU,EAEnD,WAAW,IAAM,CACfrB,MAAmB,CAAE,GAAGqB,EAAM,MAAO,aAAc,EACnD5B,EAAA,CACF,EAAGS,CAAkB,CACvB,EAEMsB,EAAiB,IACdrB,EAAc,IAAI,CAACsB,EAAOC,IACxBC,EAAaF,EAAO,CACzB,SAAYC,EAAQ,EACpB,IAAK,UAAUA,CAAK,GACpB,QAAUE,GAA2C,CACnD9C,EAAS,MAAM,IAAM,CAEfU,GAAauB,EAAA,EAEbU,EAAM,MAAM,SAAWA,EAAM,MAAM,QAAQG,CAAC,CAClD,EAAG,CAAC,CACN,CAAA,CACD,CACF,EAGH,OACEC,EAAAC,EAAA,CACE,SAAA,CAAAC,EAAC,MAAA,CACC,GAAA1B,EACA,IAAAV,EACC,GAAGD,EACJ,MAAO,CACL,MAAOR,GAASa,EAAO,MACvB,IAAKH,GAAY,IACjB,KAAMA,GAAY,KAClB,QAASG,GAAQ,QAAU,UAAY,QAAU,OACjD,WAAY,OAAOG,CAAkB,aACrC,OAAQ,GACR,GAAGR,EAAM,KAAA,EAEX,UAAWc,EAGT,YACEuB,EAACC,EAAA,CAAK,UAAW,GAAGtB,CAAM,cACxB,SAAAqB,EAACE,EAAA,CACC,UAAW,GAAGvB,CAAM,uBACpB,GAAI,CAAE,GAAI,CAAA,EACV,MAAO,CACL,QAAS,OACT,cAAe,SACf,UAAAnB,CAAA,EAGD,SAAAiC,EAAA,CAAe,CAAA,CAClB,CACF,CAAA,CAAA,EAILvC,KAAS,MAAA,CAAI,UAAW,GAAGyB,CAAM,iBAAkB,QAASK,CAAA,CAAa,CAAA,EAC5E,CAEJ,CAAC,EAEDmB,GAAeC,EAAgBpD,CAAI,EC5KnC,SAAwBqD,IAAmB,CACzC,KAAM,CAAChD,EAAUiD,CAAW,EAAIvC,EAA6B,IAAI,EAE3Db,EAAO,EAAQG,EAEf0B,EAAcwB,GAAsD,CACxED,EAAYC,EAAQA,EAAM,cAAgB,IAAI,CAChD,EAEMvB,EAAc,IAAM,CAAEsB,EAAY,IAAI,CAAG,EAW/C,MAAO,CAACpD,EAAMG,EATQkD,GAAsD,CAC1E,GAAIrD,EAAM,CACR8B,EAAA,EACA,MACF,CAEAD,EAAWwB,CAAK,CAClB,CAEoC,CACtC"}
1
+ {"version":3,"file":"useMenu-BLhAh_V2.js","sources":["../../../../toolkit/src/debounce/debounce.ts","../../src/navigation/Menu/Menu.tsx","../../src/navigation/Menu/useMenu.ts"],"sourcesContent":["class Debounce {\n private timeout: NodeJS.Timeout | undefined;\n public delay(func: (a?: any) => void, milliseconds = 500) {\n if (!milliseconds) {\n func();\n return;\n }\n\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => { func(); }, milliseconds);\n }\n}\n\nexport const debounce = new Debounce();\n","import {\n useMemo,\n useState,\n useEffect,\n Children,\n forwardRef,\n type ReactElement,\n type CSSProperties,\n type HTMLAttributes,\n cloneElement\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils';\n\nimport { uuid } from '@iziui/toolkit/uuid';\nimport { debounce } from '@iziui/toolkit/debounce';\n\nimport useListenerResized from '@/hooks/useListenerResized';\nimport { Card, CardContent } from '@/display/Card';\n\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Menu.scss';\n\ntype Direction = 'left' | 'right' | 'center';\ntype Position = 'top' | 'bottom';\ntype AnimationClass = 'open' | 'close';\ntype State = 'visible' | 'invisible';\ntype Coordinates = { top?: number; right?: number; bottom?: number; left?: number; };\ntype Config = { animation: AnimationClass, state: State; width: CSSProperties['width'] };\n\nexport interface MenuProps extends HTMLAttributes<HTMLDivElement> {\n open: boolean;\n autoClose?: boolean;\n maxHeight?: CSSProperties['maxHeight'];\n direction?: Direction;\n position?: Position;\n anchorEl: HTMLElement | null;\n width?: CSSProperties['width'];\n onClose: (e?: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nconst Menu = forwardRef<HTMLDivElement, MenuProps>(function Menu({\n open,\n width,\n children,\n anchorEl,\n direction = 'left',\n position = 'bottom',\n maxHeight = 150,\n autoClose,\n onClose,\n ...props\n}: MenuProps, ref) {\n const [coordinate, setCoordinate] = useState<Coordinates>();\n const [config, setConfig] = useState<Config>({ state: 'invisible', animation: 'close', width: 'auto' });\n\n const GAP = 16;\n const ANIMATION_DURATION = 150;\n\n const arrayChildren = Children.toArray(children) as ReactElement<any>[];\n\n const id = useMemo(() => uuid(), []);\n\n const classes = joinClass(\n `${prefix}-menu`,\n `${prefix}-menu--${config?.animation}`,\n `${prefix}-menu--${position}`,\n props.className\n );\n\n useListenerResized(() => changePosition(), [anchorEl]);\n\n useEffect(() => { changePosition(); }, [anchorEl]);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n useEffect(() => { open ? handleOpen() : handleClose(); }, [open]);\n\n const changePosition = () => {\n if (!anchorEl) { return; }\n\n setTimeout(() => {\n let coordinates: Coordinates = {};\n\n const { width: anchorWidth, height: anchorHeight, left, top: anchorTop } = anchorEl.getBoundingClientRect();\n\n setConfig(prev => ({ ...prev, width: anchorWidth }));\n\n const el = document.getElementById(id) as HTMLElement;\n\n const top = position === 'bottom'\n ? anchorTop + anchorHeight + (GAP / 2)\n : anchorTop - el.offsetHeight - (GAP / 2);\n\n if (direction === 'center') { coordinates = { top, right: anchorWidth }; }\n\n if (direction === 'left') { coordinates = { top, left }; }\n\n if (direction === 'right') { coordinates = { top, left: left - (el.offsetWidth - anchorWidth) }; }\n\n setCoordinate(coordinates);\n }, 0);\n };\n\n const handleOpen = () => {\n setConfig(prev => ({ ...prev, state: 'visible' }));\n\n changePosition();\n\n setTimeout(() => { setConfig(prev => ({ ...prev, animation: 'open' })); }, 10);\n };\n\n const handleClose = () => {\n setConfig(prev => ({ ...prev, animation: 'close' }));\n\n setTimeout(() => {\n setConfig(prev => ({ ...prev, state: 'invisible' }));\n onClose();\n }, ANIMATION_DURATION);\n };\n\n const renderChildren = () => {\n return arrayChildren.map((child, index) => {\n return cloneElement(child, {\n 'tabIndex': index + 1,\n key: `button-${index}`,\n onClick: (e: React.MouseEvent<HTMLButtonElement>) => {\n debounce.delay(() => {\n\n if (autoClose) { handleClose(); }\n\n if (child.props.onClick) { child.props.onClick(e); }\n }, 0);\n },\n });\n });\n };\n\n return (\n <>\n <div\n id={id}\n ref={ref}\n {...props}\n style={{\n width: width || config.width,\n top: coordinate?.top,\n left: coordinate?.left,\n display: config?.state === 'visible' ? 'block' : 'none',\n transition: `all ${ANIMATION_DURATION}ms ease-in`,\n zIndex: 50,\n ...props.style\n }}\n className={classes}\n >\n {\n open && (\n <Card className={`${prefix}-menu__card`}>\n <CardContent\n className={`${prefix}-menu__card__content`}\n sx={{ py: 1 }}\n style={{\n display: 'flex',\n flexDirection: 'column',\n maxHeight\n }}\n >\n {renderChildren()}\n </CardContent>\n </Card>\n )\n }\n </div>\n {open && <div className={`${prefix}-menu__overlay`} onClick={handleClose} />}\n </>\n );\n});\n\nexport default createComponent(Menu);\n","import { useState } from 'react';\n\ntype UseMenu = [\n boolean,\n HTMLElement | null,\n (event?: React.MouseEvent<HTMLButtonElement>) => void,\n];\n\nexport default function useMenu(): UseMenu {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const open = Boolean(anchorEl);\n\n const handleOpen = (event?: React.MouseEvent<HTMLElement, MouseEvent>) => {\n setAnchorEl(event ? event.currentTarget : null);\n };\n\n const handleClose = () => { setAnchorEl(null); };\n\n const handleToggle = (event?: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (open) {\n handleClose();\n return;\n }\n\n handleOpen(event);\n };\n\n return [open, anchorEl, handleToggle];\n}\n"],"names":["Debounce","func","milliseconds","debounce","Menu","forwardRef","open","width","children","anchorEl","direction","position","maxHeight","autoClose","onClose","props","ref","coordinate","setCoordinate","useState","config","setConfig","GAP","ANIMATION_DURATION","arrayChildren","Children","id","useMemo","uuid","classes","joinClass","prefix","useListenerResized","changePosition","useEffect","handleOpen","handleClose","coordinates","anchorWidth","anchorHeight","left","anchorTop","prev","el","top","renderChildren","child","index","cloneElement","e","jsxs","Fragment","jsx","Card","CardContent","Menu$1","createComponent","useMenu","setAnchorEl","event"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const c=require("react/jsx-runtime"),n=require("react"),a=require("./index-DYxwT4uW.cjs"),B=require("./joinClass-Jk3EszKD.cjs"),D=require("./uuid-omnJ9TjZ.cjs"),E=require("./useListenerResized-AwpsZLcP.cjs"),S=require("./Card-Bqgukgip.cjs"),H=require("./CardContent-DPL-tBOS.cjs"),L=require("./createComponent-Bls5N6x8.cjs");class P{delay(t,s=500){if(!s){t();return}clearTimeout(this.timeout),this.timeout=setTimeout(()=>{t()},s)}}const W=new P,F=n.forwardRef(function({open:t,width:s,children:f,anchorEl:i,direction:d="left",position:o="bottom",maxHeight:M=150,autoClose:N,onClose:w,...m},k){const[y,v]=n.useState(),[h,l]=n.useState({state:"invisible",animation:"close",width:"auto"}),b=16,T=150,A=n.Children.toArray(f),$=n.useMemo(()=>D.uuid(),[]),I=B.joinClass(`${a.prefix}-menu`,`${a.prefix}-menu--${h?.animation}`,`${a.prefix}-menu--${o}`,m.className);E.useListenerResized(()=>C(),[i]),n.useEffect(()=>{C()},[i]),n.useEffect(()=>{t?R():g()},[t]);const C=()=>{i&&setTimeout(()=>{let e={};const{width:r,height:p,left:q,top:_}=i.getBoundingClientRect();l(z=>({...z,width:r}));const j=document.getElementById($),x=o==="bottom"?_+p+b/2:_-j.offsetHeight-b/2;d==="center"&&(e={top:x,right:r}),d==="left"&&(e={top:x,left:q}),d==="right"&&(e={top:x,left:q-(j.offsetWidth-r)}),v(e)},0)},R=()=>{l(e=>({...e,state:"visible"})),C(),setTimeout(()=>{l(e=>({...e,animation:"open"}))},10)},g=()=>{l(e=>({...e,animation:"close"})),setTimeout(()=>{l(e=>({...e,state:"invisible"})),w()},T)},O=()=>A.map((e,r)=>n.cloneElement(e,{tabIndex:r+1,key:`button-${r}`,onClick:p=>{W.delay(()=>{N&&g(),e.props.onClick&&e.props.onClick(p)},0)}}));return c.jsxs(c.Fragment,{children:[c.jsx("div",{id:$,ref:k,...m,style:{width:s||h.width,top:y?.top,left:y?.left,display:h?.state==="visible"?"block":"none",transition:`all ${T}ms ease-in`,zIndex:50,...m.style},className:I,children:t&&c.jsx(S.Card,{className:`${a.prefix}-menu__card`,children:c.jsx(H.CardContent,{className:`${a.prefix}-menu__card__content`,sx:{py:1},style:{display:"flex",flexDirection:"column",maxHeight:M},children:O()})})}),t&&c.jsx("div",{className:`${a.prefix}-menu__overlay`,onClick:g})]})}),G=L.createComponent(F);function U(){const[u,t]=n.useState(null),s=!!u,f=o=>{t(o?o.currentTarget:null)},i=()=>{t(null)};return[s,u,o=>{if(s){i();return}f(o)}]}exports.Menu=G;exports.useMenu=U;
2
- //# sourceMappingURL=useMenu-BfWmrq4L.cjs.map
1
+ "use strict";const c=require("react/jsx-runtime"),n=require("react"),a=require("./index-DYxwT4uW.cjs"),B=require("./joinClass-Jk3EszKD.cjs"),D=require("./uuid-omnJ9TjZ.cjs"),E=require("./useListenerResized-AwpsZLcP.cjs"),S=require("./Card-KRiSWAFI.cjs"),H=require("./CardContent-iH_wskpH.cjs"),L=require("./createComponent-cs9AuqoJ.cjs");class P{delay(t,s=500){if(!s){t();return}clearTimeout(this.timeout),this.timeout=setTimeout(()=>{t()},s)}}const W=new P,F=n.forwardRef(function({open:t,width:s,children:f,anchorEl:i,direction:d="left",position:o="bottom",maxHeight:M=150,autoClose:N,onClose:w,...m},k){const[y,v]=n.useState(),[h,l]=n.useState({state:"invisible",animation:"close",width:"auto"}),b=16,T=150,A=n.Children.toArray(f),$=n.useMemo(()=>D.uuid(),[]),I=B.joinClass(`${a.prefix}-menu`,`${a.prefix}-menu--${h?.animation}`,`${a.prefix}-menu--${o}`,m.className);E.useListenerResized(()=>C(),[i]),n.useEffect(()=>{C()},[i]),n.useEffect(()=>{t?R():g()},[t]);const C=()=>{i&&setTimeout(()=>{let e={};const{width:r,height:p,left:q,top:_}=i.getBoundingClientRect();l(z=>({...z,width:r}));const j=document.getElementById($),x=o==="bottom"?_+p+b/2:_-j.offsetHeight-b/2;d==="center"&&(e={top:x,right:r}),d==="left"&&(e={top:x,left:q}),d==="right"&&(e={top:x,left:q-(j.offsetWidth-r)}),v(e)},0)},R=()=>{l(e=>({...e,state:"visible"})),C(),setTimeout(()=>{l(e=>({...e,animation:"open"}))},10)},g=()=>{l(e=>({...e,animation:"close"})),setTimeout(()=>{l(e=>({...e,state:"invisible"})),w()},T)},O=()=>A.map((e,r)=>n.cloneElement(e,{tabIndex:r+1,key:`button-${r}`,onClick:p=>{W.delay(()=>{N&&g(),e.props.onClick&&e.props.onClick(p)},0)}}));return c.jsxs(c.Fragment,{children:[c.jsx("div",{id:$,ref:k,...m,style:{width:s||h.width,top:y?.top,left:y?.left,display:h?.state==="visible"?"block":"none",transition:`all ${T}ms ease-in`,zIndex:50,...m.style},className:I,children:t&&c.jsx(S.Card,{className:`${a.prefix}-menu__card`,children:c.jsx(H.CardContent,{className:`${a.prefix}-menu__card__content`,sx:{py:1},style:{display:"flex",flexDirection:"column",maxHeight:M},children:O()})})}),t&&c.jsx("div",{className:`${a.prefix}-menu__overlay`,onClick:g})]})}),G=L.createComponent(F);function U(){const[u,t]=n.useState(null),s=!!u,f=o=>{t(o?o.currentTarget:null)},i=()=>{t(null)};return[s,u,o=>{if(s){i();return}f(o)}]}exports.Menu=G;exports.useMenu=U;
2
+ //# sourceMappingURL=useMenu-i5MYMNcY.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMenu-BfWmrq4L.cjs","sources":["../../../../toolkit/src/debounce/debounce.ts","../../src/navigation/Menu/Menu.tsx","../../src/navigation/Menu/useMenu.ts"],"sourcesContent":["class Debounce {\n private timeout: NodeJS.Timeout | undefined;\n public delay(func: (a?: any) => void, milliseconds = 500) {\n if (!milliseconds) {\n func();\n return;\n }\n\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => { func(); }, milliseconds);\n }\n}\n\nexport const debounce = new Debounce();\n","import {\n useMemo,\n useState,\n useEffect,\n Children,\n forwardRef,\n type ReactElement,\n type CSSProperties,\n type HTMLAttributes,\n cloneElement\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils';\n\nimport { uuid } from '@iziui/toolkit/uuid';\nimport { debounce } from '@iziui/toolkit/debounce';\n\nimport useListenerResized from '@/hooks/useListenerResized';\nimport { Card, CardContent } from '@/display/Card';\n\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Menu.scss';\n\ntype Direction = 'left' | 'right' | 'center';\ntype Position = 'top' | 'bottom';\ntype AnimationClass = 'open' | 'close';\ntype State = 'visible' | 'invisible';\ntype Coordinates = { top?: number; right?: number; bottom?: number; left?: number; };\ntype Config = { animation: AnimationClass, state: State; width: CSSProperties['width'] };\n\nexport interface MenuProps extends HTMLAttributes<HTMLDivElement> {\n open: boolean;\n autoClose?: boolean;\n maxHeight?: CSSProperties['maxHeight'];\n direction?: Direction;\n position?: Position;\n anchorEl: HTMLElement | null;\n width?: CSSProperties['width'];\n onClose: (e?: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nconst Menu = forwardRef<HTMLDivElement, MenuProps>(function Menu({\n open,\n width,\n children,\n anchorEl,\n direction = 'left',\n position = 'bottom',\n maxHeight = 150,\n autoClose,\n onClose,\n ...props\n}: MenuProps, ref) {\n const [coordinate, setCoordinate] = useState<Coordinates>();\n const [config, setConfig] = useState<Config>({ state: 'invisible', animation: 'close', width: 'auto' });\n\n const GAP = 16;\n const ANIMATION_DURATION = 150;\n\n const arrayChildren = Children.toArray(children) as ReactElement<any>[];\n\n const id = useMemo(() => uuid(), []);\n\n const classes = joinClass(\n `${prefix}-menu`,\n `${prefix}-menu--${config?.animation}`,\n `${prefix}-menu--${position}`,\n props.className\n );\n\n useListenerResized(() => changePosition(), [anchorEl]);\n\n useEffect(() => { changePosition(); }, [anchorEl]);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n useEffect(() => { open ? handleOpen() : handleClose(); }, [open]);\n\n const changePosition = () => {\n if (!anchorEl) { return; }\n\n setTimeout(() => {\n let coordinates: Coordinates = {};\n\n const { width: anchorWidth, height: anchorHeight, left, top: anchorTop } = anchorEl.getBoundingClientRect();\n\n setConfig(prev => ({ ...prev, width: anchorWidth }));\n\n const el = document.getElementById(id) as HTMLElement;\n\n const top = position === 'bottom'\n ? anchorTop + anchorHeight + (GAP / 2)\n : anchorTop - el.offsetHeight - (GAP / 2);\n\n if (direction === 'center') { coordinates = { top, right: anchorWidth }; }\n\n if (direction === 'left') { coordinates = { top, left }; }\n\n if (direction === 'right') { coordinates = { top, left: left - (el.offsetWidth - anchorWidth) }; }\n\n setCoordinate(coordinates);\n }, 0);\n };\n\n const handleOpen = () => {\n setConfig(prev => ({ ...prev, state: 'visible' }));\n\n changePosition();\n\n setTimeout(() => { setConfig(prev => ({ ...prev, animation: 'open' })); }, 10);\n };\n\n const handleClose = () => {\n setConfig(prev => ({ ...prev, animation: 'close' }));\n\n setTimeout(() => {\n setConfig(prev => ({ ...prev, state: 'invisible' }));\n onClose();\n }, ANIMATION_DURATION);\n };\n\n const renderChildren = () => {\n return arrayChildren.map((child, index) => {\n return cloneElement(child, {\n 'tabIndex': index + 1,\n key: `button-${index}`,\n onClick: (e: React.MouseEvent<HTMLButtonElement>) => {\n debounce.delay(() => {\n\n if (autoClose) { handleClose(); }\n\n if (child.props.onClick) { child.props.onClick(e); }\n }, 0);\n },\n });\n });\n };\n\n return (\n <>\n <div\n id={id}\n ref={ref}\n {...props}\n style={{\n width: width || config.width,\n top: coordinate?.top,\n left: coordinate?.left,\n display: config?.state === 'visible' ? 'block' : 'none',\n transition: `all ${ANIMATION_DURATION}ms ease-in`,\n zIndex: 50,\n ...props.style\n }}\n className={classes}\n >\n {\n open && (\n <Card className={`${prefix}-menu__card`}>\n <CardContent\n className={`${prefix}-menu__card__content`}\n sx={{ py: 1 }}\n style={{\n display: 'flex',\n flexDirection: 'column',\n maxHeight\n }}\n >\n {renderChildren()}\n </CardContent>\n </Card>\n )\n }\n </div>\n {open && <div className={`${prefix}-menu__overlay`} onClick={handleClose} />}\n </>\n );\n});\n\nexport default createComponent(Menu);\n","import { useState } from 'react';\n\ntype UseMenu = [\n boolean,\n HTMLElement | null,\n (event?: React.MouseEvent<HTMLButtonElement>) => void,\n];\n\nexport default function useMenu(): UseMenu {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const open = Boolean(anchorEl);\n\n const handleOpen = (event?: React.MouseEvent<HTMLElement, MouseEvent>) => {\n setAnchorEl(event ? event.currentTarget : null);\n };\n\n const handleClose = () => { setAnchorEl(null); };\n\n const handleToggle = (event?: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (open) {\n handleClose();\n return;\n }\n\n handleOpen(event);\n };\n\n return [open, anchorEl, handleToggle];\n}\n"],"names":["Debounce","func","milliseconds","debounce","Menu","forwardRef","open","width","children","anchorEl","direction","position","maxHeight","autoClose","onClose","props","ref","coordinate","setCoordinate","useState","config","setConfig","GAP","ANIMATION_DURATION","arrayChildren","Children","id","useMemo","uuid","classes","joinClass","prefix","useListenerResized","changePosition","useEffect","handleOpen","handleClose","coordinates","anchorWidth","anchorHeight","left","anchorTop","prev","el","top","renderChildren","child","index","cloneElement","e","jsxs","Fragment","jsx","Card","CardContent","createComponent","useMenu","setAnchorEl","event"],"mappings":"kVAAA,MAAMA,CAAS,CAEN,MAAMC,EAAyBC,EAAe,IAAK,CACxD,GAAI,CAACA,EAAc,CACjBD,EAAA,EACA,MACF,CAEA,aAAa,KAAK,OAAO,EACzB,KAAK,QAAU,WAAW,IAAM,CAAEA,EAAA,CAAQ,EAAGC,CAAY,CAC3D,CACF,CAEO,MAAMC,EAAW,IAAIH,EC+BtBI,EAAOC,EAAAA,WAAsC,SAAc,CAC/D,KAAAC,EACA,MAAAC,EACA,SAAAC,EACA,SAAAC,EACA,UAAAC,EAAY,OACZ,SAAAC,EAAW,SACX,UAAAC,EAAY,IACZ,UAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EAAcC,EAAK,CACjB,KAAM,CAACC,EAAYC,CAAa,EAAIC,WAAA,EAC9B,CAACC,EAAQC,CAAS,EAAIF,EAAAA,SAAiB,CAAE,MAAO,YAAa,UAAW,QAAS,MAAO,MAAA,CAAQ,EAEhGG,EAAM,GACNC,EAAqB,IAErBC,EAAgBC,EAAAA,SAAS,QAAQjB,CAAQ,EAEzCkB,EAAKC,EAAAA,QAAQ,IAAMC,EAAAA,KAAA,EAAQ,CAAA,CAAE,EAE7BC,EAAUC,EAAAA,UACd,GAAGC,EAAAA,MAAM,QACT,GAAGA,EAAAA,MAAM,UAAUX,GAAQ,SAAS,GACpC,GAAGW,EAAAA,MAAM,UAAUpB,CAAQ,GAC3BI,EAAM,SAAA,EAGRiB,EAAAA,mBAAmB,IAAMC,IAAkB,CAACxB,CAAQ,CAAC,EAErDyB,EAAAA,UAAU,IAAM,CAAED,EAAA,CAAkB,EAAG,CAACxB,CAAQ,CAAC,EAGjDyB,EAAAA,UAAU,IAAM,CAAE5B,EAAO6B,EAAA,EAAeC,EAAA,CAAe,EAAG,CAAC9B,CAAI,CAAC,EAEhE,MAAM2B,EAAiB,IAAM,CACtBxB,GAEL,WAAW,IAAM,CACf,IAAI4B,EAA2B,CAAA,EAE/B,KAAM,CAAE,MAAOC,EAAa,OAAQC,EAAc,KAAAC,EAAM,IAAKC,CAAA,EAAchC,EAAS,sBAAA,EAEpFY,MAAmB,CAAE,GAAGqB,EAAM,MAAOJ,GAAc,EAEnD,MAAMK,EAAK,SAAS,eAAejB,CAAE,EAE/BkB,EAAMjC,IAAa,SACrB8B,EAAYF,EAAgBjB,EAAM,EAClCmB,EAAYE,EAAG,aAAgBrB,EAAM,EAErCZ,IAAc,WAAY2B,EAAc,CAAE,IAAAO,EAAK,MAAON,CAAA,GAEtD5B,IAAc,SAAU2B,EAAc,CAAE,IAAAO,EAAK,KAAAJ,CAAA,GAE7C9B,IAAc,UAAW2B,EAAc,CAAE,IAAAO,EAAK,KAAMJ,GAAQG,EAAG,YAAcL,EAAA,GAEjFpB,EAAcmB,CAAW,CAC3B,EAAG,CAAC,CACN,EAEMF,EAAa,IAAM,CACvBd,MAAmB,CAAE,GAAGqB,EAAM,MAAO,WAAY,EAEjDT,EAAA,EAEA,WAAW,IAAM,CAAEZ,MAAmB,CAAE,GAAGqB,EAAM,UAAW,QAAS,CAAG,EAAG,EAAE,CAC/E,EAEMN,EAAc,IAAM,CACxBf,MAAmB,CAAE,GAAGqB,EAAM,UAAW,SAAU,EAEnD,WAAW,IAAM,CACfrB,MAAmB,CAAE,GAAGqB,EAAM,MAAO,aAAc,EACnD5B,EAAA,CACF,EAAGS,CAAkB,CACvB,EAEMsB,EAAiB,IACdrB,EAAc,IAAI,CAACsB,EAAOC,IACxBC,EAAAA,aAAaF,EAAO,CACzB,SAAYC,EAAQ,EACpB,IAAK,UAAUA,CAAK,GACpB,QAAUE,GAA2C,CACnD9C,EAAS,MAAM,IAAM,CAEfU,GAAauB,EAAA,EAEbU,EAAM,MAAM,SAAWA,EAAM,MAAM,QAAQG,CAAC,CAClD,EAAG,CAAC,CACN,CAAA,CACD,CACF,EAGH,OACEC,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAC,EAAAA,IAAC,MAAA,CACC,GAAA1B,EACA,IAAAV,EACC,GAAGD,EACJ,MAAO,CACL,MAAOR,GAASa,EAAO,MACvB,IAAKH,GAAY,IACjB,KAAMA,GAAY,KAClB,QAASG,GAAQ,QAAU,UAAY,QAAU,OACjD,WAAY,OAAOG,CAAkB,aACrC,OAAQ,GACR,GAAGR,EAAM,KAAA,EAEX,UAAWc,EAGT,YACEuB,MAACC,EAAAA,KAAA,CAAK,UAAW,GAAGtB,QAAM,cACxB,SAAAqB,EAAAA,IAACE,EAAAA,YAAA,CACC,UAAW,GAAGvB,EAAAA,MAAM,uBACpB,GAAI,CAAE,GAAI,CAAA,EACV,MAAO,CACL,QAAS,OACT,cAAe,SACf,UAAAnB,CAAA,EAGD,SAAAiC,EAAA,CAAe,CAAA,CAClB,CACF,CAAA,CAAA,EAILvC,SAAS,MAAA,CAAI,UAAW,GAAGyB,EAAAA,MAAM,iBAAkB,QAASK,CAAA,CAAa,CAAA,EAC5E,CAEJ,CAAC,EAEDhC,EAAemD,EAAAA,gBAAgBnD,CAAI,EC5KnC,SAAwBoD,GAAmB,CACzC,KAAM,CAAC/C,EAAUgD,CAAW,EAAItC,EAAAA,SAA6B,IAAI,EAE3Db,EAAO,EAAQG,EAEf0B,EAAcuB,GAAsD,CACxED,EAAYC,EAAQA,EAAM,cAAgB,IAAI,CAChD,EAEMtB,EAAc,IAAM,CAAEqB,EAAY,IAAI,CAAG,EAW/C,MAAO,CAACnD,EAAMG,EATQiD,GAAsD,CAC1E,GAAIpD,EAAM,CACR8B,EAAA,EACA,MACF,CAEAD,EAAWuB,CAAK,CAClB,CAEoC,CACtC"}
1
+ {"version":3,"file":"useMenu-i5MYMNcY.cjs","sources":["../../../../toolkit/src/debounce/debounce.ts","../../src/navigation/Menu/Menu.tsx","../../src/navigation/Menu/useMenu.ts"],"sourcesContent":["class Debounce {\n private timeout: NodeJS.Timeout | undefined;\n public delay(func: (a?: any) => void, milliseconds = 500) {\n if (!milliseconds) {\n func();\n return;\n }\n\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => { func(); }, milliseconds);\n }\n}\n\nexport const debounce = new Debounce();\n","import {\n useMemo,\n useState,\n useEffect,\n Children,\n forwardRef,\n type ReactElement,\n type CSSProperties,\n type HTMLAttributes,\n cloneElement\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils';\n\nimport { uuid } from '@iziui/toolkit/uuid';\nimport { debounce } from '@iziui/toolkit/debounce';\n\nimport useListenerResized from '@/hooks/useListenerResized';\nimport { Card, CardContent } from '@/display/Card';\n\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Menu.scss';\n\ntype Direction = 'left' | 'right' | 'center';\ntype Position = 'top' | 'bottom';\ntype AnimationClass = 'open' | 'close';\ntype State = 'visible' | 'invisible';\ntype Coordinates = { top?: number; right?: number; bottom?: number; left?: number; };\ntype Config = { animation: AnimationClass, state: State; width: CSSProperties['width'] };\n\nexport interface MenuProps extends HTMLAttributes<HTMLDivElement> {\n open: boolean;\n autoClose?: boolean;\n maxHeight?: CSSProperties['maxHeight'];\n direction?: Direction;\n position?: Position;\n anchorEl: HTMLElement | null;\n width?: CSSProperties['width'];\n onClose: (e?: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nconst Menu = forwardRef<HTMLDivElement, MenuProps>(function Menu({\n open,\n width,\n children,\n anchorEl,\n direction = 'left',\n position = 'bottom',\n maxHeight = 150,\n autoClose,\n onClose,\n ...props\n}: MenuProps, ref) {\n const [coordinate, setCoordinate] = useState<Coordinates>();\n const [config, setConfig] = useState<Config>({ state: 'invisible', animation: 'close', width: 'auto' });\n\n const GAP = 16;\n const ANIMATION_DURATION = 150;\n\n const arrayChildren = Children.toArray(children) as ReactElement<any>[];\n\n const id = useMemo(() => uuid(), []);\n\n const classes = joinClass(\n `${prefix}-menu`,\n `${prefix}-menu--${config?.animation}`,\n `${prefix}-menu--${position}`,\n props.className\n );\n\n useListenerResized(() => changePosition(), [anchorEl]);\n\n useEffect(() => { changePosition(); }, [anchorEl]);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n useEffect(() => { open ? handleOpen() : handleClose(); }, [open]);\n\n const changePosition = () => {\n if (!anchorEl) { return; }\n\n setTimeout(() => {\n let coordinates: Coordinates = {};\n\n const { width: anchorWidth, height: anchorHeight, left, top: anchorTop } = anchorEl.getBoundingClientRect();\n\n setConfig(prev => ({ ...prev, width: anchorWidth }));\n\n const el = document.getElementById(id) as HTMLElement;\n\n const top = position === 'bottom'\n ? anchorTop + anchorHeight + (GAP / 2)\n : anchorTop - el.offsetHeight - (GAP / 2);\n\n if (direction === 'center') { coordinates = { top, right: anchorWidth }; }\n\n if (direction === 'left') { coordinates = { top, left }; }\n\n if (direction === 'right') { coordinates = { top, left: left - (el.offsetWidth - anchorWidth) }; }\n\n setCoordinate(coordinates);\n }, 0);\n };\n\n const handleOpen = () => {\n setConfig(prev => ({ ...prev, state: 'visible' }));\n\n changePosition();\n\n setTimeout(() => { setConfig(prev => ({ ...prev, animation: 'open' })); }, 10);\n };\n\n const handleClose = () => {\n setConfig(prev => ({ ...prev, animation: 'close' }));\n\n setTimeout(() => {\n setConfig(prev => ({ ...prev, state: 'invisible' }));\n onClose();\n }, ANIMATION_DURATION);\n };\n\n const renderChildren = () => {\n return arrayChildren.map((child, index) => {\n return cloneElement(child, {\n 'tabIndex': index + 1,\n key: `button-${index}`,\n onClick: (e: React.MouseEvent<HTMLButtonElement>) => {\n debounce.delay(() => {\n\n if (autoClose) { handleClose(); }\n\n if (child.props.onClick) { child.props.onClick(e); }\n }, 0);\n },\n });\n });\n };\n\n return (\n <>\n <div\n id={id}\n ref={ref}\n {...props}\n style={{\n width: width || config.width,\n top: coordinate?.top,\n left: coordinate?.left,\n display: config?.state === 'visible' ? 'block' : 'none',\n transition: `all ${ANIMATION_DURATION}ms ease-in`,\n zIndex: 50,\n ...props.style\n }}\n className={classes}\n >\n {\n open && (\n <Card className={`${prefix}-menu__card`}>\n <CardContent\n className={`${prefix}-menu__card__content`}\n sx={{ py: 1 }}\n style={{\n display: 'flex',\n flexDirection: 'column',\n maxHeight\n }}\n >\n {renderChildren()}\n </CardContent>\n </Card>\n )\n }\n </div>\n {open && <div className={`${prefix}-menu__overlay`} onClick={handleClose} />}\n </>\n );\n});\n\nexport default createComponent(Menu);\n","import { useState } from 'react';\n\ntype UseMenu = [\n boolean,\n HTMLElement | null,\n (event?: React.MouseEvent<HTMLButtonElement>) => void,\n];\n\nexport default function useMenu(): UseMenu {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const open = Boolean(anchorEl);\n\n const handleOpen = (event?: React.MouseEvent<HTMLElement, MouseEvent>) => {\n setAnchorEl(event ? event.currentTarget : null);\n };\n\n const handleClose = () => { setAnchorEl(null); };\n\n const handleToggle = (event?: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (open) {\n handleClose();\n return;\n }\n\n handleOpen(event);\n };\n\n return [open, anchorEl, handleToggle];\n}\n"],"names":["Debounce","func","milliseconds","debounce","Menu","forwardRef","open","width","children","anchorEl","direction","position","maxHeight","autoClose","onClose","props","ref","coordinate","setCoordinate","useState","config","setConfig","GAP","ANIMATION_DURATION","arrayChildren","Children","id","useMemo","uuid","classes","joinClass","prefix","useListenerResized","changePosition","useEffect","handleOpen","handleClose","coordinates","anchorWidth","anchorHeight","left","anchorTop","prev","el","top","renderChildren","child","index","cloneElement","e","jsxs","Fragment","jsx","Card","CardContent","createComponent","useMenu","setAnchorEl","event"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{jsxs as C,jsx as _}from"react/jsx-runtime";import{Children as j,useState as k,useRef as x,useMemo as B,useEffect as b,cloneElement as y}from"react";import{p as c}from"./index-CZ41y9Hn.js";import{j as f}from"./joinClass-anSpaauN.js";import{u as R}from"./uuid-dGvr9vBZ.js";import{c as L}from"./createComponent-BmdhWozT.js";import{u as g}from"./useListenerResized-Bnqxrt7k.js";function A(t,n){if(n>t)throw new Error(`Current tab index (${n}) is greater than the number of tabs (${t})`)}function M({children:t,color:n="primary",current:r=0,onChange:i,...o}){const u=j.toArray(t),[a,$]=k(r),d=x([]),T=f(`${c}-tabs`,`${c}-tabs--${n}`,o.className),v=f(`${c}-tabs__marker`,`${c}-tabs__marker--${n}`),m=B(()=>`marker-${R()}`,[]);g(()=>p(),[a]),b(()=>{A(u.length-1,a)},[]),b(()=>{const e=u.findIndex(l=>!l.props.disabled),s=u[r].props.disabled;$(s?e:r)},[r]),b(()=>{p(),N(a)},[a]);const I=e=>{i&&i(e),$(e)},N=e=>{d.current&&d.current[e].scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},w=(e,s)=>{!d.current||!s||(d.current[e]=s)},p=()=>{const e=document.querySelector(`#tab-${m}-${a}`),s=document.getElementById(m),l=e.offsetWidth,h=e.offsetLeft;s.style.width=`${l}px`,s.style.left=`${h}px`};return C("div",{...o,className:T,children:[u.map((e,s)=>{const l=`tab-${m}-${s}`,h=a===s;return _("div",{ref:E=>w(s,E),style:{width:"100%"},children:y(e,{id:l,tabIndex:s+1,"aria-checked":h,onClick:()=>I(s)})},l)}),_("div",{id:m,className:v})]})}const H=L(M);function J({icon:t,label:n,disabled:r,color:i="primary",...o}){const{"aria-checked":u}=o,a=f(`${c}-tabs__button`,r&&`${c}-tabs__button--disabled`,u&&`${c}-tabs__button--active-${i}`,o.className);return C("button",{type:"button",disabled:r,className:a,...o,children:[t&&y(t,{className:f(`${c}-tabs__button__icon`)}),n]})}function K({children:t,value:n,current:r,...i}){return n===r&&_("div",{...i,children:t})}function O(t){const[n,r]=k(t);return b(()=>{r(t)},[t]),[o=>{r(o)},n]}export{J as T,K as a,H as b,O as u};
2
- //# sourceMappingURL=useTabs-C10MlXVP.js.map
1
+ import{jsxs as C,jsx as _}from"react/jsx-runtime";import{Children as j,useState as k,useRef as x,useMemo as B,useEffect as b,cloneElement as y}from"react";import{p as c}from"./index-CZ41y9Hn.js";import{j as f}from"./joinClass-anSpaauN.js";import{u as R}from"./uuid-dGvr9vBZ.js";import{c as L}from"./createComponent-BvE_8glE.js";import{u as g}from"./useListenerResized-Bnqxrt7k.js";function A(t,n){if(n>t)throw new Error(`Current tab index (${n}) is greater than the number of tabs (${t})`)}function M({children:t,color:n="primary",current:r=0,onChange:i,...o}){const u=j.toArray(t),[a,$]=k(r),d=x([]),T=f(`${c}-tabs`,`${c}-tabs--${n}`,o.className),v=f(`${c}-tabs__marker`,`${c}-tabs__marker--${n}`),m=B(()=>`marker-${R()}`,[]);g(()=>p(),[a]),b(()=>{A(u.length-1,a)},[]),b(()=>{const e=u.findIndex(l=>!l.props.disabled),s=u[r].props.disabled;$(s?e:r)},[r]),b(()=>{p(),N(a)},[a]);const I=e=>{i&&i(e),$(e)},N=e=>{d.current&&d.current[e].scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},w=(e,s)=>{!d.current||!s||(d.current[e]=s)},p=()=>{const e=document.querySelector(`#tab-${m}-${a}`),s=document.getElementById(m),l=e.offsetWidth,h=e.offsetLeft;s.style.width=`${l}px`,s.style.left=`${h}px`};return C("div",{...o,className:T,children:[u.map((e,s)=>{const l=`tab-${m}-${s}`,h=a===s;return _("div",{ref:E=>w(s,E),style:{width:"100%"},children:y(e,{id:l,tabIndex:s+1,"aria-checked":h,onClick:()=>I(s)})},l)}),_("div",{id:m,className:v})]})}const H=L(M);function J({icon:t,label:n,disabled:r,color:i="primary",...o}){const{"aria-checked":u}=o,a=f(`${c}-tabs__button`,r&&`${c}-tabs__button--disabled`,u&&`${c}-tabs__button--active-${i}`,o.className);return C("button",{type:"button",disabled:r,className:a,...o,children:[t&&y(t,{className:f(`${c}-tabs__button__icon`)}),n]})}function K({children:t,value:n,current:r,...i}){return n===r&&_("div",{...i,children:t})}function O(t){const[n,r]=k(t);return b(()=>{r(t)},[t]),[o=>{r(o)},n]}export{J as T,K as a,H as b,O as u};
2
+ //# sourceMappingURL=useTabs-BOKC1kGI.js.map