@iziui/react 0.0.63-rc → 0.0.65-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.
- package/dist/.types/lab/Form/Form.d.ts.map +1 -1
- package/dist/.types/lab/Form/Form.stories.d.ts.map +1 -1
- package/dist/.types/lab/Form/FormGroup.d.ts.map +1 -1
- package/dist/.types/lab/Form/useForm.d.ts +1 -1
- package/dist/.types/lab/Form/useForm.d.ts.map +1 -1
- package/dist/chunks/{Alert-MsPKPqJS.cjs → Alert-C1vwma3Y.cjs} +2 -2
- package/dist/chunks/{Alert-MsPKPqJS.cjs.map → Alert-C1vwma3Y.cjs.map} +1 -1
- package/dist/chunks/{Alert-DGWFTr3e.js → Alert-Cn-EvcSp.js} +2 -2
- package/dist/chunks/{Alert-DGWFTr3e.js.map → Alert-Cn-EvcSp.js.map} +1 -1
- package/dist/chunks/{Box-DV6szmfA.js → Box-DD-rZ2rr.js} +2 -2
- package/dist/chunks/{Box-DV6szmfA.js.map → Box-DD-rZ2rr.js.map} +1 -1
- package/dist/chunks/{Box-DX4Re8mw.cjs → Box-ut8xLHQT.cjs} +2 -2
- package/dist/chunks/{Box-DX4Re8mw.cjs.map → Box-ut8xLHQT.cjs.map} +1 -1
- package/dist/chunks/{ButtonIcon-BP2upur5.js → ButtonIcon-CsX4oYeI.js} +2 -2
- package/dist/chunks/{ButtonIcon-BP2upur5.js.map → ButtonIcon-CsX4oYeI.js.map} +1 -1
- package/dist/chunks/{ButtonIcon-Bk1sFlaj.cjs → ButtonIcon-Cz8zJH-E.cjs} +2 -2
- package/dist/chunks/{ButtonIcon-Bk1sFlaj.cjs.map → ButtonIcon-Cz8zJH-E.cjs.map} +1 -1
- package/dist/chunks/{Card-CVrUgBCJ.cjs → Card-B8XSgLaD.cjs} +2 -2
- package/dist/chunks/{Card-CVrUgBCJ.cjs.map → Card-B8XSgLaD.cjs.map} +1 -1
- package/dist/chunks/{Card-BjoXz5bX.js → Card-DOsl4_nu.js} +2 -2
- package/dist/chunks/{Card-BjoXz5bX.js.map → Card-DOsl4_nu.js.map} +1 -1
- package/dist/chunks/{CardContent-5JyK0TcD.cjs → CardContent-BivcVoIc.cjs} +2 -2
- package/dist/chunks/{CardContent-5JyK0TcD.cjs.map → CardContent-BivcVoIc.cjs.map} +1 -1
- package/dist/chunks/{CardContent-srKirxQF.js → CardContent-C8ypE7yH.js} +2 -2
- package/dist/chunks/{CardContent-srKirxQF.js.map → CardContent-C8ypE7yH.js.map} +1 -1
- package/dist/chunks/{Drawer-C3RaAzs0.cjs → Drawer-0wOdungj.cjs} +2 -2
- package/dist/chunks/{Drawer-C3RaAzs0.cjs.map → Drawer-0wOdungj.cjs.map} +1 -1
- package/dist/chunks/{Drawer-ijxxjWs1.js → Drawer-D1lAWrdi.js} +2 -2
- package/dist/chunks/{Drawer-ijxxjWs1.js.map → Drawer-D1lAWrdi.js.map} +1 -1
- package/dist/chunks/{Icon-BfSirxGe.js → Icon-CCIgEwA9.js} +2 -2
- package/dist/chunks/{Icon-BfSirxGe.js.map → Icon-CCIgEwA9.js.map} +1 -1
- package/dist/chunks/{Icon-C_2Qoqhh.cjs → Icon-COl2Nhp9.cjs} +2 -2
- package/dist/chunks/{Icon-C_2Qoqhh.cjs.map → Icon-COl2Nhp9.cjs.map} +1 -1
- package/dist/chunks/{MenuButton-ybz5rxD_.cjs → MenuButton-AyzSxRY0.cjs} +2 -2
- package/dist/chunks/{MenuButton-ybz5rxD_.cjs.map → MenuButton-AyzSxRY0.cjs.map} +1 -1
- package/dist/chunks/{MenuButton-DG-M7g1U.js → MenuButton-DLf22r80.js} +2 -2
- package/dist/chunks/{MenuButton-DG-M7g1U.js.map → MenuButton-DLf22r80.js.map} +1 -1
- package/dist/chunks/{Stack-BXkZSPdw.js → Stack-DK5pfu2w.js} +2 -2
- package/dist/chunks/{Stack-BXkZSPdw.js.map → Stack-DK5pfu2w.js.map} +1 -1
- package/dist/chunks/{Stack-Bpv8iA8b.cjs → Stack-beBM7a60.cjs} +2 -2
- package/dist/chunks/{Stack-Bpv8iA8b.cjs.map → Stack-beBM7a60.cjs.map} +1 -1
- package/dist/chunks/{Typography-CPUKMAJT.cjs → Typography-DitZ-9b5.cjs} +2 -2
- package/dist/chunks/{Typography-CPUKMAJT.cjs.map → Typography-DitZ-9b5.cjs.map} +1 -1
- package/dist/chunks/{Typography-BDFesZK7.js → Typography-v-XX3oAk.js} +2 -2
- package/dist/chunks/{Typography-BDFesZK7.js.map → Typography-v-XX3oAk.js.map} +1 -1
- package/dist/chunks/{createComponent-ixuQW53A.cjs → createComponent-CTufIEiN.cjs} +2 -2
- package/dist/chunks/{createComponent-ixuQW53A.cjs.map → createComponent-CTufIEiN.cjs.map} +1 -1
- package/dist/chunks/{createComponent-C6TL60ri.js → createComponent-WNQRXK89.js} +2 -2
- package/dist/chunks/{createComponent-C6TL60ri.js.map → createComponent-WNQRXK89.js.map} +1 -1
- package/dist/chunks/generateSupportColors-BN5t8dA-.js +2 -0
- package/dist/chunks/generateSupportColors-BN5t8dA-.js.map +1 -0
- package/dist/chunks/generateSupportColors-CTMoGhDf.cjs +2 -0
- package/dist/chunks/generateSupportColors-CTMoGhDf.cjs.map +1 -0
- package/dist/chunks/useForm-3oClzOJC.js +2 -0
- package/dist/chunks/useForm-3oClzOJC.js.map +1 -0
- package/dist/chunks/useForm-TyKbw7O8.cjs +2 -0
- package/dist/chunks/useForm-TyKbw7O8.cjs.map +1 -0
- package/dist/chunks/{useMenu-CA-D2bkv.js → useMenu-BNL22pOQ.js} +2 -2
- package/dist/chunks/{useMenu-CA-D2bkv.js.map → useMenu-BNL22pOQ.js.map} +1 -1
- package/dist/chunks/{useMenu-eNouSUEO.cjs → useMenu-C0u9aTiR.cjs} +2 -2
- package/dist/chunks/{useMenu-eNouSUEO.cjs.map → useMenu-C0u9aTiR.cjs.map} +1 -1
- package/dist/chunks/useTheme-DoESyi5h.cjs +2 -0
- package/dist/chunks/useTheme-DoESyi5h.cjs.map +1 -0
- package/dist/chunks/useTheme-njpgklWP.js +2 -0
- package/dist/chunks/useTheme-njpgklWP.js.map +1 -0
- package/dist/components/Alert/index.cjs +1 -1
- package/dist/components/Alert/index.js +1 -1
- package/dist/components/Avatar/index.cjs +1 -1
- package/dist/components/Avatar/index.cjs.map +1 -1
- package/dist/components/Avatar/index.js +1 -1
- package/dist/components/Avatar/index.js.map +1 -1
- package/dist/components/Box/index.cjs +1 -1
- package/dist/components/Box/index.js +1 -1
- package/dist/components/Button/index.cjs +1 -1
- package/dist/components/Button/index.cjs.map +1 -1
- package/dist/components/Button/index.js +1 -1
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/ButtonIcon/index.cjs +1 -1
- package/dist/components/ButtonIcon/index.js +1 -1
- package/dist/components/Card/index.cjs +1 -1
- package/dist/components/Card/index.js +1 -1
- package/dist/components/Checkbox/index.cjs +1 -1
- package/dist/components/Checkbox/index.cjs.map +1 -1
- package/dist/components/Checkbox/index.js +1 -1
- package/dist/components/Checkbox/index.js.map +1 -1
- package/dist/components/CheckboxGroup/index.cjs +1 -1
- package/dist/components/CheckboxGroup/index.cjs.map +1 -1
- package/dist/components/CheckboxGroup/index.js +1 -1
- package/dist/components/CheckboxGroup/index.js.map +1 -1
- package/dist/components/Chip/index.cjs +1 -1
- package/dist/components/Chip/index.cjs.map +1 -1
- package/dist/components/Chip/index.js +1 -1
- package/dist/components/Chip/index.js.map +1 -1
- package/dist/components/ColorPicker/index.cjs +1 -1
- package/dist/components/ColorPicker/index.cjs.map +1 -1
- package/dist/components/ColorPicker/index.js +1 -1
- package/dist/components/ColorPicker/index.js.map +1 -1
- package/dist/components/Container/index.cjs +1 -1
- package/dist/components/Container/index.cjs.map +1 -1
- package/dist/components/Container/index.js +1 -1
- package/dist/components/Container/index.js.map +1 -1
- package/dist/components/Divider/index.cjs +1 -1
- package/dist/components/Divider/index.cjs.map +1 -1
- package/dist/components/Divider/index.js +1 -1
- package/dist/components/Divider/index.js.map +1 -1
- package/dist/components/Drawer/index.cjs +1 -1
- package/dist/components/Drawer/index.js +1 -1
- package/dist/components/Icon/index.cjs +1 -1
- package/dist/components/Icon/index.js +1 -1
- package/dist/components/Input/index.cjs +1 -1
- package/dist/components/Input/index.cjs.map +1 -1
- package/dist/components/Input/index.js +1 -1
- package/dist/components/Input/index.js.map +1 -1
- package/dist/components/InputFile/index.cjs +1 -1
- package/dist/components/InputFile/index.cjs.map +1 -1
- package/dist/components/InputFile/index.js +1 -1
- package/dist/components/InputFile/index.js.map +1 -1
- package/dist/components/Loading/index.cjs +1 -1
- package/dist/components/Loading/index.cjs.map +1 -1
- package/dist/components/Loading/index.js +1 -1
- package/dist/components/Loading/index.js.map +1 -1
- package/dist/components/Menu/index.cjs +1 -1
- package/dist/components/Menu/index.js +1 -1
- package/dist/components/Modal/index.cjs +1 -1
- package/dist/components/Modal/index.cjs.map +1 -1
- package/dist/components/Modal/index.js +1 -1
- package/dist/components/Modal/index.js.map +1 -1
- package/dist/components/Select/index.cjs +1 -1
- package/dist/components/Select/index.cjs.map +1 -1
- package/dist/components/Select/index.js +1 -1
- package/dist/components/Select/index.js.map +1 -1
- package/dist/components/Skeleton/index.cjs +1 -1
- package/dist/components/Skeleton/index.cjs.map +1 -1
- package/dist/components/Skeleton/index.js +1 -1
- package/dist/components/Skeleton/index.js.map +1 -1
- package/dist/components/Stack/index.cjs +1 -1
- package/dist/components/Stack/index.js +1 -1
- package/dist/components/Switchs/index.cjs +1 -1
- package/dist/components/Switchs/index.cjs.map +1 -1
- package/dist/components/Switchs/index.js +1 -1
- package/dist/components/Switchs/index.js.map +1 -1
- package/dist/components/Table/index.cjs +1 -1
- package/dist/components/Table/index.cjs.map +1 -1
- package/dist/components/Table/index.js +1 -1
- package/dist/components/Table/index.js.map +1 -1
- package/dist/components/Toast/index.cjs +1 -1
- package/dist/components/Toast/index.cjs.map +1 -1
- package/dist/components/Toast/index.js +1 -1
- package/dist/components/Toast/index.js.map +1 -1
- package/dist/components/Tooltip/index.cjs +1 -1
- package/dist/components/Tooltip/index.cjs.map +1 -1
- package/dist/components/Tooltip/index.js +1 -1
- package/dist/components/Tooltip/index.js.map +1 -1
- package/dist/components/Typography/index.cjs +1 -1
- package/dist/components/Typography/index.js +1 -1
- package/dist/core/index.cjs +2 -0
- package/dist/core/index.cjs.map +1 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.js +2 -0
- package/dist/core/index.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/lab/Form/index.cjs +1 -1
- package/dist/lab/Form/index.js +1 -1
- package/dist/theme/index.cjs +1 -1
- package/dist/theme/index.js +1 -1
- package/package.json +6 -1
- package/dist/chunks/useForm-D3kD3cxE.cjs +0 -2
- package/dist/chunks/useForm-D3kD3cxE.cjs.map +0 -1
- package/dist/chunks/useForm-DBk4Of85.js +0 -2
- package/dist/chunks/useForm-DBk4Of85.js.map +0 -1
- package/dist/chunks/useTheme-BkUhhydo.js +0 -2
- package/dist/chunks/useTheme-BkUhhydo.js.map +0 -1
- package/dist/chunks/useTheme-DwBpyW-5.cjs +0 -2
- package/dist/chunks/useTheme-DwBpyW-5.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../toolkit/src/string/string.ts","../../../src/display/Avatar/Avatar.tsx"],"sourcesContent":["export function sanitize(value: string) {\n return value.normalize('NFD')\n .trim().toLowerCase()\n .replace(/a-zA-Z0-9_.-+/g, '')\n .replace(/_/g, '')\n .replace(/[^\\w\\s]/gi, '');\n};\n\nexport function getInitials(name: string) {\n const names: string[] = name.trim().split(' ');\n\n const hasOneName = names.length === 1;\n\n const firstInitial = sanitize(names[0]).charAt(0).toLocaleUpperCase();\n\n const secondInitial = hasOneName\n ? sanitize(names[0]).charAt(1).toLocaleUpperCase()\n : sanitize(names.reverse()[0]).charAt(0).toLocaleUpperCase();\n\n return firstInitial + secondInitial;\n};\n\nexport function slug(str: string) {\n if (!str) { return ''; }\n\n return sanitize(str)\n .replace(/\\s+/g, '-');\n}\n\nexport function capitalize(str: string) {\n if (!str) { return ''; }\n return str[0].toUpperCase() + str.slice(1);\n}\n","import { HTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport type { Colors } from '@iziui/core/theme';\n\nimport { getInitials } from '@iziui/toolkit/string';\n\nimport Ripple from '@/actions/Ripple';\nimport createComponent from '@/core/createComponent';\n\nimport Icon from '../Icon';\nimport Typography from '../Typography';\n\nimport '@iziui/styles/components/Avatar.scss';\n\ninterface AvatarProps extends HTMLAttributes<HTMLElement> {\n alt?: string;\n src?: string;\n name?: string;\n size?: number;\n color?: Colors;\n variant?: 'rounded' | 'circular';\n icon?: React.JSX.Element;\n}\nfunction Avatar({\n src,\n alt,\n name,\n size = 40,\n variant = 'circular',\n color = 'primary',\n icon,\n ...props\n}: AvatarProps) {\n const className = joinClass(\n `${prefix}-avatar`,\n `${prefix}-avatar--${variant}`,\n `${prefix}-avatar--${color}`,\n src && `${prefix}-avatar--image`,\n name && `${prefix}-avatar--name`,\n (!src && !name) || icon && `${prefix}-avatar--icon`,\n props.onClick && `${prefix}-avatar--clickable`,\n props.className\n );\n\n const content = () => {\n if (src) {\n return (\n <img\n src={src}\n alt={alt}\n width={size}\n height={size}\n sizes=\"100vw\"\n loading=\"lazy\"\n style={{ width: '100%', height: 'auto' }}\n />\n );\n }\n if (name) {\n return (\n <Typography\n style={{\n fontSize: size / 2,\n color: 'currentColor'\n }}\n >\n {getInitials(name)}\n </Typography>\n );\n }\n\n if (icon) { return icon; }\n\n return (\n <Icon name=\"user\" size={size / 1.6} style={{ color: 'currentColor' }} />\n );\n };\n\n return (\n <div {...props} style={{ width: size, height: size, ...props.style }} className={className}>\n {content()}\n {props.children}\n {props.onClick && <Ripple />}\n </div>\n );\n}\n\nexport default createComponent(Avatar);"],"names":["sanitize","value","getInitials","name","names","hasOneName","firstInitial","secondInitial","Avatar","src","alt","size","variant","color","icon","props","className","joinClass","prefix","content","jsx","Typography","Icon","jsxs","Ripple","Avatar_default","createComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../../toolkit/src/string/string.ts","../../../src/display/Avatar/Avatar.tsx"],"sourcesContent":["export function sanitize(value: string) {\n return value.normalize('NFD')\n .trim().toLowerCase()\n .replace(/a-zA-Z0-9_.-+/g, '')\n .replace(/_/g, '')\n .replace(/[^\\w\\s]/gi, '');\n};\n\nexport function getInitials(name: string) {\n const names: string[] = name.trim().split(' ');\n\n const hasOneName = names.length === 1;\n\n const firstInitial = sanitize(names[0]).charAt(0).toLocaleUpperCase();\n\n const secondInitial = hasOneName\n ? sanitize(names[0]).charAt(1).toLocaleUpperCase()\n : sanitize(names.reverse()[0]).charAt(0).toLocaleUpperCase();\n\n return firstInitial + secondInitial;\n};\n\nexport function slug(str: string) {\n if (!str) { return ''; }\n\n return sanitize(str)\n .replace(/\\s+/g, '-');\n}\n\nexport function capitalize(str: string) {\n if (!str) { return ''; }\n return str[0].toUpperCase() + str.slice(1);\n}\n","import { HTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport type { Colors } from '@iziui/core/theme';\n\nimport { getInitials } from '@iziui/toolkit/string';\n\nimport Ripple from '@/actions/Ripple';\nimport createComponent from '@/core/createComponent';\n\nimport Icon from '../Icon';\nimport Typography from '../Typography';\n\nimport '@iziui/styles/components/Avatar.scss';\n\ninterface AvatarProps extends HTMLAttributes<HTMLElement> {\n alt?: string;\n src?: string;\n name?: string;\n size?: number;\n color?: Colors;\n variant?: 'rounded' | 'circular';\n icon?: React.JSX.Element;\n}\nfunction Avatar({\n src,\n alt,\n name,\n size = 40,\n variant = 'circular',\n color = 'primary',\n icon,\n ...props\n}: AvatarProps) {\n const className = joinClass(\n `${prefix}-avatar`,\n `${prefix}-avatar--${variant}`,\n `${prefix}-avatar--${color}`,\n src && `${prefix}-avatar--image`,\n name && `${prefix}-avatar--name`,\n (!src && !name) || icon && `${prefix}-avatar--icon`,\n props.onClick && `${prefix}-avatar--clickable`,\n props.className\n );\n\n const content = () => {\n if (src) {\n return (\n <img\n src={src}\n alt={alt}\n width={size}\n height={size}\n sizes=\"100vw\"\n loading=\"lazy\"\n style={{ width: '100%', height: 'auto' }}\n />\n );\n }\n if (name) {\n return (\n <Typography\n style={{\n fontSize: size / 2,\n color: 'currentColor'\n }}\n >\n {getInitials(name)}\n </Typography>\n );\n }\n\n if (icon) { return icon; }\n\n return (\n <Icon name=\"user\" size={size / 1.6} style={{ color: 'currentColor' }} />\n );\n };\n\n return (\n <div {...props} style={{ width: size, height: size, ...props.style }} className={className}>\n {content()}\n {props.children}\n {props.onClick && <Ripple />}\n </div>\n );\n}\n\nexport default createComponent(Avatar);"],"names":["sanitize","value","getInitials","name","names","hasOneName","firstInitial","secondInitial","Avatar","src","alt","size","variant","color","icon","props","className","joinClass","prefix","content","jsx","Typography","Icon","jsxs","Ripple","Avatar_default","createComponent"],"mappings":"omBAAO,SAASA,EAASC,EAAe,CACtC,OAAOA,EAAM,UAAU,KAAK,EACzB,KAAA,EAAO,cACP,QAAQ,iBAAkB,EAAE,EAC5B,QAAQ,KAAM,EAAE,EAChB,QAAQ,YAAa,EAAE,CAC5B,CAEO,SAASC,EAAYC,EAAc,CACxC,MAAMC,EAAkBD,EAAK,KAAA,EAAO,MAAM,GAAG,EAEvCE,EAAaD,EAAM,SAAW,EAE9BE,EAAeN,EAASI,EAAM,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAA,EAE5CG,EAAgBF,EAClBL,EAASI,EAAM,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAA,EAC7BJ,EAASI,EAAM,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAA,EAE3C,OAAOE,EAAeC,CACxB,CCMA,SAASC,EAAO,CACd,IAAAC,EACA,IAAAC,EACA,KAAAP,EACA,KAAAQ,EAAO,GACP,QAAAC,EAAU,WACV,MAAAC,EAAQ,UACR,KAAAC,EACA,GAAGC,CACL,EAAgB,CACd,MAAMC,EAAYC,EAAAA,UAChB,GAAGC,EAAAA,MAAM,UACT,GAAGA,EAAAA,MAAM,YAAYN,CAAO,GAC5B,GAAGM,EAAAA,MAAM,YAAYL,CAAK,GAC1BJ,GAAO,GAAGS,EAAAA,MAAM,iBAChBf,GAAQ,GAAGe,EAAAA,MAAM,gBAChB,CAACT,GAAO,CAACN,GAASW,GAAQ,GAAGI,EAAAA,MAAM,gBACpCH,EAAM,SAAW,GAAGG,EAAAA,MAAM,qBAC1BH,EAAM,SAAA,EAGFI,EAAU,IACVV,EAEAW,EAAAA,IAAC,MAAA,CACC,IAAAX,EACA,IAAAC,EACA,MAAOC,EACP,OAAQA,EACR,MAAM,QACN,QAAQ,OACR,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,CAAO,CAAA,EAIzCR,EAEAiB,EAAAA,IAACC,EAAAA,WAAA,CACC,MAAO,CACL,SAAUV,EAAO,EACjB,MAAO,cAAA,EAGR,WAAYR,CAAI,CAAA,CAAA,EAKnBW,GAGFM,EAAAA,IAACE,EAAAA,KAAA,CAAK,KAAK,OAAO,KAAMX,EAAO,IAAK,MAAO,CAAE,MAAO,cAAA,CAAe,CAAG,EAI1E,OACEY,EAAAA,KAAC,MAAA,CAAK,GAAGR,EAAO,MAAO,CAAE,MAAOJ,EAAM,OAAQA,EAAM,GAAGI,EAAM,KAAA,EAAS,UAAAC,EACnE,SAAA,CAAAG,EAAA,EACAJ,EAAM,SACNA,EAAM,SAAWK,MAACI,EAAAA,OAAA,CAAA,CAAO,CAAA,EAC5B,CAEJ,CAEA,MAAAC,EAAeC,EAAAA,gBAAgBlB,CAAM"}
|
|
@@ -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-
|
|
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-WNQRXK89.js";import{I as d}from"../../chunks/Icon-CCIgEwA9.js";import{T as C}from"../../chunks/Typography-v-XX3oAk.js";import"react";import"../../chunks/useTheme-njpgklWP.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/convertPathToColor-D2SdAqGh.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../toolkit/src/string/string.ts","../../../src/display/Avatar/Avatar.tsx"],"sourcesContent":["export function sanitize(value: string) {\n return value.normalize('NFD')\n .trim().toLowerCase()\n .replace(/a-zA-Z0-9_.-+/g, '')\n .replace(/_/g, '')\n .replace(/[^\\w\\s]/gi, '');\n};\n\nexport function getInitials(name: string) {\n const names: string[] = name.trim().split(' ');\n\n const hasOneName = names.length === 1;\n\n const firstInitial = sanitize(names[0]).charAt(0).toLocaleUpperCase();\n\n const secondInitial = hasOneName\n ? sanitize(names[0]).charAt(1).toLocaleUpperCase()\n : sanitize(names.reverse()[0]).charAt(0).toLocaleUpperCase();\n\n return firstInitial + secondInitial;\n};\n\nexport function slug(str: string) {\n if (!str) { return ''; }\n\n return sanitize(str)\n .replace(/\\s+/g, '-');\n}\n\nexport function capitalize(str: string) {\n if (!str) { return ''; }\n return str[0].toUpperCase() + str.slice(1);\n}\n","import { HTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport type { Colors } from '@iziui/core/theme';\n\nimport { getInitials } from '@iziui/toolkit/string';\n\nimport Ripple from '@/actions/Ripple';\nimport createComponent from '@/core/createComponent';\n\nimport Icon from '../Icon';\nimport Typography from '../Typography';\n\nimport '@iziui/styles/components/Avatar.scss';\n\ninterface AvatarProps extends HTMLAttributes<HTMLElement> {\n alt?: string;\n src?: string;\n name?: string;\n size?: number;\n color?: Colors;\n variant?: 'rounded' | 'circular';\n icon?: React.JSX.Element;\n}\nfunction Avatar({\n src,\n alt,\n name,\n size = 40,\n variant = 'circular',\n color = 'primary',\n icon,\n ...props\n}: AvatarProps) {\n const className = joinClass(\n `${prefix}-avatar`,\n `${prefix}-avatar--${variant}`,\n `${prefix}-avatar--${color}`,\n src && `${prefix}-avatar--image`,\n name && `${prefix}-avatar--name`,\n (!src && !name) || icon && `${prefix}-avatar--icon`,\n props.onClick && `${prefix}-avatar--clickable`,\n props.className\n );\n\n const content = () => {\n if (src) {\n return (\n <img\n src={src}\n alt={alt}\n width={size}\n height={size}\n sizes=\"100vw\"\n loading=\"lazy\"\n style={{ width: '100%', height: 'auto' }}\n />\n );\n }\n if (name) {\n return (\n <Typography\n style={{\n fontSize: size / 2,\n color: 'currentColor'\n }}\n >\n {getInitials(name)}\n </Typography>\n );\n }\n\n if (icon) { return icon; }\n\n return (\n <Icon name=\"user\" size={size / 1.6} style={{ color: 'currentColor' }} />\n );\n };\n\n return (\n <div {...props} style={{ width: size, height: size, ...props.style }} className={className}>\n {content()}\n {props.children}\n {props.onClick && <Ripple />}\n </div>\n );\n}\n\nexport default createComponent(Avatar);"],"names":["sanitize","value","getInitials","name","names","hasOneName","firstInitial","secondInitial","Avatar","src","alt","size","variant","color","icon","props","className","joinClass","prefix","content","jsx","Typography","Icon","jsxs","Ripple","Avatar_default","createComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../toolkit/src/string/string.ts","../../../src/display/Avatar/Avatar.tsx"],"sourcesContent":["export function sanitize(value: string) {\n return value.normalize('NFD')\n .trim().toLowerCase()\n .replace(/a-zA-Z0-9_.-+/g, '')\n .replace(/_/g, '')\n .replace(/[^\\w\\s]/gi, '');\n};\n\nexport function getInitials(name: string) {\n const names: string[] = name.trim().split(' ');\n\n const hasOneName = names.length === 1;\n\n const firstInitial = sanitize(names[0]).charAt(0).toLocaleUpperCase();\n\n const secondInitial = hasOneName\n ? sanitize(names[0]).charAt(1).toLocaleUpperCase()\n : sanitize(names.reverse()[0]).charAt(0).toLocaleUpperCase();\n\n return firstInitial + secondInitial;\n};\n\nexport function slug(str: string) {\n if (!str) { return ''; }\n\n return sanitize(str)\n .replace(/\\s+/g, '-');\n}\n\nexport function capitalize(str: string) {\n if (!str) { return ''; }\n return str[0].toUpperCase() + str.slice(1);\n}\n","import { HTMLAttributes } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport type { Colors } from '@iziui/core/theme';\n\nimport { getInitials } from '@iziui/toolkit/string';\n\nimport Ripple from '@/actions/Ripple';\nimport createComponent from '@/core/createComponent';\n\nimport Icon from '../Icon';\nimport Typography from '../Typography';\n\nimport '@iziui/styles/components/Avatar.scss';\n\ninterface AvatarProps extends HTMLAttributes<HTMLElement> {\n alt?: string;\n src?: string;\n name?: string;\n size?: number;\n color?: Colors;\n variant?: 'rounded' | 'circular';\n icon?: React.JSX.Element;\n}\nfunction Avatar({\n src,\n alt,\n name,\n size = 40,\n variant = 'circular',\n color = 'primary',\n icon,\n ...props\n}: AvatarProps) {\n const className = joinClass(\n `${prefix}-avatar`,\n `${prefix}-avatar--${variant}`,\n `${prefix}-avatar--${color}`,\n src && `${prefix}-avatar--image`,\n name && `${prefix}-avatar--name`,\n (!src && !name) || icon && `${prefix}-avatar--icon`,\n props.onClick && `${prefix}-avatar--clickable`,\n props.className\n );\n\n const content = () => {\n if (src) {\n return (\n <img\n src={src}\n alt={alt}\n width={size}\n height={size}\n sizes=\"100vw\"\n loading=\"lazy\"\n style={{ width: '100%', height: 'auto' }}\n />\n );\n }\n if (name) {\n return (\n <Typography\n style={{\n fontSize: size / 2,\n color: 'currentColor'\n }}\n >\n {getInitials(name)}\n </Typography>\n );\n }\n\n if (icon) { return icon; }\n\n return (\n <Icon name=\"user\" size={size / 1.6} style={{ color: 'currentColor' }} />\n );\n };\n\n return (\n <div {...props} style={{ width: size, height: size, ...props.style }} className={className}>\n {content()}\n {props.children}\n {props.onClick && <Ripple />}\n </div>\n );\n}\n\nexport default createComponent(Avatar);"],"names":["sanitize","value","getInitials","name","names","hasOneName","firstInitial","secondInitial","Avatar","src","alt","size","variant","color","icon","props","className","joinClass","prefix","content","jsx","Typography","Icon","jsxs","Ripple","Avatar_default","createComponent"],"mappings":"0hBAAO,SAASA,EAASC,EAAe,CACtC,OAAOA,EAAM,UAAU,KAAK,EACzB,KAAA,EAAO,cACP,QAAQ,iBAAkB,EAAE,EAC5B,QAAQ,KAAM,EAAE,EAChB,QAAQ,YAAa,EAAE,CAC5B,CAEO,SAASC,EAAYC,EAAc,CACxC,MAAMC,EAAkBD,EAAK,KAAA,EAAO,MAAM,GAAG,EAEvCE,EAAaD,EAAM,SAAW,EAE9BE,EAAeN,EAASI,EAAM,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAA,EAE5CG,EAAgBF,EAClBL,EAASI,EAAM,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAA,EAC7BJ,EAASI,EAAM,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAA,EAE3C,OAAOE,EAAeC,CACxB,CCMA,SAASC,EAAO,CACd,IAAAC,EACA,IAAAC,EACA,KAAAP,EACA,KAAAQ,EAAO,GACP,QAAAC,EAAU,WACV,MAAAC,EAAQ,UACR,KAAAC,EACA,GAAGC,CACL,EAAgB,CACd,MAAMC,EAAYC,EAChB,GAAGC,CAAM,UACT,GAAGA,CAAM,YAAYN,CAAO,GAC5B,GAAGM,CAAM,YAAYL,CAAK,GAC1BJ,GAAO,GAAGS,CAAM,iBAChBf,GAAQ,GAAGe,CAAM,gBAChB,CAACT,GAAO,CAACN,GAASW,GAAQ,GAAGI,CAAM,gBACpCH,EAAM,SAAW,GAAGG,CAAM,qBAC1BH,EAAM,SAAA,EAGFI,EAAU,IACVV,EAEAW,EAAC,MAAA,CACC,IAAAX,EACA,IAAAC,EACA,MAAOC,EACP,OAAQA,EACR,MAAM,QACN,QAAQ,OACR,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAA,CAAO,CAAA,EAIzCR,EAEAiB,EAACC,EAAA,CACC,MAAO,CACL,SAAUV,EAAO,EACjB,MAAO,cAAA,EAGR,WAAYR,CAAI,CAAA,CAAA,EAKnBW,GAGFM,EAACE,EAAA,CAAK,KAAK,OAAO,KAAMX,EAAO,IAAK,MAAO,CAAE,MAAO,cAAA,CAAe,CAAG,EAI1E,OACEY,EAAC,MAAA,CAAK,GAAGR,EAAO,MAAO,CAAE,MAAOJ,EAAM,OAAQA,EAAM,GAAGI,EAAM,KAAA,EAAS,UAAAC,EACnE,SAAA,CAAAG,EAAA,EACAJ,EAAM,SACNA,EAAM,SAAWK,EAACI,EAAA,CAAA,CAAO,CAAA,EAC5B,CAEJ,CAEA,MAAAC,EAAeC,EAAgBlB,CAAM"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Box-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Box-ut8xLHQT.cjs");require("react/jsx-runtime");require("react");require("../../chunks/createComponent-CTufIEiN.cjs");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/useTheme-DoESyi5h.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");exports.default=e.Box;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{B as
|
|
1
|
+
import{B as f}from"../../chunks/Box-DD-rZ2rr.js";import"react/jsx-runtime";import"react";import"../../chunks/createComponent-WNQRXK89.js";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/useTheme-njpgklWP.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";export{f 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 n=require("react/jsx-runtime"),m=require("react"),e=require("../../chunks/index-DYxwT4uW.cjs"),i=require("../../chunks/joinClass-Jk3EszKD.cjs"),d=require("../../chunks/Ripple-Dy4i91j1.cjs"),_=require("../../chunks/createComponent-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),m=require("react"),e=require("../../chunks/index-DYxwT4uW.cjs"),i=require("../../chunks/joinClass-Jk3EszKD.cjs"),d=require("../../chunks/Ripple-Dy4i91j1.cjs"),_=require("../../chunks/createComponent-CTufIEiN.cjs");require("../../chunks/useTheme-DoESyi5h.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");function j({size:u="medium",color:r="primary",variant:p="contained",startIcon:c,endIcon:a,loading:s,children:$,...o}){const f=i.joinClass(`${e.prefix}-button`,`${e.prefix}-button--${u}`,`${e.prefix}-button--${r}`,`${e.prefix}-button--${r}--${p}`,o.className),l=(t,b)=>m.cloneElement(t,{color:`${r}.contrast`,className:i.joinClass(t.props.className,`${e.prefix}-button__icon`,`${e.prefix}-button__icon--${b}`)}),x=t=>m.cloneElement(t,{className:i.joinClass(t.props.className,`${e.prefix}-button__loading`,`${e.prefix}-button__loading--${u}`),size:"1.1rem"});return n.jsxs("button",{...o,className:f,onClick:t=>!s&&o.onClick?.(t),children:[s?x(s):n.jsxs(n.Fragment,{children:[c&&l(c,"left"),$,a&&l(a,"right")]}),n.jsx(d.Ripple,{})]})}const q=_.createComponent(j);exports.default=q;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/actions/Button/Button.tsx"],"sourcesContent":["import { type PropsWithChildren, type ButtonHTMLAttributes, cloneElement } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Colors, Size } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils';\n\nimport type { LoadingProps } from '@/feedback/Loading';\n\nimport type { IconProps } from '../../display/Icon';\nimport Ripple from '../Ripple';\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Button.scss';\n\nexport interface ButtonProps extends PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>> {\n size?: Size;\n color?: Colors;\n endIcon?: React.JSX.Element;\n startIcon?: React.JSX.Element;\n loading?: React.JSX.Element | boolean;\n variant?: 'contained' | 'outlined' | 'text';\n};\nfunction Button({\n size = 'medium',\n color = 'primary',\n variant = 'contained',\n startIcon,\n endIcon,\n loading,\n children,\n ...props\n}: ButtonProps) {\n const cls = joinClass(\n `${prefix}-button`,\n `${prefix}-button--${size}`,\n `${prefix}-button--${color}`,\n `${prefix}-button--${color}--${variant}`,\n props.className\n );\n\n const renderIcon = (icon: React.JSX.Element, direction: 'left' | 'right') => {\n return cloneElement<IconProps>(icon, {\n color: `${color}.contrast`,\n className: joinClass(icon.props.className, `${prefix}-button__icon`, `${prefix}-button__icon--${direction}`)\n });\n };\n\n const renderLoading = (loading: React.JSX.Element) => {\n return cloneElement<LoadingProps>(loading, {\n className: joinClass(loading.props.className, `${prefix}-button__loading`, `${prefix}-button__loading--${size}`),\n size: '1.1rem',\n });\n };\n\n return (\n <button\n {...props}\n className={cls}\n onClick={(e) => !loading && props.onClick?.(e)}\n >\n {\n loading ? renderLoading(loading as React.JSX.Element) : (\n <>\n {startIcon && renderIcon(startIcon, 'left')}\n {children}\n {endIcon && renderIcon(endIcon, 'right')}\n </>\n )\n }\n <Ripple />\n </button>\n );\n}\n\nexport default createComponent(Button);"],"names":["Button","size","color","variant","startIcon","endIcon","loading","children","props","cls","joinClass","prefix","renderIcon","icon","direction","cloneElement","renderLoading","jsxs","e","Fragment","Ripple","Button_default","createComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/actions/Button/Button.tsx"],"sourcesContent":["import { type PropsWithChildren, type ButtonHTMLAttributes, cloneElement } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Colors, Size } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils';\n\nimport type { LoadingProps } from '@/feedback/Loading';\n\nimport type { IconProps } from '../../display/Icon';\nimport Ripple from '../Ripple';\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Button.scss';\n\nexport interface ButtonProps extends PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>> {\n size?: Size;\n color?: Colors;\n endIcon?: React.JSX.Element;\n startIcon?: React.JSX.Element;\n loading?: React.JSX.Element | boolean;\n variant?: 'contained' | 'outlined' | 'text';\n};\nfunction Button({\n size = 'medium',\n color = 'primary',\n variant = 'contained',\n startIcon,\n endIcon,\n loading,\n children,\n ...props\n}: ButtonProps) {\n const cls = joinClass(\n `${prefix}-button`,\n `${prefix}-button--${size}`,\n `${prefix}-button--${color}`,\n `${prefix}-button--${color}--${variant}`,\n props.className\n );\n\n const renderIcon = (icon: React.JSX.Element, direction: 'left' | 'right') => {\n return cloneElement<IconProps>(icon, {\n color: `${color}.contrast`,\n className: joinClass(icon.props.className, `${prefix}-button__icon`, `${prefix}-button__icon--${direction}`)\n });\n };\n\n const renderLoading = (loading: React.JSX.Element) => {\n return cloneElement<LoadingProps>(loading, {\n className: joinClass(loading.props.className, `${prefix}-button__loading`, `${prefix}-button__loading--${size}`),\n size: '1.1rem',\n });\n };\n\n return (\n <button\n {...props}\n className={cls}\n onClick={(e) => !loading && props.onClick?.(e)}\n >\n {\n loading ? renderLoading(loading as React.JSX.Element) : (\n <>\n {startIcon && renderIcon(startIcon, 'left')}\n {children}\n {endIcon && renderIcon(endIcon, 'right')}\n </>\n )\n }\n <Ripple />\n </button>\n );\n}\n\nexport default createComponent(Button);"],"names":["Button","size","color","variant","startIcon","endIcon","loading","children","props","cls","joinClass","prefix","renderIcon","icon","direction","cloneElement","renderLoading","jsxs","e","Fragment","Ripple","Button_default","createComponent"],"mappings":"gdAuBA,SAASA,EAAO,CACd,KAAAC,EAAO,SACP,MAAAC,EAAQ,UACR,QAAAC,EAAU,YACV,UAAAC,EACA,QAAAC,EACA,QAAAC,EACA,SAAAC,EACA,GAAGC,CACL,EAAgB,CACd,MAAMC,EAAMC,EAAAA,UACV,GAAGC,EAAAA,MAAM,UACT,GAAGA,EAAAA,MAAM,YAAYV,CAAI,GACzB,GAAGU,EAAAA,MAAM,YAAYT,CAAK,GAC1B,GAAGS,EAAAA,MAAM,YAAYT,CAAK,KAAKC,CAAO,GACtCK,EAAM,SAAA,EAGFI,EAAa,CAACC,EAAyBC,IACpCC,EAAAA,aAAwBF,EAAM,CACnC,MAAO,GAAGX,CAAK,YACf,UAAWQ,EAAAA,UAAUG,EAAK,MAAM,UAAW,GAAGF,QAAM,gBAAiB,GAAGA,EAAAA,MAAM,kBAAkBG,CAAS,EAAE,CAAA,CAC5G,EAGGE,EAAiBV,GACdS,EAAAA,aAA2BT,EAAS,CACzC,UAAWI,EAAAA,UAAUJ,EAAQ,MAAM,UAAW,GAAGK,EAAAA,MAAM,mBAAoB,GAAGA,EAAAA,MAAM,qBAAqBV,CAAI,EAAE,EAC/G,KAAM,QAAA,CACP,EAGH,OACEgB,EAAAA,KAAC,SAAA,CACE,GAAGT,EACJ,UAAWC,EACX,QAAUS,GAAM,CAACZ,GAAWE,EAAM,UAAUU,CAAC,EAG3C,SAAA,CAAAZ,EAAUU,EAAcV,CAA4B,EAClDW,EAAAA,KAAAE,EAAAA,SAAA,CACG,SAAA,CAAAf,GAAaQ,EAAWR,EAAW,MAAM,EACzCG,EACAF,GAAWO,EAAWP,EAAS,OAAO,CAAA,EACzC,QAGHe,EAAAA,OAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAGd,CAEA,MAAAC,EAAeC,EAAAA,gBAAgBtB,CAAM"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as u,Fragment as d,jsx as _}from"react/jsx-runtime";import{cloneElement as l}from"react";import{p as t}from"../../chunks/index-CZ41y9Hn.js";import{j as
|
|
1
|
+
import{jsxs as u,Fragment as d,jsx as _}from"react/jsx-runtime";import{cloneElement as l}from"react";import{p as t}from"../../chunks/index-CZ41y9Hn.js";import{j as m}from"../../chunks/joinClass-anSpaauN.js";import{R as N}from"../../chunks/Ripple-Bq9bxg4k.js";import{c as j}from"../../chunks/createComponent-WNQRXK89.js";import"../../chunks/useTheme-njpgklWP.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";function x({size:s="medium",color:n="primary",variant:p="contained",startIcon:a,endIcon:i,loading:r,children:$,...e}){const f=m(`${t}-button`,`${t}-button--${s}`,`${t}-button--${n}`,`${t}-button--${n}--${p}`,e.className),c=(o,b)=>l(o,{color:`${n}.contrast`,className:m(o.props.className,`${t}-button__icon`,`${t}-button__icon--${b}`)});return u("button",{...e,className:f,onClick:o=>!r&&e.onClick?.(o),children:[r?(o=>l(o,{className:m(o.props.className,`${t}-button__loading`,`${t}-button__loading--${s}`),size:"1.1rem"}))(r):u(d,{children:[a&&c(a,"left"),$,i&&c(i,"right")]}),_(N,{})]})}const F=j(x);export{F as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/actions/Button/Button.tsx"],"sourcesContent":["import { type PropsWithChildren, type ButtonHTMLAttributes, cloneElement } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Colors, Size } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils';\n\nimport type { LoadingProps } from '@/feedback/Loading';\n\nimport type { IconProps } from '../../display/Icon';\nimport Ripple from '../Ripple';\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Button.scss';\n\nexport interface ButtonProps extends PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>> {\n size?: Size;\n color?: Colors;\n endIcon?: React.JSX.Element;\n startIcon?: React.JSX.Element;\n loading?: React.JSX.Element | boolean;\n variant?: 'contained' | 'outlined' | 'text';\n};\nfunction Button({\n size = 'medium',\n color = 'primary',\n variant = 'contained',\n startIcon,\n endIcon,\n loading,\n children,\n ...props\n}: ButtonProps) {\n const cls = joinClass(\n `${prefix}-button`,\n `${prefix}-button--${size}`,\n `${prefix}-button--${color}`,\n `${prefix}-button--${color}--${variant}`,\n props.className\n );\n\n const renderIcon = (icon: React.JSX.Element, direction: 'left' | 'right') => {\n return cloneElement<IconProps>(icon, {\n color: `${color}.contrast`,\n className: joinClass(icon.props.className, `${prefix}-button__icon`, `${prefix}-button__icon--${direction}`)\n });\n };\n\n const renderLoading = (loading: React.JSX.Element) => {\n return cloneElement<LoadingProps>(loading, {\n className: joinClass(loading.props.className, `${prefix}-button__loading`, `${prefix}-button__loading--${size}`),\n size: '1.1rem',\n });\n };\n\n return (\n <button\n {...props}\n className={cls}\n onClick={(e) => !loading && props.onClick?.(e)}\n >\n {\n loading ? renderLoading(loading as React.JSX.Element) : (\n <>\n {startIcon && renderIcon(startIcon, 'left')}\n {children}\n {endIcon && renderIcon(endIcon, 'right')}\n </>\n )\n }\n <Ripple />\n </button>\n );\n}\n\nexport default createComponent(Button);"],"names":["Button","size","color","variant","startIcon","endIcon","loading","children","props","cls","joinClass","prefix","renderIcon","icon","direction","cloneElement","jsxs","e","Fragment","Ripple","Button_default","createComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/actions/Button/Button.tsx"],"sourcesContent":["import { type PropsWithChildren, type ButtonHTMLAttributes, cloneElement } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Colors, Size } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils';\n\nimport type { LoadingProps } from '@/feedback/Loading';\n\nimport type { IconProps } from '../../display/Icon';\nimport Ripple from '../Ripple';\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Button.scss';\n\nexport interface ButtonProps extends PropsWithChildren<ButtonHTMLAttributes<HTMLButtonElement>> {\n size?: Size;\n color?: Colors;\n endIcon?: React.JSX.Element;\n startIcon?: React.JSX.Element;\n loading?: React.JSX.Element | boolean;\n variant?: 'contained' | 'outlined' | 'text';\n};\nfunction Button({\n size = 'medium',\n color = 'primary',\n variant = 'contained',\n startIcon,\n endIcon,\n loading,\n children,\n ...props\n}: ButtonProps) {\n const cls = joinClass(\n `${prefix}-button`,\n `${prefix}-button--${size}`,\n `${prefix}-button--${color}`,\n `${prefix}-button--${color}--${variant}`,\n props.className\n );\n\n const renderIcon = (icon: React.JSX.Element, direction: 'left' | 'right') => {\n return cloneElement<IconProps>(icon, {\n color: `${color}.contrast`,\n className: joinClass(icon.props.className, `${prefix}-button__icon`, `${prefix}-button__icon--${direction}`)\n });\n };\n\n const renderLoading = (loading: React.JSX.Element) => {\n return cloneElement<LoadingProps>(loading, {\n className: joinClass(loading.props.className, `${prefix}-button__loading`, `${prefix}-button__loading--${size}`),\n size: '1.1rem',\n });\n };\n\n return (\n <button\n {...props}\n className={cls}\n onClick={(e) => !loading && props.onClick?.(e)}\n >\n {\n loading ? renderLoading(loading as React.JSX.Element) : (\n <>\n {startIcon && renderIcon(startIcon, 'left')}\n {children}\n {endIcon && renderIcon(endIcon, 'right')}\n </>\n )\n }\n <Ripple />\n </button>\n );\n}\n\nexport default createComponent(Button);"],"names":["Button","size","color","variant","startIcon","endIcon","loading","children","props","cls","joinClass","prefix","renderIcon","icon","direction","cloneElement","jsxs","e","Fragment","Ripple","Button_default","createComponent"],"mappings":"iaAuBA,SAASA,EAAO,CACd,KAAAC,EAAO,SACP,MAAAC,EAAQ,UACR,QAAAC,EAAU,YACV,UAAAC,EACA,QAAAC,EACA,QAAAC,EACA,SAAAC,EACA,GAAGC,CACL,EAAgB,CACd,MAAMC,EAAMC,EACV,GAAGC,CAAM,UACT,GAAGA,CAAM,YAAYV,CAAI,GACzB,GAAGU,CAAM,YAAYT,CAAK,GAC1B,GAAGS,CAAM,YAAYT,CAAK,KAAKC,CAAO,GACtCK,EAAM,SAAA,EAGFI,EAAa,CAACC,EAAyBC,IACpCC,EAAwBF,EAAM,CACnC,MAAO,GAAGX,CAAK,YACf,UAAWQ,EAAUG,EAAK,MAAM,UAAW,GAAGF,CAAM,gBAAiB,GAAGA,CAAM,kBAAkBG,CAAS,EAAE,CAAA,CAC5G,EAUH,OACEE,EAAC,SAAA,CACE,GAAGR,EACJ,UAAWC,EACX,QAAUQ,GAAM,CAACX,GAAWE,EAAM,UAAUS,CAAC,EAG3C,SAAA,CAAAX,GAdiBA,GACdS,EAA2BT,EAAS,CACzC,UAAWI,EAAUJ,EAAQ,MAAM,UAAW,GAAGK,CAAM,mBAAoB,GAAGA,CAAM,qBAAqBV,CAAI,EAAE,EAC/G,KAAM,QAAA,CACP,GAU2BK,CAA4B,EAClDU,EAAAE,EAAA,CACG,SAAA,CAAAd,GAAaQ,EAAWR,EAAW,MAAM,EACzCG,EACAF,GAAWO,EAAWP,EAAS,OAAO,CAAA,EACzC,IAGHc,EAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAGd,CAEA,MAAAC,EAAeC,EAAgBrB,CAAM"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/ButtonIcon-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/ButtonIcon-Cz8zJH-E.cjs");require("react/jsx-runtime");require("react");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/convertPathToColor-BlQMLS4V.cjs");require("../../chunks/useTheme-DoESyi5h.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/createComponent-CTufIEiN.cjs");exports.default=e.ButtonIcon;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{B as
|
|
1
|
+
import{B as s}from"../../chunks/ButtonIcon-CsX4oYeI.js";import"react/jsx-runtime";import"react";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/convertPathToColor-D2SdAqGh.js";import"../../chunks/useTheme-njpgklWP.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/createComponent-WNQRXK89.js";export{s 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/Card-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../chunks/Card-B8XSgLaD.cjs"),r=require("../../chunks/CardContent-BivcVoIc.cjs");require("react/jsx-runtime");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("react");require("../../chunks/createComponent-CTufIEiN.cjs");require("../../chunks/useTheme-DoESyi5h.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");exports.Card=e.Card;exports.CardContent=r.CardContent;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{C as
|
|
1
|
+
import{C as f}from"../../chunks/Card-DOsl4_nu.js";import{C as s}from"../../chunks/CardContent-C8ypE7yH.js";import"react/jsx-runtime";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"react";import"../../chunks/createComponent-WNQRXK89.js";import"../../chunks/useTheme-njpgklWP.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";export{f as Card,s as CardContent};
|
|
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"),e=require("../../chunks/index-DYxwT4uW.cjs"),x=require("../../chunks/joinClass-Jk3EszKD.cjs"),h=require("../../chunks/Stack-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),e=require("../../chunks/index-DYxwT4uW.cjs"),x=require("../../chunks/joinClass-Jk3EszKD.cjs"),h=require("../../chunks/Stack-beBM7a60.cjs"),b=require("../../chunks/createComponent-CTufIEiN.cjs");require("react");require("../../chunks/useTheme-DoESyi5h.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");function k({label:n,name:c,color:t="primary",checked:i,disabled:s,error:l,helperText:o,...u}){const a=x.joinClass(`${e.prefix}-checkbox`,`${e.prefix}-checkbox--${t}`,i&&`${e.prefix}-checkbox--${t}--checked`,s&&`${e.prefix}-checkbox--disabled`),p=x.joinClass(`${e.prefix}-checkbox__helper-text`,o&&`${e.prefix}-checkbox__helper-text--visible`,l&&`${e.prefix}-checkbox__helper-text--error`);return r.jsxs(h.Stack,{gap:4,children:[r.jsxs("label",{htmlFor:c,className:a,children:[r.jsx("input",{type:"checkbox",...u,id:c,name:c,checked:i,disabled:s}),n]}),r.jsx("span",{className:p,children:o})]})}const f=b.createComponent(k);exports.default=f;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/fields/Checkbox/Checkbox.tsx"],"sourcesContent":["import type { HTMLProps } 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 Stack from '@/layout/Stack';\n\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Checkbox.scss';\n\nexport interface CheckboxProps extends Omit<HTMLProps<HTMLInputElement>, 'id'> {\n name: string;\n label: string;\n helperText?: string;\n error?: boolean;\n color?: Colors;\n checked?: boolean;\n}\n\nfunction Checkbox({\n label,\n name,\n color = 'primary',\n checked,\n disabled,\n error,\n helperText,\n ...props\n}: CheckboxProps) {\n const className = joinClass(\n `${prefix}-checkbox`,\n `${prefix}-checkbox--${color}`,\n checked && `${prefix}-checkbox--${color}--checked`,\n disabled && `${prefix}-checkbox--disabled`,\n );\n\n const helperTextClss = joinClass(\n `${prefix}-checkbox__helper-text`,\n helperText && `${prefix}-checkbox__helper-text--visible`,\n error && `${prefix}-checkbox__helper-text--error`,\n );\n\n return (\n <Stack gap={4}>\n <label htmlFor={name} className={className}>\n <input\n type=\"checkbox\"\n {...props}\n id={name}\n name={name}\n checked={checked}\n disabled={disabled}\n />\n {label}\n </label>\n {\n <span className={helperTextClss}>{helperText}</span>\n }\n </Stack>\n );\n}\n\nexport default createComponent(Checkbox);\n"],"names":["Checkbox","label","name","color","checked","disabled","error","helperText","props","className","joinClass","prefix","helperTextClss","jsxs","Stack","jsx","Checkbox_default","createComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/fields/Checkbox/Checkbox.tsx"],"sourcesContent":["import type { HTMLProps } 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 Stack from '@/layout/Stack';\n\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Checkbox.scss';\n\nexport interface CheckboxProps extends Omit<HTMLProps<HTMLInputElement>, 'id'> {\n name: string;\n label: string;\n helperText?: string;\n error?: boolean;\n color?: Colors;\n checked?: boolean;\n}\n\nfunction Checkbox({\n label,\n name,\n color = 'primary',\n checked,\n disabled,\n error,\n helperText,\n ...props\n}: CheckboxProps) {\n const className = joinClass(\n `${prefix}-checkbox`,\n `${prefix}-checkbox--${color}`,\n checked && `${prefix}-checkbox--${color}--checked`,\n disabled && `${prefix}-checkbox--disabled`,\n );\n\n const helperTextClss = joinClass(\n `${prefix}-checkbox__helper-text`,\n helperText && `${prefix}-checkbox__helper-text--visible`,\n error && `${prefix}-checkbox__helper-text--error`,\n );\n\n return (\n <Stack gap={4}>\n <label htmlFor={name} className={className}>\n <input\n type=\"checkbox\"\n {...props}\n id={name}\n name={name}\n checked={checked}\n disabled={disabled}\n />\n {label}\n </label>\n {\n <span className={helperTextClss}>{helperText}</span>\n }\n </Stack>\n );\n}\n\nexport default createComponent(Checkbox);\n"],"names":["Checkbox","label","name","color","checked","disabled","error","helperText","props","className","joinClass","prefix","helperTextClss","jsxs","Stack","jsx","Checkbox_default","createComponent"],"mappings":"6cAsBA,SAASA,EAAS,CAChB,MAAAC,EACA,KAAAC,EACA,MAAAC,EAAQ,UACR,QAAAC,EACA,SAAAC,EACA,MAAAC,EACA,WAAAC,EACA,GAAGC,CACL,EAAkB,CAChB,MAAMC,EAAYC,EAAAA,UAChB,GAAGC,EAAAA,MAAM,YACT,GAAGA,EAAAA,MAAM,cAAcR,CAAK,GAC5BC,GAAW,GAAGO,EAAAA,MAAM,cAAcR,CAAK,YACvCE,GAAY,GAAGM,EAAAA,MAAM,qBAAA,EAGjBC,EAAiBF,EAAAA,UACrB,GAAGC,EAAAA,MAAM,yBACTJ,GAAc,GAAGI,EAAAA,MAAM,kCACvBL,GAAS,GAAGK,EAAAA,MAAM,+BAAA,EAGpB,OACEE,EAAAA,KAACC,EAAAA,MAAA,CAAM,IAAK,EACV,SAAA,CAAAD,EAAAA,KAAC,QAAA,CAAM,QAASX,EAAM,UAAAO,EACpB,SAAA,CAAAM,EAAAA,IAAC,QAAA,CACC,KAAK,WACJ,GAAGP,EACJ,GAAIN,EACJ,KAAAA,EACA,QAAAE,EACA,SAAAC,CAAA,CAAA,EAEDJ,CAAA,EACH,EAEEc,EAAAA,IAAC,OAAA,CAAK,UAAWH,EAAiB,SAAAL,CAAA,CAAW,CAAA,EAEjD,CAEJ,CAEA,MAAAS,EAAeC,EAAAA,gBAAgBjB,CAAQ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as p,jsx as i}from"react/jsx-runtime";import{p as e}from"../../chunks/index-CZ41y9Hn.js";import{j as h}from"../../chunks/joinClass-anSpaauN.js";import{S as n}from"../../chunks/Stack-
|
|
1
|
+
import{jsxs as p,jsx as i}from"react/jsx-runtime";import{p as e}from"../../chunks/index-CZ41y9Hn.js";import{j as h}from"../../chunks/joinClass-anSpaauN.js";import{S as n}from"../../chunks/Stack-DK5pfu2w.js";import{c as k}from"../../chunks/createComponent-WNQRXK89.js";import"react";import"../../chunks/useTheme-njpgklWP.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";function f({label:x,name:o,color:c="primary",checked:r,disabled:t,error:a,helperText:s,...m}){const l=h(`${e}-checkbox`,`${e}-checkbox--${c}`,r&&`${e}-checkbox--${c}--checked`,t&&`${e}-checkbox--disabled`),b=h(`${e}-checkbox__helper-text`,s&&`${e}-checkbox__helper-text--visible`,a&&`${e}-checkbox__helper-text--error`);return p(n,{gap:4,children:[p("label",{htmlFor:o,className:l,children:[i("input",{type:"checkbox",...m,id:o,name:o,checked:r,disabled:t}),x]}),i("span",{className:b,children:s})]})}const S=k(f);export{S as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/fields/Checkbox/Checkbox.tsx"],"sourcesContent":["import type { HTMLProps } 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 Stack from '@/layout/Stack';\n\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Checkbox.scss';\n\nexport interface CheckboxProps extends Omit<HTMLProps<HTMLInputElement>, 'id'> {\n name: string;\n label: string;\n helperText?: string;\n error?: boolean;\n color?: Colors;\n checked?: boolean;\n}\n\nfunction Checkbox({\n label,\n name,\n color = 'primary',\n checked,\n disabled,\n error,\n helperText,\n ...props\n}: CheckboxProps) {\n const className = joinClass(\n `${prefix}-checkbox`,\n `${prefix}-checkbox--${color}`,\n checked && `${prefix}-checkbox--${color}--checked`,\n disabled && `${prefix}-checkbox--disabled`,\n );\n\n const helperTextClss = joinClass(\n `${prefix}-checkbox__helper-text`,\n helperText && `${prefix}-checkbox__helper-text--visible`,\n error && `${prefix}-checkbox__helper-text--error`,\n );\n\n return (\n <Stack gap={4}>\n <label htmlFor={name} className={className}>\n <input\n type=\"checkbox\"\n {...props}\n id={name}\n name={name}\n checked={checked}\n disabled={disabled}\n />\n {label}\n </label>\n {\n <span className={helperTextClss}>{helperText}</span>\n }\n </Stack>\n );\n}\n\nexport default createComponent(Checkbox);\n"],"names":["Checkbox","label","name","color","checked","disabled","error","helperText","props","className","joinClass","prefix","helperTextClss","jsxs","Stack","jsx","Checkbox_default","createComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/fields/Checkbox/Checkbox.tsx"],"sourcesContent":["import type { HTMLProps } 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 Stack from '@/layout/Stack';\n\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Checkbox.scss';\n\nexport interface CheckboxProps extends Omit<HTMLProps<HTMLInputElement>, 'id'> {\n name: string;\n label: string;\n helperText?: string;\n error?: boolean;\n color?: Colors;\n checked?: boolean;\n}\n\nfunction Checkbox({\n label,\n name,\n color = 'primary',\n checked,\n disabled,\n error,\n helperText,\n ...props\n}: CheckboxProps) {\n const className = joinClass(\n `${prefix}-checkbox`,\n `${prefix}-checkbox--${color}`,\n checked && `${prefix}-checkbox--${color}--checked`,\n disabled && `${prefix}-checkbox--disabled`,\n );\n\n const helperTextClss = joinClass(\n `${prefix}-checkbox__helper-text`,\n helperText && `${prefix}-checkbox__helper-text--visible`,\n error && `${prefix}-checkbox__helper-text--error`,\n );\n\n return (\n <Stack gap={4}>\n <label htmlFor={name} className={className}>\n <input\n type=\"checkbox\"\n {...props}\n id={name}\n name={name}\n checked={checked}\n disabled={disabled}\n />\n {label}\n </label>\n {\n <span className={helperTextClss}>{helperText}</span>\n }\n </Stack>\n );\n}\n\nexport default createComponent(Checkbox);\n"],"names":["Checkbox","label","name","color","checked","disabled","error","helperText","props","className","joinClass","prefix","helperTextClss","jsxs","Stack","jsx","Checkbox_default","createComponent"],"mappings":"2XAsBA,SAASA,EAAS,CAChB,MAAAC,EACA,KAAAC,EACA,MAAAC,EAAQ,UACR,QAAAC,EACA,SAAAC,EACA,MAAAC,EACA,WAAAC,EACA,GAAGC,CACL,EAAkB,CAChB,MAAMC,EAAYC,EAChB,GAAGC,CAAM,YACT,GAAGA,CAAM,cAAcR,CAAK,GAC5BC,GAAW,GAAGO,CAAM,cAAcR,CAAK,YACvCE,GAAY,GAAGM,CAAM,qBAAA,EAGjBC,EAAiBF,EACrB,GAAGC,CAAM,yBACTJ,GAAc,GAAGI,CAAM,kCACvBL,GAAS,GAAGK,CAAM,+BAAA,EAGpB,OACEE,EAACC,EAAA,CAAM,IAAK,EACV,SAAA,CAAAD,EAAC,QAAA,CAAM,QAASX,EAAM,UAAAO,EACpB,SAAA,CAAAM,EAAC,QAAA,CACC,KAAK,WACJ,GAAGP,EACJ,GAAIN,EACJ,KAAAA,EACA,QAAAE,EACA,SAAAC,CAAA,CAAA,EAEDJ,CAAA,EACH,EAEEc,EAAC,OAAA,CAAK,UAAWH,EAAiB,SAAAL,CAAA,CAAW,CAAA,EAEjD,CAEJ,CAEA,MAAAS,EAAeC,EAAgBjB,CAAQ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const C=require("react/jsx-runtime"),c=require("react"),x=require("../../chunks/index-DYxwT4uW.cjs"),b=require("../../chunks/joinClass-Jk3EszKD.cjs"),q=require("../../chunks/Stack-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const C=require("react/jsx-runtime"),c=require("react"),x=require("../../chunks/index-DYxwT4uW.cjs"),b=require("../../chunks/joinClass-Jk3EszKD.cjs"),q=require("../../chunks/Stack-beBM7a60.cjs"),E=require("../../chunks/createComponent-CTufIEiN.cjs");require("../../chunks/useTheme-DoESyi5h.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");let g=0;function j({children:d,values:r,onChange:a,className:i}){const l=++g,n=c.Children.toArray(d),k=b.joinClass(`${x.prefix}-checkbox-group`,i),[s,p]=c.useState(n.map(e=>({id:e.props.name,value:e.props.value,checked:r?r.some(o=>o===e.props.name):!1}))),m=c.useCallback(()=>n.map((e,o)=>{const f=e.props.name;return c.cloneElement(e,{key:o,name:`${e.props.name}-${l}`,checked:e.props.checked||s[o].checked,onChange:h=>{const u=s.map(t=>t.id===f?{...t,checked:h.target.checked}:t);a&&a(u),p(u)}})}),[r,s]);return c.useEffect(()=>{p(n.map(e=>({id:e.props.name,value:e.props.value,checked:r?r.some(o=>o===e.props.name):!1})))},[r]),C.jsx(q.Stack,{gap:2,className:k,children:m()})}const y=E.createComponent(j);exports.default=y;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/fields/CheckboxGroup/CheckboxGroup.tsx"],"sourcesContent":["import { ChangeEvent, Children, cloneElement, ReactElement, useCallback, useEffect, useState } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport Stack from '@/layout/Stack';\n\nimport createComponent from '../../core/createComponent';\nimport type { CheckboxProps } from '../Checkbox';\n\nimport '@iziui/styles/components/CheckboxGroup.scss';\n\ntype CheckboxData = { id: string; value: any; checked: boolean };\n\nlet ID_REFERENCE = 0;\n\nexport interface CheckboxGroupProps {\n className?: string;\n children: React.ReactNode;\n values?: string[];\n onChange?: (data: CheckboxData[]) => void;\n}\n\nfunction CheckboxGroup({ children, values, onChange, className }: CheckboxGroupProps) {\n const reference = ++ID_REFERENCE;\n const arrayChildren = Children.toArray(children) as ReactElement<CheckboxProps>[];\n\n const cls = joinClass(\n `${prefix}-checkbox-group`,\n className,\n );\n\n const [checkboxes, setCheckboxes] = useState<CheckboxData[]>(arrayChildren.map((item) => ({\n id: item.props.name,\n value: item.props.value,\n checked: values ? values.some((val) => val === item.props.name) : false,\n })));\n\n const renderBoxes = useCallback(() => {\n return arrayChildren.map((child, index) => {\n const id = child.props.name;\n\n return cloneElement(child, {\n key: index,\n name: `${child.props.name}-${reference}`,\n checked: child.props.checked || checkboxes[index].checked,\n onChange: (e: ChangeEvent<HTMLInputElement>) => {\n const newArray = checkboxes.map((item) => {\n if (item.id === id) { return { ...item, checked: e.target.checked }; }\n\n return item;\n });\n\n if (onChange) { onChange(newArray); }\n\n setCheckboxes(newArray);\n },\n });\n });\n }, [values, checkboxes]);\n\n useEffect(() => {\n setCheckboxes(arrayChildren.map((item) => ({\n id: item.props.name,\n value: item.props.value,\n checked: values ? values.some((val) => val === item.props.name) : false,\n })));\n }, [values]);\n\n return (\n <Stack gap={2} className={cls}>\n {renderBoxes()}\n </Stack>\n );\n}\n\nexport default createComponent(CheckboxGroup);\n"],"names":["ID_REFERENCE","CheckboxGroup","children","values","onChange","className","reference","arrayChildren","Children","cls","joinClass","prefix","checkboxes","setCheckboxes","useState","item","val","renderBoxes","useCallback","child","index","id","cloneElement","e","newArray","useEffect","Stack","CheckboxGroup_default","createComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/fields/CheckboxGroup/CheckboxGroup.tsx"],"sourcesContent":["import { ChangeEvent, Children, cloneElement, ReactElement, useCallback, useEffect, useState } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport Stack from '@/layout/Stack';\n\nimport createComponent from '../../core/createComponent';\nimport type { CheckboxProps } from '../Checkbox';\n\nimport '@iziui/styles/components/CheckboxGroup.scss';\n\ntype CheckboxData = { id: string; value: any; checked: boolean };\n\nlet ID_REFERENCE = 0;\n\nexport interface CheckboxGroupProps {\n className?: string;\n children: React.ReactNode;\n values?: string[];\n onChange?: (data: CheckboxData[]) => void;\n}\n\nfunction CheckboxGroup({ children, values, onChange, className }: CheckboxGroupProps) {\n const reference = ++ID_REFERENCE;\n const arrayChildren = Children.toArray(children) as ReactElement<CheckboxProps>[];\n\n const cls = joinClass(\n `${prefix}-checkbox-group`,\n className,\n );\n\n const [checkboxes, setCheckboxes] = useState<CheckboxData[]>(arrayChildren.map((item) => ({\n id: item.props.name,\n value: item.props.value,\n checked: values ? values.some((val) => val === item.props.name) : false,\n })));\n\n const renderBoxes = useCallback(() => {\n return arrayChildren.map((child, index) => {\n const id = child.props.name;\n\n return cloneElement(child, {\n key: index,\n name: `${child.props.name}-${reference}`,\n checked: child.props.checked || checkboxes[index].checked,\n onChange: (e: ChangeEvent<HTMLInputElement>) => {\n const newArray = checkboxes.map((item) => {\n if (item.id === id) { return { ...item, checked: e.target.checked }; }\n\n return item;\n });\n\n if (onChange) { onChange(newArray); }\n\n setCheckboxes(newArray);\n },\n });\n });\n }, [values, checkboxes]);\n\n useEffect(() => {\n setCheckboxes(arrayChildren.map((item) => ({\n id: item.props.name,\n value: item.props.value,\n checked: values ? values.some((val) => val === item.props.name) : false,\n })));\n }, [values]);\n\n return (\n <Stack gap={2} className={cls}>\n {renderBoxes()}\n </Stack>\n );\n}\n\nexport default createComponent(CheckboxGroup);\n"],"names":["ID_REFERENCE","CheckboxGroup","children","values","onChange","className","reference","arrayChildren","Children","cls","joinClass","prefix","checkboxes","setCheckboxes","useState","item","val","renderBoxes","useCallback","child","index","id","cloneElement","e","newArray","useEffect","Stack","CheckboxGroup_default","createComponent"],"mappings":"+cAeA,IAAIA,EAAe,EASnB,SAASC,EAAc,CAAE,SAAAC,EAAU,OAAAC,EAAQ,SAAAC,EAAU,UAAAC,GAAiC,CACpF,MAAMC,EAAY,EAAEN,EACdO,EAAgBC,EAAAA,SAAS,QAAQN,CAAQ,EAEzCO,EAAMC,EAAAA,UACV,GAAGC,EAAAA,MAAM,kBACTN,CAAA,EAGI,CAACO,EAAYC,CAAa,EAAIC,EAAAA,SAAyBP,EAAc,IAAKQ,IAAU,CACxF,GAAIA,EAAK,MAAM,KACf,MAAOA,EAAK,MAAM,MAClB,QAASZ,EAASA,EAAO,KAAMa,GAAQA,IAAQD,EAAK,MAAM,IAAI,EAAI,EAAA,EAClE,CAAC,EAEGE,EAAcC,EAAAA,YAAY,IACvBX,EAAc,IAAI,CAACY,EAAOC,IAAU,CACzC,MAAMC,EAAKF,EAAM,MAAM,KAEvB,OAAOG,EAAAA,aAAaH,EAAO,CACzB,IAAKC,EACL,KAAM,GAAGD,EAAM,MAAM,IAAI,IAAIb,CAAS,GACtC,QAASa,EAAM,MAAM,SAAWP,EAAWQ,CAAK,EAAE,QAClD,SAAWG,GAAqC,CAC9C,MAAMC,EAAWZ,EAAW,IAAKG,GAC3BA,EAAK,KAAOM,EAAa,CAAE,GAAGN,EAAM,QAASQ,EAAE,OAAO,OAAA,EAEnDR,CACR,EAEGX,GAAYA,EAASoB,CAAQ,EAEjCX,EAAcW,CAAQ,CACxB,CAAA,CACD,CACH,CAAC,EACA,CAACrB,EAAQS,CAAU,CAAC,EAEvBa,OAAAA,EAAAA,UAAU,IAAM,CACdZ,EAAcN,EAAc,IAAKQ,IAAU,CACzC,GAAIA,EAAK,MAAM,KACf,MAAOA,EAAK,MAAM,MAClB,QAASZ,EAASA,EAAO,KAAMa,GAAQA,IAAQD,EAAK,MAAM,IAAI,EAAI,EAAA,EAClE,CAAC,CACL,EAAG,CAACZ,CAAM,CAAC,QAGRuB,QAAA,CAAM,IAAK,EAAG,UAAWjB,EACvB,aACH,CAEJ,CAEA,MAAAkB,EAAeC,EAAAA,gBAAgB3B,CAAa"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as i}from"react/jsx-runtime";import{Children as C,useState as x,useCallback as b,cloneElement as E,useEffect as y}from"react";import{p as g}from"../../chunks/index-CZ41y9Hn.js";import{j}from"../../chunks/joinClass-anSpaauN.js";import{S}from"../../chunks/Stack-
|
|
1
|
+
import{jsx as i}from"react/jsx-runtime";import{Children as C,useState as x,useCallback as b,cloneElement as E,useEffect as y}from"react";import{p as g}from"../../chunks/index-CZ41y9Hn.js";import{j}from"../../chunks/joinClass-anSpaauN.js";import{S}from"../../chunks/Stack-DK5pfu2w.js";import{c as $}from"../../chunks/createComponent-WNQRXK89.js";import"../../chunks/useTheme-njpgklWP.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";let A=0;function G({children:m,values:r,onChange:a,className:f}){const k=++A,p=C.toArray(m),d=j(`${g}-checkbox-group`,f),[c,n]=x(p.map(e=>({id:e.props.name,value:e.props.value,checked:r?r.some(o=>o===e.props.name):!1}))),u=b(()=>p.map((e,o)=>{const h=e.props.name;return E(e,{key:o,name:`${e.props.name}-${k}`,checked:e.props.checked||c[o].checked,onChange:l=>{const t=c.map(s=>s.id===h?{...s,checked:l.target.checked}:s);a&&a(t),n(t)}})}),[r,c]);return y(()=>{n(p.map(e=>({id:e.props.name,value:e.props.value,checked:r?r.some(o=>o===e.props.name):!1})))},[r]),i(S,{gap:2,className:d,children:u()})}const q=$(G);export{q as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/fields/CheckboxGroup/CheckboxGroup.tsx"],"sourcesContent":["import { ChangeEvent, Children, cloneElement, ReactElement, useCallback, useEffect, useState } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport Stack from '@/layout/Stack';\n\nimport createComponent from '../../core/createComponent';\nimport type { CheckboxProps } from '../Checkbox';\n\nimport '@iziui/styles/components/CheckboxGroup.scss';\n\ntype CheckboxData = { id: string; value: any; checked: boolean };\n\nlet ID_REFERENCE = 0;\n\nexport interface CheckboxGroupProps {\n className?: string;\n children: React.ReactNode;\n values?: string[];\n onChange?: (data: CheckboxData[]) => void;\n}\n\nfunction CheckboxGroup({ children, values, onChange, className }: CheckboxGroupProps) {\n const reference = ++ID_REFERENCE;\n const arrayChildren = Children.toArray(children) as ReactElement<CheckboxProps>[];\n\n const cls = joinClass(\n `${prefix}-checkbox-group`,\n className,\n );\n\n const [checkboxes, setCheckboxes] = useState<CheckboxData[]>(arrayChildren.map((item) => ({\n id: item.props.name,\n value: item.props.value,\n checked: values ? values.some((val) => val === item.props.name) : false,\n })));\n\n const renderBoxes = useCallback(() => {\n return arrayChildren.map((child, index) => {\n const id = child.props.name;\n\n return cloneElement(child, {\n key: index,\n name: `${child.props.name}-${reference}`,\n checked: child.props.checked || checkboxes[index].checked,\n onChange: (e: ChangeEvent<HTMLInputElement>) => {\n const newArray = checkboxes.map((item) => {\n if (item.id === id) { return { ...item, checked: e.target.checked }; }\n\n return item;\n });\n\n if (onChange) { onChange(newArray); }\n\n setCheckboxes(newArray);\n },\n });\n });\n }, [values, checkboxes]);\n\n useEffect(() => {\n setCheckboxes(arrayChildren.map((item) => ({\n id: item.props.name,\n value: item.props.value,\n checked: values ? values.some((val) => val === item.props.name) : false,\n })));\n }, [values]);\n\n return (\n <Stack gap={2} className={cls}>\n {renderBoxes()}\n </Stack>\n );\n}\n\nexport default createComponent(CheckboxGroup);\n"],"names":["ID_REFERENCE","CheckboxGroup","children","values","onChange","className","reference","arrayChildren","Children","cls","joinClass","prefix","checkboxes","setCheckboxes","useState","item","val","renderBoxes","useCallback","child","index","id","cloneElement","e","newArray","useEffect","Stack","CheckboxGroup_default","createComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/fields/CheckboxGroup/CheckboxGroup.tsx"],"sourcesContent":["import { ChangeEvent, Children, cloneElement, ReactElement, useCallback, useEffect, useState } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport Stack from '@/layout/Stack';\n\nimport createComponent from '../../core/createComponent';\nimport type { CheckboxProps } from '../Checkbox';\n\nimport '@iziui/styles/components/CheckboxGroup.scss';\n\ntype CheckboxData = { id: string; value: any; checked: boolean };\n\nlet ID_REFERENCE = 0;\n\nexport interface CheckboxGroupProps {\n className?: string;\n children: React.ReactNode;\n values?: string[];\n onChange?: (data: CheckboxData[]) => void;\n}\n\nfunction CheckboxGroup({ children, values, onChange, className }: CheckboxGroupProps) {\n const reference = ++ID_REFERENCE;\n const arrayChildren = Children.toArray(children) as ReactElement<CheckboxProps>[];\n\n const cls = joinClass(\n `${prefix}-checkbox-group`,\n className,\n );\n\n const [checkboxes, setCheckboxes] = useState<CheckboxData[]>(arrayChildren.map((item) => ({\n id: item.props.name,\n value: item.props.value,\n checked: values ? values.some((val) => val === item.props.name) : false,\n })));\n\n const renderBoxes = useCallback(() => {\n return arrayChildren.map((child, index) => {\n const id = child.props.name;\n\n return cloneElement(child, {\n key: index,\n name: `${child.props.name}-${reference}`,\n checked: child.props.checked || checkboxes[index].checked,\n onChange: (e: ChangeEvent<HTMLInputElement>) => {\n const newArray = checkboxes.map((item) => {\n if (item.id === id) { return { ...item, checked: e.target.checked }; }\n\n return item;\n });\n\n if (onChange) { onChange(newArray); }\n\n setCheckboxes(newArray);\n },\n });\n });\n }, [values, checkboxes]);\n\n useEffect(() => {\n setCheckboxes(arrayChildren.map((item) => ({\n id: item.props.name,\n value: item.props.value,\n checked: values ? values.some((val) => val === item.props.name) : false,\n })));\n }, [values]);\n\n return (\n <Stack gap={2} className={cls}>\n {renderBoxes()}\n </Stack>\n );\n}\n\nexport default createComponent(CheckboxGroup);\n"],"names":["ID_REFERENCE","CheckboxGroup","children","values","onChange","className","reference","arrayChildren","Children","cls","joinClass","prefix","checkboxes","setCheckboxes","useState","item","val","renderBoxes","useCallback","child","index","id","cloneElement","e","newArray","useEffect","Stack","CheckboxGroup_default","createComponent"],"mappings":"0bAeA,IAAIA,EAAe,EASnB,SAASC,EAAc,CAAE,SAAAC,EAAU,OAAAC,EAAQ,SAAAC,EAAU,UAAAC,GAAiC,CACpF,MAAMC,EAAY,EAAEN,EACdO,EAAgBC,EAAS,QAAQN,CAAQ,EAEzCO,EAAMC,EACV,GAAGC,CAAM,kBACTN,CAAA,EAGI,CAACO,EAAYC,CAAa,EAAIC,EAAyBP,EAAc,IAAKQ,IAAU,CACxF,GAAIA,EAAK,MAAM,KACf,MAAOA,EAAK,MAAM,MAClB,QAASZ,EAASA,EAAO,KAAMa,GAAQA,IAAQD,EAAK,MAAM,IAAI,EAAI,EAAA,EAClE,CAAC,EAEGE,EAAcC,EAAY,IACvBX,EAAc,IAAI,CAACY,EAAOC,IAAU,CACzC,MAAMC,EAAKF,EAAM,MAAM,KAEvB,OAAOG,EAAaH,EAAO,CACzB,IAAKC,EACL,KAAM,GAAGD,EAAM,MAAM,IAAI,IAAIb,CAAS,GACtC,QAASa,EAAM,MAAM,SAAWP,EAAWQ,CAAK,EAAE,QAClD,SAAWG,GAAqC,CAC9C,MAAMC,EAAWZ,EAAW,IAAKG,GAC3BA,EAAK,KAAOM,EAAa,CAAE,GAAGN,EAAM,QAASQ,EAAE,OAAO,OAAA,EAEnDR,CACR,EAEGX,GAAYA,EAASoB,CAAQ,EAEjCX,EAAcW,CAAQ,CACxB,CAAA,CACD,CACH,CAAC,EACA,CAACrB,EAAQS,CAAU,CAAC,EAEvB,OAAAa,EAAU,IAAM,CACdZ,EAAcN,EAAc,IAAKQ,IAAU,CACzC,GAAIA,EAAK,MAAM,KACf,MAAOA,EAAK,MAAM,MAClB,QAASZ,EAASA,EAAO,KAAMa,GAAQA,IAAQD,EAAK,MAAM,IAAI,EAAI,EAAA,EAClE,CAAC,CACL,EAAG,CAACZ,CAAM,CAAC,IAGRuB,EAAA,CAAM,IAAK,EAAG,UAAWjB,EACvB,aACH,CAEJ,CAEA,MAAAkB,EAAeC,EAAgB3B,CAAa"}
|
|
@@ -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"),$=require("../../chunks/createComponent-
|
|
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"),$=require("../../chunks/createComponent-CTufIEiN.cjs");require("../../chunks/useTheme-DoESyi5h.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");const j=a.forwardRef(({label:n,icon:t,size:u="medium",color:l="default",variant:d="contained",onDelete:c,...s},x)=>{const f=o.joinClass(`${e.prefix}-chip`,`${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),h=r=>a.cloneElement(r,{size:14,className:o.joinClass(r.props.className,`${e.prefix}-chip__icon`,n&&`${e.prefix}-chip__icon--margin`)}),m=r=>{r.stopPropagation(),c&&c()};return i.jsxs("div",{...s,ref:x,className:f,style:{...s.style},children:[t&&h(t),i.jsx("span",{children:n}),s.onClick&&i.jsx(p.Ripple,{}),c&&i.jsxs("button",{className:`${e.prefix}-chip__delete-icon`,onClick:m,children:[i.jsx("i",{className:"uil uil-times-circle"}),i.jsx(p.Ripple,{})]})]})}),C=$.createComponent(j);exports.default=C;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/display/Chip/Chip.tsx"],"sourcesContent":["import { cloneElement, forwardRef, HTMLAttributes, MouseEvent } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Colors, Size } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport type { IconProps } from '@/display/Icon';\nimport Ripple from '@/actions/Ripple';\nimport createComponent from '@/core/createComponent';\n\nimport '@iziui/styles/components/Chip.scss';\n\nexport interface ChipProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {\n label: string;\n size?: Size;\n color?: Colors | 'default';\n variant?: 'contained' | 'outlined';\n icon?: React.JSX.Element;\n onDelete?: () => void;\n};\nconst Chip = forwardRef<HTMLDivElement, ChipProps>(({\n label,\n icon,\n size = 'medium',\n color = 'default',\n variant = 'contained',\n onDelete,\n ...props\n}: ChipProps, ref) => {\n const clss = joinClass(\n `${prefix}-chip`,\n `${prefix}-chip--${color}`,\n `${prefix}-chip--${color}--${variant}`,\n `${prefix}-chip--${size}`,\n onDelete && `${prefix}-chip--deletable`,\n props.onClick && `${prefix}-chip--clickable`,\n props.className\n );\n\n const renderIcon = (icon: React.JSX.Element) => {\n return cloneElement<IconProps>(icon, {\n size: 14,\n className: joinClass(\n icon.props.className,\n `${prefix}-chip__icon`,\n label && `${prefix}-chip__icon--margin`,\n ),\n });\n };\n\n const handleDelete = (e: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>) => {\n e.stopPropagation();\n if (onDelete) { onDelete(); }\n };\n\n return (\n <div {...props} ref={ref} className={clss} style={{ ...props.style }}>\n {icon && renderIcon(icon)}\n <span>{label}</span>\n {props.onClick && <Ripple />}\n {\n onDelete && (\n <button className={`${prefix}-chip__delete-icon`} onClick={handleDelete}>\n <i className=\"uil uil-times-circle\"></i>\n <Ripple />\n </button>\n )\n }\n </div>\n );\n});\n\nexport default createComponent(Chip);\n"],"names":["Chip","forwardRef","label","icon","size","color","variant","onDelete","props","ref","clss","joinClass","prefix","renderIcon","cloneElement","handleDelete","e","jsxs","jsx","Ripple","Chip_default","createComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/display/Chip/Chip.tsx"],"sourcesContent":["import { cloneElement, forwardRef, HTMLAttributes, MouseEvent } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Colors, Size } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport type { IconProps } from '@/display/Icon';\nimport Ripple from '@/actions/Ripple';\nimport createComponent from '@/core/createComponent';\n\nimport '@iziui/styles/components/Chip.scss';\n\nexport interface ChipProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {\n label: string;\n size?: Size;\n color?: Colors | 'default';\n variant?: 'contained' | 'outlined';\n icon?: React.JSX.Element;\n onDelete?: () => void;\n};\nconst Chip = forwardRef<HTMLDivElement, ChipProps>(({\n label,\n icon,\n size = 'medium',\n color = 'default',\n variant = 'contained',\n onDelete,\n ...props\n}: ChipProps, ref) => {\n const clss = joinClass(\n `${prefix}-chip`,\n `${prefix}-chip--${color}`,\n `${prefix}-chip--${color}--${variant}`,\n `${prefix}-chip--${size}`,\n onDelete && `${prefix}-chip--deletable`,\n props.onClick && `${prefix}-chip--clickable`,\n props.className\n );\n\n const renderIcon = (icon: React.JSX.Element) => {\n return cloneElement<IconProps>(icon, {\n size: 14,\n className: joinClass(\n icon.props.className,\n `${prefix}-chip__icon`,\n label && `${prefix}-chip__icon--margin`,\n ),\n });\n };\n\n const handleDelete = (e: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>) => {\n e.stopPropagation();\n if (onDelete) { onDelete(); }\n };\n\n return (\n <div {...props} ref={ref} className={clss} style={{ ...props.style }}>\n {icon && renderIcon(icon)}\n <span>{label}</span>\n {props.onClick && <Ripple />}\n {\n onDelete && (\n <button className={`${prefix}-chip__delete-icon`} onClick={handleDelete}>\n <i className=\"uil uil-times-circle\"></i>\n <Ripple />\n </button>\n )\n }\n </div>\n );\n});\n\nexport default createComponent(Chip);\n"],"names":["Chip","forwardRef","label","icon","size","color","variant","onDelete","props","ref","clss","joinClass","prefix","renderIcon","cloneElement","handleDelete","e","jsxs","jsx","Ripple","Chip_default","createComponent"],"mappings":"gdAqBA,MAAMA,EAAOC,EAAAA,WAAsC,CAAC,CAClD,MAAAC,EACA,KAAAC,EACA,KAAAC,EAAO,SACP,MAAAC,EAAQ,UACR,QAAAC,EAAU,YACV,SAAAC,EACA,GAAGC,CACL,EAAcC,IAAQ,CACpB,MAAMC,EAAOC,EAAAA,UACX,GAAGC,EAAAA,MAAM,QACT,GAAGA,EAAAA,MAAM,UAAUP,CAAK,GACxB,GAAGO,EAAAA,MAAM,UAAUP,CAAK,KAAKC,CAAO,GACpC,GAAGM,EAAAA,MAAM,UAAUR,CAAI,GACvBG,GAAY,GAAGK,EAAAA,MAAM,mBACrBJ,EAAM,SAAW,GAAGI,EAAAA,MAAM,mBAC1BJ,EAAM,SAAA,EAGFK,EAAcV,GACXW,EAAAA,aAAwBX,EAAM,CACnC,KAAM,GACN,UAAWQ,EAAAA,UACTR,EAAK,MAAM,UACX,GAAGS,EAAAA,MAAM,cACTV,GAAS,GAAGU,EAAAA,MAAM,qBAAA,CACpB,CACD,EAGGG,EAAgBC,GAA4D,CAChFA,EAAE,gBAAA,EACET,GAAYA,EAAA,CAClB,EAEA,OACEU,EAAAA,KAAC,MAAA,CAAK,GAAGT,EAAO,IAAAC,EAAU,UAAWC,EAAM,MAAO,CAAE,GAAGF,EAAM,KAAA,EAC1D,SAAA,CAAAL,GAAQU,EAAWV,CAAI,EACxBe,EAAAA,IAAC,QAAM,SAAAhB,CAAA,CAAM,EACZM,EAAM,SAAWU,MAACC,EAAAA,OAAA,CAAA,CAAO,EAExBZ,UACG,SAAA,CAAO,UAAW,GAAGK,EAAAA,MAAM,qBAAsB,QAASG,EACzD,SAAA,CAAAG,EAAAA,IAAC,IAAA,CAAE,UAAU,sBAAA,CAAuB,QACnCC,EAAAA,OAAA,CAAA,CAAO,CAAA,CAAA,CACV,CAAA,EAGN,CAEJ,CAAC,EAEDC,EAAeC,EAAAA,gBAAgBrB,CAAI"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as l,jsx as a}from"react/jsx-runtime";import{forwardRef as C,cloneElement as _}from"react";import{p as i}from"../../chunks/index-CZ41y9Hn.js";import{j as m}from"../../chunks/joinClass-anSpaauN.js";import{R as n}from"../../chunks/Ripple-Bq9bxg4k.js";import{c as N}from"../../chunks/createComponent-WNQRXK89.js";import"../../chunks/useTheme-njpgklWP.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";const j=C(({label:t,icon:o,size:p="medium",color:r="default",variant:h="contained",onDelete:e,...c},d)=>{const f=m(`${i}-chip`,`${i}-chip--${r}`,`${i}-chip--${r}--${h}`,`${i}-chip--${p}`,e&&`${i}-chip--deletable`,c.onClick&&`${i}-chip--clickable`,c.className),$=s=>_(s,{size:14,className:m(s.props.className,`${i}-chip__icon`,t&&`${i}-chip__icon--margin`)}),u=s=>{s.stopPropagation(),e&&e()};return l("div",{...c,ref:d,className:f,style:{...c.style},children:[o&&$(o),a("span",{children:t}),c.onClick&&a(n,{}),e&&l("button",{className:`${i}-chip__delete-icon`,onClick:u,children:[a("i",{className:"uil uil-times-circle"}),a(n,{})]})]})}),z=N(j);export{z as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/display/Chip/Chip.tsx"],"sourcesContent":["import { cloneElement, forwardRef, HTMLAttributes, MouseEvent } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Colors, Size } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport type { IconProps } from '@/display/Icon';\nimport Ripple from '@/actions/Ripple';\nimport createComponent from '@/core/createComponent';\n\nimport '@iziui/styles/components/Chip.scss';\n\nexport interface ChipProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {\n label: string;\n size?: Size;\n color?: Colors | 'default';\n variant?: 'contained' | 'outlined';\n icon?: React.JSX.Element;\n onDelete?: () => void;\n};\nconst Chip = forwardRef<HTMLDivElement, ChipProps>(({\n label,\n icon,\n size = 'medium',\n color = 'default',\n variant = 'contained',\n onDelete,\n ...props\n}: ChipProps, ref) => {\n const clss = joinClass(\n `${prefix}-chip`,\n `${prefix}-chip--${color}`,\n `${prefix}-chip--${color}--${variant}`,\n `${prefix}-chip--${size}`,\n onDelete && `${prefix}-chip--deletable`,\n props.onClick && `${prefix}-chip--clickable`,\n props.className\n );\n\n const renderIcon = (icon: React.JSX.Element) => {\n return cloneElement<IconProps>(icon, {\n size: 14,\n className: joinClass(\n icon.props.className,\n `${prefix}-chip__icon`,\n label && `${prefix}-chip__icon--margin`,\n ),\n });\n };\n\n const handleDelete = (e: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>) => {\n e.stopPropagation();\n if (onDelete) { onDelete(); }\n };\n\n return (\n <div {...props} ref={ref} className={clss} style={{ ...props.style }}>\n {icon && renderIcon(icon)}\n <span>{label}</span>\n {props.onClick && <Ripple />}\n {\n onDelete && (\n <button className={`${prefix}-chip__delete-icon`} onClick={handleDelete}>\n <i className=\"uil uil-times-circle\"></i>\n <Ripple />\n </button>\n )\n }\n </div>\n );\n});\n\nexport default createComponent(Chip);\n"],"names":["Chip","forwardRef","label","icon","size","color","variant","onDelete","props","ref","clss","joinClass","prefix","renderIcon","cloneElement","handleDelete","e","jsxs","jsx","Ripple","Chip_default","createComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/display/Chip/Chip.tsx"],"sourcesContent":["import { cloneElement, forwardRef, HTMLAttributes, MouseEvent } from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport type { Colors, Size } from '@iziui/core/theme';\nimport { joinClass } from '@iziui/core/utils/joinClass';\n\nimport type { IconProps } from '@/display/Icon';\nimport Ripple from '@/actions/Ripple';\nimport createComponent from '@/core/createComponent';\n\nimport '@iziui/styles/components/Chip.scss';\n\nexport interface ChipProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {\n label: string;\n size?: Size;\n color?: Colors | 'default';\n variant?: 'contained' | 'outlined';\n icon?: React.JSX.Element;\n onDelete?: () => void;\n};\nconst Chip = forwardRef<HTMLDivElement, ChipProps>(({\n label,\n icon,\n size = 'medium',\n color = 'default',\n variant = 'contained',\n onDelete,\n ...props\n}: ChipProps, ref) => {\n const clss = joinClass(\n `${prefix}-chip`,\n `${prefix}-chip--${color}`,\n `${prefix}-chip--${color}--${variant}`,\n `${prefix}-chip--${size}`,\n onDelete && `${prefix}-chip--deletable`,\n props.onClick && `${prefix}-chip--clickable`,\n props.className\n );\n\n const renderIcon = (icon: React.JSX.Element) => {\n return cloneElement<IconProps>(icon, {\n size: 14,\n className: joinClass(\n icon.props.className,\n `${prefix}-chip__icon`,\n label && `${prefix}-chip__icon--margin`,\n ),\n });\n };\n\n const handleDelete = (e: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>) => {\n e.stopPropagation();\n if (onDelete) { onDelete(); }\n };\n\n return (\n <div {...props} ref={ref} className={clss} style={{ ...props.style }}>\n {icon && renderIcon(icon)}\n <span>{label}</span>\n {props.onClick && <Ripple />}\n {\n onDelete && (\n <button className={`${prefix}-chip__delete-icon`} onClick={handleDelete}>\n <i className=\"uil uil-times-circle\"></i>\n <Ripple />\n </button>\n )\n }\n </div>\n );\n});\n\nexport default createComponent(Chip);\n"],"names":["Chip","forwardRef","label","icon","size","color","variant","onDelete","props","ref","clss","joinClass","prefix","renderIcon","cloneElement","handleDelete","e","jsxs","jsx","Ripple","Chip_default","createComponent"],"mappings":"maAqBA,MAAMA,EAAOC,EAAsC,CAAC,CAClD,MAAAC,EACA,KAAAC,EACA,KAAAC,EAAO,SACP,MAAAC,EAAQ,UACR,QAAAC,EAAU,YACV,SAAAC,EACA,GAAGC,CACL,EAAcC,IAAQ,CACpB,MAAMC,EAAOC,EACX,GAAGC,CAAM,QACT,GAAGA,CAAM,UAAUP,CAAK,GACxB,GAAGO,CAAM,UAAUP,CAAK,KAAKC,CAAO,GACpC,GAAGM,CAAM,UAAUR,CAAI,GACvBG,GAAY,GAAGK,CAAM,mBACrBJ,EAAM,SAAW,GAAGI,CAAM,mBAC1BJ,EAAM,SAAA,EAGFK,EAAcV,GACXW,EAAwBX,EAAM,CACnC,KAAM,GACN,UAAWQ,EACTR,EAAK,MAAM,UACX,GAAGS,CAAM,cACTV,GAAS,GAAGU,CAAM,qBAAA,CACpB,CACD,EAGGG,EAAgBC,GAA4D,CAChFA,EAAE,gBAAA,EACET,GAAYA,EAAA,CAClB,EAEA,OACEU,EAAC,MAAA,CAAK,GAAGT,EAAO,IAAAC,EAAU,UAAWC,EAAM,MAAO,CAAE,GAAGF,EAAM,KAAA,EAC1D,SAAA,CAAAL,GAAQU,EAAWV,CAAI,EACxBe,EAAC,QAAM,SAAAhB,CAAA,CAAM,EACZM,EAAM,SAAWU,EAACC,EAAA,CAAA,CAAO,EAExBZ,KACG,SAAA,CAAO,UAAW,GAAGK,CAAM,qBAAsB,QAASG,EACzD,SAAA,CAAAG,EAAC,IAAA,CAAE,UAAU,sBAAA,CAAuB,IACnCC,EAAA,CAAA,CAAO,CAAA,CAAA,CACV,CAAA,EAGN,CAEJ,CAAC,EAEDC,EAAeC,EAAgBrB,CAAI"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),
|
|
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-ut8xLHQT.cjs"),C=require("../../chunks/Icon-COl2Nhp9.cjs"),E=require("../../chunks/Stack-beBM7a60.cjs"),I=require("../../chunks/useTheme-DoESyi5h.cjs"),_=require("../../chunks/useMenu-C0u9aTiR.cjs"),O=require("../../chunks/createComponent-CTufIEiN.cjs");require("../../chunks/useListenerResized-AwpsZLcP.cjs");require("../../chunks/Card-B8XSgLaD.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/CardContent-BivcVoIc.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/fields/ColorPicker/colors.ts","../../../src/fields/ColorPicker/ColorPicker.tsx"],"sourcesContent":["export default [\n '#00aae6',\n '#2e72fe',\n '#6f4dff',\n '#9f40f1',\n '#9e2dbf',\n '#db5bdc',\n '#ea479b',\n '#ff83a8',\n '#d80051',\n '#eb3d32',\n '#fa8d2f',\n '#f5cd2b',\n '#93ca00',\n '#62d26f',\n '#38c5ab',\n '#87969f',\n];","import {\n useRef,\n useMemo,\n type InputHTMLAttributes,\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport { getContrastColor } from '@iziui/core/utils';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport Box from '@/layout/Box';\nimport Icon from '@/display/Icon';\nimport Stack from '@/layout/Stack';\nimport { useTheme } from '@/theme';\nimport { Menu, useMenu } from '@/navigation/Menu';\n\nimport COLORS from './colors';\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/ColorPicker.scss';\n\nexport interface ColorPickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value'> {\n label?: string;\n value: string;\n error?: boolean;\n helperText?: string;\n fitContent?: boolean;\n autoClose?: boolean;\n}\n\nfunction ColorPicker({\n label,\n error,\n helperText,\n fitContent,\n value = COLORS[0],\n autoClose,\n onChange,\n onInput,\n ...props\n}: ColorPickerProps) {\n const { theme: { palette } } = useTheme();\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const [open, el, toggle] = useMenu();\n\n const id = useMemo(() => uuid(), []);\n\n const labelClss = joinClass(\n `${prefix}-color-picker__label`,\n error && `${prefix}-color-picker__label--error`,\n );\n\n const containerClassName = joinClass(\n `${prefix}-color-picker-container`,\n error && `${prefix}-color-picker-container--error`,\n );\n\n const colorPickerClassName = joinClass(\n `${prefix}-color-picker`,\n error && `${prefix}-color-picker--error`,\n );\n\n const valueClassName = joinClass(\n `${prefix}-color-picker__value`,\n error && `${prefix}-color-picker__value--error`,\n );\n\n const helperTextClss = joinClass(\n `${prefix}-color-picker__helper-text`,\n helperText && `${prefix}-color-picker__helper-text--visible`,\n error && `${prefix}-color-picker__helper-text--error`,\n );\n\n const iconClassName = (c: string) => joinClass(\n `${prefix}-color-picker__color__icon`,\n value === c && `${prefix}-color-picker__color__icon--visible`,\n );\n\n function handleColorChange(color: string) {\n if (!inputRef.current) { return; }\n // if (autoClose) { toggle(); }\n\n inputRef.current.value = color;\n inputRef.current.dispatchEvent(new Event('input', { bubbles: true }));\n }\n\n return (\n <div className={containerClassName}>\n {label && <label className={labelClss}>{label} {props.required && '*'}</label>}\n <button type=\"button\" onClick={toggle} className={colorPickerClassName}>\n <div className={`${prefix}-color-picker__preview`}>\n <div style={{ backgroundColor: value }} />\n </div>\n <div className={valueClassName}>\n {value}\n </div>\n </button>\n <span className={helperTextClss}>{helperText}</span>\n <Menu\n direction=\"left\"\n autoClose={autoClose}\n open={open}\n anchorEl={el}\n width={fitContent ? 'fit-content' : ''}\n onClose={toggle}\n >\n <Box sx={{ p: 1 }}>\n <Stack\n gap={8}\n flexDirection=\"row\"\n justifyContent=\"center\"\n style={{ flexWrap: 'wrap' }}\n >\n {\n COLORS.map((c) => (\n <button\n key={c}\n type=\"button\"\n className={`${prefix}-color-picker__color`}\n onClick={() => handleColorChange(c)}\n style={{ backgroundColor: c }}\n >\n <Icon\n name=\"check\"\n className={iconClassName(c)}\n style={{ color: getContrastColor(value) }}\n />\n </button>\n ))\n }\n <label\n htmlFor={`color-picker-${id}`}\n className={`${prefix}-color-picker__color`}\n style={{ backgroundColor: palette.grey.main }}\n >\n <Icon\n name=\"plus\"\n className={iconClassName(value)}\n style={{ color: getContrastColor(palette.grey.main) }}\n />\n <input\n ref={inputRef}\n type=\"color\"\n id={`color-picker-${id}`}\n value={value}\n onChange={onChange}\n onInput={onInput}\n />\n </label>\n </Stack>\n </Box>\n </Menu>\n </div>\n );\n}\n\nexport default createComponent(ColorPicker);\n"],"names":["COLORS","ColorPicker","label","error","helperText","fitContent","value","autoClose","onChange","onInput","props","palette","useTheme","inputRef","useRef","open","el","toggle","useMenu","id","useMemo","uuid","labelClss","joinClass","prefix","containerClassName","colorPickerClassName","valueClassName","helperTextClss","iconClassName","c","handleColorChange","color","jsxs","jsx","Menu","Box","Stack","Icon","getContrastColor","ColorPicker_default","createComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/fields/ColorPicker/colors.ts","../../../src/fields/ColorPicker/ColorPicker.tsx"],"sourcesContent":["export default [\n '#00aae6',\n '#2e72fe',\n '#6f4dff',\n '#9f40f1',\n '#9e2dbf',\n '#db5bdc',\n '#ea479b',\n '#ff83a8',\n '#d80051',\n '#eb3d32',\n '#fa8d2f',\n '#f5cd2b',\n '#93ca00',\n '#62d26f',\n '#38c5ab',\n '#87969f',\n];","import {\n useRef,\n useMemo,\n type InputHTMLAttributes,\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport { getContrastColor } from '@iziui/core/utils';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport Box from '@/layout/Box';\nimport Icon from '@/display/Icon';\nimport Stack from '@/layout/Stack';\nimport { useTheme } from '@/theme';\nimport { Menu, useMenu } from '@/navigation/Menu';\n\nimport COLORS from './colors';\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/ColorPicker.scss';\n\nexport interface ColorPickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value'> {\n label?: string;\n value: string;\n error?: boolean;\n helperText?: string;\n fitContent?: boolean;\n autoClose?: boolean;\n}\n\nfunction ColorPicker({\n label,\n error,\n helperText,\n fitContent,\n value = COLORS[0],\n autoClose,\n onChange,\n onInput,\n ...props\n}: ColorPickerProps) {\n const { theme: { palette } } = useTheme();\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const [open, el, toggle] = useMenu();\n\n const id = useMemo(() => uuid(), []);\n\n const labelClss = joinClass(\n `${prefix}-color-picker__label`,\n error && `${prefix}-color-picker__label--error`,\n );\n\n const containerClassName = joinClass(\n `${prefix}-color-picker-container`,\n error && `${prefix}-color-picker-container--error`,\n );\n\n const colorPickerClassName = joinClass(\n `${prefix}-color-picker`,\n error && `${prefix}-color-picker--error`,\n );\n\n const valueClassName = joinClass(\n `${prefix}-color-picker__value`,\n error && `${prefix}-color-picker__value--error`,\n );\n\n const helperTextClss = joinClass(\n `${prefix}-color-picker__helper-text`,\n helperText && `${prefix}-color-picker__helper-text--visible`,\n error && `${prefix}-color-picker__helper-text--error`,\n );\n\n const iconClassName = (c: string) => joinClass(\n `${prefix}-color-picker__color__icon`,\n value === c && `${prefix}-color-picker__color__icon--visible`,\n );\n\n function handleColorChange(color: string) {\n if (!inputRef.current) { return; }\n // if (autoClose) { toggle(); }\n\n inputRef.current.value = color;\n inputRef.current.dispatchEvent(new Event('input', { bubbles: true }));\n }\n\n return (\n <div className={containerClassName}>\n {label && <label className={labelClss}>{label} {props.required && '*'}</label>}\n <button type=\"button\" onClick={toggle} className={colorPickerClassName}>\n <div className={`${prefix}-color-picker__preview`}>\n <div style={{ backgroundColor: value }} />\n </div>\n <div className={valueClassName}>\n {value}\n </div>\n </button>\n <span className={helperTextClss}>{helperText}</span>\n <Menu\n direction=\"left\"\n autoClose={autoClose}\n open={open}\n anchorEl={el}\n width={fitContent ? 'fit-content' : ''}\n onClose={toggle}\n >\n <Box sx={{ p: 1 }}>\n <Stack\n gap={8}\n flexDirection=\"row\"\n justifyContent=\"center\"\n style={{ flexWrap: 'wrap' }}\n >\n {\n COLORS.map((c) => (\n <button\n key={c}\n type=\"button\"\n className={`${prefix}-color-picker__color`}\n onClick={() => handleColorChange(c)}\n style={{ backgroundColor: c }}\n >\n <Icon\n name=\"check\"\n className={iconClassName(c)}\n style={{ color: getContrastColor(value) }}\n />\n </button>\n ))\n }\n <label\n htmlFor={`color-picker-${id}`}\n className={`${prefix}-color-picker__color`}\n style={{ backgroundColor: palette.grey.main }}\n >\n <Icon\n name=\"plus\"\n className={iconClassName(value)}\n style={{ color: getContrastColor(palette.grey.main) }}\n />\n <input\n ref={inputRef}\n type=\"color\"\n id={`color-picker-${id}`}\n value={value}\n onChange={onChange}\n onInput={onInput}\n />\n </label>\n </Stack>\n </Box>\n </Menu>\n </div>\n );\n}\n\nexport default createComponent(ColorPicker);\n"],"names":["COLORS","ColorPicker","label","error","helperText","fitContent","value","autoClose","onChange","onInput","props","palette","useTheme","inputRef","useRef","open","el","toggle","useMenu","id","useMemo","uuid","labelClss","joinClass","prefix","containerClassName","colorPickerClassName","valueClassName","helperTextClss","iconClassName","c","handleColorChange","color","jsxs","jsx","Menu","Box","Stack","Icon","getContrastColor","ColorPicker_default","createComponent"],"mappings":"o0BAAA,MAAAA,EAAe,CACb,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACF,ECgBA,SAASC,EAAY,CACnB,MAAAC,EACA,MAAAC,EACA,WAAAC,EACA,WAAAC,EACA,MAAAC,EAAQN,EAAO,CAAC,EAChB,UAAAO,EACA,SAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EAAqB,CACnB,KAAM,CAAE,MAAO,CAAE,QAAAC,CAAA,CAAQ,EAAMC,EAAAA,SAAA,EAEzBC,EAAWC,EAAAA,OAAgC,IAAI,EAE/C,CAACC,EAAMC,EAAIC,CAAM,EAAIC,EAAAA,QAAA,EAErBC,EAAKC,EAAAA,QAAQ,IAAMC,EAAAA,KAAA,EAAQ,CAAA,CAAE,EAE7BC,EAAYC,EAAAA,UAChB,GAAGC,EAAAA,MAAM,uBACTrB,GAAS,GAAGqB,EAAAA,MAAM,6BAAA,EAGdC,EAAqBF,EAAAA,UACzB,GAAGC,EAAAA,MAAM,0BACTrB,GAAS,GAAGqB,EAAAA,MAAM,gCAAA,EAGdE,EAAuBH,EAAAA,UAC3B,GAAGC,EAAAA,MAAM,gBACTrB,GAAS,GAAGqB,EAAAA,MAAM,sBAAA,EAGdG,EAAiBJ,EAAAA,UACrB,GAAGC,EAAAA,MAAM,uBACTrB,GAAS,GAAGqB,EAAAA,MAAM,6BAAA,EAGdI,EAAiBL,EAAAA,UACrB,GAAGC,EAAAA,MAAM,6BACTpB,GAAc,GAAGoB,EAAAA,MAAM,sCACvBrB,GAAS,GAAGqB,EAAAA,MAAM,mCAAA,EAGdK,EAAiBC,GAAcP,EAAAA,UACnC,GAAGC,EAAAA,MAAM,6BACTlB,IAAUwB,GAAK,GAAGN,EAAAA,MAAM,qCAAA,EAG1B,SAASO,EAAkBC,EAAe,CACnCnB,EAAS,UAGdA,EAAS,QAAQ,MAAQmB,EACzBnB,EAAS,QAAQ,cAAc,IAAI,MAAM,QAAS,CAAE,QAAS,EAAA,CAAM,CAAC,EACtE,CAEA,OACEoB,EAAAA,KAAC,MAAA,CAAI,UAAWR,EACb,SAAA,CAAAvB,GAAS+B,EAAAA,KAAC,QAAA,CAAM,UAAWX,EAAY,SAAA,CAAApB,EAAM,IAAEQ,EAAM,UAAY,GAAA,EAAI,SACrE,SAAA,CAAO,KAAK,SAAS,QAASO,EAAQ,UAAWS,EAChD,SAAA,CAAAQ,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGV,EAAAA,MAAM,yBACvB,SAAAU,EAAAA,IAAC,MAAA,CAAI,MAAO,CAAE,gBAAiB5B,CAAA,CAAM,CAAG,EAC1C,EACA4B,EAAAA,IAAC,MAAA,CAAI,UAAWP,EACb,SAAArB,CAAA,CACH,CAAA,EACF,EACA4B,EAAAA,IAAC,OAAA,CAAK,UAAWN,EAAiB,SAAAxB,EAAW,EAC7C8B,EAAAA,IAACC,EAAAA,KAAA,CACC,UAAU,OACV,UAAA5B,EACA,KAAAQ,EACA,SAAUC,EACV,MAAOX,EAAa,cAAgB,GACpC,QAASY,EAET,eAACmB,EAAAA,IAAA,CAAI,GAAI,CAAE,EAAG,GACZ,SAAAH,EAAAA,KAACI,EAAAA,MAAA,CACC,IAAK,EACL,cAAc,MACd,eAAe,SACf,MAAO,CAAE,SAAU,MAAA,EAGjB,SAAA,CAAArC,EAAO,IAAK8B,GACVI,EAAAA,IAAC,SAAA,CAEC,KAAK,SACL,UAAW,GAAGV,EAAAA,MAAM,uBACpB,QAAS,IAAMO,EAAkBD,CAAC,EAClC,MAAO,CAAE,gBAAiBA,CAAA,EAE1B,SAAAI,EAAAA,IAACI,EAAAA,KAAA,CACC,KAAK,QACL,UAAWT,EAAcC,CAAC,EAC1B,MAAO,CAAE,MAAOS,EAAAA,iBAAiBjC,CAAK,CAAA,CAAE,CAAA,CAC1C,EAVKwB,CAAA,CAYR,EAEHG,EAAAA,KAAC,QAAA,CACC,QAAS,gBAAgBd,CAAE,GAC3B,UAAW,GAAGK,EAAAA,MAAM,uBACpB,MAAO,CAAE,gBAAiBb,EAAQ,KAAK,IAAA,EAEvC,SAAA,CAAAuB,EAAAA,IAACI,EAAAA,KAAA,CACC,KAAK,OACL,UAAWT,EAAcvB,CAAK,EAC9B,MAAO,CAAE,MAAOiC,EAAAA,iBAAiB5B,EAAQ,KAAK,IAAI,CAAA,CAAE,CAAA,EAEtDuB,EAAAA,IAAC,QAAA,CACC,IAAKrB,EACL,KAAK,QACL,GAAI,gBAAgBM,CAAE,GACtB,MAAAb,EACA,SAAAE,EACA,QAAAC,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CACF,CAAA,CAAA,CACF,EACF,CAEJ,CAEA,MAAA+B,EAAeC,EAAAA,gBAAgBxC,CAAW"}
|
|
@@ -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{
|
|
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-DD-rZ2rr.js";import{I as _}from"../../chunks/Icon-CCIgEwA9.js";import{S as I}from"../../chunks/Stack-DK5pfu2w.js";import{u as O}from"../../chunks/useTheme-njpgklWP.js";import{u as q,M as D}from"../../chunks/useMenu-BNL22pOQ.js";import{c as F}from"../../chunks/createComponent-WNQRXK89.js";import"../../chunks/useListenerResized-Bnqxrt7k.js";import"../../chunks/Card-DOsl4_nu.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/CardContent-C8ypE7yH.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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/fields/ColorPicker/colors.ts","../../../src/fields/ColorPicker/ColorPicker.tsx"],"sourcesContent":["export default [\n '#00aae6',\n '#2e72fe',\n '#6f4dff',\n '#9f40f1',\n '#9e2dbf',\n '#db5bdc',\n '#ea479b',\n '#ff83a8',\n '#d80051',\n '#eb3d32',\n '#fa8d2f',\n '#f5cd2b',\n '#93ca00',\n '#62d26f',\n '#38c5ab',\n '#87969f',\n];","import {\n useRef,\n useMemo,\n type InputHTMLAttributes,\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport { getContrastColor } from '@iziui/core/utils';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport Box from '@/layout/Box';\nimport Icon from '@/display/Icon';\nimport Stack from '@/layout/Stack';\nimport { useTheme } from '@/theme';\nimport { Menu, useMenu } from '@/navigation/Menu';\n\nimport COLORS from './colors';\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/ColorPicker.scss';\n\nexport interface ColorPickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value'> {\n label?: string;\n value: string;\n error?: boolean;\n helperText?: string;\n fitContent?: boolean;\n autoClose?: boolean;\n}\n\nfunction ColorPicker({\n label,\n error,\n helperText,\n fitContent,\n value = COLORS[0],\n autoClose,\n onChange,\n onInput,\n ...props\n}: ColorPickerProps) {\n const { theme: { palette } } = useTheme();\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const [open, el, toggle] = useMenu();\n\n const id = useMemo(() => uuid(), []);\n\n const labelClss = joinClass(\n `${prefix}-color-picker__label`,\n error && `${prefix}-color-picker__label--error`,\n );\n\n const containerClassName = joinClass(\n `${prefix}-color-picker-container`,\n error && `${prefix}-color-picker-container--error`,\n );\n\n const colorPickerClassName = joinClass(\n `${prefix}-color-picker`,\n error && `${prefix}-color-picker--error`,\n );\n\n const valueClassName = joinClass(\n `${prefix}-color-picker__value`,\n error && `${prefix}-color-picker__value--error`,\n );\n\n const helperTextClss = joinClass(\n `${prefix}-color-picker__helper-text`,\n helperText && `${prefix}-color-picker__helper-text--visible`,\n error && `${prefix}-color-picker__helper-text--error`,\n );\n\n const iconClassName = (c: string) => joinClass(\n `${prefix}-color-picker__color__icon`,\n value === c && `${prefix}-color-picker__color__icon--visible`,\n );\n\n function handleColorChange(color: string) {\n if (!inputRef.current) { return; }\n // if (autoClose) { toggle(); }\n\n inputRef.current.value = color;\n inputRef.current.dispatchEvent(new Event('input', { bubbles: true }));\n }\n\n return (\n <div className={containerClassName}>\n {label && <label className={labelClss}>{label} {props.required && '*'}</label>}\n <button type=\"button\" onClick={toggle} className={colorPickerClassName}>\n <div className={`${prefix}-color-picker__preview`}>\n <div style={{ backgroundColor: value }} />\n </div>\n <div className={valueClassName}>\n {value}\n </div>\n </button>\n <span className={helperTextClss}>{helperText}</span>\n <Menu\n direction=\"left\"\n autoClose={autoClose}\n open={open}\n anchorEl={el}\n width={fitContent ? 'fit-content' : ''}\n onClose={toggle}\n >\n <Box sx={{ p: 1 }}>\n <Stack\n gap={8}\n flexDirection=\"row\"\n justifyContent=\"center\"\n style={{ flexWrap: 'wrap' }}\n >\n {\n COLORS.map((c) => (\n <button\n key={c}\n type=\"button\"\n className={`${prefix}-color-picker__color`}\n onClick={() => handleColorChange(c)}\n style={{ backgroundColor: c }}\n >\n <Icon\n name=\"check\"\n className={iconClassName(c)}\n style={{ color: getContrastColor(value) }}\n />\n </button>\n ))\n }\n <label\n htmlFor={`color-picker-${id}`}\n className={`${prefix}-color-picker__color`}\n style={{ backgroundColor: palette.grey.main }}\n >\n <Icon\n name=\"plus\"\n className={iconClassName(value)}\n style={{ color: getContrastColor(palette.grey.main) }}\n />\n <input\n ref={inputRef}\n type=\"color\"\n id={`color-picker-${id}`}\n value={value}\n onChange={onChange}\n onInput={onInput}\n />\n </label>\n </Stack>\n </Box>\n </Menu>\n </div>\n );\n}\n\nexport default createComponent(ColorPicker);\n"],"names":["COLORS","ColorPicker","label","error","helperText","fitContent","value","autoClose","onChange","onInput","props","palette","useTheme","inputRef","useRef","open","el","toggle","useMenu","id","useMemo","uuid","labelClss","joinClass","prefix","containerClassName","colorPickerClassName","valueClassName","helperTextClss","iconClassName","c","handleColorChange","color","jsxs","jsx","Menu","Box","Stack","Icon","getContrastColor","ColorPicker_default","createComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/fields/ColorPicker/colors.ts","../../../src/fields/ColorPicker/ColorPicker.tsx"],"sourcesContent":["export default [\n '#00aae6',\n '#2e72fe',\n '#6f4dff',\n '#9f40f1',\n '#9e2dbf',\n '#db5bdc',\n '#ea479b',\n '#ff83a8',\n '#d80051',\n '#eb3d32',\n '#fa8d2f',\n '#f5cd2b',\n '#93ca00',\n '#62d26f',\n '#38c5ab',\n '#87969f',\n];","import {\n useRef,\n useMemo,\n type InputHTMLAttributes,\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils/joinClass';\nimport { getContrastColor } from '@iziui/core/utils';\n\nimport { uuid } from '@iziui/toolkit/uuid';\n\nimport Box from '@/layout/Box';\nimport Icon from '@/display/Icon';\nimport Stack from '@/layout/Stack';\nimport { useTheme } from '@/theme';\nimport { Menu, useMenu } from '@/navigation/Menu';\n\nimport COLORS from './colors';\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/ColorPicker.scss';\n\nexport interface ColorPickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'value'> {\n label?: string;\n value: string;\n error?: boolean;\n helperText?: string;\n fitContent?: boolean;\n autoClose?: boolean;\n}\n\nfunction ColorPicker({\n label,\n error,\n helperText,\n fitContent,\n value = COLORS[0],\n autoClose,\n onChange,\n onInput,\n ...props\n}: ColorPickerProps) {\n const { theme: { palette } } = useTheme();\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const [open, el, toggle] = useMenu();\n\n const id = useMemo(() => uuid(), []);\n\n const labelClss = joinClass(\n `${prefix}-color-picker__label`,\n error && `${prefix}-color-picker__label--error`,\n );\n\n const containerClassName = joinClass(\n `${prefix}-color-picker-container`,\n error && `${prefix}-color-picker-container--error`,\n );\n\n const colorPickerClassName = joinClass(\n `${prefix}-color-picker`,\n error && `${prefix}-color-picker--error`,\n );\n\n const valueClassName = joinClass(\n `${prefix}-color-picker__value`,\n error && `${prefix}-color-picker__value--error`,\n );\n\n const helperTextClss = joinClass(\n `${prefix}-color-picker__helper-text`,\n helperText && `${prefix}-color-picker__helper-text--visible`,\n error && `${prefix}-color-picker__helper-text--error`,\n );\n\n const iconClassName = (c: string) => joinClass(\n `${prefix}-color-picker__color__icon`,\n value === c && `${prefix}-color-picker__color__icon--visible`,\n );\n\n function handleColorChange(color: string) {\n if (!inputRef.current) { return; }\n // if (autoClose) { toggle(); }\n\n inputRef.current.value = color;\n inputRef.current.dispatchEvent(new Event('input', { bubbles: true }));\n }\n\n return (\n <div className={containerClassName}>\n {label && <label className={labelClss}>{label} {props.required && '*'}</label>}\n <button type=\"button\" onClick={toggle} className={colorPickerClassName}>\n <div className={`${prefix}-color-picker__preview`}>\n <div style={{ backgroundColor: value }} />\n </div>\n <div className={valueClassName}>\n {value}\n </div>\n </button>\n <span className={helperTextClss}>{helperText}</span>\n <Menu\n direction=\"left\"\n autoClose={autoClose}\n open={open}\n anchorEl={el}\n width={fitContent ? 'fit-content' : ''}\n onClose={toggle}\n >\n <Box sx={{ p: 1 }}>\n <Stack\n gap={8}\n flexDirection=\"row\"\n justifyContent=\"center\"\n style={{ flexWrap: 'wrap' }}\n >\n {\n COLORS.map((c) => (\n <button\n key={c}\n type=\"button\"\n className={`${prefix}-color-picker__color`}\n onClick={() => handleColorChange(c)}\n style={{ backgroundColor: c }}\n >\n <Icon\n name=\"check\"\n className={iconClassName(c)}\n style={{ color: getContrastColor(value) }}\n />\n </button>\n ))\n }\n <label\n htmlFor={`color-picker-${id}`}\n className={`${prefix}-color-picker__color`}\n style={{ backgroundColor: palette.grey.main }}\n >\n <Icon\n name=\"plus\"\n className={iconClassName(value)}\n style={{ color: getContrastColor(palette.grey.main) }}\n />\n <input\n ref={inputRef}\n type=\"color\"\n id={`color-picker-${id}`}\n value={value}\n onChange={onChange}\n onInput={onInput}\n />\n </label>\n </Stack>\n </Box>\n </Menu>\n </div>\n );\n}\n\nexport default createComponent(ColorPicker);\n"],"names":["COLORS","ColorPicker","label","error","helperText","fitContent","value","autoClose","onChange","onInput","props","palette","useTheme","inputRef","useRef","open","el","toggle","useMenu","id","useMemo","uuid","labelClss","joinClass","prefix","containerClassName","colorPickerClassName","valueClassName","helperTextClss","iconClassName","c","handleColorChange","color","jsxs","jsx","Menu","Box","Stack","Icon","getContrastColor","ColorPicker_default","createComponent"],"mappings":"4yBAAA,MAAAA,EAAe,CACb,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACF,ECgBA,SAASC,EAAY,CACnB,MAAAC,EACA,MAAAC,EACA,WAAAC,EACA,WAAAC,EACA,MAAAC,EAAQN,EAAO,CAAC,EAChB,UAAAO,EACA,SAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EAAqB,CACnB,KAAM,CAAE,MAAO,CAAE,QAAAC,CAAA,CAAQ,EAAMC,EAAA,EAEzBC,EAAWC,EAAgC,IAAI,EAE/C,CAACC,EAAMC,EAAIC,CAAM,EAAIC,EAAA,EAErBC,EAAKC,EAAQ,IAAMC,EAAA,EAAQ,CAAA,CAAE,EAE7BC,EAAYC,EAChB,GAAGC,CAAM,uBACTrB,GAAS,GAAGqB,CAAM,6BAAA,EAGdC,EAAqBF,EACzB,GAAGC,CAAM,0BACTrB,GAAS,GAAGqB,CAAM,gCAAA,EAGdE,EAAuBH,EAC3B,GAAGC,CAAM,gBACTrB,GAAS,GAAGqB,CAAM,sBAAA,EAGdG,EAAiBJ,EACrB,GAAGC,CAAM,uBACTrB,GAAS,GAAGqB,CAAM,6BAAA,EAGdI,EAAiBL,EACrB,GAAGC,CAAM,6BACTpB,GAAc,GAAGoB,CAAM,sCACvBrB,GAAS,GAAGqB,CAAM,mCAAA,EAGdK,EAAiBC,GAAcP,EACnC,GAAGC,CAAM,6BACTlB,IAAUwB,GAAK,GAAGN,CAAM,qCAAA,EAG1B,SAASO,EAAkBC,EAAe,CACnCnB,EAAS,UAGdA,EAAS,QAAQ,MAAQmB,EACzBnB,EAAS,QAAQ,cAAc,IAAI,MAAM,QAAS,CAAE,QAAS,EAAA,CAAM,CAAC,EACtE,CAEA,OACEoB,EAAC,MAAA,CAAI,UAAWR,EACb,SAAA,CAAAvB,GAAS+B,EAAC,QAAA,CAAM,UAAWX,EAAY,SAAA,CAAApB,EAAM,IAAEQ,EAAM,UAAY,GAAA,EAAI,IACrE,SAAA,CAAO,KAAK,SAAS,QAASO,EAAQ,UAAWS,EAChD,SAAA,CAAAQ,EAAC,MAAA,CAAI,UAAW,GAAGV,CAAM,yBACvB,SAAAU,EAAC,MAAA,CAAI,MAAO,CAAE,gBAAiB5B,CAAA,CAAM,CAAG,EAC1C,EACA4B,EAAC,MAAA,CAAI,UAAWP,EACb,SAAArB,CAAA,CACH,CAAA,EACF,EACA4B,EAAC,OAAA,CAAK,UAAWN,EAAiB,SAAAxB,EAAW,EAC7C8B,EAACC,EAAA,CACC,UAAU,OACV,UAAA5B,EACA,KAAAQ,EACA,SAAUC,EACV,MAAOX,EAAa,cAAgB,GACpC,QAASY,EAET,WAACmB,EAAA,CAAI,GAAI,CAAE,EAAG,GACZ,SAAAH,EAACI,EAAA,CACC,IAAK,EACL,cAAc,MACd,eAAe,SACf,MAAO,CAAE,SAAU,MAAA,EAGjB,SAAA,CAAArC,EAAO,IAAK8B,GACVI,EAAC,SAAA,CAEC,KAAK,SACL,UAAW,GAAGV,CAAM,uBACpB,QAAS,IAAMO,EAAkBD,CAAC,EAClC,MAAO,CAAE,gBAAiBA,CAAA,EAE1B,SAAAI,EAACI,EAAA,CACC,KAAK,QACL,UAAWT,EAAcC,CAAC,EAC1B,MAAO,CAAE,MAAOS,EAAiBjC,CAAK,CAAA,CAAE,CAAA,CAC1C,EAVKwB,CAAA,CAYR,EAEHG,EAAC,QAAA,CACC,QAAS,gBAAgBd,CAAE,GAC3B,UAAW,GAAGK,CAAM,uBACpB,MAAO,CAAE,gBAAiBb,EAAQ,KAAK,IAAA,EAEvC,SAAA,CAAAuB,EAACI,EAAA,CACC,KAAK,OACL,UAAWT,EAAcvB,CAAK,EAC9B,MAAO,CAAE,MAAOiC,EAAiB5B,EAAQ,KAAK,IAAI,CAAA,CAAE,CAAA,EAEtDuB,EAAC,QAAA,CACC,IAAKrB,EACL,KAAK,QACL,GAAI,gBAAgBM,CAAE,GACtB,MAAAb,EACA,SAAAE,EACA,QAAAC,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CACF,CAAA,CAAA,CACF,EACF,CAEJ,CAEA,MAAA+B,GAAeC,EAAgBxC,CAAW"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const q=require("react/jsx-runtime"),s=require("react"),C=require("../../chunks/joinClass-Jk3EszKD.cjs"),g=require("../../chunks/useResize-B-oebgDR.cjs"),f=require("../../chunks/createComponent-CTufIEiN.cjs");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/useTheme-DoESyi5h.cjs");require("../../chunks/generateSupportColors-CTMoGhDf.cjs");const j=s.forwardRef(function({sm:o="100%",md:r=750,lg:i=950,children:u,tag:a="div",...n},c){const[l,e]=s.useState(0),t={sm:o,lg:i,md:r},d=C.joinClass(n.className);g.useResize({onXs:()=>e(t.sm),onSm:()=>e(t.md),onMd:()=>e(t.md),onLg:()=>e(t.lg),onXl:()=>e(t.lg)});const m=a;return q.jsx(m,{...n,ref:c,style:{width:"100%",maxWidth:l,margin:"auto",...n.style},className:d,children:u})}),h=f.createComponent(j);exports.default=h;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/layout/Container/Container.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport { forwardRef, useState } from 'react';\n\nimport { joinClass } from '@iziui/core/utils';\n\nimport useResize from '@/hooks/useResize';\nimport createComponent from '@/core/createComponent';\n\nimport '@iziui/styles/components/Container.scss';\n\ntype Width = string | number;\n\nexport interface ContainerProps extends HTMLAttributes<HTMLElement> {\n tag?: React.ElementType;\n sm?: Width;\n md?: Width;\n lg?: Width;\n}\n\nconst Container = forwardRef<HTMLElement, ContainerProps>(\n function Container({\n sm = '100%',\n md = 750,\n lg = 950,\n children,\n tag = 'div',\n ...props\n }, ref) {\n const [width, setWidth] = useState<Width>(0);\n\n const MAP = { sm, lg, md };\n\n const className = joinClass(\n props.className\n );\n\n useResize({\n onXs: () => setWidth(MAP['sm']),\n onSm: () => setWidth(MAP['md']),\n onMd: () => setWidth(MAP['md']),\n onLg: () => setWidth(MAP['lg']),\n onXl: () => setWidth(MAP['lg']),\n });\n\n const CustomTag = tag;\n\n return (\n <CustomTag\n {...props}\n ref={ref}\n style={{\n width: '100%',\n maxWidth: width,\n margin: 'auto',\n ...props.style\n }}\n className={className}\n >\n {children}\n </CustomTag>\n );\n }\n);\n\nexport default createComponent(Container);\n"],"names":["Container","forwardRef","sm","md","lg","children","tag","props","ref","width","setWidth","useState","MAP","className","joinClass","useResize","CustomTag","jsx","Container_default","createComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/layout/Container/Container.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport { forwardRef, useState } from 'react';\n\nimport { joinClass } from '@iziui/core/utils';\n\nimport useResize from '@/hooks/useResize';\nimport createComponent from '@/core/createComponent';\n\nimport '@iziui/styles/components/Container.scss';\n\ntype Width = string | number;\n\nexport interface ContainerProps extends HTMLAttributes<HTMLElement> {\n tag?: React.ElementType;\n sm?: Width;\n md?: Width;\n lg?: Width;\n}\n\nconst Container = forwardRef<HTMLElement, ContainerProps>(\n function Container({\n sm = '100%',\n md = 750,\n lg = 950,\n children,\n tag = 'div',\n ...props\n }, ref) {\n const [width, setWidth] = useState<Width>(0);\n\n const MAP = { sm, lg, md };\n\n const className = joinClass(\n props.className\n );\n\n useResize({\n onXs: () => setWidth(MAP['sm']),\n onSm: () => setWidth(MAP['md']),\n onMd: () => setWidth(MAP['md']),\n onLg: () => setWidth(MAP['lg']),\n onXl: () => setWidth(MAP['lg']),\n });\n\n const CustomTag = tag;\n\n return (\n <CustomTag\n {...props}\n ref={ref}\n style={{\n width: '100%',\n maxWidth: width,\n margin: 'auto',\n ...props.style\n }}\n className={className}\n >\n {children}\n </CustomTag>\n );\n }\n);\n\nexport default createComponent(Container);\n"],"names":["Container","forwardRef","sm","md","lg","children","tag","props","ref","width","setWidth","useState","MAP","className","joinClass","useResize","CustomTag","jsx","Container_default","createComponent"],"mappings":"idAmBA,MAAMA,EAAYC,EAAAA,WAChB,SAAmB,CACjB,GAAAC,EAAK,OACL,GAAAC,EAAK,IACL,GAAAC,EAAK,IACL,SAAAC,EACA,IAAAC,EAAM,MACN,GAAGC,CAAA,EACFC,EAAK,CACN,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAAA,SAAgB,CAAC,EAErCC,EAAM,CAAE,GAAAV,EAAI,GAAAE,EAAI,GAAAD,CAAA,EAEhBU,EAAYC,EAAAA,UAChBP,EAAM,SAAA,EAGRQ,YAAU,CACR,KAAM,IAAML,EAASE,EAAI,EAAK,EAC9B,KAAM,IAAMF,EAASE,EAAI,EAAK,EAC9B,KAAM,IAAMF,EAASE,EAAI,EAAK,EAC9B,KAAM,IAAMF,EAASE,EAAI,EAAK,EAC9B,KAAM,IAAMF,EAASE,EAAI,EAAK,CAAA,CAC/B,EAED,MAAMI,EAAYV,EAElB,OACEW,EAAAA,IAACD,EAAA,CACE,GAAGT,EACJ,IAAAC,EACA,MAAO,CACL,MAAO,OACP,SAAUC,EACV,OAAQ,OACR,GAAGF,EAAM,KAAA,EAEX,UAAAM,EAEC,SAAAR,CAAA,CAAA,CAGP,CACF,EAEAa,EAAeC,EAAAA,gBAAgBnB,CAAS"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as f}from"react/jsx-runtime";import{forwardRef as l,useState as u}from"react";import{j as C}from"../../chunks/joinClass-anSpaauN.js";import{u as g}from"../../chunks/useResize-BjM6tiAF.js";import{c as p}from"../../chunks/createComponent-
|
|
1
|
+
import{jsx as f}from"react/jsx-runtime";import{forwardRef as l,useState as u}from"react";import{j as C}from"../../chunks/joinClass-anSpaauN.js";import{u as g}from"../../chunks/useResize-BjM6tiAF.js";import{c as p}from"../../chunks/createComponent-WNQRXK89.js";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/useTheme-njpgklWP.js";import"../../chunks/generateSupportColors-BN5t8dA-.js";const h=l(function({sm:m="100%",md:n=750,lg:a=950,children:e,tag:r="div",...s},i){const[c,t]=u(0),o={sm:m,lg:a,md:n},d=C(s.className);return g({onXs:()=>t(o.sm),onSm:()=>t(o.md),onMd:()=>t(o.md),onLg:()=>t(o.lg),onXl:()=>t(o.lg)}),f(r,{...s,ref:i,style:{width:"100%",maxWidth:c,margin:"auto",...s.style},className:d,children:e})}),X=p(h);export{X as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|