@radix-ng/primitives 1.0.0-beta.1 → 1.0.0-beta.3
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/LICENSE +1 -1
- package/README.md +76 -6
- package/fesm2022/radix-ng-primitives-accordion.mjs +2 -2
- package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs +30 -24
- package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-autocomplete.mjs +1786 -0
- package/fesm2022/radix-ng-primitives-autocomplete.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-calendar.mjs +14 -1
- package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-checkbox.mjs +2 -2
- package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-collapsible.mjs +1 -1
- package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-combobox.mjs +1983 -0
- package/fesm2022/radix-ng-primitives-combobox.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-context-menu.mjs +1 -1
- package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-core.mjs +480 -469
- package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-cropper.mjs +1 -1
- package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-date-field.mjs +11 -0
- package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-dialog.mjs +44 -46
- package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-drawer.mjs +154 -64
- package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-editable.mjs +1 -1
- package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-field.mjs +86 -6
- package/fesm2022/radix-ng-primitives-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-fieldset.mjs +1 -1
- package/fesm2022/radix-ng-primitives-fieldset.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-focus-scope.mjs +1 -1
- package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-form.mjs +207 -0
- package/fesm2022/radix-ng-primitives-form.mjs.map +1 -0
- package/fesm2022/radix-ng-primitives-input.mjs +85 -4
- package/fesm2022/radix-ng-primitives-input.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menu.mjs +44 -24
- package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs +1 -1
- package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-meter.mjs +1 -1
- package/fesm2022/radix-ng-primitives-meter.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs +39 -55
- package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-number-field.mjs +2 -2
- package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popover.mjs +36 -51
- package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-popper.mjs +12 -6
- package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-portal.mjs +107 -17
- package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-presence.mjs +262 -79
- package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-preview-card.mjs +37 -51
- package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-progress.mjs +1 -1
- package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs +1 -1
- package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-scroll-area.mjs +3 -3
- package/fesm2022/radix-ng-primitives-scroll-area.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-select.mjs +469 -258
- package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs +1 -1
- package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-switch.mjs +3 -2
- package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tabs.mjs +1 -1
- package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-time-field.mjs +27 -3
- package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toast.mjs +1 -1
- package/fesm2022/radix-ng-primitives-toast.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs +1 -1
- package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-toolbar.mjs +2 -2
- package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
- package/fesm2022/radix-ng-primitives-tooltip.mjs +39 -42
- package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
- package/package.json +13 -1
- package/schematics/ng-add/index.js +57 -0
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/schema.d.ts +1 -0
- package/schematics/ng-add/schema.json +6 -0
- package/types/radix-ng-primitives-alert-dialog.d.ts +17 -11
- package/types/radix-ng-primitives-autocomplete.d.ts +596 -0
- package/types/radix-ng-primitives-combobox.d.ts +1310 -0
- package/types/radix-ng-primitives-core.d.ts +148 -56
- package/types/radix-ng-primitives-dialog.d.ts +32 -25
- package/types/radix-ng-primitives-drawer.d.ts +49 -22
- package/types/radix-ng-primitives-field.d.ts +71 -2
- package/types/radix-ng-primitives-form.d.ts +124 -0
- package/types/radix-ng-primitives-input.d.ts +75 -5
- package/types/radix-ng-primitives-menu.d.ts +19 -10
- package/types/radix-ng-primitives-navigation-menu.d.ts +24 -26
- package/types/radix-ng-primitives-popover.d.ts +23 -23
- package/types/radix-ng-primitives-popper.d.ts +7 -1
- package/types/radix-ng-primitives-portal.d.ts +53 -8
- package/types/radix-ng-primitives-presence.d.ts +98 -17
- package/types/radix-ng-primitives-preview-card.d.ts +24 -23
- package/types/radix-ng-primitives-select.d.ts +294 -137
- package/types/radix-ng-primitives-tooltip.d.ts +26 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radix-ng-primitives-select.mjs","sources":["../../../packages/primitives/select/src/utils.ts","../../../packages/primitives/select/src/select-root.ts","../../../packages/primitives/select/src/select-content.ts","../../../packages/primitives/select/src/select-group.ts","../../../packages/primitives/select/src/select-item.ts","../../../packages/primitives/select/src/select-item-indicator.ts","../../../packages/primitives/select/src/select-item-text.ts","../../../packages/primitives/select/src/select-label.ts","../../../packages/primitives/select/src/select-popper-position-content.ts","../../../packages/primitives/select/src/select-popper-position-wrapper.ts","../../../packages/primitives/select/src/select-portal.ts","../../../packages/primitives/select/src/select-portal-presence.ts","../../../packages/primitives/select/src/select-trigger.ts","../../../packages/primitives/select/src/select-value.ts","../../../packages/primitives/select/src/select-viewport.ts","../../../packages/primitives/select/index.ts","../../../packages/primitives/select/radix-ng-primitives-select.ts"],"sourcesContent":["import { AcceptableValue, getActiveElement, isEqual } from '@radix-ng/primitives/core';\n\nexport const OPEN_KEYS = [' ', 'Enter', 'ArrowUp', 'ArrowDown'];\nexport const SELECTION_KEYS = [' ', 'Enter'];\nexport const CONTENT_MARGIN = 10;\n\nexport function valueComparator<T>(\n value: T | T[] | undefined,\n currentValue: T,\n comparator?: string | ((a: T, b: T) => boolean)\n) {\n if (value === undefined) return false;\n else if (Array.isArray(value)) return value.some((val) => compare(val, currentValue, comparator));\n else return compare(value, currentValue, comparator);\n}\n\nexport function compare<T>(value?: T, currentValue?: T, comparator?: string | ((a: T, b: T) => boolean)) {\n if (value === undefined || currentValue === undefined) return false;\n\n if (typeof value === 'string') return value === currentValue;\n\n if (typeof comparator === 'function') return comparator(value, currentValue);\n\n if (typeof comparator === 'string') return value?.[comparator as keyof T] === currentValue?.[comparator as keyof T];\n\n return isEqual(value, currentValue);\n}\n\nexport function shouldShowPlaceholder(value?: AcceptableValue | AcceptableValue[]): boolean {\n return value === undefined || value === null || value === '' || (Array.isArray(value) && value.length === 0);\n}\n\nexport function focusFirst(candidates: HTMLElement[]) {\n const PREVIOUSLY_FOCUSED_ELEMENT = getActiveElement();\n for (const candidate of candidates) {\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (getActiveElement() !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\n","import { booleanAttribute, computed, Directive, inject, input, model, signal } from '@angular/core';\nimport { AcceptableValue, createContext, Direction, isNullish } from '@radix-ng/primitives/core';\nimport { RdxPopper } from '@radix-ng/primitives/popper';\nimport { compare, valueComparator } from './utils';\n\nexport interface SelectOption {\n value: any;\n disabled?: boolean;\n textContent: string;\n}\n\nconst context = () => {\n const context = inject(RdxSelectRoot);\n\n return {\n triggerElement: context.triggerElement,\n valueElement: context.valueElement,\n triggerPointerDownPosRef: context.triggerPointerDownPosRef,\n contentId: '',\n dir: context.dir,\n value: context.value,\n multiple: context.multiple,\n by: context.by,\n open: context.open,\n disabled: context.disabled,\n optionsSet: context.optionsSet,\n onOptionAdd: (option: any) => {\n const existingOption = context.getOption(option());\n if (existingOption) {\n context.optionsSet().delete(existingOption);\n }\n\n context.optionsSet().add(option());\n },\n onOptionRemove: (option: any) => {\n const existingOption = context.getOption(option());\n if (existingOption) {\n context.optionsSet().delete(existingOption);\n }\n },\n onValueChange: context.handleValueChange,\n onTriggerChange: (node: any) => {\n context.triggerElement.set(node.nativeElement);\n },\n onValueElementChange: (node: any) => {\n context.valueElement.set(node);\n },\n onOpenChange: (value: any) => {\n context.open.set(value);\n }\n };\n};\n\nexport type RdxSelectRootContext = ReturnType<typeof context>;\n\nexport const [injectSelectRootContext, provideSelectRootContext] =\n createContext<RdxSelectRootContext>('RdxSelectRootContext');\n\n@Directive({\n selector: '[rdxSelectRoot]',\n exportAs: 'rdxSelectRoot',\n providers: [provideSelectRootContext(context)],\n hostDirectives: [RdxPopper]\n})\nexport class RdxSelectRoot {\n readonly open = model<boolean>(false);\n\n readonly value = model<AcceptableValue | AcceptableValue[]>();\n\n readonly multiple = input(false, { transform: booleanAttribute });\n\n readonly disabled = input(false, { transform: booleanAttribute });\n\n readonly dir = input<Direction>('ltr');\n\n /** Use this to compare objects by a particular field, or pass your own comparison function for complete control over how objects are compared. */\n readonly by = input<string | ((a: AcceptableValue, b: AcceptableValue) => boolean)>();\n\n readonly isEmptyModelValue = computed(() => {\n if (this.multiple() && Array.isArray(this.value())) {\n return Array(this.value())?.length === 0;\n } else {\n return isNullish(this.value());\n }\n });\n\n readonly optionsSet = signal<Set<SelectOption>>(new Set());\n\n // The native `select` only associates the correct default value if the corresponding\n // `option` is rendered as a child **at the same time** as itself.\n // Because it might take a few renders for our items to gather the information to build\n // the native `option`(s), we generate a key on the `select` to make sure Vue re-builds it\n // each time the options change.\n readonly nativeSelectKey = computed(() => {\n return Array.from(this.optionsSet())\n .map((option) => option.value)\n .join(';');\n });\n\n readonly triggerElement = signal<HTMLElement | null>(null);\n readonly valueElement = signal<HTMLElement | null>(null);\n readonly triggerPointerDownPosRef = signal<{ x: number; y: number } | null>({\n x: 0,\n y: 0\n });\n\n getOption(value: SelectOption['value']) {\n return Array.from(this.optionsSet()).find((option) => valueComparator(value, option.value, this.by()));\n }\n\n handleValueChange(value: AcceptableValue) {\n if (this.multiple()) {\n const array = Array.isArray(this.value()) ? [...Array(this.value())] : [];\n const index = array.findIndex((i) => compare(i, value, this.by()));\n index === -1 ? array.push(value) : array.splice(index, 1);\n this.value.set([...array]);\n } else {\n this.value.set(value);\n }\n }\n}\n","import {\n afterNextRender,\n ContentChild,\n Directive,\n effect,\n ElementRef,\n inject,\n InjectionToken,\n OutputRef,\n signal\n} from '@angular/core';\nimport { outputFromObservable, outputToObservable } from '@angular/core/rxjs-interop';\nimport { RdxCollectionProvider } from '@radix-ng/primitives/collection';\nimport { createContext } from '@radix-ng/primitives/core';\nimport { provideRdxDismissableLayerConfig, RdxDismissableLayer } from '@radix-ng/primitives/dismissable-layer';\nimport { RdxFocusScope } from '@radix-ng/primitives/focus-scope';\nimport { injectSelectRootContext } from './select-root';\nimport { focusFirst, valueComparator } from './utils';\n\nconst context = () => {\n const context = inject(RdxSelectContent);\n\n return {\n content: context.content,\n viewport: context.viewport,\n isPositioned: context.isPositioned,\n selectedItem: context.selectedItem,\n selectedItemText: context.selectedItemText,\n onViewportChange: (node: any) => {\n context.viewport.set(node);\n },\n onItemLeave: () => {\n context.content()?.focus();\n },\n itemRefCallback: (node: any, value: any, disabled: boolean) => {\n const isFirstValidItem = !context.firstValidItemFoundRef() && !disabled;\n const isSelectedItem = valueComparator(context.rootContext.value(), value, context.rootContext.by());\n\n if (isSelectedItem || isFirstValidItem) {\n context.selectedItem.set(node);\n }\n\n if (isFirstValidItem) {\n context.firstValidItemFoundRef.set(true);\n }\n },\n itemTextRefCallback: (node: any, value: any, disabled: any) => {\n const isFirstValidItem = !context.firstValidItemFoundRef() && !disabled;\n const isSelectedItem = valueComparator(context.rootContext.value(), value, context.rootContext.by());\n\n if (isSelectedItem || isFirstValidItem) {\n context.selectedItemText.set(node);\n }\n }\n };\n};\n\nexport type RdxSelectContentContext = ReturnType<typeof context>;\n\nexport const [injectSelectContentContext, provideSelectContentContext] =\n createContext<RdxSelectContentContext>('RdxSelectContent');\n\nexport interface RdxPositionerImpl {\n placed: OutputRef<any>;\n}\n\nexport const RDX_SELECT_POSITIONER_TOKEN = new InjectionToken<RdxPositionerImpl>('RDX_SELECT_POSITIONER_TOKEN');\n\n@Directive({\n selector: '[rdxSelectContent]',\n hostDirectives: [RdxFocusScope, RdxDismissableLayer, RdxCollectionProvider],\n providers: [\n provideSelectContentContext(context),\n provideRdxDismissableLayerConfig(() => {\n return {\n disableOutsidePointerEvents: signal(true)\n };\n })\n ],\n host: {\n role: 'listbox',\n '[attr.data-state]': 'rootContext.open() ? \"open\" : \"closed\"',\n '[dir]': 'rootContext.dir()',\n\n '(keydown)': 'handleKeyDown($event)',\n\n '[style]': `{\n display: 'flex',\n flexDirection: 'column',\n outline: 'none'\n }`\n }\n})\nexport class RdxSelectContent {\n private readonly dismissableLayer = inject(RdxDismissableLayer);\n private readonly currentElement = inject(ElementRef);\n private readonly collection = inject(RdxCollectionProvider);\n\n readonly rootContext = injectSelectRootContext();\n\n readonly selectedItem = signal<HTMLElement | undefined>(undefined);\n\n readonly selectedItemText = signal<HTMLElement | undefined>(undefined);\n\n readonly firstValidItemFoundRef = signal(false);\n\n readonly viewport = signal<HTMLElement | undefined>(undefined);\n\n readonly isPositioned = signal(false);\n\n /**\n * Event handler called when the escape key is down.\n * Can be prevented.\n */\n readonly escapeKeyDown = outputFromObservable(outputToObservable(this.dismissableLayer.escapeKeyDown));\n\n /**\n * Event handler called when a `pointerdown` event happens outside of the `DismissableLayer`.\n * Can be prevented.\n */\n readonly pointerDownOutside = outputFromObservable(outputToObservable(this.dismissableLayer.pointerDownOutside));\n\n readonly content = signal<HTMLElement | null>(null);\n\n @ContentChild(RDX_SELECT_POSITIONER_TOKEN, { descendants: true })\n set positioner(port: RdxPositionerImpl | undefined) {\n if (port) {\n port.placed.subscribe(() => {\n this.focusSelectedItem();\n this.isPositioned.set(true);\n });\n }\n }\n\n constructor() {\n this.dismissableLayer.focusOutside.subscribe((e) => e.preventDefault());\n\n this.dismissableLayer.dismiss.subscribe(() => this.rootContext.onOpenChange(false));\n\n const focusScope = inject(RdxFocusScope);\n\n afterNextRender(() => {\n focusScope.unmountAutoFocus.subscribe((event) => {\n if (event.defaultPrevented) return;\n\n this.rootContext.triggerElement()?.focus({ preventScroll: true });\n\n event.preventDefault();\n });\n\n focusScope.mountAutoFocus.subscribe((event) => {\n event.preventDefault();\n });\n\n this.content.set(this.currentElement.nativeElement.firstElementChild);\n });\n\n effect((onCleanup) => {\n if (!this.content()) return;\n\n let pointerMoveDelta = { x: 0, y: 0 };\n\n const handlePointerMove = (event: PointerEvent) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (this.rootContext.triggerPointerDownPosRef()?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (this.rootContext.triggerPointerDownPosRef()?.y ?? 0))\n };\n };\n\n const handlePointerUp = (event: PointerEvent) => {\n // Prevent options from being untappable on touch devices\n if (event.pointerType === 'touch') return;\n\n // If the pointer hasn't moved by a certain threshold then we prevent selecting item on `pointerup`.\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n // otherwise, if the event was outside the content, close.\n if (!this.content()?.contains(event.target as HTMLElement)) this.rootContext.onOpenChange(false);\n }\n document.removeEventListener('pointermove', handlePointerMove);\n this.rootContext.triggerPointerDownPosRef.set(null);\n };\n\n if (this.rootContext.triggerPointerDownPosRef() !== null) {\n document.addEventListener('pointermove', handlePointerMove);\n document.addEventListener('pointerup', handlePointerUp, {\n capture: true,\n once: true\n });\n }\n\n onCleanup(() => {\n document.removeEventListener('pointermove', handlePointerMove);\n document.removeEventListener('pointerup', handlePointerUp, {\n capture: true\n });\n });\n });\n }\n\n focusSelectedItem() {\n if (this.selectedItem() && this.content()) {\n focusFirst([this.selectedItem()!, this.content()!]);\n }\n }\n\n handleKeyDown(event: Event) {\n const keyEvent = event as KeyboardEvent;\n // select should not be navigated using tab key so we prevent it\n if (keyEvent.key === 'Tab') event.preventDefault();\n\n if (['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(keyEvent.key)) {\n const collectionItems = this.collection.items().map((i) => i.element);\n let candidateNodes = [...collectionItems];\n\n if (['ArrowUp', 'End'].includes(keyEvent.key)) candidateNodes = candidateNodes.slice().reverse();\n\n if (['ArrowUp', 'ArrowDown'].includes(keyEvent.key)) {\n const currentElement = event.target as HTMLElement;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n }\n}\n","import { Directive } from '@angular/core';\nimport { injectId } from '@radix-ng/primitives/core';\n\n@Directive({\n selector: '[rdxSelectGroup]',\n exportAs: 'rdxSelectGroup',\n host: {\n role: 'group',\n '[attr.aria-labelledby]': 'id'\n }\n})\nexport class RdxSelectGroup {\n readonly id = injectId('rdx-select-group-');\n}\n","import {\n afterNextRender,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n linkedSignal,\n signal\n} from '@angular/core';\nimport { RdxCollectionItem } from '@radix-ng/primitives/collection';\nimport { createContext, getActiveElement, handleAndDispatchCustomEvent, injectId } from '@radix-ng/primitives/core';\nimport { injectSelectContentContext } from './select-content';\nimport { injectSelectRootContext } from './select-root';\nimport { SELECTION_KEYS, valueComparator } from './utils';\n\nconst context = () => {\n const context = inject(RdxSelectItem);\n return {\n value: context.value,\n disabled: context.disabled,\n isSelected: context.isSelected,\n textId: context.textId,\n\n onItemTextChange: (node: any) => {\n context.textValue$.set(((context.textValue$() || node.textContent) ?? '').trim());\n }\n };\n};\n\nexport type RdxSelectItemContext = ReturnType<typeof context>;\n\nexport const [injectSelectItemContext, provideSelectItemContext] =\n createContext<RdxSelectItemContext>('RdxSelectItemContext');\n\nexport type SelectEvent = CustomEvent<{ originalEvent: PointerEvent | KeyboardEvent; value?: any }>;\n\n@Directive({\n selector: '[rdxSelectItem]',\n providers: [provideSelectItemContext(context)],\n hostDirectives: [\n {\n directive: RdxCollectionItem,\n inputs: ['value']\n }\n ],\n host: {\n role: 'option',\n '[attr.tabindex]': 'disabled() ? undefined : -1',\n '[attr.aria-selected]': 'isSelected() ? \"checked\" : \"unchecked\"',\n '[attr.data-state]': 'isSelected() ? \"checked\" : \"unchecked\"',\n '[attr.data-highlighted]': 'isFocused() ? \"\" : undefined',\n '(focus)': 'isFocused.set(true)',\n '(blur)': 'isFocused.set(false)',\n '(pointerdown)': 'onPointerDown($event)',\n '(pointerup)': 'onPointerUp($event)',\n '(pointerleave)': 'onPointerLeave($event)',\n '(pointermove)': 'onPointerMove($event)',\n '(keydown)': 'handleKeyDown($event)'\n }\n})\nexport class RdxSelectItem {\n private readonly rootContext = injectSelectRootContext();\n private readonly contentContext = injectSelectContentContext();\n\n private readonly currentElement = inject(ElementRef);\n\n readonly value = input<any>();\n\n readonly textValue = input<string>('');\n\n readonly disabled = input(false, { transform: booleanAttribute });\n\n readonly textValue$ = linkedSignal(this.textValue);\n\n readonly isSelected = computed(() =>\n valueComparator(this.rootContext.value(), this.value(), this.rootContext.by())\n );\n\n readonly isFocused = signal(false);\n\n readonly textId = injectId('rdx-select-item-text-');\n\n private readonly afterNextRender = afterNextRender(() => {\n this.contentContext.itemRefCallback(this.currentElement.nativeElement, this.value(), this.disabled());\n });\n\n private SELECT_SELECT = 'select.select';\n\n onPointerDown(event: Event) {\n (event.currentTarget as HTMLElement).focus({ preventScroll: true });\n }\n\n onPointerUp(event: PointerEvent | KeyboardEvent) {\n if (event.defaultPrevented) return;\n\n const eventDetail = { originalEvent: event, value: this.value() };\n\n handleAndDispatchCustomEvent(\n this.SELECT_SELECT,\n async (event: SelectEvent) => {\n if (event.defaultPrevented) return;\n\n this.rootContext.onValueChange(this.value());\n if (!this.rootContext.multiple()) {\n this.rootContext.onOpenChange(false);\n }\n },\n eventDetail\n );\n }\n\n onPointerLeave(event: Event) {\n if (event.defaultPrevented) return;\n\n if (event.currentTarget === getActiveElement()) this.contentContext.onItemLeave?.();\n }\n\n onPointerMove(event: Event) {\n if (event.defaultPrevented) return;\n if (this.disabled()) {\n this.contentContext.onItemLeave?.();\n } else {\n // even though safari doesn't support this option, it's acceptable\n // as it only means it might scroll a few pixels when using the pointer.\n (event.currentTarget as HTMLElement | null)?.focus({ preventScroll: true });\n }\n }\n\n handleKeyDown(event: Event) {\n const keyEvent = event as KeyboardEvent;\n if (event.defaultPrevented) return;\n\n if (SELECTION_KEYS.includes(keyEvent.key)) this.handleSelectCustomEvent(keyEvent);\n\n // prevent page scroll if using the space key to select an item\n if (keyEvent.key === ' ') event.preventDefault();\n }\n\n async handleSelectCustomEvent(event: PointerEvent | KeyboardEvent) {\n if (event.defaultPrevented) return;\n\n const eventDetail = { originalEvent: event, value: this.value() };\n handleAndDispatchCustomEvent(\n this.SELECT_SELECT,\n async (event: SelectEvent) => {\n if (event.defaultPrevented) return;\n\n if (!this.disabled()) {\n this.rootContext.onValueChange(this.value());\n if (!this.rootContext.multiple()) this.rootContext.onOpenChange(false);\n }\n },\n eventDetail\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { injectSelectItemContext } from './select-item';\n\n@Directive({\n selector: '[rdxSelectItemIndicator]',\n host: {\n '[attr.aria-hidden]': 'true',\n '[hidden]': '!itemContext.isSelected()'\n }\n})\nexport class RdxSelectItemIndicator {\n readonly itemContext = injectSelectItemContext();\n}\n","import { afterNextRender, computed, DestroyRef, Directive, ElementRef, inject } from '@angular/core';\nimport { injectSelectContentContext } from './select-content';\nimport { injectSelectItemContext } from './select-item';\nimport { injectSelectRootContext } from './select-root';\n\n@Directive({\n selector: '[rdxSelectItemText]',\n host: {\n '[id]': 'itemContext.textId'\n }\n})\nexport class RdxSelectItemText {\n private readonly elementRef = inject(ElementRef<HTMLElement>);\n\n readonly rootContext = injectSelectRootContext();\n readonly contentContext = injectSelectContentContext();\n readonly itemContext = injectSelectItemContext();\n\n readonly optionProps = computed(() => {\n return {\n value: this.itemContext.value(),\n disabled: this.itemContext.disabled(),\n textContent: this.elementRef.nativeElement.textContent ?? this.itemContext.value()?.toString() ?? ''\n };\n });\n\n constructor() {\n afterNextRender(() => {\n this.itemContext.onItemTextChange(this.elementRef.nativeElement);\n this.contentContext.itemTextRefCallback(\n this.elementRef.nativeElement,\n this.itemContext.value(),\n this.itemContext.disabled()\n );\n\n this.rootContext.onOptionAdd(this.optionProps);\n });\n\n const destroyRef = inject(DestroyRef);\n\n destroyRef.onDestroy(() => {\n this.rootContext.onOptionRemove(this.optionProps);\n });\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxSelectLabel]',\n host: {}\n})\nexport class RdxSelectLabel {}\n","import { Directive } from '@angular/core';\nimport { RdxPopperContent } from '@radix-ng/primitives/popper';\nimport { injectSelectRootContext } from './select-root';\n\n@Directive({\n selector: '[rdxSelectPopperPositionContent]',\n hostDirectives: [RdxPopperContent],\n host: {\n role: 'listbox',\n '[id]': 'rootContext.contentId'\n }\n})\nexport class RdxSelectPopperPositionContent {\n protected rootContext = injectSelectRootContext();\n}\n","import { booleanAttribute, Directive, ElementRef, forwardRef, inject, input, numberAttribute } from '@angular/core';\nimport { outputFromObservable, outputToObservable } from '@angular/core/rxjs-interop';\nimport { Align, RdxPopperContentWrapper, Side } from '@radix-ng/primitives/popper';\nimport { RDX_SELECT_POSITIONER_TOKEN, RdxPositionerImpl } from './select-content';\n\n@Directive({\n selector: '[rdxSelectPopperPositionWrapper]',\n providers: [\n {\n provide: RDX_SELECT_POSITIONER_TOKEN,\n useExisting: forwardRef(() => RdxSelectPopperPositionWrapper)\n }\n ],\n hostDirectives: [\n {\n directive: RdxPopperContentWrapper,\n inputs: [\n 'side',\n 'sideOffset',\n 'align',\n 'alignOffset',\n 'arrowPadding',\n 'avoidCollisions',\n 'collisionBoundary',\n 'collisionPadding',\n 'sticky',\n 'hideWhenDetached',\n 'updatePositionStrategy'\n ]\n }\n ],\n host: {\n // re-namespace exposed content custom properties\n '[style]': `{\n 'boxSizing': 'border-box',\n '--radix-tooltip-content-transform-origin': 'var(--radix-popper-transform-origin)',\n '--radix-tooltip-content-available-width': 'var(--radix-popper-available-width)',\n '--radix-tooltip-content-available-height': 'var(--radix-popper-available-height)',\n '--radix-tooltip-trigger-width': 'var(--radix-popper-anchor-width)',\n '--radix-tooltip-trigger-height': 'var(--radix-popper-anchor-height)',\n }`\n }\n})\nexport class RdxSelectPopperPositionWrapper implements RdxPositionerImpl {\n /**\n * The preferred side of the anchor to render against when open.\n * Will be reversed when collisions occur and avoidCollisions is enabled.\n */\n readonly side = input<Side>('bottom');\n\n /**\n * The distance in pixels from the anchor.\n */\n readonly sideOffset = input(0, { transform: numberAttribute });\n\n /**\n * The preferred alignment against the anchor. May change when collisions occur.\n */\n readonly align = input<Align>('start');\n\n /**\n * An offset in pixels from the `start` or `end` alignment options.\n */\n readonly alignOffset = input(0, { transform: numberAttribute });\n\n /**\n * The padding between the arrow and the edges of the content.\n * If your content has border-radius, this will prevent it from overflowing the corners.\n */\n readonly arrowPadding = input(0, { transform: numberAttribute });\n\n /**\n * When `true`, overrides the `side` and `align` preferences to prevent collisions with boundary edges.\n */\n readonly avoidCollisions = input(true, { transform: booleanAttribute });\n\n /**\n * The element used as the collision boundary.\n * By default this is the viewport, though you can provide additional element(s) to be included in this check.\n */\n readonly collisionBoundary = input<ElementRef<HTMLElement> | ElementRef<HTMLElement>[]>();\n\n /**\n * The distance in pixels from the boundary edges where collision detection should occur.\n * Accepts a number (same for all sides), or a partial padding object, for example: `{ top: 20, left: 20 }`.\n */\n readonly collisionPadding = input<number | Partial<Record<Side, number>>>(0);\n\n /**\n * The sticky behavior on the `align` axis.\n * - `partial` will keep the content in the boundary as long as the trigger is at least partially in the boundary\n * - `always` will keep the content in the boundary regardless.\n */\n readonly sticky = input<'partial' | 'always'>('partial');\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded.\n */\n readonly hideWhenDetached = input(false, { transform: booleanAttribute });\n\n /**\n * Whether to update the position of the floating element on every animation frame if required.\n */\n readonly updatePositionStrategy = input<'optimized' | 'always'>('always');\n\n /**\n * Emits when the element is placed.\n */\n readonly placed = outputFromObservable(outputToObservable(inject(RdxPopperContentWrapper).placed));\n}\n","import { Directive, input } from '@angular/core';\nimport { RdxPortal, RdxPortalContainer } from '@radix-ng/primitives/portal';\n\n@Directive({\n selector: '[rdxSelectPortal]',\n hostDirectives: [\n {\n directive: RdxPortal,\n inputs: ['container']\n }\n ]\n})\nexport class RdxSelectPortal {\n /**\n * Optional container to portal the content into. Defaults to `document.body` when not set.\n */\n readonly container = input<RdxPortalContainer>();\n}\n","import { Directive } from '@angular/core';\nimport { provideRdxPresenceContext, RdxPresenceDirective } from '@radix-ng/primitives/presence';\nimport { injectSelectRootContext } from './select-root';\n\n@Directive({\n selector: 'ng-template[rdxSelectPortalPresence]',\n hostDirectives: [RdxPresenceDirective],\n providers: [\n provideRdxPresenceContext(() => {\n const context = injectSelectRootContext();\n\n return { present: context.open };\n })\n ]\n})\nexport class RdxSelectPortalPresence {}\n","import { afterNextRender, booleanAttribute, computed, Directive, ElementRef, inject, input } from '@angular/core';\nimport { RdxPopperAnchor } from '@radix-ng/primitives/popper';\nimport { injectSelectRootContext } from './select-root';\nimport { OPEN_KEYS } from './utils';\n\n@Directive({\n selector: 'button[rdxSelectTrigger]',\n hostDirectives: [RdxPopperAnchor],\n host: {\n role: 'combobox',\n type: 'button',\n '[attr.disabled]': 'isDisabled() ? \"\" : undefined',\n '[dir]': 'rootContext.dir()',\n '[attr.data-state]': 'rootContext.open() ? \"open\" : \"closed\"',\n '[attr.data-disabled]': 'isDisabled() ? \"\" : undefined',\n '(click)': 'onClickHandler($event)',\n '(pointerdown)': 'onPointerDown($event)',\n '(pointerup)': 'onPointerUp($event)',\n '(keydown)': 'onKeydown($event)'\n }\n})\nexport class RdxSelectTrigger {\n readonly rootContext = injectSelectRootContext();\n\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n readonly disabled = input(false, { transform: booleanAttribute });\n\n readonly isDisabled = computed(() => this.rootContext.disabled() || this.disabled());\n\n constructor() {\n afterNextRender(() => {\n this.rootContext.onTriggerChange(this.elementRef);\n });\n }\n\n handleOpen() {\n if (!this.isDisabled()) {\n this.rootContext.onOpenChange(true);\n }\n }\n\n handlePointerOpen(event: Event) {\n const pointerEvent = event as PointerEvent;\n this.handleOpen();\n this.rootContext.triggerPointerDownPosRef.set({\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n });\n }\n\n onClickHandler(event: Event) {\n // Whilst browsers generally have no issue focusing the trigger when clicking\n // on a label, Safari seems to struggle with the fact that there's no `onClick`.\n // We force `focus` in this case. Note: this doesn't create any other side-effect\n // because we are preventing default in `onPointerDown` so effectively\n // this only runs for a label 'click'\n (event?.currentTarget as HTMLElement)?.focus();\n }\n\n onPointerDown(event: Event) {\n const pointerEvent = event as PointerEvent;\n if (pointerEvent.pointerType === 'touch') return event.preventDefault();\n\n // prevent implicit pointer capture\n // https://www.w3.org/TR/pointerevents3/#implicit-pointer-capture\n const target = event.target as HTMLElement;\n if (target.hasPointerCapture(pointerEvent.pointerId)) {\n target.releasePointerCapture(pointerEvent.pointerId);\n }\n\n // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n // but not when the control key is pressed (avoiding MacOS right click)\n if (pointerEvent.button === 0 && pointerEvent.ctrlKey === false) {\n this.handlePointerOpen(event);\n // prevent trigger from stealing focus from the active item after opening.\n event.preventDefault();\n }\n }\n\n onPointerUp(event: Event) {\n const pointerEvent = event as PointerEvent;\n event.preventDefault();\n // Only open on pointer up when using touch devices\n if (pointerEvent.pointerType === 'touch') this.handlePointerOpen(event);\n }\n\n onKeydown(event: Event) {\n const keyEvent = event as KeyboardEvent;\n if (OPEN_KEYS.includes(keyEvent.key)) {\n this.handleOpen();\n event.preventDefault();\n }\n }\n}\n","import { afterNextRender, computed, Directive, ElementRef, inject, input } from '@angular/core';\nimport { AcceptableValue } from '@radix-ng/primitives/core';\nimport { injectSelectRootContext } from './select-root';\nimport { valueComparator } from './utils';\n\n@Directive({\n selector: 'span[rdxSelectValue]',\n exportAs: 'rdxSelectedValue',\n host: {\n '[style.pointer-events]': '\"none\"'\n }\n})\nexport class RdxSelectValue {\n readonly rootContext = injectSelectRootContext();\n\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n readonly placeholder = input<string>();\n\n readonly slotText = computed(() => {\n return this.selectedLabel().length ? this.selectedLabel().join(', ') : this.placeholder();\n });\n\n readonly selectedLabel = computed(() => {\n // eslint-disable-next-line no-useless-assignment\n let list: string[] = [];\n const options = Array.from(this.rootContext.optionsSet());\n\n const getOption = (value?: AcceptableValue) =>\n options.find((option) => valueComparator(value, option.value, this.rootContext.by()));\n if (Array.isArray(this.rootContext.value())) {\n list = Array(this.rootContext.value()).map((value) => getOption(value)?.textContent ?? '');\n } else {\n list = [getOption(this.rootContext.value())?.textContent ?? ''];\n }\n return list.filter(Boolean);\n });\n\n constructor() {\n afterNextRender(() => {\n this.rootContext.valueElement.set(this.elementRef.nativeElement);\n });\n }\n}\n","import { afterNextRender, Directive, ElementRef, inject, signal } from '@angular/core';\nimport { injectSelectContentContext } from './select-content';\n\n@Directive({\n selector: '[rdxSelectViewport]',\n host: {\n role: 'presentation',\n '[attr.data-rdx-select-viewport]': '\"\"',\n '[style]': `{\n position: 'relative',\n flex: 1,\n overflow: 'hidden auto',\n scrollbarWidth: 'none'\n }`,\n '(scroll)': 'handleScroll($event)'\n }\n})\nexport class RdxSelectViewport {\n private readonly contentContext = injectSelectContentContext();\n private readonly elementRef = inject(ElementRef<HTMLElement>);\n\n private readonly prevScrollTopRef = signal(0);\n\n constructor() {\n afterNextRender(() => {\n this.contentContext?.onViewportChange(this.elementRef.nativeElement);\n });\n }\n\n handleScroll(event: Event) {\n const viewport = event.currentTarget as HTMLElement;\n\n this.prevScrollTopRef.set(viewport.scrollTop);\n }\n}\n","import { RdxSelectContent } from './src/select-content';\nimport { RdxSelectGroup } from './src/select-group';\nimport { RdxSelectItem } from './src/select-item';\nimport { RdxSelectItemIndicator } from './src/select-item-indicator';\nimport { RdxSelectItemText } from './src/select-item-text';\nimport { RdxSelectLabel } from './src/select-label';\nimport { RdxSelectPopperPositionContent } from './src/select-popper-position-content';\nimport { RdxSelectPopperPositionWrapper } from './src/select-popper-position-wrapper';\nimport { RdxSelectPortal } from './src/select-portal';\nimport { RdxSelectPortalPresence } from './src/select-portal-presence';\nimport { RdxSelectRoot } from './src/select-root';\nimport { RdxSelectTrigger } from './src/select-trigger';\nimport { RdxSelectValue } from './src/select-value';\nimport { RdxSelectViewport } from './src/select-viewport';\n\nexport * from './src/select-content';\nexport * from './src/select-group';\nexport * from './src/select-item';\nexport * from './src/select-item-indicator';\nexport * from './src/select-item-text';\nexport * from './src/select-label';\nexport * from './src/select-popper-position-content';\nexport * from './src/select-popper-position-wrapper';\nexport * from './src/select-portal';\nexport * from './src/select-portal-presence';\nexport * from './src/select-root';\nexport * from './src/select-trigger';\nexport * from './src/select-value';\nexport * from './src/select-viewport';\nexport * from './src/utils';\n\nexport const _importsSelect = [\n RdxSelectRoot,\n RdxSelectPortal,\n RdxSelectTrigger,\n RdxSelectValue,\n RdxSelectContent,\n RdxSelectViewport,\n RdxSelectItemIndicator,\n RdxSelectItem,\n RdxSelectItemText,\n RdxSelectLabel,\n RdxSelectGroup,\n RdxSelectPopperPositionContent,\n RdxSelectPopperPositionWrapper,\n RdxSelectPortalPresence\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["context","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"radix-ng-primitives-select.mjs","sources":["../../../packages/primitives/select/src/utils.ts","../../../packages/primitives/select/src/select-root.ts","../../../packages/primitives/select/src/select-backdrop.ts","../../../packages/primitives/select/src/select-group.ts","../../../packages/primitives/select/src/select-group-label.ts","../../../packages/primitives/select/src/select-icon.ts","../../../packages/primitives/select/src/select-popup.ts","../../../packages/primitives/select/src/select-item.ts","../../../packages/primitives/select/src/select-item-indicator.ts","../../../packages/primitives/select/src/select-item-text.ts","../../../packages/primitives/select/src/select-list.ts","../../../packages/primitives/select/src/select-portal.ts","../../../packages/primitives/select/src/select-positioner.ts","../../../packages/primitives/select/src/select-separator.ts","../../../packages/primitives/select/src/select-trigger.ts","../../../packages/primitives/select/src/select-value.ts","../../../packages/primitives/select/index.ts","../../../packages/primitives/select/radix-ng-primitives-select.ts"],"sourcesContent":["import { AcceptableValue, getActiveElement, isEqual } from '@radix-ng/primitives/core';\n\nexport const OPEN_KEYS = [' ', 'Enter', 'ArrowUp', 'ArrowDown'];\nexport const SELECTION_KEYS = [' ', 'Enter'];\nexport const CONTENT_MARGIN = 10;\n\nexport function valueComparator<T>(\n value: T | T[] | undefined,\n currentValue: T,\n comparator?: string | ((a: T, b: T) => boolean)\n) {\n if (value === undefined) return false;\n else if (Array.isArray(value)) return value.some((val) => compare(val, currentValue, comparator));\n else return compare(value, currentValue, comparator);\n}\n\nexport function compare<T>(value?: T, currentValue?: T, comparator?: string | ((a: T, b: T) => boolean)) {\n if (value === undefined || currentValue === undefined) return false;\n\n if (typeof value === 'string') return value === currentValue;\n\n if (typeof comparator === 'function') return comparator(value, currentValue);\n\n if (typeof comparator === 'string') return value?.[comparator as keyof T] === currentValue?.[comparator as keyof T];\n\n return isEqual(value, currentValue);\n}\n\nexport function shouldShowPlaceholder(value?: AcceptableValue | AcceptableValue[]): boolean {\n return value === undefined || value === null || value === '' || (Array.isArray(value) && value.length === 0);\n}\n\nexport function focusFirst(candidates: HTMLElement[]) {\n const PREVIOUSLY_FOCUSED_ELEMENT = getActiveElement();\n for (const candidate of candidates) {\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (getActiveElement() !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\n","import {\n booleanAttribute,\n computed,\n Directive,\n effect,\n inject,\n input,\n model,\n output,\n signal,\n untracked\n} from '@angular/core';\nimport {\n AcceptableValue,\n createContext,\n Direction,\n isNullish,\n ItemValueComparator,\n useTransitionStatus\n} from '@radix-ng/primitives/core';\nimport { RdxPopper } from '@radix-ng/primitives/popper';\nimport { compare, valueComparator } from './utils';\n\nexport interface SelectOption {\n value: any;\n disabled?: boolean;\n textContent: string;\n}\n\nconst context = () => {\n const context = inject(RdxSelectRoot);\n\n return {\n triggerElement: context.triggerElement,\n valueElement: context.valueElement,\n triggerPointerDownPosRef: context.triggerPointerDownPosRef,\n contentId: '',\n dir: context.dir,\n value: context.value,\n multiple: context.multiple,\n isItemEqualToValue: context.isItemEqualToValue,\n itemToStringLabel: context.itemToStringLabel,\n open: context.open,\n disabled: context.disabled,\n modal: context.modal,\n isEmptyModelValue: context.isEmptyModelValue,\n transitionStatus: context.transitionStatus,\n registerTransitionElement: context.registerTransitionElement,\n optionsSet: context.optionsSet,\n onOptionAdd: (option: any) => {\n const existingOption = context.getOption(option());\n if (existingOption) {\n context.optionsSet().delete(existingOption);\n }\n\n context.optionsSet().add(option());\n },\n onOptionRemove: (option: any) => {\n const existingOption = context.getOption(option());\n if (existingOption) {\n context.optionsSet().delete(existingOption);\n }\n },\n onValueChange: context.handleValueChange,\n onTriggerChange: (node: any) => {\n context.triggerElement.set(node.nativeElement);\n },\n onValueElementChange: (node: any) => {\n context.valueElement.set(node);\n },\n onOpenChange: (value: any) => {\n context.open.set(value);\n }\n };\n};\n\nexport type RdxSelectRootContext = ReturnType<typeof context>;\n\nexport const [injectSelectRootContext, provideSelectRootContext] = createContext<RdxSelectRootContext>(\n 'RdxSelectRootContext',\n 'components/select'\n);\n\n@Directive({\n selector: '[rdxSelectRoot]',\n exportAs: 'rdxSelectRoot',\n providers: [provideSelectRootContext(context)],\n hostDirectives: [RdxPopper]\n})\nexport class RdxSelectRoot {\n readonly open = model<boolean>(false);\n\n readonly value = model<AcceptableValue | AcceptableValue[]>();\n\n readonly multiple = input(false, { transform: booleanAttribute });\n\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /** Whether the popup is modal: locks page scroll and makes outside content inert while open. */\n readonly modal = input(true, { transform: booleanAttribute });\n\n readonly dir = input<Direction>('ltr');\n\n /** How item values are compared for equality — a function `(a, b) => boolean` or an object key. */\n readonly isItemEqualToValue = input<ItemValueComparator<AcceptableValue>>();\n\n /** Converts a value to its display label (used by `RdxSelectValue`). */\n readonly itemToStringLabel = input<(value: AcceptableValue) => string>();\n\n /** Emits after the open/close transition (including any exit animation) finishes. */\n readonly onOpenChangeComplete = output<boolean>();\n\n private readonly transition = useTransitionStatus((open) => this.onOpenChangeComplete.emit(open));\n\n /** Open/close transition phase, for `data-starting-style` / `data-ending-style`. */\n readonly transitionStatus = this.transition.status;\n\n /** Registers the popup element whose animation determines transition completion. */\n readonly registerTransitionElement = this.transition.registerElement;\n\n readonly isEmptyModelValue = computed(() => {\n const value = this.value();\n if (this.multiple() && Array.isArray(value)) {\n return value.length === 0;\n }\n return isNullish(value);\n });\n\n constructor() {\n let previousOpen = untracked(this.open);\n effect(() => {\n const open = this.open();\n if (open === previousOpen) {\n return;\n }\n previousOpen = open;\n untracked(() => this.transition.start(open));\n });\n }\n\n readonly optionsSet = signal<Set<SelectOption>>(new Set());\n\n // The native `select` only associates the correct default value if the corresponding\n // `option` is rendered as a child **at the same time** as itself.\n // Because it might take a few renders for our items to gather the information to build\n // the native `option`(s), we generate a key on the `select` to make sure Vue re-builds it\n // each time the options change.\n readonly nativeSelectKey = computed(() => {\n return Array.from(this.optionsSet())\n .map((option) => option.value)\n .join(';');\n });\n\n readonly triggerElement = signal<HTMLElement | null>(null);\n readonly valueElement = signal<HTMLElement | null>(null);\n readonly triggerPointerDownPosRef = signal<{ x: number; y: number } | null>({\n x: 0,\n y: 0\n });\n\n getOption(value: SelectOption['value']) {\n return Array.from(this.optionsSet()).find((option) =>\n valueComparator(value, option.value, this.isItemEqualToValue())\n );\n }\n\n handleValueChange(value: AcceptableValue) {\n if (this.multiple()) {\n const current = this.value();\n const array = Array.isArray(current) ? [...current] : [];\n const index = array.findIndex((i) => compare(i, value, this.isItemEqualToValue()));\n index === -1 ? array.push(value) : array.splice(index, 1);\n this.value.set([...array]);\n } else {\n this.value.set(value);\n }\n }\n}\n","import { Directive } from '@angular/core';\nimport { injectSelectRootContext } from './select-root';\n\n/**\n * An overlay rendered beneath the popup in `modal` mode. Place it inside the portal/presence; style\n * it `position: fixed; inset: 0`. Exposes `data-open` / `data-closed` for animation.\n *\n * @group Components\n */\n@Directive({\n selector: '[rdxSelectBackdrop]',\n exportAs: 'rdxSelectBackdrop',\n host: {\n 'aria-hidden': 'true',\n '[attr.data-state]': 'rootContext.open() ? \"open\" : \"closed\"',\n '[attr.data-open]': 'rootContext.open() ? \"\" : undefined',\n '[attr.data-closed]': 'rootContext.open() ? undefined : \"\"'\n }\n})\nexport class RdxSelectBackdrop {\n protected readonly rootContext = injectSelectRootContext();\n}\n","import { Directive } from '@angular/core';\nimport { injectId } from '@radix-ng/primitives/core';\n\n@Directive({\n selector: '[rdxSelectGroup]',\n exportAs: 'rdxSelectGroup',\n host: {\n role: 'group',\n '[attr.aria-labelledby]': 'id'\n }\n})\nexport class RdxSelectGroup {\n readonly id = injectId('rdx-select-group-');\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[rdxSelectGroupLabel]',\n host: {}\n})\nexport class RdxSelectGroupLabel {}\n","import { Directive } from '@angular/core';\n\n/**\n * Decorative icon inside the trigger (e.g. a chevron). Hidden from assistive technology.\n *\n * @group Components\n */\n@Directive({\n selector: '[rdxSelectIcon]',\n exportAs: 'rdxSelectIcon',\n host: {\n 'aria-hidden': 'true'\n }\n})\nexport class RdxSelectIcon {}\n","import {\n afterNextRender,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n inject,\n InjectionToken,\n Injector,\n OutputRef,\n signal\n} from '@angular/core';\nimport { outputFromObservable, outputToObservable } from '@angular/core/rxjs-interop';\nimport { RdxCollectionItem, RdxCollectionProvider } from '@radix-ng/primitives/collection';\nimport { AcceptableValue, createContext, useListHighlight, useScrollLock } from '@radix-ng/primitives/core';\nimport { provideRdxDismissableLayerConfig, RdxDismissableLayer } from '@radix-ng/primitives/dismissable-layer';\nimport { RdxFocusScope } from '@radix-ng/primitives/focus-scope';\nimport { RdxPopperContent } from '@radix-ng/primitives/popper';\nimport { injectSelectRootContext } from './select-root';\nimport { SELECTION_KEYS, valueComparator } from './utils';\n\nconst context = () => {\n const context = inject(RdxSelectPopup);\n\n return {\n content: context.content,\n viewport: context.viewport,\n isPositioned: context.isPositioned,\n selectedItem: context.selectedItem,\n selectedItemText: context.selectedItemText,\n highlightedItem: context.highlight.highlightedItem,\n isHighlighted: (item: RdxCollectionItem) => context.highlight.highlightedItem() === item,\n highlightItem: (item: RdxCollectionItem) => context.highlight.set(item),\n isKeyboardActive: () => context.isKeyboardActive(),\n setKeyboardActive: (value: boolean) => context.setKeyboardActive(value),\n onViewportChange: (node: any) => {\n context.viewport.set(node);\n },\n onItemLeave: () => {\n context.highlight.clear();\n },\n itemRefCallback: (node: any, value: any, disabled: boolean) => {\n const isFirstValidItem = !context.firstValidItemFoundRef() && !disabled;\n const isSelectedItem = valueComparator(\n context.rootContext.value(),\n value,\n context.rootContext.isItemEqualToValue()\n );\n\n if (isSelectedItem || isFirstValidItem) {\n context.selectedItem.set(node);\n }\n\n if (isFirstValidItem) {\n context.firstValidItemFoundRef.set(true);\n }\n },\n itemTextRefCallback: (node: any, value: any, disabled: any) => {\n const isFirstValidItem = !context.firstValidItemFoundRef() && !disabled;\n const isSelectedItem = valueComparator(\n context.rootContext.value(),\n value,\n context.rootContext.isItemEqualToValue()\n );\n\n if (isSelectedItem || isFirstValidItem) {\n context.selectedItemText.set(node);\n }\n }\n };\n};\n\nexport type RdxSelectPopupContext = ReturnType<typeof context>;\n\nexport const [injectSelectPopupContext, provideSelectPopupContext] = createContext<RdxSelectPopupContext>(\n 'RdxSelectPopup',\n 'components/select'\n);\n\nexport interface RdxPositionerImpl {\n placed: OutputRef<any>;\n}\n\nexport const RDX_SELECT_POSITIONER_TOKEN = new InjectionToken<RdxPositionerImpl>('RDX_SELECT_POSITIONER_TOKEN');\n\n/**\n * The popup listbox. Holds DOM focus while open and navigates with the highlight model\n * (`aria-activedescendant`) — items are not individually focusable.\n *\n * Since ADR 0010 §6 the popup is the **inner** element (the positioner is its ancestor): it carries\n * `role=\"listbox\"`, the `contentId`, and — via the composed {@link RdxPopperContent} — the\n * `data-side` / `data-align` attributes and the until-positioned animation guard previously held by\n * the deleted `rdxSelectPositionerContent`. `RdxPopperContent` also makes the popup the element the\n * `RdxPopperContentWrapper` ancestor reads its content z-index from. In item-aligned mode there is no\n * wrapper, so `RdxPopperContent` no-ops.\n *\n * @group Components\n */\n@Directive({\n selector: '[rdxSelectPopup]',\n hostDirectives: [RdxPopperContent, RdxFocusScope, RdxDismissableLayer, RdxCollectionProvider],\n providers: [\n provideSelectPopupContext(context),\n provideRdxDismissableLayerConfig(() => {\n return {\n disableOutsidePointerEvents: injectSelectRootContext().modal\n };\n })\n ],\n host: {\n role: 'listbox',\n tabindex: '-1',\n '[id]': 'rootContext.contentId',\n '[attr.aria-activedescendant]': 'highlight.activeId()',\n '[attr.aria-multiselectable]': 'rootContext.multiple() ? \"true\" : undefined',\n '[attr.data-state]': 'rootContext.open() ? \"open\" : \"closed\"',\n '[attr.data-open]': 'rootContext.open() ? \"\" : undefined',\n '[attr.data-closed]': 'rootContext.open() ? undefined : \"\"',\n '[attr.data-starting-style]': 'rootContext.transitionStatus() === \"starting\" ? \"\" : undefined',\n '[attr.data-ending-style]': 'rootContext.transitionStatus() === \"ending\" ? \"\" : undefined',\n '[dir]': 'rootContext.dir()',\n\n '(keydown)': 'handleKeyDown($event)',\n\n '[style]': `{\n display: 'flex',\n flexDirection: 'column',\n outline: 'none'\n }`\n }\n})\nexport class RdxSelectPopup {\n private readonly dismissableLayer = inject(RdxDismissableLayer);\n private readonly currentElement = inject(ElementRef);\n private readonly collection = inject(RdxCollectionProvider);\n private readonly injector = inject(Injector);\n\n readonly rootContext = injectSelectRootContext();\n\n /**\n * The collected items (DOM order). Exposed so the `item-aligned` positioner — now the popup's\n * **ancestor** — can read them without injecting {@link RdxCollectionProvider} (which the popup\n * provides as a descendant, so an upward `inject` would not find it).\n */\n readonly items = this.collection.items;\n\n /**\n * Highlight-model navigation over the collected items (DOM order). `loop` is disabled so arrow\n * navigation stops at the first / last item instead of wrapping around — matching native\n * `<select>` behavior.\n */\n readonly highlight = useListHighlight<RdxCollectionItem>({\n items: this.collection.items,\n isNavigable: (item) => !item.disabled(),\n getId: (item) => item.element.id,\n loop: signal(false),\n injector: this.injector\n });\n\n readonly selectedItem = signal<HTMLElement | undefined>(undefined);\n\n readonly selectedItemText = signal<HTMLElement | undefined>(undefined);\n\n readonly firstValidItemFoundRef = signal(false);\n\n readonly viewport = signal<HTMLElement | undefined>(undefined);\n\n readonly isPositioned = signal(false);\n\n // Tracks whether the last interaction was the keyboard, so the highlight doesn't jump to an item\n // the cursor happens to rest on when arrow-key navigation scrolls the list.\n private keyboardActive = false;\n\n /**\n * Event handler called when the escape key is down.\n * Can be prevented.\n */\n readonly escapeKeyDown = outputFromObservable(outputToObservable(this.dismissableLayer.escapeKeyDown));\n\n /**\n * Event handler called when a `pointerdown` event happens outside of the `DismissableLayer`.\n * Can be prevented.\n */\n readonly pointerDownOutside = outputFromObservable(outputToObservable(this.dismissableLayer.pointerDownOutside));\n\n readonly content = signal<HTMLElement | null>(null);\n\n /**\n * The positioner — now an **ancestor** element — provides {@link RDX_SELECT_POSITIONER_TOKEN}\n * (Popper or item-aligned). We react to its `placed` to highlight and scroll the selected item\n * into view and flag the popup as positioned.\n */\n private readonly positioner = inject(RDX_SELECT_POSITIONER_TOKEN, { optional: true });\n\n constructor() {\n this.positioner?.placed.subscribe(() => {\n this.highlightSelectedItem();\n this.scrollSelectedIntoView();\n this.isPositioned.set(true);\n\n // In Popper mode the popup lives inside the positioner, which stays `visibility: hidden`\n // until it is placed — so the mount-time `mountAutoFocus` call no-ops on the hidden\n // listbox and keyboard navigation never starts. Focus it now that it is visible (skip if\n // focus already moved inside, e.g. item-aligned mode or a re-placement).\n const popup = this.content();\n if (popup && !popup.contains(document.activeElement)) {\n popup.focus({ preventScroll: true });\n }\n });\n\n // Keep the highlighted item in view during keyboard navigation. The highlight model is pure\n // state (it never moves DOM focus or scrolls), so without this the highlight can move past the\n // visible viewport — behind the scroll buttons. Only keyboard moves scroll; hover highlights\n // must not (the cursor is already over a visible item).\n effect(() => {\n const item = this.highlight.highlightedItem();\n if (item && this.keyboardActive) {\n item.element.scrollIntoView?.({ block: 'nearest' });\n }\n });\n\n // Lock page scroll while a modal popup is open (content mounts only while open).\n useScrollLock(this.rootContext.modal);\n\n // The popup's animation determines when the open/close transition (onOpenChangeComplete) is done.\n const unregisterTransition = this.rootContext.registerTransitionElement(this.currentElement.nativeElement);\n inject(DestroyRef).onDestroy(unregisterTransition);\n\n this.dismissableLayer.focusOutside.subscribe((e) => e.preventDefault());\n\n this.dismissableLayer.dismiss.subscribe(() => this.rootContext.onOpenChange(false));\n\n const focusScope = inject(RdxFocusScope);\n\n afterNextRender(() => {\n focusScope.unmountAutoFocus.subscribe((event) => {\n if (event.defaultPrevented) return;\n\n this.rootContext.triggerElement()?.focus({ preventScroll: true });\n\n event.preventDefault();\n });\n\n // Focus the popup itself (not an item) — the listbox is the focus owner; items are\n // navigated virtually via aria-activedescendant.\n focusScope.mountAutoFocus.subscribe((event) => {\n event.preventDefault();\n this.content()?.focus({ preventScroll: true });\n });\n\n // The popup is now the listbox host itself (no longer the positioner's first child).\n this.content.set(this.currentElement.nativeElement);\n });\n\n effect((onCleanup) => {\n if (!this.content()) return;\n\n let pointerMoveDelta = { x: 0, y: 0 };\n\n const handlePointerMove = (event: PointerEvent) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (this.rootContext.triggerPointerDownPosRef()?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (this.rootContext.triggerPointerDownPosRef()?.y ?? 0))\n };\n };\n\n const handlePointerUp = (event: PointerEvent) => {\n // Prevent options from being untappable on touch devices\n if (event.pointerType === 'touch') return;\n\n // If the pointer hasn't moved by a certain threshold then we prevent selecting item on `pointerup`.\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n // otherwise, if the event was outside the content, close.\n if (!this.content()?.contains(event.target as HTMLElement)) this.rootContext.onOpenChange(false);\n }\n document.removeEventListener('pointermove', handlePointerMove);\n this.rootContext.triggerPointerDownPosRef.set(null);\n };\n\n if (this.rootContext.triggerPointerDownPosRef() !== null) {\n document.addEventListener('pointermove', handlePointerMove);\n document.addEventListener('pointerup', handlePointerUp, {\n capture: true,\n once: true\n });\n }\n\n onCleanup(() => {\n document.removeEventListener('pointermove', handlePointerMove);\n document.removeEventListener('pointerup', handlePointerUp, {\n capture: true\n });\n });\n });\n }\n\n /** Highlights the selected item (or the first enabled one) when the popup opens. */\n highlightSelectedItem() {\n const items = this.collection.items();\n const selected = items.find((item) =>\n valueComparator(\n this.rootContext.value(),\n item.value() as AcceptableValue,\n this.rootContext.isItemEqualToValue()\n )\n );\n if (selected) {\n this.highlight.set(selected);\n } else {\n this.highlight.first();\n }\n }\n\n private scrollSelectedIntoView() {\n this.selectedItem()?.scrollIntoView?.({ block: 'nearest' });\n }\n\n setKeyboardActive(value: boolean) {\n this.keyboardActive = value;\n }\n\n isKeyboardActive() {\n return this.keyboardActive;\n }\n\n handleKeyDown(event: Event) {\n const keyEvent = event as KeyboardEvent;\n if (keyEvent.isComposing) return;\n\n // select should not be navigated using tab key so we prevent it\n if (keyEvent.key === 'Tab') {\n event.preventDefault();\n return;\n }\n\n if (SELECTION_KEYS.includes(keyEvent.key)) {\n event.preventDefault();\n const item = this.highlight.highlightedItem();\n if (item && !item.disabled()) {\n this.rootContext.onValueChange(item.value() as AcceptableValue);\n if (!this.rootContext.multiple()) this.rootContext.onOpenChange(false);\n }\n return;\n }\n\n if (['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(keyEvent.key)) {\n event.preventDefault();\n this.keyboardActive = true;\n switch (keyEvent.key) {\n case 'ArrowDown':\n this.highlight.next();\n break;\n case 'ArrowUp':\n this.highlight.previous();\n break;\n case 'Home':\n this.highlight.first();\n break;\n case 'End':\n this.highlight.last();\n break;\n }\n }\n }\n}\n","import {\n afterNextRender,\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n input,\n linkedSignal\n} from '@angular/core';\nimport { RdxCollectionItem } from '@radix-ng/primitives/collection';\nimport { createContext, handleAndDispatchCustomEvent, injectId } from '@radix-ng/primitives/core';\nimport { injectSelectPopupContext } from './select-popup';\nimport { injectSelectRootContext } from './select-root';\nimport { SELECTION_KEYS, valueComparator } from './utils';\n\nconst context = () => {\n const context = inject(RdxSelectItem);\n return {\n value: context.value,\n disabled: context.disabled,\n isSelected: context.isSelected,\n textId: context.textId,\n\n onItemTextChange: (node: any) => {\n context.textValue$.set(((context.textValue$() || node.textContent) ?? '').trim());\n }\n };\n};\n\nexport type RdxSelectItemContext = ReturnType<typeof context>;\n\nexport const [injectSelectItemContext, provideSelectItemContext] = createContext<RdxSelectItemContext>(\n 'RdxSelectItemContext',\n 'components/select'\n);\n\nexport type SelectEvent = CustomEvent<{ originalEvent: PointerEvent | KeyboardEvent; value?: any }>;\n\n@Directive({\n selector: '[rdxSelectItem]',\n exportAs: 'rdxSelectItem',\n providers: [provideSelectItemContext(context)],\n hostDirectives: [\n {\n directive: RdxCollectionItem,\n inputs: ['value', 'disabled']\n }\n ],\n host: {\n role: 'option',\n '[attr.id]': 'id',\n '[attr.aria-selected]': 'isSelected()',\n '[attr.aria-disabled]': 'disabled() ? \"true\" : undefined',\n '[attr.data-state]': 'isSelected() ? \"checked\" : \"unchecked\"',\n '[attr.data-selected]': 'isSelected() ? \"\" : undefined',\n '[attr.data-highlighted]': 'isHighlighted() ? \"\" : undefined',\n '[attr.data-disabled]': 'disabled() ? \"\" : undefined',\n '(pointerup)': 'onPointerUp($event)',\n '(pointerleave)': 'onPointerLeave($event)',\n '(pointermove)': 'onPointerMove($event)'\n }\n})\nexport class RdxSelectItem {\n private readonly rootContext = injectSelectRootContext();\n private readonly contentContext = injectSelectPopupContext();\n private readonly collectionItem = inject(RdxCollectionItem);\n\n private readonly currentElement = inject(ElementRef);\n\n readonly value = input<any>();\n\n readonly textValue = input<string>('');\n\n readonly disabled = input(false, { transform: booleanAttribute });\n\n readonly textValue$ = linkedSignal(this.textValue);\n\n readonly isSelected = computed(() =>\n valueComparator(this.rootContext.value(), this.value(), this.rootContext.isItemEqualToValue())\n );\n\n /** Highlighted via the highlight model (keyboard / hover), not DOM focus. */\n readonly isHighlighted = computed(() => this.contentContext.isHighlighted(this.collectionItem));\n\n /** Item id, referenced by the popup's `aria-activedescendant`. */\n readonly id = injectId('rdx-select-item-');\n\n readonly textId = injectId('rdx-select-item-text-');\n\n private readonly afterNextRender = afterNextRender(() => {\n this.contentContext.itemRefCallback(this.currentElement.nativeElement, this.value(), this.disabled());\n });\n\n private SELECT_SELECT = 'select.select';\n\n onPointerUp(event: PointerEvent | KeyboardEvent) {\n if (event.defaultPrevented) return;\n if (this.disabled()) return;\n\n const eventDetail = { originalEvent: event, value: this.value() };\n\n handleAndDispatchCustomEvent(\n this.SELECT_SELECT,\n async (event: SelectEvent) => {\n if (event.defaultPrevented) return;\n\n this.rootContext.onValueChange(this.value());\n if (!this.rootContext.multiple()) {\n this.rootContext.onOpenChange(false);\n }\n },\n eventDetail\n );\n }\n\n onPointerLeave(event: Event) {\n if (event.defaultPrevented) return;\n this.contentContext.onItemLeave?.();\n }\n\n onPointerMove(event: Event) {\n if (event.defaultPrevented) return;\n // Ignore pointer events synthesized by keyboard-driven scrolling (don't steal the highlight).\n if (this.contentContext.isKeyboardActive()) {\n this.contentContext.setKeyboardActive(false);\n return;\n }\n if (!this.disabled()) {\n this.contentContext.highlightItem(this.collectionItem);\n }\n }\n\n handleKeyDown(event: Event) {\n const keyEvent = event as KeyboardEvent;\n if (event.defaultPrevented) return;\n if (SELECTION_KEYS.includes(keyEvent.key)) this.onPointerUp(keyEvent);\n }\n}\n","import { Directive } from '@angular/core';\nimport { injectSelectItemContext } from './select-item';\n\n@Directive({\n selector: '[rdxSelectItemIndicator]',\n host: {\n '[attr.aria-hidden]': 'true',\n '[hidden]': '!itemContext.isSelected()'\n }\n})\nexport class RdxSelectItemIndicator {\n readonly itemContext = injectSelectItemContext();\n}\n","import { afterNextRender, computed, DestroyRef, Directive, ElementRef, inject } from '@angular/core';\nimport { injectSelectItemContext } from './select-item';\nimport { injectSelectPopupContext } from './select-popup';\nimport { injectSelectRootContext } from './select-root';\n\n@Directive({\n selector: '[rdxSelectItemText]',\n host: {\n '[id]': 'itemContext.textId'\n }\n})\nexport class RdxSelectItemText {\n private readonly elementRef = inject(ElementRef<HTMLElement>);\n\n readonly rootContext = injectSelectRootContext();\n readonly contentContext = injectSelectPopupContext();\n readonly itemContext = injectSelectItemContext();\n\n readonly optionProps = computed(() => {\n return {\n value: this.itemContext.value(),\n disabled: this.itemContext.disabled(),\n textContent: this.elementRef.nativeElement.textContent ?? this.itemContext.value()?.toString() ?? ''\n };\n });\n\n constructor() {\n afterNextRender(() => {\n this.itemContext.onItemTextChange(this.elementRef.nativeElement);\n this.contentContext.itemTextRefCallback(\n this.elementRef.nativeElement,\n this.itemContext.value(),\n this.itemContext.disabled()\n );\n\n this.rootContext.onOptionAdd(this.optionProps);\n });\n\n const destroyRef = inject(DestroyRef);\n\n destroyRef.onDestroy(() => {\n this.rootContext.onOptionRemove(this.optionProps);\n });\n }\n}\n","import { afterNextRender, Directive, ElementRef, inject, signal } from '@angular/core';\nimport { injectSelectPopupContext } from './select-popup';\n\n@Directive({\n selector: '[rdxSelectList]',\n host: {\n role: 'presentation',\n '[attr.data-rdx-select-list]': '\"\"',\n '[style]': `{\n position: 'relative',\n flex: 1,\n overflow: 'hidden auto',\n scrollbarWidth: 'none'\n }`,\n '(scroll)': 'handleScroll($event)'\n }\n})\nexport class RdxSelectList {\n private readonly contentContext = injectSelectPopupContext();\n private readonly elementRef = inject(ElementRef<HTMLElement>);\n\n private readonly prevScrollTopRef = signal(0);\n\n constructor() {\n afterNextRender(() => {\n this.contentContext?.onViewportChange(this.elementRef.nativeElement);\n });\n }\n\n handleScroll(event: Event) {\n const viewport = event.currentTarget as HTMLElement;\n\n this.prevScrollTopRef.set(viewport.scrollTop);\n }\n}\n","import { Directive, isDevMode } from '@angular/core';\nimport { RdxPortalPresence } from '@radix-ng/primitives/portal';\nimport { provideRdxPresenceContext } from '@radix-ng/primitives/presence';\nimport { injectSelectRootContext } from './select-root';\n\n/**\n * Structural directive that teleports the select popup into a container (default `document.body`)\n * while the select is open, and keeps it mounted until any CSS exit `@keyframes` finishes.\n *\n * Apply it with the `*` microsyntax on the popup — `<div *rdxSelectPortal rdxSelectPopup>` — or as an\n * explicit `<ng-template rdxSelectPortal>`. For a custom container use the explicit form with\n * `[container]`. Unlike the previous attribute portal it no longer parks an empty wrapper `<div>` in\n * `document.body` while the select is closed.\n */\n@Directive({\n selector: 'ng-template[rdxSelectPortal]',\n exportAs: 'rdxSelectPortal',\n hostDirectives: [{ directive: RdxPortalPresence, inputs: ['container'] }],\n providers: [provideRdxPresenceContext(() => ({ present: injectSelectRootContext().open }))]\n})\nexport class RdxSelectPortal {}\n\n/**\n * Dev-mode guard: `rdxSelectPortal` used to be an attribute directive on a `<div>`. It is now\n * structural, so the old `<div rdxSelectPortal>` markup would silently stop portaling — fail loudly\n * instead.\n */\n@Directive({\n selector: '[rdxSelectPortal]:not(ng-template)'\n})\nexport class RdxSelectPortalMisuseGuard {\n constructor() {\n if (isDevMode()) {\n throw new Error(\n '[rdxSelectPortal] is now a structural directive. ' +\n 'Use `*rdxSelectPortal` on the popup element or `<ng-template rdxSelectPortal>`. ' +\n 'rdxSelectPortalPresence has been removed. See https://radix-ng.com/components/select.md'\n );\n }\n }\n}\n","import { booleanAttribute, Directive, ElementRef, forwardRef, inject, input, numberAttribute } from '@angular/core';\nimport { outputFromObservable, outputToObservable } from '@angular/core/rxjs-interop';\nimport { Align, RdxPopperContentWrapper, Side } from '@radix-ng/primitives/popper';\nimport { RDX_SELECT_POSITIONER_TOKEN, RdxPositionerImpl } from './select-popup';\n\n@Directive({\n selector: '[rdxSelectPositioner]',\n providers: [\n {\n provide: RDX_SELECT_POSITIONER_TOKEN,\n useExisting: forwardRef(() => RdxSelectPositioner)\n }\n ],\n hostDirectives: [\n {\n directive: RdxPopperContentWrapper,\n inputs: [\n 'side',\n 'sideOffset',\n 'align',\n 'alignOffset',\n 'arrowPadding',\n 'avoidCollisions',\n 'collisionBoundary',\n 'collisionPadding',\n 'sticky',\n 'hideWhenDetached',\n 'updatePositionStrategy'\n ]\n }\n ],\n host: {\n // re-namespace exposed content custom properties\n '[style]': `{\n 'boxSizing': 'border-box',\n '--radix-select-content-transform-origin': 'var(--radix-popper-transform-origin)',\n '--radix-select-content-available-width': 'var(--radix-popper-available-width)',\n '--radix-select-content-available-height': 'var(--radix-popper-available-height)',\n '--radix-select-trigger-width': 'var(--radix-popper-anchor-width)',\n '--radix-select-trigger-height': 'var(--radix-popper-anchor-height)',\n }`\n }\n})\nexport class RdxSelectPositioner implements RdxPositionerImpl {\n /**\n * The preferred side of the anchor to render against when open.\n * Will be reversed when collisions occur and avoidCollisions is enabled.\n */\n readonly side = input<Side>('bottom');\n\n /**\n * The distance in pixels from the anchor.\n */\n readonly sideOffset = input(0, { transform: numberAttribute });\n\n /**\n * The preferred alignment against the anchor. May change when collisions occur.\n */\n readonly align = input<Align>('start');\n\n /**\n * An offset in pixels from the `start` or `end` alignment options.\n */\n readonly alignOffset = input(0, { transform: numberAttribute });\n\n /**\n * The padding between the arrow and the edges of the content.\n * If your content has border-radius, this will prevent it from overflowing the corners.\n */\n readonly arrowPadding = input(0, { transform: numberAttribute });\n\n /**\n * When `true`, overrides the `side` and `align` preferences to prevent collisions with boundary edges.\n */\n readonly avoidCollisions = input(true, { transform: booleanAttribute });\n\n /**\n * The element used as the collision boundary.\n * By default this is the viewport, though you can provide additional element(s) to be included in this check.\n */\n readonly collisionBoundary = input<ElementRef<HTMLElement> | ElementRef<HTMLElement>[]>();\n\n /**\n * The distance in pixels from the boundary edges where collision detection should occur.\n * Accepts a number (same for all sides), or a partial padding object, for example: `{ top: 20, left: 20 }`.\n */\n readonly collisionPadding = input<number | Partial<Record<Side, number>>>(0);\n\n /**\n * The sticky behavior on the `align` axis.\n * - `partial` will keep the content in the boundary as long as the trigger is at least partially in the boundary\n * - `always` will keep the content in the boundary regardless.\n */\n readonly sticky = input<'partial' | 'always'>('partial');\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded.\n */\n readonly hideWhenDetached = input(false, { transform: booleanAttribute });\n\n /**\n * Whether to update the position of the floating element on every animation frame if required.\n */\n readonly updatePositionStrategy = input<'optimized' | 'always'>('always');\n\n /**\n * Emits when the element is placed.\n */\n readonly placed = outputFromObservable(outputToObservable(inject(RdxPopperContentWrapper).placed));\n}\n","import { Directive } from '@angular/core';\n\n/**\n * A visual divider between groups of items.\n *\n * @group Components\n */\n@Directive({\n selector: '[rdxSelectSeparator]',\n exportAs: 'rdxSelectSeparator',\n host: {\n role: 'separator',\n 'aria-hidden': 'true'\n }\n})\nexport class RdxSelectSeparator {}\n","import { afterNextRender, booleanAttribute, computed, Directive, ElementRef, inject, input } from '@angular/core';\nimport { injectId } from '@radix-ng/primitives/core';\nimport { injectFieldRootContext } from '@radix-ng/primitives/field';\nimport { RdxPopperAnchor } from '@radix-ng/primitives/popper';\nimport { injectSelectRootContext } from './select-root';\nimport { OPEN_KEYS } from './utils';\n\nconst attr = (value: boolean) => (value ? '' : undefined);\n\n@Directive({\n selector: 'button[rdxSelectTrigger]',\n hostDirectives: [RdxPopperAnchor],\n host: {\n role: 'combobox',\n type: 'button',\n '[attr.id]': 'id()',\n '[attr.aria-describedby]': 'describedBy()',\n '[attr.aria-invalid]': 'invalidState() ? \"true\" : undefined',\n '[attr.aria-required]': 'requiredState() ? \"true\" : undefined',\n '[attr.disabled]': 'isDisabled() ? \"\" : undefined',\n '[dir]': 'rootContext.dir()',\n '[attr.data-state]': 'rootContext.open() ? \"open\" : \"closed\"',\n '[attr.data-popup-open]': 'dataAttr(rootContext.open())',\n '[attr.data-placeholder]': 'dataAttr(rootContext.isEmptyModelValue())',\n '[attr.data-disabled]': 'dataAttr(isDisabled())',\n '[attr.data-invalid]': 'dataAttr(invalidState())',\n '[attr.data-valid]': 'dataAttr(!invalidState())',\n '[attr.data-required]': 'dataAttr(requiredState())',\n '[attr.data-filled]': 'dataAttr(filledState())',\n '[attr.data-focused]': 'dataAttr(focusedState())',\n '(click)': 'onClickHandler($event)',\n '(pointerdown)': 'onPointerDown($event)',\n '(pointerup)': 'onPointerUp($event)',\n '(keydown)': 'onKeydown($event)',\n '(focus)': 'onFocus()',\n '(blur)': 'onBlur()'\n }\n})\nexport class RdxSelectTrigger {\n readonly rootContext = injectSelectRootContext();\n\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly fieldRootContext = injectFieldRootContext(true);\n\n /** The trigger id; Field labels and descriptions reference it for accessible relationships. */\n readonly id = input(injectId('rdx-select-trigger-'));\n\n readonly disabled = input(false, { transform: booleanAttribute });\n\n readonly isDisabled = computed(\n () => this.rootContext.disabled() || this.disabled() || Boolean(this.fieldRootContext?.disabledState())\n );\n\n protected readonly invalidState = computed(() => Boolean(this.fieldRootContext?.invalidState()));\n protected readonly requiredState = computed(() => Boolean(this.fieldRootContext?.requiredState()));\n protected readonly filledState = computed(\n () => !this.rootContext.isEmptyModelValue() || Boolean(this.fieldRootContext?.filledState())\n );\n protected readonly focusedState = computed(() => Boolean(this.fieldRootContext?.focusedState()));\n\n protected readonly describedBy = computed(() => {\n if (!this.fieldRootContext) {\n return undefined;\n }\n const ids = [\n ...this.fieldRootContext.descriptionIds(),\n ...(this.fieldRootContext.invalidState() ? this.fieldRootContext.errorIds() : [])\n ];\n return ids.length ? ids.join(' ') : undefined;\n });\n\n constructor() {\n afterNextRender(() => {\n this.rootContext.onTriggerChange(this.elementRef);\n this.fieldRootContext?.setControlId(this.id());\n this.fieldRootContext?.setFilled(!this.rootContext.isEmptyModelValue());\n });\n }\n\n handleOpen() {\n if (!this.isDisabled()) {\n this.rootContext.onOpenChange(true);\n }\n }\n\n handlePointerOpen(event: Event) {\n const pointerEvent = event as PointerEvent;\n this.handleOpen();\n this.rootContext.triggerPointerDownPosRef.set({\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n });\n }\n\n onClickHandler(event: Event) {\n // Whilst browsers generally have no issue focusing the trigger when clicking\n // on a label, Safari seems to struggle with the fact that there's no `onClick`.\n // We force `focus` in this case. Note: this doesn't create any other side-effect\n // because we are preventing default in `onPointerDown` so effectively\n // this only runs for a label 'click'\n (event?.currentTarget as HTMLElement)?.focus();\n }\n\n onPointerDown(event: Event) {\n const pointerEvent = event as PointerEvent;\n if (pointerEvent.pointerType === 'touch') return event.preventDefault();\n\n // prevent implicit pointer capture\n // https://www.w3.org/TR/pointerevents3/#implicit-pointer-capture\n const target = event.target as HTMLElement;\n if (target.hasPointerCapture(pointerEvent.pointerId)) {\n target.releasePointerCapture(pointerEvent.pointerId);\n }\n\n // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n // but not when the control key is pressed (avoiding MacOS right click)\n if (pointerEvent.button === 0 && pointerEvent.ctrlKey === false) {\n this.handlePointerOpen(event);\n // prevent trigger from stealing focus from the active item after opening.\n event.preventDefault();\n }\n }\n\n onPointerUp(event: Event) {\n const pointerEvent = event as PointerEvent;\n event.preventDefault();\n // Only open on pointer up when using touch devices\n if (pointerEvent.pointerType === 'touch') this.handlePointerOpen(event);\n }\n\n onKeydown(event: Event) {\n const keyEvent = event as KeyboardEvent;\n if (OPEN_KEYS.includes(keyEvent.key)) {\n this.handleOpen();\n event.preventDefault();\n }\n }\n\n onFocus(): void {\n this.fieldRootContext?.setFocused(true);\n }\n\n onBlur(): void {\n this.fieldRootContext?.setFocused(false);\n this.fieldRootContext?.setTouched(true);\n }\n\n protected readonly dataAttr = attr;\n}\n","import { afterNextRender, computed, Directive, ElementRef, inject, input } from '@angular/core';\nimport { AcceptableValue } from '@radix-ng/primitives/core';\nimport { injectSelectRootContext } from './select-root';\nimport { valueComparator } from './utils';\n\n@Directive({\n selector: 'span[rdxSelectValue]',\n exportAs: 'rdxSelectedValue',\n host: {\n '[style.pointer-events]': '\"none\"'\n }\n})\nexport class RdxSelectValue {\n readonly rootContext = injectSelectRootContext();\n\n readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n readonly placeholder = input<string>();\n\n readonly slotText = computed(() => {\n return this.selectedLabel().length ? this.selectedLabel().join(', ') : this.placeholder();\n });\n\n readonly selectedLabel = computed(() => {\n const options = Array.from(this.rootContext.optionsSet());\n const customLabel = this.rootContext.itemToStringLabel();\n\n const labelFor = (value?: AcceptableValue): string => {\n if (customLabel && value !== undefined && value !== null) {\n return customLabel(value);\n }\n const option = options.find((o) => valueComparator(value, o.value, this.rootContext.isItemEqualToValue()));\n return option?.textContent ?? '';\n };\n\n const value = this.rootContext.value();\n const list = Array.isArray(value) ? value.map((v) => labelFor(v)) : [labelFor(value)];\n return list.filter(Boolean);\n });\n\n constructor() {\n afterNextRender(() => {\n this.rootContext.valueElement.set(this.elementRef.nativeElement);\n });\n }\n}\n","import { RdxSelectBackdrop } from './src/select-backdrop';\nimport { RdxSelectGroup } from './src/select-group';\nimport { RdxSelectGroupLabel } from './src/select-group-label';\nimport { RdxSelectIcon } from './src/select-icon';\nimport { RdxSelectItem } from './src/select-item';\nimport { RdxSelectItemIndicator } from './src/select-item-indicator';\nimport { RdxSelectItemText } from './src/select-item-text';\nimport { RdxSelectList } from './src/select-list';\nimport { RdxSelectPopup } from './src/select-popup';\nimport { RdxSelectPortal, RdxSelectPortalMisuseGuard } from './src/select-portal';\nimport { RdxSelectPositioner } from './src/select-positioner';\nimport { RdxSelectRoot } from './src/select-root';\nimport { RdxSelectSeparator } from './src/select-separator';\nimport { RdxSelectTrigger } from './src/select-trigger';\nimport { RdxSelectValue } from './src/select-value';\n\nexport * from './src/select-backdrop';\nexport * from './src/select-group';\nexport * from './src/select-group-label';\nexport * from './src/select-icon';\nexport * from './src/select-item';\nexport * from './src/select-item-indicator';\nexport * from './src/select-item-text';\nexport * from './src/select-list';\nexport * from './src/select-popup';\nexport * from './src/select-portal';\nexport * from './src/select-positioner';\nexport * from './src/select-root';\nexport * from './src/select-separator';\nexport * from './src/select-trigger';\nexport * from './src/select-value';\nexport * from './src/utils';\n\nexport const _importsSelect = [\n RdxSelectRoot,\n RdxSelectPortal,\n RdxSelectPortalMisuseGuard,\n RdxSelectTrigger,\n RdxSelectValue,\n RdxSelectPopup,\n RdxSelectList,\n RdxSelectItemIndicator,\n RdxSelectItem,\n RdxSelectItemText,\n RdxSelectGroupLabel,\n RdxSelectGroup,\n RdxSelectPositioner,\n RdxSelectIcon,\n RdxSelectSeparator,\n RdxSelectBackdrop\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["context","i1"],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ export { clamp } from '@radix-ng/primitives/core';
|
|
|
12
12
|
*
|
|
13
13
|
* @see https://base-ui.com/react/components/slider
|
|
14
14
|
*/
|
|
15
|
-
const [injectSliderRootContext, provideSliderRootContext] = createContext('RdxSliderRootContext');
|
|
15
|
+
const [injectSliderRootContext, provideSliderRootContext] = createContext('RdxSliderRootContext', 'components/slider');
|
|
16
16
|
|
|
17
17
|
/** Ascending comparator. */
|
|
18
18
|
function asc(a, b) {
|