Files
wdi-dashboard/node_modules/@chakra-ui/checkbox/dist/chunk-TOQK4WO2.mjs.map
2024-08-16 15:06:52 +05:30

1 line
3.4 KiB
Plaintext

{"version":3,"sources":["../src/use-checkbox-group.ts"],"sourcesContent":["import { useCallbackRef } from \"@chakra-ui/react-use-callback-ref\"\nimport { useControllableState } from \"@chakra-ui/react-use-controllable-state\"\nimport { isObject } from \"@chakra-ui/shared-utils\"\nimport { useCallback } from \"react\"\nimport { EventOrValue, UseCheckboxGroupProps } from \"./checkbox-types\"\n\nfunction isInputEvent(value: any): value is { target: HTMLInputElement } {\n return value && isObject(value) && isObject(value.target)\n}\n\n/**\n * React hook that provides all the state management logic\n * for a group of checkboxes.\n *\n * It is consumed by the `CheckboxGroup` component\n *\n * @see Docs https://chakra-ui.com/docs/hooks/use-checkbox-group\n * @see WAI-ARIA https://www.w3.org/WAI/ARIA/apg/patterns/checkbox/\n */\nexport function useCheckboxGroup(props: UseCheckboxGroupProps = {}) {\n const {\n defaultValue,\n value: valueProp,\n onChange,\n isDisabled,\n isNative,\n } = props\n\n const onChangeProp = useCallbackRef(onChange)\n\n const [value, setValue] = useControllableState({\n value: valueProp,\n defaultValue: defaultValue || [],\n onChange: onChangeProp,\n })\n\n const handleChange = useCallback(\n (eventOrValue: EventOrValue) => {\n if (!value) return\n\n const isChecked = isInputEvent(eventOrValue)\n ? eventOrValue.target.checked\n : !value.includes(eventOrValue)\n\n const selectedValue = isInputEvent(eventOrValue)\n ? eventOrValue.target.value\n : eventOrValue\n\n const nextValue = isChecked\n ? [...value, selectedValue]\n : value.filter((v) => String(v) !== String(selectedValue))\n\n setValue(nextValue)\n },\n [setValue, value],\n )\n\n const getCheckboxProps = useCallback(\n (props: Record<string, any> = {}) => {\n const checkedKey = isNative ? \"checked\" : \"isChecked\"\n return {\n ...props,\n [checkedKey]: value.some((val) => String(props.value) === String(val)),\n onChange: handleChange,\n }\n },\n [handleChange, isNative, value],\n )\n\n return {\n value,\n isDisabled,\n onChange: handleChange,\n setValue,\n getCheckboxProps,\n }\n}\n\nexport type UseCheckboxGroupReturn = ReturnType<typeof useCheckboxGroup>\n"],"mappings":";;;AAAA,SAAS,sBAAsB;AAC/B,SAAS,4BAA4B;AACrC,SAAS,gBAAgB;AACzB,SAAS,mBAAmB;AAG5B,SAAS,aAAa,OAAmD;AACvE,SAAO,SAAS,SAAS,KAAK,KAAK,SAAS,MAAM,MAAM;AAC1D;AAWO,SAAS,iBAAiB,QAA+B,CAAC,GAAG;AAClE,QAAM;AAAA,IACJ;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,eAAe,eAAe,QAAQ;AAE5C,QAAM,CAAC,OAAO,QAAQ,IAAI,qBAAqB;AAAA,IAC7C,OAAO;AAAA,IACP,cAAc,gBAAgB,CAAC;AAAA,IAC/B,UAAU;AAAA,EACZ,CAAC;AAED,QAAM,eAAe;AAAA,IACnB,CAAC,iBAA+B;AAC9B,UAAI,CAAC;AAAO;AAEZ,YAAM,YAAY,aAAa,YAAY,IACvC,aAAa,OAAO,UACpB,CAAC,MAAM,SAAS,YAAY;AAEhC,YAAM,gBAAgB,aAAa,YAAY,IAC3C,aAAa,OAAO,QACpB;AAEJ,YAAM,YAAY,YACd,CAAC,GAAG,OAAO,aAAa,IACxB,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,aAAa,CAAC;AAE3D,eAAS,SAAS;AAAA,IACpB;AAAA,IACA,CAAC,UAAU,KAAK;AAAA,EAClB;AAEA,QAAM,mBAAmB;AAAA,IACvB,CAACA,SAA6B,CAAC,MAAM;AACnC,YAAM,aAAa,WAAW,YAAY;AAC1C,aAAO;AAAA,QACL,GAAGA;AAAA,QACH,CAAC,UAAU,GAAG,MAAM,KAAK,CAAC,QAAQ,OAAOA,OAAM,KAAK,MAAM,OAAO,GAAG,CAAC;AAAA,QACrE,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,CAAC,cAAc,UAAU,KAAK;AAAA,EAChC;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,EACF;AACF;","names":["props"]}