@editora/ui-core 0.1.25 → 0.2.1

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 (349) hide show
  1. package/README.md +132 -0
  2. package/dist/accordion.cjs.js +13 -12
  3. package/dist/accordion.esm.js +13 -12
  4. package/dist/alert-dialog.cjs.js +92 -53
  5. package/dist/alert-dialog.esm.js +211 -159
  6. package/dist/alert.cjs.js +42 -33
  7. package/dist/alert.esm.js +80 -71
  8. package/dist/animated-beam.cjs.js +42 -50
  9. package/dist/animated-beam.esm.js +47 -55
  10. package/dist/animated-list.cjs.js +11 -27
  11. package/dist/animated-list.esm.js +12 -28
  12. package/dist/animated-text.cjs.js +9 -9
  13. package/dist/animated-text.esm.js +9 -9
  14. package/dist/app-header.cjs.js +17 -12
  15. package/dist/app-header.esm.js +18 -13
  16. package/dist/aspect-ratio.cjs.js +10 -12
  17. package/dist/aspect-ratio.esm.js +11 -13
  18. package/dist/avatar.cjs.js +16 -20
  19. package/dist/avatar.esm.js +16 -20
  20. package/dist/badge.cjs.js +27 -22
  21. package/dist/badge.esm.js +32 -27
  22. package/dist/block-controls.cjs.js +11 -12
  23. package/dist/block-controls.esm.js +8 -9
  24. package/dist/box.cjs.js +2 -3
  25. package/dist/box.esm.js +2 -3
  26. package/dist/breadcrumb.cjs.js +12 -18
  27. package/dist/breadcrumb.esm.js +11 -17
  28. package/dist/button.cjs.js +1 -1
  29. package/dist/button.esm.js +1 -1
  30. package/dist/{calendar-D-mXMgqc.js → calendar-CzpWDxLc.js} +56 -46
  31. package/dist/{calendar-B3PUKHQm.mjs → calendar-DkSDFg33.mjs} +127 -117
  32. package/dist/calendar.cjs.js +1 -1
  33. package/dist/calendar.esm.js +1 -1
  34. package/dist/card.cjs.js +6 -7
  35. package/dist/card.esm.js +5 -6
  36. package/dist/chart.cjs.js +58 -52
  37. package/dist/chart.esm.js +101 -95
  38. package/dist/checkbox.cjs.js +19 -15
  39. package/dist/checkbox.esm.js +19 -15
  40. package/dist/collapsible.cjs.js +9 -13
  41. package/dist/collapsible.esm.js +9 -13
  42. package/dist/color-picker.cjs.js +38 -19
  43. package/dist/color-picker.esm.js +134 -115
  44. package/dist/combobox.cjs.js +60 -57
  45. package/dist/combobox.esm.js +96 -92
  46. package/dist/command-palette.cjs.js +1 -0
  47. package/dist/command-palette.esm.js +1 -0
  48. package/dist/command.cjs.js +32 -14
  49. package/dist/command.esm.js +46 -28
  50. package/dist/components/date-time-utils.d.ts.map +1 -1
  51. package/dist/components/ui-accordion.d.ts.map +1 -1
  52. package/dist/components/ui-alert-dialog.d.ts +2 -0
  53. package/dist/components/ui-alert-dialog.d.ts.map +1 -1
  54. package/dist/components/ui-alert.d.ts.map +1 -1
  55. package/dist/components/ui-animated-beam.d.ts.map +1 -1
  56. package/dist/components/ui-animated-list.d.ts.map +1 -1
  57. package/dist/components/ui-app-header.d.ts.map +1 -1
  58. package/dist/components/ui-aspect-ratio.d.ts.map +1 -1
  59. package/dist/components/ui-avatar.d.ts.map +1 -1
  60. package/dist/components/ui-badge.d.ts.map +1 -1
  61. package/dist/components/ui-block-controls.d.ts.map +1 -1
  62. package/dist/components/ui-box.d.ts.map +1 -1
  63. package/dist/components/ui-breadcrumb.d.ts.map +1 -1
  64. package/dist/components/ui-button.d.ts.map +1 -1
  65. package/dist/components/ui-calendar.d.ts.map +1 -1
  66. package/dist/components/ui-card.d.ts.map +1 -1
  67. package/dist/components/ui-chart.d.ts.map +1 -1
  68. package/dist/components/ui-checkbox.d.ts.map +1 -1
  69. package/dist/components/ui-collapsible.d.ts.map +1 -1
  70. package/dist/components/ui-color-picker.d.ts.map +1 -1
  71. package/dist/components/ui-combobox.d.ts.map +1 -1
  72. package/dist/components/ui-command-palette.d.ts.map +1 -1
  73. package/dist/components/ui-command.d.ts.map +1 -1
  74. package/dist/components/ui-container.d.ts.map +1 -1
  75. package/dist/components/ui-context-menu.d.ts.map +1 -1
  76. package/dist/components/ui-data-table.d.ts +7 -0
  77. package/dist/components/ui-data-table.d.ts.map +1 -1
  78. package/dist/components/ui-date-picker.d.ts.map +1 -1
  79. package/dist/components/ui-date-range-picker.d.ts.map +1 -1
  80. package/dist/components/ui-date-range-time-picker.d.ts.map +1 -1
  81. package/dist/components/ui-date-time-picker.d.ts.map +1 -1
  82. package/dist/components/ui-dialog.d.ts +2 -0
  83. package/dist/components/ui-dialog.d.ts.map +1 -1
  84. package/dist/components/ui-dock.d.ts.map +1 -1
  85. package/dist/components/ui-drawer.d.ts.map +1 -1
  86. package/dist/components/ui-dropdown.d.ts.map +1 -1
  87. package/dist/components/ui-empty-state.d.ts.map +1 -1
  88. package/dist/components/ui-field.d.ts.map +1 -1
  89. package/dist/components/ui-fieldset.d.ts.map +1 -1
  90. package/dist/components/ui-file-upload.d.ts.map +1 -1
  91. package/dist/components/ui-floating-toolbar.d.ts.map +1 -1
  92. package/dist/components/ui-form.d.ts.map +1 -1
  93. package/dist/components/ui-gantt.d.ts.map +1 -1
  94. package/dist/components/ui-hover-card.d.ts.map +1 -1
  95. package/dist/components/ui-icon-cloud.d.ts.map +1 -1
  96. package/dist/components/ui-inline-edit.d.ts.map +1 -1
  97. package/dist/components/ui-input.d.ts.map +1 -1
  98. package/dist/components/ui-marquee.d.ts.map +1 -1
  99. package/dist/components/ui-menu.d.ts.map +1 -1
  100. package/dist/components/ui-menubar.d.ts.map +1 -1
  101. package/dist/components/ui-meter.d.ts.map +1 -1
  102. package/dist/components/ui-multi-select.d.ts.map +1 -1
  103. package/dist/components/ui-number-field.d.ts.map +1 -1
  104. package/dist/components/ui-orbiter.d.ts.map +1 -1
  105. package/dist/components/ui-pagination.d.ts.map +1 -1
  106. package/dist/components/ui-password-field.d.ts.map +1 -1
  107. package/dist/components/ui-pin-input.d.ts.map +1 -1
  108. package/dist/components/ui-popover.d.ts.map +1 -1
  109. package/dist/components/ui-progress.d.ts.map +1 -1
  110. package/dist/components/ui-radio-group.d.ts.map +1 -1
  111. package/dist/components/ui-radio.d.ts.map +1 -1
  112. package/dist/components/ui-rating.d.ts +1 -0
  113. package/dist/components/ui-rating.d.ts.map +1 -1
  114. package/dist/components/ui-scroll-area.d.ts.map +1 -1
  115. package/dist/components/ui-section.d.ts.map +1 -1
  116. package/dist/components/ui-select.d.ts.map +1 -1
  117. package/dist/components/ui-selection-popup.d.ts.map +1 -1
  118. package/dist/components/ui-sidebar.d.ts.map +1 -1
  119. package/dist/components/ui-slider.d.ts.map +1 -1
  120. package/dist/components/ui-sortable.d.ts.map +1 -1
  121. package/dist/components/ui-spinning-text.d.ts.map +1 -1
  122. package/dist/components/ui-split-button.d.ts.map +1 -1
  123. package/dist/components/ui-splitter.d.ts.map +1 -1
  124. package/dist/components/ui-stepper.d.ts.map +1 -1
  125. package/dist/components/ui-switch.d.ts.map +1 -1
  126. package/dist/components/ui-tabs.d.ts.map +1 -1
  127. package/dist/components/ui-tags-input.d.ts.map +1 -1
  128. package/dist/components/ui-textarea.d.ts.map +1 -1
  129. package/dist/components/ui-time-picker.d.ts.map +1 -1
  130. package/dist/components/ui-toggle-group.d.ts +2 -0
  131. package/dist/components/ui-toggle-group.d.ts.map +1 -1
  132. package/dist/components/ui-toggle.d.ts.map +1 -1
  133. package/dist/components/ui-toolbar.d.ts +2 -0
  134. package/dist/components/ui-toolbar.d.ts.map +1 -1
  135. package/dist/components/ui-tooltip.d.ts.map +1 -1
  136. package/dist/components/ui-transfer-list.d.ts.map +1 -1
  137. package/dist/components/ui-tree-item.d.ts.map +1 -1
  138. package/dist/components/ui-tree.d.ts.map +1 -1
  139. package/dist/components/ui-wizard.d.ts.map +1 -1
  140. package/dist/container.cjs.js +6 -12
  141. package/dist/container.esm.js +8 -14
  142. package/dist/context-menu.cjs.js +8 -8
  143. package/dist/context-menu.esm.js +42 -41
  144. package/dist/data-table.cjs.js +21 -18
  145. package/dist/data-table.esm.js +210 -190
  146. package/dist/date-field.cjs.js +9 -9
  147. package/dist/date-field.esm.js +19 -19
  148. package/dist/date-picker.cjs.js +29 -20
  149. package/dist/date-picker.esm.js +59 -50
  150. package/dist/date-range-picker.cjs.js +24 -19
  151. package/dist/date-range-picker.esm.js +86 -81
  152. package/dist/date-range-time-picker.cjs.js +27 -20
  153. package/dist/date-range-time-picker.esm.js +24 -17
  154. package/dist/date-time-picker.cjs.js +24 -17
  155. package/dist/date-time-picker.esm.js +89 -82
  156. package/dist/date-time-utils-C-4eHTyy.js +1 -0
  157. package/dist/{date-time-utils-BTlxnz5j.mjs → date-time-utils-zAx4ghvC.mjs} +75 -68
  158. package/dist/description.cjs.js +4 -4
  159. package/dist/description.esm.js +4 -4
  160. package/dist/dialog.cjs.js +59 -43
  161. package/dist/dialog.esm.js +86 -53
  162. package/dist/direction-provider.cjs.js +1 -1
  163. package/dist/direction-provider.esm.js +1 -1
  164. package/dist/dock.cjs.js +16 -30
  165. package/dist/dock.esm.js +26 -40
  166. package/dist/drawer.cjs.js +8 -12
  167. package/dist/drawer.esm.js +6 -10
  168. package/dist/dropdown.cjs.js +8 -6
  169. package/dist/dropdown.esm.js +33 -30
  170. package/dist/empty-state.cjs.js +17 -15
  171. package/dist/empty-state.esm.js +13 -11
  172. package/dist/field-error.cjs.js +1 -1
  173. package/dist/field-error.esm.js +7 -7
  174. package/dist/field.cjs.js +23 -14
  175. package/dist/field.esm.js +30 -21
  176. package/dist/fieldset.cjs.js +16 -9
  177. package/dist/fieldset.esm.js +19 -12
  178. package/dist/file-upload.cjs.js +79 -37
  179. package/dist/file-upload.esm.js +154 -112
  180. package/dist/flex.cjs.js +2 -2
  181. package/dist/flex.esm.js +8 -8
  182. package/dist/floating-toolbar.cjs.js +6 -7
  183. package/dist/floating-toolbar.esm.js +8 -9
  184. package/dist/form.cjs.js +24 -27
  185. package/dist/form.esm.js +24 -27
  186. package/dist/gantt.cjs.js +13 -11
  187. package/dist/gantt.esm.js +13 -11
  188. package/dist/grid.cjs.js +1 -1
  189. package/dist/grid.esm.js +1 -1
  190. package/dist/hover-card.cjs.js +8 -8
  191. package/dist/hover-card.esm.js +18 -15
  192. package/dist/icon-cloud.cjs.js +19 -36
  193. package/dist/icon-cloud.esm.js +41 -58
  194. package/dist/index.cjs.js +1 -1
  195. package/dist/index.d.ts +2 -0
  196. package/dist/index.d.ts.map +1 -1
  197. package/dist/index.esm.js +108 -104
  198. package/dist/inline-edit.cjs.js +50 -22
  199. package/dist/inline-edit.esm.js +77 -49
  200. package/dist/input.cjs.js +45 -38
  201. package/dist/input.esm.js +60 -53
  202. package/dist/label.cjs.js +6 -6
  203. package/dist/label.esm.js +6 -6
  204. package/dist/layout.cjs.js +3 -3
  205. package/dist/layout.esm.js +3 -3
  206. package/dist/marquee.cjs.js +7 -10
  207. package/dist/marquee.esm.js +7 -10
  208. package/dist/masonry-grid.cjs.js +2 -2
  209. package/dist/masonry-grid.esm.js +11 -11
  210. package/dist/{menu-item-styles-IGSFLAHu.mjs → menu-item-styles-CdqxPUuw.mjs} +15 -15
  211. package/dist/{menu-item-styles-B4onAr4C.js → menu-item-styles-DUdyjQ7i.js} +10 -10
  212. package/dist/menu.cjs.js +8 -24
  213. package/dist/menu.esm.js +52 -72
  214. package/dist/menubar.cjs.js +9 -31
  215. package/dist/menubar.esm.js +127 -153
  216. package/dist/meter.cjs.js +4 -9
  217. package/dist/meter.esm.js +6 -11
  218. package/dist/multi-select.cjs.js +53 -40
  219. package/dist/multi-select.esm.js +87 -73
  220. package/dist/navigation-menu.cjs.js +10 -10
  221. package/dist/navigation-menu.esm.js +33 -33
  222. package/dist/number-field.cjs.js +28 -17
  223. package/dist/number-field.esm.js +37 -26
  224. package/dist/number-ticker.cjs.js +4 -4
  225. package/dist/number-ticker.esm.js +10 -10
  226. package/dist/odometer.cjs.js +9 -9
  227. package/dist/odometer.esm.js +17 -17
  228. package/dist/orbiter.cjs.js +11 -28
  229. package/dist/orbiter.esm.js +28 -45
  230. package/dist/overlay-motion-B56x1GoY.js +49 -0
  231. package/dist/overlay-motion-BX3dPLay.mjs +120 -0
  232. package/dist/pagination.cjs.js +28 -25
  233. package/dist/pagination.esm.js +54 -51
  234. package/dist/password-field.cjs.js +39 -34
  235. package/dist/password-field.esm.js +63 -58
  236. package/dist/pin-input.cjs.js +18 -14
  237. package/dist/pin-input.esm.js +24 -20
  238. package/dist/placement-grid.cjs.js +1 -1
  239. package/dist/placement-grid.esm.js +1 -1
  240. package/dist/plugin-panel.cjs.js +1 -1
  241. package/dist/plugin-panel.esm.js +1 -1
  242. package/dist/popover.cjs.js +16 -28
  243. package/dist/popover.esm.js +29 -45
  244. package/dist/portal-DeaM1tYY.mjs +121 -0
  245. package/dist/portal-XbYR3m_q.js +1 -0
  246. package/dist/portal.cjs.js +1 -1
  247. package/dist/portal.d.ts +3 -1
  248. package/dist/portal.d.ts.map +1 -1
  249. package/dist/portal.esm.js +1 -1
  250. package/dist/{positioner-D0VGxtYU.mjs → positioner-BE8Nbho2.mjs} +5 -3
  251. package/dist/{positioner-D_fqyx_j.js → positioner-DZ1FW6A9.js} +1 -1
  252. package/dist/positioner.cjs.js +1 -1
  253. package/dist/positioner.esm.js +1 -1
  254. package/dist/presence.cjs.js +1 -1
  255. package/dist/presence.esm.js +1 -1
  256. package/dist/primitives/overlay-motion.d.ts +47 -0
  257. package/dist/primitives/overlay-motion.d.ts.map +1 -0
  258. package/dist/primitives/positioner.d.ts.map +1 -1
  259. package/dist/progress.cjs.js +11 -16
  260. package/dist/progress.esm.js +37 -42
  261. package/dist/quick-actions.cjs.js +14 -14
  262. package/dist/quick-actions.esm.js +12 -12
  263. package/dist/radio-group.cjs.js +50 -26
  264. package/dist/radio-group.esm.js +53 -29
  265. package/dist/radio.cjs.js +16 -13
  266. package/dist/radio.esm.js +16 -13
  267. package/dist/rating.cjs.js +11 -15
  268. package/dist/rating.esm.js +48 -50
  269. package/dist/{runtime-CFnK53iC.mjs → runtime-BRT7E4A8.mjs} +563 -531
  270. package/dist/runtime-CXw4SGV9.js +5 -0
  271. package/dist/runtime.cjs.js +1 -1
  272. package/dist/runtime.d.ts +3 -2
  273. package/dist/runtime.d.ts.map +1 -1
  274. package/dist/runtime.esm.js +36 -32
  275. package/dist/scroll-area.cjs.js +3 -4
  276. package/dist/scroll-area.esm.js +3 -4
  277. package/dist/section.cjs.js +2 -4
  278. package/dist/section.esm.js +2 -4
  279. package/dist/select.cjs.js +42 -75
  280. package/dist/select.esm.js +57 -89
  281. package/dist/selection-popup.cjs.js +3 -4
  282. package/dist/selection-popup.esm.js +3 -4
  283. package/dist/semantic-tokens.d.ts +17 -0
  284. package/dist/semantic-tokens.d.ts.map +1 -0
  285. package/dist/separator.cjs.js +6 -6
  286. package/dist/separator.esm.js +7 -7
  287. package/dist/sidebar.cjs.js +29 -28
  288. package/dist/sidebar.esm.js +32 -31
  289. package/dist/skeleton.cjs.js +2 -2
  290. package/dist/skeleton.esm.js +2 -2
  291. package/dist/slider.cjs.js +22 -26
  292. package/dist/slider.esm.js +25 -29
  293. package/dist/slot.cjs.js +1 -1
  294. package/dist/slot.esm.js +1 -1
  295. package/dist/sortable.cjs.js +10 -11
  296. package/dist/sortable.esm.js +10 -11
  297. package/dist/spinning-text.cjs.js +4 -13
  298. package/dist/spinning-text.esm.js +4 -13
  299. package/dist/split-button.cjs.js +7 -7
  300. package/dist/split-button.esm.js +17 -16
  301. package/dist/splitter.cjs.js +52 -10
  302. package/dist/splitter.esm.js +55 -13
  303. package/dist/stepper.cjs.js +31 -65
  304. package/dist/stepper.esm.js +32 -66
  305. package/dist/switch.cjs.js +20 -22
  306. package/dist/switch.esm.js +20 -22
  307. package/dist/table.cjs.js +5 -5
  308. package/dist/table.esm.js +20 -20
  309. package/dist/tabs.cjs.js +101 -26
  310. package/dist/tabs.esm.js +187 -112
  311. package/dist/tags-input.cjs.js +43 -17
  312. package/dist/tags-input.esm.js +75 -49
  313. package/dist/textarea.cjs.js +34 -35
  314. package/dist/textarea.esm.js +50 -51
  315. package/dist/theme.d.ts +25 -1
  316. package/dist/theme.d.ts.map +1 -1
  317. package/dist/time-field.cjs.js +8 -8
  318. package/dist/time-field.esm.js +29 -29
  319. package/dist/time-picker.cjs.js +17 -14
  320. package/dist/time-picker.esm.js +28 -25
  321. package/dist/timeline.cjs.js +10 -10
  322. package/dist/timeline.esm.js +7 -7
  323. package/dist/toast.cjs.js +2 -2
  324. package/dist/toast.esm.js +2 -2
  325. package/dist/toggle-group.cjs.js +13 -13
  326. package/dist/toggle-group.esm.js +66 -61
  327. package/dist/toggle.cjs.js +52 -34
  328. package/dist/toggle.esm.js +80 -62
  329. package/dist/toolbar.cjs.js +14 -14
  330. package/dist/toolbar.esm.js +41 -33
  331. package/dist/tooltip.cjs.js +3 -3
  332. package/dist/tooltip.esm.js +39 -33
  333. package/dist/transfer-list.cjs.js +37 -38
  334. package/dist/transfer-list.esm.js +32 -33
  335. package/dist/{tree-B_oQput6.mjs → tree-33fVNnaf.mjs} +6 -5
  336. package/dist/{tree-SivHxcAy.js → tree-Dc02MChE.js} +6 -5
  337. package/dist/tree-item.cjs.js +9 -8
  338. package/dist/tree-item.esm.js +13 -12
  339. package/dist/tree.cjs.js +1 -1
  340. package/dist/tree.esm.js +1 -1
  341. package/dist/{ui-button-Co8Sid6t.mjs → ui-button-C3OmI7Sn.mjs} +152 -154
  342. package/dist/{ui-button-BPrzJScZ.js → ui-button-CnLwXBnx.js} +107 -109
  343. package/dist/wizard.cjs.js +51 -39
  344. package/dist/wizard.esm.js +51 -39
  345. package/package.json +1 -1
  346. package/dist/date-time-utils-y3AvNvGe.js +0 -1
  347. package/dist/portal-DgpQ3Jo1.js +0 -1
  348. package/dist/portal-bR42gHvG.mjs +0 -118
  349. package/dist/runtime-DwE-tizc.js +0 -1
@@ -1,36 +1,38 @@
1
1
  import { E as R } from "./ElementBase-BeZT54Hj.mjs";
2
- import { e as M } from "./control-name-Bpj7F34X.mjs";
3
- import { f as q, b as $, a as L } from "./collection-C7URGjEI.mjs";
4
- import { r as F } from "./listbox-hMVOhKHC.mjs";
5
- const D = `
2
+ import { s as M, O as $ } from "./overlay-motion-BX3dPLay.mjs";
3
+ import { e as q } from "./control-name-Bpj7F34X.mjs";
4
+ import { f as L, b as F, a as D } from "./collection-C7URGjEI.mjs";
5
+ import { r as O } from "./listbox-hMVOhKHC.mjs";
6
+ const T = `
7
+ ${$}
8
+
6
9
  :host {
7
10
  --ui-select-width: var(--ui-width, min(340px, 100%));
8
- --ui-select-min-height: var(--base-select-height-md, 42px);
9
- --ui-select-radius: var(--base-select-radius, var(--ui-radius, 4px));
10
- --ui-select-padding-x: var(--base-select-padding-x, 12px);
11
+ --ui-select-min-height: var(--base-select-height-md, var(--ui-control-height-2, 32px));
12
+ --ui-select-radius: var(--base-select-radius, var(--ui-control-radius-2, var(--ui-radius, 6px)));
13
+ --ui-select-padding-x: var(--base-select-padding-x, var(--ui-control-padding-inline-2, 12px));
14
+ --ui-select-font-size: var(--ui-control-font-size-2, 14px);
11
15
 
12
16
  --ui-select-bg: var(--base-select-bg, var(--ui-color-surface, #ffffff));
13
- --ui-select-border: var(--base-select-border, 1px solid color-mix(in srgb, var(--ui-color-border, #cbd5e1) 74%, transparent));
17
+ --ui-select-border: var(--base-select-border, 1px solid var(--ui-color-line, var(--ui-color-border, #cbd5e1)));
14
18
  --ui-select-border-color: color-mix(in srgb, var(--ui-select-border) 100%, transparent);
15
19
  --ui-select-text: var(--ui-color-text, #0f172a);
16
20
  --ui-select-muted: var(--ui-color-muted, #526175);
17
- --ui-select-placeholder: color-mix(in srgb, var(--ui-select-text) 44%, transparent);
21
+ --ui-select-placeholder: var(--ui-color-placeholder, color-mix(in srgb, var(--ui-select-text) 62%, transparent));
18
22
  --ui-select-focus: var(--ui-color-focus-ring, #2563eb);
19
23
  --ui-select-accent: var(--ui-color-primary, #2563eb);
20
24
  --ui-select-success: var(--ui-color-success, #15803d);
21
25
  --ui-select-warning: var(--ui-color-warning, #b45309);
22
- --ui-select-error: var(--ui-color-danger, #dc2626);
26
+ --ui-select-error: var(--ui-color-danger-text, var(--ui-color-danger, #dc2626));
23
27
 
24
28
  --ui-select-shadow: var(--base-select-shadow, none);
25
29
  --ui-select-elevation: var(--ui-select-shadow);
26
- --ui-select-menu-bg: var(--base-select-menu-bg, color-mix(in srgb, var(--ui-color-surface, #ffffff) 98%, transparent));
30
+ --ui-select-menu-bg: var(--base-select-menu-bg, var(--color-panel-solid, var(--ui-color-surface, #ffffff)));
27
31
  --ui-select-menu-color: var(--base-select-menu-color, var(--ui-select-text));
28
- --ui-select-menu-border-color: color-mix(in srgb, var(--ui-select-border-color) 82%, transparent);
32
+ --ui-select-menu-border-color: var(--ui-color-line-subtle, color-mix(in srgb, var(--ui-select-border-color) 82%, transparent));
29
33
  --ui-select-menu-border: 1px solid var(--ui-select-menu-border-color);
30
- --ui-select-menu-radius: var(--base-select-menu-radius, var(--ui-select-radius));
31
- --ui-select-menu-shadow:
32
- 0 14px 34px rgba(15, 23, 42, 0.16),
33
- 0 3px 10px rgba(15, 23, 42, 0.08);
34
+ --ui-select-menu-radius: var(--base-select-menu-radius, calc(var(--ui-radius, 6px) + 2px));
35
+ --ui-select-menu-shadow: var(--shadow-5, 0 14px 34px rgba(15, 23, 42, 0.16));
34
36
  --ui-select-menu-padding: 0px;
35
37
  --ui-select-menu-gap: 8px;
36
38
  --ui-select-menu-max-height: min(320px, var(--ui-select-available-height, 320px));
@@ -102,6 +104,7 @@ const D = `
102
104
  }
103
105
 
104
106
  .control {
107
+ box-sizing: border-box;
105
108
  min-inline-size: 0;
106
109
  position: relative;
107
110
  display: block;
@@ -121,10 +124,14 @@ const D = `
121
124
 
122
125
  .control[data-open="true"],
123
126
  .control:focus-within {
124
- border-color: color-mix(in srgb, var(--ui-select-focus) 62%, var(--ui-select-border-color));
125
- box-shadow:
126
- 0 0 0 4px color-mix(in srgb, var(--ui-select-focus) 18%, transparent),
127
- var(--ui-select-elevation);
127
+ border-color: var(--ui-ring-color, var(--ui-select-focus));
128
+ outline: var(--ui-ring-width, 2px) solid var(--ui-ring-color, var(--ui-select-focus));
129
+ outline-offset: -1px;
130
+ box-shadow: var(--ui-select-elevation);
131
+ }
132
+
133
+ .control:hover:not(:focus-within):not([data-open="true"]) {
134
+ border-color: var(--ui-color-line-strong, var(--ui-select-border-color));
128
135
  }
129
136
 
130
137
  .leading,
@@ -163,6 +170,7 @@ const D = `
163
170
  }
164
171
 
165
172
  .trigger {
173
+ display: block;
166
174
  inline-size: 100%;
167
175
  min-inline-size: 0;
168
176
  block-size: calc(var(--ui-select-min-height) - 2px);
@@ -171,8 +179,8 @@ const D = `
171
179
  outline: none;
172
180
  background: transparent;
173
181
  color: var(--ui-select-text);
174
- font: 500 14px/1.35 "Inter", "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
175
- padding: 8px calc(var(--ui-select-padding-x) + 24px) 8px var(--ui-select-padding-x);
182
+ font: 500 var(--ui-select-font-size)/1.35 "Inter", "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
183
+ padding: 0 calc(var(--ui-select-padding-x) + 24px) 0 var(--ui-select-padding-x);
176
184
  margin: 0;
177
185
  cursor: pointer;
178
186
  text-align: left;
@@ -274,9 +282,7 @@ const D = `
274
282
  overflow-x: hidden;
275
283
  border: var(--ui-select-menu-border);
276
284
  border-radius: var(--ui-select-menu-radius);
277
- background:
278
- linear-gradient(180deg, color-mix(in srgb, var(--ui-select-accent) 3%, transparent) 0%, transparent 100%),
279
- var(--ui-select-menu-bg);
285
+ background: var(--ui-select-menu-bg);
280
286
  color: var(--ui-select-menu-color);
281
287
  box-shadow: var(--ui-select-menu-shadow);
282
288
  padding: var(--ui-select-menu-padding);
@@ -305,18 +311,8 @@ const D = `
305
311
  background-clip: padding-box;
306
312
  }
307
313
 
308
- .panel[data-placement="top"] .menu {
309
- transform-origin: bottom center;
310
- animation: ui-select-menu-enter-top 160ms cubic-bezier(0.2, 0.8, 0.2, 1);
311
- }
312
-
313
- .panel[data-placement="bottom"] .menu {
314
- transform-origin: top center;
315
- animation: ui-select-menu-enter-bottom 160ms cubic-bezier(0.2, 0.8, 0.2, 1);
316
- }
317
-
318
314
  .menu-group {
319
- color: color-mix(in srgb, var(--ui-select-muted) 88%, transparent);
315
+ color: var(--ui-select-muted);
320
316
  font: 700 11px/1.3 "Inter", "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
321
317
  letter-spacing: 0.08em;
322
318
  text-transform: uppercase;
@@ -479,17 +475,14 @@ const D = `
479
475
 
480
476
  :host([size="sm"]),
481
477
  :host([size="1"]) {
482
- --ui-select-min-height: 34px;
483
- --ui-select-padding-x: 10px;
478
+ --ui-select-min-height: var(--base-select-height-sm, var(--ui-control-height-1, 24px));
479
+ --ui-select-padding-x: var(--ui-control-padding-inline-1, 8px);
480
+ --ui-select-font-size: var(--ui-control-font-size-1, 12px);
481
+ --ui-select-radius: var(--ui-control-radius-1, var(--ui-radius, 6px));
484
482
  --ui-select-menu-gap: 6px;
485
483
  --ui-select-menu-item-height: 34px;
486
484
  }
487
485
 
488
- :host([size="sm"]) .trigger,
489
- :host([size="1"]) .trigger {
490
- font-size: 12px;
491
- }
492
-
493
486
  :host([size="sm"]) .menu-item,
494
487
  :host([size="1"]) .menu-item {
495
488
  font-size: 12px;
@@ -498,17 +491,14 @@ const D = `
498
491
 
499
492
  :host([size="lg"]),
500
493
  :host([size="3"]) {
501
- --ui-select-min-height: 46px;
502
- --ui-select-padding-x: 13px;
494
+ --ui-select-min-height: var(--base-select-height-lg, var(--ui-control-height-3, 40px));
495
+ --ui-select-padding-x: var(--ui-control-padding-inline-3, 16px);
496
+ --ui-select-font-size: var(--ui-control-font-size-3, 16px);
497
+ --ui-select-radius: var(--ui-control-radius-3, var(--ui-radius, 6px));
503
498
  --ui-select-menu-gap: 10px;
504
499
  --ui-select-menu-item-height: 42px;
505
500
  }
506
501
 
507
- :host([size="lg"]) .trigger,
508
- :host([size="3"]) .trigger {
509
- font-size: 15px;
510
- }
511
-
512
502
  :host([size="lg"]) .menu-item,
513
503
  :host([size="3"]) .menu-item {
514
504
  font-size: 14px;
@@ -659,7 +649,7 @@ const D = `
659
649
  :host([invalid]) .control,
660
650
  :host([data-invalid="true"]) .control {
661
651
  box-shadow:
662
- 0 0 0 4px color-mix(in srgb, var(--ui-select-error) 18%, transparent),
652
+ 0 0 0 1px var(--ui-select-error),
663
653
  var(--ui-select-elevation);
664
654
  }
665
655
 
@@ -673,28 +663,6 @@ const D = `
673
663
  }
674
664
  }
675
665
 
676
- @keyframes ui-select-menu-enter-bottom {
677
- from {
678
- opacity: 0;
679
- transform: translateY(-4px) scale(0.985);
680
- }
681
- to {
682
- opacity: 1;
683
- transform: translateY(0) scale(1);
684
- }
685
- }
686
-
687
- @keyframes ui-select-menu-enter-top {
688
- from {
689
- opacity: 0;
690
- transform: translateY(4px) scale(0.985);
691
- }
692
- to {
693
- opacity: 1;
694
- transform: translateY(0) scale(1);
695
- }
696
- }
697
-
698
666
  @media (prefers-reduced-motion: reduce) {
699
667
  .control,
700
668
  .indicator,
@@ -755,7 +723,7 @@ function h(p) {
755
723
  function v(p) {
756
724
  return String(p).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
757
725
  }
758
- function O(p) {
726
+ function U(p) {
759
727
  if (!p) return null;
760
728
  const e = String(p).trim();
761
729
  return e ? e === "none" ? "4px" : e === "full" ? "999px" : e === "large" ? "16px" : /^-?\\d+(\\.\\d+)?$/.test(e) ? `${e}px` : e : null;
@@ -789,7 +757,7 @@ const S = /* @__PURE__ */ new Set([
789
757
  "data-valid",
790
758
  "close-on-scroll"
791
759
  ]);
792
- class T extends R {
760
+ class B extends R {
793
761
  constructor() {
794
762
  super(), this._controlEl = null, this._triggerEl = null, this._valueEl = null, this._panelEl = null, this._menuEl = null, this._observer = null, this._formUnregister = null, this._optionsSyncRaf = 0, this._panelPlacementRaf = 0, this._uid = Math.random().toString(36).slice(2, 8), this._options = [], this._menuItems = [], this._optionsFingerprint = "", this._menuRenderFingerprint = "", this._open = !1, this._activeIndex = -1, this._placement = "bottom", this._onRootClick = this._onRootClick.bind(this), this._onRootKeyDown = this._onRootKeyDown.bind(this), this._onRootPointerDown = this._onRootPointerDown.bind(this), this._onRootPointerMove = this._onRootPointerMove.bind(this), this._onSlotChange = this._onSlotChange.bind(this), this._onDocumentPointerDown = this._onDocumentPointerDown.bind(this), this._onWindowResize = this._onWindowResize.bind(this), this._onWindowScroll = this._onWindowScroll.bind(this);
795
763
  }
@@ -1075,13 +1043,13 @@ class T extends R {
1075
1043
  return e.map((t) => `${t.value}${t.label}${t.disabled ? "1" : "0"}${t.group}`).join("");
1076
1044
  }
1077
1045
  _firstEnabledIndex() {
1078
- return q(this._options, (e) => e.disabled);
1046
+ return L(this._options, (e) => e.disabled);
1079
1047
  }
1080
1048
  _lastEnabledIndex() {
1081
- return $(this._options, (e) => e.disabled);
1049
+ return F(this._options, (e) => e.disabled);
1082
1050
  }
1083
1051
  _selectedIndex() {
1084
- return L(this._options, this.value, (e) => e.value);
1052
+ return D(this._options, this.value, (e) => e.value);
1085
1053
  }
1086
1054
  _checkPlacement() {
1087
1055
  return this.getAttribute("check-placement") === "start" ? "start" : "end";
@@ -1149,8 +1117,8 @@ class T extends R {
1149
1117
  a.className = "menu-item-label", a.textContent = r.label;
1150
1118
  const c = document.createElement("span");
1151
1119
  c.className = "menu-item-check", c.setAttribute("aria-hidden", "true");
1152
- const b = this.showCheck, m = this._checkPlacement();
1153
- c.hidden = !b, n.setAttribute("data-check-placement", m), b && m === "start" ? n.append(c, a) : n.append(a, c), e.appendChild(n), this._menuItems.push(n);
1120
+ const m = this.showCheck, b = this._checkPlacement();
1121
+ c.hidden = !m, n.setAttribute("data-check-placement", b), m && b === "start" ? n.append(c, a) : n.append(a, c), e.appendChild(n), this._menuItems.push(n);
1154
1122
  });
1155
1123
  const o = this._menuItems[0] || null, l = this._menuItems[this._menuItems.length - 1] || null;
1156
1124
  o && o.setAttribute("data-edge-start", "true"), l && l.setAttribute("data-edge-end", "true"), e.refresh(), this._menuRenderFingerprint = t, this._syncMenuSelectionState(), this._schedulePanelPlacement();
@@ -1161,7 +1129,7 @@ class T extends R {
1161
1129
  this._menuItems.forEach((i) => {
1162
1130
  const s = Number(i.dataset.index || "-1");
1163
1131
  i.setAttribute("aria-selected", s === e ? "true" : "false");
1164
- }), this._activeIndex = F(this._options, {
1132
+ }), this._activeIndex = O(this._options, {
1165
1133
  selectedIndex: e,
1166
1134
  getDisabled: (i) => i.disabled
1167
1135
  });
@@ -1192,13 +1160,13 @@ class T extends R {
1192
1160
  _syncControlState() {
1193
1161
  const e = this._triggerEl, t = this._controlEl, i = this._valueEl, s = this._panelEl;
1194
1162
  if (!e || !t || !i || !s) return;
1195
- const o = this.getAttribute("label") || "", l = this.getAttribute("description") || "", r = this.getAttribute("error") || "", u = this.getAttribute("aria-label") || o || "Select", n = h(this.getAttribute("loading")), a = h(this.getAttribute("required")) || this.hasAttribute("required"), c = this.getAttribute("tabindex"), b = this.hasAttribute("validation") && this.getAttribute("validation") === "error" || this.hasAttribute("invalid") || this.getAttribute("data-invalid") === "true", m = O(this.getAttribute("radius")), d = this.root.querySelector(".label"), x = this.root.querySelector(".label-text"), g = this.root.querySelector(".description"), f = this.root.querySelector(".description-text"), _ = this.root.querySelector(".error"), y = this.root.querySelector(".error-text"), w = this.root.querySelector(".meta"), A = this.root.querySelector(".required"), E = !!o || this._hasSlotContent("label"), k = !!l || this._hasSlotContent("description"), C = !!r || this._hasSlotContent("error"), I = this._hasSlotContent("leading"), z = this._hasSlotContent("trailing"), P = !!(this.getAttribute("placeholder") || "").trim() && this.value === "";
1196
- x && (x.textContent = o), f && (f.textContent = l), y && (y.textContent = r), d && (d.hidden = !E), g && (g.hidden = !k), _ && (_.hidden = !C), w && (w.hidden = !E && !k), A && (A.hidden = !a), i.textContent = this._currentDisplayText(), t.setAttribute("data-open", this._open ? "true" : "false"), t.setAttribute("data-placeholder-shown", P ? "true" : "false"), t.setAttribute("data-has-leading", String(I)), t.setAttribute("data-has-trailing", String(z)), e.disabled = this.disabled, e.setAttribute("aria-label", u), e.setAttribute("aria-expanded", this._open ? "true" : "false"), e.setAttribute("aria-busy", n ? "true" : "false"), e.setAttribute("aria-required", a ? "true" : "false"), b ? e.setAttribute("aria-invalid", "true") : e.removeAttribute("aria-invalid"), c != null && !this.disabled ? e.setAttribute("tabindex", c) : this.disabled ? e.setAttribute("tabindex", "-1") : e.setAttribute("tabindex", "0"), s.hidden = !this._open, s.setAttribute("data-placement", this._placement), this._open ? e.setAttribute("aria-controls", `${this._uid}-listbox`) : e.removeAttribute("aria-controls"), m && !["none", "full", "large"].includes(this.getAttribute("radius") || "") ? this.style.setProperty("--ui-select-radius", m) : this.style.removeProperty("--ui-select-radius"), this.setAttribute("aria-disabled", this.disabled ? "true" : "false"), this.setAttribute("aria-busy", n ? "true" : "false"), this.toggleAttribute("open", this._open), this._open && this._schedulePanelPlacement();
1163
+ const o = this.getAttribute("label") || "", l = this.getAttribute("description") || "", r = this.getAttribute("error") || "", u = this.getAttribute("aria-label") || o || "Select", n = h(this.getAttribute("loading")), a = h(this.getAttribute("required")) || this.hasAttribute("required"), c = this.getAttribute("tabindex"), m = this.hasAttribute("validation") && this.getAttribute("validation") === "error" || this.hasAttribute("invalid") || this.getAttribute("data-invalid") === "true", b = U(this.getAttribute("radius")), d = this.root.querySelector(".label"), x = this.root.querySelector(".label-text"), g = this.root.querySelector(".description"), f = this.root.querySelector(".description-text"), _ = this.root.querySelector(".error"), y = this.root.querySelector(".error-text"), w = this.root.querySelector(".meta"), A = this.root.querySelector(".required"), E = !!o || this._hasSlotContent("label"), k = !!l || this._hasSlotContent("description"), C = !!r || this._hasSlotContent("error"), I = this._hasSlotContent("leading"), z = this._hasSlotContent("trailing"), P = !!(this.getAttribute("placeholder") || "").trim() && this.value === "";
1164
+ x && (x.textContent = o), f && (f.textContent = l), y && (y.textContent = r), d && (d.hidden = !E), g && (g.hidden = !k), _ && (_.hidden = !C), w && (w.hidden = !E && !k), A && (A.hidden = !a), i.textContent = this._currentDisplayText(), t.setAttribute("data-open", this._open ? "true" : "false"), t.setAttribute("data-placeholder-shown", P ? "true" : "false"), t.setAttribute("data-has-leading", String(I)), t.setAttribute("data-has-trailing", String(z)), e.disabled = this.disabled, e.setAttribute("aria-label", u), e.setAttribute("aria-expanded", this._open ? "true" : "false"), e.setAttribute("aria-busy", n ? "true" : "false"), e.setAttribute("aria-required", a ? "true" : "false"), m ? e.setAttribute("aria-invalid", "true") : e.removeAttribute("aria-invalid"), c != null && !this.disabled ? e.setAttribute("tabindex", c) : this.disabled ? e.setAttribute("tabindex", "-1") : e.setAttribute("tabindex", "0"), s.setAttribute("data-placement", this._placement), M(s, this._open, String(this._placement).split("-")[0]), this._open ? e.setAttribute("aria-controls", `${this._uid}-listbox`) : e.removeAttribute("aria-controls"), b && !["none", "full", "large"].includes(this.getAttribute("radius") || "") ? this.style.setProperty("--ui-select-radius", b) : this.style.removeProperty("--ui-select-radius"), this.setAttribute("aria-disabled", this.disabled ? "true" : "false"), this.setAttribute("aria-busy", n ? "true" : "false"), this.toggleAttribute("open", this._open), this._open && this._schedulePanelPlacement();
1197
1165
  }
1198
1166
  render() {
1199
- const e = this.getAttribute("label") || "", t = this.getAttribute("description") || "", i = this.getAttribute("error") || "", s = h(this.getAttribute("required")) || this.hasAttribute("required"), o = this.getAttribute("aria-label") || e || "Select", l = !!e || this._hasSlotContent("label"), r = !!t || this._hasSlotContent("description"), u = !!i || this._hasSlotContent("error"), n = this._hasSlotContent("leading"), a = this._hasSlotContent("trailing"), c = `${this._uid}-label`, b = `${this._uid}-description`, m = `${this._uid}-error`, d = `${this._uid}-trigger`, x = `${this._uid}-listbox`, g = M(this, this._uid), f = [r ? b : "", u ? m : "", g.id].filter(Boolean).join(" ");
1167
+ const e = this.getAttribute("label") || "", t = this.getAttribute("description") || "", i = this.getAttribute("error") || "", s = h(this.getAttribute("required")) || this.hasAttribute("required"), o = this.getAttribute("aria-label") || e || "Select", l = !!e || this._hasSlotContent("label"), r = !!t || this._hasSlotContent("description"), u = !!i || this._hasSlotContent("error"), n = this._hasSlotContent("leading"), a = this._hasSlotContent("trailing"), c = `${this._uid}-label`, m = `${this._uid}-description`, b = `${this._uid}-error`, d = `${this._uid}-trigger`, x = `${this._uid}-listbox`, g = q(this, this._uid), f = [r ? m : "", u ? b : "", g.id].filter(Boolean).join(" ");
1200
1168
  this.setContent(`
1201
- <style>${D}</style>
1169
+ <style>${T}</style>
1202
1170
  <slot class="content-slot"></slot>
1203
1171
  <div class="root" part="root">
1204
1172
  <div class="meta" part="meta" ${l || r ? "" : "hidden"}>
@@ -1206,7 +1174,7 @@ class T extends R {
1206
1174
  <slot name="label"><span class="label-text">${v(e)}</span></slot>
1207
1175
  <span class="required" aria-hidden="true" ${s ? "" : "hidden"}>*</span>
1208
1176
  </label>
1209
- <p class="description" part="description" id="${b}" ${r ? "" : "hidden"}>
1177
+ <p class="description" part="description" id="${m}" ${r ? "" : "hidden"}>
1210
1178
  <slot name="description"><span class="description-text">${v(t)}</span></slot>
1211
1179
  </p>
1212
1180
  </div>
@@ -1246,7 +1214,7 @@ class T extends R {
1246
1214
  ></ui-listbox>
1247
1215
  </div>
1248
1216
  </div>
1249
- <p class="error" part="error" id="${m}" ${u ? "" : "hidden"}>
1217
+ <p class="error" part="error" id="${b}" ${u ? "" : "hidden"}>
1250
1218
  <slot name="error"><span class="error-text">${v(i)}</span></slot>
1251
1219
  </p>
1252
1220
  ${g.html}
@@ -1254,7 +1222,7 @@ class T extends R {
1254
1222
  `), this._controlEl = this.root.querySelector(".control"), this._triggerEl = this.root.querySelector(".trigger"), this._valueEl = this.root.querySelector(".value"), this._panelEl = this.root.querySelector(".panel"), this._menuEl = this.root.querySelector(".menu"), this._menuItems = [], this._menuRenderFingerprint = "", this._syncOptionsData(), this._renderMenu(), !this._open && this._panelEl && (this._panelEl.hidden = !0), this._syncControlState();
1255
1223
  }
1256
1224
  }
1257
- typeof customElements < "u" && !customElements.get("ui-select") && customElements.define("ui-select", T);
1225
+ typeof customElements < "u" && !customElements.get("ui-select") && customElements.define("ui-select", B);
1258
1226
  export {
1259
- T as UISelect
1227
+ B as UISelect
1260
1228
  };
@@ -2,17 +2,16 @@
2
2
  :host {
3
3
  --ui-selection-popup-z: 1280;
4
4
  --ui-selection-popup-offset: 10px;
5
- --ui-selection-popup-radius: 12px;
5
+ --ui-selection-popup-radius: calc(var(--ui-radius, 6px) + 2px);
6
6
  --ui-selection-popup-padding: 8px;
7
- --ui-selection-popup-bg: color-mix(in srgb, var(--ui-color-surface, #ffffff) 96%, transparent);
7
+ --ui-selection-popup-bg: var(--color-panel-solid, var(--ui-color-surface, #ffffff));
8
8
  --ui-selection-popup-color: var(--ui-color-text, #0f172a);
9
9
  --ui-selection-popup-border-color: color-mix(in srgb, var(--ui-color-border, #cbd5e1) 72%, transparent);
10
10
  --ui-selection-popup-border: 1px solid var(--ui-selection-popup-border-color);
11
11
  --ui-selection-popup-focus: var(--ui-color-focus-ring, #2563eb);
12
12
  --ui-selection-popup-accent: var(--ui-color-primary, #2563eb);
13
13
  --ui-selection-popup-enter-y: 6px;
14
- --ui-selection-popup-shadow:
15
- none;
14
+ --ui-selection-popup-shadow: var(--shadow-5, 0 8px 24px rgba(15, 23, 42, 0.12));
16
15
  color-scheme: light dark;
17
16
  position: fixed;
18
17
  inset: 0;
@@ -3,17 +3,16 @@ const E = `
3
3
  :host {
4
4
  --ui-selection-popup-z: 1280;
5
5
  --ui-selection-popup-offset: 10px;
6
- --ui-selection-popup-radius: 12px;
6
+ --ui-selection-popup-radius: calc(var(--ui-radius, 6px) + 2px);
7
7
  --ui-selection-popup-padding: 8px;
8
- --ui-selection-popup-bg: color-mix(in srgb, var(--ui-color-surface, #ffffff) 96%, transparent);
8
+ --ui-selection-popup-bg: var(--color-panel-solid, var(--ui-color-surface, #ffffff));
9
9
  --ui-selection-popup-color: var(--ui-color-text, #0f172a);
10
10
  --ui-selection-popup-border-color: color-mix(in srgb, var(--ui-color-border, #cbd5e1) 72%, transparent);
11
11
  --ui-selection-popup-border: 1px solid var(--ui-selection-popup-border-color);
12
12
  --ui-selection-popup-focus: var(--ui-color-focus-ring, #2563eb);
13
13
  --ui-selection-popup-accent: var(--ui-color-primary, #2563eb);
14
14
  --ui-selection-popup-enter-y: 6px;
15
- --ui-selection-popup-shadow:
16
- none;
15
+ --ui-selection-popup-shadow: var(--shadow-5, 0 8px 24px rgba(15, 23, 42, 0.12));
17
16
  color-scheme: light dark;
18
17
  position: fixed;
19
18
  inset: 0;
@@ -0,0 +1,17 @@
1
+ import type { ThemeTokens } from './theme';
2
+ /**
3
+ * Semantic layer of the design tokens.
4
+ *
5
+ * Components should read roles ("the hover fill", "the focus ring", "control height 2"),
6
+ * not pick a step off a colour scale themselves. Every value here is derived from the
7
+ * 12-step scales of the active theme, so it follows the accent palette, the gray scale
8
+ * and light/dark mode without a component knowing about any of them.
9
+ *
10
+ * Step meaning follows the Radix Colors convention:
11
+ * 1-2 app/subtle background, 3-5 component fill (rest/hover/active),
12
+ * 6-8 borders (subtle/default/strong), 9-10 solid fill (rest/hover),
13
+ * 11-12 text (secondary/strong).
14
+ */
15
+ export type SemanticTokenMap = Record<string, string>;
16
+ export declare function deriveSemanticTokens(tokens: ThemeTokens): SemanticTokenMap;
17
+ //# sourceMappingURL=semantic-tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-tokens.d.ts","sourceRoot":"","sources":["../src/semantic-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAWtD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB,CAkE1E"}
@@ -111,22 +111,22 @@
111
111
 
112
112
  :host([tone="brand"]) {
113
113
  --ui-separator-color: color-mix(in srgb, var(--ui-color-primary, #2563eb) 38%, transparent);
114
- --ui-separator-label-color: color-mix(in srgb, var(--ui-color-primary, #2563eb) 68%, var(--ui-color-muted, #526175));
114
+ --ui-separator-label-color: var(--ui-color-accent-text, color-mix(in srgb, var(--ui-color-primary, #2563eb) 68%, var(--ui-color-muted, #526175)));
115
115
  }
116
116
 
117
117
  :host([tone="success"]) {
118
118
  --ui-separator-color: color-mix(in srgb, var(--ui-color-success, #15803d) 40%, transparent);
119
- --ui-separator-label-color: color-mix(in srgb, var(--ui-color-success, #15803d) 70%, var(--ui-color-muted, #526175));
119
+ --ui-separator-label-color: var(--ui-color-success-text, color-mix(in srgb, var(--ui-color-success, #15803d) 70%, var(--ui-color-muted, #526175)));
120
120
  }
121
121
 
122
122
  :host([tone="warning"]) {
123
123
  --ui-separator-color: color-mix(in srgb, var(--ui-color-warning, #b45309) 40%, transparent);
124
- --ui-separator-label-color: color-mix(in srgb, var(--ui-color-warning, #b45309) 70%, var(--ui-color-muted, #526175));
124
+ --ui-separator-label-color: var(--ui-color-warning-text, color-mix(in srgb, var(--ui-color-warning, #b45309) 70%, var(--ui-color-muted, #526175)));
125
125
  }
126
126
 
127
127
  :host([tone="danger"]) {
128
128
  --ui-separator-color: color-mix(in srgb, var(--ui-color-danger, #dc2626) 40%, transparent);
129
- --ui-separator-label-color: color-mix(in srgb, var(--ui-color-danger, #dc2626) 70%, var(--ui-color-muted, #526175));
129
+ --ui-separator-label-color: var(--ui-color-danger-text, color-mix(in srgb, var(--ui-color-danger, #dc2626) 70%, var(--ui-color-muted, #526175)));
130
130
  }
131
131
 
132
132
  :host([variant="dashed"]) .line {
@@ -207,13 +207,13 @@
207
207
  --ui-separator-glow: none;
208
208
  }
209
209
  }
210
- `;function p(o){return o.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}class i extends s.ElementBase{static get observedAttributes(){return["orientation","headless","variant","tone","size","inset","label","decorative"]}attributeChangedCallback(e,r,a){r!==a&&this.isConnected&&this.requestRender()}render(){const e=this.getAttribute("orientation")==="vertical"?"vertical":"horizontal",r=this.hasAttribute("decorative"),a=this.getAttribute("label")||"",t=e==="horizontal"&&(a.length>0||!!this.querySelector('[slot="label"]')),n=r?"presentation":"separator";this.setContent(`
210
+ `;function c(o){return o.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}class i extends s.ElementBase{static get observedAttributes(){return["orientation","headless","variant","tone","size","inset","label","decorative"]}attributeChangedCallback(e,r,a){r!==a&&this.isConnected&&this.requestRender()}render(){const e=this.getAttribute("orientation")==="vertical"?"vertical":"horizontal",r=this.hasAttribute("decorative"),a=this.getAttribute("label")||"",t=e==="horizontal"&&(a.length>0||!!this.querySelector('[slot="label"]')),n=r?"presentation":"separator";this.setContent(`
211
211
  <style>${l}</style>
212
212
  <div class="root" part="root" role="${n}" ${r?"":`aria-orientation="${e}"`}>
213
213
  <div class="group" part="group" data-has-label="${t}">
214
214
  <span class="line line-start" part="line line-start"></span>
215
215
  <span class="label" part="label" ${t?"":"hidden"}>
216
- <slot name="label">${p(a)}</slot>
216
+ <slot name="label">${c(a)}</slot>
217
217
  </span>
218
218
  <span class="line line-end" part="line line-end" ${t?"":"hidden"}></span>
219
219
  </div>
@@ -112,22 +112,22 @@ const s = `
112
112
 
113
113
  :host([tone="brand"]) {
114
114
  --ui-separator-color: color-mix(in srgb, var(--ui-color-primary, #2563eb) 38%, transparent);
115
- --ui-separator-label-color: color-mix(in srgb, var(--ui-color-primary, #2563eb) 68%, var(--ui-color-muted, #526175));
115
+ --ui-separator-label-color: var(--ui-color-accent-text, color-mix(in srgb, var(--ui-color-primary, #2563eb) 68%, var(--ui-color-muted, #526175)));
116
116
  }
117
117
 
118
118
  :host([tone="success"]) {
119
119
  --ui-separator-color: color-mix(in srgb, var(--ui-color-success, #15803d) 40%, transparent);
120
- --ui-separator-label-color: color-mix(in srgb, var(--ui-color-success, #15803d) 70%, var(--ui-color-muted, #526175));
120
+ --ui-separator-label-color: var(--ui-color-success-text, color-mix(in srgb, var(--ui-color-success, #15803d) 70%, var(--ui-color-muted, #526175)));
121
121
  }
122
122
 
123
123
  :host([tone="warning"]) {
124
124
  --ui-separator-color: color-mix(in srgb, var(--ui-color-warning, #b45309) 40%, transparent);
125
- --ui-separator-label-color: color-mix(in srgb, var(--ui-color-warning, #b45309) 70%, var(--ui-color-muted, #526175));
125
+ --ui-separator-label-color: var(--ui-color-warning-text, color-mix(in srgb, var(--ui-color-warning, #b45309) 70%, var(--ui-color-muted, #526175)));
126
126
  }
127
127
 
128
128
  :host([tone="danger"]) {
129
129
  --ui-separator-color: color-mix(in srgb, var(--ui-color-danger, #dc2626) 40%, transparent);
130
- --ui-separator-label-color: color-mix(in srgb, var(--ui-color-danger, #dc2626) 70%, var(--ui-color-muted, #526175));
130
+ --ui-separator-label-color: var(--ui-color-danger-text, color-mix(in srgb, var(--ui-color-danger, #dc2626) 70%, var(--ui-color-muted, #526175)));
131
131
  }
132
132
 
133
133
  :host([variant="dashed"]) .line {
@@ -212,7 +212,7 @@ const s = `
212
212
  function l(o) {
213
213
  return o.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
214
214
  }
215
- class p extends n {
215
+ class c extends n {
216
216
  static get observedAttributes() {
217
217
  return ["orientation", "headless", "variant", "tone", "size", "inset", "label", "decorative"];
218
218
  }
@@ -235,7 +235,7 @@ class p extends n {
235
235
  `);
236
236
  }
237
237
  }
238
- typeof customElements < "u" && !customElements.get("ui-separator") && customElements.define("ui-separator", p);
238
+ typeof customElements < "u" && !customElements.get("ui-separator") && customElements.define("ui-separator", c);
239
239
  export {
240
- p as UISeparator
240
+ c as UISeparator
241
241
  };