@editora/ui-core 0.1.9 → 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 (521) 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/accordion.cjs.js +360 -0
  5. package/dist/accordion.esm.js +647 -0
  6. package/dist/alert-dialog.cjs.js +567 -0
  7. package/dist/alert-dialog.esm.js +1043 -0
  8. package/dist/alert.cjs.js +351 -0
  9. package/dist/alert.esm.js +450 -0
  10. package/dist/anchor.cjs.js +30 -0
  11. package/dist/anchor.esm.js +62 -0
  12. package/dist/animated-beam.cjs.js +720 -0
  13. package/dist/animated-beam.esm.js +1540 -0
  14. package/dist/animated-list.cjs.js +672 -0
  15. package/dist/animated-list.esm.js +1137 -0
  16. package/dist/animated-text.cjs.js +683 -0
  17. package/dist/animated-text.esm.js +1020 -0
  18. package/dist/app-header.cjs.js +345 -0
  19. package/dist/app-header.esm.js +398 -0
  20. package/dist/aspect-ratio.cjs.js +294 -0
  21. package/dist/aspect-ratio.esm.js +416 -0
  22. package/dist/avatar.cjs.js +365 -0
  23. package/dist/avatar.esm.js +513 -0
  24. package/dist/badge.cjs.js +432 -0
  25. package/dist/badge.esm.js +554 -0
  26. package/dist/block-controls.cjs.js +347 -0
  27. package/dist/block-controls.esm.js +556 -0
  28. package/dist/box.cjs.js +226 -0
  29. package/dist/box.esm.js +556 -0
  30. package/dist/breadcrumb.cjs.js +288 -0
  31. package/dist/breadcrumb.esm.js +523 -0
  32. package/dist/button.cjs.js +521 -0
  33. package/dist/button.esm.js +671 -0
  34. package/dist/calendar-2c11b824.mjs +1685 -0
  35. package/dist/calendar-a8735e40.js +741 -0
  36. package/dist/calendar.cjs.js +1 -0
  37. package/dist/calendar.esm.js +11 -0
  38. package/dist/card.cjs.js +306 -0
  39. package/dist/card.esm.js +378 -0
  40. package/dist/chart.cjs.js +783 -0
  41. package/dist/chart.esm.js +1369 -0
  42. package/dist/checkbox.cjs.js +338 -0
  43. package/dist/checkbox.esm.js +455 -0
  44. package/dist/collapsible.cjs.js +381 -0
  45. package/dist/collapsible.esm.js +548 -0
  46. package/dist/collection-a1aac0c6.mjs +56 -0
  47. package/dist/collection-a2969ad2.js +1 -0
  48. package/dist/collection.cjs.js +1 -0
  49. package/dist/collection.esm.js +136 -0
  50. package/dist/color-picker.cjs.js +803 -0
  51. package/dist/color-picker.esm.js +1809 -0
  52. package/dist/combobox.cjs.js +525 -0
  53. package/dist/combobox.esm.js +1023 -0
  54. package/dist/command-palette.cjs.js +67 -0
  55. package/dist/command-palette.esm.js +181 -0
  56. package/dist/command.cjs.js +130 -0
  57. package/dist/command.esm.js +307 -0
  58. package/dist/container.cjs.js +115 -0
  59. package/dist/container.esm.js +156 -0
  60. package/dist/context-menu.cjs.js +357 -0
  61. package/dist/context-menu.esm.js +1204 -0
  62. package/dist/control-group.cjs.js +80 -0
  63. package/dist/control-group.esm.js +110 -0
  64. package/dist/data-table.cjs.js +682 -0
  65. package/dist/data-table.esm.js +1660 -0
  66. package/dist/date-field.cjs.js +142 -0
  67. package/dist/date-field.esm.js +384 -0
  68. package/dist/date-picker.cjs.js +570 -0
  69. package/dist/date-picker.esm.js +1067 -0
  70. package/dist/date-range-picker.cjs.js +455 -0
  71. package/dist/date-range-picker.esm.js +973 -0
  72. package/dist/date-range-time-picker.cjs.js +573 -0
  73. package/dist/date-range-time-picker.esm.js +1137 -0
  74. package/dist/date-time-picker.cjs.js +495 -0
  75. package/dist/date-time-picker.esm.js +1062 -0
  76. package/dist/date-time-utils-5cf58cd0.js +1 -0
  77. package/dist/date-time-utils-bdceb7af.mjs +273 -0
  78. package/dist/description.cjs.js +85 -0
  79. package/dist/description.esm.js +136 -0
  80. package/dist/dialog.cjs.js +406 -0
  81. package/dist/dialog.esm.js +822 -0
  82. package/dist/direction-provider.cjs.js +30 -0
  83. package/dist/direction-provider.esm.js +74 -0
  84. package/dist/dismissable-layer-193e3bed.js +1 -0
  85. package/dist/dismissable-layer-9c7e6b58.mjs +112 -0
  86. package/dist/dismissable-layer.cjs.js +6 -0
  87. package/dist/dismissable-layer.esm.js +115 -0
  88. package/dist/dock.cjs.js +347 -0
  89. package/dist/dock.esm.js +826 -0
  90. package/dist/drawer.cjs.js +538 -0
  91. package/dist/drawer.esm.js +872 -0
  92. package/dist/dropdown.cjs.js +511 -0
  93. package/dist/dropdown.esm.js +1084 -0
  94. package/dist/dropzone.cjs.js +1 -0
  95. package/dist/dropzone.esm.js +11 -0
  96. package/dist/empty-state.cjs.js +169 -0
  97. package/dist/empty-state.esm.js +199 -0
  98. package/dist/field-error.cjs.js +74 -0
  99. package/dist/field-error.esm.js +125 -0
  100. package/dist/field.cjs.js +398 -0
  101. package/dist/field.esm.js +542 -0
  102. package/dist/fieldset.cjs.js +214 -0
  103. package/dist/fieldset.esm.js +298 -0
  104. package/dist/file-upload.cjs.js +353 -0
  105. package/dist/file-upload.esm.js +740 -0
  106. package/dist/flex.cjs.js +54 -0
  107. package/dist/flex.esm.js +168 -0
  108. package/dist/floating-toolbar.cjs.js +223 -0
  109. package/dist/floating-toolbar.esm.js +513 -0
  110. package/dist/focus-scope-103833ee.mjs +147 -0
  111. package/dist/focus-scope-2b12b4e7.js +1 -0
  112. package/dist/focus-scope.cjs.js +6 -0
  113. package/dist/focus-scope.esm.js +97 -0
  114. package/dist/form.cjs.js +377 -0
  115. package/dist/form.esm.js +862 -0
  116. package/dist/gantt.cjs.js +157 -0
  117. package/dist/gantt.esm.js +214 -0
  118. package/dist/grid.cjs.js +67 -0
  119. package/dist/grid.esm.js +211 -0
  120. package/dist/hover-card.cjs.js +284 -0
  121. package/dist/hover-card.esm.js +470 -0
  122. package/dist/icon-9ed13093.mjs +364 -0
  123. package/dist/icon-cloud.cjs.js +495 -0
  124. package/dist/icon-cloud.esm.js +828 -0
  125. package/dist/icon-eaa486b3.js +207 -0
  126. package/dist/icon.cjs.js +1 -0
  127. package/dist/icon.esm.js +6 -0
  128. package/dist/index.cjs.js +1 -36010
  129. package/dist/index.esm.js +440 -66615
  130. package/dist/inline-edit.cjs.js +118 -0
  131. package/dist/inline-edit.esm.js +206 -0
  132. package/dist/input.cjs.js +535 -0
  133. package/dist/input.esm.js +790 -0
  134. package/dist/label.cjs.js +195 -0
  135. package/dist/label.esm.js +301 -0
  136. package/dist/layout.cjs.js +266 -0
  137. package/dist/layout.esm.js +408 -0
  138. package/dist/listbox-308789a0.mjs +210 -0
  139. package/dist/listbox-ef2f708e.js +46 -0
  140. package/dist/listbox.cjs.js +1 -0
  141. package/dist/listbox.esm.js +6 -0
  142. package/dist/marquee.cjs.js +513 -0
  143. package/dist/marquee.esm.js +767 -0
  144. package/dist/masonry-grid.cjs.js +65 -0
  145. package/dist/masonry-grid.esm.js +180 -0
  146. package/dist/menu-item-styles-27fdbac4.mjs +181 -0
  147. package/dist/menu-item-styles-83ad1e22.js +152 -0
  148. package/dist/menu.cjs.js +275 -0
  149. package/dist/menu.esm.js +743 -0
  150. package/dist/menubar.cjs.js +455 -0
  151. package/dist/menubar.esm.js +1195 -0
  152. package/dist/meter.cjs.js +241 -0
  153. package/dist/meter.esm.js +334 -0
  154. package/dist/multi-select.cjs.js +549 -0
  155. package/dist/multi-select.esm.js +914 -0
  156. package/dist/navigation-menu.cjs.js +382 -0
  157. package/dist/navigation-menu.esm.js +614 -0
  158. package/dist/number-field.cjs.js +351 -0
  159. package/dist/number-field.esm.js +771 -0
  160. package/dist/number-ticker.cjs.js +209 -0
  161. package/dist/number-ticker.esm.js +749 -0
  162. package/dist/odometer.cjs.js +313 -0
  163. package/dist/odometer.esm.js +565 -0
  164. package/dist/orbiter.cjs.js +495 -0
  165. package/dist/orbiter.esm.js +831 -0
  166. package/dist/overlayManager-86454af7.mjs +58 -0
  167. package/dist/overlayManager-ece06517.js +1 -0
  168. package/dist/pagination.cjs.js +201 -0
  169. package/dist/pagination.esm.js +297 -0
  170. package/dist/panel-group-40254cdd.js +36 -0
  171. package/dist/panel-group-a376cc5e.mjs +326 -0
  172. package/dist/panel-group.cjs.js +1 -0
  173. package/dist/panel-group.esm.js +7 -0
  174. package/dist/panel.cjs.js +22 -0
  175. package/dist/panel.esm.js +46 -0
  176. package/dist/password-field.cjs.js +626 -0
  177. package/dist/password-field.esm.js +925 -0
  178. package/dist/pin-input.cjs.js +185 -0
  179. package/dist/pin-input.esm.js +412 -0
  180. package/dist/placement-grid.cjs.js +99 -0
  181. package/dist/placement-grid.esm.js +486 -0
  182. package/dist/plugin-panel.cjs.js +131 -0
  183. package/dist/plugin-panel.esm.js +173 -0
  184. package/dist/popover.cjs.js +286 -0
  185. package/dist/popover.esm.js +483 -0
  186. package/dist/portal-1cf392ca.mjs +114 -0
  187. package/dist/portal-d8d7fbca.js +1 -0
  188. package/dist/portal.cjs.js +39 -0
  189. package/dist/portal.esm.js +187 -0
  190. package/dist/positioner-accc6e5f.js +1 -0
  191. package/dist/positioner-fbd61bf1.mjs +132 -0
  192. package/dist/positioner.cjs.js +6 -0
  193. package/dist/positioner.esm.js +137 -0
  194. package/dist/presence.cjs.js +164 -0
  195. package/dist/presence.esm.js +301 -0
  196. package/dist/progress.cjs.js +329 -0
  197. package/dist/progress.esm.js +453 -0
  198. package/dist/quick-actions.cjs.js +202 -0
  199. package/dist/quick-actions.esm.js +357 -0
  200. package/dist/radio-group.cjs.js +257 -0
  201. package/dist/radio-group.esm.js +477 -0
  202. package/dist/rating.cjs.js +355 -0
  203. package/dist/rating.esm.js +637 -0
  204. package/dist/roving-focus-group-4350c9a7.mjs +50 -0
  205. package/dist/roving-focus-group-5c059bf9.js +1 -0
  206. package/dist/roving-focus-group.cjs.js +1 -0
  207. package/dist/roving-focus-group.esm.js +72 -0
  208. package/dist/{runtime-3cc1c386.mjs → runtime-4ac0107b.mjs} +348 -459
  209. package/dist/runtime-5f282bc8.js +1 -0
  210. package/dist/runtime.cjs.js +1 -1
  211. package/dist/runtime.esm.js +24 -23
  212. package/dist/scroll-area.cjs.js +294 -0
  213. package/dist/scroll-area.esm.js +478 -0
  214. package/dist/scroll-lock-48793569.js +1 -0
  215. package/dist/scroll-lock-9de6d328.mjs +53 -0
  216. package/dist/section.cjs.js +167 -0
  217. package/dist/section.esm.js +202 -0
  218. package/dist/select.cjs.js +799 -0
  219. package/dist/select.esm.js +1266 -0
  220. package/dist/selection-popup.cjs.js +203 -0
  221. package/dist/selection-popup.esm.js +392 -0
  222. package/dist/separator.cjs.js +221 -0
  223. package/dist/separator.esm.js +241 -0
  224. package/dist/sidebar.cjs.js +769 -0
  225. package/dist/sidebar.esm.js +1219 -0
  226. package/dist/skeleton.cjs.js +205 -0
  227. package/dist/skeleton.esm.js +249 -0
  228. package/dist/slider.cjs.js +493 -0
  229. package/dist/slider.esm.js +694 -0
  230. package/dist/slot.cjs.js +159 -0
  231. package/dist/slot.esm.js +227 -0
  232. package/dist/sortable.cjs.js +855 -1
  233. package/dist/sortable.esm.js +2176 -2
  234. package/dist/spinning-text.cjs.js +395 -0
  235. package/dist/spinning-text.esm.js +635 -0
  236. package/dist/split-button.cjs.js +410 -0
  237. package/dist/split-button.esm.js +619 -0
  238. package/dist/splitter.cjs.js +70 -0
  239. package/dist/splitter.esm.js +105 -0
  240. package/dist/standalone/accordion.d.ts +2 -0
  241. package/dist/standalone/accordion.d.ts.map +1 -0
  242. package/dist/standalone/alert-dialog.d.ts +2 -0
  243. package/dist/standalone/alert-dialog.d.ts.map +1 -0
  244. package/dist/standalone/alert.d.ts +2 -0
  245. package/dist/standalone/alert.d.ts.map +1 -0
  246. package/dist/standalone/anchor.d.ts +2 -0
  247. package/dist/standalone/anchor.d.ts.map +1 -0
  248. package/dist/standalone/animated-beam.d.ts +2 -0
  249. package/dist/standalone/animated-beam.d.ts.map +1 -0
  250. package/dist/standalone/animated-list.d.ts +2 -0
  251. package/dist/standalone/animated-list.d.ts.map +1 -0
  252. package/dist/standalone/animated-text.d.ts +2 -0
  253. package/dist/standalone/animated-text.d.ts.map +1 -0
  254. package/dist/standalone/app-header.d.ts +2 -0
  255. package/dist/standalone/app-header.d.ts.map +1 -0
  256. package/dist/standalone/aspect-ratio.d.ts +2 -0
  257. package/dist/standalone/aspect-ratio.d.ts.map +1 -0
  258. package/dist/standalone/avatar.d.ts +2 -0
  259. package/dist/standalone/avatar.d.ts.map +1 -0
  260. package/dist/standalone/badge.d.ts +2 -0
  261. package/dist/standalone/badge.d.ts.map +1 -0
  262. package/dist/standalone/block-controls.d.ts +2 -0
  263. package/dist/standalone/block-controls.d.ts.map +1 -0
  264. package/dist/standalone/box.d.ts +2 -0
  265. package/dist/standalone/box.d.ts.map +1 -0
  266. package/dist/standalone/breadcrumb.d.ts +2 -0
  267. package/dist/standalone/breadcrumb.d.ts.map +1 -0
  268. package/dist/standalone/button.d.ts +2 -0
  269. package/dist/standalone/button.d.ts.map +1 -0
  270. package/dist/standalone/calendar.d.ts +2 -0
  271. package/dist/standalone/calendar.d.ts.map +1 -0
  272. package/dist/standalone/card.d.ts +2 -0
  273. package/dist/standalone/card.d.ts.map +1 -0
  274. package/dist/standalone/chart.d.ts +2 -0
  275. package/dist/standalone/chart.d.ts.map +1 -0
  276. package/dist/standalone/checkbox.d.ts +2 -0
  277. package/dist/standalone/checkbox.d.ts.map +1 -0
  278. package/dist/standalone/collapsible.d.ts +2 -0
  279. package/dist/standalone/collapsible.d.ts.map +1 -0
  280. package/dist/standalone/collection.d.ts +2 -0
  281. package/dist/standalone/collection.d.ts.map +1 -0
  282. package/dist/standalone/color-picker.d.ts +2 -0
  283. package/dist/standalone/color-picker.d.ts.map +1 -0
  284. package/dist/standalone/combobox.d.ts +2 -0
  285. package/dist/standalone/combobox.d.ts.map +1 -0
  286. package/dist/standalone/command-palette.d.ts +2 -0
  287. package/dist/standalone/command-palette.d.ts.map +1 -0
  288. package/dist/standalone/command.d.ts +2 -0
  289. package/dist/standalone/command.d.ts.map +1 -0
  290. package/dist/standalone/container.d.ts +2 -0
  291. package/dist/standalone/container.d.ts.map +1 -0
  292. package/dist/standalone/context-menu.d.ts +2 -0
  293. package/dist/standalone/context-menu.d.ts.map +1 -0
  294. package/dist/standalone/control-group.d.ts +2 -0
  295. package/dist/standalone/control-group.d.ts.map +1 -0
  296. package/dist/standalone/data-table.d.ts +2 -0
  297. package/dist/standalone/data-table.d.ts.map +1 -0
  298. package/dist/standalone/date-field.d.ts +2 -0
  299. package/dist/standalone/date-field.d.ts.map +1 -0
  300. package/dist/standalone/date-picker.d.ts +2 -0
  301. package/dist/standalone/date-picker.d.ts.map +1 -0
  302. package/dist/standalone/date-range-picker.d.ts +2 -0
  303. package/dist/standalone/date-range-picker.d.ts.map +1 -0
  304. package/dist/standalone/date-range-time-picker.d.ts +2 -0
  305. package/dist/standalone/date-range-time-picker.d.ts.map +1 -0
  306. package/dist/standalone/date-time-picker.d.ts +2 -0
  307. package/dist/standalone/date-time-picker.d.ts.map +1 -0
  308. package/dist/standalone/description.d.ts +2 -0
  309. package/dist/standalone/description.d.ts.map +1 -0
  310. package/dist/standalone/dialog.d.ts +2 -0
  311. package/dist/standalone/dialog.d.ts.map +1 -0
  312. package/dist/standalone/direction-provider.d.ts +2 -0
  313. package/dist/standalone/direction-provider.d.ts.map +1 -0
  314. package/dist/standalone/dismissable-layer.d.ts +2 -0
  315. package/dist/standalone/dismissable-layer.d.ts.map +1 -0
  316. package/dist/standalone/dock.d.ts +2 -0
  317. package/dist/standalone/dock.d.ts.map +1 -0
  318. package/dist/standalone/drawer.d.ts +2 -0
  319. package/dist/standalone/drawer.d.ts.map +1 -0
  320. package/dist/standalone/dropdown.d.ts +2 -0
  321. package/dist/standalone/dropdown.d.ts.map +1 -0
  322. package/dist/standalone/dropzone.d.ts +2 -0
  323. package/dist/standalone/dropzone.d.ts.map +1 -0
  324. package/dist/standalone/empty-state.d.ts +2 -0
  325. package/dist/standalone/empty-state.d.ts.map +1 -0
  326. package/dist/standalone/field-error.d.ts +2 -0
  327. package/dist/standalone/field-error.d.ts.map +1 -0
  328. package/dist/standalone/field.d.ts +2 -0
  329. package/dist/standalone/field.d.ts.map +1 -0
  330. package/dist/standalone/fieldset.d.ts +2 -0
  331. package/dist/standalone/fieldset.d.ts.map +1 -0
  332. package/dist/standalone/file-upload.d.ts +2 -0
  333. package/dist/standalone/file-upload.d.ts.map +1 -0
  334. package/dist/standalone/flex.d.ts +2 -0
  335. package/dist/standalone/flex.d.ts.map +1 -0
  336. package/dist/standalone/floating-toolbar.d.ts +2 -0
  337. package/dist/standalone/floating-toolbar.d.ts.map +1 -0
  338. package/dist/standalone/focus-scope.d.ts +2 -0
  339. package/dist/standalone/focus-scope.d.ts.map +1 -0
  340. package/dist/standalone/form.d.ts +2 -0
  341. package/dist/standalone/form.d.ts.map +1 -0
  342. package/dist/standalone/gantt.d.ts +2 -0
  343. package/dist/standalone/gantt.d.ts.map +1 -0
  344. package/dist/standalone/grid.d.ts +2 -0
  345. package/dist/standalone/grid.d.ts.map +1 -0
  346. package/dist/standalone/hover-card.d.ts +2 -0
  347. package/dist/standalone/hover-card.d.ts.map +1 -0
  348. package/dist/standalone/icon-cloud.d.ts +2 -0
  349. package/dist/standalone/icon-cloud.d.ts.map +1 -0
  350. package/dist/standalone/icon.d.ts +2 -0
  351. package/dist/standalone/icon.d.ts.map +1 -0
  352. package/dist/standalone/inline-edit.d.ts +2 -0
  353. package/dist/standalone/inline-edit.d.ts.map +1 -0
  354. package/dist/standalone/input.d.ts +2 -0
  355. package/dist/standalone/input.d.ts.map +1 -0
  356. package/dist/standalone/label.d.ts +2 -0
  357. package/dist/standalone/label.d.ts.map +1 -0
  358. package/dist/standalone/layout.d.ts +2 -0
  359. package/dist/standalone/layout.d.ts.map +1 -0
  360. package/dist/standalone/listbox.d.ts +2 -0
  361. package/dist/standalone/listbox.d.ts.map +1 -0
  362. package/dist/standalone/marquee.d.ts +2 -0
  363. package/dist/standalone/marquee.d.ts.map +1 -0
  364. package/dist/standalone/masonry-grid.d.ts +2 -0
  365. package/dist/standalone/masonry-grid.d.ts.map +1 -0
  366. package/dist/standalone/menu.d.ts +2 -0
  367. package/dist/standalone/menu.d.ts.map +1 -0
  368. package/dist/standalone/menubar.d.ts +2 -0
  369. package/dist/standalone/menubar.d.ts.map +1 -0
  370. package/dist/standalone/meter.d.ts +2 -0
  371. package/dist/standalone/meter.d.ts.map +1 -0
  372. package/dist/standalone/multi-select.d.ts +2 -0
  373. package/dist/standalone/multi-select.d.ts.map +1 -0
  374. package/dist/standalone/navigation-menu.d.ts +2 -0
  375. package/dist/standalone/navigation-menu.d.ts.map +1 -0
  376. package/dist/standalone/number-field.d.ts +2 -0
  377. package/dist/standalone/number-field.d.ts.map +1 -0
  378. package/dist/standalone/number-ticker.d.ts +2 -0
  379. package/dist/standalone/number-ticker.d.ts.map +1 -0
  380. package/dist/standalone/odometer.d.ts +2 -0
  381. package/dist/standalone/odometer.d.ts.map +1 -0
  382. package/dist/standalone/orbiter.d.ts +2 -0
  383. package/dist/standalone/orbiter.d.ts.map +1 -0
  384. package/dist/standalone/pagination.d.ts +2 -0
  385. package/dist/standalone/pagination.d.ts.map +1 -0
  386. package/dist/standalone/panel-group.d.ts +2 -0
  387. package/dist/standalone/panel-group.d.ts.map +1 -0
  388. package/dist/standalone/panel.d.ts +2 -0
  389. package/dist/standalone/panel.d.ts.map +1 -0
  390. package/dist/standalone/password-field.d.ts +2 -0
  391. package/dist/standalone/password-field.d.ts.map +1 -0
  392. package/dist/standalone/pin-input.d.ts +2 -0
  393. package/dist/standalone/pin-input.d.ts.map +1 -0
  394. package/dist/standalone/placement-grid.d.ts +2 -0
  395. package/dist/standalone/placement-grid.d.ts.map +1 -0
  396. package/dist/standalone/plugin-panel.d.ts +2 -0
  397. package/dist/standalone/plugin-panel.d.ts.map +1 -0
  398. package/dist/standalone/popover.d.ts +2 -0
  399. package/dist/standalone/popover.d.ts.map +1 -0
  400. package/dist/standalone/portal.d.ts +2 -0
  401. package/dist/standalone/portal.d.ts.map +1 -0
  402. package/dist/standalone/positioner.d.ts +2 -0
  403. package/dist/standalone/positioner.d.ts.map +1 -0
  404. package/dist/standalone/presence.d.ts +2 -0
  405. package/dist/standalone/presence.d.ts.map +1 -0
  406. package/dist/standalone/progress.d.ts +2 -0
  407. package/dist/standalone/progress.d.ts.map +1 -0
  408. package/dist/standalone/quick-actions.d.ts +2 -0
  409. package/dist/standalone/quick-actions.d.ts.map +1 -0
  410. package/dist/standalone/radio-group.d.ts +2 -0
  411. package/dist/standalone/radio-group.d.ts.map +1 -0
  412. package/dist/standalone/rating.d.ts +2 -0
  413. package/dist/standalone/rating.d.ts.map +1 -0
  414. package/dist/standalone/roving-focus-group.d.ts +2 -0
  415. package/dist/standalone/roving-focus-group.d.ts.map +1 -0
  416. package/dist/standalone/scroll-area.d.ts +2 -0
  417. package/dist/standalone/scroll-area.d.ts.map +1 -0
  418. package/dist/standalone/section.d.ts +2 -0
  419. package/dist/standalone/section.d.ts.map +1 -0
  420. package/dist/standalone/select.d.ts +2 -0
  421. package/dist/standalone/select.d.ts.map +1 -0
  422. package/dist/standalone/selection-popup.d.ts +2 -0
  423. package/dist/standalone/selection-popup.d.ts.map +1 -0
  424. package/dist/standalone/separator.d.ts +2 -0
  425. package/dist/standalone/separator.d.ts.map +1 -0
  426. package/dist/standalone/sidebar.d.ts +2 -0
  427. package/dist/standalone/sidebar.d.ts.map +1 -0
  428. package/dist/standalone/skeleton.d.ts +2 -0
  429. package/dist/standalone/skeleton.d.ts.map +1 -0
  430. package/dist/standalone/slider.d.ts +2 -0
  431. package/dist/standalone/slider.d.ts.map +1 -0
  432. package/dist/standalone/slot.d.ts +2 -0
  433. package/dist/standalone/slot.d.ts.map +1 -0
  434. package/dist/standalone/spinning-text.d.ts +2 -0
  435. package/dist/standalone/spinning-text.d.ts.map +1 -0
  436. package/dist/standalone/split-button.d.ts +2 -0
  437. package/dist/standalone/split-button.d.ts.map +1 -0
  438. package/dist/standalone/splitter.d.ts +2 -0
  439. package/dist/standalone/splitter.d.ts.map +1 -0
  440. package/dist/standalone/stepper.d.ts +2 -0
  441. package/dist/standalone/stepper.d.ts.map +1 -0
  442. package/dist/standalone/switch.d.ts +2 -0
  443. package/dist/standalone/switch.d.ts.map +1 -0
  444. package/dist/standalone/table.d.ts +2 -0
  445. package/dist/standalone/table.d.ts.map +1 -0
  446. package/dist/standalone/tabs.d.ts +2 -0
  447. package/dist/standalone/tabs.d.ts.map +1 -0
  448. package/dist/standalone/tags-input.d.ts +2 -0
  449. package/dist/standalone/tags-input.d.ts.map +1 -0
  450. package/dist/standalone/textarea.d.ts +2 -0
  451. package/dist/standalone/textarea.d.ts.map +1 -0
  452. package/dist/standalone/time-field.d.ts +2 -0
  453. package/dist/standalone/time-field.d.ts.map +1 -0
  454. package/dist/standalone/time-picker.d.ts +2 -0
  455. package/dist/standalone/time-picker.d.ts.map +1 -0
  456. package/dist/standalone/timeline.d.ts +2 -0
  457. package/dist/standalone/timeline.d.ts.map +1 -0
  458. package/dist/standalone/toast.d.ts +2 -0
  459. package/dist/standalone/toast.d.ts.map +1 -0
  460. package/dist/standalone/toggle-group.d.ts +2 -0
  461. package/dist/standalone/toggle-group.d.ts.map +1 -0
  462. package/dist/standalone/toggle.d.ts +2 -0
  463. package/dist/standalone/toggle.d.ts.map +1 -0
  464. package/dist/standalone/toolbar.d.ts +2 -0
  465. package/dist/standalone/toolbar.d.ts.map +1 -0
  466. package/dist/standalone/tooltip.d.ts +2 -0
  467. package/dist/standalone/tooltip.d.ts.map +1 -0
  468. package/dist/standalone/transfer-list.d.ts +2 -0
  469. package/dist/standalone/transfer-list.d.ts.map +1 -0
  470. package/dist/standalone/tree-item.d.ts +2 -0
  471. package/dist/standalone/tree-item.d.ts.map +1 -0
  472. package/dist/standalone/tree.d.ts +2 -0
  473. package/dist/standalone/tree.d.ts.map +1 -0
  474. package/dist/standalone/visually-hidden.d.ts +2 -0
  475. package/dist/standalone/visually-hidden.d.ts.map +1 -0
  476. package/dist/standalone/wizard.d.ts +2 -0
  477. package/dist/standalone/wizard.d.ts.map +1 -0
  478. package/dist/stepper.cjs.js +337 -0
  479. package/dist/stepper.esm.js +578 -0
  480. package/dist/switch.cjs.js +397 -0
  481. package/dist/switch.esm.js +543 -0
  482. package/dist/table.cjs.js +212 -0
  483. package/dist/table.esm.js +432 -0
  484. package/dist/tabs.cjs.js +515 -0
  485. package/dist/tabs.esm.js +808 -0
  486. package/dist/tags-input.cjs.js +202 -0
  487. package/dist/tags-input.esm.js +436 -0
  488. package/dist/textarea.cjs.js +329 -0
  489. package/dist/textarea.esm.js +520 -0
  490. package/dist/time-field.cjs.js +142 -0
  491. package/dist/time-field.esm.js +387 -0
  492. package/dist/time-picker.cjs.js +284 -0
  493. package/dist/time-picker.esm.js +686 -0
  494. package/dist/timeline.cjs.js +198 -0
  495. package/dist/timeline.esm.js +248 -0
  496. package/dist/toast.cjs.js +234 -0
  497. package/dist/toast.esm.js +399 -0
  498. package/dist/toggle-group.cjs.js +131 -0
  499. package/dist/toggle-group.esm.js +382 -0
  500. package/dist/toggle.cjs.js +237 -0
  501. package/dist/toggle.esm.js +346 -0
  502. package/dist/toolbar.cjs.js +126 -0
  503. package/dist/toolbar.esm.js +240 -0
  504. package/dist/tooltip.cjs.js +159 -0
  505. package/dist/tooltip.esm.js +376 -0
  506. package/dist/transfer-list.cjs.js +734 -0
  507. package/dist/transfer-list.esm.js +969 -0
  508. package/dist/tree-0a7a8d05.js +39 -0
  509. package/dist/tree-dcd74a4a.mjs +294 -0
  510. package/dist/tree-item.cjs.js +103 -0
  511. package/dist/tree-item.esm.js +143 -0
  512. package/dist/tree.cjs.js +1 -0
  513. package/dist/tree.esm.js +7 -0
  514. package/dist/visually-hidden.cjs.js +42 -0
  515. package/dist/visually-hidden.esm.js +68 -0
  516. package/dist/wizard.cjs.js +677 -0
  517. package/dist/wizard.esm.js +1068 -0
  518. package/package.json +7 -1
  519. package/dist/runtime-41717c1e.js +0 -1
  520. package/dist/sortable-06a3bd6c.js +0 -855
  521. package/dist/sortable-23bf110b.mjs +0 -2254
@@ -0,0 +1,1137 @@
1
+ import { E as tt } from "./ElementBase-909688f3.mjs";
2
+ import { r as et } from "./calendar-2c11b824.mjs";
3
+ import { r as it, i as C, s as rt, b as st, h as A, j as D, f as nt, k as I, m as P, l as at, c as ot, o as k, e as lt, g as dt } from "./date-time-utils-bdceb7af.mjs";
4
+ import "./scroll-lock-9de6d328.mjs";
5
+ let ut = 0;
6
+ const ct = `
7
+ <svg viewBox="0 0 20 20" class="icon-svg" aria-hidden="true" focusable="false">
8
+ <path d="M6 2a1 1 0 0 1 1 1v1h6V3a1 1 0 1 1 2 0v1h.5A2.5 2.5 0 0 1 18 6.5v9A2.5 2.5 0 0 1 15.5 18h-11A2.5 2.5 0 0 1 2 15.5v-9A2.5 2.5 0 0 1 4.5 4H5V3a1 1 0 0 1 1-1Zm10 7H4v6.5c0 .276.224.5.5.5h11a.5.5 0 0 0 .5-.5V9ZM4.5 6a.5.5 0 0 0-.5.5V7h12v-.5a.5.5 0 0 0-.5-.5h-11Z" fill="currentColor"/>
9
+ </svg>
10
+ `, pt = `
11
+ <svg viewBox="0 0 20 20" class="icon-svg" aria-hidden="true" focusable="false">
12
+ <path d="M5.23 7.21a.75.75 0 0 1 1.06.02L10 11.12l3.71-3.9a.75.75 0 1 1 1.08 1.04l-4.25 4.47a.75.75 0 0 1-1.08 0L5.2 8.27a.75.75 0 0 1 .02-1.06Z" fill="currentColor"/>
13
+ </svg>
14
+ `, ht = `
15
+ <svg viewBox="0 0 20 20" class="icon-svg" aria-hidden="true" focusable="false">
16
+ <path d="M5.22 5.22a.75.75 0 0 1 1.06 0L10 8.94l3.72-3.72a.75.75 0 1 1 1.06 1.06L11.06 10l3.72 3.72a.75.75 0 1 1-1.06 1.06L10 11.06l-3.72 3.72a.75.75 0 1 1-1.06-1.06L8.94 10 5.22 6.28a.75.75 0 0 1 0-1.06Z" fill="currentColor"/>
17
+ </svg>
18
+ `, B = `
19
+ <svg viewBox="0 0 20 20" class="icon-svg" aria-hidden="true" focusable="false">
20
+ <path d="M10 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Zm0 1.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13Zm.75 2.75a.75.75 0 0 0-1.5 0v3.88c0 .2.08.4.22.54l2.5 2.5a.75.75 0 1 0 1.06-1.06l-2.28-2.28V6.25Z" fill="currentColor"/>
21
+ </svg>
22
+ `, mt = `
23
+ :host {
24
+ --ui-drtp-bg: color-mix(in srgb, var(--ui-color-surface, #ffffff) 96%, transparent);
25
+ --ui-drtp-surface: linear-gradient(
26
+ 180deg,
27
+ color-mix(in srgb, var(--ui-color-surface, #ffffff) 98%, transparent),
28
+ color-mix(in srgb, var(--ui-color-surface, #ffffff) 90%, var(--ui-color-surface-alt, #f8fafc))
29
+ );
30
+ --ui-drtp-border: color-mix(in srgb, var(--ui-color-border, #cbd5e1) 78%, transparent);
31
+ --ui-dp-text: var(--ui-color-text, #0f172a);
32
+ --ui-dp-muted: var(--ui-color-muted, #64748b);
33
+ --ui-drtp-accent: var(--ui-color-primary, #2563eb);
34
+ --ui-drtp-success: var(--ui-color-success, #16a34a);
35
+ --ui-drtp-error: var(--ui-color-danger, #dc2626);
36
+ --ui-drtp-radius: 12px;
37
+ --ui-drtp-panel-radius: 14px;
38
+ --ui-drtp-z: 1600;
39
+ --ui-drtp-shadow: none;
40
+ --ui-drtp-hit: 42px;
41
+ --ui-drtp-duration: 160ms;
42
+ --ui-drtp-ease: cubic-bezier(0.2, 0.9, 0.24, 1);
43
+ color-scheme: light dark;
44
+ display: inline-grid;
45
+ inline-size: min(100%, var(--ui-width, 420px));
46
+ min-inline-size: min(260px, 100%);
47
+ font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
48
+ color: var(--ui-dp-text);
49
+ }
50
+
51
+ :host([shape="square"]) {
52
+ --ui-drtp-radius: 6px;
53
+ --ui-drtp-panel-radius: 8px;
54
+ }
55
+
56
+ :host([shape="soft"]) {
57
+ --ui-drtp-radius: 16px;
58
+ --ui-drtp-panel-radius: 18px;
59
+ }
60
+
61
+ :host([size="sm"]) {
62
+ --ui-drtp-hit: 38px;
63
+ }
64
+
65
+ :host([size="lg"]) {
66
+ --ui-drtp-hit: 48px;
67
+ }
68
+
69
+ .root {
70
+ display: grid;
71
+ gap: 8px;
72
+ min-inline-size: 0;
73
+ }
74
+
75
+ .label {
76
+ font: 600 13px/1.35 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
77
+ color: var(--ui-dp-text);
78
+ display: inline-flex;
79
+ align-items: center;
80
+ gap: 6px;
81
+ }
82
+
83
+ .label[hidden] { display: none; }
84
+
85
+ .required {
86
+ color: var(--ui-drtp-error);
87
+ font-size: 11px;
88
+ line-height: 1;
89
+ }
90
+
91
+ .field {
92
+ display: grid;
93
+ grid-template-columns: auto minmax(0, 1fr) auto auto auto;
94
+ align-items: center;
95
+ gap: 8px;
96
+ min-block-size: var(--ui-drtp-hit);
97
+ border: 1px solid var(--ui-drtp-border);
98
+ border-radius: var(--ui-drtp-radius);
99
+ background: var(--ui-drtp-surface);
100
+ padding: 0 10px;
101
+ box-shadow: 0 1px 2px rgba(2, 6, 23, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.72);
102
+ transition: border-color var(--ui-drtp-duration) var(--ui-drtp-ease), box-shadow var(--ui-drtp-duration) var(--ui-drtp-ease), transform var(--ui-drtp-duration) var(--ui-drtp-ease);
103
+ }
104
+
105
+ .field[data-open="true"],
106
+ .field:focus-within {
107
+ border-color: color-mix(in srgb, var(--ui-drtp-accent) 70%, transparent);
108
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--ui-drtp-accent) 22%, transparent), 0 10px 22px rgba(2, 6, 23, 0.12);
109
+ }
110
+
111
+ .field[data-invalid="true"] {
112
+ border-color: color-mix(in srgb, var(--ui-drtp-error) 72%, transparent);
113
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--ui-drtp-error) 20%, transparent);
114
+ }
115
+
116
+ .field[data-state="success"]:not([data-invalid="true"]) {
117
+ border-color: color-mix(in srgb, var(--ui-drtp-success) 56%, transparent);
118
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--ui-drtp-success) 18%, transparent);
119
+ }
120
+
121
+ .input {
122
+ border: 0;
123
+ background: transparent;
124
+ color: var(--ui-dp-text);
125
+ outline: none;
126
+ min-inline-size: 0;
127
+ inline-size: 100%;
128
+ padding: 8px 0;
129
+ font: 500 14px/1.35 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
130
+ }
131
+ .input::placeholder {
132
+ color: color-mix(in srgb, var(--ui-dp-text) 44%, transparent);
133
+ }
134
+ .icon {
135
+ display: inline-grid;
136
+ place-items: center;
137
+ color: color-mix(in srgb, var(--ui-dp-text) 68%, transparent);
138
+ inline-size: 20px;
139
+ block-size: 20px;
140
+ }
141
+ .icon-svg {
142
+ inline-size: 16px;
143
+ block-size: 16px;
144
+ pointer-events: none;
145
+ }
146
+ .btn {
147
+ border: 1px solid transparent;
148
+ background: color-mix(in srgb, var(--ui-drtp-bg) 84%, transparent);
149
+ inline-size: 28px;
150
+ block-size: 28px;
151
+ border-radius: 8px;
152
+ color: color-mix(in srgb, var(--ui-dp-text) 72%, transparent);
153
+ cursor: pointer;
154
+ display: inline-grid;
155
+ place-items: center;
156
+ transition: background-color var(--ui-drtp-duration) var(--ui-drtp-ease), color var(--ui-drtp-duration) var(--ui-drtp-ease), border-color var(--ui-drtp-duration) var(--ui-drtp-ease), transform var(--ui-drtp-duration) var(--ui-drtp-ease);
157
+ }
158
+ .btn:hover {
159
+ background: color-mix(in srgb, var(--ui-drtp-accent) 10%, transparent);
160
+ border-color: color-mix(in srgb, var(--ui-drtp-accent) 30%, transparent);
161
+ color: var(--ui-dp-text);
162
+ }
163
+ .btn:focus-visible {
164
+ outline: 2px solid color-mix(in srgb, var(--ui-drtp-accent) 64%, transparent);
165
+ outline-offset: 1px;
166
+ }
167
+ .btn:active {
168
+ transform: translateY(1px);
169
+ }
170
+ .btn[hidden] { display: none; }
171
+ .hint { color: var(--ui-dp-muted); font-size: 12px; line-height: 1.4; }
172
+ .error { color: var(--ui-drtp-error); font-size: 12px; line-height: 1.4; }
173
+ .hint[hidden], .error[hidden] { display: none; }
174
+
175
+ .inline-panel {
176
+ border: 1px solid var(--ui-drtp-border);
177
+ border-radius: var(--ui-drtp-panel-radius);
178
+ background: var(--ui-drtp-surface);
179
+ box-shadow: var(--ui-drtp-shadow);
180
+ inline-size: fit-content;
181
+ max-inline-size: 100%;
182
+ justify-self: start;
183
+ padding: 12px;
184
+ display: grid;
185
+ gap: 12px;
186
+ }
187
+
188
+ .inline-panel .content {
189
+ gap: 8px;
190
+ grid-template-columns: minmax(0, 1fr) 248px;
191
+ }
192
+
193
+ .inline-panel .time-groups {
194
+ gap: 8px;
195
+ }
196
+
197
+ .inline-panel .time-card {
198
+ padding: 8px;
199
+ gap: 6px;
200
+ }
201
+
202
+ .inline-panel .time-table {
203
+ gap: 4px;
204
+ }
205
+
206
+ .inline-panel .time-row + .time-row {
207
+ padding-top: 6px;
208
+ }
209
+
210
+ .inline-panel .footer,
211
+ .inline-panel .presets {
212
+ gap: 6px;
213
+ }
214
+
215
+ .inline-panel[data-bare="true"] {
216
+ border: 0;
217
+ border-radius: 0;
218
+ background: var(--ui-drtp-bare-bg, var(--ui-drtp-bg));
219
+ box-shadow: none;
220
+ padding: 0;
221
+ }
222
+
223
+ .inline-panel[hidden] {
224
+ display: none !important;
225
+ }
226
+
227
+ .panel-title {
228
+ margin: 0;
229
+ font: 650 13px/1.35 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
230
+ color: var(--ui-dp-text);
231
+ }
232
+
233
+ :host([disabled]) .field {
234
+ opacity: 0.62;
235
+ pointer-events: none;
236
+ }
237
+
238
+ :host([readonly]) .field {
239
+ background: color-mix(in srgb, var(--ui-drtp-bg) 90%, var(--ui-color-surface-alt, #f8fafc));
240
+ }
241
+
242
+ :host([variant="contrast"]) {
243
+ --ui-drtp-bg: #0f172a;
244
+ --ui-drtp-border: #334155;
245
+ --ui-dp-text: #e2e8f0;
246
+ --ui-dp-muted: #94a3b8;
247
+ --ui-drtp-accent: #93c5fd;
248
+ --ui-drtp-surface: linear-gradient(180deg, color-mix(in srgb, #0f172a 84%, #1e293b), #0f172a);
249
+ --ui-drtp-shadow: 0 18px 36px rgba(2, 6, 23, 0.48);
250
+ }
251
+
252
+ @media (forced-colors: active) {
253
+ .field,
254
+ .inline-panel {
255
+ border-color: CanvasText;
256
+ background: Canvas;
257
+ box-shadow: none;
258
+ }
259
+
260
+ .btn,
261
+ .preset,
262
+ .action {
263
+ border-color: CanvasText;
264
+ background: Canvas;
265
+ color: CanvasText;
266
+ }
267
+
268
+ .btn:focus-visible,
269
+ .action:focus-visible {
270
+ outline-color: Highlight;
271
+ }
272
+ }
273
+ `, bt = `
274
+ .overlay { position: fixed; z-index: var(--ui-drtp-z, 1600); pointer-events: none; }
275
+ .panel {
276
+ pointer-events: auto;
277
+ min-inline-size: min(680px, calc(100vw - 20px));
278
+ max-inline-size: min(760px, calc(100vw - 20px));
279
+ border: 1px solid var(--ui-drtp-border, #cbd5e1);
280
+ border-radius: var(--ui-drtp-panel-radius, 14px);
281
+ background: var(--ui-drtp-surface, #fff);
282
+ color: var(--ui-dp-text, #0f172a);
283
+ box-shadow: var(--ui-drtp-shadow);
284
+ padding: 12px;
285
+ display: grid;
286
+ gap: 12px;
287
+ animation: ui-drtp-pop var(--ui-drtp-duration, 160ms) var(--ui-drtp-ease, cubic-bezier(0.2, 0.9, 0.24, 1));
288
+ }
289
+ .panel[data-bare="true"], .sheet[data-bare="true"] {
290
+ border: 0;
291
+ border-radius: 0;
292
+ background: var(--ui-drtp-bare-bg, var(--ui-drtp-bg));
293
+ box-shadow: none;
294
+ padding: 0;
295
+ }
296
+ .sheet-wrap { position: fixed; inset: 0; display: grid; align-items: end; z-index: var(--ui-drtp-z, 1600); }
297
+ .sheet-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, 0.52); }
298
+ .sheet {
299
+ position: relative;
300
+ pointer-events: auto;
301
+ background: var(--ui-drtp-surface, #fff);
302
+ color: var(--ui-dp-text, #0f172a);
303
+ border-radius: 16px 16px 0 0;
304
+ border: 1px solid color-mix(in srgb, var(--ui-drtp-border, #cbd5e1) 84%, transparent);
305
+ box-shadow: 0 -12px 30px rgba(2, 6, 23, 0.2);
306
+ padding: 12px;
307
+ display: grid;
308
+ gap: 10px;
309
+ max-block-size: min(82vh, 680px);
310
+ overflow: auto;
311
+ }
312
+ .head {
313
+ display: flex;
314
+ justify-content: space-between;
315
+ align-items: center;
316
+ gap: 8px;
317
+ }
318
+ .head-title {
319
+ margin: 0;
320
+ font: 700 14px/1.35 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
321
+ color: var(--ui-dp-text, #0f172a);
322
+ }
323
+ .head-meta {
324
+ margin: 0;
325
+ font: 500 12px/1.3 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
326
+ color: var(--ui-dp-muted, #64748b);
327
+ }
328
+ .presets {
329
+ display: flex;
330
+ gap: 8px;
331
+ flex-wrap: wrap;
332
+ justify-content: flex-end;
333
+ }
334
+ .presets[hidden] { display: none !important; }
335
+ .preset {
336
+ border: 1px dashed color-mix(in srgb, var(--ui-drtp-border, #cbd5e1) 86%, transparent);
337
+ border-radius: 999px;
338
+ padding: 0 10px;
339
+ min-block-size: 28px;
340
+ font: 600 11px/1 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
341
+ color: var(--ui-dp-muted, #64748b);
342
+ background: color-mix(in srgb, var(--ui-drtp-bg, #fff) 96%, transparent);
343
+ cursor: pointer;
344
+ }
345
+ .preset:hover {
346
+ border-color: color-mix(in srgb, var(--ui-drtp-accent, #2563eb) 44%, transparent);
347
+ color: var(--ui-dp-text, #0f172a);
348
+ }
349
+ .content { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 10px; align-items: start; }
350
+ .time-groups { display: grid; gap: 10px; align-content: start; }
351
+ .time-card {
352
+ border: 1px solid color-mix(in srgb, var(--ui-drtp-border, #cbd5e1) 85%, transparent);
353
+ border-radius: 12px;
354
+ padding: 10px;
355
+ display: grid;
356
+ gap: 8px;
357
+ background: color-mix(in srgb, var(--ui-drtp-bg, #fff) 95%, transparent);
358
+ }
359
+ .time-title {
360
+ margin: 0;
361
+ font: 700 12px/1.25 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
362
+ color: var(--ui-dp-text, #0f172a);
363
+ display: inline-flex;
364
+ align-items: center;
365
+ gap: 6px;
366
+ }
367
+ .time-table {
368
+ display: grid;
369
+ gap: 6px;
370
+ }
371
+ .time-table-head {
372
+ display: grid;
373
+ grid-template-columns: minmax(100px, 1fr) repeat(2, minmax(74px, 1fr));
374
+ gap: 8px;
375
+ align-items: center;
376
+ }
377
+ .time-col-label {
378
+ font-size: 10px;
379
+ color: var(--ui-dp-muted, #64748b);
380
+ font-weight: 700;
381
+ text-transform: uppercase;
382
+ letter-spacing: .06em;
383
+ text-align: center;
384
+ }
385
+ .time-row {
386
+ display: grid;
387
+ grid-template-columns: minmax(100px, 1fr) repeat(2, minmax(74px, 1fr));
388
+ gap: 8px;
389
+ align-items: center;
390
+ }
391
+ .time-row + .time-row {
392
+ border-top: 1px dashed color-mix(in srgb, var(--ui-drtp-border, #cbd5e1) 70%, transparent);
393
+ padding-top: 8px;
394
+ }
395
+ .time-row-label {
396
+ margin: 0;
397
+ font: 600 12px/1.2 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
398
+ color: color-mix(in srgb, var(--ui-dp-text, #0f172a) 86%, transparent);
399
+ display: inline-flex;
400
+ align-items: center;
401
+ gap: 6px;
402
+ }
403
+ .time-row select {
404
+ min-block-size: 34px;
405
+ border: 1px solid color-mix(in srgb, var(--ui-drtp-border, #cbd5e1) 84%, transparent);
406
+ border-radius: 8px;
407
+ padding: 0 8px;
408
+ background: color-mix(in srgb, var(--ui-drtp-bg, #fff) 95%, transparent);
409
+ color: var(--ui-dp-text, #0f172a);
410
+ font: 600 13px/1 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
411
+ }
412
+ .time-row select:focus-visible {
413
+ outline: 2px solid color-mix(in srgb, var(--ui-drtp-accent, #2563eb) 66%, transparent);
414
+ outline-offset: 1px;
415
+ }
416
+ .footer { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; }
417
+ .footer[hidden] { display: none !important; }
418
+ .action {
419
+ border: 1px solid color-mix(in srgb, var(--ui-drtp-border, #cbd5e1) 85%, transparent);
420
+ background: color-mix(in srgb, var(--ui-drtp-bg, #fff) 95%, transparent);
421
+ color: var(--ui-dp-text, #0f172a);
422
+ min-block-size: 32px;
423
+ border-radius: 8px;
424
+ padding: 0 12px;
425
+ font: 650 12px/1 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
426
+ cursor: pointer;
427
+ transition: border-color var(--ui-drtp-duration, 160ms) var(--ui-drtp-ease, cubic-bezier(0.2, 0.9, 0.24, 1)), background-color var(--ui-drtp-duration, 160ms) var(--ui-drtp-ease, cubic-bezier(0.2, 0.9, 0.24, 1)), transform var(--ui-drtp-duration, 160ms) var(--ui-drtp-ease, cubic-bezier(0.2, 0.9, 0.24, 1));
428
+ }
429
+ .action:hover {
430
+ border-color: color-mix(in srgb, var(--ui-drtp-accent, #2563eb) 40%, var(--ui-drtp-border, #cbd5e1));
431
+ background: color-mix(in srgb, var(--ui-drtp-accent, #2563eb) 10%, transparent);
432
+ }
433
+ .action:active { transform: translateY(1px); }
434
+ .action:focus-visible {
435
+ outline: 2px solid color-mix(in srgb, var(--ui-drtp-accent, #2563eb) 66%, transparent);
436
+ outline-offset: 1px;
437
+ }
438
+ .action[data-tone="primary"] { border-color: color-mix(in srgb, var(--ui-drtp-accent, #2563eb) 60%, transparent); background: color-mix(in srgb, var(--ui-drtp-accent, #2563eb) 20%, transparent); }
439
+ .action:disabled { opacity: .58; cursor: not-allowed; }
440
+
441
+ .icon-inline {
442
+ display: inline-grid;
443
+ place-items: center;
444
+ color: color-mix(in srgb, var(--ui-dp-text, #0f172a) 70%, transparent);
445
+ }
446
+ .icon-svg {
447
+ inline-size: 16px;
448
+ block-size: 16px;
449
+ pointer-events: none;
450
+ }
451
+
452
+ @media (max-width: 900px) {
453
+ .content { grid-template-columns: 1fr; }
454
+ }
455
+
456
+ @media (max-width: 560px) {
457
+ .time-table-head {
458
+ display: none;
459
+ }
460
+ .time-row {
461
+ grid-template-columns: 1fr 1fr;
462
+ }
463
+ .time-row-label {
464
+ grid-column: 1 / -1;
465
+ }
466
+ }
467
+
468
+ @media (prefers-reduced-motion: reduce) {
469
+ .panel, .sheet, .action, .preset { animation: none !important; transition: none !important; }
470
+ }
471
+
472
+ @media (forced-colors: active) {
473
+ .panel,
474
+ .sheet,
475
+ .time-card {
476
+ border-color: CanvasText;
477
+ background: Canvas;
478
+ color: CanvasText;
479
+ box-shadow: none;
480
+ }
481
+
482
+ .sheet-backdrop {
483
+ background: color-mix(in srgb, CanvasText 36%, transparent);
484
+ }
485
+
486
+ .head-meta,
487
+ .time-col-label,
488
+ .time-row-label {
489
+ color: CanvasText;
490
+ }
491
+
492
+ .time-row select,
493
+ .preset,
494
+ .action {
495
+ border-color: CanvasText;
496
+ background: Canvas;
497
+ color: CanvasText;
498
+ }
499
+
500
+ .time-row select:focus-visible,
501
+ .action:focus-visible {
502
+ outline-color: Highlight;
503
+ }
504
+ }
505
+
506
+ @keyframes ui-drtp-pop {
507
+ from { opacity: 0; transform: translateY(6px) scale(0.985); }
508
+ to { opacity: 1; transform: translateY(0) scale(1); }
509
+ }
510
+ `;
511
+ function Q(h) {
512
+ if (!h)
513
+ return { start: null, end: null };
514
+ try {
515
+ const t = JSON.parse(h), e = typeof (t == null ? void 0 : t.start) == "string" ? t.start : null, i = typeof (t == null ? void 0 : t.end) == "string" ? t.end : null;
516
+ return { start: e, end: i };
517
+ } catch {
518
+ return { start: null, end: null };
519
+ }
520
+ }
521
+ function X(h) {
522
+ return !h.start && !h.end ? null : JSON.stringify({
523
+ ...h.start ? { start: h.start } : {},
524
+ ...h.end ? { end: h.end } : {}
525
+ });
526
+ }
527
+ function S(h) {
528
+ return String(h).padStart(2, "0");
529
+ }
530
+ function c(h) {
531
+ return h.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
532
+ }
533
+ function w(h) {
534
+ var n, s;
535
+ const t = /* @__PURE__ */ new Date(), e = `${S(t.getHours())}:${S(t.getMinutes())}`, i = `${S((t.getHours() + 1) % 24)}:${S(t.getMinutes())}`, r = D(h.start || null), o = D(h.end || null);
536
+ return {
537
+ startDate: (r == null ? void 0 : r.date) || null,
538
+ endDate: (o == null ? void 0 : o.date) || null,
539
+ startTime: ((n = r == null ? void 0 : r.time) == null ? void 0 : n.slice(0, 5)) || e,
540
+ endTime: ((s = o == null ? void 0 : o.time) == null ? void 0 : s.slice(0, 5)) || i
541
+ };
542
+ }
543
+ class gt extends tt {
544
+ constructor() {
545
+ super(...arguments), this._value = { start: null, end: null }, this._pending = w({ start: null, end: null }), this._display = "", this._inlineError = "", this._open = !1, this._syncing = !1, this._overlay = null, this._releaseScrollLock = null, this._isInitialized = !1, this._hasView = !1, this._restoreFocusEl = null, this._overlayKey = null, this._uid = `ui-drtp-${++ut}`, this._inputId = `${this._uid}-input`, this._labelId = `${this._uid}-label`, this._hintId = `${this._uid}-hint`, this._errorId = `${this._uid}-error`, this._panelId = `${this._uid}-panel`, this._schedulePosition = it(() => this._positionOverlay()), this._onRootClickBound = (t) => this._onRootClick(t), this._onRootChangeBound = (t) => this._onRootChange(t), this._onRootKeyDownBound = (t) => this._onRootKeyDown(t), this._onOverlayClickBound = (t) => this._onOverlayClick(t), this._onOverlayChangeBound = (t) => this._onOverlayChange(t), this._onOverlayCalendarBound = (t) => this._onOverlayCalendar(t), this._onDocumentPointerDownBound = (t) => this._onDocumentPointerDown(t), this._onDocumentKeyDownBound = (t) => this._onDocumentKeyDown(t), this._onWindowResizeBound = () => this._schedulePosition.run(), this._onWindowScrollBound = () => this._schedulePosition.run();
546
+ }
547
+ static get observedAttributes() {
548
+ return [
549
+ "open",
550
+ "default-open",
551
+ "value",
552
+ "default-value",
553
+ "min",
554
+ "max",
555
+ "locale",
556
+ "translations",
557
+ "week-start",
558
+ "size",
559
+ "shape",
560
+ "bare",
561
+ "variant",
562
+ "state",
563
+ "step",
564
+ "auto-normalize",
565
+ "allow-partial",
566
+ "disabled",
567
+ "readonly",
568
+ "required",
569
+ "name",
570
+ "close-on-select",
571
+ "clearable",
572
+ "mode",
573
+ "label",
574
+ "hint",
575
+ "error",
576
+ "show-footer"
577
+ ];
578
+ }
579
+ connectedCallback() {
580
+ if (super.connectedCallback(), this.root.addEventListener("click", this._onRootClickBound), this.root.addEventListener("change", this._onRootChangeBound), this.root.addEventListener("keydown", this._onRootKeyDownBound), !this._isInitialized) {
581
+ const t = Q(this.getAttribute("value") || this.getAttribute("default-value"));
582
+ this._value = t, this._pending = w(t), this._display = this._formatDisplay(), this._open = this.hasAttribute("open") || C(this.getAttribute("default-open")), this._isInitialized = !0;
583
+ }
584
+ this._open && !this._isInlineMode() && this._ensureOverlay();
585
+ }
586
+ disconnectedCallback() {
587
+ this.root.removeEventListener("click", this._onRootClickBound), this.root.removeEventListener("change", this._onRootChangeBound), this.root.removeEventListener("keydown", this._onRootKeyDownBound), this._destroyOverlay(), super.disconnectedCallback();
588
+ }
589
+ attributeChangedCallback(t, e, i) {
590
+ if (e !== i && (t === "value" && !this._syncing && (this._value = Q(i), this._pending = w(this._value), this._display = this._formatDisplay(), this._inlineError = ""), t === "open" && !this._syncing && (this._open = this.hasAttribute("open"), this._syncOverlay("attribute")), t === "mode" && this._syncOverlay("attribute"), t === "disabled" && this.hasAttribute("disabled") && this._setOpen(!1, "outside"), t === "state" && this._state() === "loading" && this._setOpen(!1, "outside"), !!this.isConnected)) {
591
+ if (!this._hasView) {
592
+ this.requestRender();
593
+ return;
594
+ }
595
+ this._updateHostState();
596
+ }
597
+ }
598
+ _isInlineMode() {
599
+ return (this.getAttribute("mode") || "popover") === "inline";
600
+ }
601
+ _isMobileSheet() {
602
+ return rt(this.getAttribute("mode"));
603
+ }
604
+ _isDisabled() {
605
+ return this.hasAttribute("disabled");
606
+ }
607
+ _state() {
608
+ const t = (this.getAttribute("state") || "").trim().toLowerCase();
609
+ return t === "loading" || t === "error" || t === "success" ? t : "idle";
610
+ }
611
+ _isInteractionBlocked() {
612
+ return this._isDisabled() || this._state() === "loading";
613
+ }
614
+ _locale() {
615
+ return st(this.getAttribute("locale"));
616
+ }
617
+ _isReadonly() {
618
+ return this.hasAttribute("readonly");
619
+ }
620
+ _clearable() {
621
+ return C(this.getAttribute("clearable"), !0);
622
+ }
623
+ _showFooter() {
624
+ return C(this.getAttribute("show-footer"), !0);
625
+ }
626
+ _shouldAutoCommit() {
627
+ return C(this.getAttribute("close-on-select"), !1) || !this._showFooter();
628
+ }
629
+ _isBare() {
630
+ return C(this.getAttribute("bare"), !1);
631
+ }
632
+ _allowPartial() {
633
+ return C(this.getAttribute("allow-partial"), !0);
634
+ }
635
+ _autoNormalize() {
636
+ return C(this.getAttribute("auto-normalize"), !0);
637
+ }
638
+ _step() {
639
+ const t = Number(this.getAttribute("step") || 5);
640
+ return !Number.isFinite(t) || t < 1 ? 5 : Math.min(60, Math.trunc(t));
641
+ }
642
+ _translations() {
643
+ return et(
644
+ this.getAttribute("locale"),
645
+ this.getAttribute("translations")
646
+ );
647
+ }
648
+ _syncOpenAttribute(t) {
649
+ this._syncing = !0;
650
+ try {
651
+ t ? this.hasAttribute("open") || this.setAttribute("open", "") : this.hasAttribute("open") && this.removeAttribute("open");
652
+ } finally {
653
+ this._syncing = !1;
654
+ }
655
+ }
656
+ _syncValueAttribute(t) {
657
+ const e = X(t);
658
+ this._syncing = !0;
659
+ try {
660
+ e ? this.getAttribute("value") !== e && this.setAttribute("value", e) : this.hasAttribute("value") && this.removeAttribute("value");
661
+ } finally {
662
+ this._syncing = !1;
663
+ }
664
+ }
665
+ _emitInput(t) {
666
+ const e = this._valueFromPending(), i = {
667
+ mode: "datetimerange",
668
+ start: e.start,
669
+ end: e.end,
670
+ value: e.start && e.end ? { start: e.start, end: e.end } : null,
671
+ source: t
672
+ };
673
+ this.dispatchEvent(new CustomEvent("input", { detail: i, bubbles: !0, composed: !0 }));
674
+ }
675
+ _emitChange(t) {
676
+ const e = {
677
+ mode: "datetimerange",
678
+ start: this._value.start,
679
+ end: this._value.end,
680
+ value: this._value.start && this._value.end ? { start: this._value.start, end: this._value.end } : null,
681
+ source: t
682
+ };
683
+ this.dispatchEvent(new CustomEvent("change", { detail: e, bubbles: !0, composed: !0 }));
684
+ }
685
+ _emitInvalid(t, e) {
686
+ this.dispatchEvent(new CustomEvent("invalid", { detail: { raw: t, reason: e }, bubbles: !0, composed: !0 }));
687
+ }
688
+ _valueFromPending() {
689
+ return {
690
+ start: A(this._pending.startDate, this._pending.startTime),
691
+ end: A(this._pending.endDate, this._pending.endTime)
692
+ };
693
+ }
694
+ _formatDateTimeDisplay(t) {
695
+ const e = D(t);
696
+ return e ? `${nt(e.date, this._locale(), "locale", null)} ${e.time}` : t || "";
697
+ }
698
+ _formatDisplay() {
699
+ const t = this._value.start, e = this._value.end;
700
+ return !t && !e ? "" : t && e ? `${this._formatDateTimeDisplay(t)} — ${this._formatDateTimeDisplay(e)}` : this._formatDateTimeDisplay(t || e);
701
+ }
702
+ _normalizePendingState(t) {
703
+ var p, m;
704
+ let e = A(t.startDate, t.startTime), i = A(t.endDate, t.endTime);
705
+ if (e && i && I(e, i) > 0 && this._autoNormalize()) {
706
+ const g = e;
707
+ e = i, i = g;
708
+ }
709
+ const r = P(this.getAttribute("min")), o = P(this.getAttribute("max"));
710
+ let n = r ? `${r.date}T${r.time}` : null, s = o ? `${o.date}T${o.time}` : null;
711
+ if (n && s && I(n, s) > 0) {
712
+ const g = n;
713
+ n = s, s = g;
714
+ }
715
+ e && n && I(e, n) < 0 && (e = n), e && s && I(e, s) > 0 && (e = s), i && n && I(i, n) < 0 && (i = n), i && s && I(i, s) > 0 && (i = s);
716
+ const a = D(e || ""), l = D(i || "");
717
+ return {
718
+ startDate: (a == null ? void 0 : a.date) || null,
719
+ endDate: (l == null ? void 0 : l.date) || null,
720
+ startTime: ((p = a == null ? void 0 : a.time) == null ? void 0 : p.slice(0, 5)) || t.startTime,
721
+ endTime: ((m = l == null ? void 0 : l.time) == null ? void 0 : m.slice(0, 5)) || t.endTime
722
+ };
723
+ }
724
+ _commit(t, e) {
725
+ if (this._isInteractionBlocked() || this._isReadonly())
726
+ return;
727
+ const i = this._normalizePendingState(t), r = {
728
+ start: A(i.startDate, i.startTime),
729
+ end: A(i.endDate, i.endTime)
730
+ };
731
+ if (!this._allowPartial() && (!r.start || !r.end)) {
732
+ this._inlineError = this.getAttribute("error") || this._translations().rangeIncomplete, this._emitInvalid(JSON.stringify(r), "partial"), this._updateHostState();
733
+ return;
734
+ }
735
+ if (r.start && r.end && I(r.start, r.end) > 0) {
736
+ this._inlineError = this.getAttribute("error") || this._translations().invalidRangeOrder, this._emitInvalid(JSON.stringify(r), "order"), this._updateHostState();
737
+ return;
738
+ }
739
+ this._value = r, this._pending = i, this._display = this._formatDisplay(), this._inlineError = "", this._syncValueAttribute(r), this._emitInput(e), this._emitChange(e), this._updateHostState();
740
+ }
741
+ _setOpen(t, e) {
742
+ t && this._isInteractionBlocked() || this._open !== t && (this._open = t, this._syncOpenAttribute(t), this._syncOverlay(e), this._updateHostState(), this.dispatchEvent(new CustomEvent(t ? "open" : "close", { bubbles: !0, composed: !0 })));
743
+ }
744
+ _syncOverlay(t) {
745
+ if (this._isInlineMode()) {
746
+ this._destroyOverlay();
747
+ return;
748
+ }
749
+ if (this._open) {
750
+ this._ensureOverlay(), this._syncOverlayState();
751
+ return;
752
+ }
753
+ this._destroyOverlay();
754
+ const e = this._restoreFocusEl;
755
+ if (this._restoreFocusEl = null, e && e.isConnected)
756
+ try {
757
+ e.focus();
758
+ } catch {
759
+ }
760
+ }
761
+ _ensureOverlay() {
762
+ if (this._overlay || typeof document > "u")
763
+ return;
764
+ const t = document.createElement("div");
765
+ t.style.position = "fixed", t.style.left = "0", t.style.top = "0", t.style.zIndex = "1100", t.style.pointerEvents = "none", t.addEventListener("click", this._onOverlayClickBound), t.addEventListener("change", this._onOverlayChangeBound), t.addEventListener("change", this._onOverlayCalendarBound), document.body.appendChild(t), this._overlay = t, document.addEventListener("pointerdown", this._onDocumentPointerDownBound, !0), document.addEventListener("keydown", this._onDocumentKeyDownBound), window.addEventListener("resize", this._onWindowResizeBound), window.addEventListener("scroll", this._onWindowScrollBound, !0), this._isMobileSheet() && (this._releaseScrollLock = at());
766
+ }
767
+ _destroyOverlay() {
768
+ this._overlay && (this._schedulePosition.cancel(), document.removeEventListener("pointerdown", this._onDocumentPointerDownBound, !0), document.removeEventListener("keydown", this._onDocumentKeyDownBound), window.removeEventListener("resize", this._onWindowResizeBound), window.removeEventListener("scroll", this._onWindowScrollBound, !0), this._overlay.removeEventListener("click", this._onOverlayClickBound), this._overlay.removeEventListener("change", this._onOverlayChangeBound), this._overlay.removeEventListener("change", this._onOverlayCalendarBound), this._overlay.parentElement && this._overlay.parentElement.removeChild(this._overlay), this._overlay = null, this._overlayKey = null, this._releaseScrollLock && (this._releaseScrollLock(), this._releaseScrollLock = null));
769
+ }
770
+ _positionOverlay() {
771
+ if (!this._overlay || !this._open || this._isMobileSheet())
772
+ return;
773
+ const t = this.root.querySelector(".field"), e = this._overlay.querySelector(".panel");
774
+ if (!t || !e)
775
+ return;
776
+ const i = ot(t.getBoundingClientRect(), e.getBoundingClientRect());
777
+ e.style.position = "absolute", e.style.top = `${Math.round(i.top)}px`, e.style.left = `${Math.round(i.left)}px`;
778
+ }
779
+ _timeOptions(t) {
780
+ const e = k(t, !0) || { hours: 0, minutes: 0, seconds: 0 }, i = this._step(), r = Array.from({ length: 24 }, (n, s) => `<option value="${s}" ${s === e.hours ? "selected" : ""}>${S(s)}</option>`).join(""), o = Array.from({ length: Math.ceil(60 / i) }, (n, s) => {
781
+ const a = Math.min(59, s * i);
782
+ return `<option value="${a}" ${a === e.minutes ? "selected" : ""}>${S(a)}</option>`;
783
+ }).join("");
784
+ return { hours: r, minutes: o };
785
+ }
786
+ _renderSurfaceInner(t, e = !1) {
787
+ const i = this._translations(), r = this._timeOptions(this._pending.startTime), o = this._timeOptions(this._pending.endTime), n = (this.getAttribute("label") || "").trim(), s = c(n), a = c(n || i.selectDateRange), l = this._valueFromPending(), p = l.start && l.end ? `${this._formatDateTimeDisplay(l.start)} — ${this._formatDateTimeDisplay(l.end)}` : i.selectDateRange, m = c(`${i.startTime} ${i.hour}`), g = c(`${i.startTime} ${i.minute}`), v = c(`${i.endTime} ${i.hour}`), d = c(`${i.endTime} ${i.minute}`), f = `
788
+ <header class="head">
789
+ <div>
790
+ <p class="head-title" ${n ? "" : "hidden"}>${s}</p>
791
+ <p class="head-meta">${c(p)}</p>
792
+ </div>
793
+ </header>
794
+ <div class="content">
795
+ <ui-calendar class="${e ? "drtp-calendar-inline" : "drtp-calendar"}" part="calendar"></ui-calendar>
796
+ <section class="time-groups" part="time">
797
+ <div class="time-card">
798
+ <p class="time-title"><span class="icon-inline">${B}</span>${c(i.startTime)} / ${c(i.endTime)}</p>
799
+ <div class="time-table" role="group" aria-label="${c(i.dateRangeTimePlaceholder)}">
800
+ <div class="time-table-head" aria-hidden="true">
801
+ <span></span>
802
+ <span class="time-col-label">${c(i.hour)}</span>
803
+ <span class="time-col-label">${c(i.minute)}</span>
804
+ </div>
805
+ <div class="time-row">
806
+ <p class="time-row-label"><span class="icon-inline">${B}</span>${c(i.startTime)}</p>
807
+ <select data-time="start" data-segment="hours" aria-label="${m}">${r.hours}</select>
808
+ <select data-time="start" data-segment="minutes" aria-label="${g}">${r.minutes}</select>
809
+ </div>
810
+ <div class="time-row">
811
+ <p class="time-row-label"><span class="icon-inline">${B}</span>${c(i.endTime)}</p>
812
+ <select data-time="end" data-segment="hours" aria-label="${v}">${o.hours}</select>
813
+ <select data-time="end" data-segment="minutes" aria-label="${d}">${o.minutes}</select>
814
+ </div>
815
+ </div>
816
+ </div>
817
+ </section>
818
+ </div>
819
+ <div class="presets" part="presets">
820
+ <button type="button" class="preset" data-action="preset-today">${c(i.today)}</button>
821
+ <button type="button" class="preset" data-action="preset-last7">${c(i.last7Days)}</button>
822
+ <button type="button" class="preset" data-action="preset-month">${c(i.thisMonth)}</button>
823
+ </div>
824
+ <footer class="footer" part="footer">
825
+ <button type="button" class="action" data-action="clear">${c(i.clear)}</button>
826
+ ${e ? "" : `<button type="button" class="action" data-action="cancel">${c(i.cancel)}</button>`}
827
+ <button type="button" class="action" data-action="apply" data-tone="primary">${c(i.apply)}</button>
828
+ </footer>
829
+ `;
830
+ return e ? f : `
831
+ <style>${bt}</style>
832
+ ${t ? '<div class="sheet-backdrop" data-action="backdrop"></div>' : ""}
833
+ <section class="${t ? "sheet" : "panel"}" id="${this._panelId}" role="dialog" aria-modal="${t ? "true" : "false"}" aria-label="${a}" part="${t ? "sheet" : "popover"}">${f}</section>
834
+ `;
835
+ }
836
+ _syncCalendar(t) {
837
+ const e = (l, p) => {
838
+ if (p == null || p === "") {
839
+ t.hasAttribute(l) && t.removeAttribute(l);
840
+ return;
841
+ }
842
+ t.getAttribute(l) !== p && t.setAttribute(l, p);
843
+ }, i = (l, p) => {
844
+ p ? e(l, "") : e(l, null);
845
+ };
846
+ e("selection", "range"), e("value", JSON.stringify({
847
+ ...this._pending.startDate ? { start: this._pending.startDate } : {},
848
+ ...this._pending.endDate ? { end: this._pending.endDate } : {}
849
+ }));
850
+ const r = P(this.getAttribute("min")), o = P(this.getAttribute("max"));
851
+ e("min", (r == null ? void 0 : r.date) || null), e("max", (o == null ? void 0 : o.date) || null), e("locale", this.getAttribute("locale")), e("translations", this.getAttribute("translations")), e("week-start", this.getAttribute("week-start"));
852
+ const s = this.getAttribute("size") || "sm", a = t.classList.contains("drtp-calendar-inline");
853
+ e("size", s === "lg" ? "md" : "sm"), e("variant", this.getAttribute("variant")), i("readonly", this._isReadonly()), i("disabled", this._isInteractionBlocked()), i("bare", this._isBare()), e("tabindex", "-1"), s === "lg" ? (t.style.setProperty("--ui-calendar-day-height", "1.95em"), t.style.setProperty("--ui-calendar-day-padding-block", "0.2em"), t.style.setProperty("--ui-calendar-day-padding-inline", "0.26em"), t.style.setProperty("--ui-calendar-gap", "0.42em"), t.style.setProperty("--ui-calendar-day-font-size", "0.78em"), t.style.setProperty("--ui-calendar-weekday-font-size", "0.7em"), t.style.setProperty("--ui-calendar-title-font-size", "0.88em")) : (t.style.setProperty("--ui-calendar-day-height", "2.4em"), t.style.setProperty("--ui-calendar-day-padding-block", "0.14em"), t.style.setProperty("--ui-calendar-day-padding-inline", "0.22em"), t.style.setProperty("--ui-calendar-gap", "0.34em"), t.style.setProperty("--ui-calendar-day-font-size", "0.72em"), t.style.setProperty("--ui-calendar-weekday-font-size", "0.64em"), t.style.setProperty("--ui-calendar-title-font-size", "0.8em")), a ? (t.style.setProperty("--ui-calendar-frame-padding", "0.32em"), t.style.setProperty("--ui-calendar-week-gap", "0.18em"), t.style.setProperty("--ui-calendar-control-height", "1.72em"), t.style.setProperty("--ui-calendar-gap", "0.24em")) : (t.style.removeProperty("--ui-calendar-frame-padding"), t.style.removeProperty("--ui-calendar-week-gap"), t.style.removeProperty("--ui-calendar-control-height")), e("aria-label", this.getAttribute("label") || this._translations().selectDateRange);
854
+ }
855
+ _overlaySignature(t) {
856
+ return [
857
+ t ? "sheet" : "popover",
858
+ this._step(),
859
+ this.getAttribute("locale") || "",
860
+ this.getAttribute("label") || "",
861
+ this.getAttribute("translations") || ""
862
+ ].join(":");
863
+ }
864
+ _ensureOverlayContent(t) {
865
+ if (!this._overlay)
866
+ return;
867
+ const e = this._overlaySignature(t);
868
+ this._overlayKey === e && this._overlay.querySelector(".drtp-calendar") || (this._overlayKey = e, this._overlay.innerHTML = t ? `<div class="sheet-wrap">${this._renderSurfaceInner(!0)}</div>` : `<div class="overlay">${this._renderSurfaceInner(!1)}</div>`);
869
+ }
870
+ _setClosestOptionValue(t, e) {
871
+ const i = Array.from(t.options).map((n) => Number(n.value)).filter((n) => Number.isFinite(n));
872
+ if (!i.length)
873
+ return;
874
+ let r = i[0], o = Math.abs(r - e);
875
+ for (let n = 1; n < i.length; n += 1) {
876
+ const s = i[n], a = Math.abs(s - e);
877
+ a < o && (r = s, o = a);
878
+ }
879
+ t.value = String(r);
880
+ }
881
+ _syncOverlayState() {
882
+ if (!this._overlay)
883
+ return;
884
+ const t = this._isMobileSheet();
885
+ this._ensureOverlayContent(t);
886
+ const e = this._translations(), i = this._overlay.querySelector(".panel, .sheet"), r = this._overlay.querySelector(".presets"), o = this._overlay.querySelector(".footer");
887
+ i && (i.dataset.bare = this._isBare() ? "true" : "false");
888
+ const n = this._showFooter();
889
+ r && (r.hidden = !n), o && (o.hidden = !n);
890
+ const s = this._overlay.querySelector(".head-title");
891
+ if (s) {
892
+ const b = (this.getAttribute("label") || "").trim();
893
+ s.textContent = b, s.hidden = !b;
894
+ }
895
+ const a = this._overlay.querySelector(".head-meta"), l = this._valueFromPending();
896
+ a && (a.textContent = l.start && l.end ? `${this._formatDateTimeDisplay(l.start)} — ${this._formatDateTimeDisplay(l.end)}` : e.selectDateRange);
897
+ const p = this._overlay.querySelector(".drtp-calendar");
898
+ p && this._syncCalendar(p);
899
+ const m = k(this._pending.startTime, !0) || { hours: 0, minutes: 0, seconds: 0 }, g = k(this._pending.endTime, !0) || { hours: 0, minutes: 0, seconds: 0 }, v = this._overlay.querySelector('select[data-time="start"][data-segment="hours"]'), d = this._overlay.querySelector('select[data-time="start"][data-segment="minutes"]'), f = this._overlay.querySelector('select[data-time="end"][data-segment="hours"]'), _ = this._overlay.querySelector('select[data-time="end"][data-segment="minutes"]');
900
+ v && this._setClosestOptionValue(v, m.hours), d && this._setClosestOptionValue(d, m.minutes), f && this._setClosestOptionValue(f, g.hours), _ && this._setClosestOptionValue(_, g.minutes);
901
+ const y = this._isInteractionBlocked() || this._isReadonly();
902
+ [v, d, f, _].forEach((b) => {
903
+ b && (b.disabled = y);
904
+ }), this._overlay.querySelectorAll(".action, .preset").forEach((b) => {
905
+ b.disabled = y;
906
+ }), t || this._schedulePosition.run();
907
+ }
908
+ _renderOverlay() {
909
+ this._syncOverlayState();
910
+ }
911
+ _applyTimeFromOverlay(t) {
912
+ var a, l;
913
+ const e = t.getAttribute("data-time"), i = (a = this._overlay) == null ? void 0 : a.querySelector(`select[data-time="${e}"][data-segment="hours"]`), r = (l = this._overlay) == null ? void 0 : l.querySelector(`select[data-time="${e}"][data-segment="minutes"]`);
914
+ if (!e || !i || !r)
915
+ return;
916
+ const o = Number(i.value), n = Number(r.value);
917
+ if (!Number.isFinite(o) || !Number.isFinite(n))
918
+ return;
919
+ const s = `${S(o)}:${S(n)}`;
920
+ e === "start" && (this._pending.startTime = s), e === "end" && (this._pending.endTime = s), this._pending = this._normalizePendingState(this._pending), this._emitInput("time");
921
+ }
922
+ _todayIso() {
923
+ const t = /* @__PURE__ */ new Date(), e = String(t.getMonth() + 1).padStart(2, "0"), i = String(t.getDate()).padStart(2, "0");
924
+ return `${t.getFullYear()}-${e}-${i}`;
925
+ }
926
+ _applyPreset(t) {
927
+ const e = this._todayIso();
928
+ if (t === "preset-today") {
929
+ this._pending.startDate = e, this._pending.endDate = e, this._pending = this._normalizePendingState(this._pending), this._emitInput("preset-today");
930
+ return;
931
+ }
932
+ if (t === "preset-last7") {
933
+ const r = lt(e, 7);
934
+ this._pending.startDate = r.start, this._pending.endDate = r.end, this._pending = this._normalizePendingState(this._pending), this._emitInput("preset-last7");
935
+ return;
936
+ }
937
+ const i = dt(e);
938
+ this._pending.startDate = i.start, this._pending.endDate = i.end, this._pending = this._normalizePendingState(this._pending), this._emitInput("preset-month");
939
+ }
940
+ _onRootClick(t) {
941
+ var r;
942
+ const e = t.target;
943
+ if (!e)
944
+ return;
945
+ const i = (r = e.closest("[data-action]")) == null ? void 0 : r.getAttribute("data-action");
946
+ if (i && !this._isInteractionBlocked() && !(this._isReadonly() && i !== "toggle")) {
947
+ if (i === "toggle") {
948
+ this._restoreFocusEl = e, this._setOpen(!this._open, "toggle");
949
+ return;
950
+ }
951
+ if (i === "clear") {
952
+ this._isInlineMode() ? (this._pending = w({ start: null, end: null }), this._emitInput("clear"), this._updateHostState()) : (this._pending = w({ start: null, end: null }), this._commit(this._pending, "clear"));
953
+ return;
954
+ }
955
+ if (this._isInlineMode() && (i === "preset-today" || i === "preset-last7" || i === "preset-month")) {
956
+ this._applyPreset(i), this._updateHostState();
957
+ return;
958
+ }
959
+ if (this._isInlineMode() && i === "cancel") {
960
+ this._pending = w(this._value), this._updateHostState();
961
+ return;
962
+ }
963
+ this._isInlineMode() && i === "apply" && this._commit(this._pending, "apply");
964
+ }
965
+ }
966
+ _onRootChange(t) {
967
+ if (!this._isInlineMode())
968
+ return;
969
+ const e = t.target;
970
+ if (e) {
971
+ if (e.tagName.toLowerCase() === "ui-calendar") {
972
+ this._onOverlayCalendar(t);
973
+ return;
974
+ }
975
+ if (e instanceof HTMLSelectElement && e.closest(".inline-panel")) {
976
+ if (!e.matches("select[data-time][data-segment]") || this._isInteractionBlocked() || this._isReadonly())
977
+ return;
978
+ if (this._applyTimeFromOverlay(e), this._shouldAutoCommit()) {
979
+ const i = this._valueFromPending();
980
+ if (i.start && i.end) {
981
+ this._commit(this._pending, "time");
982
+ return;
983
+ }
984
+ }
985
+ this._updateHostState();
986
+ }
987
+ }
988
+ }
989
+ _onRootKeyDown(t) {
990
+ const e = t;
991
+ if (!this._isInteractionBlocked()) {
992
+ if (e.key === "Escape" && this._open && !this._isInlineMode()) {
993
+ e.preventDefault(), this._setOpen(!1, "escape");
994
+ return;
995
+ }
996
+ e.key === "ArrowDown" && !this._open && !this._isInlineMode() && (e.preventDefault(), this._setOpen(!0, "keyboard"));
997
+ }
998
+ }
999
+ _onOverlayClick(t) {
1000
+ var r;
1001
+ const e = t.target;
1002
+ if (!e)
1003
+ return;
1004
+ const i = (r = e.closest("[data-action]")) == null ? void 0 : r.getAttribute("data-action");
1005
+ if (i && !(this._isInteractionBlocked() || this._isReadonly())) {
1006
+ if (i === "backdrop") {
1007
+ this._setOpen(!1, "outside");
1008
+ return;
1009
+ }
1010
+ if (i === "cancel") {
1011
+ this._pending = w(this._value), this._setOpen(!1, "cancel");
1012
+ return;
1013
+ }
1014
+ if (i === "clear") {
1015
+ this._pending = w({ start: null, end: null }), this._emitInput("clear"), this._renderOverlay();
1016
+ return;
1017
+ }
1018
+ if (i === "preset-today" || i === "preset-last7" || i === "preset-month") {
1019
+ this._applyPreset(i), this._renderOverlay();
1020
+ return;
1021
+ }
1022
+ i === "apply" && (this._commit(this._pending, "apply"), this._setOpen(!1, "apply"));
1023
+ }
1024
+ }
1025
+ _onOverlayChange(t) {
1026
+ const e = t.target;
1027
+ if (e instanceof HTMLSelectElement && e.matches("select[data-time][data-segment]") && !(this._isInteractionBlocked() || this._isReadonly()) && (this._applyTimeFromOverlay(e), this._shouldAutoCommit())) {
1028
+ const i = this._valueFromPending();
1029
+ i.start && i.end && (this._commit(this._pending, "time"), this._setOpen(!1, "time"));
1030
+ }
1031
+ }
1032
+ _onOverlayCalendar(t) {
1033
+ if (this._isInteractionBlocked() || this._isReadonly())
1034
+ return;
1035
+ const e = t.target;
1036
+ if (!e || e.tagName.toLowerCase() !== "ui-calendar")
1037
+ return;
1038
+ const i = t.detail;
1039
+ if (!(!i || i.mode !== "range")) {
1040
+ if (this._pending.startDate = i.start || null, this._pending.endDate = i.end || null, this._pending = this._normalizePendingState(this._pending), this._emitInput("calendar"), this._shouldAutoCommit() && this._pending.startDate && this._pending.endDate) {
1041
+ this._commit(this._pending, "calendar"), this._setOpen(!1, "calendar");
1042
+ return;
1043
+ }
1044
+ this._isInlineMode() ? this._updateHostState() : this._renderOverlay();
1045
+ }
1046
+ }
1047
+ _onDocumentPointerDown(t) {
1048
+ if (!this._open || !this._overlay)
1049
+ return;
1050
+ const e = t.composedPath();
1051
+ e.includes(this) || e.includes(this._overlay) || this._setOpen(!1, "outside");
1052
+ }
1053
+ _onDocumentKeyDown(t) {
1054
+ this._open && t.key === "Escape" && (t.preventDefault(), this._setOpen(!1, "escape"));
1055
+ }
1056
+ _updateHostState() {
1057
+ if (!this._hasView)
1058
+ return;
1059
+ const t = this.getAttribute("label") || "", e = this.getAttribute("hint") || "", i = this.getAttribute("error") || "", r = this._inlineError || i, o = !!(this._value.start || this._value.end), n = this.getAttribute("name") || "", s = this._isInlineMode(), a = this._translations(), l = r ? "error" : this._state(), p = this._formatDisplay();
1060
+ this._display = p, this._state() === "loading" ? this.setAttribute("aria-busy", "true") : this.removeAttribute("aria-busy");
1061
+ const m = this.root.querySelector(".label"), g = this.root.querySelector(".label-text"), v = this.root.querySelector(".required"), d = this.root.querySelector(".input"), f = this.root.querySelector('.btn[data-action="clear"]'), _ = this.root.querySelector('.btn[data-action="toggle"]'), y = this.root.querySelector(".hint"), b = this.root.querySelector(".error"), $ = this.root.querySelector(".hidden-input");
1062
+ if (m && (m.hidden = !t, m.id = this._labelId, m.setAttribute("for", this._inputId)), g && (g.textContent = t), v && (v.hidden = !this.hasAttribute("required")), d && (d.value !== p && (d.value = p), d.id = this._inputId, d.placeholder = a.dateRangeTimePlaceholder, d.readOnly = !0, d.disabled = this._isInteractionBlocked(), d.required = this.hasAttribute("required"), d.autocomplete = "off", d.setAttribute("role", "combobox"), d.setAttribute("aria-haspopup", "dialog"), d.setAttribute("aria-expanded", s ? "false" : String(this._open)), d.setAttribute("aria-controls", this._panelId), d.setAttribute("aria-invalid", r ? "true" : "false"), t ? d.setAttribute("aria-labelledby", this._labelId) : d.removeAttribute("aria-labelledby")), f && (f.hidden = !(this._clearable() && o), f.setAttribute("aria-label", a.clearDateRange), f.disabled = this._isInteractionBlocked()), _ && (_.hidden = s, _.setAttribute("aria-label", a.toggleCalendar), _.setAttribute("aria-expanded", s ? "false" : String(this._open)), _.setAttribute("aria-controls", this._panelId), _.disabled = this._isInteractionBlocked()), y && (y.id = this._hintId, y.hidden = !e, y.textContent = e), b && (b.id = this._errorId, b.hidden = !r, b.textContent = r), d) {
1063
+ const x = [];
1064
+ e && y && !y.hidden && x.push(this._hintId), r && x.push(this._errorId), x.length ? d.setAttribute("aria-describedby", x.join(" ")) : d.removeAttribute("aria-describedby");
1065
+ }
1066
+ $ && ($.disabled = !n, $.name = n, $.value = X(this._value) || "");
1067
+ const O = this.root.querySelector(".field");
1068
+ O && (O.dataset.open = this._open && !s ? "true" : "false", O.dataset.invalid = r ? "true" : "false", O.dataset.state = l);
1069
+ const u = this.root.querySelector(".inline-panel");
1070
+ if (u) {
1071
+ u.hidden = !s, u.id = this._panelId, u.dataset.bare = this._isBare() ? "true" : "false", u.setAttribute("role", "dialog"), u.setAttribute("aria-modal", "false"), u.setAttribute("aria-label", t || a.selectDateRange);
1072
+ const x = u.querySelector(".panel-title");
1073
+ x && (x.textContent = t, x.hidden = !t);
1074
+ const R = u.querySelector(".head-title");
1075
+ R && (R.textContent = t, R.hidden = !t);
1076
+ const H = u.querySelector(".head-meta"), T = this._valueFromPending();
1077
+ H && (H.textContent = T.start && T.end ? `${this._formatDateTimeDisplay(T.start)} — ${this._formatDateTimeDisplay(T.end)}` : a.selectDateRange);
1078
+ const V = u.querySelector(".drtp-calendar-inline");
1079
+ V && this._syncCalendar(V);
1080
+ const q = u.querySelector('select[data-time="start"][data-segment="hours"]'), L = u.querySelector('select[data-time="start"][data-segment="minutes"]'), M = u.querySelector('select[data-time="end"][data-segment="hours"]'), E = u.querySelector('select[data-time="end"][data-segment="minutes"]'), F = k(this._pending.startTime, !0) || { hours: 0, minutes: 0, seconds: 0 }, N = k(this._pending.endTime, !0) || { hours: 0, minutes: 0, seconds: 0 };
1081
+ q && this._setClosestOptionValue(q, F.hours), L && this._setClosestOptionValue(L, F.minutes), M && this._setClosestOptionValue(M, N.hours), E && this._setClosestOptionValue(E, N.minutes), [q, L, M, E].forEach((z) => {
1082
+ z && (z.disabled = this._isInteractionBlocked() || this._isReadonly());
1083
+ });
1084
+ const K = u.querySelector('[data-action="preset-today"]');
1085
+ K && (K.textContent = a.today);
1086
+ const U = u.querySelector('[data-action="preset-last7"]');
1087
+ U && (U.textContent = a.last7Days);
1088
+ const j = u.querySelector('[data-action="preset-month"]');
1089
+ j && (j.textContent = a.thisMonth);
1090
+ const Z = u.querySelector('[data-action="clear"]');
1091
+ Z && (Z.textContent = a.clear);
1092
+ const W = u.querySelector('[data-action="apply"]');
1093
+ W && (W.textContent = a.apply);
1094
+ const J = u.querySelector(".presets"), Y = u.querySelector(".footer"), G = this._showFooter();
1095
+ J && (J.hidden = !G), Y && (Y.hidden = !G), u.querySelectorAll(".action, .preset").forEach((z) => {
1096
+ z.disabled = this._isInteractionBlocked() || this._isReadonly();
1097
+ });
1098
+ }
1099
+ !s && this._open && this._syncOverlayState(), s && this._destroyOverlay();
1100
+ }
1101
+ render() {
1102
+ if (!this._hasView) {
1103
+ const t = this._translations();
1104
+ this.setContent(`
1105
+ <style>${mt}</style>
1106
+ <div class="root">
1107
+ <label class="label" part="label" id="${this._labelId}">
1108
+ <span class="label-text"></span>
1109
+ <span class="required">*</span>
1110
+ </label>
1111
+ <div class="field" part="field input">
1112
+ <span class="icon" part="icon">${ct}</span>
1113
+ <input class="input" id="${this._inputId}" part="input" readonly />
1114
+ <span class="icon" part="icon">${B}</span>
1115
+ <button type="button" class="btn" part="clear" data-action="clear">${ht}</button>
1116
+ <button type="button" class="btn" part="toggle" data-action="toggle">${pt}</button>
1117
+ </div>
1118
+ <div class="hint" id="${this._hintId}" part="hint"></div>
1119
+ <div class="error" id="${this._errorId}" part="error" role="alert"></div>
1120
+ <input class="hidden-input" type="hidden" disabled />
1121
+ <section class="inline-panel" id="${this._panelId}" part="popover" hidden>
1122
+ <p class="panel-title">${c(t.selectDateRange)}</p>
1123
+ ${this._renderSurfaceInner(!1, !0)}
1124
+ </section>
1125
+ </div>
1126
+ `, { force: !0 }), this._hasView = !0;
1127
+ }
1128
+ this._updateHostState();
1129
+ }
1130
+ shouldRenderOnAttributeChange(t, e, i) {
1131
+ return !1;
1132
+ }
1133
+ }
1134
+ typeof customElements < "u" && !customElements.get("ui-date-range-time-picker") && customElements.define("ui-date-range-time-picker", gt);
1135
+ export {
1136
+ gt as UIDateRangeTimePicker
1137
+ };