@editora/ui-core 0.2.1 → 0.3.0

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 (365) hide show
  1. package/dist/{ElementBase-DxbvhLJs.js → ElementBase-CbUsP3D6.js} +1 -1
  2. package/dist/{ElementBase-BeZT54Hj.mjs → ElementBase-D5QsC5Vw.mjs} +10 -1
  3. package/dist/ElementBase.d.ts +7 -0
  4. package/dist/ElementBase.d.ts.map +1 -1
  5. package/dist/accordion.cjs.js +1 -1
  6. package/dist/accordion.esm.js +1 -1
  7. package/dist/add-icons-CVeHOsWl.js +1 -0
  8. package/dist/add-icons-DBUZJ0g7.mjs +14 -0
  9. package/dist/add-icons.cjs.js +1 -0
  10. package/dist/add-icons.d.ts +16 -0
  11. package/dist/add-icons.d.ts.map +1 -0
  12. package/dist/add-icons.esm.js +4 -0
  13. package/dist/alert-dialog.cjs.js +24 -24
  14. package/dist/alert-dialog.esm.js +112 -107
  15. package/dist/alert.cjs.js +8 -8
  16. package/dist/alert.esm.js +22 -22
  17. package/dist/animated-beam.cjs.js +1 -1
  18. package/dist/animated-beam.esm.js +1 -1
  19. package/dist/animated-list.cjs.js +1 -1
  20. package/dist/animated-list.esm.js +1 -1
  21. package/dist/animated-text.cjs.js +1 -1
  22. package/dist/animated-text.esm.js +1 -1
  23. package/dist/app-header.cjs.js +15 -3
  24. package/dist/app-header.esm.js +31 -4
  25. package/dist/aspect-ratio.cjs.js +1 -1
  26. package/dist/aspect-ratio.esm.js +1 -1
  27. package/dist/avatar.cjs.js +1 -1
  28. package/dist/avatar.esm.js +1 -1
  29. package/dist/badge.cjs.js +1 -1
  30. package/dist/badge.esm.js +1 -1
  31. package/dist/block-controls.cjs.js +1 -1
  32. package/dist/block-controls.esm.js +1 -1
  33. package/dist/box.cjs.js +1 -1
  34. package/dist/box.esm.js +1 -1
  35. package/dist/breadcrumb.cjs.js +4 -4
  36. package/dist/breadcrumb.esm.js +93 -84
  37. package/dist/button.cjs.js +520 -1
  38. package/dist/button.esm.js +682 -2
  39. package/dist/{calendar-CzpWDxLc.js → calendar-BsVqtpjM.js} +6 -6
  40. package/dist/{calendar-DkSDFg33.mjs → calendar-CFafqZVA.mjs} +6 -6
  41. package/dist/calendar.cjs.js +1 -1
  42. package/dist/calendar.esm.js +1 -1
  43. package/dist/card.cjs.js +6 -5
  44. package/dist/card.esm.js +52 -39
  45. package/dist/chart.cjs.js +2 -2
  46. package/dist/chart.esm.js +2 -2
  47. package/dist/checkbox.cjs.js +4 -4
  48. package/dist/checkbox.esm.js +36 -15
  49. package/dist/clone-source-BxK2pEVw.mjs +11 -0
  50. package/dist/clone-source-C7E_ri5f.js +1 -0
  51. package/dist/collapsible.cjs.js +1 -1
  52. package/dist/collapsible.esm.js +1 -1
  53. package/dist/color-picker.cjs.js +2 -2
  54. package/dist/color-picker.esm.js +3 -3
  55. package/dist/combobox.cjs.js +4 -4
  56. package/dist/combobox.esm.js +22 -19
  57. package/dist/command-palette.cjs.js +1 -1
  58. package/dist/command-palette.esm.js +1 -1
  59. package/dist/command.cjs.js +1 -1
  60. package/dist/command.esm.js +1 -1
  61. package/dist/components/ui-alert-dialog.d.ts.map +1 -1
  62. package/dist/components/ui-alert.d.ts.map +1 -1
  63. package/dist/components/ui-app-header.d.ts +1 -0
  64. package/dist/components/ui-app-header.d.ts.map +1 -1
  65. package/dist/components/ui-breadcrumb.d.ts.map +1 -1
  66. package/dist/components/ui-card.d.ts +7 -0
  67. package/dist/components/ui-card.d.ts.map +1 -1
  68. package/dist/components/ui-checkbox.d.ts +6 -0
  69. package/dist/components/ui-checkbox.d.ts.map +1 -1
  70. package/dist/components/ui-combobox.d.ts.map +1 -1
  71. package/dist/components/ui-date-time-picker.d.ts.map +1 -1
  72. package/dist/components/ui-dialog.d.ts +1 -0
  73. package/dist/components/ui-dialog.d.ts.map +1 -1
  74. package/dist/components/ui-drawer.d.ts.map +1 -1
  75. package/dist/components/ui-dropdown.d.ts.map +1 -1
  76. package/dist/components/ui-empty-state.d.ts.map +1 -1
  77. package/dist/components/ui-hover-card.d.ts.map +1 -1
  78. package/dist/components/ui-icon.d.ts +1 -0
  79. package/dist/components/ui-icon.d.ts.map +1 -1
  80. package/dist/components/ui-input.d.ts +16 -0
  81. package/dist/components/ui-input.d.ts.map +1 -1
  82. package/dist/components/ui-layout.d.ts +20 -0
  83. package/dist/components/ui-layout.d.ts.map +1 -1
  84. package/dist/components/ui-menu.d.ts +1 -0
  85. package/dist/components/ui-menu.d.ts.map +1 -1
  86. package/dist/components/ui-menubar.d.ts.map +1 -1
  87. package/dist/components/ui-multi-select.d.ts +6 -0
  88. package/dist/components/ui-multi-select.d.ts.map +1 -1
  89. package/dist/components/ui-number-field.d.ts +6 -0
  90. package/dist/components/ui-number-field.d.ts.map +1 -1
  91. package/dist/components/ui-pagination.d.ts.map +1 -1
  92. package/dist/components/ui-password-field.d.ts +11 -0
  93. package/dist/components/ui-password-field.d.ts.map +1 -1
  94. package/dist/components/ui-popover.d.ts.map +1 -1
  95. package/dist/components/ui-positioner.d.ts.map +1 -1
  96. package/dist/components/ui-radio-group.d.ts +6 -0
  97. package/dist/components/ui-radio-group.d.ts.map +1 -1
  98. package/dist/components/ui-rating.d.ts +1 -0
  99. package/dist/components/ui-rating.d.ts.map +1 -1
  100. package/dist/components/ui-select.d.ts +7 -0
  101. package/dist/components/ui-select.d.ts.map +1 -1
  102. package/dist/components/ui-sidebar.d.ts +1 -0
  103. package/dist/components/ui-sidebar.d.ts.map +1 -1
  104. package/dist/components/ui-slider.d.ts +6 -0
  105. package/dist/components/ui-slider.d.ts.map +1 -1
  106. package/dist/components/ui-sortable.d.ts +1 -0
  107. package/dist/components/ui-sortable.d.ts.map +1 -1
  108. package/dist/components/ui-switch.d.ts +6 -0
  109. package/dist/components/ui-switch.d.ts.map +1 -1
  110. package/dist/components/ui-tabs.d.ts +2 -0
  111. package/dist/components/ui-tabs.d.ts.map +1 -1
  112. package/dist/components/ui-textarea.d.ts +6 -0
  113. package/dist/components/ui-textarea.d.ts.map +1 -1
  114. package/dist/components/ui-toast.d.ts.map +1 -1
  115. package/dist/components/ui-tooltip.d.ts.map +1 -1
  116. package/dist/container.cjs.js +1 -1
  117. package/dist/container.esm.js +1 -1
  118. package/dist/context-menu.cjs.js +2 -2
  119. package/dist/context-menu.esm.js +2 -2
  120. package/dist/control-group.cjs.js +1 -1
  121. package/dist/control-group.esm.js +1 -1
  122. package/dist/data-table.cjs.js +5 -5
  123. package/dist/data-table.esm.js +7 -7
  124. package/dist/date-field.cjs.js +1 -1
  125. package/dist/date-field.esm.js +3 -3
  126. package/dist/date-picker.cjs.js +2 -2
  127. package/dist/date-picker.esm.js +17 -17
  128. package/dist/date-range-picker.cjs.js +2 -2
  129. package/dist/date-range-picker.esm.js +4 -4
  130. package/dist/date-range-time-picker.cjs.js +3 -3
  131. package/dist/date-range-time-picker.esm.js +16 -16
  132. package/dist/date-time-picker.cjs.js +26 -23
  133. package/dist/date-time-picker.esm.js +49 -46
  134. package/dist/{date-time-utils-zAx4ghvC.mjs → date-time-utils-CJUksWj3.mjs} +1 -1
  135. package/dist/{date-time-utils-C-4eHTyy.js → date-time-utils-D3hQQ5Om.js} +1 -1
  136. package/dist/description.cjs.js +1 -1
  137. package/dist/description.esm.js +1 -1
  138. package/dist/dialog.cjs.js +7 -7
  139. package/dist/dialog.esm.js +51 -47
  140. package/dist/direction-provider.cjs.js +1 -1
  141. package/dist/direction-provider.esm.js +1 -1
  142. package/dist/dismissable-layer.cjs.js +1 -1
  143. package/dist/dismissable-layer.esm.js +1 -1
  144. package/dist/dock.cjs.js +1 -1
  145. package/dist/dock.esm.js +1 -1
  146. package/dist/drawer.cjs.js +5 -5
  147. package/dist/drawer.esm.js +18 -17
  148. package/dist/dropdown.cjs.js +7 -7
  149. package/dist/dropdown.esm.js +39 -38
  150. package/dist/empty-state.cjs.js +12 -2
  151. package/dist/empty-state.esm.js +17 -7
  152. package/dist/field-error.cjs.js +1 -1
  153. package/dist/field-error.esm.js +1 -1
  154. package/dist/field.cjs.js +2 -2
  155. package/dist/field.esm.js +2 -2
  156. package/dist/fieldset.cjs.js +1 -1
  157. package/dist/fieldset.esm.js +1 -1
  158. package/dist/file-upload.cjs.js +1 -1
  159. package/dist/file-upload.esm.js +1 -1
  160. package/dist/flex.cjs.js +1 -1
  161. package/dist/flex.esm.js +1 -1
  162. package/dist/floating-toolbar.cjs.js +2 -2
  163. package/dist/floating-toolbar.esm.js +2 -2
  164. package/dist/focus-scope-Dl0qk5GP.mjs +177 -0
  165. package/dist/focus-scope-Doz0bnE1.js +1 -0
  166. package/dist/focus-scope.cjs.js +1 -1
  167. package/dist/focus-scope.esm.js +2 -2
  168. package/dist/form-control-B90_3kYN.js +1 -0
  169. package/dist/form-control-D9wWUMBl.mjs +86 -0
  170. package/dist/form.cjs.js +2 -2
  171. package/dist/form.esm.js +2 -2
  172. package/dist/gantt.cjs.js +2 -2
  173. package/dist/gantt.esm.js +2 -2
  174. package/dist/grid.cjs.js +1 -1
  175. package/dist/grid.esm.js +1 -1
  176. package/dist/hover-card.cjs.js +5 -5
  177. package/dist/hover-card.esm.js +19 -18
  178. package/dist/icon-cloud.cjs.js +1 -1
  179. package/dist/icon-cloud.esm.js +1 -1
  180. package/dist/icon.cjs.js +207 -1
  181. package/dist/icon.esm.js +294 -2
  182. package/dist/icons-CpCpPXV5.js +1 -0
  183. package/dist/icons-DWYbbhb0.mjs +115 -0
  184. package/dist/icons.d.ts +11 -1
  185. package/dist/icons.d.ts.map +1 -1
  186. package/dist/implicit-submit-B6M5Uc56.js +1 -0
  187. package/dist/implicit-submit-Lr0-q2LR.mjs +44 -0
  188. package/dist/index.cjs.js +1 -1
  189. package/dist/index.d.ts +1 -0
  190. package/dist/index.d.ts.map +1 -1
  191. package/dist/index.esm.js +309 -299
  192. package/dist/inline-edit.cjs.js +1 -1
  193. package/dist/inline-edit.esm.js +1 -1
  194. package/dist/input.cjs.js +62 -20
  195. package/dist/input.esm.js +164 -58
  196. package/dist/label.cjs.js +1 -1
  197. package/dist/label.esm.js +1 -1
  198. package/dist/layout.cjs.js +145 -4
  199. package/dist/layout.esm.js +278 -40
  200. package/dist/marquee.cjs.js +1 -1
  201. package/dist/marquee.esm.js +1 -1
  202. package/dist/masonry-grid.cjs.js +1 -1
  203. package/dist/masonry-grid.esm.js +1 -1
  204. package/dist/menu.cjs.js +8 -8
  205. package/dist/menu.esm.js +51 -47
  206. package/dist/menubar.cjs.js +9 -9
  207. package/dist/menubar.esm.js +41 -40
  208. package/dist/meter.cjs.js +1 -1
  209. package/dist/meter.esm.js +1 -1
  210. package/dist/multi-select.cjs.js +7 -7
  211. package/dist/multi-select.esm.js +55 -34
  212. package/dist/navigate-CXebafwF.mjs +18 -0
  213. package/dist/navigate-ChJVIIuS.js +1 -0
  214. package/dist/navigation-menu.cjs.js +1 -1
  215. package/dist/navigation-menu.esm.js +1 -1
  216. package/dist/number-attribute-BAF07JrU.mjs +8 -0
  217. package/dist/number-attribute-C4Rrl7d3.js +1 -0
  218. package/dist/number-field.cjs.js +8 -8
  219. package/dist/number-field.esm.js +90 -69
  220. package/dist/number-ticker.cjs.js +1 -1
  221. package/dist/number-ticker.esm.js +1 -1
  222. package/dist/odometer.cjs.js +1 -1
  223. package/dist/odometer.esm.js +1 -1
  224. package/dist/orbiter.cjs.js +1 -1
  225. package/dist/orbiter.esm.js +1 -1
  226. package/dist/pagination.cjs.js +24 -23
  227. package/dist/pagination.esm.js +61 -46
  228. package/dist/{panel-group-BVHJEdfx.js → panel-group-BIzzpQ5i.js} +1 -1
  229. package/dist/{panel-group-BxO_eNW6.mjs → panel-group-CFLjzRWI.mjs} +1 -1
  230. package/dist/panel-group.cjs.js +1 -1
  231. package/dist/panel-group.esm.js +1 -1
  232. package/dist/panel.cjs.js +1 -1
  233. package/dist/panel.esm.js +1 -1
  234. package/dist/password-field.cjs.js +36 -16
  235. package/dist/password-field.esm.js +113 -44
  236. package/dist/pin-input.cjs.js +1 -1
  237. package/dist/pin-input.esm.js +1 -1
  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 +2 -2
  243. package/dist/popover.esm.js +28 -26
  244. package/dist/portal.cjs.js +1 -1
  245. package/dist/portal.esm.js +1 -1
  246. package/dist/positioner.cjs.js +2 -2
  247. package/dist/positioner.esm.js +35 -38
  248. package/dist/preload.cjs.js +221 -0
  249. package/dist/preload.css +220 -0
  250. package/dist/preload.d.ts +17 -0
  251. package/dist/preload.d.ts.map +1 -0
  252. package/dist/preload.esm.js +224 -0
  253. package/dist/presence.cjs.js +1 -1
  254. package/dist/presence.esm.js +1 -1
  255. package/dist/primitives/clone-source.d.ts +3 -0
  256. package/dist/primitives/clone-source.d.ts.map +1 -0
  257. package/dist/primitives/focus-scope.d.ts +6 -0
  258. package/dist/primitives/focus-scope.d.ts.map +1 -1
  259. package/dist/primitives/form-control.d.ts +68 -0
  260. package/dist/primitives/form-control.d.ts.map +1 -0
  261. package/dist/primitives/implicit-submit.d.ts +17 -0
  262. package/dist/primitives/implicit-submit.d.ts.map +1 -0
  263. package/dist/primitives/navigate.d.ts +27 -0
  264. package/dist/primitives/navigate.d.ts.map +1 -0
  265. package/dist/primitives/number-attribute.d.ts +7 -0
  266. package/dist/primitives/number-attribute.d.ts.map +1 -0
  267. package/dist/primitives/slotted-input.d.ts +19 -0
  268. package/dist/primitives/slotted-input.d.ts.map +1 -0
  269. package/dist/progress.cjs.js +3 -3
  270. package/dist/progress.esm.js +3 -3
  271. package/dist/quick-actions.cjs.js +5 -5
  272. package/dist/quick-actions.esm.js +3 -3
  273. package/dist/radio-group.cjs.js +9 -9
  274. package/dist/radio-group.esm.js +47 -24
  275. package/dist/radio.cjs.js +1 -1
  276. package/dist/radio.esm.js +1 -1
  277. package/dist/rating.cjs.js +6 -6
  278. package/dist/rating.esm.js +21 -10
  279. package/dist/{runtime-BRT7E4A8.mjs → runtime-CORXjP7e.mjs} +379 -357
  280. package/dist/runtime-uCly3ECd.js +5 -0
  281. package/dist/runtime.cjs.js +1 -1
  282. package/dist/runtime.esm.js +1 -1
  283. package/dist/scroll-area.cjs.js +1 -1
  284. package/dist/scroll-area.esm.js +1 -1
  285. package/dist/section.cjs.js +1 -1
  286. package/dist/section.esm.js +1 -1
  287. package/dist/select.cjs.js +21 -21
  288. package/dist/select.esm.js +111 -71
  289. package/dist/selection-popup.cjs.js +2 -2
  290. package/dist/selection-popup.esm.js +2 -2
  291. package/dist/semantic-tokens.d.ts.map +1 -1
  292. package/dist/separator.cjs.js +1 -1
  293. package/dist/separator.esm.js +1 -1
  294. package/dist/sidebar.cjs.js +15 -15
  295. package/dist/sidebar.esm.js +48 -42
  296. package/dist/skeleton.cjs.js +1 -1
  297. package/dist/skeleton.esm.js +1 -1
  298. package/dist/slider.cjs.js +11 -11
  299. package/dist/slider.esm.js +40 -23
  300. package/dist/slot.cjs.js +1 -1
  301. package/dist/slot.esm.js +1 -1
  302. package/dist/slotted-input-BVq2QQg2.js +1 -0
  303. package/dist/slotted-input-atWznLfm.mjs +13 -0
  304. package/dist/sortable.cjs.js +25 -25
  305. package/dist/sortable.esm.js +29 -21
  306. package/dist/spinning-text.cjs.js +1 -1
  307. package/dist/spinning-text.esm.js +1 -1
  308. package/dist/split-button.cjs.js +1 -1
  309. package/dist/split-button.esm.js +1 -1
  310. package/dist/splitter.cjs.js +1 -1
  311. package/dist/splitter.esm.js +1 -1
  312. package/dist/standalone/add-icons.d.ts +2 -0
  313. package/dist/standalone/add-icons.d.ts.map +1 -0
  314. package/dist/standalone/preload.d.ts +2 -0
  315. package/dist/standalone/preload.d.ts.map +1 -0
  316. package/dist/stepper.cjs.js +3 -3
  317. package/dist/stepper.esm.js +3 -3
  318. package/dist/switch.cjs.js +9 -9
  319. package/dist/switch.esm.js +56 -35
  320. package/dist/table.cjs.js +1 -1
  321. package/dist/table.esm.js +1 -1
  322. package/dist/tabs.cjs.js +14 -14
  323. package/dist/tabs.esm.js +129 -115
  324. package/dist/tags-input.cjs.js +1 -1
  325. package/dist/tags-input.esm.js +1 -1
  326. package/dist/textarea.cjs.js +33 -11
  327. package/dist/textarea.esm.js +74 -35
  328. package/dist/theme.d.ts +6 -0
  329. package/dist/theme.d.ts.map +1 -1
  330. package/dist/time-field.cjs.js +1 -1
  331. package/dist/time-field.esm.js +2 -2
  332. package/dist/time-picker.cjs.js +1 -1
  333. package/dist/time-picker.esm.js +3 -3
  334. package/dist/timeline.cjs.js +2 -2
  335. package/dist/timeline.esm.js +2 -2
  336. package/dist/toast.cjs.js +4 -4
  337. package/dist/toast.esm.js +17 -16
  338. package/dist/toggle-group.cjs.js +1 -1
  339. package/dist/toggle-group.esm.js +1 -1
  340. package/dist/toggle.cjs.js +3 -3
  341. package/dist/toggle.esm.js +9 -9
  342. package/dist/toolbar.cjs.js +1 -1
  343. package/dist/toolbar.esm.js +1 -1
  344. package/dist/tooltip.cjs.js +2 -2
  345. package/dist/tooltip.esm.js +12 -14
  346. package/dist/transfer-list.cjs.js +1 -1
  347. package/dist/transfer-list.esm.js +1 -1
  348. package/dist/{tree-33fVNnaf.mjs → tree-CD2k2lIC.mjs} +1 -1
  349. package/dist/{tree-Dc02MChE.js → tree-ChQfhxya.js} +1 -1
  350. package/dist/tree-item.cjs.js +1 -1
  351. package/dist/tree-item.esm.js +1 -1
  352. package/dist/tree.cjs.js +1 -1
  353. package/dist/tree.esm.js +1 -1
  354. package/dist/visually-hidden.cjs.js +1 -1
  355. package/dist/visually-hidden.esm.js +1 -1
  356. package/dist/wizard.cjs.js +4 -4
  357. package/dist/wizard.esm.js +4 -4
  358. package/package.json +3 -2
  359. package/dist/focus-scope-Bwug2gDv.js +0 -1
  360. package/dist/focus-scope-CmEsG5UZ.mjs +0 -138
  361. package/dist/runtime-CXw4SGV9.js +0 -5
  362. package/dist/ui-button-C3OmI7Sn.mjs +0 -684
  363. package/dist/ui-button-CnLwXBnx.js +0 -520
  364. package/dist/ui-icon-D3avtxX_.js +0 -207
  365. package/dist/ui-icon-DLhB08Fo.mjs +0 -361
@@ -1,207 +0,0 @@
1
- "use strict";const k=require("./ElementBase-DxbvhLJs.js"),l=require("@editora/icons"),a=new Map,d=new Map;function c(i){return String(i||"").trim().toLowerCase().replace(/\s+/g,"-").replace(/_/g,"-")}function y(i,e){if(!e)return`${i}::default`;const r=e.variant||"outline",t=e.iconWeight||"",n=e.secondaryColor||"",o=e.strokeWidth==null?"":String(e.strokeWidth),s=e.absoluteStrokeWidth?"1":"0",g=e.strokeLinecap||"",f=e.strokeLinejoin||"",m=e.rotate==null?"":String(e.rotate),v=e.flip||"",x=e.rtl?"1":"0";return[i,r,t,n,o,s,g,f,m,v,x].join("::")}function z(i,e){const r=c(i);r&&a.set(r,e)}function w(i){const e=c(i);e&&a.delete(e)}function C(){a.clear()}function I(i){const e=c(i);return e?a.has(e)?!0:l.hasIcon(e):!1}function A(i,e){return u(i,{variant:e})}function u(i,e){const r=c(i);if(!r)return"";const t=a.get(r);if(t)return t;if(!l.hasIcon(r))return"";const n=y(r,e),o=d.get(n);if(o)return o;const s=l.renderIconSvg(r,{variant:e?.variant||"outline",iconWeight:e?.iconWeight,secondaryColor:e?.secondaryColor,strokeWidth:e?.strokeWidth,absoluteStrokeWidth:e?.absoluteStrokeWidth,strokeLinecap:e?.strokeLinecap,strokeLinejoin:e?.strokeLinejoin,rotate:e?.rotate,flip:e?.flip,rtl:e?.rtl,color:"currentColor",decorative:!0});return s&&d.set(n,s),s}const W=`
2
- :host {
3
- --ui-icon-size: 1em;
4
- --ui-icon-color: currentColor;
5
- --ui-icon-radius: 8px;
6
- --ui-icon-bg: transparent;
7
- --ui-icon-border: 1px solid transparent;
8
- --ui-icon-shadow: none;
9
- --ui-icon-pad: 0;
10
- --ui-icon-rotate-duration: 0.9s;
11
- --ui-icon-pulse-duration: 1.35s;
12
- color-scheme: light dark;
13
- display: inline-grid;
14
- place-items: center;
15
- inline-size: calc(var(--ui-icon-size) + (var(--ui-icon-pad) * 2));
16
- block-size: calc(var(--ui-icon-size) + (var(--ui-icon-pad) * 2));
17
- color: var(--ui-icon-color);
18
- vertical-align: middle;
19
- }
20
-
21
- .icon {
22
- position: relative;
23
- display: grid;
24
- place-items: center;
25
- inline-size: 100%;
26
- block-size: 100%;
27
- border-radius: var(--ui-icon-radius);
28
- border: var(--ui-icon-border);
29
- background: var(--ui-icon-bg);
30
- box-shadow: var(--ui-icon-shadow);
31
- transition: transform 170ms ease, box-shadow 170ms ease, background-color 170ms ease, border-color 170ms ease;
32
- overflow: hidden;
33
- isolation: isolate;
34
- }
35
-
36
- .glyph {
37
- inline-size: var(--ui-icon-size);
38
- block-size: var(--ui-icon-size);
39
- display: grid;
40
- place-items: center;
41
- line-height: 0;
42
- color: currentColor;
43
- }
44
-
45
- .glyph > svg {
46
- inline-size: 100%;
47
- block-size: 100%;
48
- display: block;
49
- fill: currentColor;
50
- stroke-width: var(--ui-icon-stroke-width, 1.5);
51
- shape-rendering: geometricPrecision;
52
- }
53
-
54
- .fallback {
55
- display: inline-grid;
56
- place-items: center;
57
- inline-size: 100%;
58
- block-size: 100%;
59
- border-radius: max(4px, calc(var(--ui-icon-radius) - 3px));
60
- font: 700 11px/1 "IBM Plex Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
61
- letter-spacing: 0.02em;
62
- color: color-mix(in srgb, currentColor 74%, transparent);
63
- background: color-mix(in srgb, currentColor 10%, transparent);
64
- }
65
-
66
- .badge {
67
- position: absolute;
68
- right: 0;
69
- top: 0;
70
- transform: translate(36%, -36%);
71
- min-inline-size: 8px;
72
- block-size: 8px;
73
- border-radius: 999px;
74
- background: var(--ui-icon-badge-bg, #ef4444);
75
- border: 2px solid var(--ui-icon-bg, transparent);
76
- box-sizing: border-box;
77
- }
78
-
79
- :host([size="xs"]) { --ui-icon-size: 12px; }
80
- :host([size="sm"]) { --ui-icon-size: 14px; }
81
- :host([size="md"]) { --ui-icon-size: 18px; }
82
- :host([size="lg"]) { --ui-icon-size: 22px; }
83
- :host([size="xl"]) { --ui-icon-size: 28px; }
84
-
85
- :host([variant="surface"]) {
86
- --ui-icon-pad: 6px;
87
- --ui-icon-bg: var(--ui-color-surface, var(--ui-surface, #ffffff));
88
- --ui-icon-border: 1px solid color-mix(in srgb, var(--ui-color-border, #cbd5e1) 72%, transparent);
89
- --ui-icon-shadow: 0 1px 3px rgba(2, 6, 23, 0.08);
90
- }
91
-
92
- :host([variant="soft"]) {
93
- --ui-icon-pad: 6px;
94
- --ui-icon-bg: color-mix(in srgb, currentColor 8%, transparent);
95
- --ui-icon-border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
96
- }
97
-
98
- :host([variant="contrast"]) {
99
- --ui-icon-pad: 6px;
100
- --ui-icon-bg: #0f172a;
101
- --ui-icon-color: #e2e8f0;
102
- --ui-icon-border: 1px solid #334155;
103
- --ui-icon-shadow: 0 2px 8px rgba(2, 6, 23, 0.28);
104
- }
105
-
106
- :host([variant="minimal"]) {
107
- --ui-icon-pad: 0;
108
- --ui-icon-bg: transparent;
109
- --ui-icon-border: 0;
110
- --ui-icon-shadow: none;
111
- }
112
-
113
- :host([variant="elevated"]) {
114
- --ui-icon-pad: 6px;
115
- --ui-icon-bg: linear-gradient(
116
- 165deg,
117
- color-mix(in srgb, var(--ui-color-surface, #ffffff) 92%, #ffffff 8%),
118
- color-mix(in srgb, var(--ui-color-surface, #ffffff) 98%, transparent)
119
- );
120
- --ui-icon-border: 1px solid color-mix(in srgb, var(--ui-color-border, #cbd5e1) 68%, transparent);
121
- --ui-icon-shadow:
122
- 0 1px 4px rgba(2, 6, 23, 0.08),
123
- 0 10px 20px rgba(2, 6, 23, 0.12);
124
- }
125
-
126
- :host([tone="brand"]) { --ui-icon-color: var(--ui-color-primary, var(--ui-primary, #2563eb)); }
127
- :host([tone="success"]) { --ui-icon-color: var(--ui-color-success, var(--ui-success, #15803d)); }
128
- :host([tone="warning"]) { --ui-icon-color: var(--ui-color-warning, var(--ui-warning, #b45309)); }
129
- :host([tone="danger"]) { --ui-icon-color: var(--ui-color-danger, var(--ui-error, #dc2626)); }
130
-
131
- :host([shape="square"]) { --ui-icon-radius: 4px; }
132
- :host([shape="soft"]) { --ui-icon-radius: 13px; }
133
-
134
- :host([spin]) .glyph {
135
- animation: spin var(--ui-icon-rotate-duration) linear infinite;
136
- }
137
-
138
- :host([pulse]) .icon {
139
- animation: pulse var(--ui-icon-pulse-duration) ease-in-out infinite;
140
- }
141
-
142
- :host(:not([headless])) .icon:hover {
143
- transform: translateY(-0.5px);
144
- box-shadow: 0 3px 12px rgba(2, 6, 23, 0.14);
145
- }
146
-
147
- :host([headless]) .icon {
148
- display: none;
149
- }
150
-
151
- @keyframes spin {
152
- from { transform: rotate(0deg); }
153
- to { transform: rotate(360deg); }
154
- }
155
-
156
- @keyframes pulse {
157
- 0%, 100% { transform: scale(1); }
158
- 50% { transform: scale(1.06); }
159
- }
160
-
161
- @media (prefers-reduced-motion: reduce) {
162
- .icon,
163
- .glyph {
164
- animation: none !important;
165
- transition: none !important;
166
- transform: none !important;
167
- }
168
- }
169
-
170
- @media (prefers-contrast: more) {
171
- :host {
172
- --ui-icon-border: 2px solid color-mix(in srgb, currentColor 48%, transparent);
173
- }
174
- }
175
-
176
- @media (forced-colors: active) {
177
- :host {
178
- --ui-icon-color: CanvasText;
179
- --ui-icon-bg: Canvas;
180
- --ui-icon-border: 1px solid CanvasText;
181
- --ui-icon-shadow: none;
182
- }
183
-
184
- .icon,
185
- .fallback {
186
- forced-color-adjust: none;
187
- background: Canvas;
188
- color: CanvasText;
189
- border-color: CanvasText;
190
- box-shadow: none;
191
- }
192
-
193
- .badge {
194
- background: Highlight;
195
- border-color: Canvas;
196
- }
197
- }
198
- `;function h(i){return i.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function S(i){if(!i)return null;const e=i.trim();return e?/^\d+(\.\d+)?$/.test(e)?`${e}px`:e:null}function p(i){if(!i)return;const e=Number(i);return Number.isFinite(e)?e:void 0}class b extends k.ElementBase{constructor(){super(),this._lastName=""}static get observedAttributes(){return["name","size","color","variant","icon-variant","icon-weight","secondary-color","tone","shape","spin","pulse","badge","label","decorative","stroke-width","absolute-stroke-width","stroke-linecap","stroke-linejoin","rotate","flip","rtl","headless"]}_syncDynamicVars(){const e=S(this.getAttribute("size"));e?this.style.setProperty("--ui-icon-size",e):this.style.removeProperty("--ui-icon-size");const r=this.getAttribute("color");r?this.style.setProperty("--ui-icon-color",r):this.style.removeProperty("--ui-icon-color");const t=this.getAttribute("stroke-width");t?this.style.setProperty("--ui-icon-stroke-width",t):this.style.removeProperty("--ui-icon-stroke-width")}render(){if(this._syncDynamicVars(),this.hasAttribute("headless")){this.setContent("<style></style><slot></slot>");return}const e=this.getAttribute("name")||"",r=this.getAttribute("label")||"",t=this.hasAttribute("decorative"),n=e?u(e,{variant:this.getAttribute("icon-variant")||void 0,iconWeight:this.getAttribute("icon-weight")||void 0,secondaryColor:this.getAttribute("secondary-color")||void 0,strokeWidth:p(this.getAttribute("stroke-width")),absoluteStrokeWidth:this.hasAttribute("absolute-stroke-width"),strokeLinecap:this.getAttribute("stroke-linecap")||void 0,strokeLinejoin:this.getAttribute("stroke-linejoin")||void 0,rotate:p(this.getAttribute("rotate")),flip:this.getAttribute("flip")||void 0,rtl:this.hasAttribute("rtl")}):"",o=!!n,s=t?'aria-hidden="true" role="presentation"':`role="img" aria-label="${h(r||e||"icon")}"`;this.setContent(`
199
- <style>${W}</style>
200
- <span class="icon" part="icon" ${s}>
201
- <span class="glyph" part="glyph">
202
- ${o?n:`<span class="fallback" part="fallback">${h((e||"?").slice(0,1).toUpperCase())}</span>`}
203
- ${o?"":"<slot></slot>"}
204
- </span>
205
- ${this.hasAttribute("badge")?'<span class="badge" part="badge" aria-hidden="true"></span>':""}
206
- </span>
207
- `),e!==this._lastName&&(this.dispatchEvent(new CustomEvent("iconchange",{detail:{name:e,found:o},bubbles:!0})),this._lastName=e)}shouldRenderOnAttributeChange(e,r,t){return!0}}typeof customElements<"u"&&!customElements.get("ui-icon")&&customElements.define("ui-icon",b);exports.UIIcon=b;exports.clearCustomIcons=C;exports.getIcon=u;exports.getIconVariant=A;exports.hasIcon=I;exports.registerIcon=z;exports.unregisterIcon=w;
@@ -1,361 +0,0 @@
1
- import { E as x } from "./ElementBase-BeZT54Hj.mjs";
2
- import { hasIcon as h, renderIconSvg as k } from "@editora/icons";
3
- const a = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map();
4
- function c(i) {
5
- return String(i || "").trim().toLowerCase().replace(/\s+/g, "-").replace(/_/g, "-");
6
- }
7
- function y(i, e) {
8
- if (!e) return `${i}::default`;
9
- const r = e.variant || "outline", t = e.iconWeight || "", n = e.secondaryColor || "", o = e.strokeWidth == null ? "" : String(e.strokeWidth), s = e.absoluteStrokeWidth ? "1" : "0", b = e.strokeLinecap || "", g = e.strokeLinejoin || "", f = e.rotate == null ? "" : String(e.rotate), m = e.flip || "", v = e.rtl ? "1" : "0";
10
- return [
11
- i,
12
- r,
13
- t,
14
- n,
15
- o,
16
- s,
17
- b,
18
- g,
19
- f,
20
- m,
21
- v
22
- ].join("::");
23
- }
24
- function I(i, e) {
25
- const r = c(i);
26
- r && a.set(r, e);
27
- }
28
- function S(i) {
29
- const e = c(i);
30
- e && a.delete(e);
31
- }
32
- function L() {
33
- a.clear();
34
- }
35
- function $(i) {
36
- const e = c(i);
37
- return e ? a.has(e) ? !0 : h(e) : !1;
38
- }
39
- function j(i, e) {
40
- return p(i, { variant: e });
41
- }
42
- function p(i, e) {
43
- const r = c(i);
44
- if (!r) return "";
45
- const t = a.get(r);
46
- if (t) return t;
47
- if (!h(r)) return "";
48
- const n = y(r, e), o = l.get(n);
49
- if (o) return o;
50
- const s = k(r, {
51
- variant: e?.variant || "outline",
52
- iconWeight: e?.iconWeight,
53
- secondaryColor: e?.secondaryColor,
54
- strokeWidth: e?.strokeWidth,
55
- absoluteStrokeWidth: e?.absoluteStrokeWidth,
56
- strokeLinecap: e?.strokeLinecap,
57
- strokeLinejoin: e?.strokeLinejoin,
58
- rotate: e?.rotate,
59
- flip: e?.flip,
60
- rtl: e?.rtl,
61
- color: "currentColor",
62
- decorative: !0
63
- });
64
- return s && l.set(n, s), s;
65
- }
66
- const z = `
67
- :host {
68
- --ui-icon-size: 1em;
69
- --ui-icon-color: currentColor;
70
- --ui-icon-radius: 8px;
71
- --ui-icon-bg: transparent;
72
- --ui-icon-border: 1px solid transparent;
73
- --ui-icon-shadow: none;
74
- --ui-icon-pad: 0;
75
- --ui-icon-rotate-duration: 0.9s;
76
- --ui-icon-pulse-duration: 1.35s;
77
- color-scheme: light dark;
78
- display: inline-grid;
79
- place-items: center;
80
- inline-size: calc(var(--ui-icon-size) + (var(--ui-icon-pad) * 2));
81
- block-size: calc(var(--ui-icon-size) + (var(--ui-icon-pad) * 2));
82
- color: var(--ui-icon-color);
83
- vertical-align: middle;
84
- }
85
-
86
- .icon {
87
- position: relative;
88
- display: grid;
89
- place-items: center;
90
- inline-size: 100%;
91
- block-size: 100%;
92
- border-radius: var(--ui-icon-radius);
93
- border: var(--ui-icon-border);
94
- background: var(--ui-icon-bg);
95
- box-shadow: var(--ui-icon-shadow);
96
- transition: transform 170ms ease, box-shadow 170ms ease, background-color 170ms ease, border-color 170ms ease;
97
- overflow: hidden;
98
- isolation: isolate;
99
- }
100
-
101
- .glyph {
102
- inline-size: var(--ui-icon-size);
103
- block-size: var(--ui-icon-size);
104
- display: grid;
105
- place-items: center;
106
- line-height: 0;
107
- color: currentColor;
108
- }
109
-
110
- .glyph > svg {
111
- inline-size: 100%;
112
- block-size: 100%;
113
- display: block;
114
- fill: currentColor;
115
- stroke-width: var(--ui-icon-stroke-width, 1.5);
116
- shape-rendering: geometricPrecision;
117
- }
118
-
119
- .fallback {
120
- display: inline-grid;
121
- place-items: center;
122
- inline-size: 100%;
123
- block-size: 100%;
124
- border-radius: max(4px, calc(var(--ui-icon-radius) - 3px));
125
- font: 700 11px/1 "IBM Plex Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
126
- letter-spacing: 0.02em;
127
- color: color-mix(in srgb, currentColor 74%, transparent);
128
- background: color-mix(in srgb, currentColor 10%, transparent);
129
- }
130
-
131
- .badge {
132
- position: absolute;
133
- right: 0;
134
- top: 0;
135
- transform: translate(36%, -36%);
136
- min-inline-size: 8px;
137
- block-size: 8px;
138
- border-radius: 999px;
139
- background: var(--ui-icon-badge-bg, #ef4444);
140
- border: 2px solid var(--ui-icon-bg, transparent);
141
- box-sizing: border-box;
142
- }
143
-
144
- :host([size="xs"]) { --ui-icon-size: 12px; }
145
- :host([size="sm"]) { --ui-icon-size: 14px; }
146
- :host([size="md"]) { --ui-icon-size: 18px; }
147
- :host([size="lg"]) { --ui-icon-size: 22px; }
148
- :host([size="xl"]) { --ui-icon-size: 28px; }
149
-
150
- :host([variant="surface"]) {
151
- --ui-icon-pad: 6px;
152
- --ui-icon-bg: var(--ui-color-surface, var(--ui-surface, #ffffff));
153
- --ui-icon-border: 1px solid color-mix(in srgb, var(--ui-color-border, #cbd5e1) 72%, transparent);
154
- --ui-icon-shadow: 0 1px 3px rgba(2, 6, 23, 0.08);
155
- }
156
-
157
- :host([variant="soft"]) {
158
- --ui-icon-pad: 6px;
159
- --ui-icon-bg: color-mix(in srgb, currentColor 8%, transparent);
160
- --ui-icon-border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
161
- }
162
-
163
- :host([variant="contrast"]) {
164
- --ui-icon-pad: 6px;
165
- --ui-icon-bg: #0f172a;
166
- --ui-icon-color: #e2e8f0;
167
- --ui-icon-border: 1px solid #334155;
168
- --ui-icon-shadow: 0 2px 8px rgba(2, 6, 23, 0.28);
169
- }
170
-
171
- :host([variant="minimal"]) {
172
- --ui-icon-pad: 0;
173
- --ui-icon-bg: transparent;
174
- --ui-icon-border: 0;
175
- --ui-icon-shadow: none;
176
- }
177
-
178
- :host([variant="elevated"]) {
179
- --ui-icon-pad: 6px;
180
- --ui-icon-bg: linear-gradient(
181
- 165deg,
182
- color-mix(in srgb, var(--ui-color-surface, #ffffff) 92%, #ffffff 8%),
183
- color-mix(in srgb, var(--ui-color-surface, #ffffff) 98%, transparent)
184
- );
185
- --ui-icon-border: 1px solid color-mix(in srgb, var(--ui-color-border, #cbd5e1) 68%, transparent);
186
- --ui-icon-shadow:
187
- 0 1px 4px rgba(2, 6, 23, 0.08),
188
- 0 10px 20px rgba(2, 6, 23, 0.12);
189
- }
190
-
191
- :host([tone="brand"]) { --ui-icon-color: var(--ui-color-primary, var(--ui-primary, #2563eb)); }
192
- :host([tone="success"]) { --ui-icon-color: var(--ui-color-success, var(--ui-success, #15803d)); }
193
- :host([tone="warning"]) { --ui-icon-color: var(--ui-color-warning, var(--ui-warning, #b45309)); }
194
- :host([tone="danger"]) { --ui-icon-color: var(--ui-color-danger, var(--ui-error, #dc2626)); }
195
-
196
- :host([shape="square"]) { --ui-icon-radius: 4px; }
197
- :host([shape="soft"]) { --ui-icon-radius: 13px; }
198
-
199
- :host([spin]) .glyph {
200
- animation: spin var(--ui-icon-rotate-duration) linear infinite;
201
- }
202
-
203
- :host([pulse]) .icon {
204
- animation: pulse var(--ui-icon-pulse-duration) ease-in-out infinite;
205
- }
206
-
207
- :host(:not([headless])) .icon:hover {
208
- transform: translateY(-0.5px);
209
- box-shadow: 0 3px 12px rgba(2, 6, 23, 0.14);
210
- }
211
-
212
- :host([headless]) .icon {
213
- display: none;
214
- }
215
-
216
- @keyframes spin {
217
- from { transform: rotate(0deg); }
218
- to { transform: rotate(360deg); }
219
- }
220
-
221
- @keyframes pulse {
222
- 0%, 100% { transform: scale(1); }
223
- 50% { transform: scale(1.06); }
224
- }
225
-
226
- @media (prefers-reduced-motion: reduce) {
227
- .icon,
228
- .glyph {
229
- animation: none !important;
230
- transition: none !important;
231
- transform: none !important;
232
- }
233
- }
234
-
235
- @media (prefers-contrast: more) {
236
- :host {
237
- --ui-icon-border: 2px solid color-mix(in srgb, currentColor 48%, transparent);
238
- }
239
- }
240
-
241
- @media (forced-colors: active) {
242
- :host {
243
- --ui-icon-color: CanvasText;
244
- --ui-icon-bg: Canvas;
245
- --ui-icon-border: 1px solid CanvasText;
246
- --ui-icon-shadow: none;
247
- }
248
-
249
- .icon,
250
- .fallback {
251
- forced-color-adjust: none;
252
- background: Canvas;
253
- color: CanvasText;
254
- border-color: CanvasText;
255
- box-shadow: none;
256
- }
257
-
258
- .badge {
259
- background: Highlight;
260
- border-color: Canvas;
261
- }
262
- }
263
- `;
264
- function u(i) {
265
- return i.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
266
- }
267
- function w(i) {
268
- if (!i) return null;
269
- const e = i.trim();
270
- return e ? /^\d+(\.\d+)?$/.test(e) ? `${e}px` : e : null;
271
- }
272
- function d(i) {
273
- if (!i) return;
274
- const e = Number(i);
275
- return Number.isFinite(e) ? e : void 0;
276
- }
277
- class C extends x {
278
- constructor() {
279
- super(), this._lastName = "";
280
- }
281
- static get observedAttributes() {
282
- return [
283
- "name",
284
- "size",
285
- "color",
286
- "variant",
287
- "icon-variant",
288
- "icon-weight",
289
- "secondary-color",
290
- "tone",
291
- "shape",
292
- "spin",
293
- "pulse",
294
- "badge",
295
- "label",
296
- "decorative",
297
- "stroke-width",
298
- "absolute-stroke-width",
299
- "stroke-linecap",
300
- "stroke-linejoin",
301
- "rotate",
302
- "flip",
303
- "rtl",
304
- "headless"
305
- ];
306
- }
307
- _syncDynamicVars() {
308
- const e = w(this.getAttribute("size"));
309
- e ? this.style.setProperty("--ui-icon-size", e) : this.style.removeProperty("--ui-icon-size");
310
- const r = this.getAttribute("color");
311
- r ? this.style.setProperty("--ui-icon-color", r) : this.style.removeProperty("--ui-icon-color");
312
- const t = this.getAttribute("stroke-width");
313
- t ? this.style.setProperty("--ui-icon-stroke-width", t) : this.style.removeProperty("--ui-icon-stroke-width");
314
- }
315
- render() {
316
- if (this._syncDynamicVars(), this.hasAttribute("headless")) {
317
- this.setContent("<style></style><slot></slot>");
318
- return;
319
- }
320
- const e = this.getAttribute("name") || "", r = this.getAttribute("label") || "", t = this.hasAttribute("decorative"), n = e ? p(e, {
321
- variant: this.getAttribute("icon-variant") || void 0,
322
- iconWeight: this.getAttribute("icon-weight") || void 0,
323
- secondaryColor: this.getAttribute("secondary-color") || void 0,
324
- strokeWidth: d(this.getAttribute("stroke-width")),
325
- absoluteStrokeWidth: this.hasAttribute("absolute-stroke-width"),
326
- strokeLinecap: this.getAttribute("stroke-linecap") || void 0,
327
- strokeLinejoin: this.getAttribute("stroke-linejoin") || void 0,
328
- rotate: d(this.getAttribute("rotate")),
329
- flip: this.getAttribute("flip") || void 0,
330
- rtl: this.hasAttribute("rtl")
331
- }) : "", o = !!n, s = t ? 'aria-hidden="true" role="presentation"' : `role="img" aria-label="${u(r || e || "icon")}"`;
332
- this.setContent(`
333
- <style>${z}</style>
334
- <span class="icon" part="icon" ${s}>
335
- <span class="glyph" part="glyph">
336
- ${o ? n : `<span class="fallback" part="fallback">${u((e || "?").slice(0, 1).toUpperCase())}</span>`}
337
- ${o ? "" : "<slot></slot>"}
338
- </span>
339
- ${this.hasAttribute("badge") ? '<span class="badge" part="badge" aria-hidden="true"></span>' : ""}
340
- </span>
341
- `), e !== this._lastName && (this.dispatchEvent(
342
- new CustomEvent("iconchange", {
343
- detail: { name: e, found: o },
344
- bubbles: !0
345
- })
346
- ), this._lastName = e);
347
- }
348
- shouldRenderOnAttributeChange(e, r, t) {
349
- return !0;
350
- }
351
- }
352
- typeof customElements < "u" && !customElements.get("ui-icon") && customElements.define("ui-icon", C);
353
- export {
354
- C as U,
355
- j as a,
356
- L as c,
357
- p as g,
358
- $ as h,
359
- I as r,
360
- S as u
361
- };