@quantinuum/quantinuum-ui 4.0.1-fix-update-radix.1 → 4.0.1

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 (245) hide show
  1. package/dist/node_modules/@babel/runtime/helpers/esm/extends.js +12 -0
  2. package/dist/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -0
  3. package/dist/node_modules/@radix-ui/number/dist/index.mjs.js +3 -4
  4. package/dist/node_modules/@radix-ui/number/dist/index.mjs.js.map +1 -1
  5. package/dist/node_modules/@radix-ui/primitive/dist/index.mjs.js +6 -9
  6. package/dist/node_modules/@radix-ui/primitive/dist/index.mjs.js.map +1 -1
  7. package/dist/node_modules/@radix-ui/react-accordion/dist/index.mjs.js +267 -279
  8. package/dist/node_modules/@radix-ui/react-accordion/dist/index.mjs.js.map +1 -1
  9. package/dist/node_modules/@radix-ui/react-avatar/dist/index.mjs.js +92 -114
  10. package/dist/node_modules/@radix-ui/react-avatar/dist/index.mjs.js.map +1 -1
  11. package/dist/node_modules/@radix-ui/react-checkbox/dist/index.mjs.js +138 -255
  12. package/dist/node_modules/@radix-ui/react-checkbox/dist/index.mjs.js.map +1 -1
  13. package/dist/node_modules/@radix-ui/react-collapsible/dist/index.mjs.js +130 -135
  14. package/dist/node_modules/@radix-ui/react-collapsible/dist/index.mjs.js.map +1 -1
  15. package/dist/node_modules/@radix-ui/react-collection/dist/index.mjs.js +88 -66
  16. package/dist/node_modules/@radix-ui/react-collection/dist/index.mjs.js.map +1 -1
  17. package/dist/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.mjs.js +73 -81
  18. package/dist/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  19. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js +21 -34
  20. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js.map +1 -1
  21. package/dist/node_modules/@radix-ui/react-context/dist/index.mjs.js +93 -72
  22. package/dist/node_modules/@radix-ui/react-context/dist/index.mjs.js.map +1 -1
  23. package/dist/node_modules/@radix-ui/react-dialog/dist/index.mjs.js +254 -297
  24. package/dist/node_modules/@radix-ui/react-dialog/dist/index.mjs.js.map +1 -1
  25. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.mjs.js +73 -81
  26. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  27. package/dist/node_modules/@radix-ui/react-direction/dist/index.mjs.js +6 -8
  28. package/dist/node_modules/@radix-ui/react-direction/dist/index.mjs.js.map +1 -1
  29. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs.js +217 -190
  30. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs.js.map +1 -1
  31. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs.js +217 -243
  32. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs.js.map +1 -1
  33. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.mjs.js +25 -26
  34. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.mjs.js.map +1 -1
  35. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.mjs.js +259 -191
  36. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.mjs.js.map +1 -1
  37. package/dist/node_modules/@radix-ui/react-hover-card/dist/index.mjs.js +205 -224
  38. package/dist/node_modules/@radix-ui/react-hover-card/dist/index.mjs.js.map +1 -1
  39. package/dist/node_modules/@radix-ui/react-id/dist/index.mjs.js +14 -11
  40. package/dist/node_modules/@radix-ui/react-id/dist/index.mjs.js.map +1 -1
  41. package/dist/node_modules/@radix-ui/react-label/dist/index.mjs.js +14 -22
  42. package/dist/node_modules/@radix-ui/react-label/dist/index.mjs.js.map +1 -1
  43. package/dist/node_modules/@radix-ui/react-menu/dist/index.mjs.js +820 -765
  44. package/dist/node_modules/@radix-ui/react-menu/dist/index.mjs.js.map +1 -1
  45. package/dist/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot/dist/index.mjs.js +73 -81
  46. package/dist/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  47. package/dist/node_modules/@radix-ui/react-navigation-menu/dist/index.mjs.js +730 -717
  48. package/dist/node_modules/@radix-ui/react-navigation-menu/dist/index.mjs.js.map +1 -1
  49. package/dist/node_modules/@radix-ui/react-popover/dist/index.mjs.js +199 -268
  50. package/dist/node_modules/@radix-ui/react-popover/dist/index.mjs.js.map +1 -1
  51. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs.js +73 -81
  52. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  53. package/dist/node_modules/@radix-ui/react-popper/dist/index.mjs.js +223 -267
  54. package/dist/node_modules/@radix-ui/react-popper/dist/index.mjs.js.map +1 -1
  55. package/dist/node_modules/@radix-ui/react-portal/dist/index.mjs.js +10 -14
  56. package/dist/node_modules/@radix-ui/react-portal/dist/index.mjs.js.map +1 -1
  57. package/dist/node_modules/@radix-ui/react-presence/dist/index.mjs.js +121 -122
  58. package/dist/node_modules/@radix-ui/react-presence/dist/index.mjs.js.map +1 -1
  59. package/dist/node_modules/@radix-ui/react-primitive/dist/index.mjs.js +83 -39
  60. package/dist/node_modules/@radix-ui/react-primitive/dist/index.mjs.js.map +1 -1
  61. package/dist/node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs.js +73 -81
  62. package/dist/node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  63. package/dist/node_modules/@radix-ui/react-progress/dist/index.mjs.js +78 -77
  64. package/dist/node_modules/@radix-ui/react-progress/dist/index.mjs.js.map +1 -1
  65. package/dist/node_modules/@radix-ui/react-radio-group/dist/index.mjs.js +217 -264
  66. package/dist/node_modules/@radix-ui/react-radio-group/dist/index.mjs.js.map +1 -1
  67. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.js +216 -204
  68. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.js.map +1 -1
  69. package/dist/node_modules/@radix-ui/react-scroll-area/dist/index.mjs.js +9 -9
  70. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/number/dist/index.mjs.js +7 -0
  71. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/number/dist/index.mjs.js.map +1 -0
  72. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/primitive/dist/index.mjs.js +12 -0
  73. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/primitive/dist/index.mjs.js.map +1 -0
  74. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js +40 -0
  75. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js.map +1 -0
  76. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-context/dist/index.mjs.js +64 -0
  77. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-context/dist/index.mjs.js.map +1 -0
  78. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-direction/dist/index.mjs.js +12 -0
  79. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-direction/dist/index.mjs.js.map +1 -0
  80. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-presence/dist/index.mjs.js +132 -0
  81. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-presence/dist/index.mjs.js.map +1 -0
  82. package/dist/node_modules/{cmdk → @radix-ui/react-scroll-area}/node_modules/@radix-ui/react-primitive/dist/index.mjs.js +1 -1
  83. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-primitive/dist/index.mjs.js.map +1 -0
  84. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-slot/dist/index.mjs.js +90 -0
  85. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -0
  86. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.js +13 -0
  87. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.js.map +1 -0
  88. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.js +8 -0
  89. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.js.map +1 -0
  90. package/dist/node_modules/@radix-ui/react-select/dist/index.mjs.js +1079 -1080
  91. package/dist/node_modules/@radix-ui/react-select/dist/index.mjs.js.map +1 -1
  92. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs.js +73 -81
  93. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  94. package/dist/node_modules/@radix-ui/react-separator/dist/index.mjs.js +43 -26
  95. package/dist/node_modules/@radix-ui/react-separator/dist/index.mjs.js.map +1 -1
  96. package/dist/node_modules/@radix-ui/react-slot/dist/index.mjs.js +1 -1
  97. package/dist/node_modules/@radix-ui/react-slot/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js +37 -0
  98. package/dist/node_modules/@radix-ui/react-slot/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js.map +1 -0
  99. package/dist/node_modules/@radix-ui/react-switch/dist/index.mjs.js +112 -140
  100. package/dist/node_modules/@radix-ui/react-switch/dist/index.mjs.js.map +1 -1
  101. package/dist/node_modules/@radix-ui/react-tabs/dist/index.mjs.js +141 -173
  102. package/dist/node_modules/@radix-ui/react-tabs/dist/index.mjs.js.map +1 -1
  103. package/dist/node_modules/@radix-ui/react-toggle/dist/index.mjs.js +25 -34
  104. package/dist/node_modules/@radix-ui/react-toggle/dist/index.mjs.js.map +1 -1
  105. package/dist/node_modules/@radix-ui/react-toggle-group/dist/index.mjs.js +145 -154
  106. package/dist/node_modules/@radix-ui/react-toggle-group/dist/index.mjs.js.map +1 -1
  107. package/dist/node_modules/@radix-ui/react-tooltip/dist/index.mjs.js +491 -462
  108. package/dist/node_modules/@radix-ui/react-tooltip/dist/index.mjs.js.map +1 -1
  109. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.mjs.js +78 -13
  110. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  111. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.js +15 -9
  112. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.js.map +1 -1
  113. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.js +43 -66
  114. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.js.map +1 -1
  115. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs.js +18 -15
  116. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs.js.map +1 -1
  117. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.js +9 -5
  118. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.js.map +1 -1
  119. package/dist/node_modules/@radix-ui/react-use-previous/dist/index.mjs.js +18 -12
  120. package/dist/node_modules/@radix-ui/react-use-previous/dist/index.mjs.js.map +1 -1
  121. package/dist/node_modules/@radix-ui/react-use-size/dist/index.mjs.js +48 -37
  122. package/dist/node_modules/@radix-ui/react-use-size/dist/index.mjs.js.map +1 -1
  123. package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs.js +23 -32
  124. package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs.js.map +1 -1
  125. package/dist/node_modules/aria-hidden/dist/es2015/index.js +16 -22
  126. package/dist/node_modules/aria-hidden/dist/es2015/index.js.map +1 -1
  127. package/dist/node_modules/class-variance-authority/dist/index.mjs.js +9 -7
  128. package/dist/node_modules/class-variance-authority/dist/index.mjs.js.map +1 -1
  129. package/dist/node_modules/class-variance-authority/node_modules/clsx/dist/clsx.mjs.js +4 -0
  130. package/dist/node_modules/class-variance-authority/node_modules/clsx/dist/clsx.mjs.js.map +1 -0
  131. package/dist/node_modules/cmdk/dist/index.mjs.js +4 -8
  132. package/dist/node_modules/cmdk/dist/index.mjs.js.map +1 -1
  133. package/dist/node_modules/cmdk/node_modules/@radix-ui/primitive/dist/index.module.js +9 -0
  134. package/dist/node_modules/cmdk/node_modules/@radix-ui/primitive/dist/index.module.js.map +1 -0
  135. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-compose-refs/dist/index.module.js +27 -0
  136. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-compose-refs/dist/index.module.js.map +1 -0
  137. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-context/dist/index.module.js +101 -0
  138. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-context/dist/index.module.js.map +1 -0
  139. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-dialog/dist/index.module.js +214 -0
  140. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-dialog/dist/index.module.js.map +1 -0
  141. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-dismissable-layer/dist/index.module.js +233 -0
  142. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-dismissable-layer/dist/index.module.js.map +1 -0
  143. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-focus-guards/dist/index.module.js +30 -0
  144. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-focus-guards/dist/index.module.js.map +1 -0
  145. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-focus-scope/dist/index.module.js +252 -0
  146. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-focus-scope/dist/index.module.js.map +1 -0
  147. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-id/dist/index.module.js +19 -0
  148. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-id/dist/index.module.js.map +1 -0
  149. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-portal/dist/index.module.js +15 -0
  150. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-portal/dist/index.module.js.map +1 -0
  151. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-presence/dist/index.module.js +131 -0
  152. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-presence/dist/index.module.js.map +1 -0
  153. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-primitive/dist/index.module.js +85 -0
  154. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-primitive/dist/index.module.js.map +1 -0
  155. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-slot/dist/index.module.js +79 -0
  156. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-slot/dist/index.module.js.map +1 -0
  157. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-callback-ref/dist/index.module.js +19 -0
  158. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-callback-ref/dist/index.module.js.map +1 -0
  159. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-controllable-state/dist/index.module.js +48 -0
  160. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-controllable-state/dist/index.module.js.map +1 -0
  161. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-escape-keydown/dist/index.module.js +21 -0
  162. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-escape-keydown/dist/index.module.js.map +1 -0
  163. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-layout-effect/dist/index.module.js +12 -0
  164. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-layout-effect/dist/index.module.js.map +1 -0
  165. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/Combination.js +10 -0
  166. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -0
  167. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +146 -0
  168. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -0
  169. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/UI.js +39 -0
  170. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -0
  171. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +22 -0
  172. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +1 -0
  173. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +97 -0
  174. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -0
  175. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/medium.js +9 -0
  176. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/medium.js.map +1 -0
  177. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/sidecar.js +10 -0
  178. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/sidecar.js.map +1 -0
  179. package/dist/node_modules/command-score/index.js +138 -0
  180. package/dist/node_modules/command-score/index.js.map +1 -0
  181. package/dist/node_modules/input-otp/dist/index.mjs.js +1 -1
  182. package/dist/node_modules/input-otp/dist/index.mjs.js.map +1 -1
  183. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +5 -23
  184. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -1
  185. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +2 -2
  186. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -1
  187. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +6 -18
  188. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
  189. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +5 -25
  190. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js.map +1 -1
  191. package/dist/node_modules/sonner/dist/index.mjs.js +26 -46
  192. package/dist/node_modules/sonner/dist/index.mjs.js.map +1 -1
  193. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +1 -27
  194. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -1
  195. package/dist/src/index.js +1 -1
  196. package/dist/src/shadcn/ui/accordion.js +7 -7
  197. package/dist/src/shadcn/ui/avatar.js +7 -7
  198. package/dist/src/shadcn/ui/checkbox.js +3 -3
  199. package/dist/src/shadcn/ui/command.js +15 -15
  200. package/dist/src/shadcn/ui/dialog.js +14 -14
  201. package/dist/src/shadcn/ui/dropdown-menu.js +23 -23
  202. package/dist/src/shadcn/ui/hover-card.js +5 -5
  203. package/dist/src/shadcn/ui/label.js +3 -3
  204. package/dist/src/shadcn/ui/navigation-menu.js +15 -15
  205. package/dist/src/shadcn/ui/navigation-menu.js.map +1 -1
  206. package/dist/src/shadcn/ui/popover.js +6 -32
  207. package/dist/src/shadcn/ui/popover.js.map +1 -1
  208. package/dist/src/shadcn/ui/progress.js +3 -3
  209. package/dist/src/shadcn/ui/radio-group.js +5 -5
  210. package/dist/src/shadcn/ui/select.js +19 -19
  211. package/dist/src/shadcn/ui/separator.js +3 -3
  212. package/dist/src/shadcn/ui/sheet.js +14 -14
  213. package/dist/src/shadcn/ui/switch.js +3 -3
  214. package/dist/src/shadcn/ui/tabs.js +8 -8
  215. package/dist/src/shadcn/ui/toggle-group.js +5 -5
  216. package/dist/src/shadcn/ui/toggle.js +3 -3
  217. package/dist/src/shadcn/ui/tooltip.js +7 -7
  218. package/dist/src/tailwindTheme.js +12 -12
  219. package/dist/src/tailwindTheme.js.map +1 -1
  220. package/dist/tailwind-manifest.js +10978 -9482
  221. package/dist/types/src/shadcn/ui/command.d.ts +8 -44
  222. package/dist/types/src/shadcn/ui/popover.d.ts +4 -8
  223. package/dist/types/src/shadcn/ui/sheet.d.ts +1 -1
  224. package/dist/types/src/tailwindTheme.d.ts +4 -6
  225. package/dist/types/tailwind.config.d.ts +4 -6
  226. package/package.json +31 -11
  227. package/dist/_virtual/index.js +0 -4
  228. package/dist/_virtual/index.js.map +0 -1
  229. package/dist/_virtual/use-sync-external-store-shim.development.js +0 -4
  230. package/dist/_virtual/use-sync-external-store-shim.development.js.map +0 -1
  231. package/dist/_virtual/use-sync-external-store-shim.production.js +0 -4
  232. package/dist/_virtual/use-sync-external-store-shim.production.js.map +0 -1
  233. package/dist/node_modules/@radix-ui/react-arrow/dist/index.mjs.js +0 -26
  234. package/dist/node_modules/@radix-ui/react-arrow/dist/index.mjs.js.map +0 -1
  235. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.mjs.js +0 -18
  236. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.mjs.js.map +0 -1
  237. package/dist/node_modules/cmdk/dist/chunk-NZJY6EH4.mjs.js +0 -4
  238. package/dist/node_modules/cmdk/dist/chunk-NZJY6EH4.mjs.js.map +0 -1
  239. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-primitive/dist/index.mjs.js.map +0 -1
  240. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +0 -107
  241. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +0 -1
  242. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +0 -78
  243. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +0 -1
  244. package/dist/node_modules/use-sync-external-store/shim/index.js +0 -13
  245. package/dist/node_modules/use-sync-external-store/shim/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs.js","sources":["../../../../../node_modules/@radix-ui/react-select/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/select.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { VISUALLY_HIDDEN_STYLES } from \"@radix-ui/react-visually-hidden\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar OPEN_KEYS = [\" \", \"Enter\", \"ArrowUp\", \"ArrowDown\"];\nvar SELECTION_KEYS = [\" \", \"Enter\"];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n createCollectionScope,\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = React.useState(null);\n const [valueNode, setValueNode] = React.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n const direction = useDirection(dir);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SELECT_NAME\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n caller: SELECT_NAME\n });\n const triggerPointerDownPosRef = React.useRef(null);\n const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(\";\");\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsxs(\n SelectProvider,\n {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: useId(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ jsx(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n SelectNativeOptionsProvider,\n {\n scope: props.__scopeSelect,\n onNativeOptionAdd: React.useCallback((option) => {\n setNativeOptionsSet((prev) => new Set(prev).add(option));\n }, []),\n onNativeOptionRemove: React.useCallback((option) => {\n setNativeOptionsSet((prev) => {\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, []),\n children\n }\n ) }),\n isFormControl ? /* @__PURE__ */ jsxs(\n SelectBubbleInput,\n {\n \"aria-hidden\": true,\n required,\n tabIndex: -1,\n name,\n autoComplete,\n value,\n onChange: (event) => setValue(event.target.value),\n disabled,\n form,\n children: [\n value === void 0 ? /* @__PURE__ */ jsx(\"option\", { value: \"\" }) : null,\n Array.from(nativeOptionsSet)\n ]\n },\n nativeSelectKey\n ) : null\n ]\n }\n ) });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = React.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n });\n const handleOpen = (pointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: composeEventHandlers(triggerProps.onClick, (event) => {\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n useLayoutEffect(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...valueProps,\n ref: composedRefs,\n style: { pointerEvents: \"none\" },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ jsx(Fragment, { children: placeholder }) : children\n }\n );\n }\n);\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...iconProps, ref: forwardedRef, children: children || \"\\u25BC\" });\n }\n);\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props) => {\n return /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, ...props });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = React.forwardRef(\n (props, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = React.useState();\n useLayoutEffect(() => {\n setFragment(new DocumentFragment());\n }, []);\n if (!context.open) {\n const frag = fragment;\n return frag ? ReactDOM.createPortal(\n /* @__PURE__ */ jsx(SelectContentProvider, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSelect, children: /* @__PURE__ */ jsx(\"div\", { children: props.children }) }) }),\n frag\n ) : null;\n }\n return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });\n }\n);\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar Slot = createSlot(\"SelectContent.RemoveScroll\");\nvar SelectContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n position = \"item-aligned\",\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedItemText, setSelectedItemText] = React.useState(\n null\n );\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = React.useState(false);\n const firstValidItemFoundRef = React.useRef(false);\n React.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n useFocusGuards();\n const focusFirst = React.useCallback(\n (candidates) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: \"nearest\" });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n const focusSelectedItem = React.useCallback(\n () => focusFirst([selectedItem, content]),\n [focusFirst, selectedItem, content]\n );\n React.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n const handlePointerMove = (event) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n };\n const handlePointerUp = (event) => {\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, { capture: true, once: true });\n }\n return () => {\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n React.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return () => {\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n };\n }, [onOpenChange]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout(() => nextItem.ref.current.focus());\n }\n });\n const itemRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React.useCallback(\n (node, value, disabled) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ jsx(\n SelectContentProvider,\n {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event) => {\n event.preventDefault();\n },\n onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: () => context.onOpenChange(false),\n children: /* @__PURE__ */ jsx(\n SelectPosition,\n {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event) => event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: () => setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current);\n if ([\"ArrowUp\", \"End\"].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = React.useRef(false);\n const shouldRepositionRef = React.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = React.useCallback(() => {\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame(() => shouldExpandOnScrollRef.current = true);\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n useLayoutEffect(() => position(), [position]);\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n const handleScrollButtonChange = React.useCallback(\n (node) => {\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position, focusSelectedItem]\n );\n return /* @__PURE__ */ jsx(\n SelectViewportProvider,\n {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n }\n )\n }\n )\n }\n );\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeSelect,\n align = \"start\",\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n return /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\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 }\n );\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React.useRef(0);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeSelect, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: composeEventHandlers(viewportProps.onScroll, (event) => {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }\n ) })\n ] });\n }\n);\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return /* @__PURE__ */ jsx(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", \"aria-labelledby\": groupId, ...groupProps, ref: forwardedRef }) });\n }\n);\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return /* @__PURE__ */ jsx(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });\n }\n);\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = React.useState(false);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React.useRef(\"touch\");\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\n \"A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\"\n );\n }\n return /* @__PURE__ */ jsx(\n SelectItemContextProvider,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: React.useCallback((node) => {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? \"\").trim());\n }, []),\n children: /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: composeEventHandlers(itemProps.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(itemProps.onBlur, () => setIsFocused(false)),\n onClick: composeEventHandlers(itemProps.onClick, () => {\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: composeEventHandlers(itemProps.onPointerUp, () => {\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: composeEventHandlers(itemProps.onPointerMove, (event) => {\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({ preventScroll: true });\n }\n }),\n onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n }\n )\n }\n )\n }\n );\n }\n);\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n const textContent = itemTextNode?.textContent;\n const nativeOption = React.useMemo(\n () => /* @__PURE__ */ jsx(\"option\", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value),\n [itemContext.disabled, itemContext.value, textContent]\n );\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Primitive.span, { id: itemContext.textId, ...itemTextProps, ref: composedRefs }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? ReactDOM.createPortal(itemTextProps.children, context.valueNode) : null\n ] });\n }\n);\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ jsx(Primitive.span, { \"aria-hidden\": true, ...itemIndicatorProps, ref: forwardedRef }) : null;\n }\n);\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollUp ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = React.forwardRef((props, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n };\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return () => viewport.removeEventListener(\"scroll\", handleScroll2);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n return canScrollDown ? /* @__PURE__ */ jsx(\n SelectScrollButtonImpl,\n {\n ...props,\n ref: composedRefs,\n onAutoScroll: () => {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }\n ) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = React.useRef(null);\n const getItems = useCollection(__scopeSelect);\n const clearAutoScrollTimer = React.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n React.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n useLayoutEffect(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: \"nearest\" });\n }, [getItems]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: { flexShrink: 0, ...scrollIndicatorProps.style },\n onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, () => {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })\n }\n );\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { \"aria-hidden\": true, ...separatorProps, ref: forwardedRef });\n }\n);\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;\n }\n);\nSelectArrow.displayName = ARROW_NAME;\nvar BUBBLE_INPUT_NAME = \"SelectBubbleInput\";\nvar SelectBubbleInput = React.forwardRef(\n ({ __scopeSelect, value, ...props }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const select = ref.current;\n if (!select) return;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n \"value\"\n );\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\n Primitive.select,\n {\n ...props,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style },\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n);\nSelectBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n}\nfunction useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = useCallbackRef(onSearchChange);\n const searchRef = React.useRef(\"\");\n const timerRef = React.useRef(0);\n const handleTypeaheadSearch = React.useCallback(\n (key) => {\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n },\n [handleSearchChange]\n );\n const resetTypeahead = React.useCallback(() => {\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }, []);\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n return [searchRef, handleTypeaheadSearch, resetTypeahead];\n}\nfunction findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n const nextItem = wrappedItems.find(\n (item) => item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Group,\n Icon,\n Item,\n ItemIndicator,\n ItemText,\n Label,\n Portal,\n Root2 as Root,\n ScrollDownButton,\n ScrollUpButton,\n Select,\n SelectArrow,\n SelectContent,\n SelectGroup,\n SelectIcon,\n SelectItem,\n SelectItemIndicator,\n SelectItemText,\n SelectLabel,\n SelectPortal,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n SelectViewport,\n Separator,\n Trigger,\n Value,\n Viewport,\n createSelectScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;"}
1
+ {"version":3,"file":"index.mjs.js","sources":["../../../../../node_modules/@radix-ui/react-select/dist/index.mjs"],"sourcesContent":["import $01b9c$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport {useState as $01b9c$useState, useRef as $01b9c$useRef, createElement as $01b9c$createElement, useCallback as $01b9c$useCallback, forwardRef as $01b9c$forwardRef, Fragment as $01b9c$Fragment, useEffect as $01b9c$useEffect, useMemo as $01b9c$useMemo} from \"react\";\nimport {createPortal as $01b9c$createPortal} from \"react-dom\";\nimport {clamp as $01b9c$clamp} from \"@radix-ui/number\";\nimport {composeEventHandlers as $01b9c$composeEventHandlers} from \"@radix-ui/primitive\";\nimport {createCollection as $01b9c$createCollection} from \"@radix-ui/react-collection\";\nimport {useComposedRefs as $01b9c$useComposedRefs} from \"@radix-ui/react-compose-refs\";\nimport {createContextScope as $01b9c$createContextScope} from \"@radix-ui/react-context\";\nimport {useDirection as $01b9c$useDirection} from \"@radix-ui/react-direction\";\nimport {DismissableLayer as $01b9c$DismissableLayer} from \"@radix-ui/react-dismissable-layer\";\nimport {useFocusGuards as $01b9c$useFocusGuards} from \"@radix-ui/react-focus-guards\";\nimport {FocusScope as $01b9c$FocusScope} from \"@radix-ui/react-focus-scope\";\nimport {useId as $01b9c$useId} from \"@radix-ui/react-id\";\nimport {createPopperScope as $01b9c$createPopperScope, Root as $01b9c$Root, Anchor as $01b9c$Anchor, Content as $01b9c$Content, Arrow as $01b9c$Arrow} from \"@radix-ui/react-popper\";\nimport {Portal as $01b9c$Portal} from \"@radix-ui/react-portal\";\nimport {Primitive as $01b9c$Primitive} from \"@radix-ui/react-primitive\";\nimport {Slot as $01b9c$Slot} from \"@radix-ui/react-slot\";\nimport {useCallbackRef as $01b9c$useCallbackRef} from \"@radix-ui/react-use-callback-ref\";\nimport {useControllableState as $01b9c$useControllableState} from \"@radix-ui/react-use-controllable-state\";\nimport {useLayoutEffect as $01b9c$useLayoutEffect} from \"@radix-ui/react-use-layout-effect\";\nimport {usePrevious as $01b9c$usePrevious} from \"@radix-ui/react-use-previous\";\nimport {VisuallyHidden as $01b9c$VisuallyHidden} from \"@radix-ui/react-visually-hidden\";\nimport {hideOthers as $01b9c$hideOthers} from \"aria-hidden\";\nimport {RemoveScroll as $01b9c$RemoveScroll} from \"react-remove-scroll\";\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst $cc7e05a45900e73f$var$OPEN_KEYS = [\n ' ',\n 'Enter',\n 'ArrowUp',\n 'ArrowDown'\n];\nconst $cc7e05a45900e73f$var$SELECTION_KEYS = [\n ' ',\n 'Enter'\n];\n/* -------------------------------------------------------------------------------------------------\n * Select\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$SELECT_NAME = 'Select';\nconst [$cc7e05a45900e73f$var$Collection, $cc7e05a45900e73f$var$useCollection, $cc7e05a45900e73f$var$createCollectionScope] = $01b9c$createCollection($cc7e05a45900e73f$var$SELECT_NAME);\nconst [$cc7e05a45900e73f$var$createSelectContext, $cc7e05a45900e73f$export$286727a75dc039bd] = $01b9c$createContextScope($cc7e05a45900e73f$var$SELECT_NAME, [\n $cc7e05a45900e73f$var$createCollectionScope,\n $01b9c$createPopperScope\n]);\nconst $cc7e05a45900e73f$var$usePopperScope = $01b9c$createPopperScope();\nconst [$cc7e05a45900e73f$var$SelectProvider, $cc7e05a45900e73f$var$useSelectContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$SELECT_NAME);\nconst [$cc7e05a45900e73f$var$SelectNativeOptionsProvider, $cc7e05a45900e73f$var$useSelectNativeOptionsContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$SELECT_NAME);\nconst $cc7e05a45900e73f$export$ef9b1a59e592288f = (props)=>{\n const { __scopeSelect: __scopeSelect , children: children , open: openProp , defaultOpen: defaultOpen , onOpenChange: onOpenChange , value: valueProp , defaultValue: defaultValue , onValueChange: onValueChange , dir: dir , name: name , autoComplete: autoComplete , disabled: disabled , required: required } = props;\n const popperScope = $cc7e05a45900e73f$var$usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = $01b9c$useState(null);\n const [valueNode, setValueNode] = $01b9c$useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = $01b9c$useState(false);\n const direction = $01b9c$useDirection(dir);\n const [open = false, setOpen] = $01b9c$useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n const [value, setValue] = $01b9c$useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange\n });\n const triggerPointerDownPosRef = $01b9c$useRef(null); // We set this to true by default so that events bubble to forms without JS (SSR)\n const isFormControl = trigger ? Boolean(trigger.closest('form')) : true;\n const [nativeOptionsSet, setNativeOptionsSet] = $01b9c$useState(new Set()); // 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 React re-builds it\n // each time the options change.\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option)=>option.props.value\n ).join(';');\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Root, popperScope, /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectProvider, {\n required: required,\n scope: __scopeSelect,\n trigger: trigger,\n onTriggerChange: setTrigger,\n valueNode: valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren: valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: $01b9c$useId(),\n value: value,\n onValueChange: setValue,\n open: open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef: triggerPointerDownPosRef,\n disabled: disabled\n }, /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$Collection.Provider, {\n scope: __scopeSelect\n }, /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectNativeOptionsProvider, {\n scope: props.__scopeSelect,\n onNativeOptionAdd: $01b9c$useCallback((option)=>{\n setNativeOptionsSet((prev)=>new Set(prev).add(option)\n );\n }, []),\n onNativeOptionRemove: $01b9c$useCallback((option)=>{\n setNativeOptionsSet((prev)=>{\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, [])\n }, children)), isFormControl ? /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$BubbleSelect, {\n key: nativeSelectKey,\n \"aria-hidden\": true,\n required: required,\n tabIndex: -1,\n name: name,\n autoComplete: autoComplete,\n value: value // enable form autofill\n ,\n onChange: (event)=>setValue(event.target.value)\n ,\n disabled: disabled\n }, value === undefined ? /*#__PURE__*/ $01b9c$createElement(\"option\", {\n value: \"\"\n }) : null, Array.from(nativeOptionsSet)) : null));\n};\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$ef9b1a59e592288f, {\n displayName: $cc7e05a45900e73f$var$SELECT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectTrigger\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$TRIGGER_NAME = 'SelectTrigger';\nconst $cc7e05a45900e73f$export$3ac1e88a1c0b9f1 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , disabled: disabled = false , ...triggerProps } = props;\n const popperScope = $cc7e05a45900e73f$var$usePopperScope(__scopeSelect);\n const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = $cc7e05a45900e73f$var$useCollection(__scopeSelect);\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = $cc7e05a45900e73f$var$useTypeaheadSearch((search)=>{\n const enabledItems = getItems().filter((item)=>!item.disabled\n );\n const currentItem = enabledItems.find((item)=>item.value === context.value\n );\n const nextItem = $cc7e05a45900e73f$var$findNextItem(enabledItems, search, currentItem);\n if (nextItem !== undefined) context.onValueChange(nextItem.value);\n });\n const handleOpen = ()=>{\n if (!isDisabled) {\n context.onOpenChange(true); // reset typeahead when we open\n resetTypeahead();\n }\n };\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Anchor, $01b9c$babelruntimehelpersesmextends({\n asChild: true\n }, popperScope), /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.button, $01b9c$babelruntimehelpersesmextends({\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? 'open' : 'closed',\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? '' : undefined,\n \"data-placeholder\": $cc7e05a45900e73f$var$shouldShowPlaceholder(context.value) ? '' : undefined\n }, triggerProps, {\n ref: composedRefs // Enable compatibility with native label or custom `Label` \"click\" for Safari:\n ,\n onClick: $01b9c$composeEventHandlers(triggerProps.onClick, (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.focus();\n }),\n onPointerDown: $01b9c$composeEventHandlers(triggerProps.onPointerDown, (event)=>{\n // prevent implicit pointer capture\n // https://www.w3.org/TR/pointerevents3/#implicit-pointer-capture\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) target.releasePointerCapture(event.pointerId);\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 (event.button === 0 && event.ctrlKey === false) {\n handleOpen();\n context.triggerPointerDownPosRef.current = {\n x: Math.round(event.pageX),\n y: Math.round(event.pageY)\n }; // prevent trigger from stealing focus from the active item after opening.\n event.preventDefault();\n }\n }),\n onKeyDown: $01b9c$composeEventHandlers(triggerProps.onKeyDown, (event)=>{\n const isTypingAhead = searchRef.current !== '';\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === ' ') return;\n if ($cc7e05a45900e73f$var$OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n })));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$3ac1e88a1c0b9f1, {\n displayName: $cc7e05a45900e73f$var$TRIGGER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectValue\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$VALUE_NAME = 'SelectValue';\nconst $cc7e05a45900e73f$export$e288731fd71264f0 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n // We ignore `className` and `style` as this part shouldn't be styled.\n const { __scopeSelect: __scopeSelect , className: className , style: style , children: children , placeholder: placeholder = '' , ...valueProps } = props;\n const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange: onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== undefined;\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, context.onValueNodeChange);\n $01b9c$useLayoutEffect(()=>{\n onValueNodeHasChildrenChange(hasChildren);\n }, [\n onValueNodeHasChildrenChange,\n hasChildren\n ]);\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.span, $01b9c$babelruntimehelpersesmextends({}, valueProps, {\n ref: composedRefs // we don't want events from the portalled `SelectValue` children to bubble\n ,\n style: {\n pointerEvents: 'none'\n }\n }), $cc7e05a45900e73f$var$shouldShowPlaceholder(context.value) ? /*#__PURE__*/ $01b9c$createElement($01b9c$Fragment, null, placeholder) : children);\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$e288731fd71264f0, {\n displayName: $cc7e05a45900e73f$var$VALUE_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectIcon\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$ICON_NAME = 'SelectIcon';\nconst $cc7e05a45900e73f$export$99b400cabb58c515 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , children: children , ...iconProps } = props;\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.span, $01b9c$babelruntimehelpersesmextends({\n \"aria-hidden\": true\n }, iconProps, {\n ref: forwardedRef\n }), children || '▼');\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$99b400cabb58c515, {\n displayName: $cc7e05a45900e73f$var$ICON_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectPortal\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$PORTAL_NAME = 'SelectPortal';\nconst $cc7e05a45900e73f$export$b2af6c9944296213 = (props)=>{\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Portal, $01b9c$babelruntimehelpersesmextends({\n asChild: true\n }, props));\n};\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$b2af6c9944296213, {\n displayName: $cc7e05a45900e73f$var$PORTAL_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectContent\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$CONTENT_NAME = 'SelectContent';\nconst $cc7e05a45900e73f$export$c973a4b3cb86a03d = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = $01b9c$useState(); // setting the fragment in `useLayoutEffect` as `DocumentFragment` doesn't exist on the server\n $01b9c$useLayoutEffect(()=>{\n setFragment(new DocumentFragment());\n }, []);\n if (!context.open) {\n const frag = fragment;\n return frag ? /*#__PURE__*/ $01b9c$createPortal(/*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectContentProvider, {\n scope: props.__scopeSelect\n }, /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$Collection.Slot, {\n scope: props.__scopeSelect\n }, /*#__PURE__*/ $01b9c$createElement(\"div\", null, props.children))), frag) : null;\n }\n return /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectContentImpl, $01b9c$babelruntimehelpersesmextends({}, props, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$c973a4b3cb86a03d, {\n displayName: $cc7e05a45900e73f$var$CONTENT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectContentImpl\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$CONTENT_MARGIN = 10;\nconst [$cc7e05a45900e73f$var$SelectContentProvider, $cc7e05a45900e73f$var$useSelectContentContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$CONTENT_NAME);\nconst $cc7e05a45900e73f$var$CONTENT_IMPL_NAME = 'SelectContentImpl';\nconst $cc7e05a45900e73f$var$SelectContentImpl = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , position: position = 'item-aligned' , onCloseAutoFocus: onCloseAutoFocus , onEscapeKeyDown: onEscapeKeyDown , onPointerDownOutside: onPointerDownOutside , side: //\n // PopperContent props\n side , sideOffset: sideOffset , align: align , alignOffset: alignOffset , arrowPadding: arrowPadding , collisionBoundary: collisionBoundary , collisionPadding: collisionPadding , sticky: sticky , hideWhenDetached: hideWhenDetached , avoidCollisions: avoidCollisions , //\n ...contentProps } = props;\n const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$CONTENT_NAME, __scopeSelect);\n const [content, setContent] = $01b9c$useState(null);\n const [viewport, setViewport] = $01b9c$useState(null);\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, (node)=>setContent(node)\n );\n const [selectedItem, setSelectedItem] = $01b9c$useState(null);\n const [selectedItemText, setSelectedItemText] = $01b9c$useState(null);\n const getItems = $cc7e05a45900e73f$var$useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = $01b9c$useState(false);\n const firstValidItemFoundRef = $01b9c$useRef(false); // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n $01b9c$useEffect(()=>{\n if (content) return $01b9c$hideOthers(content);\n }, [\n content\n ]); // Make sure the whole tree has focus guards as our `Select` may be\n // the last element in the DOM (because of the `Portal`)\n $01b9c$useFocusGuards();\n const focusFirst = $01b9c$useCallback((candidates)=>{\n const [firstItem, ...restItems] = getItems().map((item)=>item.ref.current\n );\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\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 === null || candidate === void 0 || candidate.scrollIntoView({\n block: 'nearest'\n }); // viewport might have padding so scroll to its edges when focusing first/last items.\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate === null || candidate === void 0 || candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n }, [\n getItems,\n viewport\n ]);\n const focusSelectedItem = $01b9c$useCallback(()=>focusFirst([\n selectedItem,\n content\n ])\n , [\n focusFirst,\n selectedItem,\n content\n ]); // Since this is not dependent on layout, we want to ensure this runs at the same time as\n // other effects across components. Hence why we don't call `focusSelectedItem` inside `position`.\n $01b9c$useEffect(()=>{\n if (isPositioned) focusSelectedItem();\n }, [\n isPositioned,\n focusSelectedItem\n ]); // prevent selecting items on `pointerup` in some cases after opening from `pointerdown`\n // and close on `pointerup` outside.\n const { onOpenChange: onOpenChange , triggerPointerDownPosRef: triggerPointerDownPosRef } = context;\n $01b9c$useEffect(()=>{\n if (content) {\n let pointerMoveDelta = {\n x: 0,\n y: 0\n };\n const handlePointerMove = (event)=>{\n var _triggerPointerDownPo, _triggerPointerDownPo2, _triggerPointerDownPo3, _triggerPointerDownPo4;\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - ((_triggerPointerDownPo = (_triggerPointerDownPo2 = triggerPointerDownPosRef.current) === null || _triggerPointerDownPo2 === void 0 ? void 0 : _triggerPointerDownPo2.x) !== null && _triggerPointerDownPo !== void 0 ? _triggerPointerDownPo : 0)),\n y: Math.abs(Math.round(event.pageY) - ((_triggerPointerDownPo3 = (_triggerPointerDownPo4 = triggerPointerDownPosRef.current) === null || _triggerPointerDownPo4 === void 0 ? void 0 : _triggerPointerDownPo4.y) !== null && _triggerPointerDownPo3 !== void 0 ? _triggerPointerDownPo3 : 0))\n };\n };\n const handlePointerUp = (event)=>{\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) event.preventDefault();\n else // otherwise, if the event was outside the content, close.\n if (!content.contains(event.target)) onOpenChange(false);\n document.removeEventListener('pointermove', handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener('pointermove', handlePointerMove);\n document.addEventListener('pointerup', handlePointerUp, {\n capture: true,\n once: true\n });\n }\n return ()=>{\n document.removeEventListener('pointermove', handlePointerMove);\n document.removeEventListener('pointerup', handlePointerUp, {\n capture: true\n });\n };\n }\n }, [\n content,\n onOpenChange,\n triggerPointerDownPosRef\n ]);\n $01b9c$useEffect(()=>{\n const close = ()=>onOpenChange(false)\n ;\n window.addEventListener('blur', close);\n window.addEventListener('resize', close);\n return ()=>{\n window.removeEventListener('blur', close);\n window.removeEventListener('resize', close);\n };\n }, [\n onOpenChange\n ]);\n const [searchRef, handleTypeaheadSearch] = $cc7e05a45900e73f$var$useTypeaheadSearch((search)=>{\n const enabledItems = getItems().filter((item)=>!item.disabled\n );\n const currentItem = enabledItems.find((item)=>item.ref.current === document.activeElement\n );\n const nextItem = $cc7e05a45900e73f$var$findNextItem(enabledItems, search, currentItem);\n if (nextItem) /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */ setTimeout(()=>nextItem.ref.current.focus()\n );\n });\n const itemRefCallback = $01b9c$useCallback((node, value, disabled)=>{\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== undefined && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n }, [\n context.value\n ]);\n const handleItemLeave = $01b9c$useCallback(()=>content === null || content === void 0 ? void 0 : content.focus()\n , [\n content\n ]);\n const itemTextRefCallback = $01b9c$useCallback((node, value, disabled)=>{\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== undefined && context.value === value;\n if (isSelectedItem || isFirstValidItem) setSelectedItemText(node);\n }, [\n context.value\n ]);\n const SelectPosition = position === 'popper' ? $cc7e05a45900e73f$var$SelectPopperPosition : $cc7e05a45900e73f$var$SelectItemAlignedPosition; // Silently ignore props that are not supported by `SelectItemAlignedPosition`\n const popperContentProps = SelectPosition === $cc7e05a45900e73f$var$SelectPopperPosition ? {\n side: side,\n sideOffset: sideOffset,\n align: align,\n alignOffset: alignOffset,\n arrowPadding: arrowPadding,\n collisionBoundary: collisionBoundary,\n collisionPadding: collisionPadding,\n sticky: sticky,\n hideWhenDetached: hideWhenDetached,\n avoidCollisions: avoidCollisions\n } : {};\n return /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectContentProvider, {\n scope: __scopeSelect,\n content: content,\n viewport: viewport,\n onViewportChange: setViewport,\n itemRefCallback: itemRefCallback,\n selectedItem: selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback: itemTextRefCallback,\n focusSelectedItem: focusSelectedItem,\n selectedItemText: selectedItemText,\n position: position,\n isPositioned: isPositioned,\n searchRef: searchRef\n }, /*#__PURE__*/ $01b9c$createElement($01b9c$RemoveScroll, {\n as: $01b9c$Slot,\n allowPinchZoom: true\n }, /*#__PURE__*/ $01b9c$createElement($01b9c$FocusScope, {\n asChild: true // we make sure we're not trapping once it's been closed\n ,\n trapped: context.open,\n onMountAutoFocus: (event)=>{\n // we prevent open autofocus because we manually focus the selected item\n event.preventDefault();\n },\n onUnmountAutoFocus: $01b9c$composeEventHandlers(onCloseAutoFocus, (event)=>{\n var _context$trigger;\n (_context$trigger = context.trigger) === null || _context$trigger === void 0 || _context$trigger.focus({\n preventScroll: true\n });\n event.preventDefault();\n })\n }, /*#__PURE__*/ $01b9c$createElement($01b9c$DismissableLayer, {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown: onEscapeKeyDown,\n onPointerDownOutside: onPointerDownOutside // When focus is trapped, a focusout event may still happen.\n ,\n onFocusOutside: (event)=>event.preventDefault()\n ,\n onDismiss: ()=>context.onOpenChange(false)\n }, /*#__PURE__*/ $01b9c$createElement(SelectPosition, $01b9c$babelruntimehelpersesmextends({\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? 'open' : 'closed',\n dir: context.dir,\n onContextMenu: (event)=>event.preventDefault()\n }, contentProps, popperContentProps, {\n onPlaced: ()=>setIsPositioned(true)\n ,\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: 'flex',\n flexDirection: 'column',\n // reset the outline by default as the content MAY get focused\n outline: 'none',\n ...contentProps.style\n },\n onKeyDown: $01b9c$composeEventHandlers(contentProps.onKeyDown, (event)=>{\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey; // select should not be navigated using tab key so we prevent it\n if (event.key === 'Tab') event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End'\n ].includes(event.key)) {\n const items = getItems().filter((item)=>!item.disabled\n );\n let candidateNodes = items.map((item)=>item.ref.current\n );\n if ([\n 'ArrowUp',\n 'End'\n ].includes(event.key)) candidateNodes = candidateNodes.slice().reverse();\n if ([\n 'ArrowUp',\n 'ArrowDown'\n ].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */ setTimeout(()=>focusFirst(candidateNodes)\n );\n event.preventDefault();\n }\n })\n }))))));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$var$SelectContentImpl, {\n displayName: $cc7e05a45900e73f$var$CONTENT_IMPL_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectItemAlignedPosition\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$ITEM_ALIGNED_POSITION_NAME = 'SelectItemAlignedPosition';\nconst $cc7e05a45900e73f$var$SelectItemAlignedPosition = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , onPlaced: onPlaced , ...popperProps } = props;\n const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$CONTENT_NAME, __scopeSelect);\n const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = $01b9c$useState(null);\n const [content, setContent] = $01b9c$useState(null);\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, (node)=>setContent(node)\n );\n const getItems = $cc7e05a45900e73f$var$useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = $01b9c$useRef(false);\n const shouldRepositionRef = $01b9c$useRef(true);\n const { viewport: viewport , selectedItem: selectedItem , selectedItemText: selectedItemText , focusSelectedItem: focusSelectedItem } = contentContext;\n const position = $01b9c$useCallback(()=>{\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect(); // -----------------------------------------------------------------------------------------\n // Horizontal positioning\n // -----------------------------------------------------------------------------------------\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== 'rtl') {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - $cc7e05a45900e73f$var$CONTENT_MARGIN;\n const clampedLeft = $01b9c$clamp(left, [\n $cc7e05a45900e73f$var$CONTENT_MARGIN,\n rightEdge - contentWidth\n ]);\n contentWrapper.style.minWidth = minContentWidth + 'px';\n contentWrapper.style.left = clampedLeft + 'px';\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - $cc7e05a45900e73f$var$CONTENT_MARGIN;\n const clampedRight = $01b9c$clamp(right, [\n $cc7e05a45900e73f$var$CONTENT_MARGIN,\n leftEdge - contentWidth\n ]);\n contentWrapper.style.minWidth = minContentWidth + 'px';\n contentWrapper.style.right = clampedRight + 'px';\n } // -----------------------------------------------------------------------------------------\n // Vertical positioning\n // -----------------------------------------------------------------------------------------\n const items = getItems();\n const availableHeight = window.innerHeight - $cc7e05a45900e73f$var$CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth; // prettier-ignore\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - $cc7e05a45900e73f$var$CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(triggerMiddleToBottomEdge, selectedItemHalfHeight + (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth);\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + 'px';\n } else {\n const isFirstItem = selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(topEdgeToTriggerMiddle, contentBorderTopWidth + viewport.offsetTop + (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight);\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + 'px';\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${$cc7e05a45900e73f$var$CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + 'px';\n contentWrapper.style.maxHeight = availableHeight + 'px'; // -----------------------------------------------------------------------------------------\n onPlaced === null || onPlaced === void 0 || onPlaced(); // we don't want the initial scroll position adjustment to trigger \"expand on scroll\"\n // so we explicitly turn it on only after they've registered.\n requestAnimationFrame(()=>shouldExpandOnScrollRef.current = true\n );\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n $01b9c$useLayoutEffect(()=>position()\n , [\n position\n ]); // copy z-index from content to wrapper\n const [contentZIndex, setContentZIndex] = $01b9c$useState();\n $01b9c$useLayoutEffect(()=>{\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [\n content\n ]); // When the viewport becomes scrollable at the top, the scroll up button will mount.\n // Because it is part of the normal flow, it will push down the viewport, thus throwing our\n // trigger => selectedItem alignment off by the amount the viewport was pushed down.\n // We wait for this to happen and then re-run the positining logic one more time to account for it.\n const handleScrollButtonChange = $01b9c$useCallback((node)=>{\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem === null || focusSelectedItem === void 0 || focusSelectedItem();\n shouldRepositionRef.current = false;\n }\n }, [\n position,\n focusSelectedItem\n ]);\n return /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectViewportProvider, {\n scope: __scopeSelect,\n contentWrapper: contentWrapper,\n shouldExpandOnScrollRef: shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange\n }, /*#__PURE__*/ $01b9c$createElement(\"div\", {\n ref: setContentWrapper,\n style: {\n display: 'flex',\n flexDirection: 'column',\n position: 'fixed',\n zIndex: contentZIndex\n }\n }, /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({}, popperProps, {\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: 'border-box',\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: '100%',\n ...popperProps.style\n }\n }))));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$var$SelectItemAlignedPosition, {\n displayName: $cc7e05a45900e73f$var$ITEM_ALIGNED_POSITION_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectPopperPosition\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$POPPER_POSITION_NAME = 'SelectPopperPosition';\nconst $cc7e05a45900e73f$var$SelectPopperPosition = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , align: align = 'start' , collisionPadding: collisionPadding = $cc7e05a45900e73f$var$CONTENT_MARGIN , ...popperProps } = props;\n const popperScope = $cc7e05a45900e73f$var$usePopperScope(__scopeSelect);\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Content, $01b9c$babelruntimehelpersesmextends({}, popperScope, popperProps, {\n ref: forwardedRef,\n align: align,\n collisionPadding: collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: 'border-box',\n ...popperProps.style,\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});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$var$SelectPopperPosition, {\n displayName: $cc7e05a45900e73f$var$POPPER_POSITION_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectViewport\n * -----------------------------------------------------------------------------------------------*/ const [$cc7e05a45900e73f$var$SelectViewportProvider, $cc7e05a45900e73f$var$useSelectViewportContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$CONTENT_NAME, {});\nconst $cc7e05a45900e73f$var$VIEWPORT_NAME = 'SelectViewport';\nconst $cc7e05a45900e73f$export$9ed6e7b40248d36d = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , ...viewportProps } = props;\n const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$VIEWPORT_NAME, __scopeSelect);\n const viewportContext = $cc7e05a45900e73f$var$useSelectViewportContext($cc7e05a45900e73f$var$VIEWPORT_NAME, __scopeSelect);\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = $01b9c$useRef(0);\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Fragment, null, /*#__PURE__*/ $01b9c$createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n }\n }), /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$Collection.Slot, {\n scope: __scopeSelect\n }, /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\"\n }, viewportProps, {\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: 'relative',\n flex: 1,\n overflow: 'auto',\n ...viewportProps.style\n },\n onScroll: $01b9c$composeEventHandlers(viewportProps.onScroll, (event)=>{\n const viewport = event.currentTarget;\n const { contentWrapper: contentWrapper , shouldExpandOnScrollRef: shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef !== null && shouldExpandOnScrollRef !== void 0 && shouldExpandOnScrollRef.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - $cc7e05a45900e73f$var$CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + 'px';\n if (contentWrapper.style.bottom === '0px') {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0; // ensure the content stays pinned to the bottom\n contentWrapper.style.justifyContent = 'flex-end';\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n }))));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$9ed6e7b40248d36d, {\n displayName: $cc7e05a45900e73f$var$VIEWPORT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectGroup\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$GROUP_NAME = 'SelectGroup';\nconst [$cc7e05a45900e73f$var$SelectGroupContextProvider, $cc7e05a45900e73f$var$useSelectGroupContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$GROUP_NAME);\nconst $cc7e05a45900e73f$export$ee25a334c55de1f4 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , ...groupProps } = props;\n const groupId = $01b9c$useId();\n return /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectGroupContextProvider, {\n scope: __scopeSelect,\n id: groupId\n }, /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n role: \"group\",\n \"aria-labelledby\": groupId\n }, groupProps, {\n ref: forwardedRef\n })));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$ee25a334c55de1f4, {\n displayName: $cc7e05a45900e73f$var$GROUP_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectLabel\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$LABEL_NAME = 'SelectLabel';\nconst $cc7e05a45900e73f$export$f67338d29bd972f8 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , ...labelProps } = props;\n const groupContext = $cc7e05a45900e73f$var$useSelectGroupContext($cc7e05a45900e73f$var$LABEL_NAME, __scopeSelect);\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n id: groupContext.id\n }, labelProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$f67338d29bd972f8, {\n displayName: $cc7e05a45900e73f$var$LABEL_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectItem\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$ITEM_NAME = 'SelectItem';\nconst [$cc7e05a45900e73f$var$SelectItemContextProvider, $cc7e05a45900e73f$var$useSelectItemContext] = $cc7e05a45900e73f$var$createSelectContext($cc7e05a45900e73f$var$ITEM_NAME);\nconst $cc7e05a45900e73f$export$13ef48a934230896 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , value: value , disabled: disabled = false , textValue: textValueProp , ...itemProps } = props;\n const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$ITEM_NAME, __scopeSelect);\n const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = $01b9c$useState(textValueProp !== null && textValueProp !== void 0 ? textValueProp : '');\n const [isFocused, setIsFocused] = $01b9c$useState(false);\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, (node)=>{\n var _contentContext$itemR;\n return (_contentContext$itemR = contentContext.itemRefCallback) === null || _contentContext$itemR === void 0 ? void 0 : _contentContext$itemR.call(contentContext, node, value, disabled);\n });\n const textId = $01b9c$useId();\n const handleSelect = ()=>{\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === '') throw new Error('A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.');\n return /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectItemContextProvider, {\n scope: __scopeSelect,\n value: value,\n disabled: disabled,\n textId: textId,\n isSelected: isSelected,\n onItemTextChange: $01b9c$useCallback((node)=>{\n setTextValue((prevTextValue)=>{\n var _node$textContent;\n return prevTextValue || ((_node$textContent = node === null || node === void 0 ? void 0 : node.textContent) !== null && _node$textContent !== void 0 ? _node$textContent : '').trim();\n });\n }, [])\n }, /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$Collection.ItemSlot, {\n scope: __scopeSelect,\n value: value,\n disabled: disabled,\n textValue: textValue\n }, /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? '' : undefined // `isFocused` caveat fixes stuttering in VoiceOver\n ,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? 'checked' : 'unchecked',\n \"aria-disabled\": disabled || undefined,\n \"data-disabled\": disabled ? '' : undefined,\n tabIndex: disabled ? undefined : -1\n }, itemProps, {\n ref: composedRefs,\n onFocus: $01b9c$composeEventHandlers(itemProps.onFocus, ()=>setIsFocused(true)\n ),\n onBlur: $01b9c$composeEventHandlers(itemProps.onBlur, ()=>setIsFocused(false)\n ),\n onPointerUp: $01b9c$composeEventHandlers(itemProps.onPointerUp, handleSelect),\n onPointerMove: $01b9c$composeEventHandlers(itemProps.onPointerMove, (event)=>{\n if (disabled) {\n var _contentContext$onIte;\n (_contentContext$onIte = contentContext.onItemLeave) === null || _contentContext$onIte === void 0 || _contentContext$onIte.call(contentContext);\n } else // 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.focus({\n preventScroll: true\n });\n }),\n onPointerLeave: $01b9c$composeEventHandlers(itemProps.onPointerLeave, (event)=>{\n if (event.currentTarget === document.activeElement) {\n var _contentContext$onIte2;\n (_contentContext$onIte2 = contentContext.onItemLeave) === null || _contentContext$onIte2 === void 0 || _contentContext$onIte2.call(contentContext);\n }\n }),\n onKeyDown: $01b9c$composeEventHandlers(itemProps.onKeyDown, (event)=>{\n var _contentContext$searc;\n const isTypingAhead = ((_contentContext$searc = contentContext.searchRef) === null || _contentContext$searc === void 0 ? void 0 : _contentContext$searc.current) !== '';\n if (isTypingAhead && event.key === ' ') return;\n if ($cc7e05a45900e73f$var$SELECTION_KEYS.includes(event.key)) handleSelect(); // prevent page scroll if using the space key to select an item\n if (event.key === ' ') event.preventDefault();\n })\n }))));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$13ef48a934230896, {\n displayName: $cc7e05a45900e73f$var$ITEM_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectItemText\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$ITEM_TEXT_NAME = 'SelectItemText';\nconst $cc7e05a45900e73f$export$3572fb0fb821ff49 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n // We ignore `className` and `style` as this part shouldn't be styled.\n const { __scopeSelect: __scopeSelect , className: className , style: style , ...itemTextProps } = props;\n const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = $cc7e05a45900e73f$var$useSelectItemContext($cc7e05a45900e73f$var$ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = $cc7e05a45900e73f$var$useSelectNativeOptionsContext($cc7e05a45900e73f$var$ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = $01b9c$useState(null);\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, (node)=>setItemTextNode(node)\n , itemContext.onItemTextChange, (node)=>{\n var _contentContext$itemT;\n return (_contentContext$itemT = contentContext.itemTextRefCallback) === null || _contentContext$itemT === void 0 ? void 0 : _contentContext$itemT.call(contentContext, node, itemContext.value, itemContext.disabled);\n });\n const textContent = itemTextNode === null || itemTextNode === void 0 ? void 0 : itemTextNode.textContent;\n const nativeOption = $01b9c$useMemo(()=>/*#__PURE__*/ $01b9c$createElement(\"option\", {\n key: itemContext.value,\n value: itemContext.value,\n disabled: itemContext.disabled\n }, textContent)\n , [\n itemContext.disabled,\n itemContext.value,\n textContent\n ]);\n const { onNativeOptionAdd: onNativeOptionAdd , onNativeOptionRemove: onNativeOptionRemove } = nativeOptionsContext;\n $01b9c$useLayoutEffect(()=>{\n onNativeOptionAdd(nativeOption);\n return ()=>onNativeOptionRemove(nativeOption)\n ;\n }, [\n onNativeOptionAdd,\n onNativeOptionRemove,\n nativeOption\n ]);\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Fragment, null, /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.span, $01b9c$babelruntimehelpersesmextends({\n id: itemContext.textId\n }, itemTextProps, {\n ref: composedRefs\n })), itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? /*#__PURE__*/ $01b9c$createPortal(itemTextProps.children, context.valueNode) : null);\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$3572fb0fb821ff49, {\n displayName: $cc7e05a45900e73f$var$ITEM_TEXT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectItemIndicator\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$ITEM_INDICATOR_NAME = 'SelectItemIndicator';\nconst $cc7e05a45900e73f$export$6b9198de19accfe6 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , ...itemIndicatorProps } = props;\n const itemContext = $cc7e05a45900e73f$var$useSelectItemContext($cc7e05a45900e73f$var$ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.span, $01b9c$babelruntimehelpersesmextends({\n \"aria-hidden\": true\n }, itemIndicatorProps, {\n ref: forwardedRef\n })) : null;\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$6b9198de19accfe6, {\n displayName: $cc7e05a45900e73f$var$ITEM_INDICATOR_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectScrollUpButton\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$SCROLL_UP_BUTTON_NAME = 'SelectScrollUpButton';\nconst $cc7e05a45900e73f$export$d8117927658af6d7 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = $cc7e05a45900e73f$var$useSelectViewportContext($cc7e05a45900e73f$var$SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp1, setCanScrollUp] = $01b9c$useState(false);\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n $01b9c$useLayoutEffect(()=>{\n if (contentContext.viewport && contentContext.isPositioned) {\n const viewport = contentContext.viewport;\n function handleScroll() {\n const canScrollUp = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp);\n }\n handleScroll();\n viewport.addEventListener('scroll', handleScroll);\n return ()=>viewport.removeEventListener('scroll', handleScroll)\n ;\n }\n }, [\n contentContext.viewport,\n contentContext.isPositioned\n ]);\n return canScrollUp1 ? /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectScrollButtonImpl, $01b9c$babelruntimehelpersesmextends({}, props, {\n ref: composedRefs,\n onAutoScroll: ()=>{\n const { viewport: viewport , selectedItem: selectedItem } = contentContext;\n if (viewport && selectedItem) viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n })) : null;\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$d8117927658af6d7, {\n displayName: $cc7e05a45900e73f$var$SCROLL_UP_BUTTON_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectScrollDownButton\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$SCROLL_DOWN_BUTTON_NAME = 'SelectScrollDownButton';\nconst $cc7e05a45900e73f$export$ff951e476c12189 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = $cc7e05a45900e73f$var$useSelectViewportContext($cc7e05a45900e73f$var$SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown1, setCanScrollDown] = $01b9c$useState(false);\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n $01b9c$useLayoutEffect(()=>{\n if (contentContext.viewport && contentContext.isPositioned) {\n const viewport = contentContext.viewport;\n function handleScroll() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight; // we use Math.ceil here because if the UI is zoomed-in\n // `scrollTop` is not always reported as an integer\n const canScrollDown = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown);\n }\n handleScroll();\n viewport.addEventListener('scroll', handleScroll);\n return ()=>viewport.removeEventListener('scroll', handleScroll)\n ;\n }\n }, [\n contentContext.viewport,\n contentContext.isPositioned\n ]);\n return canScrollDown1 ? /*#__PURE__*/ $01b9c$createElement($cc7e05a45900e73f$var$SelectScrollButtonImpl, $01b9c$babelruntimehelpersesmextends({}, props, {\n ref: composedRefs,\n onAutoScroll: ()=>{\n const { viewport: viewport , selectedItem: selectedItem } = contentContext;\n if (viewport && selectedItem) viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n })) : null;\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$ff951e476c12189, {\n displayName: $cc7e05a45900e73f$var$SCROLL_DOWN_BUTTON_NAME\n});\nconst $cc7e05a45900e73f$var$SelectScrollButtonImpl = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , onAutoScroll: onAutoScroll , ...scrollIndicatorProps } = props;\n const contentContext = $cc7e05a45900e73f$var$useSelectContentContext('SelectScrollButton', __scopeSelect);\n const autoScrollTimerRef = $01b9c$useRef(null);\n const getItems = $cc7e05a45900e73f$var$useCollection(__scopeSelect);\n const clearAutoScrollTimer = $01b9c$useCallback(()=>{\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n $01b9c$useEffect(()=>{\n return ()=>clearAutoScrollTimer()\n ;\n }, [\n clearAutoScrollTimer\n ]); // When the viewport becomes scrollable on either side, the relevant scroll button will mount.\n // Because it is part of the normal flow, it will push down (top button) or shrink (bottom button)\n // the viewport, potentially causing the active item to now be partially out of view.\n // We re-run the `scrollIntoView` logic to make sure it stays within the viewport.\n $01b9c$useLayoutEffect(()=>{\n var _activeItem$ref$curre;\n const activeItem = getItems().find((item)=>item.ref.current === document.activeElement\n );\n activeItem === null || activeItem === void 0 || (_activeItem$ref$curre = activeItem.ref.current) === null || _activeItem$ref$curre === void 0 || _activeItem$ref$curre.scrollIntoView({\n block: 'nearest'\n });\n }, [\n getItems\n ]);\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n \"aria-hidden\": true\n }, scrollIndicatorProps, {\n ref: forwardedRef,\n style: {\n flexShrink: 0,\n ...scrollIndicatorProps.style\n },\n onPointerDown: $01b9c$composeEventHandlers(scrollIndicatorProps.onPointerDown, ()=>{\n if (autoScrollTimerRef.current === null) autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }),\n onPointerMove: $01b9c$composeEventHandlers(scrollIndicatorProps.onPointerMove, ()=>{\n var _contentContext$onIte3;\n (_contentContext$onIte3 = contentContext.onItemLeave) === null || _contentContext$onIte3 === void 0 || _contentContext$onIte3.call(contentContext);\n if (autoScrollTimerRef.current === null) autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }),\n onPointerLeave: $01b9c$composeEventHandlers(scrollIndicatorProps.onPointerLeave, ()=>{\n clearAutoScrollTimer();\n })\n }));\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectSeparator\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$SEPARATOR_NAME = 'SelectSeparator';\nconst $cc7e05a45900e73f$export$eba4b1df07cb1d3 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , ...separatorProps } = props;\n return /*#__PURE__*/ $01b9c$createElement($01b9c$Primitive.div, $01b9c$babelruntimehelpersesmextends({\n \"aria-hidden\": true\n }, separatorProps, {\n ref: forwardedRef\n }));\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$eba4b1df07cb1d3, {\n displayName: $cc7e05a45900e73f$var$SEPARATOR_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * SelectArrow\n * -----------------------------------------------------------------------------------------------*/ const $cc7e05a45900e73f$var$ARROW_NAME = 'SelectArrow';\nconst $cc7e05a45900e73f$export$314f4cb8f8099628 = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { __scopeSelect: __scopeSelect , ...arrowProps } = props;\n const popperScope = $cc7e05a45900e73f$var$usePopperScope(__scopeSelect);\n const context = $cc7e05a45900e73f$var$useSelectContext($cc7e05a45900e73f$var$ARROW_NAME, __scopeSelect);\n const contentContext = $cc7e05a45900e73f$var$useSelectContentContext($cc7e05a45900e73f$var$ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === 'popper' ? /*#__PURE__*/ $01b9c$createElement($01b9c$Arrow, $01b9c$babelruntimehelpersesmextends({}, popperScope, arrowProps, {\n ref: forwardedRef\n })) : null;\n});\n/*#__PURE__*/ Object.assign($cc7e05a45900e73f$export$314f4cb8f8099628, {\n displayName: $cc7e05a45900e73f$var$ARROW_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/ function $cc7e05a45900e73f$var$shouldShowPlaceholder(value) {\n return value === '' || value === undefined;\n}\nconst $cc7e05a45900e73f$var$BubbleSelect = /*#__PURE__*/ $01b9c$forwardRef((props, forwardedRef)=>{\n const { value: value , ...selectProps } = props;\n const ref = $01b9c$useRef(null);\n const composedRefs = $01b9c$useComposedRefs(forwardedRef, ref);\n const prevValue = $01b9c$usePrevious(value); // Bubble value change to parents (e.g form change event)\n $01b9c$useEffect(()=>{\n const select = ref.current;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(selectProto, 'value');\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event('change', {\n bubbles: true\n });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [\n prevValue,\n value\n ]);\n /**\n * We purposefully use a `select` here to support form autofill as much\n * as possible.\n *\n * We purposefully do not add the `value` attribute here to allow the value\n * to be set programatically and bubble to any parent form `onChange` event.\n * Adding the `value` will cause React to consider the programatic\n * dispatch a duplicate and it will get swallowed.\n *\n * We use `VisuallyHidden` rather than `display: \"none\"` because Safari autofill\n * won't work otherwise.\n */ return /*#__PURE__*/ $01b9c$createElement($01b9c$VisuallyHidden, {\n asChild: true\n }, /*#__PURE__*/ $01b9c$createElement(\"select\", $01b9c$babelruntimehelpersesmextends({}, selectProps, {\n ref: composedRefs,\n defaultValue: value\n })));\n});\n$cc7e05a45900e73f$var$BubbleSelect.displayName = 'BubbleSelect';\nfunction $cc7e05a45900e73f$var$useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = $01b9c$useCallbackRef(onSearchChange);\n const searchRef = $01b9c$useRef('');\n const timerRef = $01b9c$useRef(0);\n const handleTypeaheadSearch = $01b9c$useCallback((key)=>{\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current); // Reset `searchRef` 1 second after it was last updated\n if (value !== '') timerRef.current = window.setTimeout(()=>updateSearch('')\n , 1000);\n })(search);\n }, [\n handleSearchChange\n ]);\n const resetTypeahead = $01b9c$useCallback(()=>{\n searchRef.current = '';\n window.clearTimeout(timerRef.current);\n }, []);\n $01b9c$useEffect(()=>{\n return ()=>window.clearTimeout(timerRef.current)\n ;\n }, []);\n return [\n searchRef,\n handleTypeaheadSearch,\n resetTypeahead\n ];\n}\n/**\n * This is the \"meat\" of the typeahead matching logic. It takes in a list of items,\n * the search and the current item, and returns the next item (or `undefined`).\n *\n * We normalize the search because if a user has repeatedly pressed a character,\n * we want the exact same behavior as if we only had that one character\n * (ie. cycle through items starting with that character)\n *\n * We also reorder the items by wrapping the array around the current item.\n * This is so we always look forward from the current item, and picking the first\n * item will always be the correct one.\n *\n * Finally, if the normalized search is exactly one character, we exclude the\n * current item from the values because otherwise it would be the first to match always\n * and focus would never move. This is as opposed to the regular case, where we\n * don't want focus to move if the current item still matches.\n */ function $cc7e05a45900e73f$var$findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char)=>char === search[0]\n );\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = $cc7e05a45900e73f$var$wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v)=>v !== currentItem\n );\n const nextItem = wrappedItems.find((item)=>item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : undefined;\n}\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */ function $cc7e05a45900e73f$var$wrapArray(array, startIndex) {\n return array.map((_, index)=>array[(startIndex + index) % array.length]\n );\n}\nconst $cc7e05a45900e73f$export$be92b6f5f03c0fe9 = $cc7e05a45900e73f$export$ef9b1a59e592288f;\nconst $cc7e05a45900e73f$export$41fb9f06171c75f4 = $cc7e05a45900e73f$export$3ac1e88a1c0b9f1;\nconst $cc7e05a45900e73f$export$4c8d1a57a761ef94 = $cc7e05a45900e73f$export$e288731fd71264f0;\nconst $cc7e05a45900e73f$export$f04a61298a47a40f = $cc7e05a45900e73f$export$99b400cabb58c515;\nconst $cc7e05a45900e73f$export$602eac185826482c = $cc7e05a45900e73f$export$b2af6c9944296213;\nconst $cc7e05a45900e73f$export$7c6e2c02157bb7d2 = $cc7e05a45900e73f$export$c973a4b3cb86a03d;\nconst $cc7e05a45900e73f$export$d5c6c08dc2d3ca7 = $cc7e05a45900e73f$export$9ed6e7b40248d36d;\nconst $cc7e05a45900e73f$export$eb2fcfdbd7ba97d4 = $cc7e05a45900e73f$export$ee25a334c55de1f4;\nconst $cc7e05a45900e73f$export$b04be29aa201d4f5 = $cc7e05a45900e73f$export$f67338d29bd972f8;\nconst $cc7e05a45900e73f$export$6d08773d2e66f8f2 = $cc7e05a45900e73f$export$13ef48a934230896;\nconst $cc7e05a45900e73f$export$d6e5bf9c43ea9319 = $cc7e05a45900e73f$export$3572fb0fb821ff49;\nconst $cc7e05a45900e73f$export$c3468e2714d175fa = $cc7e05a45900e73f$export$6b9198de19accfe6;\nconst $cc7e05a45900e73f$export$2f60d3ec9ad468f2 = $cc7e05a45900e73f$export$d8117927658af6d7;\nconst $cc7e05a45900e73f$export$bf1aedc3039c8d63 = $cc7e05a45900e73f$export$ff951e476c12189;\nconst $cc7e05a45900e73f$export$1ff3c3f08ae963c0 = $cc7e05a45900e73f$export$eba4b1df07cb1d3;\nconst $cc7e05a45900e73f$export$21b07c8f274aebd5 = $cc7e05a45900e73f$export$314f4cb8f8099628;\n\n\n\n\nexport {$cc7e05a45900e73f$export$286727a75dc039bd as createSelectScope, $cc7e05a45900e73f$export$ef9b1a59e592288f as Select, $cc7e05a45900e73f$export$3ac1e88a1c0b9f1 as SelectTrigger, $cc7e05a45900e73f$export$e288731fd71264f0 as SelectValue, $cc7e05a45900e73f$export$99b400cabb58c515 as SelectIcon, $cc7e05a45900e73f$export$b2af6c9944296213 as SelectPortal, $cc7e05a45900e73f$export$c973a4b3cb86a03d as SelectContent, $cc7e05a45900e73f$export$9ed6e7b40248d36d as SelectViewport, $cc7e05a45900e73f$export$ee25a334c55de1f4 as SelectGroup, $cc7e05a45900e73f$export$f67338d29bd972f8 as SelectLabel, $cc7e05a45900e73f$export$13ef48a934230896 as SelectItem, $cc7e05a45900e73f$export$3572fb0fb821ff49 as SelectItemText, $cc7e05a45900e73f$export$6b9198de19accfe6 as SelectItemIndicator, $cc7e05a45900e73f$export$d8117927658af6d7 as SelectScrollUpButton, $cc7e05a45900e73f$export$ff951e476c12189 as SelectScrollDownButton, $cc7e05a45900e73f$export$eba4b1df07cb1d3 as SelectSeparator, $cc7e05a45900e73f$export$314f4cb8f8099628 as SelectArrow, $cc7e05a45900e73f$export$be92b6f5f03c0fe9 as Root, $cc7e05a45900e73f$export$41fb9f06171c75f4 as Trigger, $cc7e05a45900e73f$export$4c8d1a57a761ef94 as Value, $cc7e05a45900e73f$export$f04a61298a47a40f as Icon, $cc7e05a45900e73f$export$602eac185826482c as Portal, $cc7e05a45900e73f$export$7c6e2c02157bb7d2 as Content, $cc7e05a45900e73f$export$d5c6c08dc2d3ca7 as Viewport, $cc7e05a45900e73f$export$eb2fcfdbd7ba97d4 as Group, $cc7e05a45900e73f$export$b04be29aa201d4f5 as Label, $cc7e05a45900e73f$export$6d08773d2e66f8f2 as Item, $cc7e05a45900e73f$export$d6e5bf9c43ea9319 as ItemText, $cc7e05a45900e73f$export$c3468e2714d175fa as ItemIndicator, $cc7e05a45900e73f$export$2f60d3ec9ad468f2 as ScrollUpButton, $cc7e05a45900e73f$export$bf1aedc3039c8d63 as ScrollDownButton, $cc7e05a45900e73f$export$1ff3c3f08ae963c0 as Separator, $cc7e05a45900e73f$export$21b07c8f274aebd5 as Arrow};\n//# sourceMappingURL=index.mjs.map\n"],"names":["$01b9c$createCollection","$01b9c$createContextScope","$01b9c$createPopperScope","$01b9c$useState","$01b9c$useDirection","$01b9c$useControllableState","$01b9c$useRef","$01b9c$createElement","$01b9c$Root","$01b9c$useId","$01b9c$useCallback","$01b9c$forwardRef","$01b9c$useComposedRefs","$01b9c$Anchor","$01b9c$babelruntimehelpersesmextends","$01b9c$Primitive","$01b9c$composeEventHandlers","$01b9c$useLayoutEffect","$01b9c$Fragment","$01b9c$Portal","$01b9c$createPortal","$01b9c$useEffect","$01b9c$hideOthers","$01b9c$useFocusGuards","$01b9c$RemoveScroll","$01b9c$Slot","$01b9c$FocusScope","$01b9c$DismissableLayer","$01b9c$clamp","$01b9c$Content","$01b9c$useMemo","$01b9c$usePrevious","$01b9c$VisuallyHidden","$01b9c$useCallbackRef"],"mappings":"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"}
@@ -1,90 +1,82 @@
1
- import * as React from 'react';
2
- import { composeRefs } from '../../../../../react-compose-refs/dist/index.mjs.js';
3
- import { jsx } from 'react/jsx-runtime';
1
+ import _extends from '../../../../../../@babel/runtime/helpers/esm/extends.js';
2
+ import { forwardRef, Children, isValidElement, createElement, cloneElement, Fragment } from 'react';
3
+ import { composeRefs as $6ed0406888f73fc4$export$43e446d32b3d21af } from '../../../../../react-compose-refs/dist/index.mjs.js';
4
4
 
5
- // src/slot.tsx
6
- // @__NO_SIDE_EFFECTS__
7
- function createSlot(ownerName) {
8
- const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
9
- const Slot2 = React.forwardRef((props, forwardedRef) => {
10
- const { children, ...slotProps } = props;
11
- const childrenArray = React.Children.toArray(children);
12
- const slottable = childrenArray.find(isSlottable);
5
+ /* -------------------------------------------------------------------------------------------------
6
+ * Slot
7
+ * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$export$8c6ed5c666ac1360 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
8
+ const { children: children , ...slotProps } = props;
9
+ const childrenArray = Children.toArray(children);
10
+ const slottable = childrenArray.find($5e63c961fc1ce211$var$isSlottable);
13
11
  if (slottable) {
14
- const newElement = slottable.props.children;
15
- const newChildren = childrenArray.map((child) => {
16
- if (child === slottable) {
17
- if (React.Children.count(newElement) > 1) return React.Children.only(null);
18
- return React.isValidElement(newElement) ? newElement.props.children : null;
19
- } else {
20
- return child;
21
- }
22
- });
23
- return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });
12
+ // the new element to render is the one passed as a child of `Slottable`
13
+ const newElement = slottable.props.children;
14
+ const newChildren = childrenArray.map((child)=>{
15
+ if (child === slottable) {
16
+ // because the new element will be the one rendered, we are only interested
17
+ // in grabbing its children (`newElement.props.children`)
18
+ if (Children.count(newElement) > 1) return Children.only(null);
19
+ return /*#__PURE__*/ isValidElement(newElement) ? newElement.props.children : null;
20
+ } else return child;
21
+ });
22
+ return /*#__PURE__*/ createElement($5e63c961fc1ce211$var$SlotClone, _extends({}, slotProps, {
23
+ ref: forwardedRef
24
+ }), /*#__PURE__*/ isValidElement(newElement) ? /*#__PURE__*/ cloneElement(newElement, undefined, newChildren) : null);
24
25
  }
25
- return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });
26
- });
27
- Slot2.displayName = `${ownerName}.Slot`;
28
- return Slot2;
26
+ return /*#__PURE__*/ createElement($5e63c961fc1ce211$var$SlotClone, _extends({}, slotProps, {
27
+ ref: forwardedRef
28
+ }), children);
29
+ });
30
+ $5e63c961fc1ce211$export$8c6ed5c666ac1360.displayName = 'Slot';
31
+ /* -------------------------------------------------------------------------------------------------
32
+ * SlotClone
33
+ * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$var$SlotClone = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
34
+ const { children: children , ...slotProps } = props;
35
+ if (/*#__PURE__*/ isValidElement(children)) return /*#__PURE__*/ cloneElement(children, {
36
+ ...$5e63c961fc1ce211$var$mergeProps(slotProps, children.props),
37
+ ref: forwardedRef ? $6ed0406888f73fc4$export$43e446d32b3d21af(forwardedRef, children.ref) : children.ref
38
+ });
39
+ return Children.count(children) > 1 ? Children.only(null) : null;
40
+ });
41
+ $5e63c961fc1ce211$var$SlotClone.displayName = 'SlotClone';
42
+ /* -------------------------------------------------------------------------------------------------
43
+ * Slottable
44
+ * -----------------------------------------------------------------------------------------------*/ const $5e63c961fc1ce211$export$d9f1ccf0bdb05d45 = ({ children: children })=>{
45
+ return /*#__PURE__*/ createElement(Fragment, null, children);
46
+ };
47
+ /* ---------------------------------------------------------------------------------------------- */ function $5e63c961fc1ce211$var$isSlottable(child) {
48
+ return /*#__PURE__*/ isValidElement(child) && child.type === $5e63c961fc1ce211$export$d9f1ccf0bdb05d45;
29
49
  }
30
- // @__NO_SIDE_EFFECTS__
31
- function createSlotClone(ownerName) {
32
- const SlotClone = React.forwardRef((props, forwardedRef) => {
33
- const { children, ...slotProps } = props;
34
- if (React.isValidElement(children)) {
35
- const childrenRef = getElementRef(children);
36
- const props2 = mergeProps(slotProps, children.props);
37
- if (children.type !== React.Fragment) {
38
- props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
39
- }
40
- return React.cloneElement(children, props2);
41
- }
42
- return React.Children.count(children) > 1 ? React.Children.only(null) : null;
43
- });
44
- SlotClone.displayName = `${ownerName}.SlotClone`;
45
- return SlotClone;
46
- }
47
- var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
48
- function isSlottable(child) {
49
- return React.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
50
- }
51
- function mergeProps(slotProps, childProps) {
52
- const overrideProps = { ...childProps };
53
- for (const propName in childProps) {
54
- const slotPropValue = slotProps[propName];
55
- const childPropValue = childProps[propName];
56
- const isHandler = /^on[A-Z]/.test(propName);
57
- if (isHandler) {
58
- if (slotPropValue && childPropValue) {
59
- overrideProps[propName] = (...args) => {
60
- const result = childPropValue(...args);
61
- slotPropValue(...args);
62
- return result;
50
+ function $5e63c961fc1ce211$var$mergeProps(slotProps, childProps) {
51
+ // all child props should override
52
+ const overrideProps = {
53
+ ...childProps
54
+ };
55
+ for(const propName in childProps){
56
+ const slotPropValue = slotProps[propName];
57
+ const childPropValue = childProps[propName];
58
+ const isHandler = /^on[A-Z]/.test(propName);
59
+ if (isHandler) {
60
+ // if the handler exists on both, we compose them
61
+ if (slotPropValue && childPropValue) overrideProps[propName] = (...args)=>{
62
+ childPropValue(...args);
63
+ slotPropValue(...args);
64
+ };
65
+ else if (slotPropValue) overrideProps[propName] = slotPropValue;
66
+ } else if (propName === 'style') overrideProps[propName] = {
67
+ ...slotPropValue,
68
+ ...childPropValue
63
69
  };
64
- } else if (slotPropValue) {
65
- overrideProps[propName] = slotPropValue;
66
- }
67
- } else if (propName === "style") {
68
- overrideProps[propName] = { ...slotPropValue, ...childPropValue };
69
- } else if (propName === "className") {
70
- overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
70
+ else if (propName === 'className') overrideProps[propName] = [
71
+ slotPropValue,
72
+ childPropValue
73
+ ].filter(Boolean).join(' ');
71
74
  }
72
- }
73
- return { ...slotProps, ...overrideProps };
74
- }
75
- function getElementRef(element) {
76
- let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
77
- let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
78
- if (mayWarn) {
79
- return element.ref;
80
- }
81
- getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
82
- mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
83
- if (mayWarn) {
84
- return element.props.ref;
85
- }
86
- return element.props.ref || element.ref;
75
+ return {
76
+ ...slotProps,
77
+ ...overrideProps
78
+ };
87
79
  }
88
80
 
89
- export { createSlot };
81
+ export { $5e63c961fc1ce211$export$8c6ed5c666ac1360 as Slot, $5e63c961fc1ce211$export$d9f1ccf0bdb05d45 as Slottable };
90
82
  //# sourceMappingURL=index.mjs.js.map