{"version":3,"sources":["../../registry/default/ui/checkbox.tsx","../../../../node_modules/.pnpm/@babel+runtime@7.22.3/node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/.pnpm/@radix-ui+react-compose-refs@1.0.1_@types+react@18.2.65_react@18.2.0/node_modules/@radix-ui/react-compose-refs/dist/packages/react/compose-refs/src/composeRefs.tsx","../../../../node_modules/.pnpm/@radix-ui+react-context@1.0.1_@types+react@18.2.65_react@18.2.0/node_modules/@radix-ui/react-context/dist/packages/react/context/src/createContext.tsx","../../../../node_modules/.pnpm/@radix-ui+primitive@1.0.1/node_modules/@radix-ui/primitive/dist/packages/core/primitive/src/primitive.tsx","../../../../node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.0.1_@types+react@18.2.65_react@18.2.0/node_modules/@radix-ui/react-use-callback-ref/dist/packages/react/use-callback-ref/src/useCallbackRef.tsx","../../../../node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.0.1_@types+react@18.2.65_react@18.2.0/node_modules/@radix-ui/react-use-controllable-state/dist/packages/react/use-controllable-state/src/useControllableState.tsx","../../../../node_modules/.pnpm/@radix-ui+react-use-previous@1.0.1_@types+react@18.2.65_react@18.2.0/node_modules/@radix-ui/react-use-previous/dist/packages/react/use-previous/src/usePrevious.tsx","../../../../node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.0.1_@types+react@18.2.65_react@18.2.0/node_modules/@radix-ui/react-use-layout-effect/dist/packages/react/use-layout-effect/src/useLayoutEffect.tsx","../../../../node_modules/.pnpm/@radix-ui+react-use-size@1.0.1_@types+react@18.2.65_react@18.2.0/node_modules/@radix-ui/react-use-size/dist/packages/react/use-size/src/useSize.tsx","../../../../node_modules/.pnpm/@radix-ui+react-presence@1.0.1_@types+react-dom@18.2.22_@types+react@18.2.65_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-presence/dist/packages/react/presence/src/useStateMachine.tsx","../../../../node_modules/.pnpm/@radix-ui+react-presence@1.0.1_@types+react-dom@18.2.22_@types+react@18.2.65_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-presence/dist/packages/react/presence/src/Presence.tsx","../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/extends.js","../../../../node_modules/.pnpm/@radix-ui+react-slot@1.0.2_@types+react@18.2.65_react@18.2.0/node_modules/@radix-ui/react-slot/dist/packages/react/slot/src/Slot.tsx","../../../../node_modules/.pnpm/@radix-ui+react-primitive@1.0.3_@types+react-dom@18.2.22_@types+react@18.2.65_react-dom@18.2._c26rkpxnhr3o57o2cowwo23hui/node_modules/@radix-ui/react-primitive/dist/packages/react/primitive/src/Primitive.tsx","../../../../node_modules/.pnpm/@radix-ui+react-checkbox@1.0.4_@types+react-dom@18.2.22_@types+react@18.2.65_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-checkbox/dist/packages/react/checkbox/src/Checkbox.tsx","../../lib/utils.ts"],"names":["checkbox_exports","__export","Checkbox","__toCommonJS","React","_extends","target","i","source","key","setRef","ref","value","current","composeRefs","refs","node","forEach","useComposedRefs","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createContext","rootComponentName","defaultContext","BaseContext","index","length","Provider","props","scope","children","context","Context","Object","values","$3bkAK$createElement","useContext","consumerName","undefined","Error","displayName","createScope","scopeContexts","map","contexts","composeContextScopes","scopes","baseScope","scopeHooks","useScope","overrideScopes","nextScopes","reduce","currentScope","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","defaultPrevented","useCallbackRef","callback","callbackRef","args","_callbackRef$current","useControllableState","prop","defaultProp","onChange","uncontrolledProp","setUncontrolledProp","useUncontrolledState","isControlled","handleChange","setValue","nextValue","uncontrolledState","prevValueRef","usePrevious","previous","useLayoutEffect","globalThis","document","useSize","element","size","setSize","width","offsetWidth","height","offsetHeight","resizeObserver","ResizeObserver","entries","Array","isArray","entry","borderSizeEntry","borderSize","observe","box","unobserve","useStateMachine","initialState","machine","state","nextState","Presence","present","presence","usePresence","child","isPresent","only","setNode","stylesRef","prevPresentRef","prevAnimationNameRef","send","mounted","UNMOUNT","ANIMATION_OUT","unmountSuspended","MOUNT","ANIMATION_END","unmounted","currentAnimationName","getAnimationName","styles","wasPresent","prevAnimationName","display","handleAnimationEnd","isCurrentAnimation","includes","animationName","ReactDOM","handleAnimationStart","addEventListener","removeEventListener","getComputedStyle","Slot","forwardedRef","slotProps","childrenArray","toArray","slottable","find","isSlottable","newElement","newChildren","count","$9IrjX$createElement","$5e63c961fc1ce211$var$SlotClone","SlotClone","mergeProps","Slottable","$9IrjX$Fragment","type","childProps","overrideProps","propName","slotPropValue","childPropValue","test","filter","Boolean","join","NODES","Primitive","primitive","Node","asChild","primitiveProps","Comp","window","Symbol","for","$4q5Fq$createElement","CHECKBOX_NAME","createCheckboxContext","createCheckboxScope","CheckboxProvider","useCheckboxContext","__scopeCheckbox","name","checked","checkedProp","defaultChecked","required","disabled","onCheckedChange","checkboxProps","button","setButton","composedRefs","hasConsumerStoppedPropagationRef","isFormControl","closest","setChecked","initialCheckedStateRef","form","reset","$1bpvS$createElement","$e698a72e93240346$var$CheckboxProvider","$8927f6f2acc4f386$export$250ffa63cdc0d034","isIndeterminate","getState","onKeyDown","preventDefault","onClick","prevChecked","isPropagationStopped","stopPropagation","$e698a72e93240346$var$BubbleInput","transform","INDICATOR_NAME","CheckboxIndicator","forceMount","indicatorProps","$921a889cee6df7e8$export$99c2b779aa4e8b8b","pointerEvents","style","BubbleInput","control","bubbles","inputProps","controlSize","input","inputProto","HTMLInputElement","prototype","getOwnPropertyDescriptor","set","Event","indeterminate","call","dispatchEvent","position","opacity","margin","Root","Indicator","import_lucide_react","import_clsx","import_tailwind_merge","cn","inputs","import_jsx_runtime","className","$e698a72e93240346$export$be92b6f5f03c0fe9","$e698a72e93240346$export$adb584737d712b70"],"mappings":"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","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { Check } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst Checkbox = React.forwardRef<\n  React.ElementRef<typeof CheckboxPrimitive.Root>,\n  React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n  <CheckboxPrimitive.Root\n    ref={ref}\n    className={cn(\n      \"peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\",\n      className\n    )}\n    {...props}\n  >\n    <CheckboxPrimitive.Indicator\n      className={cn(\"flex items-center justify-center text-current\")}\n    >\n      <Check className=\"h-4 w-4\" />\n    </CheckboxPrimitive.Indicator>\n  </CheckboxPrimitive.Root>\n))\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport { Checkbox }\n","export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","import * as React from 'react';\n\ntype PossibleRef<T> = React.Ref<T> | undefined;\n\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */\nfunction setRef<T>(ref: PossibleRef<T>, value: T) {\n  if (typeof ref === 'function') {\n    ref(value);\n  } else if (ref !== null && ref !== undefined) {\n    (ref as React.MutableRefObject<T>).current = value;\n  }\n}\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */\nfunction composeRefs<T>(...refs: PossibleRef<T>[]) {\n  return (node: T) => refs.forEach((ref) => setRef(ref, node));\n}\n\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */\nfunction useComposedRefs<T>(...refs: PossibleRef<T>[]) {\n  // eslint-disable-next-line react-hooks/exhaustive-deps\n  return React.useCallback(composeRefs(...refs), refs);\n}\n\nexport { composeRefs, useComposedRefs };\n","import * as React from 'react';\n\nfunction createContext<ContextValueType extends object | null>(\n  rootComponentName: string,\n  defaultContext?: ContextValueType\n) {\n  const Context = React.createContext<ContextValueType | undefined>(defaultContext);\n\n  function Provider(props: ContextValueType & { children: React.ReactNode }) {\n    const { children, ...context } = props;\n    // Only re-memoize when prop values change\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    const value = React.useMemo(() => context, Object.values(context)) as ContextValueType;\n    return <Context.Provider value={value}>{children}</Context.Provider>;\n  }\n\n  function useContext(consumerName: string) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== undefined) return defaultContext;\n    // if a defaultContext wasn't specified, it's a required context.\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n\n  Provider.displayName = rootComponentName + 'Provider';\n  return [Provider, useContext] as const;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * createContextScope\n * -----------------------------------------------------------------------------------------------*/\n\ntype Scope<C = any> = { [scopeName: string]: React.Context<C>[] } | undefined;\ntype ScopeHook = (scope: Scope) => { [__scopeProp: string]: Scope };\ninterface CreateScope {\n  scopeName: string;\n  (): ScopeHook;\n}\n\nfunction createContextScope(scopeName: string, createContextScopeDeps: CreateScope[] = []) {\n  let defaultContexts: any[] = [];\n\n  /* -----------------------------------------------------------------------------------------------\n   * createContext\n   * ---------------------------------------------------------------------------------------------*/\n\n  function createContext<ContextValueType extends object | null>(\n    rootComponentName: string,\n    defaultContext?: ContextValueType\n  ) {\n    const BaseContext = React.createContext<ContextValueType | undefined>(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n\n    function Provider(\n      props: ContextValueType & { scope: Scope<ContextValueType>; children: React.ReactNode }\n    ) {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName][index] || BaseContext;\n      // Only re-memoize when prop values change\n      // eslint-disable-next-line react-hooks/exhaustive-deps\n      const value = React.useMemo(() => context, Object.values(context)) as ContextValueType;\n      return <Context.Provider value={value}>{children}</Context.Provider>;\n    }\n\n    function useContext(consumerName: string, scope: Scope<ContextValueType | undefined>) {\n      const Context = scope?.[scopeName][index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== undefined) return defaultContext;\n      // if a defaultContext wasn't specified, it's a required context.\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n\n    Provider.displayName = rootComponentName + 'Provider';\n    return [Provider, useContext] as const;\n  }\n\n  /* -----------------------------------------------------------------------------------------------\n   * createScope\n   * ---------------------------------------------------------------------------------------------*/\n\n  const createScope: CreateScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope: Scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n\n  createScope.scopeName = scopeName;\n  return [createContext, composeContextScopes(createScope, ...createContextScopeDeps)] as const;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * composeContextScopes\n * -----------------------------------------------------------------------------------------------*/\n\nfunction composeContextScopes(...scopes: CreateScope[]) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n\n  const createScope: CreateScope = () => {\n    const scopeHooks = scopes.map((createScope) => ({\n      useScope: createScope(),\n      scopeName: createScope.scopeName,\n    }));\n\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes, { useScope, scopeName }) => {\n        // We are calling a hook inside a callback which React warns against to avoid inconsistent\n        // renders, however, scoping doesn't have render side effects so we ignore the rule.\n        // eslint-disable-next-line react-hooks/rules-of-hooks\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes, ...currentScope };\n      }, {});\n\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nexport { createContext, createContextScope };\nexport type { CreateScope, Scope };\n","function composeEventHandlers<E>(\n  originalEventHandler?: (event: E) => void,\n  ourEventHandler?: (event: E) => void,\n  { checkForDefaultPrevented = true } = {}\n) {\n  return function handleEvent(event: E) {\n    originalEventHandler?.(event);\n\n    if (checkForDefaultPrevented === false || !((event as unknown) as Event).defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\n\nexport { composeEventHandlers };\n","import * as React from 'react';\n\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */\nfunction useCallbackRef<T extends (...args: any[]) => any>(callback: T | undefined): T {\n  const callbackRef = React.useRef(callback);\n\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n\n  // https://github.com/facebook/react/issues/19240\n  return React.useMemo(() => ((...args) => callbackRef.current?.(...args)) as T, []);\n}\n\nexport { useCallbackRef };\n","import * as React from 'react';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\n\ntype UseControllableStateParams<T> = {\n  prop?: T | undefined;\n  defaultProp?: T | undefined;\n  onChange?: (state: T) => void;\n};\n\ntype SetStateFn<T> = (prevState?: T) => T;\n\nfunction useControllableState<T>({\n  prop,\n  defaultProp,\n  onChange = () => {},\n}: UseControllableStateParams<T>) {\n  const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n  const isControlled = prop !== undefined;\n  const value = isControlled ? prop : uncontrolledProp;\n  const handleChange = useCallbackRef(onChange);\n\n  const setValue: React.Dispatch<React.SetStateAction<T | undefined>> = React.useCallback(\n    (nextValue) => {\n      if (isControlled) {\n        const setter = nextValue as SetStateFn<T>;\n        const value = typeof nextValue === 'function' ? setter(prop) : nextValue;\n        if (value !== prop) handleChange(value as T);\n      } else {\n        setUncontrolledProp(nextValue);\n      }\n    },\n    [isControlled, prop, setUncontrolledProp, handleChange]\n  );\n\n  return [value, setValue] as const;\n}\n\nfunction useUncontrolledState<T>({\n  defaultProp,\n  onChange,\n}: Omit<UseControllableStateParams<T>, 'prop'>) {\n  const uncontrolledState = React.useState<T | undefined>(defaultProp);\n  const [value] = uncontrolledState;\n  const prevValueRef = React.useRef(value);\n  const handleChange = useCallbackRef(onChange);\n\n  React.useEffect(() => {\n    if (prevValueRef.current !== value) {\n      handleChange(value as T);\n      prevValueRef.current = value;\n    }\n  }, [value, prevValueRef, handleChange]);\n\n  return uncontrolledState;\n}\n\nexport { useControllableState };\n","import * as React from 'react';\n\nfunction usePrevious<T>(value: T) {\n  const ref = React.useRef({ value, previous: value });\n\n  // We compare values before making an update to ensure that\n  // a change has been made. This ensures the previous value is\n  // persisted correctly between renders.\n  return React.useMemo(() => {\n    if (ref.current.value !== value) {\n      ref.current.previous = ref.current.value;\n      ref.current.value = value;\n    }\n    return ref.current.previous;\n  }, [value]);\n}\n\nexport { usePrevious };\n","import * as React from 'react';\n\n/**\n * On the server, React emits a warning when calling `useLayoutEffect`.\n * This is because neither `useLayoutEffect` nor `useEffect` run on the server.\n * We use this safe version which suppresses the warning by replacing it with a noop on the server.\n *\n * See: https://reactjs.org/docs/hooks-reference.html#uselayouteffect\n */\nconst useLayoutEffect = Boolean(globalThis?.document) ? React.useLayoutEffect : () => {};\n\nexport { useLayoutEffect };\n","/// <reference types=\"resize-observer-browser\" />\n\nimport * as React from 'react';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\n\nfunction useSize(element: HTMLElement | null) {\n  const [size, setSize] = React.useState<{ width: number; height: number } | undefined>(undefined);\n\n  useLayoutEffect(() => {\n    if (element) {\n      // provide size as early as possible\n      setSize({ width: element.offsetWidth, height: element.offsetHeight });\n\n      const resizeObserver = new ResizeObserver((entries) => {\n        if (!Array.isArray(entries)) {\n          return;\n        }\n\n        // Since we only observe the one element, we don't need to loop over the\n        // array\n        if (!entries.length) {\n          return;\n        }\n\n        const entry = entries[0];\n        let width: number;\n        let height: number;\n\n        if ('borderBoxSize' in entry) {\n          const borderSizeEntry = entry['borderBoxSize'];\n          // iron out differences between browsers\n          const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n          width = borderSize['inlineSize'];\n          height = borderSize['blockSize'];\n        } else {\n          // for browsers that don't support `borderBoxSize`\n          // we calculate it ourselves to get the correct border box.\n          width = element.offsetWidth;\n          height = element.offsetHeight;\n        }\n\n        setSize({ width, height });\n      });\n\n      resizeObserver.observe(element, { box: 'border-box' });\n\n      return () => resizeObserver.unobserve(element);\n    } else {\n      // We only want to reset to `undefined` when the element becomes `null`,\n      // not if it changes to another element.\n      setSize(undefined);\n    }\n  }, [element]);\n\n  return size;\n}\n\nexport { useSize };\n","import * as React from 'react';\n\ntype Machine<S> = { [k: string]: { [k: string]: S } };\ntype MachineState<T> = keyof T;\ntype MachineEvent<T> = keyof UnionToIntersection<T[keyof T]>;\n\n// 🤯 https://fettblog.eu/typescript-union-to-intersection/\ntype UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer R) => any\n  ? R\n  : never;\n\nexport function useStateMachine<M>(\n  initialState: MachineState<M>,\n  machine: M & Machine<MachineState<M>>\n) {\n  return React.useReducer((state: MachineState<M>, event: MachineEvent<M>): MachineState<M> => {\n    const nextState = (machine[state] as any)[event];\n    return nextState ?? state;\n  }, initialState);\n}\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useStateMachine } from './useStateMachine';\n\ninterface PresenceProps {\n  children: React.ReactElement | ((props: { present: boolean }) => React.ReactElement);\n  present: boolean;\n}\n\nconst Presence: React.FC<PresenceProps> = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n\n  const child = (\n    typeof children === 'function'\n      ? children({ present: presence.isPresent })\n      : React.Children.only(children)\n  ) as React.ReactElement;\n\n  const ref = useComposedRefs(presence.ref, (child as any).ref);\n  const forceMount = typeof children === 'function';\n  return forceMount || presence.isPresent ? React.cloneElement(child, { ref }) : null;\n};\n\nPresence.displayName = 'Presence';\n\n/* -------------------------------------------------------------------------------------------------\n * usePresence\n * -----------------------------------------------------------------------------------------------*/\n\nfunction usePresence(present: boolean) {\n  const [node, setNode] = React.useState<HTMLElement>();\n  const stylesRef = React.useRef<CSSStyleDeclaration>({} as any);\n  const prevPresentRef = React.useRef(present);\n  const prevAnimationNameRef = React.useRef<string>('none');\n  const initialState = present ? 'mounted' : 'unmounted';\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: 'unmounted',\n      ANIMATION_OUT: 'unmountSuspended',\n    },\n    unmountSuspended: {\n      MOUNT: 'mounted',\n      ANIMATION_END: 'unmounted',\n    },\n    unmounted: {\n      MOUNT: 'mounted',\n    },\n  });\n\n  React.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === 'mounted' ? currentAnimationName : 'none';\n  }, [state]);\n\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n\n      if (present) {\n        send('MOUNT');\n      } else if (currentAnimationName === 'none' || styles?.display === 'none') {\n        // If there is no exit animation or the element is hidden, animations won't run\n        // so we unmount instantly\n        send('UNMOUNT');\n      } else {\n        /**\n         * When `present` changes to `false`, we check changes to animation-name to\n         * determine whether an animation has started. We chose this approach (reading\n         * computed styles) because there is no `animationrun` event and `animationstart`\n         * fires after `animation-delay` has expired which would be too late.\n         */\n        const isAnimating = prevAnimationName !== currentAnimationName;\n\n        if (wasPresent && isAnimating) {\n          send('ANIMATION_OUT');\n        } else {\n          send('UNMOUNT');\n        }\n      }\n\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n\n  useLayoutEffect(() => {\n    if (node) {\n      /**\n       * Triggering an ANIMATION_OUT during an ANIMATION_IN will fire an `animationcancel`\n       * event for ANIMATION_IN after we have entered `unmountSuspended` state. So, we\n       * make sure we only trigger ANIMATION_END for the currently active animation.\n       */\n      const handleAnimationEnd = (event: AnimationEvent) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n        if (event.target === node && isCurrentAnimation) {\n          // With React 18 concurrency this update is applied\n          // a frame after the animation ends, creating a flash of visible content.\n          // By manually flushing we ensure they sync within a frame, removing the flash.\n          ReactDOM.flushSync(() => send('ANIMATION_END'));\n        }\n      };\n      const handleAnimationStart = (event: AnimationEvent) => {\n        if (event.target === node) {\n          // if animation occurred, store its name as the previous animation.\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener('animationstart', handleAnimationStart);\n      node.addEventListener('animationcancel', handleAnimationEnd);\n      node.addEventListener('animationend', handleAnimationEnd);\n      return () => {\n        node.removeEventListener('animationstart', handleAnimationStart);\n        node.removeEventListener('animationcancel', handleAnimationEnd);\n        node.removeEventListener('animationend', handleAnimationEnd);\n      };\n    } else {\n      // Transition to the unmounted state if the node is removed prematurely.\n      // We avoid doing so during cleanup as the node may change but still exist.\n      send('ANIMATION_END');\n    }\n  }, [node, send]);\n\n  return {\n    isPresent: ['mounted', 'unmountSuspended'].includes(state),\n    ref: React.useCallback((node: HTMLElement) => {\n      if (node) stylesRef.current = getComputedStyle(node);\n      setNode(node);\n    }, []),\n  };\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getAnimationName(styles?: CSSStyleDeclaration) {\n  return styles?.animationName || 'none';\n}\n\nexport { Presence };\nexport type { PresenceProps };\n","export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","import * as React from 'react';\nimport { composeRefs } from '@radix-ui/react-compose-refs';\n\n/* -------------------------------------------------------------------------------------------------\n * Slot\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SlotProps extends React.HTMLAttributes<HTMLElement> {\n  children?: React.ReactNode;\n}\n\nconst Slot = React.forwardRef<HTMLElement, SlotProps>((props, forwardedRef) => {\n  const { children, ...slotProps } = props;\n  const childrenArray = React.Children.toArray(children);\n  const slottable = childrenArray.find(isSlottable);\n\n  if (slottable) {\n    // the new element to render is the one passed as a child of `Slottable`\n    const newElement = slottable.props.children as React.ReactNode;\n\n    const newChildren = childrenArray.map((child) => {\n      if (child === slottable) {\n        // because the new element will be the one rendered, we are only interested\n        // in grabbing its children (`newElement.props.children`)\n        if (React.Children.count(newElement) > 1) return React.Children.only(null);\n        return React.isValidElement(newElement)\n          ? (newElement.props.children as React.ReactNode)\n          : null;\n      } else {\n        return child;\n      }\n    });\n\n    return (\n      <SlotClone {...slotProps} ref={forwardedRef}>\n        {React.isValidElement(newElement)\n          ? React.cloneElement(newElement, undefined, newChildren)\n          : null}\n      </SlotClone>\n    );\n  }\n\n  return (\n    <SlotClone {...slotProps} ref={forwardedRef}>\n      {children}\n    </SlotClone>\n  );\n});\n\nSlot.displayName = 'Slot';\n\n/* -------------------------------------------------------------------------------------------------\n * SlotClone\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SlotCloneProps {\n  children: React.ReactNode;\n}\n\nconst SlotClone = React.forwardRef<any, SlotCloneProps>((props, forwardedRef) => {\n  const { children, ...slotProps } = props;\n\n  if (React.isValidElement(children)) {\n    return React.cloneElement(children, {\n      ...mergeProps(slotProps, children.props),\n      ref: forwardedRef ? composeRefs(forwardedRef, (children as any).ref) : (children as any).ref,\n    });\n  }\n\n  return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\n\nSlotClone.displayName = 'SlotClone';\n\n/* -------------------------------------------------------------------------------------------------\n * Slottable\n * -----------------------------------------------------------------------------------------------*/\n\nconst Slottable = ({ children }: { children: React.ReactNode }) => {\n  return <>{children}</>;\n};\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype AnyProps = Record<string, any>;\n\nfunction isSlottable(child: React.ReactNode): child is React.ReactElement {\n  return React.isValidElement(child) && child.type === Slottable;\n}\n\nfunction mergeProps(slotProps: AnyProps, childProps: AnyProps) {\n  // all child props should override\n  const overrideProps = { ...childProps };\n\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      // if the handler exists on both, we compose them\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args: unknown[]) => {\n          childPropValue(...args);\n          slotPropValue(...args);\n        };\n      }\n      // but if it exists only on the slot, we use only this one\n      else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    }\n    // if it's `style`, we merge them\n    else if (propName === 'style') {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === 'className') {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(' ');\n    }\n  }\n\n  return { ...slotProps, ...overrideProps };\n}\n\nconst Root = Slot;\n\nexport {\n  Slot,\n  Slottable,\n  //\n  Root,\n};\nexport type { SlotProps };\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { Slot } from '@radix-ui/react-slot';\n\nconst NODES = [\n  'a',\n  'button',\n  'div',\n  'form',\n  'h2',\n  'h3',\n  'img',\n  'input',\n  'label',\n  'li',\n  'nav',\n  'ol',\n  'p',\n  'span',\n  'svg',\n  'ul',\n] as const;\n\n// Temporary while we await merge of this fix:\n// https://github.com/DefinitelyTyped/DefinitelyTyped/pull/55396\n// prettier-ignore\ntype PropsWithoutRef<P> = P extends any ? ('ref' extends keyof P ? Pick<P, Exclude<keyof P, 'ref'>> : P) : P;\ntype ComponentPropsWithoutRef<T extends React.ElementType> = PropsWithoutRef<\n  React.ComponentProps<T>\n>;\n\ntype Primitives = { [E in typeof NODES[number]]: PrimitiveForwardRefComponent<E> };\ntype PrimitivePropsWithRef<E extends React.ElementType> = React.ComponentPropsWithRef<E> & {\n  asChild?: boolean;\n};\n\ninterface PrimitiveForwardRefComponent<E extends React.ElementType>\n  extends React.ForwardRefExoticComponent<PrimitivePropsWithRef<E>> {}\n\n/* -------------------------------------------------------------------------------------------------\n * Primitive\n * -----------------------------------------------------------------------------------------------*/\n\nconst Primitive = NODES.reduce((primitive, node) => {\n  const Node = React.forwardRef((props: PrimitivePropsWithRef<typeof node>, forwardedRef: any) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp: any = asChild ? Slot : node;\n\n    React.useEffect(() => {\n      (window as any)[Symbol.for('radix-ui')] = true;\n    }, []);\n\n    return <Comp {...primitiveProps} ref={forwardedRef} />;\n  });\n\n  Node.displayName = `Primitive.${node}`;\n\n  return { ...primitive, [node]: Node };\n}, {} as Primitives);\n\n/* -------------------------------------------------------------------------------------------------\n * Utils\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * Flush custom event dispatch\n * https://github.com/radix-ui/primitives/pull/1378\n *\n * React batches *all* event handlers since version 18, this introduces certain considerations when using custom event types.\n *\n * Internally, React prioritises events in the following order:\n *  - discrete\n *  - continuous\n *  - default\n *\n * https://github.com/facebook/react/blob/a8a4742f1c54493df00da648a3f9d26e3db9c8b5/packages/react-dom/src/events/ReactDOMEventListener.js#L294-L350\n *\n * `discrete` is an  important distinction as updates within these events are applied immediately.\n * React however, is not able to infer the priority of custom event types due to how they are detected internally.\n * Because of this, it's possible for updates from custom events to be unexpectedly batched when\n * dispatched by another `discrete` event.\n *\n * In order to ensure that updates from custom events are applied predictably, we need to manually flush the batch.\n * This utility should be used when dispatching a custom event from within another `discrete` event, this utility\n * is not nessesary when dispatching known event types, or if dispatching a custom type inside a non-discrete event.\n * For example:\n *\n * dispatching a known click 👎\n * target.dispatchEvent(new Event(‘click’))\n *\n * dispatching a custom type within a non-discrete event 👎\n * onScroll={(event) => event.target.dispatchEvent(new CustomEvent(‘customType’))}\n *\n * dispatching a custom type within a `discrete` event 👍\n * onPointerDown={(event) => dispatchDiscreteCustomEvent(event.target, new CustomEvent(‘customType’))}\n *\n * Note: though React classifies `focus`, `focusin` and `focusout` events as `discrete`, it's  not recommended to use\n * this utility with them. This is because it's possible for those handlers to be called implicitly during render\n * e.g. when focus is within a component as it is unmounted, or when managing focus on mount.\n */\n\nfunction dispatchDiscreteCustomEvent<E extends CustomEvent>(target: E['target'], event: E) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Primitive;\n\nexport {\n  Primitive,\n  //\n  Root,\n  //\n  dispatchDiscreteCustomEvent,\n};\nexport type { ComponentPropsWithoutRef, PrimitivePropsWithRef };\n","import * 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';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Checkbox\n * -----------------------------------------------------------------------------------------------*/\n\nconst CHECKBOX_NAME = 'Checkbox';\n\ntype ScopedProps<P> = P & { __scopeCheckbox?: Scope };\nconst [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\n\ntype CheckedState = boolean | 'indeterminate';\n\ntype CheckboxContextValue = {\n  state: CheckedState;\n  disabled?: boolean;\n};\n\nconst [CheckboxProvider, useCheckboxContext] =\n  createCheckboxContext<CheckboxContextValue>(CHECKBOX_NAME);\n\ntype CheckboxElement = React.ElementRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = Radix.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface CheckboxProps extends Omit<PrimitiveButtonProps, 'checked' | 'defaultChecked'> {\n  checked?: CheckedState;\n  defaultChecked?: CheckedState;\n  required?: boolean;\n  onCheckedChange?(checked: CheckedState): void;\n}\n\nconst Checkbox = React.forwardRef<CheckboxElement, CheckboxProps>(\n  (props: ScopedProps<CheckboxProps>, forwardedRef) => {\n    const {\n      __scopeCheckbox,\n      name,\n      checked: checkedProp,\n      defaultChecked,\n      required,\n      disabled,\n      value = 'on',\n      onCheckedChange,\n      ...checkboxProps\n    } = props;\n    const [button, setButton] = React.useState<HTMLButtonElement | null>(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n    const hasConsumerStoppedPropagationRef = React.useRef(false);\n    // We set this to true by default so that events bubble to forms without JS (SSR)\n    const isFormControl = button ? Boolean(button.closest('form')) : true;\n    const [checked = false, setChecked] = useControllableState({\n      prop: checkedProp,\n      defaultProp: defaultChecked,\n      onChange: onCheckedChange,\n    });\n    const initialCheckedStateRef = React.useRef(checked);\n    React.useEffect(() => {\n      const form = button?.form;\n      if (form) {\n        const reset = () => setChecked(initialCheckedStateRef.current);\n        form.addEventListener('reset', reset);\n        return () => form.removeEventListener('reset', reset);\n      }\n    }, [button, setChecked]);\n\n    return (\n      <CheckboxProvider scope={__scopeCheckbox} state={checked} disabled={disabled}>\n        <Primitive.button\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 ? '' : undefined}\n          disabled={disabled}\n          value={value}\n          {...checkboxProps}\n          ref={composedRefs}\n          onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n            // According to WAI ARIA, Checkboxes don't activate on enter keypress\n            if (event.key === 'Enter') event.preventDefault();\n          })}\n          onClick={composeEventHandlers(props.onClick, (event) => {\n            setChecked((prevChecked) => (isIndeterminate(prevChecked) ? true : !prevChecked));\n            if (isFormControl) {\n              hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n              // if checkbox is in a form, stop propagation from the button so that we only propagate\n              // one click event (from the input). We propagate changes from an input so that native\n              // form validation works and form events reflect checkbox updates.\n              if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n            }\n          })}\n        />\n        {isFormControl && (\n          <BubbleInput\n            control={button}\n            bubbles={!hasConsumerStoppedPropagationRef.current}\n            name={name}\n            value={value}\n            checked={checked}\n            required={required}\n            disabled={disabled}\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            style={{ transform: 'translateX(-100%)' }}\n          />\n        )}\n      </CheckboxProvider>\n    );\n  }\n);\n\nCheckbox.displayName = CHECKBOX_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * CheckboxIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'CheckboxIndicator';\n\ntype CheckboxIndicatorElement = React.ElementRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = Radix.ComponentPropsWithoutRef<typeof Primitive.span>;\ninterface CheckboxIndicatorProps extends PrimitiveSpanProps {\n  /**\n   * Used to force mounting when more control is needed. Useful when\n   * controlling animation with React animation libraries.\n   */\n  forceMount?: true;\n}\n\nconst CheckboxIndicator = React.forwardRef<CheckboxIndicatorElement, CheckboxIndicatorProps>(\n  (props: ScopedProps<CheckboxIndicatorProps>, forwardedRef) => {\n    const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n    const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n    return (\n      <Presence present={forceMount || isIndeterminate(context.state) || context.state === true}>\n        <Primitive.span\n          data-state={getState(context.state)}\n          data-disabled={context.disabled ? '' : undefined}\n          {...indicatorProps}\n          ref={forwardedRef}\n          style={{ pointerEvents: 'none', ...props.style }}\n        />\n      </Presence>\n    );\n  }\n);\n\nCheckboxIndicator.displayName = INDICATOR_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype InputProps = Radix.ComponentPropsWithoutRef<'input'>;\ninterface BubbleInputProps extends Omit<InputProps, 'checked'> {\n  checked: CheckedState;\n  control: HTMLElement | null;\n  bubbles: boolean;\n}\n\nconst BubbleInput = (props: BubbleInputProps) => {\n  const { control, checked, bubbles = true, ...inputProps } = props;\n  const ref = React.useRef<HTMLInputElement>(null);\n  const prevChecked = usePrevious(checked);\n  const controlSize = useSize(control);\n\n  // Bubble checked change to parents (e.g form change event)\n  React.useEffect(() => {\n    const input = ref.current!;\n    const inputProto = window.HTMLInputElement.prototype;\n    const descriptor = Object.getOwnPropertyDescriptor(inputProto, 'checked') as PropertyDescriptor;\n    const setChecked = descriptor.set;\n\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  }, [prevChecked, checked, bubbles]);\n\n  return (\n    <input\n      type=\"checkbox\"\n      aria-hidden\n      defaultChecked={isIndeterminate(checked) ? false : checked}\n      {...inputProps}\n      tabIndex={-1}\n      ref={ref}\n      style={{\n        ...props.style,\n        ...controlSize,\n        position: 'absolute',\n        pointerEvents: 'none',\n        opacity: 0,\n        margin: 0,\n      }}\n    />\n  );\n};\n\nfunction isIndeterminate(checked?: CheckedState): checked is 'indeterminate' {\n  return checked === 'indeterminate';\n}\n\nfunction getState(checked: CheckedState) {\n  return isIndeterminate(checked) ? 'indeterminate' : checked ? 'checked' : 'unchecked';\n}\n\nconst Root = Checkbox;\nconst Indicator = CheckboxIndicator;\n\nexport {\n  createCheckboxScope,\n  //\n  Checkbox,\n  CheckboxIndicator,\n  //\n  Root,\n  Indicator,\n};\nexport type { CheckboxProps, CheckboxIndicatorProps };\n","import * as React from \"react\"\nimport { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n  return twMerge(clsx(inputs))\n}\n\nexport function formatDate(input: string | number): string {\n  const date = new Date(input)\n  return date.toLocaleDateString(\"en-US\", {\n    month: \"long\",\n    day: \"numeric\",\n    year: \"numeric\",\n  })\n}\n\nexport function absoluteUrl(path: string) {\n  return `${process.env.NEXT_PUBLIC_APP_URL}${path}`\n}\n"]}