{"version":3,"sources":["jsdelivr-header.js","/npm/@radix-ui/react-toggle-group@1.1.12/src/index.ts","/npm/@radix-ui/react-toggle-group@1.1.12/src/toggle-group.tsx"],"names":[],"mappings":"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","file":"/npm/@radix-ui/react-toggle-group@1.1.12/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.48.0.\n * Original file: /npm/@radix-ui/react-toggle-group@1.1.12/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use client';\nexport {\n  createToggleGroupScope,\n  //\n  ToggleGroup,\n  ToggleGroupItem,\n  //\n  Root,\n  Item,\n} from './toggle-group';\nexport type {\n  ToggleGroupSingleProps,\n  ToggleGroupMultipleProps,\n  ToggleGroupItemProps,\n} from './toggle-group';\n","import * as React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as RovingFocusGroup from '@radix-ui/react-roving-focus';\nimport { createRovingFocusGroupScope } from '@radix-ui/react-roving-focus';\nimport { Toggle } from '@radix-ui/react-toggle';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useDirection } from '@radix-ui/react-direction';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * ToggleGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst TOGGLE_GROUP_NAME = 'ToggleGroup';\n\ntype ScopedProps<P> = P & { __scopeToggleGroup?: Scope };\nconst [createToggleGroupContext, createToggleGroupScope] = createContextScope(TOGGLE_GROUP_NAME, [\n  createRovingFocusGroupScope,\n]);\nconst useRovingFocusGroupScope = createRovingFocusGroupScope();\n\ntype ToggleGroupElement = ToggleGroupImplSingleElement | ToggleGroupImplMultipleElement;\ninterface ToggleGroupSingleProps extends ToggleGroupImplSingleProps {\n  type: 'single';\n}\ninterface ToggleGroupMultipleProps extends ToggleGroupImplMultipleProps {\n  type: 'multiple';\n}\n\nconst ToggleGroup = React.forwardRef<\n  ToggleGroupElement,\n  ToggleGroupSingleProps | ToggleGroupMultipleProps\n>((props, forwardedRef) => {\n  const { type, ...toggleGroupProps } = props;\n\n  if (type === 'single') {\n    const singleProps = toggleGroupProps as ToggleGroupImplSingleProps;\n    return <ToggleGroupImplSingle {...singleProps} ref={forwardedRef} />;\n  }\n\n  if (type === 'multiple') {\n    const multipleProps = toggleGroupProps as ToggleGroupImplMultipleProps;\n    return <ToggleGroupImplMultiple {...multipleProps} ref={forwardedRef} />;\n  }\n\n  throw new Error(`Missing prop \\`type\\` expected on \\`${TOGGLE_GROUP_NAME}\\``);\n});\n\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ToggleGroupValueContextValue = {\n  type: 'single' | 'multiple';\n  value: string[];\n  onItemActivate(value: string): void;\n  onItemDeactivate(value: string): void;\n};\n\nconst [ToggleGroupValueProvider, useToggleGroupValueContext] =\n  createToggleGroupContext<ToggleGroupValueContextValue>(TOGGLE_GROUP_NAME);\n\ntype ToggleGroupImplSingleElement = ToggleGroupImplElement;\ninterface ToggleGroupImplSingleProps extends ToggleGroupImplProps {\n  /**\n   * The controlled stateful value of the item that is pressed.\n   */\n  value?: string;\n  /**\n   * The value of the item that is pressed when initially rendered. Use\n   * `defaultValue` if you do not need to control the state of a toggle group.\n   */\n  defaultValue?: string;\n  /**\n   * The callback that fires when the value of the toggle group changes.\n   */\n  onValueChange?(value: string): void;\n}\n\nconst ToggleGroupImplSingle = React.forwardRef<\n  ToggleGroupImplSingleElement,\n  ToggleGroupImplSingleProps\n>((props: ScopedProps<ToggleGroupImplSingleProps>, forwardedRef) => {\n  const {\n    value: valueProp,\n    defaultValue,\n    onValueChange = () => {},\n    ...toggleGroupSingleProps\n  } = props;\n\n  const [value, setValue] = useControllableState({\n    prop: valueProp,\n    defaultProp: defaultValue ?? '',\n    onChange: onValueChange,\n    caller: TOGGLE_GROUP_NAME,\n  });\n\n  return (\n    <ToggleGroupValueProvider\n      scope={props.__scopeToggleGroup}\n      type=\"single\"\n      value={React.useMemo(() => (value ? [value] : []), [value])}\n      onItemActivate={setValue}\n      onItemDeactivate={React.useCallback(() => setValue(''), [setValue])}\n    >\n      <ToggleGroupImpl {...toggleGroupSingleProps} ref={forwardedRef} />\n    </ToggleGroupValueProvider>\n  );\n});\n\ntype ToggleGroupImplMultipleElement = ToggleGroupImplElement;\ninterface ToggleGroupImplMultipleProps extends ToggleGroupImplProps {\n  /**\n   * The controlled stateful value of the items that are pressed.\n   */\n  value?: string[];\n  /**\n   * The value of the items that are pressed when initially rendered. Use\n   * `defaultValue` if you do not need to control the state of a toggle group.\n   */\n  defaultValue?: string[];\n  /**\n   * The callback that fires when the state of the toggle group changes.\n   */\n  onValueChange?(value: string[]): void;\n}\n\nconst ToggleGroupImplMultiple = React.forwardRef<\n  ToggleGroupImplMultipleElement,\n  ToggleGroupImplMultipleProps\n>((props: ScopedProps<ToggleGroupImplMultipleProps>, forwardedRef) => {\n  const {\n    value: valueProp,\n    defaultValue,\n    onValueChange = () => {},\n    ...toggleGroupMultipleProps\n  } = props;\n\n  const [value, setValue] = useControllableState({\n    prop: valueProp,\n    defaultProp: defaultValue ?? [],\n    onChange: onValueChange,\n    caller: TOGGLE_GROUP_NAME,\n  });\n\n  const handleButtonActivate = React.useCallback(\n    (itemValue: string) => setValue((prevValue = []) => [...prevValue, itemValue]),\n    [setValue],\n  );\n\n  const handleButtonDeactivate = React.useCallback(\n    (itemValue: string) =>\n      setValue((prevValue = []) => prevValue.filter((value) => value !== itemValue)),\n    [setValue],\n  );\n\n  return (\n    <ToggleGroupValueProvider\n      scope={props.__scopeToggleGroup}\n      type=\"multiple\"\n      value={value}\n      onItemActivate={handleButtonActivate}\n      onItemDeactivate={handleButtonDeactivate}\n    >\n      <ToggleGroupImpl {...toggleGroupMultipleProps} ref={forwardedRef} />\n    </ToggleGroupValueProvider>\n  );\n});\n\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ToggleGroupContextValue = { rovingFocus: boolean; disabled: boolean };\n\nconst [ToggleGroupContext, useToggleGroupContext] =\n  createToggleGroupContext<ToggleGroupContextValue>(TOGGLE_GROUP_NAME);\n\ntype RovingFocusGroupProps = React.ComponentPropsWithoutRef<typeof RovingFocusGroup.Root>;\ntype ToggleGroupImplElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface ToggleGroupImplProps extends PrimitiveDivProps {\n  /**\n   * Whether the group is disabled from user interaction.\n   * @defaultValue false\n   */\n  disabled?: boolean;\n  /**\n   * Whether the group should maintain roving focus of its buttons.\n   * @defaultValue true\n   */\n  rovingFocus?: boolean;\n  loop?: RovingFocusGroupProps['loop'];\n  orientation?: RovingFocusGroupProps['orientation'];\n  dir?: RovingFocusGroupProps['dir'];\n}\n\nconst ToggleGroupImpl = React.forwardRef<ToggleGroupImplElement, ToggleGroupImplProps>(\n  (props: ScopedProps<ToggleGroupImplProps>, forwardedRef) => {\n    const {\n      __scopeToggleGroup,\n      disabled = false,\n      rovingFocus = true,\n      orientation,\n      dir,\n      loop = true,\n      ...toggleGroupProps\n    } = props;\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeToggleGroup);\n    const direction = useDirection(dir);\n    const commonProps = { role: 'group', dir: direction, ...toggleGroupProps };\n    return (\n      <ToggleGroupContext scope={__scopeToggleGroup} rovingFocus={rovingFocus} disabled={disabled}>\n        {rovingFocus ? (\n          <RovingFocusGroup.Root\n            asChild\n            {...rovingFocusGroupScope}\n            orientation={orientation}\n            dir={direction}\n            loop={loop}\n          >\n            <Primitive.div {...commonProps} ref={forwardedRef} />\n          </RovingFocusGroup.Root>\n        ) : (\n          <Primitive.div {...commonProps} ref={forwardedRef} />\n        )}\n      </ToggleGroupContext>\n    );\n  },\n);\n\n/* -------------------------------------------------------------------------------------------------\n * ToggleGroupItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'ToggleGroupItem';\n\ntype ToggleGroupItemElement = ToggleGroupItemImplElement;\ninterface ToggleGroupItemProps extends Omit<ToggleGroupItemImplProps, 'pressed'> {}\n\nconst ToggleGroupItem = React.forwardRef<ToggleGroupItemElement, ToggleGroupItemProps>(\n  (props: ScopedProps<ToggleGroupItemProps>, forwardedRef) => {\n    const valueContext = useToggleGroupValueContext(ITEM_NAME, props.__scopeToggleGroup);\n    const context = useToggleGroupContext(ITEM_NAME, props.__scopeToggleGroup);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(props.__scopeToggleGroup);\n    const pressed = valueContext.value.includes(props.value);\n    const disabled = context.disabled || props.disabled;\n    const commonProps = { ...props, pressed, disabled };\n    const ref = React.useRef<HTMLDivElement>(null);\n    return context.rovingFocus ? (\n      <RovingFocusGroup.Item\n        asChild\n        {...rovingFocusGroupScope}\n        focusable={!disabled}\n        active={pressed}\n        ref={ref}\n      >\n        <ToggleGroupItemImpl {...commonProps} ref={forwardedRef} />\n      </RovingFocusGroup.Item>\n    ) : (\n      <ToggleGroupItemImpl {...commonProps} ref={forwardedRef} />\n    );\n  },\n);\n\nToggleGroupItem.displayName = ITEM_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ToggleGroupItemImplElement = React.ComponentRef<typeof Toggle>;\ntype ToggleProps = React.ComponentPropsWithoutRef<typeof Toggle>;\ninterface ToggleGroupItemImplProps extends Omit<ToggleProps, 'defaultPressed' | 'onPressedChange'> {\n  /**\n   * A string value for the toggle group item. All items within a toggle group should use a unique value.\n   */\n  value: string;\n}\n\nconst ToggleGroupItemImpl = React.forwardRef<ToggleGroupItemImplElement, ToggleGroupItemImplProps>(\n  (props: ScopedProps<ToggleGroupItemImplProps>, forwardedRef) => {\n    const { __scopeToggleGroup, value, ...itemProps } = props;\n    const valueContext = useToggleGroupValueContext(ITEM_NAME, __scopeToggleGroup);\n    const singleProps = { role: 'radio', 'aria-checked': props.pressed, 'aria-pressed': undefined };\n    const typeProps = valueContext.type === 'single' ? singleProps : undefined;\n    return (\n      <Toggle\n        {...typeProps}\n        {...itemProps}\n        ref={forwardedRef}\n        onPressedChange={(pressed) => {\n          if (pressed) {\n            valueContext.onItemActivate(value);\n          } else {\n            valueContext.onItemDeactivate(value);\n          }\n        }}\n      />\n    );\n  },\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = ToggleGroup;\nconst Item = ToggleGroupItem;\n\nexport {\n  createToggleGroupScope,\n  //\n  ToggleGroup,\n  ToggleGroupItem,\n  //\n  Root,\n  Item,\n};\nexport type { ToggleGroupSingleProps, ToggleGroupMultipleProps, ToggleGroupItemProps };\n"]}