@exsto/ds 0.0.1-rc.2 → 0.0.1-rc.22

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 (346) hide show
  1. package/README.md +171 -28
  2. package/dist/date-picker.js +2 -0
  3. package/dist/ds/src/date-picker.d.ts +9 -0
  4. package/dist/ds/src/file-input.d.ts +9 -0
  5. package/dist/ds/src/index.d.ts +2 -3
  6. package/dist/ds/src/rich-text-editor.d.ts +8 -0
  7. package/dist/ds/src/time-field.d.ts +9 -0
  8. package/dist/file-input.js +2 -0
  9. package/dist/index.js +79 -2
  10. package/dist/rich-text-editor.js +4 -0
  11. package/dist/source-hash.txt +1 -0
  12. package/dist/styles.css +1201 -404
  13. package/dist/theme.css +125 -7
  14. package/dist/time-field.js +2 -0
  15. package/dist/ui/src/components/edyn/animated-number/animated-number.d.ts +30 -0
  16. package/dist/ui/src/components/edyn/animated-number/animated-number.js +108 -0
  17. package/dist/ui/src/components/edyn/animated-number/animated-number.js.map +1 -0
  18. package/dist/ui/src/components/edyn/animated-number/animated-number.test.d.ts +9 -0
  19. package/dist/ui/src/components/edyn/animated-number/index.d.ts +1 -0
  20. package/dist/ui/src/components/edyn/audio-player/audio-player.d.ts +3 -2
  21. package/dist/ui/src/components/edyn/audio-player/audio-player.js +86 -0
  22. package/dist/ui/src/components/edyn/audio-player/audio-player.js.map +1 -0
  23. package/dist/ui/src/components/edyn/date-picker/date-picker.d.ts +86 -0
  24. package/dist/ui/src/components/edyn/date-picker/date-picker.js +302 -0
  25. package/dist/ui/src/components/edyn/date-picker/date-picker.js.map +1 -0
  26. package/dist/ui/src/components/edyn/date-picker/date-picker.state.test.d.ts +9 -0
  27. package/dist/ui/src/components/edyn/date-picker/date-text.d.ts +40 -0
  28. package/dist/ui/src/components/edyn/date-picker/date-text.js +105 -0
  29. package/dist/ui/src/components/edyn/date-picker/date-text.js.map +1 -0
  30. package/dist/ui/src/components/edyn/date-picker/index.d.ts +2 -0
  31. package/dist/ui/src/components/edyn/date-range-picker/date-range-picker.d.ts +28 -0
  32. package/dist/ui/src/components/edyn/date-range-picker/date-range-picker.js +70 -0
  33. package/dist/ui/src/components/edyn/date-range-picker/date-range-picker.js.map +1 -0
  34. package/dist/ui/src/components/edyn/date-range-picker/date-range-picker.test.d.ts +9 -0
  35. package/dist/ui/src/components/edyn/date-range-picker/index.d.ts +1 -0
  36. package/dist/ui/src/components/edyn/file-input/file-input.d.ts +90 -0
  37. package/dist/ui/src/components/edyn/file-input/file-input.js +261 -0
  38. package/dist/ui/src/components/edyn/file-input/file-input.js.map +1 -0
  39. package/dist/ui/src/components/edyn/file-input/file-input.test.d.ts +8 -0
  40. package/dist/ui/src/components/edyn/file-input/index.d.ts +1 -0
  41. package/dist/ui/src/components/edyn/initials-avatar/index.d.ts +1 -0
  42. package/dist/ui/src/components/edyn/initials-avatar/initials-avatar.d.ts +54 -0
  43. package/dist/ui/src/components/edyn/initials-avatar/initials-avatar.js +86 -0
  44. package/dist/ui/src/components/edyn/initials-avatar/initials-avatar.js.map +1 -0
  45. package/dist/ui/src/components/edyn/initials-avatar/initials-avatar.test.d.ts +10 -0
  46. package/dist/ui/src/components/edyn/multi-select/index.d.ts +1 -0
  47. package/dist/ui/src/components/edyn/multi-select/multi-select.d.ts +117 -0
  48. package/dist/ui/src/components/edyn/multi-select/multi-select.js +342 -0
  49. package/dist/ui/src/components/edyn/multi-select/multi-select.js.map +1 -0
  50. package/dist/ui/src/components/edyn/multi-select/multi-select.test.d.ts +9 -0
  51. package/dist/ui/src/components/edyn/presence/index.d.ts +1 -0
  52. package/dist/ui/src/components/edyn/presence/presence.d.ts +15 -0
  53. package/dist/ui/src/components/edyn/presence/presence.js +58 -0
  54. package/dist/ui/src/components/edyn/presence/presence.js.map +1 -0
  55. package/dist/ui/src/components/edyn/presence/presence.test.d.ts +8 -0
  56. package/dist/ui/src/components/edyn/progress-line/index.d.ts +1 -0
  57. package/dist/ui/src/components/edyn/progress-line/progress-line.d.ts +23 -0
  58. package/dist/ui/src/components/edyn/progress-line/progress-line.js +100 -0
  59. package/dist/ui/src/components/edyn/progress-line/progress-line.js.map +1 -0
  60. package/dist/ui/src/components/edyn/progress-line/progress-line.test.d.ts +9 -0
  61. package/dist/ui/src/components/edyn/rich-text-content/allow-list.d.ts +11 -0
  62. package/dist/ui/src/components/edyn/rich-text-content/allow-list.js +37 -0
  63. package/dist/ui/src/components/edyn/rich-text-content/allow-list.js.map +1 -0
  64. package/dist/ui/src/components/edyn/rich-text-content/index.d.ts +2 -0
  65. package/dist/ui/src/components/edyn/rich-text-content/rich-text-content.d.ts +22 -0
  66. package/dist/ui/src/components/edyn/rich-text-content/rich-text-content.js +124 -0
  67. package/dist/ui/src/components/edyn/rich-text-content/rich-text-content.js.map +1 -0
  68. package/dist/ui/src/components/edyn/rich-text-content/rich-text-content.test.d.ts +8 -0
  69. package/dist/ui/src/components/edyn/rich-text-editor/extensions.d.ts +18 -0
  70. package/dist/ui/src/components/edyn/rich-text-editor/extensions.js +124 -0
  71. package/dist/ui/src/components/edyn/rich-text-editor/extensions.js.map +1 -0
  72. package/dist/ui/src/components/edyn/rich-text-editor/index.d.ts +3 -0
  73. package/dist/ui/src/components/edyn/rich-text-editor/mention-list.d.ts +17 -0
  74. package/dist/ui/src/components/edyn/rich-text-editor/mention-list.js +232 -0
  75. package/dist/ui/src/components/edyn/rich-text-editor/mention-list.js.map +1 -0
  76. package/dist/ui/src/components/edyn/rich-text-editor/rich-text-editor.d.ts +53 -0
  77. package/dist/ui/src/components/edyn/rich-text-editor/rich-text-editor.js +244 -0
  78. package/dist/ui/src/components/edyn/rich-text-editor/rich-text-editor.js.map +1 -0
  79. package/dist/ui/src/components/edyn/rich-text-editor/rich-text-editor.test.d.ts +6 -0
  80. package/dist/ui/src/components/edyn/rich-text-editor/serialize.d.ts +13 -0
  81. package/dist/ui/src/components/edyn/rich-text-editor/serialize.js +55 -0
  82. package/dist/ui/src/components/edyn/rich-text-editor/serialize.js.map +1 -0
  83. package/dist/ui/src/components/edyn/rich-text-editor/sync.d.ts +19 -0
  84. package/dist/ui/src/components/edyn/rich-text-editor/sync.js +34 -0
  85. package/dist/ui/src/components/edyn/rich-text-editor/sync.js.map +1 -0
  86. package/dist/ui/src/components/edyn/rich-text-editor/sync.test.d.ts +11 -0
  87. package/dist/ui/src/components/edyn/rich-text-editor/toolbar.d.ts +20 -0
  88. package/dist/ui/src/components/edyn/rich-text-editor/toolbar.js +235 -0
  89. package/dist/ui/src/components/edyn/rich-text-editor/toolbar.js.map +1 -0
  90. package/dist/ui/src/components/edyn/rich-text-editor/types.d.ts +68 -0
  91. package/dist/ui/src/components/edyn/rich-text-editor/types.js +26 -0
  92. package/dist/ui/src/components/edyn/rich-text-editor/types.js.map +1 -0
  93. package/dist/ui/src/components/edyn/time-field/index.d.ts +1 -0
  94. package/dist/ui/src/components/edyn/time-field/time-field.d.ts +85 -0
  95. package/dist/ui/src/components/edyn/time-field/time-field.js +337 -0
  96. package/dist/ui/src/components/edyn/time-field/time-field.js.map +1 -0
  97. package/dist/ui/src/components/edyn/time-field/time-field.test.d.ts +8 -0
  98. package/dist/ui/src/components/edyn/video-player/video-player.d.ts +2 -2
  99. package/dist/ui/src/components/edyn/video-player/video-player.js +132 -0
  100. package/dist/ui/src/components/edyn/video-player/video-player.js.map +1 -0
  101. package/dist/ui/src/components/forwarded-props.test.d.ts +8 -0
  102. package/dist/ui/src/components/ui/accordion/accordion.d.ts +9 -8
  103. package/dist/ui/src/components/ui/accordion/accordion.js +83 -0
  104. package/dist/ui/src/components/ui/accordion/accordion.js.map +1 -0
  105. package/dist/ui/src/components/ui/alert/alert.js +47 -0
  106. package/dist/ui/src/components/ui/alert/alert.js.map +1 -0
  107. package/dist/ui/src/components/ui/alert-dialog/alert-dialog.js +97 -0
  108. package/dist/ui/src/components/ui/alert-dialog/alert-dialog.js.map +1 -0
  109. package/dist/ui/src/components/ui/aspect-ratio/aspect-ratio.js +15 -0
  110. package/dist/ui/src/components/ui/aspect-ratio/aspect-ratio.js.map +1 -0
  111. package/dist/ui/src/components/ui/attachment/attachment.d.ts +1 -1
  112. package/dist/ui/src/components/ui/attachment/attachment.js +105 -0
  113. package/dist/ui/src/components/ui/attachment/attachment.js.map +1 -0
  114. package/dist/ui/src/components/ui/avatar/avatar.js +51 -0
  115. package/dist/ui/src/components/ui/avatar/avatar.js.map +1 -0
  116. package/dist/ui/src/components/ui/badge/badge.d.ts +1 -1
  117. package/dist/ui/src/components/ui/badge/badge.js +47 -0
  118. package/dist/ui/src/components/ui/badge/badge.js.map +1 -0
  119. package/dist/ui/src/components/ui/breadcrumb/breadcrumb.js +73 -0
  120. package/dist/ui/src/components/ui/breadcrumb/breadcrumb.js.map +1 -0
  121. package/dist/ui/src/components/ui/bubble/bubble.js +74 -0
  122. package/dist/ui/src/components/ui/bubble/bubble.js.map +1 -0
  123. package/dist/ui/src/components/ui/button/button.behavior.test.d.ts +8 -0
  124. package/dist/ui/src/components/ui/button/button.d.ts +1 -1
  125. package/dist/ui/src/components/ui/button/button.js +68 -0
  126. package/dist/ui/src/components/ui/button/button.js.map +1 -0
  127. package/dist/ui/src/components/ui/button-group/button-group.js +37 -0
  128. package/dist/ui/src/components/ui/button-group/button-group.js.map +1 -0
  129. package/dist/ui/src/components/ui/calendar/calendar.behavior.test.d.ts +9 -0
  130. package/dist/ui/src/components/ui/calendar/calendar.d.ts +1 -1
  131. package/dist/ui/src/components/ui/calendar/calendar.js +141 -0
  132. package/dist/ui/src/components/ui/calendar/calendar.js.map +1 -0
  133. package/dist/ui/src/components/ui/card/card.js +57 -0
  134. package/dist/ui/src/components/ui/card/card.js.map +1 -0
  135. package/dist/ui/src/components/ui/carousel/carousel.js +136 -0
  136. package/dist/ui/src/components/ui/carousel/carousel.js.map +1 -0
  137. package/dist/ui/src/components/ui/chart/chart.js +168 -0
  138. package/dist/ui/src/components/ui/chart/chart.js.map +1 -0
  139. package/dist/ui/src/components/ui/checkbox/checkbox.js +21 -0
  140. package/dist/ui/src/components/ui/checkbox/checkbox.js.map +1 -0
  141. package/dist/ui/src/components/ui/collapsible/collapsible.js +26 -0
  142. package/dist/ui/src/components/ui/collapsible/collapsible.js.map +1 -0
  143. package/dist/ui/src/components/ui/combobox/combobox.d.ts +15 -1
  144. package/dist/ui/src/components/ui/combobox/combobox.js +111 -0
  145. package/dist/ui/src/components/ui/combobox/combobox.js.map +1 -0
  146. package/dist/ui/src/components/ui/command/command.d.ts +17 -1
  147. package/dist/ui/src/components/ui/command/command.js +118 -0
  148. package/dist/ui/src/components/ui/command/command.js.map +1 -0
  149. package/dist/ui/src/components/ui/context-menu/context-menu.d.ts +1 -1
  150. package/dist/ui/src/components/ui/context-menu/context-menu.js +145 -0
  151. package/dist/ui/src/components/ui/context-menu/context-menu.js.map +1 -0
  152. package/dist/ui/src/components/ui/dialog/dialog.js +94 -0
  153. package/dist/ui/src/components/ui/dialog/dialog.js.map +1 -0
  154. package/dist/ui/src/components/ui/direction/direction.js +2 -0
  155. package/dist/ui/src/components/ui/drawer/drawer.js +88 -0
  156. package/dist/ui/src/components/ui/drawer/drawer.js.map +1 -0
  157. package/dist/ui/src/components/ui/dropdown-menu/dropdown-menu.d.ts +12 -1
  158. package/dist/ui/src/components/ui/dropdown-menu/dropdown-menu.js +159 -0
  159. package/dist/ui/src/components/ui/dropdown-menu/dropdown-menu.js.map +1 -0
  160. package/dist/ui/src/components/ui/empty/empty.d.ts +5 -1
  161. package/dist/ui/src/components/ui/empty/empty.js +72 -0
  162. package/dist/ui/src/components/ui/empty/empty.js.map +1 -0
  163. package/dist/ui/src/components/ui/field/field.js +36 -0
  164. package/dist/ui/src/components/ui/field/field.js.map +1 -0
  165. package/dist/ui/src/components/ui/hover-card/hover-card.js +39 -0
  166. package/dist/ui/src/components/ui/hover-card/hover-card.js.map +1 -0
  167. package/dist/ui/src/components/ui/indicator/indicator.js +79 -0
  168. package/dist/ui/src/components/ui/indicator/indicator.js.map +1 -0
  169. package/dist/ui/src/components/ui/input/input.js +16 -0
  170. package/dist/ui/src/components/ui/input/input.js.map +1 -0
  171. package/dist/ui/src/components/ui/input-group/input-group.d.ts +1 -1
  172. package/dist/ui/src/components/ui/input-group/input-group.js +77 -0
  173. package/dist/ui/src/components/ui/input-group/input-group.js.map +1 -0
  174. package/dist/ui/src/components/ui/input-otp/input-otp.js +48 -0
  175. package/dist/ui/src/components/ui/input-otp/input-otp.js.map +1 -0
  176. package/dist/ui/src/components/ui/item/item.d.ts +1 -1
  177. package/dist/ui/src/components/ui/item/item.js +122 -0
  178. package/dist/ui/src/components/ui/item/item.js.map +1 -0
  179. package/dist/ui/src/components/ui/kbd/kbd.js +21 -0
  180. package/dist/ui/src/components/ui/kbd/kbd.js.map +1 -0
  181. package/dist/ui/src/components/ui/label/label.js +14 -0
  182. package/dist/ui/src/components/ui/label/label.js.map +1 -0
  183. package/dist/ui/src/components/ui/marker/marker.js +44 -0
  184. package/dist/ui/src/components/ui/marker/marker.js.map +1 -0
  185. package/dist/ui/src/components/ui/menubar/menubar.js +140 -0
  186. package/dist/ui/src/components/ui/menubar/menubar.js.map +1 -0
  187. package/dist/ui/src/components/ui/message/message.js +50 -0
  188. package/dist/ui/src/components/ui/message/message.js.map +1 -0
  189. package/dist/ui/src/components/ui/message-scroller/message-scroller.js +61 -0
  190. package/dist/ui/src/components/ui/message-scroller/message-scroller.js.map +1 -0
  191. package/dist/ui/src/components/ui/native-select/native-select.js +39 -0
  192. package/dist/ui/src/components/ui/native-select/native-select.js.map +1 -0
  193. package/dist/ui/src/components/ui/navigation-menu/navigation-menu.js +87 -0
  194. package/dist/ui/src/components/ui/navigation-menu/navigation-menu.js.map +1 -0
  195. package/dist/ui/src/components/ui/pagination/pagination.d.ts +3 -2
  196. package/dist/ui/src/components/ui/pagination/pagination.js +104 -0
  197. package/dist/ui/src/components/ui/pagination/pagination.js.map +1 -0
  198. package/dist/ui/src/components/ui/popover/popover.d.ts +1 -1
  199. package/dist/ui/src/components/ui/popover/popover.js +59 -0
  200. package/dist/ui/src/components/ui/popover/popover.js.map +1 -0
  201. package/dist/ui/src/components/ui/progress/progress.behavior.test.d.ts +8 -0
  202. package/dist/ui/src/components/ui/progress/progress.d.ts +43 -1
  203. package/dist/ui/src/components/ui/progress/progress.js +70 -0
  204. package/dist/ui/src/components/ui/progress/progress.js.map +1 -0
  205. package/dist/ui/src/components/ui/questionnaire/questionnaire.js +171 -0
  206. package/dist/ui/src/components/ui/questionnaire/questionnaire.js.map +1 -0
  207. package/dist/ui/src/components/ui/radio-group/radio-group.js +29 -0
  208. package/dist/ui/src/components/ui/radio-group/radio-group.js.map +1 -0
  209. package/dist/ui/src/components/ui/resizable/resizable.js +29 -0
  210. package/dist/ui/src/components/ui/resizable/resizable.js.map +1 -0
  211. package/dist/ui/src/components/ui/scroll-area/index.d.ts +1 -0
  212. package/dist/ui/src/components/ui/scroll-area/popup-list-scroll.d.ts +13 -0
  213. package/dist/ui/src/components/ui/scroll-area/popup-list-scroll.js +69 -0
  214. package/dist/ui/src/components/ui/scroll-area/popup-list-scroll.js.map +1 -0
  215. package/dist/ui/src/components/ui/scroll-area/scroll-area.behavior.test.d.ts +12 -0
  216. package/dist/ui/src/components/ui/scroll-area/scroll-area.d.ts +57 -6
  217. package/dist/ui/src/components/ui/scroll-area/scroll-area.js +125 -0
  218. package/dist/ui/src/components/ui/scroll-area/scroll-area.js.map +1 -0
  219. package/dist/ui/src/components/ui/select/select.js +97 -0
  220. package/dist/ui/src/components/ui/select/select.js.map +1 -0
  221. package/dist/ui/src/components/ui/separator/separator.behavior.test.d.ts +14 -0
  222. package/dist/ui/src/components/ui/separator/separator.d.ts +14 -0
  223. package/dist/ui/src/components/ui/separator/separator.js +30 -0
  224. package/dist/ui/src/components/ui/separator/separator.js.map +1 -0
  225. package/dist/ui/src/components/ui/sheet/sheet.d.ts +8 -0
  226. package/dist/ui/src/components/ui/sheet/sheet.js +99 -0
  227. package/dist/ui/src/components/ui/sheet/sheet.js.map +1 -0
  228. package/dist/ui/src/components/ui/sidebar/sidebar.js +383 -0
  229. package/dist/ui/src/components/ui/sidebar/sidebar.js.map +1 -0
  230. package/dist/ui/src/components/ui/skeleton/skeleton.js +14 -0
  231. package/dist/ui/src/components/ui/skeleton/skeleton.js.map +1 -0
  232. package/dist/ui/src/components/ui/slider/slider.js +49 -0
  233. package/dist/ui/src/components/ui/slider/slider.js.map +1 -0
  234. package/dist/ui/src/components/ui/spinner/spinner.js +28 -0
  235. package/dist/ui/src/components/ui/spinner/spinner.js.map +1 -0
  236. package/dist/ui/src/components/ui/switch/switch.js +20 -0
  237. package/dist/ui/src/components/ui/switch/switch.js.map +1 -0
  238. package/dist/ui/src/components/ui/table/table.behavior.test.d.ts +4 -5
  239. package/dist/ui/src/components/ui/table/table.d.ts +15 -1
  240. package/dist/ui/src/components/ui/table/table.js +81 -0
  241. package/dist/ui/src/components/ui/table/table.js.map +1 -0
  242. package/dist/ui/src/components/ui/tabs/tabs.d.ts +14 -8
  243. package/dist/ui/src/components/ui/tabs/tabs.js +115 -0
  244. package/dist/ui/src/components/ui/tabs/tabs.js.map +1 -0
  245. package/dist/ui/src/components/ui/textarea/textarea.js +14 -0
  246. package/dist/ui/src/components/ui/textarea/textarea.js.map +1 -0
  247. package/dist/ui/src/components/ui/toast/toast.js +124 -0
  248. package/dist/ui/src/components/ui/toast/toast.js.map +1 -0
  249. package/dist/ui/src/components/ui/toggle/toggle.js +37 -0
  250. package/dist/ui/src/components/ui/toggle/toggle.js.map +1 -0
  251. package/dist/ui/src/components/ui/toggle-group/toggle-group.js +56 -0
  252. package/dist/ui/src/components/ui/toggle-group/toggle-group.js.map +1 -0
  253. package/dist/ui/src/components/ui/tooltip/tooltip.js +43 -0
  254. package/dist/ui/src/components/ui/tooltip/tooltip.js.map +1 -0
  255. package/dist/ui/src/hooks/use-holds-focusable.d.ts +3 -0
  256. package/dist/ui/src/hooks/use-holds-focusable.js +33 -0
  257. package/dist/ui/src/hooks/use-holds-focusable.js.map +1 -0
  258. package/dist/ui/src/hooks/use-media-player.js +140 -0
  259. package/dist/ui/src/hooks/use-media-player.js.map +1 -0
  260. package/dist/ui/src/hooks/use-merged-refs.js +18 -0
  261. package/dist/ui/src/hooks/use-merged-refs.js.map +1 -0
  262. package/dist/ui/src/hooks/use-mobile.js +20 -0
  263. package/dist/ui/src/hooks/use-mobile.js.map +1 -0
  264. package/dist/ui/src/index.d.ts +8 -0
  265. package/dist/ui/src/lib/first-weekday.d.ts +6 -0
  266. package/dist/ui/src/lib/first-weekday.js +34 -0
  267. package/dist/ui/src/lib/first-weekday.js.map +1 -0
  268. package/dist/ui/src/lib/focus-guards.d.ts +2 -0
  269. package/dist/ui/src/lib/focus-guards.js +44 -0
  270. package/dist/ui/src/lib/focus-guards.js.map +1 -0
  271. package/dist/ui/src/lib/focus-ring.test.d.ts +8 -0
  272. package/dist/ui/src/lib/popup-list.d.ts +75 -0
  273. package/dist/ui/src/lib/popup-list.js +48 -0
  274. package/dist/ui/src/lib/popup-list.js.map +1 -0
  275. package/dist/ui/src/lib/popup-list.test.d.ts +10 -0
  276. package/dist/ui/src/lib/utils.js +21 -0
  277. package/dist/ui/src/lib/utils.js.map +1 -0
  278. package/package.json +36 -8
  279. package/dist/chunks/toggle-group-ByNq8g7H.js +0 -4263
  280. package/dist/chunks/toggle-group-ByNq8g7H.js.map +0 -1
  281. package/dist/dom/src/context.d.ts +0 -34
  282. package/dist/dom/src/define-element.d.ts +0 -11
  283. package/dist/dom/src/field-control.d.ts +0 -5
  284. package/dist/dom/src/index.d.ts +0 -6
  285. package/dist/dom/src/mode.d.ts +0 -8
  286. package/dist/dom/src/styles.d.ts +0 -6
  287. package/dist/dom/src/theme-state.d.ts +0 -1
  288. package/dist/dom/src/types.d.ts +0 -65
  289. package/dist/ds/src/elements.d.ts +0 -12
  290. package/dist/elements/src/edx-accordion.d.ts +0 -14
  291. package/dist/elements/src/edx-accordion.test.d.ts +0 -1
  292. package/dist/elements/src/edx-alert.d.ts +0 -14
  293. package/dist/elements/src/edx-audio-player.d.ts +0 -11
  294. package/dist/elements/src/edx-avatar.d.ts +0 -10
  295. package/dist/elements/src/edx-badge.d.ts +0 -12
  296. package/dist/elements/src/edx-breadcrumb.d.ts +0 -11
  297. package/dist/elements/src/edx-button-group.d.ts +0 -7
  298. package/dist/elements/src/edx-button.d.ts +0 -20
  299. package/dist/elements/src/edx-calendar.d.ts +0 -21
  300. package/dist/elements/src/edx-card.d.ts +0 -8
  301. package/dist/elements/src/edx-checkbox.d.ts +0 -18
  302. package/dist/elements/src/edx-combobox.d.ts +0 -28
  303. package/dist/elements/src/edx-content-components.d.ts +0 -2
  304. package/dist/elements/src/edx-dialog.d.ts +0 -20
  305. package/dist/elements/src/edx-drawer.d.ts +0 -21
  306. package/dist/elements/src/edx-dropdown-menu.d.ts +0 -29
  307. package/dist/elements/src/edx-field.d.ts +0 -9
  308. package/dist/elements/src/edx-field.test.d.ts +0 -1
  309. package/dist/elements/src/edx-indicator.d.ts +0 -14
  310. package/dist/elements/src/edx-input-group.d.ts +0 -32
  311. package/dist/elements/src/edx-input-otp.d.ts +0 -19
  312. package/dist/elements/src/edx-input.d.ts +0 -31
  313. package/dist/elements/src/edx-interactive-components.d.ts +0 -2
  314. package/dist/elements/src/edx-label.d.ts +0 -6
  315. package/dist/elements/src/edx-pagination.d.ts +0 -8
  316. package/dist/elements/src/edx-popover.d.ts +0 -24
  317. package/dist/elements/src/edx-progress.d.ts +0 -10
  318. package/dist/elements/src/edx-radio-group.d.ts +0 -22
  319. package/dist/elements/src/edx-radio-group.test.d.ts +0 -1
  320. package/dist/elements/src/edx-scroll-area.d.ts +0 -15
  321. package/dist/elements/src/edx-scroll-area.test.d.ts +0 -1
  322. package/dist/elements/src/edx-select.d.ts +0 -34
  323. package/dist/elements/src/edx-separator.d.ts +0 -10
  324. package/dist/elements/src/edx-skeleton.d.ts +0 -8
  325. package/dist/elements/src/edx-slider.d.ts +0 -17
  326. package/dist/elements/src/edx-slider.test.d.ts +0 -1
  327. package/dist/elements/src/edx-switch.d.ts +0 -18
  328. package/dist/elements/src/edx-table.d.ts +0 -13
  329. package/dist/elements/src/edx-table.test.d.ts +0 -1
  330. package/dist/elements/src/edx-tabs.d.ts +0 -15
  331. package/dist/elements/src/edx-tabs.test.d.ts +0 -1
  332. package/dist/elements/src/edx-textarea.d.ts +0 -25
  333. package/dist/elements/src/edx-toggle-group.d.ts +0 -27
  334. package/dist/elements/src/edx-toggle-group.test.d.ts +0 -1
  335. package/dist/elements/src/edx-toggle.d.ts +0 -18
  336. package/dist/elements/src/edx-tooltip.d.ts +0 -28
  337. package/dist/elements/src/edx-video-player.d.ts +0 -16
  338. package/dist/elements/src/field-control-bridge.d.ts +0 -7
  339. package/dist/elements/src/index.d.ts +0 -14
  340. package/dist/elements/src/projected-content.test.d.ts +0 -1
  341. package/dist/elements/src/registry.d.ts +0 -39
  342. package/dist/elements/src/registry.test.d.ts +0 -1
  343. package/dist/elements.js +0 -4020
  344. package/dist/elements.js.map +0 -1
  345. /package/dist/{dom/src/define-element.test.d.ts → ui/src/components/edyn/date-picker/date-text.test.d.ts} +0 -0
  346. /package/dist/{dom/src/native-slot.test.d.ts → ui/src/lib/first-weekday.test.d.ts} +0 -0
package/README.md CHANGED
@@ -1,7 +1,6 @@
1
1
  # @exsto/ds
2
2
 
3
- The eDynamix design system: React components, design tokens, and optional web
4
- components.
3
+ The eDynamix design system: React components and design tokens.
5
4
 
6
5
  ## Install
7
6
 
@@ -38,14 +37,28 @@ markup, import the token layer as well and let your Tailwind build generate the
38
37
  whole vocabulary:
39
38
 
40
39
  ```css
40
+ @import "@exsto/ds/styles.css";
41
41
  @import "tailwindcss";
42
42
  @import "@exsto/ds/theme.css";
43
- @import "@exsto/ds/styles.css";
44
43
  ```
45
44
 
46
- `theme.css` is uncompiled on purpose: it carries the tokens, the `.dark` scope
47
- and the `@theme` mapping Tailwind needs to turn them into utilities. Do not copy
48
- that block into your app, or it will drift from the design system.
45
+ **The order matters, and `styles.css` has to come first.** It is a compiled
46
+ Tailwind build, so its utilities land in the same cascade layer as yours, and at
47
+ equal specificity the later rule wins. Import it after your Tailwind entry and
48
+ its unconditional `.hidden` beats your `.md:table-cell`: responsive columns
49
+ vanish, widths collapse. Library CSS before app CSS, as with any CSS dependency.
50
+
51
+ Nothing else is needed. `theme.css` also points your build at the components'
52
+ shipped code, so your build emits their classes too, each responsive variant
53
+ after its own base. That is what keeps a design system class such as the
54
+ sidebar's `hidden md:block` working when your own markup uses `hidden` as well:
55
+ one build decides the order for both sides. Earlier releases needed a
56
+ `@source` line in the app to get this, and that line can be removed.
57
+
58
+ `theme.css` is uncompiled on purpose. It carries the tokens, the `.dark` scope,
59
+ the brand layer (Inter, `text-2xs`) and the `@theme` mapping Tailwind needs to
60
+ turn them into utilities. Do not copy that block into your app, or it will drift
61
+ from the design system.
49
62
 
50
63
  Without it some token utilities still work, because our components happen to use
51
64
  them, but the coverage is incidental: roughly half of `bg-*` and nearly every
@@ -62,40 +75,170 @@ query, so a subtree can be dark inside a light page.
62
75
  </div>
63
76
  ```
64
77
 
65
- ## Web components
78
+ ## Entry points
79
+
80
+ | Import | What it is |
81
+ |---|---|
82
+ | `@exsto/ds` | React components |
83
+ | `@exsto/ds/date-picker` | The DatePicker (one day, typed or picked), on its own entry so the main one stays inside its size budget |
84
+ | `@exsto/ds/time-field` | The TimeField (a time of day typed in segments), on its own entry for the same reason |
85
+ | `@exsto/ds/file-input` | The FileInput (files picked or dropped, listed and removable), on its own entry for the same reason |
86
+ | `@exsto/ds/rich-text-editor` | The rich-text editor, on its own entry so its engine loads only where it is used |
87
+ | `@exsto/ds/styles.css` | Precompiled tokens and component styles |
88
+ | `@exsto/ds/theme.css` | Uncompiled tokens, brand layer, and the Tailwind `@theme` mapping |
89
+
90
+ ## Rich text
91
+
92
+ `RichTextEditor` is a small rich-text field: paragraphs, bold, italic, underline, bulleted and numbered lists, links and a horizontal line, with optional `@mentions` that your app searches. It lives on its own entry because it carries an editor engine (about 138 KB gzipped); an app that never imports it never pays for it.
93
+
94
+ ```tsx
95
+ import { RichTextContent } from '@exsto/ds';
96
+ import { RichTextEditor } from '@exsto/ds/rich-text-editor';
97
+
98
+ <RichTextEditor
99
+ aria-label="Comment"
100
+ value={html}
101
+ onChange={setHtml} // "" when there is no text
102
+ minRows={3}
103
+ mention={{ search: async (query, { page, signal }) => fetchPeople(query, page, signal) }}
104
+ />;
105
+
106
+ <RichTextContent html={savedHtml} />;
107
+ ```
108
+
109
+ The value is HTML. **The editor emits only these elements and attributes**, whatever is typed or pasted (anything else is dropped on paste and on load, keeping its text), so a server allow-list can be exactly this; the same lists are exported as `RICH_TEXT_ELEMENTS`, `RICH_TEXT_ATTRIBUTES` and `RICH_TEXT_LINK_PROTOCOLS`:
110
+
111
+ | Element | Attributes |
112
+ |---|---|
113
+ | `p`, `br`, `hr`, `strong`, `em`, `u`, `ul`, `ol`, `li` | none (no `class`, no `style`) |
114
+ | `a` | `href`, which must be absolute `http`, `https` or `mailto` |
115
+
116
+ Strong and em, not b and i; no `target` or `rel` on links (add them when you render, as `RichTextContent` does). The editor is a convenience for the writer, not a security boundary: sanitise on the server as well.
117
+
118
+ **Mentions.** Typing `@` opens a list under the caret that calls `mention.search(query, { page, signal })` after a pause (250 ms by default), aborting the previous call. Return an array (one page) or `{ items, hasMore }` (the next page is asked for when the list is scrolled to its end). An item is `{ id, label, secondary? }`: the chip shows `label` while editing, and the HTML carries **plain text, `@${id}` followed by a space, and no element** (`mention.toText` changes that). A value loaded back into the editor shows that text as text, not as a chip. `RichTextContent` marks runs that look like `@person@example.test` and `@assignees` as pills.
119
+
120
+ Also: `ref` gives `insertText(text)` and `focus()` for buttons outside the editor; `fields` adds an "Insert a field" menu that writes `{{id}}`; `maxLength` refuses edits past a number of characters; `onPasteFiles` receives files pasted without any text; `invalid` and `aria-invalid`, `disabled`, `readOnly`, `placeholder`, `labels` (every string) and `toolbar={false}` do what they say. The box is `minRows` lines tall when empty and grows to `maxRows`, then scrolls inside.
121
+
122
+ ## Dates
66
123
 
67
- React is the default. If you are not on React, the same components ship as
68
- `<edx-*>` custom elements behind a subpath, so a React consumer never pays for a
69
- runtime it does not use.
124
+ `DatePicker` is one calendar day in a field: typed in the locale's order (`DD/MM/YYYY` for en-GB, `MM/DD/YYYY` for en-US) or picked from a calendar, read when the field is left, with a message under it when the text is not a day. It is on its own entry. The value is a `yyyy-mm-dd` string, not a `Date`, so no time zone moves it a day.
70
125
 
71
- ```ts
72
- import { registerElements } from '@exsto/ds/elements';
126
+ ```tsx
127
+ import { DatePicker } from '@exsto/ds/date-picker';
73
128
 
74
- registerElements();
129
+ <DatePicker aria-label="Go-live date" value={day} onValueChange={setDay} min="2026-01-01" locale="en-GB" />;
75
130
  ```
76
131
 
77
- ```html
78
- <edx-button>Save</edx-button>
132
+ `onValueChange(day, state)` gets `undefined` as the day when the field is emptied or its text is not a day. The second argument says which: `{ kind: 'day' }`, `{ kind: 'empty' }`, `{ kind: 'refused'; text; problem }` for text that is not a day, where `text` is what was typed and `problem` the message the picker shows under the field, or `{ kind: 'out-of-range'; day; text; problem }` for a real day that `min`, `max` or `disabledDates` refuse. **For an out-of-range day the day IS reported** (as the first argument too), the typed text stays in the field and the field is marked `aria-invalid`, so your form's own rule can judge it and show its message; check `state.kind` before treating the day as a usable one. A caller that ignores the second argument keeps working. A required field uses it to show its own message only when the field is empty, so the person never reads two:
133
+
134
+ ```tsx
135
+ import { Field, FieldError, FieldLabel } from '@exsto/ds';
136
+ import { DatePicker, type TDatePickerState } from '@exsto/ds/date-picker';
137
+
138
+ const [day, setDay] = useState<string>();
139
+ const [state, setState] = useState<TDatePickerState>({ kind: 'empty' });
140
+ const missing = state.kind === 'empty'; // 'refused' is already said by the picker itself
141
+
142
+ <Field invalid={missing}>
143
+ <FieldLabel>Go-live date</FieldLabel>
144
+ <DatePicker
145
+ value={day}
146
+ onValueChange={(next, nextState) => {
147
+ setDay(next);
148
+ setState(nextState);
149
+ }}
150
+ />
151
+ <FieldError match={missing}>Enter the date.</FieldError>
152
+ </Field>;
79
153
  ```
80
154
 
81
- `registerElements()` defaults to shadow DOM and carries its own copy of the
82
- compiled stylesheet, because a shadow root does not inherit the page's styles.
83
- Pass `{ mode: 'light' }` to render into the light DOM instead, or `{ styles }` to
84
- supply your own sheet. Calling it more than once is harmless.
155
+ Refused text is reported each time it changes, also when the field held no day before, and emptying the field afterwards reports `empty`. A parent's `aria-invalid` only draws the invalid border; the picker's own message is added to `aria-describedby` once, after the parent's. `DateRangePicker`, for a range, is in the main entry.
85
156
 
86
- ## Entry points
157
+ ## Time
87
158
 
88
- | Import | What it is |
89
- |---|---|
90
- | `@exsto/ds` | React components (the default) |
91
- | `@exsto/ds/styles.css` | Precompiled tokens and component styles |
92
- | `@exsto/ds/theme.css` | Uncompiled tokens plus the Tailwind `@theme` mapping |
93
- | `@exsto/ds/elements` | `<edx-*>` custom elements and `registerElements()` |
159
+ `TimeField` is a time of day typed in segments (hours, minutes, optional seconds, AM/PM where the locale uses it), with ArrowUp and ArrowDown to step a segment, ArrowLeft and ArrowRight to move between them, and the names a screen reader needs for each. It is on its own entry, like the DatePicker. The value is an `HH:mm` (or `HH:mm:ss`) string in 24-hour form, whatever the hour cycle on screen.
160
+
161
+ ```tsx
162
+ import { TimeField } from '@exsto/ds/time-field';
163
+
164
+ <TimeField aria-label="Start time" value={time} onValueChange={setTime} />;
165
+ ```
166
+
167
+ ## Files
168
+
169
+ `FileInput` chooses files by picking or dropping them. A real `<input type="file">` lies under the drop area, so Tab, Enter and Space, the system's file dialog, a drop and a screen reader's name come from the browser; on top of that it lists the chosen files with their sizes and a remove button named after each, checks them against `accept`, `maxSize` and `maxFiles` (a drop skips the dialog's own filter), and says in one live region what was added, removed or refused. It is on its own entry, like the DatePicker.
170
+
171
+ ```tsx
172
+ import { FileInput } from '@exsto/ds/file-input';
173
+
174
+ <FileInput aria-label="Attachments" multiple accept=".pdf,image/*" maxSize={5 * 1024 * 1024} value={files} onValueChange={setFiles} onReject={(rejected) => report(rejected)} />;
175
+ ```
176
+
177
+ ## Open popups and keyboard audits
178
+
179
+ While a menu, dialog, sheet, popover, select or drawer is open, Base UI puts two empty `<span tabindex="0" data-base-ui-focus-guard>` around it. They are the sentinels that hand focus back into the popup when Tab runs past either end, so they are focusable on purpose, and they always were. From `0.0.1-rc.16` the design system also takes their `aria-hidden` off while the popup is open, because a focusable element that is hidden from assistive technology fails axe's `aria-hidden-focus` (WCAG 4.1.2). A check that walks the Tab order should skip `[data-base-ui-focus-guard]`, as it skips any other sentinel: they hold no text and name nothing.
180
+
181
+ ## Composing a popup of your own
182
+
183
+ Select, Combobox, MultiSelect and the menus share one shape, and the pieces are exported so a popup an app builds itself matches them instead of copying their classes:
184
+
185
+ ```tsx
186
+ import { cn, POPUP_FRAME_CLASS, POPUP_LIST_HEIGHT_CLASS, POPUP_LIST_WIDTH_CLASS, popupItemClass } from '@exsto/ds';
187
+ ```
188
+
189
+ - `popupItemClass(flavor?, checkable?)` is one row: 32px tall, 8px of padding, the highlight and the chosen weight. `'base-ui'` (the default) is for Base UI parts, `'cmdk'` for cmdk's; `checkable` leaves room at the end for the check, which sits at `POPUP_ITEM_INDICATOR_CLASS`.
190
+ - `POPUP_GROUP_LABEL_CLASS` is a group's heading. `ComboboxGroup`, `ComboboxLabel`, `ComboboxCollection` and `ComboboxSeparator` give a Combobox its groups, drawn the same way Select draws its own.
191
+ - `POPUP_FRAME_CLASS` is the frame (a 10px radius and a 1px ring, no border). `POPUP_LIST_WIDTH_CLASS` is its width: at least the control and 8rem, as wide as the longest row, 28rem at most. `POPUP_LIST_HEIGHT_CLASS` caps the scrolling part: eight rows, or as many whole rows as the room allows, so a list never ends on half a row. Put it on a `ScrollArea` inside a popup that is a flex column with `max-h-(--available-height)`; the class carries the 4px of air above and below the rows as a margin, so the list inside takes `px-1` and no vertical padding (padding there scrolls with the rows and leaves a strip of the next row at the foot). `POPUP_LAYER_CLASS` (`z-60`) goes on the popup's positioner, so it is drawn above the Sheet, Dialog or Drawer (`z-50`) it is opened from.
192
+
193
+ ## Changes in 0.0.1-rc.22
194
+
195
+ - **Muted text on highlighted rows meets 4.5:1 (new token); apps import components.css and drop local workarounds.** The new `--muted-foreground-highlighted` (`oklch(0.52 0 0)` light; dark unchanged at `0.708`) is what `--muted-foreground` becomes inside a `[data-highlighted]` row or a selected Command item, by one rule in `components.css` (it ships in `@exsto/ds/styles.css`). A detail, a shortcut or an icon in a Select, Combobox, Command or menu row was 4.34:1 on the light row; any local `text-foreground/70` for it can go.
196
+ - **A TabsList wider than its box scrolls sideways inside it**, with a 24px fade at each edge that hides tabs. The selected tab and the tab holding focus are scrolled into view (the viewport only, never the page), and arrow keys, Home, End, the wheel and a click all work. A vertical list is unchanged, and an app that worked around 8 tabs running past the window can drop the workaround. Three things change: **a row that overflows is 8px taller** (the scrollbar keeps its room), **a tab's focus ring is drawn inside the tab** (the scroll area would clip one outside it), and **a TabsList given `self-center` in a flex parent no longer centres** (its parent is now the ScrollArea): use `mx-auto`.
197
+ - **The Combobox chevron ("Show options") is a tab stop**: it is a named button, and a named control should be reachable by keyboard, so Tab from the input lands on it and Enter or Space opens the list. It is one more Tab stop per Combobox; it was `tabindex="-1"`.
198
+ - **A tab panel is a tab stop only when nothing inside it can take Tab**, and then shows a 1px line inside its edge for the keyboard only; it used to draw a 2px outline round the whole panel. `TabsContent` carries `data-slot="tabs-content"`, and a `tabIndex` you pass still wins.
199
+ - **Empty is solid by default, with a `dashed` variant** (`variant="solid" | "dashed"`). It sets only the line style: Empty still draws no border until you add `border`, and `dashed` adds no width. Drop any `border-solid` override.
200
+
201
+ ## Changes in 0.0.1-rc.21
202
+
203
+ - **Migration: check `state.kind` where you store the day a DatePicker reports.** A typed day outside `min`, `max` or `disabledDates` used to arrive as `onValueChange(undefined, { kind: 'refused', ... })`; it now arrives as `onValueChange(thatDay, { kind: 'out-of-range', day, text, problem })`. `day ?? ''` now stores the out-of-range day, which is what lets your form's rule see it and show its message; guard with `state.kind === 'day'` where an out-of-range day must not be kept. Text that is not a day is still `refused` with `undefined`.
204
+ - **The DatePicker keeps the text a person typed** and marks the field invalid (`aria-invalid`) when the day is out of range; the calendar still greys out the days outside the limits.
205
+ - **One message for a field.** Inside a DS `Field` that renders a `FieldError`, the FieldError is the only message: the picker shows none of its own and `aria-describedby` points at the FieldError. A bare picker keeps its own message.
206
+
207
+ ## Changes in 0.0.1-rc.20 (never published on its own; part of rc.21)
208
+
209
+ - **One focus style for every control.** A focused control shows the 2px outline in the focus colour and nothing else: no border colour change, no ring. That now holds for Button (and its destructive variant), Select, NativeSelect, MultiSelect, Toggle, Tabs, Switch, Checkbox, RadioGroup, Slider, Badge, Item, Bubble, Questionnaire, Toast, the NavigationMenu triggers, an open Select, MultiSelect and Combobox, the FileInput drop area and the RichTextEditor frame, as it did for Input and Textarea in rc.19. An app that added its own focus border or ring to any of them can drop it.
210
+ - **The outline of a bordered control sits on its border** (offset -1px, or -2px inside a clipping container): a focused field is one 2px line that follows its radius, not a ring standing off a grey border. A control with no border keeps the 2px gap.
211
+ - **A block exactly as tall as its ScrollArea no longer scrolls for the horizontal bar**; the bar overlays its last 8px. A taller block keeps the bar's room.
212
+
213
+ ## Changes in 0.0.1-rc.19
214
+
215
+ Sizes and behaviours that moved. An app that patched one of these locally can drop its patch.
216
+
217
+ - **Popups stack above the overlay that holds them.** The positioner of Select, Combobox, MultiSelect, the menus, Popover, HoverCard, Tooltip and NavigationMenu is `z-60` (`POPUP_LAYER_CLASS`), over the `z-50` of Sheet, Dialog and Drawer. A Select opened in a Sheet or Dialog used to be drawn under it.
218
+ - **A popup list ends on a whole row.** Eight rows of 32px exactly, with the 4px of air above and below as the ScrollArea's margin (`POPUP_LIST_HEIGHT_CLASS`) and `px-1`, no vertical padding, on the list inside. The strip of a ninth row at the foot is gone, and a list of eight does not scroll.
219
+ - **A popup list counts rows only.** A group label or separator adds its own height to the eight rows, so a menu of a label and eight items does not scroll (`PopupListScroll`, exported).
220
+ - **A menu's check is a Select's check** (14px, 13px from the list's edge), and **a menu frame draws no focus ring**, in any open mode. A menu opened with the pointer still highlights no row; one opened from the keyboard highlights its first.
221
+ - **The Combobox chevron** is 11px from the end of its field, like a Select's, a 24px target, and named "Show options" (`triggerLabel` on `ComboboxInput`).
222
+ - **Label and FieldLabel are on a 20px line** (were 14px) and **a Field keeps 8px between its parts** (was 6px): a label and a control make a 60px field. Drop any 14/14 label override.
223
+ - **CardTitle is 16/24** (was 16/22), and 14/20 in a small Card (was 14/19.25).
224
+ - **A small Button, Toggle and Select trigger are 12px type on a 16px line** (`text-xs`; was 12.8px). Their height is still 28px.
225
+ - **EmptyDescription is on a 24px line** (was 22.75px) and **a BreadcrumbLink is 24px tall** (was 20px).
226
+ - **Control borders are 3:1** on the page and on a card, in both themes: a new `--control-border` token (`oklch(0.66 0 0)` light, `oklch(1 0 0 / 35%)` dark), utility `border-control`, used by Input, Textarea, Select, Combobox, MultiSelect, the date and time fields, FileInput, Checkbox, RadioGroup, Toggle, Tabs and the outline Button. `--input` stays the fill.
227
+ - **`--muted-foreground` is `oklch(0.545 0 0)`** in the light theme (was 0.556): 4.5:1 on the muted surface, a card and the page.
228
+ - **Input, Textarea, the Combobox input and InputGroup show the one 2px focus outline** and keep their border colour on focus. **Textarea has no resize grip.**
229
+ - **An empty TimeField segment reads HH, MM, SS** (was two en dashes).
230
+ - **The check of a row is at the end in every popup**, in the same column and size (14px, 13px from the list's edge): Menubar checkbox and radio items and Command rows now match Select, Combobox, DropdownMenu and ContextMenu.
231
+ - **The horizontal bar's room is the ScrollArea root's padding**, so a block that fits the box does not scroll vertically for it and no fade dims it.
232
+ - **A ScrollArea viewport is a tab stop only when nothing inside it can take Tab**, and then shows a 1px line inside its edge for the keyboard only. A page or table with links and buttons in it is no longer an extra stop with a 2px ring.
94
233
 
95
234
  ## Status
96
235
 
97
- `0.0.1-rc.1`. The API is not stable yet; treat minor versions as breaking until
98
- `0.1.0`.
236
+ Release candidates (`0.0.1-rc.N`). The API is not stable yet; treat minor versions
237
+ as breaking until `0.1.0`.
238
+
239
+ `0.0.1-rc.5` removed the `@exsto/ds/elements` entry point (the `<edx-*>` web
240
+ components) and with it Angular support. The design system is React only. Stay on
241
+ `0.0.1-rc.4` if you depend on the elements.
99
242
 
100
243
  ## Licence
101
244
 
@@ -0,0 +1,2 @@
1
+ import { DEFAULT_DATE_PICKER_LABELS, DatePicker } from "./ui/src/components/edyn/date-picker/date-picker.js";
2
+ export { DEFAULT_DATE_PICKER_LABELS, DatePicker };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * `@exsto/ds/date-picker` - the DatePicker, on its own entry on purpose.
3
+ *
4
+ * It is a field a person types a date into as well as picks one, with the parsing, the locale's order of day, month and
5
+ * year and the messages that come with that (about 13 KB unminified). Re-exported from `@exsto/ds` it would be one more
6
+ * thing in the entry every consumer loads and a bundler cannot always tell it unused. Here an app pays for it only on the
7
+ * pages that import this path.
8
+ */
9
+ export * from '../../ui/src/components/edyn/date-picker';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * `@exsto/ds/file-input` - the FileInput, on its own entry on purpose.
3
+ *
4
+ * A file field that is a real `<input type="file">` under a drop area, with the list of what was chosen, the checks against
5
+ * `accept`, `maxSize` and `maxFiles`, and a live region that says what was added, removed or refused: about 10 KB unminified.
6
+ * Re-exported from `@exsto/ds` it would be one more thing in the entry every consumer loads and a bundler cannot always tell
7
+ * it unused. Here an app pays for it only on the pages that import this path.
8
+ */
9
+ export * from '../../ui/src/components/edyn/file-input';
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * `@exsto/ds` - the React entry, and the default way to use the design system.
3
3
  *
4
- * Re-exports the component tier verbatim. The web components live behind
5
- * `@exsto/ds/elements` so a React consumer never pays for a runtime it does not
6
- * use, and styles ship precompiled at `@exsto/ds/styles.css`.
4
+ * Re-exports the component tier verbatim. Styles ship precompiled at
5
+ * `@exsto/ds/styles.css`, and the token layer uncompiled at `@exsto/ds/theme.css`.
7
6
  */
8
7
  export * from '../../ui/src';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * `@exsto/ds/rich-text-editor` - the rich-text editor, on its own entry on purpose.
3
+ *
4
+ * The editor carries its own engine (TipTap on ProseMirror, roughly 140 KB gzipped). Re-exported from
5
+ * `@exsto/ds` it would be one more import in the entry every consumer loads, and a bundler cannot
6
+ * always tell it unused. Here an app pays for it only on the pages that import this path.
7
+ */
8
+ export * from '../../ui/src/components/edyn/rich-text-editor';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * `@exsto/ds/time-field` - the TimeField, on its own entry on purpose.
3
+ *
4
+ * A time of day typed in segments (hours, minutes, optional seconds, AM/PM where the locale uses it) with the arrow keys,
5
+ * Tab and the screen-reader names a native time input has: about 11 KB unminified. Re-exported from `@exsto/ds` it would be
6
+ * one more thing in the entry every consumer loads and a bundler cannot always tell it unused. Here an app pays for it only on
7
+ * the pages that import this path.
8
+ */
9
+ export * from '../../ui/src/components/edyn/time-field';
@@ -0,0 +1,2 @@
1
+ import { DEFAULT_FILE_INPUT_LABELS, FileInput, formatBytes, matchesAccept, sortFiles } from "./ui/src/components/edyn/file-input/file-input.js";
2
+ export { DEFAULT_FILE_INPUT_LABELS, FileInput, formatBytes, matchesAccept, sortFiles };
package/dist/index.js CHANGED
@@ -1,2 +1,79 @@
1
- import { $ as SidebarProvider, $a as AlertDialogAction, $i as ChartContainer, $n as Kbd, $r as DrawerTrigger, $t as PopoverHeader, A as TableRow, Aa as BreadcrumbLink, Ai as InputGroupText, An as MessageGroup, Ar as EmptyTitle, At as ResizablePanel, B as SidebarGroupLabel, Ba as AvatarGroupCount, Bi as DialogOverlay, Bn as MenubarRadioGroup, Br as DropdownMenuSeparator, Bt as QuestionnaireError, C as Table, Ca as Bubble, Ci as CommandList, Cn as useMessageScroller, Co as Button, Cr as FieldError, Ct as SelectSeparator, D as TableFooter, Da as Breadcrumb, Di as InputGroupAddon, Dn as MessageAvatar, Dr as EmptyDescription, Dt as ScrollBar, E as TableCell, Ea as BubbleReactions, Ei as InputGroup, En as Message, Er as EmptyContent, Et as ScrollArea, F as SidebarContent, Fa as badgeVariants, Fi as DialogClose, Fn as MenubarGroup, Fr as DropdownMenuItem, Ft as QuestionnaireActions, G as SidebarMenuAction, Ga as AttachmentContent, Gi as ComboboxContent, Gn as MenubarSubContent, Gr as DropdownMenuTrigger, Gt as QuestionnaireProgress, H as SidebarInput, Ha as Attachment, Hi as DialogTitle, Hn as MenubarSeparator, Hr as DropdownMenuSub, Ht as QuestionnaireItem, I as SidebarFooter, Ia as Avatar, Ii as DialogContent, In as MenubarItem, Ir as DropdownMenuLabel, It as QuestionnaireChoice, J as SidebarMenuItem, Ja as AttachmentMedia, Ji as ComboboxItem, Jn as Marker, Jr as DrawerContent, Jt as QuestionnaireTitle, K as SidebarMenuBadge, Ka as AttachmentDescription, Ki as ComboboxEmpty, Kn as MenubarSubTrigger, Kr as Drawer, Kt as QuestionnaireSkip, L as SidebarGroup, La as AvatarBadge, Li as DialogDescription, Ln as MenubarLabel, Lr as DropdownMenuPortal, Lt as QuestionnaireChoiceDescription, M as Spinner, Ma as BreadcrumbPage, Mi as Textarea, Mn as Menubar, Mr as DropdownMenuCheckboxItem, Mt as RadioGroup, N as spinnerVariants, Na as BreadcrumbSeparator, Ni as Input, Nn as MenubarCheckboxItem, Nr as DropdownMenuContent, Nt as RadioGroupItem, O as TableHead, Oa as BreadcrumbEllipsis, Oi as InputGroupButton, On as MessageContent, Or as EmptyHeader, Ot as useMergedRefs, P as Sidebar, Pa as Badge, Pi as Dialog, Pn as MenubarContent, Pr as DropdownMenuGroup, Pt as Questionnaire, Q as SidebarMenuSubItem, Qa as AlertDialog, Qi as Checkbox, Qn as Label, Qr as DrawerTitle, Qt as PopoverDescription, R as SidebarGroupAction, Ra as AvatarFallback, Ri as DialogFooter, Rn as MenubarMenu, Rr as DropdownMenuRadioGroup, Rt as QuestionnaireChoices, S as tabsListVariants, Sa as ButtonGroupText, Si as CommandItem, Sn as MessageScrollerViewport, So as Slider, Sr as FieldDescription, St as SelectLabel, T as TableCaption, Ta as BubbleGroup, Ti as CommandShortcut, Tn as useMessageScrollerVisibility, To as cn, Tr as Empty, Tt as SelectValue, U as SidebarInset, Ua as AttachmentAction, Ui as DialogTrigger, Un as MenubarShortcut, Ur as DropdownMenuSubContent, Ut as QuestionnaireNext, V as SidebarHeader, Va as AvatarImage, Vi as DialogPortal, Vn as MenubarRadioItem, Vr as DropdownMenuShortcut, Vt as QuestionnaireInput, W as SidebarMenu, Wa as AttachmentActions, Wi as Combobox, Wn as MenubarSub, Wr as DropdownMenuSubTrigger, Wt as QuestionnairePrevious, X as SidebarMenuSub, Xa as AttachmentTrigger, Xi as CollapsibleContent, Xn as MarkerIcon, Xr as DrawerFooter, Xt as Popover, Y as SidebarMenuSkeleton, Ya as AttachmentTitle, Yi as Collapsible, Yn as MarkerContent, Yr as DrawerDescription, Yt as Progress, Z as SidebarMenuSubButton, Za as AspectRatio, Zi as CollapsibleTrigger, Zn as markerVariants, Zr as DrawerHeader, Zt as PopoverContent, _ as useToastManager, _a as CardTitle, _i as Command, _n as MessageScroller, _o as AccordionTrigger, _r as indicatorVariants, _t as SheetTrigger, a as Toast, aa as Carousel, ai as ContextMenuGroup, an as NavigationMenu, ao as AlertDialogMedia, ar as ItemFooter, at as TooltipContent, b as TabsList, ba as ButtonGroup, bi as CommandGroup, bn as MessageScrollerItem, bo as formatMediaTime, br as HoverCardTrigger, bt as SelectGroup, c as ToastContent, ca as CarouselNext, ci as ContextMenuPortal, cn as NavigationMenuItem, co as AlertDialogTitle, cr as ItemMedia, ct as Skeleton, d as ToastProvider, da as Card, di as ContextMenuSeparator, dn as NavigationMenuPositioner, do as AlertAction, dr as Separator, dt as SheetClose, ea as ChartLegend, ei as DirectionProvider, en as PopoverTitle, eo as AlertDialogCancel, er as KbdGroup, et as SidebarRail, f as ToastTitle, fa as CardAction, fi as ContextMenuShortcut, fn as NavigationMenuTrigger, fo as AlertDescription, fr as InputOTP, ft as SheetContent, g as toast, ga as CardHeader, gi as ContextMenuTrigger, gn as NativeSelectOption, go as AccordionItem, gr as Indicator, gt as SheetTitle, h as createToastManager, ha as CardFooter, hi as ContextMenuSubTrigger, hn as NativeSelectOptGroup, ho as AccordionContent, hr as InputOTPSlot, ht as SheetHeader, i as toggleVariants, ia as ChartTooltipContent, ii as ContextMenuContent, in as getPaginationRange, io as AlertDialogHeader, ir as ItemDescription, it as Tooltip, j as Switch, ja as BreadcrumbList, ji as InputGroupTextarea, jn as MessageHeader, jr as DropdownMenu, jt as ResizablePanelGroup, k as TableHeader, ka as BreadcrumbItem, ki as InputGroupInput, kn as MessageFooter, kr as EmptyMedia, kt as ResizableHandle, l as ToastDescription, la as CarouselPrevious, li as ContextMenuRadioGroup, ln as NavigationMenuLink, lo as AlertDialogTrigger, lr as ItemSeparator, lt as useIsMobile, m as Toaster, ma as CardDescription, mi as ContextMenuSubContent, mn as NativeSelect, mo as Accordion, mr as InputOTPSeparator, mt as SheetFooter, n as ToggleGroupItem, na as ChartStyle, ni as ContextMenu, nn as Pagination, no as AlertDialogDescription, nr as ItemActions, nt as SidebarTrigger, o as ToastAction, oa as CarouselContent, oi as ContextMenuItem, on as NavigationMenuContent, oo as AlertDialogOverlay, or as ItemGroup, ot as TooltipProvider, p as ToastViewport, pa as CardContent, pi as ContextMenuSub, pn as navigationMenuTriggerStyle, po as AlertTitle, pr as InputOTPGroup, pt as SheetDescription, q as SidebarMenuButton, qa as AttachmentGroup, qi as ComboboxInput, qn as MenubarTrigger, qr as DrawerClose, qt as QuestionnaireSubmit, r as Toggle, ra as ChartTooltip, ri as ContextMenuCheckboxItem, rn as clampPage, ro as AlertDialogFooter, rr as ItemContent, rt as useSidebar, s as ToastClose, sa as CarouselItem, si as ContextMenuLabel, sn as NavigationMenuIndicator, so as AlertDialogPortal, sr as ItemHeader, st as TooltipTrigger, t as ToggleGroup, ta as ChartLegendContent, ti as useDirection, tn as PopoverTrigger, to as AlertDialogContent, tr as Item, tt as SidebarSeparator, u as ToastPortal, ua as useCarousel, ui as ContextMenuRadioItem, un as NavigationMenuList, uo as Alert, ur as ItemTitle, ut as Sheet, v as Tabs, va as Calendar, vi as CommandDialog, vn as MessageScrollerButton, vo as VideoPlayer, vr as HoverCard, vt as Select, w as TableBody, wa as BubbleContent, wi as CommandSeparator, wn as useMessageScrollerScrollable, wo as buttonVariants, wr as FieldLabel, wt as SelectTrigger, x as TabsTrigger, xa as ButtonGroupSeparator, xi as CommandInput, xn as MessageScrollerProvider, xo as useMediaPlayer, xr as Field, xt as SelectItem, y as TabsContent, ya as CalendarDayButton, yi as CommandEmpty, yn as MessageScrollerContent, yo as AudioPlayer, yr as HoverCardContent, yt as SelectContent, z as SidebarGroupContent, za as AvatarGroup, zi as DialogHeader, zn as MenubarPortal, zr as DropdownMenuRadioItem, zt as QuestionnaireDescription } from "./chunks/toggle-group-ByNq8g7H.js";
2
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger, AudioPlayer, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxContent, ComboboxEmpty, ComboboxInput, ComboboxItem, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldDescription, FieldError, FieldLabel, HoverCard, HoverCardContent, HoverCardTrigger, Indicator, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Marker, MarkerContent, MarkerIcon, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, Pagination, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, Questionnaire, QuestionnaireActions, QuestionnaireChoice, QuestionnaireChoiceDescription, QuestionnaireChoices, QuestionnaireDescription, QuestionnaireError, QuestionnaireInput, QuestionnaireItem, QuestionnaireNext, QuestionnairePrevious, QuestionnaireProgress, QuestionnaireSkip, QuestionnaireSubmit, QuestionnaireTitle, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Spinner, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toast, ToastAction, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastProvider, ToastTitle, ToastViewport, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, VideoPlayer, badgeVariants, buttonVariants, clampPage, cn, createToastManager, formatMediaTime, getPaginationRange, indicatorVariants, markerVariants, navigationMenuTriggerStyle, spinnerVariants, tabsListVariants, toast, toggleVariants, useCarousel, useDirection, useIsMobile, useMediaPlayer, useMergedRefs, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useSidebar, useToastManager };
1
+ import { AnimatedNumber, NumberText, formatCount, useAnimatedValues } from "./ui/src/components/edyn/animated-number/animated-number.js";
2
+ import { cn } from "./ui/src/lib/utils.js";
3
+ import { Button, buttonVariants } from "./ui/src/components/ui/button/button.js";
4
+ import { Slider } from "./ui/src/components/ui/slider/slider.js";
5
+ import { formatMediaTime, useMediaPlayer } from "./ui/src/hooks/use-media-player.js";
6
+ import { AudioPlayer } from "./ui/src/components/edyn/audio-player/audio-player.js";
7
+ import { Calendar, CalendarDayButton } from "./ui/src/components/ui/calendar/calendar.js";
8
+ import { POPUP_FRAME_CLASS, POPUP_GROUP_LABEL_CLASS, POPUP_ITEM_INDICATOR_CLASS, POPUP_LAYER_CLASS, POPUP_LIST_HEIGHT_CLASS, POPUP_LIST_WIDTH_CLASS, popupItemClass } from "./ui/src/lib/popup-list.js";
9
+ import { Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger } from "./ui/src/components/ui/popover/popover.js";
10
+ import { useIsMobile } from "./ui/src/hooks/use-mobile.js";
11
+ import { DateRangePicker, dateToDay, dayToDate } from "./ui/src/components/edyn/date-range-picker/date-range-picker.js";
12
+ import { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage } from "./ui/src/components/ui/avatar/avatar.js";
13
+ import { AVATAR_TONES, InitialsAvatar, avatarTone, initialsOf } from "./ui/src/components/edyn/initials-avatar/initials-avatar.js";
14
+ import { useMergedRefs } from "./ui/src/hooks/use-merged-refs.js";
15
+ import { ScrollArea, ScrollBar } from "./ui/src/components/ui/scroll-area/scroll-area.js";
16
+ import { PopupListScroll } from "./ui/src/components/ui/scroll-area/popup-list-scroll.js";
17
+ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./ui/src/components/ui/tooltip/tooltip.js";
18
+ import { DEFAULT_MULTI_SELECT_LABELS, MultiSelect, SEARCH_FROM, VIRTUALIZE_FROM, fullSelection, resolveChosen, summarize } from "./ui/src/components/edyn/multi-select/multi-select.js";
19
+ import { DEFAULT_PRESENCE_LABELS, PRESENCE_STATES, Presence } from "./ui/src/components/edyn/presence/presence.js";
20
+ import { PROGRESS_LINE_COLOR, ProgressLine } from "./ui/src/components/edyn/progress-line/progress-line.js";
21
+ import { RICH_TEXT_ATTRIBUTES, RICH_TEXT_ELEMENTS, RICH_TEXT_LINK_PROTOCOLS, isAllowedRichTextHref } from "./ui/src/components/edyn/rich-text-content/allow-list.js";
22
+ import { RICH_TEXT_BODY_CLASS, RICH_TEXT_MENTION_CLASS, RichTextContent, richTextToNodes } from "./ui/src/components/edyn/rich-text-content/rich-text-content.js";
23
+ import { VideoPlayer } from "./ui/src/components/edyn/video-player/video-player.js";
24
+ import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "./ui/src/components/ui/accordion/accordion.js";
25
+ import { Alert, AlertAction, AlertDescription, AlertTitle } from "./ui/src/components/ui/alert/alert.js";
26
+ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger } from "./ui/src/components/ui/alert-dialog/alert-dialog.js";
27
+ import { AspectRatio } from "./ui/src/components/ui/aspect-ratio/aspect-ratio.js";
28
+ import { Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger } from "./ui/src/components/ui/attachment/attachment.js";
29
+ import { Badge, badgeVariants } from "./ui/src/components/ui/badge/badge.js";
30
+ import { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "./ui/src/components/ui/breadcrumb/breadcrumb.js";
31
+ import { Bubble, BubbleContent, BubbleGroup, BubbleReactions } from "./ui/src/components/ui/bubble/bubble.js";
32
+ import { ButtonGroup, ButtonGroupSeparator, ButtonGroupText } from "./ui/src/components/ui/button-group/button-group.js";
33
+ import { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "./ui/src/components/ui/card/card.js";
34
+ import { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, useCarousel } from "./ui/src/components/ui/carousel/carousel.js";
35
+ import { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent } from "./ui/src/components/ui/chart/chart.js";
36
+ import { Checkbox } from "./ui/src/components/ui/checkbox/checkbox.js";
37
+ import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "./ui/src/components/ui/collapsible/collapsible.js";
38
+ import { Combobox, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxSeparator } from "./ui/src/components/ui/combobox/combobox.js";
39
+ import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from "./ui/src/components/ui/dialog/dialog.js";
40
+ import { Input } from "./ui/src/components/ui/input/input.js";
41
+ import { Textarea } from "./ui/src/components/ui/textarea/textarea.js";
42
+ import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "./ui/src/components/ui/input-group/input-group.js";
43
+ import { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from "./ui/src/components/ui/command/command.js";
44
+ import { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger } from "./ui/src/components/ui/context-menu/context-menu.js";
45
+ import { DirectionProvider, useDirection } from "./ui/src/components/ui/direction/direction.js";
46
+ import { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger } from "./ui/src/components/ui/drawer/drawer.js";
47
+ import { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from "./ui/src/components/ui/dropdown-menu/dropdown-menu.js";
48
+ import { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle } from "./ui/src/components/ui/empty/empty.js";
49
+ import { Field, FieldDescription, FieldError, FieldLabel } from "./ui/src/components/ui/field/field.js";
50
+ import { HoverCard, HoverCardContent, HoverCardTrigger } from "./ui/src/components/ui/hover-card/hover-card.js";
51
+ import { Indicator, indicatorVariants } from "./ui/src/components/ui/indicator/indicator.js";
52
+ import { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from "./ui/src/components/ui/input-otp/input-otp.js";
53
+ import { Separator } from "./ui/src/components/ui/separator/separator.js";
54
+ import { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle } from "./ui/src/components/ui/item/item.js";
55
+ import { Kbd, KbdGroup } from "./ui/src/components/ui/kbd/kbd.js";
56
+ import { Label } from "./ui/src/components/ui/label/label.js";
57
+ import { Marker, MarkerContent, MarkerIcon, markerVariants } from "./ui/src/components/ui/marker/marker.js";
58
+ import { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger } from "./ui/src/components/ui/menubar/menubar.js";
59
+ import { Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader } from "./ui/src/components/ui/message/message.js";
60
+ import { MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility } from "./ui/src/components/ui/message-scroller/message-scroller.js";
61
+ import { NativeSelect, NativeSelectOptGroup, NativeSelectOption } from "./ui/src/components/ui/native-select/native-select.js";
62
+ import { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, navigationMenuTriggerStyle } from "./ui/src/components/ui/navigation-menu/navigation-menu.js";
63
+ import { Pagination, clampPage, getPaginationRange } from "./ui/src/components/ui/pagination/pagination.js";
64
+ import { PROGRESS_DURATION, PROGRESS_EASE, Progress, progressFill, progressTrack } from "./ui/src/components/ui/progress/progress.js";
65
+ import { Questionnaire, QuestionnaireActions, QuestionnaireChoice, QuestionnaireChoiceDescription, QuestionnaireChoices, QuestionnaireDescription, QuestionnaireError, QuestionnaireInput, QuestionnaireItem, QuestionnaireNext, QuestionnairePrevious, QuestionnaireProgress, QuestionnaireSkip, QuestionnaireSubmit, QuestionnaireTitle } from "./ui/src/components/ui/questionnaire/questionnaire.js";
66
+ import { RadioGroup, RadioGroupItem } from "./ui/src/components/ui/radio-group/radio-group.js";
67
+ import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from "./ui/src/components/ui/resizable/resizable.js";
68
+ import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue } from "./ui/src/components/ui/select/select.js";
69
+ import { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger } from "./ui/src/components/ui/sheet/sheet.js";
70
+ import { Skeleton } from "./ui/src/components/ui/skeleton/skeleton.js";
71
+ import { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar } from "./ui/src/components/ui/sidebar/sidebar.js";
72
+ import { Spinner, spinnerVariants } from "./ui/src/components/ui/spinner/spinner.js";
73
+ import { Switch } from "./ui/src/components/ui/switch/switch.js";
74
+ import { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from "./ui/src/components/ui/table/table.js";
75
+ import { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants } from "./ui/src/components/ui/tabs/tabs.js";
76
+ import { Toast, ToastAction, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastProvider, ToastTitle, ToastViewport, Toaster, createToastManager, toast, useToastManager } from "./ui/src/components/ui/toast/toast.js";
77
+ import { Toggle, toggleVariants } from "./ui/src/components/ui/toggle/toggle.js";
78
+ import { ToggleGroup, ToggleGroupItem } from "./ui/src/components/ui/toggle-group/toggle-group.js";
79
+ export { AVATAR_TONES, Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AnimatedNumber, AspectRatio, Attachment, AttachmentAction, AttachmentActions, AttachmentContent, AttachmentDescription, AttachmentGroup, AttachmentMedia, AttachmentTitle, AttachmentTrigger, AudioPlayer, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxSeparator, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DEFAULT_MULTI_SELECT_LABELS, DEFAULT_PRESENCE_LABELS, DateRangePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DirectionProvider, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldDescription, FieldError, FieldLabel, HoverCard, HoverCardContent, HoverCardTrigger, Indicator, InitialsAvatar, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Marker, MarkerContent, MarkerIcon, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, MultiSelect, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, NumberText, POPUP_FRAME_CLASS, POPUP_GROUP_LABEL_CLASS, POPUP_ITEM_INDICATOR_CLASS, POPUP_LAYER_CLASS, POPUP_LIST_HEIGHT_CLASS, POPUP_LIST_WIDTH_CLASS, PRESENCE_STATES, PROGRESS_DURATION, PROGRESS_EASE, PROGRESS_LINE_COLOR, Pagination, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, PopupListScroll, Presence, Progress, ProgressLine, Questionnaire, QuestionnaireActions, QuestionnaireChoice, QuestionnaireChoiceDescription, QuestionnaireChoices, QuestionnaireDescription, QuestionnaireError, QuestionnaireInput, QuestionnaireItem, QuestionnaireNext, QuestionnairePrevious, QuestionnaireProgress, QuestionnaireSkip, QuestionnaireSubmit, QuestionnaireTitle, RICH_TEXT_ATTRIBUTES, RICH_TEXT_BODY_CLASS, RICH_TEXT_ELEMENTS, RICH_TEXT_LINK_PROTOCOLS, RICH_TEXT_MENTION_CLASS, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichTextContent, SEARCH_FROM, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Spinner, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toast, ToastAction, ToastClose, ToastContent, ToastDescription, ToastPortal, ToastProvider, ToastTitle, ToastViewport, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, VIRTUALIZE_FROM, VideoPlayer, avatarTone, badgeVariants, buttonVariants, clampPage, cn, createToastManager, dateToDay, dayToDate, formatCount, formatMediaTime, fullSelection, getPaginationRange, indicatorVariants, initialsOf, isAllowedRichTextHref, markerVariants, navigationMenuTriggerStyle, popupItemClass, progressFill, progressTrack, resolveChosen, richTextToNodes, spinnerVariants, summarize, tabsListVariants, toast, toggleVariants, useAnimatedValues, useCarousel, useDirection, useIsMobile, useMediaPlayer, useMergedRefs, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useSidebar, useToastManager };
@@ -0,0 +1,4 @@
1
+ import { RICH_TEXT_ATTRIBUTES, RICH_TEXT_ELEMENTS, RICH_TEXT_LINK_PROTOCOLS } from "./ui/src/components/edyn/rich-text-content/allow-list.js";
2
+ import { DEFAULT_RICH_TEXT_LABELS } from "./ui/src/components/edyn/rich-text-editor/types.js";
3
+ import { RichTextEditor } from "./ui/src/components/edyn/rich-text-editor/rich-text-editor.js";
4
+ export { DEFAULT_RICH_TEXT_LABELS, RICH_TEXT_ATTRIBUTES, RICH_TEXT_ELEMENTS, RICH_TEXT_LINK_PROTOCOLS, RichTextEditor };
@@ -0,0 +1 @@
1
+ c03808127789c94fe2d8be09626e7ef3bbc23d071e6410ea8f1a2aa4afefe320