@wirekyt/angular 0.0.11 → 0.0.13
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.
- package/dist/fesm2022/wirekyt-angular-accordion.mjs +58 -22
- package/dist/fesm2022/wirekyt-angular-accordion.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-color-picker.mjs +92 -9
- package/dist/fesm2022/wirekyt-angular-color-picker.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-combobox.mjs +44 -74
- package/dist/fesm2022/wirekyt-angular-combobox.mjs.map +1 -1
- package/dist/fesm2022/wirekyt-angular-date-input.mjs +532 -0
- package/dist/fesm2022/wirekyt-angular-date-input.mjs.map +1 -0
- package/dist/fesm2022/wirekyt-angular-date-picker.mjs +1315 -0
- package/dist/fesm2022/wirekyt-angular-date-picker.mjs.map +1 -0
- package/dist/fesm2022/wirekyt-angular-presence.mjs +176 -0
- package/dist/fesm2022/wirekyt-angular-presence.mjs.map +1 -0
- package/dist/package.json +17 -5
- package/dist/types/wirekyt-angular-accordion.d.ts +5 -1
- package/dist/types/wirekyt-angular-accordion.d.ts.map +1 -1
- package/dist/types/wirekyt-angular-color-picker.d.ts +7 -3
- package/dist/types/wirekyt-angular-color-picker.d.ts.map +1 -1
- package/dist/types/wirekyt-angular-combobox.d.ts +7 -39
- package/dist/types/wirekyt-angular-combobox.d.ts.map +1 -1
- package/dist/types/wirekyt-angular-date-input.d.ts +164 -0
- package/dist/types/wirekyt-angular-date-input.d.ts.map +1 -0
- package/dist/types/wirekyt-angular-date-picker.d.ts +340 -0
- package/dist/types/wirekyt-angular-date-picker.d.ts.map +1 -0
- package/dist/types/wirekyt-angular-presence.d.ts +64 -0
- package/dist/types/wirekyt-angular-presence.d.ts.map +1 -0
- package/package.json +19 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wirekyt-angular-combobox.mjs","sources":["../../src/components/combobox/anatomy.ts","../../src/components/combobox/use.ts","../../src/components/combobox/presence.ts","../../src/components/combobox/use-context.ts","../../src/components/combobox/content.ts","../../src/components/combobox/root.ts","../../src/components/combobox/root-provider.ts","../../src/components/combobox/label.ts","../../src/components/combobox/control.ts","../../src/components/combobox/input.ts","../../src/components/combobox/trigger.ts","../../src/components/combobox/clear-trigger.ts","../../src/components/combobox/positioner.ts","../../src/components/combobox/list.ts","../../src/components/combobox/empty.ts","../../src/components/combobox/item-group.ts","../../src/components/combobox/item-group-label.ts","../../src/components/combobox/use-item-context.ts","../../src/components/combobox/item.ts","../../src/components/combobox/item-text.ts","../../src/components/combobox/item-indicator.ts","../../src/components/combobox/context.ts","../../src/components/combobox/item-context.ts","../../src/components/combobox/wirekyt-angular-combobox.ts"],"sourcesContent":["import { anatomy } from \"@wirekyt/dom/machines/combobox\";\n\nexport const comboboxAnatomy = anatomy.extendWith(\"empty\");\n","import {\n createId,\n injectEnvironment,\n injectLocale,\n useMachine,\n UseMachineReturn,\n} from \"@wirekyt/angular\";\nimport { injectFieldContextOptional } from \"@wirekyt/angular/field\";\nimport { Machine } from \"@wirekyt/dom\";\nimport { CollectionItem } from \"@wirekyt/dom/collection\";\nimport * as combobox from \"@wirekyt/dom/machines/combobox\";\nimport { PropTypes } from \"@wirekyt/dom/types\";\n\nimport type {\n ComboboxApi,\n ComboboxElementIds,\n ComboboxMachineProps,\n ComboboxSchema,\n ComboboxService,\n} from \"./types\";\n\ntype OptionalId<T extends { id?: string | undefined }> = Omit<T, \"id\"> & { id?: string };\n\nexport interface UseComboboxProps<T extends CollectionItem = CollectionItem> extends OptionalId<\n Omit<ComboboxMachineProps<T>, \"dir\" | \"getRootNode\">\n> {}\n\nexport type UseComboboxApi<T extends CollectionItem = CollectionItem> = ComboboxApi<PropTypes, T>;\n\nexport type UseComboboxReturn<T extends CollectionItem = CollectionItem> = UseMachineReturn<\n ComboboxService<T>[\"state\"],\n UseComboboxApi<T>,\n ComboboxService<T>\n>;\n\nexport interface UseComboboxOptions<T extends CollectionItem = CollectionItem> {\n context: () => UseComboboxProps<T>;\n}\n\ntype ComboboxContext = Record<string, unknown>;\n\nexport function useCombobox<T extends CollectionItem = CollectionItem>(\n options: UseComboboxOptions<T>,\n): UseComboboxReturn<T> {\n const locale = injectLocale();\n const environment = injectEnvironment();\n const field = injectFieldContextOptional();\n const fallbackId = createId();\n\n return useMachine<ComboboxSchema<T>, UseComboboxApi<T>>({\n machine: combobox.machine as unknown as Machine<ComboboxSchema<T>>,\n context: () => {\n const props = options.context();\n const id = props.id ?? fallbackId;\n const merged: Record<string, unknown> = {\n dir: locale.dir,\n locale: locale.locale,\n getRootNode: environment.getRootNode,\n ...props,\n id,\n };\n if (field) {\n const fieldIds = field.ids;\n const baseIds = ((props as { ids?: ComboboxElementIds }).ids ??\n {}) as NonNullable<ComboboxElementIds>;\n merged[\"ids\"] = {\n label: fieldIds.label,\n input: fieldIds.control,\n ...baseIds,\n };\n const p = props as {\n disabled?: boolean;\n invalid?: boolean;\n required?: boolean;\n readOnly?: boolean;\n };\n const disabled = Boolean(p.disabled) || field.disabled();\n const invalid = Boolean(p.invalid) || field.invalid();\n const required = Boolean(p.required) || field.required();\n const readOnly = Boolean(p.readOnly) || field.readOnly();\n merged[\"disabled\"] = disabled || undefined;\n merged[\"invalid\"] = invalid || undefined;\n merged[\"required\"] = required || undefined;\n merged[\"readOnly\"] = readOnly || undefined;\n }\n return merged as unknown as ComboboxContext;\n },\n connect: (service, normalize) =>\n (\n combobox.connect as unknown as (\n s: ComboboxService<T>,\n n: typeof normalize,\n ) => UseComboboxApi<T>\n )(service as unknown as ComboboxService<T>, normalize),\n }) as UseComboboxReturn<T>;\n}\n","import {\n Directive,\n InjectionToken,\n booleanAttribute,\n computed,\n effect,\n input,\n output,\n signal,\n} from \"@angular/core\";\nimport { useMachine } from \"@wirekyt/angular\";\nimport * as presence from \"@wirekyt/dom/machines/presence\";\n\n@Directive()\nexport class ComboboxPresence {\n readonly lazyMount = input(false, { transform: booleanAttribute });\n readonly unmountOnExit = input(false, { transform: booleanAttribute });\n readonly skipAnimationOnMount = input(false, { transform: booleanAttribute });\n readonly immediate = input(false, { transform: booleanAttribute });\n readonly present = input<boolean | undefined>(undefined);\n readonly exitComplete = output<void>();\n\n createPresence(open: () => boolean) {\n const machine = useMachine({\n machine: presence.machine,\n context: () => ({\n present: this.present() ?? open(),\n immediate: this.immediate(),\n onExitComplete: () => this.exitComplete.emit(),\n }),\n connect: presence.connect,\n });\n const wasPresent = signal(false);\n effect(() => {\n if (machine.api().present) wasPresent.set(true);\n });\n return {\n api: machine.api,\n isUnmounted: computed(\n () =>\n !machine.api().present &&\n ((!wasPresent() && this.lazyMount()) || (wasPresent() && this.unmountOnExit())),\n ),\n props: () => ({\n hidden: !machine.api().present,\n \"data-state\":\n machine.api().skip && this.skipAnimationOnMount()\n ? undefined\n : (this.present() ?? open())\n ? \"open\"\n : \"closed\",\n }),\n };\n }\n}\nexport type ComboboxPresenceContext = ReturnType<ComboboxPresence[\"createPresence\"]>;\nexport const COMBOBOX_PRESENCE = new InjectionToken<{ presence: ComboboxPresenceContext }>(\n \"WIREKYT.COMBOBOX_PRESENCE\",\n);\n","import { InjectionToken, inject } from \"@angular/core\";\nimport { ContextCarrier } from \"@wirekyt/angular\";\n\nimport type { UseComboboxReturn } from \"./use\";\n\nexport const COMBOBOX_CONTEXT = new InjectionToken<UseComboboxReturn>(\"WIREKYT.COMBOBOX_CONTEXT\");\n\nexport function injectComboboxContext(): UseComboboxReturn {\n return inject(COMBOBOX_CONTEXT);\n}\n\nexport const COMBOBOX_CONTEXT_CARRIER = new InjectionToken<ContextCarrier<UseComboboxReturn>>(\n \"WIREKYT.COMBOBOX_CONTEXT_CARRIER\",\n);\n\nexport function injectComboboxContextCarrier(): ContextCarrier<UseComboboxReturn> {\n return inject(COMBOBOX_CONTEXT_CARRIER);\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\";\n\nimport { COMBOBOX_PRESENCE } from \"./presence\";\nimport { injectComboboxContext } from \"./use-context\";\n\n@Directive({ selector: \"[comboboxContent]\", standalone: true, exportAs: \"comboboxContent\" })\nexport class ComboboxContent {\n constructor() {\n const context = injectComboboxContext();\n const { presence } = inject(COMBOBOX_PRESENCE);\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 effect(() => {\n const unmounted = presence.isUnmounted();\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.api().setNode(elementRef.nativeElement));\n });\n bindProps({\n elementRef,\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => {\n presence.isUnmounted();\n return { ...context.api().getContentProps(), ...presence.props() };\n },\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n EnvironmentInjector,\n Injector,\n type ProviderToken,\n Renderer2,\n booleanAttribute,\n effect,\n forwardRef,\n inject,\n input,\n model,\n output,\n signal,\n type InputSignal,\n type InputSignalWithTransform,\n type ModelSignal,\n type OutputEmitterRef,\n type Signal,\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR, type ControlValueAccessor } from \"@angular/forms\";\nimport { bindProps, buildRootCarrier, ContextCarrier, createCvaController } from \"@wirekyt/angular\";\nimport { CollectionItem, ListCollection } from \"@wirekyt/dom/collection\";\n\nimport type {\n ComboboxElementIds,\n ComboboxFocusOutsideEvent,\n ComboboxHighlightChangeDetails,\n ComboboxInputValueChangeDetails,\n ComboboxInteractOutsideEvent,\n ComboboxIntlTranslations,\n ComboboxOpenChangeDetails,\n ComboboxPointerDownOutsideEvent,\n ComboboxPositioningOptions,\n ComboboxScrollToIndexDetails,\n ComboboxSelectionDetails,\n ComboboxService,\n ComboboxValueChangeDetails,\n} from \"./types\";\n\nimport { ComboboxPresence, COMBOBOX_PRESENCE } from \"./presence\";\nimport { useCombobox, type UseComboboxApi, type UseComboboxReturn } from \"./use\";\nimport { COMBOBOX_CONTEXT, COMBOBOX_CONTEXT_CARRIER } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxRoot]\",\n standalone: true,\n exportAs: \"comboboxRoot\",\n providers: [\n { provide: COMBOBOX_PRESENCE, useExisting: forwardRef(() => ComboboxRoot) },\n { provide: COMBOBOX_CONTEXT, useExisting: forwardRef(() => ComboboxRoot) },\n {\n provide: COMBOBOX_CONTEXT_CARRIER,\n useFactory: (root: ComboboxRoot) => root.getContextCarrier(),\n deps: [forwardRef(() => ComboboxRoot)],\n },\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => ComboboxRoot), multi: true },\n ],\n})\nexport class ComboboxRoot<T extends CollectionItem = CollectionItem>\n extends ComboboxPresence\n implements ControlValueAccessor, UseComboboxReturn<T>\n{\n readonly id: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly elementIds: InputSignal<ComboboxElementIds | undefined> = input<\n ComboboxElementIds | undefined\n >(undefined, {\n alias: \"ids\",\n });\n readonly collection: InputSignal<ListCollection<T>> = input.required<ListCollection<T>>();\n readonly value: ModelSignal<string[] | undefined> = model<string[] | undefined>(undefined);\n readonly defaultValue: InputSignal<string[] | undefined> = input<string[] | undefined>(undefined);\n readonly inputValue: ModelSignal<string | undefined> = model<string | undefined>(undefined);\n readonly defaultInputValue: InputSignal<string | undefined> = input<string | undefined>(\n undefined,\n );\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 disabled: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly invalid: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly readOnly: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly required: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly multiple: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly allowCustomValue: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly autoFocus: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly openOnClick: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly openOnKeyPress: InputSignalWithTransform<boolean | undefined, unknown> = input<\n boolean | undefined,\n unknown\n >(undefined, {\n transform: (value: unknown) =>\n value === undefined || value === null ? undefined : booleanAttribute(value),\n });\n readonly alwaysSubmitOnEnter: 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: (value: unknown) =>\n value === undefined || value === null ? undefined : booleanAttribute(value),\n });\n readonly loopFocus: InputSignalWithTransform<boolean | undefined, unknown> = input<\n boolean | undefined,\n unknown\n >(undefined, {\n transform: (value: unknown) =>\n value === undefined || value === null ? undefined : booleanAttribute(value),\n });\n readonly composite: InputSignalWithTransform<boolean | undefined, unknown> = input<\n boolean | undefined,\n unknown\n >(undefined, {\n transform: (value: unknown) =>\n value === undefined || value === null ? undefined : booleanAttribute(value),\n });\n readonly disableLayer: InputSignalWithTransform<boolean | undefined, unknown> = input<\n boolean | undefined,\n unknown\n >(undefined, {\n transform: (value: unknown) =>\n value === undefined || value === null ? undefined : booleanAttribute(value),\n });\n readonly inputBehavior: InputSignal<\"autohighlight\" | \"autocomplete\" | \"none\" | undefined> =\n input<\"autohighlight\" | \"autocomplete\" | \"none\" | undefined>(undefined);\n readonly selectionBehavior: InputSignal<\"clear\" | \"replace\" | \"preserve\" | undefined> = input<\n \"clear\" | \"replace\" | \"preserve\" | undefined\n >(undefined);\n readonly openOnChange: InputSignal<\n boolean | ((details: ComboboxInputValueChangeDetails) => boolean) | undefined\n > = input<boolean | ((details: ComboboxInputValueChangeDetails) => boolean) | undefined>(\n undefined,\n );\n readonly placeholder: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly name: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly form: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly positioning: InputSignal<ComboboxPositioningOptions | undefined> = input<\n ComboboxPositioningOptions | undefined\n >(undefined);\n readonly scrollToIndexFn: InputSignal<\n ((details: ComboboxScrollToIndexDetails) => void) | undefined\n > = input<((details: ComboboxScrollToIndexDetails) => void) | undefined>(undefined);\n readonly navigate: InputSignal<\n ((details: import(\"./types\").ComboboxNavigateDetails) => void) | null | undefined\n > = input<((details: import(\"./types\").ComboboxNavigateDetails) => void) | null | undefined>(\n undefined,\n );\n readonly translations: InputSignal<ComboboxIntlTranslations | undefined> = input<\n ComboboxIntlTranslations | undefined\n >(undefined);\n\n readonly valueChangeDetails: OutputEmitterRef<ComboboxValueChangeDetails<T>> =\n output<ComboboxValueChangeDetails<T>>();\n readonly inputValueChangeDetails: OutputEmitterRef<ComboboxInputValueChangeDetails> =\n output<ComboboxInputValueChangeDetails>();\n readonly highlightChange: OutputEmitterRef<ComboboxHighlightChangeDetails<T>> =\n output<ComboboxHighlightChangeDetails<T>>();\n readonly openChangeDetails: OutputEmitterRef<ComboboxOpenChangeDetails> =\n output<ComboboxOpenChangeDetails>();\n readonly select: OutputEmitterRef<ComboboxSelectionDetails> = output<ComboboxSelectionDetails>();\n readonly focusOutside: OutputEmitterRef<ComboboxFocusOutsideEvent> =\n output<ComboboxFocusOutsideEvent>();\n readonly pointerDownOutside: OutputEmitterRef<ComboboxPointerDownOutsideEvent> =\n output<ComboboxPointerDownOutsideEvent>();\n readonly interactOutside: OutputEmitterRef<ComboboxInteractOutsideEvent> =\n output<ComboboxInteractOutsideEvent>();\n\n private readonly _disabledFromForm = signal(false);\n private readonly _fallbackCollection = new ListCollection<T>({ items: [] });\n private _pendingInternalWrites = 0;\n private _hasExternalBinding = false;\n private _hasReceivedFormWrite = false;\n\n private readCollection(): ListCollection<T> {\n try {\n return this.collection();\n } catch {\n return this._fallbackCollection;\n }\n }\n\n private readonly cva = createCvaController<string[]>({\n value: this.value,\n setDisabled: (disabled) => this._disabledFromForm.set(disabled),\n componentName: \"ComboboxRoot\",\n hasExternalModelBinding: () => this._hasExternalBinding,\n });\n\n private readonly machine = useCombobox<T>({\n context: () => ({\n id: this.id(),\n ids: this.elementIds(),\n collection: this.readCollection(),\n value: this.value(),\n defaultValue: this.defaultValue() ?? [],\n inputValue: this.inputValue(),\n defaultInputValue: this.defaultInputValue() ?? \"\",\n open: this.open(),\n defaultOpen: this.defaultOpen() || undefined,\n highlightedValue: this.highlightedValue(),\n defaultHighlightedValue: this.defaultHighlightedValue(),\n disabled: this.disabled() || this._disabledFromForm() || undefined,\n invalid: this.invalid() || undefined,\n readOnly: this.readOnly() || undefined,\n required: this.required() || undefined,\n multiple: this.multiple() || undefined,\n allowCustomValue: this.allowCustomValue() || undefined,\n autoFocus: this.autoFocus() || undefined,\n openOnClick: this.openOnClick() || undefined,\n openOnKeyPress: this.openOnKeyPress(),\n alwaysSubmitOnEnter: this.alwaysSubmitOnEnter() || undefined,\n closeOnSelect: this.closeOnSelect(),\n loopFocus: this.loopFocus(),\n composite: this.composite(),\n disableLayer: this.disableLayer(),\n inputBehavior: this.inputBehavior(),\n selectionBehavior: this.selectionBehavior(),\n openOnChange: this.openOnChange(),\n placeholder: this.placeholder(),\n name: this.name(),\n form: this.form(),\n positioning: this.positioning(),\n scrollToIndexFn: this.scrollToIndexFn(),\n navigate: this.navigate(),\n translations: this.translations(),\n onValueChange: (details: ComboboxValueChangeDetails<T>) => {\n const current = this.value();\n if (!arraysShallowEqual(current, details.value)) {\n this._pendingInternalWrites++;\n this.value.set([...details.value]);\n }\n this.cva.notifyValueChange(details.value);\n this.cva.markTouched();\n this.valueChangeDetails.emit(details);\n },\n onInputValueChange: (details: ComboboxInputValueChangeDetails) => {\n if (this.inputValue() !== details.inputValue) {\n this.inputValue.set(details.inputValue);\n }\n this.inputValueChangeDetails.emit(details);\n },\n onHighlightChange: (details: ComboboxHighlightChangeDetails<T>) => {\n const next = details.highlightedValue;\n if (this.highlightedValue() !== next) {\n this.highlightedValue.set(next);\n }\n this.highlightChange.emit(details);\n },\n onOpenChange: (details: ComboboxOpenChangeDetails) => {\n if (this.open() !== details.open) {\n this.open.set(details.open);\n }\n this.openChangeDetails.emit(details);\n },\n onSelect: (details: ComboboxSelectionDetails) => {\n this.select.emit(details);\n },\n onFocusOutside: (event: ComboboxFocusOutsideEvent) => {\n this.cva.markTouched();\n this.focusOutside.emit(event);\n },\n onPointerDownOutside: (event: ComboboxPointerDownOutsideEvent) => {\n this.pointerDownOutside.emit(event);\n },\n onInteractOutside: (event: ComboboxInteractOutsideEvent) => {\n this.interactOutside.emit(event);\n },\n }),\n });\n\n readonly state: Signal<ComboboxService<T>[\"state\"]> = this.machine.state;\n readonly api: Signal<UseComboboxApi<T>> = this.machine.api;\n readonly service: ComboboxService<T> = this.machine.service;\n readonly send: ComboboxService<T>[\"send\"] = this.machine.send;\n\n protected readonly contextCarrier: ContextCarrier<ComboboxRoot<T>> = buildRootCarrier<\n ComboboxRoot<T>\n >({\n providers: [{ provide: COMBOBOX_PRESENCE, useValue: this }],\n root: this,\n rootToken: COMBOBOX_CONTEXT as ProviderToken<ComboboxRoot<T>>,\n originInjector: inject(Injector),\n environmentInjector: inject(EnvironmentInjector),\n });\n\n getContextCarrier(): ContextCarrier<ComboboxRoot<T>> {\n return this.contextCarrier;\n }\n\n readonly presence = this.createPresence(() => this.api().open);\n\n constructor() {\n super();\n let firstRunValue = true;\n effect(() => {\n void this.value();\n if (firstRunValue) {\n firstRunValue = false;\n this._pendingInternalWrites = 0;\n return;\n }\n if (this._pendingInternalWrites > 0) {\n this._pendingInternalWrites--;\n return;\n }\n this._hasExternalBinding = true;\n });\n\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.api().getRootProps(),\n });\n }\n\n writeValue(value: string[] | null): void {\n const next = value ?? [];\n const current = this.value();\n if (!this._hasReceivedFormWrite && current !== undefined) {\n this._hasExternalBinding = true;\n }\n this._hasReceivedFormWrite = true;\n if (!arraysShallowEqual(current, next)) {\n this._pendingInternalWrites++;\n }\n this.cva.writeValue(next);\n }\n\n registerOnChange(fn: (value: string[] | undefined) => void): void {\n this.cva.registerOnChange(fn);\n }\n\n registerOnTouched(fn: () => void): void {\n this.cva.registerOnTouched(fn);\n }\n\n setDisabledState(disabled: boolean): void {\n this.cva.setDisabledState(disabled);\n }\n}\n\nfunction arraysShallowEqual(a: string[] | undefined, b: string[] | undefined): boolean {\n if (a === b) return true;\n if (!a || !b) return false;\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n EnvironmentInjector,\n Injector,\n type ProviderToken,\n Renderer2,\n forwardRef,\n inject,\n input,\n type InputSignal,\n type Signal,\n} from \"@angular/core\";\nimport { bindProps, buildRootCarrier, ContextCarrier } from \"@wirekyt/angular\";\nimport { CollectionItem } from \"@wirekyt/dom/collection\";\n\nimport type { ComboboxService } from \"./types\";\nimport type { UseComboboxApi, UseComboboxReturn } from \"./use\";\n\nimport { ComboboxPresence, COMBOBOX_PRESENCE } from \"./presence\";\nimport { COMBOBOX_CONTEXT, COMBOBOX_CONTEXT_CARRIER } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxRootProvider]\",\n standalone: true,\n exportAs: \"comboboxRootProvider\",\n providers: [\n { provide: COMBOBOX_PRESENCE, useExisting: forwardRef(() => ComboboxRootProvider) },\n { provide: COMBOBOX_CONTEXT, useExisting: forwardRef(() => ComboboxRootProvider) },\n {\n provide: COMBOBOX_CONTEXT_CARRIER,\n useFactory: (provider: ComboboxRootProvider) => provider.getContextCarrier(),\n deps: [forwardRef(() => ComboboxRootProvider)],\n },\n ],\n})\nexport class ComboboxRootProvider<T extends CollectionItem = CollectionItem>\n extends ComboboxPresence\n implements UseComboboxReturn<T>\n{\n readonly value: InputSignal<UseComboboxReturn<T>> = input.required<UseComboboxReturn<T>>();\n\n get state(): Signal<ComboboxService<T>[\"state\"]> {\n return this.value().state;\n }\n get api(): Signal<UseComboboxApi<T>> {\n return this.value().api;\n }\n get service(): ComboboxService<T> {\n return this.value().service;\n }\n get send(): ComboboxService<T>[\"send\"] {\n return this.value().send;\n }\n\n resolveValue(): UseComboboxReturn<T> {\n return this.value();\n }\n\n protected readonly contextCarrier: ContextCarrier<ComboboxRootProvider<T>> = buildRootCarrier<\n ComboboxRootProvider<T>\n >({\n providers: [{ provide: COMBOBOX_PRESENCE, useValue: this }],\n root: this,\n rootToken: COMBOBOX_CONTEXT as ProviderToken<ComboboxRootProvider<T>>,\n originInjector: inject(Injector),\n environmentInjector: inject(EnvironmentInjector),\n });\n\n getContextCarrier(): ContextCarrier<ComboboxRootProvider<T>> {\n return this.contextCarrier;\n }\n\n readonly presence = this.createPresence(() => {\n try {\n return this.api().open;\n } catch {\n return false;\n }\n });\n\n constructor() {\n super();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.value().api().getRootProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectComboboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxLabel]\",\n standalone: true,\n exportAs: \"comboboxLabel\",\n})\nexport class ComboboxLabel {\n constructor() {\n const context = injectComboboxContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getLabelProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectComboboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxControl]\",\n standalone: true,\n exportAs: \"comboboxControl\",\n})\nexport class ComboboxControl {\n constructor() {\n const context = injectComboboxContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getControlProps(),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n computed,\n effect,\n inject,\n signal,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\nimport { injectFieldContextOptional } from \"@wirekyt/angular/field\";\n\nimport { injectComboboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxInput]\",\n standalone: true,\n exportAs: \"comboboxInput\",\n})\nexport class ComboboxInput {\n constructor() {\n const context = injectComboboxContext();\n const field = injectFieldContextOptional();\n const elementRef = inject(ElementRef);\n const renderer = inject(Renderer2);\n const destroyRef = inject(DestroyRef);\n const inputValue = computed(() => context.api().inputValue);\n const composing = signal(false);\n let upstreamCompositionStart: unknown;\n let upstreamCompositionEnd: unknown;\n const onCompositionStart = (event: Event) => {\n composing.set(true);\n if (typeof upstreamCompositionStart === \"function\") {\n (upstreamCompositionStart as (event: Event) => void)(event);\n }\n };\n const onCompositionEnd = (event: Event) => {\n composing.set(false);\n if (typeof upstreamCompositionEnd === \"function\") {\n (upstreamCompositionEnd as (event: Event) => void)(event);\n }\n };\n\n bindProps({\n elementRef,\n renderer,\n destroyRef,\n props: () => {\n const props = context.api().getInputProps() as Record<string, unknown>;\n const { defaultValue: _defaultValue, ...rest } = props;\n const describedBy = field?.ariaDescribedby();\n if (describedBy) {\n rest[\"aria-describedby\"] = describedBy;\n }\n upstreamCompositionStart = rest[\"onCompositionStart\"];\n upstreamCompositionEnd = rest[\"onCompositionEnd\"];\n rest[\"onCompositionStart\"] = onCompositionStart;\n rest[\"onCompositionEnd\"] = onCompositionEnd;\n return rest;\n },\n });\n\n effect(() => {\n const el = elementRef.nativeElement as HTMLInputElement | null;\n if (!el || composing()) return;\n const next = inputValue();\n if (el.value !== next) el.value = next;\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n booleanAttribute,\n inject,\n input,\n type InputSignalWithTransform,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectComboboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxTrigger]\",\n standalone: true,\n exportAs: \"comboboxTrigger\",\n})\nexport class ComboboxTrigger {\n readonly focusable: InputSignalWithTransform<boolean | undefined, unknown> = input<\n boolean | undefined,\n unknown\n >(undefined, {\n transform: (value: unknown) =>\n value === undefined || value === null ? undefined : booleanAttribute(value),\n });\n\n constructor() {\n const context = injectComboboxContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getTriggerProps({ focusable: this.focusable() }),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectComboboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxClearTrigger]\",\n standalone: true,\n exportAs: \"comboboxClearTrigger\",\n})\nexport class ComboboxClearTrigger {\n constructor() {\n const context = injectComboboxContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getClearTriggerProps(),\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\";\n\nimport { COMBOBOX_PRESENCE } from \"./presence\";\nimport { injectComboboxContext } from \"./use-context\";\n\n@Directive({ selector: \"[comboboxPositioner]\", standalone: true, exportAs: \"comboboxPositioner\" })\nexport class ComboboxPositioner {\n constructor() {\n const context = injectComboboxContext();\n const { presence } = inject(COMBOBOX_PRESENCE);\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 effect(() => {\n const unmounted = presence.isUnmounted();\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 bindProps({\n elementRef,\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => {\n presence.isUnmounted();\n return { ...context.api().getPositionerProps(), hidden: presence.isUnmounted() };\n },\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectComboboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxList]\",\n standalone: true,\n exportAs: \"comboboxList\",\n})\nexport class ComboboxList {\n constructor() {\n const context = injectComboboxContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getListProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { comboboxAnatomy } from \"./anatomy\";\nimport { injectComboboxContext } from \"./use-context\";\n\nconst parts = comboboxAnatomy.build();\n\n@Directive({\n selector: \"[comboboxEmpty]\",\n standalone: true,\n exportAs: \"comboboxEmpty\",\n})\nexport class ComboboxEmpty {\n constructor() {\n const context = injectComboboxContext();\n const elementRef = inject(ElementRef) as ElementRef<HTMLElement>;\n const renderer = inject(Renderer2);\n const destroyRef = inject(DestroyRef);\n\n bindProps({\n elementRef,\n renderer,\n destroyRef,\n props: () => ({\n ...parts.empty.attrs,\n role: \"presentation\",\n style: { display: context.api().collection.size === 0 ? undefined : \"none\" },\n }),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n InjectionToken,\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 { injectComboboxContext } from \"./use-context\";\n\nexport interface ComboboxItemGroupContext {\n id: Signal<string>;\n}\n\nexport const COMBOBOX_ITEM_GROUP_CONTEXT = new InjectionToken<ComboboxItemGroupContext>(\n \"WIREKYT.COMBOBOX_ITEM_GROUP_CONTEXT\",\n);\n\nexport function injectComboboxItemGroupContext(): ComboboxItemGroupContext {\n const context = inject(COMBOBOX_ITEM_GROUP_CONTEXT, { optional: true });\n if (!context) {\n throw new Error(\n \"COMBOBOX_ITEM_GROUP_CONTEXT not found: an item-group-label directive must be used inside an [comboboxItemGroup] directive.\",\n );\n }\n return context;\n}\n\n@Directive({\n selector: \"[comboboxItemGroup]\",\n standalone: true,\n exportAs: \"comboboxItemGroup\",\n providers: [\n { provide: COMBOBOX_ITEM_GROUP_CONTEXT, useExisting: forwardRef(() => ComboboxItemGroup) },\n ],\n})\nexport class ComboboxItemGroup implements ComboboxItemGroupContext {\n readonly groupId: InputSignal<string | undefined> = input<string | undefined>(undefined, {\n alias: \"id\",\n });\n\n private readonly fallbackId = createId();\n readonly id: Signal<string> = computed(() => this.groupId() ?? this.fallbackId);\n\n constructor() {\n const context = injectComboboxContext();\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 { injectComboboxItemGroupContext } from \"./item-group\";\nimport { injectComboboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxItemGroupLabel]\",\n standalone: true,\n exportAs: \"comboboxItemGroupLabel\",\n})\nexport class ComboboxItemGroupLabel {\n constructor() {\n const context = injectComboboxContext();\n const group = injectComboboxItemGroupContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getItemGroupLabelProps({ htmlFor: group.id() }),\n });\n }\n}\n","import type { CollectionItem } from \"@wirekyt/dom/collection\";\n\nimport { InjectionToken, inject, type Signal } from \"@angular/core\";\n\nimport { ComboboxItemState } from \"./types\";\n\nexport interface ComboboxItemContext<T extends CollectionItem = CollectionItem> {\n state: Signal<ComboboxItemState>;\n item: Signal<T>;\n persistFocus: Signal<boolean | undefined>;\n}\n\nexport const COMBOBOX_ITEM_CONTEXT = new InjectionToken<ComboboxItemContext>(\n \"WIREKYT.COMBOBOX_ITEM_CONTEXT\",\n);\n\nexport function injectComboboxItemContext<\n T extends CollectionItem = CollectionItem,\n>(): ComboboxItemContext<T> {\n const context = inject(COMBOBOX_ITEM_CONTEXT, { optional: true });\n if (!context) {\n throw new Error(\n \"COMBOBOX_ITEM_CONTEXT not found: a combobox item part directive must be used inside an [comboboxItem] directive.\",\n );\n }\n return context as ComboboxItemContext<T>;\n}\n","import {\n computed,\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n booleanAttribute,\n forwardRef,\n inject,\n input,\n type InputSignal,\n type InputSignalWithTransform,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\nimport { CollectionItem } from \"@wirekyt/dom/collection\";\n\nimport { injectComboboxContext } from \"./use-context\";\nimport { COMBOBOX_ITEM_CONTEXT, type ComboboxItemContext } from \"./use-item-context\";\n\n@Directive({\n selector: \"[comboboxItem]\",\n standalone: true,\n exportAs: \"comboboxItem\",\n providers: [{ provide: COMBOBOX_ITEM_CONTEXT, useExisting: forwardRef(() => ComboboxItem) }],\n})\nexport class ComboboxItem<\n T extends CollectionItem = CollectionItem,\n> implements ComboboxItemContext<T> {\n readonly item: InputSignal<T> = input.required<T>();\n readonly persistFocus: InputSignalWithTransform<boolean | undefined, unknown> = input<\n boolean | undefined,\n unknown\n >(undefined, {\n transform: (value: unknown) =>\n value === undefined || value === null ? undefined : booleanAttribute(value),\n });\n\n private readonly context = injectComboboxContext();\n readonly state = computed(() =>\n this.context.api().getItemState({ item: this.item(), persistFocus: this.persistFocus() }),\n );\n\n constructor() {\n const context = this.context;\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () =>\n context.api().getItemProps({ item: this.item(), persistFocus: this.persistFocus() }),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectComboboxContext } from \"./use-context\";\nimport { injectComboboxItemContext } from \"./use-item-context\";\n\n@Directive({\n selector: \"[comboboxItemText]\",\n standalone: true,\n exportAs: \"comboboxItemText\",\n})\nexport class ComboboxItemText {\n constructor() {\n const context = injectComboboxContext();\n const item = injectComboboxItemContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () =>\n context.api().getItemTextProps({ item: item.item(), persistFocus: item.persistFocus() }),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectComboboxContext } from \"./use-context\";\nimport { injectComboboxItemContext } from \"./use-item-context\";\n\n@Directive({\n selector: \"[comboboxItemIndicator]\",\n standalone: true,\n exportAs: \"comboboxItemIndicator\",\n})\nexport class ComboboxItemIndicator {\n constructor() {\n const context = injectComboboxContext();\n const item = injectComboboxItemContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () =>\n context\n .api()\n .getItemIndicatorProps({ item: item.item(), persistFocus: item.persistFocus() }),\n });\n }\n}\n","import { Directive, TemplateRef, ViewContainerRef, effect, inject } from \"@angular/core\";\n\nimport type { UseComboboxReturn } from \"./use\";\n\nimport { injectComboboxContext } from \"./use-context\";\n\nexport interface ComboboxContextTemplate {\n $implicit: UseComboboxReturn[\"api\"];\n api: UseComboboxReturn[\"api\"];\n}\n\n@Directive({\n selector: \"[comboboxContext]\",\n standalone: true,\n exportAs: \"comboboxContext\",\n})\nexport class ComboboxContext {\n static ngTemplateContextGuard(\n _directive: ComboboxContext,\n context: unknown,\n ): context is ComboboxContextTemplate {\n void context;\n return true;\n }\n\n private readonly combobox = injectComboboxContext();\n private readonly templateRef = inject<TemplateRef<ComboboxContextTemplate>>(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n constructor() {\n const view = this.viewContainer.createEmbeddedView(this.templateRef, {\n $implicit: this.combobox.api,\n api: this.combobox.api,\n });\n\n effect(() => {\n this.combobox.api();\n view.detectChanges();\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n} from \"@angular/core\";\n\nimport type { ComboboxItemContext as UseComboboxItemContext } from \"./use-item-context\";\n\nimport { injectComboboxItemContext } from \"./use-item-context\";\n\nexport interface ComboboxItemContextTemplate {\n $implicit: UseComboboxItemContext;\n item: UseComboboxItemContext;\n}\n\n@Directive({\n selector: \"[comboboxItemContext]\",\n standalone: true,\n exportAs: \"comboboxItemContext\",\n})\nexport class ComboboxItemContextDirective {\n static ngTemplateContextGuard(\n _directive: ComboboxItemContextDirective,\n context: unknown,\n ): context is ComboboxItemContextTemplate {\n void context;\n return true;\n }\n\n private readonly item = injectComboboxItemContext();\n private readonly templateRef = inject<TemplateRef<ComboboxItemContextTemplate>>(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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wirekyt-angular-combobox.mjs","sources":["../../src/components/combobox/anatomy.ts","../../src/components/combobox/use.ts","../../src/components/combobox/use-context.ts","../../src/components/combobox/content.ts","../../src/components/combobox/root.ts","../../src/components/combobox/root-provider.ts","../../src/components/combobox/label.ts","../../src/components/combobox/control.ts","../../src/components/combobox/input.ts","../../src/components/combobox/trigger.ts","../../src/components/combobox/clear-trigger.ts","../../src/components/combobox/positioner.ts","../../src/components/combobox/list.ts","../../src/components/combobox/empty.ts","../../src/components/combobox/item-group.ts","../../src/components/combobox/item-group-label.ts","../../src/components/combobox/use-item-context.ts","../../src/components/combobox/item.ts","../../src/components/combobox/item-text.ts","../../src/components/combobox/item-indicator.ts","../../src/components/combobox/context.ts","../../src/components/combobox/item-context.ts","../../src/components/combobox/wirekyt-angular-combobox.ts"],"sourcesContent":["import { anatomy } from \"@wirekyt/dom/machines/combobox\";\n\nexport const comboboxAnatomy = anatomy.extendWith(\"empty\");\n","import {\n createId,\n injectEnvironment,\n injectLocale,\n useMachine,\n UseMachineReturn,\n} from \"@wirekyt/angular\";\nimport { injectFieldContextOptional } from \"@wirekyt/angular/field\";\nimport { Machine } from \"@wirekyt/dom\";\nimport { CollectionItem } from \"@wirekyt/dom/collection\";\nimport * as combobox from \"@wirekyt/dom/machines/combobox\";\nimport { PropTypes } from \"@wirekyt/dom/types\";\n\nimport type {\n ComboboxApi,\n ComboboxElementIds,\n ComboboxMachineProps,\n ComboboxSchema,\n ComboboxService,\n} from \"./types\";\n\ntype OptionalId<T extends { id?: string | undefined }> = Omit<T, \"id\"> & { id?: string };\n\nexport interface UseComboboxProps<T extends CollectionItem = CollectionItem> extends OptionalId<\n Omit<ComboboxMachineProps<T>, \"dir\" | \"getRootNode\">\n> {}\n\nexport type UseComboboxApi<T extends CollectionItem = CollectionItem> = ComboboxApi<PropTypes, T>;\n\nexport type UseComboboxReturn<T extends CollectionItem = CollectionItem> = UseMachineReturn<\n ComboboxService<T>[\"state\"],\n UseComboboxApi<T>,\n ComboboxService<T>\n>;\n\nexport interface UseComboboxOptions<T extends CollectionItem = CollectionItem> {\n context: () => UseComboboxProps<T>;\n}\n\ntype ComboboxContext = Record<string, unknown>;\n\nexport function useCombobox<T extends CollectionItem = CollectionItem>(\n options: UseComboboxOptions<T>,\n): UseComboboxReturn<T> {\n const locale = injectLocale();\n const environment = injectEnvironment();\n const field = injectFieldContextOptional();\n const fallbackId = createId();\n\n return useMachine<ComboboxSchema<T>, UseComboboxApi<T>>({\n machine: combobox.machine as unknown as Machine<ComboboxSchema<T>>,\n context: () => {\n const props = options.context();\n const id = props.id ?? fallbackId;\n const merged: Record<string, unknown> = {\n dir: locale.dir,\n locale: locale.locale,\n getRootNode: environment.getRootNode,\n ...props,\n id,\n };\n if (field) {\n const fieldIds = field.ids;\n const baseIds = ((props as { ids?: ComboboxElementIds }).ids ??\n {}) as NonNullable<ComboboxElementIds>;\n merged[\"ids\"] = {\n label: fieldIds.label,\n input: fieldIds.control,\n ...baseIds,\n };\n const p = props as {\n disabled?: boolean;\n invalid?: boolean;\n required?: boolean;\n readOnly?: boolean;\n };\n const disabled = Boolean(p.disabled) || field.disabled();\n const invalid = Boolean(p.invalid) || field.invalid();\n const required = Boolean(p.required) || field.required();\n const readOnly = Boolean(p.readOnly) || field.readOnly();\n merged[\"disabled\"] = disabled || undefined;\n merged[\"invalid\"] = invalid || undefined;\n merged[\"required\"] = required || undefined;\n merged[\"readOnly\"] = readOnly || undefined;\n }\n return merged as unknown as ComboboxContext;\n },\n connect: (service, normalize) =>\n (\n combobox.connect as unknown as (\n s: ComboboxService<T>,\n n: typeof normalize,\n ) => UseComboboxApi<T>\n )(service as unknown as ComboboxService<T>, normalize),\n }) as UseComboboxReturn<T>;\n}\n","import { InjectionToken, inject } from \"@angular/core\";\nimport { ContextCarrier } from \"@wirekyt/angular\";\n\nimport type { UseComboboxReturn } from \"./use\";\n\nexport const COMBOBOX_CONTEXT = new InjectionToken<UseComboboxReturn>(\"WIREKYT.COMBOBOX_CONTEXT\");\n\nexport function injectComboboxContext(): UseComboboxReturn {\n return inject(COMBOBOX_CONTEXT);\n}\n\nexport const COMBOBOX_CONTEXT_CARRIER = new InjectionToken<ContextCarrier<UseComboboxReturn>>(\n \"WIREKYT.COMBOBOX_CONTEXT_CARRIER\",\n);\n\nexport function injectComboboxContextCarrier(): ContextCarrier<UseComboboxReturn> {\n return inject(COMBOBOX_CONTEXT_CARRIER);\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 { injectComboboxContext } from \"./use-context\";\n\n@Directive({ selector: \"[comboboxContent]\", standalone: true, exportAs: \"comboboxContent\" })\nexport class ComboboxContent {\n constructor() {\n const context = injectComboboxContext();\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 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 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 {\n DestroyRef,\n Directive,\n ElementRef,\n EnvironmentInjector,\n Injector,\n type ProviderToken,\n Renderer2,\n booleanAttribute,\n effect,\n forwardRef,\n inject,\n input,\n model,\n output,\n signal,\n type InputSignal,\n type InputSignalWithTransform,\n type ModelSignal,\n type OutputEmitterRef,\n type Signal,\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR, type ControlValueAccessor } from \"@angular/forms\";\nimport { bindProps, buildRootCarrier, ContextCarrier, createCvaController } from \"@wirekyt/angular\";\nimport { PRESENCE_CONTEXT, PresenceBase } from \"@wirekyt/angular/presence\";\nimport { CollectionItem, ListCollection } from \"@wirekyt/dom/collection\";\n\nimport type {\n ComboboxElementIds,\n ComboboxFocusOutsideEvent,\n ComboboxHighlightChangeDetails,\n ComboboxInputValueChangeDetails,\n ComboboxInteractOutsideEvent,\n ComboboxIntlTranslations,\n ComboboxOpenChangeDetails,\n ComboboxPointerDownOutsideEvent,\n ComboboxPositioningOptions,\n ComboboxScrollToIndexDetails,\n ComboboxSelectionDetails,\n ComboboxService,\n ComboboxValueChangeDetails,\n} from \"./types\";\n\nimport { useCombobox, type UseComboboxApi, type UseComboboxReturn } from \"./use\";\nimport { COMBOBOX_CONTEXT, COMBOBOX_CONTEXT_CARRIER } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxRoot]\",\n standalone: true,\n exportAs: \"comboboxRoot\",\n providers: [\n {\n provide: PRESENCE_CONTEXT,\n useFactory: (root: ComboboxRoot) => root.presence,\n deps: [forwardRef(() => ComboboxRoot)],\n },\n { provide: COMBOBOX_CONTEXT, useExisting: forwardRef(() => ComboboxRoot) },\n {\n provide: COMBOBOX_CONTEXT_CARRIER,\n useFactory: (root: ComboboxRoot) => root.getContextCarrier(),\n deps: [forwardRef(() => ComboboxRoot)],\n },\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => ComboboxRoot), multi: true },\n ],\n})\nexport class ComboboxRoot<T extends CollectionItem = CollectionItem>\n extends PresenceBase\n implements ControlValueAccessor, UseComboboxReturn<T>\n{\n readonly id: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly elementIds: InputSignal<ComboboxElementIds | undefined> = input<\n ComboboxElementIds | undefined\n >(undefined, {\n alias: \"ids\",\n });\n readonly collection: InputSignal<ListCollection<T>> = input.required<ListCollection<T>>();\n readonly value: ModelSignal<string[] | undefined> = model<string[] | undefined>(undefined);\n readonly defaultValue: InputSignal<string[] | undefined> = input<string[] | undefined>(undefined);\n readonly inputValue: ModelSignal<string | undefined> = model<string | undefined>(undefined);\n readonly defaultInputValue: InputSignal<string | undefined> = input<string | undefined>(\n undefined,\n );\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 disabled: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly invalid: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly readOnly: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly required: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly multiple: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly allowCustomValue: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly autoFocus: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly openOnClick: InputSignalWithTransform<boolean, unknown> = input(false, {\n transform: booleanAttribute,\n });\n readonly openOnKeyPress: InputSignalWithTransform<boolean | undefined, unknown> = input<\n boolean | undefined,\n unknown\n >(undefined, {\n transform: (value: unknown) =>\n value === undefined || value === null ? undefined : booleanAttribute(value),\n });\n readonly alwaysSubmitOnEnter: 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: (value: unknown) =>\n value === undefined || value === null ? undefined : booleanAttribute(value),\n });\n readonly loopFocus: InputSignalWithTransform<boolean | undefined, unknown> = input<\n boolean | undefined,\n unknown\n >(undefined, {\n transform: (value: unknown) =>\n value === undefined || value === null ? undefined : booleanAttribute(value),\n });\n readonly composite: InputSignalWithTransform<boolean | undefined, unknown> = input<\n boolean | undefined,\n unknown\n >(undefined, {\n transform: (value: unknown) =>\n value === undefined || value === null ? undefined : booleanAttribute(value),\n });\n readonly disableLayer: InputSignalWithTransform<boolean | undefined, unknown> = input<\n boolean | undefined,\n unknown\n >(undefined, {\n transform: (value: unknown) =>\n value === undefined || value === null ? undefined : booleanAttribute(value),\n });\n readonly inputBehavior: InputSignal<\"autohighlight\" | \"autocomplete\" | \"none\" | undefined> =\n input<\"autohighlight\" | \"autocomplete\" | \"none\" | undefined>(undefined);\n readonly selectionBehavior: InputSignal<\"clear\" | \"replace\" | \"preserve\" | undefined> = input<\n \"clear\" | \"replace\" | \"preserve\" | undefined\n >(undefined);\n readonly openOnChange: InputSignal<\n boolean | ((details: ComboboxInputValueChangeDetails) => boolean) | undefined\n > = input<boolean | ((details: ComboboxInputValueChangeDetails) => boolean) | undefined>(\n undefined,\n );\n readonly placeholder: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly name: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly form: InputSignal<string | undefined> = input<string | undefined>(undefined);\n readonly positioning: InputSignal<ComboboxPositioningOptions | undefined> = input<\n ComboboxPositioningOptions | undefined\n >(undefined);\n readonly scrollToIndexFn: InputSignal<\n ((details: ComboboxScrollToIndexDetails) => void) | undefined\n > = input<((details: ComboboxScrollToIndexDetails) => void) | undefined>(undefined);\n readonly navigate: InputSignal<\n ((details: import(\"./types\").ComboboxNavigateDetails) => void) | null | undefined\n > = input<((details: import(\"./types\").ComboboxNavigateDetails) => void) | null | undefined>(\n undefined,\n );\n readonly translations: InputSignal<ComboboxIntlTranslations | undefined> = input<\n ComboboxIntlTranslations | undefined\n >(undefined);\n\n readonly valueChangeDetails: OutputEmitterRef<ComboboxValueChangeDetails<T>> =\n output<ComboboxValueChangeDetails<T>>();\n readonly inputValueChangeDetails: OutputEmitterRef<ComboboxInputValueChangeDetails> =\n output<ComboboxInputValueChangeDetails>();\n readonly highlightChange: OutputEmitterRef<ComboboxHighlightChangeDetails<T>> =\n output<ComboboxHighlightChangeDetails<T>>();\n readonly openChangeDetails: OutputEmitterRef<ComboboxOpenChangeDetails> =\n output<ComboboxOpenChangeDetails>();\n readonly select: OutputEmitterRef<ComboboxSelectionDetails> = output<ComboboxSelectionDetails>();\n readonly focusOutside: OutputEmitterRef<ComboboxFocusOutsideEvent> =\n output<ComboboxFocusOutsideEvent>();\n readonly pointerDownOutside: OutputEmitterRef<ComboboxPointerDownOutsideEvent> =\n output<ComboboxPointerDownOutsideEvent>();\n readonly interactOutside: OutputEmitterRef<ComboboxInteractOutsideEvent> =\n output<ComboboxInteractOutsideEvent>();\n\n private readonly _disabledFromForm = signal(false);\n private readonly _fallbackCollection = new ListCollection<T>({ items: [] });\n private _pendingInternalWrites = 0;\n private _hasExternalBinding = false;\n private _hasReceivedFormWrite = false;\n\n private readCollection(): ListCollection<T> {\n try {\n return this.collection();\n } catch {\n return this._fallbackCollection;\n }\n }\n\n private readonly cva = createCvaController<string[]>({\n value: this.value,\n setDisabled: (disabled) => this._disabledFromForm.set(disabled),\n componentName: \"ComboboxRoot\",\n hasExternalModelBinding: () => this._hasExternalBinding,\n });\n\n private readonly machine = useCombobox<T>({\n context: () => ({\n id: this.id(),\n ids: this.elementIds(),\n collection: this.readCollection(),\n value: this.value(),\n defaultValue: this.defaultValue() ?? [],\n inputValue: this.inputValue(),\n defaultInputValue: this.defaultInputValue() ?? \"\",\n open: this.open(),\n defaultOpen: this.defaultOpen() || undefined,\n highlightedValue: this.highlightedValue(),\n defaultHighlightedValue: this.defaultHighlightedValue(),\n disabled: this.disabled() || this._disabledFromForm() || undefined,\n invalid: this.invalid() || undefined,\n readOnly: this.readOnly() || undefined,\n required: this.required() || undefined,\n multiple: this.multiple() || undefined,\n allowCustomValue: this.allowCustomValue() || undefined,\n autoFocus: this.autoFocus() || undefined,\n openOnClick: this.openOnClick() || undefined,\n openOnKeyPress: this.openOnKeyPress(),\n alwaysSubmitOnEnter: this.alwaysSubmitOnEnter() || undefined,\n closeOnSelect: this.closeOnSelect(),\n loopFocus: this.loopFocus(),\n composite: this.composite(),\n disableLayer: this.disableLayer(),\n inputBehavior: this.inputBehavior(),\n selectionBehavior: this.selectionBehavior(),\n openOnChange: this.openOnChange(),\n placeholder: this.placeholder(),\n name: this.name(),\n form: this.form(),\n positioning: this.positioning(),\n scrollToIndexFn: this.scrollToIndexFn(),\n navigate: this.navigate(),\n translations: this.translations(),\n onValueChange: (details: ComboboxValueChangeDetails<T>) => {\n const current = this.value();\n if (!arraysShallowEqual(current, details.value)) {\n this._pendingInternalWrites++;\n this.value.set([...details.value]);\n }\n this.cva.notifyValueChange(details.value);\n this.cva.markTouched();\n this.valueChangeDetails.emit(details);\n },\n onInputValueChange: (details: ComboboxInputValueChangeDetails) => {\n if (this.inputValue() !== details.inputValue) {\n this.inputValue.set(details.inputValue);\n }\n this.inputValueChangeDetails.emit(details);\n },\n onHighlightChange: (details: ComboboxHighlightChangeDetails<T>) => {\n const next = details.highlightedValue;\n if (this.highlightedValue() !== next) {\n this.highlightedValue.set(next);\n }\n this.highlightChange.emit(details);\n },\n onOpenChange: (details: ComboboxOpenChangeDetails) => {\n if (this.open() !== details.open) {\n this.open.set(details.open);\n }\n this.openChangeDetails.emit(details);\n },\n onSelect: (details: ComboboxSelectionDetails) => {\n this.select.emit(details);\n },\n onFocusOutside: (event: ComboboxFocusOutsideEvent) => {\n this.cva.markTouched();\n this.focusOutside.emit(event);\n },\n onPointerDownOutside: (event: ComboboxPointerDownOutsideEvent) => {\n this.pointerDownOutside.emit(event);\n },\n onInteractOutside: (event: ComboboxInteractOutsideEvent) => {\n this.interactOutside.emit(event);\n },\n }),\n });\n\n readonly state: Signal<ComboboxService<T>[\"state\"]> = this.machine.state;\n readonly api: Signal<UseComboboxApi<T>> = this.machine.api;\n readonly service: ComboboxService<T> = this.machine.service;\n readonly send: ComboboxService<T>[\"send\"] = this.machine.send;\n readonly presence = this.createPresence(() => this.api().open);\n\n protected readonly contextCarrier: ContextCarrier<ComboboxRoot<T>> = buildRootCarrier<\n ComboboxRoot<T>\n >({\n providers: [{ provide: PRESENCE_CONTEXT, useValue: this.presence }],\n root: this,\n rootToken: COMBOBOX_CONTEXT as ProviderToken<ComboboxRoot<T>>,\n originInjector: inject(Injector),\n environmentInjector: inject(EnvironmentInjector),\n });\n\n getContextCarrier(): ContextCarrier<ComboboxRoot<T>> {\n return this.contextCarrier;\n }\n\n constructor() {\n super();\n let firstRunValue = true;\n effect(() => {\n void this.value();\n if (firstRunValue) {\n firstRunValue = false;\n this._pendingInternalWrites = 0;\n return;\n }\n if (this._pendingInternalWrites > 0) {\n this._pendingInternalWrites--;\n return;\n }\n this._hasExternalBinding = true;\n });\n\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.api().getRootProps(),\n });\n }\n\n writeValue(value: string[] | null): void {\n const next = value ?? [];\n const current = this.value();\n if (!this._hasReceivedFormWrite && current !== undefined) {\n this._hasExternalBinding = true;\n }\n this._hasReceivedFormWrite = true;\n if (!arraysShallowEqual(current, next)) {\n this._pendingInternalWrites++;\n }\n this.cva.writeValue(next);\n }\n\n registerOnChange(fn: (value: string[] | undefined) => void): void {\n this.cva.registerOnChange(fn);\n }\n\n registerOnTouched(fn: () => void): void {\n this.cva.registerOnTouched(fn);\n }\n\n setDisabledState(disabled: boolean): void {\n this.cva.setDisabledState(disabled);\n }\n}\n\nfunction arraysShallowEqual(a: string[] | undefined, b: string[] | undefined): boolean {\n if (a === b) return true;\n if (!a || !b) return false;\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n EnvironmentInjector,\n Injector,\n type ProviderToken,\n Renderer2,\n forwardRef,\n inject,\n input,\n type InputSignal,\n type Signal,\n} from \"@angular/core\";\nimport { bindProps, buildRootCarrier, ContextCarrier } from \"@wirekyt/angular\";\nimport { PRESENCE_CONTEXT, PresenceBase } from \"@wirekyt/angular/presence\";\nimport { CollectionItem } from \"@wirekyt/dom/collection\";\n\nimport type { ComboboxService } from \"./types\";\nimport type { UseComboboxApi, UseComboboxReturn } from \"./use\";\n\nimport { COMBOBOX_CONTEXT, COMBOBOX_CONTEXT_CARRIER } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxRootProvider]\",\n standalone: true,\n exportAs: \"comboboxRootProvider\",\n providers: [\n {\n provide: PRESENCE_CONTEXT,\n useFactory: (provider: ComboboxRootProvider) => provider.presence,\n deps: [forwardRef(() => ComboboxRootProvider)],\n },\n { provide: COMBOBOX_CONTEXT, useExisting: forwardRef(() => ComboboxRootProvider) },\n {\n provide: COMBOBOX_CONTEXT_CARRIER,\n useFactory: (provider: ComboboxRootProvider) => provider.getContextCarrier(),\n deps: [forwardRef(() => ComboboxRootProvider)],\n },\n ],\n})\nexport class ComboboxRootProvider<T extends CollectionItem = CollectionItem>\n extends PresenceBase\n implements UseComboboxReturn<T>\n{\n readonly value: InputSignal<UseComboboxReturn<T>> = input.required<UseComboboxReturn<T>>();\n\n get state(): Signal<ComboboxService<T>[\"state\"]> {\n return this.value().state;\n }\n get api(): Signal<UseComboboxApi<T>> {\n return this.value().api;\n }\n get service(): ComboboxService<T> {\n return this.value().service;\n }\n get send(): ComboboxService<T>[\"send\"] {\n return this.value().send;\n }\n\n resolveValue(): UseComboboxReturn<T> {\n return this.value();\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<ComboboxRootProvider<T>> = buildRootCarrier<\n ComboboxRootProvider<T>\n >({\n providers: [{ provide: PRESENCE_CONTEXT, useValue: this.presence }],\n root: this,\n rootToken: COMBOBOX_CONTEXT as ProviderToken<ComboboxRootProvider<T>>,\n originInjector: inject(Injector),\n environmentInjector: inject(EnvironmentInjector),\n });\n\n getContextCarrier(): ContextCarrier<ComboboxRootProvider<T>> {\n return this.contextCarrier;\n }\n\n constructor() {\n super();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => this.value().api().getRootProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectComboboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxLabel]\",\n standalone: true,\n exportAs: \"comboboxLabel\",\n})\nexport class ComboboxLabel {\n constructor() {\n const context = injectComboboxContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getLabelProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectComboboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxControl]\",\n standalone: true,\n exportAs: \"comboboxControl\",\n})\nexport class ComboboxControl {\n constructor() {\n const context = injectComboboxContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getControlProps(),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n computed,\n effect,\n inject,\n signal,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\nimport { injectFieldContextOptional } from \"@wirekyt/angular/field\";\n\nimport { injectComboboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxInput]\",\n standalone: true,\n exportAs: \"comboboxInput\",\n})\nexport class ComboboxInput {\n constructor() {\n const context = injectComboboxContext();\n const field = injectFieldContextOptional();\n const elementRef = inject(ElementRef);\n const renderer = inject(Renderer2);\n const destroyRef = inject(DestroyRef);\n const inputValue = computed(() => context.api().inputValue);\n const composing = signal(false);\n let upstreamCompositionStart: unknown;\n let upstreamCompositionEnd: unknown;\n const onCompositionStart = (event: Event) => {\n composing.set(true);\n if (typeof upstreamCompositionStart === \"function\") {\n (upstreamCompositionStart as (event: Event) => void)(event);\n }\n };\n const onCompositionEnd = (event: Event) => {\n composing.set(false);\n if (typeof upstreamCompositionEnd === \"function\") {\n (upstreamCompositionEnd as (event: Event) => void)(event);\n }\n };\n\n bindProps({\n elementRef,\n renderer,\n destroyRef,\n props: () => {\n const props = context.api().getInputProps() as Record<string, unknown>;\n const { defaultValue: _defaultValue, ...rest } = props;\n const describedBy = field?.ariaDescribedby();\n if (describedBy) {\n rest[\"aria-describedby\"] = describedBy;\n }\n upstreamCompositionStart = rest[\"onCompositionStart\"];\n upstreamCompositionEnd = rest[\"onCompositionEnd\"];\n rest[\"onCompositionStart\"] = onCompositionStart;\n rest[\"onCompositionEnd\"] = onCompositionEnd;\n return rest;\n },\n });\n\n effect(() => {\n const el = elementRef.nativeElement as HTMLInputElement | null;\n if (!el || composing()) return;\n const next = inputValue();\n if (el.value !== next) el.value = next;\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n booleanAttribute,\n inject,\n input,\n type InputSignalWithTransform,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectComboboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxTrigger]\",\n standalone: true,\n exportAs: \"comboboxTrigger\",\n})\nexport class ComboboxTrigger {\n readonly focusable: InputSignalWithTransform<boolean | undefined, unknown> = input<\n boolean | undefined,\n unknown\n >(undefined, {\n transform: (value: unknown) =>\n value === undefined || value === null ? undefined : booleanAttribute(value),\n });\n\n constructor() {\n const context = injectComboboxContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getTriggerProps({ focusable: this.focusable() }),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectComboboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxClearTrigger]\",\n standalone: true,\n exportAs: \"comboboxClearTrigger\",\n})\nexport class ComboboxClearTrigger {\n constructor() {\n const context = injectComboboxContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getClearTriggerProps(),\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 { injectComboboxContext } from \"./use-context\";\n\n@Directive({ selector: \"[comboboxPositioner]\", standalone: true, exportAs: \"comboboxPositioner\" })\nexport class ComboboxPositioner {\n constructor() {\n const context = injectComboboxContext();\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 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 bindProps({\n elementRef,\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => {\n presence.unmounted();\n return { ...context.api().getPositionerProps(), hidden: presence.unmounted() };\n },\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectComboboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxList]\",\n standalone: true,\n exportAs: \"comboboxList\",\n})\nexport class ComboboxList {\n constructor() {\n const context = injectComboboxContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getListProps(),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { comboboxAnatomy } from \"./anatomy\";\nimport { injectComboboxContext } from \"./use-context\";\n\nconst parts = comboboxAnatomy.build();\n\n@Directive({\n selector: \"[comboboxEmpty]\",\n standalone: true,\n exportAs: \"comboboxEmpty\",\n})\nexport class ComboboxEmpty {\n constructor() {\n const context = injectComboboxContext();\n const elementRef = inject(ElementRef) as ElementRef<HTMLElement>;\n const renderer = inject(Renderer2);\n const destroyRef = inject(DestroyRef);\n\n bindProps({\n elementRef,\n renderer,\n destroyRef,\n props: () => ({\n ...parts.empty.attrs,\n role: \"presentation\",\n style: { display: context.api().collection.size === 0 ? undefined : \"none\" },\n }),\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n ElementRef,\n InjectionToken,\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 { injectComboboxContext } from \"./use-context\";\n\nexport interface ComboboxItemGroupContext {\n id: Signal<string>;\n}\n\nexport const COMBOBOX_ITEM_GROUP_CONTEXT = new InjectionToken<ComboboxItemGroupContext>(\n \"WIREKYT.COMBOBOX_ITEM_GROUP_CONTEXT\",\n);\n\nexport function injectComboboxItemGroupContext(): ComboboxItemGroupContext {\n const context = inject(COMBOBOX_ITEM_GROUP_CONTEXT, { optional: true });\n if (!context) {\n throw new Error(\n \"COMBOBOX_ITEM_GROUP_CONTEXT not found: an item-group-label directive must be used inside an [comboboxItemGroup] directive.\",\n );\n }\n return context;\n}\n\n@Directive({\n selector: \"[comboboxItemGroup]\",\n standalone: true,\n exportAs: \"comboboxItemGroup\",\n providers: [\n { provide: COMBOBOX_ITEM_GROUP_CONTEXT, useExisting: forwardRef(() => ComboboxItemGroup) },\n ],\n})\nexport class ComboboxItemGroup implements ComboboxItemGroupContext {\n readonly groupId: InputSignal<string | undefined> = input<string | undefined>(undefined, {\n alias: \"id\",\n });\n\n private readonly fallbackId = createId();\n readonly id: Signal<string> = computed(() => this.groupId() ?? this.fallbackId);\n\n constructor() {\n const context = injectComboboxContext();\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 { injectComboboxItemGroupContext } from \"./item-group\";\nimport { injectComboboxContext } from \"./use-context\";\n\n@Directive({\n selector: \"[comboboxItemGroupLabel]\",\n standalone: true,\n exportAs: \"comboboxItemGroupLabel\",\n})\nexport class ComboboxItemGroupLabel {\n constructor() {\n const context = injectComboboxContext();\n const group = injectComboboxItemGroupContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () => context.api().getItemGroupLabelProps({ htmlFor: group.id() }),\n });\n }\n}\n","import type { CollectionItem } from \"@wirekyt/dom/collection\";\n\nimport { InjectionToken, inject, type Signal } from \"@angular/core\";\n\nimport { ComboboxItemState } from \"./types\";\n\nexport interface ComboboxItemContext<T extends CollectionItem = CollectionItem> {\n state: Signal<ComboboxItemState>;\n item: Signal<T>;\n persistFocus: Signal<boolean | undefined>;\n}\n\nexport const COMBOBOX_ITEM_CONTEXT = new InjectionToken<ComboboxItemContext>(\n \"WIREKYT.COMBOBOX_ITEM_CONTEXT\",\n);\n\nexport function injectComboboxItemContext<\n T extends CollectionItem = CollectionItem,\n>(): ComboboxItemContext<T> {\n const context = inject(COMBOBOX_ITEM_CONTEXT, { optional: true });\n if (!context) {\n throw new Error(\n \"COMBOBOX_ITEM_CONTEXT not found: a combobox item part directive must be used inside an [comboboxItem] directive.\",\n );\n }\n return context as ComboboxItemContext<T>;\n}\n","import {\n computed,\n DestroyRef,\n Directive,\n ElementRef,\n Renderer2,\n booleanAttribute,\n forwardRef,\n inject,\n input,\n type InputSignal,\n type InputSignalWithTransform,\n} from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\nimport { CollectionItem } from \"@wirekyt/dom/collection\";\n\nimport { injectComboboxContext } from \"./use-context\";\nimport { COMBOBOX_ITEM_CONTEXT, type ComboboxItemContext } from \"./use-item-context\";\n\n@Directive({\n selector: \"[comboboxItem]\",\n standalone: true,\n exportAs: \"comboboxItem\",\n providers: [{ provide: COMBOBOX_ITEM_CONTEXT, useExisting: forwardRef(() => ComboboxItem) }],\n})\nexport class ComboboxItem<\n T extends CollectionItem = CollectionItem,\n> implements ComboboxItemContext<T> {\n readonly item: InputSignal<T> = input.required<T>();\n readonly persistFocus: InputSignalWithTransform<boolean | undefined, unknown> = input<\n boolean | undefined,\n unknown\n >(undefined, {\n transform: (value: unknown) =>\n value === undefined || value === null ? undefined : booleanAttribute(value),\n });\n\n private readonly context = injectComboboxContext();\n readonly state = computed(() =>\n this.context.api().getItemState({ item: this.item(), persistFocus: this.persistFocus() }),\n );\n\n constructor() {\n const context = this.context;\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () =>\n context.api().getItemProps({ item: this.item(), persistFocus: this.persistFocus() }),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectComboboxContext } from \"./use-context\";\nimport { injectComboboxItemContext } from \"./use-item-context\";\n\n@Directive({\n selector: \"[comboboxItemText]\",\n standalone: true,\n exportAs: \"comboboxItemText\",\n})\nexport class ComboboxItemText {\n constructor() {\n const context = injectComboboxContext();\n const item = injectComboboxItemContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () =>\n context.api().getItemTextProps({ item: item.item(), persistFocus: item.persistFocus() }),\n });\n }\n}\n","import { DestroyRef, Directive, ElementRef, Renderer2, inject } from \"@angular/core\";\nimport { bindProps } from \"@wirekyt/angular\";\n\nimport { injectComboboxContext } from \"./use-context\";\nimport { injectComboboxItemContext } from \"./use-item-context\";\n\n@Directive({\n selector: \"[comboboxItemIndicator]\",\n standalone: true,\n exportAs: \"comboboxItemIndicator\",\n})\nexport class ComboboxItemIndicator {\n constructor() {\n const context = injectComboboxContext();\n const item = injectComboboxItemContext();\n bindProps({\n elementRef: inject(ElementRef),\n renderer: inject(Renderer2),\n destroyRef: inject(DestroyRef),\n props: () =>\n context\n .api()\n .getItemIndicatorProps({ item: item.item(), persistFocus: item.persistFocus() }),\n });\n }\n}\n","import { Directive, TemplateRef, ViewContainerRef, effect, inject } from \"@angular/core\";\n\nimport type { UseComboboxReturn } from \"./use\";\n\nimport { injectComboboxContext } from \"./use-context\";\n\nexport interface ComboboxContextTemplate {\n $implicit: UseComboboxReturn[\"api\"];\n api: UseComboboxReturn[\"api\"];\n}\n\n@Directive({\n selector: \"[comboboxContext]\",\n standalone: true,\n exportAs: \"comboboxContext\",\n})\nexport class ComboboxContext {\n static ngTemplateContextGuard(\n _directive: ComboboxContext,\n context: unknown,\n ): context is ComboboxContextTemplate {\n void context;\n return true;\n }\n\n private readonly combobox = injectComboboxContext();\n private readonly templateRef = inject<TemplateRef<ComboboxContextTemplate>>(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n constructor() {\n const view = this.viewContainer.createEmbeddedView(this.templateRef, {\n $implicit: this.combobox.api,\n api: this.combobox.api,\n });\n\n effect(() => {\n this.combobox.api();\n view.detectChanges();\n });\n }\n}\n","import {\n DestroyRef,\n Directive,\n TemplateRef,\n ViewContainerRef,\n effect,\n inject,\n} from \"@angular/core\";\n\nimport type { ComboboxItemContext as UseComboboxItemContext } from \"./use-item-context\";\n\nimport { injectComboboxItemContext } from \"./use-item-context\";\n\nexport interface ComboboxItemContextTemplate {\n $implicit: UseComboboxItemContext;\n item: UseComboboxItemContext;\n}\n\n@Directive({\n selector: \"[comboboxItemContext]\",\n standalone: true,\n exportAs: \"comboboxItemContext\",\n})\nexport class ComboboxItemContextDirective {\n static ngTemplateContextGuard(\n _directive: ComboboxItemContextDirective,\n context: unknown,\n ): context is ComboboxItemContextTemplate {\n void context;\n return true;\n }\n\n private readonly item = injectComboboxItemContext();\n private readonly templateRef = inject<TemplateRef<ComboboxItemContextTemplate>>(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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|