@wirekyt/angular 0.0.30 → 0.0.32

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wirekyt-angular-menu.mjs","sources":["../../src/components/menu/use-context.ts","../../src/components/menu/use.ts","../../src/components/menu/use-trigger-item-context.ts","../../src/components/menu/root.ts","../../src/components/menu/root-provider.ts","../../src/components/menu/trigger.ts","../../src/components/menu/context-trigger.ts","../../src/components/menu/positioner.ts","../../src/components/menu/content.ts","../../src/components/menu/use-item-context.ts","../../src/components/menu/use-option-item-props-context.ts","../../src/components/menu/item.ts","../../src/components/menu/context.ts","../../src/components/menu/item-context.ts","../../src/components/menu/item-text.ts","../../src/components/menu/separator.ts","../../src/components/menu/indicator.ts","../../src/components/menu/arrow.ts","../../src/components/menu/arrow-tip.ts","../../src/components/menu/checkbox-item.ts","../../src/components/menu/use-radio-item-group-context.ts","../../src/components/menu/radio-item.ts","../../src/components/menu/radio-item-group.ts","../../src/components/menu/use-item-group-context.ts","../../src/components/menu/item-group.ts","../../src/components/menu/item-group-label.ts","../../src/components/menu/trigger-item.ts","../../src/components/menu/item-indicator.ts","../../src/components/menu/wirekyt-angular-menu.ts"],"sourcesContent":["import type { ContextCarrier } from \"@wirekyt/angular\";\n\nimport { InjectionToken, inject } from \"@angular/core\";\n\nimport type { UseMenuReturn } from \"./use\";\n\nexport const MENU_CONTEXT = new InjectionToken<UseMenuReturn>(\"WIREKYT.MENU_CONTEXT\");\n\nexport function injectMenuContext(): UseMenuReturn {\n return inject(MENU_CONTEXT);\n}\n\nexport const MENU_CONTEXT_CARRIER = new InjectionToken<ContextCarrier<UseMenuReturn>>(\n \"WIREKYT.MENU_CONTEXT_CARRIER\",\n);\n\nexport function injectMenuContextCarrier(): ContextCarrier<UseMenuReturn> {\n return inject(MENU_CONTEXT_CARRIER);\n}\n","import type { Machine } from \"@wirekyt/dom\";\n\nimport {\n createId,\n injectEnvironment,\n injectLocale,\n useMachine,\n type UseMachineReturn,\n} from \"@wirekyt/angular\";\nimport * as menu from \"@wirekyt/dom/machines/menu\";\n\ntype OptionalId<T extends { id: string }> = Omit<T, \"id\"> & { id?: string };\n\nexport interface UseMenuProps extends OptionalId<Omit<menu.Props, \"dir\" | \"getRootNode\">> {}\n\nexport type UseMenuReturn = UseMachineReturn<menu.Service[\"state\"], menu.Api, menu.Service>;\n\nexport interface UseMenuOptions {\n context: () => UseMenuProps;\n}\n\ntype MenuContext = Record<string, unknown>;\ntype MenuSchema = menu.Machine extends Machine<infer TSchema> ? TSchema : never;\n\nexport function useMenu(options: UseMenuOptions): UseMenuReturn {\n const locale = injectLocale();\n const environment = injectEnvironment();\n const fallbackId = createId();\n\n return useMachine<MenuSchema, menu.Api>({\n machine: menu.machine,\n context: () => {\n const props = options.context();\n return {\n ...props,\n dir: locale.dir,\n getRootNode: environment.getRootNode,\n id: props.id ?? fallbackId,\n } as MenuContext;\n },\n connect: (service, normalize) => menu.connect(service, normalize),\n });\n}\n","import { InjectionToken, inject, type Signal } from \"@angular/core\";\n\nimport type { UseMenuReturn } from \"./use\";\n\nexport type MenuTriggerItemProps = ReturnType<\n ReturnType<UseMenuReturn[\"api\"]>[\"getTriggerItemProps\"]\n>;\nexport type MenuTriggerItemContext = Signal<MenuTriggerItemProps | undefined>;\n\nexport const MENU_TRIGGER_ITEM_CONTEXT = new InjectionToken<MenuTriggerItemContext>(\n \"WIREKYT.MENU_TRIGGER_ITEM_CONTEXT\",\n);\n\nexport function injectMenuTriggerItemContext(): MenuTriggerItemContext {\n return inject(MENU_TRIGGER_ITEM_CONTEXT);\n}\n","import type { ContextCarrier } from \"@wirekyt/angular\";\nimport type * as menu from \"@wirekyt/dom/machines/menu\";\n\nimport {\n Directive,\n DestroyRef,\n EnvironmentInjector,\n Injector,\n afterNextRender,\n type OutputEmitterRef,\n type ProviderToken,\n booleanAttribute,\n computed,\n forwardRef,\n inject,\n input,\n model,\n output,\n type InputSignal,\n type InputSignalWithTransform,\n type ModelSignal,\n type Signal,\n} from \"@angular/core\";\nimport { buildRootCarrier } from \"@wirekyt/angular\";\nimport { PRESENCE_CONTEXT, PresenceBase } from \"@wirekyt/angular/presence\";\n\nimport type {\n MenuElementIds,\n MenuFocusOutsideEvent,\n MenuHighlightChangeDetails,\n MenuInteractOutsideEvent,\n MenuOpenChangeDetails,\n MenuPointerDownOutsideEvent,\n MenuPositioningOptions,\n MenuSelectionDetails,\n MenuTriggerValueChangeDetails,\n} from \"./types\";\n\nimport { useMenu, type UseMenuReturn } from \"./use\";\nimport { MENU_CONTEXT, MENU_CONTEXT_CARRIER } from \"./use-context\";\nimport { MENU_TRIGGER_ITEM_CONTEXT } from \"./use-trigger-item-context\";\n\n@Directive({\n selector: \"[menu-root]\",\n standalone: true,\n exportAs: \"menuRoot\",\n providers: [\n {\n provide: PRESENCE_CONTEXT,\n useFactory: (root: MenuRoot) => root.presence,\n deps: [forwardRef(() => MenuRoot)],\n },\n { provide: MENU_CONTEXT, useExisting: forwardRef(() => MenuRoot) },\n {\n provide: MENU_TRIGGER_ITEM_CONTEXT,\n useFactory: (root: MenuRoot) => root.triggerItemProps,\n deps: [forwardRef(() => MenuRoot)],\n },\n {\n provide: MENU_CONTEXT_CARRIER,\n useFactory: (root: MenuRoot) => root.getContextCarrier(),\n deps: [forwardRef(() => MenuRoot)],\n },\n ],\n})\nexport class MenuRoot extends PresenceBase implements UseMenuReturn {\n readonly id: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly ids: InputSignal<Partial<MenuElementIds> | undefined> = input<\n Partial<MenuElementIds> | undefined\n >(undefined);\n readonly open: ModelSignal<boolean | undefined> = model<boolean | undefined>(undefined);\n readonly defaultOpen: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly highlightedValue: ModelSignal<string | null | undefined> = model<\n string | null | undefined\n >(undefined);\n readonly defaultHighlightedValue: InputSignal<string | null | undefined> = input<\n string | null | undefined\n >(undefined);\n readonly loopFocus: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly closeOnSelect: InputSignalWithTransform<boolean | undefined, unknown> = input<\n boolean | undefined,\n unknown\n >(undefined, {\n transform: optionalBooleanAttribute,\n });\n readonly typeahead: InputSignalWithTransform<boolean | undefined, unknown> = input<\n boolean | undefined,\n unknown\n >(undefined, {\n transform: optionalBooleanAttribute,\n });\n readonly composite: InputSignalWithTransform<boolean | undefined, unknown> = input<\n boolean | undefined,\n unknown\n >(undefined, {\n transform: optionalBooleanAttribute,\n });\n readonly positioning: InputSignal<MenuPositioningOptions | undefined> = input<\n MenuPositioningOptions | undefined\n >(undefined);\n readonly ariaLabel: InputSignal<string | undefined> = input<string | undefined>(undefined, {\n alias: \"aria-label\",\n });\n readonly anchorPoint: InputSignal<menu.Props[\"anchorPoint\"]> =\n input<menu.Props[\"anchorPoint\"]>(undefined);\n readonly navigate: InputSignal<menu.Props[\"navigate\"]> = input<menu.Props[\"navigate\"]>(undefined);\n readonly triggerValue: ModelSignal<string | null | undefined> = model<string | null | undefined>(\n undefined,\n );\n readonly defaultTriggerValue: InputSignal<string | null | undefined> = input<\n string | null | undefined\n >(undefined);\n\n readonly select: OutputEmitterRef<MenuSelectionDetails> = output<MenuSelectionDetails>();\n readonly escapeKeyDown: OutputEmitterRef<KeyboardEvent> = output<KeyboardEvent>();\n readonly focusOutside: OutputEmitterRef<MenuFocusOutsideEvent> = output<MenuFocusOutsideEvent>();\n readonly highlightChange: OutputEmitterRef<MenuHighlightChangeDetails> =\n output<MenuHighlightChangeDetails>();\n readonly interactOutside: OutputEmitterRef<MenuInteractOutsideEvent> =\n output<MenuInteractOutsideEvent>();\n readonly openChangeDetails: OutputEmitterRef<MenuOpenChangeDetails> =\n output<MenuOpenChangeDetails>();\n readonly pointerDownOutside: OutputEmitterRef<MenuPointerDownOutsideEvent> =\n output<MenuPointerDownOutsideEvent>();\n readonly requestDismiss: OutputEmitterRef<\n Parameters<NonNullable<menu.Props[\"onRequestDismiss\"]>>[0]\n > = output<Parameters<NonNullable<menu.Props[\"onRequestDismiss\"]>>[0]>();\n readonly triggerValueChangeDetails: OutputEmitterRef<MenuTriggerValueChangeDetails> =\n output<MenuTriggerValueChangeDetails>();\n\n private readonly machine = useMenu({\n context: () => ({\n id: this.id(),\n ids: this.ids(),\n open: this.open(),\n defaultOpen: this.defaultOpen(),\n highlightedValue: this.highlightedValue(),\n defaultHighlightedValue: this.defaultHighlightedValue(),\n loopFocus: this.loopFocus(),\n closeOnSelect: this.closeOnSelect(),\n typeahead: this.typeahead(),\n composite: this.composite(),\n positioning: this.positioning(),\n \"aria-label\": this.ariaLabel(),\n anchorPoint: this.anchorPoint(),\n navigate: this.navigate(),\n triggerValue: this.triggerValue(),\n defaultTriggerValue: this.defaultTriggerValue(),\n onOpenChange: (details) => {\n if (this.open() !== details.open) this.open.set(details.open);\n this.openChangeDetails.emit(details);\n },\n onHighlightChange: (details) => {\n if (this.highlightedValue() !== details.highlightedValue) {\n this.highlightedValue.set(details.highlightedValue);\n }\n this.highlightChange.emit(details);\n },\n onSelect: (details) => {\n this.select.emit(details);\n },\n onTriggerValueChange: (details: MenuTriggerValueChangeDetails) => {\n if (this.triggerValue() !== details.value) this.triggerValue.set(details.value);\n this.triggerValueChangeDetails.emit(details);\n },\n onEscapeKeyDown: (event) => this.escapeKeyDown.emit(event),\n onFocusOutside: (event) => this.focusOutside.emit(event),\n onInteractOutside: (event) => this.interactOutside.emit(event),\n onPointerDownOutside: (event) => this.pointerDownOutside.emit(event),\n onRequestDismiss: (event) => this.requestDismiss.emit(event),\n }),\n });\n\n readonly state: Signal<menu.Service[\"state\"]> = this.machine.state;\n readonly api: Signal<menu.Api> = this.machine.api;\n readonly service: menu.Service = this.machine.service;\n readonly send: menu.Service[\"send\"] = this.machine.send;\n readonly presence = this.createPresence(() => this.api().open);\n\n protected readonly contextCarrier: ContextCarrier<MenuRoot> = buildRootCarrier<MenuRoot>({\n providers: [{ provide: PRESENCE_CONTEXT, useValue: this.presence }],\n root: this,\n rootToken: MENU_CONTEXT as ProviderToken<MenuRoot>,\n originInjector: inject(Injector),\n environmentInjector: inject(EnvironmentInjector),\n });\n\n protected readonly parentMenu: UseMenuReturn | null = inject(MENU_CONTEXT, {\n optional: true,\n skipSelf: true,\n });\n readonly triggerItemProps = computed(() =>\n this.parentMenu?.api().getTriggerItemProps(this.api()),\n );\n\n constructor() {\n super();\n const parent = this.parentMenu;\n if (parent) {\n const destroyRef = inject(DestroyRef);\n let connected = false;\n let destroyed = false;\n\n destroyRef.onDestroy(() => {\n destroyed = true;\n if (!connected) return;\n const childId = this.machine.service.prop(\"id\");\n if (!childId) return;\n const children = parent.service.refs.get(\"children\");\n const nextChildren = { ...children };\n delete nextChildren[childId];\n parent.service.refs.set(\"children\", nextChildren);\n this.machine.service.refs.set(\"parent\", null);\n this.machine.service.context.set(\"isSubmenu\", false);\n });\n\n afterNextRender(() => {\n if (destroyed) return;\n parent.api().setChild(this.machine.service);\n this.machine.api().setParent(parent.service);\n connected = true;\n });\n }\n }\n\n getContextCarrier(): ContextCarrier<MenuRoot> {\n return this.contextCarrier;\n }\n}\n\nfunction optionalBooleanAttribute(value: unknown): boolean | undefined {\n return value === undefined || value === null ? undefined : booleanAttribute(value);\n}\n","import type { ContextCarrier } from \"@wirekyt/angular\";\nimport type * as menu from \"@wirekyt/dom/machines/menu\";\n\nimport {\n Directive,\n DestroyRef,\n EnvironmentInjector,\n Injector,\n afterNextRender,\n type InputSignal,\n type ProviderToken,\n type Signal,\n computed,\n forwardRef,\n inject,\n input,\n} from \"@angular/core\";\nimport { buildRootCarrier } from \"@wirekyt/angular\";\nimport { PRESENCE_CONTEXT, PresenceBase } from \"@wirekyt/angular/presence\";\n\nimport type { UseMenuReturn } from \"./use\";\n\nimport { MENU_CONTEXT, MENU_CONTEXT_CARRIER } from \"./use-context\";\nimport { MENU_TRIGGER_ITEM_CONTEXT } from \"./use-trigger-item-context\";\n\n@Directive({\n selector: \"[menu-root-provider]\",\n standalone: true,\n exportAs: \"menuRootProvider\",\n providers: [\n {\n provide: PRESENCE_CONTEXT,\n useFactory: (provider: MenuRootProvider) => provider.presence,\n deps: [forwardRef(() => MenuRootProvider)],\n },\n { provide: MENU_CONTEXT, useExisting: forwardRef(() => MenuRootProvider) },\n {\n provide: MENU_TRIGGER_ITEM_CONTEXT,\n useFactory: (provider: MenuRootProvider) => provider.triggerItemProps,\n deps: [forwardRef(() => MenuRootProvider)],\n },\n {\n provide: MENU_CONTEXT_CARRIER,\n useFactory: (provider: MenuRootProvider) => provider.getContextCarrier(),\n deps: [forwardRef(() => MenuRootProvider)],\n },\n ],\n})\nexport class MenuRootProvider extends PresenceBase implements UseMenuReturn {\n readonly value: InputSignal<UseMenuReturn> = input.required<UseMenuReturn>();\n readonly state: Signal<menu.Service[\"state\"]> = computed(() => this.value().state());\n readonly api: Signal<menu.Api> = computed(() => this.value().api());\n readonly send: menu.Service[\"send\"] = (event) => this.value().send(event);\n\n get service(): menu.Service {\n return this.value().service;\n }\n\n readonly presence = this.createPresence(() => {\n try {\n return this.api().open;\n } catch {\n return false;\n }\n });\n\n protected readonly contextCarrier: ContextCarrier<MenuRootProvider> =\n buildRootCarrier<MenuRootProvider>({\n providers: [{ provide: PRESENCE_CONTEXT, useValue: this.presence }],\n root: this,\n rootToken: MENU_CONTEXT as ProviderToken<MenuRootProvider>,\n originInjector: inject(Injector),\n environmentInjector: inject(EnvironmentInjector),\n });\n\n protected readonly parentMenu: UseMenuReturn | null = inject(MENU_CONTEXT, {\n optional: true,\n skipSelf: true,\n });\n readonly triggerItemProps = computed(() =>\n this.parentMenu?.api().getTriggerItemProps(this.api()),\n );\n\n constructor() {\n super();\n const parent = this.parentMenu;\n if (!parent) return;\n\n const destroyRef = inject(DestroyRef);\n let connected = false;\n let destroyed = false;\n\n destroyRef.onDestroy(() => {\n destroyed = true;\n if (!connected) return;\n const childId = this.service.prop(\"id\");\n if (!childId) return;\n const children = parent.service.refs.get(\"children\");\n const nextChildren = { ...children };\n delete nextChildren[childId];\n parent.service.refs.set(\"children\", nextChildren);\n this.service.refs.set(\"parent\", null);\n this.service.context.set(\"isSubmenu\", false);\n });\n\n afterNextRender(() => {\n if (destroyed) return;\n parent.api().setChild(this.service);\n this.api().setParent(parent.service);\n connected = true;\n });\n }\n\n getContextCarrier(): ContextCarrier<MenuRootProvider> {\n return this.contextCarrier;\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n inject,\n input,\n type InputSignal,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\nimport { injectPresenceContext } from \"@wirekyt/angular/presence\";\n\nimport { injectMenuContext } from \"./use-context\";\n\n@Directive({\n selector: \"[menu-trigger]\",\n standalone: true,\n exportAs: \"menuTrigger\",\n})\nexport class MenuTrigger {\n readonly value: InputSignal<string | undefined> = input<string | undefined>(undefined);\n\n constructor() {\n const context = injectMenuContext();\n const presence = injectPresenceContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => {\n const props = context.api().getTriggerProps({ value: this.value() });\n return {\n ...props,\n \"aria-controls\": presence.unmounted() ? undefined : props[\"aria-controls\"],\n };\n },\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n inject,\n input,\n type InputSignal,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectMenuContext } from \"./use-context\";\n\n@Directive({\n selector: \"[menu-context-trigger]\",\n standalone: true,\n exportAs: \"menuContextTrigger\",\n})\nexport class MenuContextTrigger {\n readonly value: InputSignal<string | undefined> = input<string | undefined>(undefined);\n\n constructor() {\n const context = injectMenuContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getContextTriggerProps({ value: this.value() }),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectMenuContext } from \"./use-context\";\n\n@Directive({\n selector: \"[menu-positioner]\",\n standalone: true,\n exportAs: \"menuPositioner\",\n})\nexport class MenuPositioner {\n constructor() {\n const context = injectMenuContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getPositionerProps(),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n untracked,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\nimport { injectPresenceContext } from \"@wirekyt/angular/presence\";\n\nimport { injectMenuContext } from \"./use-context\";\n\n@Directive({\n selector: \"[menu-content]\",\n standalone: true,\n exportAs: \"menuContent\",\n})\nexport class MenuContent {\n constructor() {\n const context = injectMenuContext();\n const presence = injectPresenceContext();\n const template = inject(TemplateRef<unknown>, { optional: true });\n const container = inject(ViewContainerRef);\n const host = inject(ElementRef);\n const elementRef = template ? { nativeElement: null as HTMLElement | null } : host;\n let view: EmbeddedViewRef<unknown> | undefined;\n\n effect(() => {\n const unmounted = presence.unmounted();\n if (template) {\n if (unmounted) {\n elementRef.nativeElement = null;\n container.clear();\n view = undefined;\n } else if (!view) {\n view = container.createEmbeddedView(template);\n elementRef.nativeElement =\n view.rootNodes.find((node: Node) => node.nodeType === 1) ?? null;\n }\n }\n untracked(() => presence.setNode(elementRef.nativeElement));\n });\n\n bindProps({\n elementRef,\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => {\n presence.unmounted();\n return { ...context.api().getContentProps(), ...presence.getPresenceProps() };\n },\n });\n }\n}\n","import type * as menu from \"@wirekyt/dom/machines/menu\";\n\nimport { InjectionToken, type Signal, inject } from \"@angular/core\";\n\n/**\n * Internal DI token carrying a menu item's own value/checked/api so descendant\n * indicators can apply Zag's `getItemIndicatorProps`. Not exported from the\n * public entry point.\n *\n * When `checked` is `undefined`, the parent item is a non-option item and\n * indicator descendants should not render a checked/unchecked state.\n */\nexport interface MenuItemContext {\n readonly state: Signal<menu.ItemState | menu.OptionItemState>;\n readonly value: Signal<string>;\n readonly disabled: Signal<boolean | undefined>;\n readonly valueText: Signal<string | undefined>;\n readonly checked: Signal<boolean | undefined>;\n readonly api: Signal<menu.Api>;\n}\n\nexport const MENU_ITEM_CONTEXT = new InjectionToken<MenuItemContext>(\"WIREKYT.MENU_ITEM_CONTEXT\");\n\nexport function injectMenuItemContext(): MenuItemContext {\n return inject(MENU_ITEM_CONTEXT);\n}\n","import type * as menu from \"@wirekyt/dom/machines/menu\";\n\nimport { InjectionToken, inject, type Signal } from \"@angular/core\";\n\nexport type MenuItemPropsContext = Signal<menu.ItemBaseProps>;\n\nexport const MENU_ITEM_PROPS_CONTEXT = new InjectionToken<MenuItemPropsContext>(\n \"WIREKYT.MENU_ITEM_PROPS_CONTEXT\",\n);\n\nexport function injectMenuItemPropsContext(): MenuItemPropsContext {\n return inject(MENU_ITEM_PROPS_CONTEXT);\n}\n","import type * as menu from \"@wirekyt/dom/machines/menu\";\n\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n afterNextRender,\n booleanAttribute,\n computed,\n forwardRef,\n inject,\n input,\n output,\n type InputSignal,\n type InputSignalWithTransform,\n type OutputEmitterRef,\n type Signal,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectMenuContext } from \"./use-context\";\nimport { MENU_ITEM_CONTEXT, type MenuItemContext } from \"./use-item-context\";\nimport { MENU_ITEM_PROPS_CONTEXT } from \"./use-option-item-props-context\";\n\n@Directive({\n selector: \"[menu-item]\",\n standalone: true,\n exportAs: \"menuItem\",\n providers: [\n { provide: MENU_ITEM_CONTEXT, useExisting: forwardRef(() => MenuItem) },\n {\n provide: MENU_ITEM_PROPS_CONTEXT,\n useFactory: (item: MenuItem) => item.itemProps,\n deps: [forwardRef(() => MenuItem)],\n },\n ],\n})\nexport class MenuItem implements MenuItemContext {\n readonly value: InputSignal<string> = input.required<string>();\n readonly disabled: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly valueText: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly closeOnSelect: InputSignal<boolean | undefined> = input<boolean | undefined>(undefined);\n readonly select: OutputEmitterRef<void> = output<void>();\n\n private readonly context = injectMenuContext();\n readonly api: Signal<menu.Api> = computed(() => this.context.api());\n readonly checked: Signal<boolean | undefined> = computed(() => undefined);\n\n readonly itemProps = computed(() => ({\n value: this.value(),\n disabled: this.disabled(),\n valueText: this.valueText(),\n closeOnSelect: this.closeOnSelect(),\n }));\n\n readonly state = computed(() => this.context.api().getItemState(this.itemProps()));\n readonly highlighted: Signal<boolean> = computed(() => this.state().highlighted);\n readonly itemId: Signal<string> = computed(() => this.state().id);\n\n constructor() {\n const destroyRef = inject(DestroyRef);\n const elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n const renderer = inject(Renderer2);\n bindProps({\n elementRef,\n renderer,\n destroyRef,\n props: () => this.context.api().getItemProps(this.itemProps()),\n });\n\n let dispose: VoidFunction | undefined;\n let destroyed = false;\n destroyRef.onDestroy(() => {\n destroyed = true;\n dispose?.();\n });\n afterNextRender(() => {\n if (destroyed) return;\n dispose = this.context\n .api()\n .addItemListener({ id: this.state().id, onSelect: () => this.select.emit() });\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n} from \"@angular/core\";\n\nimport type { UseMenuReturn } from \"./use\";\n\nimport { injectMenuContext } from \"./use-context\";\n\nexport interface MenuContextTemplate {\n $implicit: UseMenuReturn[\"api\"];\n api: UseMenuReturn[\"api\"];\n}\n\n@Directive({\n selector: \"[menu-context]\",\n standalone: true,\n exportAs: \"menuContext\",\n})\nexport class MenuContext {\n static ngTemplateContextGuard(\n _directive: MenuContext,\n context: unknown,\n ): context is MenuContextTemplate {\n void context;\n return true;\n }\n\n private readonly menu = injectMenuContext();\n private readonly templateRef = inject<TemplateRef<MenuContextTemplate>>(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n constructor() {\n const view = this.viewContainer.createEmbeddedView(this.templateRef, {\n $implicit: this.menu.api,\n api: this.menu.api,\n });\n\n effect(() => {\n this.menu.api();\n view.detectChanges();\n });\n\n inject(DestroyRef).onDestroy(() => view.destroy());\n }\n}\n","import {\n DestroyRef,\n Directive,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n} from \"@angular/core\";\n\nimport type { MenuItemContext as UseMenuItemContext } from \"./use-item-context\";\n\nimport { injectMenuItemContext } from \"./use-item-context\";\n\nexport interface MenuItemContextTemplate {\n $implicit: UseMenuItemContext;\n item: UseMenuItemContext;\n}\n\n@Directive({\n selector: \"[menu-item-context]\",\n standalone: true,\n exportAs: \"menuItemContext\",\n})\nexport class MenuItemContextDirective {\n static ngTemplateContextGuard(\n _directive: MenuItemContextDirective,\n context: unknown,\n ): context is MenuItemContextTemplate {\n void context;\n return true;\n }\n\n private readonly item = injectMenuItemContext();\n private readonly templateRef = inject<TemplateRef<MenuItemContextTemplate>>(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n constructor() {\n const view = this.viewContainer.createEmbeddedView(this.templateRef, {\n $implicit: this.item,\n item: this.item,\n });\n\n effect(() => {\n this.item.state();\n view.detectChanges();\n });\n\n inject(DestroyRef).onDestroy(() => view.destroy());\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n booleanAttribute,\n inject,\n input,\n type InputSignal,\n type InputSignalWithTransform,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectMenuContext } from \"./use-context\";\nimport { MENU_ITEM_CONTEXT } from \"./use-item-context\";\nimport { MENU_ITEM_PROPS_CONTEXT } from \"./use-option-item-props-context\";\n\n@Directive({\n selector: \"[menu-item-text]\",\n standalone: true,\n exportAs: \"menuItemText\",\n})\nexport class MenuItemText {\n readonly value: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly disabled: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly valueText: InputSignal<string | undefined> = input<string | undefined>(undefined);\n\n constructor() {\n const context = injectMenuContext();\n const item = inject(MENU_ITEM_CONTEXT, { optional: true });\n const itemProps = inject(MENU_ITEM_PROPS_CONTEXT, { optional: true });\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () =>\n context.api().getItemTextProps(\n itemProps?.() ?? {\n value: item?.value() ?? this.value() ?? \"\",\n disabled: item?.disabled() ?? this.disabled(),\n valueText: item?.valueText() ?? this.valueText(),\n ...(item?.checked() !== undefined ? { checked: item.checked() } : {}),\n },\n ),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectMenuContext } from \"./use-context\";\n\n@Directive({\n selector: \"[menu-separator]\",\n standalone: true,\n exportAs: \"menuSeparator\",\n})\nexport class MenuSeparator {\n constructor() {\n const context = injectMenuContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getSeparatorProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectMenuContext } from \"./use-context\";\n\n@Directive({\n selector: \"[menu-indicator]\",\n standalone: true,\n exportAs: \"menuIndicator\",\n})\nexport class MenuIndicator {\n constructor() {\n const context = injectMenuContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getIndicatorProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectMenuContext } from \"./use-context\";\n\n@Directive({\n selector: \"[menu-arrow]\",\n standalone: true,\n exportAs: \"menuArrow\",\n})\nexport class MenuArrow {\n constructor() {\n const context = injectMenuContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getArrowProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectMenuContext } from \"./use-context\";\n\n@Directive({\n selector: \"[menu-arrow-tip]\",\n standalone: true,\n exportAs: \"menuArrowTip\",\n})\nexport class MenuArrowTip {\n constructor() {\n const context = injectMenuContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getArrowTipProps(),\n });\n }\n}\n","import type * as menu from \"@wirekyt/dom/machines/menu\";\n\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n booleanAttribute,\n computed,\n forwardRef,\n inject,\n input,\n model,\n type InputSignal,\n type InputSignalWithTransform,\n type ModelSignal,\n type Signal,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectMenuContext } from \"./use-context\";\nimport { MENU_ITEM_CONTEXT, type MenuItemContext } from \"./use-item-context\";\nimport { MENU_ITEM_PROPS_CONTEXT } from \"./use-option-item-props-context\";\n\n@Directive({\n selector: \"[menu-checkbox-item]\",\n standalone: true,\n exportAs: \"menuCheckboxItem\",\n providers: [\n { provide: MENU_ITEM_CONTEXT, useExisting: forwardRef(() => MenuCheckboxItem) },\n {\n provide: MENU_ITEM_PROPS_CONTEXT,\n useFactory: (item: MenuCheckboxItem) => item.optionItemProps,\n deps: [forwardRef(() => MenuCheckboxItem)],\n },\n ],\n})\nexport class MenuCheckboxItem implements MenuItemContext {\n readonly value: InputSignal<string> = input.required<string>();\n readonly checked: ModelSignal<boolean | undefined> = model<boolean | undefined>(undefined);\n readonly disabledInput: InputSignalWithTransform<boolean, unknown> = input(false, {\n alias: \"disabled\",\n transform: booleanAttribute,\n });\n readonly valueText: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly closeOnSelect: InputSignal<boolean | undefined> = input<boolean | undefined>(undefined);\n\n readonly disabled: Signal<boolean | undefined> = computed(() => this.disabledInput());\n\n private readonly context = injectMenuContext();\n readonly api: Signal<menu.Api> = computed(() => this.context.api());\n readonly optionItemProps = computed(() => ({\n type: \"checkbox\" as const,\n value: this.value(),\n checked: this.checked() ?? false,\n disabled: this.disabledInput(),\n valueText: this.valueText(),\n closeOnSelect: this.closeOnSelect(),\n onCheckedChange: (next: boolean) => {\n if (this.checked() !== next) this.checked.set(next);\n },\n }));\n readonly state = computed(() => this.context.api().getOptionItemState(this.optionItemProps()));\n\n constructor() {\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.context.api().getOptionItemProps(this.optionItemProps()),\n });\n }\n}\n","import { InjectionToken, type Signal, inject } from \"@angular/core\";\n\nexport interface MenuValueChangeDetails {\n value: string;\n}\n\n/**\n * Internal DI token carrying a radio item-group's id and current selected value\n * so radio items inside the group can mark themselves checked and emit\n * value-change events through the parent group's model channel.\n */\nexport interface MenuRadioItemGroupContext {\n readonly id: Signal<string>;\n readonly value: Signal<string | null | undefined>;\n setValue(next: string): void;\n}\n\nexport const MENU_RADIO_ITEM_GROUP_CONTEXT = new InjectionToken<MenuRadioItemGroupContext>(\n \"WIREKYT.MENU_RADIO_ITEM_GROUP_CONTEXT\",\n);\n\nexport function injectMenuRadioItemGroupContext(): MenuRadioItemGroupContext {\n return inject(MENU_RADIO_ITEM_GROUP_CONTEXT);\n}\n","import type * as menu from \"@wirekyt/dom/machines/menu\";\n\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n booleanAttribute,\n computed,\n forwardRef,\n inject,\n input,\n type InputSignal,\n type InputSignalWithTransform,\n type Signal,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectMenuContext } from \"./use-context\";\nimport { MENU_ITEM_CONTEXT, type MenuItemContext } from \"./use-item-context\";\nimport { MENU_ITEM_PROPS_CONTEXT } from \"./use-option-item-props-context\";\nimport { injectMenuRadioItemGroupContext } from \"./use-radio-item-group-context\";\n\n@Directive({\n selector: \"[menu-radio-item]\",\n standalone: true,\n exportAs: \"menuRadioItem\",\n providers: [\n { provide: MENU_ITEM_CONTEXT, useExisting: forwardRef(() => MenuRadioItem) },\n {\n provide: MENU_ITEM_PROPS_CONTEXT,\n useFactory: (item: MenuRadioItem) => item.optionItemProps,\n deps: [forwardRef(() => MenuRadioItem)],\n },\n ],\n})\nexport class MenuRadioItem implements MenuItemContext {\n readonly value: InputSignal<string> = input.required<string>();\n readonly disabledInput: InputSignalWithTransform<boolean, unknown> = input(false, {\n alias: \"disabled\",\n transform: booleanAttribute,\n });\n readonly valueText: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly closeOnSelect: InputSignal<boolean | undefined> = input<boolean | undefined>(undefined);\n\n readonly disabled: Signal<boolean | undefined> = computed(() => this.disabledInput());\n\n private readonly context = injectMenuContext();\n private readonly radioGroup = injectMenuRadioItemGroupContext();\n readonly api: Signal<menu.Api> = computed(() => this.context.api());\n readonly checked: Signal<boolean> = computed(() => this.radioGroup.value() === this.value());\n readonly optionItemProps = computed(() => ({\n type: \"radio\" as const,\n value: this.value(),\n checked: this.checked(),\n disabled: this.disabledInput(),\n valueText: this.valueText(),\n closeOnSelect: this.closeOnSelect(),\n onCheckedChange: () => this.radioGroup.setValue(this.value()),\n }));\n readonly state = computed(() => this.context.api().getOptionItemState(this.optionItemProps()));\n\n constructor() {\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.context.api().getOptionItemProps(this.optionItemProps()),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n computed,\n forwardRef,\n inject,\n input,\n model,\n output,\n type InputSignal,\n type ModelSignal,\n type OutputEmitterRef,\n type Signal,\n} from \"@angular/core\";\nimport { bindProps, createId } from \"@wirekyt/angular\";\n\nimport { injectMenuContext } from \"./use-context\";\nimport {\n MENU_RADIO_ITEM_GROUP_CONTEXT,\n type MenuRadioItemGroupContext,\n type MenuValueChangeDetails,\n} from \"./use-radio-item-group-context\";\n\n@Directive({\n selector: \"[menu-radio-item-group]\",\n standalone: true,\n exportAs: \"menuRadioItemGroup\",\n providers: [\n { provide: MENU_RADIO_ITEM_GROUP_CONTEXT, useExisting: forwardRef(() => MenuRadioItemGroup) },\n ],\n})\nexport class MenuRadioItemGroup implements MenuRadioItemGroupContext {\n readonly idInput: InputSignal<string | undefined> = input<string | undefined>(undefined, {\n alias: \"id\",\n });\n readonly value: ModelSignal<string | null | undefined> = model<string | null | undefined>(\n undefined,\n );\n readonly valueChangeDetails: OutputEmitterRef<MenuValueChangeDetails> =\n output<MenuValueChangeDetails>();\n\n private readonly fallbackId = createId();\n\n readonly id: Signal<string> = computed(() => this.idInput() ?? this.fallbackId);\n\n setValue(next: string): void {\n if (this.value() === next) return;\n this.value.set(next);\n this.valueChangeDetails.emit({ value: next });\n }\n\n constructor() {\n const context = injectMenuContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getItemGroupProps({ id: this.id() }),\n });\n }\n}\n","import { InjectionToken, type Signal, inject } from \"@angular/core\";\n\n/**\n * Internal DI token carrying a non-radio item-group's id so the corresponding\n * `menuItemGroupLabel` can apply Zag's `getItemGroupLabelProps`.\n */\nexport interface MenuItemGroupContext {\n readonly id: Signal<string>;\n}\n\nexport const MENU_ITEM_GROUP_CONTEXT = new InjectionToken<MenuItemGroupContext>(\n \"WIREKYT.MENU_ITEM_GROUP_CONTEXT\",\n);\n\nexport function injectMenuItemGroupContext(): MenuItemGroupContext {\n return inject(MENU_ITEM_GROUP_CONTEXT);\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n computed,\n forwardRef,\n inject,\n input,\n type InputSignal,\n type Signal,\n} from \"@angular/core\";\nimport { bindProps, createId } from \"@wirekyt/angular\";\n\nimport { injectMenuContext } from \"./use-context\";\nimport { MENU_ITEM_GROUP_CONTEXT, type MenuItemGroupContext } from \"./use-item-group-context\";\n\n@Directive({\n selector: \"[menu-item-group]\",\n standalone: true,\n exportAs: \"menuItemGroup\",\n providers: [{ provide: MENU_ITEM_GROUP_CONTEXT, useExisting: forwardRef(() => MenuItemGroup) }],\n})\nexport class MenuItemGroup implements MenuItemGroupContext {\n readonly idInput: InputSignal<string | undefined> = input<string | undefined>(undefined, {\n alias: \"id\",\n });\n\n private readonly fallbackId = createId();\n\n readonly id: Signal<string> = computed(() => this.idInput() ?? this.fallbackId);\n\n constructor() {\n const context = injectMenuContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getItemGroupProps({ id: this.id() }),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectMenuContext } from \"./use-context\";\nimport { MENU_ITEM_GROUP_CONTEXT } from \"./use-item-group-context\";\nimport { MENU_RADIO_ITEM_GROUP_CONTEXT } from \"./use-radio-item-group-context\";\n\n@Directive({\n selector: \"[menu-item-group-label]\",\n standalone: true,\n exportAs: \"menuItemGroupLabel\",\n})\nexport class MenuItemGroupLabel {\n constructor() {\n const context = injectMenuContext();\n const itemGroup = inject(MENU_ITEM_GROUP_CONTEXT, { optional: true });\n const radioGroup = inject(MENU_RADIO_ITEM_GROUP_CONTEXT, { optional: true });\n\n const groupId = itemGroup?.id ?? radioGroup?.id;\n\n if (!groupId) {\n throw new Error(\n \"[menu-item-group-label] requires a parent [menu-item-group] or [menu-radio-item-group] in the injection tree.\",\n );\n }\n\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getItemGroupLabelProps({ htmlFor: groupId() }),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n computed,\n forwardRef,\n inject,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { MENU_ITEM_PROPS_CONTEXT } from \"./use-option-item-props-context\";\nimport { injectMenuTriggerItemContext } from \"./use-trigger-item-context\";\n\n/**\n * Nested-submenu trigger item. The directive must live inside a child menu's\n * `[menu-root]` root that is itself a descendant of a parent `[menu-root]` root.\n * The parent menu's `getTriggerItemProps(childApi)` is applied so clicking or\n * hovering this element opens the child submenu while leaving the parent open.\n */\n@Directive({\n selector: \"[menu-trigger-item]\",\n standalone: true,\n exportAs: \"menuTriggerItem\",\n providers: [\n {\n provide: MENU_ITEM_PROPS_CONTEXT,\n useFactory: (item: MenuTriggerItem) => item.itemProps,\n deps: [forwardRef(() => MenuTriggerItem)],\n },\n ],\n})\nexport class MenuTriggerItem {\n private readonly triggerItemProps = injectMenuTriggerItemContext();\n readonly itemProps = computed(() => ({\n value: String(this.triggerItemProps()?.[\"data-value\"] ?? \"\"),\n }));\n\n constructor() {\n if (!this.triggerItemProps()) {\n throw new Error(\n \"[menu-trigger-item] must live inside a nested [menu-root] under a parent [menu-root] root.\",\n );\n }\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.triggerItemProps() ?? {},\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectMenuContext } from \"./use-context\";\nimport { injectMenuItemPropsContext } from \"./use-option-item-props-context\";\n\n@Directive({\n selector: \"[menu-item-indicator]\",\n standalone: true,\n exportAs: \"menuItemIndicator\",\n})\nexport class MenuItemIndicator {\n constructor() {\n const context = injectMenuContext();\n const itemProps = injectMenuItemPropsContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getItemIndicatorProps(itemProps()),\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -68,80 +68,49 @@ function useSelect(options) {
68
68
  }
69
69
 
70
70
  class SelectRoot extends PresenceBase {
71
- /** The unique identifier of the select. */
72
71
  id = input(undefined, /* @ts-ignore */
73
72
  ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
74
- /** The element ids for the select parts. */
75
73
  elementIds = input(undefined, { ...(ngDevMode ? { debugName: "elementIds" } : /* istanbul ignore next */ {}), alias: "ids" });
76
- /** The item collection. */
77
74
  collection = input.required(/* @ts-ignore */
78
75
  ...(ngDevMode ? [{ debugName: "collection" }] : /* istanbul ignore next */ []));
79
- /** The controlled value of the select (array of selected keys). */
80
76
  value = model(undefined, /* @ts-ignore */
81
77
  ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
82
- /** The initial value of the select when uncontrolled. */
83
78
  defaultValue = input(undefined, /* @ts-ignore */
84
79
  ...(ngDevMode ? [{ debugName: "defaultValue" }] : /* istanbul ignore next */ []));
85
- /** The controlled open state of the select menu. */
86
80
  open = model(undefined, /* @ts-ignore */
87
81
  ...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
88
- /** The initial open state of the select when uncontrolled. */
89
82
  defaultOpen = input(false, { ...(ngDevMode ? { debugName: "defaultOpen" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
90
- /** The controlled highlighted value of the select. */
91
83
  highlightedValue = model(undefined, /* @ts-ignore */
92
84
  ...(ngDevMode ? [{ debugName: "highlightedValue" }] : /* istanbul ignore next */ []));
93
- /** The initial highlighted value when uncontrolled. */
94
85
  defaultHighlightedValue = input(undefined, /* @ts-ignore */
95
86
  ...(ngDevMode ? [{ debugName: "defaultHighlightedValue" }] : /* istanbul ignore next */ []));
96
- /** Whether the select is disabled. */
97
87
  disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
98
- /** Whether the select is invalid. */
99
88
  invalid = input(false, { ...(ngDevMode ? { debugName: "invalid" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
100
- /** Whether the select is read-only. */
101
89
  readOnly = input(false, { ...(ngDevMode ? { debugName: "readOnly" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
102
- /** Whether the select is required. */
103
90
  required = input(false, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
104
- /** Whether multiple values can be selected. */
105
91
  multiple = input(false, { ...(ngDevMode ? { debugName: "multiple" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
106
- /** Whether the select should close after an item is selected. */
107
92
  closeOnSelect = input(undefined, { ...(ngDevMode ? { debugName: "closeOnSelect" } : /* istanbul ignore next */ {}), transform: (value) => value === undefined || value === null ? undefined : booleanAttribute(value) });
108
- /** Whether to loop keyboard navigation through the items. */
109
93
  loopFocus = input(false, { ...(ngDevMode ? { debugName: "loopFocus" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
110
- /** Whether the value can be cleared by clicking the selected item. */
111
94
  deselectable = input(false, { ...(ngDevMode ? { debugName: "deselectable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
112
- /** Whether the select is composed with other composite widgets. */
113
95
  composite = input(undefined, { ...(ngDevMode ? { debugName: "composite" } : /* istanbul ignore next */ {}), transform: (value) => value === undefined || value === null ? undefined : booleanAttribute(value) });
114
- /** The name attribute of the underlying hidden select. */
115
96
  name = input(undefined, /* @ts-ignore */
116
97
  ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
117
- /** The associated form of the underlying hidden select. */
118
98
  form = input(undefined, /* @ts-ignore */
119
99
  ...(ngDevMode ? [{ debugName: "form" }] : /* istanbul ignore next */ []));
120
- /** The autocomplete attribute for the hidden select. */
121
100
  autoComplete = input(undefined, /* @ts-ignore */
122
101
  ...(ngDevMode ? [{ debugName: "autoComplete" }] : /* istanbul ignore next */ []));
123
- /** The positioning options of the menu. */
124
102
  positioning = input(undefined, /* @ts-ignore */
125
103
  ...(ngDevMode ? [{ debugName: "positioning" }] : /* istanbul ignore next */ []));
126
- /** Function to scroll to a specific index. */
127
104
  scrollToIndexFn = input(undefined, /* @ts-ignore */
128
105
  ...(ngDevMode ? [{ debugName: "scrollToIndexFn" }] : /* istanbul ignore next */ []));
129
- /** Localized strings for accessibility. */
130
106
  translations = input(undefined, /* @ts-ignore */
131
107
  ...(ngDevMode ? [{ debugName: "translations" }] : /* istanbul ignore next */ []));
132
- /** Emits when the selected value changes. */
133
108
  valueChangeDetails = output();
134
- /** Emits when the highlighted value changes. */
135
109
  highlightChange = output();
136
- /** Emits when the open state changes. */
137
110
  openChangeDetails = output();
138
- /** Emits when an item is selected. */
139
111
  select = output();
140
- /** Emits when focus moves outside the select content. */
141
112
  focusOutside = output();
142
- /** Emits when pointer down occurs outside the select content. */
143
113
  pointerDownOutside = output();
144
- /** Emits when interaction occurs outside the select content. */
145
114
  interactOutside = output();
146
115
  _disabledFromForm = signal(false, /* @ts-ignore */
147
116
  ...(ngDevMode ? [{ debugName: "_disabledFromForm" }] : /* istanbul ignore next */ []));
@@ -239,7 +208,6 @@ class SelectRoot extends PresenceBase {
239
208
  originInjector: inject(Injector),
240
209
  environmentInjector: inject(EnvironmentInjector),
241
210
  });
242
- /** @internal Exposed for select part directives to consume via SELECT_CONTEXT_CARRIER. */
243
211
  getContextCarrier() {
244
212
  return this.contextCarrier;
245
213
  }
@@ -340,7 +308,6 @@ function arraysShallowEqual(a, b) {
340
308
  }
341
309
 
342
310
  class SelectRootProvider extends PresenceBase {
343
- /** The select primitive returned by useSelect(). */
344
311
  value = input.required(/* @ts-ignore */
345
312
  ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
346
313
  get state() {
@@ -373,7 +340,6 @@ class SelectRootProvider extends PresenceBase {
373
340
  originInjector: inject(Injector),
374
341
  environmentInjector: inject(EnvironmentInjector),
375
342
  });
376
- /** @internal Exposed for select part directives to consume via SELECT_CONTEXT_CARRIER. */
377
343
  getContextCarrier() {
378
344
  return this.contextCarrier;
379
345
  }
@@ -534,7 +500,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImpor
534
500
  }], ctorParameters: () => [] });
535
501
 
536
502
  class SelectValueText {
537
- /** Text to display when no value is selected. */
538
503
  placeholder = input(undefined, /* @ts-ignore */
539
504
  ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
540
505
  elementRef = inject(ElementRef);
@@ -738,7 +703,6 @@ function injectSelectItemGroupContext() {
738
703
  return context;
739
704
  }
740
705
  class SelectItemGroup {
741
- /** The id of the item group. */
742
706
  groupId = input(undefined, { ...(ngDevMode ? { debugName: "groupId" } : /* istanbul ignore next */ {}), alias: "id" });
743
707
  fallbackId = createId();
744
708
  id = computed(() => this.groupId() ?? this.fallbackId, /* @ts-ignore */
@@ -793,10 +757,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.3", ngImpor
793
757
  }], ctorParameters: () => [] });
794
758
 
795
759
  class SelectItem {
796
- /** The item to render. */
797
760
  item = input.required(/* @ts-ignore */
798
761
  ...(ngDevMode ? [{ debugName: "item" }] : /* istanbul ignore next */ []));
799
- /** Whether hovering outside should clear the highlighted state. */
800
762
  persistFocus = input(undefined, { ...(ngDevMode ? { debugName: "persistFocus" } : /* istanbul ignore next */ {}), transform: (value) => value === undefined || value === null ? undefined : booleanAttribute(value) });
801
763
  context = injectSelectContext();
802
764
  state = computed(() => this.context.api().getItemState({ item: this.item(), persistFocus: this.persistFocus() }), /* @ts-ignore */