UNPKG

ivt

Version:

Ivt Components Library

1 lines 15.6 kB
{"version":3,"file":"index.mjs","sources":["../../node_modules/@radix-ui/react-checkbox/dist/index.mjs","../../src/components/ui/checkbox/checkbox.tsx"],"sourcesContent":["\"use client\";\n\n// src/checkbox.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar CHECKBOX_NAME = \"Checkbox\";\nvar [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\nvar [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\nfunction CheckboxProvider(props) {\n const {\n __scopeCheckbox,\n checked: checkedProp,\n children,\n defaultChecked,\n disabled,\n form,\n name,\n onCheckedChange,\n required,\n value = \"on\",\n // @ts-expect-error\n internal_do_not_use_render\n } = props;\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: CHECKBOX_NAME\n });\n const [control, setControl] = React.useState(null);\n const [bubbleInput, setBubbleInput] = React.useState(null);\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = control ? !!form || !!control.closest(\"form\") : (\n // We set this to true by default so that events bubble to forms without JS (SSR)\n true\n );\n const context = {\n checked,\n disabled,\n setChecked,\n control,\n setControl,\n name,\n form,\n value,\n hasConsumerStoppedPropagationRef,\n required,\n defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n isFormControl,\n bubbleInput,\n setBubbleInput\n };\n return /* @__PURE__ */ jsx(\n CheckboxProviderImpl,\n {\n scope: __scopeCheckbox,\n ...context,\n children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children\n }\n );\n}\nvar TRIGGER_NAME = \"CheckboxTrigger\";\nvar CheckboxTrigger = React.forwardRef(\n ({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {\n const {\n control,\n value,\n disabled,\n checked,\n required,\n setControl,\n setChecked,\n hasConsumerStoppedPropagationRef,\n isFormControl,\n bubbleInput\n } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setControl);\n const initialCheckedStateRef = React.useRef(checked);\n React.useEffect(() => {\n const form = control?.form;\n if (form) {\n const reset = () => setChecked(initialCheckedStateRef.current);\n form.addEventListener(\"reset\", reset);\n return () => form.removeEventListener(\"reset\", reset);\n }\n }, [control, setChecked]);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"checkbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...checkboxProps,\n ref: composedRefs,\n onKeyDown: composeEventHandlers(onKeyDown, (event) => {\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onClick: composeEventHandlers(onClick, (event) => {\n setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);\n if (bubbleInput && isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n );\n }\n);\nCheckboxTrigger.displayName = TRIGGER_NAME;\nvar Checkbox = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeCheckbox,\n name,\n checked,\n defaultChecked,\n required,\n disabled,\n value,\n onCheckedChange,\n form,\n ...checkboxProps\n } = props;\n return /* @__PURE__ */ jsx(\n CheckboxProvider,\n {\n __scopeCheckbox,\n checked,\n defaultChecked,\n disabled,\n required,\n onCheckedChange,\n name,\n form,\n value,\n internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n CheckboxTrigger,\n {\n ...checkboxProps,\n ref: forwardedRef,\n __scopeCheckbox\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n CheckboxBubbleInput,\n {\n __scopeCheckbox\n }\n )\n ] })\n }\n );\n }\n);\nCheckbox.displayName = CHECKBOX_NAME;\nvar INDICATOR_NAME = \"CheckboxIndicator\";\nvar CheckboxIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(context.checked) || context.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef,\n style: { pointerEvents: \"none\", ...props.style }\n }\n )\n }\n );\n }\n);\nCheckboxIndicator.displayName = INDICATOR_NAME;\nvar BUBBLE_INPUT_NAME = \"CheckboxBubbleInput\";\nvar CheckboxBubbleInput = React.forwardRef(\n ({ __scopeCheckbox, ...props }, forwardedRef) => {\n const {\n control,\n hasConsumerStoppedPropagationRef,\n checked,\n defaultChecked,\n required,\n disabled,\n name,\n value,\n form,\n bubbleInput,\n setBubbleInput\n } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = bubbleInput;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n \"checked\"\n );\n const setChecked = descriptor.set;\n const bubbles = !hasConsumerStoppedPropagationRef.current;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n input.indeterminate = isIndeterminate(checked);\n setChecked.call(input, isIndeterminate(checked) ? false : checked);\n input.dispatchEvent(event);\n }\n }, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);\n const defaultCheckedRef = React.useRef(isIndeterminate(checked) ? false : checked);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n required,\n disabled,\n name,\n value,\n form,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0,\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n transform: \"translateX(-100%)\"\n }\n }\n );\n }\n);\nCheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nexport {\n Checkbox,\n CheckboxIndicator,\n CheckboxIndicator as Indicator,\n Checkbox as Root,\n createCheckboxScope,\n CheckboxBubbleInput as unstable_BubbleInput,\n CheckboxBubbleInput as unstable_CheckboxBubbleInput,\n CheckboxProvider as unstable_CheckboxProvider,\n CheckboxTrigger as unstable_CheckboxTrigger,\n CheckboxProvider as unstable_Provider,\n CheckboxTrigger as unstable_Trigger\n};\n//# sourceMappingURL=index.mjs.map\n","import { cn } from \"@/lib/utils\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon } from \"lucide-react\";\nimport React from \"react\";\n\nfunction Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n\treturn (\n\t\t<CheckboxPrimitive.Root\n\t\t\tdata-slot=\"checkbox\"\n\t\t\tclassName={cn(\n\t\t\t\t\"peer border-primary focus-visible:ring-ring data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground h-4 w-4 shrink-0 rounded-sm border shadow focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<CheckboxPrimitive.Indicator\n\t\t\t\tdata-slot=\"checkbox-indicator\"\n\t\t\t\tclassName={cn(\"flex items-center justify-center text-current\")}\n\t\t\t>\n\t\t\t\t{props.children ? props.children : <CheckIcon className=\"h-4 w-4\" />}\n\t\t\t</CheckboxPrimitive.Indicator>\n\t\t</CheckboxPrimitive.Root>\n\t);\n}\n\nexport { Checkbox };\n"],"names":["CHECKBOX_NAME","createCheckboxContext","createCheckboxScope","createContextScope","CheckboxProviderImpl","useCheckboxContext","CheckboxProvider","props","__scopeCheckbox","checked","checkedProp","children","defaultChecked","disabled","form","name","onCheckedChange","required","value","internal_do_not_use_render","setChecked","useControllableState","prop","defaultProp","onChange","caller","control","setControl","React","useState","bubbleInput","setBubbleInput","hasConsumerStoppedPropagationRef","useRef","isFormControl","closest","context","isIndeterminate","jsx","scope","isFunction","TRIGGER_NAME","CheckboxTrigger","forwardRef","onKeyDown","onClick","checkboxProps","forwardedRef","composedRefs","useComposedRefs","initialCheckedStateRef","useEffect","reset","current","addEventListener","removeEventListener","Primitive","button","type","role","getState","ref","composeEventHandlers","event","key","preventDefault","prevChecked","isPropagationStopped","stopPropagation","displayName","Checkbox","jsxs","Fragment","CheckboxBubbleInput","INDICATOR_NAME","CheckboxIndicator","forceMount","indicatorProps","Presence","present","span","style","pointerEvents","BUBBLE_INPUT_NAME","usePrevious","controlSize","useSize","input","inputProto","window","HTMLInputElement","prototype","Object","getOwnPropertyDescriptor","set","bubbles","Event","indeterminate","call","dispatchEvent","defaultCheckedRef","tabIndex","position","opacity","margin","transform","className","createElement","CheckboxPrimitive","data-slot","cn","CheckIcon"],"mappings":"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","x_google_ignoreList":[0]}