@editora/ui-core 0.1.9 → 0.1.12

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 (526) hide show
  1. package/README.md +35 -0
  2. package/dist/ElementBase-1b301e7f.js +1 -0
  3. package/dist/ElementBase-909688f3.mjs +79 -0
  4. package/dist/accordion.cjs.js +360 -0
  5. package/dist/accordion.esm.js +647 -0
  6. package/dist/alert-dialog.cjs.js +567 -0
  7. package/dist/alert-dialog.esm.js +1043 -0
  8. package/dist/alert.cjs.js +351 -0
  9. package/dist/alert.esm.js +450 -0
  10. package/dist/anchor.cjs.js +30 -0
  11. package/dist/anchor.esm.js +62 -0
  12. package/dist/animated-beam.cjs.js +720 -0
  13. package/dist/animated-beam.esm.js +1540 -0
  14. package/dist/animated-list.cjs.js +672 -0
  15. package/dist/animated-list.esm.js +1137 -0
  16. package/dist/animated-text.cjs.js +683 -0
  17. package/dist/animated-text.esm.js +1020 -0
  18. package/dist/app-header.cjs.js +345 -0
  19. package/dist/app-header.esm.js +398 -0
  20. package/dist/aspect-ratio.cjs.js +294 -0
  21. package/dist/aspect-ratio.esm.js +416 -0
  22. package/dist/avatar.cjs.js +365 -0
  23. package/dist/avatar.esm.js +513 -0
  24. package/dist/badge.cjs.js +432 -0
  25. package/dist/badge.esm.js +554 -0
  26. package/dist/block-controls.cjs.js +347 -0
  27. package/dist/block-controls.esm.js +556 -0
  28. package/dist/box.cjs.js +226 -0
  29. package/dist/box.esm.js +556 -0
  30. package/dist/breadcrumb.cjs.js +288 -0
  31. package/dist/breadcrumb.esm.js +523 -0
  32. package/dist/button.cjs.js +521 -0
  33. package/dist/button.esm.js +671 -0
  34. package/dist/calendar-2c11b824.mjs +1685 -0
  35. package/dist/calendar-a8735e40.js +741 -0
  36. package/dist/calendar.cjs.js +1 -0
  37. package/dist/calendar.esm.js +11 -0
  38. package/dist/card.cjs.js +306 -0
  39. package/dist/card.esm.js +378 -0
  40. package/dist/chart.cjs.js +783 -0
  41. package/dist/chart.esm.js +1369 -0
  42. package/dist/checkbox.cjs.js +338 -0
  43. package/dist/checkbox.esm.js +455 -0
  44. package/dist/collapsible.cjs.js +381 -0
  45. package/dist/collapsible.esm.js +548 -0
  46. package/dist/collection-a1aac0c6.mjs +56 -0
  47. package/dist/collection-a2969ad2.js +1 -0
  48. package/dist/collection.cjs.js +1 -0
  49. package/dist/collection.esm.js +136 -0
  50. package/dist/color-picker.cjs.js +803 -0
  51. package/dist/color-picker.esm.js +1809 -0
  52. package/dist/combobox.cjs.js +525 -0
  53. package/dist/combobox.esm.js +1023 -0
  54. package/dist/command-palette.cjs.js +67 -0
  55. package/dist/command-palette.esm.js +181 -0
  56. package/dist/command.cjs.js +130 -0
  57. package/dist/command.esm.js +307 -0
  58. package/dist/components/ui-icon.d.ts.map +1 -1
  59. package/dist/components/ui-split-button.d.ts +2 -0
  60. package/dist/components/ui-split-button.d.ts.map +1 -1
  61. package/dist/container.cjs.js +115 -0
  62. package/dist/container.esm.js +156 -0
  63. package/dist/context-menu.cjs.js +357 -0
  64. package/dist/context-menu.esm.js +1204 -0
  65. package/dist/control-group.cjs.js +80 -0
  66. package/dist/control-group.esm.js +110 -0
  67. package/dist/data-table.cjs.js +682 -0
  68. package/dist/data-table.esm.js +1660 -0
  69. package/dist/date-field.cjs.js +142 -0
  70. package/dist/date-field.esm.js +384 -0
  71. package/dist/date-picker.cjs.js +570 -0
  72. package/dist/date-picker.esm.js +1067 -0
  73. package/dist/date-range-picker.cjs.js +455 -0
  74. package/dist/date-range-picker.esm.js +973 -0
  75. package/dist/date-range-time-picker.cjs.js +573 -0
  76. package/dist/date-range-time-picker.esm.js +1137 -0
  77. package/dist/date-time-picker.cjs.js +495 -0
  78. package/dist/date-time-picker.esm.js +1062 -0
  79. package/dist/date-time-utils-5cf58cd0.js +1 -0
  80. package/dist/date-time-utils-bdceb7af.mjs +273 -0
  81. package/dist/description.cjs.js +85 -0
  82. package/dist/description.esm.js +136 -0
  83. package/dist/dialog.cjs.js +406 -0
  84. package/dist/dialog.esm.js +822 -0
  85. package/dist/direction-provider.cjs.js +30 -0
  86. package/dist/direction-provider.esm.js +74 -0
  87. package/dist/dismissable-layer-193e3bed.js +1 -0
  88. package/dist/dismissable-layer-9c7e6b58.mjs +112 -0
  89. package/dist/dismissable-layer.cjs.js +6 -0
  90. package/dist/dismissable-layer.esm.js +115 -0
  91. package/dist/dock.cjs.js +347 -0
  92. package/dist/dock.esm.js +826 -0
  93. package/dist/drawer.cjs.js +538 -0
  94. package/dist/drawer.esm.js +872 -0
  95. package/dist/dropdown.cjs.js +511 -0
  96. package/dist/dropdown.esm.js +1084 -0
  97. package/dist/dropzone.cjs.js +1 -0
  98. package/dist/dropzone.esm.js +11 -0
  99. package/dist/empty-state.cjs.js +169 -0
  100. package/dist/empty-state.esm.js +199 -0
  101. package/dist/field-error.cjs.js +74 -0
  102. package/dist/field-error.esm.js +125 -0
  103. package/dist/field.cjs.js +398 -0
  104. package/dist/field.esm.js +542 -0
  105. package/dist/fieldset.cjs.js +214 -0
  106. package/dist/fieldset.esm.js +298 -0
  107. package/dist/file-upload.cjs.js +353 -0
  108. package/dist/file-upload.esm.js +740 -0
  109. package/dist/flex.cjs.js +54 -0
  110. package/dist/flex.esm.js +168 -0
  111. package/dist/floating-toolbar.cjs.js +223 -0
  112. package/dist/floating-toolbar.esm.js +513 -0
  113. package/dist/focus-scope-103833ee.mjs +147 -0
  114. package/dist/focus-scope-2b12b4e7.js +1 -0
  115. package/dist/focus-scope.cjs.js +6 -0
  116. package/dist/focus-scope.esm.js +97 -0
  117. package/dist/form.cjs.js +377 -0
  118. package/dist/form.esm.js +862 -0
  119. package/dist/gantt.cjs.js +157 -0
  120. package/dist/gantt.esm.js +214 -0
  121. package/dist/grid.cjs.js +67 -0
  122. package/dist/grid.esm.js +211 -0
  123. package/dist/hover-card.cjs.js +284 -0
  124. package/dist/hover-card.esm.js +470 -0
  125. package/dist/icon-9e9da03b.js +207 -0
  126. package/dist/icon-cloud.cjs.js +495 -0
  127. package/dist/icon-cloud.esm.js +828 -0
  128. package/dist/icon-e2a85cc1.mjs +368 -0
  129. package/dist/icon.cjs.js +1 -0
  130. package/dist/icon.esm.js +6 -0
  131. package/dist/icons.d.ts +1 -1
  132. package/dist/icons.d.ts.map +1 -1
  133. package/dist/index.cjs.js +1 -36010
  134. package/dist/index.esm.js +440 -66615
  135. package/dist/inline-edit.cjs.js +118 -0
  136. package/dist/inline-edit.esm.js +206 -0
  137. package/dist/input.cjs.js +535 -0
  138. package/dist/input.esm.js +790 -0
  139. package/dist/label.cjs.js +195 -0
  140. package/dist/label.esm.js +301 -0
  141. package/dist/layout.cjs.js +266 -0
  142. package/dist/layout.esm.js +408 -0
  143. package/dist/listbox-308789a0.mjs +210 -0
  144. package/dist/listbox-ef2f708e.js +46 -0
  145. package/dist/listbox.cjs.js +1 -0
  146. package/dist/listbox.esm.js +6 -0
  147. package/dist/marquee.cjs.js +513 -0
  148. package/dist/marquee.esm.js +767 -0
  149. package/dist/masonry-grid.cjs.js +65 -0
  150. package/dist/masonry-grid.esm.js +180 -0
  151. package/dist/menu-item-styles-27fdbac4.mjs +181 -0
  152. package/dist/menu-item-styles-83ad1e22.js +152 -0
  153. package/dist/menu.cjs.js +275 -0
  154. package/dist/menu.esm.js +743 -0
  155. package/dist/menubar.cjs.js +455 -0
  156. package/dist/menubar.esm.js +1195 -0
  157. package/dist/meter.cjs.js +241 -0
  158. package/dist/meter.esm.js +334 -0
  159. package/dist/multi-select.cjs.js +549 -0
  160. package/dist/multi-select.esm.js +914 -0
  161. package/dist/navigation-menu.cjs.js +382 -0
  162. package/dist/navigation-menu.esm.js +614 -0
  163. package/dist/number-field.cjs.js +351 -0
  164. package/dist/number-field.esm.js +771 -0
  165. package/dist/number-ticker.cjs.js +209 -0
  166. package/dist/number-ticker.esm.js +749 -0
  167. package/dist/odometer.cjs.js +313 -0
  168. package/dist/odometer.esm.js +565 -0
  169. package/dist/orbiter.cjs.js +495 -0
  170. package/dist/orbiter.esm.js +831 -0
  171. package/dist/overlayManager-86454af7.mjs +58 -0
  172. package/dist/overlayManager-ece06517.js +1 -0
  173. package/dist/pagination.cjs.js +201 -0
  174. package/dist/pagination.esm.js +297 -0
  175. package/dist/panel-group-40254cdd.js +36 -0
  176. package/dist/panel-group-a376cc5e.mjs +326 -0
  177. package/dist/panel-group.cjs.js +1 -0
  178. package/dist/panel-group.esm.js +7 -0
  179. package/dist/panel.cjs.js +22 -0
  180. package/dist/panel.esm.js +46 -0
  181. package/dist/password-field.cjs.js +626 -0
  182. package/dist/password-field.esm.js +925 -0
  183. package/dist/pin-input.cjs.js +185 -0
  184. package/dist/pin-input.esm.js +412 -0
  185. package/dist/placement-grid.cjs.js +99 -0
  186. package/dist/placement-grid.esm.js +486 -0
  187. package/dist/plugin-panel.cjs.js +131 -0
  188. package/dist/plugin-panel.esm.js +173 -0
  189. package/dist/popover.cjs.js +286 -0
  190. package/dist/popover.esm.js +483 -0
  191. package/dist/portal-1cf392ca.mjs +114 -0
  192. package/dist/portal-d8d7fbca.js +1 -0
  193. package/dist/portal.cjs.js +39 -0
  194. package/dist/portal.esm.js +187 -0
  195. package/dist/positioner-accc6e5f.js +1 -0
  196. package/dist/positioner-fbd61bf1.mjs +132 -0
  197. package/dist/positioner.cjs.js +6 -0
  198. package/dist/positioner.esm.js +137 -0
  199. package/dist/presence.cjs.js +164 -0
  200. package/dist/presence.esm.js +301 -0
  201. package/dist/progress.cjs.js +329 -0
  202. package/dist/progress.esm.js +453 -0
  203. package/dist/quick-actions.cjs.js +202 -0
  204. package/dist/quick-actions.esm.js +357 -0
  205. package/dist/radio-group.cjs.js +257 -0
  206. package/dist/radio-group.esm.js +477 -0
  207. package/dist/rating.cjs.js +355 -0
  208. package/dist/rating.esm.js +637 -0
  209. package/dist/roving-focus-group-4350c9a7.mjs +50 -0
  210. package/dist/roving-focus-group-5c059bf9.js +1 -0
  211. package/dist/roving-focus-group.cjs.js +1 -0
  212. package/dist/roving-focus-group.esm.js +72 -0
  213. package/dist/{runtime-3cc1c386.mjs → runtime-4ac0107b.mjs} +348 -459
  214. package/dist/runtime-5f282bc8.js +1 -0
  215. package/dist/runtime.cjs.js +1 -1
  216. package/dist/runtime.esm.js +24 -23
  217. package/dist/scroll-area.cjs.js +294 -0
  218. package/dist/scroll-area.esm.js +478 -0
  219. package/dist/scroll-lock-48793569.js +1 -0
  220. package/dist/scroll-lock-9de6d328.mjs +53 -0
  221. package/dist/section.cjs.js +167 -0
  222. package/dist/section.esm.js +202 -0
  223. package/dist/select.cjs.js +799 -0
  224. package/dist/select.esm.js +1266 -0
  225. package/dist/selection-popup.cjs.js +203 -0
  226. package/dist/selection-popup.esm.js +392 -0
  227. package/dist/separator.cjs.js +221 -0
  228. package/dist/separator.esm.js +241 -0
  229. package/dist/sidebar.cjs.js +769 -0
  230. package/dist/sidebar.esm.js +1219 -0
  231. package/dist/skeleton.cjs.js +205 -0
  232. package/dist/skeleton.esm.js +249 -0
  233. package/dist/slider.cjs.js +493 -0
  234. package/dist/slider.esm.js +694 -0
  235. package/dist/slot.cjs.js +159 -0
  236. package/dist/slot.esm.js +227 -0
  237. package/dist/sortable.cjs.js +855 -1
  238. package/dist/sortable.esm.js +2176 -2
  239. package/dist/spinning-text.cjs.js +395 -0
  240. package/dist/spinning-text.esm.js +635 -0
  241. package/dist/split-button.cjs.js +485 -0
  242. package/dist/split-button.esm.js +709 -0
  243. package/dist/splitter.cjs.js +70 -0
  244. package/dist/splitter.esm.js +105 -0
  245. package/dist/standalone/accordion.d.ts +2 -0
  246. package/dist/standalone/accordion.d.ts.map +1 -0
  247. package/dist/standalone/alert-dialog.d.ts +2 -0
  248. package/dist/standalone/alert-dialog.d.ts.map +1 -0
  249. package/dist/standalone/alert.d.ts +2 -0
  250. package/dist/standalone/alert.d.ts.map +1 -0
  251. package/dist/standalone/anchor.d.ts +2 -0
  252. package/dist/standalone/anchor.d.ts.map +1 -0
  253. package/dist/standalone/animated-beam.d.ts +2 -0
  254. package/dist/standalone/animated-beam.d.ts.map +1 -0
  255. package/dist/standalone/animated-list.d.ts +2 -0
  256. package/dist/standalone/animated-list.d.ts.map +1 -0
  257. package/dist/standalone/animated-text.d.ts +2 -0
  258. package/dist/standalone/animated-text.d.ts.map +1 -0
  259. package/dist/standalone/app-header.d.ts +2 -0
  260. package/dist/standalone/app-header.d.ts.map +1 -0
  261. package/dist/standalone/aspect-ratio.d.ts +2 -0
  262. package/dist/standalone/aspect-ratio.d.ts.map +1 -0
  263. package/dist/standalone/avatar.d.ts +2 -0
  264. package/dist/standalone/avatar.d.ts.map +1 -0
  265. package/dist/standalone/badge.d.ts +2 -0
  266. package/dist/standalone/badge.d.ts.map +1 -0
  267. package/dist/standalone/block-controls.d.ts +2 -0
  268. package/dist/standalone/block-controls.d.ts.map +1 -0
  269. package/dist/standalone/box.d.ts +2 -0
  270. package/dist/standalone/box.d.ts.map +1 -0
  271. package/dist/standalone/breadcrumb.d.ts +2 -0
  272. package/dist/standalone/breadcrumb.d.ts.map +1 -0
  273. package/dist/standalone/button.d.ts +2 -0
  274. package/dist/standalone/button.d.ts.map +1 -0
  275. package/dist/standalone/calendar.d.ts +2 -0
  276. package/dist/standalone/calendar.d.ts.map +1 -0
  277. package/dist/standalone/card.d.ts +2 -0
  278. package/dist/standalone/card.d.ts.map +1 -0
  279. package/dist/standalone/chart.d.ts +2 -0
  280. package/dist/standalone/chart.d.ts.map +1 -0
  281. package/dist/standalone/checkbox.d.ts +2 -0
  282. package/dist/standalone/checkbox.d.ts.map +1 -0
  283. package/dist/standalone/collapsible.d.ts +2 -0
  284. package/dist/standalone/collapsible.d.ts.map +1 -0
  285. package/dist/standalone/collection.d.ts +2 -0
  286. package/dist/standalone/collection.d.ts.map +1 -0
  287. package/dist/standalone/color-picker.d.ts +2 -0
  288. package/dist/standalone/color-picker.d.ts.map +1 -0
  289. package/dist/standalone/combobox.d.ts +2 -0
  290. package/dist/standalone/combobox.d.ts.map +1 -0
  291. package/dist/standalone/command-palette.d.ts +2 -0
  292. package/dist/standalone/command-palette.d.ts.map +1 -0
  293. package/dist/standalone/command.d.ts +2 -0
  294. package/dist/standalone/command.d.ts.map +1 -0
  295. package/dist/standalone/container.d.ts +2 -0
  296. package/dist/standalone/container.d.ts.map +1 -0
  297. package/dist/standalone/context-menu.d.ts +2 -0
  298. package/dist/standalone/context-menu.d.ts.map +1 -0
  299. package/dist/standalone/control-group.d.ts +2 -0
  300. package/dist/standalone/control-group.d.ts.map +1 -0
  301. package/dist/standalone/data-table.d.ts +2 -0
  302. package/dist/standalone/data-table.d.ts.map +1 -0
  303. package/dist/standalone/date-field.d.ts +2 -0
  304. package/dist/standalone/date-field.d.ts.map +1 -0
  305. package/dist/standalone/date-picker.d.ts +2 -0
  306. package/dist/standalone/date-picker.d.ts.map +1 -0
  307. package/dist/standalone/date-range-picker.d.ts +2 -0
  308. package/dist/standalone/date-range-picker.d.ts.map +1 -0
  309. package/dist/standalone/date-range-time-picker.d.ts +2 -0
  310. package/dist/standalone/date-range-time-picker.d.ts.map +1 -0
  311. package/dist/standalone/date-time-picker.d.ts +2 -0
  312. package/dist/standalone/date-time-picker.d.ts.map +1 -0
  313. package/dist/standalone/description.d.ts +2 -0
  314. package/dist/standalone/description.d.ts.map +1 -0
  315. package/dist/standalone/dialog.d.ts +2 -0
  316. package/dist/standalone/dialog.d.ts.map +1 -0
  317. package/dist/standalone/direction-provider.d.ts +2 -0
  318. package/dist/standalone/direction-provider.d.ts.map +1 -0
  319. package/dist/standalone/dismissable-layer.d.ts +2 -0
  320. package/dist/standalone/dismissable-layer.d.ts.map +1 -0
  321. package/dist/standalone/dock.d.ts +2 -0
  322. package/dist/standalone/dock.d.ts.map +1 -0
  323. package/dist/standalone/drawer.d.ts +2 -0
  324. package/dist/standalone/drawer.d.ts.map +1 -0
  325. package/dist/standalone/dropdown.d.ts +2 -0
  326. package/dist/standalone/dropdown.d.ts.map +1 -0
  327. package/dist/standalone/dropzone.d.ts +2 -0
  328. package/dist/standalone/dropzone.d.ts.map +1 -0
  329. package/dist/standalone/empty-state.d.ts +2 -0
  330. package/dist/standalone/empty-state.d.ts.map +1 -0
  331. package/dist/standalone/field-error.d.ts +2 -0
  332. package/dist/standalone/field-error.d.ts.map +1 -0
  333. package/dist/standalone/field.d.ts +2 -0
  334. package/dist/standalone/field.d.ts.map +1 -0
  335. package/dist/standalone/fieldset.d.ts +2 -0
  336. package/dist/standalone/fieldset.d.ts.map +1 -0
  337. package/dist/standalone/file-upload.d.ts +2 -0
  338. package/dist/standalone/file-upload.d.ts.map +1 -0
  339. package/dist/standalone/flex.d.ts +2 -0
  340. package/dist/standalone/flex.d.ts.map +1 -0
  341. package/dist/standalone/floating-toolbar.d.ts +2 -0
  342. package/dist/standalone/floating-toolbar.d.ts.map +1 -0
  343. package/dist/standalone/focus-scope.d.ts +2 -0
  344. package/dist/standalone/focus-scope.d.ts.map +1 -0
  345. package/dist/standalone/form.d.ts +2 -0
  346. package/dist/standalone/form.d.ts.map +1 -0
  347. package/dist/standalone/gantt.d.ts +2 -0
  348. package/dist/standalone/gantt.d.ts.map +1 -0
  349. package/dist/standalone/grid.d.ts +2 -0
  350. package/dist/standalone/grid.d.ts.map +1 -0
  351. package/dist/standalone/hover-card.d.ts +2 -0
  352. package/dist/standalone/hover-card.d.ts.map +1 -0
  353. package/dist/standalone/icon-cloud.d.ts +2 -0
  354. package/dist/standalone/icon-cloud.d.ts.map +1 -0
  355. package/dist/standalone/icon.d.ts +2 -0
  356. package/dist/standalone/icon.d.ts.map +1 -0
  357. package/dist/standalone/inline-edit.d.ts +2 -0
  358. package/dist/standalone/inline-edit.d.ts.map +1 -0
  359. package/dist/standalone/input.d.ts +2 -0
  360. package/dist/standalone/input.d.ts.map +1 -0
  361. package/dist/standalone/label.d.ts +2 -0
  362. package/dist/standalone/label.d.ts.map +1 -0
  363. package/dist/standalone/layout.d.ts +2 -0
  364. package/dist/standalone/layout.d.ts.map +1 -0
  365. package/dist/standalone/listbox.d.ts +2 -0
  366. package/dist/standalone/listbox.d.ts.map +1 -0
  367. package/dist/standalone/marquee.d.ts +2 -0
  368. package/dist/standalone/marquee.d.ts.map +1 -0
  369. package/dist/standalone/masonry-grid.d.ts +2 -0
  370. package/dist/standalone/masonry-grid.d.ts.map +1 -0
  371. package/dist/standalone/menu.d.ts +2 -0
  372. package/dist/standalone/menu.d.ts.map +1 -0
  373. package/dist/standalone/menubar.d.ts +2 -0
  374. package/dist/standalone/menubar.d.ts.map +1 -0
  375. package/dist/standalone/meter.d.ts +2 -0
  376. package/dist/standalone/meter.d.ts.map +1 -0
  377. package/dist/standalone/multi-select.d.ts +2 -0
  378. package/dist/standalone/multi-select.d.ts.map +1 -0
  379. package/dist/standalone/navigation-menu.d.ts +2 -0
  380. package/dist/standalone/navigation-menu.d.ts.map +1 -0
  381. package/dist/standalone/number-field.d.ts +2 -0
  382. package/dist/standalone/number-field.d.ts.map +1 -0
  383. package/dist/standalone/number-ticker.d.ts +2 -0
  384. package/dist/standalone/number-ticker.d.ts.map +1 -0
  385. package/dist/standalone/odometer.d.ts +2 -0
  386. package/dist/standalone/odometer.d.ts.map +1 -0
  387. package/dist/standalone/orbiter.d.ts +2 -0
  388. package/dist/standalone/orbiter.d.ts.map +1 -0
  389. package/dist/standalone/pagination.d.ts +2 -0
  390. package/dist/standalone/pagination.d.ts.map +1 -0
  391. package/dist/standalone/panel-group.d.ts +2 -0
  392. package/dist/standalone/panel-group.d.ts.map +1 -0
  393. package/dist/standalone/panel.d.ts +2 -0
  394. package/dist/standalone/panel.d.ts.map +1 -0
  395. package/dist/standalone/password-field.d.ts +2 -0
  396. package/dist/standalone/password-field.d.ts.map +1 -0
  397. package/dist/standalone/pin-input.d.ts +2 -0
  398. package/dist/standalone/pin-input.d.ts.map +1 -0
  399. package/dist/standalone/placement-grid.d.ts +2 -0
  400. package/dist/standalone/placement-grid.d.ts.map +1 -0
  401. package/dist/standalone/plugin-panel.d.ts +2 -0
  402. package/dist/standalone/plugin-panel.d.ts.map +1 -0
  403. package/dist/standalone/popover.d.ts +2 -0
  404. package/dist/standalone/popover.d.ts.map +1 -0
  405. package/dist/standalone/portal.d.ts +2 -0
  406. package/dist/standalone/portal.d.ts.map +1 -0
  407. package/dist/standalone/positioner.d.ts +2 -0
  408. package/dist/standalone/positioner.d.ts.map +1 -0
  409. package/dist/standalone/presence.d.ts +2 -0
  410. package/dist/standalone/presence.d.ts.map +1 -0
  411. package/dist/standalone/progress.d.ts +2 -0
  412. package/dist/standalone/progress.d.ts.map +1 -0
  413. package/dist/standalone/quick-actions.d.ts +2 -0
  414. package/dist/standalone/quick-actions.d.ts.map +1 -0
  415. package/dist/standalone/radio-group.d.ts +2 -0
  416. package/dist/standalone/radio-group.d.ts.map +1 -0
  417. package/dist/standalone/rating.d.ts +2 -0
  418. package/dist/standalone/rating.d.ts.map +1 -0
  419. package/dist/standalone/roving-focus-group.d.ts +2 -0
  420. package/dist/standalone/roving-focus-group.d.ts.map +1 -0
  421. package/dist/standalone/scroll-area.d.ts +2 -0
  422. package/dist/standalone/scroll-area.d.ts.map +1 -0
  423. package/dist/standalone/section.d.ts +2 -0
  424. package/dist/standalone/section.d.ts.map +1 -0
  425. package/dist/standalone/select.d.ts +2 -0
  426. package/dist/standalone/select.d.ts.map +1 -0
  427. package/dist/standalone/selection-popup.d.ts +2 -0
  428. package/dist/standalone/selection-popup.d.ts.map +1 -0
  429. package/dist/standalone/separator.d.ts +2 -0
  430. package/dist/standalone/separator.d.ts.map +1 -0
  431. package/dist/standalone/sidebar.d.ts +2 -0
  432. package/dist/standalone/sidebar.d.ts.map +1 -0
  433. package/dist/standalone/skeleton.d.ts +2 -0
  434. package/dist/standalone/skeleton.d.ts.map +1 -0
  435. package/dist/standalone/slider.d.ts +2 -0
  436. package/dist/standalone/slider.d.ts.map +1 -0
  437. package/dist/standalone/slot.d.ts +2 -0
  438. package/dist/standalone/slot.d.ts.map +1 -0
  439. package/dist/standalone/spinning-text.d.ts +2 -0
  440. package/dist/standalone/spinning-text.d.ts.map +1 -0
  441. package/dist/standalone/split-button.d.ts +2 -0
  442. package/dist/standalone/split-button.d.ts.map +1 -0
  443. package/dist/standalone/splitter.d.ts +2 -0
  444. package/dist/standalone/splitter.d.ts.map +1 -0
  445. package/dist/standalone/stepper.d.ts +2 -0
  446. package/dist/standalone/stepper.d.ts.map +1 -0
  447. package/dist/standalone/switch.d.ts +2 -0
  448. package/dist/standalone/switch.d.ts.map +1 -0
  449. package/dist/standalone/table.d.ts +2 -0
  450. package/dist/standalone/table.d.ts.map +1 -0
  451. package/dist/standalone/tabs.d.ts +2 -0
  452. package/dist/standalone/tabs.d.ts.map +1 -0
  453. package/dist/standalone/tags-input.d.ts +2 -0
  454. package/dist/standalone/tags-input.d.ts.map +1 -0
  455. package/dist/standalone/textarea.d.ts +2 -0
  456. package/dist/standalone/textarea.d.ts.map +1 -0
  457. package/dist/standalone/time-field.d.ts +2 -0
  458. package/dist/standalone/time-field.d.ts.map +1 -0
  459. package/dist/standalone/time-picker.d.ts +2 -0
  460. package/dist/standalone/time-picker.d.ts.map +1 -0
  461. package/dist/standalone/timeline.d.ts +2 -0
  462. package/dist/standalone/timeline.d.ts.map +1 -0
  463. package/dist/standalone/toast.d.ts +2 -0
  464. package/dist/standalone/toast.d.ts.map +1 -0
  465. package/dist/standalone/toggle-group.d.ts +2 -0
  466. package/dist/standalone/toggle-group.d.ts.map +1 -0
  467. package/dist/standalone/toggle.d.ts +2 -0
  468. package/dist/standalone/toggle.d.ts.map +1 -0
  469. package/dist/standalone/toolbar.d.ts +2 -0
  470. package/dist/standalone/toolbar.d.ts.map +1 -0
  471. package/dist/standalone/tooltip.d.ts +2 -0
  472. package/dist/standalone/tooltip.d.ts.map +1 -0
  473. package/dist/standalone/transfer-list.d.ts +2 -0
  474. package/dist/standalone/transfer-list.d.ts.map +1 -0
  475. package/dist/standalone/tree-item.d.ts +2 -0
  476. package/dist/standalone/tree-item.d.ts.map +1 -0
  477. package/dist/standalone/tree.d.ts +2 -0
  478. package/dist/standalone/tree.d.ts.map +1 -0
  479. package/dist/standalone/visually-hidden.d.ts +2 -0
  480. package/dist/standalone/visually-hidden.d.ts.map +1 -0
  481. package/dist/standalone/wizard.d.ts +2 -0
  482. package/dist/standalone/wizard.d.ts.map +1 -0
  483. package/dist/stepper.cjs.js +337 -0
  484. package/dist/stepper.esm.js +578 -0
  485. package/dist/switch.cjs.js +397 -0
  486. package/dist/switch.esm.js +543 -0
  487. package/dist/table.cjs.js +212 -0
  488. package/dist/table.esm.js +432 -0
  489. package/dist/tabs.cjs.js +515 -0
  490. package/dist/tabs.esm.js +808 -0
  491. package/dist/tags-input.cjs.js +202 -0
  492. package/dist/tags-input.esm.js +436 -0
  493. package/dist/textarea.cjs.js +329 -0
  494. package/dist/textarea.esm.js +520 -0
  495. package/dist/time-field.cjs.js +142 -0
  496. package/dist/time-field.esm.js +387 -0
  497. package/dist/time-picker.cjs.js +284 -0
  498. package/dist/time-picker.esm.js +686 -0
  499. package/dist/timeline.cjs.js +198 -0
  500. package/dist/timeline.esm.js +248 -0
  501. package/dist/toast.cjs.js +234 -0
  502. package/dist/toast.esm.js +399 -0
  503. package/dist/toggle-group.cjs.js +131 -0
  504. package/dist/toggle-group.esm.js +382 -0
  505. package/dist/toggle.cjs.js +237 -0
  506. package/dist/toggle.esm.js +346 -0
  507. package/dist/toolbar.cjs.js +126 -0
  508. package/dist/toolbar.esm.js +240 -0
  509. package/dist/tooltip.cjs.js +159 -0
  510. package/dist/tooltip.esm.js +376 -0
  511. package/dist/transfer-list.cjs.js +734 -0
  512. package/dist/transfer-list.esm.js +969 -0
  513. package/dist/tree-0a7a8d05.js +39 -0
  514. package/dist/tree-dcd74a4a.mjs +294 -0
  515. package/dist/tree-item.cjs.js +103 -0
  516. package/dist/tree-item.esm.js +143 -0
  517. package/dist/tree.cjs.js +1 -0
  518. package/dist/tree.esm.js +7 -0
  519. package/dist/visually-hidden.cjs.js +42 -0
  520. package/dist/visually-hidden.esm.js +68 -0
  521. package/dist/wizard.cjs.js +677 -0
  522. package/dist/wizard.esm.js +1068 -0
  523. package/package.json +7 -1
  524. package/dist/runtime-41717c1e.js +0 -1
  525. package/dist/sortable-06a3bd6c.js +0 -855
  526. package/dist/sortable-23bf110b.mjs +0 -2254
@@ -0,0 +1,709 @@
1
+ import { E as b } from "./ElementBase-909688f3.mjs";
2
+ import { c as f } from "./portal-1cf392ca.mjs";
3
+ import { c as g } from "./dismissable-layer-9c7e6b58.mjs";
4
+ import { a as h } from "./positioner-fbd61bf1.mjs";
5
+ import "./listbox-308789a0.mjs";
6
+ import "./collection-a1aac0c6.mjs";
7
+ import "./collection.esm.js";
8
+ const m = 160, x = `
9
+ :host {
10
+ --ui-split-button-radius: 12px;
11
+ --ui-split-button-border: 1px solid color-mix(in srgb, var(--ui-color-border, #cbd5e1) 70%, transparent);
12
+ --ui-split-button-bg: var(--ui-color-primary, #2563eb);
13
+ --ui-split-button-bg-strong: color-mix(in srgb, var(--ui-split-button-bg) 84%, #0f172a 16%);
14
+ --ui-split-button-color: #ffffff;
15
+ --ui-split-button-shadow: 0 1px 2px rgba(2, 6, 23, 0.12), 0 8px 18px color-mix(in srgb, var(--ui-split-button-bg) 20%, transparent);
16
+ --ui-split-button-menu-bg: var(--ui-color-surface, #ffffff);
17
+ --ui-split-button-menu-color: var(--ui-color-text, #0f172a);
18
+ --ui-split-button-menu-border: 1px solid color-mix(in srgb, var(--ui-color-border, #cbd5e1) 64%, transparent);
19
+ --ui-split-button-menu-radius: 14px;
20
+ --ui-split-button-menu-shadow: 0 22px 44px rgba(2, 6, 23, 0.16), 0 2px 8px rgba(2, 6, 23, 0.08);
21
+ --ui-split-button-menu-accent: color-mix(in srgb, var(--ui-split-button-bg) 8%, var(--ui-split-button-menu-bg));
22
+ --ui-split-button-menu-accent-strong: color-mix(in srgb, var(--ui-split-button-bg) 14%, var(--ui-split-button-menu-bg));
23
+ --ui-split-button-menu-shortcut: color-mix(in srgb, var(--ui-split-button-menu-color) 60%, transparent);
24
+ --ui-split-button-menu-separator: color-mix(in srgb, var(--ui-split-button-menu-color) 10%, transparent);
25
+ --ui-split-button-menu-muted: color-mix(in srgb, var(--ui-split-button-menu-color) 58%, transparent);
26
+ --ui-split-button-menu-danger: var(--ui-color-danger, #dc2626);
27
+ --ui-split-button-menu-option-border: transparent;
28
+ --ui-split-button-menu-option-border-strong: color-mix(in srgb, var(--ui-split-button-bg) 24%, transparent);
29
+ --ui-split-button-menu-option-shadow: none;
30
+ --ui-split-button-menu-affordance-bg: transparent;
31
+ --ui-split-button-menu-affordance-border: color-mix(in srgb, var(--ui-split-button-menu-color) 24%, transparent);
32
+ --ui-split-button-menu-affordance-size: 18px;
33
+ --ui-split-button-menu-list-gap: 2px;
34
+ --ui-split-button-menu-list-padding-top: 2px;
35
+ --ui-split-button-menu-item-min-height: 44px;
36
+ --ui-split-button-menu-item-radius: 10px;
37
+ --ui-split-button-menu-item-padding: 10px 10px;
38
+ --ui-split-button-focus: var(--ui-color-focus-ring, #2563eb);
39
+ display: inline-flex;
40
+ position: relative;
41
+ color-scheme: light dark;
42
+ font-family: "Inter", "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
43
+ }
44
+
45
+ .group {
46
+ display: inline-grid;
47
+ grid-template-columns: minmax(0, 1fr) auto;
48
+ min-width: 0;
49
+ border: var(--ui-split-button-border);
50
+ border-radius: var(--ui-split-button-radius);
51
+ overflow: hidden;
52
+ background: var(--ui-split-button-bg);
53
+ color: var(--ui-split-button-color);
54
+ box-shadow: var(--ui-split-button-shadow);
55
+ }
56
+
57
+ .button,
58
+ .toggle {
59
+ appearance: none;
60
+ border: 0;
61
+ margin: 0;
62
+ background: transparent;
63
+ color: inherit;
64
+ min-height: 40px;
65
+ font: 600 14px/1.2 "Inter", "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
66
+ cursor: pointer;
67
+ transition: background-color 140ms ease, color 140ms ease;
68
+ }
69
+
70
+ .button {
71
+ padding: 0 14px;
72
+ display: inline-flex;
73
+ align-items: center;
74
+ justify-content: center;
75
+ gap: 8px;
76
+ min-width: 0;
77
+ }
78
+
79
+ .toggle {
80
+ inline-size: 42px;
81
+ display: inline-grid;
82
+ place-items: center;
83
+ border-inline-start: 1px solid color-mix(in srgb, #ffffff 20%, transparent);
84
+ }
85
+
86
+ .button:hover,
87
+ .toggle:hover,
88
+ .button:focus-visible,
89
+ .toggle:focus-visible,
90
+ :host([open]) .toggle {
91
+ background: var(--ui-split-button-bg-strong);
92
+ outline: none;
93
+ }
94
+
95
+ .toggle svg {
96
+ inline-size: 14px;
97
+ block-size: 14px;
98
+ }
99
+
100
+ .slot-source {
101
+ display: none !important;
102
+ }
103
+
104
+ :host([disabled]) {
105
+ opacity: 0.72;
106
+ pointer-events: none;
107
+ }
108
+
109
+ :host([variant="neutral"]) {
110
+ --ui-split-button-bg: #ffffff;
111
+ --ui-split-button-bg-strong: #f8fafc;
112
+ --ui-split-button-color: #0f172a;
113
+ --ui-split-button-border: 1px solid color-mix(in srgb, #0f172a 12%, transparent);
114
+ --ui-split-button-shadow: 0 1px 2px rgba(15, 23, 42, 0.06), 0 10px 24px rgba(15, 23, 42, 0.08);
115
+ --ui-split-button-menu-bg: #ffffff;
116
+ --ui-split-button-menu-color: #0f172a;
117
+ }
118
+
119
+ :host([variant="flat"]) {
120
+ --ui-split-button-radius: 10px;
121
+ --ui-split-button-bg: #ffffff;
122
+ --ui-split-button-bg-strong: #f1f5f9;
123
+ --ui-split-button-color: #0f172a;
124
+ --ui-split-button-border: 1px solid #dbe4f0;
125
+ --ui-split-button-shadow: none;
126
+ --ui-split-button-menu-bg: #ffffff;
127
+ --ui-split-button-menu-color: #0f172a;
128
+ --ui-split-button-menu-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
129
+ --ui-split-button-menu-accent: #eef4ff;
130
+ --ui-split-button-menu-accent-strong: #e0ecff;
131
+ --ui-split-button-menu-option-border: transparent;
132
+ }
133
+
134
+ :host([variant="contrast"]) {
135
+ --ui-split-button-bg: #111827;
136
+ --ui-split-button-bg-strong: #0b1220;
137
+ --ui-split-button-color: #f8fafc;
138
+ --ui-split-button-shadow: 0 1px 2px rgba(15, 23, 42, 0.2), 0 16px 36px rgba(15, 23, 42, 0.18);
139
+ }
140
+
141
+ :host([density="compact"]) {
142
+ --ui-split-button-radius: 10px;
143
+ }
144
+
145
+ :host([density="compact"]) .button,
146
+ :host([density="compact"]) .toggle {
147
+ min-height: 36px;
148
+ font-size: 13px;
149
+ }
150
+
151
+ :host([density="compact"]) .button {
152
+ padding-inline: 12px;
153
+ }
154
+
155
+ :host([density="compact"]) .toggle {
156
+ inline-size: 38px;
157
+ }
158
+
159
+ :host([density="comfortable"]) .button,
160
+ :host([density="comfortable"]) .toggle {
161
+ min-height: 44px;
162
+ }
163
+
164
+ :host([density="comfortable"]) .button {
165
+ padding-inline: 16px;
166
+ }
167
+
168
+ :host([density="comfortable"]) .toggle {
169
+ inline-size: 46px;
170
+ }
171
+ `, v = `
172
+ .menu {
173
+ position: absolute;
174
+ display: grid;
175
+ gap: 8px;
176
+ min-width: 240px;
177
+ max-width: min(360px, calc(100vw - 16px));
178
+ max-height: min(420px, calc(100vh - 16px));
179
+ overflow: auto;
180
+ padding: 8px;
181
+ border: var(--ui-split-button-menu-border);
182
+ border-radius: calc(var(--ui-split-button-menu-radius) + 2px);
183
+ background: var(--ui-split-button-menu-bg);
184
+ color: var(--ui-split-button-menu-color);
185
+ box-shadow: var(--ui-split-button-menu-shadow);
186
+ box-sizing: border-box;
187
+ z-index: 1600;
188
+ backdrop-filter: blur(14px) saturate(1.08);
189
+ overflow: hidden auto;
190
+ opacity: 0;
191
+ transform: translateY(-6px) scale(0.985);
192
+ transform-origin: top left;
193
+ transition: opacity ${m}ms cubic-bezier(0.22, 1, 0.36, 1), transform ${m}ms cubic-bezier(0.22, 1, 0.36, 1);
194
+ will-change: opacity, transform;
195
+ }
196
+
197
+ .menu[data-state="opening"],
198
+ .menu[data-state="closing"] {
199
+ pointer-events: none;
200
+ }
201
+
202
+ .menu[data-state="open"] {
203
+ opacity: 1;
204
+ transform: translateY(0) scale(1);
205
+ }
206
+
207
+ .menu[data-state="closing"] {
208
+ opacity: 0;
209
+ transform: translateY(-4px) scale(0.99);
210
+ }
211
+
212
+ .menu::before {
213
+ content: "";
214
+ position: absolute;
215
+ inset: 0 0 auto 0;
216
+ block-size: 1px;
217
+ background: color-mix(in srgb, var(--ui-split-button-menu-color) 10%, transparent);
218
+ pointer-events: none;
219
+ }
220
+
221
+ .menu ui-listbox {
222
+ display: grid;
223
+ gap: var(--ui-split-button-menu-list-gap);
224
+ padding: var(--ui-split-button-menu-list-padding-top) 0 0;
225
+ position: relative;
226
+ z-index: 1;
227
+ }
228
+
229
+ .menu-header {
230
+ display: grid;
231
+ gap: 4px;
232
+ padding: 4px 6px 2px;
233
+ position: relative;
234
+ z-index: 1;
235
+ }
236
+
237
+ .menu-heading {
238
+ margin: 0;
239
+ min-inline-size: 0;
240
+ font: 700 13px/1.25 "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
241
+ letter-spacing: 0.015em;
242
+ color: var(--ui-split-button-menu-color);
243
+ }
244
+
245
+ .menu-description {
246
+ margin: 0;
247
+ min-inline-size: 0;
248
+ font: 500 12px/1.5 "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
249
+ letter-spacing: 0.01em;
250
+ color: var(--ui-split-button-menu-muted);
251
+ }
252
+
253
+ .menu [slot="menuitem"],
254
+ .menu [data-menu-item] {
255
+ appearance: none;
256
+ -webkit-appearance: none;
257
+ display: grid;
258
+ grid-template-columns: auto minmax(0, 1fr) auto;
259
+ inline-size: 100%;
260
+ gap: 12px;
261
+ align-items: start;
262
+ position: relative;
263
+ min-height: var(--ui-split-button-menu-item-min-height);
264
+ margin: 0;
265
+ padding: var(--ui-split-button-menu-item-padding);
266
+ border: 1px solid var(--ui-split-button-menu-option-border);
267
+ border-radius: var(--ui-split-button-menu-item-radius);
268
+ background: transparent;
269
+ color: inherit;
270
+ box-shadow: none;
271
+ text-align: start;
272
+ text-decoration: none;
273
+ font: 600 14px/1.32 "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
274
+ letter-spacing: 0.01em;
275
+ cursor: pointer;
276
+ outline: none;
277
+ overflow: hidden;
278
+ isolation: isolate;
279
+ transition:
280
+ background-color 140ms ease,
281
+ border-color 140ms ease,
282
+ color 140ms ease,
283
+ transform 140ms ease,
284
+ box-shadow 140ms ease;
285
+ }
286
+
287
+ .menu [slot="menuitem"] + [slot="menuitem"],
288
+ .menu [data-menu-item] + [data-menu-item] {
289
+ box-shadow: inset 0 1px 0 var(--ui-split-button-menu-separator);
290
+ }
291
+
292
+ .menu [data-menu-affordance] {
293
+ inline-size: var(--ui-split-button-menu-affordance-size);
294
+ block-size: var(--ui-split-button-menu-affordance-size);
295
+ display: inline-grid;
296
+ place-items: center;
297
+ border-radius: 999px;
298
+ background: var(--ui-split-button-menu-affordance-bg);
299
+ border: 1.5px solid var(--ui-split-button-menu-affordance-border);
300
+ color: color-mix(in srgb, var(--ui-split-button-bg) 82%, var(--ui-split-button-menu-color));
301
+ transition:
302
+ background-color 140ms ease,
303
+ border-color 140ms ease,
304
+ color 140ms ease,
305
+ transform 140ms ease;
306
+ }
307
+
308
+ .menu [data-menu-affordance]::before {
309
+ content: "";
310
+ inline-size: 7px;
311
+ block-size: 7px;
312
+ border-radius: 999px;
313
+ background: currentColor;
314
+ opacity: 0;
315
+ transition: transform 140ms ease, opacity 140ms ease;
316
+ }
317
+
318
+ .menu [slot="menuitem"] > :nth-child(2),
319
+ .menu [data-menu-item] > :nth-child(2),
320
+ .menu [data-menu-label] {
321
+ display: grid;
322
+ gap: 3px;
323
+ min-inline-size: 0;
324
+ }
325
+
326
+ .menu [data-menu-text] {
327
+ padding-block-start: 1px;
328
+ }
329
+
330
+ .menu [slot="menuitem"][data-has-description="false"],
331
+ .menu [data-menu-item][data-has-description="false"] {
332
+ align-items: center;
333
+ }
334
+
335
+ .menu [data-menu-label] {
336
+ min-inline-size: 0;
337
+ overflow: hidden;
338
+ text-overflow: ellipsis;
339
+ white-space: nowrap;
340
+ font-weight: 620;
341
+ }
342
+
343
+ .menu [data-menu-description] {
344
+ display: -webkit-box;
345
+ min-inline-size: 0;
346
+ overflow: hidden;
347
+ -webkit-box-orient: vertical;
348
+ -webkit-line-clamp: 2;
349
+ white-space: normal;
350
+ font: 500 12px/1.45 "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
351
+ color: var(--ui-split-button-menu-muted);
352
+ }
353
+
354
+ .menu [data-menu-shortcut] {
355
+ justify-self: end;
356
+ align-self: center;
357
+ white-space: nowrap;
358
+ font: 600 12px/1 "IBM Plex Mono", "SFMono-Regular", "SF Mono", Consolas, monospace;
359
+ letter-spacing: 0.03em;
360
+ color: var(--ui-split-button-menu-shortcut);
361
+ padding: 0;
362
+ background: none;
363
+ box-shadow: none;
364
+ }
365
+
366
+ .menu [slot="menuitem"][data-tone="danger"],
367
+ .menu [data-menu-item][data-tone="danger"] {
368
+ color: color-mix(in srgb, var(--ui-split-button-menu-danger) 88%, var(--ui-split-button-menu-color));
369
+ }
370
+
371
+ .menu [slot="menuitem"][data-tone="danger"] [data-menu-description],
372
+ .menu [data-menu-item][data-tone="danger"] [data-menu-description] {
373
+ color: color-mix(in srgb, var(--ui-split-button-menu-danger) 68%, transparent);
374
+ }
375
+
376
+ .menu [slot="menuitem"][data-tone="danger"] [data-menu-affordance],
377
+ .menu [data-menu-item][data-tone="danger"] [data-menu-affordance] {
378
+ color: color-mix(in srgb, var(--ui-split-button-menu-danger) 88%, var(--ui-split-button-menu-color));
379
+ }
380
+
381
+ .menu [slot="menuitem"][data-active="true"],
382
+ .menu [data-menu-item][data-active="true"],
383
+ .menu [slot="menuitem"]:hover,
384
+ .menu [data-menu-item]:hover,
385
+ .menu [slot="menuitem"]:focus-visible,
386
+ .menu [data-menu-item]:focus-visible {
387
+ background: var(--ui-split-button-menu-accent);
388
+ border-color: var(--ui-split-button-menu-option-border-strong);
389
+ box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ui-split-button-bg) 10%, transparent);
390
+ }
391
+
392
+ .menu [slot="menuitem"][data-active="true"],
393
+ .menu [data-menu-item][data-active="true"] {
394
+ background: var(--ui-split-button-menu-accent-strong);
395
+ }
396
+
397
+ .menu [slot="menuitem"][data-active="true"] [data-menu-affordance],
398
+ .menu [data-menu-item][data-active="true"] [data-menu-affordance],
399
+ .menu [slot="menuitem"]:hover [data-menu-affordance],
400
+ .menu [data-menu-item]:hover [data-menu-affordance],
401
+ .menu [slot="menuitem"]:focus-visible [data-menu-affordance],
402
+ .menu [data-menu-item]:focus-visible [data-menu-affordance] {
403
+ background: color-mix(in srgb, var(--ui-split-button-bg) 10%, transparent);
404
+ border-color: color-mix(in srgb, var(--ui-split-button-bg) 28%, transparent);
405
+ color: color-mix(in srgb, var(--ui-split-button-bg) 88%, var(--ui-split-button-menu-color));
406
+ }
407
+
408
+ .menu [slot="menuitem"][data-active="true"] [data-menu-affordance]::before,
409
+ .menu [data-menu-item][data-active="true"] [data-menu-affordance]::before,
410
+ .menu [slot="menuitem"]:hover [data-menu-affordance]::before,
411
+ .menu [data-menu-item]:hover [data-menu-affordance]::before,
412
+ .menu [slot="menuitem"]:focus-visible [data-menu-affordance]::before,
413
+ .menu [data-menu-item]:focus-visible [data-menu-affordance]::before {
414
+ opacity: 1;
415
+ transform: scale(1);
416
+ }
417
+
418
+ .menu [slot="menuitem"][data-tone="danger"][data-active="true"],
419
+ .menu [data-menu-item][data-tone="danger"][data-active="true"],
420
+ .menu [slot="menuitem"][data-tone="danger"]:hover,
421
+ .menu [data-menu-item][data-tone="danger"]:hover,
422
+ .menu [slot="menuitem"][data-tone="danger"]:focus-visible,
423
+ .menu [data-menu-item][data-tone="danger"]:focus-visible {
424
+ border-color: color-mix(in srgb, var(--ui-split-button-menu-danger) 28%, transparent);
425
+ box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ui-split-button-menu-danger) 14%, transparent);
426
+ }
427
+
428
+ .menu [slot="menuitem"][data-tone="danger"][data-active="true"] [data-menu-affordance],
429
+ .menu [data-menu-item][data-tone="danger"][data-active="true"] [data-menu-affordance],
430
+ .menu [slot="menuitem"][data-tone="danger"]:hover [data-menu-affordance],
431
+ .menu [data-menu-item][data-tone="danger"]:hover [data-menu-affordance],
432
+ .menu [slot="menuitem"][data-tone="danger"]:focus-visible [data-menu-affordance],
433
+ .menu [data-menu-item][data-tone="danger"]:focus-visible [data-menu-affordance] {
434
+ background: color-mix(in srgb, var(--ui-split-button-menu-danger) 14%, #ffffff);
435
+ border-color: color-mix(in srgb, var(--ui-split-button-menu-danger) 30%, transparent);
436
+ color: var(--ui-split-button-menu-danger);
437
+ }
438
+
439
+ .menu [slot="menuitem"][disabled],
440
+ .menu [slot="menuitem"][aria-disabled="true"],
441
+ .menu [data-menu-item][disabled],
442
+ .menu [data-menu-item][aria-disabled="true"] {
443
+ opacity: 0.56;
444
+ pointer-events: none;
445
+ transform: none;
446
+ box-shadow: none;
447
+ }
448
+
449
+ :host([menu-density="compact"]) {
450
+ --ui-split-button-menu-list-gap: 1px;
451
+ --ui-split-button-menu-list-padding-top: 2px;
452
+ --ui-split-button-menu-item-min-height: 38px;
453
+ --ui-split-button-menu-item-radius: 8px;
454
+ --ui-split-button-menu-item-padding: 8px 10px;
455
+ --ui-split-button-menu-affordance-size: 16px;
456
+ }
457
+
458
+ :host([menu-density="airy"]) {
459
+ --ui-split-button-menu-list-gap: 4px;
460
+ --ui-split-button-menu-list-padding-top: 6px;
461
+ --ui-split-button-menu-item-min-height: 50px;
462
+ --ui-split-button-menu-item-radius: 14px;
463
+ --ui-split-button-menu-item-padding: 12px 12px;
464
+ --ui-split-button-menu-affordance-size: 20px;
465
+ }
466
+
467
+ :host([menu-shape="flat"]) {
468
+ --ui-split-button-menu-radius: 10px;
469
+ --ui-split-button-menu-item-radius: 8px;
470
+ }
471
+
472
+ :host([menu-shape="soft"]) {
473
+ --ui-split-button-menu-radius: 18px;
474
+ --ui-split-button-menu-item-radius: 14px;
475
+ }
476
+
477
+ @media (prefers-reduced-motion: reduce) {
478
+ .menu {
479
+ transition: none;
480
+ transform: none;
481
+ }
482
+ }
483
+ `;
484
+ function _(d, e) {
485
+ const t = d.cloneNode(!0);
486
+ if (t.setAttribute("slot", "menuitem"), t.setAttribute("data-menu-item", "true"), t.setAttribute("data-index", String(e)), t.setAttribute("role", "menuitem"), t.setAttribute("tabindex", "-1"), t.classList.add("menu-option"), t.setAttribute("data-has-description", t.querySelector("[data-menu-description]") ? "true" : "false"), t.setAttribute("data-has-shortcut", t.querySelector("[data-menu-shortcut]") ? "true" : "false"), t.hasAttribute("disabled") && t.setAttribute("aria-disabled", "true"), !t.querySelector("[data-menu-affordance]")) {
487
+ const n = document.createElement("span");
488
+ n.setAttribute("data-menu-affordance", "true"), n.setAttribute("aria-hidden", "true"), t.prepend(n);
489
+ }
490
+ return t.id || (t.id = `ui-split-button-item-${Math.random().toString(36).slice(2, 9)}`), t;
491
+ }
492
+ class y extends b {
493
+ constructor() {
494
+ super(), this._portalEl = null, this._portalRoot = null, this._layer = null, this._positioner = null, this._listbox = null, this._triggerButton = null, this._toggleButton = null, this._menuItems = [], this._lastFocused = null, this._closeTimer = null, this._onPrimaryClick = this._onPrimaryClick.bind(this), this._onToggleClick = this._onToggleClick.bind(this), this._onKeyDown = this._onKeyDown.bind(this), this._onMenuPointerDown = this._onMenuPointerDown.bind(this), this._onMenuPointerMove = this._onMenuPointerMove.bind(this);
495
+ }
496
+ static get observedAttributes() {
497
+ return ["label", "menu-label", "menu-heading", "menu-description", "variant", "density", "menu-density", "menu-shape", "disabled", "open"];
498
+ }
499
+ openMenu() {
500
+ var e, t;
501
+ this.hasAttribute("disabled") || this.hasAttribute("open") && ((e = this._portalEl) == null ? void 0 : e.getAttribute("data-state")) !== "closing" || !this._portalEl && this._collectMenuItems().length === 0 || (this._lastFocused = document.activeElement || this._toggleButton, this._clearCloseTimer(), this._portalEl && (this._setMenuState("opening"), this._portalEl.style.pointerEvents = "auto", (t = this._positioner) == null || t.update(), requestAnimationFrame(() => this._setMenuState("open"))), this.setAttribute("open", ""), queueMicrotask(() => {
502
+ if (!this._portalEl)
503
+ this._mountMenu();
504
+ else
505
+ try {
506
+ this._portalEl.focus({ preventScroll: !0 });
507
+ } catch {
508
+ this._portalEl.focus();
509
+ }
510
+ }));
511
+ }
512
+ closeMenu() {
513
+ this.hasAttribute("open") && this.removeAttribute("open");
514
+ }
515
+ toggleMenu() {
516
+ this.hasAttribute("open") ? this.closeMenu() : this.openMenu();
517
+ }
518
+ connectedCallback() {
519
+ super.connectedCallback(), this.hasAttribute("open") && this.openMenu();
520
+ }
521
+ disconnectedCallback() {
522
+ this._teardownMenu(!0), super.disconnectedCallback();
523
+ }
524
+ attributeChangedCallback(e, t, n) {
525
+ if (t !== n) {
526
+ if (e === "open") {
527
+ n != null ? this.openMenu() : this._beginCloseMenu();
528
+ return;
529
+ }
530
+ this.isConnected && this.requestRender();
531
+ }
532
+ }
533
+ render() {
534
+ var n, i, o;
535
+ const e = this.getAttribute("label") || "Run action", t = this.getAttribute("menu-label") || "Open action menu";
536
+ this.setContent(`
537
+ <style>${x}</style>
538
+ <div class="group" part="group">
539
+ <button class="button" part="button" type="button">${e}</button>
540
+ <button class="toggle" part="toggle" type="button" aria-label="${t}" aria-haspopup="menu" aria-expanded="${this.hasAttribute("open") ? "true" : "false"}">
541
+ <svg viewBox="0 0 20 20" aria-hidden="true" focusable="false"><path d="m5 8 5 5 5-5" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>
542
+ </button>
543
+ </div>
544
+ <div class="slot-source"><slot name="menuitem"></slot></div>
545
+ `), this._triggerButton = this.root.querySelector(".button"), this._toggleButton = this.root.querySelector(".toggle"), this._syncToggleState(), (n = this._triggerButton) == null || n.addEventListener("click", this._onPrimaryClick), (i = this._toggleButton) == null || i.addEventListener("click", this._onToggleClick), (o = this._toggleButton) == null || o.addEventListener("keydown", this._onKeyDown);
546
+ }
547
+ _onPrimaryClick(e) {
548
+ this.hasAttribute("disabled") || this.dispatchEvent(new CustomEvent("primary-action", { detail: { originalEvent: e }, bubbles: !0, composed: !0 }));
549
+ }
550
+ _onToggleClick() {
551
+ this.toggleMenu();
552
+ }
553
+ _onKeyDown(e) {
554
+ (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") && (e.preventDefault(), this.openMenu());
555
+ }
556
+ _mountMenu() {
557
+ var c;
558
+ if (this._portalEl)
559
+ return;
560
+ const e = f();
561
+ if (!e)
562
+ return;
563
+ this._portalRoot = e, this._portalRoot.classList.add("ui-split-button-portal");
564
+ const t = document.createElement("div");
565
+ t.className = "menu", t.setAttribute("role", "menu"), t.setAttribute("data-state", "opening"), t.tabIndex = -1, t.style.pointerEvents = "auto";
566
+ const n = document.createElement("style");
567
+ n.textContent = v;
568
+ const i = this.getAttribute("menu-heading") || "", o = this.getAttribute("menu-description") || "", r = i || o ? (() => {
569
+ const a = document.createElement("div");
570
+ if (a.className = "menu-header", i) {
571
+ const u = document.createElement("p");
572
+ u.className = "menu-heading", u.textContent = i, a.appendChild(u);
573
+ }
574
+ if (o) {
575
+ const u = document.createElement("p");
576
+ u.className = "menu-description", u.textContent = o, a.appendChild(u);
577
+ }
578
+ return a;
579
+ })() : null, s = document.createElement("ui-listbox");
580
+ if (s.setAttribute("item-selector", '[slot="menuitem"]'), s.setAttribute("item-role", "menuitem"), s.setAttribute("active-attribute", "data-active"), this._menuItems = this._collectMenuItems(), this._menuItems.length === 0) {
581
+ this.removeAttribute("open");
582
+ return;
583
+ }
584
+ const l = (c = this.root.querySelector(".group")) == null ? void 0 : c.getBoundingClientRect();
585
+ l && Number.isFinite(l.width) && l.width > 0 && (t.style.minWidth = `${Math.max(260, Math.round(l.width))}px`), this._menuItems.forEach((a) => s.appendChild(a)), s.refresh(), t.append(n), r && t.appendChild(r), t.appendChild(s), this._portalRoot.appendChild(t), this._portalEl = t, this._listbox = s, this._positioner = h({
586
+ floating: t,
587
+ anchor: this.root.querySelector(".group") || this._toggleButton || this,
588
+ placement: "bottom-start",
589
+ offset: 6,
590
+ fitViewport: !0
591
+ }), this._layer = g({
592
+ node: t,
593
+ trigger: this._toggleButton,
594
+ closeOnEscape: !0,
595
+ closeOnPointerOutside: !0,
596
+ onDismiss: () => this.closeMenu()
597
+ }), s.addEventListener("click", (a) => this._onMenuClick(a)), s.addEventListener("pointerdown", this._onMenuPointerDown), s.addEventListener("pointermove", this._onMenuPointerMove, { passive: !0 }), s.addEventListener("keydown", (a) => this._onMenuKeyDown(a));
598
+ const p = this._listbox.focusBoundary("first", { focus: !1, scroll: !1 });
599
+ p && this._listbox.setActiveItem(p, { focus: !1, scroll: !1 }), this._syncToggleState(), requestAnimationFrame(() => this._setMenuState("open")), queueMicrotask(() => {
600
+ try {
601
+ t.focus({ preventScroll: !0 });
602
+ } catch {
603
+ t.focus();
604
+ }
605
+ });
606
+ }
607
+ _collectMenuItems() {
608
+ const e = this.root.querySelector('slot[name="menuitem"]');
609
+ return (e ? e.assignedElements({ flatten: !0 }) : []).filter((n) => n.getAttribute("slot") === "menuitem").map((n, i) => _(n, i));
610
+ }
611
+ _onMenuClick(e) {
612
+ var i, o;
613
+ const t = e.composedPath(), n = this._menuItems.find((r) => t.includes(r));
614
+ if (!n) {
615
+ const r = (o = (i = e.target) == null ? void 0 : i.closest) == null ? void 0 : o.call(i, "[data-menu-item]");
616
+ r && this._selectMenuItem(r);
617
+ return;
618
+ }
619
+ this._selectMenuItem(n);
620
+ }
621
+ _onMenuPointerDown(e) {
622
+ var n, i;
623
+ (i = (n = e.target) == null ? void 0 : n.closest) != null && i.call(n, "[data-menu-item]") && e.preventDefault();
624
+ }
625
+ _onMenuPointerMove(e) {
626
+ var n, i;
627
+ if (!this._listbox)
628
+ return;
629
+ const t = (i = (n = e.target) == null ? void 0 : n.closest) == null ? void 0 : i.call(n, "[data-menu-item]");
630
+ !t || t.hasAttribute("disabled") || t.getAttribute("aria-disabled") === "true" || this._listbox.getActiveItem() !== t && this._listbox.setActiveItem(t, { focus: !1, scroll: !1 });
631
+ }
632
+ _onMenuKeyDown(e) {
633
+ if (this._listbox) {
634
+ if (e.key === "Escape" || e.key === "Tab") {
635
+ e.preventDefault(), this.closeMenu();
636
+ return;
637
+ }
638
+ if (e.key === "ArrowDown") {
639
+ e.preventDefault(), this._listbox.move(1, { focus: !1, scroll: !0 });
640
+ return;
641
+ }
642
+ if (e.key === "ArrowUp") {
643
+ e.preventDefault(), this._listbox.move(-1, { focus: !1, scroll: !0 });
644
+ return;
645
+ }
646
+ if (e.key === "Home") {
647
+ e.preventDefault(), this._listbox.focusBoundary("first", { focus: !1, scroll: !0 });
648
+ return;
649
+ }
650
+ if (e.key === "End") {
651
+ e.preventDefault(), this._listbox.focusBoundary("last", { focus: !1, scroll: !0 });
652
+ return;
653
+ }
654
+ if (e.key === "Enter" || e.key === " ") {
655
+ e.preventDefault();
656
+ const t = this._listbox.getActiveItem();
657
+ t && this._selectMenuItem(t);
658
+ }
659
+ }
660
+ }
661
+ _syncToggleState() {
662
+ var e;
663
+ (e = this._toggleButton) == null || e.setAttribute("aria-expanded", this.hasAttribute("open") ? "true" : "false");
664
+ }
665
+ _selectMenuItem(e) {
666
+ const t = Number(e.getAttribute("data-index") || -1);
667
+ this.dispatchEvent(
668
+ new CustomEvent("select", {
669
+ detail: {
670
+ index: t,
671
+ value: e.getAttribute("data-value") || void 0,
672
+ label: e.getAttribute("data-label") || (e.textContent || "").trim()
673
+ },
674
+ bubbles: !0,
675
+ composed: !0
676
+ })
677
+ ), this.closeMenu();
678
+ }
679
+ _beginCloseMenu() {
680
+ this._portalEl && (this._clearCloseTimer(), this._setMenuState("closing"), this._portalEl.style.pointerEvents = "none", this._closeTimer = window.setTimeout(() => {
681
+ this._closeTimer = null, this._teardownMenu(!0);
682
+ }, m));
683
+ }
684
+ _setMenuState(e) {
685
+ var t;
686
+ (t = this._portalEl) == null || t.setAttribute("data-state", e);
687
+ }
688
+ _clearCloseTimer() {
689
+ this._closeTimer != null && (window.clearTimeout(this._closeTimer), this._closeTimer = null);
690
+ }
691
+ _teardownMenu(e = !1) {
692
+ var t, n, i;
693
+ if (this._clearCloseTimer(), (t = this._layer) == null || t.destroy(), this._layer = null, (n = this._positioner) == null || n.destroy(), this._positioner = null, this._listbox = null, (i = this._portalEl) != null && i.parentElement && this._portalEl.parentElement.removeChild(this._portalEl), this._portalEl = null, this._portalRoot = null, this._syncToggleState(), e) {
694
+ const o = this._toggleButton || this._lastFocused;
695
+ o && o.isConnected && queueMicrotask(() => {
696
+ try {
697
+ o.focus({ preventScroll: !0 });
698
+ } catch {
699
+ o.focus();
700
+ }
701
+ });
702
+ }
703
+ this._lastFocused = null;
704
+ }
705
+ }
706
+ typeof customElements < "u" && !customElements.get("ui-split-button") && customElements.define("ui-split-button", y);
707
+ export {
708
+ y as UISplitButton
709
+ };