@botiverse/raft-ui 0.50.0 → 0.52.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 (585) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/components/activity-inbox/activity-inbox-shell.d.mts +12 -0
  3. package/dist/components/activity-inbox/activity-inbox-shell.mjs +39 -0
  4. package/dist/components/activity-inbox/activity-inbox-shell.recipe.mjs +14 -0
  5. package/dist/components/activity-inbox/activity-inbox-sidebar.d.mts +6 -0
  6. package/dist/components/activity-inbox/activity-inbox-sidebar.mjs +22 -0
  7. package/dist/components/activity-inbox/activity-inbox-sidebar.recipe.mjs +22 -0
  8. package/dist/components/activity-inbox/activity-inbox-toolbar.d.mts +9 -0
  9. package/dist/components/activity-inbox/activity-inbox-toolbar.mjs +29 -0
  10. package/dist/components/activity-inbox/activity-inbox-toolbar.recipe.mjs +14 -0
  11. package/dist/components/activity-inbox/index.d.mts +4 -0
  12. package/dist/components/alert-dialog/alert-dialog.d.mts +41 -0
  13. package/dist/components/alert-dialog/alert-dialog.mjs +163 -0
  14. package/dist/components/alert-dialog/index.d.mts +2 -0
  15. package/dist/components/announcement-dialog/announcement-dialog.d.mts +18 -0
  16. package/dist/components/announcement-dialog/announcement-dialog.mjs +121 -0
  17. package/dist/components/announcement-dialog/index.d.mts +3 -0
  18. package/dist/components/app-rail/app-rail.d.mts +31 -0
  19. package/dist/components/app-rail/app-rail.mjs +126 -0
  20. package/dist/components/app-rail/app-rail.recipe.mjs +47 -0
  21. package/dist/components/app-rail/index.d.mts +2 -0
  22. package/dist/components/app-shell/app-shell.d.mts +27 -0
  23. package/dist/components/app-shell/app-shell.mjs +217 -0
  24. package/dist/components/app-shell/index.d.mts +2 -0
  25. package/dist/components/avatar/avatar.d.mts +169 -0
  26. package/dist/components/avatar/avatar.mjs +298 -0
  27. package/dist/components/avatar/index.d.mts +2 -0
  28. package/dist/components/badge/badge.d.mts +89 -0
  29. package/dist/components/badge/badge.mjs +203 -0
  30. package/dist/components/badge/index.d.mts +2 -0
  31. package/dist/components/banner/banner.d.mts +141 -0
  32. package/dist/components/banner/banner.mjs +228 -0
  33. package/dist/components/banner/index.d.mts +2 -0
  34. package/dist/components/button/button.d.mts +257 -0
  35. package/dist/components/button/button.mjs +177 -0
  36. package/dist/components/button/index.d.mts +2 -0
  37. package/dist/components/card/card.d.mts +21 -0
  38. package/dist/components/card/card.mjs +114 -0
  39. package/dist/components/card/card.recipe.d.mts +105 -0
  40. package/dist/components/card/card.recipe.mjs +67 -0
  41. package/dist/components/card/index.d.mts +2 -0
  42. package/dist/components/checkbox/checkbox-indicator.d.mts +92 -0
  43. package/dist/components/checkbox/checkbox-indicator.mjs +61 -0
  44. package/dist/components/checkbox/checkbox.d.mts +9 -0
  45. package/dist/components/checkbox/checkbox.mjs +40 -0
  46. package/dist/components/checkbox/index.d.mts +3 -0
  47. package/dist/components/choice-list/choice-list.d.mts +103 -0
  48. package/dist/components/choice-list/choice-list.mjs +301 -0
  49. package/dist/components/choice-list/choice-list.recipe.mjs +44 -0
  50. package/dist/components/choice-list/index.d.mts +2 -0
  51. package/dist/components/code-block/code-block.d.mts +30 -0
  52. package/dist/components/code-block/code-block.mjs +151 -0
  53. package/dist/components/code-block/code-block.recipe.mjs +47 -0
  54. package/dist/components/code-block/index.d.mts +2 -0
  55. package/dist/components/combobox/combobox.d.mts +69 -0
  56. package/dist/components/combobox/combobox.mjs +438 -0
  57. package/dist/components/combobox/index.d.mts +2 -0
  58. package/dist/components/combobox-select/combobox-select.d.mts +4 -0
  59. package/dist/components/combobox-select/combobox-select.list-side.mjs +16 -0
  60. package/dist/components/combobox-select/combobox-select.mjs +473 -0
  61. package/dist/components/combobox-select/combobox-select.options.mjs +21 -0
  62. package/dist/components/combobox-select/combobox-select.types.d.mts +83 -0
  63. package/dist/components/combobox-select/index.d.mts +3 -0
  64. package/dist/components/comment/comment-card.d.mts +40 -0
  65. package/dist/components/comment/comment-card.mjs +83 -0
  66. package/dist/components/comment/comment-entry.d.mts +24 -0
  67. package/dist/components/comment/comment-entry.mjs +75 -0
  68. package/dist/components/comment/comment-highlight.d.mts +18 -0
  69. package/dist/components/comment/comment-highlight.mjs +33 -0
  70. package/dist/components/comment/comment-margin-layout.d.mts +32 -0
  71. package/dist/components/comment/comment-margin-layout.mjs +44 -0
  72. package/dist/components/comment/comment-margin.d.mts +29 -0
  73. package/dist/components/comment/comment-margin.mjs +164 -0
  74. package/dist/components/comment/comment-marker.d.mts +16 -0
  75. package/dist/components/comment/comment-marker.mjs +24 -0
  76. package/dist/components/comment/comment.recipe.mjs +58 -0
  77. package/dist/components/comment/index.d.mts +8 -0
  78. package/dist/components/comment/use-comment-margin-fits.d.mts +16 -0
  79. package/dist/components/comment/use-comment-margin-fits.mjs +34 -0
  80. package/dist/components/composer/composer-attachment.recipe.mjs +85 -0
  81. package/dist/components/composer/composer-attachments-scroll-area.d.mts +5 -0
  82. package/dist/components/composer/composer-attachments-scroll-area.mjs +93 -0
  83. package/dist/components/composer/composer-attachments.d.mts +27 -0
  84. package/dist/components/composer/composer-attachments.mjs +147 -0
  85. package/dist/components/composer/composer-drop-overlay.d.mts +9 -0
  86. package/dist/components/composer/composer-drop-overlay.mjs +60 -0
  87. package/dist/components/composer/composer-drop-overlay.recipe.mjs +23 -0
  88. package/dist/components/composer/composer-root.d.mts +5 -0
  89. package/dist/components/composer/composer-root.mjs +18 -0
  90. package/dist/components/composer/composer-suggestion-list.d.mts +139 -0
  91. package/dist/components/composer/composer-suggestion-list.mjs +160 -0
  92. package/dist/components/composer/composer-toolbar-label.d.mts +5 -0
  93. package/dist/components/composer/composer-toolbar-label.mjs +24 -0
  94. package/dist/components/composer/composer.d.mts +20 -0
  95. package/dist/components/composer/composer.mjs +88 -0
  96. package/dist/components/composer/composer.recipe.mjs +29 -0
  97. package/dist/components/composer/index.d.mts +10 -0
  98. package/dist/components/composer/sortable-composer-attachments.d.mts +37 -0
  99. package/dist/components/composer/sortable-composer-attachments.mjs +247 -0
  100. package/dist/components/composer/use-composer-suggestions.d.mts +83 -0
  101. package/dist/components/composer/use-composer-suggestions.mjs +207 -0
  102. package/dist/components/context-menu/context-menu.d.mts +53 -0
  103. package/dist/components/context-menu/context-menu.mjs +275 -0
  104. package/dist/components/context-menu/index.d.mts +2 -0
  105. package/dist/components/conversation-panel/conversation-panel-empty-state.d.mts +9 -0
  106. package/dist/components/conversation-panel/conversation-panel-empty-state.mjs +57 -0
  107. package/dist/components/conversation-panel/conversation-panel.d.mts +20 -0
  108. package/dist/components/conversation-panel/conversation-panel.mjs +63 -0
  109. package/dist/components/conversation-panel/conversation-panel.recipe.mjs +15 -0
  110. package/dist/components/conversation-panel/index.d.mts +3 -0
  111. package/dist/components/copyable-code/copyable-code.d.mts +72 -0
  112. package/dist/components/copyable-code/copyable-code.mjs +153 -0
  113. package/dist/components/copyable-code/index.d.mts +2 -0
  114. package/dist/components/description-list/description-list.d.mts +59 -0
  115. package/dist/components/description-list/description-list.mjs +96 -0
  116. package/dist/components/description-list/index.d.mts +2 -0
  117. package/dist/components/dialog/dialog-sheet-context.mjs +58 -0
  118. package/dist/components/dialog/dialog-sheet.d.mts +31 -0
  119. package/dist/components/dialog/dialog-sheet.mjs +194 -0
  120. package/dist/components/dialog/dialog.d.mts +85 -0
  121. package/dist/components/dialog/dialog.mjs +371 -0
  122. package/dist/components/dialog/index.d.mts +3 -0
  123. package/dist/components/drag/drag-announcements.d.mts +72 -0
  124. package/dist/components/drag/drag-announcements.mjs +115 -0
  125. package/dist/components/drag/drag-lift.d.mts +100 -0
  126. package/dist/components/drag/drag-lift.mjs +276 -0
  127. package/dist/components/drag/drag-lists.d.mts +98 -0
  128. package/dist/components/drag/drag-lists.mjs +258 -0
  129. package/dist/components/drag/drag-sensors.d.mts +87 -0
  130. package/dist/components/drag/drag-sensors.mjs +169 -0
  131. package/dist/components/drag/drag.recipe.d.mts +7 -0
  132. package/dist/components/drag/drag.recipe.mjs +30 -0
  133. package/dist/components/drag/drop-placeholder.d.mts +41 -0
  134. package/dist/components/drag/drop-placeholder.mjs +161 -0
  135. package/dist/components/drag/index.d.mts +8 -0
  136. package/dist/components/drawer/drawer.d.mts +34 -0
  137. package/dist/components/drawer/drawer.mjs +202 -0
  138. package/dist/components/drawer/drawer.recipe.mjs +175 -0
  139. package/dist/components/drawer/index.d.mts +2 -0
  140. package/dist/components/dropdown-menu/dropdown-menu.d.mts +62 -0
  141. package/dist/components/dropdown-menu/dropdown-menu.mjs +319 -0
  142. package/dist/components/dropdown-menu/index.d.mts +2 -0
  143. package/dist/components/ellipsis/ellipsis.d.mts +55 -0
  144. package/dist/components/ellipsis/ellipsis.mjs +320 -0
  145. package/dist/components/ellipsis/index.d.mts +3 -0
  146. package/dist/components/empty-state/empty-state.d.mts +15 -0
  147. package/dist/components/empty-state/empty-state.mjs +102 -0
  148. package/dist/components/empty-state/index.d.mts +2 -0
  149. package/dist/components/field/field.d.mts +79 -0
  150. package/dist/components/field/field.mjs +100 -0
  151. package/dist/components/field/index.d.mts +2 -0
  152. package/dist/components/file-preview/file-preview.d.mts +17 -0
  153. package/dist/components/file-preview/file-preview.mjs +210 -0
  154. package/dist/components/file-preview/file-preview.recipe.d.mts +99 -0
  155. package/dist/components/file-preview/file-preview.recipe.mjs +39 -0
  156. package/dist/components/file-preview/index.d.mts +2 -0
  157. package/dist/components/files/files.d.mts +35 -0
  158. package/dist/components/files/files.mjs +69 -0
  159. package/dist/components/files/files.recipe.mjs +40 -0
  160. package/dist/components/files/index.d.mts +2 -0
  161. package/dist/components/filter-chip/filter-chip.d.mts +25 -0
  162. package/dist/components/filter-chip/filter-chip.mjs +59 -0
  163. package/dist/components/filter-chip/index.d.mts +2 -0
  164. package/dist/components/float-button/float-button.d.mts +36 -0
  165. package/dist/components/float-button/float-button.mjs +116 -0
  166. package/dist/components/float-button/float-button.position.d.mts +6 -0
  167. package/dist/components/float-button/float-button.position.mjs +41 -0
  168. package/dist/components/float-button/index.d.mts +3 -0
  169. package/dist/components/form-section/form-section.d.mts +16 -0
  170. package/dist/components/form-section/form-section.mjs +53 -0
  171. package/dist/components/form-section/index.d.mts +2 -0
  172. package/dist/components/icon-tile/icon-tile.d.mts +97 -0
  173. package/dist/components/icon-tile/icon-tile.mjs +49 -0
  174. package/dist/components/icon-tile/index.d.mts +2 -0
  175. package/dist/components/icons/action-icons.d.mts +34 -0
  176. package/dist/components/icons/action-icons.mjs +383 -0
  177. package/dist/components/icons/conversation-icons.d.mts +12 -0
  178. package/dist/components/icons/conversation-icons.mjs +147 -0
  179. package/dist/components/icons/index.d.mts +4 -0
  180. package/dist/components/icons/object-icons.d.mts +6 -0
  181. package/dist/components/icons/object-icons.mjs +27 -0
  182. package/dist/components/inbox-item/inbox-item-leading-badge.d.mts +13 -0
  183. package/dist/components/inbox-item/inbox-item-leading-badge.mjs +27 -0
  184. package/dist/components/inbox-item/inbox-item-skeleton.d.mts +46 -0
  185. package/dist/components/inbox-item/inbox-item-skeleton.mjs +89 -0
  186. package/dist/components/inbox-item/inbox-item-skeleton.recipe.mjs +20 -0
  187. package/dist/components/inbox-item/inbox-item.d.mts +71 -0
  188. package/dist/components/inbox-item/inbox-item.mjs +276 -0
  189. package/dist/components/inbox-item/inbox-item.recipe.mjs +137 -0
  190. package/dist/components/inbox-item/index.d.mts +2 -0
  191. package/dist/components/inline-code/index.d.mts +2 -0
  192. package/dist/components/inline-code/inline-code.d.mts +8 -0
  193. package/dist/components/inline-code/inline-code.mjs +30 -0
  194. package/dist/components/input/index.d.mts +2 -0
  195. package/dist/components/input/input.d.mts +16 -0
  196. package/dist/components/input/input.mjs +20 -0
  197. package/dist/components/input/input.recipe.mjs +12 -0
  198. package/dist/components/input-group/index.d.mts +2 -0
  199. package/dist/components/input-group/input-group.d.mts +93 -0
  200. package/dist/components/input-group/input-group.mjs +178 -0
  201. package/dist/components/kbd/index.d.mts +2 -0
  202. package/dist/components/kbd/kbd.d.mts +7 -0
  203. package/dist/components/kbd/kbd.mjs +34 -0
  204. package/dist/components/label/index.d.mts +2 -0
  205. package/dist/components/label/label.d.mts +60 -0
  206. package/dist/components/label/label.mjs +75 -0
  207. package/dist/components/legacy-task-panel/index.d.mts +2 -0
  208. package/dist/components/legacy-task-panel/legacy-task-panel.d.mts +57 -0
  209. package/dist/components/legacy-task-panel/legacy-task-panel.mjs +234 -0
  210. package/dist/components/legacy-task-panel/legacy-task-panel.recipe.mjs +30 -0
  211. package/dist/components/lightbox/index.d.mts +2 -0
  212. package/dist/components/lightbox/lightbox.d.mts +55 -0
  213. package/dist/components/lightbox/lightbox.mjs +336 -0
  214. package/dist/components/list-row/index.d.mts +2 -0
  215. package/dist/components/list-row/list-row-skeleton.d.mts +21 -0
  216. package/dist/components/list-row/list-row-skeleton.mjs +43 -0
  217. package/dist/components/list-row/list-row.d.mts +66 -0
  218. package/dist/components/list-row/list-row.mjs +167 -0
  219. package/dist/components/list-row/list-row.recipe.d.mts +126 -0
  220. package/dist/components/list-row/list-row.recipe.mjs +94 -0
  221. package/dist/components/live-agent-activity-bar/index.d.mts +2 -0
  222. package/dist/components/live-agent-activity-bar/live-agent-activity-bar.d.mts +25 -0
  223. package/dist/components/live-agent-activity-bar/live-agent-activity-bar.mjs +107 -0
  224. package/dist/components/logo/index.d.mts +2 -0
  225. package/dist/components/logo/raft-logo.d.mts +9 -0
  226. package/dist/components/logo/raft-logo.mjs +63 -0
  227. package/dist/components/markdown/index.d.mts +2 -0
  228. package/dist/components/markdown/markdown-parts.d.mts +54 -0
  229. package/dist/components/markdown/markdown-parts.mjs +153 -0
  230. package/dist/components/markdown/markdown.recipe.mjs +77 -0
  231. package/dist/components/message-action-card/index.d.mts +2 -0
  232. package/dist/components/message-action-card/message-action-card-content.recipe.mjs +50 -0
  233. package/dist/components/message-action-card/message-action-card.d.mts +95 -0
  234. package/dist/components/message-action-card/message-action-card.mjs +298 -0
  235. package/dist/components/message-action-card/message-action-card.recipe.mjs +47 -0
  236. package/dist/components/message-attachment/index.d.mts +5 -0
  237. package/dist/components/message-attachment/message-attachment.d.mts +27 -0
  238. package/dist/components/message-attachment/message-attachment.mjs +129 -0
  239. package/dist/components/message-attachment/message-attachment.recipe.mjs +36 -0
  240. package/dist/components/message-attachment/message-image-gallery-rows.d.mts +47 -0
  241. package/dist/components/message-attachment/message-image-gallery-rows.mjs +55 -0
  242. package/dist/components/message-attachment/message-image-gallery.d.mts +32 -0
  243. package/dist/components/message-attachment/message-image-gallery.mjs +105 -0
  244. package/dist/components/message-attachment/message-image-gallery.recipe.mjs +61 -0
  245. package/dist/components/message-attachment/message-video-preview.d.mts +19 -0
  246. package/dist/components/message-attachment/message-video-preview.mjs +92 -0
  247. package/dist/components/message-attachment/message-video-preview.recipe.mjs +33 -0
  248. package/dist/components/message-embed/index.d.mts +2 -0
  249. package/dist/components/message-embed/message-embed.d.mts +12 -0
  250. package/dist/components/message-embed/message-embed.mjs +42 -0
  251. package/dist/components/message-embed/message-embed.recipe.mjs +14 -0
  252. package/dist/components/message-forwarded-bundle/index.d.mts +2 -0
  253. package/dist/components/message-forwarded-bundle/message-forwarded-bundle.d.mts +92 -0
  254. package/dist/components/message-forwarded-bundle/message-forwarded-bundle.mjs +324 -0
  255. package/dist/components/message-forwarded-bundle/message-forwarded-bundle.recipe.mjs +81 -0
  256. package/dist/components/message-item/index.d.mts +13 -0
  257. package/dist/components/message-item/message-footer.d.mts +20 -0
  258. package/dist/components/message-item/message-footer.mjs +54 -0
  259. package/dist/components/message-item/message-footer.recipe.mjs +46 -0
  260. package/dist/components/message-item/message-item-content.d.mts +22 -0
  261. package/dist/components/message-item/message-item-content.mjs +81 -0
  262. package/dist/components/message-item/message-item-delegated.d.mts +38 -0
  263. package/dist/components/message-item/message-item-delegated.mjs +72 -0
  264. package/dist/components/message-item/message-item-gutter.d.mts +10 -0
  265. package/dist/components/message-item/message-item-gutter.mjs +41 -0
  266. package/dist/components/message-item/message-item-header.d.mts +29 -0
  267. package/dist/components/message-item/message-item-header.mjs +107 -0
  268. package/dist/components/message-item/message-item-label.mjs +113 -0
  269. package/dist/components/message-item/message-item-root.d.mts +25 -0
  270. package/dist/components/message-item/message-item-root.mjs +39 -0
  271. package/dist/components/message-item/message-item-toolbar.d.mts +9 -0
  272. package/dist/components/message-item/message-item-toolbar.mjs +131 -0
  273. package/dist/components/message-item/message-item.recipe.d.mts +101 -0
  274. package/dist/components/message-item/message-item.recipe.mjs +114 -0
  275. package/dist/components/message-item/message-multi-select.d.mts +15 -0
  276. package/dist/components/message-item/message-multi-select.mjs +49 -0
  277. package/dist/components/message-item/message-multi-select.recipe.mjs +23 -0
  278. package/dist/components/message-item/message-reaction.d.mts +39 -0
  279. package/dist/components/message-item/message-reaction.mjs +188 -0
  280. package/dist/components/message-item/message-reaction.recipe.mjs +76 -0
  281. package/dist/components/message-item/message-reference.d.mts +50 -0
  282. package/dist/components/message-item/message-reference.mjs +111 -0
  283. package/dist/components/message-item/message-reference.recipe.d.mts +6 -0
  284. package/dist/components/message-item/message-reference.recipe.mjs +63 -0
  285. package/dist/components/message-item/message-text-selection-toolbar.d.mts +24 -0
  286. package/dist/components/message-item/message-text-selection-toolbar.mjs +13 -0
  287. package/dist/components/message-list/index.d.mts +4 -0
  288. package/dist/components/message-list/message-list-jump.d.mts +21 -0
  289. package/dist/components/message-list/message-list-jump.mjs +73 -0
  290. package/dist/components/message-list/message-list-markers.d.mts +13 -0
  291. package/dist/components/message-list/message-list-markers.mjs +70 -0
  292. package/dist/components/message-list/message-list.d.mts +7 -0
  293. package/dist/components/message-list/message-list.mjs +52 -0
  294. package/dist/components/message-list/message-list.recipe.mjs +54 -0
  295. package/dist/components/message-quoted-preview/index.d.mts +2 -0
  296. package/dist/components/message-quoted-preview/message-quoted-preview.d.mts +40 -0
  297. package/dist/components/message-quoted-preview/message-quoted-preview.mjs +144 -0
  298. package/dist/components/message-quoted-preview/message-quoted-preview.recipe.mjs +38 -0
  299. package/dist/components/message-replies/index.d.mts +2 -0
  300. package/dist/components/message-replies/message-replies.d.mts +17 -0
  301. package/dist/components/message-replies/message-replies.mjs +79 -0
  302. package/dist/components/message-replies/message-replies.recipe.mjs +25 -0
  303. package/dist/components/message-translation/index.d.mts +2 -0
  304. package/dist/components/message-translation/message-translation.d.mts +20 -0
  305. package/dist/components/message-translation/message-translation.mjs +64 -0
  306. package/dist/components/message-translation/message-translation.recipe.mjs +27 -0
  307. package/dist/components/meter/index.d.mts +2 -0
  308. package/dist/components/meter/meter.d.mts +107 -0
  309. package/dist/components/meter/meter.mjs +118 -0
  310. package/dist/components/mobile-nav/index.d.mts +3 -0
  311. package/dist/components/mobile-nav/mobile-nav-server.d.mts +71 -0
  312. package/dist/components/mobile-nav/mobile-nav-server.mjs +287 -0
  313. package/dist/components/mobile-nav/mobile-nav.d.mts +12 -0
  314. package/dist/components/mobile-nav/mobile-nav.mjs +73 -0
  315. package/dist/components/mode-bar/index.d.mts +2 -0
  316. package/dist/components/mode-bar/mode-bar.d.mts +33 -0
  317. package/dist/components/mode-bar/mode-bar.mjs +115 -0
  318. package/dist/components/notification-center/index.d.mts +2 -0
  319. package/dist/components/notification-center/notification-center.d.mts +225 -0
  320. package/dist/components/notification-center/notification-center.mjs +340 -0
  321. package/dist/components/panel/index.d.mts +7 -0
  322. package/dist/components/panel/panel-action.d.mts +15 -0
  323. package/dist/components/panel/panel-action.mjs +23 -0
  324. package/dist/components/panel/panel-action.recipe.mjs +40 -0
  325. package/dist/components/panel/panel-header.d.mts +34 -0
  326. package/dist/components/panel/panel-header.mjs +135 -0
  327. package/dist/components/panel/panel-header.recipe.mjs +78 -0
  328. package/dist/components/panel/panel-notice.d.mts +16 -0
  329. package/dist/components/panel/panel-notice.mjs +77 -0
  330. package/dist/components/panel/panel-split-action.d.mts +34 -0
  331. package/dist/components/panel/panel-split-action.mjs +69 -0
  332. package/dist/components/panel/panel-split-action.recipe.mjs +53 -0
  333. package/dist/components/panel/panel-toggle-action.d.mts +6 -0
  334. package/dist/components/panel/panel-toggle-action.mjs +15 -0
  335. package/dist/components/panel/panel.d.mts +25 -0
  336. package/dist/components/panel/panel.mjs +96 -0
  337. package/dist/components/panel/panel.recipe.mjs +24 -0
  338. package/dist/components/picker-trigger-button/index.d.mts +2 -0
  339. package/dist/components/picker-trigger-button/picker-trigger-button.d.mts +7 -0
  340. package/dist/components/picker-trigger-button/picker-trigger-button.mjs +36 -0
  341. package/dist/components/popover/index.d.mts +2 -0
  342. package/dist/components/popover/popover.d.mts +41 -0
  343. package/dist/components/popover/popover.mjs +184 -0
  344. package/dist/components/preview-card/index.d.mts +2 -0
  345. package/dist/components/preview-card/preview-card.d.mts +43 -0
  346. package/dist/components/preview-card/preview-card.mjs +197 -0
  347. package/dist/components/profile-panel/index.d.mts +2 -0
  348. package/dist/components/profile-panel/profile-panel.d.mts +14 -0
  349. package/dist/components/profile-panel/profile-panel.mjs +46 -0
  350. package/dist/components/profile-panel/profile-panel.recipe.mjs +14 -0
  351. package/dist/components/progress/index.d.mts +2 -0
  352. package/dist/components/progress/progress.d.mts +119 -0
  353. package/dist/components/progress/progress.mjs +139 -0
  354. package/dist/components/pull-to-refresh/index.d.mts +4 -0
  355. package/dist/components/pull-to-refresh/pull-to-refresh-gesture.d.mts +30 -0
  356. package/dist/components/pull-to-refresh/pull-to-refresh-gesture.mjs +134 -0
  357. package/dist/components/pull-to-refresh/pull-to-refresh-indicator.d.mts +21 -0
  358. package/dist/components/pull-to-refresh/pull-to-refresh-indicator.mjs +153 -0
  359. package/dist/components/pull-to-refresh/pull-to-refresh-material-progress.mjs +150 -0
  360. package/dist/components/pull-to-refresh/use-pull-to-refresh.d.mts +55 -0
  361. package/dist/components/pull-to-refresh/use-pull-to-refresh.mjs +156 -0
  362. package/dist/components/radio-group/index.d.mts +2 -0
  363. package/dist/components/radio-group/radio-group.d.mts +14 -0
  364. package/dist/components/radio-group/radio-group.mjs +59 -0
  365. package/dist/components/resizable/index.d.mts +2 -0
  366. package/dist/components/resizable/resizable.d.mts +15 -0
  367. package/dist/components/resizable/resizable.mjs +39 -0
  368. package/dist/components/resizable/resizable.recipe.mjs +24 -0
  369. package/dist/components/scroll-area/index.d.mts +2 -0
  370. package/dist/components/scroll-area/scroll-area.d.mts +17 -0
  371. package/dist/components/scroll-area/scroll-area.mjs +55 -0
  372. package/dist/components/scroll-area/scroll-area.recipe.mjs +23 -0
  373. package/dist/components/search/index.d.mts +6 -0
  374. package/dist/components/search/search-entity.d.mts +24 -0
  375. package/dist/components/search/search-entity.mjs +106 -0
  376. package/dist/components/search/search-entity.recipe.mjs +41 -0
  377. package/dist/components/search/search-message.d.mts +25 -0
  378. package/dist/components/search/search-message.mjs +115 -0
  379. package/dist/components/search/search-message.recipe.mjs +32 -0
  380. package/dist/components/search/search-thread.d.mts +17 -0
  381. package/dist/components/search/search-thread.mjs +79 -0
  382. package/dist/components/search/search-thread.recipe.mjs +16 -0
  383. package/dist/components/search/search-trigger.d.mts +15 -0
  384. package/dist/components/search/search-trigger.mjs +59 -0
  385. package/dist/components/search/search.d.mts +23 -0
  386. package/dist/components/search/search.mjs +88 -0
  387. package/dist/components/search/search.recipe.mjs +22 -0
  388. package/dist/components/segmented-control/index.d.mts +2 -0
  389. package/dist/components/segmented-control/segmented-control.d.mts +38 -0
  390. package/dist/components/segmented-control/segmented-control.mjs +306 -0
  391. package/dist/components/select/index.d.mts +2 -0
  392. package/dist/components/select/select.d.mts +95 -0
  393. package/dist/components/select/select.mjs +483 -0
  394. package/dist/components/separator/index.d.mts +2 -0
  395. package/dist/components/separator/separator.d.mts +10 -0
  396. package/dist/components/separator/separator.mjs +49 -0
  397. package/dist/components/sidebar/index.d.mts +5 -0
  398. package/dist/components/sidebar/sidebar-item.d.mts +64 -0
  399. package/dist/components/sidebar/sidebar-item.mjs +201 -0
  400. package/dist/components/sidebar/sidebar-item.recipe.mjs +100 -0
  401. package/dist/components/sidebar/sidebar-menu.d.mts +13 -0
  402. package/dist/components/sidebar/sidebar-menu.mjs +67 -0
  403. package/dist/components/sidebar/sidebar-menu.recipe.mjs +22 -0
  404. package/dist/components/sidebar/sidebar-section.d.mts +41 -0
  405. package/dist/components/sidebar/sidebar-section.mjs +164 -0
  406. package/dist/components/sidebar/sidebar-section.recipe.mjs +45 -0
  407. package/dist/components/sidebar/sidebar.d.mts +17 -0
  408. package/dist/components/sidebar/sidebar.mjs +149 -0
  409. package/dist/components/sidebar/sidebar.recipe.mjs +37 -0
  410. package/dist/components/skeleton/index.d.mts +2 -0
  411. package/dist/components/skeleton/skeleton.d.mts +50 -0
  412. package/dist/components/skeleton/skeleton.mjs +29 -0
  413. package/dist/components/spinner/index.d.mts +2 -0
  414. package/dist/components/spinner/spinner.d.mts +77 -0
  415. package/dist/components/spinner/spinner.mjs +118 -0
  416. package/dist/components/status/index.d.mts +2 -0
  417. package/dist/components/status/status.d.mts +143 -0
  418. package/dist/components/status/status.mjs +56 -0
  419. package/dist/components/steps/index.d.mts +3 -0
  420. package/dist/components/steps/otter-indicator.d.mts +17 -0
  421. package/dist/components/steps/otter-indicator.mjs +331 -0
  422. package/dist/components/steps/steps.d.mts +50 -0
  423. package/dist/components/steps/steps.mjs +174 -0
  424. package/dist/components/switch/index.d.mts +2 -0
  425. package/dist/components/switch/switch.d.mts +9 -0
  426. package/dist/components/switch/switch.mjs +50 -0
  427. package/dist/components/system-message/index.d.mts +2 -0
  428. package/dist/components/system-message/system-message.d.mts +27 -0
  429. package/dist/components/system-message/system-message.mjs +113 -0
  430. package/dist/components/system-message/system-message.recipe.mjs +34 -0
  431. package/dist/components/table/index.d.mts +2 -0
  432. package/dist/components/table/table.d.mts +35 -0
  433. package/dist/components/table/table.mjs +102 -0
  434. package/dist/components/table/table.recipe.mjs +31 -0
  435. package/dist/components/tabs/index.d.mts +2 -0
  436. package/dist/components/tabs/tabs.d.mts +185 -0
  437. package/dist/components/tabs/tabs.mjs +528 -0
  438. package/dist/components/task-board/index.d.mts +2 -0
  439. package/dist/components/task-board/task-board-column.recipe.mjs +46 -0
  440. package/dist/components/task-board/task-board.d.mts +40 -0
  441. package/dist/components/task-board/task-board.mjs +155 -0
  442. package/dist/components/task-card/index.d.mts +2 -0
  443. package/dist/components/task-card/task-card-status.recipe.mjs +17 -0
  444. package/dist/components/task-card/task-card.d.mts +30 -0
  445. package/dist/components/task-card/task-card.mjs +141 -0
  446. package/dist/components/task-card/task-card.recipe.mjs +39 -0
  447. package/dist/components/task-dnd/index.d.mts +2 -0
  448. package/dist/components/task-dnd/task-dnd.d.mts +75 -0
  449. package/dist/components/task-dnd/task-dnd.mjs +341 -0
  450. package/dist/components/task-dnd/task-dnd.recipe.mjs +20 -0
  451. package/dist/components/task-list/index.d.mts +2 -0
  452. package/dist/components/task-list/task-list-section.recipe.mjs +37 -0
  453. package/dist/components/task-list/task-list.d.mts +34 -0
  454. package/dist/components/task-list/task-list.mjs +119 -0
  455. package/dist/components/tasks/index.d.mts +7 -0
  456. package/dist/components/tasks/task-chip.d.mts +14 -0
  457. package/dist/components/tasks/task-chip.mjs +81 -0
  458. package/dist/components/tasks/task-loading.d.mts +7 -0
  459. package/dist/components/tasks/task-loading.mjs +32 -0
  460. package/dist/components/tasks/task-loading.recipe.mjs +8 -0
  461. package/dist/components/tasks/task-status-badge.d.mts +24 -0
  462. package/dist/components/tasks/task-status-badge.mjs +24 -0
  463. package/dist/components/tasks/task-status-icon.d.mts +13 -0
  464. package/dist/components/tasks/task-status-icon.mjs +90 -0
  465. package/dist/components/tasks/task-status.recipe.d.mts +62 -0
  466. package/dist/components/tasks/task-status.recipe.mjs +33 -0
  467. package/dist/components/tasks/tasks-panel.d.mts +22 -0
  468. package/dist/components/tasks/tasks-panel.mjs +114 -0
  469. package/dist/components/tasks/tasks-panel.recipe.mjs +36 -0
  470. package/dist/components/text/index.d.mts +2 -0
  471. package/dist/components/text/text.d.mts +186 -0
  472. package/dist/components/text/text.mjs +114 -0
  473. package/dist/components/text-link/index.d.mts +2 -0
  474. package/dist/components/text-link/text-link.d.mts +36 -0
  475. package/dist/components/text-link/text-link.mjs +60 -0
  476. package/dist/components/text-selection-toolbar/index.d.mts +3 -0
  477. package/dist/components/text-selection-toolbar/text-selection-anchor.d.mts +22 -0
  478. package/dist/components/text-selection-toolbar/text-selection-anchor.mjs +106 -0
  479. package/dist/components/text-selection-toolbar/text-selection-toolbar.d.mts +20 -0
  480. package/dist/components/text-selection-toolbar/text-selection-toolbar.mjs +41 -0
  481. package/dist/components/text-selection-toolbar/text-selection-toolbar.recipe.mjs +19 -0
  482. package/dist/components/textarea/index.d.mts +2 -0
  483. package/dist/components/textarea/textarea.d.mts +16 -0
  484. package/dist/components/textarea/textarea.mjs +62 -0
  485. package/dist/components/thread-panel/index.d.mts +2 -0
  486. package/dist/components/thread-panel/thread-panel.d.mts +31 -0
  487. package/dist/components/thread-panel/thread-panel.mjs +162 -0
  488. package/dist/components/thread-panel/thread-panel.recipe.mjs +36 -0
  489. package/dist/components/timeline/index.d.mts +2 -0
  490. package/dist/components/timeline/timeline.d.mts +44 -0
  491. package/dist/components/timeline/timeline.mjs +81 -0
  492. package/dist/components/toast/index.d.mts +2 -0
  493. package/dist/components/toast/toast.d.mts +263 -0
  494. package/dist/components/toast/toast.mjs +556 -0
  495. package/dist/components/toggle-group/index.d.mts +2 -0
  496. package/dist/components/toggle-group/toggle-group.d.mts +15 -0
  497. package/dist/components/toggle-group/toggle-group.mjs +64 -0
  498. package/dist/components/tooltip/index.d.mts +2 -0
  499. package/dist/components/tooltip/tooltip.d.mts +18 -0
  500. package/dist/components/tooltip/tooltip.mjs +197 -0
  501. package/dist/components/virtual-list/ItemColumns.mjs +37 -0
  502. package/dist/components/virtual-list/VirtualList.d.mts +4 -0
  503. package/dist/components/virtual-list/VirtualList.mjs +1401 -0
  504. package/dist/components/virtual-list/VirtualListContext.mjs +5 -0
  505. package/dist/components/virtual-list/hooks/use-event-callback.mjs +10 -0
  506. package/dist/components/virtual-list/hooks/use-ios-momentum-compensation.mjs +148 -0
  507. package/dist/components/virtual-list/hooks/use-keyboard-scroll.mjs +42 -0
  508. package/dist/components/virtual-list/hooks/use-latest-ref.mjs +10 -0
  509. package/dist/components/virtual-list/hooks/use-layout-effect-with-previous.mjs +16 -0
  510. package/dist/components/virtual-list/hooks/use-memo-with-previous.mjs +22 -0
  511. package/dist/components/virtual-list/hooks/use-non-passive-wheel.mjs +23 -0
  512. package/dist/components/virtual-list/hooks/use-non-virtual-content-resize.mjs +28 -0
  513. package/dist/components/virtual-list/hooks/use-scroll-anchor.mjs +55 -0
  514. package/dist/components/virtual-list/index.d.mts +5 -0
  515. package/dist/components/virtual-list/public-types.d.mts +341 -0
  516. package/dist/components/virtual-list/resize-observer/ResizeObserverWrapper.d.mts +5 -0
  517. package/dist/components/virtual-list/resize-observer/ResizeObserverWrapper.mjs +70 -0
  518. package/dist/components/virtual-list/resize-observer/resize-observer-delegate.d.mts +6 -0
  519. package/dist/components/virtual-list/resize-observer/resize-observer-delegate.mjs +54 -0
  520. package/dist/components/virtual-list/utils/align.mjs +19 -0
  521. package/dist/components/virtual-list/utils/constants.mjs +30 -0
  522. package/dist/components/virtual-list/utils/fenwick-tree.mjs +66 -0
  523. package/dist/components/virtual-list/utils/items-anchor.mjs +49 -0
  524. package/dist/components/virtual-list/utils/measure.mjs +77 -0
  525. package/dist/components/virtual-list/utils/platform.mjs +39 -0
  526. package/dist/components/virtual-list/utils/range.mjs +103 -0
  527. package/dist/components/virtual-list/utils/size-cache.mjs +35 -0
  528. package/dist/components/workspace-button/index.d.mts +2 -0
  529. package/dist/components/workspace-button/workspace-button.d.mts +9 -0
  530. package/dist/components/workspace-button/workspace-button.mjs +28 -0
  531. package/dist/index.d.mts +239 -4864
  532. package/dist/index.mjs +142 -17053
  533. package/dist/lib/chip-remove.mjs +17 -0
  534. package/dist/lib/data-attributes.d.mts +5 -0
  535. package/dist/lib/decision-width.mjs +9 -0
  536. package/dist/lib/default-native-button.mjs +8 -0
  537. package/dist/lib/desktop-media.mjs +10 -0
  538. package/dist/lib/drag-escape.mjs +37 -0
  539. package/dist/lib/frame-insets.mjs +127 -0
  540. package/dist/lib/head-edges.mjs +44 -0
  541. package/dist/lib/hud-text-action.mjs +10 -0
  542. package/dist/lib/inline-chip.mjs +30 -0
  543. package/dist/lib/input-modality.d.mts +36 -0
  544. package/dist/lib/input-modality.mjs +186 -0
  545. package/dist/lib/list-cell.mjs +21 -0
  546. package/dist/lib/located.d.mts +25 -0
  547. package/dist/lib/located.mjs +28 -0
  548. package/dist/lib/overlay-depth.d.mts +42 -0
  549. package/dist/lib/overlay-depth.mjs +59 -0
  550. package/dist/lib/phone-media.mjs +24 -0
  551. package/dist/lib/presence.d.mts +16 -0
  552. package/dist/lib/presence.mjs +16 -0
  553. package/dist/lib/row-tone.d.mts +8 -0
  554. package/dist/lib/search-hit.mjs +18 -0
  555. package/dist/lib/stacked-actions.mjs +112 -0
  556. package/dist/lib/styled-props.d.mts +15 -0
  557. package/dist/lib/tap-activation.mjs +133 -0
  558. package/dist/lib/theme/theme-context.d.mts +10 -0
  559. package/dist/lib/theme/theme-context.mjs +9 -0
  560. package/dist/lib/theme/theme-provider.d.mts +23 -0
  561. package/dist/lib/theme/theme-provider.mjs +61 -0
  562. package/dist/lib/theme/theme-scope.mjs +19 -0
  563. package/dist/lib/theme/use-theme.d.mts +5 -0
  564. package/dist/lib/theme/use-theme.mjs +9 -0
  565. package/dist/lib/touch-drag.d.mts +55 -0
  566. package/dist/lib/touch-drag.mjs +151 -0
  567. package/dist/lib/truncation.d.mts +26 -0
  568. package/dist/lib/truncation.mjs +153 -0
  569. package/dist/lib/tv.d.mts +2 -0
  570. package/dist/lib/tv.mjs +14 -0
  571. package/dist/lib/use-copy-to-clipboard.mjs +58 -0
  572. package/dist/lib/use-merged-ref.mjs +60 -0
  573. package/dist/lib/use-mobile-viewport.mjs +17 -0
  574. package/dist/lib/use-overflow-title.mjs +49 -0
  575. package/dist/lib/use-scrollbar-size.d.mts +16 -0
  576. package/dist/lib/use-scrollbar-size.mjs +46 -0
  577. package/dist/lib/use-truncated.d.mts +20 -0
  578. package/dist/lib/use-truncated.mjs +34 -0
  579. package/dist/lib/without-children.d.mts +8 -0
  580. package/dist/wip.d.mts +61 -1222
  581. package/dist/wip.mjs +43 -3079
  582. package/package.json +8 -1
  583. package/dist/inbox-item-B4nNvpp1.d.mts +0 -1784
  584. package/dist/inbox-item-DHJOrxB8.mjs +0 -7454
  585. package/dist/style.css +0 -1395
@@ -0,0 +1,22 @@
1
+ import { listColumnMargin } from "../../lib/head-edges.mjs";
2
+ import { tv } from "../../lib/tv.mjs";
3
+ //#region src/components/search/search.recipe.ts
4
+ const search = tv({ slots: {
5
+ frame: [
6
+ "flex h-full min-h-0 flex-1 flex-col",
7
+ "bg-layer-canvas text-foreground",
8
+ listColumnMargin
9
+ ],
10
+ filtersRow: ["shrink-0", "border-b border-line-seam bg-layer-canvas px-(--column-margin) py-3"],
11
+ viewport: ["min-h-0 flex-1 overflow-y-auto scrollbar-list p-4", "bg-layer-canvas px-0 pt-0 pb-4"],
12
+ summary: ["block", "mb-0 px-5 pt-2 font-sans text-footnote text-foreground-hint"],
13
+ section: ["mb-0"],
14
+ sectionHeading: [
15
+ "py-2",
16
+ "flex items-center gap-2 px-5 pt-3 pb-0",
17
+ "font-sans text-footnote font-bold text-foreground-hint"
18
+ ],
19
+ list: ["flex flex-col", "gap-0.5 py-2"]
20
+ } });
21
+ //#endregion
22
+ export { search };
@@ -0,0 +1,2 @@
1
+ import { SegmentedControl, SegmentedControlCount, SegmentedControlCountProps, SegmentedControlIconsOnlyBelow, SegmentedControlIconsOnlyPreset, SegmentedControlItem, SegmentedControlItemProps, SegmentedControlLabel, SegmentedControlLabelProps, SegmentedControlProps } from "./segmented-control.mjs";
2
+ export { SegmentedControl, SegmentedControlCount, type SegmentedControlCountProps, type SegmentedControlIconsOnlyBelow, type SegmentedControlIconsOnlyPreset, SegmentedControlItem, type SegmentedControlItemProps, SegmentedControlLabel, type SegmentedControlLabelProps, type SegmentedControlProps };
@@ -0,0 +1,38 @@
1
+ import { StyledProps } from "../../lib/styled-props.mjs";
2
+ import { ComponentPropsWithRef } from "react";
3
+ import { Radio } from "@base-ui/react/radio";
4
+ import { RadioGroup } from "@base-ui/react/radio-group";
5
+ //#region src/components/segmented-control/segmented-control.d.ts
6
+ /** Tailwind's container sizes, `@xs` (20rem) to `@2xl` (42rem). */
7
+ export type SegmentedControlIconsOnlyPreset = "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
8
+ /**
9
+ * When the segments show only their icons: `auto` when their labels don't fit
10
+ * the width the control is given, a container size preset, or a CSS length
11
+ * (`px`, `rem` or `em`) the row is narrower than.
12
+ */
13
+ export type SegmentedControlIconsOnlyBelow = "auto" | SegmentedControlIconsOnlyPreset | `${number}px` | `${number}rem` | `${number}em`;
14
+ export type SegmentedControlProps<T extends string = string> = StyledProps<RadioGroup.Props<T>> & {
15
+ /**
16
+ * When every segment shows only its icon (give each one); its label stays
17
+ * the accessible name and shows in a tooltip. `auto`: when the labelled
18
+ * segments don't fit the width the control is given. A preset (`xs` to
19
+ * `2xl`) or a CSS length (`"18.5rem"`, `"296px"`): when the nearest
20
+ * `@container` ancestor (the row the control sits in) is narrower than it.
21
+ */
22
+ iconsOnlyBelow?: SegmentedControlIconsOnlyBelow;
23
+ /**
24
+ * `on-frame` in the frame (a top bar): the track the frame's medium fill and
25
+ * the selected segment in the frame's active colours (white on the yellow
26
+ * frame, yellow on the dark one), since a yellow sticker on yellow would
27
+ * not read as selected.
28
+ */
29
+ variant?: "default" | "on-frame";
30
+ };
31
+ export declare function SegmentedControl<T extends string = string>({ disabled, iconsOnlyBelow, variant, className, ref, ...props }: SegmentedControlProps<T>): import("react").JSX.Element;
32
+ export type SegmentedControlItemProps<T extends string = string> = StyledProps<Radio.Root.Props<T>>;
33
+ export declare function SegmentedControlItem<T extends string = string>({ className, ref, ...props }: SegmentedControlItemProps<T>): import("react").JSX.Element;
34
+ export type SegmentedControlLabelProps = ComponentPropsWithRef<"span">;
35
+ export declare function SegmentedControlLabel({ className, ...props }: SegmentedControlLabelProps): import("react").JSX.Element;
36
+ export type SegmentedControlCountProps = ComponentPropsWithRef<"span">;
37
+ export declare function SegmentedControlCount({ className, ...props }: SegmentedControlCountProps): import("react").JSX.Element;
38
+ //#endregion
@@ -0,0 +1,306 @@
1
+ import { tv } from "../../lib/tv.mjs";
2
+ import { useTapActivation } from "../../lib/tap-activation.mjs";
3
+ import { useMergedRef } from "../../lib/use-merged-ref.mjs";
4
+ import { Tooltip, TooltipContent, TooltipTrigger } from "../tooltip/tooltip.mjs";
5
+ import { createContext, use, useCallback, useLayoutEffect, useRef, useState } from "react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { Radio } from "@base-ui/react/radio";
8
+ import { RadioGroup } from "@base-ui/react/radio-group";
9
+ //#region src/components/segmented-control/segmented-control.tsx
10
+ const segmentedControl = tv({
11
+ slots: {
12
+ root: [
13
+ "inline-flex min-w-0 items-center",
14
+ "w-fit max-w-full flex-nowrap gap-[3px] rounded-[11px] bg-fill-muted p-[3px]",
15
+ "data-overflowing:overflow-x-auto data-overflowing:overscroll-x-contain data-overflowing:scrollbar-none"
16
+ ],
17
+ item: [
18
+ "inline-flex min-w-0 shrink-0 items-center gap-1.5",
19
+ "outline-none disabled:pointer-events-none",
20
+ "[&_svg]:pointer-events-none [&_svg]:shrink-0",
21
+ "h-8 justify-center rounded-control border-[1.5px] border-transparent bg-transparent px-3",
22
+ "font-sans text-callout font-semibold text-foreground-muted",
23
+ "[&_svg:not([class*='size-'])]:size-4",
24
+ "hover:bg-fill-medium active:bg-fill-medium",
25
+ "data-checked:border-sticker-ink data-checked:bg-selected data-checked:font-bold data-checked:text-sticker-ink data-checked:ring-[1.5px] data-checked:ring-sticker-edge",
26
+ "data-checked:hover:bg-selected data-checked:active:bg-selected data-checked:active:overlay-sticker-medium",
27
+ "focus-visible:shadow-focus",
28
+ "data-disabled:cursor-not-allowed data-disabled:text-foreground-disabled data-disabled:hover:bg-transparent"
29
+ ],
30
+ label: ["truncate"],
31
+ count: ["font-mono", "text-mono-meta font-normal"]
32
+ },
33
+ variants: {
34
+ variant: {
35
+ default: {},
36
+ "on-frame": { root: [
37
+ "bg-fill-frame-medium",
38
+ "**:data-[slot=segmented-control-item]:text-foreground-on-frame-muted **:data-[slot=segmented-control-item]:hover:text-foreground-on-frame",
39
+ "**:data-[slot=segmented-control-item]:hover:bg-transparent **:data-[slot=segmented-control-item]:hover:overlay-frame-medium **:data-[slot=segmented-control-item]:active:bg-transparent **:data-[slot=segmented-control-item]:active:overlay-frame-medium",
40
+ "**:data-[slot=segmented-control-item]:data-checked:border-line-frame-active **:data-[slot=segmented-control-item]:data-checked:bg-layer-frame-active **:data-[slot=segmented-control-item]:data-checked:text-foreground-on-frame-active",
41
+ "**:data-[slot=segmented-control-item]:data-checked:hover:bg-layer-frame-active **:data-[slot=segmented-control-item]:data-checked:hover:bg-none **:data-[slot=segmented-control-item]:data-checked:active:bg-layer-frame-active"
42
+ ] }
43
+ },
44
+ iconsOnlyBelow: {
45
+ xs: { root: ["@max-xs:**:data-[slot=segmented-control-item]:relative @max-xs:**:data-[slot=segmented-control-item]:w-8 @max-xs:**:data-[slot=segmented-control-item]:px-0", "@max-xs:**:data-[slot=segmented-control-label]:sr-only @max-xs:**:data-[slot=segmented-control-count]:sr-only"] },
46
+ sm: { root: ["@max-sm:**:data-[slot=segmented-control-item]:relative @max-sm:**:data-[slot=segmented-control-item]:w-8 @max-sm:**:data-[slot=segmented-control-item]:px-0", "@max-sm:**:data-[slot=segmented-control-label]:sr-only @max-sm:**:data-[slot=segmented-control-count]:sr-only"] },
47
+ md: { root: ["@max-md:**:data-[slot=segmented-control-item]:relative @max-md:**:data-[slot=segmented-control-item]:w-8 @max-md:**:data-[slot=segmented-control-item]:px-0", "@max-md:**:data-[slot=segmented-control-label]:sr-only @max-md:**:data-[slot=segmented-control-count]:sr-only"] },
48
+ lg: { root: ["@max-lg:**:data-[slot=segmented-control-item]:relative @max-lg:**:data-[slot=segmented-control-item]:w-8 @max-lg:**:data-[slot=segmented-control-item]:px-0", "@max-lg:**:data-[slot=segmented-control-label]:sr-only @max-lg:**:data-[slot=segmented-control-count]:sr-only"] },
49
+ xl: { root: ["@max-xl:**:data-[slot=segmented-control-item]:relative @max-xl:**:data-[slot=segmented-control-item]:w-8 @max-xl:**:data-[slot=segmented-control-item]:px-0", "@max-xl:**:data-[slot=segmented-control-label]:sr-only @max-xl:**:data-[slot=segmented-control-count]:sr-only"] },
50
+ "2xl": { root: ["@max-2xl:**:data-[slot=segmented-control-item]:relative @max-2xl:**:data-[slot=segmented-control-item]:w-8 @max-2xl:**:data-[slot=segmented-control-item]:px-0", "@max-2xl:**:data-[slot=segmented-control-label]:sr-only @max-2xl:**:data-[slot=segmented-control-count]:sr-only"] }
51
+ },
52
+ iconsOnlyMeasured: { true: { root: ["data-icons-only:**:data-[slot=segmented-control-item]:relative data-icons-only:**:data-[slot=segmented-control-item]:w-8 data-icons-only:**:data-[slot=segmented-control-item]:px-0", "data-icons-only:**:data-[slot=segmented-control-label]:sr-only data-icons-only:**:data-[slot=segmented-control-count]:sr-only"] } }
53
+ }
54
+ });
55
+ const ICONS_ONLY_PRESETS = /* @__PURE__ */ new Set([
56
+ "xs",
57
+ "sm",
58
+ "md",
59
+ "lg",
60
+ "xl",
61
+ "2xl"
62
+ ]);
63
+ function isIconsOnlyPreset(value) {
64
+ return value !== void 0 && ICONS_ONLY_PRESETS.has(value);
65
+ }
66
+ const SegmentedControlIconsOnlyContext = createContext(false);
67
+ /**
68
+ * A length threshold in CSS pixels, or `undefined` for a value that isn't a
69
+ * `px`, `rem` or `em` length. `em` is the container's font size, as in a
70
+ * container query.
71
+ */
72
+ function lengthToPx(value, container) {
73
+ const match = /^(\d*\.?\d+)(px|rem|em)$/.exec(value.trim());
74
+ if (!match) return void 0;
75
+ const amount = Number(match[1]);
76
+ if (match[2] === "px") return amount;
77
+ const fontOf = match[2] === "rem" ? document.documentElement : container;
78
+ return amount * parseFloat(getComputedStyle(fontOf).fontSize);
79
+ }
80
+ /** The nearest size container above the track, as a container query finds it; else its parent. */
81
+ function queryContainerOf(track) {
82
+ for (let el = track.parentElement; el; el = el.parentElement) if (getComputedStyle(el).containerType !== "normal") return el;
83
+ return track.parentElement;
84
+ }
85
+ function contentInlineSize(el) {
86
+ const style = getComputedStyle(el);
87
+ return el.clientWidth - parseFloat(style.paddingLeft) - parseFloat(style.paddingRight);
88
+ }
89
+ /**
90
+ * Whether the labelled segments fit the track's box: the segments, first to
91
+ * last, and the track's padding take no more than its `clientWidth` (half a
92
+ * pixel of rounding aside; `scrollWidth` would let the last segment eat into
93
+ * the end padding first, and Base UI's visually hidden radio inputs must not
94
+ * count), and no label is truncated (a track stretched with `*:flex-1`
95
+ * shrinks its labels instead). Measured in the labelled layout
96
+ * whatever the control shows now: the attribute comes off for the read and
97
+ * goes back before anything paints. The track is `w-fit max-w-full min-w-0`,
98
+ * so its box is the width it is given, a shrinking flex item's included,
99
+ * never more than its labels need: the answer depends only on the room
100
+ * around it, not on what it shows, and so can't flap at the boundary.
101
+ */
102
+ function labelsFit(track) {
103
+ const iconsOnly = track.hasAttribute("data-icons-only");
104
+ if (iconsOnly) track.removeAttribute("data-icons-only");
105
+ const segments = Array.from(track.querySelectorAll(":scope > [data-slot=segmented-control-item]"));
106
+ let fits = true;
107
+ if (segments.length > 0) {
108
+ const style = getComputedStyle(track);
109
+ fits = segments[segments.length - 1].getBoundingClientRect().right - segments[0].getBoundingClientRect().left + parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) - track.clientWidth <= .5;
110
+ }
111
+ if (fits) {
112
+ for (const label of Array.from(track.querySelectorAll("[data-slot=segmented-control-label]"))) if (label.scrollWidth - label.clientWidth > 1) {
113
+ fits = false;
114
+ break;
115
+ }
116
+ }
117
+ if (iconsOnly) track.setAttribute("data-icons-only", "");
118
+ return fits;
119
+ }
120
+ /**
121
+ * Lays the track out and reports whether its segments run past its box. The
122
+ * track comes from a callback ref, so a swapped element is measured too.
123
+ *
124
+ * With `iconsOnlyBelow="auto"` or a length, it decides here whether the
125
+ * segments show only their icons, and sets `data-icons-only` on the track
126
+ * (the presets are container queries in CSS and need nothing here). The
127
+ * decision is taken synchronously, in the layout effect and in the observers'
128
+ * callbacks, so the first frame and every resize paint the right layout.
129
+ * Taken again when the track, a segment, the element it is measured against
130
+ * (the parent for `auto`, the container for a length) or one of that
131
+ * element's children resizes or comes and goes, a label, a count or the
132
+ * selection changes, or a web font arrives.
133
+ *
134
+ * The overflow is the track's own `scrollWidth` against its `clientWidth`
135
+ * after that decision, measured in the next frame.
136
+ */
137
+ function useTrackFit(track, iconsOnlyBelow) {
138
+ const [overflowing, setOverflowing] = useState(false);
139
+ const measured = iconsOnlyBelow !== void 0 && !isIconsOnlyPreset(iconsOnlyBelow);
140
+ useLayoutEffect(() => {
141
+ if (!track || typeof ResizeObserver === "undefined") return void 0;
142
+ const reference = !measured ? null : iconsOnlyBelow === "auto" ? track.parentElement : queryContainerOf(track);
143
+ if (measured && iconsOnlyBelow !== "auto" && reference && lengthToPx(iconsOnlyBelow, reference) === void 0 && process.env.NODE_ENV !== "production") console.warn(`raft-ui: SegmentedControl iconsOnlyBelow="${iconsOnlyBelow}" is not a preset, "auto" or a px, rem or em length; the segments keep their labels.`);
144
+ const fitIcons = () => {
145
+ if (!measured) return;
146
+ let iconsOnly = false;
147
+ if (iconsOnlyBelow === "auto") iconsOnly = !labelsFit(track);
148
+ else if (reference) {
149
+ const threshold = lengthToPx(iconsOnlyBelow, reference);
150
+ iconsOnly = threshold !== void 0 && contentInlineSize(reference) < threshold;
151
+ }
152
+ if (iconsOnly !== track.hasAttribute("data-icons-only")) track.toggleAttribute("data-icons-only", iconsOnly);
153
+ };
154
+ let frame = 0;
155
+ const measure = () => {
156
+ frame = 0;
157
+ setOverflowing(track.scrollWidth - track.clientWidth > 1);
158
+ };
159
+ const schedule = () => {
160
+ if (frame === 0) frame = requestAnimationFrame(measure);
161
+ };
162
+ const update = () => {
163
+ fitIcons();
164
+ schedule();
165
+ };
166
+ const resize = new ResizeObserver(update);
167
+ const observeAll = () => {
168
+ resize.disconnect();
169
+ resize.observe(track);
170
+ for (const child of Array.from(track.children)) resize.observe(child);
171
+ if (reference) {
172
+ resize.observe(reference);
173
+ for (const child of Array.from(reference.children)) resize.observe(child);
174
+ }
175
+ };
176
+ observeAll();
177
+ const mutation = new MutationObserver(() => {
178
+ observeAll();
179
+ update();
180
+ });
181
+ mutation.observe(track, {
182
+ childList: true,
183
+ subtree: true,
184
+ characterData: true,
185
+ attributeFilter: ["data-checked"]
186
+ });
187
+ if (reference) mutation.observe(reference, { childList: true });
188
+ const fonts = typeof document === "undefined" ? void 0 : document.fonts;
189
+ fonts?.addEventListener("loadingdone", update);
190
+ fitIcons();
191
+ measure();
192
+ return () => {
193
+ if (frame !== 0) cancelAnimationFrame(frame);
194
+ resize.disconnect();
195
+ mutation.disconnect();
196
+ fonts?.removeEventListener("loadingdone", update);
197
+ track.removeAttribute("data-icons-only");
198
+ };
199
+ }, [
200
+ track,
201
+ measured,
202
+ iconsOnlyBelow
203
+ ]);
204
+ return overflowing;
205
+ }
206
+ /** In development, warns when segments that may show only their icons have none. */
207
+ function useIconsOnlyWarning(ref, iconsOnlyBelow) {
208
+ useLayoutEffect(() => {
209
+ if (process.env.NODE_ENV === "production" || iconsOnlyBelow === void 0) return;
210
+ const items = ref.current?.querySelectorAll("[data-slot=segmented-control-item]") ?? [];
211
+ for (const item of Array.from(items)) if (!item.querySelector("svg, img")) {
212
+ console.warn("raft-ui: a SegmentedControl with iconsOnlyBelow has a segment with no icon; it would be left empty when the segments show only their icons. Give every segment an icon.");
213
+ return;
214
+ }
215
+ }, [ref, iconsOnlyBelow]);
216
+ }
217
+ function SegmentedControl({ disabled = false, iconsOnlyBelow, variant = "default", className, ref, ...props }) {
218
+ const preset = isIconsOnlyPreset(iconsOnlyBelow);
219
+ const { root } = segmentedControl({
220
+ iconsOnlyBelow: preset ? iconsOnlyBelow : void 0,
221
+ iconsOnlyMeasured: iconsOnlyBelow !== void 0 && !preset ? true : void 0,
222
+ variant
223
+ });
224
+ const rootRef = useRef(null);
225
+ const [track, setTrack] = useState(null);
226
+ const [setRef] = useMergedRef(rootRef, setTrack, ref);
227
+ const overflowing = useTrackFit(track, iconsOnlyBelow);
228
+ useIconsOnlyWarning(rootRef, iconsOnlyBelow);
229
+ const value = props.value;
230
+ useLayoutEffect(() => {
231
+ const track = rootRef.current;
232
+ if (!overflowing || !track) return;
233
+ const checked = track.querySelector("[data-checked]");
234
+ if (!checked) return;
235
+ const trackLeft = track.getBoundingClientRect().left;
236
+ const box = checked.getBoundingClientRect();
237
+ const start = box.left - trackLeft + track.scrollLeft;
238
+ const end = start + box.width;
239
+ if (start < track.scrollLeft) track.scrollLeft = start;
240
+ else if (end > track.scrollLeft + track.clientWidth) track.scrollLeft = end - track.clientWidth;
241
+ }, [overflowing, value]);
242
+ return /* @__PURE__ */ jsx(SegmentedControlIconsOnlyContext, {
243
+ value: iconsOnlyBelow !== void 0,
244
+ children: /* @__PURE__ */ jsx(RadioGroup, {
245
+ ref: setRef,
246
+ disabled,
247
+ "data-slot": "segmented-control",
248
+ "data-overflowing": overflowing ? "" : void 0,
249
+ className: root({ className }),
250
+ ...props
251
+ })
252
+ });
253
+ }
254
+ function SegmentedControlItem({ className, ref, ...props }) {
255
+ const { item } = segmentedControl();
256
+ const iconsOnly = use(SegmentedControlIconsOnlyContext);
257
+ const tapRef = useTapActivation();
258
+ const [setRef] = useMergedRef(tapRef, ref);
259
+ const radio = /* @__PURE__ */ jsx(Radio.Root, {
260
+ ref: setRef,
261
+ render: /* @__PURE__ */ jsx("button", { type: "button" }),
262
+ nativeButton: true,
263
+ "data-slot": "segmented-control-item",
264
+ className: item({ className: `group/segmented-control-item ${className ?? ""}`.trim() }),
265
+ ...props
266
+ });
267
+ return iconsOnly ? /* @__PURE__ */ jsx(SegmentedControlItemTooltip, { children: radio }) : radio;
268
+ }
269
+ function SegmentedControlItemTooltip({ children }) {
270
+ const [text, setText] = useState("");
271
+ const triggerRef = useRef(null);
272
+ const handleOpenChange = useCallback((open, details) => {
273
+ if (!open) return;
274
+ const label = triggerRef.current?.querySelector("[data-slot=segmented-control-label]");
275
+ if (!label || label.getBoundingClientRect().width > 1) {
276
+ details.cancel();
277
+ return;
278
+ }
279
+ setText(label.textContent ?? "");
280
+ }, []);
281
+ return /* @__PURE__ */ jsxs(Tooltip, {
282
+ onOpenChange: handleOpenChange,
283
+ children: [/* @__PURE__ */ jsx(TooltipTrigger, {
284
+ ref: triggerRef,
285
+ render: children
286
+ }), /* @__PURE__ */ jsx(TooltipContent, { children: text })]
287
+ });
288
+ }
289
+ function SegmentedControlLabel({ className, ...props }) {
290
+ const { label } = segmentedControl();
291
+ return /* @__PURE__ */ jsx("span", {
292
+ "data-slot": "segmented-control-label",
293
+ className: label({ className }),
294
+ ...props
295
+ });
296
+ }
297
+ function SegmentedControlCount({ className, ...props }) {
298
+ const { count } = segmentedControl();
299
+ return /* @__PURE__ */ jsx("span", {
300
+ "data-slot": "segmented-control-count",
301
+ className: count({ className }),
302
+ ...props
303
+ });
304
+ }
305
+ //#endregion
306
+ export { SegmentedControl, SegmentedControlCount, SegmentedControlItem, SegmentedControlLabel };
@@ -0,0 +1,2 @@
1
+ import { Select, SelectActionItem, SelectActionItemProps, SelectArrow, SelectArrowProps, SelectContent, SelectContentProps, SelectGroup, SelectGroupLabel, SelectGroupLabelProps, SelectGroupProps, SelectIcon, SelectIconProps, SelectItem, SelectItemDescription, SelectItemDescriptionProps, SelectItemIndicator, SelectItemIndicatorProps, SelectItemLeading, SelectItemLeadingProps, SelectItemProps, SelectItemText, SelectItemTextProps, SelectLabel, SelectLabelProps, SelectList, SelectListProps, SelectPopup, SelectPopupProps, SelectPortal, SelectPortalProps, SelectProps, SelectScrollDownArrow, SelectScrollDownArrowProps, SelectScrollUpArrow, SelectScrollUpArrowProps, SelectSeparator, SelectSeparatorProps, SelectTrigger, SelectTriggerProps, SelectValue, SelectValueProps } from "./select.mjs";
2
+ export { Select, SelectActionItem, type SelectActionItemProps, SelectArrow, type SelectArrowProps, SelectContent, type SelectContentProps, SelectGroup, SelectGroupLabel, type SelectGroupLabelProps, type SelectGroupProps, SelectIcon, type SelectIconProps, SelectItem, SelectItemDescription, type SelectItemDescriptionProps, SelectItemIndicator, type SelectItemIndicatorProps, SelectItemLeading, type SelectItemLeadingProps, type SelectItemProps, SelectItemText, type SelectItemTextProps, SelectLabel, type SelectLabelProps, SelectList, type SelectListProps, SelectPopup, type SelectPopupProps, SelectPortal, type SelectPortalProps, type SelectProps, SelectScrollDownArrow, type SelectScrollDownArrowProps, SelectScrollUpArrow, type SelectScrollUpArrowProps, SelectSeparator, type SelectSeparatorProps, SelectTrigger, type SelectTriggerProps, SelectValue, type SelectValueProps };
@@ -0,0 +1,95 @@
1
+ import { StyledProps } from "../../lib/styled-props.mjs";
2
+ import { DataAttributes } from "../../lib/data-attributes.mjs";
3
+ import { ComponentPropsWithRef } from "react";
4
+ import { Select } from "@base-ui/react/select";
5
+ //#region src/components/select/select.d.ts
6
+ export type SelectChrome = "default" | "field";
7
+ export type SelectProps<Value, Multiple extends boolean | undefined = false> = Select.Root.Props<Value, Multiple> & {
8
+ /**
9
+ * `field` opts this Select into the field metric axis, so it reads as a form
10
+ * field rather than a button. Defaults to `default`, leaving every existing
11
+ * Select untouched.
12
+ */
13
+ chrome?: SelectChrome;
14
+ };
15
+ declare function Select$1<Value, Multiple extends boolean | undefined = false>({ chrome, onValueChange, onOpenChange, isItemEqualToValue, itemToStringLabel, itemToStringValue, ...props }: SelectProps<Value, Multiple>): import("react").JSX.Element;
16
+ export type SelectTriggerProps = StyledProps<Select.Trigger.Props> & DataAttributes;
17
+ export declare function SelectTrigger({ className, children, render, "data-invalid": dataInvalid, ...props }: SelectTriggerProps): import("react").JSX.Element;
18
+ export type SelectValueProps = StyledProps<Select.Value.Props>;
19
+ export declare function SelectValue({ className, ref, title, ...props }: SelectValueProps): import("react").JSX.Element;
20
+ export type SelectIconProps = StyledProps<Select.Icon.Props>;
21
+ export declare function SelectIcon({ className, children, ...props }: SelectIconProps): import("react").JSX.Element;
22
+ export type SelectPortalProps = Select.Portal.Props;
23
+ export declare function SelectPortal(props: SelectPortalProps): import("react").JSX.Element;
24
+ export type SelectPopupProps = ComponentPropsWithRef<"div">;
25
+ export declare function SelectPopup({ className, ...props }: SelectPopupProps): import("react").JSX.Element;
26
+ export type SelectContentProps = StyledProps<Select.Popup.Props> & Pick<Select.Positioner.Props, "align" | "alignItemWithTrigger" | "alignOffset" | "anchor" | "arrowPadding" | "collisionAvoidance" | "collisionBoundary" | "disableAnchorTracking" | "positionMethod" | "side" | "sideOffset" | "sticky"> & {
27
+ /**
28
+ * Additional space to maintain from the edge of the collision boundary: 8px
29
+ * from the window's edge, and 8px from a frame inset where a shell keeps one.
30
+ * A value you pass is kept as it is.
31
+ * @default 8
32
+ */
33
+ collisionPadding?: Select.Positioner.Props["collisionPadding"];
34
+ portalProps?: SelectPortalProps;
35
+ };
36
+ export declare function SelectContent({ align, alignItemWithTrigger, alignOffset, anchor, arrowPadding, collisionAvoidance, collisionBoundary, collisionPadding, disableAnchorTracking, positionMethod, side, sideOffset, sticky, portalProps, className, ...props }: SelectContentProps): import("react").JSX.Element;
37
+ export type SelectListProps = StyledProps<Select.List.Props>;
38
+ export declare function SelectList({ className, ...props }: SelectListProps): import("react").JSX.Element;
39
+ export type SelectItemProps = StyledProps<Select.Item.Props>;
40
+ export declare function SelectItem({ className, ...props }: SelectItemProps): import("react").JSX.Element;
41
+ export type SelectItemLeadingProps = StyledProps<ComponentPropsWithRef<"span">>;
42
+ export declare function SelectItemLeading({ className, ...props }: SelectItemLeadingProps): import("react").JSX.Element;
43
+ export type SelectItemIndicatorProps = StyledProps<Select.ItemIndicator.Props>;
44
+ export declare function SelectItemIndicator({ className, children, ...props }: SelectItemIndicatorProps): import("react").JSX.Element;
45
+ export type SelectItemTextProps = StyledProps<Select.ItemText.Props>;
46
+ export declare function SelectItemText({ className, id, ref, title, ...props }: SelectItemTextProps): import("react").JSX.Element;
47
+ export type SelectItemDescriptionProps = StyledProps<ComponentPropsWithRef<"span">>;
48
+ /**
49
+ * A second line under an option's label: what it means, not its name again.
50
+ * It sits beside `SelectItemText`, not inside it, so the selected value in the
51
+ * trigger stays the label alone. The option grows to fit it.
52
+ */
53
+ export declare function SelectItemDescription({ className, id, ...props }: SelectItemDescriptionProps): import("react").JSX.Element;
54
+ export type SelectActionItemProps = StyledProps<Omit<Select.Item.Props, "value" | "label" | "onClick">> & {
55
+ /**
56
+ * Runs when the row is pressed: clicked, or Enter or Space while it is
57
+ * highlighted. The row never becomes the Select's value and never calls
58
+ * `onValueChange`.
59
+ */
60
+ onAction?: (event: Event) => void;
61
+ /**
62
+ * Whether pressing the row closes the list. Off by default: a list action
63
+ * such as Show All changes what the list shows, so the list stays open.
64
+ * @default false
65
+ */
66
+ closeOnAction?: boolean;
67
+ /**
68
+ * The text typeahead matches, when the row's content is not plain text.
69
+ */
70
+ label?: string;
71
+ };
72
+ /**
73
+ * An action row inside the list, placed last after a `SelectSeparator`, such as
74
+ * Show All. It is reached by the arrow keys and typeahead like an item, but
75
+ * pressing it runs `onAction` instead of choosing a value. It is an option to
76
+ * assistive technology, so it takes no `aria-expanded`: its label says what it
77
+ * does.
78
+ */
79
+ export declare function SelectActionItem({ className, onAction, closeOnAction, ...props }: SelectActionItemProps): import("react").JSX.Element;
80
+ export type SelectLabelProps = StyledProps<Select.Label.Props>;
81
+ export declare function SelectLabel({ className, ...props }: SelectLabelProps): import("react").JSX.Element;
82
+ export type SelectGroupProps = StyledProps<Select.Group.Props>;
83
+ export declare function SelectGroup({ className, ...props }: SelectGroupProps): import("react").JSX.Element;
84
+ export type SelectGroupLabelProps = StyledProps<Select.GroupLabel.Props>;
85
+ export declare function SelectGroupLabel({ className, ...props }: SelectGroupLabelProps): import("react").JSX.Element;
86
+ export type SelectSeparatorProps = StyledProps<ComponentPropsWithRef<"div">>;
87
+ export declare function SelectSeparator({ className, ...props }: SelectSeparatorProps): import("react").JSX.Element;
88
+ export type SelectScrollUpArrowProps = StyledProps<Select.ScrollUpArrow.Props>;
89
+ export declare function SelectScrollUpArrow({ className, children, ...props }: SelectScrollUpArrowProps): import("react").JSX.Element;
90
+ export type SelectScrollDownArrowProps = StyledProps<Select.ScrollDownArrow.Props>;
91
+ export declare function SelectScrollDownArrow({ className, children, ...props }: SelectScrollDownArrowProps): import("react").JSX.Element;
92
+ export type SelectArrowProps = StyledProps<Select.Arrow.Props>;
93
+ export declare function SelectArrow({ className, ...props }: SelectArrowProps): import("react").JSX.Element;
94
+ //#endregion
95
+ export { Select$1 as Select };