{"version":3,"file":"index.I7aAXoCz.js","sources":["../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/checkbox-group/views/desktop/index.js"],"sourcesContent":["import { jsx, jsxs } from 'react/jsx-runtime';\nimport InputPanelDesktop from '../../../../others/input-panel/views/desktop/index.js';\nimport { genKey } from '@babylon/ui-kit-helpers/keys';\nimport { forwardRef, useRef, useImperativeHandle, useMemo } from 'react';\nimport { useResizeObserver } from 'usehooks-ts';\nimport Checkbox from '../../../checkbox/index.js';\nimport useCheckboxGroup from '../../hooks/useCheckboxGroup.js';\nimport useFormCheckboxGroup from '../../hooks/useFormCheckboxGroup.js';\nimport { CheckboxWrapper, InputWrapper } from '../../styled.js';\n\nconst CheckboxGroupDesktop = /*#__PURE__*/ forwardRef((props, ref)=>{\n const { options = [], value = [], hasError, error, label = '', icon = '', onBlur, disabled = false, variant = 'with-input', preventEmpty = true } = props;\n const inputRef = useRef(null);\n const size = useResizeObserver({\n ref: inputRef,\n box: 'border-box'\n });\n useImperativeHandle(ref, ()=>inputRef.current);\n const { handleChange, inputValue } = useCheckboxGroup(props);\n const inputProps = useMemo(()=>({\n label,\n value: inputValue,\n error,\n hasError,\n icon,\n onBlur,\n disabled\n }), [\n disabled,\n error,\n hasError,\n icon,\n inputValue,\n label,\n onBlur\n ]);\n const panelContent = useMemo(()=>options?.map((item, index)=>{\n const isChecked = !!value.find((e)=>e.value === item.value);\n return /*#__PURE__*/ jsx(CheckboxWrapper, {\n children: /*#__PURE__*/ jsx(Checkbox, {\n ...item,\n checked: isChecked,\n disabled: preventEmpty && !inputValue.includes(',') && isChecked || item?.disabled,\n onChange: (e)=>handleChange(e, index)\n })\n }, genKey({\n value: item.value,\n id: item.id\n }));\n }), [\n handleChange,\n inputValue,\n options,\n preventEmpty,\n value\n ]);\n const panel = useMemo(()=>({\n width: size.width,\n maxWidth: '100%',\n content: panelContent\n }), [\n panelContent,\n size.width\n ]);\n return /*#__PURE__*/ jsxs(InputWrapper, {\n \"data-testid\": \"CheckboxGroup\",\n children: [\n variant === 'with-input' && /*#__PURE__*/ jsx(InputPanelDesktop, {\n ref: inputRef,\n inputProps: inputProps,\n panel: panel\n }),\n variant === 'without-input' && panelContent\n ]\n });\n});\nCheckboxGroupDesktop.displayName = 'CheckboxGroupDesktop';\nconst FormCheckboxGroupDesktop = (props)=>{\n const finalProps = useFormCheckboxGroup(props);\n return /*#__PURE__*/ jsx(CheckboxGroupDesktop, {\n ...finalProps\n });\n};\n\nexport { FormCheckboxGroupDesktop, CheckboxGroupDesktop as default };\n//# sourceMappingURL=index.js.map\n"],"names":["CheckboxGroupDesktop","forwardRef","props","ref","options","value","hasError","error","label","icon","onBlur","disabled","variant","preventEmpty","inputRef","useRef","size","useResizeObserver","useImperativeHandle","handleChange","inputValue","useCheckboxGroup","inputProps","useMemo","panelContent","item","index","isChecked","e","jsx","CheckboxWrapper","Checkbox","genKey","panel","jsxs","InputWrapper","InputPanelDesktop","FormCheckboxGroupDesktop","finalProps","useFormCheckboxGroup"],"mappings":"4IAUK,MAACA,EAAqCC,EAAU,WAAC,CAACC,EAAOC,IAAM,CAChE,KAAM,CAAE,QAAAC,EAAU,CAAA,EAAI,MAAAC,EAAQ,CAAE,EAAE,SAAAC,EAAU,MAAAC,EAAO,MAAAC,EAAQ,GAAI,KAAAC,EAAO,GAAI,OAAAC,EAAQ,SAAAC,EAAW,GAAO,QAAAC,EAAU,aAAc,aAAAC,EAAe,EAAI,EAAKX,EAC9IY,EAAWC,EAAM,OAAC,IAAI,EACtBC,EAAOC,EAAkB,CAC3B,IAAKH,EACL,IAAK,YACb,CAAK,EACDI,EAAAA,oBAAoBf,EAAK,IAAIW,EAAS,OAAO,EAC7C,KAAM,CAAE,aAAAK,EAAc,WAAAC,GAAeC,EAAiBnB,CAAK,EACrDoB,EAAaC,EAAAA,QAAQ,KAAK,CACxB,MAAAf,EACA,MAAOY,EACP,MAAAb,EACA,SAAAD,EACA,KAAAG,EACA,OAAAC,EACA,SAAAC,CACZ,GAAY,CACJA,EACAJ,EACAD,EACAG,EACAW,EACAZ,EACAE,CACR,CAAK,EACKc,EAAeD,EAAAA,QAAQ,IAAInB,GAAA,YAAAA,EAAS,IAAI,CAACqB,EAAMC,IAAQ,CACrD,MAAMC,EAAY,CAAC,CAACtB,EAAM,KAAMuB,GAAIA,EAAE,QAAUH,EAAK,KAAK,EAC1D,OAAqBI,EAAAA,IAAIC,EAAiB,CACtC,SAAwBD,EAAG,IAACE,EAAU,CAClC,GAAGN,EACH,QAASE,EACT,SAAUd,GAAgB,CAACO,EAAW,SAAS,GAAG,GAAKO,IAAaF,GAAA,YAAAA,EAAM,UAC1E,SAAWG,GAAIT,EAAaS,EAAGF,CAAK,CACvC,CAAA,CACJ,EAAEM,EAAO,CACN,MAAOP,EAAK,MACZ,GAAIA,EAAK,EACzB,CAAa,CAAC,CACd,GAAY,CACJN,EACAC,EACAhB,EACAS,EACAR,CACR,CAAK,EACK4B,EAAQV,EAAAA,QAAQ,KAAK,CACnB,MAAOP,EAAK,MACZ,SAAU,OACV,QAASQ,CACrB,GAAY,CACJA,EACAR,EAAK,KACb,CAAK,EACD,OAAqBkB,EAAAA,KAAKC,EAAc,CACpC,cAAe,gBACf,SAAU,CACNvB,IAAY,cAA8BiB,EAAG,IAACO,EAAmB,CAC7D,IAAKtB,EACL,WAAYQ,EACZ,MAAOW,CACvB,CAAa,EACDrB,IAAY,iBAAmBY,CAC3C,CACA,CAAK,CACL,CAAC,EACDxB,EAAqB,YAAc,uBAC9B,MAACqC,EAA4BnC,GAAQ,CACtC,MAAMoC,EAAaC,EAAqBrC,CAAK,EAC7C,OAAqB2B,EAAAA,IAAI7B,EAAsB,CAC3C,GAAGsC,CACX,CAAK,CACL","x_google_ignoreList":[0]}