@dxos/react-ui 0.8.4-main.d05539e30a → 0.8.4-main.d9fc60f731

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 (375) hide show
  1. package/dist/lib/browser/chunk-5SPBSIWS.mjs +33 -0
  2. package/dist/lib/browser/chunk-5SPBSIWS.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-KVJDKHLF.mjs +1613 -0
  4. package/dist/lib/browser/chunk-KVJDKHLF.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +2403 -1562
  6. package/dist/lib/browser/index.mjs.map +4 -4
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/testing/index.mjs +9 -6
  9. package/dist/lib/browser/testing/index.mjs.map +3 -3
  10. package/dist/lib/browser/translations.mjs +1 -1
  11. package/dist/lib/node-esm/chunk-5JYHWJDZ.mjs +1615 -0
  12. package/dist/lib/node-esm/chunk-5JYHWJDZ.mjs.map +7 -0
  13. package/dist/lib/node-esm/{chunk-XCFLA74M.mjs → chunk-FPVTVXND.mjs} +11 -2
  14. package/dist/lib/node-esm/chunk-FPVTVXND.mjs.map +7 -0
  15. package/dist/lib/node-esm/index.mjs +2403 -1562
  16. package/dist/lib/node-esm/index.mjs.map +4 -4
  17. package/dist/lib/node-esm/meta.json +1 -1
  18. package/dist/lib/node-esm/testing/index.mjs +9 -6
  19. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  20. package/dist/lib/node-esm/translations.mjs +1 -1
  21. package/dist/types/src/components/Avatars/Avatar.theme.d.ts +11 -0
  22. package/dist/types/src/components/Avatars/Avatar.theme.d.ts.map +1 -0
  23. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts +5 -1
  24. package/dist/types/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  25. package/dist/types/src/components/Breadcrumb/Breadcrumb.theme.d.ts +4 -0
  26. package/dist/types/src/components/Breadcrumb/Breadcrumb.theme.d.ts.map +1 -0
  27. package/dist/types/src/components/Button/Button.d.ts +1 -1
  28. package/dist/types/src/components/Button/Button.d.ts.map +1 -1
  29. package/dist/types/src/components/Button/Button.theme.d.ts +11 -0
  30. package/dist/types/src/components/Button/Button.theme.d.ts.map +1 -0
  31. package/dist/types/src/components/Button/IconButton.stories.d.ts +1 -0
  32. package/dist/types/src/components/Button/IconButton.stories.d.ts.map +1 -1
  33. package/dist/types/src/components/Button/IconButton.theme.d.ts +8 -0
  34. package/dist/types/src/components/Button/IconButton.theme.d.ts.map +1 -0
  35. package/dist/types/src/components/Calendar/Calendar.d.ts +33 -0
  36. package/dist/types/src/components/Calendar/Calendar.d.ts.map +1 -0
  37. package/dist/types/src/components/Calendar/Calendar.stories.d.ts +9 -0
  38. package/dist/types/src/components/Calendar/Calendar.stories.d.ts.map +1 -0
  39. package/dist/types/src/components/Calendar/Calendar.theme.d.ts +4 -0
  40. package/dist/types/src/components/Calendar/Calendar.theme.d.ts.map +1 -0
  41. package/dist/types/src/components/Calendar/index.d.ts +2 -0
  42. package/dist/types/src/components/Calendar/index.d.ts.map +1 -0
  43. package/dist/types/src/components/Card/Card.d.ts +51 -44
  44. package/dist/types/src/components/Card/Card.d.ts.map +1 -1
  45. package/dist/types/src/components/Card/Card.stories.d.ts +1 -0
  46. package/dist/types/src/components/Card/Card.stories.d.ts.map +1 -1
  47. package/dist/types/src/components/Card/Card.theme.d.ts +12 -0
  48. package/dist/types/src/components/Card/Card.theme.d.ts.map +1 -0
  49. package/dist/types/src/components/Carousel/Carousel.d.ts +2 -6
  50. package/dist/types/src/components/Carousel/Carousel.d.ts.map +1 -1
  51. package/dist/types/src/components/Clipboard/CopyButton.d.ts.map +1 -1
  52. package/dist/types/src/components/Clipboard/index.d.ts +1 -1
  53. package/dist/types/src/{primitives → components}/Column/Column.d.ts.map +1 -1
  54. package/dist/types/src/{primitives → components}/Column/Column.stories.d.ts.map +1 -1
  55. package/dist/types/src/components/Column/Column.theme.d.ts +9 -0
  56. package/dist/types/src/components/Column/Column.theme.d.ts.map +1 -0
  57. package/dist/types/src/components/Column/index.d.ts +3 -0
  58. package/dist/types/src/components/Column/index.d.ts.map +1 -0
  59. package/dist/types/src/components/Column/withColumn.d.ts +21 -0
  60. package/dist/types/src/components/Column/withColumn.d.ts.map +1 -0
  61. package/dist/types/src/components/DatePicker/DatePicker.d.ts +72 -0
  62. package/dist/types/src/components/DatePicker/DatePicker.d.ts.map +1 -0
  63. package/dist/types/src/components/DatePicker/DatePicker.stories.d.ts +10 -0
  64. package/dist/types/src/components/DatePicker/DatePicker.stories.d.ts.map +1 -0
  65. package/dist/types/src/components/DatePicker/DatePicker.theme.d.ts +6 -0
  66. package/dist/types/src/components/DatePicker/DatePicker.theme.d.ts.map +1 -0
  67. package/dist/types/src/components/DatePicker/index.d.ts +2 -0
  68. package/dist/types/src/components/DatePicker/index.d.ts.map +1 -0
  69. package/dist/types/src/components/Dialog/AlertDialog.d.ts +8 -8
  70. package/dist/types/src/components/Dialog/AlertDialog.d.ts.map +1 -1
  71. package/dist/types/src/components/Dialog/Dialog.d.ts +9 -7
  72. package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -1
  73. package/dist/types/src/components/Dialog/Dialog.theme.d.ts +10 -0
  74. package/dist/types/src/components/Dialog/Dialog.theme.d.ts.map +1 -0
  75. package/dist/types/src/components/ErrorFallback/ErrorFallback.d.ts.map +1 -1
  76. package/dist/types/src/components/ErrorFallback/ErrorStack.d.ts.map +1 -1
  77. package/dist/types/src/components/Focus/Focus.d.ts.map +1 -1
  78. package/dist/types/src/components/Focus/Focus.theme.d.ts +6 -0
  79. package/dist/types/src/components/Focus/Focus.theme.d.ts.map +1 -0
  80. package/dist/types/src/components/Icon/Icon.theme.d.ts +11 -0
  81. package/dist/types/src/components/Icon/Icon.theme.d.ts.map +1 -0
  82. package/dist/types/src/components/Icon/IconBlock.d.ts +15 -0
  83. package/dist/types/src/components/Icon/IconBlock.d.ts.map +1 -0
  84. package/dist/types/src/components/Icon/index.d.ts +1 -0
  85. package/dist/types/src/components/Icon/index.d.ts.map +1 -1
  86. package/dist/types/src/components/Input/Input.d.ts +81 -3
  87. package/dist/types/src/components/Input/Input.d.ts.map +1 -1
  88. package/dist/types/src/components/Input/Input.stories.d.ts +14 -3
  89. package/dist/types/src/components/Input/Input.stories.d.ts.map +1 -1
  90. package/dist/types/src/components/Input/Input.theme.d.ts +115 -0
  91. package/dist/types/src/components/Input/Input.theme.d.ts.map +1 -0
  92. package/dist/types/src/components/Input/SegmentedInput.d.ts +79 -0
  93. package/dist/types/src/components/Input/SegmentedInput.d.ts.map +1 -0
  94. package/dist/types/src/components/Input/constants.d.ts +2 -0
  95. package/dist/types/src/components/Input/constants.d.ts.map +1 -0
  96. package/dist/types/src/components/Input/index.d.ts +2 -0
  97. package/dist/types/src/components/Input/index.d.ts.map +1 -1
  98. package/dist/types/src/components/Link/Link.theme.d.ts +6 -0
  99. package/dist/types/src/components/Link/Link.theme.d.ts.map +1 -0
  100. package/dist/types/src/components/List/List.d.ts.map +1 -1
  101. package/dist/types/src/components/List/List.theme.d.ts +7 -0
  102. package/dist/types/src/components/List/List.theme.d.ts.map +1 -0
  103. package/dist/types/src/components/List/Treegrid.d.ts +1 -1
  104. package/dist/types/src/components/List/Treegrid.d.ts.map +1 -1
  105. package/dist/types/src/components/List/Treegrid.theme.d.ts +7 -0
  106. package/dist/types/src/components/List/Treegrid.theme.d.ts.map +1 -0
  107. package/dist/types/src/components/Main/Main.d.ts +2 -2
  108. package/dist/types/src/components/Main/Main.d.ts.map +1 -1
  109. package/dist/types/src/components/Main/Main.theme.d.ts +20 -0
  110. package/dist/types/src/components/Main/Main.theme.d.ts.map +1 -0
  111. package/dist/types/src/components/Main/constants.d.ts +3 -0
  112. package/dist/types/src/components/Main/constants.d.ts.map +1 -0
  113. package/dist/types/src/components/Main/index.d.ts +1 -0
  114. package/dist/types/src/components/Main/index.d.ts.map +1 -1
  115. package/dist/types/src/components/MediaPlayer/MediaPlayer.d.ts +9 -12
  116. package/dist/types/src/components/MediaPlayer/MediaPlayer.d.ts.map +1 -1
  117. package/dist/types/src/components/MediaPlayer/MediaPlayer.stories.d.ts +1 -1
  118. package/dist/types/src/components/Menu/ContextMenu.stories.d.ts.map +1 -1
  119. package/dist/types/src/components/Menu/DropdownMenu.stories.d.ts.map +1 -1
  120. package/dist/types/src/components/Menu/Menu.theme.d.ts +7 -0
  121. package/dist/types/src/components/Menu/Menu.theme.d.ts.map +1 -0
  122. package/dist/types/src/components/Message/Message.d.ts +2 -2
  123. package/dist/types/src/components/Message/Message.d.ts.map +1 -1
  124. package/dist/types/src/components/Message/Message.stories.d.ts +5 -1
  125. package/dist/types/src/components/Message/Message.stories.d.ts.map +1 -1
  126. package/dist/types/src/components/Message/Message.theme.d.ts +7 -0
  127. package/dist/types/src/components/Message/Message.theme.d.ts.map +1 -0
  128. package/dist/types/src/{primitives → components}/Panel/Panel.d.ts +1 -1
  129. package/dist/types/src/components/Panel/Panel.d.ts.map +1 -0
  130. package/dist/types/src/{primitives → components}/Panel/Panel.stories.d.ts.map +1 -1
  131. package/dist/types/src/components/Panel/Panel.theme.d.ts +13 -0
  132. package/dist/types/src/components/Panel/Panel.theme.d.ts.map +1 -0
  133. package/dist/types/src/components/Panel/index.d.ts.map +1 -0
  134. package/dist/types/src/components/Popover/Popover.theme.d.ts +8 -0
  135. package/dist/types/src/components/Popover/Popover.theme.d.ts.map +1 -0
  136. package/dist/types/src/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  137. package/dist/types/src/components/ScrollArea/ScrollArea.theme.d.ts +17 -0
  138. package/dist/types/src/components/ScrollArea/ScrollArea.theme.d.ts.map +1 -0
  139. package/dist/types/src/components/ScrollArea/index.d.ts +1 -0
  140. package/dist/types/src/components/ScrollArea/index.d.ts.map +1 -1
  141. package/dist/types/src/components/ScrollArea/scrollbar.d.ts +18 -0
  142. package/dist/types/src/components/ScrollArea/scrollbar.d.ts.map +1 -0
  143. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts +13 -19
  144. package/dist/types/src/components/ScrollContainer/ScrollContainer.d.ts.map +1 -1
  145. package/dist/types/src/components/Select/Select.d.ts.map +1 -1
  146. package/dist/types/src/components/Select/Select.theme.d.ts +6 -0
  147. package/dist/types/src/components/Select/Select.theme.d.ts.map +1 -0
  148. package/dist/types/src/components/Separator/Separator.theme.d.ts +7 -0
  149. package/dist/types/src/components/Separator/Separator.theme.d.ts.map +1 -0
  150. package/dist/types/src/components/Skeleton/Skeleton.theme.d.ts +6 -0
  151. package/dist/types/src/components/Skeleton/Skeleton.theme.d.ts.map +1 -0
  152. package/dist/types/src/components/Splitter/Splitter.d.ts +3 -5
  153. package/dist/types/src/components/Splitter/Splitter.d.ts.map +1 -1
  154. package/dist/types/src/components/Splitter/Splitter.theme.d.ts +4 -0
  155. package/dist/types/src/components/Splitter/Splitter.theme.d.ts.map +1 -0
  156. package/dist/types/src/components/Status/Status.d.ts +1 -1
  157. package/dist/types/src/components/Status/Status.d.ts.map +1 -1
  158. package/dist/types/src/components/Status/Status.theme.d.ts +7 -0
  159. package/dist/types/src/components/Status/Status.theme.d.ts.map +1 -0
  160. package/dist/types/src/components/Tag/Tag.theme.d.ts +6 -0
  161. package/dist/types/src/components/Tag/Tag.theme.d.ts.map +1 -0
  162. package/dist/types/src/components/Toast/Toast.d.ts +13 -10
  163. package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
  164. package/dist/types/src/components/Toast/Toast.stories.d.ts +5 -2
  165. package/dist/types/src/components/Toast/Toast.stories.d.ts.map +1 -1
  166. package/dist/types/src/components/Toast/Toast.theme.d.ts +4 -0
  167. package/dist/types/src/components/Toast/Toast.theme.d.ts.map +1 -0
  168. package/dist/types/src/components/Toolbar/Toolbar.d.ts +19 -7
  169. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -1
  170. package/dist/types/src/components/Toolbar/Toolbar.theme.d.ts +8 -0
  171. package/dist/types/src/components/Toolbar/Toolbar.theme.d.ts.map +1 -0
  172. package/dist/types/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
  173. package/dist/types/src/components/Tooltip/Tooltip.theme.d.ts +6 -0
  174. package/dist/types/src/components/Tooltip/Tooltip.theme.d.ts.map +1 -0
  175. package/dist/types/src/components/Tooltip/index.d.ts +1 -0
  176. package/dist/types/src/components/Tooltip/index.d.ts.map +1 -1
  177. package/dist/types/src/components/Tooltip/tooltipContent.d.ts +4 -0
  178. package/dist/types/src/components/Tooltip/tooltipContent.d.ts.map +1 -0
  179. package/dist/types/src/components/index.d.ts +5 -4
  180. package/dist/types/src/components/index.d.ts.map +1 -1
  181. package/dist/types/src/exemplars/generics.stories.d.ts.map +1 -1
  182. package/dist/types/src/exemplars/slot.stories.d.ts.map +1 -1
  183. package/dist/types/src/hooks/useTranslationsContext.d.ts +1 -1
  184. package/dist/types/src/index.d.ts +1 -0
  185. package/dist/types/src/index.d.ts.map +1 -1
  186. package/dist/types/src/playground/Custom.stories.d.ts.map +1 -1
  187. package/dist/types/src/primitives/Container/Container.d.ts.map +1 -1
  188. package/dist/types/src/{components → primitives}/DensityProvider/DensityProvider.d.ts.map +1 -1
  189. package/dist/types/src/primitives/DensityProvider/index.d.ts.map +1 -0
  190. package/dist/types/src/{components → primitives}/ElevationProvider/ElevationProvider.d.ts.map +1 -1
  191. package/dist/types/src/primitives/ElevationProvider/index.d.ts.map +1 -0
  192. package/dist/types/src/primitives/Flex/Flex.d.ts.map +1 -1
  193. package/dist/types/src/primitives/Grid/Grid.d.ts.map +1 -1
  194. package/dist/types/src/{components → primitives}/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  195. package/dist/types/src/{components → primitives}/ThemeProvider/ThemeProvider.stories.d.ts.map +1 -1
  196. package/dist/types/src/{components → primitives}/ThemeProvider/TranslationsProvider.d.ts.map +1 -1
  197. package/dist/types/src/{components → primitives}/ThemeProvider/index.d.ts +1 -1
  198. package/dist/types/src/primitives/ThemeProvider/index.d.ts.map +1 -0
  199. package/dist/types/src/primitives/index.d.ts +3 -2
  200. package/dist/types/src/primitives/index.d.ts.map +1 -1
  201. package/dist/types/src/testing/decorators/withTheme.d.ts +5 -1
  202. package/dist/types/src/testing/decorators/withTheme.d.ts.map +1 -1
  203. package/dist/types/src/theme/bindTheme.d.ts +3 -0
  204. package/dist/types/src/theme/bindTheme.d.ts.map +1 -0
  205. package/dist/types/src/theme/defaultTheme.d.ts +4 -0
  206. package/dist/types/src/theme/defaultTheme.d.ts.map +1 -0
  207. package/dist/types/src/theme/index.d.ts +31 -0
  208. package/dist/types/src/theme/index.d.ts.map +1 -0
  209. package/dist/types/src/translations.d.ts +9 -0
  210. package/dist/types/src/translations.d.ts.map +1 -1
  211. package/dist/types/src/util/index.d.ts +2 -1
  212. package/dist/types/src/util/index.d.ts.map +1 -1
  213. package/dist/types/src/util/mobile.d.ts +5 -0
  214. package/dist/types/src/util/mobile.d.ts.map +1 -0
  215. package/dist/types/src/util/slots.d.ts +57 -0
  216. package/dist/types/src/util/slots.d.ts.map +1 -0
  217. package/dist/types/src/util/usePx.d.ts.map +1 -1
  218. package/dist/types/tsconfig.tsbuildinfo +1 -1
  219. package/package.json +19 -17
  220. package/src/components/Avatars/Avatar.theme.ts +93 -0
  221. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +1 -1
  222. package/src/components/Breadcrumb/Breadcrumb.theme.ts +26 -0
  223. package/src/components/Breadcrumb/Breadcrumb.tsx +14 -2
  224. package/src/components/Button/Button.theme.ts +31 -0
  225. package/src/components/Button/Button.tsx +1 -1
  226. package/src/components/Button/IconButton.stories.tsx +50 -2
  227. package/src/components/Button/IconButton.theme.ts +21 -0
  228. package/src/components/Calendar/Calendar.stories.tsx +43 -0
  229. package/src/components/Calendar/Calendar.theme.ts +74 -0
  230. package/src/components/Calendar/Calendar.tsx +196 -0
  231. package/src/components/Calendar/index.ts +5 -0
  232. package/src/components/Card/Card.stories.tsx +40 -19
  233. package/src/components/Card/Card.theme.ts +93 -0
  234. package/src/components/Card/Card.tsx +121 -147
  235. package/src/components/Carousel/Carousel.tsx +2 -10
  236. package/src/components/Clipboard/CopyButton.tsx +1 -1
  237. package/src/{primitives → components}/Column/Column.stories.tsx +1 -1
  238. package/src/components/Column/Column.theme.ts +48 -0
  239. package/src/{primitives → components}/Column/Column.tsx +2 -1
  240. package/src/{primitives → components}/Column/index.ts +1 -0
  241. package/src/components/Column/withColumn.ts +27 -0
  242. package/src/components/DatePicker/DatePicker.stories.tsx +102 -0
  243. package/src/components/DatePicker/DatePicker.theme.ts +35 -0
  244. package/src/components/DatePicker/DatePicker.tsx +279 -0
  245. package/src/components/DatePicker/index.ts +5 -0
  246. package/src/components/Dialog/AlertDialog.tsx +12 -13
  247. package/src/components/Dialog/Dialog.stories.tsx +2 -2
  248. package/src/components/Dialog/Dialog.theme.ts +61 -0
  249. package/src/components/Dialog/Dialog.tsx +46 -17
  250. package/src/components/ErrorFallback/ErrorFallback.tsx +14 -8
  251. package/src/components/ErrorFallback/ErrorStack.tsx +12 -6
  252. package/src/components/Focus/Focus.theme.ts +32 -0
  253. package/src/components/Focus/Focus.tsx +1 -1
  254. package/src/components/Icon/Icon.theme.ts +45 -0
  255. package/src/components/Icon/IconBlock.tsx +38 -0
  256. package/src/components/Icon/index.ts +1 -0
  257. package/src/components/Image/Image.stories.tsx +1 -1
  258. package/src/components/Input/Input.stories.tsx +132 -29
  259. package/src/components/Input/Input.theme.ts +191 -0
  260. package/src/components/Input/Input.tsx +207 -2
  261. package/src/components/Input/SegmentedInput.tsx +454 -0
  262. package/src/components/Input/constants.ts +5 -0
  263. package/src/components/Input/index.ts +2 -0
  264. package/src/components/Link/Link.theme.ts +16 -0
  265. package/src/components/List/List.theme.ts +47 -0
  266. package/src/components/List/List.tsx +2 -2
  267. package/src/components/List/ListDropIndicator.tsx +1 -1
  268. package/src/components/List/TreeDropIndicator.tsx +3 -3
  269. package/src/components/List/Treegrid.theme.ts +35 -0
  270. package/src/components/List/Treegrid.tsx +3 -4
  271. package/src/components/Main/Main.theme.ts +29 -0
  272. package/src/components/Main/Main.tsx +9 -7
  273. package/src/components/Main/constants.ts +6 -0
  274. package/src/components/Main/index.ts +1 -0
  275. package/src/components/MediaPlayer/MediaPlayer.tsx +61 -36
  276. package/src/components/Menu/ContextMenu.stories.tsx +0 -3
  277. package/src/components/Menu/DropdownMenu.stories.tsx +0 -3
  278. package/src/components/Menu/DropdownMenu.tsx +15 -15
  279. package/src/components/Menu/Menu.theme.ts +48 -0
  280. package/src/components/Message/Message.stories.tsx +42 -4
  281. package/src/components/Message/Message.theme.ts +44 -0
  282. package/src/components/Message/Message.tsx +63 -20
  283. package/src/{primitives → components}/Panel/Panel.stories.tsx +2 -3
  284. package/src/components/Panel/Panel.theme.ts +42 -0
  285. package/src/{primitives → components}/Panel/Panel.tsx +2 -1
  286. package/src/components/Popover/Popover.theme.ts +40 -0
  287. package/src/components/Popover/Popover.tsx +7 -7
  288. package/src/components/ScrollArea/ScrollArea.stories.tsx +1 -1
  289. package/src/components/ScrollArea/ScrollArea.theme.ts +107 -0
  290. package/src/components/ScrollArea/ScrollArea.tsx +3 -2
  291. package/src/components/ScrollArea/index.ts +1 -0
  292. package/src/components/ScrollArea/scrollbar.ts +21 -0
  293. package/src/components/ScrollContainer/ScrollContainer.stories.tsx +1 -1
  294. package/src/components/ScrollContainer/ScrollContainer.tsx +57 -55
  295. package/src/components/Select/Select.theme.ts +55 -0
  296. package/src/components/Select/Select.tsx +26 -10
  297. package/src/components/Separator/Separator.theme.ts +23 -0
  298. package/src/components/Skeleton/Skeleton.theme.ts +22 -0
  299. package/src/components/Splitter/Splitter.stories.tsx +1 -1
  300. package/src/components/Splitter/Splitter.theme.ts +18 -0
  301. package/src/components/Splitter/Splitter.tsx +10 -15
  302. package/src/components/Status/Status.theme.ts +31 -0
  303. package/src/components/Status/Status.tsx +1 -2
  304. package/src/components/Tag/Tag.theme.ts +22 -0
  305. package/src/components/Toast/Toast.stories.tsx +41 -20
  306. package/src/components/Toast/Toast.theme.ts +56 -0
  307. package/src/components/Toast/Toast.tsx +95 -27
  308. package/src/components/Toolbar/Toolbar.theme.ts +36 -0
  309. package/src/components/Toolbar/Toolbar.tsx +63 -13
  310. package/src/components/Tooltip/Tooltip.stories.tsx +0 -9
  311. package/src/components/Tooltip/Tooltip.theme.ts +19 -0
  312. package/src/components/Tooltip/Tooltip.tsx +4 -4
  313. package/src/components/Tooltip/index.ts +1 -0
  314. package/src/components/Tooltip/tooltipContent.ts +16 -0
  315. package/src/components/index.ts +5 -5
  316. package/src/exemplars/generics.stories.tsx +1 -2
  317. package/src/exemplars/slot.stories.tsx +2 -1
  318. package/src/hooks/useDensityContext.ts +1 -1
  319. package/src/hooks/useElevationContext.ts +1 -1
  320. package/src/hooks/useThemeContext.ts +1 -1
  321. package/src/hooks/useTranslationsContext.ts +1 -1
  322. package/src/index.ts +1 -0
  323. package/src/playground/Custom.stories.tsx +12 -32
  324. package/src/primitives/Container/Container.tsx +3 -1
  325. package/src/{components → primitives}/DensityProvider/DensityProvider.tsx +1 -1
  326. package/src/primitives/Flex/Flex.tsx +3 -1
  327. package/src/primitives/Grid/Grid.tsx +3 -1
  328. package/src/{components → primitives}/ThemeProvider/ThemeProvider.stories.tsx +1 -1
  329. package/src/{components → primitives}/ThemeProvider/ThemeProvider.tsx +1 -1
  330. package/src/{components → primitives}/ThemeProvider/index.ts +1 -1
  331. package/src/primitives/index.ts +4 -2
  332. package/src/testing/decorators/withLayoutVariants.tsx +1 -1
  333. package/src/testing/decorators/withTheme.tsx +21 -13
  334. package/src/theme/bindTheme.ts +13 -0
  335. package/src/theme/defaultTheme.ts +83 -0
  336. package/src/theme/index.ts +37 -0
  337. package/src/translations.ts +9 -0
  338. package/src/util/index.ts +2 -1
  339. package/src/util/mobile.ts +11 -0
  340. package/src/util/slots.ts +129 -0
  341. package/src/util/usePx.ts +4 -1
  342. package/dist/lib/browser/chunk-A5QCIG5R.mjs +0 -24
  343. package/dist/lib/browser/chunk-A5QCIG5R.mjs.map +0 -7
  344. package/dist/lib/browser/chunk-LY5XDQR5.mjs +0 -846
  345. package/dist/lib/browser/chunk-LY5XDQR5.mjs.map +0 -7
  346. package/dist/lib/node-esm/chunk-NGKLIKP3.mjs +0 -848
  347. package/dist/lib/node-esm/chunk-NGKLIKP3.mjs.map +0 -7
  348. package/dist/lib/node-esm/chunk-XCFLA74M.mjs.map +0 -7
  349. package/dist/types/src/components/DensityProvider/index.d.ts.map +0 -1
  350. package/dist/types/src/components/ElevationProvider/index.d.ts.map +0 -1
  351. package/dist/types/src/components/ThemeProvider/index.d.ts.map +0 -1
  352. package/dist/types/src/primitives/Column/index.d.ts +0 -2
  353. package/dist/types/src/primitives/Column/index.d.ts.map +0 -1
  354. package/dist/types/src/primitives/Panel/Panel.d.ts.map +0 -1
  355. package/dist/types/src/primitives/Panel/index.d.ts.map +0 -1
  356. package/dist/types/src/util/hasIosKeyboard.d.ts +0 -2
  357. package/dist/types/src/util/hasIosKeyboard.d.ts.map +0 -1
  358. package/src/util/hasIosKeyboard.ts +0 -8
  359. /package/dist/types/src/{primitives → components}/Column/Column.d.ts +0 -0
  360. /package/dist/types/src/{primitives → components}/Column/Column.stories.d.ts +0 -0
  361. /package/dist/types/src/{primitives → components}/Panel/Panel.stories.d.ts +0 -0
  362. /package/dist/types/src/{primitives → components}/Panel/index.d.ts +0 -0
  363. /package/dist/types/src/{components → primitives}/DensityProvider/DensityProvider.d.ts +0 -0
  364. /package/dist/types/src/{components → primitives}/DensityProvider/index.d.ts +0 -0
  365. /package/dist/types/src/{components → primitives}/ElevationProvider/ElevationProvider.d.ts +0 -0
  366. /package/dist/types/src/{components → primitives}/ElevationProvider/index.d.ts +0 -0
  367. /package/dist/types/src/{components → primitives}/ThemeProvider/ThemeProvider.d.ts +0 -0
  368. /package/dist/types/src/{components → primitives}/ThemeProvider/ThemeProvider.stories.d.ts +0 -0
  369. /package/dist/types/src/{components → primitives}/ThemeProvider/TranslationsProvider.d.ts +0 -0
  370. /package/src/{primitives → components}/Column/AUDIT.md +0 -0
  371. /package/src/{primitives → components}/Panel/index.ts +0 -0
  372. /package/src/{components → primitives}/DensityProvider/index.ts +0 -0
  373. /package/src/{components → primitives}/ElevationProvider/ElevationProvider.tsx +0 -0
  374. /package/src/{components → primitives}/ElevationProvider/index.ts +0 -0
  375. /package/src/{components → primitives}/ThemeProvider/TranslationsProvider.tsx +0 -0
@@ -0,0 +1,191 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import { densityDimensions, staticDisabled } from '@dxos/ui-theme';
6
+ import { getSize, getHeight, getWidth, mx, snapSize, sizeValue, textValence } from '@dxos/ui-theme';
7
+ import {
8
+ type ComponentFragment,
9
+ type ComponentFunction,
10
+ type Density,
11
+ type Elevation,
12
+ type MessageValence,
13
+ type Size,
14
+ } from '@dxos/ui-types';
15
+
16
+ import { inputTextLabel } from './constants';
17
+
18
+ export type InputStyleProps = Partial<{
19
+ variant: 'default' | 'subdued' | 'static';
20
+ density: Density;
21
+ disabled: boolean;
22
+ elevation: Elevation;
23
+ focused: boolean;
24
+ validationValence: MessageValence;
25
+ size: Size;
26
+ checked: boolean;
27
+ }>;
28
+
29
+ export type InputMetaStyleProps = Partial<{
30
+ srOnly: boolean;
31
+ validationValence: MessageValence;
32
+ }>;
33
+
34
+ const textInputSurfaceFocus =
35
+ 'transition-colors bg-input-surface focus:bg-focus-surface border border-separator focus:border-separator';
36
+
37
+ const textInputSurfaceHover = 'hover:bg-focus-surface';
38
+
39
+ const booleanInputSurface =
40
+ 'shadow-inner transition-colors bg-un-accent aria-checked:bg-accent-bg aria-[checked=mixed]:bg-accent-bg';
41
+
42
+ const booleanInputSurfaceHover =
43
+ 'hover:bg-un-accent-hover hover:aria-checked:bg-accent-bg-hover hover:aria-[checked=mixed]:bg-accent-bg-hover';
44
+
45
+ // TODO(burdon): Replace with semantic tokens.
46
+ const valence = (valence?: MessageValence) => {
47
+ switch (valence) {
48
+ case 'success':
49
+ return 'shadow-emerald-500/50 dark:shadow-emerald-600/50';
50
+ case 'info':
51
+ return 'shadow-cyan-500/50 dark:shadow-cyan-600/50';
52
+ case 'warning':
53
+ return 'shadow-amber-500/50 dark:shadow-amber-600/50';
54
+ case 'error':
55
+ return 'shadow-rose-500/50 dark:shadow-rose-600/50';
56
+ }
57
+ };
58
+
59
+ const sharedSubduedInputStyles: ComponentFragment<InputStyleProps> = (props) => [
60
+ '[[data-drag-autoscroll="active"]_&]:pointer-events-none',
61
+ 'py-0 w-full bg-transparent text-current placeholder-placeholder',
62
+ 'dx-focus-subdued',
63
+ densityDimensions(props.density),
64
+ props.disabled && staticDisabled,
65
+ ];
66
+
67
+ const sharedDefaultInputStyles: ComponentFragment<InputStyleProps> = (props) => [
68
+ '[[data-drag-autoscroll="active"]_&]:pointer-events-none',
69
+ 'py-0 w-full text-base-fg rounded-xs placeholder-placeholder',
70
+ textInputSurfaceFocus,
71
+ densityDimensions(props.density),
72
+ props.disabled ? staticDisabled : textInputSurfaceHover,
73
+ ];
74
+
75
+ const sharedStaticInputStyles: ComponentFragment<InputStyleProps> = (props) => [
76
+ '[[data-drag-autoscroll="active"]_&]:pointer-events-none',
77
+ 'py-0 w-full text-base-fg rounded-xs placeholder-placeholder',
78
+ textInputSurfaceFocus,
79
+ textInputSurfaceHover,
80
+ props.focused && 'bg-attention-surface',
81
+ valence(props.validationValence),
82
+ props.disabled && staticDisabled,
83
+ props.focused && 'dx-focus-static',
84
+ ];
85
+
86
+ const input: ComponentFunction<InputStyleProps> = (props, ...etc) =>
87
+ props.variant === 'subdued'
88
+ ? mx(...sharedSubduedInputStyles(props), ...etc)
89
+ : props.variant === 'static'
90
+ ? mx(...sharedStaticInputStyles(props), ...etc)
91
+ : mx(
92
+ ...sharedDefaultInputStyles(props),
93
+ !props.disabled && 'dx-focus-ring',
94
+ valence(props.validationValence),
95
+ ...etc,
96
+ );
97
+
98
+ const textArea: ComponentFunction<InputStyleProps> = (props, ...etc) => input(props, ...etc);
99
+
100
+ const checkbox: ComponentFunction<InputStyleProps> = ({ size = 5 }, ...etc) =>
101
+ mx('dx-checkbox dx-focus-ring', getSize(size), ...etc);
102
+
103
+ const checkboxIndicator: ComponentFunction<InputStyleProps> = ({ size = 5, checked }, ...etc) =>
104
+ mx(getSize(snapSize(sizeValue(size) * 0.65, 4)), !checked && 'invisible', ...etc);
105
+
106
+ const switchRoot: ComponentFunction<InputStyleProps> = ({ size = 5, disabled }, ...etc) =>
107
+ mx(
108
+ getHeight(size),
109
+ getWidth(snapSize(sizeValue(size) * 1.75, 9)),
110
+ booleanInputSurface,
111
+ !disabled && booleanInputSurfaceHover,
112
+ // TODO(burdon): Added m-1 margin to make 40px width to align with 40px icon button.
113
+ 'cursor-pointer shrink-0 rounded-full px-1 mx-1 relative',
114
+ 'dx-focus-ring',
115
+ ...etc,
116
+ );
117
+
118
+ const switchThumb: ComponentFunction<InputStyleProps> = ({ size = 5 }, ...etc) =>
119
+ mx(
120
+ getSize(size === 'px' ? 'px' : ((size - 2) as Size)),
121
+ 'block bg-white rounded-full transition-transform duration-100 will-change-transform data-[state=checked]:translate-x-[100%]',
122
+ ...etc,
123
+ );
124
+
125
+ const withSegmentsInput: ComponentFunction<InputStyleProps> = (props, ...etc) =>
126
+ mx(
127
+ 'font-mono selection:bg-transparent mx-auto',
128
+ props.density === 'lg'
129
+ ? 'text-lg'
130
+ : props.density === 'sm'
131
+ ? 'text-sm'
132
+ : props.density === 'xs'
133
+ ? 'text-xs'
134
+ : 'text-base pointer-fine:text-sm',
135
+ props.disabled && 'cursor-not-allowed',
136
+ ...etc,
137
+ );
138
+
139
+ const segment: ComponentFunction<InputStyleProps> = (props, ...etc) =>
140
+ mx(
141
+ 'flex items-center justify-center font-mono',
142
+ props.density === 'lg'
143
+ ? 'size-12 rounded-xs'
144
+ : props.density === 'sm'
145
+ ? 'size-7 rounded-xs'
146
+ : props.density === 'xs'
147
+ ? 'size-6 rounded-xs'
148
+ : 'size-10 pointer-fine:size-8 rounded-xs',
149
+ 'bg-input-surface text-base-fg transition-colors border border-separator',
150
+ 'data-[focused]:bg-attention-surface data-[focused]:border-focus-ring-subtle',
151
+ 'data-[focused]:ring-2 data-[focused]:ring-offset-0 data-[focused]:ring-focus-ring-subtle',
152
+ valence(props.validationValence),
153
+ props.disabled && staticDisabled,
154
+ ...etc,
155
+ );
156
+
157
+ const label: ComponentFunction<InputMetaStyleProps> = (props, ...etc) =>
158
+ mx('block', inputTextLabel, props.srOnly && 'sr-only', ...etc);
159
+
160
+ const description: ComponentFunction<InputMetaStyleProps> = (props, ...etc) =>
161
+ mx('text-description', props.srOnly && 'sr-only', ...etc);
162
+
163
+ const descriptionAndValidation: ComponentFunction<InputMetaStyleProps> = (props, ...etc) =>
164
+ mx('leading-none my-1.5', props.srOnly && 'sr-only', ...etc);
165
+
166
+ const validation: ComponentFunction<InputMetaStyleProps> = (props, ...etc) =>
167
+ mx(inputTextLabel, props.srOnly ? 'sr-only' : textValence(props.validationValence), ...etc);
168
+
169
+ const triggerIcon: ComponentFunction<{}> = (_p, ...etc) =>
170
+ mx(
171
+ 'shrink-0 inline-flex items-center justify-center size-7 rounded-xs',
172
+ 'bg-input-surface text-subdued hover:text-base-fg hover:bg-hover-surface',
173
+ 'dx-focus-ring',
174
+ ...etc,
175
+ );
176
+
177
+ export const inputTheme = {
178
+ input,
179
+ textArea,
180
+ inputWithSegments: withSegmentsInput,
181
+ segment,
182
+ checkbox,
183
+ checkboxIndicator,
184
+ label,
185
+ description,
186
+ switch: switchRoot,
187
+ switchThumb,
188
+ validation,
189
+ descriptionAndValidation,
190
+ triggerIcon,
191
+ };
@@ -4,7 +4,19 @@
4
4
 
5
5
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
6
6
  import { useControllableState } from '@radix-ui/react-use-controllable-state';
7
- import React, { type ComponentPropsWithRef, type ForwardRefExoticComponent, forwardRef } from 'react';
7
+ import React, {
8
+ type ComponentPropsWithRef,
9
+ type ForwardRefExoticComponent,
10
+ createContext,
11
+ forwardRef,
12
+ useCallback,
13
+ useContext,
14
+ useEffect,
15
+ useMemo,
16
+ useRef,
17
+ useState,
18
+ } from 'react';
19
+ import { useTranslation } from 'react-i18next';
8
20
 
9
21
  import {
10
22
  DescriptionAndValidation as DescriptionAndValidationPrimitive,
@@ -30,14 +42,127 @@ import {
30
42
  import { mx } from '@dxos/ui-theme';
31
43
  import { type Density, type Elevation, type Size } from '@dxos/ui-types';
32
44
 
45
+ import { translationKey } from '#translations';
46
+
33
47
  import { useDensityContext, useElevationContext, useThemeContext } from '../../hooks';
34
48
  import { type ThemedClassName } from '../../util';
49
+ import { IconButton, IconButtonProps } from '../Button';
35
50
  import { Icon } from '../Icon';
51
+ import {
52
+ SegmentedDate,
53
+ type SegmentedDateProps,
54
+ SegmentedDateTime,
55
+ type SegmentedDateTimeProps,
56
+ SegmentedTime,
57
+ type SegmentedTimeProps,
58
+ } from './SegmentedInput';
36
59
 
37
60
  type InputVariant = 'default' | 'subdued';
38
61
 
39
62
  type InputSharedProps = Partial<{ density: Density; elevation: Elevation; variant: InputVariant }>;
40
63
 
64
+ //
65
+ // Trigger context — lets a sibling `Input.TriggerIcon` open a picker registered by a field inside
66
+ // the same `Input.Root`. Each registered handler is keyed; the most recent registration wins.
67
+ //
68
+
69
+ type InputTriggerHandler = () => void;
70
+
71
+ type InputTriggerContextValue = {
72
+ registerTrigger: (handler: InputTriggerHandler) => () => void;
73
+ trigger: () => void;
74
+ hasTrigger: boolean;
75
+ };
76
+
77
+ const InputTriggerContext = createContext<InputTriggerContextValue | undefined>(undefined);
78
+
79
+ /**
80
+ * Field hook. Pass an opener function; while the field is mounted, an `Input.TriggerIcon`
81
+ * sibling will call this opener on press. Returns a no-op when used outside `Input.Root`.
82
+ */
83
+ const useInputTrigger = (handler: InputTriggerHandler | undefined) => {
84
+ const ctx = useContext(InputTriggerContext);
85
+ useEffect(() => {
86
+ if (!ctx || !handler) {
87
+ return;
88
+ }
89
+ return ctx.registerTrigger(handler);
90
+ }, [ctx, handler]);
91
+ };
92
+
93
+ //
94
+ // Root — wraps the @dxos/react-input primitive root with the trigger registry.
95
+ //
96
+
97
+ const Root = (props: InputRootProps) => {
98
+ const handlerRef = useRef<InputTriggerHandler | null>(null);
99
+ const [hasTrigger, setHasTrigger] = useState(false);
100
+
101
+ const registerTrigger = useCallback((handler: InputTriggerHandler) => {
102
+ handlerRef.current = handler;
103
+ setHasTrigger(true);
104
+ return () => {
105
+ if (handlerRef.current === handler) {
106
+ handlerRef.current = null;
107
+ setHasTrigger(false);
108
+ }
109
+ };
110
+ }, []);
111
+
112
+ const trigger = useCallback(() => {
113
+ handlerRef.current?.();
114
+ }, []);
115
+
116
+ const value = useMemo(() => ({ registerTrigger, trigger, hasTrigger }), [registerTrigger, trigger, hasTrigger]);
117
+
118
+ return (
119
+ <InputTriggerContext.Provider value={value}>
120
+ <InputRoot {...props} />
121
+ </InputTriggerContext.Provider>
122
+ );
123
+ };
124
+
125
+ Root.displayName = 'Input.Root';
126
+
127
+ //
128
+ // TriggerIcon — sibling button that opens the picker of the registered field. Renders nothing
129
+ // when no field in the surrounding `Input.Root` has registered an opener.
130
+ //
131
+
132
+ // `label` and `icon` have defaults below, so both are optional for callers (e.g. `<Input.TriggerIcon />`).
133
+ // `onClick` is reserved — the trigger always opens the registered picker.
134
+ type TriggerIconProps = Omit<IconButtonProps, 'label' | 'onClick'> & { label?: string };
135
+
136
+ const TriggerIcon = forwardRef<HTMLButtonElement, TriggerIconProps>(
137
+ ({ classNames, icon = 'ph--calendar--regular', 'aria-label': ariaLabel, label, ...props }, forwardedRef) => {
138
+ const { t } = useTranslation(translationKey);
139
+ const ctx = useContext(InputTriggerContext);
140
+ if (!ctx?.hasTrigger) {
141
+ return null;
142
+ }
143
+
144
+ return (
145
+ <IconButton
146
+ ref={forwardedRef}
147
+ variant='ghost'
148
+ icon={icon}
149
+ iconOnly
150
+ classNames={classNames}
151
+ aria-label={ariaLabel}
152
+ label={label ?? ariaLabel ?? t('trigger-button.label')}
153
+ {...props}
154
+ onClick={ctx.trigger}
155
+ />
156
+ );
157
+ },
158
+ );
159
+
160
+ TriggerIcon.displayName = 'Input.TriggerIcon';
161
+
162
+ //
163
+ // Label
164
+ //
165
+
41
166
  type LabelProps = ThemedClassName<LabelPrimitiveProps> & { srOnly?: boolean };
42
167
 
43
168
  const Label = forwardRef<HTMLLabelElement, LabelProps>(({ classNames, children, srOnly, ...props }, forwardedRef) => {
@@ -49,6 +174,12 @@ const Label = forwardRef<HTMLLabelElement, LabelProps>(({ classNames, children,
49
174
  );
50
175
  });
51
176
 
177
+ Label.displayName = 'Input.Label';
178
+
179
+ //
180
+ // Description
181
+ //
182
+
52
183
  type DescriptionProps = ThemedClassName<DescriptionPrimitiveProps> & { srOnly?: boolean };
53
184
 
54
185
  const Description = forwardRef<HTMLSpanElement, DescriptionProps>(
@@ -62,6 +193,12 @@ const Description = forwardRef<HTMLSpanElement, DescriptionProps>(
62
193
  },
63
194
  );
64
195
 
196
+ Description.displayName = 'Input.Description';
197
+
198
+ //
199
+ // Validation
200
+ //
201
+
65
202
  type ValidationProps = ThemedClassName<ValidationPrimitiveProps> & { srOnly?: boolean };
66
203
 
67
204
  const Validation = forwardRef<HTMLSpanElement, InputScopedProps<ValidationProps>>(
@@ -80,6 +217,12 @@ const Validation = forwardRef<HTMLSpanElement, InputScopedProps<ValidationProps>
80
217
  },
81
218
  );
82
219
 
220
+ Validation.displayName = 'Input.Validation';
221
+
222
+ //
223
+ // DescriptionAndValidation
224
+ //
225
+
83
226
  type DescriptionAndValidationProps = ThemedClassName<DescriptionAndValidationPrimitiveProps> & { srOnly?: boolean };
84
227
 
85
228
  const DescriptionAndValidation = forwardRef<HTMLParagraphElement, DescriptionAndValidationProps>(
@@ -97,6 +240,12 @@ const DescriptionAndValidation = forwardRef<HTMLParagraphElement, DescriptionAnd
97
240
  },
98
241
  );
99
242
 
243
+ DescriptionAndValidation.displayName = 'Input.DescriptionAndValidation';
244
+
245
+ //
246
+ // PinInput
247
+ //
248
+
100
249
  type PinInputProps = ThemedClassName<InputSharedProps & Omit<PinInputPrimitiveProps, 'className' | 'segmentClassName'>>;
101
250
 
102
251
  const PinInput = forwardRef<HTMLInputElement, PinInputProps>(
@@ -120,7 +269,12 @@ const PinInput = forwardRef<HTMLInputElement, PinInputProps>(
120
269
  },
121
270
  );
122
271
 
272
+ PinInput.displayName = 'Input.PinInput';
273
+
274
+ //
275
+ // TextInput
123
276
  // TODO(burdon): Implement inline icon within button: e.g., https://www.radix-ui.com/themes/playground#text-field
277
+ //
124
278
 
125
279
  type AutoFillProps = {
126
280
  noAutoFill?: boolean;
@@ -162,6 +316,30 @@ const TextInput = forwardRef<HTMLInputElement, InputScopedProps<TextInputProps>>
162
316
  },
163
317
  );
164
318
 
319
+ TextInput.displayName = 'Input.TextInput';
320
+
321
+ //
322
+ // Date / Time / DateTime — segmented react-aria-components fields with locale-aware ordering,
323
+ // spinbutton semantics, and immutable separators. ISO string API:
324
+ // - Date `YYYY-MM-DD`
325
+ // - Time `HH:mm`
326
+ // - DateTime `YYYY-MM-DDTHH:mm`
327
+ // Pair `Input.Date` or `Input.DateTime` with a sibling `Input.TriggerIcon` inside an
328
+ // `Input.Root` to expose a calendar popover; `Input.Time` has no picker.
329
+ //
330
+
331
+ const Time = SegmentedTime;
332
+ const Date_ = SegmentedDate;
333
+ const DateTime = SegmentedDateTime;
334
+
335
+ type TimeProps = SegmentedTimeProps;
336
+ type DateInputProps = SegmentedDateProps;
337
+ type DateTimeInputProps = SegmentedDateTimeProps;
338
+
339
+ //
340
+ // TextArea
341
+ //
342
+
165
343
  type TextAreaProps = InputSharedProps & ThemedClassName<TextAreaPrimitiveProps>;
166
344
 
167
345
  const TextArea = forwardRef<HTMLTextAreaElement, InputScopedProps<TextAreaProps>>(
@@ -193,6 +371,12 @@ const TextArea = forwardRef<HTMLTextAreaElement, InputScopedProps<TextAreaProps>
193
371
  },
194
372
  );
195
373
 
374
+ TextArea.displayName = 'Input.TextArea';
375
+
376
+ //
377
+ // Checkbox
378
+ //
379
+
196
380
  type CheckboxProps = ThemedClassName<Omit<CheckboxPrimitive.CheckboxProps, 'children'>> & {
197
381
  size?: Size;
198
382
  };
@@ -246,6 +430,12 @@ const Checkbox: ForwardRefExoticComponent<CheckboxProps> = forwardRef<
246
430
  },
247
431
  );
248
432
 
433
+ Checkbox.displayName = 'Input.Checkbox';
434
+
435
+ //
436
+ // Switch
437
+ //
438
+
249
439
  type SwitchProps = ThemedClassName<
250
440
  Omit<ComponentPropsWithRef<'input'>, 'children' | 'onChange'> & { onCheckedChange?: (checked: boolean) => void }
251
441
  >;
@@ -291,11 +481,21 @@ const Switch = forwardRef<HTMLInputElement, InputScopedProps<SwitchProps>>(
291
481
  },
292
482
  );
293
483
 
484
+ Switch.displayName = 'Input.Switch';
485
+
486
+ //
487
+ // Input
488
+ //
489
+
294
490
  export const Input = {
295
- Root: InputRoot,
491
+ Root,
492
+ TriggerIcon,
296
493
  PinInput,
297
494
  TextInput,
298
495
  TextArea,
496
+ Time,
497
+ Date: Date_,
498
+ DateTime,
299
499
  Checkbox,
300
500
  Switch,
301
501
  Label,
@@ -304,6 +504,8 @@ export const Input = {
304
504
  DescriptionAndValidation,
305
505
  };
306
506
 
507
+ export { useInputTrigger };
508
+
307
509
  export type {
308
510
  InputVariant,
309
511
  InputRootProps,
@@ -311,6 +513,9 @@ export type {
311
513
  PinInputProps,
312
514
  TextInputProps,
313
515
  TextAreaProps,
516
+ TimeProps,
517
+ DateInputProps,
518
+ DateTimeInputProps,
314
519
  CheckboxProps,
315
520
  SwitchProps,
316
521
  LabelProps,