@helpwave/hightide 0.1.26 → 0.1.28

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 (336) hide show
  1. package/dist/coloring/index.d.mts +2 -0
  2. package/dist/coloring/index.d.ts +2 -0
  3. package/dist/coloring/index.js +85 -0
  4. package/dist/coloring/index.js.map +1 -0
  5. package/dist/coloring/index.mjs +48 -0
  6. package/dist/coloring/index.mjs.map +1 -0
  7. package/dist/components/branding/index.d.mts +3 -0
  8. package/dist/components/branding/index.d.ts +3 -0
  9. package/dist/components/branding/index.js +140 -0
  10. package/dist/components/branding/index.js.map +1 -0
  11. package/dist/components/branding/index.mjs +104 -0
  12. package/dist/components/branding/index.mjs.map +1 -0
  13. package/dist/components/date/DatePicker.js +1 -1
  14. package/dist/components/date/DatePicker.js.map +1 -1
  15. package/dist/components/date/DatePicker.mjs +1 -1
  16. package/dist/components/date/DatePicker.mjs.map +1 -1
  17. package/dist/components/date/YearMonthPicker.js +1 -1
  18. package/dist/components/date/YearMonthPicker.js.map +1 -1
  19. package/dist/components/date/YearMonthPicker.mjs +1 -1
  20. package/dist/components/date/YearMonthPicker.mjs.map +1 -1
  21. package/dist/components/date/index.d.mts +10 -0
  22. package/dist/components/date/index.d.ts +10 -0
  23. package/dist/components/date/index.js +1168 -0
  24. package/dist/components/date/index.js.map +1 -0
  25. package/dist/components/date/index.mjs +1124 -0
  26. package/dist/components/date/index.mjs.map +1 -0
  27. package/dist/components/dialog/ConfirmDialog.d.mts +1 -1
  28. package/dist/components/dialog/ConfirmDialog.d.ts +1 -1
  29. package/dist/components/dialog/ConfirmDialog.js +2 -2
  30. package/dist/components/dialog/ConfirmDialog.js.map +1 -1
  31. package/dist/components/dialog/ConfirmDialog.mjs +2 -2
  32. package/dist/components/dialog/ConfirmDialog.mjs.map +1 -1
  33. package/dist/components/dialog/Dialog.d.mts +1 -1
  34. package/dist/components/dialog/Dialog.d.ts +1 -1
  35. package/dist/components/dialog/Dialog.js +2 -2
  36. package/dist/components/dialog/Dialog.js.map +1 -1
  37. package/dist/components/dialog/Dialog.mjs +2 -2
  38. package/dist/components/dialog/Dialog.mjs.map +1 -1
  39. package/dist/components/dialog/DiscardChangesDialog.d.mts +1 -1
  40. package/dist/components/dialog/DiscardChangesDialog.d.ts +1 -1
  41. package/dist/components/dialog/DiscardChangesDialog.js +2 -2
  42. package/dist/components/dialog/DiscardChangesDialog.js.map +1 -1
  43. package/dist/components/dialog/DiscardChangesDialog.mjs +2 -2
  44. package/dist/components/dialog/DiscardChangesDialog.mjs.map +1 -1
  45. package/dist/components/dialog/InputDialog.d.mts +1 -1
  46. package/dist/components/dialog/InputDialog.d.ts +1 -1
  47. package/dist/components/dialog/InputDialog.js +2 -2
  48. package/dist/components/dialog/InputDialog.js.map +1 -1
  49. package/dist/components/dialog/InputDialog.mjs +2 -2
  50. package/dist/components/dialog/InputDialog.mjs.map +1 -1
  51. package/dist/components/dialog/LanguageDialog.d.mts +1 -1
  52. package/dist/components/dialog/LanguageDialog.d.ts +1 -1
  53. package/dist/components/dialog/LanguageDialog.js +28 -15
  54. package/dist/components/dialog/LanguageDialog.js.map +1 -1
  55. package/dist/components/dialog/LanguageDialog.mjs +28 -15
  56. package/dist/components/dialog/LanguageDialog.mjs.map +1 -1
  57. package/dist/components/dialog/ThemeDialog.d.mts +1 -1
  58. package/dist/components/dialog/ThemeDialog.d.ts +1 -1
  59. package/dist/components/dialog/ThemeDialog.js +69 -33
  60. package/dist/components/dialog/ThemeDialog.js.map +1 -1
  61. package/dist/components/dialog/ThemeDialog.mjs +60 -24
  62. package/dist/components/dialog/ThemeDialog.mjs.map +1 -1
  63. package/dist/components/dialog/index.d.mts +1 -1
  64. package/dist/components/dialog/index.d.ts +1 -1
  65. package/dist/components/dialog/index.js +61 -25
  66. package/dist/components/dialog/index.js.map +1 -1
  67. package/dist/components/dialog/index.mjs +61 -25
  68. package/dist/components/dialog/index.mjs.map +1 -1
  69. package/dist/components/form/index.d.mts +5 -0
  70. package/dist/components/form/index.d.ts +5 -0
  71. package/dist/components/form/index.js +100 -0
  72. package/dist/components/form/index.js.map +1 -0
  73. package/dist/components/form/index.mjs +64 -0
  74. package/dist/components/form/index.mjs.map +1 -0
  75. package/dist/components/icons-and-geometry/index.d.mts +7 -0
  76. package/dist/components/icons-and-geometry/index.d.ts +7 -0
  77. package/dist/components/icons-and-geometry/index.js +3955 -0
  78. package/dist/components/icons-and-geometry/index.js.map +1 -0
  79. package/dist/components/icons-and-geometry/index.mjs +3939 -0
  80. package/dist/components/icons-and-geometry/index.mjs.map +1 -0
  81. package/dist/components/index.d.mts +83 -0
  82. package/dist/components/index.d.ts +83 -0
  83. package/dist/components/index.js +15471 -0
  84. package/dist/components/index.js.map +1 -0
  85. package/dist/components/index.mjs +15377 -0
  86. package/dist/components/index.mjs.map +1 -0
  87. package/dist/components/layout/Carousel.d.mts +33 -0
  88. package/dist/components/layout/Carousel.d.ts +33 -0
  89. package/dist/components/layout/Carousel.js +684 -0
  90. package/dist/components/layout/Carousel.js.map +1 -0
  91. package/dist/components/layout/Carousel.mjs +659 -0
  92. package/dist/components/layout/Carousel.mjs.map +1 -0
  93. package/dist/components/{layout-and-navigation → layout}/Chip.js +1 -1
  94. package/dist/components/layout/Chip.js.map +1 -0
  95. package/dist/components/{layout-and-navigation → layout}/Chip.mjs +1 -1
  96. package/dist/components/layout/Chip.mjs.map +1 -0
  97. package/dist/components/{layout-and-navigation → layout}/DividerInserter.js +1 -1
  98. package/dist/components/layout/DividerInserter.js.map +1 -0
  99. package/dist/components/{layout-and-navigation → layout}/DividerInserter.mjs +1 -1
  100. package/dist/components/layout/DividerInserter.mjs.map +1 -0
  101. package/dist/components/{layout-and-navigation → layout}/Expandable.js +2 -2
  102. package/dist/components/layout/Expandable.js.map +1 -0
  103. package/dist/components/{layout-and-navigation → layout}/Expandable.mjs +2 -2
  104. package/dist/components/layout/Expandable.mjs.map +1 -0
  105. package/dist/components/{layout-and-navigation → layout}/FAQSection.js +5 -5
  106. package/dist/components/layout/FAQSection.js.map +1 -0
  107. package/dist/components/{layout-and-navigation → layout}/FAQSection.mjs +5 -5
  108. package/dist/components/layout/FAQSection.mjs.map +1 -0
  109. package/dist/components/{layout-and-navigation → layout}/FloatingContainer.js +2 -2
  110. package/dist/components/layout/FloatingContainer.js.map +1 -0
  111. package/dist/components/{layout-and-navigation → layout}/FloatingContainer.mjs +2 -2
  112. package/dist/components/layout/FloatingContainer.mjs.map +1 -0
  113. package/dist/components/{layout-and-navigation → layout}/ListBox.js +2 -2
  114. package/dist/components/layout/ListBox.js.map +1 -0
  115. package/dist/components/{layout-and-navigation → layout}/ListBox.mjs +2 -2
  116. package/dist/components/layout/ListBox.mjs.map +1 -0
  117. package/dist/components/{layout-and-navigation → layout}/MarkdownInterpreter.js +1 -1
  118. package/dist/components/layout/MarkdownInterpreter.js.map +1 -0
  119. package/dist/components/{layout-and-navigation → layout}/MarkdownInterpreter.mjs +1 -1
  120. package/dist/components/layout/MarkdownInterpreter.mjs.map +1 -0
  121. package/dist/components/{layout-and-navigation → layout}/ScrollArea.js +2 -2
  122. package/dist/components/layout/ScrollArea.js.map +1 -0
  123. package/dist/components/{layout-and-navigation → layout}/ScrollArea.mjs +1 -1
  124. package/dist/components/layout/ScrollArea.mjs.map +1 -0
  125. package/dist/components/{layout-and-navigation → layout}/TextImage.js +3 -3
  126. package/dist/components/layout/TextImage.js.map +1 -0
  127. package/dist/components/{layout-and-navigation → layout}/TextImage.mjs +2 -2
  128. package/dist/components/layout/TextImage.mjs.map +1 -0
  129. package/dist/components/{layout-and-navigation → layout}/VerticalDivider.js +1 -1
  130. package/dist/components/layout/VerticalDivider.js.map +1 -0
  131. package/dist/components/{layout-and-navigation → layout}/VerticalDivider.mjs +1 -1
  132. package/dist/components/layout/VerticalDivider.mjs.map +1 -0
  133. package/dist/components/layout/index.d.mts +18 -0
  134. package/dist/components/layout/index.d.ts +18 -0
  135. package/dist/components/layout/index.js +3111 -0
  136. package/dist/components/layout/index.js.map +1 -0
  137. package/dist/components/layout/index.mjs +3064 -0
  138. package/dist/components/layout/index.mjs.map +1 -0
  139. package/dist/components/loading-states/index.d.mts +12 -0
  140. package/dist/components/loading-states/index.d.ts +12 -0
  141. package/dist/components/loading-states/index.js +614 -0
  142. package/dist/components/loading-states/index.js.map +1 -0
  143. package/dist/components/loading-states/index.mjs +573 -0
  144. package/dist/components/loading-states/index.mjs.map +1 -0
  145. package/dist/components/{layout-and-navigation → navigation}/BreadCrumb.js +1 -1
  146. package/dist/components/navigation/BreadCrumb.js.map +1 -0
  147. package/dist/components/{layout-and-navigation → navigation}/BreadCrumb.mjs +1 -1
  148. package/dist/components/navigation/BreadCrumb.mjs.map +1 -0
  149. package/dist/components/navigation/Navigation.d.mts +21 -0
  150. package/dist/components/navigation/Navigation.d.ts +21 -0
  151. package/dist/components/navigation/Navigation.js +4018 -0
  152. package/dist/components/navigation/Navigation.js.map +1 -0
  153. package/dist/components/navigation/Navigation.mjs +4012 -0
  154. package/dist/components/navigation/Navigation.mjs.map +1 -0
  155. package/dist/components/{layout-and-navigation → navigation}/Pagination.js +3 -3
  156. package/dist/components/navigation/Pagination.js.map +1 -0
  157. package/dist/components/{layout-and-navigation → navigation}/Pagination.mjs +3 -3
  158. package/dist/components/navigation/Pagination.mjs.map +1 -0
  159. package/dist/components/{layout-and-navigation → navigation}/StepperBar.js +3 -3
  160. package/dist/components/navigation/StepperBar.js.map +1 -0
  161. package/dist/components/{layout-and-navigation → navigation}/StepperBar.mjs +3 -3
  162. package/dist/components/navigation/StepperBar.mjs.map +1 -0
  163. package/dist/components/navigation/index.d.mts +9 -0
  164. package/dist/components/navigation/index.d.ts +9 -0
  165. package/dist/components/navigation/index.js +4660 -0
  166. package/dist/components/navigation/index.js.map +1 -0
  167. package/dist/components/navigation/index.mjs +4648 -0
  168. package/dist/components/navigation/index.mjs.map +1 -0
  169. package/dist/components/properties/MultiSelectProperty.js +27 -14
  170. package/dist/components/properties/MultiSelectProperty.js.map +1 -1
  171. package/dist/components/properties/MultiSelectProperty.mjs +27 -14
  172. package/dist/components/properties/MultiSelectProperty.mjs.map +1 -1
  173. package/dist/components/properties/SelectProperty.js +27 -14
  174. package/dist/components/properties/SelectProperty.js.map +1 -1
  175. package/dist/components/properties/SelectProperty.mjs +27 -14
  176. package/dist/components/properties/SelectProperty.mjs.map +1 -1
  177. package/dist/components/properties/index.d.mts +12 -0
  178. package/dist/components/properties/index.d.ts +12 -0
  179. package/dist/components/properties/index.js +2983 -0
  180. package/dist/components/properties/index.js.map +1 -0
  181. package/dist/components/properties/index.mjs +2951 -0
  182. package/dist/components/properties/index.mjs.map +1 -0
  183. package/dist/components/table/Table.js +1 -1
  184. package/dist/components/table/Table.js.map +1 -1
  185. package/dist/components/table/Table.mjs +1 -1
  186. package/dist/components/table/Table.mjs.map +1 -1
  187. package/dist/components/table/index.d.mts +10 -0
  188. package/dist/components/table/index.d.ts +10 -0
  189. package/dist/components/table/index.js +2329 -0
  190. package/dist/components/table/index.js.map +1 -0
  191. package/dist/components/table/index.mjs +2293 -0
  192. package/dist/components/table/index.mjs.map +1 -0
  193. package/dist/components/user-action/DateAndTimePicker.js +1 -1
  194. package/dist/components/user-action/DateAndTimePicker.js.map +1 -1
  195. package/dist/components/user-action/DateAndTimePicker.mjs +1 -1
  196. package/dist/components/user-action/DateAndTimePicker.mjs.map +1 -1
  197. package/dist/components/user-action/index.d.mts +30 -0
  198. package/dist/components/user-action/index.d.ts +30 -0
  199. package/dist/components/user-action/index.js +4257 -0
  200. package/dist/components/user-action/index.js.map +1 -0
  201. package/dist/components/user-action/index.mjs +4195 -0
  202. package/dist/components/user-action/index.mjs.map +1 -0
  203. package/dist/components/user-action/input/index.d.mts +6 -0
  204. package/dist/components/user-action/input/index.d.ts +6 -0
  205. package/dist/components/user-action/input/index.js +398 -0
  206. package/dist/components/user-action/input/index.js.map +1 -0
  207. package/dist/components/user-action/input/index.mjs +357 -0
  208. package/dist/components/user-action/input/index.mjs.map +1 -0
  209. package/dist/components/user-action/select/Select.d.mts +5 -1
  210. package/dist/components/user-action/select/Select.d.ts +5 -1
  211. package/dist/components/user-action/select/Select.js +27 -14
  212. package/dist/components/user-action/select/Select.js.map +1 -1
  213. package/dist/components/user-action/select/Select.mjs +27 -14
  214. package/dist/components/user-action/select/Select.mjs.map +1 -1
  215. package/dist/components/user-action/select/index.d.mts +4 -0
  216. package/dist/components/user-action/select/index.d.ts +4 -0
  217. package/dist/components/user-action/select/index.js +1369 -0
  218. package/dist/components/user-action/select/index.js.map +1 -0
  219. package/dist/components/user-action/select/index.mjs +1333 -0
  220. package/dist/components/user-action/select/index.mjs.map +1 -0
  221. package/dist/components/utils/index.d.mts +4 -0
  222. package/dist/components/utils/index.d.ts +4 -0
  223. package/dist/components/utils/index.js +302 -0
  224. package/dist/components/utils/index.js.map +1 -0
  225. package/dist/components/utils/index.mjs +275 -0
  226. package/dist/components/utils/index.mjs.map +1 -0
  227. package/dist/hooks/focus/index.d.mts +6 -0
  228. package/dist/hooks/focus/index.d.ts +6 -0
  229. package/dist/hooks/focus/index.js +379 -0
  230. package/dist/hooks/focus/index.js.map +1 -0
  231. package/dist/hooks/focus/index.mjs +339 -0
  232. package/dist/hooks/focus/index.mjs.map +1 -0
  233. package/dist/hooks/index.d.mts +16 -0
  234. package/dist/hooks/index.d.ts +16 -0
  235. package/dist/hooks/index.js +844 -0
  236. package/dist/hooks/index.js.map +1 -0
  237. package/dist/hooks/index.mjs +794 -0
  238. package/dist/hooks/index.mjs.map +1 -0
  239. package/dist/index.d.mts +110 -0
  240. package/dist/index.d.ts +110 -0
  241. package/dist/index.js +16101 -0
  242. package/dist/index.js.map +1 -0
  243. package/dist/index.mjs +15941 -0
  244. package/dist/index.mjs.map +1 -0
  245. package/dist/localization/defaults/index.d.mts +4 -0
  246. package/dist/localization/defaults/index.d.ts +4 -0
  247. package/dist/localization/defaults/index.js +223 -0
  248. package/dist/localization/defaults/index.js.map +1 -0
  249. package/dist/localization/defaults/index.mjs +195 -0
  250. package/dist/localization/defaults/index.mjs.map +1 -0
  251. package/dist/localization/index.d.mts +7 -0
  252. package/dist/localization/index.d.ts +7 -0
  253. package/dist/localization/index.js +415 -0
  254. package/dist/localization/index.js.map +1 -0
  255. package/dist/localization/index.mjs +380 -0
  256. package/dist/localization/index.mjs.map +1 -0
  257. package/dist/style/globals.css +63 -10
  258. package/dist/style/uncompiled/globals.css +5 -4
  259. package/dist/style/uncompiled/utitlity/shadow.css +4 -0
  260. package/dist/theming/index.d.mts +5 -0
  261. package/dist/theming/index.d.ts +5 -0
  262. package/dist/theming/index.js +174 -0
  263. package/dist/theming/index.js.map +1 -0
  264. package/dist/theming/index.mjs +145 -0
  265. package/dist/theming/index.mjs.map +1 -0
  266. package/dist/theming/useTheme.d.mts +3 -1
  267. package/dist/theming/useTheme.d.ts +3 -1
  268. package/dist/theming/useTheme.js +40 -17
  269. package/dist/theming/useTheme.js.map +1 -1
  270. package/dist/theming/useTheme.mjs +38 -15
  271. package/dist/theming/useTheme.mjs.map +1 -1
  272. package/dist/utils/index.d.mts +15 -0
  273. package/dist/utils/index.d.ts +15 -0
  274. package/dist/utils/index.js +553 -0
  275. package/dist/utils/index.js.map +1 -0
  276. package/dist/utils/index.mjs +493 -0
  277. package/dist/utils/index.mjs.map +1 -0
  278. package/package.json +25 -24
  279. package/dist/components/layout-and-navigation/BreadCrumb.js.map +0 -1
  280. package/dist/components/layout-and-navigation/BreadCrumb.mjs.map +0 -1
  281. package/dist/components/layout-and-navigation/Carousel.d.mts +0 -25
  282. package/dist/components/layout-and-navigation/Carousel.d.ts +0 -25
  283. package/dist/components/layout-and-navigation/Carousel.js +0 -643
  284. package/dist/components/layout-and-navigation/Carousel.js.map +0 -1
  285. package/dist/components/layout-and-navigation/Carousel.mjs +0 -609
  286. package/dist/components/layout-and-navigation/Carousel.mjs.map +0 -1
  287. package/dist/components/layout-and-navigation/Chip.js.map +0 -1
  288. package/dist/components/layout-and-navigation/Chip.mjs.map +0 -1
  289. package/dist/components/layout-and-navigation/DividerInserter.js.map +0 -1
  290. package/dist/components/layout-and-navigation/DividerInserter.mjs.map +0 -1
  291. package/dist/components/layout-and-navigation/Expandable.js.map +0 -1
  292. package/dist/components/layout-and-navigation/Expandable.mjs.map +0 -1
  293. package/dist/components/layout-and-navigation/FAQSection.js.map +0 -1
  294. package/dist/components/layout-and-navigation/FAQSection.mjs.map +0 -1
  295. package/dist/components/layout-and-navigation/FloatingContainer.js.map +0 -1
  296. package/dist/components/layout-and-navigation/FloatingContainer.mjs.map +0 -1
  297. package/dist/components/layout-and-navigation/ListBox.js.map +0 -1
  298. package/dist/components/layout-and-navigation/ListBox.mjs.map +0 -1
  299. package/dist/components/layout-and-navigation/MarkdownInterpreter.js.map +0 -1
  300. package/dist/components/layout-and-navigation/MarkdownInterpreter.mjs.map +0 -1
  301. package/dist/components/layout-and-navigation/Pagination.js.map +0 -1
  302. package/dist/components/layout-and-navigation/Pagination.mjs.map +0 -1
  303. package/dist/components/layout-and-navigation/ScrollArea.js.map +0 -1
  304. package/dist/components/layout-and-navigation/ScrollArea.mjs.map +0 -1
  305. package/dist/components/layout-and-navigation/StepperBar.js.map +0 -1
  306. package/dist/components/layout-and-navigation/StepperBar.mjs.map +0 -1
  307. package/dist/components/layout-and-navigation/TextImage.js.map +0 -1
  308. package/dist/components/layout-and-navigation/TextImage.mjs.map +0 -1
  309. package/dist/components/layout-and-navigation/VerticalDivider.js.map +0 -1
  310. package/dist/components/layout-and-navigation/VerticalDivider.mjs.map +0 -1
  311. /package/dist/components/{layout-and-navigation → layout}/Chip.d.mts +0 -0
  312. /package/dist/components/{layout-and-navigation → layout}/Chip.d.ts +0 -0
  313. /package/dist/components/{layout-and-navigation → layout}/DividerInserter.d.mts +0 -0
  314. /package/dist/components/{layout-and-navigation → layout}/DividerInserter.d.ts +0 -0
  315. /package/dist/components/{layout-and-navigation → layout}/Expandable.d.mts +0 -0
  316. /package/dist/components/{layout-and-navigation → layout}/Expandable.d.ts +0 -0
  317. /package/dist/components/{layout-and-navigation → layout}/FAQSection.d.mts +0 -0
  318. /package/dist/components/{layout-and-navigation → layout}/FAQSection.d.ts +0 -0
  319. /package/dist/components/{layout-and-navigation → layout}/FloatingContainer.d.mts +0 -0
  320. /package/dist/components/{layout-and-navigation → layout}/FloatingContainer.d.ts +0 -0
  321. /package/dist/components/{layout-and-navigation → layout}/ListBox.d.mts +0 -0
  322. /package/dist/components/{layout-and-navigation → layout}/ListBox.d.ts +0 -0
  323. /package/dist/components/{layout-and-navigation → layout}/MarkdownInterpreter.d.mts +0 -0
  324. /package/dist/components/{layout-and-navigation → layout}/MarkdownInterpreter.d.ts +0 -0
  325. /package/dist/components/{layout-and-navigation → layout}/ScrollArea.d.mts +0 -0
  326. /package/dist/components/{layout-and-navigation → layout}/ScrollArea.d.ts +0 -0
  327. /package/dist/components/{layout-and-navigation → layout}/TextImage.d.mts +0 -0
  328. /package/dist/components/{layout-and-navigation → layout}/TextImage.d.ts +0 -0
  329. /package/dist/components/{layout-and-navigation → layout}/VerticalDivider.d.mts +0 -0
  330. /package/dist/components/{layout-and-navigation → layout}/VerticalDivider.d.ts +0 -0
  331. /package/dist/components/{layout-and-navigation → navigation}/BreadCrumb.d.mts +0 -0
  332. /package/dist/components/{layout-and-navigation → navigation}/BreadCrumb.d.ts +0 -0
  333. /package/dist/components/{layout-and-navigation → navigation}/Pagination.d.mts +0 -0
  334. /package/dist/components/{layout-and-navigation → navigation}/Pagination.d.ts +0 -0
  335. /package/dist/components/{layout-and-navigation → navigation}/StepperBar.d.mts +0 -0
  336. /package/dist/components/{layout-and-navigation → navigation}/StepperBar.d.ts +0 -0
@@ -0,0 +1,357 @@
1
+ // src/components/user-action/input/Input.tsx
2
+ import { forwardRef, useEffect as useEffect2, useImperativeHandle, useRef, useState as useState2 } from "react";
3
+ import clsx from "clsx";
4
+
5
+ // src/hooks/useDelay.ts
6
+ import { useEffect, useState } from "react";
7
+ var defaultOptions = {
8
+ delay: 3e3,
9
+ disabled: false
10
+ };
11
+ function useDelay(options) {
12
+ const [timer, setTimer] = useState(void 0);
13
+ const { delay, disabled } = {
14
+ ...defaultOptions,
15
+ ...options
16
+ };
17
+ const clearTimer = () => {
18
+ clearTimeout(timer);
19
+ setTimer(void 0);
20
+ };
21
+ const restartTimer = (onDelayFinish) => {
22
+ if (disabled) {
23
+ return;
24
+ }
25
+ clearTimeout(timer);
26
+ setTimer(setTimeout(() => {
27
+ onDelayFinish();
28
+ setTimer(void 0);
29
+ }, delay));
30
+ };
31
+ useEffect(() => {
32
+ return () => {
33
+ clearTimeout(timer);
34
+ };
35
+ }, [timer]);
36
+ useEffect(() => {
37
+ if (disabled) {
38
+ clearTimeout(timer);
39
+ setTimer(void 0);
40
+ }
41
+ }, [disabled, timer]);
42
+ return { restartTimer, clearTimer, hasActiveTimer: !!timer };
43
+ }
44
+
45
+ // src/hooks/focus/useFocusManagement.ts
46
+ import { useCallback } from "react";
47
+ function useFocusManagement() {
48
+ const getFocusableElements = useCallback(() => {
49
+ return Array.from(
50
+ document.querySelectorAll(
51
+ 'input, button, select, textarea, a[href], [tabindex]:not([tabindex="-1"])'
52
+ )
53
+ ).filter(
54
+ (el) => el instanceof HTMLElement && !el.hasAttribute("disabled") && !el.hasAttribute("hidden") && el.tabIndex !== -1
55
+ );
56
+ }, []);
57
+ const getNextFocusElement = useCallback(() => {
58
+ const elements = getFocusableElements();
59
+ if (elements.length === 0) {
60
+ return void 0;
61
+ }
62
+ let nextElement = elements[0];
63
+ if (document.activeElement instanceof HTMLElement) {
64
+ const currentIndex = elements.indexOf(document.activeElement);
65
+ nextElement = elements[(currentIndex + 1) % elements.length];
66
+ }
67
+ return nextElement;
68
+ }, [getFocusableElements]);
69
+ const focusNext = useCallback(() => {
70
+ const nextElement = getNextFocusElement();
71
+ nextElement?.focus();
72
+ }, [getNextFocusElement]);
73
+ const getPreviousFocusElement = useCallback(() => {
74
+ const elements = getFocusableElements();
75
+ if (elements.length === 0) {
76
+ return void 0;
77
+ }
78
+ let previousElement = elements[0];
79
+ if (document.activeElement instanceof HTMLElement) {
80
+ const currentIndex = elements.indexOf(document.activeElement);
81
+ if (currentIndex === 0) {
82
+ previousElement = elements[elements.length - 1];
83
+ } else {
84
+ previousElement = elements[currentIndex - 1];
85
+ }
86
+ }
87
+ return previousElement;
88
+ }, [getFocusableElements]);
89
+ const focusPrevious = useCallback(() => {
90
+ const previousElement = getPreviousFocusElement();
91
+ if (previousElement) previousElement.focus();
92
+ }, [getPreviousFocusElement]);
93
+ return {
94
+ getFocusableElements,
95
+ getNextFocusElement,
96
+ getPreviousFocusElement,
97
+ focusNext,
98
+ focusPrevious
99
+ };
100
+ }
101
+
102
+ // src/components/user-action/input/Input.tsx
103
+ import { jsx } from "react/jsx-runtime";
104
+ var defaultEditCompleteOptions = {
105
+ allowEnterComplete: false,
106
+ onBlur: true,
107
+ afterDelay: true,
108
+ delay: 2500
109
+ };
110
+ var Input = forwardRef(function Input2({
111
+ value,
112
+ onChange,
113
+ onChangeText,
114
+ onEditCompleted,
115
+ editCompleteOptions,
116
+ disabled = false,
117
+ invalid = false,
118
+ defaultStyle = true,
119
+ className,
120
+ ...props
121
+ }, forwardedRef) {
122
+ const {
123
+ onBlur: allowEditCompleteOnBlur,
124
+ afterDelay,
125
+ delay,
126
+ allowEnterComplete
127
+ } = { ...defaultEditCompleteOptions, ...editCompleteOptions };
128
+ const {
129
+ restartTimer,
130
+ clearTimer
131
+ } = useDelay({ delay, disabled: !afterDelay });
132
+ const innerRef = useRef(null);
133
+ useImperativeHandle(forwardedRef, () => innerRef.current);
134
+ const { focusNext } = useFocusManagement();
135
+ return /* @__PURE__ */ jsx(
136
+ "input",
137
+ {
138
+ ...props,
139
+ ref: innerRef,
140
+ value,
141
+ disabled,
142
+ className: defaultStyle ? clsx(
143
+ "px-2.5 py-1.75 rounded-md border-1 text-sm",
144
+ {
145
+ "bg-input-background text-input-text hover:border-primary focus:border-primary": !disabled && !invalid,
146
+ "bg-on-negative text-negative border-negative-border hover:border-negative-border-hover focus-visible:ring-negative-border": !disabled && invalid,
147
+ "bg-disabled-background text-disabled-text border-disabled-border": disabled
148
+ },
149
+ className
150
+ ) : className,
151
+ onKeyDown: (event) => {
152
+ props.onKeyDown?.(event);
153
+ if (!allowEnterComplete) {
154
+ return;
155
+ }
156
+ if (event.key === "Enter" && !event.shiftKey) {
157
+ event.preventDefault();
158
+ innerRef.current?.blur();
159
+ onEditCompleted?.(event.target.value);
160
+ focusNext();
161
+ }
162
+ },
163
+ onBlur: (event) => {
164
+ props.onBlur?.(event);
165
+ if (allowEditCompleteOnBlur) {
166
+ onEditCompleted?.(event.target.value);
167
+ clearTimer();
168
+ }
169
+ },
170
+ onChange: (event) => {
171
+ onChange?.(event);
172
+ const value2 = event.target.value;
173
+ restartTimer(() => {
174
+ innerRef.current?.blur();
175
+ onEditCompleted?.(value2);
176
+ });
177
+ onChangeText?.(value2);
178
+ },
179
+ "aria-invalid": props["aria-invalid"] ?? invalid,
180
+ "aria-disabled": props["aria-disabled"] ?? disabled
181
+ }
182
+ );
183
+ });
184
+ var InputUncontrolled = ({
185
+ value = "",
186
+ onChangeText,
187
+ ...props
188
+ }) => {
189
+ const [usedValue, setUsedValue] = useState2(value);
190
+ useEffect2(() => {
191
+ setUsedValue(value);
192
+ }, [value]);
193
+ return /* @__PURE__ */ jsx(
194
+ Input,
195
+ {
196
+ ...props,
197
+ value: usedValue,
198
+ onChangeText: (text) => {
199
+ onChangeText?.(text);
200
+ setUsedValue(text);
201
+ }
202
+ }
203
+ );
204
+ };
205
+
206
+ // src/components/user-action/input/InsideLabelInput.tsx
207
+ import { useId } from "react";
208
+ import { forwardRef as forwardRef2, useEffect as useEffect3, useState as useState3 } from "react";
209
+ import clsx2 from "clsx";
210
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
211
+ var InsideLabelInput = forwardRef2(function InsideLabelInput2({
212
+ id: customId,
213
+ label,
214
+ ...props
215
+ }, forwardedRef) {
216
+ const { value } = props;
217
+ const [isFocused, setIsFocused] = useState3(false);
218
+ const generatedId = useId();
219
+ const id = customId ?? generatedId;
220
+ return /* @__PURE__ */ jsxs("div", { className: clsx2("relative"), children: [
221
+ /* @__PURE__ */ jsx2(
222
+ Input,
223
+ {
224
+ ...props,
225
+ id,
226
+ className: clsx2("h-14 px-4 pb-2 py-6.5", props.className),
227
+ ref: forwardedRef,
228
+ "aria-labelledby": id + "-label",
229
+ onFocus: (event) => {
230
+ props.onFocus?.(event);
231
+ setIsFocused(true);
232
+ },
233
+ onBlur: (event) => {
234
+ props.onBlur?.(event);
235
+ setIsFocused(false);
236
+ }
237
+ }
238
+ ),
239
+ /* @__PURE__ */ jsx2(
240
+ "label",
241
+ {
242
+ id: id + "-label",
243
+ "aria-hidden": true,
244
+ "data-display": isFocused || !!value ? "small" : "full",
245
+ className: clsx2(
246
+ "absolute left-4 top-2 transition-all pointer-events-none touch-none",
247
+ "data-[display=small]:top-2 data-[display=small]:h-force-4.5 data-[display=small]:typography-caption-sm-regular data-[display=small]:overflow-y-hidden",
248
+ "data-[display=full]:top-1/2 data-[display=full]:-translate-y-1/2 data-[display=full]:typography-body-md-regular"
249
+ ),
250
+ children: label
251
+ }
252
+ )
253
+ ] });
254
+ });
255
+ var InsideLabelInputUncontrolled = ({
256
+ value: initialValue,
257
+ ...props
258
+ }) => {
259
+ const [value, setValue] = useState3(initialValue);
260
+ useEffect3(() => {
261
+ setValue(initialValue);
262
+ }, [initialValue]);
263
+ return /* @__PURE__ */ jsx2(
264
+ InsideLabelInput,
265
+ {
266
+ ...props,
267
+ value,
268
+ onChangeText: (text) => {
269
+ props.onChangeText?.(text);
270
+ setValue(text);
271
+ }
272
+ }
273
+ );
274
+ };
275
+
276
+ // src/components/user-action/input/ToggleableInput.tsx
277
+ import { forwardRef as forwardRef3, useEffect as useEffect4, useImperativeHandle as useImperativeHandle2, useRef as useRef2, useState as useState4 } from "react";
278
+ import { Pencil } from "lucide-react";
279
+ import clsx3 from "clsx";
280
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
281
+ var ToggleableInput = forwardRef3(function ToggleableInput2({
282
+ value,
283
+ initialState = "display",
284
+ editCompleteOptions,
285
+ ...props
286
+ }, forwardedRef) {
287
+ const [isEditing, setIsEditing] = useState4(initialState !== "display");
288
+ const innerRef = useRef2(null);
289
+ useImperativeHandle2(forwardedRef, () => innerRef.current);
290
+ useEffect4(() => {
291
+ if (isEditing) {
292
+ innerRef.current?.focus();
293
+ }
294
+ }, [isEditing]);
295
+ return /* @__PURE__ */ jsxs2("div", { className: clsx3("relative flex-row-2", { "flex-1": isEditing }), children: [
296
+ /* @__PURE__ */ jsx3(
297
+ Input,
298
+ {
299
+ ...props,
300
+ ref: innerRef,
301
+ value,
302
+ onEditCompleted: (text) => {
303
+ props.onEditCompleted?.(text);
304
+ setIsEditing(false);
305
+ },
306
+ onFocus: (event) => {
307
+ props.onFocus?.(event);
308
+ setIsEditing(true);
309
+ event.target.select();
310
+ },
311
+ editCompleteOptions: {
312
+ ...editCompleteOptions,
313
+ allowEnterComplete: true
314
+ },
315
+ className: clsx3(`w-full ring-0 outline-0 decoration-primary underline-offset-4`, {
316
+ "underline": isEditing,
317
+ "text-transparent": !isEditing
318
+ }),
319
+ defaultStyle: false
320
+ }
321
+ ),
322
+ !isEditing && /* @__PURE__ */ jsxs2("div", { className: "absolute left-0 flex-row-2 items-center pointer-events-none touch-none w-full overflow-hidden", children: [
323
+ /* @__PURE__ */ jsx3("span", { className: clsx3(" truncate"), children: value }),
324
+ /* @__PURE__ */ jsx3(Pencil, { className: clsx3(`size-force-4`, { "text-transparent": isEditing }) })
325
+ ] })
326
+ ] });
327
+ });
328
+ var ToggleableInputUncontrolled = ({
329
+ value: initialValue,
330
+ onChangeText,
331
+ ...restProps
332
+ }) => {
333
+ const [value, setValue] = useState4(initialValue);
334
+ useEffect4(() => {
335
+ setValue(initialValue);
336
+ }, [initialValue]);
337
+ return /* @__PURE__ */ jsx3(
338
+ ToggleableInput,
339
+ {
340
+ value,
341
+ onChangeText: (text) => {
342
+ onChangeText?.(text);
343
+ setValue(text);
344
+ },
345
+ ...restProps
346
+ }
347
+ );
348
+ };
349
+ export {
350
+ Input,
351
+ InputUncontrolled,
352
+ InsideLabelInput,
353
+ InsideLabelInputUncontrolled,
354
+ ToggleableInput,
355
+ ToggleableInputUncontrolled
356
+ };
357
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/user-action/input/Input.tsx","../../../../src/hooks/useDelay.ts","../../../../src/hooks/focus/useFocusManagement.ts","../../../../src/components/user-action/input/InsideLabelInput.tsx","../../../../src/components/user-action/input/ToggleableInput.tsx"],"sourcesContent":["import type { InputHTMLAttributes } from 'react'\nimport React, { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react'\nimport clsx from 'clsx'\nimport type { UseDelayOptionsResolved } from '@/src/hooks/useDelay'\nimport { useDelay } from '@/src/hooks/useDelay'\nimport { useFocusManagement } from '@/src/hooks/focus/useFocusManagement'\n\nexport type EditCompleteOptionsResolved = {\n onBlur: boolean,\n afterDelay: boolean,\n allowEnterComplete?: boolean,\n} & Omit<UseDelayOptionsResolved, 'disabled'>\n\nexport type EditCompleteOptions = Partial<EditCompleteOptionsResolved>\n\nconst defaultEditCompleteOptions: EditCompleteOptionsResolved = {\n allowEnterComplete: false,\n onBlur: true,\n afterDelay: true,\n delay: 2500\n}\n\nexport type InputProps = InputHTMLAttributes<HTMLInputElement> & {\n invalid?: boolean,\n onChangeText?: (text: string) => void,\n onEditCompleted?: (text: string) => void,\n editCompleteOptions?: EditCompleteOptions,\n defaultStyle?: boolean,\n}\n\n/**\n * A Component for inputting text or other information\n *\n * Its state is managed must be managed by the parent\n */\nexport const Input = forwardRef<HTMLInputElement, InputProps>(function Input({\n value,\n onChange,\n onChangeText,\n onEditCompleted,\n editCompleteOptions,\n disabled = false,\n invalid = false,\n defaultStyle = true,\n className,\n ...props\n }, forwardedRef) {\n const {\n onBlur: allowEditCompleteOnBlur,\n afterDelay,\n delay,\n allowEnterComplete\n } = { ...defaultEditCompleteOptions, ...editCompleteOptions }\n\n const {\n restartTimer,\n clearTimer\n } = useDelay({ delay, disabled: !afterDelay })\n\n const innerRef = useRef<HTMLInputElement>(null)\n useImperativeHandle(forwardedRef, () => innerRef.current)\n\n const { focusNext } = useFocusManagement()\n\n return (\n <input\n {...props}\n ref={innerRef}\n value={value}\n disabled={disabled}\n className={defaultStyle ? clsx(\n 'px-2.5 py-1.75 rounded-md border-1 text-sm',\n {\n 'bg-input-background text-input-text hover:border-primary focus:border-primary': !disabled && !invalid,\n 'bg-on-negative text-negative border-negative-border hover:border-negative-border-hover focus-visible:ring-negative-border': !disabled && invalid,\n 'bg-disabled-background text-disabled-text border-disabled-border': disabled,\n }, className\n ) : className}\n onKeyDown={event => {\n props.onKeyDown?.(event)\n if (!allowEnterComplete) {\n return\n }\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault()\n innerRef.current?.blur()\n onEditCompleted?.((event.target as HTMLInputElement).value)\n focusNext()\n }\n }}\n onBlur={event => {\n props.onBlur?.(event)\n if (allowEditCompleteOnBlur) {\n onEditCompleted?.(event.target.value)\n clearTimer()\n }\n }}\n onChange={event => {\n onChange?.(event)\n const value = event.target.value\n restartTimer(() => {\n innerRef.current?.blur()\n onEditCompleted?.(value)\n })\n onChangeText?.(value)\n }}\n\n aria-invalid={props['aria-invalid'] ?? invalid}\n aria-disabled={props['aria-disabled'] ?? disabled}\n />\n )\n})\n\n\n/**\n * A Component for inputting text or other information\n *\n * Its state is managed by the component itself\n */\nexport const InputUncontrolled = ({\n value = '',\n onChangeText,\n ...props\n }: InputProps) => {\n const [usedValue, setUsedValue] = useState(value)\n\n useEffect(() => {\n setUsedValue(value)\n }, [value])\n\n return (\n <Input\n {...props}\n value={usedValue}\n onChangeText={text => {\n onChangeText?.(text)\n setUsedValue(text)\n }}\n />\n )\n}\n","import { useEffect, useState } from 'react'\n\nexport type UseDelayOptionsResolved = {\n delay: number,\n disabled: boolean,\n}\n\nexport type UseDelayOptions = Partial<UseDelayOptionsResolved>\n\nconst defaultOptions: UseDelayOptionsResolved = {\n delay: 3000,\n disabled: false,\n}\n\nexport function useDelay(options?: UseDelayOptions) {\n const [timer, setTimer] = useState<NodeJS.Timeout | undefined>(undefined)\n const { delay, disabled }: UseDelayOptionsResolved = {\n ...defaultOptions,\n ...options\n }\n\n const clearTimer = () => {\n clearTimeout(timer)\n setTimer(undefined)\n }\n\n const restartTimer = (onDelayFinish: () => void) => {\n if(disabled) {\n return\n }\n clearTimeout(timer)\n setTimer(setTimeout(() => {\n onDelayFinish()\n setTimer(undefined)\n }, delay))\n }\n\n useEffect(() => {\n return () => {\n clearTimeout(timer)\n }\n }, [timer])\n\n useEffect(() => {\n if(disabled){\n clearTimeout(timer)\n setTimer(undefined)\n }\n }, [disabled, timer])\n\n return { restartTimer, clearTimer, hasActiveTimer: !!timer }\n}","import { useCallback } from 'react'\n\nexport function useFocusManagement() {\n const getFocusableElements = useCallback((): HTMLElement[] => {\n return Array.from(\n document.querySelectorAll(\n 'input, button, select, textarea, a[href], [tabindex]:not([tabindex=\"-1\"])'\n )\n ).filter(\n (el): el is HTMLElement =>\n el instanceof HTMLElement &&\n !el.hasAttribute('disabled') &&\n !el.hasAttribute('hidden') &&\n el.tabIndex !== -1\n )\n }, [])\n\n const getNextFocusElement = useCallback((): HTMLElement | undefined => {\n const elements = getFocusableElements()\n if(elements.length === 0) {\n return undefined\n }\n let nextElement = elements[0]\n if(document.activeElement instanceof HTMLElement) {\n const currentIndex = elements.indexOf(document.activeElement)\n nextElement = elements[(currentIndex + 1) % elements.length]\n }\n return nextElement\n }, [getFocusableElements])\n\n const focusNext = useCallback(() => {\n const nextElement = getNextFocusElement()\n nextElement?.focus()\n }, [getNextFocusElement])\n\n const getPreviousFocusElement = useCallback((): HTMLElement | undefined => {\n const elements = getFocusableElements()\n if(elements.length === 0) {\n return undefined\n }\n let previousElement = elements[0]\n if(document.activeElement instanceof HTMLElement) {\n const currentIndex = elements.indexOf(document.activeElement)\n if(currentIndex === 0) {\n previousElement = elements[elements.length - 1]\n } else {\n previousElement = elements[currentIndex - 1]\n }\n }\n return previousElement\n }, [getFocusableElements])\n\n const focusPrevious = useCallback(() => {\n const previousElement = getPreviousFocusElement()\n if (previousElement) previousElement.focus()\n }, [getPreviousFocusElement])\n\n return {\n getFocusableElements,\n getNextFocusElement,\n getPreviousFocusElement,\n focusNext,\n focusPrevious,\n }\n}","import type { ReactNode } from 'react'\nimport { useId } from 'react'\nimport { forwardRef, useEffect, useState } from 'react'\nimport clsx from 'clsx'\nimport type { InputProps } from '@/src/components/user-action/input/Input'\nimport { Input } from '@/src/components/user-action/input/Input'\n\ntype InsideLabelInputProps = Omit<InputProps, 'aria-label' | 'aria-labelledby' | 'placeholder'> & {\n label: ReactNode,\n}\n\n/**\n * Text input component with a label inside the input that moves up when editing\n *\n * The State is managed by the parent\n */\nexport const InsideLabelInput = forwardRef<HTMLInputElement, InsideLabelInputProps>(function InsideLabelInput({\n id: customId,\n label,\n ...props\n }, forwardedRef) {\n const { value } = props\n const [isFocused, setIsFocused] = useState(false)\n const generatedId = useId()\n const id = customId ?? generatedId\n\n return (\n <div className={clsx('relative')}>\n <Input\n {...props}\n id={id}\n className={clsx('h-14 px-4 pb-2 py-6.5', props.className)}\n ref={forwardedRef}\n aria-labelledby={id+ '-label'}\n onFocus={event => {\n props.onFocus?.(event)\n setIsFocused(true)\n }}\n onBlur={event => {\n props.onBlur?.(event)\n setIsFocused(false)\n }}\n />\n <label\n id={id+ '-label'}\n aria-hidden={true}\n data-display={isFocused || !!value ? 'small' : 'full'}\n className={clsx(\n 'absolute left-4 top-2 transition-all pointer-events-none touch-none',\n 'data-[display=small]:top-2 data-[display=small]:h-force-4.5 data-[display=small]:typography-caption-sm-regular data-[display=small]:overflow-y-hidden',\n 'data-[display=full]:top-1/2 data-[display=full]:-translate-y-1/2 data-[display=full]:typography-body-md-regular'\n )}\n >\n {label}\n </label>\n </div>\n )\n})\n\nexport const InsideLabelInputUncontrolled = ({\n value: initialValue,\n ...props\n }: InsideLabelInputProps) => {\n const [value, setValue] = useState(initialValue)\n\n useEffect(() => {\n setValue(initialValue)\n }, [initialValue])\n\n return (\n <InsideLabelInput\n {...props}\n value={value}\n onChangeText={text => {\n props.onChangeText?.(text)\n setValue(text)\n }}\n />\n )\n}\n","import { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react'\nimport { Pencil } from 'lucide-react'\nimport clsx from 'clsx'\nimport type { EditCompleteOptions, InputProps } from '@/src/components/user-action/input/Input'\nimport { Input } from '@/src/components/user-action/input/Input'\n\ntype ToggleableInputProps = Omit<InputProps, 'defaultStyle'> & {\n initialState?: 'editing' | 'display',\n editCompleteOptions?: Omit<EditCompleteOptions, 'allowEnterComplete'>,\n}\n\n/**\n * A Text input component for inputting text. It changes appearance upon entering the edit mode and switches\n * back to display mode on loss of focus or on enter\n *\n * The State is managed by the parent\n */\nexport const ToggleableInput = forwardRef<HTMLInputElement, ToggleableInputProps>(function ToggleableInput({\n value,\n initialState = 'display',\n editCompleteOptions,\n ...props\n }, forwardedRef) {\n const [isEditing, setIsEditing] = useState(initialState !== 'display')\n\n const innerRef = useRef<HTMLInputElement>(null)\n useImperativeHandle(forwardedRef, () => innerRef.current)\n\n useEffect(() => {\n if (isEditing) {\n innerRef.current?.focus()\n }\n }, [isEditing])\n\n return (\n <div className={clsx('relative flex-row-2', { 'flex-1': isEditing })}>\n <Input\n {...props}\n ref={innerRef}\n value={value}\n onEditCompleted={(text) => {\n props.onEditCompleted?.(text)\n setIsEditing(false)\n }}\n onFocus={event => {\n props.onFocus?.(event)\n setIsEditing(true)\n event.target.select()\n }}\n editCompleteOptions={{\n ...editCompleteOptions,\n allowEnterComplete: true\n }}\n className={clsx(`w-full ring-0 outline-0 decoration-primary underline-offset-4`, {\n 'underline': isEditing,\n 'text-transparent': !isEditing,\n })}\n defaultStyle={false}\n />\n {!isEditing && (\n <div className=\"absolute left-0 flex-row-2 items-center pointer-events-none touch-none w-full overflow-hidden\">\n <span className={clsx(' truncate')}>\n {value}\n </span>\n <Pencil className={clsx(`size-force-4`, { 'text-transparent': isEditing })} />\n </div>\n )}\n </div>\n )\n})\n\nexport const ToggleableInputUncontrolled = ({\n value: initialValue,\n onChangeText,\n ...restProps\n }: ToggleableInputProps) => {\n const [value, setValue] = useState(initialValue)\n\n useEffect(() => {\n setValue(initialValue)\n }, [initialValue])\n\n return (\n <ToggleableInput\n value={value}\n onChangeText={text => {\n onChangeText?.(text)\n setValue(text)\n }}\n {...restProps}\n />\n )\n}\n"],"mappings":";AACA,SAAgB,YAAY,aAAAA,YAAW,qBAAqB,QAAQ,YAAAC,iBAAgB;AACpF,OAAO,UAAU;;;ACFjB,SAAS,WAAW,gBAAgB;AASpC,IAAM,iBAA0C;AAAA,EAC9C,OAAO;AAAA,EACP,UAAU;AACZ;AAEO,SAAS,SAAS,SAA2B;AAClD,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAqC,MAAS;AACxE,QAAM,EAAE,OAAO,SAAS,IAA6B;AAAA,IACnD,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAEA,QAAM,aAAa,MAAM;AACvB,iBAAa,KAAK;AAClB,aAAS,MAAS;AAAA,EACpB;AAEA,QAAM,eAAe,CAAC,kBAA8B;AAClD,QAAG,UAAU;AACX;AAAA,IACF;AACA,iBAAa,KAAK;AAClB,aAAS,WAAW,MAAM;AACxB,oBAAc;AACd,eAAS,MAAS;AAAA,IACpB,GAAG,KAAK,CAAC;AAAA,EACX;AAEA,YAAU,MAAM;AACd,WAAO,MAAM;AACX,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,KAAK,CAAC;AAEV,YAAU,MAAM;AACd,QAAG,UAAS;AACV,mBAAa,KAAK;AAClB,eAAS,MAAS;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,UAAU,KAAK,CAAC;AAEpB,SAAO,EAAE,cAAc,YAAY,gBAAgB,CAAC,CAAC,MAAM;AAC7D;;;ACnDA,SAAS,mBAAmB;AAErB,SAAS,qBAAqB;AACnC,QAAM,uBAAuB,YAAY,MAAqB;AAC5D,WAAO,MAAM;AAAA,MACX,SAAS;AAAA,QACP;AAAA,MACF;AAAA,IACF,EAAE;AAAA,MACA,CAAC,OACC,cAAc,eACd,CAAC,GAAG,aAAa,UAAU,KAC3B,CAAC,GAAG,aAAa,QAAQ,KACzB,GAAG,aAAa;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,QAAM,sBAAsB,YAAY,MAA+B;AACrE,UAAM,WAAW,qBAAqB;AACtC,QAAG,SAAS,WAAW,GAAG;AACxB,aAAO;AAAA,IACT;AACA,QAAI,cAAc,SAAS,CAAC;AAC5B,QAAG,SAAS,yBAAyB,aAAa;AAChD,YAAM,eAAe,SAAS,QAAQ,SAAS,aAAa;AAC5D,oBAAc,UAAU,eAAe,KAAK,SAAS,MAAM;AAAA,IAC7D;AACA,WAAO;AAAA,EACT,GAAG,CAAC,oBAAoB,CAAC;AAEzB,QAAM,YAAY,YAAY,MAAM;AAClC,UAAM,cAAc,oBAAoB;AACxC,iBAAa,MAAM;AAAA,EACrB,GAAG,CAAC,mBAAmB,CAAC;AAExB,QAAM,0BAA0B,YAAY,MAA+B;AACzE,UAAM,WAAW,qBAAqB;AACtC,QAAG,SAAS,WAAW,GAAG;AACxB,aAAO;AAAA,IACT;AACA,QAAI,kBAAkB,SAAS,CAAC;AAChC,QAAG,SAAS,yBAAyB,aAAa;AAChD,YAAM,eAAe,SAAS,QAAQ,SAAS,aAAa;AAC5D,UAAG,iBAAiB,GAAG;AACrB,0BAAkB,SAAS,SAAS,SAAS,CAAC;AAAA,MAChD,OAAO;AACL,0BAAkB,SAAS,eAAe,CAAC;AAAA,MAC7C;AAAA,IACF;AACA,WAAO;AAAA,EACT,GAAG,CAAC,oBAAoB,CAAC;AAEzB,QAAM,gBAAgB,YAAY,MAAM;AACtC,UAAM,kBAAkB,wBAAwB;AAChD,QAAI,gBAAiB,iBAAgB,MAAM;AAAA,EAC7C,GAAG,CAAC,uBAAuB,CAAC;AAE5B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AFCI;AAlDJ,IAAM,6BAA0D;AAAA,EAC9D,oBAAoB;AAAA,EACpB,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,OAAO;AACT;AAeO,IAAM,QAAQ,WAAyC,SAASC,OAAM;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,UAAU;AAAA,EACV,eAAe;AAAA,EACf;AAAA,EACA,GAAG;AACL,GAAG,cAAc;AAC5F,QAAM;AAAA,IACJ,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,EAAE,GAAG,4BAA4B,GAAG,oBAAoB;AAE5D,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,EACF,IAAI,SAAS,EAAE,OAAO,UAAU,CAAC,WAAW,CAAC;AAE7C,QAAM,WAAW,OAAyB,IAAI;AAC9C,sBAAoB,cAAc,MAAM,SAAS,OAAO;AAExD,QAAM,EAAE,UAAU,IAAI,mBAAmB;AAEzC,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA,WAAW,eAAe;AAAA,QACxB;AAAA,QACA;AAAA,UACE,iFAAiF,CAAC,YAAY,CAAC;AAAA,UAC/F,6HAA6H,CAAC,YAAY;AAAA,UAC1I,oEAAoE;AAAA,QACtE;AAAA,QAAG;AAAA,MACL,IAAI;AAAA,MACJ,WAAW,WAAS;AAClB,cAAM,YAAY,KAAK;AACvB,YAAI,CAAC,oBAAoB;AACvB;AAAA,QACF;AACA,YAAI,MAAM,QAAQ,WAAW,CAAC,MAAM,UAAU;AAC5C,gBAAM,eAAe;AACrB,mBAAS,SAAS,KAAK;AACvB,4BAAmB,MAAM,OAA4B,KAAK;AAC1D,oBAAU;AAAA,QACZ;AAAA,MACF;AAAA,MACA,QAAQ,WAAS;AACf,cAAM,SAAS,KAAK;AACpB,YAAI,yBAAyB;AAC3B,4BAAkB,MAAM,OAAO,KAAK;AACpC,qBAAW;AAAA,QACb;AAAA,MACF;AAAA,MACA,UAAU,WAAS;AACjB,mBAAW,KAAK;AAChB,cAAMC,SAAQ,MAAM,OAAO;AAC3B,qBAAa,MAAM;AACjB,mBAAS,SAAS,KAAK;AACvB,4BAAkBA,MAAK;AAAA,QACzB,CAAC;AACD,uBAAeA,MAAK;AAAA,MACtB;AAAA,MAEA,gBAAc,MAAM,cAAc,KAAK;AAAA,MACvC,iBAAe,MAAM,eAAe,KAAK;AAAA;AAAA,EAC3C;AAEJ,CAAC;AAQM,IAAM,oBAAoB,CAAC;AAAA,EACE,QAAQ;AAAA,EACR;AAAA,EACA,GAAG;AACL,MAAkB;AAClD,QAAM,CAAC,WAAW,YAAY,IAAIC,UAAS,KAAK;AAEhD,EAAAC,WAAU,MAAM;AACd,iBAAa,KAAK;AAAA,EACpB,GAAG,CAAC,KAAK,CAAC;AAEV,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,OAAO;AAAA,MACP,cAAc,UAAQ;AACpB,uBAAe,IAAI;AACnB,qBAAa,IAAI;AAAA,MACnB;AAAA;AAAA,EACF;AAEJ;;;AG3IA,SAAS,aAAa;AACtB,SAAS,cAAAC,aAAY,aAAAC,YAAW,YAAAC,iBAAgB;AAChD,OAAOC,WAAU;AAwBb,SACE,OAAAC,MADF;AAXG,IAAM,mBAAmBC,YAAoD,SAASC,kBAAiB;AAAA,EACE,IAAI;AAAA,EACJ;AAAA,EACA,GAAG;AACL,GAAG,cAAc;AAC7H,QAAM,EAAE,MAAM,IAAI;AAClB,QAAM,CAAC,WAAW,YAAY,IAAIC,UAAS,KAAK;AAChD,QAAM,cAAc,MAAM;AAC1B,QAAM,KAAK,YAAY;AAEvB,SACE,qBAAC,SAAI,WAAWC,MAAK,UAAU,GAC7B;AAAA,oBAAAJ;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ;AAAA,QACA,WAAWI,MAAK,yBAAyB,MAAM,SAAS;AAAA,QACxD,KAAK;AAAA,QACL,mBAAiB,KAAI;AAAA,QACrB,SAAS,WAAS;AAChB,gBAAM,UAAU,KAAK;AACrB,uBAAa,IAAI;AAAA,QACnB;AAAA,QACA,QAAQ,WAAS;AACf,gBAAM,SAAS,KAAK;AACpB,uBAAa,KAAK;AAAA,QACpB;AAAA;AAAA,IACF;AAAA,IACA,gBAAAJ;AAAA,MAAC;AAAA;AAAA,QACC,IAAI,KAAI;AAAA,QACR,eAAa;AAAA,QACb,gBAAc,aAAa,CAAC,CAAC,QAAQ,UAAU;AAAA,QAC/C,WAAWI;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,KACF;AAEJ,CAAC;AAEM,IAAM,+BAA+B,CAAC;AAAA,EACE,OAAO;AAAA,EACP,GAAG;AACL,MAA6B;AACxE,QAAM,CAAC,OAAO,QAAQ,IAAID,UAAS,YAAY;AAE/C,EAAAE,WAAU,MAAM;AACd,aAAS,YAAY;AAAA,EACvB,GAAG,CAAC,YAAY,CAAC;AAEjB,SACE,gBAAAL;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA,cAAc,UAAQ;AACpB,cAAM,eAAe,IAAI;AACzB,iBAAS,IAAI;AAAA,MACf;AAAA;AAAA,EACF;AAEJ;;;AC/EA,SAAS,cAAAM,aAAY,aAAAC,YAAW,uBAAAC,sBAAqB,UAAAC,SAAQ,YAAAC,iBAAgB;AAC7E,SAAS,cAAc;AACvB,OAAOC,WAAU;AAkCX,gBAAAC,MAwBE,QAAAC,aAxBF;AAnBC,IAAM,kBAAkBC,YAAmD,SAASC,iBAAgB;AAAA,EACE;AAAA,EACA,eAAe;AAAA,EACf;AAAA,EACA,GAAG;AACL,GAAG,cAAc;AAC1H,QAAM,CAAC,WAAW,YAAY,IAAIC,UAAS,iBAAiB,SAAS;AAErE,QAAM,WAAWC,QAAyB,IAAI;AAC9C,EAAAC,qBAAoB,cAAc,MAAM,SAAS,OAAO;AAExD,EAAAC,WAAU,MAAM;AACd,QAAI,WAAW;AACb,eAAS,SAAS,MAAM;AAAA,IAC1B;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAEd,SACE,gBAAAN,MAAC,SAAI,WAAWO,MAAK,uBAAuB,EAAE,UAAU,UAAU,CAAC,GACjE;AAAA,oBAAAR;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,KAAK;AAAA,QACL;AAAA,QACA,iBAAiB,CAAC,SAAS;AACzB,gBAAM,kBAAkB,IAAI;AAC5B,uBAAa,KAAK;AAAA,QACpB;AAAA,QACA,SAAS,WAAS;AAChB,gBAAM,UAAU,KAAK;AACrB,uBAAa,IAAI;AACjB,gBAAM,OAAO,OAAO;AAAA,QACtB;AAAA,QACA,qBAAqB;AAAA,UACnB,GAAG;AAAA,UACH,oBAAoB;AAAA,QACtB;AAAA,QACA,WAAWQ,MAAK,iEAAiE;AAAA,UAC/E,aAAa;AAAA,UACb,oBAAoB,CAAC;AAAA,QACvB,CAAC;AAAA,QACD,cAAc;AAAA;AAAA,IAChB;AAAA,IACC,CAAC,aACA,gBAAAP,MAAC,SAAI,WAAU,iGACb;AAAA,sBAAAD,KAAC,UAAK,WAAWQ,MAAK,WAAW,GAC9B,iBACH;AAAA,MACA,gBAAAR,KAAC,UAAO,WAAWQ,MAAK,gBAAgB,EAAE,oBAAoB,UAAU,CAAC,GAAG;AAAA,OAC9E;AAAA,KAEJ;AAEJ,CAAC;AAEM,IAAM,8BAA8B,CAAC;AAAA,EACE,OAAO;AAAA,EACP;AAAA,EACA,GAAG;AACL,MAA4B;AACtE,QAAM,CAAC,OAAO,QAAQ,IAAIJ,UAAS,YAAY;AAE/C,EAAAG,WAAU,MAAM;AACd,aAAS,YAAY;AAAA,EACvB,GAAG,CAAC,YAAY,CAAC;AAEjB,SACE,gBAAAP;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,cAAc,UAAQ;AACpB,uBAAe,IAAI;AACnB,iBAAS,IAAI;AAAA,MACf;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;","names":["useEffect","useState","Input","value","useState","useEffect","forwardRef","useEffect","useState","clsx","jsx","forwardRef","InsideLabelInput","useState","clsx","useEffect","forwardRef","useEffect","useImperativeHandle","useRef","useState","clsx","jsx","jsxs","forwardRef","ToggleableInput","useState","useRef","useImperativeHandle","useEffect","clsx"]}
@@ -2,6 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import React__default, { PropsWithChildren, HTMLAttributes, ReactNode, ButtonHTMLAttributes } from 'react';
3
3
  import { UseFloatingElementOptions } from '../../../hooks/useFloatingElement.mjs';
4
4
 
5
+ type SelectIconAppearance = 'left' | 'right' | 'none';
5
6
  type SelectRootProps = PropsWithChildren<{
6
7
  id?: string;
7
8
  value?: string;
@@ -12,16 +13,19 @@ type SelectRootProps = PropsWithChildren<{
12
13
  disabled?: boolean;
13
14
  invalid?: boolean;
14
15
  isMultiSelect?: boolean;
16
+ iconAppearance?: SelectIconAppearance;
15
17
  }>;
16
- declare const SelectRoot: ({ children, id, value, onValueChanged, values, onValuesChanged, isOpen, disabled, invalid, isMultiSelect, }: SelectRootProps) => react_jsx_runtime.JSX.Element;
18
+ declare const SelectRoot: ({ children, id, value, onValueChanged, values, onValuesChanged, isOpen, disabled, invalid, isMultiSelect, iconAppearance, }: SelectRootProps) => react_jsx_runtime.JSX.Element;
17
19
  type SelectOptionProps = Omit<HTMLAttributes<HTMLLIElement>, 'children'> & {
18
20
  value: string;
19
21
  disabled?: boolean;
22
+ iconAppearance?: SelectIconAppearance;
20
23
  children?: ReactNode;
21
24
  };
22
25
  declare const SelectOption: React__default.ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLLIElement>, "children"> & {
23
26
  value: string;
24
27
  disabled?: boolean;
28
+ iconAppearance?: SelectIconAppearance;
25
29
  children?: ReactNode;
26
30
  } & React__default.RefAttributes<HTMLLIElement>>;
27
31
  type SelectButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
@@ -2,6 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import React__default, { PropsWithChildren, HTMLAttributes, ReactNode, ButtonHTMLAttributes } from 'react';
3
3
  import { UseFloatingElementOptions } from '../../../hooks/useFloatingElement.js';
4
4
 
5
+ type SelectIconAppearance = 'left' | 'right' | 'none';
5
6
  type SelectRootProps = PropsWithChildren<{
6
7
  id?: string;
7
8
  value?: string;
@@ -12,16 +13,19 @@ type SelectRootProps = PropsWithChildren<{
12
13
  disabled?: boolean;
13
14
  invalid?: boolean;
14
15
  isMultiSelect?: boolean;
16
+ iconAppearance?: SelectIconAppearance;
15
17
  }>;
16
- declare const SelectRoot: ({ children, id, value, onValueChanged, values, onValuesChanged, isOpen, disabled, invalid, isMultiSelect, }: SelectRootProps) => react_jsx_runtime.JSX.Element;
18
+ declare const SelectRoot: ({ children, id, value, onValueChanged, values, onValuesChanged, isOpen, disabled, invalid, isMultiSelect, iconAppearance, }: SelectRootProps) => react_jsx_runtime.JSX.Element;
17
19
  type SelectOptionProps = Omit<HTMLAttributes<HTMLLIElement>, 'children'> & {
18
20
  value: string;
19
21
  disabled?: boolean;
22
+ iconAppearance?: SelectIconAppearance;
20
23
  children?: ReactNode;
21
24
  };
22
25
  declare const SelectOption: React__default.ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLLIElement>, "children"> & {
23
26
  value: string;
24
27
  disabled?: boolean;
28
+ iconAppearance?: SelectIconAppearance;
25
29
  children?: ReactNode;
26
30
  } & React__default.RefAttributes<HTMLLIElement>>;
27
31
  type SelectButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
@@ -132,7 +132,7 @@ var useTranslation = (translations, overwriteTranslation = {}) => {
132
132
  };
133
133
  };
134
134
 
135
- // src/components/layout-and-navigation/Expandable.tsx
135
+ // src/components/layout/Expandable.tsx
136
136
  var import_react3 = require("react");
137
137
  var import_lucide_react = require("lucide-react");
138
138
  var import_clsx = __toESM(require("clsx"));
@@ -140,7 +140,7 @@ var import_clsx = __toESM(require("clsx"));
140
140
  // src/utils/noop.ts
141
141
  var noop = () => void 0;
142
142
 
143
- // src/components/layout-and-navigation/Expandable.tsx
143
+ // src/components/layout/Expandable.tsx
144
144
  var import_jsx_runtime2 = require("react/jsx-runtime");
145
145
  var ExpansionIcon = ({ isExpanded, className }) => {
146
146
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
@@ -462,7 +462,7 @@ var match = (key, values) => {
462
462
  // src/components/user-action/select/Select.tsx
463
463
  var import_lucide_react2 = require("lucide-react");
464
464
 
465
- // src/components/layout-and-navigation/Chip.tsx
465
+ // src/components/layout/Chip.tsx
466
466
  var import_clsx2 = __toESM(require("clsx"));
467
467
  var import_jsx_runtime3 = require("react/jsx-runtime");
468
468
  var Chip = ({
@@ -802,7 +802,8 @@ var SelectRoot = ({
802
802
  isOpen = false,
803
803
  disabled = false,
804
804
  invalid = false,
805
- isMultiSelect = false
805
+ isMultiSelect = false,
806
+ iconAppearance = "left"
806
807
  }) => {
807
808
  const optionsRef = (0, import_react8.useRef)([]);
808
809
  const triggerRef = (0, import_react8.useRef)(null);
@@ -816,8 +817,11 @@ var SelectRoot = ({
816
817
  id: usedId,
817
818
  disabled,
818
819
  invalid,
819
- value: isMultiSelect ? values ?? [] : [value].filter(Boolean),
820
- isMultiSelect
820
+ value: isMultiSelect ? values ?? [] : [value].filter(Boolean)
821
+ };
822
+ const config = {
823
+ isMultiSelect,
824
+ iconAppearance
821
825
  };
822
826
  const registerItem = (0, import_react8.useCallback)((item) => {
823
827
  optionsRef.current.push(item);
@@ -926,6 +930,7 @@ var SelectRoot = ({
926
930
  }, [internalState.highlightedValue]);
927
931
  const contextValue = {
928
932
  state,
933
+ config,
929
934
  item: {
930
935
  register: registerItem,
931
936
  unregister: unregisterItem,
@@ -943,10 +948,11 @@ var SelectRoot = ({
943
948
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(SelectContext.Provider, { value: contextValue, children });
944
949
  };
945
950
  var SelectOption = (0, import_react8.forwardRef)(
946
- function SelectOption2({ value, disabled = false, children, className, ...restProps }, ref) {
947
- const { state, item, trigger } = useSelectContext();
951
+ function SelectOption2({ children, value, disabled = false, iconAppearance, className, ...restProps }, ref) {
952
+ const { state, config, item, trigger } = useSelectContext();
948
953
  const { register, unregister, toggleSelection, highlightItem } = item;
949
954
  const itemRef = (0, import_react8.useRef)(null);
955
+ iconAppearance ??= config.iconAppearance;
950
956
  (0, import_react8.useEffect)(() => {
951
957
  register({
952
958
  value,
@@ -983,7 +989,7 @@ var SelectOption = (0, import_react8.forwardRef)(
983
989
  onClick: (event) => {
984
990
  if (!disabled) {
985
991
  toggleSelection(value);
986
- if (!state.isMultiSelect) {
992
+ if (!config.isMultiSelect) {
987
993
  trigger.toggleOpen(false);
988
994
  }
989
995
  restProps.onClick?.(event);
@@ -996,14 +1002,21 @@ var SelectOption = (0, import_react8.forwardRef)(
996
1002
  }
997
1003
  },
998
1004
  children: [
999
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1005
+ iconAppearance === "left" && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1000
1006
  import_lucide_react2.CheckIcon,
1001
1007
  {
1002
1008
  className: (0, import_clsx4.default)("w-4 h-4", { "opacity-0": !isSelected || disabled }),
1003
1009
  "aria-hidden": true
1004
1010
  }
1005
1011
  ),
1006
- children ?? value
1012
+ children ?? value,
1013
+ iconAppearance === "right" && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
1014
+ import_lucide_react2.CheckIcon,
1015
+ {
1016
+ className: (0, import_clsx4.default)("w-4 h-4", { "opacity-0": !isSelected || disabled }),
1017
+ "aria-hidden": true
1018
+ }
1019
+ )
1007
1020
  ]
1008
1021
  }
1009
1022
  );
@@ -1141,7 +1154,7 @@ var SelectContent = (0, import_react8.forwardRef)(
1141
1154
  }, ref) {
1142
1155
  const innerRef = (0, import_react8.useRef)(null);
1143
1156
  (0, import_react8.useImperativeHandle)(ref, () => innerRef.current);
1144
- const { trigger, state, item } = useSelectContext();
1157
+ const { trigger, state, config, item } = useSelectContext();
1145
1158
  const position = useFloatingElement({
1146
1159
  active: state.isOpen,
1147
1160
  anchorRef: trigger.ref,
@@ -1201,7 +1214,7 @@ var SelectContent = (0, import_react8.forwardRef)(
1201
1214
  case " ":
1202
1215
  if (state.highlightedValue) {
1203
1216
  item.toggleSelection(state.highlightedValue);
1204
- if (!state.isMultiSelect) {
1217
+ if (!config.isMultiSelect) {
1205
1218
  trigger.toggleOpen(false);
1206
1219
  }
1207
1220
  event.preventDefault();
@@ -1216,7 +1229,7 @@ var SelectContent = (0, import_react8.forwardRef)(
1216
1229
  ...position
1217
1230
  },
1218
1231
  role: "listbox",
1219
- "aria-multiselectable": state.isMultiSelect,
1232
+ "aria-multiselectable": config.isMultiSelect,
1220
1233
  "aria-orientation": orientation,
1221
1234
  tabIndex: position ? 0 : void 0,
1222
1235
  children: props.children