{"version":3,"file":"toolbar.mjs","sources":["../src/toolbar/ToolbarButton.ts","../src/toolbar/ToolbarButton.vue","../src/toolbar/ToolbarLink.ts","../src/toolbar/ToolbarLink.vue","../src/toolbar/ToolbarRoot.ts","../src/toolbar/ToolbarRoot.vue","../src/toolbar/ToolbarSeparator.ts","../src/toolbar/ToolbarSeparator.vue","../src/toolbar/ToolbarToggleGroup.ts","../src/toolbar/ToolbarToggleGroup.vue","../src/toolbar/ToolbarToggleItem.ts","../src/toolbar/ToolbarToggleItem.vue"],"sourcesContent":["import type { PrimitiveProps } from '../primitive/index.ts'\nimport type { PrimitiveDefaultProps, RadixPrimitiveReturns } from '../shared/index.ts'\nimport { useRovingFocusGroupItem } from '../roving-focus/index.ts'\nimport { mergePrimitiveAttrs } from '../shared/index.ts'\n\nexport interface ToolbarButtonProps {\n  as?: PrimitiveProps['as']\n  disabled?: boolean\n}\n\nexport const DEFAULT_TOOLBAR_BUTTON_PROPS = {\n  as: 'button',\n  disabled: undefined,\n} satisfies PrimitiveDefaultProps<ToolbarButtonProps>\n\nexport interface UseToolbarButtonProps {\n  disabled?: () => boolean | undefined\n}\n\nexport function useToolbarButton(props: UseToolbarButtonProps = {}): RadixPrimitiveReturns {\n  const { disabled = () => undefined } = props\n\n  const rovingFocusGroupItem = useRovingFocusGroupItem({\n    focusable() {\n      return !disabled()\n    },\n  })\n\n  return {\n    attrs(extraAttrs = []) {\n      const attrs = {\n        type: 'button',\n        disabled: disabled(),\n      }\n\n      mergePrimitiveAttrs(attrs, [rovingFocusGroupItem.attrs(), ...extraAttrs])\n\n      return attrs\n    },\n  }\n}\n","<script setup lang=\"ts\">\nimport { Primitive } from '../primitive/index.ts'\nimport { convertPropsToHookProps, normalizeAttrs } from '../shared/index.ts'\nimport { DEFAULT_TOOLBAR_BUTTON_PROPS, type ToolbarButtonProps, useToolbarButton } from './ToolbarButton.ts'\n\ndefineOptions({\n  name: 'ToolbarButton',\n  inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ToolbarButtonProps>(), DEFAULT_TOOLBAR_BUTTON_PROPS)\n\nconst toolbarButton = useToolbarButton(convertPropsToHookProps(props, ['disabled']))\n</script>\n\n<template>\n  <Primitive v-bind=\"normalizeAttrs(toolbarButton.attrs([$attrs, { as }]))\">\n    <slot />\n  </Primitive>\n</template>\n","import type { PrimitiveProps } from '../primitive/index.ts'\nimport type { PrimitiveDefaultProps, RadixPrimitiveReturns } from '../shared/index.ts'\nimport { useRovingFocusGroupItem } from '../roving-focus/index.ts'\nimport { mergePrimitiveAttrs } from '../shared/index.ts'\n\nexport interface ToolbarLinkProps {\n  as?: PrimitiveProps['as']\n}\n\nexport const DEFAULT_TOOLBAR_LINK_PROPS = {\n  as: 'a',\n} satisfies PrimitiveDefaultProps<ToolbarLinkProps>\n\nexport function useToolbarLink(): RadixPrimitiveReturns {\n  const rovingFocusGroupItem = useRovingFocusGroupItem({\n    focusable() {\n      return true\n    },\n  })\n\n  function onKeydown(event: KeyboardEvent) {\n    if (event.defaultPrevented) {\n      return\n    }\n\n    if (event.key === ' ') {\n      (event.currentTarget as HTMLElement).click()\n    }\n  }\n\n  return {\n    attrs(extraAttrs = []) {\n      const attrs = {\n        onKeydown,\n      }\n\n      mergePrimitiveAttrs(attrs, [rovingFocusGroupItem.attrs(), ...extraAttrs])\n\n      return attrs\n    },\n  }\n}\n","<script setup lang=\"ts\">\nimport { Primitive } from '../primitive/index.ts'\nimport { normalizeAttrs } from '../shared/index.ts'\nimport { DEFAULT_TOOLBAR_LINK_PROPS, type ToolbarLinkProps, useToolbarLink } from './ToolbarLink.ts'\n\ndefineOptions({\n  name: 'ToolbarLink',\n  inheritAttrs: false,\n})\n\nwithDefaults(defineProps<ToolbarLinkProps>(), DEFAULT_TOOLBAR_LINK_PROPS)\n\nconst toolbarLink = useToolbarLink()\n</script>\n\n<template>\n  <Primitive v-bind=\"normalizeAttrs(toolbarLink.attrs([$attrs, { as }]))\">\n    <slot />\n  </Primitive>\n</template>\n","import type { MaybeRefOrGetter, Ref } from 'vue'\nimport { type Direction, useDirection } from '../direction/index.ts'\nimport { createContext, type MutableRefObject, useRef } from '../hooks/index.ts'\nimport { type RovingFocusGroupRootProps, useRovingFocusGroupRoot } from '../roving-focus/index.ts'\nimport { mergePrimitiveAttrs, type PrimitiveDefaultProps, type RadixPrimitiveReturns } from '../shared/index.ts'\n\nexport interface ToolbarRootProps {\n  orientation?: RovingFocusGroupRootProps['orientation']\n  loop?: RovingFocusGroupRootProps['loop']\n  dir?: RovingFocusGroupRootProps['dir']\n}\n\nexport const DEFAULT_TOOLBAR_ROOT_PROPS = {\n  loop: undefined,\n} satisfies PrimitiveDefaultProps<ToolbarRootProps>\n\nexport interface ToolbarContext {\n  orientation: RovingFocusGroupRootProps['orientation']\n  dir: Ref<Required<RovingFocusGroupRootProps>['dir']>\n}\nexport const [provideToolbarContext, useToolbarContext] = createContext<ToolbarContext>('Toolbar')\n\nexport interface UseToolbarRootProps {\n  elRef?: MutableRefObject<HTMLElement | undefined>\n  orientation?: RovingFocusGroupRootProps['orientation']\n  loop?: RovingFocusGroupRootProps['loop']\n  dir?: MaybeRefOrGetter<Direction | undefined>\n}\n\nexport function useToolbarRoot(props: UseToolbarRootProps = {}): RadixPrimitiveReturns {\n  const { orientation = 'horizontal', loop = true } = props\n\n  const elRef = props.elRef ?? useRef<HTMLElement>()\n  const setElRef = props.elRef ? undefined : (value: HTMLElement | undefined) => elRef.value = value\n\n  const dir = useDirection(props.dir)\n\n  provideToolbarContext({\n    orientation,\n    dir,\n  })\n\n  const rovingFocusGroupRoot = useRovingFocusGroupRoot({\n    elRef,\n    orientation,\n    loop,\n    dir,\n  })\n\n  return {\n    attrs(extraAttrs = []) {\n      const attrs = {\n        'elRef': setElRef,\n        'role': 'toolbar',\n        'aria-orientation': orientation,\n        'dir': dir.value,\n      }\n\n      mergePrimitiveAttrs(attrs, [rovingFocusGroupRoot.attrs(), ...extraAttrs])\n\n      return attrs\n    },\n  }\n}\n","<script setup lang=\"ts\">\nimport { Primitive } from '../primitive/index.ts'\nimport { convertPropsToHookProps, normalizeAttrs } from '../shared/index.ts'\nimport { DEFAULT_TOOLBAR_ROOT_PROPS, type ToolbarRootProps, useToolbarRoot } from './ToolbarRoot.ts'\n\ndefineOptions({\n  name: 'ToolbarRoot',\n  inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ToolbarRootProps>(), DEFAULT_TOOLBAR_ROOT_PROPS)\n\nconst toolbarRoot = useToolbarRoot(convertPropsToHookProps(props, ['dir']))\n</script>\n\n<template>\n  <Primitive v-bind=\"normalizeAttrs(toolbarRoot.attrs([$attrs]))\">\n    <slot />\n  </Primitive>\n</template>\n","import type { PrimitiveDefaultProps, RadixPrimitiveReturns } from '../shared/index.ts'\nimport { type SeparatorProps, useSeparator, type UseSeparatorProps } from '../separator/index.ts'\nimport { useToolbarContext } from './ToolbarRoot.ts'\n\nexport interface ToolbarSeparatorProps extends Omit<SeparatorProps, 'orientation'> {}\n\nexport const DEFAULT_TOOLBAR_SEPARATOR_PROPS = {\n  decorative: undefined,\n} satisfies PrimitiveDefaultProps<ToolbarSeparatorProps>\n\nexport interface UseToolbarSeparatorProps extends Omit<UseSeparatorProps, 'orientation'> {}\n\nexport function useToolbarSeparator(props: UseToolbarSeparatorProps = {}): RadixPrimitiveReturns {\n  const context = useToolbarContext('ToolbarSeparator')\n\n  const separator = useSeparator({\n    orientation: context.orientation === 'horizontal' ? 'vertical' : 'horizontal',\n    decorative: props.decorative,\n  })\n\n  return {\n    attrs(extraAttrs) {\n      return separator.attrs(extraAttrs)\n    },\n  }\n}\n","<script setup lang=\"ts\">\nimport { Primitive } from '../primitive/index.ts'\nimport { convertPropsToHookProps, normalizeAttrs } from '../shared/index.ts'\nimport { DEFAULT_TOOLBAR_SEPARATOR_PROPS, type ToolbarSeparatorProps, useToolbarSeparator } from './ToolbarSeparator.ts'\n\ndefineOptions({\n  name: 'ToolbarSeparator',\n  inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ToolbarSeparatorProps>(), DEFAULT_TOOLBAR_SEPARATOR_PROPS)\n\nconst toolbarSeparator = useToolbarSeparator(convertPropsToHookProps(props))\n</script>\n\n<template>\n  <Primitive v-bind=\"normalizeAttrs(toolbarSeparator.attrs([$attrs]))\">\n    <slot />\n  </Primitive>\n</template>\n","import type { PrimitiveDefaultProps, RadixPrimitiveReturns } from '../shared/index.ts'\nimport type { ToggleGroupEmits, ToggleGroupProps, ToggleGroupType } from '../toggle-group/index.ts'\nimport { useToggleGroup, type UseToggleGroupProps } from '../toggle-group/ToggleGroupRoot.ts'\nimport { useToolbarContext } from './ToolbarRoot.ts'\n\nexport interface ToolbarToggleGroupProps<T extends ToggleGroupType> extends Omit<ToggleGroupProps<T>, 'rovingFocus'> {}\n\nexport const DEFAULT_TOOLBAR_TOGGLE_GROUP_PROPS = {\n  disabled: undefined,\n  loop: undefined,\n} satisfies PrimitiveDefaultProps<ToolbarToggleGroupProps<ToggleGroupType>>\n\nexport type ToolbarToggleGroupEmits<T extends ToggleGroupType> = ToggleGroupEmits<T>\n\nexport interface UseToolbarToggleGroupProps<T extends ToggleGroupType> extends Omit<UseToggleGroupProps<T>, 'rovingFocus'> {}\n\nexport function useToolbarToggleGroup<T extends ToggleGroupType>(props: UseToolbarToggleGroupProps<T>): RadixPrimitiveReturns {\n  const context = useToolbarContext('ToolbarToggleGroup')\n\n  const toggleGroup = useToggleGroup({\n    type: props.type,\n    value: props.value,\n    onUpdateValue: props.onUpdateValue,\n    defaultValue: props.defaultValue,\n\n    disabled: props.disabled,\n    rovingFocus: false,\n    loop: props.loop,\n    orientation: props.orientation,\n    dir: props.dir,\n  })\n\n  const attrs = {\n    'data-orientation': context.orientation,\n  }\n\n  return {\n    attrs(extraAttrs = []) {\n      return toggleGroup.attrs([attrs, ...extraAttrs])\n    },\n  }\n}\n","<script setup lang=\"ts\" generic=\"T extends ToggleGroupType = undefined\">\nimport type { EmitsToHookProps } from '../shared/index.ts'\nimport type { ToggleGroupType } from '../toggle-group/index.ts'\nimport { Primitive } from '../primitive/index.ts'\nimport { convertPropsToHookProps, normalizeAttrs } from '../shared/index.ts'\nimport { DEFAULT_TOOLBAR_TOGGLE_GROUP_PROPS, type ToolbarToggleGroupEmits, type ToolbarToggleGroupProps, useToolbarToggleGroup } from './ToolbarToggleGroup.ts'\n\ndefineOptions({\n  name: 'ToolbarToggleGroup',\n  inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ToolbarToggleGroupProps<T>>(), DEFAULT_TOOLBAR_TOGGLE_GROUP_PROPS)\n\nconst emit = defineEmits<ToolbarToggleGroupEmits<T>>()\n\nconst toolbarToggleGroup = useToolbarToggleGroup(convertPropsToHookProps(\n  props,\n  ['value', 'disabled', 'dir'],\n  (): Required<EmitsToHookProps<ToolbarToggleGroupEmits<T>>> => ({\n    onUpdateValue(value) {\n      emit('update:value', value)\n    },\n  }),\n))\n</script>\n\n<template>\n  <Primitive v-bind=\"normalizeAttrs(toolbarToggleGroup.attrs([$attrs]))\">\n    <slot />\n  </Primitive>\n</template>\n","import type { PrimitiveProps } from '../primitive/index.ts'\nimport type { PrimitiveDefaultProps, RadixPrimitiveReturns } from '../shared/index.ts'\nimport { type ToggleGroupItemProps, useToggleGroupItem } from '../toggle-group/index.ts'\nimport { useToolbarButton } from './ToolbarButton.ts'\n\nexport interface ToolbarToggleItemProps {\n  as?: PrimitiveProps['as']\n  value: ToggleGroupItemProps['value']\n  disabled?: boolean\n}\n\nexport const DEFAULT_TOOLBAR_TOGGLE_ITEM_PROPS = {\n  as: 'button',\n  disabled: undefined,\n} satisfies PrimitiveDefaultProps<ToolbarToggleItemProps>\n\nexport interface UseToolbarToggleItem {\n  value: () => ToggleGroupItemProps['value']\n  disabled?: () => boolean | undefined\n}\n\nexport function useToolbarToggleItem(props: UseToolbarToggleItem): RadixPrimitiveReturns {\n  const toggleGroupItem = useToggleGroupItem({\n    value: props.value,\n    disabled: props.disabled,\n  })\n\n  const toolbarButton = useToolbarButton({\n    disabled: props.disabled,\n  })\n\n  return {\n    attrs(extraAttrs = []) {\n      return toggleGroupItem.attrs([toolbarButton.attrs(), ...extraAttrs])\n    },\n  }\n}\n","<script setup lang=\"ts\">\nimport { Primitive } from '../primitive/index.ts'\nimport { convertPropsToHookProps, normalizeAttrs } from '../shared/index.ts'\nimport { DEFAULT_TOOLBAR_TOGGLE_ITEM_PROPS, type ToolbarToggleItemProps, useToolbarToggleItem } from './ToolbarToggleItem.ts'\n\ndefineOptions({\n  name: 'ToolbarToggleItem',\n  inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ToolbarToggleItemProps>(), DEFAULT_TOOLBAR_TOGGLE_ITEM_PROPS)\n\nconst toolbarToggleItem = useToolbarToggleItem(convertPropsToHookProps(props, ['value', 'disabled']))\n</script>\n\n<template>\n  <Primitive v-bind=\"normalizeAttrs(toolbarToggleItem.attrs([$attrs, { as }]))\">\n    <slot />\n  </Primitive>\n</template>\n"],"names":[],"mappings":"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"}