@editora/ui-core 0.1.8 → 0.1.10

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 (551) hide show
  1. package/README.md +35 -0
  2. package/dist/ElementBase-1b301e7f.js +1 -0
  3. package/dist/ElementBase-909688f3.mjs +79 -0
  4. package/dist/ElementBase.d.ts.map +1 -1
  5. package/dist/__tests__/setup.d.ts +2 -0
  6. package/dist/__tests__/setup.d.ts.map +1 -1
  7. package/dist/accordion.cjs.js +360 -0
  8. package/dist/accordion.esm.js +647 -0
  9. package/dist/alert-dialog.cjs.js +567 -0
  10. package/dist/alert-dialog.esm.js +1043 -0
  11. package/dist/alert.cjs.js +351 -0
  12. package/dist/alert.esm.js +450 -0
  13. package/dist/anchor.cjs.js +30 -0
  14. package/dist/anchor.esm.js +62 -0
  15. package/dist/animated-beam.cjs.js +720 -0
  16. package/dist/animated-beam.esm.js +1540 -0
  17. package/dist/animated-list.cjs.js +672 -0
  18. package/dist/animated-list.esm.js +1137 -0
  19. package/dist/animated-text.cjs.js +683 -0
  20. package/dist/animated-text.esm.js +1020 -0
  21. package/dist/app-header.cjs.js +345 -0
  22. package/dist/app-header.esm.js +398 -0
  23. package/dist/aspect-ratio.cjs.js +294 -0
  24. package/dist/aspect-ratio.esm.js +416 -0
  25. package/dist/avatar.cjs.js +365 -0
  26. package/dist/avatar.esm.js +513 -0
  27. package/dist/badge.cjs.js +432 -0
  28. package/dist/badge.esm.js +554 -0
  29. package/dist/block-controls.cjs.js +347 -0
  30. package/dist/block-controls.esm.js +556 -0
  31. package/dist/box.cjs.js +226 -0
  32. package/dist/box.esm.js +556 -0
  33. package/dist/breadcrumb.cjs.js +288 -0
  34. package/dist/breadcrumb.esm.js +523 -0
  35. package/dist/button.cjs.js +521 -0
  36. package/dist/button.esm.js +671 -0
  37. package/dist/calendar-2c11b824.mjs +1685 -0
  38. package/dist/calendar-a8735e40.js +741 -0
  39. package/dist/calendar.cjs.js +1 -0
  40. package/dist/calendar.esm.js +11 -0
  41. package/dist/card.cjs.js +306 -0
  42. package/dist/card.esm.js +378 -0
  43. package/dist/chart.cjs.js +783 -0
  44. package/dist/chart.esm.js +1369 -0
  45. package/dist/checkbox.cjs.js +338 -0
  46. package/dist/checkbox.esm.js +455 -0
  47. package/dist/collapsible.cjs.js +381 -0
  48. package/dist/collapsible.esm.js +548 -0
  49. package/dist/collection-a1aac0c6.mjs +56 -0
  50. package/dist/collection-a2969ad2.js +1 -0
  51. package/dist/collection.cjs.js +1 -0
  52. package/dist/collection.esm.js +136 -0
  53. package/dist/color-picker.cjs.js +803 -0
  54. package/dist/color-picker.esm.js +1809 -0
  55. package/dist/combobox.cjs.js +525 -0
  56. package/dist/combobox.esm.js +1023 -0
  57. package/dist/command-palette.cjs.js +67 -0
  58. package/dist/command-palette.esm.js +181 -0
  59. package/dist/command.cjs.js +130 -0
  60. package/dist/command.esm.js +307 -0
  61. package/dist/components/date-time-utils.d.ts.map +1 -1
  62. package/dist/components/ui-anchor.d.ts +7 -0
  63. package/dist/components/ui-anchor.d.ts.map +1 -1
  64. package/dist/components/ui-data-table.d.ts.map +1 -1
  65. package/dist/components/ui-date-picker.d.ts.map +1 -1
  66. package/dist/components/ui-date-range-picker.d.ts.map +1 -1
  67. package/dist/components/ui-date-time-picker.d.ts.map +1 -1
  68. package/dist/components/ui-drawer.d.ts.map +1 -1
  69. package/dist/components/ui-form.d.ts +0 -1
  70. package/dist/components/ui-form.d.ts.map +1 -1
  71. package/dist/components/ui-listbox.d.ts +3 -0
  72. package/dist/components/ui-listbox.d.ts.map +1 -1
  73. package/dist/components/ui-number-ticker.d.ts.map +1 -1
  74. package/dist/components/ui-portal.d.ts +1 -0
  75. package/dist/components/ui-portal.d.ts.map +1 -1
  76. package/dist/components/ui-sidebar.d.ts.map +1 -1
  77. package/dist/components/ui-sortable.d.ts +192 -0
  78. package/dist/components/ui-sortable.d.ts.map +1 -0
  79. package/dist/components/ui-tooltip.d.ts.map +1 -1
  80. package/dist/components/ui-transfer-list.d.ts +5 -0
  81. package/dist/components/ui-transfer-list.d.ts.map +1 -1
  82. package/dist/container.cjs.js +115 -0
  83. package/dist/container.esm.js +156 -0
  84. package/dist/context-menu.cjs.js +357 -0
  85. package/dist/context-menu.esm.js +1204 -0
  86. package/dist/control-group.cjs.js +80 -0
  87. package/dist/control-group.esm.js +110 -0
  88. package/dist/data-table.cjs.js +682 -0
  89. package/dist/data-table.esm.js +1660 -0
  90. package/dist/date-field.cjs.js +142 -0
  91. package/dist/date-field.esm.js +384 -0
  92. package/dist/date-picker.cjs.js +570 -0
  93. package/dist/date-picker.esm.js +1067 -0
  94. package/dist/date-range-picker.cjs.js +455 -0
  95. package/dist/date-range-picker.esm.js +973 -0
  96. package/dist/date-range-time-picker.cjs.js +573 -0
  97. package/dist/date-range-time-picker.esm.js +1137 -0
  98. package/dist/date-time-picker.cjs.js +495 -0
  99. package/dist/date-time-picker.esm.js +1062 -0
  100. package/dist/date-time-utils-5cf58cd0.js +1 -0
  101. package/dist/date-time-utils-bdceb7af.mjs +273 -0
  102. package/dist/description.cjs.js +85 -0
  103. package/dist/description.esm.js +136 -0
  104. package/dist/dialog.cjs.js +406 -0
  105. package/dist/dialog.esm.js +822 -0
  106. package/dist/direction-provider.cjs.js +30 -0
  107. package/dist/direction-provider.esm.js +74 -0
  108. package/dist/dismissable-layer-193e3bed.js +1 -0
  109. package/dist/dismissable-layer-9c7e6b58.mjs +112 -0
  110. package/dist/dismissable-layer.cjs.js +6 -0
  111. package/dist/dismissable-layer.esm.js +115 -0
  112. package/dist/dock.cjs.js +347 -0
  113. package/dist/dock.esm.js +826 -0
  114. package/dist/drawer.cjs.js +538 -0
  115. package/dist/drawer.esm.js +872 -0
  116. package/dist/dropdown.cjs.js +511 -0
  117. package/dist/dropdown.esm.js +1084 -0
  118. package/dist/dropzone.cjs.js +1 -0
  119. package/dist/dropzone.esm.js +11 -0
  120. package/dist/empty-state.cjs.js +169 -0
  121. package/dist/empty-state.esm.js +199 -0
  122. package/dist/field-error.cjs.js +74 -0
  123. package/dist/field-error.esm.js +125 -0
  124. package/dist/field.cjs.js +398 -0
  125. package/dist/field.esm.js +542 -0
  126. package/dist/fieldset.cjs.js +214 -0
  127. package/dist/fieldset.esm.js +298 -0
  128. package/dist/file-upload.cjs.js +353 -0
  129. package/dist/file-upload.esm.js +740 -0
  130. package/dist/flex.cjs.js +54 -0
  131. package/dist/flex.esm.js +168 -0
  132. package/dist/floating-toolbar.cjs.js +223 -0
  133. package/dist/floating-toolbar.esm.js +513 -0
  134. package/dist/focus-scope-103833ee.mjs +147 -0
  135. package/dist/focus-scope-2b12b4e7.js +1 -0
  136. package/dist/focus-scope.cjs.js +6 -0
  137. package/dist/focus-scope.esm.js +97 -0
  138. package/dist/form.cjs.js +377 -0
  139. package/dist/form.esm.js +862 -0
  140. package/dist/gantt.cjs.js +157 -0
  141. package/dist/gantt.esm.js +214 -0
  142. package/dist/grid.cjs.js +67 -0
  143. package/dist/grid.esm.js +211 -0
  144. package/dist/hover-card.cjs.js +284 -0
  145. package/dist/hover-card.esm.js +470 -0
  146. package/dist/icon-9ed13093.mjs +364 -0
  147. package/dist/icon-cloud.cjs.js +495 -0
  148. package/dist/icon-cloud.esm.js +828 -0
  149. package/dist/icon-eaa486b3.js +207 -0
  150. package/dist/icon.cjs.js +1 -0
  151. package/dist/icon.esm.js +6 -0
  152. package/dist/index.cjs.js +1 -35924
  153. package/dist/index.d.ts +3 -0
  154. package/dist/index.d.ts.map +1 -1
  155. package/dist/index.esm.js +440 -68558
  156. package/dist/inline-edit.cjs.js +118 -0
  157. package/dist/inline-edit.esm.js +206 -0
  158. package/dist/input.cjs.js +535 -0
  159. package/dist/input.esm.js +790 -0
  160. package/dist/label.cjs.js +195 -0
  161. package/dist/label.esm.js +301 -0
  162. package/dist/layout.cjs.js +266 -0
  163. package/dist/layout.esm.js +408 -0
  164. package/dist/listbox-308789a0.mjs +210 -0
  165. package/dist/listbox-ef2f708e.js +46 -0
  166. package/dist/listbox.cjs.js +1 -0
  167. package/dist/listbox.esm.js +6 -0
  168. package/dist/marquee.cjs.js +513 -0
  169. package/dist/marquee.esm.js +767 -0
  170. package/dist/masonry-grid.cjs.js +65 -0
  171. package/dist/masonry-grid.esm.js +180 -0
  172. package/dist/menu-item-styles-27fdbac4.mjs +181 -0
  173. package/dist/menu-item-styles-83ad1e22.js +152 -0
  174. package/dist/menu.cjs.js +275 -0
  175. package/dist/menu.esm.js +743 -0
  176. package/dist/menubar.cjs.js +455 -0
  177. package/dist/menubar.esm.js +1195 -0
  178. package/dist/meter.cjs.js +241 -0
  179. package/dist/meter.esm.js +334 -0
  180. package/dist/multi-select.cjs.js +549 -0
  181. package/dist/multi-select.esm.js +914 -0
  182. package/dist/navigation-menu.cjs.js +382 -0
  183. package/dist/navigation-menu.esm.js +614 -0
  184. package/dist/number-field.cjs.js +351 -0
  185. package/dist/number-field.esm.js +771 -0
  186. package/dist/number-ticker.cjs.js +209 -0
  187. package/dist/number-ticker.esm.js +749 -0
  188. package/dist/odometer.cjs.js +313 -0
  189. package/dist/odometer.esm.js +565 -0
  190. package/dist/orbiter.cjs.js +495 -0
  191. package/dist/orbiter.esm.js +831 -0
  192. package/dist/overlayManager-86454af7.mjs +58 -0
  193. package/dist/overlayManager-ece06517.js +1 -0
  194. package/dist/pagination.cjs.js +201 -0
  195. package/dist/pagination.esm.js +297 -0
  196. package/dist/panel-group-40254cdd.js +36 -0
  197. package/dist/panel-group-a376cc5e.mjs +326 -0
  198. package/dist/panel-group.cjs.js +1 -0
  199. package/dist/panel-group.esm.js +7 -0
  200. package/dist/panel.cjs.js +22 -0
  201. package/dist/panel.esm.js +46 -0
  202. package/dist/password-field.cjs.js +626 -0
  203. package/dist/password-field.esm.js +925 -0
  204. package/dist/pin-input.cjs.js +185 -0
  205. package/dist/pin-input.esm.js +412 -0
  206. package/dist/placement-grid.cjs.js +99 -0
  207. package/dist/placement-grid.esm.js +486 -0
  208. package/dist/plugin-panel.cjs.js +131 -0
  209. package/dist/plugin-panel.esm.js +173 -0
  210. package/dist/popover.cjs.js +286 -0
  211. package/dist/popover.esm.js +483 -0
  212. package/dist/portal-1cf392ca.mjs +114 -0
  213. package/dist/portal-d8d7fbca.js +1 -0
  214. package/dist/portal.cjs.js +39 -0
  215. package/dist/portal.d.ts.map +1 -1
  216. package/dist/portal.esm.js +187 -0
  217. package/dist/positioner-accc6e5f.js +1 -0
  218. package/dist/positioner-fbd61bf1.mjs +132 -0
  219. package/dist/positioner.cjs.js +6 -0
  220. package/dist/positioner.esm.js +137 -0
  221. package/dist/presence.cjs.js +164 -0
  222. package/dist/presence.esm.js +301 -0
  223. package/dist/progress.cjs.js +329 -0
  224. package/dist/progress.esm.js +453 -0
  225. package/dist/quick-actions.cjs.js +202 -0
  226. package/dist/quick-actions.esm.js +357 -0
  227. package/dist/radio-group.cjs.js +257 -0
  228. package/dist/radio-group.esm.js +477 -0
  229. package/dist/rating.cjs.js +355 -0
  230. package/dist/rating.esm.js +637 -0
  231. package/dist/roving-focus-group-4350c9a7.mjs +50 -0
  232. package/dist/roving-focus-group-5c059bf9.js +1 -0
  233. package/dist/roving-focus-group.cjs.js +1 -0
  234. package/dist/roving-focus-group.esm.js +72 -0
  235. package/dist/runtime-4ac0107b.mjs +1954 -0
  236. package/dist/runtime-5f282bc8.js +1 -0
  237. package/dist/runtime.cjs.js +1 -0
  238. package/dist/runtime.d.ts +9 -0
  239. package/dist/runtime.d.ts.map +1 -0
  240. package/dist/runtime.esm.js +26 -0
  241. package/dist/scroll-area.cjs.js +294 -0
  242. package/dist/scroll-area.esm.js +478 -0
  243. package/dist/scroll-lock-48793569.js +1 -0
  244. package/dist/scroll-lock-9de6d328.mjs +53 -0
  245. package/dist/section.cjs.js +167 -0
  246. package/dist/section.esm.js +202 -0
  247. package/dist/select.cjs.js +799 -0
  248. package/dist/select.esm.js +1266 -0
  249. package/dist/selection-popup.cjs.js +203 -0
  250. package/dist/selection-popup.esm.js +392 -0
  251. package/dist/separator.cjs.js +221 -0
  252. package/dist/separator.esm.js +241 -0
  253. package/dist/sidebar.cjs.js +769 -0
  254. package/dist/sidebar.esm.js +1219 -0
  255. package/dist/skeleton.cjs.js +205 -0
  256. package/dist/skeleton.esm.js +249 -0
  257. package/dist/slider.cjs.js +493 -0
  258. package/dist/slider.esm.js +694 -0
  259. package/dist/slot.cjs.js +159 -0
  260. package/dist/slot.esm.js +227 -0
  261. package/dist/sortable.cjs.js +855 -0
  262. package/dist/sortable.d.ts +4 -0
  263. package/dist/sortable.d.ts.map +1 -0
  264. package/dist/sortable.esm.js +2178 -0
  265. package/dist/spinning-text.cjs.js +395 -0
  266. package/dist/spinning-text.esm.js +635 -0
  267. package/dist/split-button.cjs.js +410 -0
  268. package/dist/split-button.esm.js +619 -0
  269. package/dist/splitter.cjs.js +70 -0
  270. package/dist/splitter.esm.js +105 -0
  271. package/dist/standalone/accordion.d.ts +2 -0
  272. package/dist/standalone/accordion.d.ts.map +1 -0
  273. package/dist/standalone/alert-dialog.d.ts +2 -0
  274. package/dist/standalone/alert-dialog.d.ts.map +1 -0
  275. package/dist/standalone/alert.d.ts +2 -0
  276. package/dist/standalone/alert.d.ts.map +1 -0
  277. package/dist/standalone/anchor.d.ts +2 -0
  278. package/dist/standalone/anchor.d.ts.map +1 -0
  279. package/dist/standalone/animated-beam.d.ts +2 -0
  280. package/dist/standalone/animated-beam.d.ts.map +1 -0
  281. package/dist/standalone/animated-list.d.ts +2 -0
  282. package/dist/standalone/animated-list.d.ts.map +1 -0
  283. package/dist/standalone/animated-text.d.ts +2 -0
  284. package/dist/standalone/animated-text.d.ts.map +1 -0
  285. package/dist/standalone/app-header.d.ts +2 -0
  286. package/dist/standalone/app-header.d.ts.map +1 -0
  287. package/dist/standalone/aspect-ratio.d.ts +2 -0
  288. package/dist/standalone/aspect-ratio.d.ts.map +1 -0
  289. package/dist/standalone/avatar.d.ts +2 -0
  290. package/dist/standalone/avatar.d.ts.map +1 -0
  291. package/dist/standalone/badge.d.ts +2 -0
  292. package/dist/standalone/badge.d.ts.map +1 -0
  293. package/dist/standalone/block-controls.d.ts +2 -0
  294. package/dist/standalone/block-controls.d.ts.map +1 -0
  295. package/dist/standalone/box.d.ts +2 -0
  296. package/dist/standalone/box.d.ts.map +1 -0
  297. package/dist/standalone/breadcrumb.d.ts +2 -0
  298. package/dist/standalone/breadcrumb.d.ts.map +1 -0
  299. package/dist/standalone/button.d.ts +2 -0
  300. package/dist/standalone/button.d.ts.map +1 -0
  301. package/dist/standalone/calendar.d.ts +2 -0
  302. package/dist/standalone/calendar.d.ts.map +1 -0
  303. package/dist/standalone/card.d.ts +2 -0
  304. package/dist/standalone/card.d.ts.map +1 -0
  305. package/dist/standalone/chart.d.ts +2 -0
  306. package/dist/standalone/chart.d.ts.map +1 -0
  307. package/dist/standalone/checkbox.d.ts +2 -0
  308. package/dist/standalone/checkbox.d.ts.map +1 -0
  309. package/dist/standalone/collapsible.d.ts +2 -0
  310. package/dist/standalone/collapsible.d.ts.map +1 -0
  311. package/dist/standalone/collection.d.ts +2 -0
  312. package/dist/standalone/collection.d.ts.map +1 -0
  313. package/dist/standalone/color-picker.d.ts +2 -0
  314. package/dist/standalone/color-picker.d.ts.map +1 -0
  315. package/dist/standalone/combobox.d.ts +2 -0
  316. package/dist/standalone/combobox.d.ts.map +1 -0
  317. package/dist/standalone/command-palette.d.ts +2 -0
  318. package/dist/standalone/command-palette.d.ts.map +1 -0
  319. package/dist/standalone/command.d.ts +2 -0
  320. package/dist/standalone/command.d.ts.map +1 -0
  321. package/dist/standalone/container.d.ts +2 -0
  322. package/dist/standalone/container.d.ts.map +1 -0
  323. package/dist/standalone/context-menu.d.ts +2 -0
  324. package/dist/standalone/context-menu.d.ts.map +1 -0
  325. package/dist/standalone/control-group.d.ts +2 -0
  326. package/dist/standalone/control-group.d.ts.map +1 -0
  327. package/dist/standalone/data-table.d.ts +2 -0
  328. package/dist/standalone/data-table.d.ts.map +1 -0
  329. package/dist/standalone/date-field.d.ts +2 -0
  330. package/dist/standalone/date-field.d.ts.map +1 -0
  331. package/dist/standalone/date-picker.d.ts +2 -0
  332. package/dist/standalone/date-picker.d.ts.map +1 -0
  333. package/dist/standalone/date-range-picker.d.ts +2 -0
  334. package/dist/standalone/date-range-picker.d.ts.map +1 -0
  335. package/dist/standalone/date-range-time-picker.d.ts +2 -0
  336. package/dist/standalone/date-range-time-picker.d.ts.map +1 -0
  337. package/dist/standalone/date-time-picker.d.ts +2 -0
  338. package/dist/standalone/date-time-picker.d.ts.map +1 -0
  339. package/dist/standalone/description.d.ts +2 -0
  340. package/dist/standalone/description.d.ts.map +1 -0
  341. package/dist/standalone/dialog.d.ts +2 -0
  342. package/dist/standalone/dialog.d.ts.map +1 -0
  343. package/dist/standalone/direction-provider.d.ts +2 -0
  344. package/dist/standalone/direction-provider.d.ts.map +1 -0
  345. package/dist/standalone/dismissable-layer.d.ts +2 -0
  346. package/dist/standalone/dismissable-layer.d.ts.map +1 -0
  347. package/dist/standalone/dock.d.ts +2 -0
  348. package/dist/standalone/dock.d.ts.map +1 -0
  349. package/dist/standalone/drawer.d.ts +2 -0
  350. package/dist/standalone/drawer.d.ts.map +1 -0
  351. package/dist/standalone/dropdown.d.ts +2 -0
  352. package/dist/standalone/dropdown.d.ts.map +1 -0
  353. package/dist/standalone/dropzone.d.ts +2 -0
  354. package/dist/standalone/dropzone.d.ts.map +1 -0
  355. package/dist/standalone/empty-state.d.ts +2 -0
  356. package/dist/standalone/empty-state.d.ts.map +1 -0
  357. package/dist/standalone/field-error.d.ts +2 -0
  358. package/dist/standalone/field-error.d.ts.map +1 -0
  359. package/dist/standalone/field.d.ts +2 -0
  360. package/dist/standalone/field.d.ts.map +1 -0
  361. package/dist/standalone/fieldset.d.ts +2 -0
  362. package/dist/standalone/fieldset.d.ts.map +1 -0
  363. package/dist/standalone/file-upload.d.ts +2 -0
  364. package/dist/standalone/file-upload.d.ts.map +1 -0
  365. package/dist/standalone/flex.d.ts +2 -0
  366. package/dist/standalone/flex.d.ts.map +1 -0
  367. package/dist/standalone/floating-toolbar.d.ts +2 -0
  368. package/dist/standalone/floating-toolbar.d.ts.map +1 -0
  369. package/dist/standalone/focus-scope.d.ts +2 -0
  370. package/dist/standalone/focus-scope.d.ts.map +1 -0
  371. package/dist/standalone/form.d.ts +2 -0
  372. package/dist/standalone/form.d.ts.map +1 -0
  373. package/dist/standalone/gantt.d.ts +2 -0
  374. package/dist/standalone/gantt.d.ts.map +1 -0
  375. package/dist/standalone/grid.d.ts +2 -0
  376. package/dist/standalone/grid.d.ts.map +1 -0
  377. package/dist/standalone/hover-card.d.ts +2 -0
  378. package/dist/standalone/hover-card.d.ts.map +1 -0
  379. package/dist/standalone/icon-cloud.d.ts +2 -0
  380. package/dist/standalone/icon-cloud.d.ts.map +1 -0
  381. package/dist/standalone/icon.d.ts +2 -0
  382. package/dist/standalone/icon.d.ts.map +1 -0
  383. package/dist/standalone/inline-edit.d.ts +2 -0
  384. package/dist/standalone/inline-edit.d.ts.map +1 -0
  385. package/dist/standalone/input.d.ts +2 -0
  386. package/dist/standalone/input.d.ts.map +1 -0
  387. package/dist/standalone/label.d.ts +2 -0
  388. package/dist/standalone/label.d.ts.map +1 -0
  389. package/dist/standalone/layout.d.ts +2 -0
  390. package/dist/standalone/layout.d.ts.map +1 -0
  391. package/dist/standalone/listbox.d.ts +2 -0
  392. package/dist/standalone/listbox.d.ts.map +1 -0
  393. package/dist/standalone/marquee.d.ts +2 -0
  394. package/dist/standalone/marquee.d.ts.map +1 -0
  395. package/dist/standalone/masonry-grid.d.ts +2 -0
  396. package/dist/standalone/masonry-grid.d.ts.map +1 -0
  397. package/dist/standalone/menu.d.ts +2 -0
  398. package/dist/standalone/menu.d.ts.map +1 -0
  399. package/dist/standalone/menubar.d.ts +2 -0
  400. package/dist/standalone/menubar.d.ts.map +1 -0
  401. package/dist/standalone/meter.d.ts +2 -0
  402. package/dist/standalone/meter.d.ts.map +1 -0
  403. package/dist/standalone/multi-select.d.ts +2 -0
  404. package/dist/standalone/multi-select.d.ts.map +1 -0
  405. package/dist/standalone/navigation-menu.d.ts +2 -0
  406. package/dist/standalone/navigation-menu.d.ts.map +1 -0
  407. package/dist/standalone/number-field.d.ts +2 -0
  408. package/dist/standalone/number-field.d.ts.map +1 -0
  409. package/dist/standalone/number-ticker.d.ts +2 -0
  410. package/dist/standalone/number-ticker.d.ts.map +1 -0
  411. package/dist/standalone/odometer.d.ts +2 -0
  412. package/dist/standalone/odometer.d.ts.map +1 -0
  413. package/dist/standalone/orbiter.d.ts +2 -0
  414. package/dist/standalone/orbiter.d.ts.map +1 -0
  415. package/dist/standalone/pagination.d.ts +2 -0
  416. package/dist/standalone/pagination.d.ts.map +1 -0
  417. package/dist/standalone/panel-group.d.ts +2 -0
  418. package/dist/standalone/panel-group.d.ts.map +1 -0
  419. package/dist/standalone/panel.d.ts +2 -0
  420. package/dist/standalone/panel.d.ts.map +1 -0
  421. package/dist/standalone/password-field.d.ts +2 -0
  422. package/dist/standalone/password-field.d.ts.map +1 -0
  423. package/dist/standalone/pin-input.d.ts +2 -0
  424. package/dist/standalone/pin-input.d.ts.map +1 -0
  425. package/dist/standalone/placement-grid.d.ts +2 -0
  426. package/dist/standalone/placement-grid.d.ts.map +1 -0
  427. package/dist/standalone/plugin-panel.d.ts +2 -0
  428. package/dist/standalone/plugin-panel.d.ts.map +1 -0
  429. package/dist/standalone/popover.d.ts +2 -0
  430. package/dist/standalone/popover.d.ts.map +1 -0
  431. package/dist/standalone/portal.d.ts +2 -0
  432. package/dist/standalone/portal.d.ts.map +1 -0
  433. package/dist/standalone/positioner.d.ts +2 -0
  434. package/dist/standalone/positioner.d.ts.map +1 -0
  435. package/dist/standalone/presence.d.ts +2 -0
  436. package/dist/standalone/presence.d.ts.map +1 -0
  437. package/dist/standalone/progress.d.ts +2 -0
  438. package/dist/standalone/progress.d.ts.map +1 -0
  439. package/dist/standalone/quick-actions.d.ts +2 -0
  440. package/dist/standalone/quick-actions.d.ts.map +1 -0
  441. package/dist/standalone/radio-group.d.ts +2 -0
  442. package/dist/standalone/radio-group.d.ts.map +1 -0
  443. package/dist/standalone/rating.d.ts +2 -0
  444. package/dist/standalone/rating.d.ts.map +1 -0
  445. package/dist/standalone/roving-focus-group.d.ts +2 -0
  446. package/dist/standalone/roving-focus-group.d.ts.map +1 -0
  447. package/dist/standalone/scroll-area.d.ts +2 -0
  448. package/dist/standalone/scroll-area.d.ts.map +1 -0
  449. package/dist/standalone/section.d.ts +2 -0
  450. package/dist/standalone/section.d.ts.map +1 -0
  451. package/dist/standalone/select.d.ts +2 -0
  452. package/dist/standalone/select.d.ts.map +1 -0
  453. package/dist/standalone/selection-popup.d.ts +2 -0
  454. package/dist/standalone/selection-popup.d.ts.map +1 -0
  455. package/dist/standalone/separator.d.ts +2 -0
  456. package/dist/standalone/separator.d.ts.map +1 -0
  457. package/dist/standalone/sidebar.d.ts +2 -0
  458. package/dist/standalone/sidebar.d.ts.map +1 -0
  459. package/dist/standalone/skeleton.d.ts +2 -0
  460. package/dist/standalone/skeleton.d.ts.map +1 -0
  461. package/dist/standalone/slider.d.ts +2 -0
  462. package/dist/standalone/slider.d.ts.map +1 -0
  463. package/dist/standalone/slot.d.ts +2 -0
  464. package/dist/standalone/slot.d.ts.map +1 -0
  465. package/dist/standalone/spinning-text.d.ts +2 -0
  466. package/dist/standalone/spinning-text.d.ts.map +1 -0
  467. package/dist/standalone/split-button.d.ts +2 -0
  468. package/dist/standalone/split-button.d.ts.map +1 -0
  469. package/dist/standalone/splitter.d.ts +2 -0
  470. package/dist/standalone/splitter.d.ts.map +1 -0
  471. package/dist/standalone/stepper.d.ts +2 -0
  472. package/dist/standalone/stepper.d.ts.map +1 -0
  473. package/dist/standalone/switch.d.ts +2 -0
  474. package/dist/standalone/switch.d.ts.map +1 -0
  475. package/dist/standalone/table.d.ts +2 -0
  476. package/dist/standalone/table.d.ts.map +1 -0
  477. package/dist/standalone/tabs.d.ts +2 -0
  478. package/dist/standalone/tabs.d.ts.map +1 -0
  479. package/dist/standalone/tags-input.d.ts +2 -0
  480. package/dist/standalone/tags-input.d.ts.map +1 -0
  481. package/dist/standalone/textarea.d.ts +2 -0
  482. package/dist/standalone/textarea.d.ts.map +1 -0
  483. package/dist/standalone/time-field.d.ts +2 -0
  484. package/dist/standalone/time-field.d.ts.map +1 -0
  485. package/dist/standalone/time-picker.d.ts +2 -0
  486. package/dist/standalone/time-picker.d.ts.map +1 -0
  487. package/dist/standalone/timeline.d.ts +2 -0
  488. package/dist/standalone/timeline.d.ts.map +1 -0
  489. package/dist/standalone/toast.d.ts +2 -0
  490. package/dist/standalone/toast.d.ts.map +1 -0
  491. package/dist/standalone/toggle-group.d.ts +2 -0
  492. package/dist/standalone/toggle-group.d.ts.map +1 -0
  493. package/dist/standalone/toggle.d.ts +2 -0
  494. package/dist/standalone/toggle.d.ts.map +1 -0
  495. package/dist/standalone/toolbar.d.ts +2 -0
  496. package/dist/standalone/toolbar.d.ts.map +1 -0
  497. package/dist/standalone/tooltip.d.ts +2 -0
  498. package/dist/standalone/tooltip.d.ts.map +1 -0
  499. package/dist/standalone/transfer-list.d.ts +2 -0
  500. package/dist/standalone/transfer-list.d.ts.map +1 -0
  501. package/dist/standalone/tree-item.d.ts +2 -0
  502. package/dist/standalone/tree-item.d.ts.map +1 -0
  503. package/dist/standalone/tree.d.ts +2 -0
  504. package/dist/standalone/tree.d.ts.map +1 -0
  505. package/dist/standalone/visually-hidden.d.ts +2 -0
  506. package/dist/standalone/visually-hidden.d.ts.map +1 -0
  507. package/dist/standalone/wizard.d.ts +2 -0
  508. package/dist/standalone/wizard.d.ts.map +1 -0
  509. package/dist/stepper.cjs.js +337 -0
  510. package/dist/stepper.esm.js +578 -0
  511. package/dist/switch.cjs.js +397 -0
  512. package/dist/switch.esm.js +543 -0
  513. package/dist/table.cjs.js +212 -0
  514. package/dist/table.esm.js +432 -0
  515. package/dist/tabs.cjs.js +515 -0
  516. package/dist/tabs.esm.js +808 -0
  517. package/dist/tags-input.cjs.js +202 -0
  518. package/dist/tags-input.esm.js +436 -0
  519. package/dist/textarea.cjs.js +329 -0
  520. package/dist/textarea.esm.js +520 -0
  521. package/dist/theme.d.ts +1 -1
  522. package/dist/theme.d.ts.map +1 -1
  523. package/dist/time-field.cjs.js +142 -0
  524. package/dist/time-field.esm.js +387 -0
  525. package/dist/time-picker.cjs.js +284 -0
  526. package/dist/time-picker.esm.js +686 -0
  527. package/dist/timeline.cjs.js +198 -0
  528. package/dist/timeline.esm.js +248 -0
  529. package/dist/toast.cjs.js +234 -0
  530. package/dist/toast.esm.js +399 -0
  531. package/dist/toggle-group.cjs.js +131 -0
  532. package/dist/toggle-group.esm.js +382 -0
  533. package/dist/toggle.cjs.js +237 -0
  534. package/dist/toggle.esm.js +346 -0
  535. package/dist/toolbar.cjs.js +126 -0
  536. package/dist/toolbar.esm.js +240 -0
  537. package/dist/tooltip.cjs.js +159 -0
  538. package/dist/tooltip.esm.js +376 -0
  539. package/dist/transfer-list.cjs.js +734 -0
  540. package/dist/transfer-list.esm.js +969 -0
  541. package/dist/tree-0a7a8d05.js +39 -0
  542. package/dist/tree-dcd74a4a.mjs +294 -0
  543. package/dist/tree-item.cjs.js +103 -0
  544. package/dist/tree-item.esm.js +143 -0
  545. package/dist/tree.cjs.js +1 -0
  546. package/dist/tree.esm.js +7 -0
  547. package/dist/visually-hidden.cjs.js +42 -0
  548. package/dist/visually-hidden.esm.js +68 -0
  549. package/dist/wizard.cjs.js +677 -0
  550. package/dist/wizard.esm.js +1068 -0
  551. package/package.json +20 -1
@@ -0,0 +1,741 @@
1
+ "use strict";const Ee=require("./ElementBase-1b301e7f.js"),Oe={calendarLabel:"Calendar",today:"Today",clear:"Clear",apply:"Apply",cancel:"Cancel",now:"Now",previousMonth:"Previous month",nextMonth:"Next month",chooseMonthYear:"Choose month and year",previousYear:"Previous year",nextYear:"Next year",syncingSchedule:"Syncing schedule...",unableToSyncEvents:"Unable to sync events",scheduleSynced:"Schedule synced",event:"Event",selectDate:"Select date",selectDateRange:"Select date range",startDate:"Start date",endDate:"End date",startEnd:"Start — End",toggleCalendar:"Toggle calendar",clearDate:"Clear date",clearDateRange:"Clear date range",invalidDate:"Invalid date",dateOutOfRange:"Date is outside the allowed range",invalidRange:"Invalid range",invalidTime:"Invalid time",invalidDateTime:"Invalid date-time",invalidRangeOrder:"Invalid range order",rangeIncomplete:"Range is incomplete",last7Days:"Last 7 days",thisMonth:"This month",hour:"Hour",minute:"Minute",second:"Second",meridiem:"Meridiem",am:"AM",pm:"PM",startTime:"Start time",endTime:"End time",datePickerPanel:"Date picker panel",timePlaceholder:"HH:mm",timePlaceholderSeconds:"HH:mm:ss",dateTimePlaceholder:"YYYY-MM-DD HH:mm",dateRangeTimePlaceholder:"Start — End"},Pe={calendarLabel:"日历",today:"今天",clear:"清除",apply:"应用",cancel:"取消",now:"现在",previousMonth:"上个月",nextMonth:"下个月",chooseMonthYear:"选择月份和年份",previousYear:"上一年",nextYear:"下一年",syncingSchedule:"正在同步日程...",unableToSyncEvents:"无法同步事件",scheduleSynced:"日程已同步",event:"事件",selectDate:"选择日期",selectDateRange:"选择日期范围",startDate:"开始日期",endDate:"结束日期",startEnd:"开始 — 结束",toggleCalendar:"切换日历",clearDate:"清除日期",clearDateRange:"清除日期范围",invalidDate:"日期无效",dateOutOfRange:"日期超出允许范围",invalidRange:"范围无效",invalidTime:"时间无效",invalidDateTime:"日期时间无效",invalidRangeOrder:"范围顺序无效",rangeIncomplete:"范围不完整",last7Days:"最近7天",thisMonth:"本月",hour:"小时",minute:"分钟",second:"秒",meridiem:"上午/下午",am:"上午",pm:"下午",startTime:"开始时间",endTime:"结束时间",datePickerPanel:"日期选择面板",timePlaceholder:"HH:mm",timePlaceholderSeconds:"HH:mm:ss",dateTimePlaceholder:"YYYY-MM-DD HH:mm",dateRangeTimePlaceholder:"开始 — 结束"},Le={calendarLabel:"Calendrier",today:"Aujourd'hui",clear:"Effacer",apply:"Appliquer",cancel:"Annuler",now:"Maintenant",previousMonth:"Mois precedent",nextMonth:"Mois suivant",chooseMonthYear:"Choisir le mois et l annee",previousYear:"Annee precedente",nextYear:"Annee suivante",syncingSchedule:"Synchronisation du planning...",unableToSyncEvents:"Impossible de synchroniser les evenements",scheduleSynced:"Planning synchronise",event:"Evenement",selectDate:"Selectionner une date",selectDateRange:"Selectionner une periode",startDate:"Date de debut",endDate:"Date de fin",startEnd:"Debut — Fin",toggleCalendar:"Afficher le calendrier",clearDate:"Effacer la date",clearDateRange:"Effacer la periode",invalidDate:"Date invalide",dateOutOfRange:"La date est hors de la plage autorisee",invalidRange:"Periode invalide",invalidTime:"Heure invalide",invalidDateTime:"Date/heure invalide",invalidRangeOrder:"Ordre de periode invalide",rangeIncomplete:"Periode incomplete",last7Days:"7 derniers jours",thisMonth:"Ce mois-ci",hour:"Heure",minute:"Minute",second:"Seconde",meridiem:"AM/PM",am:"AM",pm:"PM",startTime:"Heure de debut",endTime:"Heure de fin",datePickerPanel:"Panneau de selection de date",timePlaceholder:"HH:mm",timePlaceholderSeconds:"HH:mm:ss",dateTimePlaceholder:"YYYY-MM-DD HH:mm",dateRangeTimePlaceholder:"Debut — Fin"},Be={en:Oe,zh:Pe,fr:Le},de=new Map;function Fe(r){return r.trim().toLowerCase().replace(/_/g,"-")}function He(r){const e=r||(typeof navigator<"u"&&navigator.language?navigator.language:"en"),t=Fe(e||"");return t==="zh"||t.startsWith("zh-")||t==="cn"||t==="chinese"||t==="zh-cn"||t==="zh-hans"||t==="zh-hant"?"zh":t==="fr"||t.startsWith("fr-")||t==="french"?"fr":"en"}function le(r){if(!r||typeof r!="object"||Array.isArray(r))return{};const e={};return Object.entries(r).forEach(([t,a])=>{typeof a=="string"&&(e[t]=a)}),e}function Ue(r,e){if(!r)return{};try{const t=JSON.parse(r);if(!t||typeof t!="object"||Array.isArray(t))return{};const a=le(t),n=le(t[e]);return{...a,...n}}catch{return{}}}function ge(r,e){const t=He(r),a=`${t}::${e||""}`,n=de.get(a);if(n)return n;const i=Be[t],s=Ue(e,t),o={...i,...s};return de.set(a,o),o}const Ne=`
2
+ :host {
3
+ --ui-calendar-bg: color-mix(in srgb, var(--ui-color-surface, #ffffff) 95%, transparent);
4
+ --ui-calendar-border: color-mix(in srgb, var(--ui-color-border, #cbd5e1) 74%, transparent);
5
+ --ui-calendar-text: var(--ui-color-text, #0f172a);
6
+ --ui-calendar-muted: var(--ui-color-muted, #64748b);
7
+ --ui-calendar-accent: var(--ui-color-primary, #2563eb);
8
+
9
+ --ui-calendar-radius: 14px;
10
+ --ui-calendar-shadow: none;
11
+ --ui-calendar-gap: 10px;
12
+ --ui-calendar-day-radius: 10px;
13
+ --ui-calendar-day-hover-bg: color-mix(in srgb, var(--ui-calendar-accent) 10%, transparent);
14
+ --ui-calendar-selected-bg: color-mix(in srgb, var(--ui-calendar-accent) 14%, transparent);
15
+ --ui-calendar-selected-border: color-mix(in srgb, var(--ui-calendar-accent) 44%, transparent);
16
+ --ui-calendar-today-ring: color-mix(in srgb, var(--ui-calendar-accent) 56%, transparent);
17
+ --ui-calendar-range-bg: color-mix(in srgb, var(--ui-calendar-accent) 9%, transparent);
18
+ --ui-calendar-range-edge: color-mix(in srgb, var(--ui-calendar-accent) 20%, transparent);
19
+ --ui-calendar-disabled-opacity: 0.45;
20
+
21
+ --ui-calendar-day-height: 52px;
22
+ --ui-calendar-day-font-size: 12px;
23
+ --ui-calendar-weekday-font-size: 11px;
24
+ --ui-calendar-title-font-size: 14px;
25
+ --ui-calendar-day-padding-block: 6px;
26
+ --ui-calendar-day-padding-inline: 6px;
27
+ --ui-calendar-frame-padding: 12px;
28
+ --ui-calendar-week-gap: 6px;
29
+ --ui-calendar-control-height: 30px;
30
+
31
+ display: block;
32
+ min-inline-size: 280px;
33
+ max-inline-size: 100%;
34
+ color-scheme: light dark;
35
+ font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
36
+ }
37
+
38
+ :host([tone="neutral"]) {
39
+ --ui-calendar-accent: color-mix(in srgb, var(--ui-color-muted, #64748b) 76%, var(--ui-color-text, #0f172a) 24%);
40
+ }
41
+
42
+ :host([tone="info"]) {
43
+ --ui-calendar-accent: var(--ui-color-primary, #2563eb);
44
+ }
45
+
46
+ :host([tone="success"]) {
47
+ --ui-calendar-accent: var(--ui-color-success, #16a34a);
48
+ }
49
+
50
+ :host([tone="warning"]) {
51
+ --ui-calendar-accent: var(--ui-color-warning, #d97706);
52
+ }
53
+
54
+ :host([tone="danger"]) {
55
+ --ui-calendar-accent: var(--ui-color-danger, #dc2626);
56
+ }
57
+
58
+ :host([state="error"]) {
59
+ --ui-calendar-accent: var(--ui-color-danger, #dc2626);
60
+ }
61
+
62
+ :host([state="success"]) {
63
+ --ui-calendar-accent: var(--ui-color-success, #16a34a);
64
+ }
65
+
66
+ :host([size="sm"]) {
67
+ --ui-calendar-gap: 8px;
68
+ --ui-calendar-day-height: 42px;
69
+ --ui-calendar-day-font-size: 11px;
70
+ --ui-calendar-weekday-font-size: 10px;
71
+ --ui-calendar-title-font-size: 13px;
72
+ --ui-calendar-day-radius: 8px;
73
+ }
74
+
75
+ :host([size="lg"]) {
76
+ --ui-calendar-gap: 12px;
77
+ --ui-calendar-day-height: 58px;
78
+ --ui-calendar-day-font-size: 13px;
79
+ --ui-calendar-weekday-font-size: 12px;
80
+ --ui-calendar-title-font-size: 15px;
81
+ --ui-calendar-day-radius: 12px;
82
+ }
83
+
84
+ .frame {
85
+ position: relative;
86
+ border: 1px solid var(--ui-calendar-border);
87
+ border-radius: var(--ui-calendar-radius);
88
+ background: var(--ui-calendar-bg);
89
+ box-shadow: var(--ui-calendar-shadow);
90
+ padding: var(--ui-calendar-frame-padding);
91
+ display: grid;
92
+ gap: var(--ui-calendar-gap);
93
+ min-inline-size: 0;
94
+ }
95
+
96
+ :host([bare]) .frame {
97
+ border: 1px solid var(--ui-calendar-bare-border, var(--ui-calendar-border));
98
+ border-radius: var(--ui-calendar-bare-radius, var(--ui-calendar-radius));
99
+ background: var(--ui-calendar-bare-bg, var(--ui-calendar-bg));
100
+ box-shadow: none;
101
+ padding: var(--ui-calendar-bare-padding, 10px);
102
+ }
103
+
104
+ :host([headless]) .frame {
105
+ display: none !important;
106
+ }
107
+
108
+ .header {
109
+ display: grid;
110
+ grid-template-columns: auto 1fr auto;
111
+ align-items: center;
112
+ gap: 8px;
113
+ min-inline-size: 0;
114
+ }
115
+
116
+ .nav,
117
+ .header-actions {
118
+ display: inline-flex;
119
+ align-items: center;
120
+ gap: 6px;
121
+ }
122
+
123
+ .title-wrap {
124
+ display: flex;
125
+ position: relative;
126
+ justify-content: center;
127
+ min-inline-size: 0;
128
+ overflow: visible;
129
+ }
130
+
131
+ .status {
132
+ display: inline-flex;
133
+ align-items: center;
134
+ gap: 8px;
135
+ min-block-size: var(--ui-calendar-control-height);
136
+ border: 1px solid color-mix(in srgb, var(--ui-calendar-border) 84%, transparent);
137
+ border-radius: 10px;
138
+ padding: 0 10px;
139
+ font: 600 12px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
140
+ color: var(--ui-calendar-text);
141
+ background: color-mix(in srgb, var(--ui-calendar-bg) 96%, transparent);
142
+ }
143
+
144
+ .status[hidden] {
145
+ display: none !important;
146
+ }
147
+
148
+ .status-dot {
149
+ inline-size: 8px;
150
+ block-size: 8px;
151
+ border-radius: 999px;
152
+ background: var(--ui-calendar-accent);
153
+ }
154
+
155
+ :host([state="loading"]) .status-dot {
156
+ position: relative;
157
+ overflow: hidden;
158
+ }
159
+
160
+ :host([state="loading"]) .status-dot::after {
161
+ content: '';
162
+ position: absolute;
163
+ inset: 0;
164
+ border-radius: inherit;
165
+ border: 2px solid color-mix(in srgb, var(--ui-calendar-accent) 24%, transparent);
166
+ border-top-color: var(--ui-calendar-accent);
167
+ animation: ui-calendar-spin 800ms linear infinite;
168
+ }
169
+
170
+ .title-btn,
171
+ .nav-btn,
172
+ .today-btn,
173
+ .picker-btn,
174
+ .picker-month,
175
+ .picker-year-btn {
176
+ border: 1px solid color-mix(in srgb, var(--ui-calendar-border) 82%, transparent);
177
+ background: color-mix(in srgb, var(--ui-calendar-bg) 94%, transparent);
178
+ color: var(--ui-calendar-text);
179
+ border-radius: 9px;
180
+ cursor: pointer;
181
+ transition: background-color 130ms ease, border-color 130ms ease, transform 120ms ease;
182
+ }
183
+
184
+ .nav-btn,
185
+ .today-btn,
186
+ .picker-year-btn {
187
+ min-block-size: var(--ui-calendar-control-height);
188
+ padding: 0 10px;
189
+ display: inline-flex;
190
+ align-items: center;
191
+ justify-content: center;
192
+ gap: var(--ui-calendar-week-gap);
193
+ font: 600 12px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
194
+ }
195
+
196
+ .nav-btn {
197
+ inline-size: 30px;
198
+ padding: 0;
199
+ }
200
+
201
+ .title-btn {
202
+ min-block-size: 32px;
203
+ padding: 0 12px;
204
+ display: inline-flex;
205
+ align-items: center;
206
+ justify-content: center;
207
+ gap: 8px;
208
+ font: 700 var(--ui-calendar-title-font-size)/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
209
+ letter-spacing: 0.01em;
210
+ min-inline-size: 0;
211
+ white-space: nowrap;
212
+ overflow: hidden;
213
+ text-overflow: ellipsis;
214
+ }
215
+
216
+ .nav-btn:hover,
217
+ .today-btn:hover,
218
+ .title-btn:hover,
219
+ .picker-btn:hover,
220
+ .picker-month:hover,
221
+ .picker-year-btn:hover {
222
+ border-color: color-mix(in srgb, var(--ui-calendar-accent) 38%, var(--ui-calendar-border));
223
+ background: var(--ui-calendar-day-hover-bg);
224
+ }
225
+
226
+ .nav-btn:active,
227
+ .today-btn:active,
228
+ .title-btn:active,
229
+ .picker-btn:active,
230
+ .picker-month:active,
231
+ .picker-year-btn:active {
232
+ transform: translateY(1px);
233
+ }
234
+
235
+ .nav-btn:focus-visible,
236
+ .today-btn:focus-visible,
237
+ .title-btn:focus-visible,
238
+ .picker-btn:focus-visible,
239
+ .picker-month:focus-visible,
240
+ .picker-year-btn:focus-visible,
241
+ .day:focus-visible {
242
+ outline: 2px solid var(--ui-calendar-accent);
243
+ outline-offset: 1px;
244
+ }
245
+
246
+ .nav-btn[disabled],
247
+ .today-btn[disabled],
248
+ .title-btn[disabled],
249
+ .picker-btn[disabled],
250
+ .picker-month[disabled],
251
+ .picker-year-btn[disabled],
252
+ .day[aria-disabled="true"] {
253
+ opacity: var(--ui-calendar-disabled-opacity);
254
+ cursor: not-allowed;
255
+ pointer-events: none;
256
+ }
257
+
258
+ .monthyear-pop {
259
+ position: absolute;
260
+ inset-block-start: calc(100% + 8px);
261
+ inset-inline-start: 50%;
262
+ transform: translateX(-50%);
263
+ z-index: 10;
264
+ border: 1px solid color-mix(in srgb, var(--ui-calendar-border) 84%, transparent);
265
+ border-radius: 12px;
266
+ background: color-mix(in srgb, var(--ui-calendar-bg) 96%, transparent);
267
+ box-shadow: 0 10px 24px rgba(15, 23, 42, 0.1);
268
+ padding: 10px;
269
+ display: grid;
270
+ gap: 8px;
271
+ }
272
+
273
+ .monthyear-pop[hidden] {
274
+ display: none;
275
+ }
276
+
277
+ .picker-header {
278
+ display: inline-flex;
279
+ align-items: center;
280
+ justify-content: space-between;
281
+ gap: 8px;
282
+ }
283
+
284
+ .picker-year {
285
+ font: 700 13px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
286
+ color: var(--ui-calendar-text);
287
+ }
288
+
289
+ .picker-months {
290
+ display: grid;
291
+ grid-template-columns: repeat(3, minmax(0, 1fr));
292
+ gap: 6px;
293
+ }
294
+
295
+ .picker-month {
296
+ min-block-size: 28px;
297
+ padding: 0 8px;
298
+ font: 600 11px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
299
+ }
300
+
301
+ .picker-month[data-active="true"] {
302
+ border-color: var(--ui-calendar-selected-border);
303
+ background: var(--ui-calendar-selected-bg);
304
+ }
305
+
306
+ .grid-wrap {
307
+ min-inline-size: 0;
308
+ display: grid;
309
+ gap: var(--ui-calendar-week-gap);
310
+ }
311
+
312
+ :host([state="loading"]) .grid-wrap {
313
+ opacity: 0.68;
314
+ pointer-events: none;
315
+ }
316
+
317
+ .weekdays,
318
+ .week {
319
+ display: grid;
320
+ grid-template-columns: repeat(7, minmax(0, 1fr));
321
+ gap: var(--ui-calendar-week-gap);
322
+ }
323
+
324
+ .weekday {
325
+ text-align: center;
326
+ font-size: var(--ui-calendar-weekday-font-size);
327
+ text-transform: uppercase;
328
+ letter-spacing: 0.06em;
329
+ color: var(--ui-calendar-muted);
330
+ padding: 4px 2px;
331
+ }
332
+
333
+ .day {
334
+ border: 1px solid color-mix(in srgb, var(--ui-calendar-border) 78%, transparent);
335
+ border-radius: var(--ui-calendar-day-radius);
336
+ min-block-size: var(--ui-calendar-day-height);
337
+ padding: var(--ui-calendar-day-padding-block) var(--ui-calendar-day-padding-inline);
338
+ background: color-mix(in srgb, var(--ui-calendar-bg) 98%, transparent);
339
+ color: var(--ui-calendar-text);
340
+ display: grid;
341
+ align-content: center;
342
+ justify-items: center;
343
+ gap: 4px;
344
+ text-align: center;
345
+ cursor: pointer;
346
+ position: relative;
347
+ overflow: hidden;
348
+ transition: border-color 130ms ease, background-color 130ms ease;
349
+ }
350
+
351
+ .day:hover {
352
+ border-color: color-mix(in srgb, var(--ui-calendar-accent) 34%, var(--ui-calendar-border));
353
+ background: var(--ui-calendar-day-hover-bg);
354
+ }
355
+
356
+ .day[data-outside="true"] {
357
+ color: color-mix(in srgb, var(--ui-calendar-muted) 88%, transparent);
358
+ background: color-mix(in srgb, var(--ui-calendar-bg) 92%, transparent);
359
+ }
360
+
361
+ .day[data-today="true"] {
362
+ box-shadow: inset 0 0 0 1px var(--ui-calendar-today-ring);
363
+ }
364
+
365
+ .day[data-selected="true"] {
366
+ border-color: var(--ui-calendar-selected-border);
367
+ background: var(--ui-calendar-selected-bg);
368
+ }
369
+
370
+ .day[data-range="true"] {
371
+ background: var(--ui-calendar-range-bg);
372
+ border-color: color-mix(in srgb, var(--ui-calendar-accent) 26%, var(--ui-calendar-border));
373
+ border-radius: 0;
374
+ }
375
+
376
+ .day[data-range-start="true"],
377
+ .day[data-range-end="true"] {
378
+ background: var(--ui-calendar-range-edge);
379
+ border-color: var(--ui-calendar-selected-border);
380
+ border-radius: var(--ui-calendar-day-radius);
381
+ }
382
+
383
+ .day[data-range-preview="true"] {
384
+ background: color-mix(in srgb, var(--ui-calendar-accent) 7%, transparent);
385
+ }
386
+
387
+ :host([state="loading"]) .day {
388
+ position: relative;
389
+ overflow: hidden;
390
+ }
391
+
392
+ :host([state="loading"]) .day::after {
393
+ content: '';
394
+ position: absolute;
395
+ inset: 0;
396
+ background: linear-gradient(
397
+ 100deg,
398
+ color-mix(in srgb, transparent 100%, #ffffff) 0%,
399
+ color-mix(in srgb, var(--ui-calendar-accent) 12%, transparent) 45%,
400
+ color-mix(in srgb, transparent 100%, #ffffff) 100%
401
+ );
402
+ background-size: 220% 100%;
403
+ animation: ui-calendar-shimmer 1.35s linear infinite;
404
+ pointer-events: none;
405
+ }
406
+
407
+ .day-number {
408
+ font-size: var(--ui-calendar-day-font-size);
409
+ font-weight: 650;
410
+ line-height: 1;
411
+ justify-self: center;
412
+ }
413
+
414
+ .events {
415
+ min-block-size: 10px;
416
+ display: inline-flex;
417
+ align-items: center;
418
+ justify-content: center;
419
+ gap: 4px;
420
+ max-inline-size: 100%;
421
+ overflow: hidden;
422
+ }
423
+
424
+ .event-dot {
425
+ inline-size: 7px;
426
+ block-size: 7px;
427
+ border-radius: 999px;
428
+ background: var(--event-tone, var(--ui-calendar-accent));
429
+ flex: 0 0 auto;
430
+ }
431
+
432
+ .event-badge {
433
+ max-inline-size: 100%;
434
+ border-radius: 999px;
435
+ padding: 1px 6px;
436
+ font: 600 10px/1.25 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
437
+ background: color-mix(in srgb, var(--event-tone, var(--ui-calendar-accent)) 18%, transparent);
438
+ color: var(--ui-calendar-text);
439
+ white-space: nowrap;
440
+ overflow: hidden;
441
+ text-overflow: ellipsis;
442
+ }
443
+
444
+ .event-count {
445
+ inline-size: 16px;
446
+ block-size: 16px;
447
+ border-radius: 999px;
448
+ display: inline-grid;
449
+ place-items: center;
450
+ font: 700 10px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
451
+ background: color-mix(in srgb, var(--ui-calendar-accent) 18%, transparent);
452
+ color: var(--ui-calendar-text);
453
+ }
454
+
455
+ .event-more {
456
+ font: 600 10px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
457
+ color: var(--ui-calendar-muted);
458
+ white-space: nowrap;
459
+ }
460
+
461
+ .tooltip {
462
+ position: absolute;
463
+ inset-inline-start: 50%;
464
+ inset-block-end: calc(100% + 6px);
465
+ transform: translateX(-50%);
466
+ min-inline-size: 120px;
467
+ max-inline-size: 220px;
468
+ padding: 6px 8px;
469
+ border-radius: 8px;
470
+ border: 1px solid color-mix(in srgb, var(--ui-calendar-border) 80%, transparent);
471
+ background: color-mix(in srgb, var(--ui-calendar-bg) 98%, #ffffff 2%);
472
+ box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
473
+ color: var(--ui-calendar-text);
474
+ font: 500 11px/1.35 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
475
+ opacity: 0;
476
+ pointer-events: none;
477
+ z-index: 5;
478
+ }
479
+
480
+ .tooltip[hidden] {
481
+ display: none;
482
+ }
483
+
484
+ .day:hover .tooltip,
485
+ .day:focus-visible .tooltip,
486
+ .day:focus-within .tooltip {
487
+ opacity: 1;
488
+ }
489
+
490
+ .live-region {
491
+ position: absolute;
492
+ inline-size: 1px;
493
+ block-size: 1px;
494
+ margin: -1px;
495
+ padding: 0;
496
+ border: 0;
497
+ overflow: hidden;
498
+ clip: rect(0 0 0 0);
499
+ clip-path: inset(50%);
500
+ white-space: nowrap;
501
+ }
502
+
503
+ :host([variant="contrast"]) {
504
+ --ui-calendar-bg: #0f172a;
505
+ --ui-calendar-border: #334155;
506
+ --ui-calendar-text: #e2e8f0;
507
+ --ui-calendar-muted: #93a4bd;
508
+ --ui-calendar-accent: #93c5fd;
509
+ --ui-calendar-shadow: 0 16px 38px rgba(2, 6, 23, 0.5);
510
+ --ui-calendar-selected-bg: color-mix(in srgb, #93c5fd 22%, transparent);
511
+ --ui-calendar-selected-border: color-mix(in srgb, #93c5fd 72%, transparent);
512
+ --ui-calendar-range-bg: color-mix(in srgb, #93c5fd 12%, transparent);
513
+ --ui-calendar-range-edge: color-mix(in srgb, #93c5fd 20%, transparent);
514
+ }
515
+
516
+ :host([disabled]) .frame {
517
+ opacity: 0.74;
518
+ }
519
+
520
+ :host([state="error"]) .frame {
521
+ box-shadow: 0 0 0 1px color-mix(in srgb, var(--ui-color-danger, #dc2626) 28%, transparent), var(--ui-calendar-shadow);
522
+ }
523
+
524
+ :host([state="success"]) .frame {
525
+ box-shadow: 0 0 0 1px color-mix(in srgb, var(--ui-color-success, #16a34a) 28%, transparent), var(--ui-calendar-shadow);
526
+ }
527
+
528
+ @media (max-width: 420px) {
529
+ .frame {
530
+ padding: 10px;
531
+ }
532
+
533
+ .header {
534
+ grid-template-columns: 1fr;
535
+ gap: 6px;
536
+ }
537
+
538
+ .title-wrap {
539
+ justify-content: flex-start;
540
+ }
541
+ }
542
+
543
+ @media (prefers-reduced-motion: reduce) {
544
+ .day,
545
+ .nav-btn,
546
+ .today-btn,
547
+ .title-btn,
548
+ .picker-btn,
549
+ .picker-month,
550
+ .picker-year-btn {
551
+ transition: none !important;
552
+ }
553
+
554
+ :host([state="loading"]) .day::after,
555
+ :host([state="loading"]) .status-dot::after {
556
+ animation: none !important;
557
+ }
558
+ }
559
+
560
+ @media (prefers-contrast: more) {
561
+ .frame {
562
+ box-shadow: none;
563
+ border-width: 2px;
564
+ }
565
+
566
+ .day,
567
+ .nav-btn,
568
+ .today-btn,
569
+ .title-btn,
570
+ .picker-btn,
571
+ .picker-month,
572
+ .picker-year-btn {
573
+ border-width: 2px;
574
+ }
575
+ }
576
+
577
+ @media (forced-colors: active) {
578
+ :host {
579
+ --ui-calendar-bg: Canvas;
580
+ --ui-calendar-border: CanvasText;
581
+ --ui-calendar-text: CanvasText;
582
+ --ui-calendar-muted: CanvasText;
583
+ --ui-calendar-accent: Highlight;
584
+ --ui-calendar-shadow: none;
585
+ --ui-calendar-selected-bg: Highlight;
586
+ --ui-calendar-selected-border: Highlight;
587
+ --ui-calendar-range-bg: Highlight;
588
+ --ui-calendar-range-edge: Highlight;
589
+ --ui-calendar-today-ring: Highlight;
590
+ }
591
+
592
+ .frame,
593
+ .day,
594
+ .nav-btn,
595
+ .today-btn,
596
+ .title-btn,
597
+ .picker-btn,
598
+ .picker-month,
599
+ .picker-year-btn,
600
+ .monthyear-pop,
601
+ .tooltip,
602
+ .status,
603
+ .event-dot,
604
+ .event-badge,
605
+ .event-count {
606
+ forced-color-adjust: none;
607
+ box-shadow: none;
608
+ background: Canvas;
609
+ color: CanvasText;
610
+ border-color: CanvasText;
611
+ }
612
+
613
+ .day[data-selected="true"],
614
+ .day[data-range="true"],
615
+ .day[data-range-start="true"],
616
+ .day[data-range-end="true"] {
617
+ background: Highlight;
618
+ color: HighlightText;
619
+ border-color: Highlight;
620
+ }
621
+
622
+ .day[data-today="true"] {
623
+ box-shadow: inset 0 0 0 2px Highlight;
624
+ }
625
+
626
+ .event-dot,
627
+ .event-badge,
628
+ .event-count {
629
+ background: Highlight;
630
+ color: HighlightText;
631
+ border-color: Highlight;
632
+ }
633
+ }
634
+
635
+ @keyframes ui-calendar-spin {
636
+ to { transform: rotate(360deg); }
637
+ }
638
+
639
+ @keyframes ui-calendar-shimmer {
640
+ from { background-position: 120% 0; }
641
+ to { background-position: -120% 0; }
642
+ }
643
+ `,K={default:"var(--ui-color-primary, #2563eb)",info:"var(--ui-color-info, #0891b2)",success:"var(--ui-color-success, #16a34a)",warning:"var(--ui-color-warning, #d97706)",danger:"var(--ui-color-danger, #dc2626)"};function P(r,e,t){return Math.max(e,Math.min(t,r))}function B(r){return String(r).padStart(2,"0")}function v(r){return`${r.y}-${B(r.m)}-${B(r.d)}`}function c(r){const e=/^(\d{4})-(\d{2})-(\d{2})$/.exec((r||"").trim());if(!e)return null;const t=Number(e[1]),a=Number(e[2]),n=Number(e[3]);if(!Number.isInteger(t)||!Number.isInteger(a)||!Number.isInteger(n)||a<1||a>12)return null;const i=H(t,a);return n<1||n>i?null:{y:t,m:a,d:n}}function H(r,e){return new Date(Date.UTC(r,e,0)).getUTCDate()}function F(r){return new Date(Date.UTC(r.y,r.m-1,r.d))}function be(r){return{y:r.getUTCFullYear(),m:r.getUTCMonth()+1,d:r.getUTCDate()}}function k(r,e){const t=c(r),a=c(e);return!t||!a?r.localeCompare(e):t.y!==a.y?t.y-a.y:t.m!==a.m?t.m-a.m:t.d-a.d}function ve(r,e){const t=c(r);if(!t)return r;const a=F(t);return a.setUTCDate(a.getUTCDate()+e),v(be(a))}function L(r,e){const t=new Date(Date.UTC(r.y,r.m-1,1));t.setUTCMonth(t.getUTCMonth()+e);const a=t.getUTCFullYear(),n=t.getUTCMonth()+1,i=P(r.d,1,H(a,n));return{y:a,m:n,d:i}}function me(r,e){const t=c(r);return t?v(L(t,e)):r}function W(r,e){return{y:r,m:e,d:1}}function ye(r,e){return{y:r,m:e,d:H(r,e)}}function ce(r){const e=c(r);return e?F(e).getUTCDay():0}function Z(r,e){if(r==null||r==="")return e;const t=Number(r);return Number.isFinite(t)?Math.trunc(t):e}function ue(r,e){const t=Z(r,e);return t<1?e:t}function Ye(r,e){if(r==null)return e;const t=String(r).toLowerCase();return t!=="false"&&t!=="0"&&t!=="off"}function m(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function J(r,e,t){return k(r,e)>=0&&k(r,t)<=0}function E(r,e){return k(r,e)<=0?{start:r,end:e}:{start:e,end:r}}function he(r,e){var a;const t=Number(r);if(t===0||t===1||t===6)return t;try{const n=new Intl.Locale(e||void 0),i=(a=n==null?void 0:n.weekInfo)==null?void 0:a.firstDay;if(i===7)return 0;if(i===1||i===6)return i}catch{}return 0}function je(r){return r==="range"||r==="multiple"?r:"single"}function Ve(r){return r==="none"||r==="select"?r:"navigate"}function qe(r){return r==="badges"||r==="count"?r:"dots"}function Ke(r){return r==="sm"||r==="lg"?r:"md"}function Je(r){return r==="neutral"||r==="info"||r==="success"||r==="warning"||r==="danger"?r:null}function pe(r){return r==="loading"||r==="error"||r==="success"?r:"idle"}function fe(r){const e=[],t=new Set;return r.forEach(a=>{const n=c(a);if(!n)return;const i=v(n);t.has(i)||(t.add(i),e.push(i))}),e.sort(k),e}function O(r){return r.mode==="single"?{mode:"single",value:r.value}:r.mode==="range"?{mode:"range",start:r.start,end:r.end}:{mode:"multiple",values:[...r.values]}}class _e extends Ee.ElementBase{constructor(){super(),this._eventsRawCache=null,this._eventsParsedCache=[],this._eventsByDateCache=new Map,this._valueRawCache=null,this._valueModeCache=null,this._valueParsedCache={mode:"single",value:null},this._focusedIso="",this._hoverIso=null,this._pickerOpen=!1,this._syncingValueAttribute=!1,this._rangeKeyboardAnchor=null,this._shouldRefocus=!1,this._docPointerDownBound=e=>this._onDocumentPointerDown(e),this._onClick=this._onClick.bind(this),this._onKeyDown=this._onKeyDown.bind(this),this._onPointerOver=this._onPointerOver.bind(this),this._onMouseLeave=this._onMouseLeave.bind(this),this._onFocusIn=this._onFocusIn.bind(this)}static get observedAttributes(){return["year","month","events","value","variant","headless","selection","min","max","disabled","readonly","week-start","locale","translations","outside-click","events-max","events-display","max-selections","size","hide-today","show-today","tone","state","bare","aria-label"]}connectedCallback(){super.connectedCallback(),this.root.addEventListener("click",this._onClick),this.root.addEventListener("keydown",this._onKeyDown),this.root.addEventListener("pointerover",this._onPointerOver),this.root.addEventListener("mouseleave",this._onMouseLeave),this.root.addEventListener("focusin",this._onFocusIn),this._syncDocumentListener()}disconnectedCallback(){this.root.removeEventListener("click",this._onClick),this.root.removeEventListener("keydown",this._onKeyDown),this.root.removeEventListener("pointerover",this._onPointerOver),this.root.removeEventListener("mouseleave",this._onMouseLeave),this.root.removeEventListener("focusin",this._onFocusIn),typeof document<"u"&&document.removeEventListener("pointerdown",this._docPointerDownBound,!0),super.disconnectedCallback()}attributeChangedCallback(e,t,a){t!==a&&(e==="events"&&(this._eventsRawCache=null),e==="value"&&!this._syncingValueAttribute&&(this._rangeKeyboardAnchor=null,this._valueRawCache=null),e==="selection"&&(this._rangeKeyboardAnchor=null,this._valueModeCache=null),e==="disabled"&&this.hasAttribute("disabled")&&(this._pickerOpen=!1,this._hoverIso=null),e==="state"&&pe(a)==="loading"&&(this._pickerOpen=!1,this._hoverIso=null),this.isConnected&&(this._syncDocumentListener(),this.requestRender()))}focusDate(e){const t=c(e);t&&(this.goToMonth(t.y,t.m),this._focusedIso=v(t),this._shouldRefocus=!0,this.requestRender())}goToMonth(e,t,a="api"){if(!Number.isFinite(e)||!Number.isFinite(t))return;let n=Math.trunc(e),i=Math.trunc(t);for(;i<1;)i+=12,n-=1;for(;i>12;)i-=12,n+=1;let s=!1;if(String(n)!==(this.getAttribute("year")||"")&&(this.setAttribute("year",String(n)),s=!0),String(i)!==(this.getAttribute("month")||"")&&(this.setAttribute("month",String(i)),s=!0),s){const o={year:n,month:i,source:a};this.dispatchEvent(new CustomEvent("month-change",{detail:o,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("ui-month-change",{detail:o,bubbles:!0,composed:!0}))}}selectDate(e){const t=c(e);if(!t)return;const a=v(t);this._shouldRefocus=!0,this._applySelection(a,!1,"api")}_syncDocumentListener(){typeof document>"u"||(document.removeEventListener("pointerdown",this._docPointerDownBound,!0),this._pickerOpen&&document.addEventListener("pointerdown",this._docPointerDownBound,!0))}_onDocumentPointerDown(e){!this._pickerOpen||e.composedPath().includes(this)||(this._pickerOpen=!1,this.requestRender())}_resolveLocale(){return(this.getAttribute("locale")||"").trim()||(typeof navigator<"u"?navigator.language:"en-US")}_resolvedView(){const e=new Date,t=Z(this.getAttribute("year"),e.getFullYear()),a=Z(this.getAttribute("month"),e.getMonth()+1);return{year:t,month:P(a,1,12)}}_todayIso(){const e=new Date;return`${e.getFullYear()}-${B(e.getMonth()+1)}-${B(e.getDate())}`}_resolveMinIso(){const e=c(this.getAttribute("min")||"");return e?v(e):null}_resolveMaxIso(){const e=c(this.getAttribute("max")||"");return e?v(e):null}_monthHasAllowedDay(e,t,a,n){const i=v(W(e,t)),s=v(ye(e,t));return!(a&&k(s,a)<0||n&&k(i,n)>0)}_resolveSelectionMode(){return je(this.getAttribute("selection"))}_resolveEventsDisplay(){return qe(this.getAttribute("events-display"))}_resolveOutsideClickMode(){return Ve(this.getAttribute("outside-click"))}_resolveCalendarSize(){return Ke(this.getAttribute("size"))}_resolveTone(){return Je(this.getAttribute("tone"))}_resolveState(){return pe(this.getAttribute("state"))}_resolveLabel(){const e=(this.getAttribute("aria-label")||"").trim();return e||this._translations().calendarLabel}_translations(){return ge(this.getAttribute("locale"),this.getAttribute("translations"))}_resolveBounds(){let e=this._resolveMinIso(),t=this._resolveMaxIso();if(e&&t&&k(e,t)>0){const a=e;e=t,t=a}return{minIso:e,maxIso:t}}_direction(){const e=this.getAttribute("dir");if(e==="rtl"||e==="ltr")return e;const t=this.closest("[dir]"),a=t==null?void 0:t.getAttribute("dir");return a==="rtl"||a==="ltr"?a:getComputedStyle(this).direction==="rtl"?"rtl":"ltr"}_maxSelections(){return ue(this.getAttribute("max-selections"),Number.MAX_SAFE_INTEGER)}_eventsMax(){return P(ue(this.getAttribute("events-max"),3),1,9)}_showTodayButton(){return this.hasAttribute("hide-today")?!1:Ye(this.getAttribute("show-today"),!0)}_isDisabled(){return this.hasAttribute("disabled")}_isReadonly(){return this.hasAttribute("readonly")}_isInteractionDisabled(){return this._isDisabled()||this._resolveState()==="loading"}_isDateOutOfBounds(e,t,a){return!!(t&&k(e,t)<0||a&&k(e,a)>0)}_isDateBlocked(e,t,a,n){return!!(this._isInteractionDisabled()||this._isDateOutOfBounds(e,a,n)||t&&this._resolveOutsideClickMode()==="none")}_normalizeValueForMode(e){const t=this.getAttribute("value")||"";if(this._valueRawCache===t&&this._valueModeCache===e)return O(this._valueParsedCache);let a;if(e==="multiple"){try{const i=JSON.parse(t);if(!Array.isArray(i))a={mode:e,values:[]};else{const s=fe(i.map(o=>String(o||"")));a={mode:e,values:s}}}catch{a={mode:e,values:[]}}return this._valueRawCache=t,this._valueModeCache=e,this._valueParsedCache=O(a),a}if(e==="range"){try{const i=JSON.parse(t),s=i&&typeof i=="object"?String(i.start||""):"",o=i&&typeof i=="object"?String(i.end||""):"",d=c(s),u=c(o),h=d?v(d):null,p=u?v(u):null;if(h&&p){const f=E(h,p);a={mode:e,start:f.start,end:f.end}}else a={mode:e,start:h,end:null}}catch{a={mode:e,start:null,end:null}}return this._valueRawCache=t,this._valueModeCache=e,this._valueParsedCache=O(a),a}const n=c(t);return a={mode:e,value:n?v(n):null},this._valueRawCache=t,this._valueModeCache=e,this._valueParsedCache=O(a),a}_serializeSelection(e){if(e.mode==="single")return e.value;if(e.mode==="multiple")return JSON.stringify(e.values);const t={};return e.start&&(t.start=e.start),e.end&&(t.end=e.end),!t.start&&!t.end?null:JSON.stringify(t)}_emitSelectionEvents(e,t,a){e.mode==="single"&&t&&(this.dispatchEvent(new CustomEvent("select",{detail:{value:t,source:a},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("ui-select",{detail:{value:t,source:a},bubbles:!0,composed:!0})));const n={mode:e.mode,source:a};e.mode==="single"?n.value=e.value:e.mode==="range"?(n.value=e.start&&e.end?{start:e.start,end:e.end}:null,n.start=e.start,n.end=e.end):(n.value=[...e.values],n.values=[...e.values]),this.dispatchEvent(new CustomEvent("change",{detail:n,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("ui-change",{detail:n,bubbles:!0,composed:!0}))}_setValueAttribute(e){this._syncingValueAttribute=!0;try{e?this.getAttribute("value")!==e&&this.setAttribute("value",e):this.hasAttribute("value")&&this.removeAttribute("value")}finally{this._syncingValueAttribute=!1}}_applySelection(e,t,a){if(!c(e))return;const n=this._resolveSelectionMode(),{minIso:i,maxIso:s}=this._resolveBounds();if(this._isDateOutOfBounds(e,i,s))return;const o=this._isReadonly();if(this._isInteractionDisabled()||o)return;let d=this._normalizeValueForMode(n);if(n==="single")d={mode:n,value:e};else if(n==="multiple"){const p=this._normalizeValueForMode("multiple"),f=new Set(p.values);f.has(e)?f.delete(e):f.size<this._maxSelections()&&f.add(e),d={mode:n,values:fe(Array.from(f))}}else{const p=this._normalizeValueForMode("range"),f=p.start,_=p.end;if(t){const l=this._rangeKeyboardAnchor||f||this._focusedIso||e;if(!c(l))this._rangeKeyboardAnchor=e,d={mode:n,start:e,end:null};else{const b=E(l,e);d={mode:n,start:b.start,end:b.end}}}else if(!f||f&&_)this._rangeKeyboardAnchor=e,d={mode:n,start:e,end:null};else if(f&&!_){const l=E(f,e);d={mode:n,start:l.start,end:l.end}}}const u=this.getAttribute("value"),h=this._serializeSelection(d);u!==h?(this._setValueAttribute(h),this._emitSelectionEvents(d,n==="single"?e:null,a)):n==="single"&&this._emitSelectionEvents(d,e,a),this._focusedIso=e,this._hoverIso=null,this._shouldRefocus=!0,a!=="api"&&this.requestRender()}_monthLabel(e,t,a){try{return new Intl.DateTimeFormat(a,{month:"long",year:"numeric",timeZone:"UTC"}).format(new Date(Date.UTC(e,t-1,1)))}catch{return`${String(t)} ${e}`}}_monthPickerLabels(e){try{const t=new Intl.DateTimeFormat(e,{month:"short",timeZone:"UTC"});return Array.from({length:12},(a,n)=>t.format(new Date(Date.UTC(2024,n,1))))}catch{return["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}}_weekdayLabels(e,t){const a=[],n=new Intl.DateTimeFormat(e,{weekday:"short",timeZone:"UTC"});for(let i=0;i<7;i+=1){const s=(t+i)%7,o=new Date(Date.UTC(2024,0,7+s));a.push(n.format(o))}return a}_dayAriaLabel(e,t){const a=c(e);if(!a)return e;try{return new Intl.DateTimeFormat(t,{weekday:"long",year:"numeric",month:"long",day:"numeric",timeZone:"UTC"}).format(F(a))}catch{return e}}_ensureEventsCache(){const e=this.getAttribute("events");if(e!==this._eventsRawCache&&(this._eventsRawCache=e,this._eventsParsedCache=[],this._eventsByDateCache=new Map,!!e))try{const t=JSON.parse(e);if(!Array.isArray(t))return;const a=[];t.forEach(n=>{if(!n||typeof n!="object")return;const i=String(n.date||"").trim(),s=c(i),o=s?v(s):"";if(!o)return;const d=String(n.tone||"default"),u=d==="success"||d==="warning"||d==="danger"||d==="info"?d:"default",h=n.title!=null?String(n.title):void 0;a.push({date:o,title:h,tone:u})}),this._eventsParsedCache=a,a.forEach(n=>{this._eventsByDateCache.has(n.date)||this._eventsByDateCache.set(n.date,[]),this._eventsByDateCache.get(n.date).push(n)})}catch{}}_buildCells(e,t,a,n,i,s){const o=v(W(e,t)),u=(ce(o)-a+7)%7,h=c(o);if(!h)return[];const p=F(h);p.setUTCDate(p.getUTCDate()-u);const f=[];for(let _=0;_<42;_+=1){_>0&&p.setUTCDate(p.getUTCDate()+1);const l=be(p),b=v(l),D=l.y!==e||l.m!==t,y=this._isDateBlocked(b,D,n,i);f.push({iso:b,parts:l,outside:D,disabled:y,today:b===s})}return f}_resolveFocusIso(e,t,a){var d;const n=new Map;e.forEach(u=>n.set(u.iso,u));const i=u=>{if(!u)return null;const h=n.get(u);return!h||h.disabled?null:u};let s=i(this._focusedIso);if(s||(t.mode==="single"&&(s=i(t.value)),!s&&t.mode==="range"&&(s=i(t.end||t.start)),!s&&t.mode==="multiple"&&(s=i(t.values[0])),s||(s=i(a)),s))return s;const o=e.find(u=>!u.disabled);return o?o.iso:((d=e[0])==null?void 0:d.iso)||""}_focusDateButton(e){if(!e)return;const t=this.root.activeElement;if((t==null?void 0:t.getAttribute("data-date"))===e)return;const a=`.day[data-date="${e}"]`,n=this.root.querySelector(a);if(n)try{n.focus({preventScroll:!0})}catch{n.focus()}}_moveFocusByDays(e,t,a){const n=ve(e,t),i=c(n);i&&(this.goToMonth(i.y,i.m,"keyboard"),this._focusedIso=n,this._shouldRefocus=!0,a&&this._resolveSelectionMode()==="range"&&!this._isReadonly()&&!this._isInteractionDisabled()?this._applySelection(n,!0,"keyboard"):this.requestRender())}_moveFocusByMonths(e,t){const a=me(e,t),n=c(a);n&&(this.goToMonth(n.y,n.m,"keyboard"),this._focusedIso=a,this._shouldRefocus=!0,this.requestRender())}_focusWeekBoundary(e,t,a){const i=(ce(e)-a+7)%7,s=t==="start"?-i:6-i;this._moveFocusByDays(e,s,!1)}_onPointerOver(e){if(this._resolveSelectionMode()!=="range")return;const t=this._normalizeValueForMode("range");if(!t.start||t.end)return;const a=e.target,n=a==null?void 0:a.closest(".day");if(!n)return;const i=n.getAttribute("data-date")||"";if(!c(i))return;const s=n.getAttribute("data-outside")==="true",{minIso:o,maxIso:d}=this._resolveBounds();this._isDateBlocked(i,s,o,d)||this._hoverIso!==i&&(this._hoverIso=i,this.requestRender())}_onMouseLeave(){this._hoverIso!=null&&(this._hoverIso=null,this.requestRender())}_onFocusIn(e){const t=e.target,a=t==null?void 0:t.closest(".day");if(!a)return;const n=a.getAttribute("data-date")||"";if(c(n)&&(this._focusedIso=n,this._resolveSelectionMode()==="range")){const i=this._normalizeValueForMode("range");i.start&&!i.end&&(this._hoverIso=n,this.requestRender())}}_toggleMonthYearPicker(e){this._isInteractionDisabled()||(this._pickerOpen=typeof e=="boolean"?e:!this._pickerOpen,this._syncDocumentListener(),this.requestRender())}_onClick(e){const t=e.target;if(!t)return;const a=t.closest("[data-action]"),n=(a==null?void 0:a.getAttribute("data-action"))||"",{year:i,month:s}=this._resolvedView(),o=this._todayIso(),d=c(o);if(n==="prev-month"||n==="next-month"){if(this._isInteractionDisabled())return;const l=n==="prev-month"?-1:1,D=(this._focusedIso?c(this._focusedIso):null)||{y:i,m:s,d:1},y=L(D,l);this.goToMonth(y.y,y.m,"pointer"),this._focusedIso=v({y:y.y,m:y.m,d:P(D.d,1,H(y.y,y.m))}),this._shouldRefocus=!0,this.requestRender();return}if(n==="today"){if(this._isInteractionDisabled())return;this.goToMonth(d.y,d.m,"pointer"),this._focusedIso=o,this._shouldRefocus=!0,this._isReadonly()?this.requestRender():this._applySelection(o,!1,"pointer");return}if(n==="toggle-monthyear"){this._toggleMonthYearPicker();return}if(n==="picker-prev-year"||n==="picker-next-year"){if(this._isInteractionDisabled())return;const l=n==="picker-prev-year"?-1:1;this.goToMonth(i+l,s,"pointer"),this._pickerOpen=!0,this._shouldRefocus=!0,this.requestRender();return}if(n==="pick-month"){if(this._isInteractionDisabled())return;const l=Number((a==null?void 0:a.getAttribute("data-month"))||"");if(!Number.isInteger(l)||l<1||l>12)return;this.goToMonth(i,l,"pointer"),this._pickerOpen=!1,this._shouldRefocus=!0,this.requestRender();return}const u=t.closest(".day");if(!u)return;const h=u.getAttribute("data-date")||"";if(!c(h))return;const p=u.getAttribute("data-outside")==="true",{minIso:f,maxIso:_}=this._resolveBounds();if(!this._isDateBlocked(h,p,f,_)){if(p){const l=this._resolveOutsideClickMode();if(l==="none")return;if(l==="navigate"){const b=c(h);this.goToMonth(b.y,b.m,"pointer")}}if(this._isReadonly()){this._focusedIso=h,this._shouldRefocus=!0,this.requestRender();return}this._applySelection(h,!1,"pointer")}}_onKeyDown(e){if(e.key==="Escape"&&this._pickerOpen){e.preventDefault(),this._toggleMonthYearPicker(!1);return}const t=e.target,a=t==null?void 0:t.closest(".day");if(!a)return;const n=a.getAttribute("data-date")||"";if(!c(n))return;const i=he(this.getAttribute("week-start"),this._resolveLocale()),s=this._direction()==="rtl",o=e.shiftKey;if(e.key==="ArrowRight"){e.preventDefault(),this._moveFocusByDays(n,s?-1:1,o);return}if(e.key==="ArrowLeft"){e.preventDefault(),this._moveFocusByDays(n,s?1:-1,o);return}if(e.key==="ArrowDown"){e.preventDefault(),this._moveFocusByDays(n,7,o);return}if(e.key==="ArrowUp"){e.preventDefault(),this._moveFocusByDays(n,-7,o);return}if(e.key==="Home"){e.preventDefault(),this._focusWeekBoundary(n,"start",i);return}if(e.key==="End"){e.preventDefault(),this._focusWeekBoundary(n,"end",i);return}if(e.key==="PageUp"){e.preventDefault(),this._moveFocusByMonths(n,e.shiftKey?-12:-1);return}if(e.key==="PageDown"){e.preventDefault(),this._moveFocusByMonths(n,e.shiftKey?12:1);return}if(e.key==="Enter"||e.key===" "){e.preventDefault();const d=a.getAttribute("data-outside")==="true",{minIso:u,maxIso:h}=this._resolveBounds();if(this._isDateBlocked(n,d,u,h))return;if(d&&this._resolveOutsideClickMode()==="navigate"){const p=c(n);this.goToMonth(p.y,p.m,"keyboard")}this._isReadonly()||this._applySelection(n,!1,"keyboard")}}render(){const e=this._resolveLocale(),t=this._translations(),a=he(this.getAttribute("week-start"),e),{year:n,month:i}=this._resolvedView(),s=this._resolveSelectionMode(),{minIso:o,maxIso:d}=this._resolveBounds(),u=this._todayIso(),h=this._resolveEventsDisplay(),p=this._eventsMax(),f=this._resolveCalendarSize(),_=this._resolveTone(),l=this._resolveState(),b=this._isInteractionDisabled(),D=this._resolveLabel();_?this.setAttribute("tone",_):this.removeAttribute("tone"),l!=="idle"?this.setAttribute("state",l):this.removeAttribute("state"),l==="loading"?this.setAttribute("aria-busy","true"):this.removeAttribute("aria-busy"),this._ensureEventsCache();const y=this._normalizeValueForMode(s),X=this._buildCells(n,i,a,o,d,u);this._focusedIso=this._resolveFocusIso(X,y,u);const G=this._monthLabel(n,i,e),Q=L({y:n,m:i,d:1},-1),ee=L({y:n,m:i,d:1},1),xe=this._monthHasAllowedDay(Q.y,Q.m,o,d),ke=this._monthHasAllowedDay(ee.y,ee.m,o,d),we=this._weekdayLabels(e,a),I=s==="range"?y:null,S=(I==null?void 0:I.start)||null,M=(I==null?void 0:I.end)||null,U=s==="multiple"?new Set(y.values):null;let N=null,Y=null;if(s==="range"&&S&&!M&&this._hoverIso&&c(this._hoverIso)){const x=E(S,this._hoverIso);N=x.start,Y=x.end}const te=[];for(let x=0;x<6;x+=1){const A=X.slice(x*7,x*7+7).map(g=>{const w=this._eventsByDateCache.get(g.iso)||[],Ae=this._dayAriaLabel(g.iso,e);let T=!1;s==="single"?T=y.value===g.iso:s==="multiple"?T=(U==null?void 0:U.has(g.iso))||!1:S&&M&&(T=J(g.iso,S,M));const R=!!(S&&M&&J(g.iso,S,M)),j=!!(S&&g.iso===S),V=!!(M&&g.iso===M),Te=!!(N&&Y&&J(g.iso,N,Y)),Re=!g.disabled&&g.iso===this._focusedIso?0:-1;let C="";w.length>0&&(h==="count"?C=`<span class="event-count" part="event-more" style="--event-tone:${K[w[0].tone||"default"]}">${w.length}</span>`:h==="badges"?C=w.slice(0,p).map($=>{const q=m($.title||t.event);return`<span class="event-badge" part="event-dot" style="--event-tone:${K[$.tone||"default"]}" title="${q}">${q}</span>`}).join(""):C=w.slice(0,p).map($=>`<span class="event-dot" part="event-dot" style="--event-tone:${K[$.tone||"default"]}"></span>`).join(""),w.length>p&&h!=="count"&&(C+=`<span class="event-more" part="event-more">+${w.length-p}</span>`));const re=`ui-calendar-tip-${g.iso}`,ie=w.length?w.map(z=>m(z.title||t.event)).join("<br/>"):"",se=ie.length>0,ze=C?`<span class="events" part="events">${C}</span>`:"",$e=se?`<span class="tooltip" part="tooltip" id="${re}">${ie}</span>`:"",oe=T||R||j||V;return`
644
+ <button
645
+ type="button"
646
+ class="day"
647
+ part="${R||j||V?"day range":"day"}"
648
+ role="gridcell"
649
+ data-date="${g.iso}"
650
+ data-outside="${g.outside?"true":"false"}"
651
+ data-disabled="${g.disabled?"true":"false"}"
652
+ data-today="${g.today?"true":"false"}"
653
+ data-selected="${oe?"true":"false"}"
654
+ data-range="${R?"true":"false"}"
655
+ data-range-start="${j?"true":"false"}"
656
+ data-range-end="${V?"true":"false"}"
657
+ data-range-preview="${!R&&Te?"true":"false"}"
658
+ aria-selected="${oe?"true":"false"}"
659
+ aria-disabled="${g.disabled?"true":"false"}"
660
+ ${g.today?'aria-current="date"':""}
661
+ aria-label="${m(Ae)}"
662
+ ${se?`aria-describedby="${re}"`:""}
663
+ tabindex="${Re}"
664
+ >
665
+ <span class="day-number" part="day-number">${g.parts.d}</span>
666
+ ${ze}
667
+ ${$e}
668
+ </button>
669
+ `}).join("");te.push(`<div class="week" role="row">${A}</div>`)}const De=this._monthPickerLabels(e).map((x,ne)=>{const A=ne+1;return`
670
+ <button
671
+ type="button"
672
+ class="picker-month"
673
+ part="monthyear"
674
+ data-action="pick-month"
675
+ data-month="${A}"
676
+ data-active="${A===i?"true":"false"}"
677
+ ${b?"disabled":""}
678
+ >
679
+ ${x}
680
+ </button>
681
+ `}).join(""),Se=we.map(x=>`<span class="weekday" part="weekday" role="columnheader">${m(x)}</span>`).join(""),Me=this._showTodayButton()?`<button type="button" class="today-btn" part="today" data-action="today" ${b?"disabled":""}>${m(t.today)}</button>`:"",ae=l==="loading"?t.syncingSchedule:l==="error"?t.unableToSyncEvents:l==="success"?t.scheduleSynced:"";this.setContent(`
682
+ <style>${Ne}</style>
683
+ <section
684
+ class="frame"
685
+ part="frame"
686
+ data-size="${f}"
687
+ data-state="${l}"
688
+ aria-disabled="${b?"true":"false"}"
689
+ aria-label="${m(D)}"
690
+ >
691
+ <div class="live-region" aria-live="polite" aria-atomic="true">${m(G)}</div>
692
+
693
+ <header class="header" part="header">
694
+ <div class="nav" part="nav">
695
+ <button type="button" class="nav-btn" part="prev" data-action="prev-month" ${!xe||b?"disabled":""} aria-label="${m(t.previousMonth)}">
696
+ <svg viewBox="0 0 24 24" width="14" height="14" aria-hidden="true" focusable="false"><path d="M14.7 6.3a1 1 0 0 1 0 1.4L10.41 12l4.29 4.3a1 1 0 1 1-1.42 1.4l-5-5a1 1 0 0 1 0-1.4l5-5a1 1 0 0 1 1.42 0Z" fill="currentColor"/></svg>
697
+ </button>
698
+ <button type="button" class="nav-btn" part="next" data-action="next-month" ${!ke||b?"disabled":""} aria-label="${m(t.nextMonth)}">
699
+ <svg viewBox="0 0 24 24" width="14" height="14" aria-hidden="true" focusable="false"><path d="M9.3 17.7a1 1 0 0 1 0-1.4L13.59 12 9.3 7.7a1 1 0 0 1 1.4-1.4l5 5a1 1 0 0 1 0 1.4l-5 5a1 1 0 0 1-1.4 0Z" fill="currentColor"/></svg>
700
+ </button>
701
+ </div>
702
+
703
+ <div class="title-wrap">
704
+ <button
705
+ type="button"
706
+ class="title-btn"
707
+ part="title monthyear"
708
+ data-action="toggle-monthyear"
709
+ ${b?"disabled":""}
710
+ aria-expanded="${this._pickerOpen?"true":"false"}"
711
+ aria-label="${m(t.chooseMonthYear)}"
712
+ >
713
+ <span>${m(G)}</span>
714
+ <svg viewBox="0 0 24 24" width="14" height="14" aria-hidden="true" focusable="false"><path d="M6.7 9.7a1 1 0 0 1 1.4 0L12 13.59l3.9-3.9a1 1 0 1 1 1.4 1.42l-4.6 4.6a1 1 0 0 1-1.4 0l-4.6-4.6a1 1 0 0 1 0-1.42Z" fill="currentColor"/></svg>
715
+ </button>
716
+ <section class="monthyear-pop" part="monthyear" ${this._pickerOpen?"":"hidden"}>
717
+ <div class="picker-header">
718
+ <button type="button" class="picker-year-btn" part="prev" data-action="picker-prev-year" ${b?"disabled":""} aria-label="${m(t.previousYear)}">-</button>
719
+ <span class="picker-year">${n}</span>
720
+ <button type="button" class="picker-year-btn" part="next" data-action="picker-next-year" ${b?"disabled":""} aria-label="${m(t.nextYear)}">+</button>
721
+ </div>
722
+ <div class="picker-months">${De}</div>
723
+ </section>
724
+ </div>
725
+
726
+ <div class="header-actions">
727
+ ${Me}
728
+ </div>
729
+ </header>
730
+
731
+ <div class="status" part="status" ${ae?"":"hidden"}>
732
+ <span class="status-dot" aria-hidden="true"></span>
733
+ <span>${m(ae)}</span>
734
+ </div>
735
+
736
+ <section class="grid-wrap" part="grid" role="grid" aria-label="${m(D)}">
737
+ <div class="weekdays" role="row">${Se}</div>
738
+ ${te.join("")}
739
+ </section>
740
+ </section>
741
+ `);const Ie=this._focusedIso,Ce=this._shouldRefocus;this._shouldRefocus=!1,Ce&&queueMicrotask(()=>{this.isConnected&&this._focusDateButton(Ie)})}shouldRenderOnAttributeChange(e,t,a){return!1}}typeof customElements<"u"&&!customElements.get("ui-calendar")&&customElements.define("ui-calendar",_e);exports.UICalendar=_e;exports.addDaysISO=ve;exports.addMonthsISO=me;exports.compareISO=k;exports.endOfMonth=ye;exports.parseISO=c;exports.resolveDateTimeTranslations=ge;exports.startOfMonth=W;