@sixthshift/design-system 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (970) hide show
  1. package/README.md +139 -31
  2. package/dist/components/Avatar/Avatar.d.ts +6 -0
  3. package/dist/components/Avatar/Avatar.d.ts.map +1 -0
  4. package/dist/components/Avatar/Avatar.js +11 -0
  5. package/dist/components/Avatar/Avatar.js.map +1 -0
  6. package/dist/components/Avatar/index.d.ts +2 -0
  7. package/dist/components/Avatar/index.d.ts.map +1 -0
  8. package/dist/components/Avatar/index.js +2 -0
  9. package/dist/components/Avatar/index.js.map +1 -0
  10. package/dist/components/Badge/Badge.d.ts +13 -0
  11. package/dist/components/Badge/Badge.d.ts.map +1 -0
  12. package/dist/components/Badge/Badge.js +54 -0
  13. package/dist/components/Badge/Badge.js.map +1 -0
  14. package/dist/components/Badge/index.d.ts +2 -0
  15. package/dist/components/Badge/index.d.ts.map +1 -0
  16. package/dist/components/Badge/index.js +2 -0
  17. package/dist/components/Badge/index.js.map +1 -0
  18. package/dist/components/BarChart/BarChart.d.ts +21 -0
  19. package/dist/components/BarChart/BarChart.d.ts.map +1 -0
  20. package/dist/components/BarChart/BarChart.js +16 -0
  21. package/dist/components/BarChart/BarChart.js.map +1 -0
  22. package/dist/components/BarChart/index.d.ts +2 -0
  23. package/dist/components/BarChart/index.d.ts.map +1 -0
  24. package/dist/components/BarChart/index.js +2 -0
  25. package/dist/components/BarChart/index.js.map +1 -0
  26. package/dist/components/Breadcrumb/Breadcrumb.d.ts +12 -0
  27. package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
  28. package/dist/components/Breadcrumb/Breadcrumb.js +19 -0
  29. package/dist/components/Breadcrumb/Breadcrumb.js.map +1 -0
  30. package/dist/components/Breadcrumb/index.d.ts +2 -0
  31. package/dist/components/Breadcrumb/index.d.ts.map +1 -0
  32. package/dist/components/Breadcrumb/index.js +2 -0
  33. package/dist/components/Breadcrumb/index.js.map +1 -0
  34. package/dist/components/Button/Button.d.ts +21 -0
  35. package/dist/components/Button/Button.d.ts.map +1 -0
  36. package/dist/components/Button/Button.js +127 -0
  37. package/dist/components/Button/Button.js.map +1 -0
  38. package/dist/components/Button/index.d.ts +2 -0
  39. package/dist/components/Button/index.d.ts.map +1 -0
  40. package/dist/components/Button/index.js +2 -0
  41. package/dist/components/Button/index.js.map +1 -0
  42. package/dist/components/Calendar/Calendar.d.ts +20 -0
  43. package/dist/components/Calendar/Calendar.d.ts.map +1 -0
  44. package/dist/components/Calendar/Calendar.js +97 -0
  45. package/dist/components/Calendar/Calendar.js.map +1 -0
  46. package/dist/components/Calendar/CalendarView.d.ts +15 -0
  47. package/dist/components/Calendar/CalendarView.d.ts.map +1 -0
  48. package/dist/components/Calendar/CalendarView.js +255 -0
  49. package/dist/components/Calendar/CalendarView.js.map +1 -0
  50. package/dist/components/Calendar/calendar.hooks.d.ts +68 -0
  51. package/dist/components/Calendar/calendar.hooks.d.ts.map +1 -0
  52. package/dist/components/Calendar/calendar.hooks.js +252 -0
  53. package/dist/components/Calendar/calendar.hooks.js.map +1 -0
  54. package/dist/components/Calendar/calendar.types.d.ts +147 -0
  55. package/dist/components/Calendar/calendar.types.d.ts.map +1 -0
  56. package/dist/components/Calendar/calendar.types.js +15 -0
  57. package/dist/components/Calendar/calendar.types.js.map +1 -0
  58. package/dist/components/Calendar/index.d.ts +18 -0
  59. package/dist/components/Calendar/index.d.ts.map +1 -0
  60. package/dist/components/Calendar/index.js +17 -0
  61. package/dist/components/Calendar/index.js.map +1 -0
  62. package/dist/components/Card/Card.d.ts +14 -0
  63. package/dist/components/Card/Card.d.ts.map +1 -0
  64. package/dist/components/Card/Card.js +19 -0
  65. package/dist/components/Card/Card.js.map +1 -0
  66. package/dist/components/Card/index.d.ts +2 -0
  67. package/dist/components/Card/index.d.ts.map +1 -0
  68. package/dist/components/Card/index.js +2 -0
  69. package/dist/components/Card/index.js.map +1 -0
  70. package/dist/components/Checkbox/Checkbox.d.ts +35 -0
  71. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  72. package/dist/components/Checkbox/Checkbox.js +32 -0
  73. package/dist/components/Checkbox/Checkbox.js.map +1 -0
  74. package/dist/components/Checkbox/index.d.ts +2 -0
  75. package/dist/components/Checkbox/index.d.ts.map +1 -0
  76. package/dist/components/Checkbox/index.js +2 -0
  77. package/dist/components/Checkbox/index.js.map +1 -0
  78. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts +55 -0
  79. package/dist/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -0
  80. package/dist/components/CheckboxGroup/CheckboxGroup.js +62 -0
  81. package/dist/components/CheckboxGroup/CheckboxGroup.js.map +1 -0
  82. package/dist/components/CheckboxGroup/index.d.ts +2 -0
  83. package/dist/components/CheckboxGroup/index.d.ts.map +1 -0
  84. package/dist/components/CheckboxGroup/index.js +2 -0
  85. package/dist/components/CheckboxGroup/index.js.map +1 -0
  86. package/dist/components/Code/Editor/Editor.d.ts +28 -0
  87. package/dist/components/Code/Editor/Editor.d.ts.map +1 -0
  88. package/dist/components/Code/Editor/Editor.js +113 -0
  89. package/dist/components/Code/Editor/Editor.js.map +1 -0
  90. package/dist/components/Code/Editor/index.d.ts +3 -0
  91. package/dist/components/Code/Editor/index.d.ts.map +1 -0
  92. package/dist/components/Code/Editor/index.js +2 -0
  93. package/dist/components/Code/Editor/index.js.map +1 -0
  94. package/dist/components/Code/Editor/semanticTokenProvider.d.ts +17 -0
  95. package/dist/components/Code/Editor/semanticTokenProvider.d.ts.map +1 -0
  96. package/dist/components/Code/Editor/semanticTokenProvider.js +46 -0
  97. package/dist/components/Code/Editor/semanticTokenProvider.js.map +1 -0
  98. package/dist/components/Code/Editor/themes.d.ts +4 -0
  99. package/dist/components/Code/Editor/themes.d.ts.map +1 -0
  100. package/dist/components/Code/Editor/themes.js +106 -0
  101. package/dist/components/Code/Editor/themes.js.map +1 -0
  102. package/dist/components/Code/ValidationStatus/ValidationStatus.d.ts +14 -0
  103. package/dist/components/Code/ValidationStatus/ValidationStatus.d.ts.map +1 -0
  104. package/dist/components/Code/ValidationStatus/ValidationStatus.js +35 -0
  105. package/dist/components/Code/ValidationStatus/ValidationStatus.js.map +1 -0
  106. package/dist/components/Code/ValidationStatus/index.d.ts +2 -0
  107. package/dist/components/Code/ValidationStatus/index.d.ts.map +1 -0
  108. package/dist/components/Code/ValidationStatus/index.js +2 -0
  109. package/dist/components/Code/ValidationStatus/index.js.map +1 -0
  110. package/dist/components/Code/Workspace/StatusBar.d.ts +18 -0
  111. package/dist/components/Code/Workspace/StatusBar.d.ts.map +1 -0
  112. package/dist/components/Code/Workspace/StatusBar.js +8 -0
  113. package/dist/components/Code/Workspace/StatusBar.js.map +1 -0
  114. package/dist/components/Code/Workspace/Toolbar.d.ts +20 -0
  115. package/dist/components/Code/Workspace/Toolbar.d.ts.map +1 -0
  116. package/dist/components/Code/Workspace/Toolbar.js +9 -0
  117. package/dist/components/Code/Workspace/Toolbar.js.map +1 -0
  118. package/dist/components/Code/Workspace/Workspace.d.ts +46 -0
  119. package/dist/components/Code/Workspace/Workspace.d.ts.map +1 -0
  120. package/dist/components/Code/Workspace/Workspace.js +36 -0
  121. package/dist/components/Code/Workspace/Workspace.js.map +1 -0
  122. package/dist/components/Code/Workspace/index.d.ts +4 -0
  123. package/dist/components/Code/Workspace/index.d.ts.map +1 -0
  124. package/dist/components/Code/Workspace/index.js +4 -0
  125. package/dist/components/Code/Workspace/index.js.map +1 -0
  126. package/dist/components/ColorDot/ColorDot.d.ts +19 -0
  127. package/dist/components/ColorDot/ColorDot.d.ts.map +1 -0
  128. package/dist/components/ColorDot/ColorDot.js +36 -0
  129. package/dist/components/ColorDot/ColorDot.js.map +1 -0
  130. package/dist/components/ColorDot/index.d.ts +2 -0
  131. package/dist/components/ColorDot/index.d.ts.map +1 -0
  132. package/dist/components/ColorDot/index.js +2 -0
  133. package/dist/components/ColorDot/index.js.map +1 -0
  134. package/dist/components/DatePicker/DatePicker.d.ts +5 -0
  135. package/dist/components/DatePicker/DatePicker.d.ts.map +1 -0
  136. package/dist/components/DatePicker/DatePicker.js +165 -0
  137. package/dist/components/DatePicker/DatePicker.js.map +1 -0
  138. package/dist/components/DatePicker/datepicker.hooks.d.ts +63 -0
  139. package/dist/components/DatePicker/datepicker.hooks.d.ts.map +1 -0
  140. package/dist/components/DatePicker/datepicker.hooks.js +303 -0
  141. package/dist/components/DatePicker/datepicker.hooks.js.map +1 -0
  142. package/dist/components/DatePicker/datepicker.types.d.ts +104 -0
  143. package/dist/components/DatePicker/datepicker.types.d.ts.map +1 -0
  144. package/dist/components/DatePicker/datepicker.types.js +10 -0
  145. package/dist/components/DatePicker/datepicker.types.js.map +1 -0
  146. package/dist/components/DatePicker/index.d.ts +13 -0
  147. package/dist/components/DatePicker/index.d.ts.map +1 -0
  148. package/dist/components/DatePicker/index.js +10 -0
  149. package/dist/components/DatePicker/index.js.map +1 -0
  150. package/dist/components/DateRangePicker/DateRangePicker.d.ts +10 -0
  151. package/dist/components/DateRangePicker/DateRangePicker.d.ts.map +1 -0
  152. package/dist/components/DateRangePicker/DateRangePicker.js +98 -0
  153. package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -0
  154. package/dist/components/DateRangePicker/daterangepicker.types.d.ts +37 -0
  155. package/dist/components/DateRangePicker/daterangepicker.types.d.ts.map +1 -0
  156. package/dist/components/DateRangePicker/daterangepicker.types.js +8 -0
  157. package/dist/components/DateRangePicker/daterangepicker.types.js.map +1 -0
  158. package/dist/components/DateRangePicker/index.d.ts +10 -0
  159. package/dist/components/DateRangePicker/index.d.ts.map +1 -0
  160. package/dist/components/DateRangePicker/index.js +8 -0
  161. package/dist/components/DateRangePicker/index.js.map +1 -0
  162. package/dist/components/DateTimePicker/DateTimePicker.d.ts +10 -0
  163. package/dist/components/DateTimePicker/DateTimePicker.d.ts.map +1 -0
  164. package/dist/components/DateTimePicker/DateTimePicker.js +210 -0
  165. package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -0
  166. package/dist/components/DateTimePicker/datetimepicker.types.d.ts +35 -0
  167. package/dist/components/DateTimePicker/datetimepicker.types.d.ts.map +1 -0
  168. package/dist/components/DateTimePicker/datetimepicker.types.js +12 -0
  169. package/dist/components/DateTimePicker/datetimepicker.types.js.map +1 -0
  170. package/dist/components/DateTimePicker/index.d.ts +10 -0
  171. package/dist/components/DateTimePicker/index.d.ts.map +1 -0
  172. package/dist/components/DateTimePicker/index.js +8 -0
  173. package/dist/components/DateTimePicker/index.js.map +1 -0
  174. package/dist/components/DateTimeRangePicker/DateTimeRangePicker.d.ts +10 -0
  175. package/dist/components/DateTimeRangePicker/DateTimeRangePicker.d.ts.map +1 -0
  176. package/dist/components/DateTimeRangePicker/DateTimeRangePicker.js +382 -0
  177. package/dist/components/DateTimeRangePicker/DateTimeRangePicker.js.map +1 -0
  178. package/dist/components/DateTimeRangePicker/datetimerangepicker.types.d.ts +46 -0
  179. package/dist/components/DateTimeRangePicker/datetimerangepicker.types.d.ts.map +1 -0
  180. package/dist/components/DateTimeRangePicker/datetimerangepicker.types.js +10 -0
  181. package/dist/components/DateTimeRangePicker/datetimerangepicker.types.js.map +1 -0
  182. package/dist/components/DateTimeRangePicker/index.d.ts +11 -0
  183. package/dist/components/DateTimeRangePicker/index.d.ts.map +1 -0
  184. package/dist/components/DateTimeRangePicker/index.js +9 -0
  185. package/dist/components/DateTimeRangePicker/index.js.map +1 -0
  186. package/dist/components/EmptyState/EmptyState.d.ts +26 -0
  187. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -0
  188. package/dist/components/EmptyState/EmptyState.js +9 -0
  189. package/dist/components/EmptyState/EmptyState.js.map +1 -0
  190. package/dist/components/EmptyState/index.d.ts +2 -0
  191. package/dist/components/EmptyState/index.d.ts.map +1 -0
  192. package/dist/components/EmptyState/index.js +2 -0
  193. package/dist/components/EmptyState/index.js.map +1 -0
  194. package/dist/components/Field/Field.d.ts +40 -0
  195. package/dist/components/Field/Field.d.ts.map +1 -0
  196. package/dist/components/Field/Field.js +12 -0
  197. package/dist/components/Field/Field.js.map +1 -0
  198. package/dist/components/Field/index.d.ts +2 -0
  199. package/dist/components/Field/index.d.ts.map +1 -0
  200. package/dist/components/Field/index.js +2 -0
  201. package/dist/components/Field/index.js.map +1 -0
  202. package/dist/components/FormField/FormField.d.ts +19 -0
  203. package/dist/components/FormField/FormField.d.ts.map +1 -0
  204. package/dist/components/FormField/FormField.js +25 -0
  205. package/dist/components/FormField/FormField.js.map +1 -0
  206. package/dist/components/FormField/index.d.ts +3 -0
  207. package/dist/components/FormField/index.d.ts.map +1 -0
  208. package/dist/components/FormField/index.js +2 -0
  209. package/dist/components/FormField/index.js.map +1 -0
  210. package/dist/components/HeatMap/HeatMapCalendar.d.ts +11 -0
  211. package/dist/components/HeatMap/HeatMapCalendar.d.ts.map +1 -0
  212. package/dist/components/HeatMap/HeatMapCalendar.js +68 -0
  213. package/dist/components/HeatMap/HeatMapCalendar.js.map +1 -0
  214. package/dist/components/HeatMap/HeatMapMatrix.d.ts +12 -0
  215. package/dist/components/HeatMap/HeatMapMatrix.d.ts.map +1 -0
  216. package/dist/components/HeatMap/HeatMapMatrix.js +35 -0
  217. package/dist/components/HeatMap/HeatMapMatrix.js.map +1 -0
  218. package/dist/components/HeatMap/heat-map.utils.d.ts +10 -0
  219. package/dist/components/HeatMap/heat-map.utils.d.ts.map +1 -0
  220. package/dist/components/HeatMap/heat-map.utils.js +10 -0
  221. package/dist/components/HeatMap/heat-map.utils.js.map +1 -0
  222. package/dist/components/HeatMap/index.d.ts +4 -0
  223. package/dist/components/HeatMap/index.d.ts.map +1 -0
  224. package/dist/components/HeatMap/index.js +3 -0
  225. package/dist/components/HeatMap/index.js.map +1 -0
  226. package/dist/components/HoverCard/HoverCard.d.ts +30 -0
  227. package/dist/components/HoverCard/HoverCard.d.ts.map +1 -0
  228. package/dist/components/HoverCard/HoverCard.js +44 -0
  229. package/dist/components/HoverCard/HoverCard.js.map +1 -0
  230. package/dist/components/HoverCard/components/HoverCardContent.d.ts +4 -0
  231. package/dist/components/HoverCard/components/HoverCardContent.d.ts.map +1 -0
  232. package/dist/components/HoverCard/components/HoverCardContent.js +19 -0
  233. package/dist/components/HoverCard/components/HoverCardContent.js.map +1 -0
  234. package/dist/components/HoverCard/components/HoverCardContext.d.ts +13 -0
  235. package/dist/components/HoverCard/components/HoverCardContext.d.ts.map +1 -0
  236. package/dist/components/HoverCard/components/HoverCardContext.js +10 -0
  237. package/dist/components/HoverCard/components/HoverCardContext.js.map +1 -0
  238. package/dist/components/HoverCard/components/HoverCardTrigger.d.ts +10 -0
  239. package/dist/components/HoverCard/components/HoverCardTrigger.d.ts.map +1 -0
  240. package/dist/components/HoverCard/components/HoverCardTrigger.js +21 -0
  241. package/dist/components/HoverCard/components/HoverCardTrigger.js.map +1 -0
  242. package/dist/components/HoverCard/index.d.ts +4 -0
  243. package/dist/components/HoverCard/index.d.ts.map +1 -0
  244. package/dist/components/HoverCard/index.js +4 -0
  245. package/dist/components/HoverCard/index.js.map +1 -0
  246. package/dist/components/Input/Input.d.ts +11 -0
  247. package/dist/components/Input/Input.d.ts.map +1 -0
  248. package/dist/components/Input/Input.js +16 -0
  249. package/dist/components/Input/Input.js.map +1 -0
  250. package/dist/components/Input/index.d.ts +2 -0
  251. package/dist/components/Input/index.d.ts.map +1 -0
  252. package/dist/components/Input/index.js +2 -0
  253. package/dist/components/Input/index.js.map +1 -0
  254. package/dist/components/LineChart/LineChart.d.ts +46 -0
  255. package/dist/components/LineChart/LineChart.d.ts.map +1 -0
  256. package/dist/components/LineChart/LineChart.js +117 -0
  257. package/dist/components/LineChart/LineChart.js.map +1 -0
  258. package/dist/components/LineChart/index.d.ts +2 -0
  259. package/dist/components/LineChart/index.d.ts.map +1 -0
  260. package/dist/components/LineChart/index.js +2 -0
  261. package/dist/components/LineChart/index.js.map +1 -0
  262. package/dist/components/Markdown/Markdown.d.ts +7 -0
  263. package/dist/components/Markdown/Markdown.d.ts.map +1 -0
  264. package/dist/components/Markdown/Markdown.js +21 -0
  265. package/dist/components/Markdown/Markdown.js.map +1 -0
  266. package/dist/components/Markdown/index.d.ts +2 -0
  267. package/dist/components/Markdown/index.d.ts.map +1 -0
  268. package/dist/components/Markdown/index.js +2 -0
  269. package/dist/components/Markdown/index.js.map +1 -0
  270. package/dist/components/Message/Message.d.ts +22 -0
  271. package/dist/components/Message/Message.d.ts.map +1 -0
  272. package/dist/components/Message/Message.js +48 -0
  273. package/dist/components/Message/Message.js.map +1 -0
  274. package/dist/components/Message/components/MessageBody.d.ts +4 -0
  275. package/dist/components/Message/components/MessageBody.d.ts.map +1 -0
  276. package/dist/components/Message/components/MessageBody.js +8 -0
  277. package/dist/components/Message/components/MessageBody.js.map +1 -0
  278. package/dist/components/Message/components/MessageDescription.d.ts +4 -0
  279. package/dist/components/Message/components/MessageDescription.d.ts.map +1 -0
  280. package/dist/components/Message/components/MessageDescription.js +8 -0
  281. package/dist/components/Message/components/MessageDescription.js.map +1 -0
  282. package/dist/components/Message/components/MessageIcon.d.ts +4 -0
  283. package/dist/components/Message/components/MessageIcon.d.ts.map +1 -0
  284. package/dist/components/Message/components/MessageIcon.js +8 -0
  285. package/dist/components/Message/components/MessageIcon.js.map +1 -0
  286. package/dist/components/Message/components/MessageTitle.d.ts +4 -0
  287. package/dist/components/Message/components/MessageTitle.d.ts.map +1 -0
  288. package/dist/components/Message/components/MessageTitle.js +8 -0
  289. package/dist/components/Message/components/MessageTitle.js.map +1 -0
  290. package/dist/components/Message/index.d.ts +11 -0
  291. package/dist/components/Message/index.d.ts.map +1 -0
  292. package/dist/components/Message/index.js +6 -0
  293. package/dist/components/Message/index.js.map +1 -0
  294. package/dist/components/MetricList/MetricList.d.ts +9 -0
  295. package/dist/components/MetricList/MetricList.d.ts.map +1 -0
  296. package/dist/components/MetricList/MetricList.js +8 -0
  297. package/dist/components/MetricList/MetricList.js.map +1 -0
  298. package/dist/components/MetricList/MetricRow.d.ts +13 -0
  299. package/dist/components/MetricList/MetricRow.d.ts.map +1 -0
  300. package/dist/components/MetricList/MetricRow.js +13 -0
  301. package/dist/components/MetricList/MetricRow.js.map +1 -0
  302. package/dist/components/MetricList/index.d.ts +3 -0
  303. package/dist/components/MetricList/index.d.ts.map +1 -0
  304. package/dist/components/MetricList/index.js +3 -0
  305. package/dist/components/MetricList/index.js.map +1 -0
  306. package/dist/components/Modal/Modal.d.ts +52 -0
  307. package/dist/components/Modal/Modal.d.ts.map +1 -0
  308. package/dist/components/Modal/Modal.js +89 -0
  309. package/dist/components/Modal/Modal.js.map +1 -0
  310. package/dist/components/Modal/components/ModalBody.d.ts +4 -0
  311. package/dist/components/Modal/components/ModalBody.d.ts.map +1 -0
  312. package/dist/components/Modal/components/ModalBody.js +6 -0
  313. package/dist/components/Modal/components/ModalBody.js.map +1 -0
  314. package/dist/components/Modal/components/ModalContext.d.ts +32 -0
  315. package/dist/components/Modal/components/ModalContext.d.ts.map +1 -0
  316. package/dist/components/Modal/components/ModalContext.js +15 -0
  317. package/dist/components/Modal/components/ModalContext.js.map +1 -0
  318. package/dist/components/Modal/components/ModalFooter.d.ts +4 -0
  319. package/dist/components/Modal/components/ModalFooter.d.ts.map +1 -0
  320. package/dist/components/Modal/components/ModalFooter.js +6 -0
  321. package/dist/components/Modal/components/ModalFooter.js.map +1 -0
  322. package/dist/components/Modal/components/ModalHeader.d.ts +4 -0
  323. package/dist/components/Modal/components/ModalHeader.d.ts.map +1 -0
  324. package/dist/components/Modal/components/ModalHeader.js +24 -0
  325. package/dist/components/Modal/components/ModalHeader.js.map +1 -0
  326. package/dist/components/Modal/components/index.d.ts +5 -0
  327. package/dist/components/Modal/components/index.d.ts.map +1 -0
  328. package/dist/components/Modal/components/index.js +5 -0
  329. package/dist/components/Modal/components/index.js.map +1 -0
  330. package/dist/components/Modal/index.d.ts +3 -0
  331. package/dist/components/Modal/index.d.ts.map +1 -0
  332. package/dist/components/Modal/index.js +3 -0
  333. package/dist/components/Modal/index.js.map +1 -0
  334. package/dist/components/NavBottom/NavBottom.d.ts +16 -0
  335. package/dist/components/NavBottom/NavBottom.d.ts.map +1 -0
  336. package/dist/components/NavBottom/NavBottom.js +21 -0
  337. package/dist/components/NavBottom/NavBottom.js.map +1 -0
  338. package/dist/components/NavBottom/index.d.ts +3 -0
  339. package/dist/components/NavBottom/index.d.ts.map +1 -0
  340. package/dist/components/NavBottom/index.js +2 -0
  341. package/dist/components/NavBottom/index.js.map +1 -0
  342. package/dist/components/NavSide/NavItem.d.ts +9 -0
  343. package/dist/components/NavSide/NavItem.d.ts.map +1 -0
  344. package/dist/components/NavSide/NavItem.js +13 -0
  345. package/dist/components/NavSide/NavItem.js.map +1 -0
  346. package/dist/components/NavSide/NavSide.d.ts +16 -0
  347. package/dist/components/NavSide/NavSide.d.ts.map +1 -0
  348. package/dist/components/NavSide/NavSide.js +12 -0
  349. package/dist/components/NavSide/NavSide.js.map +1 -0
  350. package/dist/components/NavSide/index.d.ts +3 -0
  351. package/dist/components/NavSide/index.d.ts.map +1 -0
  352. package/dist/components/NavSide/index.js +2 -0
  353. package/dist/components/NavSide/index.js.map +1 -0
  354. package/dist/components/NavSide/types.d.ts +38 -0
  355. package/dist/components/NavSide/types.d.ts.map +1 -0
  356. package/dist/components/NavSide/types.js +2 -0
  357. package/dist/components/NavSide/types.js.map +1 -0
  358. package/dist/components/Pagination/Pagination.d.ts +35 -0
  359. package/dist/components/Pagination/Pagination.d.ts.map +1 -0
  360. package/dist/components/Pagination/Pagination.js +26 -0
  361. package/dist/components/Pagination/Pagination.js.map +1 -0
  362. package/dist/components/Pagination/index.d.ts +3 -0
  363. package/dist/components/Pagination/index.d.ts.map +1 -0
  364. package/dist/components/Pagination/index.js +2 -0
  365. package/dist/components/Pagination/index.js.map +1 -0
  366. package/dist/components/Popover/Popover.d.ts +26 -0
  367. package/dist/components/Popover/Popover.d.ts.map +1 -0
  368. package/dist/components/Popover/Popover.js +54 -0
  369. package/dist/components/Popover/Popover.js.map +1 -0
  370. package/dist/components/Popover/components/PopoverBody.d.ts +4 -0
  371. package/dist/components/Popover/components/PopoverBody.d.ts.map +1 -0
  372. package/dist/components/Popover/components/PopoverBody.js +22 -0
  373. package/dist/components/Popover/components/PopoverBody.js.map +1 -0
  374. package/dist/components/Popover/components/PopoverClose.d.ts +10 -0
  375. package/dist/components/Popover/components/PopoverClose.d.ts.map +1 -0
  376. package/dist/components/Popover/components/PopoverClose.js +14 -0
  377. package/dist/components/Popover/components/PopoverClose.js.map +1 -0
  378. package/dist/components/Popover/components/PopoverContext.d.ts +16 -0
  379. package/dist/components/Popover/components/PopoverContext.d.ts.map +1 -0
  380. package/dist/components/Popover/components/PopoverContext.js +10 -0
  381. package/dist/components/Popover/components/PopoverContext.js.map +1 -0
  382. package/dist/components/Popover/components/PopoverTrigger.d.ts +10 -0
  383. package/dist/components/Popover/components/PopoverTrigger.d.ts.map +1 -0
  384. package/dist/components/Popover/components/PopoverTrigger.js +17 -0
  385. package/dist/components/Popover/components/PopoverTrigger.js.map +1 -0
  386. package/dist/components/Popover/index.d.ts +5 -0
  387. package/dist/components/Popover/index.d.ts.map +1 -0
  388. package/dist/components/Popover/index.js +5 -0
  389. package/dist/components/Popover/index.js.map +1 -0
  390. package/dist/components/ProgressBar/ProgressBar.d.ts +11 -0
  391. package/dist/components/ProgressBar/ProgressBar.d.ts.map +1 -0
  392. package/dist/components/ProgressBar/ProgressBar.js +14 -0
  393. package/dist/components/ProgressBar/ProgressBar.js.map +1 -0
  394. package/dist/components/ProgressBar/index.d.ts +2 -0
  395. package/dist/components/ProgressBar/index.d.ts.map +1 -0
  396. package/dist/components/ProgressBar/index.js +2 -0
  397. package/dist/components/ProgressBar/index.js.map +1 -0
  398. package/dist/components/RadioButton/RadioButton.d.ts +31 -0
  399. package/dist/components/RadioButton/RadioButton.d.ts.map +1 -0
  400. package/dist/components/RadioButton/RadioButton.js +23 -0
  401. package/dist/components/RadioButton/RadioButton.js.map +1 -0
  402. package/dist/components/RadioButton/index.d.ts +2 -0
  403. package/dist/components/RadioButton/index.d.ts.map +1 -0
  404. package/dist/components/RadioButton/index.js +2 -0
  405. package/dist/components/RadioButton/index.js.map +1 -0
  406. package/dist/components/RadioButtonGroup/RadioButtonGroup.d.ts +55 -0
  407. package/dist/components/RadioButtonGroup/RadioButtonGroup.d.ts.map +1 -0
  408. package/dist/components/RadioButtonGroup/RadioButtonGroup.js +73 -0
  409. package/dist/components/RadioButtonGroup/RadioButtonGroup.js.map +1 -0
  410. package/dist/components/RadioButtonGroup/index.d.ts +2 -0
  411. package/dist/components/RadioButtonGroup/index.d.ts.map +1 -0
  412. package/dist/components/RadioButtonGroup/index.js +2 -0
  413. package/dist/components/RadioButtonGroup/index.js.map +1 -0
  414. package/dist/components/SearchInput/SearchInput.d.ts +17 -0
  415. package/dist/components/SearchInput/SearchInput.d.ts.map +1 -0
  416. package/dist/components/SearchInput/SearchInput.js +18 -0
  417. package/dist/components/SearchInput/SearchInput.js.map +1 -0
  418. package/dist/components/SearchInput/index.d.ts +3 -0
  419. package/dist/components/SearchInput/index.d.ts.map +1 -0
  420. package/dist/components/SearchInput/index.js +2 -0
  421. package/dist/components/SearchInput/index.js.map +1 -0
  422. package/dist/components/Select/Select.d.ts +40 -0
  423. package/dist/components/Select/Select.d.ts.map +1 -0
  424. package/dist/components/Select/Select.js +223 -0
  425. package/dist/components/Select/Select.js.map +1 -0
  426. package/dist/components/Select/SelectDropdown.d.ts +34 -0
  427. package/dist/components/Select/SelectDropdown.d.ts.map +1 -0
  428. package/dist/components/Select/SelectDropdown.js +32 -0
  429. package/dist/components/Select/SelectDropdown.js.map +1 -0
  430. package/dist/components/Select/SelectTrigger.d.ts +38 -0
  431. package/dist/components/Select/SelectTrigger.d.ts.map +1 -0
  432. package/dist/components/Select/SelectTrigger.js +21 -0
  433. package/dist/components/Select/SelectTrigger.js.map +1 -0
  434. package/dist/components/Select/index.d.ts +4 -0
  435. package/dist/components/Select/index.d.ts.map +1 -0
  436. package/dist/components/Select/index.js +4 -0
  437. package/dist/components/Select/index.js.map +1 -0
  438. package/dist/components/Select/useSelectKeyboard.d.ts +30 -0
  439. package/dist/components/Select/useSelectKeyboard.d.ts.map +1 -0
  440. package/dist/components/Select/useSelectKeyboard.js +86 -0
  441. package/dist/components/Select/useSelectKeyboard.js.map +1 -0
  442. package/dist/components/Separator/Separator.d.ts +11 -0
  443. package/dist/components/Separator/Separator.d.ts.map +1 -0
  444. package/dist/components/Separator/Separator.js +7 -0
  445. package/dist/components/Separator/Separator.js.map +1 -0
  446. package/dist/components/Separator/index.d.ts +2 -0
  447. package/dist/components/Separator/index.d.ts.map +1 -0
  448. package/dist/components/Separator/index.js +2 -0
  449. package/dist/components/Separator/index.js.map +1 -0
  450. package/dist/components/Sheet/Sheet.d.ts +42 -0
  451. package/dist/components/Sheet/Sheet.d.ts.map +1 -0
  452. package/dist/components/Sheet/Sheet.js +77 -0
  453. package/dist/components/Sheet/Sheet.js.map +1 -0
  454. package/dist/components/Sheet/components/SheetBody.d.ts +4 -0
  455. package/dist/components/Sheet/components/SheetBody.d.ts.map +1 -0
  456. package/dist/components/Sheet/components/SheetBody.js +6 -0
  457. package/dist/components/Sheet/components/SheetBody.js.map +1 -0
  458. package/dist/components/Sheet/components/SheetContext.d.ts +24 -0
  459. package/dist/components/Sheet/components/SheetContext.d.ts.map +1 -0
  460. package/dist/components/Sheet/components/SheetContext.js +15 -0
  461. package/dist/components/Sheet/components/SheetContext.js.map +1 -0
  462. package/dist/components/Sheet/components/SheetFooter.d.ts +4 -0
  463. package/dist/components/Sheet/components/SheetFooter.d.ts.map +1 -0
  464. package/dist/components/Sheet/components/SheetFooter.js +6 -0
  465. package/dist/components/Sheet/components/SheetFooter.js.map +1 -0
  466. package/dist/components/Sheet/components/SheetHeader.d.ts +4 -0
  467. package/dist/components/Sheet/components/SheetHeader.d.ts.map +1 -0
  468. package/dist/components/Sheet/components/SheetHeader.js +22 -0
  469. package/dist/components/Sheet/components/SheetHeader.js.map +1 -0
  470. package/dist/components/Sheet/components/index.d.ts +5 -0
  471. package/dist/components/Sheet/components/index.d.ts.map +1 -0
  472. package/dist/components/Sheet/components/index.js +5 -0
  473. package/dist/components/Sheet/components/index.js.map +1 -0
  474. package/dist/components/Sheet/index.d.ts +3 -0
  475. package/dist/components/Sheet/index.d.ts.map +1 -0
  476. package/dist/components/Sheet/index.js +3 -0
  477. package/dist/components/Sheet/index.js.map +1 -0
  478. package/dist/components/Skeleton/Skeleton.d.ts +4 -0
  479. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -0
  480. package/dist/components/Skeleton/Skeleton.js +9 -0
  481. package/dist/components/Skeleton/Skeleton.js.map +1 -0
  482. package/dist/components/Skeleton/index.d.ts +2 -0
  483. package/dist/components/Skeleton/index.d.ts.map +1 -0
  484. package/dist/components/Skeleton/index.js +2 -0
  485. package/dist/components/Skeleton/index.js.map +1 -0
  486. package/dist/components/Sparkline/Sparkline.d.ts +21 -0
  487. package/dist/components/Sparkline/Sparkline.d.ts.map +1 -0
  488. package/dist/components/Sparkline/Sparkline.js +59 -0
  489. package/dist/components/Sparkline/Sparkline.js.map +1 -0
  490. package/dist/components/Sparkline/index.d.ts +2 -0
  491. package/dist/components/Sparkline/index.d.ts.map +1 -0
  492. package/dist/components/Sparkline/index.js +2 -0
  493. package/dist/components/Sparkline/index.js.map +1 -0
  494. package/dist/components/Spinner/Spinner.d.ts +11 -0
  495. package/dist/components/Spinner/Spinner.d.ts.map +1 -0
  496. package/dist/components/Spinner/Spinner.js +21 -0
  497. package/dist/components/Spinner/Spinner.js.map +1 -0
  498. package/dist/components/Spinner/index.d.ts +2 -0
  499. package/dist/components/Spinner/index.d.ts.map +1 -0
  500. package/dist/components/Spinner/index.js +2 -0
  501. package/dist/components/Spinner/index.js.map +1 -0
  502. package/dist/components/StatsCard/StatsCard.d.ts +17 -0
  503. package/dist/components/StatsCard/StatsCard.d.ts.map +1 -0
  504. package/dist/components/StatsCard/StatsCard.js +15 -0
  505. package/dist/components/StatsCard/StatsCard.js.map +1 -0
  506. package/dist/components/StatsCard/index.d.ts +2 -0
  507. package/dist/components/StatsCard/index.d.ts.map +1 -0
  508. package/dist/components/StatsCard/index.js +2 -0
  509. package/dist/components/StatsCard/index.js.map +1 -0
  510. package/dist/components/Switch/Switch.d.ts +39 -0
  511. package/dist/components/Switch/Switch.d.ts.map +1 -0
  512. package/dist/components/Switch/Switch.js +28 -0
  513. package/dist/components/Switch/Switch.js.map +1 -0
  514. package/dist/components/Switch/index.d.ts +2 -0
  515. package/dist/components/Switch/index.d.ts.map +1 -0
  516. package/dist/components/Switch/index.js +2 -0
  517. package/dist/components/Switch/index.js.map +1 -0
  518. package/dist/components/Tabs/Tabs.d.ts +20 -0
  519. package/dist/components/Tabs/Tabs.d.ts.map +1 -0
  520. package/dist/components/Tabs/Tabs.js +29 -0
  521. package/dist/components/Tabs/Tabs.js.map +1 -0
  522. package/dist/components/Tabs/components/TabsContext.d.ts +26 -0
  523. package/dist/components/Tabs/components/TabsContext.d.ts.map +1 -0
  524. package/dist/components/Tabs/components/TabsContext.js +10 -0
  525. package/dist/components/Tabs/components/TabsContext.js.map +1 -0
  526. package/dist/components/Tabs/components/TabsList.d.ts +9 -0
  527. package/dist/components/Tabs/components/TabsList.d.ts.map +1 -0
  528. package/dist/components/Tabs/components/TabsList.js +62 -0
  529. package/dist/components/Tabs/components/TabsList.js.map +1 -0
  530. package/dist/components/Tabs/components/TabsPanels.d.ts +6 -0
  531. package/dist/components/Tabs/components/TabsPanels.d.ts.map +1 -0
  532. package/dist/components/Tabs/components/TabsPanels.js +17 -0
  533. package/dist/components/Tabs/components/TabsPanels.js.map +1 -0
  534. package/dist/components/Tabs/components/TabsTrigger.d.ts +7 -0
  535. package/dist/components/Tabs/components/TabsTrigger.d.ts.map +1 -0
  536. package/dist/components/Tabs/components/TabsTrigger.js +34 -0
  537. package/dist/components/Tabs/components/TabsTrigger.js.map +1 -0
  538. package/dist/components/Tabs/index.d.ts +4 -0
  539. package/dist/components/Tabs/index.d.ts.map +1 -0
  540. package/dist/components/Tabs/index.js +4 -0
  541. package/dist/components/Tabs/index.js.map +1 -0
  542. package/dist/components/TagChip/TagChip.d.ts +22 -0
  543. package/dist/components/TagChip/TagChip.d.ts.map +1 -0
  544. package/dist/components/TagChip/TagChip.js +13 -0
  545. package/dist/components/TagChip/TagChip.js.map +1 -0
  546. package/dist/components/TagChip/index.d.ts +2 -0
  547. package/dist/components/TagChip/index.d.ts.map +1 -0
  548. package/dist/components/TagChip/index.js +2 -0
  549. package/dist/components/TagChip/index.js.map +1 -0
  550. package/dist/components/TagInput/TagInput.d.ts +17 -0
  551. package/dist/components/TagInput/TagInput.d.ts.map +1 -0
  552. package/dist/components/TagInput/TagInput.js +25 -0
  553. package/dist/components/TagInput/TagInput.js.map +1 -0
  554. package/dist/components/TagInput/index.d.ts +2 -0
  555. package/dist/components/TagInput/index.d.ts.map +1 -0
  556. package/dist/components/TagInput/index.js +2 -0
  557. package/dist/components/TagInput/index.js.map +1 -0
  558. package/dist/components/Text/Text.d.ts +10 -0
  559. package/dist/components/Text/Text.d.ts.map +1 -0
  560. package/dist/components/Text/Text.js +11 -0
  561. package/dist/components/Text/Text.js.map +1 -0
  562. package/dist/components/Text/index.d.ts +2 -0
  563. package/dist/components/Text/index.d.ts.map +1 -0
  564. package/dist/components/Text/index.js +2 -0
  565. package/dist/components/Text/index.js.map +1 -0
  566. package/dist/components/TextInline/TextInline.d.ts +13 -0
  567. package/dist/components/TextInline/TextInline.d.ts.map +1 -0
  568. package/dist/components/TextInline/TextInline.js +30 -0
  569. package/dist/components/TextInline/TextInline.js.map +1 -0
  570. package/dist/components/TextInline/index.d.ts +2 -0
  571. package/dist/components/TextInline/index.d.ts.map +1 -0
  572. package/dist/components/TextInline/index.js +2 -0
  573. package/dist/components/TextInline/index.js.map +1 -0
  574. package/dist/components/Textarea/Textarea.d.ts +5 -0
  575. package/dist/components/Textarea/Textarea.d.ts.map +1 -0
  576. package/dist/components/Textarea/Textarea.js +9 -0
  577. package/dist/components/Textarea/Textarea.js.map +1 -0
  578. package/dist/components/Textarea/index.d.ts +2 -0
  579. package/dist/components/Textarea/index.d.ts.map +1 -0
  580. package/dist/components/Textarea/index.js +2 -0
  581. package/dist/components/Textarea/index.js.map +1 -0
  582. package/dist/components/TimePicker/PeriodSelector.d.ts +7 -0
  583. package/dist/components/TimePicker/PeriodSelector.d.ts.map +1 -0
  584. package/dist/components/TimePicker/PeriodSelector.js +6 -0
  585. package/dist/components/TimePicker/PeriodSelector.js.map +1 -0
  586. package/dist/components/TimePicker/TimeColumn.d.ts +9 -0
  587. package/dist/components/TimePicker/TimeColumn.d.ts.map +1 -0
  588. package/dist/components/TimePicker/TimeColumn.js +24 -0
  589. package/dist/components/TimePicker/TimeColumn.js.map +1 -0
  590. package/dist/components/TimePicker/TimePicker.d.ts +5 -0
  591. package/dist/components/TimePicker/TimePicker.d.ts.map +1 -0
  592. package/dist/components/TimePicker/TimePicker.js +149 -0
  593. package/dist/components/TimePicker/TimePicker.js.map +1 -0
  594. package/dist/components/TimePicker/index.d.ts +3 -0
  595. package/dist/components/TimePicker/index.d.ts.map +1 -0
  596. package/dist/components/TimePicker/index.js +2 -0
  597. package/dist/components/TimePicker/index.js.map +1 -0
  598. package/dist/components/TimePicker/timepicker.hooks.d.ts +63 -0
  599. package/dist/components/TimePicker/timepicker.hooks.d.ts.map +1 -0
  600. package/dist/components/TimePicker/timepicker.hooks.js +154 -0
  601. package/dist/components/TimePicker/timepicker.hooks.js.map +1 -0
  602. package/dist/components/TimePicker/timepicker.types.d.ts +67 -0
  603. package/dist/components/TimePicker/timepicker.types.d.ts.map +1 -0
  604. package/dist/components/TimePicker/timepicker.types.js +9 -0
  605. package/dist/components/TimePicker/timepicker.types.js.map +1 -0
  606. package/dist/components/Toast/Toast.d.ts +36 -0
  607. package/dist/components/Toast/Toast.d.ts.map +1 -0
  608. package/dist/components/Toast/Toast.js +45 -0
  609. package/dist/components/Toast/Toast.js.map +1 -0
  610. package/dist/components/Toast/index.d.ts +2 -0
  611. package/dist/components/Toast/index.d.ts.map +1 -0
  612. package/dist/components/Toast/index.js +2 -0
  613. package/dist/components/Toast/index.js.map +1 -0
  614. package/dist/components/Toggle/Toggle.d.ts +33 -0
  615. package/dist/components/Toggle/Toggle.d.ts.map +1 -0
  616. package/dist/components/Toggle/Toggle.js +45 -0
  617. package/dist/components/Toggle/Toggle.js.map +1 -0
  618. package/dist/components/Toggle/index.d.ts +2 -0
  619. package/dist/components/Toggle/index.d.ts.map +1 -0
  620. package/dist/components/Toggle/index.js +2 -0
  621. package/dist/components/Toggle/index.js.map +1 -0
  622. package/dist/components/ToggleGroup/ToggleGroup.d.ts +5 -0
  623. package/dist/components/ToggleGroup/ToggleGroup.d.ts.map +1 -0
  624. package/dist/components/ToggleGroup/ToggleGroup.js +13 -0
  625. package/dist/components/ToggleGroup/ToggleGroup.js.map +1 -0
  626. package/dist/components/ToggleGroup/ToggleGroupContainer.d.ts +5 -0
  627. package/dist/components/ToggleGroup/ToggleGroupContainer.d.ts.map +1 -0
  628. package/dist/components/ToggleGroup/ToggleGroupContainer.js +11 -0
  629. package/dist/components/ToggleGroup/ToggleGroupContainer.js.map +1 -0
  630. package/dist/components/ToggleGroup/ToggleGroupItem.d.ts +11 -0
  631. package/dist/components/ToggleGroup/ToggleGroupItem.d.ts.map +1 -0
  632. package/dist/components/ToggleGroup/ToggleGroupItem.js +24 -0
  633. package/dist/components/ToggleGroup/ToggleGroupItem.js.map +1 -0
  634. package/dist/components/ToggleGroup/ToggleGroupMultiple.d.ts +17 -0
  635. package/dist/components/ToggleGroup/ToggleGroupMultiple.d.ts.map +1 -0
  636. package/dist/components/ToggleGroup/ToggleGroupMultiple.js +20 -0
  637. package/dist/components/ToggleGroup/ToggleGroupMultiple.js.map +1 -0
  638. package/dist/components/ToggleGroup/ToggleGroupSingle.d.ts +17 -0
  639. package/dist/components/ToggleGroup/ToggleGroupSingle.d.ts.map +1 -0
  640. package/dist/components/ToggleGroup/ToggleGroupSingle.js +49 -0
  641. package/dist/components/ToggleGroup/ToggleGroupSingle.js.map +1 -0
  642. package/dist/components/ToggleGroup/index.d.ts +3 -0
  643. package/dist/components/ToggleGroup/index.d.ts.map +1 -0
  644. package/dist/components/ToggleGroup/index.js +2 -0
  645. package/dist/components/ToggleGroup/index.js.map +1 -0
  646. package/dist/components/ToggleGroup/toggleGroup.types.d.ts +51 -0
  647. package/dist/components/ToggleGroup/toggleGroup.types.d.ts.map +1 -0
  648. package/dist/components/ToggleGroup/toggleGroup.types.js +2 -0
  649. package/dist/components/ToggleGroup/toggleGroup.types.js.map +1 -0
  650. package/dist/components/Tooltip/Tooltip.d.ts +24 -0
  651. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
  652. package/dist/components/Tooltip/Tooltip.js +44 -0
  653. package/dist/components/Tooltip/Tooltip.js.map +1 -0
  654. package/dist/components/Tooltip/components/TooltipBody.d.ts +4 -0
  655. package/dist/components/Tooltip/components/TooltipBody.d.ts.map +1 -0
  656. package/dist/components/Tooltip/components/TooltipBody.js +19 -0
  657. package/dist/components/Tooltip/components/TooltipBody.js.map +1 -0
  658. package/dist/components/Tooltip/components/TooltipContext.d.ts +13 -0
  659. package/dist/components/Tooltip/components/TooltipContext.d.ts.map +1 -0
  660. package/dist/components/Tooltip/components/TooltipContext.js +10 -0
  661. package/dist/components/Tooltip/components/TooltipContext.js.map +1 -0
  662. package/dist/components/Tooltip/components/TooltipTrigger.d.ts +10 -0
  663. package/dist/components/Tooltip/components/TooltipTrigger.d.ts.map +1 -0
  664. package/dist/components/Tooltip/components/TooltipTrigger.js +17 -0
  665. package/dist/components/Tooltip/components/TooltipTrigger.js.map +1 -0
  666. package/dist/components/Tooltip/index.d.ts +4 -0
  667. package/dist/components/Tooltip/index.d.ts.map +1 -0
  668. package/dist/components/Tooltip/index.js +4 -0
  669. package/dist/components/Tooltip/index.js.map +1 -0
  670. package/dist/date-time/arithmetic.d.ts +51 -0
  671. package/dist/date-time/arithmetic.d.ts.map +1 -0
  672. package/dist/date-time/arithmetic.js +90 -0
  673. package/dist/date-time/arithmetic.js.map +1 -0
  674. package/dist/date-time/boundaries.d.ts +49 -0
  675. package/dist/date-time/boundaries.d.ts.map +1 -0
  676. package/dist/date-time/boundaries.js +74 -0
  677. package/dist/date-time/boundaries.js.map +1 -0
  678. package/dist/date-time/compare.d.ts +51 -0
  679. package/dist/date-time/compare.d.ts.map +1 -0
  680. package/dist/date-time/compare.js +74 -0
  681. package/dist/date-time/compare.js.map +1 -0
  682. package/dist/date-time/duration.d.ts +39 -0
  683. package/dist/date-time/duration.d.ts.map +1 -0
  684. package/dist/date-time/duration.js +55 -0
  685. package/dist/date-time/duration.js.map +1 -0
  686. package/dist/date-time/elapsed.d.ts +11 -0
  687. package/dist/date-time/elapsed.d.ts.map +1 -0
  688. package/dist/date-time/elapsed.js +16 -0
  689. package/dist/date-time/elapsed.js.map +1 -0
  690. package/dist/date-time/format.d.ts +341 -0
  691. package/dist/date-time/format.d.ts.map +1 -0
  692. package/dist/date-time/format.js +665 -0
  693. package/dist/date-time/format.js.map +1 -0
  694. package/dist/date-time/index.d.ts +47 -0
  695. package/dist/date-time/index.d.ts.map +1 -0
  696. package/dist/date-time/index.js +130 -0
  697. package/dist/date-time/index.js.map +1 -0
  698. package/dist/date-time/iso.d.ts +261 -0
  699. package/dist/date-time/iso.d.ts.map +1 -0
  700. package/dist/date-time/iso.js +358 -0
  701. package/dist/date-time/iso.js.map +1 -0
  702. package/dist/date-time/now.d.ts +44 -0
  703. package/dist/date-time/now.d.ts.map +1 -0
  704. package/dist/date-time/now.js +61 -0
  705. package/dist/date-time/now.js.map +1 -0
  706. package/dist/date-time/parse.d.ts +114 -0
  707. package/dist/date-time/parse.d.ts.map +1 -0
  708. package/dist/date-time/parse.js +157 -0
  709. package/dist/date-time/parse.js.map +1 -0
  710. package/dist/date-time/serialize.d.ts +60 -0
  711. package/dist/date-time/serialize.d.ts.map +1 -0
  712. package/dist/date-time/serialize.js +76 -0
  713. package/dist/date-time/serialize.js.map +1 -0
  714. package/dist/date-time/timezone.d.ts +33 -0
  715. package/dist/date-time/timezone.d.ts.map +1 -0
  716. package/dist/date-time/timezone.js +43 -0
  717. package/dist/date-time/timezone.js.map +1 -0
  718. package/dist/date-time/validate.d.ts +121 -0
  719. package/dist/date-time/validate.d.ts.map +1 -0
  720. package/dist/date-time/validate.js +264 -0
  721. package/dist/date-time/validate.js.map +1 -0
  722. package/dist/hooks/index.d.ts +11 -0
  723. package/dist/hooks/index.d.ts.map +1 -0
  724. package/dist/hooks/index.js +11 -0
  725. package/dist/hooks/index.js.map +1 -0
  726. package/dist/hooks/useCollapsible.d.ts +7 -0
  727. package/dist/hooks/useCollapsible.d.ts.map +1 -0
  728. package/dist/hooks/useCollapsible.js +14 -0
  729. package/dist/hooks/useCollapsible.js.map +1 -0
  730. package/dist/hooks/useControllableState.d.ts +16 -0
  731. package/dist/hooks/useControllableState.d.ts.map +1 -0
  732. package/dist/hooks/useControllableState.js +32 -0
  733. package/dist/hooks/useControllableState.js.map +1 -0
  734. package/dist/hooks/useDebouncedCallback.d.ts +6 -0
  735. package/dist/hooks/useDebouncedCallback.d.ts.map +1 -0
  736. package/dist/hooks/useDebouncedCallback.js +17 -0
  737. package/dist/hooks/useDebouncedCallback.js.map +1 -0
  738. package/dist/hooks/useDebouncedState.d.ts +10 -0
  739. package/dist/hooks/useDebouncedState.d.ts.map +1 -0
  740. package/dist/hooks/useDebouncedState.js +18 -0
  741. package/dist/hooks/useDebouncedState.js.map +1 -0
  742. package/dist/hooks/useDeviceFormFactor.d.ts +26 -0
  743. package/dist/hooks/useDeviceFormFactor.d.ts.map +1 -0
  744. package/dist/hooks/useDeviceFormFactor.js +44 -0
  745. package/dist/hooks/useDeviceFormFactor.js.map +1 -0
  746. package/dist/hooks/useLocalStorage.d.ts +4 -0
  747. package/dist/hooks/useLocalStorage.d.ts.map +1 -0
  748. package/dist/hooks/useLocalStorage.js +51 -0
  749. package/dist/hooks/useLocalStorage.js.map +1 -0
  750. package/dist/hooks/useMergedFloatingRef.d.ts +12 -0
  751. package/dist/hooks/useMergedFloatingRef.d.ts.map +1 -0
  752. package/dist/hooks/useMergedFloatingRef.js +18 -0
  753. package/dist/hooks/useMergedFloatingRef.js.map +1 -0
  754. package/dist/hooks/usePresence.d.ts +54 -0
  755. package/dist/hooks/usePresence.d.ts.map +1 -0
  756. package/dist/hooks/usePresence.js +97 -0
  757. package/dist/hooks/usePresence.js.map +1 -0
  758. package/dist/hooks/useStack.d.ts +30 -0
  759. package/dist/hooks/useStack.d.ts.map +1 -0
  760. package/dist/hooks/useStack.js +70 -0
  761. package/dist/hooks/useStack.js.map +1 -0
  762. package/dist/hooks/useTheme.d.ts +16 -0
  763. package/dist/hooks/useTheme.d.ts.map +1 -0
  764. package/dist/hooks/useTheme.js +95 -0
  765. package/dist/hooks/useTheme.js.map +1 -0
  766. package/dist/internal/Slot.d.ts +13 -0
  767. package/dist/internal/Slot.d.ts.map +1 -0
  768. package/dist/internal/Slot.js +68 -0
  769. package/dist/internal/Slot.js.map +1 -0
  770. package/dist/internal/index.d.ts +3 -0
  771. package/dist/internal/index.d.ts.map +1 -0
  772. package/dist/internal/index.js +2 -0
  773. package/dist/internal/index.js.map +1 -0
  774. package/dist/internal/rovingFocus.d.ts +22 -0
  775. package/dist/internal/rovingFocus.d.ts.map +1 -0
  776. package/dist/internal/rovingFocus.js +39 -0
  777. package/dist/internal/rovingFocus.js.map +1 -0
  778. package/dist/internal/types.d.ts +13 -0
  779. package/dist/internal/types.d.ts.map +1 -0
  780. package/dist/internal/types.js +2 -0
  781. package/dist/internal/types.js.map +1 -0
  782. package/dist/lib/EmptyBoundary.d.ts +9 -0
  783. package/dist/lib/EmptyBoundary.d.ts.map +1 -0
  784. package/dist/lib/EmptyBoundary.js +7 -0
  785. package/dist/lib/EmptyBoundary.js.map +1 -0
  786. package/dist/lib/ErrorBoundary.d.ts +21 -0
  787. package/dist/lib/ErrorBoundary.d.ts.map +1 -0
  788. package/dist/lib/ErrorBoundary.js +28 -0
  789. package/dist/lib/ErrorBoundary.js.map +1 -0
  790. package/dist/lib/contexts/ComponentsContext/ComponentsContext.d.ts +18 -0
  791. package/dist/lib/contexts/ComponentsContext/ComponentsContext.d.ts.map +1 -0
  792. package/dist/lib/contexts/ComponentsContext/ComponentsContext.js +8 -0
  793. package/dist/lib/contexts/ComponentsContext/ComponentsContext.js.map +1 -0
  794. package/dist/lib/contexts/ComponentsContext/index.d.ts +2 -0
  795. package/dist/lib/contexts/ComponentsContext/index.d.ts.map +1 -0
  796. package/dist/lib/contexts/ComponentsContext/index.js +2 -0
  797. package/dist/lib/contexts/ComponentsContext/index.js.map +1 -0
  798. package/dist/lib/contexts/OverlayContext/OverlayContext.d.ts +25 -0
  799. package/dist/lib/contexts/OverlayContext/OverlayContext.d.ts.map +1 -0
  800. package/dist/lib/contexts/OverlayContext/OverlayContext.js +36 -0
  801. package/dist/lib/contexts/OverlayContext/OverlayContext.js.map +1 -0
  802. package/dist/lib/contexts/OverlayContext/hooks/useModal.d.ts +27 -0
  803. package/dist/lib/contexts/OverlayContext/hooks/useModal.d.ts.map +1 -0
  804. package/dist/lib/contexts/OverlayContext/hooks/useModal.js +83 -0
  805. package/dist/lib/contexts/OverlayContext/hooks/useModal.js.map +1 -0
  806. package/dist/lib/contexts/OverlayContext/hooks/useToast.d.ts +12 -0
  807. package/dist/lib/contexts/OverlayContext/hooks/useToast.d.ts.map +1 -0
  808. package/dist/lib/contexts/OverlayContext/hooks/useToast.js +52 -0
  809. package/dist/lib/contexts/OverlayContext/hooks/useToast.js.map +1 -0
  810. package/dist/lib/contexts/OverlayContext/index.d.ts +6 -0
  811. package/dist/lib/contexts/OverlayContext/index.d.ts.map +1 -0
  812. package/dist/lib/contexts/OverlayContext/index.js +6 -0
  813. package/dist/lib/contexts/OverlayContext/index.js.map +1 -0
  814. package/dist/lib/format.d.ts +22 -0
  815. package/dist/lib/format.d.ts.map +1 -0
  816. package/dist/lib/format.js +50 -0
  817. package/dist/lib/format.js.map +1 -0
  818. package/dist/lib/utils.d.ts +7 -0
  819. package/dist/lib/utils.d.ts.map +1 -0
  820. package/dist/lib/utils.js +10 -0
  821. package/dist/lib/utils.js.map +1 -0
  822. package/dist/lib/withEmpty.d.ts +6 -0
  823. package/dist/lib/withEmpty.d.ts.map +1 -0
  824. package/dist/lib/withEmpty.js +12 -0
  825. package/dist/lib/withEmpty.js.map +1 -0
  826. package/dist/lib/withErrorBoundary.d.ts +7 -0
  827. package/dist/lib/withErrorBoundary.d.ts.map +1 -0
  828. package/dist/lib/withErrorBoundary.js +10 -0
  829. package/dist/lib/withErrorBoundary.js.map +1 -0
  830. package/dist/lib/withSuspense.d.ts +6 -0
  831. package/dist/lib/withSuspense.d.ts.map +1 -0
  832. package/dist/lib/withSuspense.js +10 -0
  833. package/dist/lib/withSuspense.js.map +1 -0
  834. package/dist/lib/withSuspenseAndErrorBoundary.d.ts +12 -0
  835. package/dist/lib/withSuspenseAndErrorBoundary.d.ts.map +1 -0
  836. package/dist/lib/withSuspenseAndErrorBoundary.js +12 -0
  837. package/dist/lib/withSuspenseAndErrorBoundary.js.map +1 -0
  838. package/dist/theme/index.d.ts +9 -0
  839. package/dist/theme/index.d.ts.map +1 -0
  840. package/dist/theme/index.js +8 -0
  841. package/dist/theme/index.js.map +1 -0
  842. package/dist/theme/schema.d.ts +103 -0
  843. package/dist/theme/schema.d.ts.map +1 -0
  844. package/dist/theme/schema.js +58 -0
  845. package/dist/theme/schema.js.map +1 -0
  846. package/dist/typography/Body.d.ts +5 -0
  847. package/dist/typography/Body.d.ts.map +1 -0
  848. package/dist/typography/Body.js +7 -0
  849. package/dist/typography/Body.js.map +1 -0
  850. package/dist/typography/Caption.d.ts +5 -0
  851. package/dist/typography/Caption.d.ts.map +1 -0
  852. package/dist/typography/Caption.js +7 -0
  853. package/dist/typography/Caption.js.map +1 -0
  854. package/dist/typography/Code.d.ts +5 -0
  855. package/dist/typography/Code.d.ts.map +1 -0
  856. package/dist/typography/Code.js +7 -0
  857. package/dist/typography/Code.js.map +1 -0
  858. package/dist/typography/Display.d.ts +5 -0
  859. package/dist/typography/Display.d.ts.map +1 -0
  860. package/dist/typography/Display.js +7 -0
  861. package/dist/typography/Display.js.map +1 -0
  862. package/dist/typography/Emphasis.d.ts +5 -0
  863. package/dist/typography/Emphasis.d.ts.map +1 -0
  864. package/dist/typography/Emphasis.js +7 -0
  865. package/dist/typography/Emphasis.js.map +1 -0
  866. package/dist/typography/Heading.d.ts +11 -0
  867. package/dist/typography/Heading.d.ts.map +1 -0
  868. package/dist/typography/Heading.js +15 -0
  869. package/dist/typography/Heading.js.map +1 -0
  870. package/dist/typography/Label.d.ts +4 -0
  871. package/dist/typography/Label.d.ts.map +1 -0
  872. package/dist/typography/Label.js +8 -0
  873. package/dist/typography/Label.js.map +1 -0
  874. package/dist/typography/Lead.d.ts +5 -0
  875. package/dist/typography/Lead.d.ts.map +1 -0
  876. package/dist/typography/Lead.js +7 -0
  877. package/dist/typography/Lead.js.map +1 -0
  878. package/dist/typography/Mono.d.ts +5 -0
  879. package/dist/typography/Mono.d.ts.map +1 -0
  880. package/dist/typography/Mono.js +7 -0
  881. package/dist/typography/Mono.js.map +1 -0
  882. package/dist/typography/Muted.d.ts +5 -0
  883. package/dist/typography/Muted.d.ts.map +1 -0
  884. package/dist/typography/Muted.js +7 -0
  885. package/dist/typography/Muted.js.map +1 -0
  886. package/dist/typography/SectionTitle.d.ts +5 -0
  887. package/dist/typography/SectionTitle.d.ts.map +1 -0
  888. package/dist/typography/SectionTitle.js +7 -0
  889. package/dist/typography/SectionTitle.js.map +1 -0
  890. package/dist/typography/Subtitle.d.ts +5 -0
  891. package/dist/typography/Subtitle.d.ts.map +1 -0
  892. package/dist/typography/Subtitle.js +7 -0
  893. package/dist/typography/Subtitle.js.map +1 -0
  894. package/dist/typography/Timestamp.d.ts +5 -0
  895. package/dist/typography/Timestamp.d.ts.map +1 -0
  896. package/dist/typography/Timestamp.js +7 -0
  897. package/dist/typography/Timestamp.js.map +1 -0
  898. package/dist/typography/index.d.ts +11 -0
  899. package/dist/typography/index.d.ts.map +1 -0
  900. package/dist/typography/index.js +11 -0
  901. package/dist/typography/index.js.map +1 -0
  902. package/package.json +332 -95
  903. package/src/components/Badge/Badge.tsx +5 -4
  904. package/src/components/BarChart/BarChart.tsx +25 -30
  905. package/src/components/Calendar/Calendar.tsx +91 -401
  906. package/src/components/Calendar/CalendarView.tsx +445 -0
  907. package/src/components/Calendar/calendar.types.ts +94 -29
  908. package/src/components/Calendar/index.ts +16 -17
  909. package/src/components/ColorDot/ColorDot.tsx +6 -4
  910. package/src/components/DatePicker/DatePicker.tsx +92 -16
  911. package/src/components/DatePicker/datepicker.types.ts +38 -39
  912. package/src/components/DatePicker/index.ts +11 -10
  913. package/src/components/DateRangePicker/DateRangePicker.tsx +17 -21
  914. package/src/components/DateRangePicker/daterangepicker.types.ts +22 -22
  915. package/src/components/DateRangePicker/index.ts +9 -1
  916. package/src/components/DateTimePicker/DateTimePicker.tsx +46 -18
  917. package/src/components/DateTimePicker/datetimepicker.types.ts +22 -18
  918. package/src/components/DateTimePicker/index.ts +9 -1
  919. package/src/components/DateTimeRangePicker/DateTimeRangePicker.tsx +62 -28
  920. package/src/components/DateTimeRangePicker/datetimerangepicker.types.ts +24 -19
  921. package/src/components/DateTimeRangePicker/index.ts +9 -0
  922. package/src/components/EmptyState/EmptyState.tsx +8 -7
  923. package/src/components/Field/Field.tsx +7 -6
  924. package/src/components/LineChart/LineChart.tsx +147 -141
  925. package/src/components/Markdown/Markdown.tsx +4 -3
  926. package/src/components/Message/Message.tsx +17 -1
  927. package/src/components/MetricList/MetricList.tsx +10 -5
  928. package/src/components/Modal/Modal.tsx +119 -87
  929. package/src/components/Modal/components/ModalContext.tsx +14 -0
  930. package/src/components/Modal/components/ModalHeader.tsx +14 -2
  931. package/src/components/NavBottom/NavBottom.tsx +6 -4
  932. package/src/components/NavSide/NavItem.tsx +1 -1
  933. package/src/components/NavSide/NavSide.tsx +5 -3
  934. package/src/components/Popover/Popover.tsx +7 -0
  935. package/src/components/Popover/components/PopoverBody.tsx +6 -1
  936. package/src/components/Popover/components/PopoverContext.tsx +1 -0
  937. package/src/components/Popover/components/PopoverTrigger.tsx +2 -1
  938. package/src/components/ProgressBar/ProgressBar.tsx +32 -28
  939. package/src/components/Select/Select.tsx +76 -19
  940. package/src/components/Select/SelectDropdown.tsx +32 -3
  941. package/src/components/Select/SelectTrigger.tsx +26 -3
  942. package/src/components/Select/useSelectKeyboard.ts +20 -10
  943. package/src/components/Sheet/Sheet.tsx +108 -83
  944. package/src/components/Sheet/components/SheetContext.tsx +10 -0
  945. package/src/components/Sheet/components/SheetHeader.tsx +17 -2
  946. package/src/components/Skeleton/Skeleton.tsx +5 -3
  947. package/src/components/Sparkline/Sparkline.tsx +29 -36
  948. package/src/components/StatsCard/StatsCard.tsx +7 -6
  949. package/src/components/Tabs/components/TabsList.tsx +5 -3
  950. package/src/components/Tabs/components/TabsPanels.tsx +5 -3
  951. package/src/components/TagChip/TagChip.tsx +10 -3
  952. package/src/components/TagInput/TagInput.tsx +5 -3
  953. package/src/components/TimePicker/TimePicker.tsx +31 -13
  954. package/src/components/TimePicker/timepicker.types.ts +14 -13
  955. package/src/date-time/index.ts +61 -0
  956. package/src/date-time/iso.ts +511 -0
  957. package/src/date-time/now.ts +10 -9
  958. package/src/theme/index.ts +11 -3
  959. package/src/theme/schema.ts +82 -54
  960. package/src/theme/tokens.css +807 -0
  961. package/dist/styles.css +0 -2
  962. package/dist/theme.generated.css +0 -438
  963. package/src/styles/base.css +0 -41
  964. package/src/theme/palette.json +0 -100
  965. package/src/theme/palette.schema.json +0 -40
  966. package/src/theme/theme.json +0 -349
  967. package/src/theme/theme.schema.json +0 -876
  968. package/src/theme/typography.json +0 -7
  969. package/src/theme/typography.schema.json +0 -36
  970. package/tailwind.config.ts +0 -261
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioButtonGroup.js","sourceRoot":"","sources":["../../../src/components/RadioButtonGroup/RadioButtonGroup.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { RadioButtonGroup, type RadioButtonGroupOption, type RadioButtonGroupProps, } from "./RadioButtonGroup.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/RadioButtonGroup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { RadioButtonGroup, } from "./RadioButtonGroup.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/RadioButtonGroup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,GAGjB,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import * as React from "react";
2
+ export type SearchInputProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "onChange"> & {
3
+ value: string;
4
+ onChange: (value: string) => void;
5
+ onClear?: () => void;
6
+ /** Accessible name for the clear button — it is icon-only. */
7
+ clearLabel?: string;
8
+ };
9
+ declare const SearchInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange" | "type"> & {
10
+ value: string;
11
+ onChange: (value: string) => void;
12
+ onClear?: () => void;
13
+ /** Accessible name for the clear button — it is icon-only. */
14
+ clearLabel?: string;
15
+ } & React.RefAttributes<HTMLInputElement>>;
16
+ export { SearchInput };
17
+ //# sourceMappingURL=SearchInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../../src/components/SearchInput/SearchInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG;IACtG,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,WAAW;WAPR,MAAM;cACH,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;cACvB,MAAM,IAAI;IACpB,8DAA8D;iBACjD,MAAM;0CAgCpB,CAAC;AAGF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Input } from "@sixthshift/design-system/input";
3
+ import { Search, X } from "lucide-react";
4
+ import * as React from "react";
5
+ const SearchInput = React.forwardRef(({ className, value, onChange, onClear, clearLabel = "Clear search", ...props }, ref) => {
6
+ const handleClear = () => {
7
+ if (onClear) {
8
+ onClear();
9
+ }
10
+ else {
11
+ onChange("");
12
+ }
13
+ };
14
+ return (_jsx(Input, { ref: ref, type: "text", value: value, onChange: (e) => onChange(e.target.value), iconLeft: _jsx(Search, {}), iconRight: value ? (_jsx("button", { type: "button", onClick: handleClear, "aria-label": clearLabel, className: "rounded hover:bg-bg-subtle", children: _jsx(X, {}) })) : undefined, className: className, ...props }));
15
+ });
16
+ SearchInput.displayName = "SearchInput";
17
+ export { SearchInput };
18
+ //# sourceMappingURL=SearchInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../../../src/components/SearchInput/SearchInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAClC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,cAAc,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACtF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,KAAK,IACJ,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,QAAQ,EAAE,KAAC,MAAM,KAAG,EACpB,SAAS,EACP,KAAK,CAAC,CAAC,CAAC,CACN,iBAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,WAAW,gBAAc,UAAU,EAAE,SAAS,EAAC,4BAA4B,YACxG,KAAC,CAAC,KAAG,GACE,CACV,CAAC,CAAC,CAAC,SAAS,EAEf,SAAS,EAAE,SAAS,KAChB,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AACF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type { SearchInputProps } from "./SearchInput.js";
2
+ export { SearchInput } from "./SearchInput.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SearchInput/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { SearchInput } from "./SearchInput.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/SearchInput/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { type HTMLAttributes, type ReactElement, type Ref } from "react";
2
+ export type SelectOption<T extends string = string> = {
3
+ value: T;
4
+ label: string;
5
+ };
6
+ type SelectBaseProps<T extends string = string> = Omit<HTMLAttributes<HTMLElement>, "onChange" | "value" | "defaultValue"> & {
7
+ options: readonly SelectOption<T>[];
8
+ onBlur?: () => void;
9
+ onFocus?: () => void;
10
+ collapsed?: boolean;
11
+ disabled?: boolean;
12
+ placeholder?: string;
13
+ searchable?: boolean;
14
+ clearable?: boolean;
15
+ };
16
+ type SelectSingleProps<T extends string = string> = SelectBaseProps<T> & {
17
+ mode?: "single";
18
+ value?: T;
19
+ defaultValue?: T;
20
+ onValueChange?: (value: T) => void;
21
+ };
22
+ type SelectMultipleProps<T extends string = string> = SelectBaseProps<T> & {
23
+ mode: "multiple";
24
+ value?: T[];
25
+ defaultValue?: T[];
26
+ onValueChange?: (value: T[]) => void;
27
+ };
28
+ export type SelectProps<T extends string = string> = SelectSingleProps<T> | SelectMultipleProps<T>;
29
+ /**
30
+ * The trigger is the ref target: `register` from a form library and
31
+ * scroll-into-view both want it, and it is a `<div>` in both the button and the
32
+ * searchable variants. It does swap nodes when the searchable trigger replaces
33
+ * the button one, so a callback ref sees null and then the new element — normal
34
+ * for conditional rendering, but worth knowing if you cache the node.
35
+ */
36
+ export declare const Select: <T extends string = string>(props: SelectProps<T> & {
37
+ ref?: Ref<HTMLDivElement>;
38
+ }) => ReactElement;
39
+ export {};
40
+ //# sourceMappingURL=Select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,GAAG,EAA4D,MAAM,OAAO,CAAC;AAK/I,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IACpD,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,cAAc,CAAC,GAAG;IAC3H,OAAO,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG;IACvE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;CACpC,CAAC;AAEF,KAAK,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG;IACzE,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AA6SnG;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAAE,KAAK,YAAY,CAAC"}
@@ -0,0 +1,223 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { autoUpdate, flip, offset, shift, size, useFloating } from "@floating-ui/react";
3
+ import { useControllableState } from "@sixthshift/design-system/hooks";
4
+ import { forwardRef, useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
5
+ import { SelectDropdown, selectOptionId } from "./SelectDropdown.js";
6
+ import { SelectTriggerButton, SelectTriggerSearch } from "./SelectTrigger.js";
7
+ import { useSelectKeyboard } from "./useSelectKeyboard.js";
8
+ /**
9
+ * `forwardRef` erases the generic, so the implementation takes the ref as an
10
+ * ordinary second argument and the exported `Select` re-declares the generic
11
+ * signature over it. Consumers keep `Select<"a" | "b">` inference *and* get a
12
+ * ref; without the cast they would have to choose.
13
+ */
14
+ const SelectRoot = forwardRef(function SelectRoot(props, rootRef) {
15
+ const { options, onBlur, onFocus, collapsed = false, className, disabled = false, placeholder = "Select...", searchable = false, clearable = false, ...restProps } = props;
16
+ const isMultiple = props.mode === "multiple";
17
+ // Single-mode state
18
+ const [singleValue, setSingleValue] = useControllableState({
19
+ value: !isMultiple ? props.value : undefined,
20
+ defaultValue: (!isMultiple ? props.defaultValue : undefined) ?? "",
21
+ onChange: !isMultiple ? props.onValueChange : undefined,
22
+ });
23
+ // Multiple-mode state
24
+ const [multiValue, setMultiValue] = useControllableState({
25
+ value: isMultiple ? props.value : undefined,
26
+ defaultValue: (isMultiple ? props.defaultValue : undefined) ?? [],
27
+ onChange: isMultiple ? props.onValueChange : undefined,
28
+ });
29
+ const [open, setOpen] = useControllableState({ value: undefined, defaultValue: false });
30
+ const [highlightedIndex, setHighlightedIndex] = useState(-1);
31
+ const [searchValue, setSearchValue] = useState("");
32
+ const listboxRef = useRef(null);
33
+ // Also held in state: the listbox is portalled, and FloatingPortal creates its
34
+ // container in an effect, so the node lands a commit after `open` flips. A ref
35
+ // alone is still null when the open effect runs — state re-renders us when the
36
+ // node actually arrives.
37
+ const [listboxNode, setListboxNode] = useState(null);
38
+ const inputRef = useRef(null);
39
+ const optionRefs = useRef(new Map());
40
+ const wasOpenRef = useRef(false);
41
+ const selectedValues = useMemo(() => (isMultiple ? new Set(multiValue) : singleValue ? new Set([singleValue]) : new Set()), [isMultiple, multiValue, singleValue]);
42
+ const displayLabel = useMemo(() => {
43
+ if (isMultiple) {
44
+ if (multiValue.length === 0)
45
+ return placeholder;
46
+ if (multiValue.length === 1)
47
+ return options.find((o) => o.value === multiValue[0])?.label ?? placeholder;
48
+ return `${multiValue.length} selected`;
49
+ }
50
+ return options.find((o) => o.value === singleValue)?.label ?? placeholder;
51
+ }, [isMultiple, multiValue, singleValue, options, placeholder]);
52
+ const filteredOptions = searchable && searchValue ? options.filter((opt) => opt.label.toLowerCase().includes(searchValue.toLowerCase())) : options;
53
+ const hasValue = isMultiple ? multiValue.length > 0 : Boolean(singleValue);
54
+ const showClearButton = clearable && hasValue && !disabled;
55
+ // Floating UI
56
+ const { refs, floatingStyles } = useFloating({
57
+ open,
58
+ onOpenChange: setOpen,
59
+ placement: "bottom-start",
60
+ middleware: [
61
+ offset(4),
62
+ flip(),
63
+ shift({ padding: 8 }),
64
+ size({
65
+ apply({ rects, elements }) {
66
+ Object.assign(elements.floating.style, { width: `${rects.reference.width}px` });
67
+ },
68
+ }),
69
+ ],
70
+ whileElementsMounted: autoUpdate,
71
+ });
72
+ const setListbox = useCallback((node) => {
73
+ listboxRef.current = node;
74
+ setListboxNode(node);
75
+ }, []);
76
+ const focusTrigger = useCallback(() => {
77
+ refs.reference.current?.focus();
78
+ }, [refs.reference]);
79
+ const handleSelect = useCallback((optionValue) => {
80
+ if (isMultiple) {
81
+ setMultiValue(selectedValues.has(optionValue) ? multiValue.filter((v) => v !== optionValue) : [...multiValue, optionValue]);
82
+ }
83
+ else {
84
+ setSingleValue(optionValue);
85
+ setSearchValue("");
86
+ setOpen(false);
87
+ focusTrigger();
88
+ }
89
+ }, [isMultiple, selectedValues, multiValue, setMultiValue, setSingleValue, setOpen, focusTrigger]);
90
+ const handleClear = useCallback((e) => {
91
+ e.stopPropagation();
92
+ e.preventDefault();
93
+ if (isMultiple) {
94
+ setMultiValue([]);
95
+ }
96
+ else {
97
+ setSingleValue("");
98
+ }
99
+ }, [isMultiple, setMultiValue, setSingleValue]);
100
+ const handleListKeyDown = useSelectKeyboard({
101
+ open,
102
+ searchable,
103
+ searchValue,
104
+ highlightedIndex,
105
+ displayOptions: filteredOptions,
106
+ setOpen,
107
+ setHighlightedIndex,
108
+ setSearchValue,
109
+ handleSelect,
110
+ focusTrigger,
111
+ });
112
+ const handleTriggerKeyDown = useCallback((event) => {
113
+ if (disabled || collapsed)
114
+ return;
115
+ if (!open && (event.key === "ArrowDown" || event.key === "ArrowUp" || event.key === "Enter" || event.key === " ")) {
116
+ event.preventDefault();
117
+ setOpen(true);
118
+ return;
119
+ }
120
+ if (searchable && !open && event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {
121
+ setOpen(true);
122
+ return;
123
+ }
124
+ // Focus normally moves into the listbox as it opens, but it can still be
125
+ // on the trigger — the frame the dropdown mounts in, or after the user
126
+ // shift-tabs back to it. Handle navigation here too rather than dropping
127
+ // the keystroke.
128
+ handleListKeyDown(event);
129
+ }, [disabled, collapsed, open, setOpen, searchable, handleListKeyDown]);
130
+ const handleSearchChange = useCallback((val) => {
131
+ setSearchValue(val);
132
+ setHighlightedIndex(0);
133
+ }, []);
134
+ // Keep the latest callbacks in a ref. This effect must run when the open state
135
+ // (and derived option state) changes — not whenever a caller passes a fresh
136
+ // inline handler. Listing onFocus/onBlur as dependencies would re-run it on
137
+ // every parent render, resetting the highlighted option and clearing the
138
+ // search box mid-interaction.
139
+ const focusCallbacksRef = useRef({ onFocus, onBlur });
140
+ useEffect(() => {
141
+ focusCallbacksRef.current = { onFocus, onBlur };
142
+ });
143
+ // Focus/blur lifecycle
144
+ useEffect(() => {
145
+ if (open) {
146
+ const firstSelected = filteredOptions.findIndex((opt) => selectedValues.has(opt.value));
147
+ setHighlightedIndex(firstSelected >= 0 ? firstSelected : 0);
148
+ if (!wasOpenRef.current)
149
+ focusCallbacksRef.current.onFocus?.();
150
+ if (searchable && inputRef.current)
151
+ inputRef.current.focus();
152
+ }
153
+ else {
154
+ setHighlightedIndex(-1);
155
+ setSearchValue("");
156
+ if (wasOpenRef.current)
157
+ focusCallbacksRef.current.onBlur?.();
158
+ }
159
+ wasOpenRef.current = open;
160
+ }, [open, filteredOptions, searchable, selectedValues]);
161
+ // Non-searchable: focus the listbox itself, so arrow keys reach the scoped
162
+ // keydown handler and a screen reader follows aria-activedescendant. The
163
+ // searchable variant keeps focus in its input instead.
164
+ useEffect(() => {
165
+ if (!open || searchable)
166
+ return;
167
+ listboxNode?.focus();
168
+ }, [open, searchable, listboxNode]);
169
+ // Scroll highlighted option into view
170
+ useEffect(() => {
171
+ if (open && highlightedIndex >= 0) {
172
+ const el = optionRefs.current.get(highlightedIndex);
173
+ if (el && listboxRef.current) {
174
+ const listbox = listboxRef.current;
175
+ const top = el.offsetTop;
176
+ const bottom = top + el.offsetHeight;
177
+ if (top < listbox.scrollTop)
178
+ listbox.scrollTop = top;
179
+ else if (bottom > listbox.scrollTop + listbox.clientHeight)
180
+ listbox.scrollTop = bottom - listbox.clientHeight;
181
+ }
182
+ }
183
+ }, [highlightedIndex, open]);
184
+ // Close on outside click
185
+ useEffect(() => {
186
+ if (!open)
187
+ return;
188
+ const handler = (event) => {
189
+ const target = event.target;
190
+ const reference = refs.reference.current;
191
+ const floating = refs.floating.current;
192
+ if (reference && floating && !reference.contains(target) && !floating.contains(target)) {
193
+ setOpen(false);
194
+ }
195
+ };
196
+ document.addEventListener("mousedown", handler);
197
+ return () => document.removeEventListener("mousedown", handler);
198
+ }, [open, setOpen, refs]);
199
+ // The listbox id must be unique per instance: it is referenced by
200
+ // aria-controls, and a hardcoded value meant two Selects on one page
201
+ // produced duplicate ids and cross-wired ARIA.
202
+ const listboxId = useId();
203
+ const activeOptionId = open && highlightedIndex >= 0 && highlightedIndex < filteredOptions.length ? selectOptionId(listboxId, highlightedIndex) : undefined;
204
+ // Strip mode from DOM props
205
+ const { mode: _, value: _v, defaultValue: _dv, onValueChange: _oc, ...htmlProps } = restProps;
206
+ // `role="listbox"` requires an accessible name of its own, and the trigger
207
+ // can't supply one: its label is the current *value*, and in searchable mode
208
+ // it is an input whose name would resolve to whatever has been typed. Use the
209
+ // caller's `aria-label` when there is one, else the placeholder — the closest
210
+ // thing this component has to a field label.
211
+ const listboxLabel = typeof htmlProps["aria-label"] === "string" ? htmlProps["aria-label"] : placeholder;
212
+ return (_jsxs(_Fragment, { children: [searchable && open && !collapsed ? (_jsx(SelectTriggerSearch, { setReference: refs.setReference, rootRef: rootRef, inputRef: inputRef, searchValue: searchValue, disabled: disabled, displayLabel: displayLabel, open: open, className: className, onSearchChange: handleSearchChange, onKeyDown: handleListKeyDown, listboxId: listboxId, activeOptionId: activeOptionId, props: htmlProps })) : (_jsx(SelectTriggerButton, { setReference: refs.setReference, rootRef: rootRef, open: open, disabled: disabled, collapsed: collapsed, displayLabel: displayLabel, showClearButton: Boolean(showClearButton), className: className, onToggle: () => !disabled && !collapsed && setOpen(!open), onKeyDown: handleTriggerKeyDown, onClear: handleClear, listboxId: listboxId, props: htmlProps })), open && !collapsed && (_jsx(SelectDropdown, { setFloating: refs.setFloating, listboxId: listboxId, setListbox: setListbox, label: listboxLabel, activeOptionId: activeOptionId, floatingStyles: floatingStyles, displayOptions: filteredOptions, highlightedIndex: highlightedIndex, selectedValues: selectedValues, searchValue: searchValue, optionRefs: optionRefs, multiple: isMultiple, onSelect: handleSelect, onHighlight: setHighlightedIndex, onKeyDown: handleListKeyDown }))] }));
213
+ });
214
+ SelectRoot.displayName = "Select";
215
+ /**
216
+ * The trigger is the ref target: `register` from a form library and
217
+ * scroll-into-view both want it, and it is a `<div>` in both the button and the
218
+ * searchable variants. It does swap nodes when the searchable trigger replaces
219
+ * the button one, so a callback ref sees null and then the new element — normal
220
+ * for conditional rendering, but worth knowing if you cache the node.
221
+ */
222
+ export const Select = SelectRoot;
223
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAoD,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC/I,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAkCxD;;;;;GAKG;AACH,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,UAAU,CAA4B,KAAqB,EAAE,OAA4B;IAC9H,MAAM,EACJ,OAAO,EACP,MAAM,EACN,OAAO,EACP,SAAS,GAAG,KAAK,EACjB,SAAS,EACT,QAAQ,GAAG,KAAK,EAChB,WAAW,GAAG,WAAW,EACzB,UAAU,GAAG,KAAK,EAClB,SAAS,GAAG,KAAK,EACjB,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAEV,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;IAE7C,oBAAoB;IACpB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,oBAAoB,CAAC;QACzD,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAC5C,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,IAAK,EAAQ;QACzE,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;KACxD,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,oBAAoB,CAAC;QACvD,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAC3C,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,IAAK,EAAU;QAC1E,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;KACvD,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IACxF,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACvD,+EAA+E;IAC/E,+EAA+E;IAC/E,+EAA+E;IAC/E,yBAAyB;IACzB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAiC,IAAI,GAAG,EAAE,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjC,MAAM,cAAc,GAAW,OAAO,CACpC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,EAC3F,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CACtC,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,WAAW,CAAC;YAChD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,WAAW,CAAC;YACzG,OAAO,GAAG,UAAU,CAAC,MAAM,WAAW,CAAC;QACzC,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,EAAE,KAAK,IAAI,WAAW,CAAC;IAC5E,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IAEhE,MAAM,eAAe,GAAG,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACnJ,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,SAAS,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC;IAE3D,cAAc;IACd,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,WAAW,CAAC;QAC3C,IAAI;QACJ,YAAY,EAAE,OAAO;QACrB,SAAS,EAAE,cAAc;QACzB,UAAU,EAAE;YACV,MAAM,CAAC,CAAC,CAAC;YACT,IAAI,EAAE;YACN,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACvB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAClF,CAAC;aACF,CAAC;SACH;QACD,oBAAoB,EAAE,UAAU;KACjC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,IAA2B,EAAE,EAAE;QAC7D,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,cAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,IAAI,CAAC,SAAS,CAAC,OAA8B,EAAE,KAAK,EAAE,CAAC;IAC1D,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAErB,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,WAAc,EAAE,EAAE;QACjB,IAAI,UAAU,EAAE,CAAC;YACf,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9H,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,cAAc,CAAC,EAAE,CAAC,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,EACD,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,CAAC,CAC/F,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,CAAmB,EAAE,EAAE;QACtB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,UAAU,EAAE,CAAC;YACf,aAAa,CAAC,EAAS,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,EAAO,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,EACD,CAAC,UAAU,EAAE,aAAa,EAAE,cAAc,CAAC,CAC5C,CAAC;IAEF,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;QAC1C,IAAI;QACJ,UAAU;QACV,WAAW;QACX,gBAAgB;QAChB,cAAc,EAAE,eAAe;QAC/B,OAAO;QACP,mBAAmB;QACnB,cAAc;QACd,YAAY;QACZ,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,WAAW,CACtC,CAAC,KAA6C,EAAE,EAAE;QAChD,IAAI,QAAQ,IAAI,SAAS;YAAE,OAAO;QAClC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;YAClH,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QACD,IAAI,UAAU,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACvG,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QACD,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE;QACzE,iBAAiB;QACjB,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,EACD,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,CACpE,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CAAC,CAAC,GAAW,EAAE,EAAE;QACrD,cAAc,CAAC,GAAG,CAAC,CAAC;QACpB,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,+EAA+E;IAC/E,4EAA4E;IAC5E,4EAA4E;IAC5E,yEAAyE;IACzE,8BAA8B;IAC9B,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE;QACb,iBAAiB,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,uBAAuB;IACvB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACxF,mBAAmB,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,UAAU,CAAC,OAAO;gBAAE,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,UAAU,IAAI,QAAQ,CAAC,OAAO;gBAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;YACxB,cAAc,CAAC,EAAE,CAAC,CAAC;YACnB,IAAI,UAAU,CAAC,OAAO;gBAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC/D,CAAC;QACD,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;IAC5B,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IAExD,2EAA2E;IAC3E,yEAAyE;IACzE,uDAAuD;IACvD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI,IAAI,UAAU;YAAE,OAAO;QAChC,WAAW,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAEpC,sCAAsC;IACtC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACpD,IAAI,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;gBACnC,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;gBACzB,MAAM,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC;gBACrC,IAAI,GAAG,GAAG,OAAO,CAAC,SAAS;oBAAE,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;qBAChD,IAAI,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY;oBAAE,OAAO,CAAC,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;YAChH,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;IAE7B,yBAAyB;IACzB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,OAAO,GAAG,CAAC,KAAiB,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAc,CAAC;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACvC,IAAI,SAAS,IAAI,QAAQ,IAAI,CAAE,SAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxG,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACH,CAAC,CAAC;QACF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1B,kEAAkE;IAClE,qEAAqE;IACrE,+CAA+C;IAC/C,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC;IAC1B,MAAM,cAAc,GAAG,IAAI,IAAI,gBAAgB,IAAI,CAAC,IAAI,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5J,4BAA4B;IAC5B,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,SAAoC,CAAC;IAEzH,2EAA2E;IAC3E,6EAA6E;IAC7E,8EAA8E;IAC9E,8EAA8E;IAC9E,6CAA6C;IAC7C,MAAM,YAAY,GAAG,OAAO,SAAS,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,SAAS,CAAC,YAAY,CAAY,CAAC,CAAC,CAAC,WAAW,CAAC;IAErH,OAAO,CACL,8BACG,UAAU,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAClC,KAAC,mBAAmB,IAClB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,kBAAkB,EAClC,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,SAAwD,GAC/D,CACH,CAAC,CAAC,CAAC,CACF,KAAC,mBAAmB,IAClB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,OAAO,CAAC,eAAe,CAAC,EACzC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,EACzD,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAwC,GAC/C,CACH,EAEA,IAAI,IAAI,CAAC,SAAS,IAAI,CACrB,KAAC,cAAc,IACb,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,YAAY,EACnB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,eAAe,EAC/B,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,mBAAmB,EAChC,SAAS,EAAE,iBAAiB,GAC5B,CACH,IACA,CACJ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,WAAW,GAAG,QAAQ,CAAC;AAElC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,UAAgH,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type React from "react";
2
+ import type { WritableRefObject } from "../../internal/types.js";
3
+ /**
4
+ * Options are addressed by id, not by focus: the listbox (or the search input)
5
+ * keeps focus and points `aria-activedescendant` at the highlighted option, so
6
+ * both sides need to agree on the id.
7
+ */
8
+ export declare const selectOptionId: (listboxId: string, index: number) => string;
9
+ interface SelectDropdownProps<T extends string> {
10
+ setFloating: (node: HTMLElement | null) => void;
11
+ listboxId: string;
12
+ /** Publishes the listbox node upward — Select focuses it and scrolls it. */
13
+ setListbox: (node: HTMLDivElement | null) => void;
14
+ /** Names the listbox — a bare `role="listbox"` has no accessible name. */
15
+ label: string;
16
+ /** The highlighted option's id, or undefined when nothing is highlighted. */
17
+ activeOptionId: string | undefined;
18
+ floatingStyles: React.CSSProperties;
19
+ displayOptions: readonly {
20
+ value: T;
21
+ label: string;
22
+ }[];
23
+ highlightedIndex: number;
24
+ selectedValues: Set<T>;
25
+ searchValue: string;
26
+ optionRefs: WritableRefObject<Map<number, HTMLButtonElement>>;
27
+ multiple: boolean;
28
+ onSelect: (value: T) => void;
29
+ onHighlight: (index: number) => void;
30
+ onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;
31
+ }
32
+ export declare const SelectDropdown: <T extends string>({ setFloating, listboxId, setListbox, label, activeOptionId, floatingStyles, displayOptions, highlightedIndex, selectedValues, searchValue, optionRefs, multiple, onSelect, onHighlight, onKeyDown, }: SelectDropdownProps<T>) => React.JSX.Element;
33
+ export {};
34
+ //# sourceMappingURL=SelectDropdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectDropdown.d.ts","sourceRoot":"","sources":["../../../src/components/Select/SelectDropdown.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,cAAc,cAAe,MAAM,SAAS,MAAM,WAAmC,CAAC;AAEnG,UAAU,mBAAmB,CAAC,CAAC,SAAS,MAAM;IAC5C,WAAW,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,UAAU,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,cAAc,EAAE,SAAS;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvD,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC9D,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC9D;AAED,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,yMAgB5C,mBAAmB,CAAC,CAAC,CAAC,sBAoExB,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { FloatingPortal } from "@floating-ui/react";
3
+ import { cn } from "@sixthshift/design-system/utils";
4
+ import { Check } from "lucide-react";
5
+ /**
6
+ * Options are addressed by id, not by focus: the listbox (or the search input)
7
+ * keeps focus and points `aria-activedescendant` at the highlighted option, so
8
+ * both sides need to agree on the id.
9
+ */
10
+ export const selectOptionId = (listboxId, index) => `${listboxId}-option-${index}`;
11
+ export const SelectDropdown = ({ setFloating, listboxId, setListbox, label, activeOptionId, floatingStyles, displayOptions, highlightedIndex, selectedValues, searchValue, optionRefs, multiple, onSelect, onHighlight, onKeyDown, }) => (_jsx(FloatingPortal, { children: _jsx("div", { ref: (node) => {
12
+ setFloating(node);
13
+ setListbox(node);
14
+ }, id: listboxId, role: "listbox", "aria-label": label, "aria-multiselectable": multiple || undefined, "aria-activedescendant": activeOptionId,
15
+ // Focus lands here when the dropdown opens (the searchable variant keeps
16
+ // it in the input instead), which is what makes `aria-activedescendant`
17
+ // and the scoped keydown handler work.
18
+ tabIndex: -1, onKeyDown: onKeyDown, style: floatingStyles, className: "z-popover max-h-60 overflow-y-auto rounded-md border border-border-normal bg-bg-normal shadow-lg", children: displayOptions.length === 0 ? (_jsx("div", { className: "px-3 py-2 text-center text-fg-subtle text-sm", children: searchValue ? `No results for "${searchValue}"` : "No options available" })) : (displayOptions.map((option, index) => {
19
+ const isSelected = selectedValues.has(option.value);
20
+ return (_jsxs("button", { ref: (el) => {
21
+ if (el)
22
+ optionRefs.current.set(index, el);
23
+ else
24
+ optionRefs.current.delete(index);
25
+ }, type: "button", id: selectOptionId(listboxId, index), role: "option", "aria-selected": isSelected,
26
+ // The options are not tab stops and must not steal focus: the
27
+ // listbox holds it and delegates via aria-activedescendant, so a
28
+ // click that moved focus onto the option would strand the keyboard
29
+ // handler with nothing listening.
30
+ tabIndex: -1, onMouseDown: (event) => event.preventDefault(), onClick: () => onSelect(option.value), onMouseEnter: () => onHighlight(index), className: cn(`flex w-full cursor-pointer items-center px-3 py-2 text-fg-normal text-sm transition-colors`, multiple && "gap-2", highlightedIndex === index && "bg-bg-subtle", isSelected ? "font-medium text-fg-normal" : "text-fg-subtle"), children: [multiple && (_jsx("span", { className: cn("flex h-4 w-4 shrink-0 items-center justify-center rounded-xs border", isSelected ? "border-border-brand bg-bg-brand text-fg-on-brand" : "border-border-normal"), children: isSelected && _jsx(Check, { className: "h-3 w-3" }) })), option.label] }, option.value));
31
+ })) }) }));
32
+ //# sourceMappingURL=SelectDropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectDropdown.js","sourceRoot":"","sources":["../../../src/components/Select/SelectDropdown.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { HTMLAttributes, Ref } from "react";
2
+ interface SelectTriggerButtonProps {
3
+ setReference: (node: HTMLElement | null) => void;
4
+ /** Consumer ref from Select, attached to this trigger's root element. */
5
+ rootRef?: Ref<HTMLDivElement>;
6
+ listboxId: string;
7
+ open: boolean;
8
+ disabled: boolean;
9
+ collapsed: boolean;
10
+ displayLabel: string;
11
+ showClearButton: boolean;
12
+ className: string | undefined;
13
+ onToggle: () => void;
14
+ onKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>) => void;
15
+ onClear: (e: React.MouseEvent) => void;
16
+ props: HTMLAttributes<HTMLElement>;
17
+ }
18
+ export declare const SelectTriggerButton: ({ setReference, rootRef, listboxId, open, disabled, collapsed, displayLabel, showClearButton, className, onToggle, onKeyDown, onClear, props, }: SelectTriggerButtonProps) => import("react").JSX.Element;
19
+ interface SelectTriggerSearchProps {
20
+ setReference: (node: HTMLElement | null) => void;
21
+ /** Consumer ref from Select, attached to this trigger's root element. */
22
+ rootRef?: Ref<HTMLDivElement>;
23
+ listboxId: string;
24
+ /** Id of the highlighted option — the input keeps focus and delegates to it. */
25
+ activeOptionId: string | undefined;
26
+ inputRef: React.RefObject<HTMLInputElement | null>;
27
+ searchValue: string;
28
+ disabled: boolean;
29
+ displayLabel: string;
30
+ open: boolean;
31
+ className: string | undefined;
32
+ onSearchChange: (value: string) => void;
33
+ onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;
34
+ props: React.InputHTMLAttributes<HTMLInputElement>;
35
+ }
36
+ export declare const SelectTriggerSearch: ({ setReference, rootRef, listboxId, activeOptionId, inputRef, searchValue, disabled, displayLabel, open, className, onSearchChange, onKeyDown, props, }: SelectTriggerSearchProps) => import("react").JSX.Element;
37
+ export {};
38
+ //# sourceMappingURL=SelectTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectTrigger.d.ts","sourceRoot":"","sources":["../../../src/components/Select/SelectTrigger.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjD,UAAU,wBAAwB;IAChC,YAAY,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,yEAAyE;IACzE,OAAO,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACvC,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,mBAAmB,oJAc7B,wBAAwB,gCAmD1B,CAAC;AAEF,UAAU,wBAAwB;IAChC,YAAY,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,yEAAyE;IACzE,OAAO,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC7D,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;CACpD;AAED,eAAO,MAAM,mBAAmB,4JAc7B,wBAAwB,gCA+B1B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "@sixthshift/design-system/utils";
3
+ import { ChevronDown, X } from "lucide-react";
4
+ export const SelectTriggerButton = ({ setReference, rootRef, listboxId, open, disabled, collapsed, displayLabel, showClearButton, className, onToggle, onKeyDown, onClear, props, }) => {
5
+ // The clear button must be a sibling of the trigger, not a descendant: nesting
6
+ // one interactive control inside another is invalid HTML and leaves assistive
7
+ // tech unable to reach the inner control (axe: nested-interactive).
8
+ const showClear = showClearButton && !collapsed;
9
+ return (_jsxs("div", { ref: rootRef, className: "relative w-full", children: [_jsx("button", { ref: setReference, type: "button", onClick: onToggle, onKeyDown: onKeyDown, disabled: disabled, className: cn(`flex w-full cursor-pointer items-center gap-2 rounded-md border border-border-normal bg-bg-normal px-3 py-2 font-medium text-fg-normal text-sm transition-colors hover:bg-bg-subtle focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring disabled:cursor-not-allowed disabled:opacity-50`, collapsed ? "justify-center" : "justify-between", showClear && "pr-9", className), title: collapsed ? displayLabel : undefined, "aria-haspopup": "listbox", "aria-expanded": open, "aria-controls": open ? listboxId : undefined, ...props, children: collapsed ? (_jsx("span", { className: "font-bold text-xs", children: displayLabel.charAt(0) })) : (_jsxs(_Fragment, { children: [_jsx("span", { className: "truncate", children: displayLabel }), _jsx("span", { className: "flex shrink-0 items-center gap-1", children: _jsx(ChevronDown, { className: cn("h-4 w-4 text-fg-subtle transition-transform", open && "rotate-180") }) })] })) }), showClear && (_jsx("button", { type: "button", onClick: onClear, disabled: disabled, className: "absolute top-1/2 right-8 -translate-y-1/2 rounded-sm p-0.5 text-fg-subtle hover:bg-bg-subtle hover:text-fg-normal focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring", "aria-label": "Clear selection", children: _jsx(X, { className: "h-3.5 w-3.5" }) }))] }));
10
+ };
11
+ export const SelectTriggerSearch = ({ setReference, rootRef, listboxId, activeOptionId, inputRef, searchValue, disabled, displayLabel, open, className, onSearchChange, onKeyDown, props, }) => (
12
+ // floating-ui anchors to this element and the consumer may also want it, so
13
+ // both refs run off one callback rather than one silently winning.
14
+ _jsxs("div", { ref: (node) => {
15
+ setReference(node);
16
+ if (typeof rootRef === "function")
17
+ rootRef(node);
18
+ else if (rootRef)
19
+ rootRef.current = node;
20
+ }, className: cn("relative flex w-full items-center", className), children: [_jsx("input", { ref: inputRef, type: "text", value: searchValue, onChange: (e) => onSearchChange(e.target.value), onKeyDown: onKeyDown, placeholder: displayLabel, disabled: disabled, className: cn(`flex-1 rounded-md border border-border-normal bg-bg-normal px-3 py-2 font-medium text-fg-normal text-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-ring disabled:cursor-not-allowed disabled:opacity-50`), role: "combobox", "aria-expanded": open, "aria-controls": listboxId, "aria-activedescendant": activeOptionId, "aria-autocomplete": "list", ...props }), _jsx(ChevronDown, { className: "pointer-events-none absolute right-3 h-4 w-4 text-fg-subtle" })] }));
21
+ //# sourceMappingURL=SelectTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectTrigger.js","sourceRoot":"","sources":["../../../src/components/Select/SelectTrigger.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { Select, type SelectOption, type SelectProps } from "./Select.js";
2
+ export { SelectDropdown } from "./SelectDropdown.js";
3
+ export { SelectTriggerButton, SelectTriggerSearch } from "./SelectTrigger.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { Select } from "./Select.js";
2
+ export { SelectDropdown } from "./SelectDropdown.js";
3
+ export { SelectTriggerButton, SelectTriggerSearch } from "./SelectTrigger.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAuC,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { SelectOption } from "./Select.js";
2
+ interface UseSelectKeyboardOptions<T extends string> {
3
+ open: boolean;
4
+ searchable: boolean;
5
+ searchValue: string;
6
+ highlightedIndex: number;
7
+ displayOptions: readonly SelectOption<T>[];
8
+ setOpen: (open: boolean) => void;
9
+ setHighlightedIndex: React.Dispatch<React.SetStateAction<number>>;
10
+ setSearchValue: (value: string) => void;
11
+ handleSelect: (value: T) => void;
12
+ focusTrigger: () => void;
13
+ }
14
+ /**
15
+ * Returns the keydown handler for an open Select. It is attached to the element
16
+ * that actually holds focus — the listbox, or the search input in searchable
17
+ * mode — rather than to `document`.
18
+ *
19
+ * A document-level listener fired for every keystroke on the page while any
20
+ * Select was open, which meant a Select could swallow Escape or an arrow key
21
+ * from an overlay stacked above it, and two open Selects raced each other. It
22
+ * also decoupled key handling from focus, so nothing guaranteed the element the
23
+ * user was typing into was the one being navigated. Scoping the handler to the
24
+ * focused element makes both problems structurally impossible and is what lets
25
+ * `aria-activedescendant` mean something: the focused element owns the active
26
+ * option.
27
+ */
28
+ export declare function useSelectKeyboard<T extends string>({ open, searchable, searchValue, highlightedIndex, displayOptions, setOpen, setHighlightedIndex, setSearchValue, handleSelect, focusTrigger, }: UseSelectKeyboardOptions<T>): (event: React.KeyboardEvent<HTMLElement>) => void;
29
+ export {};
30
+ //# sourceMappingURL=useSelectKeyboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSelectKeyboard.d.ts","sourceRoot":"","sources":["../../../src/components/Select/useSelectKeyboard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,UAAU,wBAAwB,CAAC,CAAC,SAAS,MAAM;IACjD,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,EAClD,IAAI,EACJ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,YAAY,GACb,EAAE,wBAAwB,CAAC,CAAC,CAAC,WAElB,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,UA6E3C"}