@radix-ng/primitives 0.51.0 → 1.0.0-beta.0

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.
Files changed (178) hide show
  1. package/fesm2022/radix-ng-primitives-accordion.mjs +105 -38
  2. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  3. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +221 -129
  4. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
  5. package/fesm2022/radix-ng-primitives-arrow.mjs +20 -4
  6. package/fesm2022/radix-ng-primitives-arrow.mjs.map +1 -1
  7. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
  8. package/fesm2022/radix-ng-primitives-avatar.mjs +54 -61
  9. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  10. package/fesm2022/radix-ng-primitives-button.mjs +123 -0
  11. package/fesm2022/radix-ng-primitives-button.mjs.map +1 -0
  12. package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
  13. package/fesm2022/radix-ng-primitives-checkbox.mjs +378 -54
  14. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  15. package/fesm2022/radix-ng-primitives-collapsible.mjs +182 -81
  16. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  17. package/fesm2022/radix-ng-primitives-collection.mjs +40 -57
  18. package/fesm2022/radix-ng-primitives-collection.mjs.map +1 -1
  19. package/fesm2022/radix-ng-primitives-config.mjs.map +1 -1
  20. package/fesm2022/radix-ng-primitives-context-menu.mjs +140 -424
  21. package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
  22. package/fesm2022/radix-ng-primitives-core.mjs +735 -744
  23. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  24. package/fesm2022/radix-ng-primitives-cropper.mjs +1 -0
  25. package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
  26. package/fesm2022/radix-ng-primitives-date-field.mjs +51 -45
  27. package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
  28. package/fesm2022/radix-ng-primitives-dialog.mjs +655 -327
  29. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  30. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs +70 -46
  31. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs.map +1 -1
  32. package/fesm2022/radix-ng-primitives-drawer.mjs +1059 -0
  33. package/fesm2022/radix-ng-primitives-drawer.mjs.map +1 -0
  34. package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
  35. package/fesm2022/radix-ng-primitives-field.mjs +363 -0
  36. package/fesm2022/radix-ng-primitives-field.mjs.map +1 -0
  37. package/fesm2022/radix-ng-primitives-fieldset.mjs +79 -0
  38. package/fesm2022/radix-ng-primitives-fieldset.mjs.map +1 -0
  39. package/fesm2022/radix-ng-primitives-focus-scope.mjs +23 -8
  40. package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
  41. package/fesm2022/radix-ng-primitives-input.mjs +172 -0
  42. package/fesm2022/radix-ng-primitives-input.mjs.map +1 -0
  43. package/fesm2022/radix-ng-primitives-label.mjs +6 -6
  44. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  45. package/fesm2022/radix-ng-primitives-menu.mjs +1480 -344
  46. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  47. package/fesm2022/radix-ng-primitives-menubar.mjs +290 -162
  48. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  49. package/fesm2022/radix-ng-primitives-meter.mjs +271 -0
  50. package/fesm2022/radix-ng-primitives-meter.mjs.map +1 -0
  51. package/fesm2022/radix-ng-primitives-navigation-menu.mjs +1052 -1553
  52. package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
  53. package/fesm2022/radix-ng-primitives-number-field.mjs +1102 -367
  54. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
  55. package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -1
  56. package/fesm2022/radix-ng-primitives-popover.mjs +978 -989
  57. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  58. package/fesm2022/radix-ng-primitives-popper.mjs +91 -41
  59. package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -1
  60. package/fesm2022/radix-ng-primitives-portal.mjs +34 -10
  61. package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -1
  62. package/fesm2022/radix-ng-primitives-presence.mjs +134 -246
  63. package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
  64. package/fesm2022/radix-ng-primitives-preview-card.mjs +997 -0
  65. package/fesm2022/radix-ng-primitives-preview-card.mjs.map +1 -0
  66. package/fesm2022/radix-ng-primitives-progress.mjs +223 -84
  67. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  68. package/fesm2022/radix-ng-primitives-radio.mjs +191 -51
  69. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  70. package/fesm2022/radix-ng-primitives-roving-focus.mjs +96 -50
  71. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
  72. package/fesm2022/radix-ng-primitives-select.mjs +791 -509
  73. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  74. package/fesm2022/radix-ng-primitives-separator.mjs +12 -35
  75. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  76. package/fesm2022/radix-ng-primitives-slider.mjs +969 -717
  77. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  78. package/fesm2022/radix-ng-primitives-stepper.mjs +15 -19
  79. package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
  80. package/fesm2022/radix-ng-primitives-switch.mjs +125 -113
  81. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  82. package/fesm2022/radix-ng-primitives-tabs.mjs +381 -108
  83. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  84. package/fesm2022/radix-ng-primitives-time-field.mjs +55 -46
  85. package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
  86. package/fesm2022/radix-ng-primitives-toggle-group.mjs +121 -247
  87. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  88. package/fesm2022/radix-ng-primitives-toggle.mjs +98 -61
  89. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  90. package/fesm2022/radix-ng-primitives-toolbar.mjs +303 -92
  91. package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
  92. package/fesm2022/radix-ng-primitives-tooltip.mjs +690 -1071
  93. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  94. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +25 -66
  95. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
  96. package/meter/README.md +3 -0
  97. package/navigation-menu/README.md +2 -1
  98. package/package.json +31 -18
  99. package/portal/README.md +2 -0
  100. package/preview-card/README.md +3 -0
  101. package/schematics/collection.json +1 -0
  102. package/schematics/ng-add/index.d.ts +3 -2
  103. package/schematics/ng-add/index.js +62 -31
  104. package/schematics/ng-add/index.js.map +1 -1
  105. package/schematics/ng-add/package-config.d.ts +4 -2
  106. package/schematics/ng-add/package-config.js +10 -2
  107. package/schematics/ng-add/package-config.js.map +1 -1
  108. package/schematics/ng-add/schema.d.ts +3 -0
  109. package/schematics/ng-add/schema.js +3 -0
  110. package/schematics/ng-add/schema.js.map +1 -0
  111. package/schematics/ng-add/schema.json +14 -0
  112. package/select/README.md +2 -0
  113. package/types/radix-ng-primitives-accordion.d.ts +48 -14
  114. package/types/radix-ng-primitives-alert-dialog.d.ts +95 -38
  115. package/types/radix-ng-primitives-arrow.d.ts +1 -1
  116. package/types/radix-ng-primitives-aspect-ratio.d.ts +1 -1
  117. package/types/radix-ng-primitives-avatar.d.ts +7 -11
  118. package/types/radix-ng-primitives-button.d.ts +73 -0
  119. package/types/radix-ng-primitives-calendar.d.ts +1 -2
  120. package/types/radix-ng-primitives-checkbox.d.ts +201 -32
  121. package/types/radix-ng-primitives-collapsible.d.ts +112 -39
  122. package/types/radix-ng-primitives-collection.d.ts +38 -34
  123. package/types/radix-ng-primitives-config.d.ts +1 -1
  124. package/types/radix-ng-primitives-context-menu.d.ts +60 -116
  125. package/types/radix-ng-primitives-core.d.ts +307 -236
  126. package/types/radix-ng-primitives-cropper.d.ts +2 -2
  127. package/types/radix-ng-primitives-date-field.d.ts +38 -23
  128. package/types/radix-ng-primitives-dialog.d.ts +282 -165
  129. package/types/radix-ng-primitives-dismissable-layer.d.ts +15 -7
  130. package/types/radix-ng-primitives-drawer.d.ts +448 -0
  131. package/types/radix-ng-primitives-editable.d.ts +1 -1
  132. package/types/radix-ng-primitives-field.d.ts +373 -0
  133. package/types/radix-ng-primitives-fieldset.d.ts +48 -0
  134. package/types/radix-ng-primitives-focus-scope.d.ts +13 -5
  135. package/types/radix-ng-primitives-input.d.ts +87 -0
  136. package/types/radix-ng-primitives-label.d.ts +0 -1
  137. package/types/radix-ng-primitives-menu.d.ts +572 -99
  138. package/types/radix-ng-primitives-menubar.d.ts +60 -50
  139. package/types/radix-ng-primitives-meter.d.ts +193 -0
  140. package/types/radix-ng-primitives-navigation-menu.d.ts +422 -340
  141. package/types/radix-ng-primitives-number-field.d.ts +405 -145
  142. package/types/radix-ng-primitives-pagination.d.ts +2 -2
  143. package/types/radix-ng-primitives-popover.d.ts +365 -351
  144. package/types/radix-ng-primitives-popper.d.ts +49 -9
  145. package/types/radix-ng-primitives-portal.d.ts +14 -6
  146. package/types/radix-ng-primitives-presence.d.ts +28 -76
  147. package/types/radix-ng-primitives-preview-card.d.ts +359 -0
  148. package/types/radix-ng-primitives-progress.d.ts +174 -48
  149. package/types/radix-ng-primitives-radio.d.ts +55 -25
  150. package/types/radix-ng-primitives-roving-focus.d.ts +30 -21
  151. package/types/radix-ng-primitives-select.d.ts +475 -177
  152. package/types/radix-ng-primitives-separator.d.ts +7 -32
  153. package/types/radix-ng-primitives-slider.d.ts +315 -201
  154. package/types/radix-ng-primitives-stepper.d.ts +5 -7
  155. package/types/radix-ng-primitives-switch.d.ts +86 -71
  156. package/types/radix-ng-primitives-tabs.d.ts +213 -79
  157. package/types/radix-ng-primitives-time-field.d.ts +42 -27
  158. package/types/radix-ng-primitives-toggle-group.d.ts +85 -164
  159. package/types/radix-ng-primitives-toggle.d.ts +43 -53
  160. package/types/radix-ng-primitives-toolbar.d.ts +163 -38
  161. package/types/radix-ng-primitives-tooltip.d.ts +347 -384
  162. package/types/radix-ng-primitives-visually-hidden.d.ts +19 -19
  163. package/dropdown-menu/README.md +0 -1
  164. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +0 -581
  165. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +0 -1
  166. package/fesm2022/radix-ng-primitives-hover-card.mjs +0 -1238
  167. package/fesm2022/radix-ng-primitives-hover-card.mjs.map +0 -1
  168. package/fesm2022/radix-ng-primitives-select2.mjs +0 -897
  169. package/fesm2022/radix-ng-primitives-select2.mjs.map +0 -1
  170. package/fesm2022/radix-ng-primitives-tooltip2.mjs +0 -735
  171. package/fesm2022/radix-ng-primitives-tooltip2.mjs.map +0 -1
  172. package/hover-card/README.md +0 -3
  173. package/select2/README.md +0 -3
  174. package/tooltip2/README.md +0 -3
  175. package/types/radix-ng-primitives-dropdown-menu.d.ts +0 -171
  176. package/types/radix-ng-primitives-hover-card.d.ts +0 -471
  177. package/types/radix-ng-primitives-select2.d.ts +0 -511
  178. package/types/radix-ng-primitives-tooltip2.d.ts +0 -325
@@ -1 +0,0 @@
1
- {"version":3,"file":"radix-ng-primitives-select2.mjs","sources":["../../../packages/primitives/select2/src/utils.ts","../../../packages/primitives/select2/src/select-root.ts","../../../packages/primitives/select2/src/select-content.ts","../../../packages/primitives/select2/src/select-group.ts","../../../packages/primitives/select2/src/select-item.ts","../../../packages/primitives/select2/src/select-item-indicator.ts","../../../packages/primitives/select2/src/select-item-text.ts","../../../packages/primitives/select2/src/select-label.ts","../../../packages/primitives/select2/src/select-popper-position-content.ts","../../../packages/primitives/select2/src/select-popper-position-wrapper.ts","../../../packages/primitives/select2/src/select-portal.ts","../../../packages/primitives/select2/src/select-portal-presence.ts","../../../packages/primitives/select2/src/select-trigger.ts","../../../packages/primitives/select2/src/select-value.ts","../../../packages/primitives/select2/src/select-viewport.ts","../../../packages/primitives/select2/index.ts","../../../packages/primitives/select2/radix-ng-primitives-select2.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 { Direction } from '@angular/cdk/bidi';\nimport { booleanAttribute, computed, Directive, inject, input, model, signal } from '@angular/core';\nimport { AcceptableValue, createContext, 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, useCollection } 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\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 getItems: ReturnType<typeof useCollection>['getItems'];\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 const { getItems } = useCollection();\n this.getItems = getItems;\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 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.getItems().map((i) => i.ref);\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, inject } from '@angular/core';\nimport { _IdGenerator } 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 = inject(_IdGenerator).getId('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 { _IdGenerator, createContext, getActiveElement, handleAndDispatchCustomEvent } 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 = inject(_IdGenerator).getId('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, ElementRef, input } from '@angular/core';\nimport { RdxPortal } 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 readonly container = input.required<ElementRef<HTMLElement>>();\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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"}