@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,5 +1,7 @@
1
- import { E as y } from "./ElementBase-BeZT54Hj.mjs";
2
- const _ = `
1
+ import { E as y } from "./ElementBase-D5QsC5Vw.mjs";
2
+ import { n as A } from "./number-attribute-BAF07JrU.mjs";
3
+ import { r as _ } from "./navigate-CXebafwF.mjs";
4
+ const k = `
3
5
  :host {
4
6
  display: block;
5
7
  --ui-breadcrumb-gap: var(--base-breadcrumb-gap, 8px);
@@ -272,32 +274,32 @@ const _ = `
272
274
  }
273
275
  }
274
276
  `;
275
- function v(n) {
276
- if (!n) return "";
277
- const e = n.trim().toLowerCase();
278
- return e ? e === "none" ? "0px" : e === "sm" ? "8px" : e === "md" ? "12px" : e === "lg" ? "16px" : e === "full" ? "9999px" : /^\d+(\.\d+)?$/.test(e) ? `${e}px` : n : "";
277
+ function v(u) {
278
+ if (!u) return "";
279
+ const e = u.trim().toLowerCase();
280
+ return e ? e === "none" ? "0px" : e === "sm" ? "8px" : e === "md" ? "12px" : e === "lg" ? "16px" : e === "full" ? "9999px" : /^\d+(\.\d+)?$/.test(e) ? `${e}px` : u : "";
279
281
  }
280
- function A(n) {
281
- if (!n) return "";
282
- const e = n.trim().toLowerCase();
282
+ function C(u) {
283
+ if (!u) return "";
284
+ const e = u.trim().toLowerCase();
283
285
  return e === "1" ? "sm" : e === "2" ? "md" : e === "3" ? "lg" : e === "sm" || e === "md" || e === "lg" ? e : "";
284
286
  }
285
- function b(n) {
286
- return String(n).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
287
+ function b(u) {
288
+ return String(u).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
287
289
  }
288
- function h(n) {
289
- if (n == null) return !1;
290
- const e = n.trim().toLowerCase();
290
+ function h(u) {
291
+ if (u == null) return !1;
292
+ const e = u.trim().toLowerCase();
291
293
  return e === "" || e === "true" || e === "1" || e === "yes";
292
294
  }
293
- function k(n) {
294
- return h(n.getAttribute("disabled")) || h(n.getAttribute("data-disabled")) || n.getAttribute("aria-disabled") === "true";
295
+ function S(u) {
296
+ return h(u.getAttribute("disabled")) || h(u.getAttribute("data-disabled")) || u.getAttribute("aria-disabled") === "true";
295
297
  }
296
- function C(n) {
297
- const e = n.getAttribute("aria-current");
298
- return e && e !== "false" ? !0 : h(n.getAttribute("current")) || h(n.getAttribute("data-current"));
298
+ function w(u) {
299
+ const e = u.getAttribute("aria-current");
300
+ return e && e !== "false" ? !0 : h(u.getAttribute("current")) || h(u.getAttribute("data-current"));
299
301
  }
300
- class S extends y {
302
+ class I extends y {
301
303
  constructor() {
302
304
  super(), this._slots = [], this._onRootClick = this._onRootClick.bind(this), this._onRootKeyDown = this._onRootKeyDown.bind(this), this._onSlotChange = this._onSlotChange.bind(this);
303
305
  }
@@ -325,13 +327,13 @@ class S extends y {
325
327
  disconnectedCallback() {
326
328
  this.root.removeEventListener("click", this._onRootClick), this.root.removeEventListener("keydown", this._onRootKeyDown), this._detachSlotListeners(), super.disconnectedCallback();
327
329
  }
328
- attributeChangedCallback(e, i, r) {
329
- if (i !== r) {
330
+ attributeChangedCallback(e, i, t) {
331
+ if (i !== t) {
330
332
  if (e === "state" && this._syncBusyState(), e === "disabled" && this._syncDisabledState(), e === "size" && this._syncSizeState(), e === "radius") {
331
- const t = v(r);
332
- t ? this.style.setProperty("--ui-breadcrumb-radius", t) : this.style.removeProperty("--ui-breadcrumb-radius");
333
+ const r = v(t);
334
+ r ? this.style.setProperty("--ui-breadcrumb-radius", r) : this.style.removeProperty("--ui-breadcrumb-radius");
333
335
  }
334
- this.isConnected && this.shouldRenderOnAttributeChange(e, i, r) && this.requestRender();
336
+ this.isConnected && this.shouldRenderOnAttributeChange(e, i, t) && this.requestRender();
335
337
  }
336
338
  }
337
339
  get headless() {
@@ -347,7 +349,7 @@ class S extends y {
347
349
  this.hasAttribute("disabled") ? this.setAttribute("aria-disabled", "true") : this.removeAttribute("aria-disabled");
348
350
  }
349
351
  _syncSizeState() {
350
- const e = A(this.getAttribute("size"));
352
+ const e = C(this.getAttribute("size"));
351
353
  if (e === "sm") {
352
354
  this.style.setProperty("--ui-breadcrumb-gap", "6px"), this.style.setProperty("--ui-breadcrumb-font-size", "13px"), this.style.setProperty("--ui-breadcrumb-item-padding-block", "3px"), this.style.setProperty("--ui-breadcrumb-item-padding-inline", "7px");
353
355
  return;
@@ -370,131 +372,138 @@ class S extends y {
370
372
  _direction() {
371
373
  const e = this.getAttribute("dir");
372
374
  if (e === "rtl" || e === "ltr") return e;
373
- const r = this.closest("[dir]")?.getAttribute("dir");
374
- return r === "rtl" || r === "ltr" ? r : getComputedStyle(this).direction === "rtl" ? "rtl" : "ltr";
375
+ const t = this.closest("[dir]")?.getAttribute("dir");
376
+ return t === "rtl" || t === "ltr" ? t : getComputedStyle(this).direction === "rtl" ? "rtl" : "ltr";
375
377
  }
376
378
  _getSourceItems() {
377
379
  const e = Array.from(this.querySelectorAll('[slot="item"]'));
378
380
  return e.length > 0 ? e : Array.from(this.children).filter((i) => i instanceof HTMLElement);
379
381
  }
380
382
  _maxItems() {
381
- const e = Number(this.getAttribute("max-items"));
383
+ const e = A(this.getAttribute("max-items"), Number.POSITIVE_INFINITY);
382
384
  return Number.isFinite(e) ? Math.max(3, Math.floor(e)) : Number.POSITIVE_INFINITY;
383
385
  }
384
386
  _currentIndex(e) {
385
387
  const i = this.getAttribute("current-index");
386
388
  if (i != null && i !== "") {
387
- const t = Number(i);
388
- if (Number.isFinite(t)) {
389
- const a = Math.floor(t);
389
+ const r = Number(i);
390
+ if (Number.isFinite(r)) {
391
+ const a = Math.floor(r);
390
392
  if (a >= 0 && a < e.length) return a;
391
393
  }
392
394
  }
393
- const r = e.findIndex((t) => C(t));
394
- return r >= 0 ? r : e.length > 0 ? e.length - 1 : -1;
395
+ const t = e.findIndex((r) => w(r));
396
+ return t >= 0 ? t : e.length > 0 ? e.length - 1 : -1;
395
397
  }
396
398
  _visibleIndices(e, i) {
397
- const r = this._maxItems();
398
- if (!Number.isFinite(r) || e.length <= r)
399
+ const t = this._maxItems();
400
+ if (!Number.isFinite(t) || e.length <= t)
399
401
  return e.map((c, l) => l);
400
- const t = e.length - 1, a = i >= 0 ? i : t, s = /* @__PURE__ */ new Set([0, t, a]);
401
- let o = a - 1, u = a + 1;
402
- for (; s.size < r && (o > 0 || u < t) && !(o > 0 && (s.add(o), s.size >= r)); )
403
- u < t && s.add(u), o -= 1, u += 1;
404
- for (let c = 1; s.size < r && c < t; c += 1)
402
+ const r = e.length - 1, a = i >= 0 ? i : r, s = /* @__PURE__ */ new Set([0, r, a]);
403
+ let n = a - 1, o = a + 1;
404
+ for (; s.size < t && (n > 0 || o < r) && !(n > 0 && (s.add(n), s.size >= t)); )
405
+ o < r && s.add(o), n -= 1, o += 1;
406
+ for (let c = 1; s.size < t && c < r; c += 1)
405
407
  s.add(c);
406
408
  return Array.from(s).sort((c, l) => c - l);
407
409
  }
408
410
  _getDisplayTokens(e) {
409
- const i = this._currentIndex(e), r = this._visibleIndices(e, i), t = [];
411
+ const i = this._currentIndex(e), t = this._visibleIndices(e, i), r = [];
410
412
  let a = null;
411
- return r.forEach((s) => {
412
- a != null && s - a > 1 && t.push({ kind: "ellipsis", key: `ellipsis-${a}-${s}` });
413
- const o = e[s];
414
- t.push({
413
+ return t.forEach((s) => {
414
+ a != null && s - a > 1 && r.push({ kind: "ellipsis", key: `ellipsis-${a}-${s}` });
415
+ const n = e[s];
416
+ r.push({
415
417
  kind: "item",
416
- item: o,
418
+ item: n,
417
419
  sourceIndex: s,
418
420
  current: s === i,
419
- disabled: k(o)
421
+ disabled: S(n)
420
422
  }), a = s;
421
- }), t;
423
+ }), r;
422
424
  }
423
425
  _renderLabel(e) {
424
426
  const i = e.getAttribute("data-label");
425
427
  if (i) return b(i);
426
- const r = (e.innerHTML || "").trim();
427
- return r || b((e.textContent || "").trim());
428
+ const t = (e.innerHTML || "").trim();
429
+ return t || b((e.textContent || "").trim());
428
430
  }
429
431
  _emitSelect(e, i) {
430
- const t = this._getSourceItems()[e];
431
- if (!t) return null;
432
- const a = (t.getAttribute("data-label") || t.textContent || "").trim(), s = t.getAttribute("href") || void 0, o = { index: e, label: a, href: s, source: i }, u = new CustomEvent("select", {
433
- detail: o,
432
+ const r = this._getSourceItems()[e];
433
+ if (!r) return null;
434
+ const a = (r.getAttribute("data-label") || r.textContent || "").trim(), s = r.getAttribute("href") || r.getAttribute("data-href") || void 0, n = { index: e, label: a, href: s, source: i }, o = new CustomEvent("select", {
435
+ detail: n,
434
436
  bubbles: !0,
435
437
  cancelable: !0,
436
438
  composed: !0
437
439
  });
438
- return this.dispatchEvent(u), this.dispatchEvent(new CustomEvent("ui-select", { detail: o, bubbles: !0, composed: !0 })), u;
440
+ return this.dispatchEvent(o), this.dispatchEvent(new CustomEvent("ui-select", { detail: n, bubbles: !0, composed: !0 })), o;
439
441
  }
440
442
  _onRootClick(e) {
441
- const r = e.target.closest(".crumb-action");
442
- if (!r) return;
443
- if (this.hasAttribute("disabled") || r.getAttribute("aria-disabled") === "true") {
443
+ const t = e.target.closest(".crumb-action");
444
+ if (!t) return;
445
+ if (this.hasAttribute("disabled") || t.getAttribute("aria-disabled") === "true") {
444
446
  e.preventDefault();
445
447
  return;
446
448
  }
447
- const t = Number(r.getAttribute("data-source-index"));
448
- if (Number.isNaN(t)) return;
449
- this._emitSelect(t, "click")?.defaultPrevented && e.preventDefault();
449
+ const r = Number(t.getAttribute("data-source-index"));
450
+ if (Number.isNaN(r)) return;
451
+ if (this._emitSelect(r, "click")?.defaultPrevented) {
452
+ e.preventDefault();
453
+ return;
454
+ }
455
+ if (t.tagName.toLowerCase() === "a") {
456
+ const s = t.getAttribute("href") || "", n = this._getSourceItems()[r], o = (n?.getAttribute("data-label") || n?.textContent || "").trim();
457
+ _(this, { index: r, label: o, href: s }, e, t.getAttribute("target") || "") && e.preventDefault();
458
+ }
450
459
  }
451
460
  _onRootKeyDown(e) {
452
- const r = e.target.closest(".crumb-action");
453
- if (!r || this.hasAttribute("disabled")) return;
454
- if (e.key === " " && r.tagName.toLowerCase() === "a") {
461
+ const t = e.target.closest(".crumb-action");
462
+ if (!t || this.hasAttribute("disabled")) return;
463
+ if (e.key === " " && t.tagName.toLowerCase() === "a") {
455
464
  e.preventDefault();
456
- const u = Number(r.getAttribute("data-source-index"));
457
- if (!Number.isNaN(u) && this._emitSelect(u, "keyboard")?.defaultPrevented)
465
+ const o = Number(t.getAttribute("data-source-index"));
466
+ if (!Number.isNaN(o) && this._emitSelect(o, "keyboard")?.defaultPrevented)
458
467
  return;
459
468
  }
460
469
  if (!["ArrowRight", "ArrowLeft", "Home", "End"].includes(e.key)) return;
461
- const t = Array.from(this.root.querySelectorAll('.crumb-action:not([aria-disabled="true"])'));
462
- if (t.length === 0) return;
463
- const a = t.indexOf(r);
470
+ const r = Array.from(this.root.querySelectorAll('.crumb-action:not([aria-disabled="true"])'));
471
+ if (r.length === 0) return;
472
+ const a = r.indexOf(t);
464
473
  if (a < 0) return;
465
474
  const s = this._direction() === "rtl";
466
- let o = a;
467
- e.key === "ArrowRight" && (o = s ? a - 1 : a + 1), e.key === "ArrowLeft" && (o = s ? a + 1 : a - 1), e.key === "Home" && (o = 0), e.key === "End" && (o = t.length - 1), o = (o + t.length) % t.length, t[o].focus(), e.preventDefault();
475
+ let n = a;
476
+ e.key === "ArrowRight" && (n = s ? a - 1 : a + 1), e.key === "ArrowLeft" && (n = s ? a + 1 : a - 1), e.key === "Home" && (n = 0), e.key === "End" && (n = r.length - 1), n = (n + r.length) % r.length, r[n].focus(), e.preventDefault();
468
477
  }
469
478
  render() {
470
- const e = this._getSourceItems(), i = b(this.getAttribute("separator") || "/"), r = b(this.getAttribute("aria-label") || "Breadcrumb"), t = this._getDisplayTokens(e), a = this.hasAttribute("disabled"), s = this.getAttribute("state") === "loading", o = t.map((u, c) => {
471
- const l = c === t.length - 1;
479
+ const e = this._getSourceItems(), i = b(this.getAttribute("separator") || "/"), t = b(this.getAttribute("aria-label") || "Breadcrumb"), r = this._getDisplayTokens(e), a = this.hasAttribute("disabled"), s = this.getAttribute("state") === "loading", n = r.map((o, c) => {
480
+ const l = c === r.length - 1;
472
481
  let d = "";
473
- if (u.kind === "ellipsis")
482
+ if (o.kind === "ellipsis")
474
483
  d = '<span class="crumb-ellipsis" aria-hidden="true">…</span>';
475
484
  else {
476
- const m = this._renderLabel(u.item), f = u.item.getAttribute("href"), g = u.item.getAttribute("rel"), p = u.item.getAttribute("target");
477
- u.current ? d = `<span class="crumb-current" aria-current="page">${m}</span>` : a || u.disabled || s ? d = `<span class="crumb-disabled" aria-disabled="true">${m}</span>` : f ? d = `<a class="crumb-action crumb-link" data-source-index="${u.sourceIndex}" href="${b(f)}"${p ? ` target="${b(p)}"` : ""}${g ? ` rel="${b(g)}"` : ""}>${m}</a>` : d = `<button type="button" class="crumb-action crumb-btn" data-source-index="${u.sourceIndex}">${m}</button>`;
485
+ const m = this._renderLabel(o.item), f = o.item.getAttribute("href") || o.item.getAttribute("data-href"), g = o.item.getAttribute("rel"), p = o.item.getAttribute("target");
486
+ o.current ? d = `<span class="crumb-current" aria-current="page">${m}</span>` : a || o.disabled || s ? d = `<span class="crumb-disabled" aria-disabled="true">${m}</span>` : f ? d = `<a class="crumb-action crumb-link" data-source-index="${o.sourceIndex}" href="${b(f)}"${p ? ` target="${b(p)}"` : ""}${g ? ` rel="${b(g)}"` : ""}>${m}</a>` : d = `<button type="button" class="crumb-action crumb-btn" data-source-index="${o.sourceIndex}">${m}</button>`;
478
487
  }
479
488
  const x = l ? "" : `<span class="separator" aria-hidden="true" title="${i}">${i}</span>`;
480
489
  return `<li part="item">${d}${x}</li>`;
481
490
  }).join("");
482
491
  this.setContent(`
483
- <style>${_}</style>
484
- <nav role="navigation" aria-label="${r}">
492
+ <style>${k}</style>
493
+ <nav role="navigation" aria-label="${t}">
485
494
  <ol part="list">
486
- ${o}
495
+ ${n}
487
496
  </ol>
488
497
  </nav>
489
498
  <slot id="slot-item" name="item" hidden></slot>
490
499
  <slot id="slot-default" hidden></slot>
491
500
  `), this._attachSlotListeners(), this._syncBusyState(), this._syncDisabledState();
492
501
  }
493
- shouldRenderOnAttributeChange(e, i, r) {
494
- return i === r ? !1 : !["size", "variant", "radius", "elevation", "tone", "state", "disabled"].includes(e);
502
+ shouldRenderOnAttributeChange(e, i, t) {
503
+ return i === t ? !1 : !["size", "variant", "radius", "elevation", "tone", "state", "disabled"].includes(e);
495
504
  }
496
505
  }
497
- typeof customElements < "u" && !customElements.get("ui-breadcrumb") && customElements.define("ui-breadcrumb", S);
506
+ typeof customElements < "u" && !customElements.get("ui-breadcrumb") && customElements.define("ui-breadcrumb", I);
498
507
  export {
499
- S as UIBreadcrumb
508
+ I as UIBreadcrumb
500
509
  };