@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,4 +1,4 @@
1
- import { E as f } from "./ElementBase-BeZT54Hj.mjs";
1
+ import { E as f } from "./ElementBase-D5QsC5Vw.mjs";
2
2
  const _ = `
3
3
  :host {
4
4
  display: block;
@@ -0,0 +1,8 @@
1
+ function u(t, e) {
2
+ if (t == null || t.trim() === "") return e;
3
+ const n = Number(t);
4
+ return Number.isFinite(n) ? n : e;
5
+ }
6
+ export {
7
+ u as n
8
+ };
@@ -0,0 +1 @@
1
+ "use strict";function r(t,u){if(t==null||t.trim()==="")return u;const e=Number(t);return Number.isFinite(e)?e:u}exports.numberAttribute=r;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const D=require("./ElementBase-DxbvhLJs.js"),A=require("./control-name-BmoI1m3a.js"),N=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const N=require("./ElementBase-CbUsP3D6.js"),S=require("./form-control-B90_3kYN.js"),B=require("./implicit-submit-B6M5Uc56.js"),k=require("./control-name-BmoI1m3a.js"),q=`
2
2
  :host {
3
3
  --ui-number-field-padding: var(--ui-padding, 0);
4
4
  --ui-number-field-pad-x: calc(var(--ui-control-padding-inline-2, 12px) - 1px);
@@ -309,7 +309,7 @@
309
309
  --ui-number-field-color: #e2e8f0;
310
310
  --ui-number-field-muted: #94a3b8;
311
311
  --ui-number-field-border-color: #334155;
312
- --ui-number-field-focus: #93c5fd;
312
+ --ui-number-field-focus: var(--ui-color-accent-on-dark, #93c5fd);
313
313
  --ui-number-field-placeholder: color-mix(in srgb, #e2e8f0 46%, transparent);
314
314
  --ui-number-field-shadow: 0 2px 8px rgba(2, 6, 23, 0.24);
315
315
  }
@@ -320,16 +320,16 @@
320
320
  transition: none !important;
321
321
  }
322
322
  }
323
- `;function f(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function d(r){if(!r)return!1;const e=r.assignedNodes({flatten:!0});return e.length?e.some(t=>t.nodeType===Node.TEXT_NODE?!!t.textContent?.trim():t.nodeType===Node.ELEMENT_NODE):!1}function p(r,e){const t=r.getAttribute(e);if(t==null)return!1;const i=String(t).trim().toLowerCase();return i!=="false"&&i!=="0"}function g(r){if(r==null||r.trim()==="")return null;const e=Number(r);return Number.isFinite(e)?e:null}function B(r){const e=String(r),t=e.match(/e-(\d+)$/i);if(t)return Number(t[1]);const i=e.split(".")[1];return i?i.length:0}function m(r,e){if(e==null||e<0)return r;const t=10**e;return Math.round((r+Number.EPSILON)*t)/t}function w(r,e,t){return e!=null&&r<e?e:t!=null&&r>t?t:r}function C(r){return r??0}function q(r,e,t,i){if(e==null||e<=0)return!0;const s=m((r-t)/e,i!=null?i+2:8);return Math.abs(s-Math.round(s))<1e-7}function F(r){const e=new Intl.NumberFormat(r).formatToParts(12345.6);return{group:e.find(t=>t.type==="group")?.value||",",decimal:e.find(t=>t.type==="decimal")?.value||"."}}function v(r,e){const t=r.trim();if(!t)return null;const{group:i,decimal:s}=F(e);let n=t.replace(/[\s\u00a0\u202f]/g,"");if(n=n.split(i).join(""),s!=="."&&(n=n.split(s).join(".")),n=n.replace(/[−–]/g,"-"),!/^[+-]?(?:\d+\.?\d*|\.\d+)$/.test(n))return null;const l=Number(n);return Number.isFinite(l)?l:null}function L(r,e){return e!=null&&e>=0?r.toFixed(e):String(r)}class S extends D.ElementBase{constructor(){super(),this._input=null,this._formUnregister=null,this._uid=Math.random().toString(36).slice(2,9),this._rawValue="",this._isEditing=!1,this._internalInvalidReason=null,this._onInput=this._onInput.bind(this),this._onBlur=this._onBlur.bind(this),this._onFocus=this._onFocus.bind(this),this._onKeyDown=this._onKeyDown.bind(this),this._onWheel=this._onWheel.bind(this),this._onSlotChange=this._onSlotChange.bind(this),this._onClick=this._onClick.bind(this)}static get observedAttributes(){return["value","min","max","step","precision","locale","format","name","placeholder","disabled","readonly","required","invalid","allow-wheel","show-steppers","clamp-on-blur","autocomplete","inputmode","label","aria-label","aria-description","aria-describedby","description","data-error","size","variant"]}connectedCallback(){super.connectedCallback(),this.root.addEventListener("slotchange",this._onSlotChange),this.addEventListener("click",this._onClick),this._registerWithForm()}disconnectedCallback(){this.root.removeEventListener("slotchange",this._onSlotChange),this.removeEventListener("click",this._onClick),this._detachListeners(),this._formUnregister&&(this._formUnregister(),this._formUnregister=null),super.disconnectedCallback()}shouldRenderOnAttributeChange(e){return e==="label"||e==="description"||e==="data-error"}attributeChangedCallback(e,t,i){if(t!==i){if(e==="value"){this._rawValue=i||"",this._clearInternalInvalid(),this._syncDisplayValue(),this._syncAria();return}if(e==="name"&&this._registerWithForm(),e==="min"||e==="max"||e==="step"||e==="precision"||e==="locale"||e==="format"||e==="placeholder"||e==="disabled"||e==="readonly"||e==="required"||e==="allow-wheel"||e==="show-steppers"||e==="clamp-on-blur"||e==="autocomplete"||e==="inputmode"||e==="size"||e==="variant"||e==="invalid"||e==="aria-label"||e==="aria-description"||e==="aria-describedby"){this._syncControlAttrs(),this._syncDisplayValue(),this._syncDerivedState(),this._syncAria();return}super.attributeChangedCallback(e,t,i)}}get value(){return this.getAttribute("value")||""}set value(e){e?this.setAttribute("value",e):this.removeAttribute("value")}get valueAsNumber(){return g(this.getAttribute("value"))}get rawValue(){return this._rawValue}set rawValue(e){this._rawValue=String(e??""),this._input&&(this._input.value=this._rawValue),this._syncAria()}focus(e){if(this._input){this._input.focus(e);return}super.focus(e)}blur(){this._input?.blur()}select(){this._input?.select()}stepUp(e=1){this._stepBy(Math.max(1,Number(e)||1),"step")}stepDown(e=1){this._stepBy(-Math.max(1,Number(e)||1),"step")}_locale(){return this.getAttribute("locale")||Intl.NumberFormat().resolvedOptions().locale||"en-US"}_precision(){const e=this.getAttribute("precision");if(e==null||e.trim()==="")return null;const t=Number(e);return Number.isInteger(t)&&t>=0?t:null}_step(){const e=this.getAttribute("step");if(e==null||e===""||e==="any")return null;const t=Number(e);return Number.isFinite(t)&&t>0?t:null}_effectivePrecision(){const e=this._precision();if(e!=null)return e;const t=this._step();return t!=null?B(t):null}_min(){return g(this.getAttribute("min"))}_max(){return g(this.getAttribute("max"))}_formatNumber(e){const t=this._effectivePrecision(),i=this.getAttribute("format")!=="plain";return new Intl.NumberFormat(this._locale(),{useGrouping:i,minimumFractionDigits:t??0,maximumFractionDigits:t??20}).format(e)}_displayStringForValue(){if(this._isEditing)return this._rawValue;const e=this.valueAsNumber;return e==null?this._rawValue:this._formatNumber(e)}_syncDisplayValue(){if(!this._input)return;const e=this._displayStringForValue();this._input.value!==e&&(this._input.value=e);const t=this.root.querySelector(".shell");t&&t.setAttribute("data-has-value",e?"true":"false")}_syncControlAttrs(){if(!this._input)return;this._input.placeholder=this.getAttribute("placeholder")||"",this._input.disabled=p(this,"disabled"),this._input.disabled?this.root.querySelector(".shell")?.setAttribute("aria-disabled","true"):this.root.querySelector(".shell")?.removeAttribute("aria-disabled"),this._input.readOnly=this.hasAttribute("readonly"),this._input.required=this.hasAttribute("required"),this._input.name=this.getAttribute("name")||"",this._input.setAttribute("inputmode",this.getAttribute("inputmode")||"decimal");const e=this.getAttribute("autocomplete");e?this._input.setAttribute("autocomplete",e):this._input.removeAttribute("autocomplete")}_syncAria(){if(!this._input)return;const e=this.valueAsNumber;this._input.setAttribute("role","spinbutton"),this._input.setAttribute("aria-valuetext",this._input.value||"");const t=this._min(),i=this._max();t!=null?this._input.setAttribute("aria-valuemin",String(t)):this._input.removeAttribute("aria-valuemin"),i!=null?this._input.setAttribute("aria-valuemax",String(i)):this._input.removeAttribute("aria-valuemax"),e!=null?this._input.setAttribute("aria-valuenow",String(e)):this._input.removeAttribute("aria-valuenow");const s=this.root.querySelector('slot[name="label"]'),n=this.root.querySelector('slot[name="description"]'),l=this.root.querySelector('slot[name="error"]'),u=!!(this.getAttribute("label")||"").trim()||d(s),a=!!(this.getAttribute("description")||"").trim()||d(n),o=!!(this.getAttribute("data-error")||"").trim()||d(l);A.syncControlName(this._input,this,u?`${this._uid}-label`:null);const c=[];a&&c.push(`${this._uid}-description`),o&&c.push(`${this._uid}-error`),A.syncControlDescription(this._input,this,this._uid,c),this.hasAttribute("required")?this._input.setAttribute("aria-required","true"):this._input.removeAttribute("aria-required"),this.hasAttribute("invalid")||this._internalInvalidReason!=null||o?this._input.setAttribute("aria-invalid","true"):this._input.removeAttribute("aria-invalid")}_syncDerivedState(){const e=this.root.querySelector('slot[name="label"]'),t=this.root.querySelector('slot[name="description"]'),i=this.root.querySelector('slot[name="error"]'),s=this.root.querySelector('slot[name="prefix"]'),n=this.root.querySelector('slot[name="suffix"]'),l=this.root.querySelector('slot[name="increment-trigger"]'),u=this.root.querySelector('slot[name="decrement-trigger"]'),a=!!(this.getAttribute("label")||"").trim()||d(e),o=!!(this.getAttribute("description")||"").trim()||d(t),c=!!(this.getAttribute("data-error")||"").trim()||d(i),_=d(s),V=d(n),k=d(l),E=d(u),y=p(this,"show-steppers")||k||E,h=(z,I)=>{const b=this.root.querySelector(z);b&&(I?b.removeAttribute("hidden"):b.setAttribute("hidden",""))};h(".meta",a||o),h(".label",a),h(".description",o),h(".prefix",_),h(".suffix",V),h(".footer",c),h(".error",c),h(".steppers",y);const x=this.root.querySelector(".shell");x&&x.setAttribute("data-show-steppers",y?"true":"false")}_emitValueEvent(e,t,i,s){this.dispatchEvent(new CustomEvent(e,{detail:{value:t,previousValue:i,source:s},bubbles:!0,composed:!0}))}_emitInvalid(e){this._internalInvalidReason=e,this.setAttribute("data-internal-invalid",e),this._syncAria(),this.dispatchEvent(new CustomEvent("invalid",{detail:{reason:e},bubbles:!0,composed:!0}))}_clearInternalInvalid(){this._internalInvalidReason=null,this.removeAttribute("data-internal-invalid"),this._syncAria()}_commitValue(e,t){const i=this.valueAsNumber;if(e==null){if(i==null&&!this.value){this._rawValue="",this._syncDisplayValue();return}this._emitValueEvent("before-value-change",null,i,t),this.removeAttribute("value"),this._rawValue="",this._clearInternalInvalid(),this._syncDisplayValue(),this._syncAria(),this._emitValueEvent("value-change",null,i,t);return}const s=this._effectivePrecision(),n=L(m(e,s),s),l=Number(n);if(i!=null&&l===i&&this.value===n){this._rawValue=n,this._clearInternalInvalid(),this._syncDisplayValue();return}this._emitValueEvent("before-value-change",l,i,t),this.setAttribute("value",n),this._rawValue=n,this._clearInternalInvalid(),this._syncDisplayValue(),this._syncAria(),this._emitValueEvent("value-change",l,i,t)}_commitRaw(e){const t=this._rawValue.trim();if(!t){this._commitValue(null,e);return}const i=v(t,this._locale());if(i==null){this._emitInvalid("parse"),this._syncDisplayValue();return}const s=this._min(),n=this._max(),l=this._effectivePrecision(),u=m(i,l),a=p(this,"clamp-on-blur"),o=a?w(u,s,n):u;if(!a&&s!=null&&o<s){this._emitInvalid("min"),this._syncDisplayValue();return}if(!a&&n!=null&&o>n){this._emitInvalid("max"),this._syncDisplayValue();return}const c=this._step();if(!q(o,c,C(s),l)){this._emitInvalid("step"),this._syncDisplayValue();return}this._commitValue(o,e)}_stepBy(e,t){if(p(this,"disabled")||this.hasAttribute("readonly"))return;const i=this._step()??1,s=this._effectivePrecision(),n=this._min(),l=this._max(),a=(this._isEditing?v(this._rawValue,this._locale()):this.valueAsNumber)??n??0,o=w(m(a+i*e,s),n,l);this._commitValue(o,t),this._isEditing&&this._input&&(this._input.value=this._rawValue)}_registerWithForm(){this._formUnregister&&(this._formUnregister(),this._formUnregister=null);try{const s=this.getRootNode().host?.closest?.("ui-form")||null||this.closest("ui-form"),n=this.getAttribute("name");s&&typeof s.registerField=="function"&&n&&(this._formUnregister=s.registerField(n,{name:n,getValue:()=>this.value,setValue:l=>{l==null||l===""?this.removeAttribute("value"):this.setAttribute("value",String(l))},validate:async()=>{const l=this.valueAsNumber,u=this._min(),a=this._max();return this.hasAttribute("required")&&l==null?{valid:!1,message:"A value is required."}:l!=null&&u!=null&&l<u?{valid:!1,message:`Value must be at least ${u}.`}:l!=null&&a!=null&&l>a?{valid:!1,message:`Value must be at most ${a}.`}:{valid:this._internalInvalidReason==null,message:void 0}},setError:l=>{l?(this.setAttribute("data-error",l),this.toggleAttribute("invalid",!0)):(this.removeAttribute("data-error"),this._internalInvalidReason==null&&this.removeAttribute("invalid")),this._syncDerivedState(),this._syncAria()}}))}catch{}}_detachListeners(){this._input&&(this._input.removeEventListener("input",this._onInput),this._input.removeEventListener("focus",this._onFocus),this._input.removeEventListener("blur",this._onBlur),this._input.removeEventListener("keydown",this._onKeyDown),this._input.removeEventListener("wheel",this._onWheel))}_bindInput(){this._input&&(this._detachListeners(),this._input.addEventListener("input",this._onInput),this._input.addEventListener("focus",this._onFocus),this._input.addEventListener("blur",this._onBlur),this._input.addEventListener("keydown",this._onKeyDown),this._input.addEventListener("wheel",this._onWheel,{passive:!1}))}_onInput(e){this._rawValue=e.target.value,this._syncDisplayValue(),this._syncAria();const t=v(this._rawValue,this._locale());this.dispatchEvent(new CustomEvent("input",{detail:{rawValue:this._rawValue,value:t,source:"input"},bubbles:!0,composed:!0}))}_onFocus(){this._isEditing=!0,this._rawValue=this.value||this._rawValue,this._syncDisplayValue(),this._syncAria()}_onBlur(){this._isEditing=!1,this._commitRaw("blur")}_onKeyDown(e){if(e.key==="ArrowUp"){e.preventDefault(),this._stepBy(1,"keyboard");return}if(e.key==="ArrowDown"){e.preventDefault(),this._stepBy(-1,"keyboard");return}if(e.key==="PageUp"){e.preventDefault(),this._stepBy(10,"keyboard");return}if(e.key==="PageDown"){e.preventDefault(),this._stepBy(-10,"keyboard");return}if(e.key==="Home"){const t=this._min();if(t==null)return;e.preventDefault(),this._commitValue(t,"keyboard");return}if(e.key==="End"){const t=this._max();if(t==null)return;e.preventDefault(),this._commitValue(t,"keyboard");return}if(e.key==="Enter"){e.preventDefault(),this._isEditing=!1,this._commitRaw("keyboard");return}e.key==="Escape"&&(this._isEditing=!1,this._rawValue=this.value,this._clearInternalInvalid(),this._syncDisplayValue())}_onWheel(e){p(this,"allow-wheel")&&(!this._input||this.root.activeElement!==this._input||(e.preventDefault(),this._stepBy(e.deltaY<0?1:-1,"wheel")))}_onClick(e){const i=e.composedPath().find(s=>s instanceof HTMLElement?s.dataset.stepAction==="up"||s.dataset.stepAction==="down"||s.getAttribute("slot")==="increment-trigger"||s.getAttribute("slot")==="decrement-trigger":!1);if(i){if(i.dataset.stepAction==="up"||i.getAttribute("slot")==="increment-trigger"){e.preventDefault(),this._stepBy(1,"step");return}(i.dataset.stepAction==="down"||i.getAttribute("slot")==="decrement-trigger")&&(e.preventDefault(),this._stepBy(-1,"step"))}}_onSlotChange(){this._syncDerivedState(),this._syncAria()}render(){const e=this.getAttribute("label")||"",t=this.getAttribute("description")||"",i=this.getAttribute("data-error")||"";this.setContent(`
324
- <style>${N}</style>
323
+ `;function g(s){return s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function d(s){if(!s)return!1;const e=s.assignedNodes({flatten:!0});return e.length?e.some(t=>t.nodeType===Node.TEXT_NODE?!!t.textContent?.trim():t.nodeType===Node.ELEMENT_NODE):!1}function p(s,e){const t=s.getAttribute(e);if(t==null)return!1;const i=String(t).trim().toLowerCase();return i!=="false"&&i!=="0"}function v(s){if(s==null||s.trim()==="")return null;const e=Number(s);return Number.isFinite(e)?e:null}function F(s){const e=String(s),t=e.match(/e-(\d+)$/i);if(t)return Number(t[1]);const i=e.split(".")[1];return i?i.length:0}function m(s,e){if(e==null||e<0)return s;const t=10**e;return Math.round((s+Number.EPSILON)*t)/t}function V(s,e,t){return e!=null&&s<e?e:t!=null&&s>t?t:s}function L(s){return s??0}function M(s,e,t,i){if(e==null||e<=0)return!0;const r=m((s-t)/e,i!=null?i+2:8);return Math.abs(r-Math.round(r))<1e-7}function P(s){const e=new Intl.NumberFormat(s).formatToParts(12345.6);return{group:e.find(t=>t.type==="group")?.value||",",decimal:e.find(t=>t.type==="decimal")?.value||"."}}function _(s,e){const t=s.trim();if(!t)return null;const{group:i,decimal:r}=P(e);let n=t.replace(/[\s\u00a0\u202f]/g,"");if(n=n.split(i).join(""),r!=="."&&(n=n.split(r).join(".")),n=n.replace(/[−–]/g,"-"),!/^[+-]?(?:\d+\.?\d*|\.\d+)$/.test(n))return null;const l=Number(n);return Number.isFinite(l)?l:null}function U(s,e){return e!=null&&e>=0?s.toFixed(e):String(s)}const y=class y extends N.ElementBase{constructor(){super(),this._formControl=new S.FormControl(this,{getValue:()=>this.value,getValidity:()=>({valueMissing:S.isRequired(this)&&!this.value,anchor:this._input}),defaultAttribute:"value",onFormDisabled:e=>{this._input&&(this._input.disabled=e||p(this,"disabled"))}}),this._input=null,this._formUnregister=null,this._uid=Math.random().toString(36).slice(2,9),this._rawValue="",this._isEditing=!1,this._internalInvalidReason=null,this._onInput=this._onInput.bind(this),this._onBlur=this._onBlur.bind(this),this._onFocus=this._onFocus.bind(this),this._onKeyDown=this._onKeyDown.bind(this),this._onWheel=this._onWheel.bind(this),this._onSlotChange=this._onSlotChange.bind(this),this._onClick=this._onClick.bind(this)}static get observedAttributes(){return["value","min","max","step","precision","locale","format","name","placeholder","disabled","readonly","required","invalid","allow-wheel","show-steppers","clamp-on-blur","autocomplete","inputmode","label","aria-label","aria-description","aria-describedby","description","data-error","size","variant"]}formResetCallback(){this._formControl.formResetCallback()}formDisabledCallback(e){this._formControl.formDisabledCallback(e)}get form(){return this._formControl.form}connectedCallback(){super.connectedCallback(),this._formControl.connect(),this.root.addEventListener("slotchange",this._onSlotChange),this.addEventListener("click",this._onClick),this._registerWithForm()}disconnectedCallback(){this._formControl.disconnect(),this.root.removeEventListener("slotchange",this._onSlotChange),this.removeEventListener("click",this._onClick),this._detachListeners(),this._formUnregister&&(this._formUnregister(),this._formUnregister=null),super.disconnectedCallback()}shouldRenderOnAttributeChange(e){return e==="label"||e==="description"||e==="data-error"}attributeChangedCallback(e,t,i){if(t!==i){if(e==="value"){this._rawValue=i||"",this._clearInternalInvalid(),this._syncDisplayValue(),this._syncAria();return}if(e==="name"&&this._registerWithForm(),e==="min"||e==="max"||e==="step"||e==="precision"||e==="locale"||e==="format"||e==="placeholder"||e==="disabled"||e==="readonly"||e==="required"||e==="allow-wheel"||e==="show-steppers"||e==="clamp-on-blur"||e==="autocomplete"||e==="inputmode"||e==="size"||e==="variant"||e==="invalid"||e==="aria-label"||e==="aria-description"||e==="aria-describedby"){this._syncControlAttrs(),this._syncDisplayValue(),this._syncDerivedState(),this._syncAria();return}super.attributeChangedCallback(e,t,i)}}get value(){return this.getAttribute("value")||""}set value(e){e?this.setAttribute("value",e):this.removeAttribute("value")}get valueAsNumber(){return v(this.getAttribute("value"))}get rawValue(){return this._rawValue}set rawValue(e){this._rawValue=String(e??""),this._input&&(this._input.value=this._rawValue),this._syncAria()}focus(e){if(this._input){this._input.focus(e);return}super.focus(e)}blur(){this._input?.blur()}select(){this._input?.select()}stepUp(e=1){this._stepBy(Math.max(1,Number(e)||1),"step")}stepDown(e=1){this._stepBy(-Math.max(1,Number(e)||1),"step")}_locale(){return this.getAttribute("locale")||Intl.NumberFormat().resolvedOptions().locale||"en-US"}_precision(){const e=this.getAttribute("precision");if(e==null||e.trim()==="")return null;const t=Number(e);return Number.isInteger(t)&&t>=0?t:null}_step(){const e=this.getAttribute("step");if(e==null||e===""||e==="any")return null;const t=Number(e);return Number.isFinite(t)&&t>0?t:null}_effectivePrecision(){const e=this._precision();if(e!=null)return e;const t=this._step();return t!=null?F(t):null}_min(){return v(this.getAttribute("min"))}_max(){return v(this.getAttribute("max"))}_formatNumber(e){const t=this._effectivePrecision(),i=this.getAttribute("format")!=="plain";return new Intl.NumberFormat(this._locale(),{useGrouping:i,minimumFractionDigits:t??0,maximumFractionDigits:t??20}).format(e)}_displayStringForValue(){if(this._isEditing)return this._rawValue;const e=this.valueAsNumber;return e==null?this._rawValue:this._formatNumber(e)}_syncDisplayValue(){if(!this._input)return;const e=this._displayStringForValue();this._input.value!==e&&(this._input.value=e);const t=this.root.querySelector(".shell");t&&t.setAttribute("data-has-value",e?"true":"false")}_syncControlAttrs(){if(!this._input)return;this._input.placeholder=this.getAttribute("placeholder")||"",this._input.disabled=p(this,"disabled")||this._formControl.disabledByForm,this._input.disabled?this.root.querySelector(".shell")?.setAttribute("aria-disabled","true"):this.root.querySelector(".shell")?.removeAttribute("aria-disabled"),this._input.readOnly=this.hasAttribute("readonly"),this._input.required=this.hasAttribute("required"),this._input.name=this.getAttribute("name")||"",this._input.setAttribute("inputmode",this.getAttribute("inputmode")||"decimal");const e=this.getAttribute("autocomplete");e?this._input.setAttribute("autocomplete",e):this._input.removeAttribute("autocomplete")}_syncAria(){if(!this._input)return;const e=this.valueAsNumber;this._input.setAttribute("role","spinbutton"),this._input.setAttribute("aria-valuetext",this._input.value||"");const t=this._min(),i=this._max();t!=null?this._input.setAttribute("aria-valuemin",String(t)):this._input.removeAttribute("aria-valuemin"),i!=null?this._input.setAttribute("aria-valuemax",String(i)):this._input.removeAttribute("aria-valuemax"),e!=null?this._input.setAttribute("aria-valuenow",String(e)):this._input.removeAttribute("aria-valuenow");const r=this.root.querySelector('slot[name="label"]'),n=this.root.querySelector('slot[name="description"]'),l=this.root.querySelector('slot[name="error"]'),u=!!(this.getAttribute("label")||"").trim()||d(r),o=!!(this.getAttribute("description")||"").trim()||d(n),a=!!(this.getAttribute("data-error")||"").trim()||d(l);k.syncControlName(this._input,this,u?`${this._uid}-label`:null);const c=[];o&&c.push(`${this._uid}-description`),a&&c.push(`${this._uid}-error`),k.syncControlDescription(this._input,this,this._uid,c),this.hasAttribute("required")?this._input.setAttribute("aria-required","true"):this._input.removeAttribute("aria-required"),this.hasAttribute("invalid")||this._internalInvalidReason!=null||a?this._input.setAttribute("aria-invalid","true"):this._input.removeAttribute("aria-invalid")}_syncDerivedState(){const e=this.root.querySelector('slot[name="label"]'),t=this.root.querySelector('slot[name="description"]'),i=this.root.querySelector('slot[name="error"]'),r=this.root.querySelector('slot[name="prefix"]'),n=this.root.querySelector('slot[name="suffix"]'),l=this.root.querySelector('slot[name="increment-trigger"]'),u=this.root.querySelector('slot[name="decrement-trigger"]'),o=!!(this.getAttribute("label")||"").trim()||d(e),a=!!(this.getAttribute("description")||"").trim()||d(t),c=!!(this.getAttribute("data-error")||"").trim()||d(i),x=d(r),E=d(n),z=d(l),C=d(u),A=p(this,"show-steppers")||z||C,h=(D,I)=>{const f=this.root.querySelector(D);f&&(I?f.removeAttribute("hidden"):f.setAttribute("hidden",""))};h(".meta",o||a),h(".label",o),h(".description",a),h(".prefix",x),h(".suffix",E),h(".footer",c),h(".error",c),h(".steppers",A);const w=this.root.querySelector(".shell");w&&w.setAttribute("data-show-steppers",A?"true":"false")}_emitValueEvent(e,t,i,r){this.dispatchEvent(new CustomEvent(e,{detail:{value:t,previousValue:i,source:r},bubbles:!0,composed:!0}))}_emitInvalid(e){this._internalInvalidReason=e,this.setAttribute("data-internal-invalid",e),this._syncAria(),this.dispatchEvent(new CustomEvent("invalid",{detail:{reason:e},bubbles:!0,composed:!0}))}_clearInternalInvalid(){this._internalInvalidReason=null,this.removeAttribute("data-internal-invalid"),this._syncAria()}_commitValue(e,t){const i=this.valueAsNumber;if(e==null){if(i==null&&!this.value){this._rawValue="",this._syncDisplayValue();return}this._emitValueEvent("before-value-change",null,i,t),this.removeAttribute("value"),this._rawValue="",this._clearInternalInvalid(),this._syncDisplayValue(),this._syncAria(),this._emitValueEvent("value-change",null,i,t);return}const r=this._effectivePrecision(),n=U(m(e,r),r),l=Number(n);if(i!=null&&l===i&&this.value===n){this._rawValue=n,this._clearInternalInvalid(),this._syncDisplayValue();return}this._emitValueEvent("before-value-change",l,i,t),this.setAttribute("value",n),this._rawValue=n,this._clearInternalInvalid(),this._syncDisplayValue(),this._syncAria(),this._emitValueEvent("value-change",l,i,t)}_commitRaw(e){const t=this._rawValue.trim();if(!t){this._commitValue(null,e);return}const i=_(t,this._locale());if(i==null){this._emitInvalid("parse"),this._syncDisplayValue();return}const r=this._min(),n=this._max(),l=this._effectivePrecision(),u=m(i,l),o=p(this,"clamp-on-blur"),a=o?V(u,r,n):u;if(!o&&r!=null&&a<r){this._emitInvalid("min"),this._syncDisplayValue();return}if(!o&&n!=null&&a>n){this._emitInvalid("max"),this._syncDisplayValue();return}const c=this._step();if(!M(a,c,L(r),l)){this._emitInvalid("step"),this._syncDisplayValue();return}this._commitValue(a,e)}_stepBy(e,t){if(p(this,"disabled")||this.hasAttribute("readonly"))return;const i=this._step()??1,r=this._effectivePrecision(),n=this._min(),l=this._max(),o=(this._isEditing?_(this._rawValue,this._locale()):this.valueAsNumber)??n??0,a=V(m(o+i*e,r),n,l);this._commitValue(a,t),this._isEditing&&this._input&&(this._input.value=this._rawValue)}_registerWithForm(){this._formUnregister&&(this._formUnregister(),this._formUnregister=null);try{const r=this.getRootNode().host?.closest?.("ui-form")||null||this.closest("ui-form"),n=this.getAttribute("name");r&&typeof r.registerField=="function"&&n&&(this._formUnregister=r.registerField(n,{name:n,getValue:()=>this.value,setValue:l=>{l==null||l===""?this.removeAttribute("value"):this.setAttribute("value",String(l))},validate:async()=>{const l=this.valueAsNumber,u=this._min(),o=this._max();return this.hasAttribute("required")&&l==null?{valid:!1,message:"A value is required."}:l!=null&&u!=null&&l<u?{valid:!1,message:`Value must be at least ${u}.`}:l!=null&&o!=null&&l>o?{valid:!1,message:`Value must be at most ${o}.`}:{valid:this._internalInvalidReason==null,message:void 0}},setError:l=>{l?(this.setAttribute("data-error",l),this.toggleAttribute("invalid",!0)):(this.removeAttribute("data-error"),this._internalInvalidReason==null&&this.removeAttribute("invalid")),this._syncDerivedState(),this._syncAria()}}))}catch{}}_detachListeners(){this._input&&(this._input.removeEventListener("input",this._onInput),this._input.removeEventListener("focus",this._onFocus),this._input.removeEventListener("blur",this._onBlur),this._input.removeEventListener("keydown",this._onKeyDown),this._input.removeEventListener("wheel",this._onWheel))}_bindInput(){this._input&&(this._detachListeners(),this._input.addEventListener("input",this._onInput),this._input.addEventListener("focus",this._onFocus),this._input.addEventListener("blur",this._onBlur),this._input.addEventListener("keydown",this._onKeyDown),this._input.addEventListener("wheel",this._onWheel,{passive:!1}))}_onInput(e){this._rawValue=e.target.value,this._syncDisplayValue(),this._syncAria();const t=_(this._rawValue,this._locale());this.dispatchEvent(new CustomEvent("input",{detail:{rawValue:this._rawValue,value:t,source:"input"},bubbles:!0,composed:!0}))}_onFocus(){this._isEditing=!0,this._rawValue=this.value||this._rawValue,this._syncDisplayValue(),this._syncAria()}_onBlur(){this._isEditing=!1,this._commitRaw("blur")}_onKeyDown(e){if(e.key==="ArrowUp"){e.preventDefault(),this._stepBy(1,"keyboard");return}if(e.key==="ArrowDown"){e.preventDefault(),this._stepBy(-1,"keyboard");return}if(e.key==="PageUp"){e.preventDefault(),this._stepBy(10,"keyboard");return}if(e.key==="PageDown"){e.preventDefault(),this._stepBy(-10,"keyboard");return}if(e.key==="Home"){const t=this._min();if(t==null)return;e.preventDefault(),this._commitValue(t,"keyboard");return}if(e.key==="End"){const t=this._max();if(t==null)return;e.preventDefault(),this._commitValue(t,"keyboard");return}if(e.key==="Enter"){e.preventDefault(),this._isEditing=!1,this._commitRaw("keyboard"),e.isComposing||B.submitImplicitly(this);return}e.key==="Escape"&&(this._isEditing=!1,this._rawValue=this.value,this._clearInternalInvalid(),this._syncDisplayValue())}_onWheel(e){p(this,"allow-wheel")&&(!this._input||this.root.activeElement!==this._input||(e.preventDefault(),this._stepBy(e.deltaY<0?1:-1,"wheel")))}_onClick(e){const i=e.composedPath().find(r=>r instanceof HTMLElement?r.dataset.stepAction==="up"||r.dataset.stepAction==="down"||r.getAttribute("slot")==="increment-trigger"||r.getAttribute("slot")==="decrement-trigger":!1);if(i){if(i.dataset.stepAction==="up"||i.getAttribute("slot")==="increment-trigger"){e.preventDefault(),this._stepBy(1,"step");return}(i.dataset.stepAction==="down"||i.getAttribute("slot")==="decrement-trigger")&&(e.preventDefault(),this._stepBy(-1,"step"))}}_onSlotChange(){this._syncDerivedState(),this._syncAria()}render(){const e=this.getAttribute("label")||"",t=this.getAttribute("description")||"",i=this.getAttribute("data-error")||"";this.setContent(`
324
+ <style>${q}</style>
325
325
  <div class="root">
326
326
  <div class="meta">
327
327
  <label class="label" id="${this._uid}-label">
328
- <slot name="label">${f(e)}</slot>
328
+ <slot name="label">${g(e)}</slot>
329
329
  <span class="required" ${this.hasAttribute("required")?"":"hidden"}>*</span>
330
330
  </label>
331
331
  <p class="description" id="${this._uid}-description">
332
- <slot name="description">${f(t)}</slot>
332
+ <slot name="description">${g(t)}</slot>
333
333
  </p>
334
334
  </div>
335
335
  <div class="shell">
@@ -353,8 +353,8 @@
353
353
  </div>
354
354
  <div class="footer">
355
355
  <p class="error" id="${this._uid}-error">
356
- <slot name="error">${f(i)}</slot>
356
+ <slot name="error">${g(i)}</slot>
357
357
  </p>
358
358
  </div>
359
359
  </div>
360
- `),this._input=this.root.querySelector("input"),this._rawValue=this.value||this._rawValue,this._bindInput(),this._syncControlAttrs(),this._syncDerivedState(),this._syncDisplayValue(),this._syncAria()}}typeof customElements<"u"&&!customElements.get("ui-number-field")&&customElements.define("ui-number-field",S);exports.UINumberField=S;
360
+ `),this._input=this.root.querySelector("input"),this._rawValue=this.value||this._rawValue,this._bindInput(),this._syncControlAttrs(),this._syncDerivedState(),this._syncDisplayValue(),this._syncAria()}};y.formAssociated=!0;let b=y;typeof customElements<"u"&&!customElements.get("ui-number-field")&&customElements.define("ui-number-field",b);exports.UINumberField=b;
@@ -1,6 +1,8 @@
1
- import { E as z } from "./ElementBase-BeZT54Hj.mjs";
2
- import { s as I, a as D } from "./control-name-Bpj7F34X.mjs";
3
- const N = `
1
+ import { E as C } from "./ElementBase-D5QsC5Vw.mjs";
2
+ import { F as I, i as N } from "./form-control-D9wWUMBl.mjs";
3
+ import { a as B } from "./implicit-submit-Lr0-q2LR.mjs";
4
+ import { s as F, a as q } from "./control-name-Bpj7F34X.mjs";
5
+ const L = `
4
6
  :host {
5
7
  --ui-number-field-padding: var(--ui-padding, 0);
6
8
  --ui-number-field-pad-x: calc(var(--ui-control-padding-inline-2, 12px) - 1px);
@@ -311,7 +313,7 @@ const N = `
311
313
  --ui-number-field-color: #e2e8f0;
312
314
  --ui-number-field-muted: #94a3b8;
313
315
  --ui-number-field-border-color: #334155;
314
- --ui-number-field-focus: #93c5fd;
316
+ --ui-number-field-focus: var(--ui-color-accent-on-dark, #93c5fd);
315
317
  --ui-number-field-placeholder: color-mix(in srgb, #e2e8f0 46%, transparent);
316
318
  --ui-number-field-shadow: 0 2px 8px rgba(2, 6, 23, 0.24);
317
319
  }
@@ -323,69 +325,76 @@ const N = `
323
325
  }
324
326
  }
325
327
  `;
326
- function f(r) {
327
- return r.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
328
+ function f(s) {
329
+ return s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
328
330
  }
329
- function d(r) {
330
- if (!r) return !1;
331
- const e = r.assignedNodes({ flatten: !0 });
331
+ function d(s) {
332
+ if (!s) return !1;
333
+ const e = s.assignedNodes({ flatten: !0 });
332
334
  return e.length ? e.some((t) => t.nodeType === Node.TEXT_NODE ? !!t.textContent?.trim() : t.nodeType === Node.ELEMENT_NODE) : !1;
333
335
  }
334
- function p(r, e) {
335
- const t = r.getAttribute(e);
336
+ function p(s, e) {
337
+ const t = s.getAttribute(e);
336
338
  if (t == null) return !1;
337
339
  const i = String(t).trim().toLowerCase();
338
340
  return i !== "false" && i !== "0";
339
341
  }
340
- function g(r) {
341
- if (r == null || r.trim() === "") return null;
342
- const e = Number(r);
342
+ function g(s) {
343
+ if (s == null || s.trim() === "") return null;
344
+ const e = Number(s);
343
345
  return Number.isFinite(e) ? e : null;
344
346
  }
345
- function C(r) {
346
- const e = String(r), t = e.match(/e-(\d+)$/i);
347
+ function M(s) {
348
+ const e = String(s), t = e.match(/e-(\d+)$/i);
347
349
  if (t) return Number(t[1]);
348
350
  const i = e.split(".")[1];
349
351
  return i ? i.length : 0;
350
352
  }
351
- function m(r, e) {
352
- if (e == null || e < 0) return r;
353
+ function m(s, e) {
354
+ if (e == null || e < 0) return s;
353
355
  const t = 10 ** e;
354
- return Math.round((r + Number.EPSILON) * t) / t;
356
+ return Math.round((s + Number.EPSILON) * t) / t;
355
357
  }
356
- function A(r, e, t) {
357
- return e != null && r < e ? e : t != null && r > t ? t : r;
358
+ function S(s, e, t) {
359
+ return e != null && s < e ? e : t != null && s > t ? t : s;
358
360
  }
359
- function B(r) {
360
- return r ?? 0;
361
+ function P(s) {
362
+ return s ?? 0;
361
363
  }
362
- function F(r, e, t, i) {
364
+ function $(s, e, t, i) {
363
365
  if (e == null || e <= 0) return !0;
364
- const s = m((r - t) / e, i != null ? i + 2 : 8);
365
- return Math.abs(s - Math.round(s)) < 1e-7;
366
+ const r = m((s - t) / e, i != null ? i + 2 : 8);
367
+ return Math.abs(r - Math.round(r)) < 1e-7;
366
368
  }
367
- function q(r) {
368
- const e = new Intl.NumberFormat(r).formatToParts(12345.6);
369
+ function R(s) {
370
+ const e = new Intl.NumberFormat(s).formatToParts(12345.6);
369
371
  return {
370
372
  group: e.find((t) => t.type === "group")?.value || ",",
371
373
  decimal: e.find((t) => t.type === "decimal")?.value || "."
372
374
  };
373
375
  }
374
- function v(r, e) {
375
- const t = r.trim();
376
+ function v(s, e) {
377
+ const t = s.trim();
376
378
  if (!t) return null;
377
- const { group: i, decimal: s } = q(e);
379
+ const { group: i, decimal: r } = R(e);
378
380
  let n = t.replace(/[\s\u00a0\u202f]/g, "");
379
- if (n = n.split(i).join(""), s !== "." && (n = n.split(s).join(".")), n = n.replace(/[−–]/g, "-"), !/^[+-]?(?:\d+\.?\d*|\.\d+)$/.test(n)) return null;
381
+ if (n = n.split(i).join(""), r !== "." && (n = n.split(r).join(".")), n = n.replace(/[−–]/g, "-"), !/^[+-]?(?:\d+\.?\d*|\.\d+)$/.test(n)) return null;
380
382
  const l = Number(n);
381
383
  return Number.isFinite(l) ? l : null;
382
384
  }
383
- function L(r, e) {
384
- return e != null && e >= 0 ? r.toFixed(e) : String(r);
385
+ function U(s, e) {
386
+ return e != null && e >= 0 ? s.toFixed(e) : String(s);
385
387
  }
386
- class M extends z {
388
+ const y = class y extends C {
387
389
  constructor() {
388
- super(), this._input = null, this._formUnregister = null, this._uid = Math.random().toString(36).slice(2, 9), this._rawValue = "", this._isEditing = !1, this._internalInvalidReason = null, this._onInput = this._onInput.bind(this), this._onBlur = this._onBlur.bind(this), this._onFocus = this._onFocus.bind(this), this._onKeyDown = this._onKeyDown.bind(this), this._onWheel = this._onWheel.bind(this), this._onSlotChange = this._onSlotChange.bind(this), this._onClick = this._onClick.bind(this);
390
+ super(), this._formControl = new I(this, {
391
+ getValue: () => this.value,
392
+ getValidity: () => ({ valueMissing: N(this) && !this.value, anchor: this._input }),
393
+ defaultAttribute: "value",
394
+ onFormDisabled: (e) => {
395
+ this._input && (this._input.disabled = e || p(this, "disabled"));
396
+ }
397
+ }), this._input = null, this._formUnregister = null, this._uid = Math.random().toString(36).slice(2, 9), this._rawValue = "", this._isEditing = !1, this._internalInvalidReason = null, this._onInput = this._onInput.bind(this), this._onBlur = this._onBlur.bind(this), this._onFocus = this._onFocus.bind(this), this._onKeyDown = this._onKeyDown.bind(this), this._onWheel = this._onWheel.bind(this), this._onSlotChange = this._onSlotChange.bind(this), this._onClick = this._onClick.bind(this);
389
398
  }
390
399
  static get observedAttributes() {
391
400
  return [
@@ -417,11 +426,21 @@ class M extends z {
417
426
  "variant"
418
427
  ];
419
428
  }
429
+ formResetCallback() {
430
+ this._formControl.formResetCallback();
431
+ }
432
+ formDisabledCallback(e) {
433
+ this._formControl.formDisabledCallback(e);
434
+ }
435
+ /** The `<form>` this field belongs to, if any. */
436
+ get form() {
437
+ return this._formControl.form;
438
+ }
420
439
  connectedCallback() {
421
- super.connectedCallback(), this.root.addEventListener("slotchange", this._onSlotChange), this.addEventListener("click", this._onClick), this._registerWithForm();
440
+ super.connectedCallback(), this._formControl.connect(), this.root.addEventListener("slotchange", this._onSlotChange), this.addEventListener("click", this._onClick), this._registerWithForm();
422
441
  }
423
442
  disconnectedCallback() {
424
- this.root.removeEventListener("slotchange", this._onSlotChange), this.removeEventListener("click", this._onClick), this._detachListeners(), this._formUnregister && (this._formUnregister(), this._formUnregister = null), super.disconnectedCallback();
443
+ this._formControl.disconnect(), this.root.removeEventListener("slotchange", this._onSlotChange), this.removeEventListener("click", this._onClick), this._detachListeners(), this._formUnregister && (this._formUnregister(), this._formUnregister = null), super.disconnectedCallback();
425
444
  }
426
445
  shouldRenderOnAttributeChange(e) {
427
446
  return e === "label" || e === "description" || e === "data-error";
@@ -492,7 +511,7 @@ class M extends z {
492
511
  const e = this._precision();
493
512
  if (e != null) return e;
494
513
  const t = this._step();
495
- return t != null ? C(t) : null;
514
+ return t != null ? M(t) : null;
496
515
  }
497
516
  _min() {
498
517
  return g(this.getAttribute("min"));
@@ -522,7 +541,7 @@ class M extends z {
522
541
  }
523
542
  _syncControlAttrs() {
524
543
  if (!this._input) return;
525
- this._input.placeholder = this.getAttribute("placeholder") || "", this._input.disabled = p(this, "disabled"), this._input.disabled ? this.root.querySelector(".shell")?.setAttribute("aria-disabled", "true") : this.root.querySelector(".shell")?.removeAttribute("aria-disabled"), this._input.readOnly = this.hasAttribute("readonly"), this._input.required = this.hasAttribute("required"), this._input.name = this.getAttribute("name") || "", this._input.setAttribute("inputmode", this.getAttribute("inputmode") || "decimal");
544
+ this._input.placeholder = this.getAttribute("placeholder") || "", this._input.disabled = p(this, "disabled") || this._formControl.disabledByForm, this._input.disabled ? this.root.querySelector(".shell")?.setAttribute("aria-disabled", "true") : this.root.querySelector(".shell")?.removeAttribute("aria-disabled"), this._input.readOnly = this.hasAttribute("readonly"), this._input.required = this.hasAttribute("required"), this._input.name = this.getAttribute("name") || "", this._input.setAttribute("inputmode", this.getAttribute("inputmode") || "decimal");
526
545
  const e = this.getAttribute("autocomplete");
527
546
  e ? this._input.setAttribute("autocomplete", e) : this._input.removeAttribute("autocomplete");
528
547
  }
@@ -532,24 +551,24 @@ class M extends z {
532
551
  this._input.setAttribute("role", "spinbutton"), this._input.setAttribute("aria-valuetext", this._input.value || "");
533
552
  const t = this._min(), i = this._max();
534
553
  t != null ? this._input.setAttribute("aria-valuemin", String(t)) : this._input.removeAttribute("aria-valuemin"), i != null ? this._input.setAttribute("aria-valuemax", String(i)) : this._input.removeAttribute("aria-valuemax"), e != null ? this._input.setAttribute("aria-valuenow", String(e)) : this._input.removeAttribute("aria-valuenow");
535
- const s = this.root.querySelector('slot[name="label"]'), n = this.root.querySelector('slot[name="description"]'), l = this.root.querySelector('slot[name="error"]'), u = !!(this.getAttribute("label") || "").trim() || d(s), a = !!(this.getAttribute("description") || "").trim() || d(n), o = !!(this.getAttribute("data-error") || "").trim() || d(l);
536
- I(this._input, this, u ? `${this._uid}-label` : null);
554
+ const r = this.root.querySelector('slot[name="label"]'), n = this.root.querySelector('slot[name="description"]'), l = this.root.querySelector('slot[name="error"]'), u = !!(this.getAttribute("label") || "").trim() || d(r), o = !!(this.getAttribute("description") || "").trim() || d(n), a = !!(this.getAttribute("data-error") || "").trim() || d(l);
555
+ F(this._input, this, u ? `${this._uid}-label` : null);
537
556
  const c = [];
538
- a && c.push(`${this._uid}-description`), o && c.push(`${this._uid}-error`), D(this._input, this, this._uid, c), this.hasAttribute("required") ? this._input.setAttribute("aria-required", "true") : this._input.removeAttribute("aria-required"), this.hasAttribute("invalid") || this._internalInvalidReason != null || o ? this._input.setAttribute("aria-invalid", "true") : this._input.removeAttribute("aria-invalid");
557
+ o && c.push(`${this._uid}-description`), a && c.push(`${this._uid}-error`), q(this._input, this, this._uid, c), this.hasAttribute("required") ? this._input.setAttribute("aria-required", "true") : this._input.removeAttribute("aria-required"), this.hasAttribute("invalid") || this._internalInvalidReason != null || a ? this._input.setAttribute("aria-invalid", "true") : this._input.removeAttribute("aria-invalid");
539
558
  }
540
559
  _syncDerivedState() {
541
- const e = this.root.querySelector('slot[name="label"]'), t = this.root.querySelector('slot[name="description"]'), i = this.root.querySelector('slot[name="error"]'), s = this.root.querySelector('slot[name="prefix"]'), n = this.root.querySelector('slot[name="suffix"]'), l = this.root.querySelector('slot[name="increment-trigger"]'), u = this.root.querySelector('slot[name="decrement-trigger"]'), a = !!(this.getAttribute("label") || "").trim() || d(e), o = !!(this.getAttribute("description") || "").trim() || d(t), c = !!(this.getAttribute("data-error") || "").trim() || d(i), _ = d(s), w = d(n), S = d(l), V = d(u), y = p(this, "show-steppers") || S || V, h = (k, E) => {
542
- const b = this.root.querySelector(k);
543
- b && (E ? b.removeAttribute("hidden") : b.setAttribute("hidden", ""));
560
+ const e = this.root.querySelector('slot[name="label"]'), t = this.root.querySelector('slot[name="description"]'), i = this.root.querySelector('slot[name="error"]'), r = this.root.querySelector('slot[name="prefix"]'), n = this.root.querySelector('slot[name="suffix"]'), l = this.root.querySelector('slot[name="increment-trigger"]'), u = this.root.querySelector('slot[name="decrement-trigger"]'), o = !!(this.getAttribute("label") || "").trim() || d(e), a = !!(this.getAttribute("description") || "").trim() || d(t), c = !!(this.getAttribute("data-error") || "").trim() || d(i), x = d(r), k = d(n), V = d(l), E = d(u), A = p(this, "show-steppers") || V || E, h = (z, D) => {
561
+ const b = this.root.querySelector(z);
562
+ b && (D ? b.removeAttribute("hidden") : b.setAttribute("hidden", ""));
544
563
  };
545
- h(".meta", a || o), h(".label", a), h(".description", o), h(".prefix", _), h(".suffix", w), h(".footer", c), h(".error", c), h(".steppers", y);
546
- const x = this.root.querySelector(".shell");
547
- x && x.setAttribute("data-show-steppers", y ? "true" : "false");
564
+ h(".meta", o || a), h(".label", o), h(".description", a), h(".prefix", x), h(".suffix", k), h(".footer", c), h(".error", c), h(".steppers", A);
565
+ const w = this.root.querySelector(".shell");
566
+ w && w.setAttribute("data-show-steppers", A ? "true" : "false");
548
567
  }
549
- _emitValueEvent(e, t, i, s) {
568
+ _emitValueEvent(e, t, i, r) {
550
569
  this.dispatchEvent(
551
570
  new CustomEvent(e, {
552
- detail: { value: t, previousValue: i, source: s },
571
+ detail: { value: t, previousValue: i, source: r },
553
572
  bubbles: !0,
554
573
  composed: !0
555
574
  })
@@ -577,7 +596,7 @@ class M extends z {
577
596
  this._emitValueEvent("before-value-change", null, i, t), this.removeAttribute("value"), this._rawValue = "", this._clearInternalInvalid(), this._syncDisplayValue(), this._syncAria(), this._emitValueEvent("value-change", null, i, t);
578
597
  return;
579
598
  }
580
- const s = this._effectivePrecision(), n = L(m(e, s), s), l = Number(n);
599
+ const r = this._effectivePrecision(), n = U(m(e, r), r), l = Number(n);
581
600
  if (i != null && l === i && this.value === n) {
582
601
  this._rawValue = n, this._clearInternalInvalid(), this._syncDisplayValue();
583
602
  return;
@@ -595,40 +614,40 @@ class M extends z {
595
614
  this._emitInvalid("parse"), this._syncDisplayValue();
596
615
  return;
597
616
  }
598
- const s = this._min(), n = this._max(), l = this._effectivePrecision(), u = m(i, l), a = p(this, "clamp-on-blur"), o = a ? A(u, s, n) : u;
599
- if (!a && s != null && o < s) {
617
+ const r = this._min(), n = this._max(), l = this._effectivePrecision(), u = m(i, l), o = p(this, "clamp-on-blur"), a = o ? S(u, r, n) : u;
618
+ if (!o && r != null && a < r) {
600
619
  this._emitInvalid("min"), this._syncDisplayValue();
601
620
  return;
602
621
  }
603
- if (!a && n != null && o > n) {
622
+ if (!o && n != null && a > n) {
604
623
  this._emitInvalid("max"), this._syncDisplayValue();
605
624
  return;
606
625
  }
607
626
  const c = this._step();
608
- if (!F(o, c, B(s), l)) {
627
+ if (!$(a, c, P(r), l)) {
609
628
  this._emitInvalid("step"), this._syncDisplayValue();
610
629
  return;
611
630
  }
612
- this._commitValue(o, e);
631
+ this._commitValue(a, e);
613
632
  }
614
633
  _stepBy(e, t) {
615
634
  if (p(this, "disabled") || this.hasAttribute("readonly")) return;
616
- const i = this._step() ?? 1, s = this._effectivePrecision(), n = this._min(), l = this._max(), a = (this._isEditing ? v(this._rawValue, this._locale()) : this.valueAsNumber) ?? n ?? 0, o = A(m(a + i * e, s), n, l);
617
- this._commitValue(o, t), this._isEditing && this._input && (this._input.value = this._rawValue);
635
+ const i = this._step() ?? 1, r = this._effectivePrecision(), n = this._min(), l = this._max(), o = (this._isEditing ? v(this._rawValue, this._locale()) : this.valueAsNumber) ?? n ?? 0, a = S(m(o + i * e, r), n, l);
636
+ this._commitValue(a, t), this._isEditing && this._input && (this._input.value = this._rawValue);
618
637
  }
619
638
  _registerWithForm() {
620
639
  this._formUnregister && (this._formUnregister(), this._formUnregister = null);
621
640
  try {
622
- const s = this.getRootNode().host?.closest?.("ui-form") || null || this.closest("ui-form"), n = this.getAttribute("name");
623
- s && typeof s.registerField == "function" && n && (this._formUnregister = s.registerField(n, {
641
+ const r = this.getRootNode().host?.closest?.("ui-form") || null || this.closest("ui-form"), n = this.getAttribute("name");
642
+ r && typeof r.registerField == "function" && n && (this._formUnregister = r.registerField(n, {
624
643
  name: n,
625
644
  getValue: () => this.value,
626
645
  setValue: (l) => {
627
646
  l == null || l === "" ? this.removeAttribute("value") : this.setAttribute("value", String(l));
628
647
  },
629
648
  validate: async () => {
630
- const l = this.valueAsNumber, u = this._min(), a = this._max();
631
- return this.hasAttribute("required") && l == null ? { valid: !1, message: "A value is required." } : l != null && u != null && l < u ? { valid: !1, message: `Value must be at least ${u}.` } : l != null && a != null && l > a ? { valid: !1, message: `Value must be at most ${a}.` } : { valid: this._internalInvalidReason == null, message: void 0 };
649
+ const l = this.valueAsNumber, u = this._min(), o = this._max();
650
+ return this.hasAttribute("required") && l == null ? { valid: !1, message: "A value is required." } : l != null && u != null && l < u ? { valid: !1, message: `Value must be at least ${u}.` } : l != null && o != null && l > o ? { valid: !1, message: `Value must be at most ${o}.` } : { valid: this._internalInvalidReason == null, message: void 0 };
632
651
  },
633
652
  setError: (l) => {
634
653
  l ? (this.setAttribute("data-error", l), this.toggleAttribute("invalid", !0)) : (this.removeAttribute("data-error"), this._internalInvalidReason == null && this.removeAttribute("invalid")), this._syncDerivedState(), this._syncAria();
@@ -690,7 +709,7 @@ class M extends z {
690
709
  return;
691
710
  }
692
711
  if (e.key === "Enter") {
693
- e.preventDefault(), this._isEditing = !1, this._commitRaw("keyboard");
712
+ e.preventDefault(), this._isEditing = !1, this._commitRaw("keyboard"), e.isComposing || B(this);
694
713
  return;
695
714
  }
696
715
  e.key === "Escape" && (this._isEditing = !1, this._rawValue = this.value, this._clearInternalInvalid(), this._syncDisplayValue());
@@ -699,7 +718,7 @@ class M extends z {
699
718
  p(this, "allow-wheel") && (!this._input || this.root.activeElement !== this._input || (e.preventDefault(), this._stepBy(e.deltaY < 0 ? 1 : -1, "wheel")));
700
719
  }
701
720
  _onClick(e) {
702
- const i = e.composedPath().find((s) => s instanceof HTMLElement ? s.dataset.stepAction === "up" || s.dataset.stepAction === "down" || s.getAttribute("slot") === "increment-trigger" || s.getAttribute("slot") === "decrement-trigger" : !1);
721
+ const i = e.composedPath().find((r) => r instanceof HTMLElement ? r.dataset.stepAction === "up" || r.dataset.stepAction === "down" || r.getAttribute("slot") === "increment-trigger" || r.getAttribute("slot") === "decrement-trigger" : !1);
703
722
  if (i) {
704
723
  if (i.dataset.stepAction === "up" || i.getAttribute("slot") === "increment-trigger") {
705
724
  e.preventDefault(), this._stepBy(1, "step");
@@ -714,7 +733,7 @@ class M extends z {
714
733
  render() {
715
734
  const e = this.getAttribute("label") || "", t = this.getAttribute("description") || "", i = this.getAttribute("data-error") || "";
716
735
  this.setContent(`
717
- <style>${N}</style>
736
+ <style>${L}</style>
718
737
  <div class="root">
719
738
  <div class="meta">
720
739
  <label class="label" id="${this._uid}-label">
@@ -752,8 +771,10 @@ class M extends z {
752
771
  </div>
753
772
  `), this._input = this.root.querySelector("input"), this._rawValue = this.value || this._rawValue, this._bindInput(), this._syncControlAttrs(), this._syncDerivedState(), this._syncDisplayValue(), this._syncAria();
754
773
  }
755
- }
756
- typeof customElements < "u" && !customElements.get("ui-number-field") && customElements.define("ui-number-field", M);
774
+ };
775
+ y.formAssociated = !0;
776
+ let _ = y;
777
+ typeof customElements < "u" && !customElements.get("ui-number-field") && customElements.define("ui-number-field", _);
757
778
  export {
758
- M as UINumberField
779
+ _ as UINumberField
759
780
  };
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const I=require("./ElementBase-DxbvhLJs.js"),y=1200,v=0,O="ease-out",L="decimal",A=0,S=.4,F=6,N=new Set(["linear","ease-in","ease-out","ease-in-out","spring","bounce","overshoot"]),$=new Set(["decimal","currency"]),R=new Set(["symbol","narrowSymbol","code","name"]),G=new Set(["standard","compact"]),U=new Set(["short","long"]),H=new Set(["auto","always","exceptZero","never"]),Q=new Set(["interpolate","odometer"]),q=new Set(["immediate","visible"]),B=new Set(["start","end","center"]),a={sm:{fontSize:"14px",letterSpacing:"-0.02em",lineHeight:"1"},md:{fontSize:"22px",letterSpacing:"-0.04em",lineHeight:"0.98"},lg:{fontSize:"36px",letterSpacing:"-0.05em",lineHeight:"0.94"},xl:{fontSize:"56px",letterSpacing:"-0.06em",lineHeight:"0.9"}},Y=["0","1","2","3","4","5","6","7","8","9"],j=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const I=require("./ElementBase-CbUsP3D6.js"),y=1200,v=0,O="ease-out",L="decimal",A=0,S=.4,F=6,N=new Set(["linear","ease-in","ease-out","ease-in-out","spring","bounce","overshoot"]),$=new Set(["decimal","currency"]),R=new Set(["symbol","narrowSymbol","code","name"]),G=new Set(["standard","compact"]),U=new Set(["short","long"]),H=new Set(["auto","always","exceptZero","never"]),Q=new Set(["interpolate","odometer"]),q=new Set(["immediate","visible"]),B=new Set(["start","end","center"]),a={sm:{fontSize:"14px",letterSpacing:"-0.02em",lineHeight:"1"},md:{fontSize:"22px",letterSpacing:"-0.04em",lineHeight:"0.98"},lg:{fontSize:"36px",letterSpacing:"-0.05em",lineHeight:"0.94"},xl:{fontSize:"56px",letterSpacing:"-0.06em",lineHeight:"0.9"}},Y=["0","1","2","3","4","5","6","7","8","9"],j=`
2
2
  :host {
3
3
  --ui-number-ticker-color: var(--ui-color-text, var(--ui-text, #0f172a));
4
4
  --ui-number-ticker-accent: var(--ui-color-primary, var(--ui-primary, #2563eb));
@@ -1,4 +1,4 @@
1
- import { E as M } from "./ElementBase-BeZT54Hj.mjs";
1
+ import { E as M } from "./ElementBase-D5QsC5Vw.mjs";
2
2
  const y = 1200, v = 0, I = "ease-out", O = "decimal", A = 0, S = 0.4, F = 6, L = /* @__PURE__ */ new Set([
3
3
  "linear",
4
4
  "ease-in",
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const M=require("./ElementBase-DxbvhLJs.js"),D=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const M=require("./ElementBase-CbUsP3D6.js"),D=`
2
2
  :host {
3
3
  --ui-odometer-font-family: var(--ui-font-family-mono, var(--font-mono, ui-monospace, 'SF Mono', Menlo, Monaco, Consolas, monospace));
4
4
  --ui-odometer-font-size: var(--font-size-4, 1.25rem);
@@ -1,4 +1,4 @@
1
- import { E as T } from "./ElementBase-BeZT54Hj.mjs";
1
+ import { E as T } from "./ElementBase-D5QsC5Vw.mjs";
2
2
  const D = `
3
3
  :host {
4
4
  --ui-odometer-font-family: var(--ui-font-family-mono, var(--font-mono, ui-monospace, 'SF Mono', Menlo, Monaco, Consolas, monospace));
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const B=require("./ElementBase-DxbvhLJs.js"),O="18s",V="0s",A="88px",P="44px",w="128px",E="28px",$="20px",C=-90,X=6,W=new Set(["none","sm","md","lg","full"]),j=new Set(["clockwise","counterclockwise","alternate"]),Z=new Set(["calm","smooth","snappy","bouncy"]),_={xs:{orbitRadius:"54px",itemSize:"30px",centerSize:"80px",ringGap:"16px",padding:"12px",panelRadius:"22px"},sm:{orbitRadius:"68px",itemSize:"36px",centerSize:"96px",ringGap:"20px",padding:"14px",panelRadius:"24px"},md:{orbitRadius:A,itemSize:P,centerSize:w,ringGap:E,padding:$,panelRadius:"28px"},lg:{orbitRadius:"108px",itemSize:"52px",centerSize:"148px",ringGap:"32px",padding:"24px",panelRadius:"32px"},xl:{orbitRadius:"132px",itemSize:"64px",centerSize:"172px",ringGap:"38px",padding:"28px",panelRadius:"36px"}},M={calm:{durationScale:1.28,accentOpacity:.12},smooth:{durationScale:1,accentOpacity:.16},snappy:{durationScale:.82,accentOpacity:.18},bouncy:{durationScale:.92,accentOpacity:.22}},Q=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const B=require("./ElementBase-CbUsP3D6.js"),O="18s",V="0s",A="88px",P="44px",w="128px",E="28px",$="20px",C=-90,X=6,W=new Set(["none","sm","md","lg","full"]),j=new Set(["clockwise","counterclockwise","alternate"]),Z=new Set(["calm","smooth","snappy","bouncy"]),_={xs:{orbitRadius:"54px",itemSize:"30px",centerSize:"80px",ringGap:"16px",padding:"12px",panelRadius:"22px"},sm:{orbitRadius:"68px",itemSize:"36px",centerSize:"96px",ringGap:"20px",padding:"14px",panelRadius:"24px"},md:{orbitRadius:A,itemSize:P,centerSize:w,ringGap:E,padding:$,panelRadius:"28px"},lg:{orbitRadius:"108px",itemSize:"52px",centerSize:"148px",ringGap:"32px",padding:"24px",panelRadius:"32px"},xl:{orbitRadius:"132px",itemSize:"64px",centerSize:"172px",ringGap:"38px",padding:"28px",panelRadius:"36px"}},M={calm:{durationScale:1.28,accentOpacity:.12},smooth:{durationScale:1,accentOpacity:.16},snappy:{durationScale:.82,accentOpacity:.18},bouncy:{durationScale:.92,accentOpacity:.22}},Q=`
2
2
  :host {
3
3
  --ui-orbiter-duration: ${O};
4
4
  --ui-orbiter-delay: ${V};
@@ -1,4 +1,4 @@
1
- import { E as U } from "./ElementBase-BeZT54Hj.mjs";
1
+ import { E as U } from "./ElementBase-D5QsC5Vw.mjs";
2
2
  const O = "18s", V = "0s", A = "88px", P = "44px", w = "128px", E = "28px", $ = "20px", C = -90, X = 6, B = /* @__PURE__ */ new Set(["none", "sm", "md", "lg", "full"]), W = /* @__PURE__ */ new Set(["clockwise", "counterclockwise", "alternate"]), j = /* @__PURE__ */ new Set(["calm", "smooth", "snappy", "bouncy"]), _ = {
3
3
  xs: {
4
4
  orbitRadius: "54px",