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

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 (342) hide show
  1. package/README.md +163 -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 +1185 -403
  13. package/dist/theme.css +122 -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 +93 -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.js +61 -0
  161. package/dist/ui/src/components/ui/empty/empty.js.map +1 -0
  162. package/dist/ui/src/components/ui/field/field.js +36 -0
  163. package/dist/ui/src/components/ui/field/field.js.map +1 -0
  164. package/dist/ui/src/components/ui/hover-card/hover-card.js +39 -0
  165. package/dist/ui/src/components/ui/hover-card/hover-card.js.map +1 -0
  166. package/dist/ui/src/components/ui/indicator/indicator.js +79 -0
  167. package/dist/ui/src/components/ui/indicator/indicator.js.map +1 -0
  168. package/dist/ui/src/components/ui/input/input.js +16 -0
  169. package/dist/ui/src/components/ui/input/input.js.map +1 -0
  170. package/dist/ui/src/components/ui/input-group/input-group.d.ts +1 -1
  171. package/dist/ui/src/components/ui/input-group/input-group.js +77 -0
  172. package/dist/ui/src/components/ui/input-group/input-group.js.map +1 -0
  173. package/dist/ui/src/components/ui/input-otp/input-otp.js +48 -0
  174. package/dist/ui/src/components/ui/input-otp/input-otp.js.map +1 -0
  175. package/dist/ui/src/components/ui/item/item.d.ts +1 -1
  176. package/dist/ui/src/components/ui/item/item.js +122 -0
  177. package/dist/ui/src/components/ui/item/item.js.map +1 -0
  178. package/dist/ui/src/components/ui/kbd/kbd.js +21 -0
  179. package/dist/ui/src/components/ui/kbd/kbd.js.map +1 -0
  180. package/dist/ui/src/components/ui/label/label.js +14 -0
  181. package/dist/ui/src/components/ui/label/label.js.map +1 -0
  182. package/dist/ui/src/components/ui/marker/marker.js +44 -0
  183. package/dist/ui/src/components/ui/marker/marker.js.map +1 -0
  184. package/dist/ui/src/components/ui/menubar/menubar.js +140 -0
  185. package/dist/ui/src/components/ui/menubar/menubar.js.map +1 -0
  186. package/dist/ui/src/components/ui/message/message.js +50 -0
  187. package/dist/ui/src/components/ui/message/message.js.map +1 -0
  188. package/dist/ui/src/components/ui/message-scroller/message-scroller.js +61 -0
  189. package/dist/ui/src/components/ui/message-scroller/message-scroller.js.map +1 -0
  190. package/dist/ui/src/components/ui/native-select/native-select.js +39 -0
  191. package/dist/ui/src/components/ui/native-select/native-select.js.map +1 -0
  192. package/dist/ui/src/components/ui/navigation-menu/navigation-menu.js +87 -0
  193. package/dist/ui/src/components/ui/navigation-menu/navigation-menu.js.map +1 -0
  194. package/dist/ui/src/components/ui/pagination/pagination.d.ts +3 -2
  195. package/dist/ui/src/components/ui/pagination/pagination.js +104 -0
  196. package/dist/ui/src/components/ui/pagination/pagination.js.map +1 -0
  197. package/dist/ui/src/components/ui/popover/popover.d.ts +1 -1
  198. package/dist/ui/src/components/ui/popover/popover.js +59 -0
  199. package/dist/ui/src/components/ui/popover/popover.js.map +1 -0
  200. package/dist/ui/src/components/ui/progress/progress.behavior.test.d.ts +8 -0
  201. package/dist/ui/src/components/ui/progress/progress.d.ts +43 -1
  202. package/dist/ui/src/components/ui/progress/progress.js +70 -0
  203. package/dist/ui/src/components/ui/progress/progress.js.map +1 -0
  204. package/dist/ui/src/components/ui/questionnaire/questionnaire.js +171 -0
  205. package/dist/ui/src/components/ui/questionnaire/questionnaire.js.map +1 -0
  206. package/dist/ui/src/components/ui/radio-group/radio-group.js +29 -0
  207. package/dist/ui/src/components/ui/radio-group/radio-group.js.map +1 -0
  208. package/dist/ui/src/components/ui/resizable/resizable.js +29 -0
  209. package/dist/ui/src/components/ui/resizable/resizable.js.map +1 -0
  210. package/dist/ui/src/components/ui/scroll-area/index.d.ts +1 -0
  211. package/dist/ui/src/components/ui/scroll-area/popup-list-scroll.d.ts +13 -0
  212. package/dist/ui/src/components/ui/scroll-area/popup-list-scroll.js +69 -0
  213. package/dist/ui/src/components/ui/scroll-area/popup-list-scroll.js.map +1 -0
  214. package/dist/ui/src/components/ui/scroll-area/scroll-area.behavior.test.d.ts +12 -0
  215. package/dist/ui/src/components/ui/scroll-area/scroll-area.d.ts +57 -6
  216. package/dist/ui/src/components/ui/scroll-area/scroll-area.js +155 -0
  217. package/dist/ui/src/components/ui/scroll-area/scroll-area.js.map +1 -0
  218. package/dist/ui/src/components/ui/select/select.js +97 -0
  219. package/dist/ui/src/components/ui/select/select.js.map +1 -0
  220. package/dist/ui/src/components/ui/separator/separator.behavior.test.d.ts +14 -0
  221. package/dist/ui/src/components/ui/separator/separator.d.ts +14 -0
  222. package/dist/ui/src/components/ui/separator/separator.js +30 -0
  223. package/dist/ui/src/components/ui/separator/separator.js.map +1 -0
  224. package/dist/ui/src/components/ui/sheet/sheet.d.ts +8 -0
  225. package/dist/ui/src/components/ui/sheet/sheet.js +99 -0
  226. package/dist/ui/src/components/ui/sheet/sheet.js.map +1 -0
  227. package/dist/ui/src/components/ui/sidebar/sidebar.js +383 -0
  228. package/dist/ui/src/components/ui/sidebar/sidebar.js.map +1 -0
  229. package/dist/ui/src/components/ui/skeleton/skeleton.js +14 -0
  230. package/dist/ui/src/components/ui/skeleton/skeleton.js.map +1 -0
  231. package/dist/ui/src/components/ui/slider/slider.js +49 -0
  232. package/dist/ui/src/components/ui/slider/slider.js.map +1 -0
  233. package/dist/ui/src/components/ui/spinner/spinner.js +28 -0
  234. package/dist/ui/src/components/ui/spinner/spinner.js.map +1 -0
  235. package/dist/ui/src/components/ui/switch/switch.js +20 -0
  236. package/dist/ui/src/components/ui/switch/switch.js.map +1 -0
  237. package/dist/ui/src/components/ui/table/table.behavior.test.d.ts +4 -5
  238. package/dist/ui/src/components/ui/table/table.d.ts +15 -1
  239. package/dist/ui/src/components/ui/table/table.js +81 -0
  240. package/dist/ui/src/components/ui/table/table.js.map +1 -0
  241. package/dist/ui/src/components/ui/tabs/tabs.d.ts +9 -8
  242. package/dist/ui/src/components/ui/tabs/tabs.js +50 -0
  243. package/dist/ui/src/components/ui/tabs/tabs.js.map +1 -0
  244. package/dist/ui/src/components/ui/textarea/textarea.js +14 -0
  245. package/dist/ui/src/components/ui/textarea/textarea.js.map +1 -0
  246. package/dist/ui/src/components/ui/toast/toast.js +124 -0
  247. package/dist/ui/src/components/ui/toast/toast.js.map +1 -0
  248. package/dist/ui/src/components/ui/toggle/toggle.js +37 -0
  249. package/dist/ui/src/components/ui/toggle/toggle.js.map +1 -0
  250. package/dist/ui/src/components/ui/toggle-group/toggle-group.js +56 -0
  251. package/dist/ui/src/components/ui/toggle-group/toggle-group.js.map +1 -0
  252. package/dist/ui/src/components/ui/tooltip/tooltip.js +43 -0
  253. package/dist/ui/src/components/ui/tooltip/tooltip.js.map +1 -0
  254. package/dist/ui/src/hooks/use-media-player.js +140 -0
  255. package/dist/ui/src/hooks/use-media-player.js.map +1 -0
  256. package/dist/ui/src/hooks/use-merged-refs.js +18 -0
  257. package/dist/ui/src/hooks/use-merged-refs.js.map +1 -0
  258. package/dist/ui/src/hooks/use-mobile.js +20 -0
  259. package/dist/ui/src/hooks/use-mobile.js.map +1 -0
  260. package/dist/ui/src/index.d.ts +8 -0
  261. package/dist/ui/src/lib/first-weekday.d.ts +6 -0
  262. package/dist/ui/src/lib/first-weekday.js +34 -0
  263. package/dist/ui/src/lib/first-weekday.js.map +1 -0
  264. package/dist/ui/src/lib/focus-guards.d.ts +2 -0
  265. package/dist/ui/src/lib/focus-guards.js +52 -0
  266. package/dist/ui/src/lib/focus-guards.js.map +1 -0
  267. package/dist/ui/src/lib/focus-ring.test.d.ts +8 -0
  268. package/dist/ui/src/lib/popup-list.d.ts +75 -0
  269. package/dist/ui/src/lib/popup-list.js +48 -0
  270. package/dist/ui/src/lib/popup-list.js.map +1 -0
  271. package/dist/ui/src/lib/popup-list.test.d.ts +10 -0
  272. package/dist/ui/src/lib/utils.js +21 -0
  273. package/dist/ui/src/lib/utils.js.map +1 -0
  274. package/package.json +36 -8
  275. package/dist/chunks/toggle-group-ByNq8g7H.js +0 -4263
  276. package/dist/chunks/toggle-group-ByNq8g7H.js.map +0 -1
  277. package/dist/dom/src/context.d.ts +0 -34
  278. package/dist/dom/src/define-element.d.ts +0 -11
  279. package/dist/dom/src/field-control.d.ts +0 -5
  280. package/dist/dom/src/index.d.ts +0 -6
  281. package/dist/dom/src/mode.d.ts +0 -8
  282. package/dist/dom/src/styles.d.ts +0 -6
  283. package/dist/dom/src/theme-state.d.ts +0 -1
  284. package/dist/dom/src/types.d.ts +0 -65
  285. package/dist/ds/src/elements.d.ts +0 -12
  286. package/dist/elements/src/edx-accordion.d.ts +0 -14
  287. package/dist/elements/src/edx-accordion.test.d.ts +0 -1
  288. package/dist/elements/src/edx-alert.d.ts +0 -14
  289. package/dist/elements/src/edx-audio-player.d.ts +0 -11
  290. package/dist/elements/src/edx-avatar.d.ts +0 -10
  291. package/dist/elements/src/edx-badge.d.ts +0 -12
  292. package/dist/elements/src/edx-breadcrumb.d.ts +0 -11
  293. package/dist/elements/src/edx-button-group.d.ts +0 -7
  294. package/dist/elements/src/edx-button.d.ts +0 -20
  295. package/dist/elements/src/edx-calendar.d.ts +0 -21
  296. package/dist/elements/src/edx-card.d.ts +0 -8
  297. package/dist/elements/src/edx-checkbox.d.ts +0 -18
  298. package/dist/elements/src/edx-combobox.d.ts +0 -28
  299. package/dist/elements/src/edx-content-components.d.ts +0 -2
  300. package/dist/elements/src/edx-dialog.d.ts +0 -20
  301. package/dist/elements/src/edx-drawer.d.ts +0 -21
  302. package/dist/elements/src/edx-dropdown-menu.d.ts +0 -29
  303. package/dist/elements/src/edx-field.d.ts +0 -9
  304. package/dist/elements/src/edx-field.test.d.ts +0 -1
  305. package/dist/elements/src/edx-indicator.d.ts +0 -14
  306. package/dist/elements/src/edx-input-group.d.ts +0 -32
  307. package/dist/elements/src/edx-input-otp.d.ts +0 -19
  308. package/dist/elements/src/edx-input.d.ts +0 -31
  309. package/dist/elements/src/edx-interactive-components.d.ts +0 -2
  310. package/dist/elements/src/edx-label.d.ts +0 -6
  311. package/dist/elements/src/edx-pagination.d.ts +0 -8
  312. package/dist/elements/src/edx-popover.d.ts +0 -24
  313. package/dist/elements/src/edx-progress.d.ts +0 -10
  314. package/dist/elements/src/edx-radio-group.d.ts +0 -22
  315. package/dist/elements/src/edx-radio-group.test.d.ts +0 -1
  316. package/dist/elements/src/edx-scroll-area.d.ts +0 -15
  317. package/dist/elements/src/edx-scroll-area.test.d.ts +0 -1
  318. package/dist/elements/src/edx-select.d.ts +0 -34
  319. package/dist/elements/src/edx-separator.d.ts +0 -10
  320. package/dist/elements/src/edx-skeleton.d.ts +0 -8
  321. package/dist/elements/src/edx-slider.d.ts +0 -17
  322. package/dist/elements/src/edx-slider.test.d.ts +0 -1
  323. package/dist/elements/src/edx-switch.d.ts +0 -18
  324. package/dist/elements/src/edx-table.d.ts +0 -13
  325. package/dist/elements/src/edx-table.test.d.ts +0 -1
  326. package/dist/elements/src/edx-tabs.d.ts +0 -15
  327. package/dist/elements/src/edx-tabs.test.d.ts +0 -1
  328. package/dist/elements/src/edx-textarea.d.ts +0 -25
  329. package/dist/elements/src/edx-toggle-group.d.ts +0 -27
  330. package/dist/elements/src/edx-toggle-group.test.d.ts +0 -1
  331. package/dist/elements/src/edx-toggle.d.ts +0 -18
  332. package/dist/elements/src/edx-tooltip.d.ts +0 -28
  333. package/dist/elements/src/edx-video-player.d.ts +0 -16
  334. package/dist/elements/src/field-control-bridge.d.ts +0 -7
  335. package/dist/elements/src/index.d.ts +0 -14
  336. package/dist/elements/src/projected-content.test.d.ts +0 -1
  337. package/dist/elements/src/registry.d.ts +0 -39
  338. package/dist/elements/src/registry.test.d.ts +0 -1
  339. package/dist/elements.js +0 -4020
  340. package/dist/elements.js.map +0 -1
  341. /package/dist/{dom/src/define-element.test.d.ts → ui/src/components/edyn/date-picker/date-text.test.d.ts} +0 -0
  342. /package/dist/{dom/src/native-slot.test.d.ts → ui/src/lib/first-weekday.test.d.ts} +0 -0
@@ -10,7 +10,7 @@ declare const itemVariants: (props?: ({
10
10
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
11
11
  export declare const Item: ({ className, variant, size, render, ...props }: useRender.ComponentProps<"div"> & VariantProps<typeof itemVariants>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
12
12
  declare const itemMediaVariants: (props?: ({
13
- variant?: "default" | "image" | "icon" | null | undefined;
13
+ variant?: "default" | "icon" | "image" | null | undefined;
14
14
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
15
15
  export declare const ItemMedia: ({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof itemMediaVariants>) => React.JSX.Element;
16
16
  export declare const ItemContent: ({ className, ...props }: React.ComponentProps<"div">) => React.JSX.Element;
@@ -0,0 +1,122 @@
1
+ import { cn } from "../../../lib/utils.js";
2
+ import { Separator } from "../separator/separator.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { cva } from "class-variance-authority";
5
+ import { mergeProps } from "@base-ui/react/merge-props";
6
+ import { useRender } from "@base-ui/react/use-render";
7
+ //#region ../ui/src/components/ui/item/item.tsx
8
+ var ItemGroup = ({ className, ...props }) => {
9
+ return /* @__PURE__ */ jsx("div", {
10
+ role: "list",
11
+ "data-slot": "item-group",
12
+ className: cn("group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2", className),
13
+ ...props
14
+ });
15
+ };
16
+ var ItemSeparator = ({ className, ...props }) => {
17
+ return /* @__PURE__ */ jsx(Separator, {
18
+ "data-slot": "item-separator",
19
+ orientation: "horizontal",
20
+ className: cn("my-2", className),
21
+ ...props
22
+ });
23
+ };
24
+ var itemVariants = cva("group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none [a]:transition-colors [a]:hover:bg-muted", {
25
+ variants: {
26
+ variant: {
27
+ default: "border-transparent",
28
+ outline: "border-border",
29
+ muted: "border-transparent bg-muted/50"
30
+ },
31
+ size: {
32
+ default: "gap-2.5 px-3 py-2.5",
33
+ sm: "gap-2.5 px-3 py-2.5",
34
+ xs: "gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0"
35
+ }
36
+ },
37
+ defaultVariants: {
38
+ variant: "default",
39
+ size: "default"
40
+ }
41
+ });
42
+ var Item = ({ className, variant = "default", size = "default", render, ...props }) => {
43
+ return useRender({
44
+ defaultTagName: "div",
45
+ props: mergeProps({ className: cn(itemVariants({
46
+ variant,
47
+ size,
48
+ className
49
+ })) }, props),
50
+ render,
51
+ state: {
52
+ slot: "item",
53
+ variant,
54
+ size
55
+ }
56
+ });
57
+ };
58
+ var itemMediaVariants = cva("flex shrink-0 items-center justify-center gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none", {
59
+ variants: { variant: {
60
+ default: "bg-transparent",
61
+ icon: "[&_svg:not([class*='size-'])]:size-4",
62
+ image: "size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover"
63
+ } },
64
+ defaultVariants: { variant: "default" }
65
+ });
66
+ var ItemMedia = ({ className, variant = "default", ...props }) => {
67
+ return /* @__PURE__ */ jsx("div", {
68
+ "data-slot": "item-media",
69
+ "data-variant": variant,
70
+ className: cn(itemMediaVariants({
71
+ variant,
72
+ className
73
+ })),
74
+ ...props
75
+ });
76
+ };
77
+ var ItemContent = ({ className, ...props }) => {
78
+ return /* @__PURE__ */ jsx("div", {
79
+ "data-slot": "item-content",
80
+ className: cn("flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none", className),
81
+ ...props
82
+ });
83
+ };
84
+ var ItemTitle = ({ className, ...props }) => {
85
+ return /* @__PURE__ */ jsx("div", {
86
+ "data-slot": "item-title",
87
+ className: cn("line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4", className),
88
+ ...props
89
+ });
90
+ };
91
+ var ItemDescription = ({ className, ...props }) => {
92
+ return /* @__PURE__ */ jsx("p", {
93
+ "data-slot": "item-description",
94
+ className: cn("line-clamp-2 text-left text-sm leading-normal font-normal text-muted-foreground group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className),
95
+ ...props
96
+ });
97
+ };
98
+ var ItemActions = ({ className, ...props }) => {
99
+ return /* @__PURE__ */ jsx("div", {
100
+ "data-slot": "item-actions",
101
+ className: cn("flex items-center gap-2", className),
102
+ ...props
103
+ });
104
+ };
105
+ var ItemHeader = ({ className, ...props }) => {
106
+ return /* @__PURE__ */ jsx("div", {
107
+ "data-slot": "item-header",
108
+ className: cn("flex basis-full items-center justify-between gap-2", className),
109
+ ...props
110
+ });
111
+ };
112
+ var ItemFooter = ({ className, ...props }) => {
113
+ return /* @__PURE__ */ jsx("div", {
114
+ "data-slot": "item-footer",
115
+ className: cn("flex basis-full items-center justify-between gap-2", className),
116
+ ...props
117
+ });
118
+ };
119
+ //#endregion
120
+ export { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle };
121
+
122
+ //# sourceMappingURL=item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item.js","names":[],"sources":["../../../../../../../ui/src/components/ui/item/item.tsx"],"sourcesContent":["import { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { cn } from '@edyn/ui/lib/utils';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport type * as React from 'react';\n\nimport { Separator } from '../separator';\n\nexport const ItemGroup = ({ className, ...props }: React.ComponentProps<'div'>) => {\n return (\n // biome-ignore lint/a11y/useSemanticElements: preserve shadcn's polymorphic div API for item groups.\n <div\n role=\"list\"\n data-slot=\"item-group\"\n className={cn('group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2', className)}\n {...props}\n />\n );\n};\n\nexport const ItemSeparator = ({ className, ...props }: React.ComponentProps<typeof Separator>) => {\n return <Separator data-slot=\"item-separator\" orientation=\"horizontal\" className={cn('my-2', className)} {...props} />;\n};\n\nconst itemVariants = cva(\n 'group/item flex w-full flex-wrap items-center rounded-lg border text-sm transition-colors duration-100 outline-none [a]:transition-colors [a]:hover:bg-muted',\n {\n variants: {\n variant: {\n default: 'border-transparent',\n outline: 'border-border',\n muted: 'border-transparent bg-muted/50',\n },\n size: {\n default: 'gap-2.5 px-3 py-2.5',\n sm: 'gap-2.5 px-3 py-2.5',\n xs: 'gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport const Item = ({\n className,\n variant = 'default',\n size = 'default',\n render,\n ...props\n}: useRender.ComponentProps<'div'> & VariantProps<typeof itemVariants>) => {\n return useRender({\n defaultTagName: 'div',\n props: mergeProps<'div'>(\n {\n className: cn(itemVariants({ variant, size, className })),\n },\n props,\n ),\n render,\n state: {\n slot: 'item',\n variant,\n size,\n },\n });\n};\n\nconst itemMediaVariants = cva(\n 'flex shrink-0 items-center justify-center gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n icon: \"[&_svg:not([class*='size-'])]:size-4\",\n image:\n 'size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nexport const ItemMedia = ({ className, variant = 'default', ...props }: React.ComponentProps<'div'> & VariantProps<typeof itemMediaVariants>) => {\n return <div data-slot=\"item-media\" data-variant={variant} className={cn(itemMediaVariants({ variant, className }))} {...props} />;\n};\n\nexport const ItemContent = ({ className, ...props }: React.ComponentProps<'div'>) => {\n return (\n <div\n data-slot=\"item-content\"\n className={cn('flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0 [&+[data-slot=item-content]]:flex-none', className)}\n {...props}\n />\n );\n};\n\nexport const ItemTitle = ({ className, ...props }: React.ComponentProps<'div'>) => {\n return (\n <div\n data-slot=\"item-title\"\n className={cn('line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4', className)}\n {...props}\n />\n );\n};\n\nexport const ItemDescription = ({ className, ...props }: React.ComponentProps<'p'>) => {\n return (\n <p\n data-slot=\"item-description\"\n className={cn(\n 'line-clamp-2 text-left text-sm leading-normal font-normal text-muted-foreground group-data-[size=xs]/item:text-xs [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary',\n className,\n )}\n {...props}\n />\n );\n};\n\nexport const ItemActions = ({ className, ...props }: React.ComponentProps<'div'>) => {\n return <div data-slot=\"item-actions\" className={cn('flex items-center gap-2', className)} {...props} />;\n};\n\nexport const ItemHeader = ({ className, ...props }: React.ComponentProps<'div'>) => {\n return <div data-slot=\"item-header\" className={cn('flex basis-full items-center justify-between gap-2', className)} {...props} />;\n};\n\nexport const ItemFooter = ({ className, ...props }: React.ComponentProps<'div'>) => {\n return <div data-slot=\"item-footer\" className={cn('flex basis-full items-center justify-between gap-2', className)} {...props} />;\n};\n"],"mappings":";;;;;;;AAQA,IAAa,aAAa,EAAE,WAAW,GAAG,YAAyC;CACjF,OAEE,oBAAC,OAAD;EACE,MAAK;EACL,aAAU;EACV,WAAW,GAAG,mGAAmG,SAAS;EAC1H,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,iBAAiB,EAAE,WAAW,GAAG,YAAoD;CAChG,OAAO,oBAAC,WAAD;EAAW,aAAU;EAAiB,aAAY;EAAa,WAAW,GAAG,QAAQ,SAAS;EAAG,GAAI;CAAQ,CAAA;AACtH;AAEA,IAAM,eAAe,IACnB,gKACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,SAAS;GACT,OAAO;EACT;EACA,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;EACN;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CACF;AAEA,IAAa,QAAQ,EACnB,WACA,UAAU,WACV,OAAO,WACP,QACA,GAAG,YACsE;CACzE,OAAO,UAAU;EACf,gBAAgB;EAChB,OAAO,WACL,EACE,WAAW,GAAG,aAAa;GAAE;GAAS;GAAM;EAAU,CAAC,CAAC,EAC1D,GACA,KACF;EACA;EACA,OAAO;GACL,MAAM;GACN;GACA;EACF;CACF,CAAC;AACH;AAEA,IAAM,oBAAoB,IACxB,kMACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,MAAM;EACN,OACE;CACJ,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF;AAEA,IAAa,aAAa,EAAE,WAAW,UAAU,WAAW,GAAG,YAAkF;CAC/I,OAAO,oBAAC,OAAD;EAAK,aAAU;EAAa,gBAAc;EAAS,WAAW,GAAG,kBAAkB;GAAE;GAAS;EAAU,CAAC,CAAC;EAAG,GAAI;CAAQ,CAAA;AAClI;AAEA,IAAa,eAAe,EAAE,WAAW,GAAG,YAAyC;CACnF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,qGAAqG,SAAS;EAC5H,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,aAAa,EAAE,WAAW,GAAG,YAAyC;CACjF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,kGAAkG,SAAS;EACzH,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,mBAAmB,EAAE,WAAW,GAAG,YAAuC;CACrF,OACE,oBAAC,KAAD;EACE,aAAU;EACV,WAAW,GACT,uLACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,eAAe,EAAE,WAAW,GAAG,YAAyC;CACnF,OAAO,oBAAC,OAAD;EAAK,aAAU;EAAe,WAAW,GAAG,2BAA2B,SAAS;EAAG,GAAI;CAAQ,CAAA;AACxG;AAEA,IAAa,cAAc,EAAE,WAAW,GAAG,YAAyC;CAClF,OAAO,oBAAC,OAAD;EAAK,aAAU;EAAc,WAAW,GAAG,sDAAsD,SAAS;EAAG,GAAI;CAAQ,CAAA;AAClI;AAEA,IAAa,cAAc,EAAE,WAAW,GAAG,YAAyC;CAClF,OAAO,oBAAC,OAAD;EAAK,aAAU;EAAc,WAAW,GAAG,sDAAsD,SAAS;EAAG,GAAI;CAAQ,CAAA;AAClI"}
@@ -0,0 +1,21 @@
1
+ import { cn } from "../../../lib/utils.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region ../ui/src/components/ui/kbd/kbd.tsx
4
+ var Kbd = ({ className, ...props }) => {
5
+ return /* @__PURE__ */ jsx("kbd", {
6
+ "data-slot": "kbd",
7
+ className: cn("pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 [&_svg:not([class*='size-'])]:size-3", className),
8
+ ...props
9
+ });
10
+ };
11
+ var KbdGroup = ({ className, ...props }) => {
12
+ return /* @__PURE__ */ jsx("kbd", {
13
+ "data-slot": "kbd-group",
14
+ className: cn("inline-flex items-center gap-1", className),
15
+ ...props
16
+ });
17
+ };
18
+ //#endregion
19
+ export { Kbd, KbdGroup };
20
+
21
+ //# sourceMappingURL=kbd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kbd.js","names":[],"sources":["../../../../../../../ui/src/components/ui/kbd/kbd.tsx"],"sourcesContent":["import { cn } from '@edyn/ui/lib/utils';\n\nexport const Kbd = ({ className, ...props }: React.ComponentProps<'kbd'>) => {\n return (\n <kbd\n data-slot=\"kbd\"\n className={cn(\n \"pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 [&_svg:not([class*='size-'])]:size-3\",\n className,\n )}\n {...props}\n />\n );\n};\n\nexport const KbdGroup = ({ className, ...props }: React.ComponentProps<'div'>) => {\n return <kbd data-slot=\"kbd-group\" className={cn('inline-flex items-center gap-1', className)} {...props} />;\n};\n"],"mappings":";;;AAEA,IAAa,OAAO,EAAE,WAAW,GAAG,YAAyC;CAC3E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,yWACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,YAAY,EAAE,WAAW,GAAG,YAAyC;CAChF,OAAO,oBAAC,OAAD;EAAK,aAAU;EAAY,WAAW,GAAG,kCAAkC,SAAS;EAAG,GAAI;CAAQ,CAAA;AAC5G"}
@@ -0,0 +1,14 @@
1
+ import { cn } from "../../../lib/utils.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region ../ui/src/components/ui/label/label.tsx
4
+ var Label = ({ className, ...props }) => {
5
+ return /* @__PURE__ */ jsx("label", {
6
+ "data-slot": "label",
7
+ className: cn("flex items-center gap-2 text-sm leading-5 font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className),
8
+ ...props
9
+ });
10
+ };
11
+ //#endregion
12
+ export { Label };
13
+
14
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.js","names":[],"sources":["../../../../../../../ui/src/components/ui/label/label.tsx"],"sourcesContent":["import { cn } from '@edyn/ui/lib/utils';\nimport type * as React from 'react';\n\nexport const Label = ({ className, ...props }: React.ComponentProps<'label'>) => {\n return (\n // biome-ignore lint/a11y/noLabelWithoutControl: htmlFor is supplied by consumers via ...props; Base UI also handles association at runtime\n <label\n data-slot=\"label\"\n className={cn(\n 'flex items-center gap-2 text-sm leading-5 font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n className,\n )}\n {...props}\n />\n );\n};\n"],"mappings":";;;AAGA,IAAa,SAAS,EAAE,WAAW,GAAG,YAA2C;CAC/E,OAEE,oBAAC,SAAD;EACE,aAAU;EACV,WAAW,GACT,oNACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,44 @@
1
+ import { cn } from "../../../lib/utils.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { cva } from "class-variance-authority";
4
+ import { mergeProps } from "@base-ui/react/merge-props";
5
+ import { useRender } from "@base-ui/react/use-render";
6
+ //#region ../ui/src/components/ui/marker/marker.tsx
7
+ var markerVariants = cva("group/marker relative flex min-h-4 w-full items-center gap-2 text-left text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground", { variants: { variant: {
8
+ default: "",
9
+ separator: "before:mr-1 before:h-px before:min-w-0 before:flex-1 before:bg-border after:ml-1 after:h-px after:min-w-0 after:flex-1 after:bg-border",
10
+ border: "border-b border-border pb-2"
11
+ } } });
12
+ var Marker = ({ className, variant = "default", render, ...props }) => {
13
+ return useRender({
14
+ defaultTagName: "div",
15
+ props: mergeProps({ className: cn(markerVariants({
16
+ variant,
17
+ className
18
+ })) }, props),
19
+ render,
20
+ state: {
21
+ slot: "marker",
22
+ variant
23
+ }
24
+ });
25
+ };
26
+ var MarkerIcon = ({ className, ...props }) => {
27
+ return /* @__PURE__ */ jsx("span", {
28
+ "data-slot": "marker-icon",
29
+ "aria-hidden": "true",
30
+ className: cn("size-4 shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
31
+ ...props
32
+ });
33
+ };
34
+ var MarkerContent = ({ className, ...props }) => {
35
+ return /* @__PURE__ */ jsx("span", {
36
+ "data-slot": "marker-content",
37
+ className: cn("min-w-0 wrap-break-word group-data-[variant=separator]/marker:flex-none group-data-[variant=separator]/marker:text-center *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className),
38
+ ...props
39
+ });
40
+ };
41
+ //#endregion
42
+ export { Marker, MarkerContent, MarkerIcon, markerVariants };
43
+
44
+ //# sourceMappingURL=marker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker.js","names":[],"sources":["../../../../../../../ui/src/components/ui/marker/marker.tsx"],"sourcesContent":["import { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { cn } from '@edyn/ui/lib/utils';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport type * as React from 'react';\n\nexport const markerVariants = cva(\n \"group/marker relative flex min-h-4 w-full items-center gap-2 text-left text-sm text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [a]:underline [a]:underline-offset-3 [a]:hover:text-foreground\",\n {\n variants: {\n variant: {\n default: '',\n separator:\n 'before:mr-1 before:h-px before:min-w-0 before:flex-1 before:bg-border after:ml-1 after:h-px after:min-w-0 after:flex-1 after:bg-border',\n border: 'border-b border-border pb-2',\n },\n },\n },\n);\n\nexport const Marker = ({\n className,\n variant = 'default',\n render,\n ...props\n}: useRender.ComponentProps<'div'> & VariantProps<typeof markerVariants>) => {\n return useRender({\n defaultTagName: 'div',\n props: mergeProps<'div'>(\n {\n className: cn(markerVariants({ variant, className })),\n },\n props,\n ),\n render,\n state: {\n slot: 'marker',\n variant,\n },\n });\n};\n\nexport const MarkerIcon = ({ className, ...props }: React.ComponentProps<'span'>) => {\n return (\n <span data-slot=\"marker-icon\" aria-hidden=\"true\" className={cn(\"size-4 shrink-0 [&_svg:not([class*='size-'])]:size-4\", className)} {...props} />\n );\n};\n\nexport const MarkerContent = ({ className, ...props }: React.ComponentProps<'span'>) => {\n return (\n <span\n data-slot=\"marker-content\"\n className={cn(\n 'min-w-0 wrap-break-word group-data-[variant=separator]/marker:flex-none group-data-[variant=separator]/marker:text-center *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground',\n className,\n )}\n {...props}\n />\n );\n};\n"],"mappings":";;;;;;AAMA,IAAa,iBAAiB,IAC5B,4MACA,EACE,UAAU,EACR,SAAS;CACP,SAAS;CACT,WACE;CACF,QAAQ;AACV,EACF,EACF,CACF;AAEA,IAAa,UAAU,EACrB,WACA,UAAU,WACV,QACA,GAAG,YACwE;CAC3E,OAAO,UAAU;EACf,gBAAgB;EAChB,OAAO,WACL,EACE,WAAW,GAAG,eAAe;GAAE;GAAS;EAAU,CAAC,CAAC,EACtD,GACA,KACF;EACA;EACA,OAAO;GACL,MAAM;GACN;EACF;CACF,CAAC;AACH;AAEA,IAAa,cAAc,EAAE,WAAW,GAAG,YAA0C;CACnF,OACE,oBAAC,QAAD;EAAM,aAAU;EAAc,eAAY;EAAO,WAAW,GAAG,wDAAwD,SAAS;EAAG,GAAI;CAAQ,CAAA;AAEnJ;AAEA,IAAa,iBAAiB,EAAE,WAAW,GAAG,YAA0C;CACtF,OACE,oBAAC,QAAD;EACE,aAAU;EACV,WAAW,GACT,kMACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,140 @@
1
+ "use client";
2
+ import { cn } from "../../../lib/utils.js";
3
+ import { POPUP_ITEM_INDICATOR_CLASS } from "../../../lib/popup-list.js";
4
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from "../dropdown-menu/dropdown-menu.js";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { IconCheck } from "@tabler/icons-react";
7
+ import { Menu } from "@base-ui/react/menu";
8
+ import { Menubar } from "@base-ui/react/menubar";
9
+ //#region ../ui/src/components/ui/menubar/menubar.tsx
10
+ var Menubar$1 = ({ className, ...props }) => {
11
+ return /* @__PURE__ */ jsx(Menubar, {
12
+ "data-slot": "menubar",
13
+ className: cn("flex h-8 items-center gap-0.5 rounded-lg border p-[3px]", className),
14
+ ...props
15
+ });
16
+ };
17
+ var MenubarMenu = ({ ...props }) => {
18
+ return /* @__PURE__ */ jsx(DropdownMenu, {
19
+ "data-slot": "menubar-menu",
20
+ ...props
21
+ });
22
+ };
23
+ var MenubarGroup = ({ ...props }) => {
24
+ return /* @__PURE__ */ jsx(DropdownMenuGroup, {
25
+ "data-slot": "menubar-group",
26
+ ...props
27
+ });
28
+ };
29
+ var MenubarPortal = ({ ...props }) => {
30
+ return /* @__PURE__ */ jsx(DropdownMenuPortal, {
31
+ "data-slot": "menubar-portal",
32
+ ...props
33
+ });
34
+ };
35
+ var MenubarTrigger = ({ className, ...props }) => {
36
+ return /* @__PURE__ */ jsx(DropdownMenuTrigger, {
37
+ "data-slot": "menubar-trigger",
38
+ className: cn("flex items-center rounded-sm px-1.5 py-[2px] text-sm font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted", className),
39
+ ...props
40
+ });
41
+ };
42
+ var MenubarContent = ({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }) => {
43
+ return /* @__PURE__ */ jsx(DropdownMenuContent, {
44
+ "data-slot": "menubar-content",
45
+ align,
46
+ alignOffset,
47
+ sideOffset,
48
+ className,
49
+ ...props
50
+ });
51
+ };
52
+ var MenubarItem = ({ className, inset, variant = "default", ...props }) => {
53
+ return /* @__PURE__ */ jsx(DropdownMenuItem, {
54
+ "data-slot": "menubar-item",
55
+ "data-inset": inset,
56
+ "data-variant": variant,
57
+ className: cn("group/menubar-item gap-1.5 rounded-md px-1.5 py-1 text-sm focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-[inset=true]:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive!", className),
58
+ ...props
59
+ });
60
+ };
61
+ var MenubarCheckboxItem = ({ className, children, checked, inset, ...props }) => {
62
+ return /* @__PURE__ */ jsxs(Menu.CheckboxItem, {
63
+ "data-slot": "menubar-checkbox-item",
64
+ "data-inset": inset,
65
+ className: cn("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-[inset=true]:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
66
+ checked,
67
+ ...props,
68
+ children: [/* @__PURE__ */ jsx("span", {
69
+ className: POPUP_ITEM_INDICATOR_CLASS,
70
+ "data-slot": "menubar-checkbox-item-indicator",
71
+ children: /* @__PURE__ */ jsx(Menu.CheckboxItemIndicator, { children: /* @__PURE__ */ jsx(IconCheck, {}) })
72
+ }), children]
73
+ });
74
+ };
75
+ var MenubarRadioGroup = ({ ...props }) => {
76
+ return /* @__PURE__ */ jsx(DropdownMenuRadioGroup, {
77
+ "data-slot": "menubar-radio-group",
78
+ ...props
79
+ });
80
+ };
81
+ var MenubarRadioItem = ({ className, children, inset, ...props }) => {
82
+ return /* @__PURE__ */ jsxs(Menu.RadioItem, {
83
+ "data-slot": "menubar-radio-item",
84
+ "data-inset": inset,
85
+ className: cn("relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-[inset=true]:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
86
+ ...props,
87
+ children: [/* @__PURE__ */ jsx("span", {
88
+ className: POPUP_ITEM_INDICATOR_CLASS,
89
+ "data-slot": "menubar-radio-item-indicator",
90
+ children: /* @__PURE__ */ jsx(Menu.RadioItemIndicator, { children: /* @__PURE__ */ jsx(IconCheck, {}) })
91
+ }), children]
92
+ });
93
+ };
94
+ var MenubarLabel = ({ className, inset, ...props }) => {
95
+ return /* @__PURE__ */ jsx(DropdownMenuLabel, {
96
+ "data-slot": "menubar-label",
97
+ "data-inset": inset,
98
+ className: cn("px-1.5 py-1 text-sm font-medium data-[inset=true]:pl-7", className),
99
+ ...props
100
+ });
101
+ };
102
+ var MenubarSeparator = ({ className, ...props }) => {
103
+ return /* @__PURE__ */ jsx(DropdownMenuSeparator, {
104
+ "data-slot": "menubar-separator",
105
+ className: cn("-mx-1 my-1 h-px bg-border", className),
106
+ ...props
107
+ });
108
+ };
109
+ var MenubarShortcut = ({ className, ...props }) => {
110
+ return /* @__PURE__ */ jsx(DropdownMenuShortcut, {
111
+ "data-slot": "menubar-shortcut",
112
+ className: cn("ml-auto text-xs tracking-widest text-muted-foreground group-focus/menubar-item:text-accent-foreground", className),
113
+ ...props
114
+ });
115
+ };
116
+ var MenubarSub = ({ ...props }) => {
117
+ return /* @__PURE__ */ jsx(DropdownMenuSub, {
118
+ "data-slot": "menubar-sub",
119
+ ...props
120
+ });
121
+ };
122
+ var MenubarSubTrigger = ({ className, inset, ...props }) => {
123
+ return /* @__PURE__ */ jsx(DropdownMenuSubTrigger, {
124
+ "data-slot": "menubar-sub-trigger",
125
+ "data-inset": inset,
126
+ className: cn("gap-1.5 rounded-md px-1.5 py-1 text-sm focus:bg-accent focus:text-accent-foreground data-[inset=true]:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4", className),
127
+ ...props
128
+ });
129
+ };
130
+ var MenubarSubContent = ({ className, ...props }) => {
131
+ return /* @__PURE__ */ jsx(DropdownMenuSubContent, {
132
+ "data-slot": "menubar-sub-content",
133
+ className: cn("min-w-32 rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", "motion-reduce:animate-none", className),
134
+ ...props
135
+ });
136
+ };
137
+ //#endregion
138
+ export { Menubar$1 as Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger };
139
+
140
+ //# sourceMappingURL=menubar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menubar.js","names":[],"sources":["../../../../../../../ui/src/components/ui/menubar/menubar.tsx"],"sourcesContent":["'use client';\n\nimport { Menu as MenuPrimitive } from '@base-ui/react/menu';\nimport { Menubar as MenubarPrimitive } from '@base-ui/react/menubar';\nimport { POPUP_ITEM_INDICATOR_CLASS } from '@edyn/ui/lib/popup-list';\nimport { cn } from '@edyn/ui/lib/utils';\nimport { IconCheck } from '@tabler/icons-react';\nimport type * as React from 'react';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n} from '../dropdown-menu';\n\nexport const Menubar = ({ className, ...props }: MenubarPrimitive.Props) => {\n return <MenubarPrimitive data-slot=\"menubar\" className={cn('flex h-8 items-center gap-0.5 rounded-lg border p-[3px]', className)} {...props} />;\n};\n\nexport const MenubarMenu = ({ ...props }: React.ComponentProps<typeof DropdownMenu>) => {\n return <DropdownMenu data-slot=\"menubar-menu\" {...props} />;\n};\n\nexport const MenubarGroup = ({ ...props }: React.ComponentProps<typeof DropdownMenuGroup>) => {\n return <DropdownMenuGroup data-slot=\"menubar-group\" {...props} />;\n};\n\nexport const MenubarPortal = ({ ...props }: React.ComponentProps<typeof DropdownMenuPortal>) => {\n return <DropdownMenuPortal data-slot=\"menubar-portal\" {...props} />;\n};\n\nexport const MenubarTrigger = ({ className, ...props }: React.ComponentProps<typeof DropdownMenuTrigger>) => {\n return (\n <DropdownMenuTrigger\n data-slot=\"menubar-trigger\"\n className={cn(\n 'flex items-center rounded-sm px-1.5 py-[2px] text-sm font-medium outline-hidden select-none hover:bg-muted aria-expanded:bg-muted',\n className,\n )}\n {...props}\n />\n );\n};\n\nexport const MenubarContent = ({\n className,\n align = 'start',\n alignOffset = -4,\n sideOffset = 8,\n ...props\n}: React.ComponentProps<typeof DropdownMenuContent>) => {\n return (\n <DropdownMenuContent\n data-slot=\"menubar-content\"\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={className}\n {...props}\n />\n );\n};\n\nexport const MenubarItem = ({ className, inset, variant = 'default', ...props }: React.ComponentProps<typeof DropdownMenuItem>) => {\n return (\n <DropdownMenuItem\n data-slot=\"menubar-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/menubar-item gap-1.5 rounded-md px-1.5 py-1 text-sm focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-[inset=true]:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive!\",\n className,\n )}\n {...props}\n />\n );\n};\n\nexport const MenubarCheckboxItem = ({\n className,\n children,\n checked,\n inset,\n ...props\n}: MenuPrimitive.CheckboxItem.Props & {\n inset?: boolean;\n}) => {\n return (\n <MenuPrimitive.CheckboxItem\n data-slot=\"menubar-checkbox-item\"\n data-inset={inset}\n className={cn(\n 'relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-[inset=true]:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0',\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className={POPUP_ITEM_INDICATOR_CLASS} data-slot=\"menubar-checkbox-item-indicator\">\n <MenuPrimitive.CheckboxItemIndicator>\n <IconCheck />\n </MenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </MenuPrimitive.CheckboxItem>\n );\n};\n\nexport const MenubarRadioGroup = ({ ...props }: React.ComponentProps<typeof DropdownMenuRadioGroup>) => {\n return <DropdownMenuRadioGroup data-slot=\"menubar-radio-group\" {...props} />;\n};\n\nexport const MenubarRadioItem = ({\n className,\n children,\n inset,\n ...props\n}: MenuPrimitive.RadioItem.Props & {\n inset?: boolean;\n}) => {\n return (\n <MenuPrimitive.RadioItem\n data-slot=\"menubar-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-[inset=true]:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className={POPUP_ITEM_INDICATOR_CLASS} data-slot=\"menubar-radio-item-indicator\">\n <MenuPrimitive.RadioItemIndicator>\n <IconCheck />\n </MenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </MenuPrimitive.RadioItem>\n );\n};\n\nexport const MenubarLabel = ({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuLabel> & {\n inset?: boolean;\n}) => {\n return (\n <DropdownMenuLabel\n data-slot=\"menubar-label\"\n data-inset={inset}\n className={cn('px-1.5 py-1 text-sm font-medium data-[inset=true]:pl-7', className)}\n {...props}\n />\n );\n};\n\nexport const MenubarSeparator = ({ className, ...props }: React.ComponentProps<typeof DropdownMenuSeparator>) => {\n return <DropdownMenuSeparator data-slot=\"menubar-separator\" className={cn('-mx-1 my-1 h-px bg-border', className)} {...props} />;\n};\n\nexport const MenubarShortcut = ({ className, ...props }: React.ComponentProps<typeof DropdownMenuShortcut>) => {\n return (\n <DropdownMenuShortcut\n data-slot=\"menubar-shortcut\"\n className={cn('ml-auto text-xs tracking-widest text-muted-foreground group-focus/menubar-item:text-accent-foreground', className)}\n {...props}\n />\n );\n};\n\nexport const MenubarSub = ({ ...props }: React.ComponentProps<typeof DropdownMenuSub>) => {\n return <DropdownMenuSub data-slot=\"menubar-sub\" {...props} />;\n};\n\nexport const MenubarSubTrigger = ({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuSubTrigger> & {\n inset?: boolean;\n}) => {\n return (\n <DropdownMenuSubTrigger\n data-slot=\"menubar-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"gap-1.5 rounded-md px-1.5 py-1 text-sm focus:bg-accent focus:text-accent-foreground data-[inset=true]:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n};\n\nexport const MenubarSubContent = ({ className, ...props }: React.ComponentProps<typeof DropdownMenuSubContent>) => {\n return (\n <DropdownMenuSubContent\n data-slot=\"menubar-sub-content\"\n className={cn(\n 'min-w-32 rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95',\n 'motion-reduce:animate-none',\n className,\n )}\n {...props}\n />\n );\n};\n"],"mappings":";;;;;;;;;AAwBA,IAAa,aAAW,EAAE,WAAW,GAAG,YAAoC;CAC1E,OAAO,oBAAC,SAAD;EAAkB,aAAU;EAAU,WAAW,GAAG,2DAA2D,SAAS;EAAG,GAAI;CAAQ,CAAA;AAChJ;AAEA,IAAa,eAAe,EAAE,GAAG,YAAuD;CACtF,OAAO,oBAAC,cAAD;EAAc,aAAU;EAAe,GAAI;CAAQ,CAAA;AAC5D;AAEA,IAAa,gBAAgB,EAAE,GAAG,YAA4D;CAC5F,OAAO,oBAAC,mBAAD;EAAmB,aAAU;EAAgB,GAAI;CAAQ,CAAA;AAClE;AAEA,IAAa,iBAAiB,EAAE,GAAG,YAA6D;CAC9F,OAAO,oBAAC,oBAAD;EAAoB,aAAU;EAAiB,GAAI;CAAQ,CAAA;AACpE;AAEA,IAAa,kBAAkB,EAAE,WAAW,GAAG,YAA8D;CAC3G,OACE,oBAAC,qBAAD;EACE,aAAU;EACV,WAAW,GACT,qIACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,kBAAkB,EAC7B,WACA,QAAQ,SACR,cAAc,IACd,aAAa,GACb,GAAG,YACmD;CACtD,OACE,oBAAC,qBAAD;EACE,aAAU;EACH;EACM;EACD;EACD;EACX,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,eAAe,EAAE,WAAW,OAAO,UAAU,WAAW,GAAG,YAA2D;CACjI,OACE,oBAAC,kBAAD;EACE,aAAU;EACV,cAAY;EACZ,gBAAc;EACd,WAAW,GACT,4fACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,uBAAuB,EAClC,WACA,UACA,SACA,OACA,GAAG,YAGC;CACJ,OACE,qBAAC,KAAc,cAAf;EACE,aAAU;EACV,cAAY;EACZ,WAAW,GACT,gUACA,SACF;EACS;EACT,GAAI;EARN,UAAA,CAUE,oBAAC,QAAD;GAAM,WAAW;GAA4B,aAAU;GACrD,UAAA,oBAAC,KAAc,uBAAf,EAAA,UACE,oBAAC,WAAD,CAAY,CAAA,EACuB,CAAA;EACjC,CAAA,GACL,QACyB;;AAEhC;AAEA,IAAa,qBAAqB,EAAE,GAAG,YAAiE;CACtG,OAAO,oBAAC,wBAAD;EAAwB,aAAU;EAAsB,GAAI;CAAQ,CAAA;AAC7E;AAEA,IAAa,oBAAoB,EAC/B,WACA,UACA,OACA,GAAG,YAGC;CACJ,OACE,qBAAC,KAAc,WAAf;EACE,aAAU;EACV,cAAY;EACZ,WAAW,GACT,qWACA,SACF;EACA,GAAI;EAPN,UAAA,CASE,oBAAC,QAAD;GAAM,WAAW;GAA4B,aAAU;GACrD,UAAA,oBAAC,KAAc,oBAAf,EAAA,UACE,oBAAC,WAAD,CAAY,CAAA,EACoB,CAAA;EAC9B,CAAA,GACL,QACsB;;AAE7B;AAEA,IAAa,gBAAgB,EAC3B,WACA,OACA,GAAG,YAGC;CACJ,OACE,oBAAC,mBAAD;EACE,aAAU;EACV,cAAY;EACZ,WAAW,GAAG,0DAA0D,SAAS;EACjF,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,oBAAoB,EAAE,WAAW,GAAG,YAAgE;CAC/G,OAAO,oBAAC,uBAAD;EAAuB,aAAU;EAAoB,WAAW,GAAG,6BAA6B,SAAS;EAAG,GAAI;CAAQ,CAAA;AACjI;AAEA,IAAa,mBAAmB,EAAE,WAAW,GAAG,YAA+D;CAC7G,OACE,oBAAC,sBAAD;EACE,aAAU;EACV,WAAW,GAAG,yGAAyG,SAAS;EAChI,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,cAAc,EAAE,GAAG,YAA0D;CACxF,OAAO,oBAAC,iBAAD;EAAiB,aAAU;EAAc,GAAI;CAAQ,CAAA;AAC9D;AAEA,IAAa,qBAAqB,EAChC,WACA,OACA,GAAG,YAGC;CACJ,OACE,oBAAC,wBAAD;EACE,aAAU;EACV,cAAY;EACZ,WAAW,GACT,wMACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,qBAAqB,EAAE,WAAW,GAAG,YAAiE;CACjH,OACE,oBAAC,wBAAD;EACE,aAAU;EACV,WAAW,GACT,gZACA,8BACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,50 @@
1
+ import { cn } from "../../../lib/utils.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region ../ui/src/components/ui/message/message.tsx
4
+ var MessageGroup = ({ className, ...props }) => {
5
+ return /* @__PURE__ */ jsx("div", {
6
+ "data-slot": "message-group",
7
+ className: cn("flex min-w-0 flex-col gap-2", className),
8
+ ...props
9
+ });
10
+ };
11
+ var Message = ({ className, align = "start", ...props }) => {
12
+ return /* @__PURE__ */ jsx("div", {
13
+ "data-slot": "message",
14
+ "data-align": align,
15
+ className: cn("group/message relative flex w-full min-w-0 gap-2 text-sm data-[align=end]:flex-row-reverse", className),
16
+ ...props
17
+ });
18
+ };
19
+ var MessageAvatar = ({ className, ...props }) => {
20
+ return /* @__PURE__ */ jsx("div", {
21
+ "data-slot": "message-avatar",
22
+ className: cn("flex w-fit min-w-8 shrink-0 items-center justify-center self-end overflow-hidden rounded-full bg-muted group-has-data-[slot=message-footer]/message:-translate-y-8", className),
23
+ ...props
24
+ });
25
+ };
26
+ var MessageContent = ({ className, ...props }) => {
27
+ return /* @__PURE__ */ jsx("div", {
28
+ "data-slot": "message-content",
29
+ className: cn("flex w-full min-w-0 flex-col gap-2.5 wrap-break-word group-data-[align=end]/message:*:data-slot:self-end", className),
30
+ ...props
31
+ });
32
+ };
33
+ var MessageHeader = ({ className, ...props }) => {
34
+ return /* @__PURE__ */ jsx("div", {
35
+ "data-slot": "message-header",
36
+ className: cn("flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0", className),
37
+ ...props
38
+ });
39
+ };
40
+ var MessageFooter = ({ className, ...props }) => {
41
+ return /* @__PURE__ */ jsx("div", {
42
+ "data-slot": "message-footer",
43
+ className: cn("flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0 group-data-[align=end]/message:justify-end", className),
44
+ ...props
45
+ });
46
+ };
47
+ //#endregion
48
+ export { Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader };
49
+
50
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","names":[],"sources":["../../../../../../../ui/src/components/ui/message/message.tsx"],"sourcesContent":["import { cn } from '@edyn/ui/lib/utils';\nimport type * as React from 'react';\n\nexport const MessageGroup = ({ className, ...props }: React.ComponentProps<'div'>) => {\n return <div data-slot=\"message-group\" className={cn('flex min-w-0 flex-col gap-2', className)} {...props} />;\n};\n\nexport const Message = ({ className, align = 'start', ...props }: React.ComponentProps<'div'> & { align?: 'start' | 'end' }) => {\n return (\n <div\n data-slot=\"message\"\n data-align={align}\n className={cn('group/message relative flex w-full min-w-0 gap-2 text-sm data-[align=end]:flex-row-reverse', className)}\n {...props}\n />\n );\n};\n\nexport const MessageAvatar = ({ className, ...props }: React.ComponentProps<'div'>) => {\n return (\n <div\n data-slot=\"message-avatar\"\n className={cn(\n 'flex w-fit min-w-8 shrink-0 items-center justify-center self-end overflow-hidden rounded-full bg-muted group-has-data-[slot=message-footer]/message:-translate-y-8',\n className,\n )}\n {...props}\n />\n );\n};\n\nexport const MessageContent = ({ className, ...props }: React.ComponentProps<'div'>) => {\n return (\n <div\n data-slot=\"message-content\"\n className={cn('flex w-full min-w-0 flex-col gap-2.5 wrap-break-word group-data-[align=end]/message:*:data-slot:self-end', className)}\n {...props}\n />\n );\n};\n\nexport const MessageHeader = ({ className, ...props }: React.ComponentProps<'div'>) => {\n return (\n <div\n data-slot=\"message-header\"\n className={cn(\n 'flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0',\n className,\n )}\n {...props}\n />\n );\n};\n\nexport const MessageFooter = ({ className, ...props }: React.ComponentProps<'div'>) => {\n return (\n <div\n data-slot=\"message-footer\"\n className={cn(\n 'flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0 group-data-[align=end]/message:justify-end',\n className,\n )}\n {...props}\n />\n );\n};\n"],"mappings":";;;AAGA,IAAa,gBAAgB,EAAE,WAAW,GAAG,YAAyC;CACpF,OAAO,oBAAC,OAAD;EAAK,aAAU;EAAgB,WAAW,GAAG,+BAA+B,SAAS;EAAG,GAAI;CAAQ,CAAA;AAC7G;AAEA,IAAa,WAAW,EAAE,WAAW,QAAQ,SAAS,GAAG,YAAuE;CAC9H,OACE,oBAAC,OAAD;EACE,aAAU;EACV,cAAY;EACZ,WAAW,GAAG,8FAA8F,SAAS;EACrH,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,iBAAiB,EAAE,WAAW,GAAG,YAAyC;CACrF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,sKACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,kBAAkB,EAAE,WAAW,GAAG,YAAyC;CACtF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,4GAA4G,SAAS;EACnI,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,iBAAiB,EAAE,WAAW,GAAG,YAAyC;CACrF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,mIACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,iBAAiB,EAAE,WAAW,GAAG,YAAyC;CACrF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,8KACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,61 @@
1
+ import { cn } from "../../../lib/utils.js";
2
+ import { Button } from "../button/button.js";
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
+ import { IconArrowDown } from "@tabler/icons-react";
5
+ import { MessageScroller, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility } from "@shadcn/react/message-scroller";
6
+ //#region ../ui/src/components/ui/message-scroller/message-scroller.tsx
7
+ var MessageScrollerProvider = (props) => {
8
+ return /* @__PURE__ */ jsx(MessageScroller.Provider, { ...props });
9
+ };
10
+ var MessageScroller$1 = ({ className, ...props }) => {
11
+ return /* @__PURE__ */ jsx(MessageScroller.Root, {
12
+ "data-slot": "message-scroller",
13
+ className: cn("group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden", className),
14
+ ...props
15
+ });
16
+ };
17
+ var MessageScrollerViewport = ({ className, ...props }) => {
18
+ return /* @__PURE__ */ jsx(MessageScroller.Viewport, {
19
+ "data-slot": "message-scroller-viewport",
20
+ className: cn("size-full min-h-0 min-w-0 scroll-fade-b scrollbar-thin scrollbar-gutter-stable overflow-y-auto overscroll-contain contain-content data-autoscrolling:scrollbar-thumb-transparent data-autoscrolling:scrollbar-track-transparent data-pending-scroll:invisible", className),
21
+ ...props
22
+ });
23
+ };
24
+ var MessageScrollerContent = ({ className, ...props }) => {
25
+ return /* @__PURE__ */ jsx(MessageScroller.Content, {
26
+ "data-slot": "message-scroller-content",
27
+ className: cn("flex h-max min-h-full flex-col gap-6", className),
28
+ ...props
29
+ });
30
+ };
31
+ var MessageScrollerItem = ({ className, scrollAnchor = false, ...props }) => {
32
+ return /* @__PURE__ */ jsx(MessageScroller.Item, {
33
+ "data-slot": "message-scroller-item",
34
+ scrollAnchor,
35
+ className: cn("min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]", className),
36
+ ...props
37
+ });
38
+ };
39
+ var MessageScrollerButton = ({ direction = "end", className, children, render, variant = "secondary", size = "icon-sm", ...props }) => {
40
+ return /* @__PURE__ */ jsx(MessageScroller.Button, {
41
+ "data-slot": "message-scroller-button",
42
+ "data-direction": direction,
43
+ "data-variant": variant,
44
+ "data-size": size,
45
+ direction,
46
+ className: cn("absolute inset-s-1/2 -translate-x-1/2 border-border bg-background text-foreground transition-[translate,scale,opacity] duration-200 motion-reduce:transition-none hover:bg-muted hover:text-foreground data-[active=false]:pointer-events-none data-[active=false]:scale-95 data-[active=false]:opacity-0 data-[active=false]:duration-400 data-[active=false]:ease-[cubic-bezier(0.7,0,0.84,0)] data-[active=true]:translate-y-0 data-[active=true]:scale-100 data-[active=true]:opacity-100 data-[active=true]:ease-[cubic-bezier(0.23,1,0.32,1)] data-[direction=end]:bottom-4 data-[direction=end]:data-[active=false]:translate-y-full data-[direction=start]:top-4 data-[direction=start]:data-[active=false]:-translate-y-full rtl:translate-x-1/2 data-[direction=start]:[&_svg]:rotate-180", className),
47
+ render: render ?? /* @__PURE__ */ jsx(Button, {
48
+ variant,
49
+ size
50
+ }),
51
+ ...props,
52
+ children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(IconArrowDown, {}), /* @__PURE__ */ jsx("span", {
53
+ className: "sr-only",
54
+ children: direction === "end" ? "Scroll to end" : "Scroll to start"
55
+ })] })
56
+ });
57
+ };
58
+ //#endregion
59
+ export { MessageScroller$1 as MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility };
60
+
61
+ //# sourceMappingURL=message-scroller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-scroller.js","names":[],"sources":["../../../../../../../ui/src/components/ui/message-scroller/message-scroller.tsx"],"sourcesContent":["import { cn } from '@edyn/ui/lib/utils';\nimport { MessageScroller as MessageScrollerPrimitive } from '@shadcn/react/message-scroller';\n\nexport { useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility } from '@shadcn/react/message-scroller';\n\nimport { IconArrowDown } from '@tabler/icons-react';\nimport type * as React from 'react';\nimport { Button } from '../button';\n\nexport const MessageScrollerProvider = (props: React.ComponentProps<typeof MessageScrollerPrimitive.Provider>) => {\n return <MessageScrollerPrimitive.Provider {...props} />;\n};\n\nexport const MessageScroller = ({ className, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Root>) => {\n return (\n <MessageScrollerPrimitive.Root\n data-slot=\"message-scroller\"\n className={cn('group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden', className)}\n {...props}\n />\n );\n};\n\nexport const MessageScrollerViewport = ({ className, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Viewport>) => {\n return (\n <MessageScrollerPrimitive.Viewport\n data-slot=\"message-scroller-viewport\"\n className={cn(\n 'size-full min-h-0 min-w-0 scroll-fade-b scrollbar-thin scrollbar-gutter-stable overflow-y-auto overscroll-contain contain-content data-autoscrolling:scrollbar-thumb-transparent data-autoscrolling:scrollbar-track-transparent data-pending-scroll:invisible',\n className,\n )}\n {...props}\n />\n );\n};\n\nexport const MessageScrollerContent = ({ className, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Content>) => {\n return (\n <MessageScrollerPrimitive.Content\n data-slot=\"message-scroller-content\"\n className={cn('flex h-max min-h-full flex-col gap-6', className)}\n {...props}\n />\n );\n};\n\nexport const MessageScrollerItem = ({ className, scrollAnchor = false, ...props }: React.ComponentProps<typeof MessageScrollerPrimitive.Item>) => {\n return (\n <MessageScrollerPrimitive.Item\n data-slot=\"message-scroller-item\"\n scrollAnchor={scrollAnchor}\n className={cn('min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]', className)}\n {...props}\n />\n );\n};\n\nexport const MessageScrollerButton = ({\n direction = 'end',\n className,\n children,\n render,\n variant = 'secondary',\n size = 'icon-sm',\n ...props\n}: React.ComponentProps<typeof MessageScrollerPrimitive.Button> & Pick<React.ComponentProps<typeof Button>, 'variant' | 'size'>) => {\n return (\n <MessageScrollerPrimitive.Button\n data-slot=\"message-scroller-button\"\n data-direction={direction}\n data-variant={variant}\n data-size={size}\n direction={direction}\n className={cn(\n 'absolute inset-s-1/2 -translate-x-1/2 border-border bg-background text-foreground transition-[translate,scale,opacity] duration-200 motion-reduce:transition-none hover:bg-muted hover:text-foreground data-[active=false]:pointer-events-none data-[active=false]:scale-95 data-[active=false]:opacity-0 data-[active=false]:duration-400 data-[active=false]:ease-[cubic-bezier(0.7,0,0.84,0)] data-[active=true]:translate-y-0 data-[active=true]:scale-100 data-[active=true]:opacity-100 data-[active=true]:ease-[cubic-bezier(0.23,1,0.32,1)] data-[direction=end]:bottom-4 data-[direction=end]:data-[active=false]:translate-y-full data-[direction=start]:top-4 data-[direction=start]:data-[active=false]:-translate-y-full rtl:translate-x-1/2 data-[direction=start]:[&_svg]:rotate-180',\n className,\n )}\n render={render ?? <Button variant={variant} size={size} />}\n {...props}\n >\n {children ?? (\n <>\n <IconArrowDown />\n <span className=\"sr-only\">{direction === 'end' ? 'Scroll to end' : 'Scroll to start'}</span>\n </>\n )}\n </MessageScrollerPrimitive.Button>\n );\n};\n"],"mappings":";;;;;;AASA,IAAa,2BAA2B,UAA0E;CAChH,OAAO,oBAAC,gBAAyB,UAA1B,EAAmC,GAAI,MAAQ,CAAA;AACxD;AAEA,IAAa,qBAAmB,EAAE,WAAW,GAAG,YAAwE;CACtH,OACE,oBAAC,gBAAyB,MAA1B;EACE,aAAU;EACV,WAAW,GAAG,mFAAmF,SAAS;EAC1G,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,2BAA2B,EAAE,WAAW,GAAG,YAA4E;CAClI,OACE,oBAAC,gBAAyB,UAA1B;EACE,aAAU;EACV,WAAW,GACT,iQACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,0BAA0B,EAAE,WAAW,GAAG,YAA2E;CAChI,OACE,oBAAC,gBAAyB,SAA1B;EACE,aAAU;EACV,WAAW,GAAG,wCAAwC,SAAS;EAC/D,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,uBAAuB,EAAE,WAAW,eAAe,OAAO,GAAG,YAAwE;CAChJ,OACE,oBAAC,gBAAyB,MAA1B;EACE,aAAU;EACI;EACd,WAAW,GAAG,kFAAkF,SAAS;EACzG,GAAI;CACL,CAAA;AAEL;AAEA,IAAa,yBAAyB,EACpC,YAAY,OACZ,WACA,UACA,QACA,UAAU,aACV,OAAO,WACP,GAAG,YAC+H;CAClI,OACE,oBAAC,gBAAyB,QAA1B;EACE,aAAU;EACV,kBAAgB;EAChB,gBAAc;EACd,aAAW;EACA;EACX,WAAW,GACT,uwBACA,SACF;EACA,QAAQ,UAAU,oBAAC,QAAD;GAAiB;GAAe;EAAO,CAAA;EACzD,GAAI;EAEH,UAAA,YACC,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,eAAD,CAAgB,CAAA,GAChB,oBAAC,QAAD;GAAM,WAAU;GAAW,UAAA,cAAc,QAAQ,kBAAkB;EAAwB,CAAA,CAC3F,EAAA,CAAA;CAE2B,CAAA;AAErC"}
@@ -0,0 +1,39 @@
1
+ import { cn } from "../../../lib/utils.js";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { IconSelector } from "@tabler/icons-react";
4
+ //#region ../ui/src/components/ui/native-select/native-select.tsx
5
+ var NativeSelect = ({ className, size = "default", ...props }) => {
6
+ return /* @__PURE__ */ jsxs("div", {
7
+ className: cn("group/native-select relative w-fit has-[select:disabled]:opacity-50", className),
8
+ "data-slot": "native-select-wrapper",
9
+ "data-size": size,
10
+ children: [/* @__PURE__ */ jsx("select", {
11
+ "data-slot": "native-select",
12
+ "data-size": size,
13
+ className: "h-8 w-full min-w-0 appearance-none rounded-lg border border-control bg-transparent py-1 pr-8 pl-2.5 text-sm transition-colors outline-none select-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:py-0.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
14
+ ...props
15
+ }), /* @__PURE__ */ jsx(IconSelector, {
16
+ className: "pointer-events-none absolute top-1/2 right-2.5 size-4 -translate-y-1/2 text-muted-foreground select-none",
17
+ "aria-hidden": "true",
18
+ "data-slot": "native-select-icon"
19
+ })]
20
+ });
21
+ };
22
+ var NativeSelectOption = ({ className, ...props }) => {
23
+ return /* @__PURE__ */ jsx("option", {
24
+ "data-slot": "native-select-option",
25
+ className: cn("bg-[Canvas] text-[CanvasText]", className),
26
+ ...props
27
+ });
28
+ };
29
+ var NativeSelectOptGroup = ({ className, ...props }) => {
30
+ return /* @__PURE__ */ jsx("optgroup", {
31
+ "data-slot": "native-select-optgroup",
32
+ className: cn("bg-[Canvas] text-[CanvasText]", className),
33
+ ...props
34
+ });
35
+ };
36
+ //#endregion
37
+ export { NativeSelect, NativeSelectOptGroup, NativeSelectOption };
38
+
39
+ //# sourceMappingURL=native-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-select.js","names":[],"sources":["../../../../../../../ui/src/components/ui/native-select/native-select.tsx"],"sourcesContent":["import { cn } from '@edyn/ui/lib/utils';\nimport { IconSelector } from '@tabler/icons-react';\nimport type * as React from 'react';\n\ntype TNativeSelectProps = Omit<React.ComponentProps<'select'>, 'size'> & {\n size?: 'sm' | 'default';\n};\n\nexport const NativeSelect = ({ className, size = 'default', ...props }: TNativeSelectProps) => {\n return (\n <div\n className={cn('group/native-select relative w-fit has-[select:disabled]:opacity-50', className)}\n data-slot=\"native-select-wrapper\"\n data-size={size}\n >\n <select\n data-slot=\"native-select\"\n data-size={size}\n className=\"h-8 w-full min-w-0 appearance-none rounded-lg border border-control bg-transparent py-1 pr-8 pl-2.5 text-sm transition-colors outline-none select-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:py-0.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\"\n {...props}\n />\n <IconSelector\n className=\"pointer-events-none absolute top-1/2 right-2.5 size-4 -translate-y-1/2 text-muted-foreground select-none\"\n aria-hidden=\"true\"\n data-slot=\"native-select-icon\"\n />\n </div>\n );\n};\n\nexport const NativeSelectOption = ({ className, ...props }: React.ComponentProps<'option'>) => {\n return <option data-slot=\"native-select-option\" className={cn('bg-[Canvas] text-[CanvasText]', className)} {...props} />;\n};\n\nexport const NativeSelectOptGroup = ({ className, ...props }: React.ComponentProps<'optgroup'>) => {\n return <optgroup data-slot=\"native-select-optgroup\" className={cn('bg-[Canvas] text-[CanvasText]', className)} {...props} />;\n};\n"],"mappings":";;;;AAQA,IAAa,gBAAgB,EAAE,WAAW,OAAO,WAAW,GAAG,YAAgC;CAC7F,OACE,qBAAC,OAAD;EACE,WAAW,GAAG,uEAAuE,SAAS;EAC9F,aAAU;EACV,aAAW;EAHb,UAAA,CAKE,oBAAC,UAAD;GACE,aAAU;GACV,aAAW;GACX,WAAU;GACV,GAAI;EACL,CAAA,GACD,oBAAC,cAAD;GACE,WAAU;GACV,eAAY;GACZ,aAAU;EACX,CAAA,CACE;;AAET;AAEA,IAAa,sBAAsB,EAAE,WAAW,GAAG,YAA4C;CAC7F,OAAO,oBAAC,UAAD;EAAQ,aAAU;EAAuB,WAAW,GAAG,iCAAiC,SAAS;EAAG,GAAI;CAAQ,CAAA;AACzH;AAEA,IAAa,wBAAwB,EAAE,WAAW,GAAG,YAA8C;CACjG,OAAO,oBAAC,YAAD;EAAU,aAAU;EAAyB,WAAW,GAAG,iCAAiC,SAAS;EAAG,GAAI;CAAQ,CAAA;AAC7H"}