@dreamcommerce/aurora 3.0.0-69 → 3.0.0-70

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 (358) hide show
  1. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -53
  2. package/build/cjs/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  3. package/build/cjs/external/react-best-gradient-color-picker/dist/esm/components/Portal.js +2 -2
  4. package/build/cjs/packages/aurora/src/components/control/control.js +1 -1
  5. package/build/cjs/packages/aurora/src/components/modal/components/modal/modal.js +2 -2
  6. package/build/cjs/packages/aurora/src/components/modal/components/modals_wrapper.js +2 -2
  7. package/build/cjs/packages/aurora/src/components/radio_group/components/radio_group_item.js +4 -4
  8. package/build/cjs/packages/aurora/src/components/radio_group/components/radio_group_item.js.map +1 -1
  9. package/build/cjs/packages/aurora/src/components/radio_group/radio_group.js +3 -3
  10. package/build/cjs/packages/aurora/src/components/radio_group/radio_group.js.map +1 -1
  11. package/build/cjs/packages/aurora/src/components/select/components/select_content.js +4 -4
  12. package/build/cjs/packages/aurora/src/components/select/components/select_content.js.map +1 -1
  13. package/build/cjs/packages/aurora/src/components/select/components/select_item.js +5 -5
  14. package/build/cjs/packages/aurora/src/components/select/components/select_item.js.map +1 -1
  15. package/build/cjs/packages/aurora/src/components/select/components/select_trigger.js +4 -4
  16. package/build/cjs/packages/aurora/src/components/select/components/select_trigger.js.map +1 -1
  17. package/build/cjs/packages/aurora/src/components/select/components/select_value.js +2 -2
  18. package/build/cjs/packages/aurora/src/components/select/components/select_value.js.map +1 -1
  19. package/build/cjs/packages/aurora/src/components/select/select.js +3 -3
  20. package/build/cjs/packages/aurora/src/components/select/select.js.map +1 -1
  21. package/build/cjs/packages/aurora/src/components/sidebar/components/temporal_sidebar.js +2 -2
  22. package/build/esm/_virtual/_rollupPluginBabelHelpers.js +1 -52
  23. package/build/esm/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  24. package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/EyeDropper.js +8 -8
  25. package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/GradientBar.js +7 -7
  26. package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/GradientControls.js +16 -16
  27. package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/Hue.js +4 -4
  28. package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/Opacity.js +5 -5
  29. package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/Square.js +6 -6
  30. package/build/esm/external/react-best-gradient-color-picker/dist/esm/components/icon.js +16 -16
  31. package/build/esm/external/react-best-gradient-color-picker/dist/esm/context.js +2 -2
  32. package/build/esm/external/react-i18next/dist/es/context.js +2 -2
  33. package/build/esm/packages/aurora/src/components/accordion/context/accordion_context.js +2 -2
  34. package/build/esm/packages/aurora/src/components/action_list/action_list.js +2 -2
  35. package/build/esm/packages/aurora/src/components/action_list/components/action_list_content.js +3 -3
  36. package/build/esm/packages/aurora/src/components/action_list/components/action_list_divider.js +2 -2
  37. package/build/esm/packages/aurora/src/components/action_list/components/action_list_group.js +3 -3
  38. package/build/esm/packages/aurora/src/components/action_list/components/action_list_item.js +3 -3
  39. package/build/esm/packages/aurora/src/components/action_list/components/action_list_label.js +5 -5
  40. package/build/esm/packages/aurora/src/components/action_list/components/action_list_radio_group.js +3 -3
  41. package/build/esm/packages/aurora/src/components/action_list/components/action_list_radio_item.js +4 -4
  42. package/build/esm/packages/aurora/src/components/action_list/components/action_list_sub_content.js +3 -3
  43. package/build/esm/packages/aurora/src/components/action_list/components/action_list_sub_trigger.js +5 -5
  44. package/build/esm/packages/aurora/src/components/action_list/components/action_list_trigger.js +3 -3
  45. package/build/esm/packages/aurora/src/components/box/box.js +3 -3
  46. package/build/esm/packages/aurora/src/components/button/button.js +3 -3
  47. package/build/esm/packages/aurora/src/components/color_picker/color_picker.js +3 -3
  48. package/build/esm/packages/aurora/src/components/color_picker/components/color_label_input.js +2 -2
  49. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_content.js +5 -5
  50. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_controls.js +10 -10
  51. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_footer.js +4 -4
  52. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_gradient_controls/color_picker_gradient_angle.js +5 -5
  53. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_header.js +5 -5
  54. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_impl/color_picker_impl.js +4 -4
  55. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_impl/picker_impl.js +7 -7
  56. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_inputs/color_picker_inputs.js +10 -10
  57. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_inputs/color_picker_inputs_hex.js +3 -3
  58. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_inputs/color_picker_inputs_rgba.js +5 -5
  59. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_mode_toggler.js +11 -11
  60. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_shades.js +6 -6
  61. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_swatch.js +3 -3
  62. package/build/esm/packages/aurora/src/components/color_picker/components/color_picker_variables.js +10 -10
  63. package/build/esm/packages/aurora/src/components/color_picker/components/current_color_preview.js +2 -2
  64. package/build/esm/packages/aurora/src/components/color_picker/components/pure_color_picker.js +9 -9
  65. package/build/esm/packages/aurora/src/components/control/control.js +3 -3
  66. package/build/esm/packages/aurora/src/components/controls/checkbox_control/checkbox_control.js +6 -6
  67. package/build/esm/packages/aurora/src/components/controls/color_picker_control/color_picker_control.js +5 -5
  68. package/build/esm/packages/aurora/src/components/controls/controls_group/controls_group.js +2 -2
  69. package/build/esm/packages/aurora/src/components/controls/input_control/input_control.js +6 -6
  70. package/build/esm/packages/aurora/src/components/controls/radio_group_control/radio_group_control.js +7 -7
  71. package/build/esm/packages/aurora/src/components/controls/select_control/select_control.js +6 -6
  72. package/build/esm/packages/aurora/src/components/controls/switch_control/switch_control.js +5 -5
  73. package/build/esm/packages/aurora/src/components/controls/text_area_control/text_area_control.js +5 -5
  74. package/build/esm/packages/aurora/src/components/divider/divider.js +3 -3
  75. package/build/esm/packages/aurora/src/components/icon_button/icon_button.js +4 -4
  76. package/build/esm/packages/aurora/src/components/input/input.js +6 -6
  77. package/build/esm/packages/aurora/src/components/label/components/label_content.js +4 -4
  78. package/build/esm/packages/aurora/src/components/link/link.js +3 -3
  79. package/build/esm/packages/aurora/src/components/loader/loader.js +2 -2
  80. package/build/esm/packages/aurora/src/components/message_box/message_box.js +11 -11
  81. package/build/esm/packages/aurora/src/components/modal/components/modal/modal.js +5 -5
  82. package/build/esm/packages/aurora/src/components/modal/components/modal/modal_close_icon.js +3 -3
  83. package/build/esm/packages/aurora/src/components/modal/components/modal/modal_footer.js +2 -2
  84. package/build/esm/packages/aurora/src/components/modal/components/modal/modal_header.js +4 -4
  85. package/build/esm/packages/aurora/src/components/modal/components/modals_wrapper.js +4 -4
  86. package/build/esm/packages/aurora/src/components/modal/modals_manager.js +3 -3
  87. package/build/esm/packages/aurora/src/components/popover/components/popover_content.js +3 -3
  88. package/build/esm/packages/aurora/src/components/radio_group/components/radio_group_item.js +3 -3
  89. package/build/esm/packages/aurora/src/components/radio_group/components/radio_group_item.js.map +1 -1
  90. package/build/esm/packages/aurora/src/components/radio_group/radio_group.js +3 -3
  91. package/build/esm/packages/aurora/src/components/radio_group/radio_group.js.map +1 -1
  92. package/build/esm/packages/aurora/src/components/segmented_control/components/segmented_control_item.js +4 -4
  93. package/build/esm/packages/aurora/src/components/segmented_control/context/segmented_control_context.js +2 -2
  94. package/build/esm/packages/aurora/src/components/segmented_control/segmented_control.js +4 -4
  95. package/build/esm/packages/aurora/src/components/select/components/select_content.js +11 -11
  96. package/build/esm/packages/aurora/src/components/select/components/select_content.js.map +1 -1
  97. package/build/esm/packages/aurora/src/components/select/components/select_item.js +7 -7
  98. package/build/esm/packages/aurora/src/components/select/components/select_item.js.map +1 -1
  99. package/build/esm/packages/aurora/src/components/select/components/select_trigger.js +6 -6
  100. package/build/esm/packages/aurora/src/components/select/components/select_trigger.js.map +1 -1
  101. package/build/esm/packages/aurora/src/components/select/components/select_value.js +1 -1
  102. package/build/esm/packages/aurora/src/components/select/components/select_value.js.map +1 -1
  103. package/build/esm/packages/aurora/src/components/select/select.js +11 -11
  104. package/build/esm/packages/aurora/src/components/select/select.js.map +1 -1
  105. package/build/esm/packages/aurora/src/components/sidebar/components/persistent_sidebar.js +4 -4
  106. package/build/esm/packages/aurora/src/components/sidebar/components/sidebar_toggle.js +2 -2
  107. package/build/esm/packages/aurora/src/components/sidebar/components/temporal_sidebar.js +4 -4
  108. package/build/esm/packages/aurora/src/components/sidebar/context/sidebar_context.js +2 -2
  109. package/build/esm/packages/aurora/src/components/sidebar/hooks/use_sidebar.js +2 -2
  110. package/build/esm/packages/aurora/src/components/sidebar/sidebar.js +4 -4
  111. package/build/esm/packages/aurora/src/components/stack/stack.js +3 -3
  112. package/build/esm/packages/aurora/src/components/switch/switch.js +4 -4
  113. package/build/esm/packages/aurora/src/components/tabs/context/tabs_context.js +2 -2
  114. package/build/esm/packages/aurora/src/components/tabs/tabs.js +4 -4
  115. package/build/esm/packages/aurora/src/components/text_area/text_area.js +3 -3
  116. package/build/esm/packages/aurora/src/components/typography/typography.js +2 -2
  117. package/build/esm/packages/aurora/src/index.d.ts +1 -1
  118. package/package.json +4 -2
  119. package/build/cjs/external/@floating-ui/core/dist/floating-ui.core.mjs.js +0 -820
  120. package/build/cjs/external/@floating-ui/core/dist/floating-ui.core.mjs.js.map +0 -1
  121. package/build/cjs/external/@floating-ui/dom/dist/floating-ui.dom.mjs.js +0 -726
  122. package/build/cjs/external/@floating-ui/dom/dist/floating-ui.dom.mjs.js.map +0 -1
  123. package/build/cjs/external/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs.js +0 -360
  124. package/build/cjs/external/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs.js.map +0 -1
  125. package/build/cjs/external/@floating-ui/utils/dist/floating-ui.utils.dom.mjs.js +0 -177
  126. package/build/cjs/external/@floating-ui/utils/dist/floating-ui.utils.dom.mjs.js.map +0 -1
  127. package/build/cjs/external/@floating-ui/utils/dist/floating-ui.utils.mjs.js +0 -162
  128. package/build/cjs/external/@floating-ui/utils/dist/floating-ui.utils.mjs.js.map +0 -1
  129. package/build/cjs/external/@radix-ui/number/dist/index.mjs.js +0 -16
  130. package/build/cjs/external/@radix-ui/number/dist/index.mjs.js.map +0 -1
  131. package/build/cjs/external/@radix-ui/react-context/dist/index.mjs.js +0 -87
  132. package/build/cjs/external/@radix-ui/react-context/dist/index.mjs.js.map +0 -1
  133. package/build/cjs/external/@radix-ui/react-direction/dist/index.mjs.js +0 -16
  134. package/build/cjs/external/@radix-ui/react-direction/dist/index.mjs.js.map +0 -1
  135. package/build/cjs/external/@radix-ui/react-focus-guards/dist/index.mjs.js +0 -37
  136. package/build/cjs/external/@radix-ui/react-focus-guards/dist/index.mjs.js.map +0 -1
  137. package/build/cjs/external/@radix-ui/react-id/dist/index.mjs.js +0 -49
  138. package/build/cjs/external/@radix-ui/react-id/dist/index.mjs.js.map +0 -1
  139. package/build/cjs/external/@radix-ui/react-radio-group/dist/index.mjs.js +0 -288
  140. package/build/cjs/external/@radix-ui/react-radio-group/dist/index.mjs.js.map +0 -1
  141. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/primitive/dist/index.mjs.js +0 -19
  142. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/primitive/dist/index.mjs.js.map +0 -1
  143. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-collection/dist/index.mjs.js +0 -102
  144. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-collection/dist/index.mjs.js.map +0 -1
  145. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-compose-refs/dist/index.mjs.js +0 -51
  146. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-compose-refs/dist/index.mjs.js.map +0 -1
  147. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-presence/dist/index.mjs.js +0 -149
  148. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-presence/dist/index.mjs.js.map +0 -1
  149. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-primitive/dist/index.mjs.js +0 -30
  150. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-primitive/dist/index.mjs.js.map +0 -1
  151. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-roving-focus/dist/index.mjs.js +0 -282
  152. package/build/cjs/external/@radix-ui/react-radio-group/external/@radix-ui/react-roving-focus/dist/index.mjs.js.map +0 -1
  153. package/build/cjs/external/@radix-ui/react-select/dist/index.mjs.js +0 -1332
  154. package/build/cjs/external/@radix-ui/react-select/dist/index.mjs.js.map +0 -1
  155. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/primitive/dist/index.mjs.js +0 -19
  156. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/primitive/dist/index.mjs.js.map +0 -1
  157. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-arrow/dist/index.mjs.js +0 -35
  158. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-arrow/dist/index.mjs.js.map +0 -1
  159. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-collection/dist/index.mjs.js +0 -102
  160. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-collection/dist/index.mjs.js.map +0 -1
  161. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-compose-refs/dist/index.mjs.js +0 -51
  162. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-compose-refs/dist/index.mjs.js.map +0 -1
  163. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-dismissable-layer/dist/index.mjs.js +0 -247
  164. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-dismissable-layer/dist/index.mjs.js.map +0 -1
  165. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-focus-scope/dist/index.mjs.js +0 -286
  166. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-focus-scope/dist/index.mjs.js.map +0 -1
  167. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-popper/dist/index.mjs.js +0 -349
  168. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-popper/dist/index.mjs.js.map +0 -1
  169. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-portal/dist/index.mjs.js +0 -37
  170. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-portal/dist/index.mjs.js.map +0 -1
  171. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-primitive/dist/index.mjs.js +0 -36
  172. package/build/cjs/external/@radix-ui/react-select/external/@radix-ui/react-primitive/dist/index.mjs.js.map +0 -1
  173. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/Combination.js +0 -14
  174. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/Combination.js.map +0 -1
  175. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/SideEffect.js +0 -167
  176. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/SideEffect.js.map +0 -1
  177. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/UI.js +0 -43
  178. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/UI.js.map +0 -1
  179. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/aggresiveCapture.js +0 -26
  180. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +0 -1
  181. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/handleScroll.js +0 -115
  182. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/handleScroll.js.map +0 -1
  183. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/medium.js +0 -10
  184. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/medium.js.map +0 -1
  185. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/sidecar.js +0 -12
  186. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/sidecar.js.map +0 -1
  187. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll/external/tslib/tslib.es6.mjs.js +0 -60
  188. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll/external/tslib/tslib.es6.mjs.js.map +0 -1
  189. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll-bar/dist/es2015/component.js +0 -63
  190. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll-bar/dist/es2015/component.js.map +0 -1
  191. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll-bar/dist/es2015/constants.js +0 -18
  192. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll-bar/dist/es2015/constants.js.map +0 -1
  193. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll-bar/dist/es2015/utils.js +0 -37
  194. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll-bar/dist/es2015/utils.js.map +0 -1
  195. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll-bar/external/react-style-singleton/dist/es2015/component.js +0 -24
  196. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll-bar/external/react-style-singleton/dist/es2015/component.js.map +0 -1
  197. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll-bar/external/react-style-singleton/dist/es2015/hook.js +0 -30
  198. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll-bar/external/react-style-singleton/dist/es2015/hook.js.map +0 -1
  199. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll-bar/external/react-style-singleton/dist/es2015/singleton.js +0 -56
  200. package/build/cjs/external/@radix-ui/react-select/external/react-remove-scroll-bar/external/react-style-singleton/dist/es2015/singleton.js.map +0 -1
  201. package/build/cjs/external/@radix-ui/react-select/external/use-callback-ref/dist/es2015/assignRef.js +0 -29
  202. package/build/cjs/external/@radix-ui/react-select/external/use-callback-ref/dist/es2015/assignRef.js.map +0 -1
  203. package/build/cjs/external/@radix-ui/react-select/external/use-callback-ref/dist/es2015/useMergeRef.js +0 -53
  204. package/build/cjs/external/@radix-ui/react-select/external/use-callback-ref/dist/es2015/useMergeRef.js.map +0 -1
  205. package/build/cjs/external/@radix-ui/react-select/external/use-callback-ref/dist/es2015/useRef.js +0 -47
  206. package/build/cjs/external/@radix-ui/react-select/external/use-callback-ref/dist/es2015/useRef.js.map +0 -1
  207. package/build/cjs/external/@radix-ui/react-use-callback-ref/dist/index.mjs.js +0 -25
  208. package/build/cjs/external/@radix-ui/react-use-callback-ref/dist/index.mjs.js.map +0 -1
  209. package/build/cjs/external/@radix-ui/react-use-controllable-state/dist/index.mjs.js +0 -53
  210. package/build/cjs/external/@radix-ui/react-use-controllable-state/dist/index.mjs.js.map +0 -1
  211. package/build/cjs/external/@radix-ui/react-use-escape-keydown/dist/index.mjs.js +0 -30
  212. package/build/cjs/external/@radix-ui/react-use-escape-keydown/dist/index.mjs.js.map +0 -1
  213. package/build/cjs/external/@radix-ui/react-use-layout-effect/dist/index.mjs.js +0 -11
  214. package/build/cjs/external/@radix-ui/react-use-layout-effect/dist/index.mjs.js.map +0 -1
  215. package/build/cjs/external/@radix-ui/react-use-previous/dist/index.mjs.js +0 -23
  216. package/build/cjs/external/@radix-ui/react-use-previous/dist/index.mjs.js.map +0 -1
  217. package/build/cjs/external/@radix-ui/react-use-size/dist/index.mjs.js +0 -58
  218. package/build/cjs/external/@radix-ui/react-use-size/dist/index.mjs.js.map +0 -1
  219. package/build/cjs/external/@radix-ui/react-visually-hidden/dist/index.mjs.js +0 -32
  220. package/build/cjs/external/@radix-ui/react-visually-hidden/dist/index.mjs.js.map +0 -1
  221. package/build/cjs/external/@radix-ui/react-visually-hidden/external/@radix-ui/react-primitive/dist/index.mjs.js +0 -30
  222. package/build/cjs/external/@radix-ui/react-visually-hidden/external/@radix-ui/react-primitive/dist/index.mjs.js.map +0 -1
  223. package/build/cjs/external/aria-hidden/dist/es2015/index.js +0 -141
  224. package/build/cjs/external/aria-hidden/dist/es2015/index.js.map +0 -1
  225. package/build/cjs/external/get-nonce/dist/es2015/index.js +0 -13
  226. package/build/cjs/external/get-nonce/dist/es2015/index.js.map +0 -1
  227. package/build/cjs/external/react-style-singleton/dist/es2015/component.js +0 -24
  228. package/build/cjs/external/react-style-singleton/dist/es2015/component.js.map +0 -1
  229. package/build/cjs/external/react-style-singleton/dist/es2015/hook.js +0 -30
  230. package/build/cjs/external/react-style-singleton/dist/es2015/hook.js.map +0 -1
  231. package/build/cjs/external/react-style-singleton/dist/es2015/singleton.js +0 -56
  232. package/build/cjs/external/react-style-singleton/dist/es2015/singleton.js.map +0 -1
  233. package/build/cjs/external/use-sidecar/dist/es2015/exports.js +0 -26
  234. package/build/cjs/external/use-sidecar/dist/es2015/exports.js.map +0 -1
  235. package/build/cjs/external/use-sidecar/dist/es2015/medium.js +0 -82
  236. package/build/cjs/external/use-sidecar/dist/es2015/medium.js.map +0 -1
  237. package/build/cjs/external/use-sidecar/external/tslib/tslib.es6.mjs.js +0 -49
  238. package/build/cjs/external/use-sidecar/external/tslib/tslib.es6.mjs.js.map +0 -1
  239. package/build/esm/external/@floating-ui/core/dist/floating-ui.core.mjs.js +0 -808
  240. package/build/esm/external/@floating-ui/core/dist/floating-ui.core.mjs.js.map +0 -1
  241. package/build/esm/external/@floating-ui/dom/dist/floating-ui.dom.mjs.js +0 -713
  242. package/build/esm/external/@floating-ui/dom/dist/floating-ui.dom.mjs.js.map +0 -1
  243. package/build/esm/external/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs.js +0 -347
  244. package/build/esm/external/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs.js.map +0 -1
  245. package/build/esm/external/@floating-ui/utils/dist/floating-ui.utils.dom.mjs.js +0 -154
  246. package/build/esm/external/@floating-ui/utils/dist/floating-ui.utils.dom.mjs.js.map +0 -1
  247. package/build/esm/external/@floating-ui/utils/dist/floating-ui.utils.mjs.js +0 -137
  248. package/build/esm/external/@floating-ui/utils/dist/floating-ui.utils.mjs.js.map +0 -1
  249. package/build/esm/external/@radix-ui/number/dist/index.mjs.js +0 -12
  250. package/build/esm/external/@radix-ui/number/dist/index.mjs.js.map +0 -1
  251. package/build/esm/external/@radix-ui/react-context/dist/index.mjs.js +0 -83
  252. package/build/esm/external/@radix-ui/react-context/dist/index.mjs.js.map +0 -1
  253. package/build/esm/external/@radix-ui/react-direction/dist/index.mjs.js +0 -12
  254. package/build/esm/external/@radix-ui/react-direction/dist/index.mjs.js.map +0 -1
  255. package/build/esm/external/@radix-ui/react-focus-guards/dist/index.mjs.js +0 -33
  256. package/build/esm/external/@radix-ui/react-focus-guards/dist/index.mjs.js.map +0 -1
  257. package/build/esm/external/@radix-ui/react-id/dist/index.mjs.js +0 -24
  258. package/build/esm/external/@radix-ui/react-id/dist/index.mjs.js.map +0 -1
  259. package/build/esm/external/@radix-ui/react-radio-group/dist/index.mjs.js +0 -278
  260. package/build/esm/external/@radix-ui/react-radio-group/dist/index.mjs.js.map +0 -1
  261. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/primitive/dist/index.mjs.js +0 -15
  262. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/primitive/dist/index.mjs.js.map +0 -1
  263. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-collection/dist/index.mjs.js +0 -94
  264. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-collection/dist/index.mjs.js.map +0 -1
  265. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-compose-refs/dist/index.mjs.js +0 -46
  266. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-compose-refs/dist/index.mjs.js.map +0 -1
  267. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-presence/dist/index.mjs.js +0 -145
  268. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-presence/dist/index.mjs.js.map +0 -1
  269. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-primitive/dist/index.mjs.js +0 -26
  270. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-primitive/dist/index.mjs.js.map +0 -1
  271. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-roving-focus/dist/index.mjs.js +0 -274
  272. package/build/esm/external/@radix-ui/react-radio-group/external/@radix-ui/react-roving-focus/dist/index.mjs.js.map +0 -1
  273. package/build/esm/external/@radix-ui/react-select/dist/index.mjs.js +0 -1302
  274. package/build/esm/external/@radix-ui/react-select/dist/index.mjs.js.map +0 -1
  275. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/primitive/dist/index.mjs.js +0 -15
  276. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/primitive/dist/index.mjs.js.map +0 -1
  277. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-arrow/dist/index.mjs.js +0 -30
  278. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-arrow/dist/index.mjs.js.map +0 -1
  279. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-collection/dist/index.mjs.js +0 -94
  280. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-collection/dist/index.mjs.js.map +0 -1
  281. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-compose-refs/dist/index.mjs.js +0 -46
  282. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-compose-refs/dist/index.mjs.js.map +0 -1
  283. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-dismissable-layer/dist/index.mjs.js +0 -242
  284. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-dismissable-layer/dist/index.mjs.js.map +0 -1
  285. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-focus-scope/dist/index.mjs.js +0 -282
  286. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-focus-scope/dist/index.mjs.js.map +0 -1
  287. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-popper/dist/index.mjs.js +0 -337
  288. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-popper/dist/index.mjs.js.map +0 -1
  289. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-portal/dist/index.mjs.js +0 -29
  290. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-portal/dist/index.mjs.js.map +0 -1
  291. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-primitive/dist/index.mjs.js +0 -31
  292. package/build/esm/external/@radix-ui/react-select/external/@radix-ui/react-primitive/dist/index.mjs.js.map +0 -1
  293. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/Combination.js +0 -10
  294. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/Combination.js.map +0 -1
  295. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/SideEffect.js +0 -161
  296. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/SideEffect.js.map +0 -1
  297. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/UI.js +0 -39
  298. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/UI.js.map +0 -1
  299. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/aggresiveCapture.js +0 -22
  300. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +0 -1
  301. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/handleScroll.js +0 -110
  302. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/handleScroll.js.map +0 -1
  303. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/medium.js +0 -6
  304. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/medium.js.map +0 -1
  305. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/sidecar.js +0 -8
  306. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll/dist/es2015/sidecar.js.map +0 -1
  307. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll/external/tslib/tslib.es6.mjs.js +0 -55
  308. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll/external/tslib/tslib.es6.mjs.js.map +0 -1
  309. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll-bar/dist/es2015/component.js +0 -57
  310. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll-bar/dist/es2015/component.js.map +0 -1
  311. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll-bar/dist/es2015/constants.js +0 -11
  312. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll-bar/dist/es2015/constants.js.map +0 -1
  313. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll-bar/dist/es2015/utils.js +0 -32
  314. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll-bar/dist/es2015/utils.js.map +0 -1
  315. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll-bar/external/react-style-singleton/dist/es2015/component.js +0 -20
  316. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll-bar/external/react-style-singleton/dist/es2015/component.js.map +0 -1
  317. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll-bar/external/react-style-singleton/dist/es2015/hook.js +0 -26
  318. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll-bar/external/react-style-singleton/dist/es2015/hook.js.map +0 -1
  319. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll-bar/external/react-style-singleton/dist/es2015/singleton.js +0 -52
  320. package/build/esm/external/@radix-ui/react-select/external/react-remove-scroll-bar/external/react-style-singleton/dist/es2015/singleton.js.map +0 -1
  321. package/build/esm/external/@radix-ui/react-select/external/use-callback-ref/dist/es2015/assignRef.js +0 -25
  322. package/build/esm/external/@radix-ui/react-select/external/use-callback-ref/dist/es2015/assignRef.js.map +0 -1
  323. package/build/esm/external/@radix-ui/react-select/external/use-callback-ref/dist/es2015/useMergeRef.js +0 -49
  324. package/build/esm/external/@radix-ui/react-select/external/use-callback-ref/dist/es2015/useMergeRef.js.map +0 -1
  325. package/build/esm/external/@radix-ui/react-select/external/use-callback-ref/dist/es2015/useRef.js +0 -43
  326. package/build/esm/external/@radix-ui/react-select/external/use-callback-ref/dist/es2015/useRef.js.map +0 -1
  327. package/build/esm/external/@radix-ui/react-use-callback-ref/dist/index.mjs.js +0 -21
  328. package/build/esm/external/@radix-ui/react-use-callback-ref/dist/index.mjs.js.map +0 -1
  329. package/build/esm/external/@radix-ui/react-use-controllable-state/dist/index.mjs.js +0 -49
  330. package/build/esm/external/@radix-ui/react-use-controllable-state/dist/index.mjs.js.map +0 -1
  331. package/build/esm/external/@radix-ui/react-use-escape-keydown/dist/index.mjs.js +0 -26
  332. package/build/esm/external/@radix-ui/react-use-escape-keydown/dist/index.mjs.js.map +0 -1
  333. package/build/esm/external/@radix-ui/react-use-layout-effect/dist/index.mjs.js +0 -7
  334. package/build/esm/external/@radix-ui/react-use-layout-effect/dist/index.mjs.js.map +0 -1
  335. package/build/esm/external/@radix-ui/react-use-previous/dist/index.mjs.js +0 -19
  336. package/build/esm/external/@radix-ui/react-use-previous/dist/index.mjs.js.map +0 -1
  337. package/build/esm/external/@radix-ui/react-use-size/dist/index.mjs.js +0 -54
  338. package/build/esm/external/@radix-ui/react-use-size/dist/index.mjs.js.map +0 -1
  339. package/build/esm/external/@radix-ui/react-visually-hidden/dist/index.mjs.js +0 -28
  340. package/build/esm/external/@radix-ui/react-visually-hidden/dist/index.mjs.js.map +0 -1
  341. package/build/esm/external/@radix-ui/react-visually-hidden/external/@radix-ui/react-primitive/dist/index.mjs.js +0 -26
  342. package/build/esm/external/@radix-ui/react-visually-hidden/external/@radix-ui/react-primitive/dist/index.mjs.js.map +0 -1
  343. package/build/esm/external/aria-hidden/dist/es2015/index.js +0 -137
  344. package/build/esm/external/aria-hidden/dist/es2015/index.js.map +0 -1
  345. package/build/esm/external/get-nonce/dist/es2015/index.js +0 -9
  346. package/build/esm/external/get-nonce/dist/es2015/index.js.map +0 -1
  347. package/build/esm/external/react-style-singleton/dist/es2015/component.js +0 -20
  348. package/build/esm/external/react-style-singleton/dist/es2015/component.js.map +0 -1
  349. package/build/esm/external/react-style-singleton/dist/es2015/hook.js +0 -26
  350. package/build/esm/external/react-style-singleton/dist/es2015/hook.js.map +0 -1
  351. package/build/esm/external/react-style-singleton/dist/es2015/singleton.js +0 -52
  352. package/build/esm/external/react-style-singleton/dist/es2015/singleton.js.map +0 -1
  353. package/build/esm/external/use-sidecar/dist/es2015/exports.js +0 -22
  354. package/build/esm/external/use-sidecar/dist/es2015/exports.js.map +0 -1
  355. package/build/esm/external/use-sidecar/dist/es2015/medium.js +0 -78
  356. package/build/esm/external/use-sidecar/dist/es2015/medium.js.map +0 -1
  357. package/build/esm/external/use-sidecar/external/tslib/tslib.es6.mjs.js +0 -45
  358. package/build/esm/external/use-sidecar/external/tslib/tslib.es6.mjs.js.map +0 -1
@@ -1,1302 +0,0 @@
1
- import { useState, useRef, useCallback, forwardRef, useEffect, useMemo } from 'react';
2
- import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, objectWithoutProperties as _objectWithoutProperties, toArray as _toArray, createForOfIteratorHelper as _createForOfIteratorHelper } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
3
- import { createPortal } from 'react-dom';
4
- import { Slot } from '@radix-ui/react-slot';
5
- import { clamp } from '../../number/dist/index.mjs.js';
6
- import { composeEventHandlers } from '../external/@radix-ui/primitive/dist/index.mjs.js';
7
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
- import { createContextScope } from '../../react-context/dist/index.mjs.js';
9
- import { useComposedRefs } from '../external/@radix-ui/react-compose-refs/dist/index.mjs.js';
10
- import { createCollection } from '../external/@radix-ui/react-collection/dist/index.mjs.js';
11
- import { useDirection } from '../../react-direction/dist/index.mjs.js';
12
- import { Primitive } from '../external/@radix-ui/react-primitive/dist/index.mjs.js';
13
- import { useCallbackRef } from '../../react-use-callback-ref/dist/index.mjs.js';
14
- import { DismissableLayer } from '../external/@radix-ui/react-dismissable-layer/dist/index.mjs.js';
15
- import { useFocusGuards } from '../../react-focus-guards/dist/index.mjs.js';
16
- import { FocusScope } from '../external/@radix-ui/react-focus-scope/dist/index.mjs.js';
17
- import { useLayoutEffect as useLayoutEffect2 } from '../../react-use-layout-effect/dist/index.mjs.js';
18
- import { useId } from '../../react-id/dist/index.mjs.js';
19
- import { createPopperScope, Root as Root2$1, Anchor, Content, Arrow } from '../external/@radix-ui/react-popper/dist/index.mjs.js';
20
- import { Portal as Portal$1 } from '../external/@radix-ui/react-portal/dist/index.mjs.js';
21
- import { useControllableState } from '../../react-use-controllable-state/dist/index.mjs.js';
22
- import { usePrevious } from '../../react-use-previous/dist/index.mjs.js';
23
- import { VisuallyHidden } from '../../react-visually-hidden/dist/index.mjs.js';
24
- import { hideOthers } from '../../../aria-hidden/dist/es2015/index.js';
25
- import ReactRemoveScroll from '../external/react-remove-scroll/dist/es2015/Combination.js';
26
-
27
- var _excluded = ["__scopeSelect", "disabled"],
28
- _excluded2 = ["__scopeSelect", "className", "style", "children", "placeholder"],
29
- _excluded3 = ["__scopeSelect", "children"],
30
- _excluded4 = ["__scopeSelect", "position", "onCloseAutoFocus", "onEscapeKeyDown", "onPointerDownOutside", "side", "sideOffset", "align", "alignOffset", "arrowPadding", "collisionBoundary", "collisionPadding", "sticky", "hideWhenDetached", "avoidCollisions"],
31
- _excluded5 = ["__scopeSelect", "onPlaced"],
32
- _excluded6 = ["__scopeSelect", "align", "collisionPadding"],
33
- _excluded7 = ["__scopeSelect", "nonce"],
34
- _excluded8 = ["__scopeSelect"],
35
- _excluded9 = ["__scopeSelect"],
36
- _excluded10 = ["__scopeSelect", "value", "disabled", "textValue"],
37
- _excluded11 = ["__scopeSelect", "className", "style"],
38
- _excluded12 = ["__scopeSelect"],
39
- _excluded13 = ["__scopeSelect", "onAutoScroll"],
40
- _excluded14 = ["__scopeSelect"],
41
- _excluded15 = ["__scopeSelect"],
42
- _excluded16 = ["value"];
43
- var OPEN_KEYS = [" ", "Enter", "ArrowUp", "ArrowDown"];
44
- var SELECTION_KEYS = [" ", "Enter"];
45
- var SELECT_NAME = "Select";
46
- var _createCollection = createCollection(SELECT_NAME),
47
- _createCollection2 = _slicedToArray(_createCollection, 3),
48
- Collection = _createCollection2[0],
49
- useCollection = _createCollection2[1],
50
- createCollectionScope = _createCollection2[2];
51
- var _createContextScope = createContextScope(SELECT_NAME, [createCollectionScope, createPopperScope]),
52
- _createContextScope2 = _slicedToArray(_createContextScope, 2),
53
- createSelectContext = _createContextScope2[0],
54
- createSelectScope = _createContextScope2[1];
55
- var usePopperScope = createPopperScope();
56
- var _createSelectContext = createSelectContext(SELECT_NAME),
57
- _createSelectContext2 = _slicedToArray(_createSelectContext, 2),
58
- SelectProvider = _createSelectContext2[0],
59
- useSelectContext = _createSelectContext2[1];
60
- var _createSelectContext3 = createSelectContext(SELECT_NAME),
61
- _createSelectContext4 = _slicedToArray(_createSelectContext3, 2),
62
- SelectNativeOptionsProvider = _createSelectContext4[0],
63
- useSelectNativeOptionsContext = _createSelectContext4[1];
64
- var Select = function Select(props) {
65
- var __scopeSelect = props.__scopeSelect,
66
- children = props.children,
67
- openProp = props.open,
68
- defaultOpen = props.defaultOpen,
69
- onOpenChange = props.onOpenChange,
70
- valueProp = props.value,
71
- defaultValue = props.defaultValue,
72
- onValueChange = props.onValueChange,
73
- dir = props.dir,
74
- name = props.name,
75
- autoComplete = props.autoComplete,
76
- disabled = props.disabled,
77
- required = props.required,
78
- form = props.form;
79
- var popperScope = usePopperScope(__scopeSelect);
80
- var _React$useState = useState(null),
81
- _React$useState2 = _slicedToArray(_React$useState, 2),
82
- trigger = _React$useState2[0],
83
- setTrigger = _React$useState2[1];
84
- var _React$useState3 = useState(null),
85
- _React$useState4 = _slicedToArray(_React$useState3, 2),
86
- valueNode = _React$useState4[0],
87
- setValueNode = _React$useState4[1];
88
- var _React$useState5 = useState(false),
89
- _React$useState6 = _slicedToArray(_React$useState5, 2),
90
- valueNodeHasChildren = _React$useState6[0],
91
- setValueNodeHasChildren = _React$useState6[1];
92
- var direction = useDirection(dir);
93
- var _useControllableState = useControllableState({
94
- prop: openProp,
95
- defaultProp: defaultOpen,
96
- onChange: onOpenChange
97
- }),
98
- _useControllableState2 = _slicedToArray(_useControllableState, 2),
99
- _useControllableState3 = _useControllableState2[0],
100
- open = _useControllableState3 === void 0 ? false : _useControllableState3,
101
- setOpen = _useControllableState2[1];
102
- var _useControllableState4 = useControllableState({
103
- prop: valueProp,
104
- defaultProp: defaultValue,
105
- onChange: onValueChange
106
- }),
107
- _useControllableState5 = _slicedToArray(_useControllableState4, 2),
108
- value = _useControllableState5[0],
109
- setValue = _useControllableState5[1];
110
- var triggerPointerDownPosRef = useRef(null);
111
- var isFormControl = trigger ? form || !!trigger.closest("form") : true;
112
- var _React$useState7 = useState(/* @__PURE__ */new Set()),
113
- _React$useState8 = _slicedToArray(_React$useState7, 2),
114
- nativeOptionsSet = _React$useState8[0],
115
- setNativeOptionsSet = _React$useState8[1];
116
- var nativeSelectKey = Array.from(nativeOptionsSet).map(function (option) {
117
- return option.props.value;
118
- }).join(";");
119
- return /* @__PURE__ */jsx(Root2$1, _objectSpread2(_objectSpread2({}, popperScope), {}, {
120
- children: /* @__PURE__ */jsxs(SelectProvider, {
121
- required: required,
122
- scope: __scopeSelect,
123
- trigger: trigger,
124
- onTriggerChange: setTrigger,
125
- valueNode: valueNode,
126
- onValueNodeChange: setValueNode,
127
- valueNodeHasChildren: valueNodeHasChildren,
128
- onValueNodeHasChildrenChange: setValueNodeHasChildren,
129
- contentId: useId(),
130
- value: value,
131
- onValueChange: setValue,
132
- open: open,
133
- onOpenChange: setOpen,
134
- dir: direction,
135
- triggerPointerDownPosRef: triggerPointerDownPosRef,
136
- disabled: disabled,
137
- children: [/* @__PURE__ */jsx(Collection.Provider, {
138
- scope: __scopeSelect,
139
- children: /* @__PURE__ */jsx(SelectNativeOptionsProvider, {
140
- scope: props.__scopeSelect,
141
- onNativeOptionAdd: useCallback(function (option) {
142
- setNativeOptionsSet(function (prev) {
143
- return new Set(prev).add(option);
144
- });
145
- }, []),
146
- onNativeOptionRemove: useCallback(function (option) {
147
- setNativeOptionsSet(function (prev) {
148
- var optionsSet = new Set(prev);
149
- optionsSet.delete(option);
150
- return optionsSet;
151
- });
152
- }, []),
153
- children: children
154
- })
155
- }), isFormControl ? /* @__PURE__ */jsxs(BubbleSelect, {
156
- "aria-hidden": true,
157
- required: required,
158
- tabIndex: -1,
159
- name: name,
160
- autoComplete: autoComplete,
161
- value: value,
162
- onChange: function onChange(event) {
163
- return setValue(event.target.value);
164
- },
165
- disabled: disabled,
166
- form: form,
167
- children: [value === void 0 ? /* @__PURE__ */jsx("option", {
168
- value: ""
169
- }) : null, Array.from(nativeOptionsSet)]
170
- }, nativeSelectKey) : null]
171
- })
172
- }));
173
- };
174
- Select.displayName = SELECT_NAME;
175
- var TRIGGER_NAME = "SelectTrigger";
176
- var SelectTrigger = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
177
- var __scopeSelect = props.__scopeSelect,
178
- _props$disabled = props.disabled,
179
- disabled = _props$disabled === void 0 ? false : _props$disabled,
180
- triggerProps = _objectWithoutProperties(props, _excluded);
181
- var popperScope = usePopperScope(__scopeSelect);
182
- var context = useSelectContext(TRIGGER_NAME, __scopeSelect);
183
- var isDisabled = context.disabled || disabled;
184
- var composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);
185
- var getItems = useCollection(__scopeSelect);
186
- var pointerTypeRef = useRef("touch");
187
- var _useTypeaheadSearch = useTypeaheadSearch(function (search) {
188
- var enabledItems = getItems().filter(function (item) {
189
- return !item.disabled;
190
- });
191
- var currentItem = enabledItems.find(function (item) {
192
- return item.value === context.value;
193
- });
194
- var nextItem = findNextItem(enabledItems, search, currentItem);
195
- if (nextItem !== void 0) {
196
- context.onValueChange(nextItem.value);
197
- }
198
- }),
199
- _useTypeaheadSearch2 = _slicedToArray(_useTypeaheadSearch, 3),
200
- searchRef = _useTypeaheadSearch2[0],
201
- handleTypeaheadSearch = _useTypeaheadSearch2[1],
202
- resetTypeahead = _useTypeaheadSearch2[2];
203
- var handleOpen = function handleOpen(pointerEvent) {
204
- if (!isDisabled) {
205
- context.onOpenChange(true);
206
- resetTypeahead();
207
- }
208
- if (pointerEvent) {
209
- context.triggerPointerDownPosRef.current = {
210
- x: Math.round(pointerEvent.pageX),
211
- y: Math.round(pointerEvent.pageY)
212
- };
213
- }
214
- };
215
- return /* @__PURE__ */jsx(Anchor, _objectSpread2(_objectSpread2({
216
- asChild: true
217
- }, popperScope), {}, {
218
- children: /* @__PURE__ */jsx(Primitive.button, _objectSpread2(_objectSpread2({
219
- type: "button",
220
- role: "combobox",
221
- "aria-controls": context.contentId,
222
- "aria-expanded": context.open,
223
- "aria-required": context.required,
224
- "aria-autocomplete": "none",
225
- dir: context.dir,
226
- "data-state": context.open ? "open" : "closed",
227
- disabled: isDisabled,
228
- "data-disabled": isDisabled ? "" : void 0,
229
- "data-placeholder": shouldShowPlaceholder(context.value) ? "" : void 0
230
- }, triggerProps), {}, {
231
- ref: composedRefs,
232
- onClick: composeEventHandlers(triggerProps.onClick, function (event) {
233
- event.currentTarget.focus();
234
- if (pointerTypeRef.current !== "mouse") {
235
- handleOpen(event);
236
- }
237
- }),
238
- onPointerDown: composeEventHandlers(triggerProps.onPointerDown, function (event) {
239
- pointerTypeRef.current = event.pointerType;
240
- var target = event.target;
241
- if (target.hasPointerCapture(event.pointerId)) {
242
- target.releasePointerCapture(event.pointerId);
243
- }
244
- if (event.button === 0 && event.ctrlKey === false && event.pointerType === "mouse") {
245
- handleOpen(event);
246
- event.preventDefault();
247
- }
248
- }),
249
- onKeyDown: composeEventHandlers(triggerProps.onKeyDown, function (event) {
250
- var isTypingAhead = searchRef.current !== "";
251
- var isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
252
- if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);
253
- if (isTypingAhead && event.key === " ") return;
254
- if (OPEN_KEYS.includes(event.key)) {
255
- handleOpen();
256
- event.preventDefault();
257
- }
258
- })
259
- }))
260
- }));
261
- });
262
- SelectTrigger.displayName = TRIGGER_NAME;
263
- var VALUE_NAME = "SelectValue";
264
- var SelectValue = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
265
- var __scopeSelect = props.__scopeSelect,
266
- className = props.className,
267
- style = props.style,
268
- children = props.children,
269
- _props$placeholder = props.placeholder,
270
- placeholder = _props$placeholder === void 0 ? "" : _props$placeholder,
271
- valueProps = _objectWithoutProperties(props, _excluded2);
272
- var context = useSelectContext(VALUE_NAME, __scopeSelect);
273
- var onValueNodeHasChildrenChange = context.onValueNodeHasChildrenChange;
274
- var hasChildren = children !== void 0;
275
- var composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);
276
- useLayoutEffect2(function () {
277
- onValueNodeHasChildrenChange(hasChildren);
278
- }, [onValueNodeHasChildrenChange, hasChildren]);
279
- return /* @__PURE__ */jsx(Primitive.span, _objectSpread2(_objectSpread2({}, valueProps), {}, {
280
- ref: composedRefs,
281
- style: {
282
- pointerEvents: "none"
283
- },
284
- children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */jsx(Fragment, {
285
- children: placeholder
286
- }) : children
287
- }));
288
- });
289
- SelectValue.displayName = VALUE_NAME;
290
- var ICON_NAME = "SelectIcon";
291
- var SelectIcon = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
292
- var __scopeSelect = props.__scopeSelect,
293
- children = props.children,
294
- iconProps = _objectWithoutProperties(props, _excluded3);
295
- return /* @__PURE__ */jsx(Primitive.span, _objectSpread2(_objectSpread2({
296
- "aria-hidden": true
297
- }, iconProps), {}, {
298
- ref: forwardedRef,
299
- children: children || "\u25BC"
300
- }));
301
- });
302
- SelectIcon.displayName = ICON_NAME;
303
- var PORTAL_NAME = "SelectPortal";
304
- var SelectPortal = function SelectPortal(props) {
305
- return /* @__PURE__ */jsx(Portal$1, _objectSpread2({
306
- asChild: true
307
- }, props));
308
- };
309
- SelectPortal.displayName = PORTAL_NAME;
310
- var CONTENT_NAME = "SelectContent";
311
- var SelectContent = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
312
- var context = useSelectContext(CONTENT_NAME, props.__scopeSelect);
313
- var _React$useState9 = useState(),
314
- _React$useState10 = _slicedToArray(_React$useState9, 2),
315
- fragment = _React$useState10[0],
316
- setFragment = _React$useState10[1];
317
- useLayoutEffect2(function () {
318
- setFragment(new DocumentFragment());
319
- }, []);
320
- if (!context.open) {
321
- var frag = fragment;
322
- return frag ? /*#__PURE__*/createPortal(/* @__PURE__ */jsx(SelectContentProvider, {
323
- scope: props.__scopeSelect,
324
- children: /* @__PURE__ */jsx(Collection.Slot, {
325
- scope: props.__scopeSelect,
326
- children: /* @__PURE__ */jsx("div", {
327
- children: props.children
328
- })
329
- })
330
- }), frag) : null;
331
- }
332
- return /* @__PURE__ */jsx(SelectContentImpl, _objectSpread2(_objectSpread2({}, props), {}, {
333
- ref: forwardedRef
334
- }));
335
- });
336
- SelectContent.displayName = CONTENT_NAME;
337
- var CONTENT_MARGIN = 10;
338
- var _createSelectContext5 = createSelectContext(CONTENT_NAME),
339
- _createSelectContext6 = _slicedToArray(_createSelectContext5, 2),
340
- SelectContentProvider = _createSelectContext6[0],
341
- useSelectContentContext = _createSelectContext6[1];
342
- var CONTENT_IMPL_NAME = "SelectContentImpl";
343
- var SelectContentImpl = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
344
- var __scopeSelect = props.__scopeSelect,
345
- _props$position = props.position,
346
- position = _props$position === void 0 ? "item-aligned" : _props$position,
347
- onCloseAutoFocus = props.onCloseAutoFocus,
348
- onEscapeKeyDown = props.onEscapeKeyDown,
349
- onPointerDownOutside = props.onPointerDownOutside,
350
- side = props.side,
351
- sideOffset = props.sideOffset,
352
- align = props.align,
353
- alignOffset = props.alignOffset,
354
- arrowPadding = props.arrowPadding,
355
- collisionBoundary = props.collisionBoundary,
356
- collisionPadding = props.collisionPadding,
357
- sticky = props.sticky,
358
- hideWhenDetached = props.hideWhenDetached,
359
- avoidCollisions = props.avoidCollisions,
360
- contentProps = _objectWithoutProperties(props, _excluded4);
361
- var context = useSelectContext(CONTENT_NAME, __scopeSelect);
362
- var _React$useState11 = useState(null),
363
- _React$useState12 = _slicedToArray(_React$useState11, 2),
364
- content = _React$useState12[0],
365
- setContent = _React$useState12[1];
366
- var _React$useState13 = useState(null),
367
- _React$useState14 = _slicedToArray(_React$useState13, 2),
368
- viewport = _React$useState14[0],
369
- setViewport = _React$useState14[1];
370
- var composedRefs = useComposedRefs(forwardedRef, function (node) {
371
- return setContent(node);
372
- });
373
- var _React$useState15 = useState(null),
374
- _React$useState16 = _slicedToArray(_React$useState15, 2),
375
- selectedItem = _React$useState16[0],
376
- setSelectedItem = _React$useState16[1];
377
- var _React$useState17 = useState(null),
378
- _React$useState18 = _slicedToArray(_React$useState17, 2),
379
- selectedItemText = _React$useState18[0],
380
- setSelectedItemText = _React$useState18[1];
381
- var getItems = useCollection(__scopeSelect);
382
- var _React$useState19 = useState(false),
383
- _React$useState20 = _slicedToArray(_React$useState19, 2),
384
- isPositioned = _React$useState20[0],
385
- setIsPositioned = _React$useState20[1];
386
- var firstValidItemFoundRef = useRef(false);
387
- useEffect(function () {
388
- if (content) return hideOthers(content);
389
- }, [content]);
390
- useFocusGuards();
391
- var focusFirst = useCallback(function (candidates) {
392
- var _getItems$map = getItems().map(function (item) {
393
- return item.ref.current;
394
- }),
395
- _getItems$map2 = _toArray(_getItems$map),
396
- firstItem = _getItems$map2[0],
397
- restItems = _getItems$map2.slice(1);
398
- var _restItems$slice = restItems.slice(-1),
399
- _restItems$slice2 = _slicedToArray(_restItems$slice, 1),
400
- lastItem = _restItems$slice2[0];
401
- var PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
402
- var _iterator = _createForOfIteratorHelper(candidates),
403
- _step;
404
- try {
405
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
406
- var candidate = _step.value;
407
- if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
408
- candidate === null || candidate === void 0 ? void 0 : candidate.scrollIntoView({
409
- block: "nearest"
410
- });
411
- if (candidate === firstItem && viewport) viewport.scrollTop = 0;
412
- if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;
413
- candidate === null || candidate === void 0 ? void 0 : candidate.focus();
414
- if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
415
- }
416
- } catch (err) {
417
- _iterator.e(err);
418
- } finally {
419
- _iterator.f();
420
- }
421
- }, [getItems, viewport]);
422
- var focusSelectedItem = useCallback(function () {
423
- return focusFirst([selectedItem, content]);
424
- }, [focusFirst, selectedItem, content]);
425
- useEffect(function () {
426
- if (isPositioned) {
427
- focusSelectedItem();
428
- }
429
- }, [isPositioned, focusSelectedItem]);
430
- var onOpenChange = context.onOpenChange,
431
- triggerPointerDownPosRef = context.triggerPointerDownPosRef;
432
- useEffect(function () {
433
- if (content) {
434
- var pointerMoveDelta = {
435
- x: 0,
436
- y: 0
437
- };
438
- var handlePointerMove = function handlePointerMove(event) {
439
- var _triggerPointerDownPo, _triggerPointerDownPo2, _triggerPointerDownPo3, _triggerPointerDownPo4;
440
- pointerMoveDelta = {
441
- 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)),
442
- 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))
443
- };
444
- };
445
- var handlePointerUp = function handlePointerUp(event) {
446
- if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {
447
- event.preventDefault();
448
- } else {
449
- if (!content.contains(event.target)) {
450
- onOpenChange(false);
451
- }
452
- }
453
- document.removeEventListener("pointermove", handlePointerMove);
454
- triggerPointerDownPosRef.current = null;
455
- };
456
- if (triggerPointerDownPosRef.current !== null) {
457
- document.addEventListener("pointermove", handlePointerMove);
458
- document.addEventListener("pointerup", handlePointerUp, {
459
- capture: true,
460
- once: true
461
- });
462
- }
463
- return function () {
464
- document.removeEventListener("pointermove", handlePointerMove);
465
- document.removeEventListener("pointerup", handlePointerUp, {
466
- capture: true
467
- });
468
- };
469
- }
470
- }, [content, onOpenChange, triggerPointerDownPosRef]);
471
- useEffect(function () {
472
- var close = function close() {
473
- return onOpenChange(false);
474
- };
475
- window.addEventListener("blur", close);
476
- window.addEventListener("resize", close);
477
- return function () {
478
- window.removeEventListener("blur", close);
479
- window.removeEventListener("resize", close);
480
- };
481
- }, [onOpenChange]);
482
- var _useTypeaheadSearch3 = useTypeaheadSearch(function (search) {
483
- var enabledItems = getItems().filter(function (item) {
484
- return !item.disabled;
485
- });
486
- var currentItem = enabledItems.find(function (item) {
487
- return item.ref.current === document.activeElement;
488
- });
489
- var nextItem = findNextItem(enabledItems, search, currentItem);
490
- if (nextItem) {
491
- setTimeout(function () {
492
- return nextItem.ref.current.focus();
493
- });
494
- }
495
- }),
496
- _useTypeaheadSearch4 = _slicedToArray(_useTypeaheadSearch3, 2),
497
- searchRef = _useTypeaheadSearch4[0],
498
- handleTypeaheadSearch = _useTypeaheadSearch4[1];
499
- var itemRefCallback = useCallback(function (node, value, disabled) {
500
- var isFirstValidItem = !firstValidItemFoundRef.current && !disabled;
501
- var isSelectedItem = context.value !== void 0 && context.value === value;
502
- if (isSelectedItem || isFirstValidItem) {
503
- setSelectedItem(node);
504
- if (isFirstValidItem) firstValidItemFoundRef.current = true;
505
- }
506
- }, [context.value]);
507
- var handleItemLeave = useCallback(function () {
508
- return content === null || content === void 0 ? void 0 : content.focus();
509
- }, [content]);
510
- var itemTextRefCallback = useCallback(function (node, value, disabled) {
511
- var isFirstValidItem = !firstValidItemFoundRef.current && !disabled;
512
- var isSelectedItem = context.value !== void 0 && context.value === value;
513
- if (isSelectedItem || isFirstValidItem) {
514
- setSelectedItemText(node);
515
- }
516
- }, [context.value]);
517
- var SelectPosition = position === "popper" ? SelectPopperPosition : SelectItemAlignedPosition;
518
- var popperContentProps = SelectPosition === SelectPopperPosition ? {
519
- side: side,
520
- sideOffset: sideOffset,
521
- align: align,
522
- alignOffset: alignOffset,
523
- arrowPadding: arrowPadding,
524
- collisionBoundary: collisionBoundary,
525
- collisionPadding: collisionPadding,
526
- sticky: sticky,
527
- hideWhenDetached: hideWhenDetached,
528
- avoidCollisions: avoidCollisions
529
- } : {};
530
- return /* @__PURE__ */jsx(SelectContentProvider, {
531
- scope: __scopeSelect,
532
- content: content,
533
- viewport: viewport,
534
- onViewportChange: setViewport,
535
- itemRefCallback: itemRefCallback,
536
- selectedItem: selectedItem,
537
- onItemLeave: handleItemLeave,
538
- itemTextRefCallback: itemTextRefCallback,
539
- focusSelectedItem: focusSelectedItem,
540
- selectedItemText: selectedItemText,
541
- position: position,
542
- isPositioned: isPositioned,
543
- searchRef: searchRef,
544
- children: /* @__PURE__ */jsx(ReactRemoveScroll, {
545
- as: Slot,
546
- allowPinchZoom: true,
547
- children: /* @__PURE__ */jsx(FocusScope, {
548
- asChild: true,
549
- trapped: context.open,
550
- onMountAutoFocus: function onMountAutoFocus(event) {
551
- event.preventDefault();
552
- },
553
- onUnmountAutoFocus: composeEventHandlers(onCloseAutoFocus, function (event) {
554
- var _context$trigger;
555
- (_context$trigger = context.trigger) === null || _context$trigger === void 0 ? void 0 : _context$trigger.focus({
556
- preventScroll: true
557
- });
558
- event.preventDefault();
559
- }),
560
- children: /* @__PURE__ */jsx(DismissableLayer, {
561
- asChild: true,
562
- disableOutsidePointerEvents: true,
563
- onEscapeKeyDown: onEscapeKeyDown,
564
- onPointerDownOutside: onPointerDownOutside,
565
- onFocusOutside: function onFocusOutside(event) {
566
- return event.preventDefault();
567
- },
568
- onDismiss: function onDismiss() {
569
- return context.onOpenChange(false);
570
- },
571
- children: /* @__PURE__ */jsx(SelectPosition, _objectSpread2(_objectSpread2(_objectSpread2({
572
- role: "listbox",
573
- id: context.contentId,
574
- "data-state": context.open ? "open" : "closed",
575
- dir: context.dir,
576
- onContextMenu: function onContextMenu(event) {
577
- return event.preventDefault();
578
- }
579
- }, contentProps), popperContentProps), {}, {
580
- onPlaced: function onPlaced() {
581
- return setIsPositioned(true);
582
- },
583
- ref: composedRefs,
584
- style: _objectSpread2({
585
- // flex layout so we can place the scroll buttons properly
586
- display: "flex",
587
- flexDirection: "column",
588
- // reset the outline by default as the content MAY get focused
589
- outline: "none"
590
- }, contentProps.style),
591
- onKeyDown: composeEventHandlers(contentProps.onKeyDown, function (event) {
592
- var isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
593
- if (event.key === "Tab") event.preventDefault();
594
- if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);
595
- if (["ArrowUp", "ArrowDown", "Home", "End"].includes(event.key)) {
596
- var items = getItems().filter(function (item) {
597
- return !item.disabled;
598
- });
599
- var candidateNodes = items.map(function (item) {
600
- return item.ref.current;
601
- });
602
- if (["ArrowUp", "End"].includes(event.key)) {
603
- candidateNodes = candidateNodes.slice().reverse();
604
- }
605
- if (["ArrowUp", "ArrowDown"].includes(event.key)) {
606
- var currentElement = event.target;
607
- var currentIndex = candidateNodes.indexOf(currentElement);
608
- candidateNodes = candidateNodes.slice(currentIndex + 1);
609
- }
610
- setTimeout(function () {
611
- return focusFirst(candidateNodes);
612
- });
613
- event.preventDefault();
614
- }
615
- })
616
- }))
617
- })
618
- })
619
- })
620
- });
621
- });
622
- SelectContentImpl.displayName = CONTENT_IMPL_NAME;
623
- var ITEM_ALIGNED_POSITION_NAME = "SelectItemAlignedPosition";
624
- var SelectItemAlignedPosition = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
625
- var __scopeSelect = props.__scopeSelect,
626
- onPlaced = props.onPlaced,
627
- popperProps = _objectWithoutProperties(props, _excluded5);
628
- var context = useSelectContext(CONTENT_NAME, __scopeSelect);
629
- var contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);
630
- var _React$useState21 = useState(null),
631
- _React$useState22 = _slicedToArray(_React$useState21, 2),
632
- contentWrapper = _React$useState22[0],
633
- setContentWrapper = _React$useState22[1];
634
- var _React$useState23 = useState(null),
635
- _React$useState24 = _slicedToArray(_React$useState23, 2),
636
- content = _React$useState24[0],
637
- setContent = _React$useState24[1];
638
- var composedRefs = useComposedRefs(forwardedRef, function (node) {
639
- return setContent(node);
640
- });
641
- var getItems = useCollection(__scopeSelect);
642
- var shouldExpandOnScrollRef = useRef(false);
643
- var shouldRepositionRef = useRef(true);
644
- var viewport = contentContext.viewport,
645
- selectedItem = contentContext.selectedItem,
646
- selectedItemText = contentContext.selectedItemText,
647
- focusSelectedItem = contentContext.focusSelectedItem;
648
- var position = useCallback(function () {
649
- if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {
650
- var triggerRect = context.trigger.getBoundingClientRect();
651
- var contentRect = content.getBoundingClientRect();
652
- var valueNodeRect = context.valueNode.getBoundingClientRect();
653
- var itemTextRect = selectedItemText.getBoundingClientRect();
654
- if (context.dir !== "rtl") {
655
- var itemTextOffset = itemTextRect.left - contentRect.left;
656
- var left = valueNodeRect.left - itemTextOffset;
657
- var leftDelta = triggerRect.left - left;
658
- var minContentWidth = triggerRect.width + leftDelta;
659
- var contentWidth = Math.max(minContentWidth, contentRect.width);
660
- var rightEdge = window.innerWidth - CONTENT_MARGIN;
661
- var clampedLeft = clamp(left, [CONTENT_MARGIN,
662
- // Prevents the content from going off the starting edge of the
663
- // viewport. It may still go off the ending edge, but this can be
664
- // controlled by the user since they may want to manage overflow in a
665
- // specific way.
666
- // https://github.com/radix-ui/primitives/issues/2049
667
- Math.max(CONTENT_MARGIN, rightEdge - contentWidth)]);
668
- contentWrapper.style.minWidth = minContentWidth + "px";
669
- contentWrapper.style.left = clampedLeft + "px";
670
- } else {
671
- var _itemTextOffset = contentRect.right - itemTextRect.right;
672
- var right = window.innerWidth - valueNodeRect.right - _itemTextOffset;
673
- var rightDelta = window.innerWidth - triggerRect.right - right;
674
- var _minContentWidth = triggerRect.width + rightDelta;
675
- var _contentWidth = Math.max(_minContentWidth, contentRect.width);
676
- var leftEdge = window.innerWidth - CONTENT_MARGIN;
677
- var clampedRight = clamp(right, [CONTENT_MARGIN, Math.max(CONTENT_MARGIN, leftEdge - _contentWidth)]);
678
- contentWrapper.style.minWidth = _minContentWidth + "px";
679
- contentWrapper.style.right = clampedRight + "px";
680
- }
681
- var items = getItems();
682
- var availableHeight = window.innerHeight - CONTENT_MARGIN * 2;
683
- var itemsHeight = viewport.scrollHeight;
684
- var contentStyles = window.getComputedStyle(content);
685
- var contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);
686
- var contentPaddingTop = parseInt(contentStyles.paddingTop, 10);
687
- var contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);
688
- var contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);
689
- var fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;
690
- var minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);
691
- var viewportStyles = window.getComputedStyle(viewport);
692
- var viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);
693
- var viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);
694
- var topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;
695
- var triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;
696
- var selectedItemHalfHeight = selectedItem.offsetHeight / 2;
697
- var itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;
698
- var contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;
699
- var itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;
700
- var willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;
701
- if (willAlignWithoutTopOverflow) {
702
- var isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;
703
- contentWrapper.style.bottom = "0px";
704
- var viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;
705
- var clampedTriggerMiddleToBottomEdge = Math.max(triggerMiddleToBottomEdge, selectedItemHalfHeight + (
706
- // viewport might have padding bottom, include it to avoid a scrollable viewport
707
- isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth);
708
- var height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;
709
- contentWrapper.style.height = height + "px";
710
- } else {
711
- var isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;
712
- contentWrapper.style.top = "0px";
713
- var clampedTopEdgeToTriggerMiddle = Math.max(topEdgeToTriggerMiddle, contentBorderTopWidth + viewport.offsetTop + (
714
- // viewport might have padding top, include it to avoid a scrollable viewport
715
- isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight);
716
- var _height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;
717
- contentWrapper.style.height = _height + "px";
718
- viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;
719
- }
720
- contentWrapper.style.margin = "".concat(CONTENT_MARGIN, "px 0");
721
- contentWrapper.style.minHeight = minContentHeight + "px";
722
- contentWrapper.style.maxHeight = availableHeight + "px";
723
- onPlaced === null || onPlaced === void 0 ? void 0 : onPlaced();
724
- requestAnimationFrame(function () {
725
- return shouldExpandOnScrollRef.current = true;
726
- });
727
- }
728
- }, [getItems, context.trigger, context.valueNode, contentWrapper, content, viewport, selectedItem, selectedItemText, context.dir, onPlaced]);
729
- useLayoutEffect2(function () {
730
- return position();
731
- }, [position]);
732
- var _React$useState25 = useState(),
733
- _React$useState26 = _slicedToArray(_React$useState25, 2),
734
- contentZIndex = _React$useState26[0],
735
- setContentZIndex = _React$useState26[1];
736
- useLayoutEffect2(function () {
737
- if (content) setContentZIndex(window.getComputedStyle(content).zIndex);
738
- }, [content]);
739
- var handleScrollButtonChange = useCallback(function (node) {
740
- if (node && shouldRepositionRef.current === true) {
741
- position();
742
- focusSelectedItem === null || focusSelectedItem === void 0 ? void 0 : focusSelectedItem();
743
- shouldRepositionRef.current = false;
744
- }
745
- }, [position, focusSelectedItem]);
746
- return /* @__PURE__ */jsx(SelectViewportProvider, {
747
- scope: __scopeSelect,
748
- contentWrapper: contentWrapper,
749
- shouldExpandOnScrollRef: shouldExpandOnScrollRef,
750
- onScrollButtonChange: handleScrollButtonChange,
751
- children: /* @__PURE__ */jsx("div", {
752
- ref: setContentWrapper,
753
- style: {
754
- display: "flex",
755
- flexDirection: "column",
756
- position: "fixed",
757
- zIndex: contentZIndex
758
- },
759
- children: /* @__PURE__ */jsx(Primitive.div, _objectSpread2(_objectSpread2({}, popperProps), {}, {
760
- ref: composedRefs,
761
- style: _objectSpread2({
762
- // When we get the height of the content, it includes borders. If we were to set
763
- // the height without having `boxSizing: 'border-box'` it would be too big.
764
- boxSizing: "border-box",
765
- // We need to ensure the content doesn't get taller than the wrapper
766
- maxHeight: "100%"
767
- }, popperProps.style)
768
- }))
769
- })
770
- });
771
- });
772
- SelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;
773
- var POPPER_POSITION_NAME = "SelectPopperPosition";
774
- var SelectPopperPosition = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
775
- var __scopeSelect = props.__scopeSelect,
776
- _props$align = props.align,
777
- align = _props$align === void 0 ? "start" : _props$align,
778
- _props$collisionPaddi = props.collisionPadding,
779
- collisionPadding = _props$collisionPaddi === void 0 ? CONTENT_MARGIN : _props$collisionPaddi,
780
- popperProps = _objectWithoutProperties(props, _excluded6);
781
- var popperScope = usePopperScope(__scopeSelect);
782
- return /* @__PURE__ */jsx(Content, _objectSpread2(_objectSpread2(_objectSpread2({}, popperScope), popperProps), {}, {
783
- ref: forwardedRef,
784
- align: align,
785
- collisionPadding: collisionPadding,
786
- style: _objectSpread2(_objectSpread2({
787
- // Ensure border-box for floating-ui calculations
788
- boxSizing: "border-box"
789
- }, popperProps.style), {
790
- "--radix-select-content-transform-origin": "var(--radix-popper-transform-origin)",
791
- "--radix-select-content-available-width": "var(--radix-popper-available-width)",
792
- "--radix-select-content-available-height": "var(--radix-popper-available-height)",
793
- "--radix-select-trigger-width": "var(--radix-popper-anchor-width)",
794
- "--radix-select-trigger-height": "var(--radix-popper-anchor-height)"
795
- })
796
- }));
797
- });
798
- SelectPopperPosition.displayName = POPPER_POSITION_NAME;
799
- var _createSelectContext7 = createSelectContext(CONTENT_NAME, {}),
800
- _createSelectContext8 = _slicedToArray(_createSelectContext7, 2),
801
- SelectViewportProvider = _createSelectContext8[0],
802
- useSelectViewportContext = _createSelectContext8[1];
803
- var VIEWPORT_NAME = "SelectViewport";
804
- var SelectViewport = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
805
- var __scopeSelect = props.__scopeSelect,
806
- nonce = props.nonce,
807
- viewportProps = _objectWithoutProperties(props, _excluded7);
808
- var contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);
809
- var viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);
810
- var composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);
811
- var prevScrollTopRef = useRef(0);
812
- return /* @__PURE__ */jsxs(Fragment, {
813
- children: [/* @__PURE__ */jsx("style", {
814
- dangerouslySetInnerHTML: {
815
- __html: "[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"
816
- },
817
- nonce: nonce
818
- }), /* @__PURE__ */jsx(Collection.Slot, {
819
- scope: __scopeSelect,
820
- children: /* @__PURE__ */jsx(Primitive.div, _objectSpread2(_objectSpread2({
821
- "data-radix-select-viewport": "",
822
- role: "presentation"
823
- }, viewportProps), {}, {
824
- ref: composedRefs,
825
- style: _objectSpread2({
826
- // we use position: 'relative' here on the `viewport` so that when we call
827
- // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport
828
- // (independent of the scrollUpButton).
829
- position: "relative",
830
- flex: 1,
831
- // Viewport should only be scrollable in the vertical direction.
832
- // This won't work in vertical writing modes, so we'll need to
833
- // revisit this if/when that is supported
834
- // https://developer.chrome.com/blog/vertical-form-controls
835
- overflow: "hidden auto"
836
- }, viewportProps.style),
837
- onScroll: composeEventHandlers(viewportProps.onScroll, function (event) {
838
- var viewport = event.currentTarget;
839
- var contentWrapper = viewportContext.contentWrapper,
840
- shouldExpandOnScrollRef = viewportContext.shouldExpandOnScrollRef;
841
- if (shouldExpandOnScrollRef !== null && shouldExpandOnScrollRef !== void 0 && shouldExpandOnScrollRef.current && contentWrapper) {
842
- var scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);
843
- if (scrolledBy > 0) {
844
- var availableHeight = window.innerHeight - CONTENT_MARGIN * 2;
845
- var cssMinHeight = parseFloat(contentWrapper.style.minHeight);
846
- var cssHeight = parseFloat(contentWrapper.style.height);
847
- var prevHeight = Math.max(cssMinHeight, cssHeight);
848
- if (prevHeight < availableHeight) {
849
- var nextHeight = prevHeight + scrolledBy;
850
- var clampedNextHeight = Math.min(availableHeight, nextHeight);
851
- var heightDiff = nextHeight - clampedNextHeight;
852
- contentWrapper.style.height = clampedNextHeight + "px";
853
- if (contentWrapper.style.bottom === "0px") {
854
- viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;
855
- contentWrapper.style.justifyContent = "flex-end";
856
- }
857
- }
858
- }
859
- }
860
- prevScrollTopRef.current = viewport.scrollTop;
861
- })
862
- }))
863
- })]
864
- });
865
- });
866
- SelectViewport.displayName = VIEWPORT_NAME;
867
- var GROUP_NAME = "SelectGroup";
868
- var _createSelectContext9 = createSelectContext(GROUP_NAME),
869
- _createSelectContext10 = _slicedToArray(_createSelectContext9, 2),
870
- SelectGroupContextProvider = _createSelectContext10[0],
871
- useSelectGroupContext = _createSelectContext10[1];
872
- var SelectGroup = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
873
- var __scopeSelect = props.__scopeSelect,
874
- groupProps = _objectWithoutProperties(props, _excluded8);
875
- var groupId = useId();
876
- return /* @__PURE__ */jsx(SelectGroupContextProvider, {
877
- scope: __scopeSelect,
878
- id: groupId,
879
- children: /* @__PURE__ */jsx(Primitive.div, _objectSpread2(_objectSpread2({
880
- role: "group",
881
- "aria-labelledby": groupId
882
- }, groupProps), {}, {
883
- ref: forwardedRef
884
- }))
885
- });
886
- });
887
- SelectGroup.displayName = GROUP_NAME;
888
- var LABEL_NAME = "SelectLabel";
889
- var SelectLabel = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
890
- var __scopeSelect = props.__scopeSelect,
891
- labelProps = _objectWithoutProperties(props, _excluded9);
892
- var groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);
893
- return /* @__PURE__ */jsx(Primitive.div, _objectSpread2(_objectSpread2({
894
- id: groupContext.id
895
- }, labelProps), {}, {
896
- ref: forwardedRef
897
- }));
898
- });
899
- SelectLabel.displayName = LABEL_NAME;
900
- var ITEM_NAME = "SelectItem";
901
- var _createSelectContext11 = createSelectContext(ITEM_NAME),
902
- _createSelectContext12 = _slicedToArray(_createSelectContext11, 2),
903
- SelectItemContextProvider = _createSelectContext12[0],
904
- useSelectItemContext = _createSelectContext12[1];
905
- var SelectItem = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
906
- var __scopeSelect = props.__scopeSelect,
907
- value = props.value,
908
- _props$disabled2 = props.disabled,
909
- disabled = _props$disabled2 === void 0 ? false : _props$disabled2,
910
- textValueProp = props.textValue,
911
- itemProps = _objectWithoutProperties(props, _excluded10);
912
- var context = useSelectContext(ITEM_NAME, __scopeSelect);
913
- var contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);
914
- var isSelected = context.value === value;
915
- var _React$useState27 = useState(textValueProp !== null && textValueProp !== void 0 ? textValueProp : ""),
916
- _React$useState28 = _slicedToArray(_React$useState27, 2),
917
- textValue = _React$useState28[0],
918
- setTextValue = _React$useState28[1];
919
- var _React$useState29 = useState(false),
920
- _React$useState30 = _slicedToArray(_React$useState29, 2),
921
- isFocused = _React$useState30[0],
922
- setIsFocused = _React$useState30[1];
923
- var composedRefs = useComposedRefs(forwardedRef, function (node) {
924
- var _contentContext$itemR;
925
- return (_contentContext$itemR = contentContext.itemRefCallback) === null || _contentContext$itemR === void 0 ? void 0 : _contentContext$itemR.call(contentContext, node, value, disabled);
926
- });
927
- var textId = useId();
928
- var pointerTypeRef = useRef("touch");
929
- var handleSelect = function handleSelect() {
930
- if (!disabled) {
931
- context.onValueChange(value);
932
- context.onOpenChange(false);
933
- }
934
- };
935
- if (value === "") {
936
- 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.");
937
- }
938
- return /* @__PURE__ */jsx(SelectItemContextProvider, {
939
- scope: __scopeSelect,
940
- value: value,
941
- disabled: disabled,
942
- textId: textId,
943
- isSelected: isSelected,
944
- onItemTextChange: useCallback(function (node) {
945
- setTextValue(function (prevTextValue) {
946
- var _node$textContent;
947
- return prevTextValue || ((_node$textContent = node === null || node === void 0 ? void 0 : node.textContent) !== null && _node$textContent !== void 0 ? _node$textContent : "").trim();
948
- });
949
- }, []),
950
- children: /* @__PURE__ */jsx(Collection.ItemSlot, {
951
- scope: __scopeSelect,
952
- value: value,
953
- disabled: disabled,
954
- textValue: textValue,
955
- children: /* @__PURE__ */jsx(Primitive.div, _objectSpread2(_objectSpread2({
956
- role: "option",
957
- "aria-labelledby": textId,
958
- "data-highlighted": isFocused ? "" : void 0,
959
- "aria-selected": isSelected && isFocused,
960
- "data-state": isSelected ? "checked" : "unchecked",
961
- "aria-disabled": disabled || void 0,
962
- "data-disabled": disabled ? "" : void 0,
963
- tabIndex: disabled ? void 0 : -1
964
- }, itemProps), {}, {
965
- ref: composedRefs,
966
- onFocus: composeEventHandlers(itemProps.onFocus, function () {
967
- return setIsFocused(true);
968
- }),
969
- onBlur: composeEventHandlers(itemProps.onBlur, function () {
970
- return setIsFocused(false);
971
- }),
972
- onClick: composeEventHandlers(itemProps.onClick, function () {
973
- if (pointerTypeRef.current !== "mouse") handleSelect();
974
- }),
975
- onPointerUp: composeEventHandlers(itemProps.onPointerUp, function () {
976
- if (pointerTypeRef.current === "mouse") handleSelect();
977
- }),
978
- onPointerDown: composeEventHandlers(itemProps.onPointerDown, function (event) {
979
- pointerTypeRef.current = event.pointerType;
980
- }),
981
- onPointerMove: composeEventHandlers(itemProps.onPointerMove, function (event) {
982
- pointerTypeRef.current = event.pointerType;
983
- if (disabled) {
984
- var _contentContext$onIte;
985
- (_contentContext$onIte = contentContext.onItemLeave) === null || _contentContext$onIte === void 0 ? void 0 : _contentContext$onIte.call(contentContext);
986
- } else if (pointerTypeRef.current === "mouse") {
987
- event.currentTarget.focus({
988
- preventScroll: true
989
- });
990
- }
991
- }),
992
- onPointerLeave: composeEventHandlers(itemProps.onPointerLeave, function (event) {
993
- if (event.currentTarget === document.activeElement) {
994
- var _contentContext$onIte2;
995
- (_contentContext$onIte2 = contentContext.onItemLeave) === null || _contentContext$onIte2 === void 0 ? void 0 : _contentContext$onIte2.call(contentContext);
996
- }
997
- }),
998
- onKeyDown: composeEventHandlers(itemProps.onKeyDown, function (event) {
999
- var _contentContext$searc;
1000
- var isTypingAhead = ((_contentContext$searc = contentContext.searchRef) === null || _contentContext$searc === void 0 ? void 0 : _contentContext$searc.current) !== "";
1001
- if (isTypingAhead && event.key === " ") return;
1002
- if (SELECTION_KEYS.includes(event.key)) handleSelect();
1003
- if (event.key === " ") event.preventDefault();
1004
- })
1005
- }))
1006
- })
1007
- });
1008
- });
1009
- SelectItem.displayName = ITEM_NAME;
1010
- var ITEM_TEXT_NAME = "SelectItemText";
1011
- var SelectItemText = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
1012
- var __scopeSelect = props.__scopeSelect,
1013
- className = props.className,
1014
- style = props.style,
1015
- itemTextProps = _objectWithoutProperties(props, _excluded11);
1016
- var context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);
1017
- var contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);
1018
- var itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);
1019
- var nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);
1020
- var _React$useState31 = useState(null),
1021
- _React$useState32 = _slicedToArray(_React$useState31, 2),
1022
- itemTextNode = _React$useState32[0],
1023
- setItemTextNode = _React$useState32[1];
1024
- var composedRefs = useComposedRefs(forwardedRef, function (node) {
1025
- return setItemTextNode(node);
1026
- }, itemContext.onItemTextChange, function (node) {
1027
- var _contentContext$itemT;
1028
- return (_contentContext$itemT = contentContext.itemTextRefCallback) === null || _contentContext$itemT === void 0 ? void 0 : _contentContext$itemT.call(contentContext, node, itemContext.value, itemContext.disabled);
1029
- });
1030
- var textContent = itemTextNode === null || itemTextNode === void 0 ? void 0 : itemTextNode.textContent;
1031
- var nativeOption = useMemo(function () {
1032
- return /* @__PURE__ */jsx("option", {
1033
- value: itemContext.value,
1034
- disabled: itemContext.disabled,
1035
- children: textContent
1036
- }, itemContext.value);
1037
- }, [itemContext.disabled, itemContext.value, textContent]);
1038
- var onNativeOptionAdd = nativeOptionsContext.onNativeOptionAdd,
1039
- onNativeOptionRemove = nativeOptionsContext.onNativeOptionRemove;
1040
- useLayoutEffect2(function () {
1041
- onNativeOptionAdd(nativeOption);
1042
- return function () {
1043
- return onNativeOptionRemove(nativeOption);
1044
- };
1045
- }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);
1046
- return /* @__PURE__ */jsxs(Fragment, {
1047
- children: [/* @__PURE__ */jsx(Primitive.span, _objectSpread2(_objectSpread2({
1048
- id: itemContext.textId
1049
- }, itemTextProps), {}, {
1050
- ref: composedRefs
1051
- })), itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? /*#__PURE__*/createPortal(itemTextProps.children, context.valueNode) : null]
1052
- });
1053
- });
1054
- SelectItemText.displayName = ITEM_TEXT_NAME;
1055
- var ITEM_INDICATOR_NAME = "SelectItemIndicator";
1056
- var SelectItemIndicator = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
1057
- var __scopeSelect = props.__scopeSelect,
1058
- itemIndicatorProps = _objectWithoutProperties(props, _excluded12);
1059
- var itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);
1060
- return itemContext.isSelected ? /* @__PURE__ */jsx(Primitive.span, _objectSpread2(_objectSpread2({
1061
- "aria-hidden": true
1062
- }, itemIndicatorProps), {}, {
1063
- ref: forwardedRef
1064
- })) : null;
1065
- });
1066
- SelectItemIndicator.displayName = ITEM_INDICATOR_NAME;
1067
- var SCROLL_UP_BUTTON_NAME = "SelectScrollUpButton";
1068
- var SelectScrollUpButton = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
1069
- var contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);
1070
- var viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);
1071
- var _React$useState33 = useState(false),
1072
- _React$useState34 = _slicedToArray(_React$useState33, 2),
1073
- canScrollUp = _React$useState34[0],
1074
- setCanScrollUp = _React$useState34[1];
1075
- var composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);
1076
- useLayoutEffect2(function () {
1077
- if (contentContext.viewport && contentContext.isPositioned) {
1078
- var handleScroll2 = function handleScroll2() {
1079
- var canScrollUp2 = viewport.scrollTop > 0;
1080
- setCanScrollUp(canScrollUp2);
1081
- };
1082
- var viewport = contentContext.viewport;
1083
- handleScroll2();
1084
- viewport.addEventListener("scroll", handleScroll2);
1085
- return function () {
1086
- return viewport.removeEventListener("scroll", handleScroll2);
1087
- };
1088
- }
1089
- }, [contentContext.viewport, contentContext.isPositioned]);
1090
- return canScrollUp ? /* @__PURE__ */jsx(SelectScrollButtonImpl, _objectSpread2(_objectSpread2({}, props), {}, {
1091
- ref: composedRefs,
1092
- onAutoScroll: function onAutoScroll() {
1093
- var viewport = contentContext.viewport,
1094
- selectedItem = contentContext.selectedItem;
1095
- if (viewport && selectedItem) {
1096
- viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;
1097
- }
1098
- }
1099
- })) : null;
1100
- });
1101
- SelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;
1102
- var SCROLL_DOWN_BUTTON_NAME = "SelectScrollDownButton";
1103
- var SelectScrollDownButton = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
1104
- var contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);
1105
- var viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);
1106
- var _React$useState35 = useState(false),
1107
- _React$useState36 = _slicedToArray(_React$useState35, 2),
1108
- canScrollDown = _React$useState36[0],
1109
- setCanScrollDown = _React$useState36[1];
1110
- var composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);
1111
- useLayoutEffect2(function () {
1112
- if (contentContext.viewport && contentContext.isPositioned) {
1113
- var handleScroll2 = function handleScroll2() {
1114
- var maxScroll = viewport.scrollHeight - viewport.clientHeight;
1115
- var canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;
1116
- setCanScrollDown(canScrollDown2);
1117
- };
1118
- var viewport = contentContext.viewport;
1119
- handleScroll2();
1120
- viewport.addEventListener("scroll", handleScroll2);
1121
- return function () {
1122
- return viewport.removeEventListener("scroll", handleScroll2);
1123
- };
1124
- }
1125
- }, [contentContext.viewport, contentContext.isPositioned]);
1126
- return canScrollDown ? /* @__PURE__ */jsx(SelectScrollButtonImpl, _objectSpread2(_objectSpread2({}, props), {}, {
1127
- ref: composedRefs,
1128
- onAutoScroll: function onAutoScroll() {
1129
- var viewport = contentContext.viewport,
1130
- selectedItem = contentContext.selectedItem;
1131
- if (viewport && selectedItem) {
1132
- viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;
1133
- }
1134
- }
1135
- })) : null;
1136
- });
1137
- SelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;
1138
- var SelectScrollButtonImpl = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
1139
- var __scopeSelect = props.__scopeSelect,
1140
- onAutoScroll = props.onAutoScroll,
1141
- scrollIndicatorProps = _objectWithoutProperties(props, _excluded13);
1142
- var contentContext = useSelectContentContext("SelectScrollButton", __scopeSelect);
1143
- var autoScrollTimerRef = useRef(null);
1144
- var getItems = useCollection(__scopeSelect);
1145
- var clearAutoScrollTimer = useCallback(function () {
1146
- if (autoScrollTimerRef.current !== null) {
1147
- window.clearInterval(autoScrollTimerRef.current);
1148
- autoScrollTimerRef.current = null;
1149
- }
1150
- }, []);
1151
- useEffect(function () {
1152
- return function () {
1153
- return clearAutoScrollTimer();
1154
- };
1155
- }, [clearAutoScrollTimer]);
1156
- useLayoutEffect2(function () {
1157
- var _activeItem$ref$curre;
1158
- var activeItem = getItems().find(function (item) {
1159
- return item.ref.current === document.activeElement;
1160
- });
1161
- activeItem === null || activeItem === void 0 ? void 0 : (_activeItem$ref$curre = activeItem.ref.current) === null || _activeItem$ref$curre === void 0 ? void 0 : _activeItem$ref$curre.scrollIntoView({
1162
- block: "nearest"
1163
- });
1164
- }, [getItems]);
1165
- return /* @__PURE__ */jsx(Primitive.div, _objectSpread2(_objectSpread2({
1166
- "aria-hidden": true
1167
- }, scrollIndicatorProps), {}, {
1168
- ref: forwardedRef,
1169
- style: _objectSpread2({
1170
- flexShrink: 0
1171
- }, scrollIndicatorProps.style),
1172
- onPointerDown: composeEventHandlers(scrollIndicatorProps.onPointerDown, function () {
1173
- if (autoScrollTimerRef.current === null) {
1174
- autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);
1175
- }
1176
- }),
1177
- onPointerMove: composeEventHandlers(scrollIndicatorProps.onPointerMove, function () {
1178
- var _contentContext$onIte3;
1179
- (_contentContext$onIte3 = contentContext.onItemLeave) === null || _contentContext$onIte3 === void 0 ? void 0 : _contentContext$onIte3.call(contentContext);
1180
- if (autoScrollTimerRef.current === null) {
1181
- autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);
1182
- }
1183
- }),
1184
- onPointerLeave: composeEventHandlers(scrollIndicatorProps.onPointerLeave, function () {
1185
- clearAutoScrollTimer();
1186
- })
1187
- }));
1188
- });
1189
- var SEPARATOR_NAME = "SelectSeparator";
1190
- var SelectSeparator = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
1191
- var __scopeSelect = props.__scopeSelect,
1192
- separatorProps = _objectWithoutProperties(props, _excluded14);
1193
- return /* @__PURE__ */jsx(Primitive.div, _objectSpread2(_objectSpread2({
1194
- "aria-hidden": true
1195
- }, separatorProps), {}, {
1196
- ref: forwardedRef
1197
- }));
1198
- });
1199
- SelectSeparator.displayName = SEPARATOR_NAME;
1200
- var ARROW_NAME = "SelectArrow";
1201
- var SelectArrow = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
1202
- var __scopeSelect = props.__scopeSelect,
1203
- arrowProps = _objectWithoutProperties(props, _excluded15);
1204
- var popperScope = usePopperScope(__scopeSelect);
1205
- var context = useSelectContext(ARROW_NAME, __scopeSelect);
1206
- var contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);
1207
- return context.open && contentContext.position === "popper" ? /* @__PURE__ */jsx(Arrow, _objectSpread2(_objectSpread2(_objectSpread2({}, popperScope), arrowProps), {}, {
1208
- ref: forwardedRef
1209
- })) : null;
1210
- });
1211
- SelectArrow.displayName = ARROW_NAME;
1212
- function shouldShowPlaceholder(value) {
1213
- return value === "" || value === void 0;
1214
- }
1215
- var BubbleSelect = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
1216
- var value = props.value,
1217
- selectProps = _objectWithoutProperties(props, _excluded16);
1218
- var ref = useRef(null);
1219
- var composedRefs = useComposedRefs(forwardedRef, ref);
1220
- var prevValue = usePrevious(value);
1221
- useEffect(function () {
1222
- var select = ref.current;
1223
- var selectProto = window.HTMLSelectElement.prototype;
1224
- var descriptor = Object.getOwnPropertyDescriptor(selectProto, "value");
1225
- var setValue = descriptor.set;
1226
- if (prevValue !== value && setValue) {
1227
- var event = new Event("change", {
1228
- bubbles: true
1229
- });
1230
- setValue.call(select, value);
1231
- select.dispatchEvent(event);
1232
- }
1233
- }, [prevValue, value]);
1234
- return /* @__PURE__ */jsx(VisuallyHidden, {
1235
- asChild: true,
1236
- children: /* @__PURE__ */jsx("select", _objectSpread2(_objectSpread2({}, selectProps), {}, {
1237
- ref: composedRefs,
1238
- defaultValue: value
1239
- }))
1240
- });
1241
- });
1242
- BubbleSelect.displayName = "BubbleSelect";
1243
- function useTypeaheadSearch(onSearchChange) {
1244
- var handleSearchChange = useCallbackRef(onSearchChange);
1245
- var searchRef = useRef("");
1246
- var timerRef = useRef(0);
1247
- var handleTypeaheadSearch = useCallback(function (key) {
1248
- var search = searchRef.current + key;
1249
- handleSearchChange(search);
1250
- (function updateSearch(value) {
1251
- searchRef.current = value;
1252
- window.clearTimeout(timerRef.current);
1253
- if (value !== "") timerRef.current = window.setTimeout(function () {
1254
- return updateSearch("");
1255
- }, 1e3);
1256
- })(search);
1257
- }, [handleSearchChange]);
1258
- var resetTypeahead = useCallback(function () {
1259
- searchRef.current = "";
1260
- window.clearTimeout(timerRef.current);
1261
- }, []);
1262
- useEffect(function () {
1263
- return function () {
1264
- return window.clearTimeout(timerRef.current);
1265
- };
1266
- }, []);
1267
- return [searchRef, handleTypeaheadSearch, resetTypeahead];
1268
- }
1269
- function findNextItem(items, search, currentItem) {
1270
- var isRepeated = search.length > 1 && Array.from(search).every(function (char) {
1271
- return char === search[0];
1272
- });
1273
- var normalizedSearch = isRepeated ? search[0] : search;
1274
- var currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;
1275
- var wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));
1276
- var excludeCurrentItem = normalizedSearch.length === 1;
1277
- if (excludeCurrentItem) wrappedItems = wrappedItems.filter(function (v) {
1278
- return v !== currentItem;
1279
- });
1280
- var nextItem = wrappedItems.find(function (item) {
1281
- return item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase());
1282
- });
1283
- return nextItem !== currentItem ? nextItem : void 0;
1284
- }
1285
- function wrapArray(array, startIndex) {
1286
- return array.map(function (_, index) {
1287
- return array[(startIndex + index) % array.length];
1288
- });
1289
- }
1290
- var Root2 = Select;
1291
- var Trigger = SelectTrigger;
1292
- var Value = SelectValue;
1293
- var Icon = SelectIcon;
1294
- var Portal = SelectPortal;
1295
- var Content2 = SelectContent;
1296
- var Viewport = SelectViewport;
1297
- var Item = SelectItem;
1298
- var ItemText = SelectItemText;
1299
- var ItemIndicator = SelectItemIndicator;
1300
-
1301
- export { Content2 as Content, Icon, Item, ItemIndicator, ItemText, Portal, Root2 as Root, Select, SelectArrow, SelectContent, SelectGroup, SelectIcon, SelectItem, SelectItemIndicator, SelectItemText, SelectLabel, SelectPortal, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SelectViewport, Trigger, Value, Viewport, createSelectScope };
1302
- //# sourceMappingURL=index.mjs.js.map