@qualcomm-ui/react 1.23.1 → 1.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["QdsMenuApi","createGuardedContext","QdsMenuContextProvider","useQdsMenuContext","hookName","providerName","strict","ReactElement","ReactNode","ChevronDown","Button","ButtonProps","Icon","mergeProps","useQdsMenuContext","MenuButtonProps","Omit","children","MenuButton","t0","$","_c","density","size","props","qdsMenuContext","resolvedSize","mergedProps","getButtonBindings","t1","getIndicatorBindings","t2","t3","ReactElement","ReactNode","CheckboxOptionItemProps","splitMenuOptionItemProps","MenuItemContextProvider","MenuOptionItemContextProvider","useMenuCheckboxItem","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuCheckboxItemProps","Omit","children","MenuCheckboxItem","t0","$","_c","props","optionItemProps","localProps","type","bindings","optionItemContextValue","qdsContext","mergedProps","getRadioItemBindings","t1","t2","t3","ReactElement","ReactNode","CheckmarkIcon","useMenuOptionItemControl","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuCheckboxItemControlProps","children","MenuCheckboxItemControl","props","contextProps","qdsContext","mergedProps","getCheckboxItemControlBindings","ReactElement","ReactNode","useMenuContent","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuContentProps","children","MenuContent","t0","$","_c","id","props","t1","contextProps","qdsContext","mergedProps","getContentBindings","t2","ReactElement","ReactNode","useMenuContextTrigger","ElementRenderProp","PolymorphicElement","mergeProps","MenuContextTriggerProps","children","MenuContextTrigger","t0","$","_c","id","props","t1","contextProps","mergedProps","t2","ReactElement","useMemo","ChevronDown","LucideIcon","createQdsIconButtonApi","IconButtonProps","Icon","normalizeProps","PolymorphicElement","mergeProps","useQdsMenuContext","MenuIconButtonProps","Omit","icon","MenuIconButton","t0","$","_c","density","disabled","emphasis","shape","size","variant","props","qdsMenuContext","resolvedSize","t1","api","mergedProps","getRootBindings","getButtonBindings","t2","getIconBindings","t3","getIndicatorBindings","t4","t5","ReactElement","InlineIconButton","InlineIconButtonProps","MenuInlineIconButtonProps","MenuInlineIconButton","props","$","_c","t0","ReactElement","ReactNode","ItemProps","splitMenuItemProps","MenuItemContextProvider","useMenuItem","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuItemProps","Omit","children","MenuItem","t0","$","_c","props","menuItemProps","localProps","bindings","itemContextValue","qdsContext","mergedProps","getItemBindings","t1","t2","ReactElement","ReactNode","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuItemAccessoryProps","children","MenuItemAccessory","t0","$","_c","props","qdsContext","mergedProps","getMenuItemAccessoryBindings","t1","ReactElement","ReactNode","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuItemCommandProps","children","MenuItemCommand","props","$","_c","context","t0","getItemCommandBindings","mergedProps","t1","ReactElement","ReactNode","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuItemDescriptionProps","children","MenuItemDescription","t0","$","_c","props","qdsMenuContext","mergedProps","getMenuItemDescriptionBindings","t1","ReactElement","ReactNode","MenuItemGroupContextProvider","useMenuItemGroup","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuItemGroupProps","children","id","MenuItemGroup","t0","$","_c","props","t1","bindings","itemGroupContextValue","qdsContext","mergedProps","getItemGroupBindings","t2","t3","ReactElement","ReactNode","useMenuItemGroupLabel","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuItemGroupLabelProps","children","MenuItemGroupLabel","t0","$","_c","props","bindings","qdsContext","mergedProps","getItemGroupLabelBindings","t1","ReactElement","ReactNode","Check","Icon","useMenuItemIndicator","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuItemIndicatorProps","children","MenuItemIndicator","t0","$","_c","props","contextProps","qdsContext","mergedProps","getItemIndicatorBindings","t1","Symbol","for","t2","ReactElement","ReactNode","useMenuItemLabel","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuItemLabelProps","children","MenuItemLabel","t0","$","_c","props","contextProps","qdsContext","mergedProps","getItemLabelBindings","t1","ReactElement","ReactNode","IconOrNode","LucideIconOrElement","ElementRenderProp","mergeProps","useQdsMenuContext","MenuItemStartIconProps","children","icon","MenuItemStartIcon","props","$","_c","context","t0","getItemStartIconBindings","mergedProps","t1","ReactElement","ReactNode","useMenuPositioner","ElementRenderProp","PolymorphicElement","mergeProps","MenuPositionerProps","children","MenuPositioner","t0","$","_c","id","props","t1","contextProps","mergedProps","t2","ReactElement","ReactNode","ItemProps","splitMenuItemProps","MenuItemContextProvider","MenuOptionItemContextProvider","useMenuRadioItem","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuRadioItemProps","Omit","children","MenuRadioItem","t0","$","_c","props","radioItemProps","localProps","bindings","optionItemContextValue","qdsContext","mergedProps","getRadioItemBindings","t1","t2","t3","ReactElement","ReactNode","useMenuOptionItemControl","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuRadioItemControlProps","children","MenuRadioItemControl","t0","$","_c","props","contextProps","qdsContext","mergedProps","getRadioItemControlBindings","t1","ReactElement","ReactNode","RadioItemGroupContext","MenuRadioItemGroupContextProvider","useMenuRadioItemGroup","ElementRenderProp","PolymorphicElement","Optional","mergeProps","useQdsMenuContext","MenuRadioItemGroupProps","children","MenuRadioItemGroup","t0","$","_c","id","onValueChange","value","props","t1","bindings","itemGroupContextValue","qdsContext","mergedProps","getItemGroupBindings","t2","t3","ReactElement","ReactNode","useMemo","MenuApiProps","PresenceApiProps","splitPresenceProps","createQdsMenuApi","QdsMenuApiProps","normalizeProps","MenuContextProvider","MenuMachineContextProvider","MenuTriggerContextProvider","useMenu","PresenceContextProvider","usePresence","Optional","mergeProps","QdsMenuContextProvider","useQdsMenuContext","MenuRootProps","children","MenuRoot","t0","$","_c","size","props","presenceProps","menuProps","api","machine","triggerItemContext","presenceApi","present","open","qdsContext","finalSize","t1","qdsContextValue","t2","t3","t4","t5","t6","ReactElement","ReactNode","useMenuSeparator","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuSeparatorProps","children","MenuSeparator","t0","$","_c","props","contextProps","qdsContext","mergedProps","getSeparatorBindings","t1","ReactNode","MenuTriggerBindings","useMenuTrigger","BindingRenderProp","bindingRenderProp","MenuTriggerProps","children","id","MenuTrigger","t0","$","_c","t1","menuTriggerBindings","t2","ReactElement","ReactNode","ChevronRight","ItemProps","splitMenuItemProps","IconOrNode","LucideIconOrElement","MenuItemContextProvider","useMenuTriggerItem","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuTriggerItemProps","Omit","children","icon","MenuTriggerItem","t0","$","_c","t1","id","props","undefined","menuItemProps","localProps","context","qdsContext","mergedProps","bindings","getItemBindings","t2","itemContextValue","t3","getTriggerItemIndicatorBindings","t4","t5","t6","t7","MenuButton","MenuButtonProps","MenuCheckboxItem","MenuCheckboxItemProps","MenuCheckboxItemControl","MenuCheckboxItemControlProps","MenuContent","MenuContentProps","MenuContextTrigger","MenuContextTriggerProps","MenuIconButton","MenuIconButtonProps","MenuInlineIconButton","MenuInlineIconButtonProps","MenuItem","MenuItemProps","MenuItemAccessory","MenuItemAccessoryProps","MenuItemCommand","MenuItemCommandProps","MenuItemDescription","MenuItemDescriptionProps","MenuItemGroup","MenuItemGroupProps","MenuItemGroupLabel","MenuItemGroupLabelProps","MenuItemIndicator","MenuItemIndicatorProps","MenuItemLabel","MenuItemLabelProps","MenuItemStartIcon","MenuItemStartIconProps","MenuPositioner","MenuPositionerProps","MenuRadioItem","MenuRadioItemProps","MenuRadioItemControl","MenuRadioItemControlProps","MenuRadioItemGroup","MenuRadioItemGroupProps","MenuRoot","MenuRootProps","MenuSeparator","MenuSeparatorProps","MenuTrigger","MenuTriggerProps","MenuTriggerItem","MenuTriggerItemProps","MenuComponent","Button","CheckboxItem","CheckboxItemControl","Content","ContextTrigger","IconButton","InlineIconButton","Item","ItemAccessory","ItemCommand","ItemDescription","ItemGroup","ItemGroupLabel","ItemIndicator","ItemLabel","ItemStartIcon","Positioner","RadioItem","RadioItemControl","RadioItemGroup","Root","Separator","Trigger","TriggerItem","Menu"],"sources":["../../src/menu/qds-menu-context.ts","../../src/menu/menu-button.tsx","../../src/menu/menu-checkbox-item.tsx","../../src/menu/menu-checkbox-item-control.tsx","../../src/menu/menu-content.tsx","../../src/menu/menu-context-trigger.tsx","../../src/menu/menu-icon-button.tsx","../../src/menu/menu-inline-icon-button.tsx","../../src/menu/menu-item.tsx","../../src/menu/menu-item-accessory.tsx","../../src/menu/menu-item-command.tsx","../../src/menu/menu-item-description.tsx","../../src/menu/menu-item-group.tsx","../../src/menu/menu-item-group-label.tsx","../../src/menu/menu-item-indicator.tsx","../../src/menu/menu-item-label.tsx","../../src/menu/menu-item-start-icon.tsx","../../src/menu/menu-positioner.tsx","../../src/menu/menu-radio-item.tsx","../../src/menu/menu-radio-item-control.tsx","../../src/menu/menu-radio-item-group.tsx","../../src/menu/menu-root.tsx","../../src/menu/menu-separator.tsx","../../src/menu/menu-trigger.tsx","../../src/menu/menu-trigger-item.tsx","../../src/menu/index.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {QdsMenuApi} from \"@qualcomm-ui/qds-core/menu\"\nimport {createGuardedContext} from \"@qualcomm-ui/react-core/context\"\n\nexport const [QdsMenuContextProvider, useQdsMenuContext] =\n createGuardedContext<QdsMenuApi>({\n hookName: \"useQdsMenuContext\",\n providerName: \"<QdsMenuContextProvider>\",\n strict: true,\n })\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {ChevronDown} from \"lucide-react\"\n\nimport {Button, type ButtonProps} from \"@qualcomm-ui/react/button\"\nimport {Icon} from \"@qualcomm-ui/react/icon\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuButtonProps extends Omit<ButtonProps, \"endIcon\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuButton({\n children,\n density,\n size,\n ...props\n}: MenuButtonProps): ReactElement {\n const qdsMenuContext = useQdsMenuContext()\n const resolvedSize = size ?? qdsMenuContext.size\n\n const mergedProps = mergeProps(qdsMenuContext.getButtonBindings(), props)\n return (\n <Button {...mergedProps} density={density} size={resolvedSize}>\n {children}\n <Icon\n {...qdsMenuContext.getIndicatorBindings()}\n icon={ChevronDown}\n size={resolvedSize}\n />\n </Button>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {\n type CheckboxOptionItemProps,\n splitMenuOptionItemProps,\n} from \"@qualcomm-ui/core/menu\"\nimport {\n MenuItemContextProvider,\n MenuOptionItemContextProvider,\n useMenuCheckboxItem,\n} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuCheckboxItemProps\n extends\n CheckboxOptionItemProps,\n Omit<ElementRenderProp<\"button\">, \"onSelect\" | \"value\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuCheckboxItem({\n children,\n ...props\n}: MenuCheckboxItemProps): ReactElement {\n const [optionItemProps, localProps] = splitMenuOptionItemProps({\n ...props,\n type: \"checkbox\",\n })\n const {bindings, optionItemContextValue} =\n useMenuCheckboxItem(optionItemProps)\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n bindings,\n qdsContext.getRadioItemBindings(),\n localProps,\n )\n\n return (\n <MenuOptionItemContextProvider value={optionItemContextValue}>\n <MenuItemContextProvider value={optionItemContextValue}>\n <PolymorphicElement as=\"button\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n </MenuItemContextProvider>\n </MenuOptionItemContextProvider>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {CheckmarkIcon} from \"@qualcomm-ui/react/checkmark\"\nimport {useMenuOptionItemControl} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuCheckboxItemControlProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n *\n * @default `<Checkbox.IndicatorIcon />`\n */\n children?: ReactNode\n}\n\nexport function MenuCheckboxItemControl({\n children = <CheckmarkIcon indeterminate={false} />,\n ...props\n}: MenuCheckboxItemControlProps): ReactElement {\n const contextProps = useMenuOptionItemControl()\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n contextProps,\n qdsContext.getCheckboxItemControlBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {useMenuContent} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuContentProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuContent({\n children,\n id,\n ...props\n}: MenuContentProps): ReactElement | null {\n const contextProps = useMenuContent({id})\n const qdsContext = useQdsMenuContext()\n\n if (contextProps === null) {\n return null\n }\n\n const mergedProps = mergeProps(\n contextProps,\n qdsContext.getContentBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {useMenuContextTrigger} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nexport interface MenuContextTriggerProps extends ElementRenderProp<\"button\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuContextTrigger({\n children,\n id,\n ...props\n}: MenuContextTriggerProps): ReactElement {\n const contextProps = useMenuContextTrigger({id})\n const mergedProps = mergeProps(contextProps, props)\n\n return (\n <PolymorphicElement as=\"button\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {type ReactElement, useMemo} from \"react\"\n\nimport {ChevronDown, type LucideIcon} from \"lucide-react\"\n\nimport {createQdsIconButtonApi} from \"@qualcomm-ui/qds-core/button\"\nimport type {IconButtonProps} from \"@qualcomm-ui/react/button\"\nimport {Icon} from \"@qualcomm-ui/react/icon\"\nimport {normalizeProps} from \"@qualcomm-ui/react-core/machine\"\nimport {PolymorphicElement} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuIconButtonProps extends Omit<IconButtonProps, \"icon\"> {\n /**\n * Optional {@link https://lucide.dev lucide-react} icon displayed alongside the\n * chevron indicator. When omitted, only the chevron is rendered.\n */\n icon?: LucideIcon\n}\n\nexport function MenuIconButton({\n density,\n disabled,\n emphasis,\n icon,\n shape,\n size,\n variant,\n ...props\n}: MenuIconButtonProps): ReactElement {\n const qdsMenuContext = useQdsMenuContext()\n const resolvedSize = size ?? qdsMenuContext.size\n\n const api = useMemo(\n () =>\n createQdsIconButtonApi(\n {density, disabled, emphasis, shape, size: resolvedSize, variant},\n normalizeProps,\n ),\n [density, disabled, emphasis, resolvedSize, shape, variant],\n )\n\n const mergedProps = mergeProps(\n api.getRootBindings(),\n qdsMenuContext.getButtonBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"button\" {...mergedProps}>\n {icon && <Icon icon={icon} {...api.getIconBindings()} />}\n <Icon\n {...qdsMenuContext.getIndicatorBindings()}\n icon={ChevronDown}\n size={resolvedSize}\n />\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement} from \"react\"\n\nimport {\n InlineIconButton,\n type InlineIconButtonProps,\n} from \"@qualcomm-ui/react/inline-icon-button\"\n\nexport interface MenuInlineIconButtonProps extends InlineIconButtonProps {}\n\nexport function MenuInlineIconButton(\n props: MenuInlineIconButtonProps,\n): ReactElement {\n return <InlineIconButton {...props} />\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {type ItemProps, splitMenuItemProps} from \"@qualcomm-ui/core/menu\"\nimport {\n MenuItemContextProvider,\n useMenuItem,\n} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemProps\n extends ItemProps, Omit<ElementRenderProp<\"button\">, \"onSelect\" | \"value\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuItem({children, ...props}: MenuItemProps): ReactElement {\n const [menuItemProps, localProps] = splitMenuItemProps(props)\n const {bindings, itemContextValue} = useMenuItem(menuItemProps)\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n bindings,\n qdsContext.getItemBindings(),\n localProps,\n )\n\n return (\n <MenuItemContextProvider value={itemContextValue}>\n <PolymorphicElement as=\"button\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n </MenuItemContextProvider>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemAccessoryProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\n// TODO: can probably remove this component\nexport function MenuItemAccessory({\n children,\n ...props\n}: MenuItemAccessoryProps): ReactElement {\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n qdsContext.getMenuItemAccessoryBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemCommandProps extends ElementRenderProp<\"kbd\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuItemCommand(props: MenuItemCommandProps): ReactElement {\n const context = useQdsMenuContext()\n const mergedProps = mergeProps(context.getItemCommandBindings(), props)\n\n return <PolymorphicElement as=\"kbd\" {...mergedProps} />\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemDescriptionProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuItemDescription({\n children,\n ...props\n}: MenuItemDescriptionProps): ReactElement {\n const qdsMenuContext = useQdsMenuContext()\n\n const mergedProps = mergeProps(\n qdsMenuContext.getMenuItemDescriptionBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {\n MenuItemGroupContextProvider,\n useMenuItemGroup,\n} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemGroupProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n\n /**\n * id for this item group.\n */\n id?: string\n}\n\nexport function MenuItemGroup({\n children,\n id,\n ...props\n}: MenuItemGroupProps): ReactElement {\n const {bindings, itemGroupContextValue} = useMenuItemGroup({id})\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n bindings,\n qdsContext.getItemGroupBindings(),\n props,\n )\n\n return (\n <MenuItemGroupContextProvider value={itemGroupContextValue}>\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n </MenuItemGroupContextProvider>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {useMenuItemGroupLabel} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemGroupLabelProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuItemGroupLabel({\n children,\n ...props\n}: MenuItemGroupLabelProps): ReactElement {\n const bindings = useMenuItemGroupLabel()\n const qdsContext = useQdsMenuContext()\n\n const mergedProps = mergeProps(\n bindings,\n qdsContext.getItemGroupLabelBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {Check} from \"lucide-react\"\n\nimport {Icon} from \"@qualcomm-ui/react/icon\"\nimport {useMenuItemIndicator} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemIndicatorProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuItemIndicator({\n children,\n ...props\n}: MenuItemIndicatorProps): ReactElement {\n const contextProps = useMenuItemIndicator()\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n contextProps,\n qdsContext.getItemIndicatorBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n <Icon icon={Check} />\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {useMenuItemLabel} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemLabelProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuItemLabel({\n children,\n ...props\n}: MenuItemLabelProps): ReactElement {\n const contextProps = useMenuItemLabel()\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n contextProps,\n qdsContext.getItemLabelBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {IconOrNode} from \"@qualcomm-ui/react/icon\"\nimport type {LucideIconOrElement} from \"@qualcomm-ui/react-core/lucide\"\nimport type {ElementRenderProp} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemStartIconProps extends ElementRenderProp<\"span\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n\n /**\n * lucide-react icon or JSX Element.\n */\n icon: LucideIconOrElement\n}\n\nexport function MenuItemStartIcon(props: MenuItemStartIconProps): ReactElement {\n const context = useQdsMenuContext()\n const mergedProps = mergeProps(context.getItemStartIconBindings(), {}, props)\n\n return <IconOrNode {...mergedProps} />\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {useMenuPositioner} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nexport interface MenuPositionerProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\n/**\n * A container that positions the menu relative to its anchor element. Renders a\n * `<div>` element by default.\n */\nexport function MenuPositioner({\n children,\n id,\n ...props\n}: MenuPositionerProps): ReactElement | null {\n const contextProps = useMenuPositioner({id})\n if (!contextProps) {\n return null\n }\n const mergedProps = mergeProps(contextProps, props)\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {type ItemProps, splitMenuItemProps} from \"@qualcomm-ui/core/menu\"\nimport {\n MenuItemContextProvider,\n MenuOptionItemContextProvider,\n useMenuRadioItem,\n} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuRadioItemProps\n extends ItemProps, Omit<ElementRenderProp<\"button\">, \"onSelect\" | \"value\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuRadioItem({\n children,\n ...props\n}: MenuRadioItemProps): ReactElement {\n const [radioItemProps, localProps] = splitMenuItemProps(props)\n const {bindings, optionItemContextValue} = useMenuRadioItem(radioItemProps)\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n bindings,\n qdsContext.getRadioItemBindings(),\n localProps,\n )\n\n return (\n <MenuOptionItemContextProvider value={optionItemContextValue}>\n <MenuItemContextProvider value={optionItemContextValue}>\n <PolymorphicElement as=\"button\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n </MenuItemContextProvider>\n </MenuOptionItemContextProvider>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {useMenuOptionItemControl} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuRadioItemControlProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuRadioItemControl({\n children,\n ...props\n}: MenuRadioItemControlProps): ReactElement {\n const contextProps = useMenuOptionItemControl()\n const qdsContext = useQdsMenuContext()\n\n const mergedProps = mergeProps(\n contextProps,\n qdsContext.getRadioItemControlBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport type {RadioItemGroupContext} from \"@qualcomm-ui/core/menu\"\nimport {\n MenuRadioItemGroupContextProvider,\n useMenuRadioItemGroup,\n} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport type {Optional} from \"@qualcomm-ui/utils/guard\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuRadioItemGroupProps\n extends Optional<RadioItemGroupContext, \"id\">, ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuRadioItemGroup({\n children,\n id,\n onValueChange,\n value,\n ...props\n}: MenuRadioItemGroupProps): ReactElement {\n const {bindings, itemGroupContextValue} = useMenuRadioItemGroup({\n id,\n onValueChange,\n value,\n })\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n bindings,\n qdsContext.getItemGroupBindings(),\n props,\n )\n\n return (\n <MenuRadioItemGroupContextProvider value={itemGroupContextValue}>\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n </MenuRadioItemGroupContextProvider>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {type ReactElement, type ReactNode, useMemo} from \"react\"\n\nimport type {MenuApiProps} from \"@qualcomm-ui/core/menu\"\nimport {\n type PresenceApiProps,\n splitPresenceProps,\n} from \"@qualcomm-ui/core/presence\"\nimport {\n createQdsMenuApi,\n type QdsMenuApiProps,\n} from \"@qualcomm-ui/qds-core/menu\"\nimport {normalizeProps} from \"@qualcomm-ui/react-core/machine\"\nimport {\n MenuContextProvider,\n MenuMachineContextProvider,\n MenuTriggerContextProvider,\n useMenu,\n} from \"@qualcomm-ui/react-core/menu\"\nimport {\n PresenceContextProvider,\n usePresence,\n} from \"@qualcomm-ui/react-core/presence\"\nimport type {Optional} from \"@qualcomm-ui/utils/guard\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {QdsMenuContextProvider, useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuRootProps\n extends Optional<MenuApiProps, \"id\">, PresenceApiProps, QdsMenuApiProps {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children: ReactNode\n}\n\nexport function MenuRoot({\n children,\n size,\n ...props\n}: MenuRootProps): ReactElement {\n const [presenceProps, menuProps] = splitPresenceProps(props)\n const {api, machine, triggerItemContext} = useMenu(menuProps)\n const presenceApi = usePresence(\n mergeProps({present: api.open}, presenceProps),\n )\n const qdsContext = useQdsMenuContext(false)\n const finalSize = size ?? qdsContext?.size\n const qdsContextValue = useMemo(\n () => createQdsMenuApi({size: finalSize}, normalizeProps),\n [finalSize],\n )\n\n return (\n <MenuTriggerContextProvider value={triggerItemContext}>\n <MenuMachineContextProvider value={machine}>\n <MenuContextProvider value={api}>\n <PresenceContextProvider value={presenceApi}>\n <QdsMenuContextProvider value={qdsContextValue}>\n {children}\n </QdsMenuContextProvider>\n </PresenceContextProvider>\n </MenuContextProvider>\n </MenuMachineContextProvider>\n </MenuTriggerContextProvider>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {useMenuSeparator} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuSeparatorProps extends ElementRenderProp<\"hr\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuSeparator({\n children,\n ...props\n}: MenuSeparatorProps): ReactElement {\n const contextProps = useMenuSeparator()\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n contextProps,\n qdsContext.getSeparatorBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"hr\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactNode} from \"react\"\n\nimport type {MenuTriggerBindings} from \"@qualcomm-ui/core/menu\"\nimport {useMenuTrigger} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type BindingRenderProp,\n bindingRenderProp,\n} from \"@qualcomm-ui/react-core/system\"\n\nexport interface MenuTriggerProps {\n /**\n * React children {@link\n * https://react-next.qui.qualcomm.com/render-props#binding-render-prop\n * Render Prop}\n *\n * @inheritDoc\n */\n children: BindingRenderProp<MenuTriggerBindings>\n\n /**\n * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n * omitted, a unique identifier will be automatically generated for accessibility.\n */\n id?: string\n}\n\n/**\n * Enhances a child element to open the menu when clicked. Requires a single child\n * element.\n *\n * @example\n * ```tsx\n * <Menu.Trigger>\n * <button>Open</button>\n * </Menu.Trigger>\n * ```\n */\nexport function MenuTrigger({children, id}: MenuTriggerProps): ReactNode {\n const menuTriggerBindings = useMenuTrigger({id})\n\n return bindingRenderProp(children, menuTriggerBindings)\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {ChevronRight} from \"lucide-react\"\n\nimport {type ItemProps, splitMenuItemProps} from \"@qualcomm-ui/core/menu\"\nimport {IconOrNode} from \"@qualcomm-ui/react/icon\"\nimport type {LucideIconOrElement} from \"@qualcomm-ui/react-core/lucide\"\nimport {\n MenuItemContextProvider,\n useMenuTriggerItem,\n} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuTriggerItemProps\n extends ItemProps, Omit<ElementRenderProp<\"button\">, \"onSelect\" | \"value\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n\n /**\n * Icon to display next to the label, which indicates that this menu item is a\n * trigger for a submenu.\n *\n * @default ChevronRight\n */\n icon?: LucideIconOrElement\n}\n\n/**\n * A menu item that triggers a submenu on hover or click. Renders a `<button>`\n * element by default.\n */\nexport function MenuTriggerItem({\n children,\n icon = ChevronRight,\n id,\n ...props\n}: MenuTriggerItemProps): ReactElement {\n const [menuItemProps, localProps] = splitMenuItemProps(props)\n const context = useMenuTriggerItem({id, ...menuItemProps})\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n context.bindings ?? {},\n qdsContext.getItemBindings(),\n localProps,\n )\n\n return (\n <MenuItemContextProvider value={context.itemContextValue}>\n <PolymorphicElement as=\"button\" {...mergedProps}>\n {children}\n <div {...qdsContext.getTriggerItemIndicatorBindings()}>\n <IconOrNode icon={icon} />\n </div>\n </PolymorphicElement>\n </MenuItemContextProvider>\n )\n}\n","import {MenuButton, type MenuButtonProps} from \"./menu-button\"\nimport {\n MenuCheckboxItem,\n type MenuCheckboxItemProps,\n} from \"./menu-checkbox-item\"\nimport {\n MenuCheckboxItemControl,\n type MenuCheckboxItemControlProps,\n} from \"./menu-checkbox-item-control\"\nimport {MenuContent, type MenuContentProps} from \"./menu-content\"\nimport {\n MenuContextTrigger,\n type MenuContextTriggerProps,\n} from \"./menu-context-trigger\"\nimport {MenuIconButton, type MenuIconButtonProps} from \"./menu-icon-button\"\nimport {\n MenuInlineIconButton,\n type MenuInlineIconButtonProps,\n} from \"./menu-inline-icon-button\"\nimport {MenuItem, type MenuItemProps} from \"./menu-item\"\nimport {\n MenuItemAccessory,\n type MenuItemAccessoryProps,\n} from \"./menu-item-accessory\"\nimport {MenuItemCommand, type MenuItemCommandProps} from \"./menu-item-command\"\nimport {\n MenuItemDescription,\n type MenuItemDescriptionProps,\n} from \"./menu-item-description\"\nimport {MenuItemGroup, type MenuItemGroupProps} from \"./menu-item-group\"\nimport {\n MenuItemGroupLabel,\n type MenuItemGroupLabelProps,\n} from \"./menu-item-group-label\"\nimport {\n MenuItemIndicator,\n type MenuItemIndicatorProps,\n} from \"./menu-item-indicator\"\nimport {MenuItemLabel, type MenuItemLabelProps} from \"./menu-item-label\"\nimport {\n MenuItemStartIcon,\n type MenuItemStartIconProps,\n} from \"./menu-item-start-icon\"\nimport {MenuPositioner, type MenuPositionerProps} from \"./menu-positioner\"\nimport {MenuRadioItem, type MenuRadioItemProps} from \"./menu-radio-item\"\nimport {\n MenuRadioItemControl,\n type MenuRadioItemControlProps,\n} from \"./menu-radio-item-control\"\nimport {\n MenuRadioItemGroup,\n type MenuRadioItemGroupProps,\n} from \"./menu-radio-item-group\"\nimport {MenuRoot, type MenuRootProps} from \"./menu-root\"\nimport {MenuSeparator, type MenuSeparatorProps} from \"./menu-separator\"\nimport {MenuTrigger, type MenuTriggerProps} from \"./menu-trigger\"\nimport {MenuTriggerItem, type MenuTriggerItemProps} from \"./menu-trigger-item\"\n\nexport * from \"./qds-menu-context\"\n\nexport type {\n MenuButtonProps,\n MenuCheckboxItemControlProps,\n MenuCheckboxItemProps,\n MenuContentProps,\n MenuContextTriggerProps,\n MenuIconButtonProps,\n MenuInlineIconButtonProps,\n MenuItemAccessoryProps,\n MenuItemCommandProps,\n MenuItemDescriptionProps,\n MenuItemGroupLabelProps,\n MenuItemGroupProps,\n MenuItemIndicatorProps,\n MenuItemLabelProps,\n MenuItemStartIconProps,\n MenuItemProps,\n MenuPositionerProps,\n MenuRadioItemControlProps,\n MenuRadioItemGroupProps,\n MenuRadioItemProps,\n MenuRootProps,\n MenuSeparatorProps,\n MenuTriggerItemProps,\n MenuTriggerProps,\n}\n\ntype MenuComponent = {\n Button: typeof MenuButton\n CheckboxItem: typeof MenuCheckboxItem\n CheckboxItemControl: typeof MenuCheckboxItemControl\n Content: typeof MenuContent\n ContextTrigger: typeof MenuContextTrigger\n IconButton: typeof MenuIconButton\n InlineIconButton: typeof MenuInlineIconButton\n Item: typeof MenuItem\n ItemAccessory: typeof MenuItemAccessory\n ItemCommand: typeof MenuItemCommand\n ItemDescription: typeof MenuItemDescription\n ItemGroup: typeof MenuItemGroup\n ItemGroupLabel: typeof MenuItemGroupLabel\n ItemIndicator: typeof MenuItemIndicator\n ItemLabel: typeof MenuItemLabel\n ItemStartIcon: typeof MenuItemStartIcon\n Positioner: typeof MenuPositioner\n RadioItem: typeof MenuRadioItem\n RadioItemControl: typeof MenuRadioItemControl\n RadioItemGroup: typeof MenuRadioItemGroup\n Root: typeof MenuRoot\n Separator: typeof MenuSeparator\n Trigger: typeof MenuTrigger\n TriggerItem: typeof MenuTriggerItem\n}\n\nexport const Menu: MenuComponent = {\n Button: MenuButton,\n CheckboxItem: MenuCheckboxItem,\n CheckboxItemControl: MenuCheckboxItemControl,\n Content: MenuContent,\n ContextTrigger: MenuContextTrigger,\n IconButton: MenuIconButton,\n InlineIconButton: MenuInlineIconButton,\n Item: MenuItem,\n ItemAccessory: MenuItemAccessory,\n ItemCommand: MenuItemCommand,\n ItemDescription: MenuItemDescription,\n ItemGroup: MenuItemGroup,\n ItemGroupLabel: MenuItemGroupLabel,\n ItemIndicator: MenuItemIndicator,\n ItemLabel: MenuItemLabel,\n ItemStartIcon: MenuItemStartIcon,\n Positioner: MenuPositioner,\n RadioItem: MenuRadioItem,\n RadioItemControl: MenuRadioItemControl,\n RadioItemGroup: MenuRadioItemGroup,\n Root: MenuRoot,\n Separator: MenuSeparator,\n Trigger: MenuTrigger,\n TriggerItem: MenuTriggerItem,\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["QdsMenuApi","createGuardedContext","QdsMenuContextProvider","useQdsMenuContext","hookName","providerName","strict","ReactElement","ReactNode","ChevronDown","Button","ButtonProps","Icon","mergeProps","useQdsMenuContext","MenuButtonProps","Omit","children","MenuButton","t0","$","_c","density","size","props","qdsMenuContext","resolvedSize","mergedProps","getButtonBindings","t1","getIndicatorBindings","t2","t3","ReactElement","ReactNode","CheckboxOptionItemProps","splitMenuOptionItemProps","MenuItemContextProvider","MenuOptionItemContextProvider","useMenuCheckboxItem","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuCheckboxItemProps","Omit","children","MenuCheckboxItem","t0","$","_c","props","optionItemProps","localProps","type","bindings","optionItemContextValue","qdsContext","mergedProps","getRadioItemBindings","t1","t2","t3","ReactElement","ReactNode","CheckmarkIcon","useMenuOptionItemControl","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuCheckboxItemControlProps","children","MenuCheckboxItemControl","props","contextProps","qdsContext","mergedProps","getCheckboxItemControlBindings","ReactElement","ReactNode","useMenuContent","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuContentProps","children","MenuContent","t0","$","_c","id","props","t1","contextProps","qdsContext","mergedProps","getContentBindings","t2","ReactElement","ReactNode","useMenuContextTrigger","ElementRenderProp","PolymorphicElement","mergeProps","MenuContextTriggerProps","children","MenuContextTrigger","t0","$","_c","id","props","t1","contextProps","mergedProps","t2","ReactElement","useMemo","ChevronDown","LucideIcon","createQdsIconButtonApi","resolveButtonPropsWithGroup","IconButtonProps","useButtonGroupContext","Icon","normalizeProps","PolymorphicElement","mergeProps","useQdsMenuContext","MenuIconButtonProps","Omit","icon","MenuIconButton","t0","$","_c","density","disabled","emphasis","shape","size","variant","props","qdsMenuContext","t1","t2","t3","resolvedDensity","resolvedDisabled","resolvedEmphasis","resolvedSize","resolvedVariant","t4","api","mergedProps","getRootBindings","getButtonBindings","t5","getIconBindings","t6","getIndicatorBindings","t7","t8","ReactElement","InlineIconButton","InlineIconButtonProps","MenuInlineIconButtonProps","MenuInlineIconButton","props","$","_c","t0","ReactElement","ReactNode","ItemProps","splitMenuItemProps","MenuItemContextProvider","useMenuItem","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuItemProps","Omit","children","MenuItem","t0","$","_c","props","menuItemProps","localProps","bindings","itemContextValue","qdsContext","mergedProps","getItemBindings","t1","t2","ReactElement","ReactNode","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuItemAccessoryProps","children","MenuItemAccessory","t0","$","_c","props","qdsContext","mergedProps","getMenuItemAccessoryBindings","t1","ReactElement","ReactNode","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuItemCommandProps","children","MenuItemCommand","props","$","_c","context","t0","getItemCommandBindings","mergedProps","t1","ReactElement","ReactNode","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuItemDescriptionProps","children","MenuItemDescription","t0","$","_c","props","qdsMenuContext","mergedProps","getMenuItemDescriptionBindings","t1","ReactElement","ReactNode","MenuItemGroupContextProvider","useMenuItemGroup","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuItemGroupProps","children","id","MenuItemGroup","t0","$","_c","props","t1","bindings","itemGroupContextValue","qdsContext","mergedProps","getItemGroupBindings","t2","t3","ReactElement","ReactNode","useMenuItemGroupLabel","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuItemGroupLabelProps","children","MenuItemGroupLabel","t0","$","_c","props","bindings","qdsContext","mergedProps","getItemGroupLabelBindings","t1","ReactElement","ReactNode","Check","Icon","useMenuItemIndicator","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuItemIndicatorProps","children","MenuItemIndicator","t0","$","_c","props","contextProps","qdsContext","mergedProps","getItemIndicatorBindings","t1","Symbol","for","t2","ReactElement","ReactNode","useMenuItemLabel","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuItemLabelProps","children","MenuItemLabel","t0","$","_c","props","contextProps","qdsContext","mergedProps","getItemLabelBindings","t1","ReactElement","ReactNode","IconOrNode","LucideIconOrElement","ElementRenderProp","mergeProps","useQdsMenuContext","MenuItemStartIconProps","children","icon","MenuItemStartIcon","props","$","_c","context","t0","getItemStartIconBindings","mergedProps","t1","ReactElement","ReactNode","useMenuPositioner","ElementRenderProp","PolymorphicElement","mergeProps","MenuPositionerProps","children","MenuPositioner","t0","$","_c","id","props","t1","contextProps","mergedProps","t2","ReactElement","ReactNode","ItemProps","splitMenuItemProps","MenuItemContextProvider","MenuOptionItemContextProvider","useMenuRadioItem","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuRadioItemProps","Omit","children","MenuRadioItem","t0","$","_c","props","radioItemProps","localProps","bindings","optionItemContextValue","qdsContext","mergedProps","getRadioItemBindings","t1","t2","t3","ReactElement","ReactNode","useMenuOptionItemControl","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuRadioItemControlProps","children","MenuRadioItemControl","t0","$","_c","props","contextProps","qdsContext","mergedProps","getRadioItemControlBindings","t1","ReactElement","ReactNode","RadioItemGroupContext","MenuRadioItemGroupContextProvider","useMenuRadioItemGroup","ElementRenderProp","PolymorphicElement","Optional","mergeProps","useQdsMenuContext","MenuRadioItemGroupProps","children","MenuRadioItemGroup","t0","$","_c","id","onValueChange","value","props","t1","bindings","itemGroupContextValue","qdsContext","mergedProps","getItemGroupBindings","t2","t3","ReactElement","ReactNode","useMemo","MenuApiProps","PresenceApiProps","splitPresenceProps","createQdsMenuApi","QdsMenuApiProps","normalizeProps","MenuContextProvider","MenuMachineContextProvider","MenuTriggerContextProvider","useMenu","PresenceContextProvider","usePresence","Optional","mergeProps","QdsMenuContextProvider","useQdsMenuContext","MenuRootProps","children","MenuRoot","t0","$","_c","size","props","presenceProps","menuProps","api","machine","triggerItemContext","presenceApi","present","open","qdsContext","finalSize","t1","qdsContextValue","t2","t3","t4","t5","t6","ReactElement","ReactNode","useMenuSeparator","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuSeparatorProps","children","MenuSeparator","t0","$","_c","props","contextProps","qdsContext","mergedProps","getSeparatorBindings","t1","ReactNode","MenuTriggerBindings","useMenuTrigger","BindingRenderProp","bindingRenderProp","MenuTriggerProps","children","id","MenuTrigger","t0","$","_c","t1","menuTriggerBindings","t2","ReactElement","ReactNode","QdsButtonApiProps","getQdsSplitButtonBindings","QdsSplitButtonApiProps","Button","ButtonProps","normalizeProps","ElementRenderProp","PolymorphicElement","mergeProps","MenuIconButton","MenuIconButtonProps","MenuTrigger","MenuSplitButtonProps","Omit","actionProps","children","endIcon","onClick","startIcon","triggerProps","MenuSplitButton","t0","$","_c","buttonProps","t1","t2","ariaLabel","ariaLabelledBy","t3","density","disabled","emphasis","t4","t5","size","t6","t7","variant","props","mergedProps","ReactElement","ReactNode","ChevronRight","ItemProps","splitMenuItemProps","IconOrNode","LucideIconOrElement","MenuItemContextProvider","useMenuTriggerItem","ElementRenderProp","PolymorphicElement","mergeProps","useQdsMenuContext","MenuTriggerItemProps","Omit","children","icon","MenuTriggerItem","t0","$","_c","t1","id","props","undefined","menuItemProps","localProps","context","qdsContext","mergedProps","bindings","getItemBindings","t2","itemContextValue","t3","getTriggerItemIndicatorBindings","t4","t5","t6","t7","FunctionComponent","MenuButton","MenuButtonProps","MenuCheckboxItem","MenuCheckboxItemProps","MenuCheckboxItemControl","MenuCheckboxItemControlProps","MenuContent","MenuContentProps","MenuContextTrigger","MenuContextTriggerProps","MenuIconButton","MenuIconButtonProps","MenuInlineIconButton","MenuInlineIconButtonProps","MenuItem","MenuItemProps","MenuItemAccessory","MenuItemAccessoryProps","MenuItemCommand","MenuItemCommandProps","MenuItemDescription","MenuItemDescriptionProps","MenuItemGroup","MenuItemGroupProps","MenuItemGroupLabel","MenuItemGroupLabelProps","MenuItemIndicator","MenuItemIndicatorProps","MenuItemLabel","MenuItemLabelProps","MenuItemStartIcon","MenuItemStartIconProps","MenuPositioner","MenuPositionerProps","MenuRadioItem","MenuRadioItemProps","MenuRadioItemControl","MenuRadioItemControlProps","MenuRadioItemGroup","MenuRadioItemGroupProps","MenuRoot","MenuRootProps","MenuSeparator","MenuSeparatorProps","MenuSplitButton","MenuSplitButtonProps","MenuTrigger","MenuTriggerProps","MenuTriggerItem","MenuTriggerItemProps","MenuComponent","Button","CheckboxItem","CheckboxItemControl","Content","ContextTrigger","IconButton","InlineIconButton","Item","ItemAccessory","ItemCommand","ItemDescription","ItemGroup","ItemGroupLabel","ItemIndicator","ItemLabel","ItemStartIcon","Positioner","RadioItem","RadioItemControl","RadioItemGroup","Root","Separator","SplitButton","Trigger","TriggerItem","Menu"],"sources":["../../src/menu/qds-menu-context.ts","../../src/menu/menu-button.tsx","../../src/menu/menu-checkbox-item.tsx","../../src/menu/menu-checkbox-item-control.tsx","../../src/menu/menu-content.tsx","../../src/menu/menu-context-trigger.tsx","../../src/menu/menu-icon-button.tsx","../../src/menu/menu-inline-icon-button.tsx","../../src/menu/menu-item.tsx","../../src/menu/menu-item-accessory.tsx","../../src/menu/menu-item-command.tsx","../../src/menu/menu-item-description.tsx","../../src/menu/menu-item-group.tsx","../../src/menu/menu-item-group-label.tsx","../../src/menu/menu-item-indicator.tsx","../../src/menu/menu-item-label.tsx","../../src/menu/menu-item-start-icon.tsx","../../src/menu/menu-positioner.tsx","../../src/menu/menu-radio-item.tsx","../../src/menu/menu-radio-item-control.tsx","../../src/menu/menu-radio-item-group.tsx","../../src/menu/menu-root.tsx","../../src/menu/menu-separator.tsx","../../src/menu/menu-trigger.tsx","../../src/menu/menu-split-button.tsx","../../src/menu/menu-trigger-item.tsx","../../src/menu/index.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {QdsMenuApi} from \"@qualcomm-ui/qds-core/menu\"\nimport {createGuardedContext} from \"@qualcomm-ui/react-core/context\"\n\nexport const [QdsMenuContextProvider, useQdsMenuContext] =\n createGuardedContext<QdsMenuApi>({\n hookName: \"useQdsMenuContext\",\n providerName: \"<QdsMenuContextProvider>\",\n strict: true,\n })\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {ChevronDown} from \"lucide-react\"\n\nimport {Button, type ButtonProps} from \"@qualcomm-ui/react/button\"\nimport {Icon} from \"@qualcomm-ui/react/icon\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuButtonProps extends Omit<ButtonProps, \"endIcon\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuButton({\n children,\n density,\n size,\n ...props\n}: MenuButtonProps): ReactElement {\n const qdsMenuContext = useQdsMenuContext()\n const resolvedSize = size ?? qdsMenuContext.size\n\n const mergedProps = mergeProps(qdsMenuContext.getButtonBindings(), props)\n return (\n <Button {...mergedProps} density={density} size={resolvedSize}>\n {children}\n <Icon\n {...qdsMenuContext.getIndicatorBindings()}\n icon={ChevronDown}\n size={resolvedSize}\n />\n </Button>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {\n type CheckboxOptionItemProps,\n splitMenuOptionItemProps,\n} from \"@qualcomm-ui/core/menu\"\nimport {\n MenuItemContextProvider,\n MenuOptionItemContextProvider,\n useMenuCheckboxItem,\n} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuCheckboxItemProps\n extends\n CheckboxOptionItemProps,\n Omit<ElementRenderProp<\"button\">, \"onSelect\" | \"value\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuCheckboxItem({\n children,\n ...props\n}: MenuCheckboxItemProps): ReactElement {\n const [optionItemProps, localProps] = splitMenuOptionItemProps({\n ...props,\n type: \"checkbox\",\n })\n const {bindings, optionItemContextValue} =\n useMenuCheckboxItem(optionItemProps)\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n bindings,\n qdsContext.getRadioItemBindings(),\n localProps,\n )\n\n return (\n <MenuOptionItemContextProvider value={optionItemContextValue}>\n <MenuItemContextProvider value={optionItemContextValue}>\n <PolymorphicElement as=\"button\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n </MenuItemContextProvider>\n </MenuOptionItemContextProvider>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {CheckmarkIcon} from \"@qualcomm-ui/react/checkmark\"\nimport {useMenuOptionItemControl} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuCheckboxItemControlProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n *\n * @default `<Checkbox.IndicatorIcon />`\n */\n children?: ReactNode\n}\n\nexport function MenuCheckboxItemControl({\n children = <CheckmarkIcon indeterminate={false} />,\n ...props\n}: MenuCheckboxItemControlProps): ReactElement {\n const contextProps = useMenuOptionItemControl()\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n contextProps,\n qdsContext.getCheckboxItemControlBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {useMenuContent} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuContentProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuContent({\n children,\n id,\n ...props\n}: MenuContentProps): ReactElement | null {\n const contextProps = useMenuContent({id})\n const qdsContext = useQdsMenuContext()\n\n if (contextProps === null) {\n return null\n }\n\n const mergedProps = mergeProps(\n contextProps,\n qdsContext.getContentBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {useMenuContextTrigger} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nexport interface MenuContextTriggerProps extends ElementRenderProp<\"button\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuContextTrigger({\n children,\n id,\n ...props\n}: MenuContextTriggerProps): ReactElement {\n const contextProps = useMenuContextTrigger({id})\n const mergedProps = mergeProps(contextProps, props)\n\n return (\n <PolymorphicElement as=\"button\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {type ReactElement, useMemo} from \"react\"\n\nimport {ChevronDown, type LucideIcon} from \"lucide-react\"\n\nimport {\n createQdsIconButtonApi,\n resolveButtonPropsWithGroup,\n} from \"@qualcomm-ui/qds-core/button\"\nimport {\n type IconButtonProps,\n useButtonGroupContext,\n} from \"@qualcomm-ui/react/button\"\nimport {Icon} from \"@qualcomm-ui/react/icon\"\nimport {normalizeProps} from \"@qualcomm-ui/react-core/machine\"\nimport {PolymorphicElement} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuIconButtonProps extends Omit<IconButtonProps, \"icon\"> {\n /**\n * Optional {@link https://lucide.dev lucide-react} icon displayed alongside the\n * chevron indicator. When omitted, only the chevron is rendered.\n */\n icon?: LucideIcon\n}\n\nexport function MenuIconButton({\n density,\n disabled,\n emphasis,\n icon,\n shape,\n size,\n variant,\n ...props\n}: MenuIconButtonProps): ReactElement {\n const qdsMenuContext = useQdsMenuContext()\n const {\n density: resolvedDensity,\n disabled: resolvedDisabled,\n emphasis: resolvedEmphasis,\n size: resolvedSize,\n variant: resolvedVariant,\n } = resolveButtonPropsWithGroup(useButtonGroupContext(), {\n density,\n disabled,\n emphasis,\n size: size ?? qdsMenuContext.size,\n variant,\n })\n\n const api = useMemo(\n () =>\n createQdsIconButtonApi(\n {\n density: resolvedDensity,\n disabled: resolvedDisabled,\n emphasis: resolvedEmphasis,\n shape,\n size: resolvedSize,\n variant: resolvedVariant,\n },\n normalizeProps,\n ),\n [\n resolvedDensity,\n resolvedDisabled,\n resolvedEmphasis,\n shape,\n resolvedSize,\n resolvedVariant,\n ],\n )\n\n const mergedProps = mergeProps(\n api.getRootBindings(),\n qdsMenuContext.getButtonBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"button\" {...mergedProps}>\n {icon && <Icon icon={icon} {...api.getIconBindings()} />}\n <Icon\n {...qdsMenuContext.getIndicatorBindings()}\n icon={ChevronDown}\n size={resolvedSize}\n />\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement} from \"react\"\n\nimport {\n InlineIconButton,\n type InlineIconButtonProps,\n} from \"@qualcomm-ui/react/inline-icon-button\"\n\nexport interface MenuInlineIconButtonProps extends InlineIconButtonProps {}\n\nexport function MenuInlineIconButton(\n props: MenuInlineIconButtonProps,\n): ReactElement {\n return <InlineIconButton {...props} />\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {type ItemProps, splitMenuItemProps} from \"@qualcomm-ui/core/menu\"\nimport {\n MenuItemContextProvider,\n useMenuItem,\n} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemProps\n extends ItemProps, Omit<ElementRenderProp<\"button\">, \"onSelect\" | \"value\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuItem({children, ...props}: MenuItemProps): ReactElement {\n const [menuItemProps, localProps] = splitMenuItemProps(props)\n const {bindings, itemContextValue} = useMenuItem(menuItemProps)\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n bindings,\n qdsContext.getItemBindings(),\n localProps,\n )\n\n return (\n <MenuItemContextProvider value={itemContextValue}>\n <PolymorphicElement as=\"button\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n </MenuItemContextProvider>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemAccessoryProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\n// TODO: can probably remove this component\nexport function MenuItemAccessory({\n children,\n ...props\n}: MenuItemAccessoryProps): ReactElement {\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n qdsContext.getMenuItemAccessoryBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemCommandProps extends ElementRenderProp<\"kbd\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuItemCommand(props: MenuItemCommandProps): ReactElement {\n const context = useQdsMenuContext()\n const mergedProps = mergeProps(context.getItemCommandBindings(), props)\n\n return <PolymorphicElement as=\"kbd\" {...mergedProps} />\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemDescriptionProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuItemDescription({\n children,\n ...props\n}: MenuItemDescriptionProps): ReactElement {\n const qdsMenuContext = useQdsMenuContext()\n\n const mergedProps = mergeProps(\n qdsMenuContext.getMenuItemDescriptionBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {\n MenuItemGroupContextProvider,\n useMenuItemGroup,\n} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemGroupProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n\n /**\n * id for this item group.\n */\n id?: string\n}\n\nexport function MenuItemGroup({\n children,\n id,\n ...props\n}: MenuItemGroupProps): ReactElement {\n const {bindings, itemGroupContextValue} = useMenuItemGroup({id})\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n bindings,\n qdsContext.getItemGroupBindings(),\n props,\n )\n\n return (\n <MenuItemGroupContextProvider value={itemGroupContextValue}>\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n </MenuItemGroupContextProvider>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {useMenuItemGroupLabel} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemGroupLabelProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuItemGroupLabel({\n children,\n ...props\n}: MenuItemGroupLabelProps): ReactElement {\n const bindings = useMenuItemGroupLabel()\n const qdsContext = useQdsMenuContext()\n\n const mergedProps = mergeProps(\n bindings,\n qdsContext.getItemGroupLabelBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {Check} from \"lucide-react\"\n\nimport {Icon} from \"@qualcomm-ui/react/icon\"\nimport {useMenuItemIndicator} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemIndicatorProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuItemIndicator({\n children,\n ...props\n}: MenuItemIndicatorProps): ReactElement {\n const contextProps = useMenuItemIndicator()\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n contextProps,\n qdsContext.getItemIndicatorBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n <Icon icon={Check} />\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {useMenuItemLabel} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemLabelProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuItemLabel({\n children,\n ...props\n}: MenuItemLabelProps): ReactElement {\n const contextProps = useMenuItemLabel()\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n contextProps,\n qdsContext.getItemLabelBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {IconOrNode} from \"@qualcomm-ui/react/icon\"\nimport type {LucideIconOrElement} from \"@qualcomm-ui/react-core/lucide\"\nimport type {ElementRenderProp} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuItemStartIconProps extends ElementRenderProp<\"span\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n\n /**\n * lucide-react icon or JSX Element.\n */\n icon: LucideIconOrElement\n}\n\nexport function MenuItemStartIcon(props: MenuItemStartIconProps): ReactElement {\n const context = useQdsMenuContext()\n const mergedProps = mergeProps(context.getItemStartIconBindings(), {}, props)\n\n return <IconOrNode {...mergedProps} />\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {useMenuPositioner} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nexport interface MenuPositionerProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\n/**\n * A container that positions the menu relative to its anchor element. Renders a\n * `<div>` element by default.\n */\nexport function MenuPositioner({\n children,\n id,\n ...props\n}: MenuPositionerProps): ReactElement | null {\n const contextProps = useMenuPositioner({id})\n if (!contextProps) {\n return null\n }\n const mergedProps = mergeProps(contextProps, props)\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {type ItemProps, splitMenuItemProps} from \"@qualcomm-ui/core/menu\"\nimport {\n MenuItemContextProvider,\n MenuOptionItemContextProvider,\n useMenuRadioItem,\n} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuRadioItemProps\n extends ItemProps, Omit<ElementRenderProp<\"button\">, \"onSelect\" | \"value\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuRadioItem({\n children,\n ...props\n}: MenuRadioItemProps): ReactElement {\n const [radioItemProps, localProps] = splitMenuItemProps(props)\n const {bindings, optionItemContextValue} = useMenuRadioItem(radioItemProps)\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n bindings,\n qdsContext.getRadioItemBindings(),\n localProps,\n )\n\n return (\n <MenuOptionItemContextProvider value={optionItemContextValue}>\n <MenuItemContextProvider value={optionItemContextValue}>\n <PolymorphicElement as=\"button\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n </MenuItemContextProvider>\n </MenuOptionItemContextProvider>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {useMenuOptionItemControl} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuRadioItemControlProps extends ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuRadioItemControl({\n children,\n ...props\n}: MenuRadioItemControlProps): ReactElement {\n const contextProps = useMenuOptionItemControl()\n const qdsContext = useQdsMenuContext()\n\n const mergedProps = mergeProps(\n contextProps,\n qdsContext.getRadioItemControlBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport type {RadioItemGroupContext} from \"@qualcomm-ui/core/menu\"\nimport {\n MenuRadioItemGroupContextProvider,\n useMenuRadioItemGroup,\n} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport type {Optional} from \"@qualcomm-ui/utils/guard\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuRadioItemGroupProps\n extends Optional<RadioItemGroupContext, \"id\">, ElementRenderProp<\"div\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuRadioItemGroup({\n children,\n id,\n onValueChange,\n value,\n ...props\n}: MenuRadioItemGroupProps): ReactElement {\n const {bindings, itemGroupContextValue} = useMenuRadioItemGroup({\n id,\n onValueChange,\n value,\n })\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n bindings,\n qdsContext.getItemGroupBindings(),\n props,\n )\n\n return (\n <MenuRadioItemGroupContextProvider value={itemGroupContextValue}>\n <PolymorphicElement as=\"div\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n </MenuRadioItemGroupContextProvider>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {type ReactElement, type ReactNode, useMemo} from \"react\"\n\nimport type {MenuApiProps} from \"@qualcomm-ui/core/menu\"\nimport {\n type PresenceApiProps,\n splitPresenceProps,\n} from \"@qualcomm-ui/core/presence\"\nimport {\n createQdsMenuApi,\n type QdsMenuApiProps,\n} from \"@qualcomm-ui/qds-core/menu\"\nimport {normalizeProps} from \"@qualcomm-ui/react-core/machine\"\nimport {\n MenuContextProvider,\n MenuMachineContextProvider,\n MenuTriggerContextProvider,\n useMenu,\n} from \"@qualcomm-ui/react-core/menu\"\nimport {\n PresenceContextProvider,\n usePresence,\n} from \"@qualcomm-ui/react-core/presence\"\nimport type {Optional} from \"@qualcomm-ui/utils/guard\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {QdsMenuContextProvider, useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuRootProps\n extends Optional<MenuApiProps, \"id\">, PresenceApiProps, QdsMenuApiProps {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children: ReactNode\n}\n\nexport function MenuRoot({\n children,\n size,\n ...props\n}: MenuRootProps): ReactElement {\n const [presenceProps, menuProps] = splitPresenceProps(props)\n const {api, machine, triggerItemContext} = useMenu(menuProps)\n const presenceApi = usePresence(\n mergeProps({present: api.open}, presenceProps),\n )\n const qdsContext = useQdsMenuContext(false)\n const finalSize = size ?? qdsContext?.size\n const qdsContextValue = useMemo(\n () => createQdsMenuApi({size: finalSize}, normalizeProps),\n [finalSize],\n )\n\n return (\n <MenuTriggerContextProvider value={triggerItemContext}>\n <MenuMachineContextProvider value={machine}>\n <MenuContextProvider value={api}>\n <PresenceContextProvider value={presenceApi}>\n <QdsMenuContextProvider value={qdsContextValue}>\n {children}\n </QdsMenuContextProvider>\n </PresenceContextProvider>\n </MenuContextProvider>\n </MenuMachineContextProvider>\n </MenuTriggerContextProvider>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {useMenuSeparator} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuSeparatorProps extends ElementRenderProp<\"hr\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n}\n\nexport function MenuSeparator({\n children,\n ...props\n}: MenuSeparatorProps): ReactElement {\n const contextProps = useMenuSeparator()\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n contextProps,\n qdsContext.getSeparatorBindings(),\n props,\n )\n\n return (\n <PolymorphicElement as=\"hr\" {...mergedProps}>\n {children}\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactNode} from \"react\"\n\nimport type {MenuTriggerBindings} from \"@qualcomm-ui/core/menu\"\nimport {useMenuTrigger} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type BindingRenderProp,\n bindingRenderProp,\n} from \"@qualcomm-ui/react-core/system\"\n\nexport interface MenuTriggerProps {\n /**\n * React children {@link\n * https://react-next.qui.qualcomm.com/render-props#binding-render-prop\n * Render Prop}\n *\n * @inheritDoc\n */\n children: BindingRenderProp<MenuTriggerBindings>\n\n /**\n * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n * omitted, a unique identifier will be automatically generated for accessibility.\n */\n id?: string\n}\n\n/**\n * Enhances a child element to open the menu when clicked. Requires a single child\n * element.\n *\n * @example\n * ```tsx\n * <Menu.Trigger>\n * <button>Open</button>\n * </Menu.Trigger>\n * ```\n */\nexport function MenuTrigger({children, id}: MenuTriggerProps): ReactNode {\n const menuTriggerBindings = useMenuTrigger({id})\n\n return bindingRenderProp(children, menuTriggerBindings)\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport type {QdsButtonApiProps} from \"@qualcomm-ui/qds-core/button\"\nimport {\n getQdsSplitButtonBindings,\n type QdsSplitButtonApiProps,\n} from \"@qualcomm-ui/qds-core/menu\"\nimport {Button, type ButtonProps} from \"@qualcomm-ui/react/button\"\nimport {normalizeProps} from \"@qualcomm-ui/react-core/machine\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {MenuIconButton, type MenuIconButtonProps} from \"./menu-icon-button\"\nimport {MenuTrigger} from \"./menu-trigger\"\n\n/**\n * @since 1.24.0\n */\nexport interface MenuSplitButtonProps\n extends Omit<ElementRenderProp<\"div\">, \"onClick\">, QdsSplitButtonApiProps {\n /**\n * Props applied to the primary action button.\n */\n actionProps?: Omit<ButtonProps, keyof QdsButtonApiProps | \"children\">\n\n /**\n * Content rendered inside the primary action button.\n */\n children?: ReactNode\n\n /**\n * Icon positioned after the primary action label.\n */\n endIcon?: ButtonProps[\"endIcon\"]\n\n /**\n * Called when the primary action button is clicked.\n */\n onClick?: ButtonProps[\"onClick\"]\n\n /**\n * Icon positioned before the primary action label.\n */\n startIcon?: ButtonProps[\"startIcon\"]\n\n /**\n * Props applied to the chevron trigger button.\n */\n triggerProps?: Omit<MenuIconButtonProps, keyof QdsButtonApiProps>\n}\n\n/**\n * @since 1.24.0\n */\nexport function MenuSplitButton({\n actionProps,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n children,\n density,\n disabled,\n emphasis,\n endIcon,\n onClick,\n size,\n startIcon,\n triggerProps,\n variant,\n ...props\n}: MenuSplitButtonProps): ReactElement {\n const buttonProps = {density, disabled, emphasis, size, variant}\n const mergedProps = mergeProps(\n getQdsSplitButtonBindings(\n {\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n ...buttonProps,\n },\n normalizeProps,\n ),\n props,\n )\n return (\n <PolymorphicElement as=\"div\" {...mergedProps}>\n <Button\n {...buttonProps}\n {...actionProps}\n endIcon={endIcon ?? actionProps?.endIcon}\n onClick={onClick ?? actionProps?.onClick}\n startIcon={startIcon ?? actionProps?.startIcon}\n >\n {children}\n </Button>\n <MenuTrigger>\n <MenuIconButton\n aria-label=\"More options\"\n {...buttonProps}\n {...triggerProps}\n />\n </MenuTrigger>\n </PolymorphicElement>\n )\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {ChevronRight} from \"lucide-react\"\n\nimport {type ItemProps, splitMenuItemProps} from \"@qualcomm-ui/core/menu\"\nimport {IconOrNode} from \"@qualcomm-ui/react/icon\"\nimport type {LucideIconOrElement} from \"@qualcomm-ui/react-core/lucide\"\nimport {\n MenuItemContextProvider,\n useMenuTriggerItem,\n} from \"@qualcomm-ui/react-core/menu\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {useQdsMenuContext} from \"./qds-menu-context\"\n\nexport interface MenuTriggerItemProps\n extends ItemProps, Omit<ElementRenderProp<\"button\">, \"onSelect\" | \"value\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n\n /**\n * Icon to display next to the label, which indicates that this menu item is a\n * trigger for a submenu.\n *\n * @default ChevronRight\n */\n icon?: LucideIconOrElement\n}\n\n/**\n * A menu item that triggers a submenu on hover or click. Renders a `<button>`\n * element by default.\n */\nexport function MenuTriggerItem({\n children,\n icon = ChevronRight,\n id,\n ...props\n}: MenuTriggerItemProps): ReactElement {\n const [menuItemProps, localProps] = splitMenuItemProps(props)\n const context = useMenuTriggerItem({id, ...menuItemProps})\n const qdsContext = useQdsMenuContext()\n const mergedProps = mergeProps(\n context.bindings ?? {},\n qdsContext.getItemBindings(),\n localProps,\n )\n\n return (\n <MenuItemContextProvider value={context.itemContextValue}>\n <PolymorphicElement as=\"button\" {...mergedProps}>\n {children}\n <div {...qdsContext.getTriggerItemIndicatorBindings()}>\n <IconOrNode icon={icon} />\n </div>\n </PolymorphicElement>\n </MenuItemContextProvider>\n )\n}\n","import type {FunctionComponent} from \"react\"\n\nimport {MenuButton, type MenuButtonProps} from \"./menu-button\"\nimport {\n MenuCheckboxItem,\n type MenuCheckboxItemProps,\n} from \"./menu-checkbox-item\"\nimport {\n MenuCheckboxItemControl,\n type MenuCheckboxItemControlProps,\n} from \"./menu-checkbox-item-control\"\nimport {MenuContent, type MenuContentProps} from \"./menu-content\"\nimport {\n MenuContextTrigger,\n type MenuContextTriggerProps,\n} from \"./menu-context-trigger\"\nimport {MenuIconButton, type MenuIconButtonProps} from \"./menu-icon-button\"\nimport {\n MenuInlineIconButton,\n type MenuInlineIconButtonProps,\n} from \"./menu-inline-icon-button\"\nimport {MenuItem, type MenuItemProps} from \"./menu-item\"\nimport {\n MenuItemAccessory,\n type MenuItemAccessoryProps,\n} from \"./menu-item-accessory\"\nimport {MenuItemCommand, type MenuItemCommandProps} from \"./menu-item-command\"\nimport {\n MenuItemDescription,\n type MenuItemDescriptionProps,\n} from \"./menu-item-description\"\nimport {MenuItemGroup, type MenuItemGroupProps} from \"./menu-item-group\"\nimport {\n MenuItemGroupLabel,\n type MenuItemGroupLabelProps,\n} from \"./menu-item-group-label\"\nimport {\n MenuItemIndicator,\n type MenuItemIndicatorProps,\n} from \"./menu-item-indicator\"\nimport {MenuItemLabel, type MenuItemLabelProps} from \"./menu-item-label\"\nimport {\n MenuItemStartIcon,\n type MenuItemStartIconProps,\n} from \"./menu-item-start-icon\"\nimport {MenuPositioner, type MenuPositionerProps} from \"./menu-positioner\"\nimport {MenuRadioItem, type MenuRadioItemProps} from \"./menu-radio-item\"\nimport {\n MenuRadioItemControl,\n type MenuRadioItemControlProps,\n} from \"./menu-radio-item-control\"\nimport {\n MenuRadioItemGroup,\n type MenuRadioItemGroupProps,\n} from \"./menu-radio-item-group\"\nimport {MenuRoot, type MenuRootProps} from \"./menu-root\"\nimport {MenuSeparator, type MenuSeparatorProps} from \"./menu-separator\"\nimport {MenuSplitButton, type MenuSplitButtonProps} from \"./menu-split-button\"\nimport {MenuTrigger, type MenuTriggerProps} from \"./menu-trigger\"\nimport {MenuTriggerItem, type MenuTriggerItemProps} from \"./menu-trigger-item\"\n\nexport * from \"./qds-menu-context\"\nexport type {\n MenuIconButtonProps,\n MenuItemCommandProps,\n MenuInlineIconButtonProps,\n MenuRadioItemControlProps,\n MenuRadioItemProps,\n MenuButtonProps,\n MenuTriggerItemProps,\n MenuTriggerProps,\n MenuItemProps,\n MenuContentProps,\n MenuRootProps,\n MenuItemLabelProps,\n MenuItemDescriptionProps,\n MenuItemGroupProps,\n MenuRadioItemGroupProps,\n MenuCheckboxItemControlProps,\n MenuPositionerProps,\n MenuItemIndicatorProps,\n MenuItemGroupLabelProps,\n MenuContextTriggerProps,\n MenuSeparatorProps,\n MenuSplitButtonProps,\n MenuItemAccessoryProps,\n MenuCheckboxItemProps,\n MenuItemStartIconProps,\n}\n\ninterface MenuComponent {\n Button: FunctionComponent<MenuButtonProps>\n CheckboxItem: FunctionComponent<MenuCheckboxItemProps>\n CheckboxItemControl: FunctionComponent<MenuCheckboxItemControlProps>\n Content: FunctionComponent<MenuContentProps>\n ContextTrigger: FunctionComponent<MenuContextTriggerProps>\n IconButton: FunctionComponent<MenuIconButtonProps>\n InlineIconButton: FunctionComponent<MenuInlineIconButtonProps>\n Item: FunctionComponent<MenuItemProps>\n ItemAccessory: FunctionComponent<MenuItemAccessoryProps>\n ItemCommand: FunctionComponent<MenuItemCommandProps>\n ItemDescription: FunctionComponent<MenuItemDescriptionProps>\n ItemGroup: FunctionComponent<MenuItemGroupProps>\n ItemGroupLabel: FunctionComponent<MenuItemGroupLabelProps>\n ItemIndicator: FunctionComponent<MenuItemIndicatorProps>\n ItemLabel: FunctionComponent<MenuItemLabelProps>\n ItemStartIcon: FunctionComponent<MenuItemStartIconProps>\n /**\n * A container that positions the menu relative to its anchor element. Renders a\n * `<div>` element by default.\n */\n Positioner: FunctionComponent<MenuPositionerProps>\n RadioItem: FunctionComponent<MenuRadioItemProps>\n RadioItemControl: FunctionComponent<MenuRadioItemControlProps>\n RadioItemGroup: FunctionComponent<MenuRadioItemGroupProps>\n Root: FunctionComponent<MenuRootProps>\n Separator: FunctionComponent<MenuSeparatorProps>\n /**\n * @since 1.24.0\n */\n SplitButton: FunctionComponent<MenuSplitButtonProps>\n /**\n * Enhances a child element to open the menu when clicked. Requires a single child\n * element.\n *\n * @example\n * ```tsx\n * <Menu.Trigger>\n * <button>Open</button>\n * </Menu.Trigger>\n * ```\n */\n Trigger: FunctionComponent<MenuTriggerProps>\n /**\n * A menu item that triggers a submenu on hover or click. Renders a `<button>`\n * element by default.\n */\n TriggerItem: FunctionComponent<MenuTriggerItemProps>\n}\n\nexport const Menu: MenuComponent = {\n Button: MenuButton,\n CheckboxItem: MenuCheckboxItem,\n CheckboxItemControl: MenuCheckboxItemControl,\n Content: MenuContent,\n ContextTrigger: MenuContextTrigger,\n IconButton: MenuIconButton,\n InlineIconButton: MenuInlineIconButton,\n Item: MenuItem,\n ItemAccessory: MenuItemAccessory,\n ItemCommand: MenuItemCommand,\n ItemDescription: MenuItemDescription,\n ItemGroup: MenuItemGroup,\n ItemGroupLabel: MenuItemGroupLabel,\n ItemIndicator: MenuItemIndicator,\n ItemLabel: MenuItemLabel,\n ItemStartIcon: MenuItemStartIcon,\n Positioner: MenuPositioner,\n RadioItem: MenuRadioItem,\n RadioItemControl: MenuRadioItemControl,\n RadioItemGroup: MenuRadioItemGroup,\n Root: MenuRoot,\n Separator: MenuSeparator,\n /**\n * @since 1.24.0\n */\n SplitButton: MenuSplitButton,\n Trigger: MenuTrigger,\n TriggerItem: MenuTriggerItem,\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type ReactElement } from "react";
2
2
  import { type LucideIcon } from "lucide-react";
3
- import type { IconButtonProps } from "@qualcomm-ui/react/button";
3
+ import { type IconButtonProps } from "@qualcomm-ui/react/button";
4
4
  export interface MenuIconButtonProps extends Omit<IconButtonProps, "icon"> {
5
5
  /**
6
6
  * Optional {@link https://lucide.dev lucide-react} icon displayed alongside the
@@ -1 +1 @@
1
- {"version":3,"file":"menu-icon-button.d.ts","sourceRoot":"","sources":["../../src/menu/menu-icon-button.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,YAAY,EAAU,MAAM,OAAO,CAAA;AAEhD,OAAO,EAAc,KAAK,UAAU,EAAC,MAAM,cAAc,CAAA;AAGzD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAA;AAQ9D,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;IACxE;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,OAAO,EACP,GAAG,KAAK,EACT,EAAE,mBAAmB,GAAG,YAAY,CA6BpC"}
1
+ {"version":3,"file":"menu-icon-button.d.ts","sourceRoot":"","sources":["../../src/menu/menu-icon-button.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,YAAY,EAAU,MAAM,OAAO,CAAA;AAEhD,OAAO,EAAc,KAAK,UAAU,EAAC,MAAM,cAAc,CAAA;AAMzD,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,2BAA2B,CAAA;AAQlC,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;IACxE;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,OAAO,EACP,GAAG,KAAK,EACT,EAAE,mBAAmB,GAAG,YAAY,CAuDpC"}
@@ -0,0 +1,40 @@
1
+ import type { ReactElement, ReactNode } from "react";
2
+ import type { QdsButtonApiProps } from "@qualcomm-ui/qds-core/button";
3
+ import { type QdsSplitButtonApiProps } from "@qualcomm-ui/qds-core/menu";
4
+ import { type ButtonProps } from "@qualcomm-ui/react/button";
5
+ import { type ElementRenderProp } from "@qualcomm-ui/react-core/system";
6
+ import { type MenuIconButtonProps } from "./menu-icon-button";
7
+ /**
8
+ * @since 1.24.0
9
+ */
10
+ export interface MenuSplitButtonProps extends Omit<ElementRenderProp<"div">, "onClick">, QdsSplitButtonApiProps {
11
+ /**
12
+ * Props applied to the primary action button.
13
+ */
14
+ actionProps?: Omit<ButtonProps, keyof QdsButtonApiProps | "children">;
15
+ /**
16
+ * Content rendered inside the primary action button.
17
+ */
18
+ children?: ReactNode;
19
+ /**
20
+ * Icon positioned after the primary action label.
21
+ */
22
+ endIcon?: ButtonProps["endIcon"];
23
+ /**
24
+ * Called when the primary action button is clicked.
25
+ */
26
+ onClick?: ButtonProps["onClick"];
27
+ /**
28
+ * Icon positioned before the primary action label.
29
+ */
30
+ startIcon?: ButtonProps["startIcon"];
31
+ /**
32
+ * Props applied to the chevron trigger button.
33
+ */
34
+ triggerProps?: Omit<MenuIconButtonProps, keyof QdsButtonApiProps>;
35
+ }
36
+ /**
37
+ * @since 1.24.0
38
+ */
39
+ export declare function MenuSplitButton({ actionProps, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, children, density, disabled, emphasis, endIcon, onClick, size, startIcon, triggerProps, variant, ...props }: MenuSplitButtonProps): ReactElement;
40
+ //# sourceMappingURL=menu-split-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-split-button.d.ts","sourceRoot":"","sources":["../../src/menu/menu-split-button.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAS,KAAK,WAAW,EAAC,MAAM,2BAA2B,CAAA;AAElE,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,gCAAgC,CAAA;AAGvC,OAAO,EAAiB,KAAK,mBAAmB,EAAC,MAAM,oBAAoB,CAAA;AAG3E;;GAEG;AACH,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,sBAAsB;IACzE;;OAEG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,iBAAiB,GAAG,UAAU,CAAC,CAAA;IAErE;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IAEhC;;OAEG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;IAEpC;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,iBAAiB,CAAC,CAAA;CAClE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,EACP,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,OAAO,EACP,GAAG,KAAK,EACT,EAAE,oBAAoB,GAAG,YAAY,CAiCrC"}
package/dist/tag/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use client;";import{c as e}from"react/compiler-runtime";import{mergeProps as t}from"@qualcomm-ui/utils/merge-props";import{jsx as n,jsxs as r}from"react/jsx-runtime";import{PolymorphicElement as i}from"@qualcomm-ui/react-core/system";import{X as a}from"lucide-react";import{IconOrNode as o}from"@qualcomm-ui/react/icon";import{useState as s}from"react";import{normalizeProps as c}from"@qualcomm-ui/react-core/machine";import{createQdsTagApi as l}from"@qualcomm-ui/qds-core/tag";function Tag(u){let d=e(11),{children:f,disabled:p,emphasis:m,endIcon:h,onDismiss:g,radius:_,shape:v,size:y,startIcon:b,variant:x,...S}=u,[C,w]=s(!1),T=l({disabled:p,emphasis:m,radius:_,selected:C,shape:v,size:y,variant:x},c),E=T.isInteractiveVariant()?`button`:`span`,t1;d[0]===x?t1=d[1]:(t1=()=>{x===`selectable`&&w(_temp)},d[0]=x,d[1]=t1);let D=t(T.getRootBindings(),{onClick:t1},S),O=i,k=b?n(o,{icon:b,...T.getStartIconBindings()}):null,A;d[2]===f?A=d[3]:(A=n(`span`,{children:f}),d[2]=f,d[3]=A);let j=x===`dismissable`?n(`button`,{...T.getDismissButtonBindings(),onClick:g,children:n(o,{icon:a,...T.getEndIconBindings()})}):h?n(o,{icon:h,...T.getEndIconBindings()}):null,M;return d[4]!==O||d[5]!==E||d[6]!==D||d[7]!==k||d[8]!==A||d[9]!==j?(M=r(O,{as:E,...D,children:[k,A,j]}),d[4]=O,d[5]=E,d[6]=D,d[7]=k,d[8]=A,d[9]=j,d[10]=M):M=d[10],M}function _temp(e){return!e}export{Tag};
1
+ "use client;";import{c as e}from"react/compiler-runtime";import{mergeProps as t}from"@qualcomm-ui/utils/merge-props";import{jsx as n,jsxs as r}from"react/jsx-runtime";import{PolymorphicElement as i}from"@qualcomm-ui/react-core/system";import{X as a}from"lucide-react";import{IconOrNode as o}from"@qualcomm-ui/react/icon";import{normalizeProps as s}from"@qualcomm-ui/react-core/machine";import{useControlledState as c}from"@qualcomm-ui/react-core/state";import{createQdsTagApi as l}from"@qualcomm-ui/qds-core/tag";function Tag(u){let d=e(17),{children:f,defaultSelected:p,disabled:m,emphasis:h,endIcon:g,onDismiss:_,onSelectedChange:v,radius:y,selected:b,shape:x,size:S,startIcon:C,variant:w,...T}=u,E=p??!1,D;d[0]!==v||d[1]!==b||d[2]!==E?(D={controlled:b,defaultValue:E,name:`Tag`,onChangeProp:v,state:`selected`},d[0]=v,d[1]=b,d[2]=E,d[3]=D):D=d[3];let[O,k]=c(D),A=l({disabled:m,emphasis:h,radius:y,selected:O,shape:x,size:S,variant:w},s),j=A.isInteractiveVariant()?`button`:`span`,t3;d[4]!==O||d[5]!==k||d[6]!==w?(t3=()=>{w===`selectable`&&k(!O)},d[4]=O,d[5]=k,d[6]=w,d[7]=t3):t3=d[7];let M=t(A.getRootBindings(),{onClick:t3},T),N=i,P=C?n(o,{icon:C,...A.getStartIconBindings()}):null,F;d[8]===f?F=d[9]:(F=n(`span`,{children:f}),d[8]=f,d[9]=F);let I=w===`dismissable`?n(`button`,{...A.getDismissButtonBindings(),onClick:_,children:n(o,{icon:a,...A.getEndIconBindings()})}):g?n(o,{icon:g,...A.getEndIconBindings()}):null,L;return d[10]!==N||d[11]!==j||d[12]!==M||d[13]!==P||d[14]!==F||d[15]!==I?(L=r(N,{as:j,...M,children:[P,F,I]}),d[10]=N,d[11]=j,d[12]=M,d[13]=P,d[14]=F,d[15]=I,d[16]=L):L=d[16],L}export{Tag};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ReactElement","ReactNode","useState","X","createQdsTagApi","QdsTagApiProps","IconOrNode","LucideIconOrElement","normalizeProps","ElementRenderProp","PolymorphicElement","mergeProps","TagProps","children","endIcon","onDismiss","startIcon","Tag","t0","$","_c","disabled","emphasis","radius","shape","size","variant","props","selected","setSelected","qdsApi","rootElement","isInteractiveVariant","t1","_temp","rootProps","getRootBindings","onClick","T0","t2","getStartIconBindings","t3","t4","getDismissButtonBindings","getEndIconBindings","t5","prevState"],"sources":["../../src/tag/tag.tsx"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {type ReactElement, type ReactNode, useState} from \"react\"\n\nimport {X} from \"lucide-react\"\n\nimport {createQdsTagApi, type QdsTagApiProps} from \"@qualcomm-ui/qds-core/tag\"\nimport {IconOrNode} from \"@qualcomm-ui/react/icon\"\nimport type {LucideIconOrElement} from \"@qualcomm-ui/react-core/lucide\"\nimport {normalizeProps} from \"@qualcomm-ui/react-core/machine\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nexport interface TagProps extends QdsTagApiProps, ElementRenderProp<\"button\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n\n /**\n * {@link https://lucide.dev lucide-react} icon, positioned after\n * the button text. Can be supplied as a `ReactElement` for additional\n * customization. Note that this prop is ignored if {@link variant} is\n * `dismissable`, as it is reserved for the dismiss icon.\n */\n endIcon?: LucideIconOrElement\n\n /**\n * Callback fired when the dismiss button is clicked. Only applicable when\n * {@link variant} is `dismissable`.\n */\n onDismiss?: () => void\n\n /**\n * {@link https://lucide.dev lucide-react} icon, positioned before\n * the button text. Can be supplied as a `ReactElement` for additional\n * customization.\n */\n startIcon?: LucideIconOrElement\n}\n\nexport function Tag({\n children,\n disabled,\n emphasis,\n endIcon,\n onDismiss,\n radius,\n shape,\n size,\n startIcon,\n variant,\n ...props\n}: TagProps): ReactElement {\n const [selected, setSelected] = useState<boolean>(false)\n\n const qdsApi = createQdsTagApi(\n {disabled, emphasis, radius, selected, shape, size, variant},\n normalizeProps,\n )\n\n const rootElement = qdsApi.isInteractiveVariant() ? \"button\" : \"span\"\n const rootProps = mergeProps(\n qdsApi.getRootBindings(),\n {\n onClick: () => {\n if (variant === \"selectable\") {\n setSelected((prevState) => !prevState)\n }\n },\n },\n props,\n )\n\n return (\n <PolymorphicElement as={rootElement} {...rootProps}>\n {startIcon ? (\n <IconOrNode icon={startIcon} {...qdsApi.getStartIconBindings()} />\n ) : null}\n <span>{children}</span>\n {variant === \"dismissable\" ? (\n <button {...qdsApi.getDismissButtonBindings()} onClick={onDismiss}>\n <IconOrNode icon={X} {...qdsApi.getEndIconBindings()} />\n </button>\n ) : endIcon ? (\n <IconOrNode icon={endIcon} {...qdsApi.getEndIconBindings()} />\n ) : null}\n </PolymorphicElement>\n )\n}\n"],"mappings":"+dA6CA,SAAOiB,IAAAC,EAAA,CAAA,IAAAC,EAAAC,EAAA,GAAA,CAAa,CAAAP,WAAAQ,WAAAC,WAAAR,UAAAC,YAAAQ,SAAAC,QAAAC,OAAAT,YAAAU,UAAA,GAAAC,GAAAT,EAalB,CAAAU,EAAAC,GAAgC3B,EAAkB,GAAM,CAExD4B,EAAe1B,EACb,CAAAiB,WAAAC,WAAAC,SAAAK,WAAAJ,QAAAC,OAAAC,UAA4D,CAC5DlB,EACD,CAEDuB,EAAoBD,EAAME,sBAA2C,CAAjD,SAAA,OAAiDC,GAAAd,EAAA,KAAAO,EAQhEO,GAAAd,EAAA,IAJQc,OAAA,CACHP,IAAY,cACdG,EAAYK,MAA0B,EAEzCf,EAAA,GAAAO,EAAAP,EAAA,GAAAc,IAPL,IAAAE,EAAkBxB,EAChBmB,EAAMM,iBAAkB,CACxB,CAAAC,QACWJ,GAKV,CACDN,EACD,CAGEW,EAAA5B,EACE6B,EAAAvB,EACC,EAAC,EAAD,CAAkBA,KAAAA,EAAS,GAAMc,EAAMU,sBAAuB,CACxD,CAAA,CAFP,KAEOC,EAAAtB,EAAA,KAAAN,EACe4B,EAAAtB,EAAA,IAAvBsB,EAAA,EAAA,OAAA,CAAO5B,WAAgB,CAAA,CAAAM,EAAA,GAAAN,EAAAM,EAAA,GAAAsB,GACtB,IAAAC,EAAAhB,IAAY,cACX,EAAA,SAAA,CAES,GAFGI,EAAMa,0BAA2B,CAAW5B,QAAAA,WACtD,EAAC,EAAD,CAAkBZ,KAAAA,EAAC,GAAM2B,EAAMc,oBAAqB,CACtD,CAAA,CAGM,CAAA,CAFJ9B,EACF,EAAC,EAAD,CAAkBA,KAAAA,EAAO,GAAMgB,EAAMc,oBAAqB,CACpD,CAAA,CAFJ,KAEIC,EACW,OADX1B,EAAA,KAAAmB,GAAAnB,EAAA,KAAAY,GAAAZ,EAAA,KAAAgB,GAAAhB,EAAA,KAAAoB,GAAApB,EAAA,KAAAsB,GAAAtB,EAAA,KAAAuB,GAXVG,EAAA,EAAC,EAAD,CAAwBd,GAAAA,EAAW,GAAMI,WAAzC,CACGI,EAGDE,EACCC,EAOkB,GAAAvB,EAAA,GAAAmB,EAAAnB,EAAA,GAAAY,EAAAZ,EAAA,GAAAgB,EAAAhB,EAAA,GAAAoB,EAAApB,EAAA,GAAAsB,EAAAtB,EAAA,GAAAuB,EAAAvB,EAAA,IAAA0B,GAAAA,EAAA1B,EAAA,IAZrB0B,EAlCG,SAAAX,MAAAY,EAAA,CAAA,MA0B8B,CAACA"}
1
+ {"version":3,"file":"index.js","names":["ReactElement","ReactNode","X","createQdsTagApi","QdsTagApiProps","IconOrNode","LucideIconOrElement","normalizeProps","useControlledState","ElementRenderProp","PolymorphicElement","mergeProps","TagProps","children","defaultSelected","endIcon","onDismiss","onSelectedChange","selected","startIcon","Tag","t0","$","_c","disabled","emphasis","radius","selectedProp","shape","size","variant","props","t1","t2","controlled","defaultValue","name","onChangeProp","state","setSelected","qdsApi","rootElement","isInteractiveVariant","t3","rootProps","getRootBindings","onClick","T0","t4","getStartIconBindings","t5","t6","getDismissButtonBindings","getEndIconBindings","t7"],"sources":["../../src/tag/tag.tsx"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {ReactElement, ReactNode} from \"react\"\n\nimport {X} from \"lucide-react\"\n\nimport {createQdsTagApi, type QdsTagApiProps} from \"@qualcomm-ui/qds-core/tag\"\nimport {IconOrNode} from \"@qualcomm-ui/react/icon\"\nimport type {LucideIconOrElement} from \"@qualcomm-ui/react-core/lucide\"\nimport {normalizeProps} from \"@qualcomm-ui/react-core/machine\"\nimport {useControlledState} from \"@qualcomm-ui/react-core/state\"\nimport {\n type ElementRenderProp,\n PolymorphicElement,\n} from \"@qualcomm-ui/react-core/system\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nexport interface TagProps extends QdsTagApiProps, ElementRenderProp<\"button\"> {\n /**\n * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.\n */\n children?: ReactNode\n\n /**\n * Initial selected state when the component is uncontrolled.\n * Only applicable when {@link variant} is `selectable`.\n * Ignored when {@link selected} is provided.\n *\n * @since 1.24.0\n *\n * @default false\n */\n defaultSelected?: boolean\n\n /**\n * {@link https://lucide.dev lucide-react} icon, positioned after\n * the button text. Can be supplied as a `ReactElement` for additional\n * customization.\n * Ignored when {@link variant} is `dismissable`, as it is reserved for the\n * dismiss icon.\n */\n endIcon?: LucideIconOrElement\n\n /**\n * Callback fired when the dismiss button is clicked.\n * Only applicable when {@link variant} is `dismissable`.\n */\n onDismiss?: () => void\n\n /**\n * Callback fired when the selected state changes. Fires in both controlled\n * and uncontrolled modes.\n * Only applicable when {@link variant} is `selectable`.\n *\n * @since 1.24.0\n */\n onSelectedChange?: (selected: boolean) => void\n\n /**\n * Controls the selected state. When omitted, the tag manages its own selected\n * state internally.\n * Only applicable when {@link variant} is `selectable`.\n *\n * @since 1.24.0\n */\n selected?: boolean\n\n /**\n * {@link https://lucide.dev lucide-react} icon, positioned before\n * the button text. Can be supplied as a `ReactElement` for additional\n * customization.\n */\n startIcon?: LucideIconOrElement\n}\n\nexport function Tag({\n children,\n defaultSelected,\n disabled,\n emphasis,\n endIcon,\n onDismiss,\n onSelectedChange,\n radius,\n selected: selectedProp,\n shape,\n size,\n startIcon,\n variant,\n ...props\n}: TagProps): ReactElement {\n const [selected, setSelected] = useControlledState<boolean>({\n controlled: selectedProp,\n defaultValue: defaultSelected ?? false,\n name: \"Tag\",\n onChangeProp: onSelectedChange,\n state: \"selected\",\n })\n\n const qdsApi = createQdsTagApi(\n {disabled, emphasis, radius, selected, shape, size, variant},\n normalizeProps,\n )\n\n const rootElement = qdsApi.isInteractiveVariant() ? \"button\" : \"span\"\n const rootProps = mergeProps(\n qdsApi.getRootBindings(),\n {\n onClick: () => {\n if (variant === \"selectable\") {\n setSelected(!selected)\n }\n },\n },\n props,\n )\n\n return (\n <PolymorphicElement as={rootElement} {...rootProps}>\n {startIcon ? (\n <IconOrNode icon={startIcon} {...qdsApi.getStartIconBindings()} />\n ) : null}\n <span>{children}</span>\n {variant === \"dismissable\" ? (\n <button {...qdsApi.getDismissButtonBindings()} onClick={onDismiss}>\n <IconOrNode icon={X} {...qdsApi.getEndIconBindings()} />\n </button>\n ) : endIcon ? (\n <IconOrNode icon={endIcon} {...qdsApi.getEndIconBindings()} />\n ) : null}\n </PolymorphicElement>\n )\n}\n"],"mappings":"igBA4EA,SAAOoB,IAAAC,EAAA,CAAA,IAAAC,EAAAC,EAAA,GAAA,CAAa,CAAAV,WAAAC,kBAAAU,WAAAC,WAAAV,UAAAC,YAAAC,mBAAAS,SAAAR,SAAAS,EAAAC,QAAAC,OAAAV,YAAAW,UAAA,GAAAC,GAAAV,EAkBFW,EAAAlB,GAAA,GAAwBmB,EAAAX,EAAA,KAAAL,GAAAK,EAAA,KAAAK,GAAAL,EAAA,KAAAU,GAFoBC,EAAA,CAAAC,WAC9CP,EAAYQ,aACVH,EAAwBI,KAChC,MAAKC,aACGpB,EAAgBqB,MACvB,WACR,CAAAhB,EAAA,GAAAL,EAAAK,EAAA,GAAAK,EAAAL,EAAA,GAAAU,EAAAV,EAAA,GAAAW,GAAAA,EAAAX,EAAA,GAND,GAAA,CAAAJ,EAAAqB,GAAgC/B,EAA4ByB,EAM1D,CAEFO,EAAerC,EACb,CAAAqB,WAAAC,WAAAC,SAAAR,WAAAU,QAAAC,OAAAC,UAA4D,CAC5DvB,EACD,CAEDkC,EAAoBD,EAAME,sBAA2C,CAAjD,SAAA,OAAiDC,GAAArB,EAAA,KAAAJ,GAAAI,EAAA,KAAAiB,GAAAjB,EAAA,KAAAQ,GAIxDa,OAAA,CACHb,IAAY,cACdS,EAAY,CAACrB,EAAS,EAEzBI,EAAA,GAAAJ,EAAAI,EAAA,GAAAiB,EAAAjB,EAAA,GAAAQ,EAAAR,EAAA,GAAAqB,IAAAA,GAAArB,EAAA,GAPL,IAAAsB,EAAkBjC,EAChB6B,EAAMK,iBAAkB,CACxB,CAAAC,QACWH,GAKV,CACDZ,EACD,CAGEgB,EAAArC,EACEsC,EAAA7B,EACC,EAAC,EAAD,CAAkBA,KAAAA,EAAS,GAAMqB,EAAMS,sBAAuB,CACxD,CAAA,CAFP,KAEOC,EAAA5B,EAAA,KAAAT,EACeqC,EAAA5B,EAAA,IAAvB4B,EAAA,EAAA,OAAA,CAAOrC,WAAgB,CAAA,CAAAS,EAAA,GAAAT,EAAAS,EAAA,GAAA4B,GACtB,IAAAC,EAAArB,IAAY,cACX,EAAA,SAAA,CAES,GAFGU,EAAMY,0BAA2B,CAAWpC,QAAAA,WACtD,EAAC,EAAD,CAAkBd,KAAAA,EAAC,GAAMsC,EAAMa,oBAAqB,CACtD,CAAA,CAGM,CAAA,CAFJtC,EACF,EAAC,EAAD,CAAkBA,KAAAA,EAAO,GAAMyB,EAAMa,oBAAqB,CACpD,CAAA,CAFJ,KAEIC,EACW,OADXhC,EAAA,MAAAyB,GAAAzB,EAAA,MAAAmB,GAAAnB,EAAA,MAAAsB,GAAAtB,EAAA,MAAA0B,GAAA1B,EAAA,MAAA4B,GAAA5B,EAAA,MAAA6B,GAXVG,EAAA,EAAC,EAAD,CAAwBb,GAAAA,EAAW,GAAMG,WAAzC,CACGI,EAGDE,EACCC,EAOkB,GAAA7B,EAAA,IAAAyB,EAAAzB,EAAA,IAAAmB,EAAAnB,EAAA,IAAAsB,EAAAtB,EAAA,IAAA0B,EAAA1B,EAAA,IAAA4B,EAAA5B,EAAA,IAAA6B,EAAA7B,EAAA,IAAAgC,GAAAA,EAAAhC,EAAA,IAZrBgC"}
package/dist/tag/tag.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type ReactElement, type ReactNode } from "react";
1
+ import type { ReactElement, ReactNode } from "react";
2
2
  import { type QdsTagApiProps } from "@qualcomm-ui/qds-core/tag";
3
3
  import type { LucideIconOrElement } from "@qualcomm-ui/react-core/lucide";
4
4
  import { type ElementRenderProp } from "@qualcomm-ui/react-core/system";
@@ -7,18 +7,45 @@ export interface TagProps extends QdsTagApiProps, ElementRenderProp<"button"> {
7
7
  * React {@link https://react.dev/learn/passing-props-to-a-component#passing-jsx-as-children children} prop.
8
8
  */
9
9
  children?: ReactNode;
10
+ /**
11
+ * Initial selected state when the component is uncontrolled.
12
+ * Only applicable when {@link variant} is `selectable`.
13
+ * Ignored when {@link selected} is provided.
14
+ *
15
+ * @since 1.24.0
16
+ *
17
+ * @default false
18
+ */
19
+ defaultSelected?: boolean;
10
20
  /**
11
21
  * {@link https://lucide.dev lucide-react} icon, positioned after
12
22
  * the button text. Can be supplied as a `ReactElement` for additional
13
- * customization. Note that this prop is ignored if {@link variant} is
14
- * `dismissable`, as it is reserved for the dismiss icon.
23
+ * customization.
24
+ * Ignored when {@link variant} is `dismissable`, as it is reserved for the
25
+ * dismiss icon.
15
26
  */
16
27
  endIcon?: LucideIconOrElement;
17
28
  /**
18
- * Callback fired when the dismiss button is clicked. Only applicable when
19
- * {@link variant} is `dismissable`.
29
+ * Callback fired when the dismiss button is clicked.
30
+ * Only applicable when {@link variant} is `dismissable`.
20
31
  */
21
32
  onDismiss?: () => void;
33
+ /**
34
+ * Callback fired when the selected state changes. Fires in both controlled
35
+ * and uncontrolled modes.
36
+ * Only applicable when {@link variant} is `selectable`.
37
+ *
38
+ * @since 1.24.0
39
+ */
40
+ onSelectedChange?: (selected: boolean) => void;
41
+ /**
42
+ * Controls the selected state. When omitted, the tag manages its own selected
43
+ * state internally.
44
+ * Only applicable when {@link variant} is `selectable`.
45
+ *
46
+ * @since 1.24.0
47
+ */
48
+ selected?: boolean;
22
49
  /**
23
50
  * {@link https://lucide.dev lucide-react} icon, positioned before
24
51
  * the button text. Can be supplied as a `ReactElement` for additional
@@ -26,5 +53,5 @@ export interface TagProps extends QdsTagApiProps, ElementRenderProp<"button"> {
26
53
  */
27
54
  startIcon?: LucideIconOrElement;
28
55
  }
29
- export declare function Tag({ children, disabled, emphasis, endIcon, onDismiss, radius, shape, size, startIcon, variant, ...props }: TagProps): ReactElement;
56
+ export declare function Tag({ children, defaultSelected, disabled, emphasis, endIcon, onDismiss, onSelectedChange, radius, selected: selectedProp, shape, size, startIcon, variant, ...props }: TagProps): ReactElement;
30
57
  //# sourceMappingURL=tag.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/tag/tag.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,YAAY,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAA;AAIjE,OAAO,EAAkB,KAAK,cAAc,EAAC,MAAM,2BAA2B,CAAA;AAE9E,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAA;AAEvE,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,QAAS,SAAQ,cAAc,EAAE,iBAAiB,CAAC,QAAQ,CAAC;IAC3E;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IAEpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAE7B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IAEtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,mBAAmB,CAAA;CAChC;AAED,wBAAgB,GAAG,CAAC,EAClB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,IAAI,EACJ,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACT,EAAE,QAAQ,GAAG,YAAY,CAoCzB"}
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/tag/tag.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,OAAO,CAAA;AAIlD,OAAO,EAAkB,KAAK,cAAc,EAAC,MAAM,2BAA2B,CAAA;AAE9E,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAA;AAGvE,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,WAAW,QAAS,SAAQ,cAAc,EAAE,iBAAiB,CAAC,QAAQ,CAAC;IAC3E;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IAEpB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAE7B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IAEtB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IAE9C;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,mBAAmB,CAAA;CAChC;AAED,wBAAgB,GAAG,CAAC,EAClB,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,QAAQ,EAAE,YAAY,EACtB,KAAK,EACL,IAAI,EACJ,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACT,EAAE,QAAQ,GAAG,YAAY,CA0CzB"}