@iziui/react 0.0.100-rc → 0.0.101-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 (51) hide show
  1. package/dist/.types/fields/Autocomplete/index.d.ts +2 -1
  2. package/dist/.types/fields/Autocomplete/index.d.ts.map +1 -1
  3. package/dist/chunks/Alert-CD6hOvos.js +2 -0
  4. package/dist/chunks/{Alert-D9ZINnNc.js.map → Alert-CD6hOvos.js.map} +1 -1
  5. package/dist/chunks/Alert-DCB56IAI.cjs +2 -0
  6. package/dist/chunks/{Alert-BamYo9Fn.cjs.map → Alert-DCB56IAI.cjs.map} +1 -1
  7. package/dist/chunks/Option-BU_FWsap.js +2 -0
  8. package/dist/chunks/Option-BU_FWsap.js.map +1 -0
  9. package/dist/chunks/Option-BrwvLgKT.cjs +2 -0
  10. package/dist/chunks/Option-BrwvLgKT.cjs.map +1 -0
  11. package/dist/chunks/Select-CBfG5CDU.cjs +2 -0
  12. package/dist/chunks/Select-CBfG5CDU.cjs.map +1 -0
  13. package/dist/chunks/Select-D9o7DyOl.js +2 -0
  14. package/dist/chunks/Select-D9o7DyOl.js.map +1 -0
  15. package/dist/chunks/Typography-B_WR62ip.js +2 -0
  16. package/dist/chunks/{Typography-BeCR9fky.js.map → Typography-B_WR62ip.js.map} +1 -1
  17. package/dist/chunks/{Typography-cNb2fPDw.cjs → Typography-Ch-BLqCH.cjs} +2 -2
  18. package/dist/chunks/{Typography-cNb2fPDw.cjs.map → Typography-Ch-BLqCH.cjs.map} +1 -1
  19. package/dist/components/Alert/index.cjs +1 -1
  20. package/dist/components/Alert/index.js +1 -1
  21. package/dist/components/Autocomplete/index.cjs +1 -1
  22. package/dist/components/Autocomplete/index.cjs.map +1 -1
  23. package/dist/components/Autocomplete/index.js +1 -1
  24. package/dist/components/Autocomplete/index.js.map +1 -1
  25. package/dist/components/Avatar/index.cjs +1 -1
  26. package/dist/components/Avatar/index.js +1 -1
  27. package/dist/components/Chip/index.cjs +1 -1
  28. package/dist/components/Chip/index.js +1 -1
  29. package/dist/components/ColorPicker/index.cjs +1 -1
  30. package/dist/components/ColorPicker/index.js +1 -1
  31. package/dist/components/InputFile/index.cjs +1 -1
  32. package/dist/components/InputFile/index.js +1 -1
  33. package/dist/components/Select/index.cjs +1 -1
  34. package/dist/components/Select/index.js +1 -1
  35. package/dist/components/Toast/index.cjs +1 -1
  36. package/dist/components/Toast/index.js +1 -1
  37. package/dist/components/Typography/index.cjs +1 -1
  38. package/dist/components/Typography/index.js +1 -1
  39. package/dist/index.cjs +1 -1
  40. package/dist/index.js +1 -1
  41. package/dist/style.css +3 -3
  42. package/dist/theme/index.cjs +1 -1
  43. package/dist/theme/index.js +1 -1
  44. package/package.json +1 -1
  45. package/dist/chunks/Alert-BamYo9Fn.cjs +0 -2
  46. package/dist/chunks/Alert-D9ZINnNc.js +0 -2
  47. package/dist/chunks/Option-COyiqmg0.cjs +0 -2
  48. package/dist/chunks/Option-COyiqmg0.cjs.map +0 -1
  49. package/dist/chunks/Option-CzDngSSk.js +0 -2
  50. package/dist/chunks/Option-CzDngSSk.js.map +0 -1
  51. package/dist/chunks/Typography-BeCR9fky.js +0 -2
@@ -1,2 +1,3 @@
1
- export { default, type AutocompleteProps } from './Autocomplete';
1
+ export { default as Autocomplete, type AutocompleteProps } from './Autocomplete';
2
+ export { default as AutocompleteButton } from './AutocompleteButton';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Autocomplete/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Autocomplete/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import{jsxs as s,jsx as r}from"react/jsx-runtime";import{p as t}from"./index-CZ41y9Hn.js";import{j as m}from"./joinClass-anSpaauN.js";import{u as $}from"./useTheme-BYuNiCiH.js";import{S as i}from"./Stack-CHR_pZC4.js";import{T as d}from"./Typography-B_WR62ip.js";import{B as y}from"./ButtonIcon-DMetcfYt.js";import{c as g}from"./createComponent-BmdhWozT.js";import{I as h}from"./Icon-DTU52KQE.js";function x({children:e,icon:c,color:o="primary",onClose:a,...n}){const{theme:{mode:l}}=$(),f=m(`${t}-alert`,`${t}-alert--${l}`,`${t}-alert--${o}`,n.className),p=m(`${t}-alert__button`,`${t}-alert__button--${o}`),u=()=>typeof e=="string"?r(d,{variant:"body1",style:{color:"currentcolor"},children:e}):e;return s(i,{fullWidth:!0,gap:0,flexDirection:"row",alignItems:"center",justifyContent:"center",...n,className:f,children:[s(i,{fullWidth:!0,gap:8,flexDirection:"row",alignItems:"center",className:`${t}-alert__content`,children:[c,u()]}),a&&r("div",{children:r(y,{className:p,onClick:a,color:o,style:{color:"currentColor"},children:r(h,{name:"times"})})})]})}const v=g(x);export{v as A};
2
+ //# sourceMappingURL=Alert-CD6hOvos.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Alert-D9ZINnNc.js","sources":["../../src/feedback/Alert/Alert.tsx"],"sourcesContent":["import { type HtmlHTMLAttributes } 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 { useTheme } from '@/theme';\nimport Stack from '@/layout/Stack';\nimport Typography from '@/display/Typography';\nimport ButtonIcon from '@/actions/ButtonIcon';\nimport createComponent from '@/core/createComponent';\nimport Icon from '@/display/Icon';\n\nimport '@iziui/styles/components/Alert.scss';\n\nexport interface AlertProps extends HtmlHTMLAttributes<HTMLDivElement> {\n color?: Colors;\n icon?: React.JSX.Element;\n children: React.ReactNode;\n onClose?: () => void;\n}\n\nfunction Alert({\n children,\n icon,\n color = 'primary',\n onClose,\n ...props\n}: AlertProps) {\n const { theme: { mode } } = useTheme();\n\n const className = joinClass(\n `${prefix}-alert`,\n `${prefix}-alert--${mode}`,\n `${prefix}-alert--${color}`,\n props.className\n );\n\n const classNameAction = joinClass(\n `${prefix}-alert__button`,\n `${prefix}-alert__button--${color}`,\n );\n\n const renderMessage = () => {\n if (typeof children === 'string') {\n return (\n <Typography variant=\"body1\" style={{ color: 'currentcolor' }}>\n {children}\n </Typography>\n );\n }\n\n return children;\n };\n\n return (\n <Stack\n fullWidth\n gap={0}\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n {...props}\n className={className}\n >\n <Stack\n fullWidth\n gap={8}\n flexDirection=\"row\"\n alignItems=\"center\"\n className={`${prefix}-alert__content`}\n >\n {icon}\n {renderMessage()}\n </Stack>\n {\n onClose && (\n <div>\n <ButtonIcon\n className={classNameAction}\n onClick={onClose}\n color={color}\n style={{ color: 'currentColor' }}\n >\n <Icon name=\"times\" />\n </ButtonIcon>\n </div>)\n }\n </Stack>\n );\n}\n\nexport default createComponent(Alert);"],"names":["Alert","children","icon","color","onClose","props","mode","useTheme","className","joinClass","prefix","classNameAction","renderMessage","jsx","Typography","jsxs","Stack","ButtonIcon","Icon","Alert$1","createComponent"],"mappings":"4YAuBA,SAASA,EAAM,CACb,SAAAC,EACA,KAAAC,EACA,MAAAC,EAAQ,UACR,QAAAC,EACA,GAAGC,CACL,EAAe,CACb,KAAM,CAAE,MAAO,CAAE,KAAAC,CAAA,CAAK,EAAMC,EAAA,EAEtBC,EAAYC,EAChB,GAAGC,CAAM,SACT,GAAGA,CAAM,WAAWJ,CAAI,GACxB,GAAGI,CAAM,WAAWP,CAAK,GACzBE,EAAM,SAAA,EAGFM,EAAkBF,EACtB,GAAGC,CAAM,iBACT,GAAGA,CAAM,mBAAmBP,CAAK,EAAA,EAG7BS,EAAgB,IAChB,OAAOX,GAAa,SAEpBY,EAACC,GAAW,QAAQ,QAAQ,MAAO,CAAE,MAAO,gBACzC,SAAAb,EACH,EAIGA,EAGT,OACEc,EAACC,EAAA,CACC,UAAS,GACT,IAAK,EACL,cAAc,MACd,WAAW,SACX,eAAe,SACd,GAAGX,EACJ,UAAAG,EAEA,SAAA,CAAAO,EAACC,EAAA,CACC,UAAS,GACT,IAAK,EACL,cAAc,MACd,WAAW,SACX,UAAW,GAAGN,CAAM,kBAEnB,SAAA,CAAAR,EACAU,EAAA,CAAc,CAAA,CAAA,EAGfR,KACG,MAAA,CACC,SAAAS,EAACI,EAAA,CACC,UAAWN,EACX,QAASP,EACT,MAAAD,EACA,MAAO,CAAE,MAAO,cAAA,EAEhB,SAAAU,EAACK,EAAA,CAAK,KAAK,OAAA,CAAQ,CAAA,CAAA,CACrB,CACF,CAAA,CAAA,CAAA,CAIV,CAEA,MAAAC,EAAeC,EAAgBpB,CAAK"}
1
+ {"version":3,"file":"Alert-CD6hOvos.js","sources":["../../src/feedback/Alert/Alert.tsx"],"sourcesContent":["import { type HtmlHTMLAttributes } 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 { useTheme } from '@/theme';\nimport Stack from '@/layout/Stack';\nimport Typography from '@/display/Typography';\nimport ButtonIcon from '@/actions/ButtonIcon';\nimport createComponent from '@/core/createComponent';\nimport Icon from '@/display/Icon';\n\nimport '@iziui/styles/components/Alert.scss';\n\nexport interface AlertProps extends HtmlHTMLAttributes<HTMLDivElement> {\n color?: Colors;\n icon?: React.JSX.Element;\n children: React.ReactNode;\n onClose?: () => void;\n}\n\nfunction Alert({\n children,\n icon,\n color = 'primary',\n onClose,\n ...props\n}: AlertProps) {\n const { theme: { mode } } = useTheme();\n\n const className = joinClass(\n `${prefix}-alert`,\n `${prefix}-alert--${mode}`,\n `${prefix}-alert--${color}`,\n props.className\n );\n\n const classNameAction = joinClass(\n `${prefix}-alert__button`,\n `${prefix}-alert__button--${color}`,\n );\n\n const renderMessage = () => {\n if (typeof children === 'string') {\n return (\n <Typography variant=\"body1\" style={{ color: 'currentcolor' }}>\n {children}\n </Typography>\n );\n }\n\n return children;\n };\n\n return (\n <Stack\n fullWidth\n gap={0}\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n {...props}\n className={className}\n >\n <Stack\n fullWidth\n gap={8}\n flexDirection=\"row\"\n alignItems=\"center\"\n className={`${prefix}-alert__content`}\n >\n {icon}\n {renderMessage()}\n </Stack>\n {\n onClose && (\n <div>\n <ButtonIcon\n className={classNameAction}\n onClick={onClose}\n color={color}\n style={{ color: 'currentColor' }}\n >\n <Icon name=\"times\" />\n </ButtonIcon>\n </div>)\n }\n </Stack>\n );\n}\n\nexport default createComponent(Alert);"],"names":["Alert","children","icon","color","onClose","props","mode","useTheme","className","joinClass","prefix","classNameAction","renderMessage","jsx","Typography","jsxs","Stack","ButtonIcon","Icon","Alert$1","createComponent"],"mappings":"4YAuBA,SAASA,EAAM,CACb,SAAAC,EACA,KAAAC,EACA,MAAAC,EAAQ,UACR,QAAAC,EACA,GAAGC,CACL,EAAe,CACb,KAAM,CAAE,MAAO,CAAE,KAAAC,CAAA,CAAK,EAAMC,EAAA,EAEtBC,EAAYC,EAChB,GAAGC,CAAM,SACT,GAAGA,CAAM,WAAWJ,CAAI,GACxB,GAAGI,CAAM,WAAWP,CAAK,GACzBE,EAAM,SAAA,EAGFM,EAAkBF,EACtB,GAAGC,CAAM,iBACT,GAAGA,CAAM,mBAAmBP,CAAK,EAAA,EAG7BS,EAAgB,IAChB,OAAOX,GAAa,SAEpBY,EAACC,GAAW,QAAQ,QAAQ,MAAO,CAAE,MAAO,gBACzC,SAAAb,EACH,EAIGA,EAGT,OACEc,EAACC,EAAA,CACC,UAAS,GACT,IAAK,EACL,cAAc,MACd,WAAW,SACX,eAAe,SACd,GAAGX,EACJ,UAAAG,EAEA,SAAA,CAAAO,EAACC,EAAA,CACC,UAAS,GACT,IAAK,EACL,cAAc,MACd,WAAW,SACX,UAAW,GAAGN,CAAM,kBAEnB,SAAA,CAAAR,EACAU,EAAA,CAAc,CAAA,CAAA,EAGfR,KACG,MAAA,CACC,SAAAS,EAACI,EAAA,CACC,UAAWN,EACX,QAASP,EACT,MAAAD,EACA,MAAO,CAAE,MAAO,cAAA,EAEhB,SAAAU,EAACK,EAAA,CAAK,KAAK,OAAA,CAAQ,CAAA,CAAA,CACrB,CACF,CAAA,CAAA,CAAA,CAIV,CAEA,MAAAC,EAAeC,EAAgBpB,CAAK"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("react/jsx-runtime"),t=require("./index-DYxwT4uW.cjs"),c=require("./joinClass-Jk3EszKD.cjs"),f=require("./useTheme-DsrjDJKC.cjs"),i=require("./Stack-CF3Wyma9.cjs"),p=require("./Typography-Ch-BLqCH.cjs"),j=require("./ButtonIcon-Ccq88QaY.cjs"),y=require("./createComponent-Bls5N6x8.cjs"),$=require("./Icon-BN4Kp4Aq.cjs");function d({children:r,icon:a,color:n="primary",onClose:s,...o}){const{theme:{mode:l}}=f.useTheme(),u=c.joinClass(`${t.prefix}-alert`,`${t.prefix}-alert--${l}`,`${t.prefix}-alert--${n}`,o.className),m=c.joinClass(`${t.prefix}-alert__button`,`${t.prefix}-alert__button--${n}`),x=()=>typeof r=="string"?e.jsx(p.Typography,{variant:"body1",style:{color:"currentcolor"},children:r}):r;return e.jsxs(i.Stack,{fullWidth:!0,gap:0,flexDirection:"row",alignItems:"center",justifyContent:"center",...o,className:u,children:[e.jsxs(i.Stack,{fullWidth:!0,gap:8,flexDirection:"row",alignItems:"center",className:`${t.prefix}-alert__content`,children:[a,x()]}),s&&e.jsx("div",{children:e.jsx(j.ButtonIcon,{className:m,onClick:s,color:n,style:{color:"currentColor"},children:e.jsx($.Icon,{name:"times"})})})]})}const h=y.createComponent(d);exports.Alert=h;
2
+ //# sourceMappingURL=Alert-DCB56IAI.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Alert-BamYo9Fn.cjs","sources":["../../src/feedback/Alert/Alert.tsx"],"sourcesContent":["import { type HtmlHTMLAttributes } 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 { useTheme } from '@/theme';\nimport Stack from '@/layout/Stack';\nimport Typography from '@/display/Typography';\nimport ButtonIcon from '@/actions/ButtonIcon';\nimport createComponent from '@/core/createComponent';\nimport Icon from '@/display/Icon';\n\nimport '@iziui/styles/components/Alert.scss';\n\nexport interface AlertProps extends HtmlHTMLAttributes<HTMLDivElement> {\n color?: Colors;\n icon?: React.JSX.Element;\n children: React.ReactNode;\n onClose?: () => void;\n}\n\nfunction Alert({\n children,\n icon,\n color = 'primary',\n onClose,\n ...props\n}: AlertProps) {\n const { theme: { mode } } = useTheme();\n\n const className = joinClass(\n `${prefix}-alert`,\n `${prefix}-alert--${mode}`,\n `${prefix}-alert--${color}`,\n props.className\n );\n\n const classNameAction = joinClass(\n `${prefix}-alert__button`,\n `${prefix}-alert__button--${color}`,\n );\n\n const renderMessage = () => {\n if (typeof children === 'string') {\n return (\n <Typography variant=\"body1\" style={{ color: 'currentcolor' }}>\n {children}\n </Typography>\n );\n }\n\n return children;\n };\n\n return (\n <Stack\n fullWidth\n gap={0}\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n {...props}\n className={className}\n >\n <Stack\n fullWidth\n gap={8}\n flexDirection=\"row\"\n alignItems=\"center\"\n className={`${prefix}-alert__content`}\n >\n {icon}\n {renderMessage()}\n </Stack>\n {\n onClose && (\n <div>\n <ButtonIcon\n className={classNameAction}\n onClick={onClose}\n color={color}\n style={{ color: 'currentColor' }}\n >\n <Icon name=\"times\" />\n </ButtonIcon>\n </div>)\n }\n </Stack>\n );\n}\n\nexport default createComponent(Alert);"],"names":["Alert","children","icon","color","onClose","props","mode","useTheme","className","joinClass","prefix","classNameAction","renderMessage","jsx","Typography","jsxs","Stack","ButtonIcon","Icon","createComponent"],"mappings":"4VAuBA,SAASA,EAAM,CACb,SAAAC,EACA,KAAAC,EACA,MAAAC,EAAQ,UACR,QAAAC,EACA,GAAGC,CACL,EAAe,CACb,KAAM,CAAE,MAAO,CAAE,KAAAC,CAAA,CAAK,EAAMC,EAAAA,SAAA,EAEtBC,EAAYC,EAAAA,UAChB,GAAGC,EAAAA,MAAM,SACT,GAAGA,EAAAA,MAAM,WAAWJ,CAAI,GACxB,GAAGI,EAAAA,MAAM,WAAWP,CAAK,GACzBE,EAAM,SAAA,EAGFM,EAAkBF,EAAAA,UACtB,GAAGC,EAAAA,MAAM,iBACT,GAAGA,EAAAA,MAAM,mBAAmBP,CAAK,EAAA,EAG7BS,EAAgB,IAChB,OAAOX,GAAa,SAEpBY,MAACC,EAAAA,YAAW,QAAQ,QAAQ,MAAO,CAAE,MAAO,gBACzC,SAAAb,EACH,EAIGA,EAGT,OACEc,EAAAA,KAACC,EAAAA,MAAA,CACC,UAAS,GACT,IAAK,EACL,cAAc,MACd,WAAW,SACX,eAAe,SACd,GAAGX,EACJ,UAAAG,EAEA,SAAA,CAAAO,EAAAA,KAACC,EAAAA,MAAA,CACC,UAAS,GACT,IAAK,EACL,cAAc,MACd,WAAW,SACX,UAAW,GAAGN,EAAAA,MAAM,kBAEnB,SAAA,CAAAR,EACAU,EAAA,CAAc,CAAA,CAAA,EAGfR,SACG,MAAA,CACC,SAAAS,EAAAA,IAACI,EAAAA,WAAA,CACC,UAAWN,EACX,QAASP,EACT,MAAAD,EACA,MAAO,CAAE,MAAO,cAAA,EAEhB,SAAAU,EAAAA,IAACK,EAAAA,KAAA,CAAK,KAAK,OAAA,CAAQ,CAAA,CAAA,CACrB,CACF,CAAA,CAAA,CAAA,CAIV,CAEA,MAAAlB,EAAemB,EAAAA,gBAAgBnB,CAAK"}
1
+ {"version":3,"file":"Alert-DCB56IAI.cjs","sources":["../../src/feedback/Alert/Alert.tsx"],"sourcesContent":["import { type HtmlHTMLAttributes } 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 { useTheme } from '@/theme';\nimport Stack from '@/layout/Stack';\nimport Typography from '@/display/Typography';\nimport ButtonIcon from '@/actions/ButtonIcon';\nimport createComponent from '@/core/createComponent';\nimport Icon from '@/display/Icon';\n\nimport '@iziui/styles/components/Alert.scss';\n\nexport interface AlertProps extends HtmlHTMLAttributes<HTMLDivElement> {\n color?: Colors;\n icon?: React.JSX.Element;\n children: React.ReactNode;\n onClose?: () => void;\n}\n\nfunction Alert({\n children,\n icon,\n color = 'primary',\n onClose,\n ...props\n}: AlertProps) {\n const { theme: { mode } } = useTheme();\n\n const className = joinClass(\n `${prefix}-alert`,\n `${prefix}-alert--${mode}`,\n `${prefix}-alert--${color}`,\n props.className\n );\n\n const classNameAction = joinClass(\n `${prefix}-alert__button`,\n `${prefix}-alert__button--${color}`,\n );\n\n const renderMessage = () => {\n if (typeof children === 'string') {\n return (\n <Typography variant=\"body1\" style={{ color: 'currentcolor' }}>\n {children}\n </Typography>\n );\n }\n\n return children;\n };\n\n return (\n <Stack\n fullWidth\n gap={0}\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n {...props}\n className={className}\n >\n <Stack\n fullWidth\n gap={8}\n flexDirection=\"row\"\n alignItems=\"center\"\n className={`${prefix}-alert__content`}\n >\n {icon}\n {renderMessage()}\n </Stack>\n {\n onClose && (\n <div>\n <ButtonIcon\n className={classNameAction}\n onClick={onClose}\n color={color}\n style={{ color: 'currentColor' }}\n >\n <Icon name=\"times\" />\n </ButtonIcon>\n </div>)\n }\n </Stack>\n );\n}\n\nexport default createComponent(Alert);"],"names":["Alert","children","icon","color","onClose","props","mode","useTheme","className","joinClass","prefix","classNameAction","renderMessage","jsx","Typography","jsxs","Stack","ButtonIcon","Icon","createComponent"],"mappings":"4VAuBA,SAASA,EAAM,CACb,SAAAC,EACA,KAAAC,EACA,MAAAC,EAAQ,UACR,QAAAC,EACA,GAAGC,CACL,EAAe,CACb,KAAM,CAAE,MAAO,CAAE,KAAAC,CAAA,CAAK,EAAMC,EAAAA,SAAA,EAEtBC,EAAYC,EAAAA,UAChB,GAAGC,EAAAA,MAAM,SACT,GAAGA,EAAAA,MAAM,WAAWJ,CAAI,GACxB,GAAGI,EAAAA,MAAM,WAAWP,CAAK,GACzBE,EAAM,SAAA,EAGFM,EAAkBF,EAAAA,UACtB,GAAGC,EAAAA,MAAM,iBACT,GAAGA,EAAAA,MAAM,mBAAmBP,CAAK,EAAA,EAG7BS,EAAgB,IAChB,OAAOX,GAAa,SAEpBY,MAACC,EAAAA,YAAW,QAAQ,QAAQ,MAAO,CAAE,MAAO,gBACzC,SAAAb,EACH,EAIGA,EAGT,OACEc,EAAAA,KAACC,EAAAA,MAAA,CACC,UAAS,GACT,IAAK,EACL,cAAc,MACd,WAAW,SACX,eAAe,SACd,GAAGX,EACJ,UAAAG,EAEA,SAAA,CAAAO,EAAAA,KAACC,EAAAA,MAAA,CACC,UAAS,GACT,IAAK,EACL,cAAc,MACd,WAAW,SACX,UAAW,GAAGN,EAAAA,MAAM,kBAEnB,SAAA,CAAAR,EACAU,EAAA,CAAc,CAAA,CAAA,EAGfR,SACG,MAAA,CACC,SAAAS,EAAAA,IAACI,EAAAA,WAAA,CACC,UAAWN,EACX,QAASP,EACT,MAAAD,EACA,MAAO,CAAE,MAAO,cAAA,EAEhB,SAAAU,EAAAA,IAACK,EAAAA,KAAA,CAAK,KAAK,OAAA,CAAQ,CAAA,CAAA,CACrB,CACF,CAAA,CAAA,CAAA,CAIV,CAEA,MAAAlB,EAAemB,EAAAA,gBAAgBnB,CAAK"}
@@ -0,0 +1,2 @@
1
+ import{jsxs as m}from"react/jsx-runtime";import{cloneElement as a}from"react";import{p as e}from"./index-CZ41y9Hn.js";import{j as r}from"./joinClass-anSpaauN.js";function $({children:i,color:t,startIcon:o,disabled:p,...n}){const c=r(`${e}-select__option`,p&&`${e}-select__option--disabled`,t&&`${e}-select__option--${t}`,n.className);return m("button",{type:"button",...n,className:c,children:[o&&(s=>a(s,{type:"button",className:r(s.props.className,`${e}-select__option__icon`)}))(o),i]})}export{$ as O};
2
+ //# sourceMappingURL=Option-BU_FWsap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Option-BU_FWsap.js","sources":["../../src/fields/Select/Option.tsx"],"sourcesContent":["import { ButtonHTMLAttributes, cloneElement, ReactElement } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils';\nimport type { Colors } from '@iziui/core/theme';\n\nexport interface OptionProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n value: any;\n children: string;\n color?: Colors;\n startIcon?: React.JSX.Element | boolean;\n}\nexport default function Option({ children, color, startIcon, disabled, ...props }: OptionProps) {\n const className = joinClass(\n `${prefix}-select__option`,\n disabled && `${prefix}-select__option--disabled`,\n color && `${prefix}-select__option--${color}`,\n props.className\n );\n\n const renderIcon = (icon: ReactElement<ButtonHTMLAttributes<any>>) => {\n return cloneElement(icon, {\n type: 'button',\n className: joinClass(\n icon.props.className,\n `${prefix}-select__option__icon`,\n ),\n });\n };\n\n return (\n <button type=\"button\" {...props} className={className}>\n {startIcon && renderIcon(startIcon as React.JSX.Element)}\n {children}\n </button>\n );\n};"],"names":["Option","children","color","startIcon","disabled","props","className","joinClass","prefix","icon","cloneElement"],"mappings":"kKAaA,SAAwBA,EAAO,CAAE,SAAAC,EAAU,MAAAC,EAAO,UAAAC,EAAW,SAAAC,EAAU,GAAGC,GAAsB,CAC9F,MAAMC,EAAYC,EAChB,GAAGC,CAAM,kBACTJ,GAAY,GAAGI,CAAM,4BACrBN,GAAS,GAAGM,CAAM,oBAAoBN,CAAK,GAC3CG,EAAM,SAAA,EAaR,SACG,SAAA,CAAO,KAAK,SAAU,GAAGA,EAAO,UAAAC,EAC9B,SAAA,CAAAH,IAZeM,GACXC,EAAaD,EAAM,CACxB,KAAM,SACN,UAAWF,EACTE,EAAK,MAAM,UACX,GAAGD,CAAM,uBAAA,CACX,CACD,GAK0BL,CAA8B,EACtDF,CAAA,EACH,CAEJ"}
@@ -0,0 +1,2 @@
1
+ "use strict";const p=require("react/jsx-runtime"),u=require("react"),e=require("./index-DYxwT4uW.cjs"),o=require("./joinClass-Jk3EszKD.cjs");function _({children:r,color:t,startIcon:s,disabled:c,...n}){const l=o.joinClass(`${e.prefix}-select__option`,c&&`${e.prefix}-select__option--disabled`,t&&`${e.prefix}-select__option--${t}`,n.className),a=i=>u.cloneElement(i,{type:"button",className:o.joinClass(i.props.className,`${e.prefix}-select__option__icon`)});return p.jsxs("button",{type:"button",...n,className:l,children:[s&&a(s),r]})}exports.Option=_;
2
+ //# sourceMappingURL=Option-BrwvLgKT.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Option-BrwvLgKT.cjs","sources":["../../src/fields/Select/Option.tsx"],"sourcesContent":["import { ButtonHTMLAttributes, cloneElement, ReactElement } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils';\nimport type { Colors } from '@iziui/core/theme';\n\nexport interface OptionProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n value: any;\n children: string;\n color?: Colors;\n startIcon?: React.JSX.Element | boolean;\n}\nexport default function Option({ children, color, startIcon, disabled, ...props }: OptionProps) {\n const className = joinClass(\n `${prefix}-select__option`,\n disabled && `${prefix}-select__option--disabled`,\n color && `${prefix}-select__option--${color}`,\n props.className\n );\n\n const renderIcon = (icon: ReactElement<ButtonHTMLAttributes<any>>) => {\n return cloneElement(icon, {\n type: 'button',\n className: joinClass(\n icon.props.className,\n `${prefix}-select__option__icon`,\n ),\n });\n };\n\n return (\n <button type=\"button\" {...props} className={className}>\n {startIcon && renderIcon(startIcon as React.JSX.Element)}\n {children}\n </button>\n );\n};"],"names":["Option","children","color","startIcon","disabled","props","className","joinClass","prefix","renderIcon","icon","cloneElement"],"mappings":"6IAaA,SAAwBA,EAAO,CAAE,SAAAC,EAAU,MAAAC,EAAO,UAAAC,EAAW,SAAAC,EAAU,GAAGC,GAAsB,CAC9F,MAAMC,EAAYC,EAAAA,UAChB,GAAGC,EAAAA,MAAM,kBACTJ,GAAY,GAAGI,EAAAA,MAAM,4BACrBN,GAAS,GAAGM,EAAAA,MAAM,oBAAoBN,CAAK,GAC3CG,EAAM,SAAA,EAGFI,EAAcC,GACXC,EAAAA,aAAaD,EAAM,CACxB,KAAM,SACN,UAAWH,EAAAA,UACTG,EAAK,MAAM,UACX,GAAGF,EAAAA,MAAM,uBAAA,CACX,CACD,EAGH,cACG,SAAA,CAAO,KAAK,SAAU,GAAGH,EAAO,UAAAC,EAC9B,SAAA,CAAAH,GAAaM,EAAWN,CAA8B,EACtDF,CAAA,EACH,CAEJ"}
@@ -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"),M=require("./Icon-BN4Kp4Aq.cjs"),d=require("./useMenu-BfWmrq4L.cjs"),E=require("./createComponent-Bls5N6x8.cjs");function S({error:i,color:a="grey",position:j="bottom",label:u,helperText:p,startIcon:x,children:_,disabled:r,onChange:m,...n}){const C=o.Children.toArray(_),$=o.useMemo(()=>C.find(e=>e.props.value===n.value)?.props.children||"",[n.value]),[h,N,f]=d.useMenu(),v=l.joinClass(`${s.prefix}-select-container`),q=l.joinClass(`${s.prefix}-select-label`,i&&`${s.prefix}-select-label--error`),y=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`,p&&`${s.prefix}-select__helper-text--visible`,i&&`${s.prefix}-select__helper-text--error`),g=e=>o.cloneElement(e,{className:l.joinClass(e.props.className,`${s.prefix}-select__icon--left`),type:"button",style:{color:a},onClick:c=>{c.stopPropagation(),e.props.onClick&&!r&&e.props.onClick(c)}}),k=()=>C.map(e=>o.cloneElement(e,{color:a,className:l.joinClass(e.props.className,e.props.value===n.value&&`${s.prefix}-select__option--selected`),onClick:c=>{!e.props.disabled&&m&&m(c)}}));return t.jsxs("div",{className:v,children:[u&&t.jsxs("label",{className:q,children:[u," ",n.required&&"*"]}),t.jsxs("button",{type:"button",className:y,onClick:f,disabled:r,children:[t.jsx("div",{children:x&&g(x)}),t.jsx("input",{...n,readOnly:!0,type:"text",value:$,disabled:r}),t.jsx(M.Icon,{name:"angle-down",sx:{color:({grey:e})=>e.main},className:`${s.prefix}-select__icon--right`})]}),t.jsx(d.Menu,{autoClose:!0,position:j,direction:"center",open:h,anchorEl:N,onClose:f,children:k()}),t.jsx("span",{className:b,children:p})]})}const w=E.createComponent(S);exports.Select_default=w;
2
+ //# sourceMappingURL=Select-CBfG5CDU.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select-CBfG5CDU.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 color = 'grey',\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 style: { color },\n onClick: (e) => {\n e.stopPropagation();\n if (icon.props.onClick && !disabled) { icon.props.onClick(e); };\n }\n });\n };\n\n const renderOption = () => {\n return arrayChildren.map((child) => {\n return cloneElement(child, {\n color,\n className: joinClass(\n child.props.className,\n child.props.value === props.value && `${prefix}-select__option--selected`,\n ),\n onClick: (e) => {\n if (!child.props.disabled && onChange) { onChange(e as any); }\n }\n });\n });\n };\n\n return (\n <div className={containerClss}>\n {label && <label className={labelClss}>{label} {props.required && '*'}</label>}\n <button type=\"button\" className={clss} onClick={toggle} disabled={disabled}>\n <div>\n {startIcon && renderIcon(startIcon as React.JSX.Element)}\n </div>\n <input {...props} readOnly type=\"text\" value={newValue} disabled={disabled} />\n <Icon\n name=\"angle-down\"\n sx={{ color: ({ grey }) => grey.main }}\n className={`${prefix}-select__icon--right`}\n />\n </button>\n <Menu\n autoClose\n 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","color","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,MAAAC,EAAQ,OACR,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,gBACTrB,GAAS,GAAGqB,EAAAA,MAAM,sBAAA,EAGdE,EAAOH,EAAAA,UACX,GAAGC,EAAAA,MAAM,UACTd,GAAY,GAAGc,EAAAA,MAAM,oBACrBrB,GAAS,GAAGqB,EAAAA,MAAM,iBAClBZ,EAAM,SAAA,EAGFe,EAAiBJ,EAAAA,UACrB,GAAGC,EAAAA,MAAM,uBACTjB,GAAc,GAAGiB,EAAAA,MAAM,gCACvBrB,GAAS,GAAGqB,EAAAA,MAAM,6BAAA,EAGdI,EAAcC,GACXC,EAAAA,aAAaD,EAAM,CACxB,UAAWN,EAAAA,UACTM,EAAK,MAAM,UACX,GAAGL,EAAAA,MAAM,qBAAA,EAEX,KAAM,SACN,MAAO,CAAE,MAAApB,CAAA,EACT,QAAU2B,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,MAAAb,EACA,UAAWmB,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,gBAAgBrC,CAAM"}
@@ -0,0 +1,2 @@
1
+ import{jsxs as a,jsx as r}from"react/jsx-runtime";import{Children as S,useMemo as w,cloneElement as _}from"react";import{p as t}from"./index-CZ41y9Hn.js";import{j as l}from"./joinClass-anSpaauN.js";import{I as E}from"./Icon-DTU52KQE.js";import{u as I,M as O}from"./useMenu-B49hOh6R.js";import{c as q}from"./createComponent-BmdhWozT.js";function A({error:c,color:i="grey",position:$="bottom",label:m,helperText:p,startIcon:u,children:h,disabled:n,onChange:d,...s}){const f=S.toArray(h),N=w(()=>f.find(e=>e.props.value===s.value)?.props.children||"",[s.value]),[v,x,C]=I(),y=l(`${t}-select-container`),b=l(`${t}-select-label`,c&&`${t}-select-label--error`),g=l(`${t}-select`,n&&`${t}-select--disabled`,c&&`${t}-select--error`,s.className),k=l(`${t}-select__helper-text`,p&&`${t}-select__helper-text--visible`,c&&`${t}-select__helper-text--error`),j=e=>_(e,{className:l(e.props.className,`${t}-select__icon--left`),type:"button",style:{color:i},onClick:o=>{o.stopPropagation(),e.props.onClick&&!n&&e.props.onClick(o)}}),M=()=>f.map(e=>_(e,{color:i,className:l(e.props.className,e.props.value===s.value&&`${t}-select__option--selected`),onClick:o=>{!e.props.disabled&&d&&d(o)}}));return a("div",{className:y,children:[m&&a("label",{className:b,children:[m," ",s.required&&"*"]}),a("button",{type:"button",className:g,onClick:C,disabled:n,children:[r("div",{children:u&&j(u)}),r("input",{...s,readOnly:!0,type:"text",value:N,disabled:n}),r(E,{name:"angle-down",sx:{color:({grey:e})=>e.main},className:`${t}-select__icon--right`})]}),r(O,{autoClose:!0,position:$,direction:"center",open:v,anchorEl:x,onClose:C,children:M()}),r("span",{className:k,children:p})]})}const H=q(A);export{H as S};
2
+ //# sourceMappingURL=Select-D9o7DyOl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select-D9o7DyOl.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 color = 'grey',\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 style: { color },\n onClick: (e) => {\n e.stopPropagation();\n if (icon.props.onClick && !disabled) { icon.props.onClick(e); };\n }\n });\n };\n\n const renderOption = () => {\n return arrayChildren.map((child) => {\n return cloneElement(child, {\n color,\n className: joinClass(\n child.props.className,\n child.props.value === props.value && `${prefix}-select__option--selected`,\n ),\n onClick: (e) => {\n if (!child.props.disabled && onChange) { onChange(e as any); }\n }\n });\n });\n };\n\n return (\n <div className={containerClss}>\n {label && <label className={labelClss}>{label} {props.required && '*'}</label>}\n <button type=\"button\" className={clss} onClick={toggle} disabled={disabled}>\n <div>\n {startIcon && renderIcon(startIcon as React.JSX.Element)}\n </div>\n <input {...props} readOnly type=\"text\" value={newValue} disabled={disabled} />\n <Icon\n name=\"angle-down\"\n sx={{ color: ({ grey }) => grey.main }}\n className={`${prefix}-select__icon--right`}\n />\n </button>\n <Menu\n autoClose\n 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","color","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,MAAAC,EAAQ,OACR,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,gBACTrB,GAAS,GAAGqB,CAAM,sBAAA,EAGdE,EAAOH,EACX,GAAGC,CAAM,UACTd,GAAY,GAAGc,CAAM,oBACrBrB,GAAS,GAAGqB,CAAM,iBAClBZ,EAAM,SAAA,EAGFe,EAAiBJ,EACrB,GAAGC,CAAM,uBACTjB,GAAc,GAAGiB,CAAM,gCACvBrB,GAAS,GAAGqB,CAAM,6BAAA,EAGdI,EAAcC,GACXC,EAAaD,EAAM,CACxB,UAAWN,EACTM,EAAK,MAAM,UACX,GAAGL,CAAM,qBAAA,EAEX,KAAM,SACN,MAAO,CAAE,MAAApB,CAAA,EACT,QAAU2B,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,MAAAb,EACA,UAAWmB,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,EAAgBrC,CAAM"}
@@ -0,0 +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 +1 @@
1
- {"version":3,"file":"Typography-BeCR9fky.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":"yQAaO,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-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,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("./createComponent-Bls5N6x8.cjs"),b=require("./useTheme-DsrjDJKC.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}}=b.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=m.createComponent(x);exports.Typography=C;exports.variants=T;
2
- //# sourceMappingURL=Typography-cNb2fPDw.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-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 +1 @@
1
- {"version":3,"file":"Typography-cNb2fPDw.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-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,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Alert-BamYo9Fn.cjs");require("react/jsx-runtime");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/Stack-CF3Wyma9.cjs");require("react");require("../../chunks/createComponent-Bls5N6x8.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/Typography-cNb2fPDw.cjs");require("../../chunks/convertPathToColor-D8eBpd_D.cjs");require("../../chunks/ButtonIcon-Ccq88QaY.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/Icon-BN4Kp4Aq.cjs");exports.default=e.Alert;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Alert-DCB56IAI.cjs");require("react/jsx-runtime");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("react");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/Stack-CF3Wyma9.cjs");require("../../chunks/createComponent-Bls5N6x8.cjs");require("../../chunks/Typography-Ch-BLqCH.cjs");require("../../chunks/convertPathToColor-D8eBpd_D.cjs");require("../../chunks/ButtonIcon-Ccq88QaY.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/Icon-BN4Kp4Aq.cjs");exports.default=e.Alert;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import{A as b}from"../../chunks/Alert-D9ZINnNc.js";import"react/jsx-runtime";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/Stack-CHR_pZC4.js";import"react";import"../../chunks/createComponent-BmdhWozT.js";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/Typography-BeCR9fky.js";import"../../chunks/convertPathToColor-DtOjH4ZP.js";import"../../chunks/ButtonIcon-DMetcfYt.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/Icon-DTU52KQE.js";export{b as default};
1
+ import{A as b}from"../../chunks/Alert-CD6hOvos.js";import"react/jsx-runtime";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/useTheme-BYuNiCiH.js";import"react";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/Stack-CHR_pZC4.js";import"../../chunks/createComponent-BmdhWozT.js";import"../../chunks/Typography-B_WR62ip.js";import"../../chunks/convertPathToColor-DtOjH4ZP.js";import"../../chunks/ButtonIcon-DMetcfYt.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/Icon-DTU52KQE.js";export{b as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),n=require("react"),o=require("../../chunks/index-DYxwT4uW.cjs"),c=require("../../chunks/joinClass-Jk3EszKD.cjs"),V=require("../../chunks/uuid-omnJ9TjZ.cjs"),W=require("../../chunks/Icon-BN4Kp4Aq.cjs"),X=require("../../chunks/Stack-CF3Wyma9.cjs"),Y=require("../../chunks/Loading-DVK2G3KT.cjs"),Z=require("../../chunks/ButtonIcon-Ccq88QaY.cjs"),ee=require("../../chunks/Typography-cNb2fPDw.cjs"),A=require("../../chunks/useMenu-BfWmrq4L.cjs"),te=require("../../chunks/createComponent-Bls5N6x8.cjs");require("../../chunks/convertPathToColor-D8eBpd_D.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/useListenerResized-AwpsZLcP.cjs");require("../../chunks/Card-Bqgukgip.cjs");require("../../chunks/CardContent-DPL-tBOS.cjs");function re({label:$,error:x,position:L,disabled:i,startIcon:k,helperText:M,value:a,options:h=[],loading:j,debounceTime:P=300,onOpen:N,onChange:I,onSearch:p,renderOption:q,filterOptions:C,emptyContent:R=r.jsx(ee.Typography,{variant:"body2",color:"text.secondary",textAlign:"center",children:"No data"}),...v}){const[s,S,_]=A.useMenu(),[y,l]=n.useState(""),[m,u]=n.useState(-1),b=n.useRef(void 0),d=n.useMemo(()=>V.uuid(),[]),B=c.joinClass(`${o.prefix}-autocomplete`,i&&`${o.prefix}-autocomplete--disabled`,x&&`${o.prefix}-autocomplete--error`,v.className),K=c.joinClass(`${o.prefix}-autocomplete-container`),z=c.joinClass(`${o.prefix}-autocomplete-label`,x&&`${o.prefix}-autocomplete-label--error`),F=c.joinClass(`${o.prefix}-autocomplete__helper-text`,M&&`${o.prefix}-autocomplete__helper-text--visible`,x&&`${o.prefix}-autocomplete__helper-text--error`);n.useLayoutEffect(()=>{if(a==null){l("");return}const e=q(a);l(e.props.children)},[a]),n.useEffect(()=>{s||u(-1)},[s]);const U=e=>n.cloneElement(e,{className:c.joinClass(e.props.className,`${o.prefix}-autocomplete__icon--left`),type:"button",onClick:t=>{t.stopPropagation(),e.props.onClick&&!i&&e.props.onClick(t)}}),f=n.useMemo(()=>p||!C?h:h.filter(e=>C(e,y)),[h,y,p,C]),D=()=>{s&&_()},E=e=>{I(e),l(q(e).props.children)},G=()=>f.map((e,t)=>{const T=q(e),w=e===a,Q=t===m;return n.cloneElement(T,{id:`${d}-option-${t}`,role:"option","aria-selected":w,className:c.joinClass(T.props.className,(w||Q)&&`${o.prefix}-select__option--selected`),onMouseEnter:()=>u(t),onClick:()=>E(e)})}),H=e=>{l(e),u(-1),p&&(clearTimeout(b.current),b.current=setTimeout(()=>{p(e)},P))},g=e=>{i||s||(N&&N(),_(e))},J=e=>{if(!i)switch(e.key){case"ArrowDown":if(e.preventDefault(),!s){g(e);return}u(t=>Math.min(t+1,f.length-1));break;case"ArrowUp":e.preventDefault(),u(t=>Math.max(t-1,0));break;case"Enter":{const t=f[m];s&&t&&(e.preventDefault(),E(t),D());break}case"Escape":D();break}},O=e=>{e.stopPropagation(),clearTimeout(b.current),I(),l("")};return r.jsxs("div",{className:K,children:[$&&r.jsxs("label",{className:z,children:[$," ",v.required&&"*"]}),r.jsxs("div",{className:B,onClick:g,onFocus:g,children:[r.jsx("div",{children:k&&U(k)}),r.jsx("input",{...v,value:y,type:"text",role:"combobox","aria-expanded":s,"aria-controls":d,"aria-autocomplete":"list","aria-activedescendant":m>=0?`${d}-option-${m}`:void 0,onInput:e=>H(e.target.value),onKeyDown:J,disabled:i}),r.jsx(Z.ButtonIcon,{color:"grey",size:32,onMouseDown:e=>e.preventDefault(),onClick:O,className:`${o.prefix}-autocomplete__reset-button`,children:r.jsx(W.Icon,{name:"times"})})]}),r.jsxs(A.Menu,{id:d,role:"listbox",autoClose:!0,position:L,direction:"center",open:s,anchorEl:S,onClose:_,children:[j&&r.jsx(X.Stack,{justifyContent:"center",alignItems:"center",children:r.jsx(Y.Loading,{})}),!j&&G(),!j&&!f.length&&R]}),r.jsx("span",{className:F,children:M})]})}const oe=te.createComponent(re);exports.default=oe;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),n=require("react"),r=require("../../chunks/index-DYxwT4uW.cjs"),c=require("../../chunks/joinClass-Jk3EszKD.cjs"),V=require("../../chunks/uuid-omnJ9TjZ.cjs"),W=require("../../chunks/createComponent-Bls5N6x8.cjs"),X=require("../../chunks/Icon-BN4Kp4Aq.cjs"),Y=require("../../chunks/Stack-CF3Wyma9.cjs"),Z=require("../../chunks/Loading-DVK2G3KT.cjs"),ee=require("../../chunks/ButtonIcon-Ccq88QaY.cjs"),te=require("../../chunks/Typography-Ch-BLqCH.cjs"),w=require("../../chunks/useMenu-BfWmrq4L.cjs"),oe=require("../../chunks/Option-BrwvLgKT.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/convertPathToColor-D8eBpd_D.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/useListenerResized-AwpsZLcP.cjs");require("../../chunks/Card-Bqgukgip.cjs");require("../../chunks/CardContent-DPL-tBOS.cjs");function re({label:$,error:x,position:B,disabled:i,startIcon:k,helperText:M,value:l,options:h=[],loading:j,debounceTime:L=300,onOpen:N,onChange:I,onSearch:p,renderOption:q,filterOptions:C,emptyContent:P=o.jsx(te.Typography,{variant:"body2",color:"text.secondary",textAlign:"center",children:"No data"}),...y}){const[s,R,v]=w.useMenu(),[b,a]=n.useState(""),[m,u]=n.useState(-1),g=n.useRef(void 0),d=n.useMemo(()=>V.uuid(),[]),S=c.joinClass(`${r.prefix}-autocomplete`,i&&`${r.prefix}-autocomplete--disabled`,x&&`${r.prefix}-autocomplete--error`,y.className),K=c.joinClass(`${r.prefix}-autocomplete-container`),O=c.joinClass(`${r.prefix}-autocomplete-label`,x&&`${r.prefix}-autocomplete-label--error`),z=c.joinClass(`${r.prefix}-autocomplete__helper-text`,M&&`${r.prefix}-autocomplete__helper-text--visible`,x&&`${r.prefix}-autocomplete__helper-text--error`);n.useLayoutEffect(()=>{if(l==null){a("");return}const e=q(l);a(e.props.children)},[l]),n.useEffect(()=>{s||u(-1)},[s]);const F=e=>n.cloneElement(e,{className:c.joinClass(e.props.className,`${r.prefix}-autocomplete__icon--left`),type:"button",onClick:t=>{t.stopPropagation(),e.props.onClick&&!i&&e.props.onClick(t)}}),f=n.useMemo(()=>p||!C?h:h.filter(e=>C(e,b)),[h,b,p,C]),A=()=>{s&&v()},D=e=>{I(e),a(q(e).props.children)},U=()=>f.map((e,t)=>{const E=q(e),T=e===l,Q=t===m;return n.cloneElement(E,{id:`${d}-option-${t}`,role:"option","aria-selected":T,className:c.joinClass(E.props.className,(T||Q)&&`${r.prefix}-select__option--selected`),onMouseEnter:()=>u(t),onClick:()=>D(e)})}),G=e=>{a(e),u(-1),p&&(clearTimeout(g.current),g.current=setTimeout(()=>{p(e)},L))},_=e=>{i||s||(N&&N(),v(e))},H=e=>{if(!i)switch(e.key){case"ArrowDown":if(e.preventDefault(),!s){_(e);return}u(t=>Math.min(t+1,f.length-1));break;case"ArrowUp":e.preventDefault(),u(t=>Math.max(t-1,0));break;case"Enter":{const t=f[m];s&&t&&(e.preventDefault(),D(t),A());break}case"Escape":A();break}},J=e=>{e.stopPropagation(),clearTimeout(g.current),I(),a("")};return o.jsxs("div",{className:K,children:[$&&o.jsxs("label",{className:O,children:[$," ",y.required&&"*"]}),o.jsxs("div",{className:S,onClick:_,onFocus:_,children:[o.jsx("div",{children:k&&F(k)}),o.jsx("input",{...y,value:b,type:"text",role:"combobox","aria-expanded":s,"aria-controls":d,"aria-autocomplete":"list","aria-activedescendant":m>=0?`${d}-option-${m}`:void 0,onInput:e=>G(e.target.value),onKeyDown:H,disabled:i}),o.jsx(ee.ButtonIcon,{color:"grey",size:32,onMouseDown:e=>e.preventDefault(),onClick:J,className:`${r.prefix}-autocomplete__reset-button`,children:o.jsx(X.Icon,{name:"times"})})]}),o.jsxs(w.Menu,{id:d,role:"listbox",autoClose:!0,position:B,direction:"center",open:s,anchorEl:R,onClose:v,children:[j&&o.jsx(Y.Stack,{justifyContent:"center",alignItems:"center",children:o.jsx(Z.Loading,{})}),!j&&U(),!j&&!f.length&&P]}),o.jsx("span",{className:z,children:M})]})}const ne=W.createComponent(re);exports.AutocompleteButton=oe.Option;exports.Autocomplete=ne;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/fields/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import {\n useRef,\n useMemo,\n useState,\n useEffect,\n cloneElement,\n useLayoutEffect,\n type FocusEvent,\n type MouseEvent,\n type ReactElement,\n type KeyboardEvent,\n type InputHTMLAttributes,\n type ButtonHTMLAttributes,\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Sx } from '@iziui/core/system';\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport createComponent from '@/core';\nimport Icon from '@/display/Icon';\nimport Stack from '@/layout/Stack';\nimport Loading from '@/feedback/Loading';\nimport ButtonIcon from '@/actions/ButtonIcon';\nimport Typography from '@/display/Typography';\nimport { Menu, useMenu, type MenuProps } from '@/navigation/Menu';\n\nimport '@iziui/styles/components/Autocomplete.scss';\n\nexport interface AutocompleteProps<T>\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange'> {\n label?: string;\n error?: boolean;\n loading?: boolean;\n helperText?: string;\n value?: T;\n options: T[];\n position?: MenuProps['position'];\n startIcon?: React.JSX.Element | boolean;\n\n debounceTime?: number;\n\n onOpen?: () => void;\n onChange: (data?: T) => void;\n onSearch?: (term: string) => void;\n\n renderOption: (option: T) => React.JSX.Element;\n filterOptions?: (option: T, value?: string) => boolean;\n\n emptyContent?: React.JSX.Element;\n}\n\nfunction Autocomplete<T>({\n label,\n error,\n position,\n disabled,\n startIcon,\n helperText,\n\n value,\n options = [],\n loading,\n\n debounceTime = 300,\n\n onOpen,\n onChange,\n onSearch,\n\n renderOption,\n filterOptions,\n\n emptyContent = (\n <Typography variant=\"body2\" color=\"text.secondary\" textAlign=\"center\">\n No data\n </Typography>\n ),\n\n ...props\n}: AutocompleteProps<T>) {\n const [open, el, toggle] = useMenu();\n\n const [term, setTerm] = useState<string>('');\n const [activeIndex, setActiveIndex] = useState(-1);\n\n const searchTimer = useRef<ReturnType<typeof setTimeout>>(undefined);\n\n const id = useMemo(() => uuid(), []);\n\n const cls = joinClass(\n `${prefix}-autocomplete`,\n disabled && `${prefix}-autocomplete--disabled`,\n error && `${prefix}-autocomplete--error`,\n props.className\n );\n\n const containerClss = joinClass(\n `${prefix}-autocomplete-container`\n );\n\n const labelClss = joinClass(\n `${prefix}-autocomplete-label`,\n error && `${prefix}-autocomplete-label--error`,\n );\n\n const helperTextClss = joinClass(\n `${prefix}-autocomplete__helper-text`,\n helperText && `${prefix}-autocomplete__helper-text--visible`,\n error && `${prefix}-autocomplete__helper-text--error`\n );\n\n useLayoutEffect(() => {\n if (value === undefined || value === null) {\n setTerm('');\n return;\n }\n\n const child = renderOption(value);\n setTerm(child.props.children);\n }, [value]);\n\n useEffect(() => {\n if (open) { return; }\n setActiveIndex(-1);\n }, [open]);\n\n const renderIcon = (icon: ReactElement<ButtonHTMLAttributes<any>>) => {\n return cloneElement(icon, {\n className: joinClass(\n icon.props.className,\n `${prefix}-autocomplete__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 visibleOptions = useMemo(() => {\n if (onSearch || !filterOptions) { return options; }\n\n return options.filter((option) => filterOptions(option, term));\n }, [options, term, onSearch, filterOptions]);\n\n const closeMenu = () => {\n if (!open) { return; }\n toggle();\n };\n\n const selectOption = (option: T) => {\n onChange(option);\n setTerm(renderOption(option).props.children);\n };\n\n const _renderOptions = () => {\n return visibleOptions.map((o, index) => {\n const child = renderOption(o);\n const selected = o === value;\n const active = index === activeIndex;\n return cloneElement(child, {\n id: `${id}-option-${index}`,\n role: 'option',\n 'aria-selected': selected,\n className: joinClass(\n child.props.className,\n (selected || active) && `${prefix}-select__option--selected`,\n ),\n onMouseEnter: () => setActiveIndex(index),\n onClick: () => selectOption(o),\n });\n });\n };\n\n const handleInput = (value: string) => {\n setTerm(value);\n setActiveIndex(-1);\n\n if (!onSearch) { return; }\n\n clearTimeout(searchTimer.current);\n searchTimer.current = setTimeout(() => { onSearch(value); }, debounceTime);\n };\n\n const handleOpen = (\n e: MouseEvent<HTMLElement> | FocusEvent<HTMLElement> | KeyboardEvent<HTMLElement>\n ) => {\n if (disabled || open) { return; }\n if (onOpen) { onOpen(); }\n\n toggle(e as any);\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (disabled) { return; }\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n if (!open) { handleOpen(e); return; }\n setActiveIndex((prev) => Math.min(prev + 1, visibleOptions.length - 1));\n break;\n case 'ArrowUp':\n e.preventDefault();\n setActiveIndex((prev) => Math.max(prev - 1, 0));\n break;\n case 'Enter': {\n const target = visibleOptions[activeIndex];\n if (open && target) {\n e.preventDefault();\n selectOption(target);\n closeMenu();\n }\n break;\n }\n case 'Escape':\n closeMenu();\n break;\n }\n };\n\n const handleReset = (e: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>) => {\n e.stopPropagation();\n clearTimeout(searchTimer.current);\n onChange();\n setTerm('');\n };\n\n return (\n <div className={containerClss}>\n {label && <label className={labelClss}>{label} {props.required && '*'}</label>}\n <div\n className={cls}\n onClick={handleOpen}\n onFocus={handleOpen}\n >\n <div>\n {startIcon && renderIcon(startIcon as React.JSX.Element)}\n </div>\n <input\n {...props}\n value={term}\n type=\"text\"\n role=\"combobox\"\n aria-expanded={open}\n aria-controls={id}\n aria-autocomplete=\"list\"\n aria-activedescendant={activeIndex >= 0 ? `${id}-option-${activeIndex}` : undefined}\n onInput={(e: any) => handleInput(e.target.value)}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n />\n <ButtonIcon\n color=\"grey\"\n size={32}\n onMouseDown={(e) => e.preventDefault()}\n onClick={handleReset}\n className={`${prefix}-autocomplete__reset-button`}\n >\n <Icon name=\"times\" />\n </ButtonIcon>\n </div>\n <Menu\n id={id}\n role=\"listbox\"\n autoClose\n position={position}\n direction=\"center\"\n open={open}\n anchorEl={el}\n onClose={toggle}\n >\n {\n loading && (\n <Stack justifyContent=\"center\" alignItems=\"center\">\n <Loading />\n </Stack>\n )\n }\n {!loading && _renderOptions()}\n {!loading && !visibleOptions.length && emptyContent}\n </Menu>\n <span className={helperTextClss}>{helperText}</span>\n </div>\n );\n}\n\nexport default createComponent(Autocomplete) as <T>(\n props: Sx<AutocompleteProps<T>>\n) => React.JSX.Element;\n"],"names":["Autocomplete","label","error","position","disabled","startIcon","helperText","value","options","loading","debounceTime","onOpen","onChange","onSearch","renderOption","filterOptions","emptyContent","Typography","props","open","el","toggle","useMenu","term","setTerm","useState","activeIndex","setActiveIndex","searchTimer","useRef","id","useMemo","uuid","cls","joinClass","prefix","containerClss","labelClss","helperTextClss","useLayoutEffect","child","useEffect","renderIcon","icon","cloneElement","e","visibleOptions","option","closeMenu","selectOption","_renderOptions","o","index","selected","active","handleInput","handleOpen","handleKeyDown","prev","target","handleReset","jsxs","jsx","ButtonIcon","Icon","Menu","Stack","Loading","Autocomplete_default","createComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/fields/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import {\n useRef,\n useMemo,\n useState,\n useEffect,\n cloneElement,\n useLayoutEffect,\n type FocusEvent,\n type MouseEvent,\n type ReactElement,\n type KeyboardEvent,\n type InputHTMLAttributes,\n type ButtonHTMLAttributes,\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Sx } from '@iziui/core/system';\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport createComponent from '@/core';\nimport Icon from '@/display/Icon';\nimport Stack from '@/layout/Stack';\nimport Loading from '@/feedback/Loading';\nimport ButtonIcon from '@/actions/ButtonIcon';\nimport Typography from '@/display/Typography';\nimport { Menu, useMenu, type MenuProps } from '@/navigation/Menu';\n\nimport '@iziui/styles/components/Autocomplete.scss';\n\nexport interface AutocompleteProps<T>\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange'> {\n label?: string;\n error?: boolean;\n loading?: boolean;\n helperText?: string;\n value?: T;\n options: T[];\n position?: MenuProps['position'];\n startIcon?: React.JSX.Element | boolean;\n\n debounceTime?: number;\n\n onOpen?: () => void;\n onChange: (data?: T) => void;\n onSearch?: (term: string) => void;\n\n renderOption: (option: T) => React.JSX.Element;\n filterOptions?: (option: T, value?: string) => boolean;\n\n emptyContent?: React.JSX.Element;\n}\n\nfunction Autocomplete<T>({\n label,\n error,\n position,\n disabled,\n startIcon,\n helperText,\n\n value,\n options = [],\n loading,\n\n debounceTime = 300,\n\n onOpen,\n onChange,\n onSearch,\n\n renderOption,\n filterOptions,\n\n emptyContent = (\n <Typography variant=\"body2\" color=\"text.secondary\" textAlign=\"center\">\n No data\n </Typography>\n ),\n\n ...props\n}: AutocompleteProps<T>) {\n const [open, el, toggle] = useMenu();\n\n const [term, setTerm] = useState<string>('');\n const [activeIndex, setActiveIndex] = useState(-1);\n\n const searchTimer = useRef<ReturnType<typeof setTimeout>>(undefined);\n\n const id = useMemo(() => uuid(), []);\n\n const cls = joinClass(\n `${prefix}-autocomplete`,\n disabled && `${prefix}-autocomplete--disabled`,\n error && `${prefix}-autocomplete--error`,\n props.className\n );\n\n const containerClss = joinClass(\n `${prefix}-autocomplete-container`\n );\n\n const labelClss = joinClass(\n `${prefix}-autocomplete-label`,\n error && `${prefix}-autocomplete-label--error`,\n );\n\n const helperTextClss = joinClass(\n `${prefix}-autocomplete__helper-text`,\n helperText && `${prefix}-autocomplete__helper-text--visible`,\n error && `${prefix}-autocomplete__helper-text--error`\n );\n\n useLayoutEffect(() => {\n if (value === undefined || value === null) {\n setTerm('');\n return;\n }\n\n const child = renderOption(value);\n setTerm(child.props.children);\n }, [value]);\n\n useEffect(() => {\n if (open) { return; }\n setActiveIndex(-1);\n }, [open]);\n\n const renderIcon = (icon: ReactElement<ButtonHTMLAttributes<any>>) => {\n return cloneElement(icon, {\n className: joinClass(\n icon.props.className,\n `${prefix}-autocomplete__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 visibleOptions = useMemo(() => {\n if (onSearch || !filterOptions) { return options; }\n\n return options.filter((option) => filterOptions(option, term));\n }, [options, term, onSearch, filterOptions]);\n\n const closeMenu = () => {\n if (!open) { return; }\n toggle();\n };\n\n const selectOption = (option: T) => {\n onChange(option);\n setTerm(renderOption(option).props.children);\n };\n\n const _renderOptions = () => {\n return visibleOptions.map((o, index) => {\n const child = renderOption(o);\n const selected = o === value;\n const active = index === activeIndex;\n return cloneElement(child, {\n id: `${id}-option-${index}`,\n role: 'option',\n 'aria-selected': selected,\n className: joinClass(\n child.props.className,\n (selected || active) && `${prefix}-select__option--selected`,\n ),\n onMouseEnter: () => setActiveIndex(index),\n onClick: () => selectOption(o),\n });\n });\n };\n\n const handleInput = (value: string) => {\n setTerm(value);\n setActiveIndex(-1);\n\n if (!onSearch) { return; }\n\n clearTimeout(searchTimer.current);\n searchTimer.current = setTimeout(() => { onSearch(value); }, debounceTime);\n };\n\n const handleOpen = (\n e: MouseEvent<HTMLElement> | FocusEvent<HTMLElement> | KeyboardEvent<HTMLElement>\n ) => {\n if (disabled || open) { return; }\n if (onOpen) { onOpen(); }\n\n toggle(e as any);\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (disabled) { return; }\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n if (!open) { handleOpen(e); return; }\n setActiveIndex((prev) => Math.min(prev + 1, visibleOptions.length - 1));\n break;\n case 'ArrowUp':\n e.preventDefault();\n setActiveIndex((prev) => Math.max(prev - 1, 0));\n break;\n case 'Enter': {\n const target = visibleOptions[activeIndex];\n if (open && target) {\n e.preventDefault();\n selectOption(target);\n closeMenu();\n }\n break;\n }\n case 'Escape':\n closeMenu();\n break;\n }\n };\n\n const handleReset = (e: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>) => {\n e.stopPropagation();\n clearTimeout(searchTimer.current);\n onChange();\n setTerm('');\n };\n\n return (\n <div className={containerClss}>\n {label && <label className={labelClss}>{label} {props.required && '*'}</label>}\n <div\n className={cls}\n onClick={handleOpen}\n onFocus={handleOpen}\n >\n <div>\n {startIcon && renderIcon(startIcon as React.JSX.Element)}\n </div>\n <input\n {...props}\n value={term}\n type=\"text\"\n role=\"combobox\"\n aria-expanded={open}\n aria-controls={id}\n aria-autocomplete=\"list\"\n aria-activedescendant={activeIndex >= 0 ? `${id}-option-${activeIndex}` : undefined}\n onInput={(e: any) => handleInput(e.target.value)}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n />\n <ButtonIcon\n color=\"grey\"\n size={32}\n onMouseDown={(e) => e.preventDefault()}\n onClick={handleReset}\n className={`${prefix}-autocomplete__reset-button`}\n >\n <Icon name=\"times\" />\n </ButtonIcon>\n </div>\n <Menu\n id={id}\n role=\"listbox\"\n autoClose\n position={position}\n direction=\"center\"\n open={open}\n anchorEl={el}\n onClose={toggle}\n >\n {\n loading && (\n <Stack justifyContent=\"center\" alignItems=\"center\">\n <Loading />\n </Stack>\n )\n }\n {!loading && _renderOptions()}\n {!loading && !visibleOptions.length && emptyContent}\n </Menu>\n <span className={helperTextClss}>{helperText}</span>\n </div>\n );\n}\n\nexport default createComponent(Autocomplete) as <T>(\n props: Sx<AutocompleteProps<T>>\n) => React.JSX.Element;\n"],"names":["Autocomplete","label","error","position","disabled","startIcon","helperText","value","options","loading","debounceTime","onOpen","onChange","onSearch","renderOption","filterOptions","emptyContent","Typography","props","open","el","toggle","useMenu","term","setTerm","useState","activeIndex","setActiveIndex","searchTimer","useRef","id","useMemo","uuid","cls","joinClass","prefix","containerClss","labelClss","helperTextClss","useLayoutEffect","child","useEffect","renderIcon","icon","cloneElement","e","visibleOptions","option","closeMenu","selectOption","_renderOptions","o","index","selected","active","handleInput","handleOpen","handleKeyDown","prev","target","handleReset","jsxs","jsx","ButtonIcon","Icon","Menu","Stack","Loading","Autocomplete_default","createComponent"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{jsxs as d,jsx as n}from"react/jsx-runtime";import{useState as L,useRef as Y,useMemo as B,useLayoutEffect as Z,useEffect as O,cloneElement as K}from"react";import{p as o}from"../../chunks/index-CZ41y9Hn.js";import{j as c}from"../../chunks/joinClass-anSpaauN.js";import{u as ee}from"../../chunks/uuid-dGvr9vBZ.js";import{I as te}from"../../chunks/Icon-DTU52KQE.js";import{S as oe}from"../../chunks/Stack-CHR_pZC4.js";import{L as re}from"../../chunks/Loading-BjCfYdLa.js";import{B as ne}from"../../chunks/ButtonIcon-DMetcfYt.js";import{T as ce}from"../../chunks/Typography-BeCR9fky.js";import{u as se,M as ae}from"../../chunks/useMenu-B49hOh6R.js";import{c as le}from"../../chunks/createComponent-BmdhWozT.js";import"../../chunks/convertPathToColor-DtOjH4ZP.js";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/useListenerResized-Bnqxrt7k.js";import"../../chunks/Card-C2mSdoXV.js";import"../../chunks/CardContent-CViecz1a.js";function ie({label:g,error:h,position:P,disabled:s,startIcon:M,helperText:D,value:a,options:$=[],loading:v,debounceTime:R=300,onOpen:I,onChange:w,onSearch:m,renderOption:x,filterOptions:_,emptyContent:q=n(ce,{variant:"body2",color:"text.secondary",textAlign:"center",children:"No data"}),...C}){const[r,z,b]=se(),[k,l]=L(""),[p,i]=L(-1),y=Y(void 0),u=B(()=>ee(),[]),F=c(`${o}-autocomplete`,s&&`${o}-autocomplete--disabled`,h&&`${o}-autocomplete--error`,C.className),U=c(`${o}-autocomplete-container`),G=c(`${o}-autocomplete-label`,h&&`${o}-autocomplete-label--error`),H=c(`${o}-autocomplete__helper-text`,D&&`${o}-autocomplete__helper-text--visible`,h&&`${o}-autocomplete__helper-text--error`);Z(()=>{if(a==null){l("");return}const e=x(a);l(e.props.children)},[a]),O(()=>{r||i(-1)},[r]);const J=e=>K(e,{className:c(e.props.className,`${o}-autocomplete__icon--left`),type:"button",onClick:t=>{t.stopPropagation(),e.props.onClick&&!s&&e.props.onClick(t)}}),f=B(()=>m||!_?$:$.filter(e=>_(e,k)),[$,k,m,_]),E=()=>{r&&b()},T=e=>{w(e),l(x(e).props.children)},Q=()=>f.map((e,t)=>{const A=x(e),j=e===a,X=t===p;return K(A,{id:`${u}-option-${t}`,role:"option","aria-selected":j,className:c(A.props.className,(j||X)&&`${o}-select__option--selected`),onMouseEnter:()=>i(t),onClick:()=>T(e)})}),S=e=>{l(e),i(-1),m&&(clearTimeout(y.current),y.current=setTimeout(()=>{m(e)},R))},N=e=>{s||r||(I&&I(),b(e))},V=e=>{if(!s)switch(e.key){case"ArrowDown":if(e.preventDefault(),!r){N(e);return}i(t=>Math.min(t+1,f.length-1));break;case"ArrowUp":e.preventDefault(),i(t=>Math.max(t-1,0));break;case"Enter":{const t=f[p];r&&t&&(e.preventDefault(),T(t),E());break}case"Escape":E();break}},W=e=>{e.stopPropagation(),clearTimeout(y.current),w(),l("")};return d("div",{className:U,children:[g&&d("label",{className:G,children:[g," ",C.required&&"*"]}),d("div",{className:F,onClick:N,onFocus:N,children:[n("div",{children:M&&J(M)}),n("input",{...C,value:k,type:"text",role:"combobox","aria-expanded":r,"aria-controls":u,"aria-autocomplete":"list","aria-activedescendant":p>=0?`${u}-option-${p}`:void 0,onInput:e=>S(e.target.value),onKeyDown:V,disabled:s}),n(ne,{color:"grey",size:32,onMouseDown:e=>e.preventDefault(),onClick:W,className:`${o}-autocomplete__reset-button`,children:n(te,{name:"times"})})]}),d(ae,{id:u,role:"listbox",autoClose:!0,position:P,direction:"center",open:r,anchorEl:z,onClose:b,children:[v&&n(oe,{justifyContent:"center",alignItems:"center",children:n(re,{})}),!v&&Q(),!v&&!f.length&&q]}),n("span",{className:H,children:D})]})}const we=le(ie);export{we as default};
1
+ import{jsxs as d,jsx as n}from"react/jsx-runtime";import{useState as B,useRef as X,useMemo as L,useLayoutEffect as Y,useEffect as Z,cloneElement as K}from"react";import{p as o}from"../../chunks/index-CZ41y9Hn.js";import{j as c}from"../../chunks/joinClass-anSpaauN.js";import{u as ee}from"../../chunks/uuid-dGvr9vBZ.js";import{c as te}from"../../chunks/createComponent-BmdhWozT.js";import{I as oe}from"../../chunks/Icon-DTU52KQE.js";import{S as re}from"../../chunks/Stack-CHR_pZC4.js";import{L as ne}from"../../chunks/Loading-BjCfYdLa.js";import{B as ce}from"../../chunks/ButtonIcon-DMetcfYt.js";import{T as se}from"../../chunks/Typography-B_WR62ip.js";import{u as ae,M as le}from"../../chunks/useMenu-B49hOh6R.js";import{O as Te}from"../../chunks/Option-BU_FWsap.js";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/convertPathToColor-DtOjH4ZP.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/useListenerResized-Bnqxrt7k.js";import"../../chunks/Card-C2mSdoXV.js";import"../../chunks/CardContent-CViecz1a.js";function ie({label:g,error:h,position:P,disabled:s,startIcon:M,helperText:A,value:a,options:$=[],loading:x,debounceTime:R=300,onOpen:D,onChange:I,onSearch:m,renderOption:v,filterOptions:_,emptyContent:q=n(se,{variant:"body2",color:"text.secondary",textAlign:"center",children:"No data"}),...C}){const[r,z,b]=ae(),[k,l]=B(""),[p,i]=B(-1),y=X(void 0),u=L(()=>ee(),[]),F=c(`${o}-autocomplete`,s&&`${o}-autocomplete--disabled`,h&&`${o}-autocomplete--error`,C.className),U=c(`${o}-autocomplete-container`),G=c(`${o}-autocomplete-label`,h&&`${o}-autocomplete-label--error`),H=c(`${o}-autocomplete__helper-text`,A&&`${o}-autocomplete__helper-text--visible`,h&&`${o}-autocomplete__helper-text--error`);Y(()=>{if(a==null){l("");return}const e=v(a);l(e.props.children)},[a]),Z(()=>{r||i(-1)},[r]);const J=e=>K(e,{className:c(e.props.className,`${o}-autocomplete__icon--left`),type:"button",onClick:t=>{t.stopPropagation(),e.props.onClick&&!s&&e.props.onClick(t)}}),f=L(()=>m||!_?$:$.filter(e=>_(e,k)),[$,k,m,_]),w=()=>{r&&b()},E=e=>{I(e),l(v(e).props.children)},O=()=>f.map((e,t)=>{const T=v(e),j=e===a,W=t===p;return K(T,{id:`${u}-option-${t}`,role:"option","aria-selected":j,className:c(T.props.className,(j||W)&&`${o}-select__option--selected`),onMouseEnter:()=>i(t),onClick:()=>E(e)})}),Q=e=>{l(e),i(-1),m&&(clearTimeout(y.current),y.current=setTimeout(()=>{m(e)},R))},N=e=>{s||r||(D&&D(),b(e))},S=e=>{if(!s)switch(e.key){case"ArrowDown":if(e.preventDefault(),!r){N(e);return}i(t=>Math.min(t+1,f.length-1));break;case"ArrowUp":e.preventDefault(),i(t=>Math.max(t-1,0));break;case"Enter":{const t=f[p];r&&t&&(e.preventDefault(),E(t),w());break}case"Escape":w();break}},V=e=>{e.stopPropagation(),clearTimeout(y.current),I(),l("")};return d("div",{className:U,children:[g&&d("label",{className:G,children:[g," ",C.required&&"*"]}),d("div",{className:F,onClick:N,onFocus:N,children:[n("div",{children:M&&J(M)}),n("input",{...C,value:k,type:"text",role:"combobox","aria-expanded":r,"aria-controls":u,"aria-autocomplete":"list","aria-activedescendant":p>=0?`${u}-option-${p}`:void 0,onInput:e=>Q(e.target.value),onKeyDown:S,disabled:s}),n(ce,{color:"grey",size:32,onMouseDown:e=>e.preventDefault(),onClick:V,className:`${o}-autocomplete__reset-button`,children:n(oe,{name:"times"})})]}),d(le,{id:u,role:"listbox",autoClose:!0,position:P,direction:"center",open:r,anchorEl:z,onClose:b,children:[x&&n(re,{justifyContent:"center",alignItems:"center",children:n(ne,{})}),!x&&O(),!x&&!f.length&&q]}),n("span",{className:H,children:A})]})}const Ie=te(ie);export{Ie as Autocomplete,Te as AutocompleteButton};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/fields/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import {\n useRef,\n useMemo,\n useState,\n useEffect,\n cloneElement,\n useLayoutEffect,\n type FocusEvent,\n type MouseEvent,\n type ReactElement,\n type KeyboardEvent,\n type InputHTMLAttributes,\n type ButtonHTMLAttributes,\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Sx } from '@iziui/core/system';\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport createComponent from '@/core';\nimport Icon from '@/display/Icon';\nimport Stack from '@/layout/Stack';\nimport Loading from '@/feedback/Loading';\nimport ButtonIcon from '@/actions/ButtonIcon';\nimport Typography from '@/display/Typography';\nimport { Menu, useMenu, type MenuProps } from '@/navigation/Menu';\n\nimport '@iziui/styles/components/Autocomplete.scss';\n\nexport interface AutocompleteProps<T>\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange'> {\n label?: string;\n error?: boolean;\n loading?: boolean;\n helperText?: string;\n value?: T;\n options: T[];\n position?: MenuProps['position'];\n startIcon?: React.JSX.Element | boolean;\n\n debounceTime?: number;\n\n onOpen?: () => void;\n onChange: (data?: T) => void;\n onSearch?: (term: string) => void;\n\n renderOption: (option: T) => React.JSX.Element;\n filterOptions?: (option: T, value?: string) => boolean;\n\n emptyContent?: React.JSX.Element;\n}\n\nfunction Autocomplete<T>({\n label,\n error,\n position,\n disabled,\n startIcon,\n helperText,\n\n value,\n options = [],\n loading,\n\n debounceTime = 300,\n\n onOpen,\n onChange,\n onSearch,\n\n renderOption,\n filterOptions,\n\n emptyContent = (\n <Typography variant=\"body2\" color=\"text.secondary\" textAlign=\"center\">\n No data\n </Typography>\n ),\n\n ...props\n}: AutocompleteProps<T>) {\n const [open, el, toggle] = useMenu();\n\n const [term, setTerm] = useState<string>('');\n const [activeIndex, setActiveIndex] = useState(-1);\n\n const searchTimer = useRef<ReturnType<typeof setTimeout>>(undefined);\n\n const id = useMemo(() => uuid(), []);\n\n const cls = joinClass(\n `${prefix}-autocomplete`,\n disabled && `${prefix}-autocomplete--disabled`,\n error && `${prefix}-autocomplete--error`,\n props.className\n );\n\n const containerClss = joinClass(\n `${prefix}-autocomplete-container`\n );\n\n const labelClss = joinClass(\n `${prefix}-autocomplete-label`,\n error && `${prefix}-autocomplete-label--error`,\n );\n\n const helperTextClss = joinClass(\n `${prefix}-autocomplete__helper-text`,\n helperText && `${prefix}-autocomplete__helper-text--visible`,\n error && `${prefix}-autocomplete__helper-text--error`\n );\n\n useLayoutEffect(() => {\n if (value === undefined || value === null) {\n setTerm('');\n return;\n }\n\n const child = renderOption(value);\n setTerm(child.props.children);\n }, [value]);\n\n useEffect(() => {\n if (open) { return; }\n setActiveIndex(-1);\n }, [open]);\n\n const renderIcon = (icon: ReactElement<ButtonHTMLAttributes<any>>) => {\n return cloneElement(icon, {\n className: joinClass(\n icon.props.className,\n `${prefix}-autocomplete__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 visibleOptions = useMemo(() => {\n if (onSearch || !filterOptions) { return options; }\n\n return options.filter((option) => filterOptions(option, term));\n }, [options, term, onSearch, filterOptions]);\n\n const closeMenu = () => {\n if (!open) { return; }\n toggle();\n };\n\n const selectOption = (option: T) => {\n onChange(option);\n setTerm(renderOption(option).props.children);\n };\n\n const _renderOptions = () => {\n return visibleOptions.map((o, index) => {\n const child = renderOption(o);\n const selected = o === value;\n const active = index === activeIndex;\n return cloneElement(child, {\n id: `${id}-option-${index}`,\n role: 'option',\n 'aria-selected': selected,\n className: joinClass(\n child.props.className,\n (selected || active) && `${prefix}-select__option--selected`,\n ),\n onMouseEnter: () => setActiveIndex(index),\n onClick: () => selectOption(o),\n });\n });\n };\n\n const handleInput = (value: string) => {\n setTerm(value);\n setActiveIndex(-1);\n\n if (!onSearch) { return; }\n\n clearTimeout(searchTimer.current);\n searchTimer.current = setTimeout(() => { onSearch(value); }, debounceTime);\n };\n\n const handleOpen = (\n e: MouseEvent<HTMLElement> | FocusEvent<HTMLElement> | KeyboardEvent<HTMLElement>\n ) => {\n if (disabled || open) { return; }\n if (onOpen) { onOpen(); }\n\n toggle(e as any);\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (disabled) { return; }\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n if (!open) { handleOpen(e); return; }\n setActiveIndex((prev) => Math.min(prev + 1, visibleOptions.length - 1));\n break;\n case 'ArrowUp':\n e.preventDefault();\n setActiveIndex((prev) => Math.max(prev - 1, 0));\n break;\n case 'Enter': {\n const target = visibleOptions[activeIndex];\n if (open && target) {\n e.preventDefault();\n selectOption(target);\n closeMenu();\n }\n break;\n }\n case 'Escape':\n closeMenu();\n break;\n }\n };\n\n const handleReset = (e: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>) => {\n e.stopPropagation();\n clearTimeout(searchTimer.current);\n onChange();\n setTerm('');\n };\n\n return (\n <div className={containerClss}>\n {label && <label className={labelClss}>{label} {props.required && '*'}</label>}\n <div\n className={cls}\n onClick={handleOpen}\n onFocus={handleOpen}\n >\n <div>\n {startIcon && renderIcon(startIcon as React.JSX.Element)}\n </div>\n <input\n {...props}\n value={term}\n type=\"text\"\n role=\"combobox\"\n aria-expanded={open}\n aria-controls={id}\n aria-autocomplete=\"list\"\n aria-activedescendant={activeIndex >= 0 ? `${id}-option-${activeIndex}` : undefined}\n onInput={(e: any) => handleInput(e.target.value)}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n />\n <ButtonIcon\n color=\"grey\"\n size={32}\n onMouseDown={(e) => e.preventDefault()}\n onClick={handleReset}\n className={`${prefix}-autocomplete__reset-button`}\n >\n <Icon name=\"times\" />\n </ButtonIcon>\n </div>\n <Menu\n id={id}\n role=\"listbox\"\n autoClose\n position={position}\n direction=\"center\"\n open={open}\n anchorEl={el}\n onClose={toggle}\n >\n {\n loading && (\n <Stack justifyContent=\"center\" alignItems=\"center\">\n <Loading />\n </Stack>\n )\n }\n {!loading && _renderOptions()}\n {!loading && !visibleOptions.length && emptyContent}\n </Menu>\n <span className={helperTextClss}>{helperText}</span>\n </div>\n );\n}\n\nexport default createComponent(Autocomplete) as <T>(\n props: Sx<AutocompleteProps<T>>\n) => React.JSX.Element;\n"],"names":["Autocomplete","label","error","position","disabled","startIcon","helperText","value","options","loading","debounceTime","onOpen","onChange","onSearch","renderOption","filterOptions","emptyContent","Typography","props","open","el","toggle","useMenu","term","setTerm","useState","activeIndex","setActiveIndex","searchTimer","useRef","id","useMemo","uuid","cls","joinClass","prefix","containerClss","labelClss","helperTextClss","useLayoutEffect","child","useEffect","renderIcon","icon","cloneElement","e","visibleOptions","option","closeMenu","selectOption","_renderOptions","o","index","selected","active","handleInput","handleOpen","handleKeyDown","prev","target","handleReset","jsxs","jsx","ButtonIcon","Icon","Menu","Stack","Loading","Autocomplete_default","createComponent"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/fields/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import {\n useRef,\n useMemo,\n useState,\n useEffect,\n cloneElement,\n useLayoutEffect,\n type FocusEvent,\n type MouseEvent,\n type ReactElement,\n type KeyboardEvent,\n type InputHTMLAttributes,\n type ButtonHTMLAttributes,\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Sx } from '@iziui/core/system';\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport createComponent from '@/core';\nimport Icon from '@/display/Icon';\nimport Stack from '@/layout/Stack';\nimport Loading from '@/feedback/Loading';\nimport ButtonIcon from '@/actions/ButtonIcon';\nimport Typography from '@/display/Typography';\nimport { Menu, useMenu, type MenuProps } from '@/navigation/Menu';\n\nimport '@iziui/styles/components/Autocomplete.scss';\n\nexport interface AutocompleteProps<T>\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange'> {\n label?: string;\n error?: boolean;\n loading?: boolean;\n helperText?: string;\n value?: T;\n options: T[];\n position?: MenuProps['position'];\n startIcon?: React.JSX.Element | boolean;\n\n debounceTime?: number;\n\n onOpen?: () => void;\n onChange: (data?: T) => void;\n onSearch?: (term: string) => void;\n\n renderOption: (option: T) => React.JSX.Element;\n filterOptions?: (option: T, value?: string) => boolean;\n\n emptyContent?: React.JSX.Element;\n}\n\nfunction Autocomplete<T>({\n label,\n error,\n position,\n disabled,\n startIcon,\n helperText,\n\n value,\n options = [],\n loading,\n\n debounceTime = 300,\n\n onOpen,\n onChange,\n onSearch,\n\n renderOption,\n filterOptions,\n\n emptyContent = (\n <Typography variant=\"body2\" color=\"text.secondary\" textAlign=\"center\">\n No data\n </Typography>\n ),\n\n ...props\n}: AutocompleteProps<T>) {\n const [open, el, toggle] = useMenu();\n\n const [term, setTerm] = useState<string>('');\n const [activeIndex, setActiveIndex] = useState(-1);\n\n const searchTimer = useRef<ReturnType<typeof setTimeout>>(undefined);\n\n const id = useMemo(() => uuid(), []);\n\n const cls = joinClass(\n `${prefix}-autocomplete`,\n disabled && `${prefix}-autocomplete--disabled`,\n error && `${prefix}-autocomplete--error`,\n props.className\n );\n\n const containerClss = joinClass(\n `${prefix}-autocomplete-container`\n );\n\n const labelClss = joinClass(\n `${prefix}-autocomplete-label`,\n error && `${prefix}-autocomplete-label--error`,\n );\n\n const helperTextClss = joinClass(\n `${prefix}-autocomplete__helper-text`,\n helperText && `${prefix}-autocomplete__helper-text--visible`,\n error && `${prefix}-autocomplete__helper-text--error`\n );\n\n useLayoutEffect(() => {\n if (value === undefined || value === null) {\n setTerm('');\n return;\n }\n\n const child = renderOption(value);\n setTerm(child.props.children);\n }, [value]);\n\n useEffect(() => {\n if (open) { return; }\n setActiveIndex(-1);\n }, [open]);\n\n const renderIcon = (icon: ReactElement<ButtonHTMLAttributes<any>>) => {\n return cloneElement(icon, {\n className: joinClass(\n icon.props.className,\n `${prefix}-autocomplete__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 visibleOptions = useMemo(() => {\n if (onSearch || !filterOptions) { return options; }\n\n return options.filter((option) => filterOptions(option, term));\n }, [options, term, onSearch, filterOptions]);\n\n const closeMenu = () => {\n if (!open) { return; }\n toggle();\n };\n\n const selectOption = (option: T) => {\n onChange(option);\n setTerm(renderOption(option).props.children);\n };\n\n const _renderOptions = () => {\n return visibleOptions.map((o, index) => {\n const child = renderOption(o);\n const selected = o === value;\n const active = index === activeIndex;\n return cloneElement(child, {\n id: `${id}-option-${index}`,\n role: 'option',\n 'aria-selected': selected,\n className: joinClass(\n child.props.className,\n (selected || active) && `${prefix}-select__option--selected`,\n ),\n onMouseEnter: () => setActiveIndex(index),\n onClick: () => selectOption(o),\n });\n });\n };\n\n const handleInput = (value: string) => {\n setTerm(value);\n setActiveIndex(-1);\n\n if (!onSearch) { return; }\n\n clearTimeout(searchTimer.current);\n searchTimer.current = setTimeout(() => { onSearch(value); }, debounceTime);\n };\n\n const handleOpen = (\n e: MouseEvent<HTMLElement> | FocusEvent<HTMLElement> | KeyboardEvent<HTMLElement>\n ) => {\n if (disabled || open) { return; }\n if (onOpen) { onOpen(); }\n\n toggle(e as any);\n };\n\n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (disabled) { return; }\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n if (!open) { handleOpen(e); return; }\n setActiveIndex((prev) => Math.min(prev + 1, visibleOptions.length - 1));\n break;\n case 'ArrowUp':\n e.preventDefault();\n setActiveIndex((prev) => Math.max(prev - 1, 0));\n break;\n case 'Enter': {\n const target = visibleOptions[activeIndex];\n if (open && target) {\n e.preventDefault();\n selectOption(target);\n closeMenu();\n }\n break;\n }\n case 'Escape':\n closeMenu();\n break;\n }\n };\n\n const handleReset = (e: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>) => {\n e.stopPropagation();\n clearTimeout(searchTimer.current);\n onChange();\n setTerm('');\n };\n\n return (\n <div className={containerClss}>\n {label && <label className={labelClss}>{label} {props.required && '*'}</label>}\n <div\n className={cls}\n onClick={handleOpen}\n onFocus={handleOpen}\n >\n <div>\n {startIcon && renderIcon(startIcon as React.JSX.Element)}\n </div>\n <input\n {...props}\n value={term}\n type=\"text\"\n role=\"combobox\"\n aria-expanded={open}\n aria-controls={id}\n aria-autocomplete=\"list\"\n aria-activedescendant={activeIndex >= 0 ? `${id}-option-${activeIndex}` : undefined}\n onInput={(e: any) => handleInput(e.target.value)}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n />\n <ButtonIcon\n color=\"grey\"\n size={32}\n onMouseDown={(e) => e.preventDefault()}\n onClick={handleReset}\n className={`${prefix}-autocomplete__reset-button`}\n >\n <Icon name=\"times\" />\n </ButtonIcon>\n </div>\n <Menu\n id={id}\n role=\"listbox\"\n autoClose\n position={position}\n direction=\"center\"\n open={open}\n anchorEl={el}\n onClose={toggle}\n >\n {\n loading && (\n <Stack justifyContent=\"center\" alignItems=\"center\">\n <Loading />\n </Stack>\n )\n }\n {!loading && _renderOptions()}\n {!loading && !visibleOptions.length && emptyContent}\n </Menu>\n <span className={helperTextClss}>{helperText}</span>\n </div>\n );\n}\n\nexport default createComponent(Autocomplete) as <T>(\n props: Sx<AutocompleteProps<T>>\n) => React.JSX.Element;\n"],"names":["Autocomplete","label","error","position","disabled","startIcon","helperText","value","options","loading","debounceTime","onOpen","onChange","onSearch","renderOption","filterOptions","emptyContent","Typography","props","open","el","toggle","useMenu","term","setTerm","useState","activeIndex","setActiveIndex","searchTimer","useRef","id","useMemo","uuid","cls","joinClass","prefix","containerClss","labelClss","helperTextClss","useLayoutEffect","child","useEffect","renderIcon","icon","cloneElement","e","visibleOptions","option","closeMenu","selectOption","_renderOptions","o","index","selected","active","handleInput","handleOpen","handleKeyDown","prev","target","handleReset","jsxs","jsx","ButtonIcon","Icon","Menu","Stack","Loading","Autocomplete_default","createComponent"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),t=require("../../chunks/index-DYxwT4uW.cjs"),f=require("../../chunks/joinClass-Jk3EszKD.cjs"),d=require("../../chunks/Ripple-Dy4i91j1.cjs"),g=require("../../chunks/createComponent-Bls5N6x8.cjs"),v=require("../../chunks/Icon-BN4Kp4Aq.cjs"),x=require("../../chunks/Typography-cNb2fPDw.cjs");require("react");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/convertPathToColor-D8eBpd_D.cjs");function s(e){return e.normalize("NFD").trim().toLowerCase().replace(/a-zA-Z0-9_.-+/g,"").replace(/_/g,"").replace(/[^\w\s]/gi,"")}function m(e){const a=e.trim().split(" "),i=a.length===1,r=s(a[0]).charAt(0).toLocaleUpperCase(),c=i?s(a[0]).charAt(1).toLocaleUpperCase():s(a.reverse()[0]).charAt(0).toLocaleUpperCase();return r+c}function y({src:e,alt:a,name:i,size:r=40,variant:c="circular",color:u="primary",icon:l,...n}){const h=f.joinClass(`${t.prefix}-avatar`,`${t.prefix}-avatar--${c}`,`${t.prefix}-avatar--${u}`,e&&`${t.prefix}-avatar--image`,i&&`${t.prefix}-avatar--name`,!e&&!i||l&&`${t.prefix}-avatar--icon`,n.onClick&&`${t.prefix}-avatar--clickable`,n.className),p=()=>e?o.jsx("img",{src:e,alt:a,width:r,height:r,sizes:"100vw",loading:"lazy",style:{width:"100%",height:"auto"}}):i?o.jsx(x.Typography,{style:{fontSize:r/2,color:"currentColor"},children:m(i)}):l||o.jsx(v.Icon,{name:"user",size:r/1.6,style:{color:"currentColor"}});return o.jsxs("div",{...n,style:{width:r,height:r,...n.style},className:h,children:[p(),n.children,n.onClick&&o.jsx(d.Ripple,{})]})}const C=g.createComponent(y);exports.default=C;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),t=require("../../chunks/index-DYxwT4uW.cjs"),f=require("../../chunks/joinClass-Jk3EszKD.cjs"),d=require("../../chunks/Ripple-Dy4i91j1.cjs"),g=require("../../chunks/createComponent-Bls5N6x8.cjs"),v=require("../../chunks/Icon-BN4Kp4Aq.cjs"),x=require("../../chunks/Typography-Ch-BLqCH.cjs");require("react");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/convertPathToColor-D8eBpd_D.cjs");function s(e){return e.normalize("NFD").trim().toLowerCase().replace(/a-zA-Z0-9_.-+/g,"").replace(/_/g,"").replace(/[^\w\s]/gi,"")}function m(e){const a=e.trim().split(" "),i=a.length===1,r=s(a[0]).charAt(0).toLocaleUpperCase(),c=i?s(a[0]).charAt(1).toLocaleUpperCase():s(a.reverse()[0]).charAt(0).toLocaleUpperCase();return r+c}function y({src:e,alt:a,name:i,size:r=40,variant:c="circular",color:u="primary",icon:l,...n}){const h=f.joinClass(`${t.prefix}-avatar`,`${t.prefix}-avatar--${c}`,`${t.prefix}-avatar--${u}`,e&&`${t.prefix}-avatar--image`,i&&`${t.prefix}-avatar--name`,!e&&!i||l&&`${t.prefix}-avatar--icon`,n.onClick&&`${t.prefix}-avatar--clickable`,n.className),p=()=>e?o.jsx("img",{src:e,alt:a,width:r,height:r,sizes:"100vw",loading:"lazy",style:{width:"100%",height:"auto"}}):i?o.jsx(x.Typography,{style:{fontSize:r/2,color:"currentColor"},children:m(i)}):l||o.jsx(v.Icon,{name:"user",size:r/1.6,style:{color:"currentColor"}});return o.jsxs("div",{...n,style:{width:r,height:r,...n.style},className:h,children:[p(),n.children,n.onClick&&o.jsx(d.Ripple,{})]})}const C=g.createComponent(y);exports.default=C;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import{jsxs as h,jsx as n}from"react/jsx-runtime";import{p as r}from"../../chunks/index-CZ41y9Hn.js";import{j as u}from"../../chunks/joinClass-anSpaauN.js";import{R as g}from"../../chunks/Ripple-Bq9bxg4k.js";import{c as v}from"../../chunks/createComponent-BmdhWozT.js";import{I as d}from"../../chunks/Icon-DTU52KQE.js";import{T as C}from"../../chunks/Typography-BeCR9fky.js";import"react";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/convertPathToColor-DtOjH4ZP.js";function s(t){return t.normalize("NFD").trim().toLowerCase().replace(/a-zA-Z0-9_.-+/g,"").replace(/_/g,"").replace(/[^\w\s]/gi,"")}function y(t){const e=t.trim().split(" "),o=e.length===1,a=s(e[0]).charAt(0).toLocaleUpperCase(),l=o?s(e[0]).charAt(1).toLocaleUpperCase():s(e.reverse()[0]).charAt(0).toLocaleUpperCase();return a+l}function $({src:t,alt:e,name:o,size:a=40,variant:l="circular",color:m="primary",icon:c,...i}){const p=u(`${r}-avatar`,`${r}-avatar--${l}`,`${r}-avatar--${m}`,t&&`${r}-avatar--image`,o&&`${r}-avatar--name`,!t&&!o||c&&`${r}-avatar--icon`,i.onClick&&`${r}-avatar--clickable`,i.className),f=()=>t?n("img",{src:t,alt:e,width:a,height:a,sizes:"100vw",loading:"lazy",style:{width:"100%",height:"auto"}}):o?n(C,{style:{fontSize:a/2,color:"currentColor"},children:y(o)}):c||n(d,{name:"user",size:a/1.6,style:{color:"currentColor"}});return h("div",{...i,style:{width:a,height:a,...i.style},className:p,children:[f(),i.children,i.onClick&&n(g,{})]})}const R=v($);export{R as default};
1
+ import{jsxs as h,jsx as n}from"react/jsx-runtime";import{p as r}from"../../chunks/index-CZ41y9Hn.js";import{j as u}from"../../chunks/joinClass-anSpaauN.js";import{R as g}from"../../chunks/Ripple-Bq9bxg4k.js";import{c as v}from"../../chunks/createComponent-BmdhWozT.js";import{I as d}from"../../chunks/Icon-DTU52KQE.js";import{T as C}from"../../chunks/Typography-B_WR62ip.js";import"react";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/convertPathToColor-DtOjH4ZP.js";function s(t){return t.normalize("NFD").trim().toLowerCase().replace(/a-zA-Z0-9_.-+/g,"").replace(/_/g,"").replace(/[^\w\s]/gi,"")}function y(t){const e=t.trim().split(" "),o=e.length===1,a=s(e[0]).charAt(0).toLocaleUpperCase(),l=o?s(e[0]).charAt(1).toLocaleUpperCase():s(e.reverse()[0]).charAt(0).toLocaleUpperCase();return a+l}function $({src:t,alt:e,name:o,size:a=40,variant:l="circular",color:m="primary",icon:c,...i}){const p=u(`${r}-avatar`,`${r}-avatar--${l}`,`${r}-avatar--${m}`,t&&`${r}-avatar--image`,o&&`${r}-avatar--name`,!t&&!o||c&&`${r}-avatar--icon`,i.onClick&&`${r}-avatar--clickable`,i.className),f=()=>t?n("img",{src:t,alt:e,width:a,height:a,sizes:"100vw",loading:"lazy",style:{width:"100%",height:"auto"}}):o?n(C,{style:{fontSize:a/2,color:"currentColor"},children:y(o)}):c||n(d,{name:"user",size:a/1.6,style:{color:"currentColor"}});return h("div",{...i,style:{width:a,height:a,...i.style},className:p,children:[f(),i.children,i.onClick&&n(g,{})]})}const R=v($);export{R as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),a=require("react"),e=require("../../chunks/index-DYxwT4uW.cjs"),o=require("../../chunks/joinClass-Jk3EszKD.cjs"),p=require("../../chunks/Ripple-Dy4i91j1.cjs"),j=require("../../chunks/createComponent-Bls5N6x8.cjs"),C=require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");const _=a.forwardRef(({label:n,icon:t,size:u="medium",color:l="default",variant:d="contained",onDelete:c,...s},h)=>{const{theme:{mode:m}}=C.useTheme(),x=o.joinClass(`${e.prefix}-chip`,`${e.prefix}-chip--${m}`,`${e.prefix}-chip--${l}`,`${e.prefix}-chip--${l}--${d}`,`${e.prefix}-chip--${u}`,c&&`${e.prefix}-chip--deletable`,s.onClick&&`${e.prefix}-chip--clickable`,s.className),f=r=>a.cloneElement(r,{size:14,className:o.joinClass(r.props.className,`${e.prefix}-chip__icon`,n&&`${e.prefix}-chip__icon--margin`)}),$=r=>{r.stopPropagation(),c&&c()};return i.jsxs("div",{...s,ref:h,className:x,style:{...s.style},children:[t&&f(t),i.jsx("span",{children:n}),s.onClick&&i.jsx(p.Ripple,{}),c&&i.jsxs("button",{className:`${e.prefix}-chip__delete-icon`,onClick:$,children:[i.jsx("i",{className:"uil uil-times-circle"}),i.jsx(p.Ripple,{})]})]})}),q=j.createComponent(_);exports.default=q;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),a=require("react"),e=require("../../chunks/index-DYxwT4uW.cjs"),o=require("../../chunks/joinClass-Jk3EszKD.cjs"),p=require("../../chunks/Ripple-Dy4i91j1.cjs"),j=require("../../chunks/useTheme-DsrjDJKC.cjs"),C=require("../../chunks/createComponent-Bls5N6x8.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");const _=a.forwardRef(({label:n,icon:t,size:u="medium",color:l="default",variant:d="contained",onDelete:c,...s},h)=>{const{theme:{mode:m}}=j.useTheme(),x=o.joinClass(`${e.prefix}-chip`,`${e.prefix}-chip--${m}`,`${e.prefix}-chip--${l}`,`${e.prefix}-chip--${l}--${d}`,`${e.prefix}-chip--${u}`,c&&`${e.prefix}-chip--deletable`,s.onClick&&`${e.prefix}-chip--clickable`,s.className),f=r=>a.cloneElement(r,{size:14,className:o.joinClass(r.props.className,`${e.prefix}-chip__icon`,n&&`${e.prefix}-chip__icon--margin`)}),$=r=>{r.stopPropagation(),c&&c()};return i.jsxs("div",{...s,ref:h,className:x,style:{...s.style},children:[t&&f(t),i.jsx("span",{children:n}),s.onClick&&i.jsx(p.Ripple,{}),c&&i.jsxs("button",{className:`${e.prefix}-chip__delete-icon`,onClick:$,children:[i.jsx("i",{className:"uil uil-times-circle"}),i.jsx(p.Ripple,{})]})]})}),q=C.createComponent(_);exports.default=q;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import{jsxs as r,jsx as t}from"react/jsx-runtime";import{forwardRef as _,cloneElement as N}from"react";import{p as i}from"../../chunks/index-CZ41y9Hn.js";import{j as l}from"../../chunks/joinClass-anSpaauN.js";import{R as n}from"../../chunks/Ripple-Bq9bxg4k.js";import{c as j}from"../../chunks/createComponent-BmdhWozT.js";import{u as k}from"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";const x=_(({label:a,icon:m,size:p="medium",color:o="default",variant:h="contained",onDelete:c,...e},d)=>{const{theme:{mode:$}}=k(),f=l(`${i}-chip`,`${i}-chip--${$}`,`${i}-chip--${o}`,`${i}-chip--${o}--${h}`,`${i}-chip--${p}`,c&&`${i}-chip--deletable`,e.onClick&&`${i}-chip--clickable`,e.className),u=s=>N(s,{size:14,className:l(s.props.className,`${i}-chip__icon`,a&&`${i}-chip__icon--margin`)}),C=s=>{s.stopPropagation(),c&&c()};return r("div",{...e,ref:d,className:f,style:{...e.style},children:[m&&u(m),t("span",{children:a}),e.onClick&&t(n,{}),c&&r("button",{className:`${i}-chip__delete-icon`,onClick:C,children:[t("i",{className:"uil uil-times-circle"}),t(n,{})]})]})}),I=j(x);export{I as default};
1
+ import{jsxs as r,jsx as t}from"react/jsx-runtime";import{forwardRef as _,cloneElement as N}from"react";import{p as i}from"../../chunks/index-CZ41y9Hn.js";import{j as l}from"../../chunks/joinClass-anSpaauN.js";import{R as n}from"../../chunks/Ripple-Bq9bxg4k.js";import{u as j}from"../../chunks/useTheme-BYuNiCiH.js";import{c as k}from"../../chunks/createComponent-BmdhWozT.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";const x=_(({label:a,icon:m,size:p="medium",color:o="default",variant:h="contained",onDelete:c,...e},d)=>{const{theme:{mode:$}}=j(),f=l(`${i}-chip`,`${i}-chip--${$}`,`${i}-chip--${o}`,`${i}-chip--${o}--${h}`,`${i}-chip--${p}`,c&&`${i}-chip--deletable`,e.onClick&&`${i}-chip--clickable`,e.className),u=s=>N(s,{size:14,className:l(s.props.className,`${i}-chip__icon`,a&&`${i}-chip__icon--margin`)}),C=s=>{s.stopPropagation(),c&&c()};return r("div",{...e,ref:d,className:f,style:{...e.style},children:[m&&u(m),t("span",{children:a}),e.onClick&&t(n,{}),c&&r("button",{className:`${i}-chip__delete-icon`,onClick:C,children:[t("i",{className:"uil uil-times-circle"}),t(n,{})]})]})}),I=k(x);export{I as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),d=require("react"),e=require("../../chunks/index-DYxwT4uW.cjs"),s=require("../../chunks/joinClass-Jk3EszKD.cjs"),x=require("../../chunks/generateSupportColors-CTMoGhDf.cjs"),P=require("../../chunks/uuid-omnJ9TjZ.cjs"),R=require("../../chunks/Box-CNg55MFq.cjs"),C=require("../../chunks/Icon-BN4Kp4Aq.cjs"),E=require("../../chunks/Stack-CF3Wyma9.cjs"),_=require("../../chunks/useMenu-BfWmrq4L.cjs"),I=require("../../chunks/createComponent-Bls5N6x8.cjs"),O=require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/useListenerResized-AwpsZLcP.cjs");require("../../chunks/Card-Bqgukgip.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/CardContent-DPL-tBOS.cjs");const k=["#00aae6","#2e72fe","#6f4dff","#9f40f1","#9e2dbf","#db5bdc","#ea479b","#ff83a8","#d80051","#eb3d32","#fa8d2f","#f5cd2b","#93ca00","#62d26f","#38c5ab","#87969f"];function T({label:n,error:i,helperText:t,fitContent:m,value:c=k[0],autoClose:b,onChange:j,onInput:h,...$}){const{theme:{palette:a}}=O.useTheme(),l=d.useRef(null),[q,g,u]=_.useMenu(),p=d.useMemo(()=>P.uuid(),[]),N=s.joinClass(`${e.prefix}-color-picker__label`,i&&`${e.prefix}-color-picker__label--error`),y=s.joinClass(`${e.prefix}-color-picker-container`,i&&`${e.prefix}-color-picker-container--error`),v=s.joinClass(`${e.prefix}-color-picker`,i&&`${e.prefix}-color-picker--error`),M=s.joinClass(`${e.prefix}-color-picker__value`,i&&`${e.prefix}-color-picker__value--error`),S=s.joinClass(`${e.prefix}-color-picker__helper-text`,t&&`${e.prefix}-color-picker__helper-text--visible`,i&&`${e.prefix}-color-picker__helper-text--error`),f=o=>s.joinClass(`${e.prefix}-color-picker__color__icon`,c===o&&`${e.prefix}-color-picker__color__icon--visible`);function w(o){l.current&&(l.current.value=o,l.current.dispatchEvent(new Event("input",{bubbles:!0})))}return r.jsxs("div",{className:y,children:[n&&r.jsxs("label",{className:N,children:[n," ",$.required&&"*"]}),r.jsxs("button",{type:"button",onClick:u,className:v,children:[r.jsx("div",{className:`${e.prefix}-color-picker__preview`,children:r.jsx("div",{style:{backgroundColor:c}})}),r.jsx("div",{className:M,children:c})]}),r.jsx("span",{className:S,children:t}),r.jsx(_.Menu,{direction:"left",autoClose:b,open:q,anchorEl:g,width:m?"fit-content":"",onClose:u,children:r.jsx(R.Box,{sx:{p:1},children:r.jsxs(E.Stack,{gap:8,flexDirection:"row",justifyContent:"center",style:{flexWrap:"wrap"},children:[k.map(o=>r.jsx("button",{type:"button",className:`${e.prefix}-color-picker__color`,onClick:()=>w(o),style:{backgroundColor:o},children:r.jsx(C.Icon,{name:"check",className:f(o),style:{color:x.getContrastColor(c)}})},o)),r.jsxs("label",{htmlFor:`color-picker-${p}`,className:`${e.prefix}-color-picker__color`,style:{backgroundColor:a.grey.main},children:[r.jsx(C.Icon,{name:"plus",className:f(c),style:{color:x.getContrastColor(a.grey.main)}}),r.jsx("input",{ref:l,type:"color",id:`color-picker-${p}`,value:c,onChange:j,onInput:h})]})]})})})]})}const B=I.createComponent(T);exports.default=B;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),d=require("react"),e=require("../../chunks/index-DYxwT4uW.cjs"),s=require("../../chunks/joinClass-Jk3EszKD.cjs"),x=require("../../chunks/generateSupportColors-CTMoGhDf.cjs"),P=require("../../chunks/uuid-omnJ9TjZ.cjs"),R=require("../../chunks/Box-CNg55MFq.cjs"),C=require("../../chunks/Icon-BN4Kp4Aq.cjs"),E=require("../../chunks/Stack-CF3Wyma9.cjs"),I=require("../../chunks/useTheme-DsrjDJKC.cjs"),_=require("../../chunks/useMenu-BfWmrq4L.cjs"),O=require("../../chunks/createComponent-Bls5N6x8.cjs");require("../../chunks/useListenerResized-AwpsZLcP.cjs");require("../../chunks/Card-Bqgukgip.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/CardContent-DPL-tBOS.cjs");const k=["#00aae6","#2e72fe","#6f4dff","#9f40f1","#9e2dbf","#db5bdc","#ea479b","#ff83a8","#d80051","#eb3d32","#fa8d2f","#f5cd2b","#93ca00","#62d26f","#38c5ab","#87969f"];function T({label:n,error:i,helperText:t,fitContent:m,value:c=k[0],autoClose:b,onChange:j,onInput:h,...$}){const{theme:{palette:a}}=I.useTheme(),l=d.useRef(null),[q,g,u]=_.useMenu(),p=d.useMemo(()=>P.uuid(),[]),N=s.joinClass(`${e.prefix}-color-picker__label`,i&&`${e.prefix}-color-picker__label--error`),y=s.joinClass(`${e.prefix}-color-picker-container`,i&&`${e.prefix}-color-picker-container--error`),v=s.joinClass(`${e.prefix}-color-picker`,i&&`${e.prefix}-color-picker--error`),M=s.joinClass(`${e.prefix}-color-picker__value`,i&&`${e.prefix}-color-picker__value--error`),S=s.joinClass(`${e.prefix}-color-picker__helper-text`,t&&`${e.prefix}-color-picker__helper-text--visible`,i&&`${e.prefix}-color-picker__helper-text--error`),f=o=>s.joinClass(`${e.prefix}-color-picker__color__icon`,c===o&&`${e.prefix}-color-picker__color__icon--visible`);function w(o){l.current&&(l.current.value=o,l.current.dispatchEvent(new Event("input",{bubbles:!0})))}return r.jsxs("div",{className:y,children:[n&&r.jsxs("label",{className:N,children:[n," ",$.required&&"*"]}),r.jsxs("button",{type:"button",onClick:u,className:v,children:[r.jsx("div",{className:`${e.prefix}-color-picker__preview`,children:r.jsx("div",{style:{backgroundColor:c}})}),r.jsx("div",{className:M,children:c})]}),r.jsx("span",{className:S,children:t}),r.jsx(_.Menu,{direction:"left",autoClose:b,open:q,anchorEl:g,width:m?"fit-content":"",onClose:u,children:r.jsx(R.Box,{sx:{p:1},children:r.jsxs(E.Stack,{gap:8,flexDirection:"row",justifyContent:"center",style:{flexWrap:"wrap"},children:[k.map(o=>r.jsx("button",{type:"button",className:`${e.prefix}-color-picker__color`,onClick:()=>w(o),style:{backgroundColor:o},children:r.jsx(C.Icon,{name:"check",className:f(o),style:{color:x.getContrastColor(c)}})},o)),r.jsxs("label",{htmlFor:`color-picker-${p}`,className:`${e.prefix}-color-picker__color`,style:{backgroundColor:a.grey.main},children:[r.jsx(C.Icon,{name:"plus",className:f(c),style:{color:x.getContrastColor(a.grey.main)}}),r.jsx("input",{ref:l,type:"color",id:`color-picker-${p}`,value:c,onChange:j,onInput:h})]})]})})})]})}const B=O.createComponent(T);exports.default=B;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import{jsxs as i,jsx as e}from"react/jsx-runtime";import{useRef as P,useMemo as R}from"react";import{p as o}from"../../chunks/index-CZ41y9Hn.js";import{j as l}from"../../chunks/joinClass-anSpaauN.js";import{b as u}from"../../chunks/generateSupportColors-BN5t8dA-.js";import{u as S}from"../../chunks/uuid-dGvr9vBZ.js";import{B}from"../../chunks/Box-DqBZgXYR.js";import{I as _}from"../../chunks/Icon-DTU52KQE.js";import{S as I}from"../../chunks/Stack-CHR_pZC4.js";import{u as O,M as q}from"../../chunks/useMenu-B49hOh6R.js";import{c as D}from"../../chunks/createComponent-BmdhWozT.js";import{u as F}from"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/useListenerResized-Bnqxrt7k.js";import"../../chunks/Card-C2mSdoXV.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/CardContent-CViecz1a.js";const k=["#00aae6","#2e72fe","#6f4dff","#9f40f1","#9e2dbf","#db5bdc","#ea479b","#ff83a8","#d80051","#eb3d32","#fa8d2f","#f5cd2b","#93ca00","#62d26f","#38c5ab","#87969f"];function L({label:s,error:t,helperText:a,fitContent:b,value:c=k[0],autoClose:h,onChange:C,onInput:$,...N}){const{theme:{palette:p}}=F(),n=P(null),[y,x,m]=O(),f=R(()=>S(),[]),g=l(`${o}-color-picker__label`,t&&`${o}-color-picker__label--error`),v=l(`${o}-color-picker-container`,t&&`${o}-color-picker-container--error`),j=l(`${o}-color-picker`,t&&`${o}-color-picker--error`),w=l(`${o}-color-picker__value`,t&&`${o}-color-picker__value--error`),M=l(`${o}-color-picker__helper-text`,a&&`${o}-color-picker__helper-text--visible`,t&&`${o}-color-picker__helper-text--error`),d=r=>l(`${o}-color-picker__color__icon`,c===r&&`${o}-color-picker__color__icon--visible`);function E(r){n.current&&(n.current.value=r,n.current.dispatchEvent(new Event("input",{bubbles:!0})))}return i("div",{className:v,children:[s&&i("label",{className:g,children:[s," ",N.required&&"*"]}),i("button",{type:"button",onClick:m,className:j,children:[e("div",{className:`${o}-color-picker__preview`,children:e("div",{style:{backgroundColor:c}})}),e("div",{className:w,children:c})]}),e("span",{className:M,children:a}),e(q,{direction:"left",autoClose:h,open:y,anchorEl:x,width:b?"fit-content":"",onClose:m,children:e(B,{sx:{p:1},children:i(I,{gap:8,flexDirection:"row",justifyContent:"center",style:{flexWrap:"wrap"},children:[k.map(r=>e("button",{type:"button",className:`${o}-color-picker__color`,onClick:()=>E(r),style:{backgroundColor:r},children:e(_,{name:"check",className:d(r),style:{color:u(c)}})},r)),i("label",{htmlFor:`color-picker-${f}`,className:`${o}-color-picker__color`,style:{backgroundColor:p.grey.main},children:[e(_,{name:"plus",className:d(c),style:{color:u(p.grey.main)}}),e("input",{ref:n,type:"color",id:`color-picker-${f}`,value:c,onChange:C,onInput:$})]})]})})})]})}const ro=D(L);export{ro as default};
1
+ import{jsxs as i,jsx as e}from"react/jsx-runtime";import{useRef as P,useMemo as R}from"react";import{p as o}from"../../chunks/index-CZ41y9Hn.js";import{j as l}from"../../chunks/joinClass-anSpaauN.js";import{b as u}from"../../chunks/generateSupportColors-BN5t8dA-.js";import{u as S}from"../../chunks/uuid-dGvr9vBZ.js";import{B}from"../../chunks/Box-DqBZgXYR.js";import{I as _}from"../../chunks/Icon-DTU52KQE.js";import{S as I}from"../../chunks/Stack-CHR_pZC4.js";import{u as O}from"../../chunks/useTheme-BYuNiCiH.js";import{u as q,M as D}from"../../chunks/useMenu-B49hOh6R.js";import{c as F}from"../../chunks/createComponent-BmdhWozT.js";import"../../chunks/useListenerResized-Bnqxrt7k.js";import"../../chunks/Card-C2mSdoXV.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/CardContent-CViecz1a.js";const k=["#00aae6","#2e72fe","#6f4dff","#9f40f1","#9e2dbf","#db5bdc","#ea479b","#ff83a8","#d80051","#eb3d32","#fa8d2f","#f5cd2b","#93ca00","#62d26f","#38c5ab","#87969f"];function L({label:s,error:t,helperText:a,fitContent:b,value:c=k[0],autoClose:h,onChange:C,onInput:$,...N}){const{theme:{palette:p}}=O(),n=P(null),[y,x,m]=q(),f=R(()=>S(),[]),g=l(`${o}-color-picker__label`,t&&`${o}-color-picker__label--error`),v=l(`${o}-color-picker-container`,t&&`${o}-color-picker-container--error`),j=l(`${o}-color-picker`,t&&`${o}-color-picker--error`),w=l(`${o}-color-picker__value`,t&&`${o}-color-picker__value--error`),M=l(`${o}-color-picker__helper-text`,a&&`${o}-color-picker__helper-text--visible`,t&&`${o}-color-picker__helper-text--error`),d=r=>l(`${o}-color-picker__color__icon`,c===r&&`${o}-color-picker__color__icon--visible`);function E(r){n.current&&(n.current.value=r,n.current.dispatchEvent(new Event("input",{bubbles:!0})))}return i("div",{className:v,children:[s&&i("label",{className:g,children:[s," ",N.required&&"*"]}),i("button",{type:"button",onClick:m,className:j,children:[e("div",{className:`${o}-color-picker__preview`,children:e("div",{style:{backgroundColor:c}})}),e("div",{className:w,children:c})]}),e("span",{className:M,children:a}),e(D,{direction:"left",autoClose:h,open:y,anchorEl:x,width:b?"fit-content":"",onClose:m,children:e(B,{sx:{p:1},children:i(I,{gap:8,flexDirection:"row",justifyContent:"center",style:{flexWrap:"wrap"},children:[k.map(r=>e("button",{type:"button",className:`${o}-color-picker__color`,onClick:()=>E(r),style:{backgroundColor:r},children:e(_,{name:"check",className:d(r),style:{color:u(c)}})},r)),i("label",{htmlFor:`color-picker-${f}`,className:`${o}-color-picker__color`,style:{backgroundColor:p.grey.main},children:[e(_,{name:"plus",className:d(c),style:{color:u(p.grey.main)}}),e("input",{ref:n,type:"color",id:`color-picker-${f}`,value:c,onChange:C,onInput:$})]})]})})})]})}const ro=F(L);export{ro as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),g=require("react"),c=require("../../chunks/index-DYxwT4uW.cjs"),T=require("../../chunks/joinClass-Jk3EszKD.cjs"),b=require("../../chunks/wait-CgS79FV1.cjs"),l=require("../../chunks/Stack-CF3Wyma9.cjs"),h=require("../../chunks/Zoom-BOnqwiDY.cjs"),p=require("../../chunks/Icon-BN4Kp4Aq.cjs"),j=require("../../chunks/Slide-D4aLHjYS.cjs"),z=require("../../chunks/Loading-DVK2G3KT.cjs"),s=require("../../chunks/Typography-cNb2fPDw.cjs"),L=require("../../chunks/createComponent-Bls5N6x8.cjs");require("../../chunks/convertPathToColor-D8eBpd_D.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");function $({files:a,error:r,success:u,helperText:y,placeholder:S,renderFiles:m,onChange:f,...i}){const d=g.useRef(null),[n,o]=g.useState("empty"),q=g.useMemo(()=>!i.multiple&&a.length>0,[a,i.multiple]),v=T.joinClass(`${c.prefix}-input-file`,r&&`${c.prefix}-input-file--error`,u&&n!=="loading"&&`${c.prefix}-input-file--success`,n==="dragging"&&!q&&`${c.prefix}-input-file--dragging`,i.className),x=t=>{if(!t.length){o("empty");return}o("loading"),b.wait(()=>{f&&f(i.multiple?[...a,...t]:t),o("empty")},1500)},D=t=>{const A=t.target.files?Array.from(t.target.files):[];d.current&&(d.current.value=""),x(A)},I=t=>{t.preventDefault(),o("dragging")},C=t=>{t.preventDefault(),o("empty")},k=t=>{t.preventDefault(),x(Array.from(t.dataTransfer.files))};return e.jsxs(l.Stack,{children:[e.jsxs("div",{className:v,onDrop:k,onDragOver:I,onDragLeave:C,children:[e.jsx("input",{...i,ref:d,type:"file",onChange:D}),e.jsxs(l.Stack,{justifyContent:"center",alignItems:"center",children:[n==="loading"&&!r&&e.jsxs(j.Slide,{enter:!0,direction:"top",style:{textAlign:"center"},children:[e.jsx(z.Loading,{style:{fontSize:42}}),e.jsx(s.Typography,{variant:"body2",color:"primary.main",children:"Carregando..."})]}),n!=="loading"&&!u&&!r&&e.jsxs(j.Slide,{enter:!0,direction:"top",style:{textAlign:"center"},children:[e.jsx(p.Icon,{name:"cloud-upload",color:n==="empty"?"grey":"primary",style:{fontSize:42}}),e.jsx(s.Typography,{color:n==="empty"?"text.secondary":"primary.main",variant:"body2",children:S})]}),n!=="loading"&&u&&!r&&e.jsx(h.Zoom,{enter:!0,style:{textAlign:"center"},children:e.jsxs(l.Stack,{gap:0,alignItems:"center",children:[e.jsx(p.Icon,{color:"success",name:"check-circle",style:{fontSize:42}}),e.jsx(s.Typography,{color:"success.main",children:y})]})}),r&&e.jsx(h.Zoom,{enter:!0,style:{textAlign:"center"},children:e.jsxs(l.Stack,{gap:0,alignItems:"center",children:[e.jsx(p.Icon,{color:"error",name:"exclamation-octagon",style:{fontSize:42}}),e.jsx(s.Typography,{color:"error.main",children:y})]})})]})]}),m&&m(a)]})}const M=L.createComponent($);exports.default=M;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),g=require("react"),c=require("../../chunks/index-DYxwT4uW.cjs"),T=require("../../chunks/joinClass-Jk3EszKD.cjs"),b=require("../../chunks/wait-CgS79FV1.cjs"),l=require("../../chunks/Stack-CF3Wyma9.cjs"),h=require("../../chunks/Zoom-BOnqwiDY.cjs"),p=require("../../chunks/Icon-BN4Kp4Aq.cjs"),j=require("../../chunks/Slide-D4aLHjYS.cjs"),z=require("../../chunks/Loading-DVK2G3KT.cjs"),s=require("../../chunks/Typography-Ch-BLqCH.cjs"),L=require("../../chunks/createComponent-Bls5N6x8.cjs");require("../../chunks/convertPathToColor-D8eBpd_D.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");function $({files:a,error:r,success:u,helperText:y,placeholder:S,renderFiles:m,onChange:f,...i}){const d=g.useRef(null),[n,o]=g.useState("empty"),q=g.useMemo(()=>!i.multiple&&a.length>0,[a,i.multiple]),v=T.joinClass(`${c.prefix}-input-file`,r&&`${c.prefix}-input-file--error`,u&&n!=="loading"&&`${c.prefix}-input-file--success`,n==="dragging"&&!q&&`${c.prefix}-input-file--dragging`,i.className),x=t=>{if(!t.length){o("empty");return}o("loading"),b.wait(()=>{f&&f(i.multiple?[...a,...t]:t),o("empty")},1500)},D=t=>{const A=t.target.files?Array.from(t.target.files):[];d.current&&(d.current.value=""),x(A)},I=t=>{t.preventDefault(),o("dragging")},C=t=>{t.preventDefault(),o("empty")},k=t=>{t.preventDefault(),x(Array.from(t.dataTransfer.files))};return e.jsxs(l.Stack,{children:[e.jsxs("div",{className:v,onDrop:k,onDragOver:I,onDragLeave:C,children:[e.jsx("input",{...i,ref:d,type:"file",onChange:D}),e.jsxs(l.Stack,{justifyContent:"center",alignItems:"center",children:[n==="loading"&&!r&&e.jsxs(j.Slide,{enter:!0,direction:"top",style:{textAlign:"center"},children:[e.jsx(z.Loading,{style:{fontSize:42}}),e.jsx(s.Typography,{variant:"body2",color:"primary.main",children:"Carregando..."})]}),n!=="loading"&&!u&&!r&&e.jsxs(j.Slide,{enter:!0,direction:"top",style:{textAlign:"center"},children:[e.jsx(p.Icon,{name:"cloud-upload",color:n==="empty"?"grey":"primary",style:{fontSize:42}}),e.jsx(s.Typography,{color:n==="empty"?"text.secondary":"primary.main",variant:"body2",children:S})]}),n!=="loading"&&u&&!r&&e.jsx(h.Zoom,{enter:!0,style:{textAlign:"center"},children:e.jsxs(l.Stack,{gap:0,alignItems:"center",children:[e.jsx(p.Icon,{color:"success",name:"check-circle",style:{fontSize:42}}),e.jsx(s.Typography,{color:"success.main",children:y})]})}),r&&e.jsx(h.Zoom,{enter:!0,style:{textAlign:"center"},children:e.jsxs(l.Stack,{gap:0,alignItems:"center",children:[e.jsx(p.Icon,{color:"error",name:"exclamation-octagon",style:{fontSize:42}}),e.jsx(s.Typography,{color:"error.main",children:y})]})})]})]}),m&&m(a)]})}const M=L.createComponent($);exports.default=M;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import{jsxs as n,jsx as t}from"react/jsx-runtime";import{useRef as C,useState as j,useMemo as L}from"react";import{p as c}from"../../chunks/index-CZ41y9Hn.js";import{j as z}from"../../chunks/joinClass-anSpaauN.js";import{w as $}from"../../chunks/wait-BSgGzoPk.js";import{S as m}from"../../chunks/Stack-CHR_pZC4.js";import{Z as v}from"../../chunks/Zoom-DqgU4Wfv.js";import{I as g}from"../../chunks/Icon-DTU52KQE.js";import{S as D}from"../../chunks/Slide-BxEwoZ70.js";import{L as O}from"../../chunks/Loading-BjCfYdLa.js";import{T as s}from"../../chunks/Typography-BeCR9fky.js";import{c as b}from"../../chunks/createComponent-BmdhWozT.js";import"../../chunks/convertPathToColor-DtOjH4ZP.js";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";function k({files:l,error:a,success:p,helperText:f,placeholder:S,renderFiles:u,onChange:y,...i}){const d=C(null),[r,o]=j("empty"),x=L(()=>!i.multiple&&l.length>0,[l,i.multiple]),I=z(`${c}-input-file`,a&&`${c}-input-file--error`,p&&r!=="loading"&&`${c}-input-file--success`,r==="dragging"&&!x&&`${c}-input-file--dragging`,i.className),h=e=>{if(!e.length){o("empty");return}o("loading"),$(()=>{y&&y(i.multiple?[...l,...e]:e),o("empty")},1500)};return n(m,{children:[n("div",{className:I,onDrop:e=>{e.preventDefault(),h(Array.from(e.dataTransfer.files))},onDragOver:e=>{e.preventDefault(),o("dragging")},onDragLeave:e=>{e.preventDefault(),o("empty")},children:[t("input",{...i,ref:d,type:"file",onChange:e=>{const A=e.target.files?Array.from(e.target.files):[];d.current&&(d.current.value=""),h(A)}}),n(m,{justifyContent:"center",alignItems:"center",children:[r==="loading"&&!a&&n(D,{enter:!0,direction:"top",style:{textAlign:"center"},children:[t(O,{style:{fontSize:42}}),t(s,{variant:"body2",color:"primary.main",children:"Carregando..."})]}),r!=="loading"&&!p&&!a&&n(D,{enter:!0,direction:"top",style:{textAlign:"center"},children:[t(g,{name:"cloud-upload",color:r==="empty"?"grey":"primary",style:{fontSize:42}}),t(s,{color:r==="empty"?"text.secondary":"primary.main",variant:"body2",children:S})]}),r!=="loading"&&p&&!a&&t(v,{enter:!0,style:{textAlign:"center"},children:n(m,{gap:0,alignItems:"center",children:[t(g,{color:"success",name:"check-circle",style:{fontSize:42}}),t(s,{color:"success.main",children:f})]})}),a&&t(v,{enter:!0,style:{textAlign:"center"},children:n(m,{gap:0,alignItems:"center",children:[t(g,{color:"error",name:"exclamation-octagon",style:{fontSize:42}}),t(s,{color:"error.main",children:f})]})})]})]}),u&&u(l)]})}const W=b(k);export{W as default};
1
+ import{jsxs as n,jsx as t}from"react/jsx-runtime";import{useRef as C,useState as j,useMemo as L}from"react";import{p as c}from"../../chunks/index-CZ41y9Hn.js";import{j as z}from"../../chunks/joinClass-anSpaauN.js";import{w as $}from"../../chunks/wait-BSgGzoPk.js";import{S as m}from"../../chunks/Stack-CHR_pZC4.js";import{Z as v}from"../../chunks/Zoom-DqgU4Wfv.js";import{I as g}from"../../chunks/Icon-DTU52KQE.js";import{S as D}from"../../chunks/Slide-BxEwoZ70.js";import{L as O}from"../../chunks/Loading-BjCfYdLa.js";import{T as s}from"../../chunks/Typography-B_WR62ip.js";import{c as b}from"../../chunks/createComponent-BmdhWozT.js";import"../../chunks/convertPathToColor-DtOjH4ZP.js";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";function k({files:l,error:a,success:p,helperText:f,placeholder:S,renderFiles:u,onChange:y,...i}){const d=C(null),[r,o]=j("empty"),x=L(()=>!i.multiple&&l.length>0,[l,i.multiple]),I=z(`${c}-input-file`,a&&`${c}-input-file--error`,p&&r!=="loading"&&`${c}-input-file--success`,r==="dragging"&&!x&&`${c}-input-file--dragging`,i.className),h=e=>{if(!e.length){o("empty");return}o("loading"),$(()=>{y&&y(i.multiple?[...l,...e]:e),o("empty")},1500)};return n(m,{children:[n("div",{className:I,onDrop:e=>{e.preventDefault(),h(Array.from(e.dataTransfer.files))},onDragOver:e=>{e.preventDefault(),o("dragging")},onDragLeave:e=>{e.preventDefault(),o("empty")},children:[t("input",{...i,ref:d,type:"file",onChange:e=>{const A=e.target.files?Array.from(e.target.files):[];d.current&&(d.current.value=""),h(A)}}),n(m,{justifyContent:"center",alignItems:"center",children:[r==="loading"&&!a&&n(D,{enter:!0,direction:"top",style:{textAlign:"center"},children:[t(O,{style:{fontSize:42}}),t(s,{variant:"body2",color:"primary.main",children:"Carregando..."})]}),r!=="loading"&&!p&&!a&&n(D,{enter:!0,direction:"top",style:{textAlign:"center"},children:[t(g,{name:"cloud-upload",color:r==="empty"?"grey":"primary",style:{fontSize:42}}),t(s,{color:r==="empty"?"text.secondary":"primary.main",variant:"body2",children:S})]}),r!=="loading"&&p&&!a&&t(v,{enter:!0,style:{textAlign:"center"},children:n(m,{gap:0,alignItems:"center",children:[t(g,{color:"success",name:"check-circle",style:{fontSize:42}}),t(s,{color:"success.main",children:f})]})}),a&&t(v,{enter:!0,style:{textAlign:"center"},children:n(m,{gap:0,alignItems:"center",children:[t(g,{color:"error",name:"exclamation-octagon",style:{fontSize:42}}),t(s,{color:"error.main",children:f})]})})]})]}),u&&u(l)]})}const W=b(k);export{W as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/Option-COyiqmg0.cjs");require("react/jsx-runtime");require("react");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/Icon-BN4Kp4Aq.cjs");require("../../chunks/createComponent-Bls5N6x8.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/useMenu-BfWmrq4L.cjs");require("../../chunks/uuid-omnJ9TjZ.cjs");require("../../chunks/useListenerResized-AwpsZLcP.cjs");require("../../chunks/Card-Bqgukgip.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/CardContent-DPL-tBOS.cjs");exports.Option=e.Option;exports.Select=e.Select_default;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/Select-CBfG5CDU.cjs"),r=require("../../chunks/Option-BrwvLgKT.cjs");require("react/jsx-runtime");require("react");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/Icon-BN4Kp4Aq.cjs");require("../../chunks/createComponent-Bls5N6x8.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/useMenu-BfWmrq4L.cjs");require("../../chunks/uuid-omnJ9TjZ.cjs");require("../../chunks/useListenerResized-AwpsZLcP.cjs");require("../../chunks/Card-Bqgukgip.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/CardContent-DPL-tBOS.cjs");exports.Select=e.Select_default;exports.Option=r.Option;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import{O as b,S as d}from"../../chunks/Option-CzDngSSk.js";import"react/jsx-runtime";import"react";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/Icon-DTU52KQE.js";import"../../chunks/createComponent-BmdhWozT.js";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/useMenu-B49hOh6R.js";import"../../chunks/uuid-dGvr9vBZ.js";import"../../chunks/useListenerResized-Bnqxrt7k.js";import"../../chunks/Card-C2mSdoXV.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/CardContent-CViecz1a.js";export{b as Option,d as Select};
1
+ import{S as b}from"../../chunks/Select-D9o7DyOl.js";import{O as g}from"../../chunks/Option-BU_FWsap.js";import"react/jsx-runtime";import"react";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/Icon-DTU52KQE.js";import"../../chunks/createComponent-BmdhWozT.js";import"../../chunks/useTheme-BYuNiCiH.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/useMenu-B49hOh6R.js";import"../../chunks/uuid-dGvr9vBZ.js";import"../../chunks/useListenerResized-Bnqxrt7k.js";import"../../chunks/Card-C2mSdoXV.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/CardContent-CViecz1a.js";export{g as Option,b as Select};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),n=require("react"),f=require("../../chunks/index-DYxwT4uW.cjs"),h=require("../../chunks/joinClass-Jk3EszKD.cjs"),C=require("../../chunks/createComponent-Bls5N6x8.cjs"),p=require("../../chunks/Alert-BamYo9Fn.cjs"),b=require("../../chunks/useTheme-DsrjDJKC.cjs"),R=require("../../chunks/uuid-omnJ9TjZ.cjs"),g=require("../../chunks/Zoom-BOnqwiDY.cjs");require("../../chunks/Stack-CF3Wyma9.cjs");require("../../chunks/Typography-cNb2fPDw.cjs");require("../../chunks/convertPathToColor-D8eBpd_D.cjs");require("../../chunks/ButtonIcon-Ccq88QaY.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/Icon-BN4Kp4Aq.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");function y({id:o,color:i,message:u,icon:c,delay:a=2500,onRemove:l,...e}){const t=n.useRef(null),{theme:{mode:r}}=b.useTheme(),j=h.joinClass(`${f.prefix}-toast`,e.className);n.useEffect(()=>(T(),q),[]);const m=()=>{o&&l(o)},T=()=>{t.current=setTimeout(()=>{m()},a)},q=()=>{t.current&&(clearTimeout(t.current),t.current=null)};return s.jsx(p.Alert,{className:j,icon:c,sx:{backgroundColor:({text:d})=>d.primary,color:d=>d[i][r]},onClose:m,onMouseEnter:q,onMouseLeave:T,children:u})}const x=C.createComponent(y),v=n.createContext({toasts:[],add:()=>{}});function M({children:o}){const[i,u]=n.useState([]),c=n.useMemo(()=>({toasts:i,add:e=>{a(e)}}),[i]),a=e=>{u(t=>[...t,{id:R.uuid(),visible:!0,...e}])},l=e=>{u(t=>t.map(r=>(r.id===e&&(r.visible=!1),r))),setTimeout(()=>{u(t=>t.filter(r=>r.id!==e))},500)};return s.jsxs(v.Provider,{value:c,children:[s.jsx("div",{className:`${f.prefix}-toast-container`,children:i.map(({...e})=>s.jsx("div",{style:{marginBottom:15},children:s.jsx(g.Zoom,{enter:!!e.visible,children:s.jsx(x,{...e,onRemove:l})})},e.id))}),o]})}function P(){const{add:o}=n.useContext(v);return{addToast:o}}exports.Toast=x;exports.ToastProvider=M;exports.useToast=P;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),n=require("react"),f=require("../../chunks/index-DYxwT4uW.cjs"),h=require("../../chunks/joinClass-Jk3EszKD.cjs"),C=require("../../chunks/createComponent-Bls5N6x8.cjs"),p=require("../../chunks/useTheme-DsrjDJKC.cjs"),b=require("../../chunks/Alert-DCB56IAI.cjs"),R=require("../../chunks/uuid-omnJ9TjZ.cjs"),g=require("../../chunks/Zoom-BOnqwiDY.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/Stack-CF3Wyma9.cjs");require("../../chunks/Typography-Ch-BLqCH.cjs");require("../../chunks/convertPathToColor-D8eBpd_D.cjs");require("../../chunks/ButtonIcon-Ccq88QaY.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/Icon-BN4Kp4Aq.cjs");function y({id:o,color:i,message:u,icon:c,delay:a=2500,onRemove:l,...e}){const t=n.useRef(null),{theme:{mode:r}}=p.useTheme(),j=h.joinClass(`${f.prefix}-toast`,e.className);n.useEffect(()=>(T(),q),[]);const m=()=>{o&&l(o)},T=()=>{t.current=setTimeout(()=>{m()},a)},q=()=>{t.current&&(clearTimeout(t.current),t.current=null)};return s.jsx(b.Alert,{className:j,icon:c,sx:{backgroundColor:({text:d})=>d.primary,color:d=>d[i][r]},onClose:m,onMouseEnter:q,onMouseLeave:T,children:u})}const x=C.createComponent(y),v=n.createContext({toasts:[],add:()=>{}});function M({children:o}){const[i,u]=n.useState([]),c=n.useMemo(()=>({toasts:i,add:e=>{a(e)}}),[i]),a=e=>{u(t=>[...t,{id:R.uuid(),visible:!0,...e}])},l=e=>{u(t=>t.map(r=>(r.id===e&&(r.visible=!1),r))),setTimeout(()=>{u(t=>t.filter(r=>r.id!==e))},500)};return s.jsxs(v.Provider,{value:c,children:[s.jsx("div",{className:`${f.prefix}-toast-container`,children:i.map(({...e})=>s.jsx("div",{style:{marginBottom:15},children:s.jsx(g.Zoom,{enter:!!e.visible,children:s.jsx(x,{...e,onRemove:l})})},e.id))}),o]})}function P(){const{add:o}=n.useContext(v);return{addToast:o}}exports.Toast=x;exports.ToastProvider=M;exports.useToast=P;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import{jsx as i,jsxs as x}from"react/jsx-runtime";import{useRef as h,useEffect as C,useState as b,useMemo as j,createContext as R,useContext as M}from"react";import{p as f}from"../../chunks/index-CZ41y9Hn.js";import{j as N}from"../../chunks/joinClass-anSpaauN.js";import{c as $}from"../../chunks/createComponent-BmdhWozT.js";import{A as g}from"../../chunks/Alert-D9ZINnNc.js";import{u as y}from"../../chunks/useTheme-BYuNiCiH.js";import{u as A}from"../../chunks/uuid-dGvr9vBZ.js";import{Z as B}from"../../chunks/Zoom-DqgU4Wfv.js";import"../../chunks/Stack-CHR_pZC4.js";import"../../chunks/Typography-BeCR9fky.js";import"../../chunks/convertPathToColor-DtOjH4ZP.js";import"../../chunks/ButtonIcon-DMetcfYt.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/Icon-DTU52KQE.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";function E({id:r,color:s,message:n,icon:m,delay:a=2500,onRemove:c,...t}){const o=h(null),{theme:{mode:e}}=y(),v=N(`${f}-toast`,t.className);C(()=>(d(),p),[]);const l=()=>{r&&c(r)},d=()=>{o.current=setTimeout(()=>{l()},a)},p=()=>{o.current&&(clearTimeout(o.current),o.current=null)};return i(g,{className:v,icon:m,sx:{backgroundColor:({text:u})=>u.primary,color:u=>u[s][e]},onClose:l,onMouseEnter:p,onMouseLeave:d,children:n})}const P=$(E),T=R({toasts:[],add:()=>{}});function U({children:r}){const[s,n]=b([]),m=j(()=>({toasts:s,add:t=>{a(t)}}),[s]),a=t=>{n(o=>[...o,{id:A(),visible:!0,...t}])},c=t=>{n(o=>o.map(e=>(e.id===t&&(e.visible=!1),e))),setTimeout(()=>{n(o=>o.filter(e=>e.id!==t))},500)};return x(T.Provider,{value:m,children:[i("div",{className:`${f}-toast-container`,children:s.map(({...t})=>i("div",{style:{marginBottom:15},children:i(B,{enter:!!t.visible,children:i(P,{...t,onRemove:c})})},t.id))}),r]})}function V(){const{add:r}=M(T);return{addToast:r}}export{P as Toast,U as ToastProvider,V as useToast};
1
+ import{jsx as i,jsxs as x}from"react/jsx-runtime";import{useRef as h,useEffect as C,useState as b,useMemo as j,createContext as R,useContext as M}from"react";import{p as f}from"../../chunks/index-CZ41y9Hn.js";import{j as N}from"../../chunks/joinClass-anSpaauN.js";import{c as $}from"../../chunks/createComponent-BmdhWozT.js";import{u as g}from"../../chunks/useTheme-BYuNiCiH.js";import{A as y}from"../../chunks/Alert-CD6hOvos.js";import{u as A}from"../../chunks/uuid-dGvr9vBZ.js";import{Z as B}from"../../chunks/Zoom-DqgU4Wfv.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/Stack-CHR_pZC4.js";import"../../chunks/Typography-B_WR62ip.js";import"../../chunks/convertPathToColor-DtOjH4ZP.js";import"../../chunks/ButtonIcon-DMetcfYt.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/Icon-DTU52KQE.js";function E({id:r,color:s,message:n,icon:m,delay:a=2500,onRemove:c,...t}){const o=h(null),{theme:{mode:e}}=g(),v=N(`${f}-toast`,t.className);C(()=>(d(),p),[]);const l=()=>{r&&c(r)},d=()=>{o.current=setTimeout(()=>{l()},a)},p=()=>{o.current&&(clearTimeout(o.current),o.current=null)};return i(y,{className:v,icon:m,sx:{backgroundColor:({text:u})=>u.primary,color:u=>u[s][e]},onClose:l,onMouseEnter:p,onMouseLeave:d,children:n})}const P=$(E),T=R({toasts:[],add:()=>{}});function U({children:r}){const[s,n]=b([]),m=j(()=>({toasts:s,add:t=>{a(t)}}),[s]),a=t=>{n(o=>[...o,{id:A(),visible:!0,...t}])},c=t=>{n(o=>o.map(e=>(e.id===t&&(e.visible=!1),e))),setTimeout(()=>{n(o=>o.filter(e=>e.id!==t))},500)};return x(T.Provider,{value:m,children:[i("div",{className:`${f}-toast-container`,children:s.map(({...t})=>i("div",{style:{marginBottom:15},children:i(B,{enter:!!t.visible,children:i(P,{...t,onRemove:c})})},t.id))}),r]})}function V(){const{add:r}=M(T);return{addToast:r}}export{P as Toast,U as ToastProvider,V as useToast};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Typography-cNb2fPDw.cjs");require("react/jsx-runtime");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/convertPathToColor-D8eBpd_D.cjs");require("../../chunks/createComponent-Bls5N6x8.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("react");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");exports.default=e.Typography;exports.variants=e.variants;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Typography-Ch-BLqCH.cjs");require("react/jsx-runtime");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/convertPathToColor-D8eBpd_D.cjs");require("../../chunks/useTheme-DsrjDJKC.cjs");require("react");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/createComponent-Bls5N6x8.cjs");exports.default=e.Typography;exports.variants=e.variants;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import{T as v,v as d}from"../../chunks/Typography-BeCR9fky.js";import"react/jsx-runtime";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/convertPathToColor-DtOjH4ZP.js";import"../../chunks/createComponent-BmdhWozT.js";import"../../chunks/useTheme-BYuNiCiH.js";import"react";import"../../chunks/generateSupportColors-BN5t8dA-.js";export{v as default,d as variants};
1
+ import{T as v,v as d}from"../../chunks/Typography-B_WR62ip.js";import"react/jsx-runtime";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/convertPathToColor-DtOjH4ZP.js";import"../../chunks/useTheme-BYuNiCiH.js";import"react";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/createComponent-BmdhWozT.js";export{v as default,d as variants};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./chunks/Bounce-ByNbJjX0.cjs"),e=require("./chunks/useForm-CD-_L271.cjs"),d=require("./chunks/Fade-DfxUFkY4.cjs"),n=require("./chunks/Option-COyiqmg0.cjs"),l=require("./chunks/Slide-D4aLHjYS.cjs"),u=require("./chunks/useTabs-DXjPVKGl.cjs"),o=require("./chunks/TableHeader-D0wXM5mO.cjs"),t=require("./chunks/useTheme-DsrjDJKC.cjs"),q=require("./chunks/Zoom-BOnqwiDY.cjs"),r=require("./chunks/DrawerContent-BkSL16Os.cjs"),c=require("./chunks/useListenerResized-AwpsZLcP.cjs"),a=require("./chunks/useMenu-BfWmrq4L.cjs"),T=require("./chunks/useResize-Dnf6Ktrn.cjs"),m=require("./chunks/Card-Bqgukgip.cjs"),C=require("./chunks/CardContent-DPL-tBOS.cjs"),s=require("./chunks/GridItem-wwo-SHGR.cjs"),b=require("./chunks/MenuButton-Dpbow8YC.cjs"),F=require("./chunks/Typography-cNb2fPDw.cjs");require("react/jsx-runtime");require("react");require("./chunks/wait-CgS79FV1.cjs");require("./chunks/index-DYxwT4uW.cjs");require("./chunks/joinClass-Jk3EszKD.cjs");require("./chunks/Icon-BN4Kp4Aq.cjs");require("./chunks/createComponent-Bls5N6x8.cjs");require("./chunks/uuid-omnJ9TjZ.cjs");require("./chunks/generateSupportColors-CTMoGhDf.cjs");require("./chunks/Stack-CF3Wyma9.cjs");require("./chunks/ButtonIcon-Ccq88QaY.cjs");require("./chunks/Ripple-Dy4i91j1.cjs");require("./chunks/convertPathToColor-D8eBpd_D.cjs");exports.Bounce=i.Bounce;exports.Control=e.Control;exports.Form=e.Form;exports.FormControl=e.FormControl;exports.FormGroup=e.FormGroup;exports.useControl=e.useControl;exports.useForm=e.useForm;exports.useFormGroup=e.useFormGroup;exports.Fade=d.Fade;exports.Option=n.Option;exports.Select=n.Select_default;exports.Slide=l.Slide;exports.TabButton=u.TabButton;exports.TabContent=u.TabContent;exports.Tabs=u.Tabs_default;exports.useTabs=u.useTabs;exports.Table=o.Table_default;exports.TableBody=o.TableBody;exports.TableCell=o.TableCell_default;exports.TableHeader=o.TableHeader;exports.ThemeProvider=t.ThemeProvider;exports.createTheme=t.createTheme;exports.useTheme=t.useTheme;exports.Zoom=q.Zoom;exports.Drawer=r.Drawer_default;exports.DrawerContent=r.DrawerContent_default;exports.DrawerFooter=r.DrawerFooter_default;exports.DrawerHeader=r.DrawerHeader_default;exports.useDrawer=r.useDrawer;exports.useListenerResized=c.useListenerResized;exports.Menu=a.Menu;exports.useMenu=a.useMenu;exports.useResize=T.useResize;exports.Card=m.Card;exports.CardContent=C.CardContent;exports.Grid=s.Grid;exports.GridItem=s.GridItem;exports.MenuButton=b.MenuButton_default;exports.variants=F.variants;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react/jsx-runtime");const t=require("./chunks/useTheme-DsrjDJKC.cjs"),s=require("./chunks/Bounce-ByNbJjX0.cjs"),e=require("./chunks/useForm-CD-_L271.cjs"),i=require("./chunks/Fade-DfxUFkY4.cjs"),d=require("./chunks/Option-BrwvLgKT.cjs"),l=require("./chunks/Slide-D4aLHjYS.cjs"),u=require("./chunks/useTabs-DXjPVKGl.cjs"),o=require("./chunks/TableHeader-D0wXM5mO.cjs"),q=require("./chunks/Zoom-BOnqwiDY.cjs"),r=require("./chunks/DrawerContent-BkSL16Os.cjs"),c=require("./chunks/useListenerResized-AwpsZLcP.cjs"),n=require("./chunks/useMenu-BfWmrq4L.cjs"),T=require("./chunks/useResize-Dnf6Ktrn.cjs"),m=require("./chunks/Card-Bqgukgip.cjs"),C=require("./chunks/CardContent-DPL-tBOS.cjs"),a=require("./chunks/GridItem-wwo-SHGR.cjs"),b=require("./chunks/MenuButton-Dpbow8YC.cjs"),F=require("./chunks/Select-CBfG5CDU.cjs"),w=require("./chunks/Typography-Ch-BLqCH.cjs");require("react");require("./chunks/generateSupportColors-CTMoGhDf.cjs");require("./chunks/wait-CgS79FV1.cjs");require("./chunks/index-DYxwT4uW.cjs");require("./chunks/joinClass-Jk3EszKD.cjs");require("./chunks/uuid-omnJ9TjZ.cjs");require("./chunks/createComponent-Bls5N6x8.cjs");require("./chunks/Stack-CF3Wyma9.cjs");require("./chunks/ButtonIcon-Ccq88QaY.cjs");require("./chunks/Ripple-Dy4i91j1.cjs");require("./chunks/Icon-BN4Kp4Aq.cjs");require("./chunks/convertPathToColor-D8eBpd_D.cjs");exports.ThemeProvider=t.ThemeProvider;exports.createTheme=t.createTheme;exports.useTheme=t.useTheme;exports.Bounce=s.Bounce;exports.Control=e.Control;exports.Form=e.Form;exports.FormControl=e.FormControl;exports.FormGroup=e.FormGroup;exports.useControl=e.useControl;exports.useForm=e.useForm;exports.useFormGroup=e.useFormGroup;exports.Fade=i.Fade;exports.Option=d.Option;exports.Slide=l.Slide;exports.TabButton=u.TabButton;exports.TabContent=u.TabContent;exports.Tabs=u.Tabs_default;exports.useTabs=u.useTabs;exports.Table=o.Table_default;exports.TableBody=o.TableBody;exports.TableCell=o.TableCell_default;exports.TableHeader=o.TableHeader;exports.Zoom=q.Zoom;exports.Drawer=r.Drawer_default;exports.DrawerContent=r.DrawerContent_default;exports.DrawerFooter=r.DrawerFooter_default;exports.DrawerHeader=r.DrawerHeader_default;exports.useDrawer=r.useDrawer;exports.useListenerResized=c.useListenerResized;exports.Menu=n.Menu;exports.useMenu=n.useMenu;exports.useResize=T.useResize;exports.Card=m.Card;exports.CardContent=C.CardContent;exports.Grid=a.Grid;exports.GridItem=a.GridItem;exports.MenuButton=b.MenuButton_default;exports.Select=F.Select_default;exports.variants=w.variants;
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{B as d}from"./chunks/Bounce-DP0PU3kr.js";import{C as l,F,a as c,b as D,u as w,c as B,d as G}from"./chunks/useForm-CRRXYOep.js";import{F as S}from"./chunks/Fade-CWDTkVB8.js";import{O as v,S as z}from"./chunks/Option-CzDngSSk.js";import{S as O}from"./chunks/Slide-BxEwoZ70.js";import{T as Z,a as y,b as I,u as L}from"./chunks/useTabs-C10MlXVP.js";import{T as g,a as j,b as k,c as q}from"./chunks/TableHeader-CrbbJXyv.js";import{T as E,c as J,u as K}from"./chunks/useTheme-BYuNiCiH.js";import{Z as Q}from"./chunks/Zoom-DqgU4Wfv.js";import{D as V,a as W,b as X,c as Y,u as _}from"./chunks/DrawerContent-D8NDBDBf.js";import{u as rr}from"./chunks/useListenerResized-Bnqxrt7k.js";import{M as er,u as ar}from"./chunks/useMenu-B49hOh6R.js";import{u as tr}from"./chunks/useResize-BUftB918.js";import{C as pr}from"./chunks/Card-C2mSdoXV.js";import{C as ir}from"./chunks/CardContent-CViecz1a.js";import{G as nr,a as xr}from"./chunks/GridItem-CaoPZmBu.js";import{M as br}from"./chunks/MenuButton-31ZFG3JW.js";import{v as Cr}from"./chunks/Typography-BeCR9fky.js";import"react/jsx-runtime";import"react";import"./chunks/wait-BSgGzoPk.js";import"./chunks/index-CZ41y9Hn.js";import"./chunks/joinClass-anSpaauN.js";import"./chunks/Icon-DTU52KQE.js";import"./chunks/createComponent-BmdhWozT.js";import"./chunks/uuid-dGvr9vBZ.js";import"./chunks/generateSupportColors-BN5t8dA-.js";import"./chunks/Stack-CHR_pZC4.js";import"./chunks/ButtonIcon-DMetcfYt.js";import"./chunks/Ripple-Bq9bxg4k.js";import"./chunks/convertPathToColor-DtOjH4ZP.js";export{d as Bounce,pr as Card,ir as CardContent,l as Control,V as Drawer,W as DrawerContent,X as DrawerFooter,Y as DrawerHeader,S as Fade,F as Form,c as FormControl,D as FormGroup,nr as Grid,xr as GridItem,er as Menu,br as MenuButton,v as Option,z as Select,O as Slide,Z as TabButton,y as TabContent,g as Table,j as TableBody,k as TableCell,q as TableHeader,I as Tabs,E as ThemeProvider,Q as Zoom,J as createTheme,w as useControl,_ as useDrawer,B as useForm,G as useFormGroup,rr as useListenerResized,ar as useMenu,tr as useResize,L as useTabs,K as useTheme,Cr as variants};
1
+ import"react/jsx-runtime";import{T as d,c as C,u as l}from"./chunks/useTheme-BYuNiCiH.js";import{B as c}from"./chunks/Bounce-DP0PU3kr.js";import{C as w,F as B,a as G,b as M,u as S,c as h,d as v}from"./chunks/useForm-CRRXYOep.js";import{F as H}from"./chunks/Fade-CWDTkVB8.js";import{O as R}from"./chunks/Option-BU_FWsap.js";import{S as y}from"./chunks/Slide-BxEwoZ70.js";import{T as L,a as P,b as g,u as j}from"./chunks/useTabs-C10MlXVP.js";import{T as q,a as A,b as E,c as J}from"./chunks/TableHeader-CrbbJXyv.js";import{Z as N}from"./chunks/Zoom-DqgU4Wfv.js";import{D as U,a as V,b as W,c as X,u as Y}from"./chunks/DrawerContent-D8NDBDBf.js";import{u as $}from"./chunks/useListenerResized-Bnqxrt7k.js";import{M as or,u as er}from"./chunks/useMenu-B49hOh6R.js";import{u as sr}from"./chunks/useResize-BUftB918.js";import{C as mr}from"./chunks/Card-C2mSdoXV.js";import{C as ur}from"./chunks/CardContent-CViecz1a.js";import{G as fr,a as xr}from"./chunks/GridItem-CaoPZmBu.js";import{M as Tr}from"./chunks/MenuButton-31ZFG3JW.js";import{S as dr}from"./chunks/Select-D9o7DyOl.js";import{v as lr}from"./chunks/Typography-B_WR62ip.js";import"react";import"./chunks/generateSupportColors-BN5t8dA-.js";import"./chunks/wait-BSgGzoPk.js";import"./chunks/index-CZ41y9Hn.js";import"./chunks/joinClass-anSpaauN.js";import"./chunks/uuid-dGvr9vBZ.js";import"./chunks/createComponent-BmdhWozT.js";import"./chunks/Stack-CHR_pZC4.js";import"./chunks/ButtonIcon-DMetcfYt.js";import"./chunks/Ripple-Bq9bxg4k.js";import"./chunks/Icon-DTU52KQE.js";import"./chunks/convertPathToColor-DtOjH4ZP.js";export{c as Bounce,mr as Card,ur as CardContent,w as Control,U as Drawer,V as DrawerContent,W as DrawerFooter,X as DrawerHeader,H as Fade,B as Form,G as FormControl,M as FormGroup,fr as Grid,xr as GridItem,or as Menu,Tr as MenuButton,R as Option,dr as Select,y as Slide,L as TabButton,P as TabContent,q as Table,A as TableBody,E as TableCell,J as TableHeader,g as Tabs,d as ThemeProvider,N as Zoom,C as createTheme,S as useControl,Y as useDrawer,h as useForm,v as useFormGroup,$ as useListenerResized,er as useMenu,sr as useResize,j as useTabs,l as useTheme,lr as variants};
2
2
  //# sourceMappingURL=index.js.map
package/dist/style.css CHANGED
@@ -20,6 +20,9 @@
20
20
  /* assets/index-O2dE8-hT.css */
21
21
  .iziui-switch{position:relative;padding:3px}.iziui-switch__label{font-size:12px;color:var(--text-secondary);display:block;margin-bottom:5px}.iziui-switch__label--error{color:var(--error)}.iziui-switch__checkbox{height:0;width:0;visibility:hidden;position:absolute}.iziui-switch__checkbox:active+.iziui-switch__box .iziui-switch__button{width:36px}.iziui-switch__checkbox:checked+.iziui-switch__box .iziui-switch__button{left:100%;transform:translate(calc(-100% + 2px),-50%)}.iziui-switch__checkbox--primary:checked+.iziui-switch__box{background-color:var(--primary)}.iziui-switch__checkbox--secondary:checked+.iziui-switch__box{background-color:var(--secondary)}.iziui-switch__checkbox--info:checked+.iziui-switch__box{background-color:var(--info)}.iziui-switch__checkbox--error:checked+.iziui-switch__box{background-color:var(--error)}.iziui-switch__checkbox--warning:checked+.iziui-switch__box{background-color:var(--warning)}.iziui-switch__checkbox--success:checked+.iziui-switch__box{background-color:var(--success)}.iziui-switch__checkbox--grey:checked+.iziui-switch__box{background-color:var(--grey)}.iziui-switch__box{display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;cursor:pointer;width:58px;height:24px;background:var(--divider);border-radius:100px;position:relative;transition:background-color .3s cubic-bezier(.4,0,.2,1)}.iziui-switch__button{content:"";position:absolute;top:50%;transform:translateY(-50%);left:-2px;width:28px;height:28px;border-radius:45px;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d}.iziui-switch__helper-text{opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:12px;transform:translateY(-10px)}.iziui-switch__helper-text--visible{opacity:1;transform:translateY(0)}.iziui-switch__helper-text--error{color:var(--error)}
22
22
  /*$vite$:1*/
23
+ /* assets/Select-1-YIWqjx.css */
24
+ .iziui-select{position:relative;padding:0;width:100%;border:none;border-radius:var(--radius);border:1px solid var(--divider);background-color:var(--background-default);font-size:16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.iziui-select:focus-within{outline:2px solid var(--primary)}.iziui-select--disabled{cursor:not-allowed;background:var(--divider);color:var(--text-disabled)}.iziui-select--error{border-color:var(--error)}.iziui-select input{cursor:pointer;background:transparent;height:100%;width:100%;border:none;outline:none;-webkit-user-select:none;user-select:none;padding:10.8px 14.4px;color:var(--text-primary);transition:all .3s cubic-bezier(.4,0,.2,1);font-size:16px}.iziui-select input:-internal-autofill-selected{-webkit-text-fill-color:var(--divider)}.iziui-select input::placeholder{color:var(--text-secondary);opacity:1}.iziui-select input:disabled{cursor:not-allowed;color:var(--text-disabled)}.iziui-select-container{width:100%;position:relative}.iziui-select-label{font-size:12px;color:var(--text-secondary);display:block;margin-bottom:5px}.iziui-select-label--error{color:var(--error)}.iziui-select__icon--left{margin-left:10.8px;margin-right:-5px}.iziui-select__icon--right{margin-right:10.8px}.iziui-select__icon--disabled{background:var(--text-disabled)}.iziui-select__option{font-size:16px;cursor:pointer;padding:.5rem 1rem;border:none;width:100%;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:left;display:flex;align-items:center;justify-content:flex-start;background-color:transparent}.iziui-select__option--selected{background-color:var(--primary-opacity)}.iziui-select__option--disabled{cursor:not-allowed;background-color:var(--divider)!important;color:var(--text-disabled)!important}.iziui-select__option--primary{color:var(--primary)}.iziui-select__option--primary:hover{background-color:var(--primary-opacity)}.iziui-select__option--secondary{color:var(--secondary)}.iziui-select__option--secondary:hover{background-color:var(--secondary-opacity)}.iziui-select__option--info{color:var(--info)}.iziui-select__option--info:hover{background-color:var(--info-opacity)}.iziui-select__option--error{color:var(--error)}.iziui-select__option--error:hover{background-color:var(--error-opacity)}.iziui-select__option--warning{color:var(--warning)}.iziui-select__option--warning:hover{background-color:var(--warning-opacity)}.iziui-select__option--success{color:var(--success)}.iziui-select__option--success:hover{background-color:var(--success-opacity)}.iziui-select__option--grey{color:var(--grey)}.iziui-select__option--grey:hover{background-color:var(--grey-opacity)}.iziui-select__option__icon{margin-right:10px}.iziui-select__helper-text{opacity:0;margin:6px 0 0;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:12px;transform:translateY(-10px)}.iziui-select__helper-text--visible{opacity:1;transform:translateY(0)}.iziui-select__helper-text--error{color:var(--error)}
25
+ /*$vite$:1*/
23
26
  /* assets/index-ZcCW3wVX.css */
24
27
  .iziui-input-file{position:relative;width:100%;height:180px;border:3px dashed var(--divider);border-radius:var(--radius);background-color:var(--background-default);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.iziui-input-file--dragging{background-color:var(--primary-opacity);border:3px dashed var(--primary)}.iziui-input-file--success{border:3px dashed var(--success)}.iziui-input-file--error{border:3px dashed var(--error)}.iziui-input-file input{opacity:0;width:100%;height:100%;cursor:pointer;position:absolute}
25
28
  /*$vite$:1*/
@@ -61,9 +64,6 @@
61
64
  /* assets/index-Bs0qH-ot.css */
62
65
  .iziui-avatar{display:flex;position:relative;align-items:center;justify-content:center;flex-shrink:0;font-size:1.25rem;line-height:1;overflow:hidden;-webkit-user-select:none;user-select:none;border:1px solid var(--divider);transition:all .3s cubic-bezier(.4,0,.2,1)}.iziui-avatar--rounded{border-radius:var(--radius)}.iziui-avatar--circular{border-radius:50%}.iziui-avatar--clickable{cursor:pointer}.iziui-avatar--primary{color:var(--primary-contrast);background-color:var(--primary)}.iziui-avatar--secondary{color:var(--secondary-contrast);background-color:var(--secondary)}.iziui-avatar--info{color:var(--info-contrast);background-color:var(--info)}.iziui-avatar--error{color:var(--error-contrast);background-color:var(--error)}.iziui-avatar--warning{color:var(--warning-contrast);background-color:var(--warning)}.iziui-avatar--success{color:var(--success-contrast);background-color:var(--success)}.iziui-avatar--grey{color:var(--grey-contrast);background-color:var(--grey)}.iziui-avatar__icon{color:currentColor!important}
63
66
  /*$vite$:1*/
64
- /* assets/Option-1-YIWqjx.css */
65
- .iziui-select{position:relative;padding:0;width:100%;border:none;border-radius:var(--radius);border:1px solid var(--divider);background-color:var(--background-default);font-size:16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.iziui-select:focus-within{outline:2px solid var(--primary)}.iziui-select--disabled{cursor:not-allowed;background:var(--divider);color:var(--text-disabled)}.iziui-select--error{border-color:var(--error)}.iziui-select input{cursor:pointer;background:transparent;height:100%;width:100%;border:none;outline:none;-webkit-user-select:none;user-select:none;padding:10.8px 14.4px;color:var(--text-primary);transition:all .3s cubic-bezier(.4,0,.2,1);font-size:16px}.iziui-select input:-internal-autofill-selected{-webkit-text-fill-color:var(--divider)}.iziui-select input::placeholder{color:var(--text-secondary);opacity:1}.iziui-select input:disabled{cursor:not-allowed;color:var(--text-disabled)}.iziui-select-container{width:100%;position:relative}.iziui-select-label{font-size:12px;color:var(--text-secondary);display:block;margin-bottom:5px}.iziui-select-label--error{color:var(--error)}.iziui-select__icon--left{margin-left:10.8px;margin-right:-5px}.iziui-select__icon--right{margin-right:10.8px}.iziui-select__icon--disabled{background:var(--text-disabled)}.iziui-select__option{font-size:16px;cursor:pointer;padding:.5rem 1rem;border:none;width:100%;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:left;display:flex;align-items:center;justify-content:flex-start;background-color:transparent}.iziui-select__option--selected{background-color:var(--primary-opacity)}.iziui-select__option--disabled{cursor:not-allowed;background-color:var(--divider)!important;color:var(--text-disabled)!important}.iziui-select__option--primary{color:var(--primary)}.iziui-select__option--primary:hover{background-color:var(--primary-opacity)}.iziui-select__option--secondary{color:var(--secondary)}.iziui-select__option--secondary:hover{background-color:var(--secondary-opacity)}.iziui-select__option--info{color:var(--info)}.iziui-select__option--info:hover{background-color:var(--info-opacity)}.iziui-select__option--error{color:var(--error)}.iziui-select__option--error:hover{background-color:var(--error-opacity)}.iziui-select__option--warning{color:var(--warning)}.iziui-select__option--warning:hover{background-color:var(--warning-opacity)}.iziui-select__option--success{color:var(--success)}.iziui-select__option--success:hover{background-color:var(--success-opacity)}.iziui-select__option--grey{color:var(--grey)}.iziui-select__option--grey:hover{background-color:var(--grey-opacity)}.iziui-select__option__icon{margin-right:10px}.iziui-select__helper-text{opacity:0;margin:6px 0 0;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:12px;transform:translateY(-10px)}.iziui-select__helper-text--visible{opacity:1;transform:translateY(0)}.iziui-select__helper-text--error{color:var(--error)}
66
- /*$vite$:1*/
67
67
  /* assets/index-C3yxI1Ai.css */
68
68
  .iziui-color-picker{padding:0;min-width:160px;width:100%;cursor:pointer;overflow:hidden;position:relative;border-radius:var(--radius);border:1px solid var(--divider);background-color:var(--background-default);display:flex;align-items:center;justify-content:flex-start}.iziui-color-picker:focus-within{outline:2px solid var(--primary)}.iziui-color-picker--error{border-color:var(--error)}.iziui-color-picker-container{width:fit-content}.iziui-color-picker__preview{width:72px;height:48px;background-color:var(--background-default);border:none;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--divider)}.iziui-color-picker__preview div{width:20px;height:20px;border-radius:var(--radius);transition:all .3s cubic-bezier(.4,0,.2,1)}.iziui-color-picker__label{font-size:12px;color:var(--text-secondary);display:block;margin-bottom:5px}.iziui-color-picker__label--error{color:var(--error)}.iziui-color-picker__value{width:100%;height:100%;padding-left:16px;color:var(--text-secondary);text-transform:uppercase;display:flex;align-items:center;justify-content:flex-start}.iziui-color-picker__value--error{color:var(--error)}.iziui-color-picker__helper-text{opacity:0;margin-top:5px;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:12px}.iziui-color-picker__helper-text--visible{opacity:1}.iziui-color-picker__helper-text--error{color:var(--error)}.iziui-color-picker__color{width:30px;height:30px;position:relative;border-radius:var(--radius);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;display:flex;justify-content:center;align-items:center;border:none;cursor:pointer}.iziui-color-picker__color:hover{box-shadow:0 0 0 2px var(--primary)}.iziui-color-picker__color__icon{transform:scale(0);transition:all .3s cubic-bezier(.4,0,.2,1)}.iziui-color-picker__color__icon--visible{transform:scale(1)}.iziui-color-picker__color input{position:absolute;visibility:hidden}.iziui-color-picker input{height:48px;width:100%;border:none;outline:none;font:inherit;padding-left:16px}
69
69
  /*$vite$:1*/
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/useTheme-DsrjDJKC.cjs");require("react");require("react/jsx-runtime");require("../chunks/generateSupportColors-CTMoGhDf.cjs");exports.ThemeProvider=e.ThemeProvider;exports.createTheme=e.createTheme;exports.useTheme=e.useTheme;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react/jsx-runtime");const e=require("../chunks/useTheme-DsrjDJKC.cjs");require("react");require("../chunks/generateSupportColors-CTMoGhDf.cjs");exports.ThemeProvider=e.ThemeProvider;exports.createTheme=e.createTheme;exports.useTheme=e.useTheme;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,2 +1,2 @@
1
- import{T as a,c as i,u as p}from"../chunks/useTheme-BYuNiCiH.js";import"react";import"react/jsx-runtime";import"../chunks/generateSupportColors-BN5t8dA-.js";export{a as ThemeProvider,i as createTheme,p as useTheme};
1
+ import"react/jsx-runtime";import{T as a,c as i,u as p}from"../chunks/useTheme-BYuNiCiH.js";import"react";import"../chunks/generateSupportColors-BN5t8dA-.js";export{a as ThemeProvider,i as createTheme,p as useTheme};
2
2
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iziui/react",
3
- "version": "0.0.100-rc",
3
+ "version": "0.0.101-rc",
4
4
  "main": "./dist/index.cjs",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -1,2 +0,0 @@
1
- "use strict";const e=require("react/jsx-runtime"),t=require("./index-DYxwT4uW.cjs"),c=require("./joinClass-Jk3EszKD.cjs"),i=require("./Stack-CF3Wyma9.cjs"),f=require("./Typography-cNb2fPDw.cjs"),p=require("./ButtonIcon-Ccq88QaY.cjs"),j=require("./createComponent-Bls5N6x8.cjs"),y=require("./Icon-BN4Kp4Aq.cjs"),$=require("./useTheme-DsrjDJKC.cjs");function d({children:r,icon:a,color:n="primary",onClose:s,...o}){const{theme:{mode:l}}=$.useTheme(),u=c.joinClass(`${t.prefix}-alert`,`${t.prefix}-alert--${l}`,`${t.prefix}-alert--${n}`,o.className),m=c.joinClass(`${t.prefix}-alert__button`,`${t.prefix}-alert__button--${n}`),x=()=>typeof r=="string"?e.jsx(f.Typography,{variant:"body1",style:{color:"currentcolor"},children:r}):r;return e.jsxs(i.Stack,{fullWidth:!0,gap:0,flexDirection:"row",alignItems:"center",justifyContent:"center",...o,className:u,children:[e.jsxs(i.Stack,{fullWidth:!0,gap:8,flexDirection:"row",alignItems:"center",className:`${t.prefix}-alert__content`,children:[a,x()]}),s&&e.jsx("div",{children:e.jsx(p.ButtonIcon,{className:m,onClick:s,color:n,style:{color:"currentColor"},children:e.jsx(y.Icon,{name:"times"})})})]})}const h=j.createComponent(d);exports.Alert=h;
2
- //# sourceMappingURL=Alert-BamYo9Fn.cjs.map
@@ -1,2 +0,0 @@
1
- import{jsxs as s,jsx as r}from"react/jsx-runtime";import{p as t}from"./index-CZ41y9Hn.js";import{j as m}from"./joinClass-anSpaauN.js";import{S as i}from"./Stack-CHR_pZC4.js";import{T as $}from"./Typography-BeCR9fky.js";import{B as d}from"./ButtonIcon-DMetcfYt.js";import{c as y}from"./createComponent-BmdhWozT.js";import{I as g}from"./Icon-DTU52KQE.js";import{u as h}from"./useTheme-BYuNiCiH.js";function x({children:e,icon:c,color:o="primary",onClose:a,...n}){const{theme:{mode:l}}=h(),f=m(`${t}-alert`,`${t}-alert--${l}`,`${t}-alert--${o}`,n.className),p=m(`${t}-alert__button`,`${t}-alert__button--${o}`),u=()=>typeof e=="string"?r($,{variant:"body1",style:{color:"currentcolor"},children:e}):e;return s(i,{fullWidth:!0,gap:0,flexDirection:"row",alignItems:"center",justifyContent:"center",...n,className:f,children:[s(i,{fullWidth:!0,gap:8,flexDirection:"row",alignItems:"center",className:`${t}-alert__content`,children:[c,u()]}),a&&r("div",{children:r(d,{className:p,onClick:a,color:o,style:{color:"currentColor"},children:r(g,{name:"times"})})})]})}const v=y(x);export{v as A};
2
- //# sourceMappingURL=Alert-D9ZINnNc.js.map
@@ -1,2 +0,0 @@
1
- "use strict";const t=require("react/jsx-runtime"),a=require("react"),e=require("./index-DYxwT4uW.cjs"),n=require("./joinClass-Jk3EszKD.cjs"),E=require("./Icon-BN4Kp4Aq.cjs"),j=require("./useMenu-BfWmrq4L.cjs"),M=require("./createComponent-Bls5N6x8.cjs");function O({error:o,color:c="grey",position:p="bottom",label:u,helperText:i,startIcon:x,children:f,disabled:l,onChange:_,...r}){const C=a.Children.toArray(f),$=a.useMemo(()=>C.find(s=>s.props.value===r.value)?.props.children||"",[r.value]),[N,b,d]=j.useMenu(),h=n.joinClass(`${e.prefix}-select-container`),y=n.joinClass(`${e.prefix}-select-label`,o&&`${e.prefix}-select-label--error`),v=n.joinClass(`${e.prefix}-select`,l&&`${e.prefix}-select--disabled`,o&&`${e.prefix}-select--error`,r.className),q=n.joinClass(`${e.prefix}-select__helper-text`,i&&`${e.prefix}-select__helper-text--visible`,o&&`${e.prefix}-select__helper-text--error`),g=s=>a.cloneElement(s,{className:n.joinClass(s.props.className,`${e.prefix}-select__icon--left`),type:"button",style:{color:c},onClick:m=>{m.stopPropagation(),s.props.onClick&&!l&&s.props.onClick(m)}}),k=()=>C.map(s=>a.cloneElement(s,{color:c,className:n.joinClass(s.props.className,s.props.value===r.value&&`${e.prefix}-select__option--selected`),onClick:m=>{!s.props.disabled&&_&&_(m)}}));return t.jsxs("div",{className:h,children:[u&&t.jsxs("label",{className:y,children:[u," ",r.required&&"*"]}),t.jsxs("button",{type:"button",className:v,onClick:d,disabled:l,children:[t.jsx("div",{children:x&&g(x)}),t.jsx("input",{...r,readOnly:!0,type:"text",value:$,disabled:l}),t.jsx(E.Icon,{name:"angle-down",sx:{color:({grey:s})=>s.main},className:`${e.prefix}-select__icon--right`})]}),t.jsx(j.Menu,{autoClose:!0,position:p,direction:"center",open:N,anchorEl:b,onClose:d,children:k()}),t.jsx("span",{className:q,children:i})]})}const S=M.createComponent(O);function w({children:o,color:c,startIcon:p,disabled:u,...i}){const x=n.joinClass(`${e.prefix}-select__option`,u&&`${e.prefix}-select__option--disabled`,c&&`${e.prefix}-select__option--${c}`,i.className),f=l=>a.cloneElement(l,{type:"button",className:n.joinClass(l.props.className,`${e.prefix}-select__option__icon`)});return t.jsxs("button",{type:"button",...i,className:x,children:[p&&f(p),o]})}exports.Option=w;exports.Select_default=S;
2
- //# sourceMappingURL=Option-COyiqmg0.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Option-COyiqmg0.cjs","sources":["../../src/fields/Select/Select.tsx","../../src/fields/Select/Option.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 color = 'grey',\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 style: { color },\n onClick: (e) => {\n e.stopPropagation();\n if (icon.props.onClick && !disabled) { icon.props.onClick(e); };\n }\n });\n };\n\n const renderOption = () => {\n return arrayChildren.map((child) => {\n return cloneElement(child, {\n color,\n className: joinClass(\n child.props.className,\n child.props.value === props.value && `${prefix}-select__option--selected`,\n ),\n onClick: (e) => {\n if (!child.props.disabled && onChange) { onChange(e as any); }\n }\n });\n });\n };\n\n return (\n <div className={containerClss}>\n {label && <label className={labelClss}>{label} {props.required && '*'}</label>}\n <button type=\"button\" className={clss} onClick={toggle} disabled={disabled}>\n <div>\n {startIcon && renderIcon(startIcon as React.JSX.Element)}\n </div>\n <input {...props} readOnly type=\"text\" value={newValue} disabled={disabled} />\n <Icon\n name=\"angle-down\"\n sx={{ color: ({ grey }) => grey.main }}\n className={`${prefix}-select__icon--right`}\n />\n </button>\n <Menu\n autoClose\n 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","import { ButtonHTMLAttributes, cloneElement, ReactElement } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils';\nimport type { Colors } from '@iziui/core/theme';\n\nexport interface OptionProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n value: any;\n children: string;\n color?: Colors;\n startIcon?: React.JSX.Element | boolean;\n}\nexport default function Option({ children, color, startIcon, disabled, ...props }: OptionProps) {\n const className = joinClass(\n `${prefix}-select__option`,\n disabled && `${prefix}-select__option--disabled`,\n color && `${prefix}-select__option--${color}`,\n props.className\n );\n\n const renderIcon = (icon: ReactElement<ButtonHTMLAttributes<any>>) => {\n return cloneElement(icon, {\n type: 'button',\n className: joinClass(\n icon.props.className,\n `${prefix}-select__option__icon`,\n ),\n });\n };\n\n return (\n <button type=\"button\" {...props} className={className}>\n {startIcon && renderIcon(startIcon as React.JSX.Element)}\n {children}\n </button>\n );\n};"],"names":["Select","error","color","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","Option","className"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{jsxs as _,jsx as a}from"react/jsx-runtime";import{Children as O,useMemo as I,cloneElement as d}from"react";import{p as e}from"./index-CZ41y9Hn.js";import{j as s}from"./joinClass-anSpaauN.js";import{I as S}from"./Icon-DTU52KQE.js";import{u as w,M as E}from"./useMenu-B49hOh6R.js";import{c as q}from"./createComponent-BmdhWozT.js";function A({error:o,color:r="grey",position:i="bottom",label:p,helperText:c,startIcon:m,children:$,disabled:n,onChange:f,...l}){const N=O.toArray($),b=I(()=>N.find(t=>t.props.value===l.value)?.props.children||"",[l.value]),[h,y,C]=w(),v=s(`${e}-select-container`),x=s(`${e}-select-label`,o&&`${e}-select-label--error`),g=s(`${e}-select`,n&&`${e}-select--disabled`,o&&`${e}-select--error`,l.className),k=s(`${e}-select__helper-text`,c&&`${e}-select__helper-text--visible`,o&&`${e}-select__helper-text--error`),j=t=>d(t,{className:s(t.props.className,`${e}-select__icon--left`),type:"button",style:{color:r},onClick:u=>{u.stopPropagation(),t.props.onClick&&!n&&t.props.onClick(u)}}),M=()=>N.map(t=>d(t,{color:r,className:s(t.props.className,t.props.value===l.value&&`${e}-select__option--selected`),onClick:u=>{!t.props.disabled&&f&&f(u)}}));return _("div",{className:v,children:[p&&_("label",{className:x,children:[p," ",l.required&&"*"]}),_("button",{type:"button",className:g,onClick:C,disabled:n,children:[a("div",{children:m&&j(m)}),a("input",{...l,readOnly:!0,type:"text",value:b,disabled:n}),a(S,{name:"angle-down",sx:{color:({grey:t})=>t.main},className:`${e}-select__icon--right`})]}),a(E,{autoClose:!0,position:i,direction:"center",open:h,anchorEl:y,onClose:C,children:M()}),a("span",{className:k,children:c})]})}const H=q(A);function J({children:o,color:r,startIcon:i,disabled:p,...c}){const m=s(`${e}-select__option`,p&&`${e}-select__option--disabled`,r&&`${e}-select__option--${r}`,c.className);return _("button",{type:"button",...c,className:m,children:[i&&(n=>d(n,{type:"button",className:s(n.props.className,`${e}-select__option__icon`)}))(i),o]})}export{J as O,H as S};
2
- //# sourceMappingURL=Option-CzDngSSk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Option-CzDngSSk.js","sources":["../../src/fields/Select/Select.tsx","../../src/fields/Select/Option.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 color = 'grey',\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 style: { color },\n onClick: (e) => {\n e.stopPropagation();\n if (icon.props.onClick && !disabled) { icon.props.onClick(e); };\n }\n });\n };\n\n const renderOption = () => {\n return arrayChildren.map((child) => {\n return cloneElement(child, {\n color,\n className: joinClass(\n child.props.className,\n child.props.value === props.value && `${prefix}-select__option--selected`,\n ),\n onClick: (e) => {\n if (!child.props.disabled && onChange) { onChange(e as any); }\n }\n });\n });\n };\n\n return (\n <div className={containerClss}>\n {label && <label className={labelClss}>{label} {props.required && '*'}</label>}\n <button type=\"button\" className={clss} onClick={toggle} disabled={disabled}>\n <div>\n {startIcon && renderIcon(startIcon as React.JSX.Element)}\n </div>\n <input {...props} readOnly type=\"text\" value={newValue} disabled={disabled} />\n <Icon\n name=\"angle-down\"\n sx={{ color: ({ grey }) => grey.main }}\n className={`${prefix}-select__icon--right`}\n />\n </button>\n <Menu\n autoClose\n 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","import { ButtonHTMLAttributes, cloneElement, ReactElement } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils';\nimport type { Colors } from '@iziui/core/theme';\n\nexport interface OptionProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n value: any;\n children: string;\n color?: Colors;\n startIcon?: React.JSX.Element | boolean;\n}\nexport default function Option({ children, color, startIcon, disabled, ...props }: OptionProps) {\n const className = joinClass(\n `${prefix}-select__option`,\n disabled && `${prefix}-select__option--disabled`,\n color && `${prefix}-select__option--${color}`,\n props.className\n );\n\n const renderIcon = (icon: ReactElement<ButtonHTMLAttributes<any>>) => {\n return cloneElement(icon, {\n type: 'button',\n className: joinClass(\n icon.props.className,\n `${prefix}-select__option__icon`,\n ),\n });\n };\n\n return (\n <button type=\"button\" {...props} className={className}>\n {startIcon && renderIcon(startIcon as React.JSX.Element)}\n {children}\n </button>\n );\n};"],"names":["Select","error","color","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","Option","className"],"mappings":"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"}
@@ -1,2 +0,0 @@
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{c as b}from"./createComponent-BmdhWozT.js";import{u}from"./useTheme-BYuNiCiH.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}}=u(),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=b(g);export{N as T,v};
2
- //# sourceMappingURL=Typography-BeCR9fky.js.map