@wirekyt/angular 0.0.28 → 0.0.30

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-tooltip.mjs","sources":["../../src/components/tooltip/use-context.ts","../../src/components/tooltip/use.ts","../../src/components/tooltip/root.ts","../../src/components/tooltip/root-provider.ts","../../src/components/tooltip/trigger.ts","../../src/components/tooltip/positioner.ts","../../src/components/tooltip/content.ts","../../src/components/tooltip/arrow.ts","../../src/components/tooltip/arrow-tip.ts","../../src/components/tooltip/context.ts","../../src/components/tooltip/wirekyt-angular-tooltip.ts"],"sourcesContent":["import type { ContextCarrier } from \"@wirekyt/angular\";\n\nimport { InjectionToken, inject, type Signal } from \"@angular/core\";\n\nimport type { UseTooltipReturn } from \"./use\";\n\nexport const TOOLTIP_CONTEXT = new InjectionToken<UseTooltipReturn>(\"WIREKYT.TOOLTIP_CONTEXT\");\n\nexport function injectTooltipContext(): UseTooltipReturn {\n return inject(TOOLTIP_CONTEXT);\n}\n\nexport const TOOLTIP_CONTEXT_CARRIER = new InjectionToken<ContextCarrier<UseTooltipReturn>>(\n \"WIREKYT.TOOLTIP_CONTEXT_CARRIER\",\n);\n\nexport function injectTooltipContextCarrier(): ContextCarrier<UseTooltipReturn> {\n return inject(TOOLTIP_CONTEXT_CARRIER);\n}\n\nexport interface TooltipRenderStrategyContext {\n readonly lazyMount: Signal<boolean>;\n readonly unmountOnExit: Signal<boolean>;\n}\n\nexport const TOOLTIP_RENDER_STRATEGY_CONTEXT = new InjectionToken<TooltipRenderStrategyContext>(\n \"WIREKYT.TOOLTIP_RENDER_STRATEGY_CONTEXT\",\n);\n\nexport function injectTooltipRenderStrategyContext(): TooltipRenderStrategyContext {\n return inject(TOOLTIP_RENDER_STRATEGY_CONTEXT);\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 tooltip from \"@wirekyt/dom/machines/tooltip\";\n\ntype OptionalId<T extends { id: string }> = Omit<T, \"id\"> & { id?: string };\n\nexport interface UseTooltipProps extends OptionalId<Omit<tooltip.Props, \"dir\" | \"getRootNode\">> {}\n\nexport type UseTooltipReturn = UseMachineReturn<\n tooltip.Service[\"state\"],\n tooltip.Api,\n tooltip.Service\n>;\n\nexport interface UseTooltipOptions {\n context: () => UseTooltipProps;\n}\n\ntype TooltipContext = Record<string, unknown>;\ntype TooltipSchema = tooltip.Machine extends Machine<infer TSchema> ? TSchema : never;\n\nexport function useTooltip(options: UseTooltipOptions): UseTooltipReturn {\n const locale = injectLocale();\n const environment = injectEnvironment();\n const fallbackId = createId();\n\n return useMachine<TooltipSchema, tooltip.Api>({\n machine: tooltip.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 TooltipContext;\n },\n connect: (service, normalize) => tooltip.connect(service, normalize),\n });\n}\n","import type * as tooltip from \"@wirekyt/dom/machines/tooltip\";\n\nimport {\n Directive,\n EnvironmentInjector,\n Injector,\n type ProviderToken,\n booleanAttribute,\n forwardRef,\n inject,\n input,\n model,\n output,\n type InputSignal,\n type InputSignalWithTransform,\n type ModelSignal,\n type OutputEmitterRef,\n type Signal,\n} from \"@angular/core\";\nimport { buildRootCarrier, type ContextCarrier } from \"@wirekyt/angular\";\nimport { PRESENCE_CONTEXT, PresenceBase } from \"@wirekyt/angular/presence\";\n\nimport type {\n TooltipElementIds,\n TooltipOpenChangeDetails,\n TooltipPositioningOptions,\n TooltipTriggerValueChangeDetails,\n} from \"./types\";\n\nimport { useTooltip, type UseTooltipReturn } from \"./use\";\nimport {\n TOOLTIP_CONTEXT,\n TOOLTIP_CONTEXT_CARRIER,\n TOOLTIP_RENDER_STRATEGY_CONTEXT,\n} from \"./use-context\";\n\nconst optionalBooleanAttribute = (value: unknown): boolean | undefined =>\n value == null ? undefined : booleanAttribute(value);\n\n@Directive({\n selector: \"[tooltip-root]\",\n standalone: true,\n exportAs: \"tooltipRoot\",\n providers: [\n {\n provide: PRESENCE_CONTEXT,\n useFactory: (root: TooltipRoot) => root.presence,\n deps: [forwardRef(() => TooltipRoot)],\n },\n {\n provide: TOOLTIP_RENDER_STRATEGY_CONTEXT,\n useExisting: forwardRef(() => TooltipRoot),\n },\n { provide: TOOLTIP_CONTEXT, useExisting: forwardRef(() => TooltipRoot) },\n {\n provide: TOOLTIP_CONTEXT_CARRIER,\n useFactory: (root: TooltipRoot) => root.getContextCarrier(),\n deps: [forwardRef(() => TooltipRoot)],\n },\n ],\n})\nexport class TooltipRoot extends PresenceBase implements UseTooltipReturn {\n readonly id: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly ids: InputSignal<Partial<TooltipElementIds> | undefined> = input<\n Partial<TooltipElementIds> | 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 disabled: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly openDelay: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly closeDelay: InputSignal<number | undefined> = input<number | undefined>(undefined);\n readonly closeOnPointerDown: InputSignalWithTransform<boolean | undefined, unknown> = input(\n undefined,\n { transform: optionalBooleanAttribute },\n );\n readonly closeOnEscape: InputSignalWithTransform<boolean | undefined, unknown> = input(\n undefined,\n { transform: optionalBooleanAttribute },\n );\n readonly closeOnScroll: InputSignalWithTransform<boolean | undefined, unknown> = input(\n undefined,\n { transform: optionalBooleanAttribute },\n );\n readonly closeOnClick: InputSignalWithTransform<boolean | undefined, unknown> = input(undefined, {\n transform: optionalBooleanAttribute,\n });\n readonly interactive: InputSignalWithTransform<boolean | undefined, unknown> = input(undefined, {\n transform: optionalBooleanAttribute,\n });\n readonly positioning: InputSignal<TooltipPositioningOptions | undefined> = input<\n TooltipPositioningOptions | undefined\n >(undefined);\n readonly ariaLabel: InputSignal<string | undefined> = input<string | undefined>(undefined, {\n alias: \"aria-label\",\n });\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 openChangeDetails: OutputEmitterRef<TooltipOpenChangeDetails> =\n output<TooltipOpenChangeDetails>();\n readonly triggerValueChangeDetails: OutputEmitterRef<TooltipTriggerValueChangeDetails> =\n output<TooltipTriggerValueChangeDetails>();\n\n private readonly machine = useTooltip({\n context: () => ({\n id: this.id(),\n ids: this.ids(),\n open: this.open(),\n defaultOpen: this.defaultOpen(),\n disabled: this.disabled(),\n openDelay: this.openDelay(),\n closeDelay: this.closeDelay(),\n closeOnPointerDown: this.closeOnPointerDown(),\n closeOnEscape: this.closeOnEscape(),\n closeOnScroll: this.closeOnScroll(),\n closeOnClick: this.closeOnClick(),\n interactive: this.interactive(),\n positioning: this.positioning(),\n \"aria-label\": this.ariaLabel(),\n triggerValue: this.triggerValue(),\n defaultTriggerValue: this.defaultTriggerValue(),\n onOpenChange: (details) => {\n if (this.open() !== details.open) {\n this.open.set(details.open);\n }\n this.openChangeDetails.emit(details);\n },\n onTriggerValueChange: (details: TooltipTriggerValueChangeDetails) => {\n if (this.triggerValue() !== details.value) {\n this.triggerValue.set(details.value);\n }\n this.triggerValueChangeDetails.emit(details);\n },\n }),\n });\n\n readonly state: Signal<tooltip.Service[\"state\"]> = this.machine.state;\n readonly api: Signal<tooltip.Api> = this.machine.api;\n readonly service: tooltip.Service = this.machine.service;\n readonly send: tooltip.Service[\"send\"] = this.machine.send;\n readonly presence = this.createPresence(() => this.api().open);\n\n protected readonly contextCarrier: ContextCarrier<TooltipRoot> = buildRootCarrier<TooltipRoot>({\n providers: [\n { provide: PRESENCE_CONTEXT, useValue: this.presence },\n { provide: TOOLTIP_RENDER_STRATEGY_CONTEXT, useValue: this },\n ],\n root: this,\n rootToken: TOOLTIP_CONTEXT as ProviderToken<TooltipRoot>,\n originInjector: inject(Injector),\n environmentInjector: inject(EnvironmentInjector),\n });\n\n getContextCarrier(): ContextCarrier<TooltipRoot> {\n return this.contextCarrier;\n }\n}\n","import type * as tooltip from \"@wirekyt/dom/machines/tooltip\";\n\nimport {\n Directive,\n EnvironmentInjector,\n Injector,\n type InputSignal,\n type ProviderToken,\n type Signal,\n computed,\n forwardRef,\n inject,\n input,\n} from \"@angular/core\";\nimport { buildRootCarrier, type ContextCarrier } from \"@wirekyt/angular\";\nimport { PRESENCE_CONTEXT, PresenceBase } from \"@wirekyt/angular/presence\";\n\nimport type { UseTooltipReturn } from \"./use\";\n\nimport {\n TOOLTIP_CONTEXT,\n TOOLTIP_CONTEXT_CARRIER,\n TOOLTIP_RENDER_STRATEGY_CONTEXT,\n} from \"./use-context\";\n\n@Directive({\n selector: \"[tooltip-root-provider]\",\n standalone: true,\n exportAs: \"tooltipRootProvider\",\n providers: [\n {\n provide: PRESENCE_CONTEXT,\n useFactory: (provider: TooltipRootProvider) => provider.presence,\n deps: [forwardRef(() => TooltipRootProvider)],\n },\n {\n provide: TOOLTIP_RENDER_STRATEGY_CONTEXT,\n useExisting: forwardRef(() => TooltipRootProvider),\n },\n { provide: TOOLTIP_CONTEXT, useExisting: forwardRef(() => TooltipRootProvider) },\n {\n provide: TOOLTIP_CONTEXT_CARRIER,\n useFactory: (provider: TooltipRootProvider) => provider.getContextCarrier(),\n deps: [forwardRef(() => TooltipRootProvider)],\n },\n ],\n})\nexport class TooltipRootProvider extends PresenceBase implements UseTooltipReturn {\n readonly value: InputSignal<UseTooltipReturn> = input.required<UseTooltipReturn>();\n readonly state: Signal<tooltip.Service[\"state\"]> = computed(() => this.value().state());\n readonly api: Signal<tooltip.Api> = computed(() => this.value().api());\n readonly send: tooltip.Service[\"send\"] = (event) => this.value().send(event);\n\n get service(): tooltip.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<TooltipRootProvider> =\n buildRootCarrier<TooltipRootProvider>({\n providers: [\n { provide: PRESENCE_CONTEXT, useValue: this.presence },\n { provide: TOOLTIP_RENDER_STRATEGY_CONTEXT, useValue: this },\n ],\n root: this,\n rootToken: TOOLTIP_CONTEXT as ProviderToken<TooltipRootProvider>,\n originInjector: inject(Injector),\n environmentInjector: inject(EnvironmentInjector),\n });\n\n getContextCarrier(): ContextCarrier<TooltipRootProvider> {\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\";\n\nimport { injectTooltipContext } from \"./use-context\";\n\n@Directive({\n selector: \"[tooltip-trigger]\",\n standalone: true,\n exportAs: \"tooltipTrigger\",\n})\nexport class TooltipTrigger {\n /** The value that identifies this specific trigger. */\n readonly value: InputSignal<string | undefined> = input<string | undefined>(undefined);\n\n constructor() {\n const context = injectTooltipContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getTriggerProps({ value: this.value() }),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\nimport { injectPresenceContext } from \"@wirekyt/angular/presence\";\n\nimport { injectTooltipContext } from \"./use-context\";\n\n@Directive({\n selector: \"[tooltip-positioner]\",\n standalone: true,\n exportAs: \"tooltipPositioner\",\n})\nexport class TooltipPositioner {\n constructor() {\n const context = injectTooltipContext();\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 });\n\n bindProps({\n elementRef,\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => {\n const unmounted = presence.unmounted();\n return { ...context.api().getPositionerProps(), hidden: unmounted };\n },\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 { injectTooltipContext } from \"./use-context\";\n\n@Directive({\n selector: \"[tooltip-content]\",\n standalone: true,\n exportAs: \"tooltipContent\",\n})\nexport class TooltipContent {\n constructor() {\n const context = injectTooltipContext();\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 { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectTooltipContext } from \"./use-context\";\n\n@Directive({\n selector: \"[tooltip-arrow]\",\n standalone: true,\n exportAs: \"tooltipArrow\",\n})\nexport class TooltipArrow {\n constructor() {\n const context = injectTooltipContext();\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 { injectTooltipContext } from \"./use-context\";\n\n@Directive({\n selector: \"[tooltip-arrow-tip]\",\n standalone: true,\n exportAs: \"tooltipArrowTip\",\n})\nexport class TooltipArrowTip {\n constructor() {\n const context = injectTooltipContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getArrowTipProps(),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n} from \"@angular/core\";\n\nimport type { UseTooltipReturn } from \"./use\";\n\nimport { injectTooltipContext } from \"./use-context\";\n\nexport interface TooltipContextTemplate {\n $implicit: UseTooltipReturn[\"api\"];\n api: UseTooltipReturn[\"api\"];\n}\n\n@Directive({\n selector: \"[tooltip-context]\",\n standalone: true,\n exportAs: \"tooltipContext\",\n})\nexport class TooltipContext {\n static ngTemplateContextGuard(\n _directive: TooltipContext,\n context: unknown,\n ): context is TooltipContextTemplate {\n void context;\n return true;\n }\n\n private readonly tooltip = injectTooltipContext();\n private readonly templateRef = inject<TemplateRef<TooltipContextTemplate>>(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n constructor() {\n const view = this.viewContainer.createEmbeddedView(this.templateRef, {\n $implicit: this.tooltip.api,\n api: this.tooltip.api,\n });\n\n effect(() => {\n this.tooltip.api();\n view.detectChanges();\n });\n\n inject(DestroyRef).onDestroy(() => view.destroy());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wirekyt/angular",
3
- "version": "0.0.28",
3
+ "version": "0.0.30",
4
4
  "description": "Angular adapter for Wirekyt",
5
5
  "files": [
6
6
  "dist",
@@ -123,6 +123,14 @@
123
123
  "types": "./types/wirekyt-angular-presence.d.ts",
124
124
  "default": "./fesm2022/wirekyt-angular-presence.mjs"
125
125
  },
126
+ "./popover": {
127
+ "types": "./types/wirekyt-angular-popover.d.ts",
128
+ "default": "./fesm2022/wirekyt-angular-popover.mjs"
129
+ },
130
+ "./select": {
131
+ "types": "./types/wirekyt-angular-select.d.ts",
132
+ "default": "./fesm2022/wirekyt-angular-select.mjs"
133
+ },
126
134
  "./tabs": {
127
135
  "types": "./types/wirekyt-angular-tabs.d.ts",
128
136
  "default": "./fesm2022/wirekyt-angular-tabs.mjs"
@@ -131,6 +139,10 @@
131
139
  "types": "./types/wirekyt-angular-toast.d.ts",
132
140
  "default": "./fesm2022/wirekyt-angular-toast.mjs"
133
141
  },
142
+ "./tooltip": {
143
+ "types": "./types/wirekyt-angular-tooltip.d.ts",
144
+ "default": "./fesm2022/wirekyt-angular-tooltip.mjs"
145
+ },
134
146
  "./package.json": {
135
147
  "default": "./package.json"
136
148
  }
@@ -9,7 +9,7 @@ import { PresenceBase } from '@wirekyt/angular/presence';
9
9
  import { ControlValueAccessor } from '@angular/forms';
10
10
  import { ColorStringFormat } from '@wirekyt/dom/color-utils';
11
11
 
12
- declare const colorPickerAnatomy: _wirekyt_dom_anatomy.Anatomy<"root" | "area" | "label" | "trigger" | "content" | "positioner" | "control" | "valueText" | "areaThumb" | "areaBackground" | "channelSlider" | "channelSliderLabel" | "channelSliderTrack" | "channelSliderThumb" | "channelSliderValueText" | "channelInput" | "transparencyGrid" | "swatchGroup" | "swatchTrigger" | "swatchIndicator" | "swatch" | "eyeDropperTrigger" | "formatTrigger" | "formatSelect">;
12
+ declare const colorPickerAnatomy: _wirekyt_dom_anatomy.Anatomy<"root" | "trigger" | "content" | "label" | "valueText" | "control" | "positioner" | "area" | "areaThumb" | "areaBackground" | "channelSlider" | "channelSliderLabel" | "channelSliderTrack" | "channelSliderThumb" | "channelSliderValueText" | "channelInput" | "transparencyGrid" | "swatchGroup" | "swatchTrigger" | "swatchIndicator" | "swatch" | "eyeDropperTrigger" | "formatTrigger" | "formatSelect">;
13
13
 
14
14
  declare class ColorPickerArea {
15
15
  readonly xChannel: InputSignal<colorPicker.ColorChannel | undefined>;
@@ -13,7 +13,7 @@ import { PresenceBase } from '@wirekyt/angular/presence';
13
13
  import { ControlValueAccessor } from '@angular/forms';
14
14
  import * as _wirekyt_angular_combobox from '@wirekyt/angular/combobox';
15
15
 
16
- declare const comboboxAnatomy: _wirekyt_dom_anatomy.AnatomyInstance<"root" | "list" | "item" | "input" | "label" | "trigger" | "content" | "positioner" | "control" | "itemText" | "clearTrigger" | "itemGroup" | "itemIndicator" | "itemGroupLabel" | "empty">;
16
+ declare const comboboxAnatomy: _wirekyt_dom_anatomy.AnatomyInstance<"root" | "list" | "item" | "trigger" | "content" | "itemIndicator" | "label" | "control" | "positioner" | "input" | "itemGroup" | "clearTrigger" | "itemText" | "itemGroupLabel" | "empty">;
17
17
 
18
18
  type ComboboxSchema<T extends CollectionItem = CollectionItem> = Machine<T> extends Machine$1<infer S> ? S : never;
19
19
 
@@ -9,7 +9,7 @@ import * as _wirekyt_angular_presence from '@wirekyt/angular/presence';
9
9
  import { PresenceBase } from '@wirekyt/angular/presence';
10
10
  import { ControlValueAccessor } from '@angular/forms';
11
11
 
12
- declare const datePickerAnatomy: _wirekyt_dom_anatomy.AnatomyInstance<"root" | "input" | "label" | "table" | "view" | "trigger" | "content" | "positioner" | "nextTrigger" | "prevTrigger" | "control" | "clearTrigger" | "monthSelect" | "presetTrigger" | "rangeText" | "tableBody" | "tableCell" | "tableCellTrigger" | "tableHead" | "tableHeader" | "tableRow" | "viewControl" | "viewTrigger" | "yearSelect" | "valueText">;
12
+ declare const datePickerAnatomy: _wirekyt_dom_anatomy.AnatomyInstance<"root" | "trigger" | "content" | "label" | "view" | "control" | "positioner" | "input" | "table" | "nextTrigger" | "prevTrigger" | "clearTrigger" | "monthSelect" | "presetTrigger" | "rangeText" | "tableBody" | "tableCell" | "tableCellTrigger" | "tableHead" | "tableHeader" | "tableRow" | "viewControl" | "viewTrigger" | "yearSelect" | "valueText">;
13
13
 
14
14
  type OptionalId<T extends {
15
15
  id?: string | undefined;
@@ -0,0 +1,166 @@
1
+ import * as popover from '@wirekyt/dom/machines/popover';
2
+ import { ElementIds, PositioningOptions, IntlTranslations, FocusOutsideEvent, InteractOutsideEvent, PointerDownOutsideEvent, OpenChangeDetails, TriggerValueChangeDetails } from '@wirekyt/dom/machines/popover';
3
+ export { Api as PopoverApi, ElementIds as PopoverElementIds, FocusOutsideEvent as PopoverFocusOutsideEvent, InteractOutsideEvent as PopoverInteractOutsideEvent, IntlTranslations as PopoverIntlTranslations, Machine as PopoverMachine, Props as PopoverMachineProps, OpenChangeDetails as PopoverOpenChangeDetails, Placement as PopoverPlacement, PointerDownOutsideEvent as PopoverPointerDownOutsideEvent, PositioningOptions as PopoverPositioningOptions, Service as PopoverService, TriggerProps as PopoverTriggerMachineProps, TriggerProps as PopoverTriggerProps, TriggerValueChangeDetails as PopoverTriggerValueChangeDetails, anatomy as popoverAnatomy } from '@wirekyt/dom/machines/popover';
4
+ import { UseMachineReturn, ContextCarrier } from '@wirekyt/angular';
5
+ import * as i0 from '@angular/core';
6
+ import { InjectionToken, Signal, InputSignal, ModelSignal, InputSignalWithTransform, OutputEmitterRef } from '@angular/core';
7
+ import * as _wirekyt_angular_presence from '@wirekyt/angular/presence';
8
+ import { PresenceBase } from '@wirekyt/angular/presence';
9
+
10
+ type OptionalId<T extends {
11
+ id: string;
12
+ }> = Omit<T, "id"> & {
13
+ id?: string;
14
+ };
15
+ interface UsePopoverProps extends OptionalId<Omit<popover.Props, "dir" | "getRootNode">> {
16
+ }
17
+ type UsePopoverReturn = UseMachineReturn<popover.Service["state"], popover.Api, popover.Service>;
18
+ interface UsePopoverOptions {
19
+ context: () => UsePopoverProps;
20
+ }
21
+ declare function usePopover(options: UsePopoverOptions): UsePopoverReturn;
22
+
23
+ declare const POPOVER_CONTEXT: InjectionToken<UsePopoverReturn>;
24
+ declare function injectPopoverContext(): UsePopoverReturn;
25
+ declare const POPOVER_CONTEXT_CARRIER: InjectionToken<ContextCarrier<UsePopoverReturn>>;
26
+ declare function injectPopoverContextCarrier(): ContextCarrier<UsePopoverReturn>;
27
+ interface PopoverRenderStrategyContext {
28
+ readonly lazyMount: Signal<boolean>;
29
+ readonly unmountOnExit: Signal<boolean>;
30
+ }
31
+ declare const POPOVER_RENDER_STRATEGY_CONTEXT: InjectionToken<PopoverRenderStrategyContext>;
32
+ declare function injectPopoverRenderStrategyContext(): PopoverRenderStrategyContext;
33
+
34
+ declare class PopoverRoot extends PresenceBase implements UsePopoverReturn {
35
+ readonly id: InputSignal<string | undefined>;
36
+ readonly ids: InputSignal<Partial<ElementIds> | undefined>;
37
+ readonly open: ModelSignal<boolean | undefined>;
38
+ readonly defaultOpen: InputSignalWithTransform<boolean, unknown>;
39
+ readonly modal: InputSignalWithTransform<boolean, unknown>;
40
+ readonly portalled: InputSignalWithTransform<boolean, unknown>;
41
+ readonly autoFocus: InputSignalWithTransform<boolean, unknown>;
42
+ readonly restoreFocus: InputSignalWithTransform<boolean, unknown>;
43
+ readonly closeOnInteractOutside: InputSignalWithTransform<boolean, unknown>;
44
+ readonly closeOnEscape: InputSignalWithTransform<boolean, unknown>;
45
+ readonly positioning: InputSignal<PositioningOptions | undefined>;
46
+ readonly initialFocusEl: InputSignal<(() => HTMLElement | null) | undefined>;
47
+ readonly finalFocusEl: InputSignal<(() => HTMLElement | null) | undefined>;
48
+ readonly persistentElements: InputSignal<(() => Element | null)[] | undefined>;
49
+ readonly translations: InputSignal<IntlTranslations | undefined>;
50
+ readonly triggerValue: ModelSignal<string | null | undefined>;
51
+ readonly defaultTriggerValue: InputSignal<string | null | undefined>;
52
+ readonly escapeKeyDown: OutputEmitterRef<KeyboardEvent>;
53
+ readonly focusOutside: OutputEmitterRef<FocusOutsideEvent>;
54
+ readonly interactOutside: OutputEmitterRef<InteractOutsideEvent>;
55
+ readonly pointerDownOutside: OutputEmitterRef<PointerDownOutsideEvent>;
56
+ readonly requestDismiss: OutputEmitterRef<CustomEvent<{
57
+ originalLayer: HTMLElement;
58
+ targetLayer: HTMLElement | undefined;
59
+ originalIndex: number;
60
+ targetIndex: number;
61
+ }>>;
62
+ readonly openChangeDetails: OutputEmitterRef<OpenChangeDetails>;
63
+ readonly triggerValueChangeDetails: OutputEmitterRef<TriggerValueChangeDetails>;
64
+ private readonly machine;
65
+ readonly state: Signal<popover.Service["state"]>;
66
+ readonly api: Signal<popover.Api>;
67
+ readonly service: popover.Service;
68
+ readonly send: popover.Service["send"];
69
+ readonly presence: _wirekyt_angular_presence.UsePresenceReturn;
70
+ protected readonly contextCarrier: ContextCarrier<PopoverRoot>;
71
+ getContextCarrier(): ContextCarrier<PopoverRoot>;
72
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopoverRoot, never>;
73
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PopoverRoot, "[popover-root]", ["popoverRoot"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "ids": { "alias": "ids"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "portalled": { "alias": "portalled"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; "isSignal": true; }; "closeOnInteractOutside": { "alias": "closeOnInteractOutside"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "positioning": { "alias": "positioning"; "required": false; "isSignal": true; }; "initialFocusEl": { "alias": "initialFocusEl"; "required": false; "isSignal": true; }; "finalFocusEl": { "alias": "finalFocusEl"; "required": false; "isSignal": true; }; "persistentElements": { "alias": "persistentElements"; "required": false; "isSignal": true; }; "translations": { "alias": "translations"; "required": false; "isSignal": true; }; "triggerValue": { "alias": "triggerValue"; "required": false; "isSignal": true; }; "defaultTriggerValue": { "alias": "defaultTriggerValue"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "triggerValue": "triggerValueChange"; "escapeKeyDown": "escapeKeyDown"; "focusOutside": "focusOutside"; "interactOutside": "interactOutside"; "pointerDownOutside": "pointerDownOutside"; "requestDismiss": "requestDismiss"; "openChangeDetails": "openChangeDetails"; "triggerValueChangeDetails": "triggerValueChangeDetails"; }, never, never, true, never>;
74
+ }
75
+
76
+ declare class PopoverRootProvider extends PresenceBase implements UsePopoverReturn {
77
+ readonly value: InputSignal<UsePopoverReturn>;
78
+ readonly state: Signal<popover.Service["state"]>;
79
+ readonly api: Signal<popover.Api>;
80
+ readonly send: popover.Service["send"];
81
+ get service(): popover.Service;
82
+ readonly presence: _wirekyt_angular_presence.UsePresenceReturn;
83
+ protected readonly contextCarrier: ContextCarrier<PopoverRootProvider>;
84
+ getContextCarrier(): ContextCarrier<PopoverRootProvider>;
85
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopoverRootProvider, never>;
86
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PopoverRootProvider, "[popover-root-provider]", ["popoverRootProvider"], { "value": { "alias": "value"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
87
+ }
88
+
89
+ declare class PopoverTrigger {
90
+ readonly value: InputSignal<string | undefined>;
91
+ constructor();
92
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopoverTrigger, never>;
93
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PopoverTrigger, "[popover-trigger]", ["popoverTrigger"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
94
+ }
95
+
96
+ declare class PopoverAnchor {
97
+ constructor();
98
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopoverAnchor, never>;
99
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PopoverAnchor, "[popover-anchor]", ["popoverAnchor"], {}, {}, never, never, true, never>;
100
+ }
101
+
102
+ declare class PopoverPositioner {
103
+ constructor();
104
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopoverPositioner, never>;
105
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PopoverPositioner, "[popover-positioner]", ["popoverPositioner"], {}, {}, never, never, true, never>;
106
+ }
107
+
108
+ declare class PopoverContent {
109
+ constructor();
110
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopoverContent, never>;
111
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PopoverContent, "[popover-content]", ["popoverContent"], {}, {}, never, never, true, never>;
112
+ }
113
+
114
+ declare class PopoverTitle {
115
+ constructor();
116
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopoverTitle, never>;
117
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PopoverTitle, "[popover-title]", ["popoverTitle"], {}, {}, never, never, true, never>;
118
+ }
119
+
120
+ declare class PopoverDescription {
121
+ constructor();
122
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopoverDescription, never>;
123
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PopoverDescription, "[popover-description]", ["popoverDescription"], {}, {}, never, never, true, never>;
124
+ }
125
+
126
+ declare class PopoverCloseTrigger {
127
+ constructor();
128
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopoverCloseTrigger, never>;
129
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PopoverCloseTrigger, "[popover-close-trigger]", ["popoverCloseTrigger"], {}, {}, never, never, true, never>;
130
+ }
131
+
132
+ declare class PopoverIndicator {
133
+ constructor();
134
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopoverIndicator, never>;
135
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PopoverIndicator, "[popover-indicator]", ["popoverIndicator"], {}, {}, never, never, true, never>;
136
+ }
137
+
138
+ declare class PopoverArrow {
139
+ constructor();
140
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopoverArrow, never>;
141
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PopoverArrow, "[popover-arrow]", ["popoverArrow"], {}, {}, never, never, true, never>;
142
+ }
143
+
144
+ declare class PopoverArrowTip {
145
+ constructor();
146
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopoverArrowTip, never>;
147
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PopoverArrowTip, "[popover-arrow-tip]", ["popoverArrowTip"], {}, {}, never, never, true, never>;
148
+ }
149
+
150
+ interface PopoverContextTemplate {
151
+ $implicit: UsePopoverReturn["api"];
152
+ api: UsePopoverReturn["api"];
153
+ }
154
+ declare class PopoverContext {
155
+ static ngTemplateContextGuard(_directive: PopoverContext, context: unknown): context is PopoverContextTemplate;
156
+ private readonly popover;
157
+ private readonly templateRef;
158
+ private readonly viewContainer;
159
+ constructor();
160
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopoverContext, never>;
161
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PopoverContext, "[popover-context]", ["popoverContext"], {}, {}, never, never, true, never>;
162
+ }
163
+
164
+ export { POPOVER_CONTEXT, POPOVER_CONTEXT_CARRIER, POPOVER_RENDER_STRATEGY_CONTEXT, PopoverAnchor, PopoverArrow, PopoverArrowTip, PopoverCloseTrigger, PopoverContent, PopoverContext, PopoverDescription, PopoverIndicator, PopoverPositioner, PopoverRoot, PopoverRootProvider, PopoverTitle, PopoverTrigger, injectPopoverContext, injectPopoverContextCarrier, injectPopoverRenderStrategyContext, usePopover };
165
+ export type { PopoverContextTemplate, PopoverRenderStrategyContext, UsePopoverOptions, UsePopoverProps, UsePopoverReturn };
166
+ //# sourceMappingURL=wirekyt-angular-popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wirekyt-angular-popover.d.ts","sources":["../../src/components/popover/use.ts","../../src/components/popover/use-context.ts","../../src/components/popover/root.ts","../../src/components/popover/root-provider.ts","../../src/components/popover/trigger.ts","../../src/components/popover/anchor.ts","../../src/components/popover/positioner.ts","../../src/components/popover/content.ts","../../src/components/popover/title.ts","../../src/components/popover/description.ts","../../src/components/popover/close-trigger.ts","../../src/components/popover/indicator.ts","../../src/components/popover/arrow.ts","../../src/components/popover/arrow-tip.ts","../../src/components/popover/context.ts"],"mappings":"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","names":["PopoverElementIds","PopoverPositioningOptions","PopoverIntlTranslations","PopoverFocusOutsideEvent","PopoverInteractOutsideEvent","PopoverPointerDownOutsideEvent","PopoverOpenChangeDetails","PopoverTriggerValueChangeDetails"]}
@@ -0,0 +1,290 @@
1
+ import { Machine, Service, Api, Props, ItemState, ElementIds, PositioningOptions, ScrollToIndexDetails, IntlTranslations, ValueChangeDetails, HighlightChangeDetails, OpenChangeDetails, SelectionDetails, FocusOutsideEvent, PointerDownOutsideEvent, InteractOutsideEvent } from '@wirekyt/dom/machines/select';
2
+ export { Api as SelectApi, ElementIds as SelectElementIds, FocusOutsideEvent as SelectFocusOutsideEvent, HighlightChangeDetails as SelectHighlightChangeDetails, InteractOutsideEvent as SelectInteractOutsideEvent, IntlTranslations as SelectIntlTranslations, ItemGroupLabelProps as SelectItemGroupLabelProps, ItemGroupProps as SelectItemGroupProps, ItemProps as SelectItemProps, ItemState as SelectItemState, Machine as SelectMachine, Props as SelectMachineProps, OpenChangeDetails as SelectOpenChangeDetails, PointerDownOutsideEvent as SelectPointerDownOutsideEvent, PositioningOptions as SelectPositioningOptions, ScrollToIndexDetails as SelectScrollToIndexDetails, SelectionDetails as SelectSelectionDetails, Service as SelectService, ValueChangeDetails as SelectValueChangeDetails, anatomy as selectAnatomy } from '@wirekyt/dom/machines/select';
3
+ export { CollectionItem, ListCollection, UseListCollectionProps, createListCollection, useListCollection } from '@wirekyt/angular/collection';
4
+ import { Machine as Machine$1 } from '@wirekyt/dom';
5
+ import { CollectionItem, ListCollection } from '@wirekyt/dom/collection';
6
+ import { UseMachineReturn, ContextCarrier } from '@wirekyt/angular';
7
+ import * as i0 from '@angular/core';
8
+ import { InjectionToken, Signal, InputSignal, ModelSignal, InputSignalWithTransform, OutputEmitterRef, AfterContentInit } from '@angular/core';
9
+ import { PropTypes } from '@wirekyt/dom/types';
10
+ import * as _wirekyt_angular_presence from '@wirekyt/angular/presence';
11
+ import { PresenceBase } from '@wirekyt/angular/presence';
12
+ import { ControlValueAccessor } from '@angular/forms';
13
+ import * as _wirekyt_angular_select from '@wirekyt/angular/select';
14
+
15
+ type SelectSchema<T extends CollectionItem = CollectionItem> = Machine<T> extends Machine$1<infer S> ? S : never;
16
+
17
+ type OptionalId<T extends {
18
+ id?: string | undefined;
19
+ }> = Omit<T, "id"> & {
20
+ id?: string;
21
+ };
22
+ interface UseSelectProps<T extends CollectionItem = CollectionItem> extends OptionalId<Omit<Props<T>, "dir" | "getRootNode">> {
23
+ }
24
+ type UseSelectApi<T extends CollectionItem = CollectionItem> = Api<PropTypes, T>;
25
+ type UseSelectReturn<T extends CollectionItem = CollectionItem> = UseMachineReturn<Service<T>["state"], UseSelectApi<T>, Service<T>>;
26
+ interface UseSelectOptions<T extends CollectionItem = CollectionItem> {
27
+ context: () => UseSelectProps<T>;
28
+ }
29
+ declare function useSelect<T extends CollectionItem = CollectionItem>(options: UseSelectOptions<T>): UseSelectReturn<T>;
30
+
31
+ declare const SELECT_CONTEXT: InjectionToken<UseSelectReturn>;
32
+ declare function injectSelectContext(): UseSelectReturn;
33
+ declare const SELECT_CONTEXT_CARRIER: InjectionToken<ContextCarrier<UseSelectReturn>>;
34
+ declare function injectSelectContextCarrier(): ContextCarrier<UseSelectReturn>;
35
+
36
+ interface SelectItemContext<T extends CollectionItem = CollectionItem> {
37
+ state: Signal<ItemState>;
38
+ item: Signal<T>;
39
+ persistFocus: Signal<boolean | undefined>;
40
+ }
41
+ declare const SELECT_ITEM_CONTEXT: InjectionToken<SelectItemContext<any>>;
42
+ declare function injectSelectItemContext<T extends CollectionItem = CollectionItem>(): SelectItemContext<T>;
43
+
44
+ declare class SelectRoot<T extends CollectionItem = CollectionItem> extends PresenceBase implements ControlValueAccessor, UseSelectReturn<T> {
45
+ /** The unique identifier of the select. */
46
+ readonly id: InputSignal<string | undefined>;
47
+ /** The element ids for the select parts. */
48
+ readonly elementIds: InputSignal<ElementIds | undefined>;
49
+ /** The item collection. */
50
+ readonly collection: InputSignal<ListCollection<T>>;
51
+ /** The controlled value of the select (array of selected keys). */
52
+ readonly value: ModelSignal<string[] | undefined>;
53
+ /** The initial value of the select when uncontrolled. */
54
+ readonly defaultValue: InputSignal<string[] | undefined>;
55
+ /** The controlled open state of the select menu. */
56
+ readonly open: ModelSignal<boolean | undefined>;
57
+ /** The initial open state of the select when uncontrolled. */
58
+ readonly defaultOpen: InputSignalWithTransform<boolean, unknown>;
59
+ /** The controlled highlighted value of the select. */
60
+ readonly highlightedValue: ModelSignal<string | null | undefined>;
61
+ /** The initial highlighted value when uncontrolled. */
62
+ readonly defaultHighlightedValue: InputSignal<string | null | undefined>;
63
+ /** Whether the select is disabled. */
64
+ readonly disabled: InputSignalWithTransform<boolean, unknown>;
65
+ /** Whether the select is invalid. */
66
+ readonly invalid: InputSignalWithTransform<boolean, unknown>;
67
+ /** Whether the select is read-only. */
68
+ readonly readOnly: InputSignalWithTransform<boolean, unknown>;
69
+ /** Whether the select is required. */
70
+ readonly required: InputSignalWithTransform<boolean, unknown>;
71
+ /** Whether multiple values can be selected. */
72
+ readonly multiple: InputSignalWithTransform<boolean, unknown>;
73
+ /** Whether the select should close after an item is selected. */
74
+ readonly closeOnSelect: InputSignalWithTransform<boolean | undefined, unknown>;
75
+ /** Whether to loop keyboard navigation through the items. */
76
+ readonly loopFocus: InputSignalWithTransform<boolean, unknown>;
77
+ /** Whether the value can be cleared by clicking the selected item. */
78
+ readonly deselectable: InputSignalWithTransform<boolean, unknown>;
79
+ /** Whether the select is composed with other composite widgets. */
80
+ readonly composite: InputSignalWithTransform<boolean | undefined, unknown>;
81
+ /** The name attribute of the underlying hidden select. */
82
+ readonly name: InputSignal<string | undefined>;
83
+ /** The associated form of the underlying hidden select. */
84
+ readonly form: InputSignal<string | undefined>;
85
+ /** The autocomplete attribute for the hidden select. */
86
+ readonly autoComplete: InputSignal<string | undefined>;
87
+ /** The positioning options of the menu. */
88
+ readonly positioning: InputSignal<PositioningOptions | undefined>;
89
+ /** Function to scroll to a specific index. */
90
+ readonly scrollToIndexFn: InputSignal<((details: ScrollToIndexDetails) => void) | undefined>;
91
+ /** Localized strings for accessibility. */
92
+ readonly translations: InputSignal<IntlTranslations | undefined>;
93
+ /** Emits when the selected value changes. */
94
+ readonly valueChangeDetails: OutputEmitterRef<ValueChangeDetails<T>>;
95
+ /** Emits when the highlighted value changes. */
96
+ readonly highlightChange: OutputEmitterRef<HighlightChangeDetails<T>>;
97
+ /** Emits when the open state changes. */
98
+ readonly openChangeDetails: OutputEmitterRef<OpenChangeDetails>;
99
+ /** Emits when an item is selected. */
100
+ readonly select: OutputEmitterRef<SelectionDetails>;
101
+ /** Emits when focus moves outside the select content. */
102
+ readonly focusOutside: OutputEmitterRef<FocusOutsideEvent>;
103
+ /** Emits when pointer down occurs outside the select content. */
104
+ readonly pointerDownOutside: OutputEmitterRef<PointerDownOutsideEvent>;
105
+ /** Emits when interaction occurs outside the select content. */
106
+ readonly interactOutside: OutputEmitterRef<InteractOutsideEvent>;
107
+ private readonly _disabledFromForm;
108
+ private readonly _fallbackCollection;
109
+ private _pendingInternalWrites;
110
+ private _hasExternalBinding;
111
+ private _hasReceivedFormWrite;
112
+ private readCollection;
113
+ private readonly cva;
114
+ private readonly machine;
115
+ readonly state: Signal<Service<T>["state"]>;
116
+ readonly api: Signal<UseSelectApi<T>>;
117
+ readonly service: Service<T>;
118
+ readonly send: Service<T>["send"];
119
+ readonly presence: _wirekyt_angular_presence.UsePresenceReturn;
120
+ protected readonly contextCarrier: ContextCarrier<SelectRoot<T>>;
121
+ /** @internal Exposed for select part directives to consume via SELECT_CONTEXT_CARRIER. */
122
+ getContextCarrier(): ContextCarrier<SelectRoot<T>>;
123
+ constructor();
124
+ writeValue(value: string[] | null): void;
125
+ registerOnChange(fn: (value: string[] | undefined) => void): void;
126
+ registerOnTouched(fn: () => void): void;
127
+ setDisabledState(disabled: boolean): void;
128
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectRoot<any>, never>;
129
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectRoot<any>, "[select-root]", ["selectRoot"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "elementIds": { "alias": "ids"; "required": false; "isSignal": true; }; "collection": { "alias": "collection"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "defaultOpen": { "alias": "defaultOpen"; "required": false; "isSignal": true; }; "highlightedValue": { "alias": "highlightedValue"; "required": false; "isSignal": true; }; "defaultHighlightedValue": { "alias": "defaultHighlightedValue"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; "isSignal": true; }; "loopFocus": { "alias": "loopFocus"; "required": false; "isSignal": true; }; "deselectable": { "alias": "deselectable"; "required": false; "isSignal": true; }; "composite": { "alias": "composite"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "form": { "alias": "form"; "required": false; "isSignal": true; }; "autoComplete": { "alias": "autoComplete"; "required": false; "isSignal": true; }; "positioning": { "alias": "positioning"; "required": false; "isSignal": true; }; "scrollToIndexFn": { "alias": "scrollToIndexFn"; "required": false; "isSignal": true; }; "translations": { "alias": "translations"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "open": "openChange"; "highlightedValue": "highlightedValueChange"; "valueChangeDetails": "valueChangeDetails"; "highlightChange": "highlightChange"; "openChangeDetails": "openChangeDetails"; "select": "select"; "focusOutside": "focusOutside"; "pointerDownOutside": "pointerDownOutside"; "interactOutside": "interactOutside"; }, never, never, true, never>;
130
+ }
131
+
132
+ declare class SelectRootProvider<T extends CollectionItem = CollectionItem> extends PresenceBase implements UseSelectReturn<T> {
133
+ /** The select primitive returned by useSelect(). */
134
+ readonly value: InputSignal<UseSelectReturn<T>>;
135
+ get state(): Signal<Service<T>["state"]>;
136
+ get api(): Signal<UseSelectApi<T>>;
137
+ get service(): Service<T>;
138
+ get send(): Service<T>["send"];
139
+ resolveValue(): UseSelectReturn<T>;
140
+ readonly presence: _wirekyt_angular_presence.UsePresenceReturn;
141
+ protected readonly contextCarrier: ContextCarrier<SelectRootProvider<T>>;
142
+ /** @internal Exposed for select part directives to consume via SELECT_CONTEXT_CARRIER. */
143
+ getContextCarrier(): ContextCarrier<SelectRootProvider<T>>;
144
+ constructor();
145
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectRootProvider<any>, never>;
146
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectRootProvider<any>, "[select-root-provider]", ["selectRootProvider"], { "value": { "alias": "value"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
147
+ }
148
+
149
+ declare class SelectLabel {
150
+ constructor();
151
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectLabel, never>;
152
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectLabel, "[select-label]", ["selectLabel"], {}, {}, never, never, true, never>;
153
+ }
154
+
155
+ declare class SelectControl {
156
+ constructor();
157
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectControl, never>;
158
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectControl, "[select-control]", ["selectControl"], {}, {}, never, never, true, never>;
159
+ }
160
+
161
+ declare class SelectTrigger {
162
+ constructor();
163
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectTrigger, never>;
164
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectTrigger, "[select-trigger]", ["selectTrigger"], {}, {}, never, never, true, never>;
165
+ }
166
+
167
+ declare class SelectIndicator {
168
+ constructor();
169
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectIndicator, never>;
170
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectIndicator, "[select-indicator]", ["selectIndicator"], {}, {}, never, never, true, never>;
171
+ }
172
+
173
+ declare class SelectClearTrigger {
174
+ constructor();
175
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectClearTrigger, never>;
176
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectClearTrigger, "[select-clear-trigger]", ["selectClearTrigger"], {}, {}, never, never, true, never>;
177
+ }
178
+
179
+ declare class SelectValueText implements AfterContentInit {
180
+ /** Text to display when no value is selected. */
181
+ readonly placeholder: InputSignal<string | undefined>;
182
+ private readonly elementRef;
183
+ private readonly renderer;
184
+ private readonly ownsTextContent;
185
+ constructor();
186
+ ngAfterContentInit(): void;
187
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectValueText, never>;
188
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectValueText, "[select-value-text]", ["selectValueText"], { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
189
+ }
190
+
191
+ declare class SelectHiddenSelect {
192
+ constructor();
193
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectHiddenSelect, never>;
194
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectHiddenSelect, "select[select-hidden-select]", ["selectHiddenSelect"], {}, {}, never, never, true, never>;
195
+ }
196
+
197
+ declare class SelectPositioner {
198
+ constructor();
199
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectPositioner, never>;
200
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectPositioner, "[select-positioner]", ["selectPositioner"], {}, {}, never, never, true, never>;
201
+ }
202
+
203
+ declare class SelectContent {
204
+ constructor();
205
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectContent, never>;
206
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectContent, "[select-content]", ["selectContent"], {}, {}, never, never, true, never>;
207
+ }
208
+
209
+ declare class SelectList {
210
+ constructor();
211
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectList, never>;
212
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectList, "[select-list]", ["selectList"], {}, {}, never, never, true, never>;
213
+ }
214
+
215
+ interface SelectItemGroupContext {
216
+ id: Signal<string>;
217
+ }
218
+ declare const SELECT_ITEM_GROUP_CONTEXT: InjectionToken<SelectItemGroupContext>;
219
+ declare function injectSelectItemGroupContext(): SelectItemGroupContext;
220
+ declare class SelectItemGroup implements SelectItemGroupContext {
221
+ /** The id of the item group. */
222
+ readonly groupId: InputSignal<string | undefined>;
223
+ private readonly fallbackId;
224
+ readonly id: Signal<string>;
225
+ constructor();
226
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectItemGroup, never>;
227
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectItemGroup, "[select-item-group]", ["selectItemGroup"], { "groupId": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
228
+ }
229
+
230
+ declare class SelectItemGroupLabel {
231
+ constructor();
232
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectItemGroupLabel, never>;
233
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectItemGroupLabel, "[select-item-group-label]", ["selectItemGroupLabel"], {}, {}, never, never, true, never>;
234
+ }
235
+
236
+ declare class SelectItem<T extends CollectionItem = CollectionItem> implements SelectItemContext<T> {
237
+ /** The item to render. */
238
+ readonly item: InputSignal<T>;
239
+ /** Whether hovering outside should clear the highlighted state. */
240
+ readonly persistFocus: InputSignalWithTransform<boolean | undefined, unknown>;
241
+ private readonly context;
242
+ readonly state: i0.Signal<_wirekyt_angular_select.SelectItemState>;
243
+ constructor();
244
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectItem<any>, never>;
245
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectItem<any>, "[select-item]", ["selectItem"], { "item": { "alias": "item"; "required": true; "isSignal": true; }; "persistFocus": { "alias": "persistFocus"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
246
+ }
247
+
248
+ interface SelectContextTemplate {
249
+ $implicit: UseSelectReturn["api"];
250
+ api: UseSelectReturn["api"];
251
+ }
252
+ declare class SelectContext {
253
+ static ngTemplateContextGuard(_directive: SelectContext, context: unknown): context is SelectContextTemplate;
254
+ private readonly select;
255
+ private readonly templateRef;
256
+ private readonly viewContainer;
257
+ constructor();
258
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectContext, never>;
259
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectContext, "[select-context]", ["selectContext"], {}, {}, never, never, true, never>;
260
+ }
261
+
262
+ interface SelectItemContextTemplate {
263
+ $implicit: SelectItemContext;
264
+ item: SelectItemContext;
265
+ }
266
+ declare class SelectItemContextDirective {
267
+ static ngTemplateContextGuard(_directive: SelectItemContextDirective, context: unknown): context is SelectItemContextTemplate;
268
+ private readonly item;
269
+ private readonly templateRef;
270
+ private readonly viewContainer;
271
+ constructor();
272
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectItemContextDirective, never>;
273
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectItemContextDirective, "[select-item-context]", ["selectItemContext"], {}, {}, never, never, true, never>;
274
+ }
275
+
276
+ declare class SelectItemText {
277
+ constructor();
278
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectItemText, never>;
279
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectItemText, "[select-item-text]", ["selectItemText"], {}, {}, never, never, true, never>;
280
+ }
281
+
282
+ declare class SelectItemIndicator {
283
+ constructor();
284
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectItemIndicator, never>;
285
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectItemIndicator, "[select-item-indicator]", ["selectItemIndicator"], {}, {}, never, never, true, never>;
286
+ }
287
+
288
+ export { SELECT_CONTEXT, SELECT_CONTEXT_CARRIER, SELECT_ITEM_CONTEXT, SELECT_ITEM_GROUP_CONTEXT, SelectClearTrigger, SelectContent, SelectContext, SelectControl, SelectHiddenSelect, SelectIndicator, SelectItem, SelectItemContextDirective, SelectItemGroup, SelectItemGroupLabel, SelectItemIndicator, SelectItemText, SelectLabel, SelectList, SelectPositioner, SelectRoot, SelectRootProvider, SelectTrigger, SelectValueText, injectSelectContext, injectSelectContextCarrier, injectSelectItemContext, injectSelectItemGroupContext, useSelect };
289
+ export type { SelectContextTemplate, SelectItemContext, SelectItemContextTemplate, SelectItemGroupContext, SelectSchema, UseSelectApi, UseSelectOptions, UseSelectProps, UseSelectReturn };
290
+ //# sourceMappingURL=wirekyt-angular-select.d.ts.map