@iziui/react 0.0.54-rc → 0.0.55-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/_internal/core/index.d.ts +4 -0
- package/dist/.types/_internal/core/options/CustomOptions.d.ts +24 -0
- package/dist/.types/_internal/core/options/createOptions/createOptions.d.ts +10 -0
- package/dist/.types/_internal/core/options/createOptions/index.d.ts +1 -0
- package/dist/.types/_internal/core/options/index.d.ts +2 -0
- package/dist/.types/_internal/core/plugin/behavior/defineBoxShadow/defineBoxShadow.d.ts +2 -0
- package/dist/.types/_internal/core/plugin/behavior/defineBoxShadow/index.d.ts +1 -0
- package/dist/.types/_internal/core/plugin/behavior/index.d.ts +1 -0
- package/dist/.types/_internal/core/plugin/color/defineBackground/defineBackground.d.ts +2 -0
- package/dist/.types/_internal/core/plugin/color/defineBackground/index.d.ts +1 -0
- package/dist/.types/_internal/core/plugin/color/defineBackgroundColor/defineBackgroundColor.d.ts +2 -0
- package/dist/.types/_internal/core/plugin/color/defineBackgroundColor/index.d.ts +1 -0
- package/dist/.types/_internal/core/plugin/color/defineBorderColor/defineBorderColor.d.ts +2 -0
- package/dist/.types/_internal/core/plugin/color/defineBorderColor/index.d.ts +1 -0
- package/dist/.types/_internal/core/plugin/color/defineColor/defineColor.d.ts +2 -0
- package/dist/.types/_internal/core/plugin/color/defineColor/index.d.ts +1 -0
- package/dist/.types/_internal/core/plugin/color/index.d.ts +4 -0
- package/dist/.types/_internal/core/plugin/definePlugin/definePlugin.d.ts +5 -0
- package/dist/.types/_internal/core/plugin/definePlugin/index.d.ts +1 -0
- package/dist/.types/_internal/core/plugin/index.d.ts +5 -0
- package/dist/.types/_internal/core/plugin/plugin.d.ts +4 -0
- package/dist/.types/_internal/core/plugin/shape/defineBorderRadius/defineBorderRadius.d.ts +2 -0
- package/dist/.types/_internal/core/plugin/shape/defineBorderRadius/index.d.ts +1 -0
- package/dist/.types/_internal/core/plugin/shape/index.d.ts +1 -0
- package/dist/.types/_internal/core/plugin/spacing/defineMargin/defineMargin.d.ts +2 -0
- package/dist/.types/_internal/core/plugin/spacing/defineMargin/index.d.ts +1 -0
- package/dist/.types/_internal/core/plugin/spacing/definePadding/definePadding.d.ts +2 -0
- package/dist/.types/_internal/core/plugin/spacing/definePadding/index.d.ts +1 -0
- package/dist/.types/_internal/core/plugin/spacing/index.d.ts +2 -0
- package/dist/.types/_internal/core/theme/Theme.d.ts +63 -0
- package/dist/.types/_internal/core/theme/applyTheme/applyTheme.d.ts +2 -0
- package/dist/.types/_internal/core/theme/applyTheme/index.d.ts +1 -0
- package/dist/.types/_internal/core/theme/colors/colors.d.ts +2 -0
- package/dist/.types/_internal/core/theme/colors/index.d.ts +1 -0
- package/dist/.types/_internal/core/theme/createMappedColors.d.ts +2 -0
- package/dist/.types/_internal/core/theme/createTheme/createTheme.d.ts +2 -0
- package/dist/.types/_internal/core/theme/createTheme/index.d.ts +1 -0
- package/dist/.types/_internal/core/theme/defaultTheme.d.ts +5 -0
- package/dist/.types/_internal/core/theme/index.d.ts +5 -0
- package/dist/.types/_internal/core/utils/adjustLightness/adjustLightness.d.ts +1 -0
- package/dist/.types/_internal/core/utils/adjustLightness/index.d.ts +1 -0
- package/dist/.types/_internal/core/utils/convertPathToColor/convertPathToColor.d.ts +3 -0
- package/dist/.types/_internal/core/utils/convertPathToColor/index.d.ts +1 -0
- package/dist/.types/_internal/core/utils/generateSupportColors/generateSupportColors.d.ts +2 -0
- package/dist/.types/_internal/core/utils/generateSupportColors/index.d.ts +1 -0
- package/dist/.types/_internal/core/utils/getContrastColor/getContrastColor.d.ts +1 -0
- package/dist/.types/_internal/core/utils/getContrastColor/index.d.ts +1 -0
- package/dist/.types/_internal/core/utils/getGradient/getGradient.d.ts +1 -0
- package/dist/.types/_internal/core/utils/getGradient/index.d.ts +1 -0
- package/dist/.types/_internal/core/utils/getOpacityColor/getOpacityColor.d.ts +7 -0
- package/dist/.types/_internal/core/utils/getOpacityColor/index.d.ts +1 -0
- package/dist/.types/_internal/core/utils/getPriorityColor/getPriorityColor.d.ts +2 -0
- package/dist/.types/_internal/core/utils/getPriorityColor/index.d.ts +1 -0
- package/dist/.types/_internal/core/utils/hexToHsl/hexToHsl.d.ts +5 -0
- package/dist/.types/_internal/core/utils/hexToHsl/index.d.ts +1 -0
- package/dist/.types/_internal/core/utils/hslToHex/hslToHex.d.ts +1 -0
- package/dist/.types/_internal/core/utils/hslToHex/index.d.ts +1 -0
- package/dist/.types/_internal/core/utils/index.d.ts +10 -0
- package/dist/.types/_internal/core/utils/joinClass/index.d.ts +1 -0
- package/dist/.types/_internal/core/utils/joinClass/joinClass.d.ts +1 -0
- package/dist/.types/_internal/tokens/web/js/const.d.ts +1 -0
- package/dist/.types/_internal/tokens/web/js/index.d.ts +19 -0
- package/dist/.types/_internal/tokens/web/js/index.js +33 -0
- package/dist/.types/_internal/tokens/web/js/list.d.ts +2 -0
- package/dist/.types/_internal/tokens/web/js/object.d.ts +10 -0
- package/dist/.types/_internal/tokens/web/scss/main.scss +2 -0
- package/dist/.types/_internal/tokens/web/scss/mixins.scss +61 -0
- package/dist/.types/_internal/tokens/web/scss/variables.scss +47 -0
- package/dist/.types/_internal/toolkit/debounce/debounce.d.ts +6 -0
- package/dist/.types/_internal/toolkit/debounce/index.d.ts +1 -0
- package/dist/.types/_internal/toolkit/index.d.ts +9 -0
- package/dist/.types/_internal/toolkit/interface/ArrayOrObject.d.ts +1 -0
- package/dist/.types/_internal/toolkit/interface/IntRange.d.ts +3 -0
- package/dist/.types/_internal/toolkit/interface/Path.d.ts +5 -0
- package/dist/.types/_internal/toolkit/interface/index.d.ts +3 -0
- package/dist/.types/_internal/toolkit/logger/index.d.ts +1 -0
- package/dist/.types/_internal/toolkit/logger/logger.d.ts +10 -0
- package/dist/.types/_internal/toolkit/mask/MaskOptions.d.ts +5 -0
- package/dist/.types/_internal/toolkit/mask/index.d.ts +2 -0
- package/dist/.types/_internal/toolkit/mask/mask.d.ts +2 -0
- package/dist/.types/_internal/toolkit/normalize/index.d.ts +1 -0
- package/dist/.types/_internal/toolkit/normalize/normalize.d.ts +1 -0
- package/dist/.types/_internal/toolkit/promise/index.d.ts +1 -0
- package/dist/.types/_internal/toolkit/promise/wait.d.ts +1 -0
- package/dist/.types/_internal/toolkit/string/index.d.ts +1 -0
- package/dist/.types/_internal/toolkit/string/string.d.ts +4 -0
- package/dist/.types/_internal/toolkit/uuid/index.d.ts +1 -0
- package/dist/.types/_internal/toolkit/uuid/uuid.d.ts +1 -0
- package/dist/.types/_internal/toolkit/validators/index.d.ts +2 -0
- package/dist/.types/_internal/toolkit/validators/isEmpty.d.ts +1 -0
- package/dist/.types/_internal/toolkit/validators/isValidEmail.d.ts +1 -0
- package/dist/.types/actions/Button/Button.d.ts +2 -2
- package/dist/.types/actions/Button/Button.d.ts.map +1 -1
- package/dist/.types/actions/Button/Button.stories.d.ts +1 -0
- package/dist/.types/actions/Button/Button.stories.d.ts.map +1 -1
- package/dist/.types/actions/ButtonIcon/ButtonIcon.d.ts +2 -2
- package/dist/.types/core/createComponent.d.ts +1 -1
- package/dist/.types/core/createComponent.d.ts.map +1 -1
- package/dist/.types/display/Avatar/Avatar.d.ts +2 -2
- package/dist/.types/display/Card/Card.d.ts +1 -1
- package/dist/.types/display/Card/CardContent.d.ts +1 -1
- package/dist/.types/display/Chip/Chip.d.ts +2 -2
- package/dist/.types/display/Divider/Divider.d.ts +1 -1
- package/dist/.types/display/Icon/Icon.d.ts +1 -1
- package/dist/.types/display/Table/Table.d.ts +1 -1
- package/dist/.types/display/Table/TableCell.d.ts +1 -1
- package/dist/.types/display/Tooltip/Tooltip.d.ts +1 -1
- package/dist/.types/display/Typography/Typography.d.ts +2 -2
- package/dist/.types/feedback/Alert/Alert.d.ts +2 -2
- package/dist/.types/feedback/Loading/Loading.d.ts +2 -2
- package/dist/.types/feedback/Modal/Modal.d.ts +1 -1
- package/dist/.types/feedback/Modal/ModalFooter.d.ts +1 -1
- package/dist/.types/feedback/Skeleton/Skeleton.d.ts +1 -1
- package/dist/.types/feedback/Toast/Toast.d.ts +2 -2
- package/dist/.types/fields/Checkbox/Checkbox.d.ts +2 -2
- package/dist/.types/fields/CheckboxGroup/CheckboxGroup.d.ts +1 -1
- package/dist/.types/fields/ColorPicker/ColorPicker.d.ts +1 -1
- package/dist/.types/fields/Input/Input.d.ts +1 -1
- package/dist/.types/fields/InputFile/InputFile.d.ts +1 -1
- package/dist/.types/fields/Select/Select.d.ts +1 -1
- package/dist/.types/fields/Switchs/Switch.d.ts +2 -2
- package/dist/.types/lab/Form/Form.d.ts.map +1 -1
- package/dist/.types/layout/Box/Box.d.ts +1 -1
- package/dist/.types/layout/Container/Container.d.ts +1 -1
- package/dist/.types/layout/Grid/interface.d.ts +1 -1
- package/dist/.types/layout/Stack/Stack.d.ts +1 -1
- package/dist/.types/navigation/Drawer/Drawer.d.ts +1 -1
- package/dist/.types/navigation/Drawer/DrawerContent.d.ts +1 -1
- package/dist/.types/navigation/Drawer/DrawerFooter.d.ts +1 -1
- package/dist/.types/navigation/Drawer/DrawerHeader.d.ts +1 -1
- package/dist/.types/navigation/Menu/Menu.d.ts +1 -1
- package/dist/.types/navigation/Menu/MenuButton.d.ts +2 -2
- package/dist/.types/theme/ThemeProvider.d.ts +1 -1
- package/dist/.types/theme/createTheme.d.ts +1 -1
- package/dist/chunks/{Alert-BSZpV_lB.cjs → Alert-BZtq_ZmI.cjs} +2 -2
- package/dist/chunks/{Alert-BSZpV_lB.cjs.map → Alert-BZtq_ZmI.cjs.map} +1 -1
- package/dist/chunks/{Alert-Eku3Mhx-.js → Alert-Dydy5gdK.js} +2 -2
- package/dist/chunks/{Alert-Eku3Mhx-.js.map → Alert-Dydy5gdK.js.map} +1 -1
- package/dist/chunks/{Box-DeyuR4kp.cjs → Box-B3hTyhaq.cjs} +2 -2
- package/dist/chunks/{Box-DeyuR4kp.cjs.map → Box-B3hTyhaq.cjs.map} +1 -1
- package/dist/chunks/{Box-fopUzufC.js → Box-DRV8oI-_.js} +2 -2
- package/dist/chunks/{Box-fopUzufC.js.map → Box-DRV8oI-_.js.map} +1 -1
- package/dist/chunks/{ButtonIcon-CzxDZNK8.cjs → ButtonIcon-BdTxTa54.cjs} +2 -2
- package/dist/chunks/{ButtonIcon-CzxDZNK8.cjs.map → ButtonIcon-BdTxTa54.cjs.map} +1 -1
- package/dist/chunks/{ButtonIcon-B5VfjTl_.js → ButtonIcon-CwmXuxvw.js} +2 -2
- package/dist/chunks/{ButtonIcon-B5VfjTl_.js.map → ButtonIcon-CwmXuxvw.js.map} +1 -1
- package/dist/chunks/{Card-C3pG2xgW.cjs → Card-BNdbHjy2.cjs} +2 -2
- package/dist/chunks/{Card-C3pG2xgW.cjs.map → Card-BNdbHjy2.cjs.map} +1 -1
- package/dist/chunks/{Card-fHaoq-NO.js → Card-CKCzaI7j.js} +2 -2
- package/dist/chunks/{Card-fHaoq-NO.js.map → Card-CKCzaI7j.js.map} +1 -1
- package/dist/chunks/{CardContent-BrZkcjus.cjs → CardContent-BNxQiVc2.cjs} +2 -2
- package/dist/chunks/{CardContent-BrZkcjus.cjs.map → CardContent-BNxQiVc2.cjs.map} +1 -1
- package/dist/chunks/{CardContent-CokBJbi1.js → CardContent-ywggix6Q.js} +2 -2
- package/dist/chunks/{CardContent-CokBJbi1.js.map → CardContent-ywggix6Q.js.map} +1 -1
- package/dist/chunks/{Drawer-XsBmySVj.cjs → Drawer-CTmTDUBF.cjs} +2 -2
- package/dist/chunks/{Drawer-XsBmySVj.cjs.map → Drawer-CTmTDUBF.cjs.map} +1 -1
- package/dist/chunks/{Drawer-CgE3gFqo.js → Drawer-CVnRBzFN.js} +2 -2
- package/dist/chunks/{Drawer-CgE3gFqo.js.map → Drawer-CVnRBzFN.js.map} +1 -1
- package/dist/chunks/{Icon-BEUDQFrk.cjs → Icon-7g25Bfa3.cjs} +2 -2
- package/dist/chunks/{Icon-BEUDQFrk.cjs.map → Icon-7g25Bfa3.cjs.map} +1 -1
- package/dist/chunks/{Icon-BCwUSOy5.js → Icon-D-uCpp04.js} +2 -2
- package/dist/chunks/{Icon-BCwUSOy5.js.map → Icon-D-uCpp04.js.map} +1 -1
- package/dist/chunks/{MenuButton-DOZFhvP9.cjs → MenuButton-BqsEHGiP.cjs} +2 -2
- package/dist/chunks/{MenuButton-DOZFhvP9.cjs.map → MenuButton-BqsEHGiP.cjs.map} +1 -1
- package/dist/chunks/{MenuButton-B1Ie5Sqy.js → MenuButton-CDNaWpre.js} +2 -2
- package/dist/chunks/{MenuButton-B1Ie5Sqy.js.map → MenuButton-CDNaWpre.js.map} +1 -1
- package/dist/chunks/{Stack-B9mi696v.cjs → Stack-CTcHQ_9x.cjs} +2 -2
- package/dist/chunks/{Stack-B9mi696v.cjs.map → Stack-CTcHQ_9x.cjs.map} +1 -1
- package/dist/chunks/{Stack-DyhbU7Me.js → Stack-D2Y2T_wh.js} +2 -2
- package/dist/chunks/{Stack-DyhbU7Me.js.map → Stack-D2Y2T_wh.js.map} +1 -1
- package/dist/chunks/{Typography-CmzvEsC_.js → Typography-BcgZRln8.js} +2 -2
- package/dist/chunks/{Typography-CmzvEsC_.js.map → Typography-BcgZRln8.js.map} +1 -1
- package/dist/chunks/{Typography-DaZ95boB.cjs → Typography-DMnJRugi.cjs} +2 -2
- package/dist/chunks/{Typography-DaZ95boB.cjs.map → Typography-DMnJRugi.cjs.map} +1 -1
- package/dist/chunks/{createComponent-DppVNf5x.js → createComponent-DhHk-x5v.js} +2 -2
- package/dist/chunks/{createComponent-DppVNf5x.js.map → createComponent-DhHk-x5v.js.map} +1 -1
- package/dist/chunks/{createComponent-6wUj8nAi.cjs → createComponent-Ds819n7r.cjs} +2 -2
- package/dist/chunks/{createComponent-6wUj8nAi.cjs.map → createComponent-Ds819n7r.cjs.map} +1 -1
- package/dist/chunks/useForm-C-tp2h3s.cjs +2 -0
- package/dist/chunks/useForm-C-tp2h3s.cjs.map +1 -0
- package/dist/chunks/useForm-phDdjT1r.js +2 -0
- package/dist/chunks/useForm-phDdjT1r.js.map +1 -0
- package/dist/chunks/{useMenu-D3vT9I3W.cjs → useMenu-CBWhhu1S.cjs} +2 -2
- package/dist/chunks/{useMenu-D3vT9I3W.cjs.map → useMenu-CBWhhu1S.cjs.map} +1 -1
- package/dist/chunks/{useMenu--3XhFiqi.js → useMenu-s6oyzklj.js} +2 -2
- package/dist/chunks/{useMenu--3XhFiqi.js.map → useMenu-s6oyzklj.js.map} +1 -1
- 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.js +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.js +1 -1
- package/dist/components/CheckboxGroup/index.cjs +1 -1
- package/dist/components/CheckboxGroup/index.js +1 -1
- package/dist/components/Chip/index.cjs +1 -1
- package/dist/components/Chip/index.js +1 -1
- package/dist/components/ColorPicker/index.cjs +1 -1
- package/dist/components/ColorPicker/index.js +1 -1
- package/dist/components/Container/index.cjs +1 -1
- package/dist/components/Container/index.js +1 -1
- package/dist/components/Divider/index.cjs +1 -1
- package/dist/components/Divider/index.js +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.js +1 -1
- package/dist/components/InputFile/index.cjs +1 -1
- package/dist/components/InputFile/index.js +1 -1
- package/dist/components/Loading/index.cjs +1 -1
- package/dist/components/Loading/index.js +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.js +1 -1
- package/dist/components/Select/index.cjs +1 -1
- package/dist/components/Select/index.js +1 -1
- package/dist/components/Skeleton/index.cjs +1 -1
- package/dist/components/Skeleton/index.js +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.js +1 -1
- package/dist/components/Table/index.cjs +1 -1
- package/dist/components/Table/index.js +1 -1
- package/dist/components/Toast/index.cjs +1 -1
- package/dist/components/Toast/index.js +1 -1
- package/dist/components/Tooltip/index.cjs +1 -1
- package/dist/components/Tooltip/index.js +1 -1
- package/dist/components/Typography/index.cjs +1 -1
- package/dist/components/Typography/index.js +1 -1
- 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/package.json +1 -1
- package/dist/chunks/useForm-BrezSwQu.js +0 -2
- package/dist/chunks/useForm-BrezSwQu.js.map +0 -1
- package/dist/chunks/useForm-UT6lrV2_.cjs +0 -2
- package/dist/chunks/useForm-UT6lrV2_.cjs.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createContext as p,useContext as f,cloneElement as v,useState as m}from"react";import{jsxs as y,jsx as h}from"react/jsx-runtime";const d=p(null);function w({formGroup:o,debug:t=!1,children:r,...e}){return y(d,{value:o,children:[h("form",{...e,style:{width:"100%",...e.style},onSubmit:o.submit,noValidate:!0,children:r}),t&&h("pre",{style:{maxHeight:350,padding:15,borderRadius:4,overflow:"auto",color:"#333",background:"#e5e5e5",boxShadow:"0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24)"},children:JSON.stringify(o.controls,null,2)})]})}function g(){const o=f(d);if(!o)throw new Error("useFormGroup must be used inside <FormProvider> (or <Form />).");return o}function b(o){const t=g();return{control:t.controls[o],update:n=>{t.setValues(a=>(a[o]=n,a))}}}function V({controlName:o,field:t,action:r="input"}){const{control:e,update:n}=b(o);return(i=>{const u=s=>["radio","checkbox"].includes(s.type)?s.target.checked:s.target.value;return v(i,{onBlur:s=>{r==="blur"&&n(u(s)),i.props.onBlur&&i.props.onBlur(s)},onInput:s=>{r==="input"&&n(u(s)),i.props.onInput&&i.props.onInput(s)},onChange:s=>{r==="change"&&n(u(s)),i.props.onChange&&i.props.onChange(s)}})})(t(e))}class c{constructor(t,r,e){this.controls=t,this.handle=r,this.validator=e}controls;handle;validator;_valid=!1;_hydrate;get hydrate(){return this._hydrate}set hydrate(t){this._hydrate=t}get isValid(){return this._valid}set isValid(t){this._valid=t}get errors(){return Object.values(this.controls).filter(t=>t.error)}get values(){const t={};return this.eachControl((r,e)=>({[e]:r.value})).forEach(r=>{for(const e in r)t[e]=r[e]}),t}setValues(t){const r=typeof t=="function"?t(this.values):t;for(const e of Object.keys(r))this.controls[e].value=r[e];this.validate(),this.hydrate(this),this.handle.change&&this.handle.change(this)}eachControl(t){return Object.keys(this.controls).map(r=>t(this.controls[r],r))}submit(){this.handle.submit&&(this.eachControl(t=>t.dirty=!0),this.handle.submit(this))}reset(){this.eachControl(t=>t.reset()),this.hydrate(this)}validate(){this.validator&&(Object.entries(this.validator).map(([t,r])=>{const e=this.controls[t].validate(),n=r(this);this.controls[t].error=e||n||""}),this.isValid=!this.errors.length)}}class C{_value;defaultValue;validators=[];type;error="";dirty=!1;constructor({defaultValue:t,type:r="text",validators:e}){this.type=r,this._value=t,this.defaultValue=t,e&&(this.validators=e)}get value(){return this._value}set value(t){this.dirty=!0,this._value=t,this.validate()}get isInvalid(){return!!(this.dirty&&this.error)}reset(){this.value=this.defaultValue,this.dirty=!1}validate(){const t=this.validators.map(r=>r(this)).filter(Boolean);return this.error=t[0]||"",this.error}}function x(o){return Object.entries(o).reduce((t,r)=>{const e=r[0],n=r[1];return t[e]=new C(n),t},{})}function j({form:o,handle:t,validator:r}){const[e,n]=m(new c(x(o),t,r)),a=i=>{n(u=>{const s=i.controls,l=new c(s,t,r);return l.hydrate=u.hydrate,l})};return e.hydrate=a,e}export{V as C,w as F,j as a,g as b,b as u};
|
|
2
|
+
//# sourceMappingURL=useForm-phDdjT1r.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useForm-phDdjT1r.js","sources":["../../src/lab/Form/Form.tsx","../../src/lab/Form/useFormGroup.ts","../../src/lab/Form/useControl.ts","../../src/lab/Form/Control.tsx","../../src/lab/Form/FormGroup.ts","../../src/lab/Form/FormControl.ts","../../src/lab/Form/useForm.ts"],"sourcesContent":["import { createContext, HTMLAttributes } from 'react';\n\nimport type FormGroup from './FormGroup';\n\nexport const FormContext = createContext<FormGroup<any> | null>(null);\n\ninterface FormProps<T extends Record<string, unknown>> extends HTMLAttributes<HTMLFormElement> {\n formGroup: FormGroup<T>;\n debug?: boolean;\n}\n\nexport default function Form<T extends Record<string, unknown>>({\n formGroup,\n debug = false,\n children,\n ...props\n}: FormProps<T>) {\n return (\n <FormContext value={formGroup}>\n <form\n {...props}\n style={{ width: '100%', ...props.style }}\n onSubmit={formGroup.submit}\n noValidate\n >\n {children}\n </form>\n {\n debug && (\n <pre style={{\n maxHeight: 350,\n padding: 15,\n borderRadius: 4,\n overflow: 'auto',\n color: '#333',\n background: '#e5e5e5',\n boxShadow: '0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24)',\n }}>\n {JSON.stringify(formGroup.controls, null, 2)}\n </pre>\n )\n }\n </FormContext>\n );\n}","import { useContext } from 'react';\n\nimport type FormGroup from './FormGroup';\nimport { FormContext } from './Form';\n\nexport default function useFormGroup<T extends Record<string, unknown>>() {\n const context = useContext(FormContext);\n\n if (!context) throw new Error('useFormGroup must be used inside <FormProvider> (or <Form />).');\n\n return context as FormGroup<T>;\n}","import useFormGroup from './useFormGroup';\n\nexport default function useControl<\n T extends Record<string, unknown>,\n K extends keyof T = keyof T,\n>(controlName: K) {\n const formGroup = useFormGroup<T>();\n const control = formGroup.controls[controlName];\n\n const update = (value: T[K]) => {\n formGroup.setValues((data) => {\n data[controlName] = value;\n\n return data;\n });\n };\n\n return { control, update };\n}","import { ChangeEvent, cloneElement, InputEvent, InputHTMLAttributes, ReactElement } from 'react';\n\nimport useControl from './useControl';\nimport type { AbstractControl } from './AbstractControl';\n\ninterface ControlProps<\n T extends Record<string, any>,\n K extends keyof T,\n> {\n controlName: K;\n action?: 'change' | 'input' | 'blur';\n field: (control: AbstractControl<T>[K]) => React.JSX.Element;\n}\n\nexport default function Control<\n T extends Record<string, any>,\n K extends keyof T\n>({\n controlName,\n field,\n action = 'input'\n}: ControlProps<T, K>) {\n const { control, update } = useControl<T, K>(controlName);\n\n const renderChildren = (child: ReactElement<InputHTMLAttributes<HTMLInputElement>>) => {\n const getValue = (e: ChangeEvent<HTMLInputElement> | InputEvent<HTMLInputElement>) => {\n if (['radio', 'checkbox'].includes(e.type)) { return e.target['checked']; }\n\n return e.target['value'];\n };\n\n return cloneElement(child, {\n onBlur: (e) => {\n if (action === 'blur') { update(getValue(e)); };\n\n if (child.props.onBlur) { child.props.onBlur(e); }\n },\n onInput: (e) => {\n if (action === 'input') { update(getValue(e)); };\n\n if (child.props.onInput) { child.props.onInput(e); }\n },\n onChange: (e) => {\n if (action === 'change') { update(getValue(e)); };\n\n if (child.props.onChange) { child.props.onChange(e); }\n },\n });\n };\n\n return (\n renderChildren(field(control))\n );\n}","import type { AbstractControl } from './AbstractControl';\nimport type FormControl from './FormControl';\n\ntype Hydrate<T extends Record<string, unknown>> = (data: FormGroup<T>) => void;\ntype SetValues<F> = Partial<F> | ((values: F) => Partial<F>);\n\nexport type Validator<T extends Record<string, unknown>> = {\n [K in keyof T]: (data: FormGroup<T>) => string | void;\n}\n\nexport interface Handle<T extends Record<string, unknown>> {\n change?: (form: FormGroup<T>) => void;\n submit?: (form: FormGroup<T>) => void;\n}\n\nexport default class FormGroup<T extends Record<string, unknown>> {\n private _valid = false;\n private _hydrate!: Hydrate<T>;\n\n constructor(\n public controls: AbstractControl<T>,\n public handle: Handle<T>,\n public validator?: Validator<T>,\n ) { }\n\n /**\n * Atualiza o estado interno do componente.\n * @private\n * @description Este método é usado internamente pela biblioteca.\n * Para atualizar valores externamente, use {@link setValues}.\n*/\n get hydrate() { return this._hydrate; }\n set hydrate(fn: (values: FormGroup<T>) => any) { this._hydrate = fn; }\n\n get isValid(): boolean { return this._valid; }\n set isValid(validity: boolean) { this._valid = validity; }\n\n get errors() {\n return Object.values<FormControl<T[keyof T]>>(this.controls).filter(c => c.error);\n }\n\n get values(): T {\n const values: Record<string, any> = {};\n\n this.eachControl((control, key) => ({ [key as string]: control.value }))\n .forEach(control => { for (const prop in control) { values[prop] = control[prop]; } });\n\n return values as T;\n }\n\n public setValues(fn: SetValues<T>): void;\n public setValues(partialForm: Partial<T>): void;\n public setValues(arg: Partial<T> | SetValues<T>) {\n const partial =\n typeof arg === 'function'\n ? arg(this.values)\n : arg;\n\n for (const key of Object.keys(partial)) {\n this.controls[key].value = partial[key] as T[keyof T];\n }\n\n this.validate();\n\n this.hydrate(this);\n\n if (!this.handle.change) { return; }\n\n this.handle.change(this);\n }\n\n private eachControl(fn: <K extends keyof T>(control: FormControl<T[K]>, key?: K) => any) {\n return Object.keys(this.controls).map(k => fn(this.controls[k], k));\n }\n\n public submit() {\n if (!this.handle.submit) { return; }\n\n this.eachControl((control) => control.dirty = true);\n\n this.handle.submit(this);\n }\n\n public reset() {\n this.eachControl((control) => control.reset());\n this.hydrate(this);\n }\n\n public validate() {\n if (!this.validator) { return; }\n\n Object.entries(this.validator).map(([key, fn]) => {\n const controlError = this.controls[key].validate();\n const validatorError = fn(this);\n\n this.controls[key].error = controlError || validatorError || '';\n });\n\n this.isValid = !this.errors.length;\n }\n}","type Type = 'text' | 'email';\ntype Validator<C> = (control: FormControl<C>) => string | false | void;\n\ntype Data<T> = {\n defaultValue: T;\n type?: Type;\n validators?: Validator<T>[];\n}\n\nexport type Constructor<V> = ConstructorParameters<typeof FormControl<V>>[number];\n\nexport default class FormControl<V> implements Pick<Data<V>, 'type'> {\n private _value!: V;\n private defaultValue: V;\n private validators: Validator<V>[] = [];\n\n public type: Type;\n public error = '';\n public dirty = false;\n\n constructor({\n defaultValue,\n type = 'text',\n validators,\n }: Data<V>) {\n this.type = type;\n this._value = defaultValue;\n this.defaultValue = defaultValue;\n\n if (validators) { this.validators = validators; }\n }\n\n get value(): V { return this._value; }\n set value(value: V) {\n this.dirty = true;\n this._value = value;\n this.validate();\n }\n\n get isInvalid() { return Boolean(this.dirty && this.error); }\n\n public reset() {\n this.value = this.defaultValue;\n this.dirty = false;\n }\n\n public validate() {\n const errors = this.validators\n .map(v => v(this))\n .filter(Boolean);\n\n this.error = errors[0] || '';\n\n return this.error;\n }\n}\n","import { useState } from 'react';\n\nimport FormGroup from './FormGroup';\nimport FormControl from './FormControl';\nimport type { Constructor } from './FormControl';\nimport type { Handle, Validator } from './FormGroup';\nimport type { AbstractControl } from './AbstractControl';\n\ntype UseForm<T extends Record<string, unknown>> = {\n form: { [K in keyof T]: Constructor<T[K]> };\n handle: Handle<T>;\n validator?: Validator<T>;\n}\n\nfunction makingControls<T extends Record<string, unknown>>(form: { [K in keyof T]: Constructor<T[K]> }) {\n return Object.entries(form)\n .reduce((acc, data) => {\n const key = data[0] as keyof T;\n const value = data[1] as Constructor<T[keyof T]>;\n\n acc[key] = new FormControl(value);\n\n return acc;\n }, {} as AbstractControl<T>);\n}\n\nexport default function useForm<T extends Record<string, unknown>>({\n form,\n handle,\n validator\n}: UseForm<T>) {\n const [formGroup, setFormGroup] = useState<FormGroup<T>>(\n new FormGroup(\n makingControls(form),\n handle,\n validator\n )\n );\n\n const hydrate = (form: FormGroup<T>) => {\n setFormGroup(prev => {\n const controls = form.controls;\n\n const newFormGroup = new FormGroup(controls, handle, validator);\n newFormGroup.hydrate = prev.hydrate;\n\n return newFormGroup;\n });\n };\n\n formGroup.hydrate = hydrate;\n\n return formGroup;\n}"],"names":["FormContext","createContext","Form","formGroup","debug","children","props","jsxs","jsx","useFormGroup","context","useContext","useControl","controlName","value","data","Control","field","action","control","update","child","getValue","e","cloneElement","FormGroup","controls","handle","validator","fn","validity","c","values","key","prop","arg","partial","k","controlError","validatorError","FormControl","defaultValue","type","validators","errors","v","makingControls","form","acc","useForm","setFormGroup","useState","hydrate","prev","newFormGroup"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const c=require("react/jsx-runtime"),n=require("react"),l=require("./index-DYxwT4uW.cjs"),z=require("./joinClass-Jk3EszKD.cjs"),D=require("./uuid-omnJ9TjZ.cjs"),E=require("./useListenerResized-AwpsZLcP.cjs"),L=require("./Card-
|
|
2
|
-
//# sourceMappingURL=useMenu-
|
|
1
|
+
"use strict";const c=require("react/jsx-runtime"),n=require("react"),l=require("./index-DYxwT4uW.cjs"),z=require("./joinClass-Jk3EszKD.cjs"),D=require("./uuid-omnJ9TjZ.cjs"),E=require("./useListenerResized-AwpsZLcP.cjs"),L=require("./Card-BNdbHjy2.cjs"),S=require("./CardContent-BNxQiVc2.cjs"),B=require("./createComponent-Ds819n7r.cjs");class P{delay(t,s=500){if(!s){t();return}clearTimeout(this.timeout),this.timeout=setTimeout(()=>{t()},s)}}const W=new P,F=n.forwardRef(function({open:t,width:s,children:f,anchorEl:o,direction:d="left",maxHeight:i,autoClose:_,onClose:$,...m},j){const[g,M]=n.useState(),[h,a]=n.useState({state:"invisible",animation:"close",width:"auto"}),N=16,y=150,k=n.Children.toArray(f),T=n.useMemo(()=>D.uuid(),[]),v=z.joinClass(`${l.prefix}-menu`,`${l.prefix}-menu--${h?.animation}`,m.className);E.useListenerResized(()=>b(),[o]),n.useEffect(()=>{b()},[o]),n.useEffect(()=>{t?w():C()},[t]);const b=()=>{o&&setTimeout(()=>{let e={};const{offsetWidth:r,offsetHeight:p,offsetLeft:q,offsetTop:I}=o;a(O=>({...O,width:r}));const x=I+p+N/2,R=document.getElementById(T);d==="center"&&(e={top:x,right:r}),d==="left"&&(e={top:x,left:q}),d==="right"&&(e={top:x,left:q-(R.offsetWidth-r)}),M(e)},0)},w=()=>{a(e=>({...e,state:"visible"})),setTimeout(()=>{a(e=>({...e,animation:"open"}))},10)},C=()=>{a(e=>({...e,animation:"close"})),setTimeout(()=>{a(e=>({...e,state:"invisible"})),$()},y)},A=()=>k.map((e,r)=>n.cloneElement(e,{tabIndex:r+1,key:`button-${r}`,onClick:p=>{W.delay(()=>{_&&C(),e.props.onClick&&e.props.onClick(p)},0)}}));return c.jsxs(c.Fragment,{children:[c.jsx("div",{id:T,ref:j,...m,style:{width:s||h.width,top:g?.top,left:g?.left,display:h?.state==="visible"?"block":"none",transition:`all ${y}ms ease-in`,zIndex:50,...m.style},className:v,children:t&&c.jsx(L.Card,{className:`${l.prefix}-menu__card`,children:c.jsx(S.CardContent,{className:`${l.prefix}-menu__card__content`,sx:{py:1},style:{display:"flex",flexDirection:"column",maxHeight:i},children:A()})})}),t&&c.jsx("div",{className:`${l.prefix}-menu__overlay`,onClick:C})]})}),G=B.createComponent(F);function H(){const[u,t]=n.useState(null),s=!!u,f=i=>{t(i?i.currentTarget:null)},o=()=>{t(null)};return[s,u,i=>{if(s){o();return}f(i)}]}exports.Menu=G;exports.useMenu=H;
|
|
2
|
+
//# sourceMappingURL=useMenu-CBWhhu1S.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu-
|
|
1
|
+
{"version":3,"file":"useMenu-CBWhhu1S.cjs","sources":["../../../../toolkit/src/debounce/debounce.ts","../../src/navigation/Menu/Menu.tsx","../../src/navigation/Menu/useMenu.ts"],"sourcesContent":["class Debounce {\n private timeout: NodeJS.Timeout | undefined;\n public delay(func: (a?: any) => void, milliseconds = 500) {\n if (!milliseconds) {\n func();\n return;\n }\n\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => { func(); }, milliseconds);\n }\n}\n\nexport const debounce = new Debounce();\n","import {\n useMemo,\n useState,\n useEffect,\n Children,\n forwardRef,\n type ReactElement,\n type CSSProperties,\n type HTMLAttributes,\n cloneElement\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils';\n\nimport { uuid } from '@iziui/toolkit/uuid';\nimport { debounce } from '@iziui/toolkit/debounce';\n\nimport useListenerResized from '@/hooks/useListenerResized';\nimport { Card, CardContent } from '@/display/Card';\n\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Menu.scss';\n\ntype Direction = 'left' | 'right' | 'center';\ntype AnimationClass = 'open' | 'close';\ntype State = 'visible' | 'invisible';\ntype Coordinates = { top?: number; right?: number; bottom?: number; left?: number; };\ntype Config = { animation: AnimationClass, state: State; width: CSSProperties['width'] };\n\nexport interface MenuProps extends HTMLAttributes<HTMLDivElement> {\n open: boolean;\n autoClose?: boolean;\n maxHeight?: CSSProperties['maxHeight'];\n direction?: Direction;\n anchorEl: HTMLElement | null;\n width?: CSSProperties['width'];\n children: React.JSX.Element | React.JSX.Element[];\n onClose: (e?: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nconst Menu = forwardRef<HTMLDivElement, MenuProps>(function Menu({\n open,\n width,\n children,\n anchorEl,\n direction = 'left',\n maxHeight,\n autoClose,\n onClose,\n ...props\n}: MenuProps, ref) {\n const [coordinate, setCoordinate] = useState<Coordinates>();\n const [config, setConfig] = useState<Config>({ state: 'invisible', animation: 'close', width: 'auto' });\n\n const GAP = 16;\n const ANIMATION_DURATION = 150;\n\n const arrayChildren = Children.toArray(children) as ReactElement<any>[];\n\n const id = useMemo(() => uuid(), []);\n\n const classes = joinClass(\n `${prefix}-menu`,\n `${prefix}-menu--${config?.animation}`,\n props.className\n );\n\n useListenerResized(() => changePosition(), [anchorEl]);\n\n useEffect(() => { changePosition(); }, [anchorEl]);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n useEffect(() => { open ? handleOpen() : handleClose(); }, [open]);\n\n const changePosition = () => {\n if (!anchorEl) { return; }\n\n setTimeout(() => {\n let coordinates: Coordinates = {};\n\n const { offsetWidth, offsetHeight, offsetLeft, offsetTop } = anchorEl;\n\n setConfig(prev => ({ ...prev, width: offsetWidth }));\n\n const top = offsetTop + offsetHeight + (GAP / 2);\n\n const el = document.getElementById(id) as HTMLElement;\n\n if (direction === 'center') { coordinates = { top, right: offsetWidth }; }\n\n if (direction === 'left') { coordinates = { top, left: offsetLeft }; }\n\n if (direction === 'right') { coordinates = { top, left: offsetLeft - (el.offsetWidth - offsetWidth) }; }\n\n setCoordinate(coordinates);\n }, 0);\n };\n\n const handleOpen = () => {\n setConfig(prev => ({ ...prev, state: 'visible' }));\n\n setTimeout(() => { setConfig(prev => ({ ...prev, animation: 'open' })); }, 10);\n };\n\n const handleClose = () => {\n setConfig(prev => ({ ...prev, animation: 'close' }));\n\n setTimeout(() => {\n setConfig(prev => ({ ...prev, state: 'invisible' }));\n onClose();\n }, ANIMATION_DURATION);\n };\n\n const renderChildren = () => {\n return arrayChildren.map((child, index) => {\n return cloneElement(child, {\n 'tabIndex': index + 1,\n key: `button-${index}`,\n onClick: (e: React.MouseEvent<HTMLButtonElement>) => {\n debounce.delay(() => {\n\n if (autoClose) { handleClose(); }\n\n if (child.props.onClick) { child.props.onClick(e); }\n }, 0);\n },\n });\n });\n };\n\n return (\n <>\n <div\n id={id}\n ref={ref}\n {...props}\n style={{\n width: width || config.width,\n top: coordinate?.top,\n left: coordinate?.left,\n display: config?.state === 'visible' ? 'block' : 'none',\n transition: `all ${ANIMATION_DURATION}ms ease-in`,\n zIndex: 50,\n ...props.style\n }}\n className={classes}\n >\n {\n open && (\n <Card className={`${prefix}-menu__card`}>\n <CardContent\n className={`${prefix}-menu__card__content`}\n sx={{ py: 1 }}\n style={{ display: 'flex', flexDirection: 'column', maxHeight }}\n >\n {renderChildren()}\n </CardContent>\n </Card>\n )\n }\n </div>\n {open && <div className={`${prefix}-menu__overlay`} onClick={handleClose} />}\n </>\n );\n});\n\nexport default createComponent(Menu);\n","import { useState } from 'react';\n\ntype UseMenu = [\n boolean,\n HTMLElement | null,\n (event?: React.MouseEvent<HTMLButtonElement>) => void,\n];\n\nexport default function useMenu(): UseMenu {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const open = Boolean(anchorEl);\n\n const handleOpen = (event?: React.MouseEvent<HTMLElement, MouseEvent>) => {\n setAnchorEl(event ? event.currentTarget : null);\n };\n\n const handleClose = () => { setAnchorEl(null); };\n\n const handleToggle = (event?: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (open) {\n handleClose();\n return;\n }\n\n handleOpen(event);\n };\n\n return [open, anchorEl, handleToggle];\n}\n"],"names":["Debounce","func","milliseconds","debounce","Menu","forwardRef","open","width","children","anchorEl","direction","maxHeight","autoClose","onClose","props","ref","coordinate","setCoordinate","useState","config","setConfig","GAP","ANIMATION_DURATION","arrayChildren","Children","id","useMemo","uuid","classes","joinClass","prefix","useListenerResized","changePosition","useEffect","handleOpen","handleClose","coordinates","offsetWidth","offsetHeight","offsetLeft","offsetTop","prev","top","el","renderChildren","child","index","cloneElement","e","jsxs","Fragment","jsx","Card","CardContent","createComponent","useMenu","setAnchorEl","event"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as B,Fragment as E,jsx as m}from"react/jsx-runtime";import{forwardRef as L,useState as g,Children as P,useMemo as W,useEffect as x,cloneElement as F}from"react";import{p as r}from"./index-CZ41y9Hn.js";import{j as G}from"./joinClass-anSpaauN.js";import{u as H}from"./uuid-dGvr9vBZ.js";import{u as S}from"./useListenerResized-Bnqxrt7k.js";import{C as U}from"./Card-
|
|
2
|
-
//# sourceMappingURL=useMenu
|
|
1
|
+
import{jsxs as B,Fragment as E,jsx as m}from"react/jsx-runtime";import{forwardRef as L,useState as g,Children as P,useMemo as W,useEffect as x,cloneElement as F}from"react";import{p as r}from"./index-CZ41y9Hn.js";import{j as G}from"./joinClass-anSpaauN.js";import{u as H}from"./uuid-dGvr9vBZ.js";import{u as S}from"./useListenerResized-Bnqxrt7k.js";import{C as U}from"./Card-CKCzaI7j.js";import{C as q}from"./CardContent-ywggix6Q.js";import{c as J}from"./createComponent-DhHk-x5v.js";class K{delay(t,n=500){if(!n){t();return}clearTimeout(this.timeout),this.timeout=setTimeout(()=>{t()},n)}}const Q=new K,V=L(function({open:t,width:n,children:f,anchorEl:o,direction:c="left",maxHeight:s,autoClose:N,onClose:M,...u},k){const[y,v]=g(),[d,a]=g({state:"invisible",animation:"close",width:"auto"}),w=16,T=150,A=P.toArray(f),b=W(()=>H(),[]),I=G(`${r}-menu`,`${r}-menu--${d?.animation}`,u.className);S(()=>_(),[o]),x(()=>{_()},[o]),x(()=>{t?j():h()},[t]);const _=()=>{o&&setTimeout(()=>{let e={};const{offsetWidth:i,offsetHeight:p,offsetLeft:$,offsetTop:D}=o;a(z=>({...z,width:i}));const C=D+p+w/2,R=document.getElementById(b);c==="center"&&(e={top:C,right:i}),c==="left"&&(e={top:C,left:$}),c==="right"&&(e={top:C,left:$-(R.offsetWidth-i)}),v(e)},0)},j=()=>{a(e=>({...e,state:"visible"})),setTimeout(()=>{a(e=>({...e,animation:"open"}))},10)},h=()=>{a(e=>({...e,animation:"close"})),setTimeout(()=>{a(e=>({...e,state:"invisible"})),M()},T)},O=()=>A.map((e,i)=>F(e,{tabIndex:i+1,key:`button-${i}`,onClick:p=>{Q.delay(()=>{N&&h(),e.props.onClick&&e.props.onClick(p)},0)}}));return B(E,{children:[m("div",{id:b,ref:k,...u,style:{width:n||d.width,top:y?.top,left:y?.left,display:d?.state==="visible"?"block":"none",transition:`all ${T}ms ease-in`,zIndex:50,...u.style},className:I,children:t&&m(U,{className:`${r}-menu__card`,children:m(q,{className:`${r}-menu__card__content`,sx:{py:1},style:{display:"flex",flexDirection:"column",maxHeight:s},children:O()})})}),t&&m("div",{className:`${r}-menu__overlay`,onClick:h})]})}),ae=J(V);function re(){const[l,t]=g(null),n=!!l,f=s=>{t(s?s.currentTarget:null)},o=()=>{t(null)};return[n,l,s=>{if(n){o();return}f(s)}]}export{ae as M,re as u};
|
|
2
|
+
//# sourceMappingURL=useMenu-s6oyzklj.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu
|
|
1
|
+
{"version":3,"file":"useMenu-s6oyzklj.js","sources":["../../../../toolkit/src/debounce/debounce.ts","../../src/navigation/Menu/Menu.tsx","../../src/navigation/Menu/useMenu.ts"],"sourcesContent":["class Debounce {\n private timeout: NodeJS.Timeout | undefined;\n public delay(func: (a?: any) => void, milliseconds = 500) {\n if (!milliseconds) {\n func();\n return;\n }\n\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => { func(); }, milliseconds);\n }\n}\n\nexport const debounce = new Debounce();\n","import {\n useMemo,\n useState,\n useEffect,\n Children,\n forwardRef,\n type ReactElement,\n type CSSProperties,\n type HTMLAttributes,\n cloneElement\n} from 'react';\n\nimport { prefix } from '@iziui/tokens/web/js';\n\nimport { joinClass } from '@iziui/core/utils';\n\nimport { uuid } from '@iziui/toolkit/uuid';\nimport { debounce } from '@iziui/toolkit/debounce';\n\nimport useListenerResized from '@/hooks/useListenerResized';\nimport { Card, CardContent } from '@/display/Card';\n\nimport createComponent from '../../core/createComponent';\n\nimport '@iziui/styles/components/Menu.scss';\n\ntype Direction = 'left' | 'right' | 'center';\ntype AnimationClass = 'open' | 'close';\ntype State = 'visible' | 'invisible';\ntype Coordinates = { top?: number; right?: number; bottom?: number; left?: number; };\ntype Config = { animation: AnimationClass, state: State; width: CSSProperties['width'] };\n\nexport interface MenuProps extends HTMLAttributes<HTMLDivElement> {\n open: boolean;\n autoClose?: boolean;\n maxHeight?: CSSProperties['maxHeight'];\n direction?: Direction;\n anchorEl: HTMLElement | null;\n width?: CSSProperties['width'];\n children: React.JSX.Element | React.JSX.Element[];\n onClose: (e?: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nconst Menu = forwardRef<HTMLDivElement, MenuProps>(function Menu({\n open,\n width,\n children,\n anchorEl,\n direction = 'left',\n maxHeight,\n autoClose,\n onClose,\n ...props\n}: MenuProps, ref) {\n const [coordinate, setCoordinate] = useState<Coordinates>();\n const [config, setConfig] = useState<Config>({ state: 'invisible', animation: 'close', width: 'auto' });\n\n const GAP = 16;\n const ANIMATION_DURATION = 150;\n\n const arrayChildren = Children.toArray(children) as ReactElement<any>[];\n\n const id = useMemo(() => uuid(), []);\n\n const classes = joinClass(\n `${prefix}-menu`,\n `${prefix}-menu--${config?.animation}`,\n props.className\n );\n\n useListenerResized(() => changePosition(), [anchorEl]);\n\n useEffect(() => { changePosition(); }, [anchorEl]);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n useEffect(() => { open ? handleOpen() : handleClose(); }, [open]);\n\n const changePosition = () => {\n if (!anchorEl) { return; }\n\n setTimeout(() => {\n let coordinates: Coordinates = {};\n\n const { offsetWidth, offsetHeight, offsetLeft, offsetTop } = anchorEl;\n\n setConfig(prev => ({ ...prev, width: offsetWidth }));\n\n const top = offsetTop + offsetHeight + (GAP / 2);\n\n const el = document.getElementById(id) as HTMLElement;\n\n if (direction === 'center') { coordinates = { top, right: offsetWidth }; }\n\n if (direction === 'left') { coordinates = { top, left: offsetLeft }; }\n\n if (direction === 'right') { coordinates = { top, left: offsetLeft - (el.offsetWidth - offsetWidth) }; }\n\n setCoordinate(coordinates);\n }, 0);\n };\n\n const handleOpen = () => {\n setConfig(prev => ({ ...prev, state: 'visible' }));\n\n setTimeout(() => { setConfig(prev => ({ ...prev, animation: 'open' })); }, 10);\n };\n\n const handleClose = () => {\n setConfig(prev => ({ ...prev, animation: 'close' }));\n\n setTimeout(() => {\n setConfig(prev => ({ ...prev, state: 'invisible' }));\n onClose();\n }, ANIMATION_DURATION);\n };\n\n const renderChildren = () => {\n return arrayChildren.map((child, index) => {\n return cloneElement(child, {\n 'tabIndex': index + 1,\n key: `button-${index}`,\n onClick: (e: React.MouseEvent<HTMLButtonElement>) => {\n debounce.delay(() => {\n\n if (autoClose) { handleClose(); }\n\n if (child.props.onClick) { child.props.onClick(e); }\n }, 0);\n },\n });\n });\n };\n\n return (\n <>\n <div\n id={id}\n ref={ref}\n {...props}\n style={{\n width: width || config.width,\n top: coordinate?.top,\n left: coordinate?.left,\n display: config?.state === 'visible' ? 'block' : 'none',\n transition: `all ${ANIMATION_DURATION}ms ease-in`,\n zIndex: 50,\n ...props.style\n }}\n className={classes}\n >\n {\n open && (\n <Card className={`${prefix}-menu__card`}>\n <CardContent\n className={`${prefix}-menu__card__content`}\n sx={{ py: 1 }}\n style={{ display: 'flex', flexDirection: 'column', maxHeight }}\n >\n {renderChildren()}\n </CardContent>\n </Card>\n )\n }\n </div>\n {open && <div className={`${prefix}-menu__overlay`} onClick={handleClose} />}\n </>\n );\n});\n\nexport default createComponent(Menu);\n","import { useState } from 'react';\n\ntype UseMenu = [\n boolean,\n HTMLElement | null,\n (event?: React.MouseEvent<HTMLButtonElement>) => void,\n];\n\nexport default function useMenu(): UseMenu {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\n const open = Boolean(anchorEl);\n\n const handleOpen = (event?: React.MouseEvent<HTMLElement, MouseEvent>) => {\n setAnchorEl(event ? event.currentTarget : null);\n };\n\n const handleClose = () => { setAnchorEl(null); };\n\n const handleToggle = (event?: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (open) {\n handleClose();\n return;\n }\n\n handleOpen(event);\n };\n\n return [open, anchorEl, handleToggle];\n}\n"],"names":["Debounce","func","milliseconds","debounce","Menu","forwardRef","open","width","children","anchorEl","direction","maxHeight","autoClose","onClose","props","ref","coordinate","setCoordinate","useState","config","setConfig","GAP","ANIMATION_DURATION","arrayChildren","Children","id","useMemo","uuid","classes","joinClass","prefix","useListenerResized","changePosition","useEffect","handleOpen","handleClose","coordinates","offsetWidth","offsetHeight","offsetLeft","offsetTop","prev","top","el","renderChildren","child","index","cloneElement","e","jsxs","Fragment","jsx","Card","CardContent","Menu$1","createComponent","useMenu","setAnchorEl","event"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Alert-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Alert-BZtq_ZmI.cjs");require("react/jsx-runtime");require("react");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/Stack-CTcHQ_9x.cjs");require("../../chunks/createComponent-Ds819n7r.cjs");require("../../chunks/useTheme-BZ0xkY68.cjs");require("../../chunks/Typography-DMnJRugi.cjs");require("../../chunks/convertPathToColor-BlQMLS4V.cjs");require("../../chunks/ButtonIcon-BdTxTa54.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/Icon-7g25Bfa3.cjs");exports.default=e.Alert;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{A}from"../../chunks/Alert-
|
|
1
|
+
import{A}from"../../chunks/Alert-Dydy5gdK.js";import"react/jsx-runtime";import"react";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/Stack-D2Y2T_wh.js";import"../../chunks/createComponent-DhHk-x5v.js";import"../../chunks/useTheme-BhIs8Txu.js";import"../../chunks/Typography-BcgZRln8.js";import"../../chunks/convertPathToColor-D2SdAqGh.js";import"../../chunks/ButtonIcon-CwmXuxvw.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/Icon-D-uCpp04.js";export{A 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 o=require("react/jsx-runtime"),t=require("../../chunks/index-DYxwT4uW.cjs"),f=require("../../chunks/joinClass-Jk3EszKD.cjs"),d=require("../../chunks/Ripple-Dy4i91j1.cjs"),g=require("../../chunks/createComponent-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),t=require("../../chunks/index-DYxwT4uW.cjs"),f=require("../../chunks/joinClass-Jk3EszKD.cjs"),d=require("../../chunks/Ripple-Dy4i91j1.cjs"),g=require("../../chunks/createComponent-Ds819n7r.cjs"),v=require("../../chunks/Icon-7g25Bfa3.cjs"),x=require("../../chunks/Typography-DMnJRugi.cjs");require("react");require("../../chunks/useTheme-BZ0xkY68.cjs");require("../../chunks/convertPathToColor-BlQMLS4V.cjs");function s(e){return e.normalize("NFD").trim().toLowerCase().replace(/a-zA-Z0-9_.-+/g,"").replace(/_/g,"").replace(/[^\w\s]/gi,"")}function m(e){const a=e.trim().split(" "),i=a.length===1,r=s(a[0]).charAt(0).toLocaleUpperCase(),c=i?s(a[0]).charAt(1).toLocaleUpperCase():s(a.reverse()[0]).charAt(0).toLocaleUpperCase();return r+c}function y({src:e,alt:a,name:i,size:r=40,variant:c="circular",color:u="primary",icon:l,...n}){const h=f.joinClass(`${t.prefix}-avatar`,`${t.prefix}-avatar--${c}`,`${t.prefix}-avatar--${u}`,e&&`${t.prefix}-avatar--image`,i&&`${t.prefix}-avatar--name`,!e&&!i||l&&`${t.prefix}-avatar--icon`,n.onClick&&`${t.prefix}-avatar--clickable`,n.className),p=()=>e?o.jsx("img",{src:e,alt:a,width:r,height:r,sizes:"100vw",loading:"lazy",style:{width:"100%",height:"auto"}}):i?o.jsx(x.Typography,{style:{fontSize:r/2,color:"currentColor"},children:m(i)}):l||o.jsx(v.Icon,{name:"user",size:r/1.6,style:{color:"currentColor"}});return o.jsxs("div",{...n,style:{width:r,height:r,...n.style},className:h,children:[p(),n.children,n.onClick&&o.jsx(d.Ripple,{})]})}const C=g.createComponent(y);exports.default=C;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as h,jsx as n}from"react/jsx-runtime";import{p as r}from"../../chunks/index-CZ41y9Hn.js";import{j as u}from"../../chunks/joinClass-anSpaauN.js";import{R as g}from"../../chunks/Ripple-Bq9bxg4k.js";import{c as v}from"../../chunks/createComponent-
|
|
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-DhHk-x5v.js";import{I as d}from"../../chunks/Icon-D-uCpp04.js";import{T as C}from"../../chunks/Typography-BcgZRln8.js";import"react";import"../../chunks/useTheme-BhIs8Txu.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 z=v($);export{z as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Box-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Box-B3hTyhaq.cjs");require("react/jsx-runtime");require("react");require("../../chunks/createComponent-Ds819n7r.cjs");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/useTheme-BZ0xkY68.cjs");exports.default=e.Box;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{B as e}from"../../chunks/Box-
|
|
1
|
+
import{B as e}from"../../chunks/Box-DRV8oI-_.js";import"react/jsx-runtime";import"react";import"../../chunks/createComponent-DhHk-x5v.js";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/useTheme-BhIs8Txu.js";export{e 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
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=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-Ds819n7r.cjs");require("../../chunks/useTheme-BZ0xkY68.cjs");function j({size:u="medium",color:o="primary",variant:p="contained",startIcon:c,endIcon:l,loading:s,children:$,...n}){const f=i.joinClass(`${e.prefix}-button`,`${e.prefix}-button--${u}`,`${e.prefix}-button--${o}`,`${e.prefix}-button--${o}--${p}`,n.className),a=(t,b)=>m.cloneElement(t,{color:`${o}.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 console.log(">>> props",n),r.jsxs("button",{...n,className:f,onClick:t=>!s&&n.onClick?.(t),children:[s?x(s):r.jsxs(r.Fragment,{children:[c&&a(c,"left"),$,l&&a(l,"right")]}),r.jsx(d.Ripple,{})]})}const C=_.createComponent(j);exports.default=C;
|
|
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":"qZAuBA,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,
|
|
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 console.log('>>> props', props);\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":"qZAuBA,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,eAAQ,IAAI,YAAaO,CAAK,EAG5BS,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
|
|
1
|
+
import{jsxs as l,Fragment as d,jsx as N}from"react/jsx-runtime";import{cloneElement as u}from"react";import{p as t}from"../../chunks/index-CZ41y9Hn.js";import{j as s}from"../../chunks/joinClass-anSpaauN.js";import{R as j}from"../../chunks/Ripple-Bq9bxg4k.js";import{c as x}from"../../chunks/createComponent-DhHk-x5v.js";import"../../chunks/useTheme-BhIs8Txu.js";function C({size:m="medium",color:r="primary",variant:$="contained",startIcon:a,endIcon:c,loading:e,children:p,...n}){const f=s(`${t}-button`,`${t}-button--${m}`,`${t}-button--${r}`,`${t}-button--${r}--${$}`,n.className),i=(o,_)=>u(o,{color:`${r}.contrast`,className:s(o.props.className,`${t}-button__icon`,`${t}-button__icon--${_}`)}),b=o=>u(o,{className:s(o.props.className,`${t}-button__loading`,`${t}-button__loading--${m}`),size:"1.1rem"});return console.log(">>> props",n),l("button",{...n,className:f,onClick:o=>!e&&n.onClick?.(o),children:[e?b(e):l(d,{children:[a&&i(a,"left"),p,c&&i(c,"right")]}),N(j,{})]})}const F=x(C);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":"0WAuBA,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,
|
|
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 console.log('>>> props', props);\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":"0WAuBA,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,EAGGE,EAAiBV,GACdS,EAA2BT,EAAS,CACzC,UAAWI,EAAUJ,EAAQ,MAAM,UAAW,GAAGK,CAAM,mBAAoB,GAAGA,CAAM,qBAAqBV,CAAI,EAAE,EAC/G,KAAM,QAAA,CACP,EAGH,eAAQ,IAAI,YAAaO,CAAK,EAG5BS,EAAC,SAAA,CACE,GAAGT,EACJ,UAAWC,EACX,QAAUS,GAAM,CAACZ,GAAWE,EAAM,UAAUU,CAAC,EAG3C,SAAA,CAAAZ,EAAUU,EAAcV,CAA4B,EAClDW,EAAAE,EAAA,CACG,SAAA,CAAAf,GAAaQ,EAAWR,EAAW,MAAM,EACzCG,EACAF,GAAWO,EAAWP,EAAS,OAAO,CAAA,EACzC,IAGHe,EAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAGd,CAEA,MAAAC,EAAeC,EAAgBtB,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-BdTxTa54.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-BZ0xkY68.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/createComponent-Ds819n7r.cjs");exports.default=e.ButtonIcon;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{B as l}from"../../chunks/ButtonIcon-
|
|
1
|
+
import{B as l}from"../../chunks/ButtonIcon-CwmXuxvw.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-BhIs8Txu.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/createComponent-DhHk-x5v.js";export{l 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-BNdbHjy2.cjs"),r=require("../../chunks/CardContent-BNxQiVc2.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-Ds819n7r.cjs");require("../../chunks/useTheme-BZ0xkY68.cjs");exports.Card=e.Card;exports.CardContent=r.CardContent;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{C as d}from"../../chunks/Card-
|
|
1
|
+
import{C as d}from"../../chunks/Card-CKCzaI7j.js";import{C as n}from"../../chunks/CardContent-ywggix6Q.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-DhHk-x5v.js";import"../../chunks/useTheme-BhIs8Txu.js";export{d as Card,n 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-CTcHQ_9x.cjs"),b=require("../../chunks/createComponent-Ds819n7r.cjs");require("react");require("../../chunks/useTheme-BZ0xkY68.cjs");function k({label:n,name:c,color:t="primary",checked:s,disabled:i,error:l,helperText:o,...u}){const a=x.joinClass(`${e.prefix}-checkbox`,`${e.prefix}-checkbox--${t}`,s&&`${e.prefix}-checkbox--${t}--checked`,i&&`${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:s,disabled:i}),n]}),r.jsx("span",{className:p,children:o})]})}const f=b.createComponent(k);exports.default=f;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -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-D2Y2T_wh.js";import{c as k}from"../../chunks/createComponent-DhHk-x5v.js";import"react";import"../../chunks/useTheme-BhIs8Txu.js";function f({label:x,name:o,color:c="primary",checked:r,disabled:t,error:a,helperText:s,...l}){const m=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:m,children:[i("input",{type:"checkbox",...l,id:o,name:o,checked:r,disabled:t}),x]}),i("span",{className:b,children:s})]})}const N=k(f);export{N 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 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-CTcHQ_9x.cjs"),E=require("../../chunks/createComponent-Ds819n7r.cjs");require("../../chunks/useTheme-BZ0xkY68.cjs");let g=0;function j({children:d,values:r,onChange:a,className:l}){const i=++g,n=c.Children.toArray(d),k=b.joinClass(`${x.prefix}-checkbox-group`,l),[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}-${i}`,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,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-D2Y2T_wh.js";import{c as $}from"../../chunks/createComponent-DhHk-x5v.js";import"../../chunks/useTheme-BhIs8Txu.js";let A=0;function G({children:m,values:r,onChange:a,className:f}){const k=++A,c=C.toArray(m),d=j(`${g}-checkbox-group`,f),[p,n]=x(c.map(e=>({id:e.props.name,value:e.props.value,checked:r?r.some(o=>o===e.props.name):!1}))),u=b(()=>c.map((e,o)=>{const h=e.props.name;return E(e,{key:o,name:`${e.props.name}-${k}`,checked:e.props.checked||p[o].checked,onChange:l=>{const t=p.map(s=>s.id===h?{...s,checked:l.target.checked}:s);a&&a(t),n(t)}})}),[r,p]);return y(()=>{n(c.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 I=$(G);export{I as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const 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-Ds819n7r.cjs");require("../../chunks/useTheme-BZ0xkY68.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,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as r,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-
|
|
1
|
+
import{jsxs as r,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-DhHk-x5v.js";import"../../chunks/useTheme-BhIs8Txu.js";const j=C(({label:t,icon:l,size:p="medium",color:o="default",variant:h="contained",onDelete:e,...c},d)=>{const f=m(`${i}-chip`,`${i}-chip--${o}`,`${i}-chip--${o}--${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 r("div",{...c,ref:d,className:f,style:{...c.style},children:[l&&$(l),a("span",{children:t}),c.onClick&&a(n,{}),e&&r("button",{className:`${i}-chip__delete-icon`,onClick:u,children:[a("i",{className:"uil uil-times-circle"}),a(n,{})]})]})}),w=N(j);export{w as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),x=require("react"),e=require("../../chunks/index-DYxwT4uW.cjs"),s=require("../../chunks/joinClass-Jk3EszKD.cjs"),n=require("../../chunks/useTheme-BZ0xkY68.cjs"),P=require("../../chunks/uuid-omnJ9TjZ.cjs"),R=require("../../chunks/Box-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),x=require("react"),e=require("../../chunks/index-DYxwT4uW.cjs"),s=require("../../chunks/joinClass-Jk3EszKD.cjs"),n=require("../../chunks/useTheme-BZ0xkY68.cjs"),P=require("../../chunks/uuid-omnJ9TjZ.cjs"),R=require("../../chunks/Box-B3hTyhaq.cjs"),C=require("../../chunks/Icon-7g25Bfa3.cjs"),E=require("../../chunks/Stack-CTcHQ_9x.cjs"),_=require("../../chunks/useMenu-CBWhhu1S.cjs"),I=require("../../chunks/createComponent-Ds819n7r.cjs");require("../../chunks/useListenerResized-AwpsZLcP.cjs");require("../../chunks/Card-BNdbHjy2.cjs");require("../../chunks/Ripple-Dy4i91j1.cjs");require("../../chunks/CardContent-BNxQiVc2.cjs");const k=["#00aae6","#2e72fe","#6f4dff","#9f40f1","#9e2dbf","#db5bdc","#ea479b","#ff83a8","#d80051","#eb3d32","#fa8d2f","#f5cd2b","#93ca00","#62d26f","#38c5ab","#87969f"];function O({label:t,error:i,helperText:a,fitContent:m,value:c=k[0],autoClose:b,onChange:j,onInput:h,...$}){const{theme:{palette:u}}=n.useTheme(),l=x.useRef(null),[q,N,p]=_.useMenu(),f=x.useMemo(()=>P.uuid(),[]),g=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`),w=s.joinClass(`${e.prefix}-color-picker__helper-text`,a&&`${e.prefix}-color-picker__helper-text--visible`,i&&`${e.prefix}-color-picker__helper-text--error`),d=o=>s.joinClass(`${e.prefix}-color-picker__color__icon`,c===o&&`${e.prefix}-color-picker__color__icon--visible`);function S(o){l.current&&(l.current.value=o,l.current.dispatchEvent(new Event("input",{bubbles:!0})))}return r.jsxs("div",{className:y,children:[t&&r.jsxs("label",{className:g,children:[t," ",$.required&&"*"]}),r.jsxs("button",{type:"button",onClick:p,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:w,children:a}),r.jsx(_.Menu,{direction:"left",autoClose:b,open:q,anchorEl:N,width:m?"fit-content":"",onClose:p,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:()=>S(o),style:{backgroundColor:o},children:r.jsx(C.Icon,{name:"check",className:d(o),style:{color:n.getContrastColor(c)}})},o)),r.jsxs("label",{htmlFor:`color-picker-${f}`,className:`${e.prefix}-color-picker__color`,style:{backgroundColor:u.grey.main},children:[r.jsx(C.Icon,{name:"plus",className:d(c),style:{color:n.getContrastColor(u.grey.main)}}),r.jsx("input",{ref:l,type:"color",id:`color-picker-${f}`,value:c,onChange:j,onInput:h})]})]})})})]})}const T=I.createComponent(O);exports.default=T;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as i,jsx as e}from"react/jsx-runtime";import{useRef as P,useMemo as R}from"react";import{p as o}from"../../chunks/index-CZ41y9Hn.js";import{j as l}from"../../chunks/joinClass-anSpaauN.js";import{u as S,g as u}from"../../chunks/useTheme-BhIs8Txu.js";import{u as B}from"../../chunks/uuid-dGvr9vBZ.js";import{B as I}from"../../chunks/Box-
|
|
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{u as S,g as u}from"../../chunks/useTheme-BhIs8Txu.js";import{u as B}from"../../chunks/uuid-dGvr9vBZ.js";import{B as I}from"../../chunks/Box-DRV8oI-_.js";import{I as _}from"../../chunks/Icon-D-uCpp04.js";import{S as O}from"../../chunks/Stack-D2Y2T_wh.js";import{u as q,M as D}from"../../chunks/useMenu-s6oyzklj.js";import{c as F}from"../../chunks/createComponent-DhHk-x5v.js";import"../../chunks/useListenerResized-Bnqxrt7k.js";import"../../chunks/Card-CKCzaI7j.js";import"../../chunks/Ripple-Bq9bxg4k.js";import"../../chunks/CardContent-ywggix6Q.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}}=S(),n=P(null),[y,g,m]=q(),f=R(()=>B(),[]),x=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:x,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:g,width:b?"fit-content":"",onClose:m,children:e(I,{sx:{p:1},children:i(O,{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 eo=F(L);export{eo 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 C=require("react/jsx-runtime"),s=require("react"),g=require("../../chunks/joinClass-Jk3EszKD.cjs"),q=require("../../chunks/useResize-B-oebgDR.cjs"),f=require("../../chunks/createComponent-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const C=require("react/jsx-runtime"),s=require("react"),g=require("../../chunks/joinClass-Jk3EszKD.cjs"),q=require("../../chunks/useResize-B-oebgDR.cjs"),f=require("../../chunks/createComponent-Ds819n7r.cjs");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/useTheme-BZ0xkY68.cjs");const j=s.forwardRef(function({sm:o="100%",md:r=750,lg:i=950,children:a,tag:u="div",...n},c){const[l,e]=s.useState(0),t={sm:o,lg:i,md:r},d=g.joinClass(n.className);q.useResize({onXs:()=>e(t.sm),onSm:()=>e(t.md),onMd:()=>e(t.md),onLg:()=>e(t.lg),onXl:()=>e(t.lg)});const m=u;return C.jsx(m,{...n,ref:c,style:{width:"100%",maxWidth:l,margin:"auto",...n.style},className:d,children:a})}),h=f.createComponent(j);exports.default=h;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -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-DhHk-x5v.js";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/useTheme-BhIs8Txu.js";const h=l(function({sm:n="100%",md:m=750,lg:a=950,children:e,tag:r="div",...s},i){const[c,t]=u(0),o={sm:n,lg:a,md:m},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})}),W=p(h);export{W as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),t=require("../../chunks/index-DYxwT4uW.cjs"),s=require("../../chunks/joinClass-Jk3EszKD.cjs"),n=require("../../chunks/createComponent-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("react/jsx-runtime"),t=require("../../chunks/index-DYxwT4uW.cjs"),s=require("../../chunks/joinClass-Jk3EszKD.cjs"),n=require("../../chunks/createComponent-Ds819n7r.cjs");require("../../chunks/useTheme-BZ0xkY68.cjs");require("react");function o({...e}){const r=s.joinClass(`${t.prefix}-divider`,e.className);return i.jsx("div",{...e,className:r})}const u=n.createComponent(o);exports.default=u;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{p as t}from"../../chunks/index-CZ41y9Hn.js";import{j as s}from"../../chunks/joinClass-anSpaauN.js";import{c as e}from"../../chunks/createComponent-
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{p as t}from"../../chunks/index-CZ41y9Hn.js";import{j as s}from"../../chunks/joinClass-anSpaauN.js";import{c as e}from"../../chunks/createComponent-DhHk-x5v.js";import"../../chunks/useTheme-BhIs8Txu.js";import"react";function m({...r}){const i=s(`${t}-divider`,r.className);return o("div",{...r,className:i})}const l=e(m);export{l as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Drawer-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Drawer-CTmTDUBF.cjs");require("react/jsx-runtime");require("react");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/Stack-CTcHQ_9x.cjs");require("../../chunks/createComponent-Ds819n7r.cjs");require("../../chunks/useTheme-BZ0xkY68.cjs");exports.default=e.Drawer_default;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{D as d}from"../../chunks/Drawer-
|
|
1
|
+
import{D as d}from"../../chunks/Drawer-CVnRBzFN.js";import"react/jsx-runtime";import"react";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/Stack-D2Y2T_wh.js";import"../../chunks/createComponent-DhHk-x5v.js";import"../../chunks/useTheme-BhIs8Txu.js";export{d as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Icon-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../chunks/Icon-7g25Bfa3.cjs");require("react/jsx-runtime");require("../../chunks/index-DYxwT4uW.cjs");require("../../chunks/joinClass-Jk3EszKD.cjs");require("../../chunks/createComponent-Ds819n7r.cjs");require("../../chunks/useTheme-BZ0xkY68.cjs");require("react");exports.default=e.Icon;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{I as f}from"../../chunks/Icon-
|
|
1
|
+
import{I as f}from"../../chunks/Icon-D-uCpp04.js";import"react/jsx-runtime";import"../../chunks/index-CZ41y9Hn.js";import"../../chunks/joinClass-anSpaauN.js";import"../../chunks/createComponent-DhHk-x5v.js";import"../../chunks/useTheme-BhIs8Txu.js";import"react";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 t=require("react/jsx-runtime"),h=require("react"),e=require("../../chunks/index-DYxwT4uW.cjs"),i=require("../../chunks/joinClass-Jk3EszKD.cjs"),q=require("../../chunks/createComponent-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),h=require("react"),e=require("../../chunks/index-DYxwT4uW.cjs"),i=require("../../chunks/joinClass-Jk3EszKD.cjs"),q=require("../../chunks/createComponent-Ds819n7r.cjs");require("../../chunks/useTheme-BZ0xkY68.cjs");function N({error:n,label:p,helperText:o,endIcon:a,startIcon:u,type:f="text",disabled:r,width:C="100%",...l}){const j=i.joinClass(`${e.prefix}-input-container`),m=i.joinClass(`${e.prefix}-input-label`,n&&`${e.prefix}-input-label--error`),_=i.joinClass(`${e.prefix}-input-container`,`${e.prefix}-input`,r&&`${e.prefix}-input--disabled`,n&&`${e.prefix}-input--error`,l.className),$=i.joinClass(`${e.prefix}-input__helper-text`,o&&`${e.prefix}-input__helper-text--visible`,n&&`${e.prefix}-input__helper-text--error`),c=(s,d)=>h.cloneElement(s,{disabled:r,type:"button",size:30,style:{...s.props.style},className:i.joinClass(s.props.className,`${e.prefix}-input__icon`,`${e.prefix}-input__icon--margin-${d}`),onClick:x=>{x.stopPropagation(),s.props.onClick&&s.props.onClick(x)}});return t.jsxs("div",{className:j,style:{width:C},children:[p&&t.jsxs("label",{className:m,children:[p," ",l.required&&"*"]}),t.jsxs("div",{className:_,children:[u&&c(u,"right"),t.jsx("input",{...l,type:f,disabled:r}),a&&c(a,"left")]}),t.jsx("p",{className:$,children:o})]})}const b=q.createComponent(N);exports.default=b;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as l,jsx as $}from"react/jsx-runtime";import{cloneElement as b}from"react";import{p as t}from"../../chunks/index-CZ41y9Hn.js";import{j as s}from"../../chunks/joinClass-anSpaauN.js";import{c as j}from"../../chunks/createComponent-
|
|
1
|
+
import{jsxs as l,jsx as $}from"react/jsx-runtime";import{cloneElement as b}from"react";import{p as t}from"../../chunks/index-CZ41y9Hn.js";import{j as s}from"../../chunks/joinClass-anSpaauN.js";import{c as j}from"../../chunks/createComponent-DhHk-x5v.js";import"../../chunks/useTheme-BhIs8Txu.js";function y({error:n,label:p,helperText:o,endIcon:a,startIcon:c,type:f="text",disabled:i,width:_="100%",...r}){const h=s(`${t}-input-container`),x=s(`${t}-input-label`,n&&`${t}-input-label--error`),C=s(`${t}-input-container`,`${t}-input`,i&&`${t}-input--disabled`,n&&`${t}-input--error`,r.className),d=s(`${t}-input__helper-text`,o&&`${t}-input__helper-text--visible`,n&&`${t}-input__helper-text--error`),u=(e,N)=>b(e,{disabled:i,type:"button",size:30,style:{...e.props.style},className:s(e.props.className,`${t}-input__icon`,`${t}-input__icon--margin-${N}`),onClick:m=>{m.stopPropagation(),e.props.onClick&&e.props.onClick(m)}});return l("div",{className:h,style:{width:_},children:[p&&l("label",{className:x,children:[p," ",r.required&&"*"]}),l("div",{className:C,children:[c&&u(c,"right"),$("input",{...r,type:f,disabled:i}),a&&u(a,"left")]}),$("p",{className:d,children:o})]})}const I=j(y);export{I as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),i=require("../../chunks/index-DYxwT4uW.cjs"),r=require("../../chunks/joinClass-Jk3EszKD.cjs"),u=require("../../chunks/createComponent-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),i=require("../../chunks/index-DYxwT4uW.cjs"),r=require("../../chunks/joinClass-Jk3EszKD.cjs"),u=require("../../chunks/createComponent-Ds819n7r.cjs");require("../../chunks/useTheme-BZ0xkY68.cjs");require("react");function s({...e}){const t=r.joinClass(`${i.prefix}-input-file`,e.className);return n.jsx("input",{...e,type:"file",className:t})}const o=u.createComponent(s);exports.default=o;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{p as i}from"../../chunks/index-CZ41y9Hn.js";import{j as r}from"../../chunks/joinClass-anSpaauN.js";import{c as m}from"../../chunks/createComponent-
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{p as i}from"../../chunks/index-CZ41y9Hn.js";import{j as r}from"../../chunks/joinClass-anSpaauN.js";import{c as m}from"../../chunks/createComponent-DhHk-x5v.js";import"../../chunks/useTheme-BhIs8Txu.js";import"react";function p({...t}){const o=r(`${i}-input-file`,t.className);return e("input",{...t,type:"file",className:o})}const u=m(p);export{u as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|