lecom-ui 5.4.25 → 5.4.26

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