@vielzeug/refine 1.1.3 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (768) hide show
  1. package/dist/accordion-item.cjs +4 -4
  2. package/dist/accordion-item.cjs.map +1 -1
  3. package/dist/accordion-item.js +41 -41
  4. package/dist/accordion-item.js.map +1 -1
  5. package/dist/accordion.cjs +1 -1
  6. package/dist/accordion.cjs.map +1 -1
  7. package/dist/accordion.js +21 -21
  8. package/dist/accordion.js.map +1 -1
  9. package/dist/alert.cjs +5 -5
  10. package/dist/alert.cjs.map +1 -1
  11. package/dist/alert.js +21 -21
  12. package/dist/alert.js.map +1 -1
  13. package/dist/async.cjs +10 -10
  14. package/dist/async.cjs.map +1 -1
  15. package/dist/async.js +27 -27
  16. package/dist/async.js.map +1 -1
  17. package/dist/avatar.cjs +2 -2
  18. package/dist/avatar.cjs.map +1 -1
  19. package/dist/avatar.js +30 -30
  20. package/dist/avatar.js.map +1 -1
  21. package/dist/badge.cjs +1 -1
  22. package/dist/badge.cjs.map +1 -1
  23. package/dist/badge.js +1 -1
  24. package/dist/box.cjs +1 -1
  25. package/dist/box.cjs.map +1 -1
  26. package/dist/box.js +1 -1
  27. package/dist/breadcrumb.cjs +2 -2
  28. package/dist/breadcrumb.cjs.map +1 -1
  29. package/dist/breadcrumb.js +20 -20
  30. package/dist/breadcrumb.js.map +1 -1
  31. package/dist/button-group.cjs +1 -1
  32. package/dist/button-group.cjs.map +1 -1
  33. package/dist/button-group.js +7 -7
  34. package/dist/button-group.js.map +1 -1
  35. package/dist/button.cjs +6 -6
  36. package/dist/button.cjs.map +1 -1
  37. package/dist/button.js +44 -42
  38. package/dist/button.js.map +1 -1
  39. package/dist/calendar.cjs +28 -28
  40. package/dist/calendar.cjs.map +1 -1
  41. package/dist/calendar.js +93 -91
  42. package/dist/calendar.js.map +1 -1
  43. package/dist/card.cjs +6 -6
  44. package/dist/card.cjs.map +1 -1
  45. package/dist/card.js +35 -34
  46. package/dist/card.js.map +1 -1
  47. package/dist/carousel.cjs +19 -19
  48. package/dist/carousel.cjs.map +1 -1
  49. package/dist/carousel.js +111 -111
  50. package/dist/carousel.js.map +1 -1
  51. package/dist/chat-message.cjs +47 -0
  52. package/dist/chat-message.cjs.map +1 -0
  53. package/dist/chat-message.js +121 -0
  54. package/dist/chat-message.js.map +1 -0
  55. package/dist/checkbox-group.cjs +9 -9
  56. package/dist/checkbox-group.cjs.map +1 -1
  57. package/dist/checkbox-group.js +54 -52
  58. package/dist/checkbox-group.js.map +1 -1
  59. package/dist/checkbox.cjs +4 -4
  60. package/dist/checkbox.cjs.map +1 -1
  61. package/dist/checkbox.js +39 -37
  62. package/dist/checkbox.js.map +1 -1
  63. package/dist/chip.cjs +14 -14
  64. package/dist/chip.cjs.map +1 -1
  65. package/dist/chip.js +43 -43
  66. package/dist/chip.js.map +1 -1
  67. package/dist/code-window.cjs +1 -1
  68. package/dist/code-window.cjs.map +1 -1
  69. package/dist/code-window.js +1 -1
  70. package/dist/combobox.cjs +25 -25
  71. package/dist/combobox.cjs.map +1 -1
  72. package/dist/combobox.js +181 -179
  73. package/dist/combobox.js.map +1 -1
  74. package/dist/command-palette.cjs +62 -0
  75. package/dist/command-palette.cjs.map +1 -0
  76. package/dist/command-palette.js +179 -0
  77. package/dist/command-palette.js.map +1 -0
  78. package/dist/content/avatar/{avatar-group.css?inline.cjs → avatar-group.css.cjs} +1 -1
  79. package/dist/content/avatar/avatar-group.css.cjs.map +1 -0
  80. package/dist/content/avatar/{avatar-group.css?inline.js → avatar-group.css.js} +1 -1
  81. package/dist/content/avatar/avatar-group.css.js.map +1 -0
  82. package/dist/content/avatar/{avatar.css?inline.cjs → avatar.css.cjs} +1 -1
  83. package/dist/content/avatar/avatar.css.cjs.map +1 -0
  84. package/dist/content/avatar/{avatar.css?inline.js → avatar.css.js} +1 -1
  85. package/dist/content/avatar/avatar.css.js.map +1 -0
  86. package/dist/content/breadcrumb/{breadcrumb-item.css?inline.cjs → breadcrumb-item.css.cjs} +1 -1
  87. package/dist/content/breadcrumb/breadcrumb-item.css.cjs.map +1 -0
  88. package/dist/content/breadcrumb/{breadcrumb-item.css?inline.js → breadcrumb-item.css.js} +1 -1
  89. package/dist/content/breadcrumb/breadcrumb-item.css.js.map +1 -0
  90. package/dist/content/breadcrumb/{breadcrumb.css?inline.cjs → breadcrumb.css.cjs} +1 -1
  91. package/dist/content/breadcrumb/breadcrumb.css.cjs.map +1 -0
  92. package/dist/content/breadcrumb/{breadcrumb.css?inline.js → breadcrumb.css.js} +1 -1
  93. package/dist/content/breadcrumb/breadcrumb.css.js.map +1 -0
  94. package/dist/content/card/{card.css?inline.cjs → card.css.cjs} +1 -1
  95. package/dist/content/card/card.css.cjs.map +1 -0
  96. package/dist/content/card/{card.css?inline.js → card.css.js} +1 -1
  97. package/dist/content/card/card.css.js.map +1 -0
  98. package/dist/content/carousel/carousel-slide.cjs +1 -1
  99. package/dist/content/carousel/carousel-slide.cjs.map +1 -1
  100. package/dist/content/carousel/{carousel-slide.css?inline.cjs → carousel-slide.css.cjs} +1 -1
  101. package/dist/content/carousel/carousel-slide.css.cjs.map +1 -0
  102. package/dist/content/carousel/{carousel-slide.css?inline.js → carousel-slide.css.js} +1 -1
  103. package/dist/content/carousel/carousel-slide.css.js.map +1 -0
  104. package/dist/content/carousel/carousel-slide.js +7 -7
  105. package/dist/content/carousel/carousel-slide.js.map +1 -1
  106. package/dist/content/carousel/{carousel.css?inline.cjs → carousel.css.cjs} +1 -1
  107. package/dist/content/carousel/carousel.css.cjs.map +1 -0
  108. package/dist/content/carousel/{carousel.css?inline.js → carousel.css.js} +1 -1
  109. package/dist/content/carousel/carousel.css.js.map +1 -0
  110. package/dist/content/chat-message/chat-message.css.cjs +2 -0
  111. package/dist/content/chat-message/chat-message.css.cjs.map +1 -0
  112. package/dist/content/chat-message/chat-message.css.js +6 -0
  113. package/dist/content/chat-message/chat-message.css.js.map +1 -0
  114. package/dist/content/chat-message/chat-message.d.ts +87 -0
  115. package/dist/content/chat-message/chat-message.d.ts.map +1 -0
  116. package/dist/content/code-window/{code-window.css?inline.cjs → code-window.css.cjs} +1 -1
  117. package/dist/content/code-window/code-window.css.cjs.map +1 -0
  118. package/dist/content/code-window/{code-window.css?inline.js → code-window.css.js} +1 -1
  119. package/dist/content/code-window/code-window.css.js.map +1 -0
  120. package/dist/content/copy-command/{copy-command.css?inline.cjs → copy-command.css.cjs} +1 -1
  121. package/dist/content/copy-command/copy-command.css.cjs.map +1 -0
  122. package/dist/content/copy-command/{copy-command.css?inline.js → copy-command.css.js} +1 -1
  123. package/dist/content/copy-command/copy-command.css.js.map +1 -0
  124. package/dist/content/icon/{icon.css?inline.cjs → icon.css.cjs} +1 -1
  125. package/dist/content/icon/icon.css.cjs.map +1 -0
  126. package/dist/content/icon/{icon.css?inline.js → icon.css.js} +1 -1
  127. package/dist/content/icon/icon.css.js.map +1 -0
  128. package/dist/content/index.d.ts +2 -0
  129. package/dist/content/index.d.ts.map +1 -1
  130. package/dist/content/pagination/{pagination.css?inline.cjs → pagination.css.cjs} +1 -1
  131. package/dist/content/pagination/pagination.css.cjs.map +1 -0
  132. package/dist/content/pagination/{pagination.css?inline.js → pagination.css.js} +1 -1
  133. package/dist/content/pagination/pagination.css.js.map +1 -0
  134. package/dist/content/separator/{separator.css?inline.cjs → separator.css.cjs} +1 -1
  135. package/dist/content/separator/separator.css.cjs.map +1 -0
  136. package/dist/content/separator/{separator.css?inline.js → separator.css.js} +1 -1
  137. package/dist/content/separator/separator.css.js.map +1 -0
  138. package/dist/content/table/{table.css?inline.cjs → table.css.cjs} +1 -1
  139. package/dist/content/table/table.css.cjs.map +1 -0
  140. package/dist/content/table/{table.css?inline.js → table.css.js} +1 -1
  141. package/dist/content/table/table.css.js.map +1 -0
  142. package/dist/content/text/{text.css?inline.cjs → text.css.cjs} +1 -1
  143. package/dist/content/text/text.css.cjs.map +1 -0
  144. package/dist/content/text/{text.css?inline.js → text.css.js} +1 -1
  145. package/dist/content/text/text.css.js.map +1 -0
  146. package/dist/copy-command.cjs +5 -5
  147. package/dist/copy-command.cjs.map +1 -1
  148. package/dist/copy-command.js +25 -25
  149. package/dist/copy-command.js.map +1 -1
  150. package/dist/custom-elements.json +4716 -3980
  151. package/dist/datagrid.cjs +109 -109
  152. package/dist/datagrid.cjs.map +1 -1
  153. package/dist/datagrid.js +194 -194
  154. package/dist/datagrid.js.map +1 -1
  155. package/dist/date-picker.cjs +40 -40
  156. package/dist/date-picker.cjs.map +1 -1
  157. package/dist/date-picker.js +116 -114
  158. package/dist/date-picker.js.map +1 -1
  159. package/dist/dialog.cjs +5 -5
  160. package/dist/dialog.cjs.map +1 -1
  161. package/dist/dialog.js +28 -28
  162. package/dist/dialog.js.map +1 -1
  163. package/dist/disclosure/accordion/{accordion.css?inline.cjs → accordion.css.cjs} +1 -1
  164. package/dist/disclosure/accordion/accordion.css.cjs.map +1 -0
  165. package/dist/disclosure/accordion/{accordion.css?inline.js → accordion.css.js} +1 -1
  166. package/dist/disclosure/accordion/accordion.css.js.map +1 -0
  167. package/dist/disclosure/accordion-item/{accordion-item.css?inline.cjs → accordion-item.css.cjs} +1 -1
  168. package/dist/disclosure/accordion-item/accordion-item.css.cjs.map +1 -0
  169. package/dist/disclosure/accordion-item/{accordion-item.css?inline.js → accordion-item.css.js} +1 -1
  170. package/dist/disclosure/accordion-item/accordion-item.css.js.map +1 -0
  171. package/dist/disclosure/tab-item/{tab-item.css?inline.cjs → tab-item.css.cjs} +1 -1
  172. package/dist/disclosure/tab-item/tab-item.css.cjs.map +1 -0
  173. package/dist/disclosure/tab-item/{tab-item.css?inline.js → tab-item.css.js} +1 -1
  174. package/dist/disclosure/tab-item/tab-item.css.js.map +1 -0
  175. package/dist/disclosure/tab-panel/{tab-panel.css?inline.cjs → tab-panel.css.cjs} +1 -1
  176. package/dist/disclosure/tab-panel/tab-panel.css.cjs.map +1 -0
  177. package/dist/disclosure/tab-panel/{tab-panel.css?inline.js → tab-panel.css.js} +1 -1
  178. package/dist/disclosure/tab-panel/tab-panel.css.js.map +1 -0
  179. package/dist/disclosure/tabs/{tabs.css?inline.cjs → tabs.css.cjs} +1 -1
  180. package/dist/disclosure/tabs/tabs.css.cjs.map +1 -0
  181. package/dist/disclosure/tabs/{tabs.css?inline.js → tabs.css.js} +1 -1
  182. package/dist/disclosure/tabs/tabs.css.js.map +1 -0
  183. package/dist/drawer.cjs +9 -9
  184. package/dist/drawer.cjs.map +1 -1
  185. package/dist/drawer.js +80 -80
  186. package/dist/drawer.js.map +1 -1
  187. package/dist/feedback/alert/{alert.css?inline.cjs → alert.css.cjs} +1 -1
  188. package/dist/feedback/alert/alert.css.cjs.map +1 -0
  189. package/dist/feedback/alert/{alert.css?inline.js → alert.css.js} +1 -1
  190. package/dist/feedback/alert/alert.css.js.map +1 -0
  191. package/dist/feedback/async/{async.css?inline.cjs → async.css.cjs} +1 -1
  192. package/dist/feedback/async/async.css.cjs.map +1 -0
  193. package/dist/feedback/async/{async.css?inline.js → async.css.js} +1 -1
  194. package/dist/feedback/async/async.css.js.map +1 -0
  195. package/dist/feedback/badge/{badge.css?inline.cjs → badge.css.cjs} +1 -1
  196. package/dist/feedback/badge/badge.css.cjs.map +1 -0
  197. package/dist/feedback/badge/{badge.css?inline.js → badge.css.js} +1 -1
  198. package/dist/feedback/badge/badge.css.js.map +1 -0
  199. package/dist/feedback/chip/{chip.css?inline.cjs → chip.css.cjs} +1 -1
  200. package/dist/feedback/chip/chip.css.cjs.map +1 -0
  201. package/dist/feedback/chip/{chip.css?inline.js → chip.css.js} +1 -1
  202. package/dist/feedback/chip/chip.css.js.map +1 -0
  203. package/dist/feedback/index.d.ts +2 -0
  204. package/dist/feedback/index.d.ts.map +1 -1
  205. package/dist/feedback/password-strength/{password-strength.css?inline.cjs → password-strength.css.cjs} +1 -1
  206. package/dist/feedback/password-strength/password-strength.css.cjs.map +1 -0
  207. package/dist/feedback/password-strength/{password-strength.css?inline.js → password-strength.css.js} +1 -1
  208. package/dist/feedback/password-strength/password-strength.css.js.map +1 -0
  209. package/dist/feedback/progress/{progress.css?inline.cjs → progress.css.cjs} +1 -1
  210. package/dist/feedback/progress/progress.css.cjs.map +1 -0
  211. package/dist/feedback/progress/{progress.css?inline.js → progress.css.js} +1 -1
  212. package/dist/feedback/progress/progress.css.js.map +1 -0
  213. package/dist/feedback/skeleton/{skeleton.css?inline.cjs → skeleton.css.cjs} +1 -1
  214. package/dist/feedback/skeleton/skeleton.css.cjs.map +1 -0
  215. package/dist/feedback/skeleton/{skeleton.css?inline.js → skeleton.css.js} +1 -1
  216. package/dist/feedback/skeleton/skeleton.css.js.map +1 -0
  217. package/dist/feedback/toast/{toast.css?inline.cjs → toast.css.cjs} +1 -1
  218. package/dist/feedback/toast/toast.css.cjs.map +1 -0
  219. package/dist/feedback/toast/{toast.css?inline.js → toast.css.js} +1 -1
  220. package/dist/feedback/toast/toast.css.js.map +1 -0
  221. package/dist/feedback/toast/toast.d.ts.map +1 -1
  222. package/dist/feedback/typing-indicator/typing-indicator.css.cjs +2 -0
  223. package/dist/feedback/typing-indicator/typing-indicator.css.cjs.map +1 -0
  224. package/dist/feedback/typing-indicator/typing-indicator.css.js +6 -0
  225. package/dist/feedback/typing-indicator/typing-indicator.css.js.map +1 -0
  226. package/dist/feedback/typing-indicator/typing-indicator.d.ts +42 -0
  227. package/dist/feedback/typing-indicator/typing-indicator.d.ts.map +1 -0
  228. package/dist/file-input.cjs +56 -34
  229. package/dist/file-input.cjs.map +1 -1
  230. package/dist/file-input.js +143 -104
  231. package/dist/file-input.js.map +1 -1
  232. package/dist/form.cjs +3 -3
  233. package/dist/form.cjs.map +1 -1
  234. package/dist/form.js +28 -25
  235. package/dist/form.js.map +1 -1
  236. package/dist/grid-item.cjs +1 -1
  237. package/dist/grid-item.cjs.map +1 -1
  238. package/dist/grid-item.js +19 -19
  239. package/dist/grid-item.js.map +1 -1
  240. package/dist/grid.cjs +1 -1
  241. package/dist/grid.cjs.map +1 -1
  242. package/dist/grid.js +48 -48
  243. package/dist/grid.js.map +1 -1
  244. package/dist/icon.cjs +1 -1
  245. package/dist/icon.cjs.map +1 -1
  246. package/dist/icon.js +26 -26
  247. package/dist/icon.js.map +1 -1
  248. package/dist/index.cjs +1 -1
  249. package/dist/index.js +52 -49
  250. package/dist/input.cjs +25 -25
  251. package/dist/input.cjs.map +1 -1
  252. package/dist/input.js +75 -73
  253. package/dist/input.js.map +1 -1
  254. package/dist/inputs/button/{button.css?inline.cjs → button.css.cjs} +1 -1
  255. package/dist/inputs/button/button.css.cjs.map +1 -0
  256. package/dist/inputs/button/{button.css?inline.js → button.css.js} +1 -1
  257. package/dist/inputs/button/button.css.js.map +1 -0
  258. package/dist/inputs/button/button.d.ts.map +1 -1
  259. package/dist/inputs/button-group/{button-group.css?inline.cjs → button-group.css.cjs} +1 -1
  260. package/dist/inputs/button-group/button-group.css.cjs.map +1 -0
  261. package/dist/inputs/button-group/{button-group.css?inline.js → button-group.css.js} +1 -1
  262. package/dist/inputs/button-group/button-group.css.js.map +1 -0
  263. package/dist/inputs/calendar/{calendar.css?inline.cjs → calendar.css.cjs} +1 -1
  264. package/dist/inputs/calendar/calendar.css.cjs.map +1 -0
  265. package/dist/inputs/calendar/{calendar.css?inline.js → calendar.css.js} +1 -1
  266. package/dist/inputs/calendar/calendar.css.js.map +1 -0
  267. package/dist/inputs/calendar/calendar.d.ts.map +1 -1
  268. package/dist/inputs/checkbox/{checkbox.css?inline.cjs → checkbox.css.cjs} +1 -1
  269. package/dist/inputs/checkbox/checkbox.css.cjs.map +1 -0
  270. package/dist/inputs/checkbox/{checkbox.css?inline.js → checkbox.css.js} +1 -1
  271. package/dist/inputs/checkbox/checkbox.css.js.map +1 -0
  272. package/dist/inputs/checkbox/checkbox.d.ts.map +1 -1
  273. package/dist/inputs/checkbox-group/{checkbox-group.css?inline.cjs → checkbox-group.css.cjs} +1 -1
  274. package/dist/inputs/checkbox-group/checkbox-group.css.cjs.map +1 -0
  275. package/dist/inputs/checkbox-group/{checkbox-group.css?inline.js → checkbox-group.css.js} +1 -1
  276. package/dist/inputs/checkbox-group/checkbox-group.css.js.map +1 -0
  277. package/dist/inputs/checkbox-group/checkbox-group.d.ts.map +1 -1
  278. package/dist/inputs/combobox/{combobox.css?inline.cjs → combobox.css.cjs} +1 -1
  279. package/dist/inputs/combobox/combobox.css.cjs.map +1 -0
  280. package/dist/inputs/combobox/{combobox.css?inline.js → combobox.css.js} +1 -1
  281. package/dist/inputs/combobox/combobox.css.js.map +1 -0
  282. package/dist/inputs/combobox/combobox.d.ts.map +1 -1
  283. package/dist/inputs/datagrid/{datagrid.css?inline.cjs → datagrid.css.cjs} +1 -1
  284. package/dist/inputs/datagrid/datagrid.css.cjs.map +1 -0
  285. package/dist/inputs/datagrid/{datagrid.css?inline.js → datagrid.css.js} +1 -1
  286. package/dist/inputs/datagrid/datagrid.css.js.map +1 -0
  287. package/dist/inputs/date-picker/{date-picker.css?inline.cjs → date-picker.css.cjs} +1 -1
  288. package/dist/inputs/date-picker/date-picker.css.cjs.map +1 -0
  289. package/dist/inputs/date-picker/{date-picker.css?inline.js → date-picker.css.js} +1 -1
  290. package/dist/inputs/date-picker/date-picker.css.js.map +1 -0
  291. package/dist/inputs/date-picker/date-picker.d.ts.map +1 -1
  292. package/dist/inputs/file-input/{file-input.css?inline.cjs → file-input.css.cjs} +2 -2
  293. package/dist/inputs/file-input/file-input.css.cjs.map +1 -0
  294. package/dist/inputs/file-input/{file-input.css?inline.js → file-input.css.js} +2 -2
  295. package/dist/inputs/file-input/file-input.css.js.map +1 -0
  296. package/dist/inputs/file-input/file-input.d.ts +9 -0
  297. package/dist/inputs/file-input/file-input.d.ts.map +1 -1
  298. package/dist/inputs/form/{form.css?inline.cjs → form.css.cjs} +1 -1
  299. package/dist/inputs/form/form.css.cjs.map +1 -0
  300. package/dist/inputs/form/{form.css?inline.js → form.css.js} +1 -1
  301. package/dist/inputs/form/form.css.js.map +1 -0
  302. package/dist/inputs/input/{input.css?inline.cjs → input.css.cjs} +1 -1
  303. package/dist/inputs/input/input.css.cjs.map +1 -0
  304. package/dist/inputs/input/{input.css?inline.js → input.css.js} +1 -1
  305. package/dist/inputs/input/input.css.js.map +1 -0
  306. package/dist/inputs/input/input.d.ts.map +1 -1
  307. package/dist/inputs/number-input/{number-input.css?inline.cjs → number-input.css.cjs} +1 -1
  308. package/dist/inputs/number-input/number-input.css.cjs.map +1 -0
  309. package/dist/inputs/number-input/{number-input.css?inline.js → number-input.css.js} +1 -1
  310. package/dist/inputs/number-input/number-input.css.js.map +1 -0
  311. package/dist/inputs/otp-input/{otp-input.css?inline.cjs → otp-input.css.cjs} +1 -1
  312. package/dist/inputs/otp-input/otp-input.css.cjs.map +1 -0
  313. package/dist/inputs/otp-input/{otp-input.css?inline.js → otp-input.css.js} +1 -1
  314. package/dist/inputs/otp-input/otp-input.css.js.map +1 -0
  315. package/dist/inputs/otp-input/otp-input.d.ts.map +1 -1
  316. package/dist/inputs/radio/{radio.css?inline.cjs → radio.css.cjs} +1 -1
  317. package/dist/inputs/radio/radio.css.cjs.map +1 -0
  318. package/dist/inputs/radio/{radio.css?inline.js → radio.css.js} +1 -1
  319. package/dist/inputs/radio/radio.css.js.map +1 -0
  320. package/dist/inputs/radio/radio.d.ts.map +1 -1
  321. package/dist/inputs/radio-group/{radio-group.css?inline.cjs → radio-group.css.cjs} +1 -1
  322. package/dist/inputs/radio-group/radio-group.css.cjs.map +1 -0
  323. package/dist/inputs/radio-group/{radio-group.css?inline.js → radio-group.css.js} +1 -1
  324. package/dist/inputs/radio-group/radio-group.css.js.map +1 -0
  325. package/dist/inputs/radio-group/radio-group.d.ts.map +1 -1
  326. package/dist/inputs/rating/{rating.css?inline.cjs → rating.css.cjs} +1 -1
  327. package/dist/inputs/rating/rating.css.cjs.map +1 -0
  328. package/dist/inputs/rating/{rating.css?inline.js → rating.css.js} +1 -1
  329. package/dist/inputs/rating/rating.css.js.map +1 -0
  330. package/dist/inputs/rating/rating.d.ts.map +1 -1
  331. package/dist/inputs/select/{select.css?inline.cjs → select.css.cjs} +1 -1
  332. package/dist/inputs/select/select.css.cjs.map +1 -0
  333. package/dist/inputs/select/{select.css?inline.js → select.css.js} +1 -1
  334. package/dist/inputs/select/select.css.js.map +1 -0
  335. package/dist/inputs/select/select.d.ts.map +1 -1
  336. package/dist/inputs/shared/field-binding.cjs +1 -1
  337. package/dist/inputs/shared/field-binding.cjs.map +1 -1
  338. package/dist/inputs/shared/field-binding.d.ts +1 -2
  339. package/dist/inputs/shared/field-binding.d.ts.map +1 -1
  340. package/dist/inputs/shared/field-binding.js +3 -2
  341. package/dist/inputs/shared/field-binding.js.map +1 -1
  342. package/dist/inputs/shared/form-context.cjs +1 -1
  343. package/dist/inputs/shared/form-context.cjs.map +1 -1
  344. package/dist/inputs/shared/form-context.d.ts +4 -4
  345. package/dist/inputs/shared/form-context.d.ts.map +1 -1
  346. package/dist/inputs/shared/form-context.js +10 -10
  347. package/dist/inputs/shared/form-context.js.map +1 -1
  348. package/dist/inputs/slider/{slider.css?inline.cjs → slider.css.cjs} +1 -1
  349. package/dist/inputs/slider/slider.css.cjs.map +1 -0
  350. package/dist/inputs/slider/{slider.css?inline.js → slider.css.js} +1 -1
  351. package/dist/inputs/slider/slider.css.js.map +1 -0
  352. package/dist/inputs/slider/slider.d.ts.map +1 -1
  353. package/dist/inputs/switch/{switch.css?inline.cjs → switch.css.cjs} +1 -1
  354. package/dist/inputs/switch/switch.css.cjs.map +1 -0
  355. package/dist/inputs/switch/{switch.css?inline.js → switch.css.js} +1 -1
  356. package/dist/inputs/switch/switch.css.js.map +1 -0
  357. package/dist/inputs/switch/switch.d.ts.map +1 -1
  358. package/dist/inputs/textarea/{textarea.css?inline.cjs → textarea.css.cjs} +1 -1
  359. package/dist/inputs/textarea/textarea.css.cjs.map +1 -0
  360. package/dist/inputs/textarea/{textarea.css?inline.js → textarea.css.js} +1 -1
  361. package/dist/inputs/textarea/textarea.css.js.map +1 -0
  362. package/dist/inputs/textarea/textarea.d.ts.map +1 -1
  363. package/dist/inputs/time-picker/{time-picker.css?inline.cjs → time-picker.css.cjs} +1 -1
  364. package/dist/inputs/time-picker/time-picker.css.cjs.map +1 -0
  365. package/dist/inputs/time-picker/{time-picker.css?inline.js → time-picker.css.js} +1 -1
  366. package/dist/inputs/time-picker/time-picker.css.js.map +1 -0
  367. package/dist/inputs/time-picker/time-picker.d.ts.map +1 -1
  368. package/dist/keymap/dist/_dev.cjs +2 -0
  369. package/dist/keymap/dist/_dev.cjs.map +1 -0
  370. package/dist/keymap/dist/_dev.js +4 -0
  371. package/dist/keymap/dist/_dev.js.map +1 -0
  372. package/dist/keymap/dist/format.cjs +1 -0
  373. package/dist/keymap/dist/format.js +1 -0
  374. package/dist/keymap/dist/index.cjs +1 -0
  375. package/dist/keymap/dist/index.js +4 -0
  376. package/dist/keymap/dist/keymap.cjs +2 -0
  377. package/dist/keymap/dist/keymap.cjs.map +1 -0
  378. package/dist/keymap/dist/keymap.js +221 -0
  379. package/dist/keymap/dist/keymap.js.map +1 -0
  380. package/dist/keymap/dist/layer.cjs +1 -0
  381. package/dist/keymap/dist/layer.js +1 -0
  382. package/dist/layout/box/{box.css?inline.cjs → box.css.cjs} +1 -1
  383. package/dist/layout/box/box.css.cjs.map +1 -0
  384. package/dist/layout/box/{box.css?inline.js → box.css.js} +1 -1
  385. package/dist/layout/box/box.css.js.map +1 -0
  386. package/dist/layout/grid/{grid.css?inline.cjs → grid.css.cjs} +1 -1
  387. package/dist/layout/grid/grid.css.cjs.map +1 -0
  388. package/dist/layout/grid/{grid.css?inline.js → grid.css.js} +1 -1
  389. package/dist/layout/grid/grid.css.js.map +1 -0
  390. package/dist/layout/grid-item/{grid-item.css?inline.cjs → grid-item.css.cjs} +1 -1
  391. package/dist/layout/grid-item/grid-item.css.cjs.map +1 -0
  392. package/dist/layout/grid-item/{grid-item.css?inline.js → grid-item.css.js} +1 -1
  393. package/dist/layout/grid-item/grid-item.css.js.map +1 -0
  394. package/dist/layout/navbar/{navbar.css?inline.cjs → navbar.css.cjs} +1 -1
  395. package/dist/layout/navbar/navbar.css.cjs.map +1 -0
  396. package/dist/layout/navbar/{navbar.css?inline.js → navbar.css.js} +1 -1
  397. package/dist/layout/navbar/navbar.css.js.map +1 -0
  398. package/dist/layout/navbar/navbar.d.ts.map +1 -1
  399. package/dist/layout/sidebar/{sidebar-group.css?inline.cjs → sidebar-group.css.cjs} +1 -1
  400. package/dist/layout/sidebar/sidebar-group.css.cjs.map +1 -0
  401. package/dist/layout/sidebar/{sidebar-group.css?inline.js → sidebar-group.css.js} +1 -1
  402. package/dist/layout/sidebar/sidebar-group.css.js.map +1 -0
  403. package/dist/layout/sidebar/{sidebar-item.css?inline.cjs → sidebar-item.css.cjs} +1 -1
  404. package/dist/layout/sidebar/sidebar-item.css.cjs.map +1 -0
  405. package/dist/layout/sidebar/{sidebar-item.css?inline.js → sidebar-item.css.js} +1 -1
  406. package/dist/layout/sidebar/sidebar-item.css.js.map +1 -0
  407. package/dist/layout/sidebar/{sidebar.css?inline.cjs → sidebar.css.cjs} +1 -1
  408. package/dist/layout/sidebar/sidebar.css.cjs.map +1 -0
  409. package/dist/layout/sidebar/{sidebar.css?inline.js → sidebar.css.js} +1 -1
  410. package/dist/layout/sidebar/sidebar.css.js.map +1 -0
  411. package/dist/layout/sidebar/sidebar.d.ts.map +1 -1
  412. package/dist/menu.cjs +5 -5
  413. package/dist/menu.cjs.map +1 -1
  414. package/dist/menu.js +85 -85
  415. package/dist/menu.js.map +1 -1
  416. package/dist/navbar.cjs +15 -15
  417. package/dist/navbar.cjs.map +1 -1
  418. package/dist/navbar.js +127 -127
  419. package/dist/navbar.js.map +1 -1
  420. package/dist/number-input.cjs +11 -11
  421. package/dist/number-input.cjs.map +1 -1
  422. package/dist/number-input.js +69 -69
  423. package/dist/number-input.js.map +1 -1
  424. package/dist/ore/dist/_dev.cjs.map +1 -1
  425. package/dist/ore/dist/_dev.js.map +1 -1
  426. package/dist/ore/dist/base-element.cjs +1 -1
  427. package/dist/ore/dist/base-element.cjs.map +1 -1
  428. package/dist/ore/dist/base-element.js +37 -35
  429. package/dist/ore/dist/base-element.js.map +1 -1
  430. package/dist/ore/dist/context.cjs +1 -1
  431. package/dist/ore/dist/context.cjs.map +1 -1
  432. package/dist/ore/dist/context.js +6 -33
  433. package/dist/ore/dist/context.js.map +1 -1
  434. package/dist/ore/dist/define.cjs.map +1 -1
  435. package/dist/ore/dist/define.js.map +1 -1
  436. package/dist/ore/dist/directives/raw.cjs +1 -1
  437. package/dist/ore/dist/directives/raw.cjs.map +1 -1
  438. package/dist/ore/dist/directives/raw.js +20 -17
  439. package/dist/ore/dist/directives/raw.js.map +1 -1
  440. package/dist/ore/dist/directives/when.cjs +1 -1
  441. package/dist/ore/dist/directives/when.cjs.map +1 -1
  442. package/dist/ore/dist/directives/when.js +29 -24
  443. package/dist/ore/dist/directives/when.js.map +1 -1
  444. package/dist/ore/dist/errors.cjs +2 -2
  445. package/dist/ore/dist/errors.cjs.map +1 -1
  446. package/dist/ore/dist/errors.js +12 -3
  447. package/dist/ore/dist/errors.js.map +1 -1
  448. package/dist/ore/dist/forms/context.cjs +2 -0
  449. package/dist/ore/dist/forms/context.cjs.map +1 -0
  450. package/dist/ore/dist/forms/context.js +6 -0
  451. package/dist/ore/dist/forms/context.js.map +1 -0
  452. package/dist/ore/dist/forms/field.cjs +2 -0
  453. package/dist/ore/dist/forms/field.cjs.map +1 -0
  454. package/dist/ore/dist/forms/field.js +35 -0
  455. package/dist/ore/dist/forms/field.js.map +1 -0
  456. package/dist/ore/dist/forms.cjs +1 -0
  457. package/dist/ore/dist/forms.js +3 -0
  458. package/dist/ore/dist/props.cjs +1 -1
  459. package/dist/ore/dist/props.cjs.map +1 -1
  460. package/dist/ore/dist/props.js +29 -27
  461. package/dist/ore/dist/props.js.map +1 -1
  462. package/dist/ore/dist/runtime.cjs +1 -1
  463. package/dist/ore/dist/runtime.cjs.map +1 -1
  464. package/dist/ore/dist/runtime.js +13 -23
  465. package/dist/ore/dist/runtime.js.map +1 -1
  466. package/dist/ore/dist/testing/render-hook.cjs +1 -1
  467. package/dist/ore/dist/testing/render-hook.js +0 -1
  468. package/dist/ore/dist/utils/dom.cjs +1 -1
  469. package/dist/ore/dist/utils/dom.cjs.map +1 -1
  470. package/dist/ore/dist/utils/dom.js +2 -6
  471. package/dist/ore/dist/utils/dom.js.map +1 -1
  472. package/dist/otp-input.cjs +9 -9
  473. package/dist/otp-input.cjs.map +1 -1
  474. package/dist/otp-input.js +70 -68
  475. package/dist/otp-input.js.map +1 -1
  476. package/dist/overlay/command-palette/command-palette-items.cjs +2 -0
  477. package/dist/overlay/command-palette/command-palette-items.cjs.map +1 -0
  478. package/dist/overlay/command-palette/command-palette-items.d.ts +22 -0
  479. package/dist/overlay/command-palette/command-palette-items.d.ts.map +1 -0
  480. package/dist/overlay/command-palette/command-palette-items.js +55 -0
  481. package/dist/overlay/command-palette/command-palette-items.js.map +1 -0
  482. package/dist/overlay/command-palette/command-palette.css.cjs +2 -0
  483. package/dist/overlay/command-palette/command-palette.css.cjs.map +1 -0
  484. package/dist/overlay/command-palette/command-palette.css.js +6 -0
  485. package/dist/overlay/command-palette/command-palette.css.js.map +1 -0
  486. package/dist/overlay/command-palette/command-palette.d.ts +72 -0
  487. package/dist/overlay/command-palette/command-palette.d.ts.map +1 -0
  488. package/dist/overlay/command-palette/command-palette.types.d.ts +76 -0
  489. package/dist/overlay/command-palette/command-palette.types.d.ts.map +1 -0
  490. package/dist/overlay/dialog/{dialog.css?inline.cjs → dialog.css.cjs} +1 -1
  491. package/dist/overlay/dialog/dialog.css.cjs.map +1 -0
  492. package/dist/overlay/dialog/{dialog.css?inline.js → dialog.css.js} +1 -1
  493. package/dist/overlay/dialog/dialog.css.js.map +1 -0
  494. package/dist/overlay/drawer/{drawer.css?inline.cjs → drawer.css.cjs} +1 -1
  495. package/dist/overlay/drawer/drawer.css.cjs.map +1 -0
  496. package/dist/overlay/drawer/{drawer.css?inline.js → drawer.css.js} +1 -1
  497. package/dist/overlay/drawer/drawer.css.js.map +1 -0
  498. package/dist/overlay/drawer/drawer.d.ts.map +1 -1
  499. package/dist/overlay/index.d.ts +2 -0
  500. package/dist/overlay/index.d.ts.map +1 -1
  501. package/dist/overlay/menu/{menu-item.css?inline.cjs → menu-item.css.cjs} +1 -1
  502. package/dist/overlay/menu/menu-item.css.cjs.map +1 -0
  503. package/dist/overlay/menu/{menu-item.css?inline.js → menu-item.css.js} +1 -1
  504. package/dist/overlay/menu/menu-item.css.js.map +1 -0
  505. package/dist/overlay/menu/{menu-separator.css?inline.cjs → menu-separator.css.cjs} +1 -1
  506. package/dist/overlay/menu/menu-separator.css.cjs.map +1 -0
  507. package/dist/overlay/menu/{menu-separator.css?inline.js → menu-separator.css.js} +1 -1
  508. package/dist/overlay/menu/menu-separator.css.js.map +1 -0
  509. package/dist/overlay/menu/{menu.css?inline.cjs → menu.css.cjs} +1 -1
  510. package/dist/overlay/menu/menu.css.cjs.map +1 -0
  511. package/dist/overlay/menu/{menu.css?inline.js → menu.css.js} +1 -1
  512. package/dist/overlay/menu/menu.css.js.map +1 -0
  513. package/dist/overlay/menu/menu.d.ts.map +1 -1
  514. package/dist/overlay/popover/{popover.css?inline.cjs → popover.css.cjs} +1 -1
  515. package/dist/overlay/popover/popover.css.cjs.map +1 -0
  516. package/dist/overlay/popover/{popover.css?inline.js → popover.css.js} +1 -1
  517. package/dist/overlay/popover/popover.css.js.map +1 -0
  518. package/dist/overlay/popover/popover.d.ts.map +1 -1
  519. package/dist/overlay/tooltip/{tooltip.css?inline.cjs → tooltip.css.cjs} +1 -1
  520. package/dist/overlay/tooltip/tooltip.css.cjs.map +1 -0
  521. package/dist/overlay/tooltip/{tooltip.css?inline.js → tooltip.css.js} +1 -1
  522. package/dist/overlay/tooltip/tooltip.css.js.map +1 -0
  523. package/dist/pagination.cjs +12 -12
  524. package/dist/pagination.cjs.map +1 -1
  525. package/dist/pagination.js +39 -38
  526. package/dist/pagination.js.map +1 -1
  527. package/dist/password-strength.cjs +8 -8
  528. package/dist/password-strength.cjs.map +1 -1
  529. package/dist/password-strength.js +34 -34
  530. package/dist/password-strength.js.map +1 -1
  531. package/dist/popover.cjs +4 -4
  532. package/dist/popover.cjs.map +1 -1
  533. package/dist/popover.js +30 -30
  534. package/dist/popover.js.map +1 -1
  535. package/dist/progress.cjs +1 -1
  536. package/dist/progress.cjs.map +1 -1
  537. package/dist/progress.js +30 -30
  538. package/dist/progress.js.map +1 -1
  539. package/dist/radio-group.cjs +11 -11
  540. package/dist/radio-group.cjs.map +1 -1
  541. package/dist/radio-group.js +67 -63
  542. package/dist/radio-group.js.map +1 -1
  543. package/dist/radio.cjs +4 -4
  544. package/dist/radio.cjs.map +1 -1
  545. package/dist/radio.js +69 -67
  546. package/dist/radio.js.map +1 -1
  547. package/dist/rating.cjs +4 -4
  548. package/dist/rating.cjs.map +1 -1
  549. package/dist/rating.js +57 -55
  550. package/dist/rating.js.map +1 -1
  551. package/dist/refine.cjs +753 -620
  552. package/dist/refine.cjs.map +1 -1
  553. package/dist/refine.iife.js +742 -609
  554. package/dist/refine.iife.js.map +1 -1
  555. package/dist/refine.js +777 -644
  556. package/dist/refine.js.map +1 -1
  557. package/dist/select.cjs +37 -37
  558. package/dist/select.cjs.map +1 -1
  559. package/dist/select.js +130 -128
  560. package/dist/select.js.map +1 -1
  561. package/dist/separator.cjs +1 -1
  562. package/dist/separator.cjs.map +1 -1
  563. package/dist/separator.js +1 -1
  564. package/dist/sidebar.cjs +22 -22
  565. package/dist/sidebar.cjs.map +1 -1
  566. package/dist/sidebar.js +135 -135
  567. package/dist/sidebar.js.map +1 -1
  568. package/dist/skeleton.cjs +2 -2
  569. package/dist/skeleton.cjs.map +1 -1
  570. package/dist/skeleton.js +28 -28
  571. package/dist/skeleton.js.map +1 -1
  572. package/dist/slider.cjs +13 -13
  573. package/dist/slider.cjs.map +1 -1
  574. package/dist/slider.js +142 -140
  575. package/dist/slider.js.map +1 -1
  576. package/dist/switch.cjs +4 -4
  577. package/dist/switch.cjs.map +1 -1
  578. package/dist/switch.js +35 -33
  579. package/dist/switch.js.map +1 -1
  580. package/dist/tab-item.cjs +5 -5
  581. package/dist/tab-item.cjs.map +1 -1
  582. package/dist/tab-item.js +25 -25
  583. package/dist/tab-item.js.map +1 -1
  584. package/dist/tab-panel.cjs +6 -6
  585. package/dist/tab-panel.cjs.map +1 -1
  586. package/dist/tab-panel.js +24 -24
  587. package/dist/tab-panel.js.map +1 -1
  588. package/dist/table.cjs +1 -1
  589. package/dist/table.cjs.map +1 -1
  590. package/dist/table.js +36 -35
  591. package/dist/table.js.map +1 -1
  592. package/dist/tabs.cjs +3 -3
  593. package/dist/tabs.cjs.map +1 -1
  594. package/dist/tabs.js +61 -61
  595. package/dist/tabs.js.map +1 -1
  596. package/dist/text.cjs +1 -1
  597. package/dist/text.cjs.map +1 -1
  598. package/dist/text.js +16 -16
  599. package/dist/text.js.map +1 -1
  600. package/dist/textarea.cjs +15 -15
  601. package/dist/textarea.cjs.map +1 -1
  602. package/dist/textarea.js +67 -65
  603. package/dist/textarea.js.map +1 -1
  604. package/dist/time-picker.cjs +31 -31
  605. package/dist/time-picker.cjs.map +1 -1
  606. package/dist/time-picker.js +115 -113
  607. package/dist/time-picker.js.map +1 -1
  608. package/dist/toast.cjs +14 -14
  609. package/dist/toast.cjs.map +1 -1
  610. package/dist/toast.js +85 -85
  611. package/dist/toast.js.map +1 -1
  612. package/dist/tooltip.cjs +5 -5
  613. package/dist/tooltip.cjs.map +1 -1
  614. package/dist/tooltip.js +55 -55
  615. package/dist/tooltip.js.map +1 -1
  616. package/dist/typing-indicator.cjs +8 -0
  617. package/dist/typing-indicator.cjs.map +1 -0
  618. package/dist/typing-indicator.js +49 -0
  619. package/dist/typing-indicator.js.map +1 -0
  620. package/package.json +21 -2
  621. package/dist/content/avatar/avatar-group.css?inline.cjs.map +0 -1
  622. package/dist/content/avatar/avatar-group.css?inline.js.map +0 -1
  623. package/dist/content/avatar/avatar.css?inline.cjs.map +0 -1
  624. package/dist/content/avatar/avatar.css?inline.js.map +0 -1
  625. package/dist/content/breadcrumb/breadcrumb-item.css?inline.cjs.map +0 -1
  626. package/dist/content/breadcrumb/breadcrumb-item.css?inline.js.map +0 -1
  627. package/dist/content/breadcrumb/breadcrumb.css?inline.cjs.map +0 -1
  628. package/dist/content/breadcrumb/breadcrumb.css?inline.js.map +0 -1
  629. package/dist/content/card/card.css?inline.cjs.map +0 -1
  630. package/dist/content/card/card.css?inline.js.map +0 -1
  631. package/dist/content/carousel/carousel-slide.css?inline.cjs.map +0 -1
  632. package/dist/content/carousel/carousel-slide.css?inline.js.map +0 -1
  633. package/dist/content/carousel/carousel.css?inline.cjs.map +0 -1
  634. package/dist/content/carousel/carousel.css?inline.js.map +0 -1
  635. package/dist/content/code-window/code-window.css?inline.cjs.map +0 -1
  636. package/dist/content/code-window/code-window.css?inline.js.map +0 -1
  637. package/dist/content/copy-command/copy-command.css?inline.cjs.map +0 -1
  638. package/dist/content/copy-command/copy-command.css?inline.js.map +0 -1
  639. package/dist/content/icon/icon.css?inline.cjs.map +0 -1
  640. package/dist/content/icon/icon.css?inline.js.map +0 -1
  641. package/dist/content/pagination/pagination.css?inline.cjs.map +0 -1
  642. package/dist/content/pagination/pagination.css?inline.js.map +0 -1
  643. package/dist/content/separator/separator.css?inline.cjs.map +0 -1
  644. package/dist/content/separator/separator.css?inline.js.map +0 -1
  645. package/dist/content/table/table.css?inline.cjs.map +0 -1
  646. package/dist/content/table/table.css?inline.js.map +0 -1
  647. package/dist/content/text/text.css?inline.cjs.map +0 -1
  648. package/dist/content/text/text.css?inline.js.map +0 -1
  649. package/dist/disclosure/accordion/accordion.css?inline.cjs.map +0 -1
  650. package/dist/disclosure/accordion/accordion.css?inline.js.map +0 -1
  651. package/dist/disclosure/accordion-item/accordion-item.css?inline.cjs.map +0 -1
  652. package/dist/disclosure/accordion-item/accordion-item.css?inline.js.map +0 -1
  653. package/dist/disclosure/tab-item/tab-item.css?inline.cjs.map +0 -1
  654. package/dist/disclosure/tab-item/tab-item.css?inline.js.map +0 -1
  655. package/dist/disclosure/tab-panel/tab-panel.css?inline.cjs.map +0 -1
  656. package/dist/disclosure/tab-panel/tab-panel.css?inline.js.map +0 -1
  657. package/dist/disclosure/tabs/tabs.css?inline.cjs.map +0 -1
  658. package/dist/disclosure/tabs/tabs.css?inline.js.map +0 -1
  659. package/dist/feedback/alert/alert.css?inline.cjs.map +0 -1
  660. package/dist/feedback/alert/alert.css?inline.js.map +0 -1
  661. package/dist/feedback/async/async.css?inline.cjs.map +0 -1
  662. package/dist/feedback/async/async.css?inline.js.map +0 -1
  663. package/dist/feedback/badge/badge.css?inline.cjs.map +0 -1
  664. package/dist/feedback/badge/badge.css?inline.js.map +0 -1
  665. package/dist/feedback/chip/chip.css?inline.cjs.map +0 -1
  666. package/dist/feedback/chip/chip.css?inline.js.map +0 -1
  667. package/dist/feedback/password-strength/password-strength.css?inline.cjs.map +0 -1
  668. package/dist/feedback/password-strength/password-strength.css?inline.js.map +0 -1
  669. package/dist/feedback/progress/progress.css?inline.cjs.map +0 -1
  670. package/dist/feedback/progress/progress.css?inline.js.map +0 -1
  671. package/dist/feedback/skeleton/skeleton.css?inline.cjs.map +0 -1
  672. package/dist/feedback/skeleton/skeleton.css?inline.js.map +0 -1
  673. package/dist/feedback/toast/toast.css?inline.cjs.map +0 -1
  674. package/dist/feedback/toast/toast.css?inline.js.map +0 -1
  675. package/dist/inputs/button/button.css?inline.cjs.map +0 -1
  676. package/dist/inputs/button/button.css?inline.js.map +0 -1
  677. package/dist/inputs/button-group/button-group.css?inline.cjs.map +0 -1
  678. package/dist/inputs/button-group/button-group.css?inline.js.map +0 -1
  679. package/dist/inputs/calendar/calendar.css?inline.cjs.map +0 -1
  680. package/dist/inputs/calendar/calendar.css?inline.js.map +0 -1
  681. package/dist/inputs/checkbox/checkbox.css?inline.cjs.map +0 -1
  682. package/dist/inputs/checkbox/checkbox.css?inline.js.map +0 -1
  683. package/dist/inputs/checkbox-group/checkbox-group.css?inline.cjs.map +0 -1
  684. package/dist/inputs/checkbox-group/checkbox-group.css?inline.js.map +0 -1
  685. package/dist/inputs/combobox/combobox.css?inline.cjs.map +0 -1
  686. package/dist/inputs/combobox/combobox.css?inline.js.map +0 -1
  687. package/dist/inputs/datagrid/datagrid.css?inline.cjs.map +0 -1
  688. package/dist/inputs/datagrid/datagrid.css?inline.js.map +0 -1
  689. package/dist/inputs/date-picker/date-picker.css?inline.cjs.map +0 -1
  690. package/dist/inputs/date-picker/date-picker.css?inline.js.map +0 -1
  691. package/dist/inputs/file-input/file-input.css?inline.cjs.map +0 -1
  692. package/dist/inputs/file-input/file-input.css?inline.js.map +0 -1
  693. package/dist/inputs/form/form.css?inline.cjs.map +0 -1
  694. package/dist/inputs/form/form.css?inline.js.map +0 -1
  695. package/dist/inputs/input/input.css?inline.cjs.map +0 -1
  696. package/dist/inputs/input/input.css?inline.js.map +0 -1
  697. package/dist/inputs/number-input/number-input.css?inline.cjs.map +0 -1
  698. package/dist/inputs/number-input/number-input.css?inline.js.map +0 -1
  699. package/dist/inputs/otp-input/otp-input.css?inline.cjs.map +0 -1
  700. package/dist/inputs/otp-input/otp-input.css?inline.js.map +0 -1
  701. package/dist/inputs/radio/radio.css?inline.cjs.map +0 -1
  702. package/dist/inputs/radio/radio.css?inline.js.map +0 -1
  703. package/dist/inputs/radio-group/radio-group.css?inline.cjs.map +0 -1
  704. package/dist/inputs/radio-group/radio-group.css?inline.js.map +0 -1
  705. package/dist/inputs/rating/rating.css?inline.cjs.map +0 -1
  706. package/dist/inputs/rating/rating.css?inline.js.map +0 -1
  707. package/dist/inputs/select/select.css?inline.cjs.map +0 -1
  708. package/dist/inputs/select/select.css?inline.js.map +0 -1
  709. package/dist/inputs/slider/slider.css?inline.cjs.map +0 -1
  710. package/dist/inputs/slider/slider.css?inline.js.map +0 -1
  711. package/dist/inputs/switch/switch.css?inline.cjs.map +0 -1
  712. package/dist/inputs/switch/switch.css?inline.js.map +0 -1
  713. package/dist/inputs/textarea/textarea.css?inline.cjs.map +0 -1
  714. package/dist/inputs/textarea/textarea.css?inline.js.map +0 -1
  715. package/dist/inputs/time-picker/time-picker.css?inline.cjs.map +0 -1
  716. package/dist/inputs/time-picker/time-picker.css?inline.js.map +0 -1
  717. package/dist/layout/box/box.css?inline.cjs.map +0 -1
  718. package/dist/layout/box/box.css?inline.js.map +0 -1
  719. package/dist/layout/grid/grid.css?inline.cjs.map +0 -1
  720. package/dist/layout/grid/grid.css?inline.js.map +0 -1
  721. package/dist/layout/grid-item/grid-item.css?inline.cjs.map +0 -1
  722. package/dist/layout/grid-item/grid-item.css?inline.js.map +0 -1
  723. package/dist/layout/navbar/navbar.css?inline.cjs.map +0 -1
  724. package/dist/layout/navbar/navbar.css?inline.js.map +0 -1
  725. package/dist/layout/sidebar/sidebar-group.css?inline.cjs.map +0 -1
  726. package/dist/layout/sidebar/sidebar-group.css?inline.js.map +0 -1
  727. package/dist/layout/sidebar/sidebar-item.css?inline.cjs.map +0 -1
  728. package/dist/layout/sidebar/sidebar-item.css?inline.js.map +0 -1
  729. package/dist/layout/sidebar/sidebar.css?inline.cjs.map +0 -1
  730. package/dist/layout/sidebar/sidebar.css?inline.js.map +0 -1
  731. package/dist/ore/dist/aria.cjs +0 -2
  732. package/dist/ore/dist/aria.cjs.map +0 -1
  733. package/dist/ore/dist/aria.js +0 -37
  734. package/dist/ore/dist/aria.js.map +0 -1
  735. package/dist/ore/dist/context-bag.cjs +0 -2
  736. package/dist/ore/dist/context-bag.cjs.map +0 -1
  737. package/dist/ore/dist/context-bag.js +0 -28
  738. package/dist/ore/dist/context-bag.js.map +0 -1
  739. package/dist/ore/dist/host-bind.cjs +0 -2
  740. package/dist/ore/dist/host-bind.cjs.map +0 -1
  741. package/dist/ore/dist/host-bind.js +0 -60
  742. package/dist/ore/dist/host-bind.js.map +0 -1
  743. package/dist/ore/dist/slots.cjs +0 -2
  744. package/dist/ore/dist/slots.cjs.map +0 -1
  745. package/dist/ore/dist/slots.js +0 -61
  746. package/dist/ore/dist/slots.js.map +0 -1
  747. package/dist/ore/dist/utils/aria.cjs +0 -2
  748. package/dist/ore/dist/utils/aria.cjs.map +0 -1
  749. package/dist/ore/dist/utils/aria.js +0 -6
  750. package/dist/ore/dist/utils/aria.js.map +0 -1
  751. package/dist/ore/dist/utils/emit.cjs +0 -2
  752. package/dist/ore/dist/utils/emit.cjs.map +0 -1
  753. package/dist/ore/dist/utils/emit.js +0 -16
  754. package/dist/ore/dist/utils/emit.js.map +0 -1
  755. package/dist/overlay/dialog/dialog.css?inline.cjs.map +0 -1
  756. package/dist/overlay/dialog/dialog.css?inline.js.map +0 -1
  757. package/dist/overlay/drawer/drawer.css?inline.cjs.map +0 -1
  758. package/dist/overlay/drawer/drawer.css?inline.js.map +0 -1
  759. package/dist/overlay/menu/menu-item.css?inline.cjs.map +0 -1
  760. package/dist/overlay/menu/menu-item.css?inline.js.map +0 -1
  761. package/dist/overlay/menu/menu-separator.css?inline.cjs.map +0 -1
  762. package/dist/overlay/menu/menu-separator.css?inline.js.map +0 -1
  763. package/dist/overlay/menu/menu.css?inline.cjs.map +0 -1
  764. package/dist/overlay/menu/menu.css?inline.js.map +0 -1
  765. package/dist/overlay/popover/popover.css?inline.cjs.map +0 -1
  766. package/dist/overlay/popover/popover.css?inline.js.map +0 -1
  767. package/dist/overlay/tooltip/tooltip.css?inline.cjs.map +0 -1
  768. package/dist/overlay/tooltip/tooltip.css?inline.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker.cjs","names":[],"sources":["../src/inputs/date-picker/date-picker.ts"],"sourcesContent":["import { define, useField, html, inject, prop } from '@vielzeug/ore';\nimport { computed, signal } from '@vielzeug/ripple';\nimport { Temporal, format } from '@vielzeug/tempo';\n\nimport type { ComponentSize, RoundedSize, ThemeColor, VisualVariant } from '../../shared';\n\nimport { createDatePickerControl, formatDisplayDate, parseIso, toIsoString, type DatePickerView } from '../../headless';\nimport '../../content/icon/icon';\nimport '../input/input';\nimport { disablableBundle, roundableBundle, sizableBundle, themableBundle } from '../../shared';\nimport { colorThemeMixin, reducedMotionMixin } from '../../styles';\nimport { FORM_CTX, useFormContext } from '../shared/form-context';\nimport componentStyles from './date-picker.css?inline';\n\n// ── Types ─────────────────────────────────────────────────────────────────────\n\nexport type OreDatePickerEvents = {\n change: { isoValue: string | null };\n};\n\nexport type OreDatePickerProps = {\n /** Theme color */\n color?: ThemeColor;\n /** Disable the picker */\n disabled?: boolean;\n /** Validation error message */\n error?: string;\n /** Expand to container width */\n fullwidth?: boolean;\n /** Helper text below the field */\n helper?: string;\n /** Visible label */\n label?: string;\n /** Label placement */\n 'label-placement'?: 'inset' | 'outside';\n /** Locale for day/month names (default: browser locale) */\n locale?: string;\n /** Latest selectable date in ISO 8601 format (yyyy-MM-dd) */\n max?: string;\n /** Earliest selectable date in ISO 8601 format (yyyy-MM-dd) */\n min?: string;\n /** Form field name */\n name?: string;\n /** Placeholder shown in the text trigger */\n placeholder?: string;\n /** Mark field as required */\n required?: boolean;\n /** Border radius */\n rounded?: RoundedSize;\n /** Component size */\n size?: ComponentSize;\n /**\n * Selected date in ISO 8601 format (yyyy-MM-dd).\n * @example '2025-06-15'\n */\n value?: string;\n /** Visual variant */\n variant?: Exclude<VisualVariant, 'text' | 'frost'>;\n /**\n * Day-of-week indices to disable (0 = Sunday … 6 = Saturday).\n * Pass as a JSON array attribute or a JS property.\n * @example\n * ```html\n * <ore-date-picker weekend-days=\"[0,6]\"></ore-date-picker>\n * ```\n */\n 'weekend-days'?: number[];\n};\n\n/**\n * An accessible, keyboard-navigable date picker with an inline calendar popup.\n * Supports min/max bounds, disabled weekend days, and form association.\n *\n * @element ore-date-picker\n *\n * @attr {string} value - Selected date in ISO 8601 format (yyyy-MM-dd)\n * @attr {string} min - Minimum selectable date (yyyy-MM-dd)\n * @attr {string} max - Maximum selectable date (yyyy-MM-dd)\n * @attr {string} label - Label text\n * @attr {string} label-placement - 'inset' | 'outside'\n * @attr {string} placeholder - Trigger placeholder\n * @attr {boolean} disabled - Disable the picker\n * @attr {boolean} required - Required field\n * @attr {string} name - Form field name\n * @attr {string} error - Error message\n * @attr {string} helper - Helper text\n * @attr {string} color - Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'\n * @attr {string} size - Component size: 'sm' | 'md' | 'lg'\n * @attr {string} variant - Visual variant: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost'\n * @attr {string} rounded - Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'\n * @attr {string} locale - BCP 47 locale string\n * @attr {string} weekend-days - Comma-separated day indices to disable\n *\n * @fires change - Fired when a date is selected. detail: { isoValue: string | null }\n *\n * @slot label - Custom label for the trigger field\n * @slot prefix - Content before the trigger text (e.g. icon)\n * @slot helper - Custom helper text\n * @slot error - Custom error content\n *\n * @cssprop --date-picker-bg - Calendar background\n * @cssprop --date-picker-border-color - Calendar border color\n * @cssprop --date-picker-radius - Calendar border radius\n * @cssprop --date-picker-day-selected-bg - Background of selected day\n * @cssprop --date-picker-day-today-color - Color of today's date number\n * @cssprop --date-picker-day-outside-opacity - Opacity of days outside visible month\n *\n * @part field - The trigger button/field\n * @part calendar - The floating calendar panel\n * @part header - Calendar header (nav + label)\n * @part grid - Day grid\n * @part day - Individual day cell\n *\n * @example\n * ```html\n * <!-- Single date with constraints -->\n * <ore-date-picker label=\"Appointment date\" name=\"date\" min=\"2025-01-01\" max=\"2025-12-31\" color=\"primary\"></ore-date-picker>\n *\n *\n * <!-- Outside label, bordered variant -->\n * <ore-date-picker label=\"Start date\" label-placement=\"outside\" variant=\"bordered\"></ore-date-picker>\n * ```\n */\nexport const DATE_PICKER_TAG = 'ore-date-picker' as const;\n\ndefine<OreDatePickerProps, OreDatePickerEvents>(DATE_PICKER_TAG, {\n formAssociated: true,\n props: {\n ...themableBundle,\n ...sizableBundle,\n ...disablableBundle,\n ...roundableBundle,\n error: prop.string(),\n fullwidth: prop.bool(false),\n helper: prop.string(),\n label: prop.string(),\n 'label-placement': prop.oneOf(['inset', 'outside'] as const, 'inset'),\n locale: prop.string(),\n max: prop.string(),\n min: prop.string(),\n name: prop.string(),\n placeholder: prop.string(),\n required: prop.bool(false),\n value: prop.string(),\n variant: prop.string<'flat' | 'solid' | 'bordered' | 'outline' | 'ghost'>(),\n 'weekend-days': prop.json([] as number[]),\n },\n\n setup(props, { bind, el, emit, onMounted }) {\n // ── Signals ─────────────────────────────────────────────────────────────\n\n const isOpen = signal(false);\n\n // ── Selected date: local-override pattern ──────────────────────────────\n // localSelection holds a user-initiated pick (or undefined = no override).\n // selectedDate falls back to the value prop reactively — no setInterval needed.\n\n const localSelection = signal<Temporal.PlainDate | null | undefined>(undefined);\n\n const selectedDate = computed(() =>\n localSelection.value !== undefined ? localSelection.value : parseIso(props.value.value),\n );\n\n // ── Form context ────────────────────────────────────────────────────────\n\n const formCtx = inject(FORM_CTX);\n const fCtxProps = useFormContext(bind, props, formCtx);\n\n const isDisabled = fCtxProps.disabled;\n const locale = computed(() => props.locale.value || (typeof navigator !== 'undefined' ? navigator.language : 'en'));\n\n // ── Date-picker control ─────────────────────────────────────────────────\n\n const ctrl = createDatePickerControl({\n get locale() {\n return locale.value;\n },\n get max() {\n return parseIso(props.max.value);\n },\n get min() {\n return parseIso(props.min.value);\n },\n onChange(date) {\n localSelection.value = date;\n isOpen.value = false;\n ctrl.setView('day');\n currentView.value = 'day';\n displayYear.value = ctrl.displayYear();\n displayMonth.value = ctrl.displayMonth();\n emit('change', { isoValue: toIsoString(date) });\n },\n get value() {\n return selectedDate.value;\n },\n get weekendDays() {\n return props['weekend-days'].value ?? [];\n },\n });\n\n // ── Reactive display state ────────────────────────────────────────────\n // Three separate primitive signals — the proven pattern.\n\n const currentView = signal<DatePickerView>('day');\n const displayYear = signal(ctrl.displayYear());\n const displayMonth = signal(ctrl.displayMonth()); // 1-indexed (Temporal)\n\n // ── Form value (host is formAssociated) ──────────────────────────────────\n\n useField<string>({\n disabled: isDisabled,\n toFormValue: (v) => v || null,\n value: computed(() => toIsoString(selectedDate.value) ?? ''),\n });\n\n const dialogId = `date-picker-${Math.random().toString(36).slice(2, 9)}-calendar`;\n\n // ── Derived display values ───────────────────────────────────────────────\n\n const triggerText = computed(() => {\n if (selectedDate.value) return formatDisplayDate(selectedDate.value, locale.value);\n\n return props.placeholder.value || '';\n });\n\n const displayMonth_ = computed(() => {\n const d = Temporal.PlainDate.from({ day: 1, month: displayMonth.value, year: displayYear.value });\n\n return format(d, { intl: { month: 'long' }, locale: locale.value, tz: 'UTC' });\n });\n\n const displayYear_ = computed(() => String(displayYear.value));\n const displayLabel = computed(() => `${displayMonth_.value} ${displayYear_.value}`);\n\n const dayCells = computed(() => {\n void displayYear.value;\n void displayMonth.value;\n void selectedDate.value; // re-run when selection changes to refresh isSelected flags\n\n return ctrl.dayCells();\n });\n const monthCells = computed(() => {\n void displayYear.value;\n\n return ctrl.monthCells();\n });\n const yearCells = computed(() => {\n void displayYear.value;\n\n return ctrl.yearCells();\n });\n const weekdayLabels = computed(() => ctrl.weekdayLabels());\n const tabIndex = () => (isDisabled.value ? '-1' : '0');\n\n // ── Navigation handlers ──────────────────────────────────────────────────\n // In year/month views navigate by year; in day view navigate by month.\n\n function handlePrev(): void {\n if (currentView.value === 'day') ctrl.prevMonth();\n else ctrl.prevYear();\n\n displayYear.value = ctrl.displayYear();\n displayMonth.value = ctrl.displayMonth();\n }\n\n function handleNext(): void {\n if (currentView.value === 'day') ctrl.nextMonth();\n else ctrl.nextYear();\n\n displayYear.value = ctrl.displayYear();\n displayMonth.value = ctrl.displayMonth();\n }\n\n function handleHeaderClick(): void {\n const views: DatePickerView[] = ['day', 'month', 'year'];\n const next = views[(views.indexOf(currentView.value) + 1) % views.length];\n\n ctrl.setView(next);\n currentView.value = next;\n }\n\n function handleSelectMonth(month: number): void {\n ctrl.goTo(ctrl.displayYear(), month);\n ctrl.setView('day');\n displayYear.value = ctrl.displayYear();\n displayMonth.value = ctrl.displayMonth();\n currentView.value = 'day';\n }\n\n function handleSelectYear(year: number): void {\n ctrl.goTo(year, ctrl.displayMonth());\n ctrl.setView('month');\n displayYear.value = ctrl.displayYear();\n currentView.value = 'month';\n }\n\n function handleSelectDay(isoStr: string): void {\n const date = parseIso(isoStr);\n\n if (!date) return;\n\n ctrl.select(date);\n }\n\n function handleDayKeydown(e: KeyboardEvent): void {\n const cell = e.currentTarget as HTMLElement;\n const grid = cell.closest('.cal-grid-days');\n\n if (!grid) return;\n\n const allCells = Array.from(grid.querySelectorAll<HTMLElement>('.cal-cell-day'));\n const idx = allCells.indexOf(cell);\n\n if (idx === -1) return;\n\n let target: HTMLElement | undefined;\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n handleSelectDay(cell.dataset.iso ?? '');\n\n return;\n } else if (e.key === 'ArrowRight') {\n target = allCells[idx + 1];\n } else if (e.key === 'ArrowLeft') {\n target = allCells[idx - 1];\n } else if (e.key === 'ArrowDown') {\n target = allCells[idx + 7];\n } else if (e.key === 'ArrowUp') {\n target = allCells[idx - 7];\n } else if (e.key === 'Home') {\n target = allCells[Math.floor(idx / 7) * 7];\n } else if (e.key === 'End') {\n target = allCells[Math.floor(idx / 7) * 7 + 6];\n } else {\n return;\n }\n\n e.preventDefault();\n target?.focus();\n }\n\n // ── Month/year-cell keyboard navigation (fixed 4-column grid) ─────────────\n\n function handleGridKeydown(e: KeyboardEvent, cellSelector: string, columns: number, onSelect: () => void): void {\n const cell = e.currentTarget as HTMLElement;\n const grid = cell.closest('.cal-grid');\n\n if (!grid) return;\n\n const allCells = Array.from(grid.querySelectorAll<HTMLElement>(cellSelector));\n const idx = allCells.indexOf(cell);\n\n if (idx === -1) return;\n\n let target: HTMLElement | undefined;\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onSelect();\n\n return;\n } else if (e.key === 'ArrowRight') {\n target = allCells[idx + 1];\n } else if (e.key === 'ArrowLeft') {\n target = allCells[idx - 1];\n } else if (e.key === 'ArrowDown') {\n target = allCells[idx + columns];\n } else if (e.key === 'ArrowUp') {\n target = allCells[idx - columns];\n } else if (e.key === 'Home') {\n target = allCells[Math.floor(idx / columns) * columns];\n } else if (e.key === 'End') {\n target = allCells[Math.min(Math.floor(idx / columns) * columns + columns - 1, allCells.length - 1)];\n } else {\n return;\n }\n\n e.preventDefault();\n target?.focus();\n }\n\n // ── Open / close ─────────────────────────────────────────────────────────\n\n function openPicker(): void {\n if (isDisabled.value) return;\n\n isOpen.value = true;\n ctrl.setView('day');\n currentView.value = 'day';\n\n const sel = selectedDate.value;\n\n if (sel) {\n ctrl.goTo(sel.year, sel.month);\n displayYear.value = ctrl.displayYear();\n displayMonth.value = ctrl.displayMonth();\n }\n }\n\n function closePicker(): void {\n isOpen.value = false;\n ctrl.setView('day');\n currentView.value = 'day';\n }\n\n function handleTriggerClick(): void {\n if (isOpen.value) closePicker();\n else openPicker();\n }\n\n // ── Keyboard handlers ────────────────────────────────────────────────────\n\n function handleTriggerKeydown(e: KeyboardEvent): void {\n if (isDisabled.value) return;\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n handleTriggerClick();\n } else if (e.key === 'Escape' && isOpen.value) {\n e.preventDefault();\n closePicker();\n }\n }\n\n function handleCalendarKeydown(e: KeyboardEvent): void {\n if (e.key === 'Escape') {\n e.preventDefault();\n closePicker();\n }\n }\n\n function handleOutsideClick(e: PointerEvent | MouseEvent): void {\n if (!isOpen.value) return;\n\n const path = e.composedPath();\n\n if (!path.includes(el)) closePicker();\n }\n\n // ── Lifecycle ────────────────────────────────────────────────────────────\n\n onMounted(() => {\n document.addEventListener('pointerdown', handleOutsideClick, { capture: true });\n\n return () => {\n document.removeEventListener('pointerdown', handleOutsideClick, { capture: true });\n };\n });\n\n // ── Host bindings ────────────────────────────────────────────────────────\n\n bind({\n attr: {\n open: () => (isOpen.value ? true : undefined),\n },\n });\n\n // ── Template ─────────────────────────────────────────────────────────────\n\n const inputValue = () => triggerText.value;\n const inputLabel = () => props.label.value ?? '';\n const inputPlaceholder = () => props.placeholder.value ?? '';\n const inputLabelPlacement = () => props['label-placement'].value ?? 'inset';\n const inputColor = () => props.color?.value ?? undefined;\n const inputSize = () => fCtxProps.size?.value ?? undefined;\n const inputVariant = () => fCtxProps.variant?.value ?? undefined;\n const inputRounded = () => props.rounded?.value ?? undefined;\n const inputHelper = () => props.helper.value ?? '';\n const inputError = () => props.error.value ?? '';\n const inputDisabled = () => (isDisabled.value ? true : undefined);\n const inputRequired = () => (props.required.value ? true : undefined);\n const inputFullwidth = () => (props.fullwidth.value ? true : undefined);\n\n return html`\n <!-- Trigger: ore-input in readonly display mode -->\n <ore-input\n class=\"trigger\"\n readonly\n tabindex=\"${tabIndex}\"\n role=\"combobox\"\n aria-haspopup=\"dialog\"\n aria-controls=\"${dialogId}\"\n :aria-expanded=\"${() => String(isOpen.value)}\"\n :aria-disabled=\"${() => (isDisabled.value ? 'true' : null)}\"\n :value=\"${inputValue}\"\n :label=\"${inputLabel}\"\n :placeholder=\"${inputPlaceholder}\"\n :label-placement=\"${inputLabelPlacement}\"\n :color=\"${inputColor}\"\n :size=\"${inputSize}\"\n :variant=\"${inputVariant}\"\n :rounded=\"${inputRounded}\"\n :helper=\"${inputHelper}\"\n :error=\"${inputError}\"\n ?disabled=\"${inputDisabled}\"\n ?required=\"${inputRequired}\"\n ?fullwidth=\"${inputFullwidth}\"\n @click=\"${handleTriggerClick}\"\n @keydown=\"${handleTriggerKeydown}\">\n <ore-icon slot=\"suffix\" name=\"calendar\" size=\"16\" stroke-width=\"1.75\" aria-hidden=\"true\"></ore-icon>\n </ore-input>\n\n <!-- Calendar popup -->\n <div\n class=\"calendar\"\n id=\"${dialogId}\"\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"${() => `Choose date — ${displayLabel.value}`}\"\n ?data-open=\"${isOpen}\"\n @keydown=\"${handleCalendarKeydown}\">\n <!-- Calendar header -->\n <div class=\"cal-header\" part=\"header\">\n <button class=\"nav-btn\" type=\"button\" aria-label=\"Previous\" @click=\"${handlePrev}\">\n <ore-icon name=\"chevron-left\" size=\"16\" stroke-width=\"2\" aria-hidden=\"true\"></ore-icon>\n </button>\n <button\n class=\"cal-label-btn\"\n type=\"button\"\n :aria-label=\"${() =>\n `Switch to ${currentView.value === 'day' ? 'month' : currentView.value === 'month' ? 'year' : 'day'} view`}\"\n @click=\"${handleHeaderClick}\">\n <span class=\"cal-label-month\">${displayMonth_}</span><span class=\"cal-label-sep\" aria-hidden=\"true\">/</span\n ><span class=\"cal-label-year\">${displayYear_}</span>\n </button>\n <button class=\"nav-btn\" type=\"button\" aria-label=\"Next\" @click=\"${handleNext}\">\n <ore-icon name=\"chevron-right\" size=\"16\" stroke-width=\"2\" aria-hidden=\"true\"></ore-icon>\n </button>\n </div>\n\n <!-- Day view: flat 7-column CSS grid, weekday headers + day cells -->\n <div\n class=\"cal-grid cal-grid-days\"\n role=\"grid\"\n part=\"grid\"\n :aria-label=\"${() => displayLabel.value}\"\n ?hidden=\"${() => currentView.value !== 'day'}\">\n <div role=\"row\" class=\"cal-grid-row\">\n ${() =>\n weekdayLabels.value.map(\n (lbl) => html`<div class=\"cal-cell cal-cell-head\" role=\"columnheader\" aria-label=\"${lbl}\">${lbl}</div>`,\n )}\n </div>\n ${() => {\n const cells = dayCells.value;\n const rows: (typeof cells)[number][][] = [];\n\n for (let i = 0; i < cells.length; i += 7) rows.push(cells.slice(i, i + 7));\n\n return rows.map(\n (row) =>\n html`<div role=\"row\" class=\"cal-grid-row\">\n ${row.map(\n (cell) =>\n html`<div\n class=\"cal-cell cal-cell-day\"\n role=\"gridcell\"\n part=\"day\"\n :aria-selected=\"${() => String(cell.isSelected)}\"\n :aria-disabled=\"${() => String(cell.isDisabled)}\"\n :aria-current=\"${() => (cell.isToday ? 'date' : null)}\"\n ?data-selected=\"${() => cell.isSelected}\"\n ?data-today=\"${() => cell.isToday}\"\n ?data-outside=\"${() => cell.isOutsideMonth}\"\n ?data-disabled=\"${() => cell.isDisabled}\"\n data-iso=\"${cell.iso}\"\n tabindex=\"${() => (cell.isDisabled ? '-1' : '0')}\"\n @click=\"${() => handleSelectDay(cell.iso)}\"\n @keydown=\"${handleDayKeydown}\">\n ${String(cell.day)}\n </div>`,\n )}\n </div>`,\n );\n }}\n </div>\n\n <!-- Month view -->\n <div\n class=\"cal-grid cal-grid-months\"\n role=\"grid\"\n :aria-label=\"${() => displayYear_.value}\"\n ?hidden=\"${() => currentView.value !== 'month'}\">\n ${() => {\n const cells = monthCells.value;\n const rows: (typeof cells)[number][][] = [];\n\n for (let i = 0; i < cells.length; i += 4) rows.push(cells.slice(i, i + 4));\n\n return rows.map(\n (row) =>\n html`<div role=\"row\">\n ${row.map(\n (cell) =>\n html`<div\n class=\"cal-cell cal-cell-month\"\n role=\"gridcell\"\n :aria-selected=\"${() => String(cell.isSelected)}\"\n :aria-disabled=\"${() => String(cell.isDisabled)}\"\n ?data-selected=\"${() => cell.isSelected}\"\n ?data-disabled=\"${() => cell.isDisabled}\"\n tabindex=\"${() => (cell.isDisabled ? '-1' : '0')}\"\n @click=\"${() => {\n if (!cell.isDisabled) handleSelectMonth(cell.month);\n }}\"\n @keydown=\"${(e: KeyboardEvent) =>\n handleGridKeydown(e, '.cal-cell-month', 4, () => {\n if (!cell.isDisabled) handleSelectMonth(cell.month);\n })}\">\n ${cell.shortLabel}\n </div>`,\n )}\n </div>`,\n );\n }}\n </div>\n\n <!-- Year view -->\n <div\n class=\"cal-grid cal-grid-years\"\n role=\"grid\"\n aria-label=\"Select year\"\n ?hidden=\"${() => currentView.value !== 'year'}\">\n ${() => {\n const cells = yearCells.value;\n const rows: (typeof cells)[number][][] = [];\n\n for (let i = 0; i < cells.length; i += 4) rows.push(cells.slice(i, i + 4));\n\n return rows.map(\n (row) =>\n html`<div role=\"row\">\n ${row.map(\n (cell) =>\n html`<div\n class=\"cal-cell cal-cell-year\"\n role=\"gridcell\"\n :aria-selected=\"${() => String(cell.isSelected)}\"\n :aria-disabled=\"${() => String(cell.isDisabled)}\"\n ?data-selected=\"${() => cell.isSelected}\"\n ?data-disabled=\"${() => cell.isDisabled}\"\n tabindex=\"${() => (cell.isDisabled ? '-1' : '0')}\"\n @click=\"${() => {\n if (!cell.isDisabled) handleSelectYear(cell.year);\n }}\"\n @keydown=\"${(e: KeyboardEvent) =>\n handleGridKeydown(e, '.cal-cell-year', 4, () => {\n if (!cell.isDisabled) handleSelectYear(cell.year);\n })}\">\n ${String(cell.year)}\n </div>`,\n )}\n </div>`,\n );\n }}\n </div>\n </div>\n `;\n },\n\n shadow: { delegatesFocus: true },\n styles: [colorThemeMixin, reducedMotionMixin, componentStyles],\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"date-picker.cjs","names":[],"sources":["../src/inputs/date-picker/date-picker.ts"],"sourcesContent":["import { define, html, inject, prop, bind, getHost, onMounted, useEmit } from '@vielzeug/ore';\nimport { useField } from '@vielzeug/ore/forms';\nimport { computed, signal } from '@vielzeug/ripple';\nimport { Temporal, format } from '@vielzeug/tempo';\n\nimport type { ComponentSize, RoundedSize, ThemeColor, VisualVariant } from '../../shared';\n\nimport { createDatePickerControl, formatDisplayDate, parseIso, toIsoString, type DatePickerView } from '../../headless';\nimport '../../content/icon/icon';\nimport '../input/input';\nimport { disablableBundle, roundableBundle, sizableBundle, themableBundle } from '../../shared';\nimport { colorThemeMixin, reducedMotionMixin } from '../../styles';\nimport { FORM_CTX, useFormContext } from '../shared/form-context';\nimport componentStyles from './date-picker.css?inline';\n\n// ── Types ─────────────────────────────────────────────────────────────────────\n\nexport type OreDatePickerEvents = {\n change: { isoValue: string | null };\n};\n\nexport type OreDatePickerProps = {\n /** Theme color */\n color?: ThemeColor;\n /** Disable the picker */\n disabled?: boolean;\n /** Validation error message */\n error?: string;\n /** Expand to container width */\n fullwidth?: boolean;\n /** Helper text below the field */\n helper?: string;\n /** Visible label */\n label?: string;\n /** Label placement */\n 'label-placement'?: 'inset' | 'outside';\n /** Locale for day/month names (default: browser locale) */\n locale?: string;\n /** Latest selectable date in ISO 8601 format (yyyy-MM-dd) */\n max?: string;\n /** Earliest selectable date in ISO 8601 format (yyyy-MM-dd) */\n min?: string;\n /** Form field name */\n name?: string;\n /** Placeholder shown in the text trigger */\n placeholder?: string;\n /** Mark field as required */\n required?: boolean;\n /** Border radius */\n rounded?: RoundedSize;\n /** Component size */\n size?: ComponentSize;\n /**\n * Selected date in ISO 8601 format (yyyy-MM-dd).\n * @example '2025-06-15'\n */\n value?: string;\n /** Visual variant */\n variant?: Exclude<VisualVariant, 'text' | 'frost'>;\n /**\n * Day-of-week indices to disable (0 = Sunday … 6 = Saturday).\n * Pass as a JSON array attribute or a JS property.\n * @example\n * ```html\n * <ore-date-picker weekend-days=\"[0,6]\"></ore-date-picker>\n * ```\n */\n 'weekend-days'?: number[];\n};\n\n/**\n * An accessible, keyboard-navigable date picker with an inline calendar popup.\n * Supports min/max bounds, disabled weekend days, and form association.\n *\n * @element ore-date-picker\n *\n * @attr {string} value - Selected date in ISO 8601 format (yyyy-MM-dd)\n * @attr {string} min - Minimum selectable date (yyyy-MM-dd)\n * @attr {string} max - Maximum selectable date (yyyy-MM-dd)\n * @attr {string} label - Label text\n * @attr {string} label-placement - 'inset' | 'outside'\n * @attr {string} placeholder - Trigger placeholder\n * @attr {boolean} disabled - Disable the picker\n * @attr {boolean} required - Required field\n * @attr {string} name - Form field name\n * @attr {string} error - Error message\n * @attr {string} helper - Helper text\n * @attr {string} color - Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'\n * @attr {string} size - Component size: 'sm' | 'md' | 'lg'\n * @attr {string} variant - Visual variant: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost'\n * @attr {string} rounded - Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'\n * @attr {string} locale - BCP 47 locale string\n * @attr {string} weekend-days - Comma-separated day indices to disable\n *\n * @fires change - Fired when a date is selected. detail: { isoValue: string | null }\n *\n * @slot label - Custom label for the trigger field\n * @slot prefix - Content before the trigger text (e.g. icon)\n * @slot helper - Custom helper text\n * @slot error - Custom error content\n *\n * @cssprop --date-picker-bg - Calendar background\n * @cssprop --date-picker-border-color - Calendar border color\n * @cssprop --date-picker-radius - Calendar border radius\n * @cssprop --date-picker-day-selected-bg - Background of selected day\n * @cssprop --date-picker-day-today-color - Color of today's date number\n * @cssprop --date-picker-day-outside-opacity - Opacity of days outside visible month\n *\n * @part field - The trigger button/field\n * @part calendar - The floating calendar panel\n * @part header - Calendar header (nav + label)\n * @part grid - Day grid\n * @part day - Individual day cell\n *\n * @example\n * ```html\n * <!-- Single date with constraints -->\n * <ore-date-picker label=\"Appointment date\" name=\"date\" min=\"2025-01-01\" max=\"2025-12-31\" color=\"primary\"></ore-date-picker>\n *\n *\n * <!-- Outside label, bordered variant -->\n * <ore-date-picker label=\"Start date\" label-placement=\"outside\" variant=\"bordered\"></ore-date-picker>\n * ```\n */\nexport const DATE_PICKER_TAG = 'ore-date-picker' as const;\n\ndefine<OreDatePickerProps>(DATE_PICKER_TAG, {\n formAssociated: true,\n props: {\n ...themableBundle,\n ...sizableBundle,\n ...disablableBundle,\n ...roundableBundle,\n error: prop.string(),\n fullwidth: prop.bool(false),\n helper: prop.string(),\n label: prop.string(),\n 'label-placement': prop.oneOf(['inset', 'outside'] as const, 'inset'),\n locale: prop.string(),\n max: prop.string(),\n min: prop.string(),\n name: prop.string(),\n placeholder: prop.string(),\n required: prop.bool(false),\n value: prop.string(),\n variant: prop.string<'flat' | 'solid' | 'bordered' | 'outline' | 'ghost'>(),\n 'weekend-days': prop.json([] as number[]),\n },\n\n setup(props) {\n const el = getHost();\n const emit = useEmit<OreDatePickerEvents>();\n\n // ── Signals ─────────────────────────────────────────────────────────────\n\n const isOpen = signal(false);\n\n // ── Selected date: local-override pattern ──────────────────────────────\n // localSelection holds a user-initiated pick (or undefined = no override).\n // selectedDate falls back to the value prop reactively — no setInterval needed.\n\n const localSelection = signal<Temporal.PlainDate | null | undefined>(undefined);\n\n const selectedDate = computed(() =>\n localSelection.value !== undefined ? localSelection.value : parseIso(props.value.value),\n );\n\n // ── Form context ────────────────────────────────────────────────────────\n\n const formCtx = inject(FORM_CTX);\n const fCtxProps = useFormContext(props, formCtx);\n\n const isDisabled = fCtxProps.disabled;\n const locale = computed(() => props.locale.value || (typeof navigator !== 'undefined' ? navigator.language : 'en'));\n\n // ── Date-picker control ─────────────────────────────────────────────────\n\n const ctrl = createDatePickerControl({\n get locale() {\n return locale.value;\n },\n get max() {\n return parseIso(props.max.value);\n },\n get min() {\n return parseIso(props.min.value);\n },\n onChange(date) {\n localSelection.value = date;\n isOpen.value = false;\n ctrl.setView('day');\n currentView.value = 'day';\n displayYear.value = ctrl.displayYear();\n displayMonth.value = ctrl.displayMonth();\n emit('change', { isoValue: toIsoString(date) });\n },\n get value() {\n return selectedDate.value;\n },\n get weekendDays() {\n return props['weekend-days'].value ?? [];\n },\n });\n\n // ── Reactive display state ────────────────────────────────────────────\n // Three separate primitive signals — the proven pattern.\n\n const currentView = signal<DatePickerView>('day');\n const displayYear = signal(ctrl.displayYear());\n const displayMonth = signal(ctrl.displayMonth()); // 1-indexed (Temporal)\n\n // ── Form value (host is formAssociated) ──────────────────────────────────\n\n useField<string>({\n disabled: isDisabled,\n toFormValue: (v) => v || null,\n value: computed(() => toIsoString(selectedDate.value) ?? ''),\n });\n\n const dialogId = `date-picker-${Math.random().toString(36).slice(2, 9)}-calendar`;\n\n // ── Derived display values ───────────────────────────────────────────────\n\n const triggerText = computed(() => {\n if (selectedDate.value) return formatDisplayDate(selectedDate.value, locale.value);\n\n return props.placeholder.value || '';\n });\n\n const displayMonth_ = computed(() => {\n const d = Temporal.PlainDate.from({ day: 1, month: displayMonth.value, year: displayYear.value });\n\n return format(d, { intl: { month: 'long' }, locale: locale.value, tz: 'UTC' });\n });\n\n const displayYear_ = computed(() => String(displayYear.value));\n const displayLabel = computed(() => `${displayMonth_.value} ${displayYear_.value}`);\n\n const dayCells = computed(() => {\n void displayYear.value;\n void displayMonth.value;\n void selectedDate.value; // re-run when selection changes to refresh isSelected flags\n\n return ctrl.dayCells();\n });\n const monthCells = computed(() => {\n void displayYear.value;\n\n return ctrl.monthCells();\n });\n const yearCells = computed(() => {\n void displayYear.value;\n\n return ctrl.yearCells();\n });\n const weekdayLabels = computed(() => ctrl.weekdayLabels());\n const tabIndex = () => (isDisabled.value ? '-1' : '0');\n\n // ── Navigation handlers ──────────────────────────────────────────────────\n // In year/month views navigate by year; in day view navigate by month.\n\n function handlePrev(): void {\n if (currentView.value === 'day') ctrl.prevMonth();\n else ctrl.prevYear();\n\n displayYear.value = ctrl.displayYear();\n displayMonth.value = ctrl.displayMonth();\n }\n\n function handleNext(): void {\n if (currentView.value === 'day') ctrl.nextMonth();\n else ctrl.nextYear();\n\n displayYear.value = ctrl.displayYear();\n displayMonth.value = ctrl.displayMonth();\n }\n\n function handleHeaderClick(): void {\n const views: DatePickerView[] = ['day', 'month', 'year'];\n const next = views[(views.indexOf(currentView.value) + 1) % views.length];\n\n ctrl.setView(next);\n currentView.value = next;\n }\n\n function handleSelectMonth(month: number): void {\n ctrl.goTo(ctrl.displayYear(), month);\n ctrl.setView('day');\n displayYear.value = ctrl.displayYear();\n displayMonth.value = ctrl.displayMonth();\n currentView.value = 'day';\n }\n\n function handleSelectYear(year: number): void {\n ctrl.goTo(year, ctrl.displayMonth());\n ctrl.setView('month');\n displayYear.value = ctrl.displayYear();\n currentView.value = 'month';\n }\n\n function handleSelectDay(isoStr: string): void {\n const date = parseIso(isoStr);\n\n if (!date) return;\n\n ctrl.select(date);\n }\n\n function handleDayKeydown(e: KeyboardEvent): void {\n const cell = e.currentTarget as HTMLElement;\n const grid = cell.closest('.cal-grid-days');\n\n if (!grid) return;\n\n const allCells = Array.from(grid.querySelectorAll<HTMLElement>('.cal-cell-day'));\n const idx = allCells.indexOf(cell);\n\n if (idx === -1) return;\n\n let target: HTMLElement | undefined;\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n handleSelectDay(cell.dataset.iso ?? '');\n\n return;\n } else if (e.key === 'ArrowRight') {\n target = allCells[idx + 1];\n } else if (e.key === 'ArrowLeft') {\n target = allCells[idx - 1];\n } else if (e.key === 'ArrowDown') {\n target = allCells[idx + 7];\n } else if (e.key === 'ArrowUp') {\n target = allCells[idx - 7];\n } else if (e.key === 'Home') {\n target = allCells[Math.floor(idx / 7) * 7];\n } else if (e.key === 'End') {\n target = allCells[Math.floor(idx / 7) * 7 + 6];\n } else {\n return;\n }\n\n e.preventDefault();\n target?.focus();\n }\n\n // ── Month/year-cell keyboard navigation (fixed 4-column grid) ─────────────\n\n function handleGridKeydown(e: KeyboardEvent, cellSelector: string, columns: number, onSelect: () => void): void {\n const cell = e.currentTarget as HTMLElement;\n const grid = cell.closest('.cal-grid');\n\n if (!grid) return;\n\n const allCells = Array.from(grid.querySelectorAll<HTMLElement>(cellSelector));\n const idx = allCells.indexOf(cell);\n\n if (idx === -1) return;\n\n let target: HTMLElement | undefined;\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onSelect();\n\n return;\n } else if (e.key === 'ArrowRight') {\n target = allCells[idx + 1];\n } else if (e.key === 'ArrowLeft') {\n target = allCells[idx - 1];\n } else if (e.key === 'ArrowDown') {\n target = allCells[idx + columns];\n } else if (e.key === 'ArrowUp') {\n target = allCells[idx - columns];\n } else if (e.key === 'Home') {\n target = allCells[Math.floor(idx / columns) * columns];\n } else if (e.key === 'End') {\n target = allCells[Math.min(Math.floor(idx / columns) * columns + columns - 1, allCells.length - 1)];\n } else {\n return;\n }\n\n e.preventDefault();\n target?.focus();\n }\n\n // ── Open / close ─────────────────────────────────────────────────────────\n\n function openPicker(): void {\n if (isDisabled.value) return;\n\n isOpen.value = true;\n ctrl.setView('day');\n currentView.value = 'day';\n\n const sel = selectedDate.value;\n\n if (sel) {\n ctrl.goTo(sel.year, sel.month);\n displayYear.value = ctrl.displayYear();\n displayMonth.value = ctrl.displayMonth();\n }\n }\n\n function closePicker(): void {\n isOpen.value = false;\n ctrl.setView('day');\n currentView.value = 'day';\n }\n\n function handleTriggerClick(): void {\n if (isOpen.value) closePicker();\n else openPicker();\n }\n\n // ── Keyboard handlers ────────────────────────────────────────────────────\n\n function handleTriggerKeydown(e: KeyboardEvent): void {\n if (isDisabled.value) return;\n\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n handleTriggerClick();\n } else if (e.key === 'Escape' && isOpen.value) {\n e.preventDefault();\n closePicker();\n }\n }\n\n function handleCalendarKeydown(e: KeyboardEvent): void {\n if (e.key === 'Escape') {\n e.preventDefault();\n closePicker();\n }\n }\n\n function handleOutsideClick(e: PointerEvent | MouseEvent): void {\n if (!isOpen.value) return;\n\n const path = e.composedPath();\n\n if (!path.includes(el)) closePicker();\n }\n\n // ── Lifecycle ────────────────────────────────────────────────────────────\n\n onMounted(() => {\n document.addEventListener('pointerdown', handleOutsideClick, { capture: true });\n\n return () => {\n document.removeEventListener('pointerdown', handleOutsideClick, { capture: true });\n };\n });\n\n // ── Host bindings ────────────────────────────────────────────────────────\n\n bind({\n attr: {\n open: () => (isOpen.value ? true : undefined),\n },\n });\n\n // ── Template ─────────────────────────────────────────────────────────────\n\n const inputValue = () => triggerText.value;\n const inputLabel = () => props.label.value ?? '';\n const inputPlaceholder = () => props.placeholder.value ?? '';\n const inputLabelPlacement = () => props['label-placement'].value ?? 'inset';\n const inputColor = () => props.color?.value ?? undefined;\n const inputSize = () => fCtxProps.size?.value ?? undefined;\n const inputVariant = () => fCtxProps.variant?.value ?? undefined;\n const inputRounded = () => props.rounded?.value ?? undefined;\n const inputHelper = () => props.helper.value ?? '';\n const inputError = () => props.error.value ?? '';\n const inputDisabled = () => (isDisabled.value ? true : undefined);\n const inputRequired = () => (props.required.value ? true : undefined);\n const inputFullwidth = () => (props.fullwidth.value ? true : undefined);\n\n return html`\n <!-- Trigger: ore-input in readonly display mode -->\n <ore-input\n class=\"trigger\"\n readonly\n tabindex=\"${tabIndex}\"\n role=\"combobox\"\n aria-haspopup=\"dialog\"\n aria-controls=\"${dialogId}\"\n :aria-expanded=\"${() => String(isOpen.value)}\"\n :aria-disabled=\"${() => (isDisabled.value ? 'true' : null)}\"\n :value=\"${inputValue}\"\n :label=\"${inputLabel}\"\n :placeholder=\"${inputPlaceholder}\"\n :label-placement=\"${inputLabelPlacement}\"\n :color=\"${inputColor}\"\n :size=\"${inputSize}\"\n :variant=\"${inputVariant}\"\n :rounded=\"${inputRounded}\"\n :helper=\"${inputHelper}\"\n :error=\"${inputError}\"\n ?disabled=\"${inputDisabled}\"\n ?required=\"${inputRequired}\"\n ?fullwidth=\"${inputFullwidth}\"\n @click=\"${handleTriggerClick}\"\n @keydown=\"${handleTriggerKeydown}\">\n <ore-icon slot=\"suffix\" name=\"calendar\" size=\"16\" stroke-width=\"1.75\" aria-hidden=\"true\"></ore-icon>\n </ore-input>\n\n <!-- Calendar popup -->\n <div\n class=\"calendar\"\n id=\"${dialogId}\"\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"${() => `Choose date — ${displayLabel.value}`}\"\n ?data-open=\"${isOpen}\"\n @keydown=\"${handleCalendarKeydown}\">\n <!-- Calendar header -->\n <div class=\"cal-header\" part=\"header\">\n <button class=\"nav-btn\" type=\"button\" aria-label=\"Previous\" @click=\"${handlePrev}\">\n <ore-icon name=\"chevron-left\" size=\"16\" stroke-width=\"2\" aria-hidden=\"true\"></ore-icon>\n </button>\n <button\n class=\"cal-label-btn\"\n type=\"button\"\n :aria-label=\"${() =>\n `Switch to ${currentView.value === 'day' ? 'month' : currentView.value === 'month' ? 'year' : 'day'} view`}\"\n @click=\"${handleHeaderClick}\">\n <span class=\"cal-label-month\">${displayMonth_}</span><span class=\"cal-label-sep\" aria-hidden=\"true\">/</span\n ><span class=\"cal-label-year\">${displayYear_}</span>\n </button>\n <button class=\"nav-btn\" type=\"button\" aria-label=\"Next\" @click=\"${handleNext}\">\n <ore-icon name=\"chevron-right\" size=\"16\" stroke-width=\"2\" aria-hidden=\"true\"></ore-icon>\n </button>\n </div>\n\n <!-- Day view: flat 7-column CSS grid, weekday headers + day cells -->\n <div\n class=\"cal-grid cal-grid-days\"\n role=\"grid\"\n part=\"grid\"\n :aria-label=\"${() => displayLabel.value}\"\n ?hidden=\"${() => currentView.value !== 'day'}\">\n <div role=\"row\" class=\"cal-grid-row\">\n ${() =>\n weekdayLabels.value.map(\n (lbl) => html`<div class=\"cal-cell cal-cell-head\" role=\"columnheader\" aria-label=\"${lbl}\">${lbl}</div>`,\n )}\n </div>\n ${() => {\n const cells = dayCells.value;\n const rows: (typeof cells)[number][][] = [];\n\n for (let i = 0; i < cells.length; i += 7) rows.push(cells.slice(i, i + 7));\n\n return rows.map(\n (row) =>\n html`<div role=\"row\" class=\"cal-grid-row\">\n ${row.map(\n (cell) =>\n html`<div\n class=\"cal-cell cal-cell-day\"\n role=\"gridcell\"\n part=\"day\"\n :aria-selected=\"${() => String(cell.isSelected)}\"\n :aria-disabled=\"${() => String(cell.isDisabled)}\"\n :aria-current=\"${() => (cell.isToday ? 'date' : null)}\"\n ?data-selected=\"${() => cell.isSelected}\"\n ?data-today=\"${() => cell.isToday}\"\n ?data-outside=\"${() => cell.isOutsideMonth}\"\n ?data-disabled=\"${() => cell.isDisabled}\"\n data-iso=\"${cell.iso}\"\n tabindex=\"${() => (cell.isDisabled ? '-1' : '0')}\"\n @click=\"${() => handleSelectDay(cell.iso)}\"\n @keydown=\"${handleDayKeydown}\">\n ${String(cell.day)}\n </div>`,\n )}\n </div>`,\n );\n }}\n </div>\n\n <!-- Month view -->\n <div\n class=\"cal-grid cal-grid-months\"\n role=\"grid\"\n :aria-label=\"${() => displayYear_.value}\"\n ?hidden=\"${() => currentView.value !== 'month'}\">\n ${() => {\n const cells = monthCells.value;\n const rows: (typeof cells)[number][][] = [];\n\n for (let i = 0; i < cells.length; i += 4) rows.push(cells.slice(i, i + 4));\n\n return rows.map(\n (row) =>\n html`<div role=\"row\">\n ${row.map(\n (cell) =>\n html`<div\n class=\"cal-cell cal-cell-month\"\n role=\"gridcell\"\n :aria-selected=\"${() => String(cell.isSelected)}\"\n :aria-disabled=\"${() => String(cell.isDisabled)}\"\n ?data-selected=\"${() => cell.isSelected}\"\n ?data-disabled=\"${() => cell.isDisabled}\"\n tabindex=\"${() => (cell.isDisabled ? '-1' : '0')}\"\n @click=\"${() => {\n if (!cell.isDisabled) handleSelectMonth(cell.month);\n }}\"\n @keydown=\"${(e: KeyboardEvent) =>\n handleGridKeydown(e, '.cal-cell-month', 4, () => {\n if (!cell.isDisabled) handleSelectMonth(cell.month);\n })}\">\n ${cell.shortLabel}\n </div>`,\n )}\n </div>`,\n );\n }}\n </div>\n\n <!-- Year view -->\n <div\n class=\"cal-grid cal-grid-years\"\n role=\"grid\"\n aria-label=\"Select year\"\n ?hidden=\"${() => currentView.value !== 'year'}\">\n ${() => {\n const cells = yearCells.value;\n const rows: (typeof cells)[number][][] = [];\n\n for (let i = 0; i < cells.length; i += 4) rows.push(cells.slice(i, i + 4));\n\n return rows.map(\n (row) =>\n html`<div role=\"row\">\n ${row.map(\n (cell) =>\n html`<div\n class=\"cal-cell cal-cell-year\"\n role=\"gridcell\"\n :aria-selected=\"${() => String(cell.isSelected)}\"\n :aria-disabled=\"${() => String(cell.isDisabled)}\"\n ?data-selected=\"${() => cell.isSelected}\"\n ?data-disabled=\"${() => cell.isDisabled}\"\n tabindex=\"${() => (cell.isDisabled ? '-1' : '0')}\"\n @click=\"${() => {\n if (!cell.isDisabled) handleSelectYear(cell.year);\n }}\"\n @keydown=\"${(e: KeyboardEvent) =>\n handleGridKeydown(e, '.cal-cell-year', 4, () => {\n if (!cell.isDisabled) handleSelectYear(cell.year);\n })}\">\n ${String(cell.year)}\n </div>`,\n )}\n </div>`,\n );\n }}\n </div>\n </div>\n `;\n },\n\n shadow: { delegatesFocus: true },\n styles: [colorThemeMixin, reducedMotionMixin, componentStyles],\n});\n"],"mappings":"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"}
@@ -2,39 +2,41 @@ import { reducedMotionMixin as e } from "./styles/mixins/accessibility.css.js";
2
2
  import { colorThemeMixin as t } from "./styles/mixins/theme.css.js";
3
3
  import { disablableBundle as n, roundableBundle as r, sizableBundle as i, themableBundle as a } from "./shared/prop-bundles.js";
4
4
  import { createDatePickerControl as o, formatDisplayDate as s, parseIso as c, toIsoString as l } from "./headless/date-picker.js";
5
- import { FORM_CTX as u, useFormContext as d } from "./inputs/shared/form-context.js";
6
- import f from "./inputs/date-picker/date-picker.css?inline.js";
7
- import { define as p, html as m, inject as h, prop as g, useField as _ } from "@vielzeug/ore";
8
- import { computed as v, signal as y } from "@vielzeug/ripple";
9
- import { Temporal as b, format as x } from "@vielzeug/tempo";
5
+ import { useField as u } from "./ore/dist/forms/field.js";
6
+ import "./ore/dist/forms.js";
7
+ import { FORM_CTX as d, useFormContext as f } from "./inputs/shared/form-context.js";
8
+ import p from "./inputs/date-picker/date-picker.css.js";
9
+ import { bind as m, define as h, getHost as g, html as _, inject as v, onMounted as y, prop as b, useEmit as x } from "@vielzeug/ore";
10
+ import { computed as S, signal as C } from "@vielzeug/ripple";
11
+ import { Temporal as w, format as T } from "@vielzeug/tempo";
10
12
  //#region src/inputs/date-picker/date-picker.ts
11
- var S = "ore-date-picker";
12
- p(S, {
13
+ var E = "ore-date-picker";
14
+ h(E, {
13
15
  formAssociated: !0,
14
16
  props: {
15
17
  ...a,
16
18
  ...i,
17
19
  ...n,
18
20
  ...r,
19
- error: g.string(),
20
- fullwidth: g.bool(!1),
21
- helper: g.string(),
22
- label: g.string(),
23
- "label-placement": g.oneOf(["inset", "outside"], "inset"),
24
- locale: g.string(),
25
- max: g.string(),
26
- min: g.string(),
27
- name: g.string(),
28
- placeholder: g.string(),
29
- required: g.bool(!1),
30
- value: g.string(),
31
- variant: g.string(),
32
- "weekend-days": g.json([])
21
+ error: b.string(),
22
+ fullwidth: b.bool(!1),
23
+ helper: b.string(),
24
+ label: b.string(),
25
+ "label-placement": b.oneOf(["inset", "outside"], "inset"),
26
+ locale: b.string(),
27
+ max: b.string(),
28
+ min: b.string(),
29
+ name: b.string(),
30
+ placeholder: b.string(),
31
+ required: b.bool(!1),
32
+ value: b.string(),
33
+ variant: b.string(),
34
+ "weekend-days": b.json([])
33
35
  },
34
- setup(e, { bind: t, el: n, emit: r, onMounted: i }) {
35
- let a = y(!1), f = y(void 0), p = v(() => f.value === void 0 ? c(e.value.value) : f.value), g = d(t, e, h(u)), S = g.disabled, C = v(() => e.locale.value || (typeof navigator < "u" ? navigator.language : "en")), w = o({
36
+ setup(e) {
37
+ let t = g(), n = x(), r = C(!1), i = C(void 0), a = S(() => i.value === void 0 ? c(e.value.value) : i.value), p = f(e, v(d)), h = p.disabled, b = S(() => e.locale.value || (typeof navigator < "u" ? navigator.language : "en")), E = o({
36
38
  get locale() {
37
- return C.value;
39
+ return b.value;
38
40
  },
39
41
  get max() {
40
42
  return c(e.max.value);
@@ -43,61 +45,61 @@ p(S, {
43
45
  return c(e.min.value);
44
46
  },
45
47
  onChange(e) {
46
- f.value = e, a.value = !1, w.setView("day"), T.value = "day", E.value = w.displayYear(), D.value = w.displayMonth(), r("change", { isoValue: l(e) });
48
+ i.value = e, r.value = !1, E.setView("day"), D.value = "day", O.value = E.displayYear(), k.value = E.displayMonth(), n("change", { isoValue: l(e) });
47
49
  },
48
50
  get value() {
49
- return p.value;
51
+ return a.value;
50
52
  },
51
53
  get weekendDays() {
52
54
  return e["weekend-days"].value ?? [];
53
55
  }
54
- }), T = y("day"), E = y(w.displayYear()), D = y(w.displayMonth());
55
- _({
56
- disabled: S,
56
+ }), D = C("day"), O = C(E.displayYear()), k = C(E.displayMonth());
57
+ u({
58
+ disabled: h,
57
59
  toFormValue: (e) => e || null,
58
- value: v(() => l(p.value) ?? "")
60
+ value: S(() => l(a.value) ?? "")
59
61
  });
60
- let O = `date-picker-${Math.random().toString(36).slice(2, 9)}-calendar`, k = v(() => p.value ? s(p.value, C.value) : e.placeholder.value || ""), A = v(() => x(b.PlainDate.from({
62
+ let A = `date-picker-${Math.random().toString(36).slice(2, 9)}-calendar`, j = S(() => a.value ? s(a.value, b.value) : e.placeholder.value || ""), M = S(() => T(w.PlainDate.from({
61
63
  day: 1,
62
- month: D.value,
63
- year: E.value
64
+ month: k.value,
65
+ year: O.value
64
66
  }), {
65
67
  intl: { month: "long" },
66
- locale: C.value,
68
+ locale: b.value,
67
69
  tz: "UTC"
68
- })), j = v(() => String(E.value)), M = v(() => `${A.value} ${j.value}`), N = v(() => (E.value, D.value, p.value, w.dayCells())), P = v(() => (E.value, w.monthCells())), F = v(() => (E.value, w.yearCells())), I = v(() => w.weekdayLabels()), L = () => S.value ? "-1" : "0";
69
- function R() {
70
- T.value === "day" ? w.prevMonth() : w.prevYear(), E.value = w.displayYear(), D.value = w.displayMonth();
70
+ })), N = S(() => String(O.value)), P = S(() => `${M.value} ${N.value}`), F = S(() => (O.value, k.value, a.value, E.dayCells())), I = S(() => (O.value, E.monthCells())), L = S(() => (O.value, E.yearCells())), R = S(() => E.weekdayLabels()), z = () => h.value ? "-1" : "0";
71
+ function B() {
72
+ D.value === "day" ? E.prevMonth() : E.prevYear(), O.value = E.displayYear(), k.value = E.displayMonth();
71
73
  }
72
- function z() {
73
- T.value === "day" ? w.nextMonth() : w.nextYear(), E.value = w.displayYear(), D.value = w.displayMonth();
74
+ function V() {
75
+ D.value === "day" ? E.nextMonth() : E.nextYear(), O.value = E.displayYear(), k.value = E.displayMonth();
74
76
  }
75
- function B() {
77
+ function H() {
76
78
  let e = [
77
79
  "day",
78
80
  "month",
79
81
  "year"
80
- ], t = e[(e.indexOf(T.value) + 1) % e.length];
81
- w.setView(t), T.value = t;
82
+ ], t = e[(e.indexOf(D.value) + 1) % e.length];
83
+ E.setView(t), D.value = t;
82
84
  }
83
- function V(e) {
84
- w.goTo(w.displayYear(), e), w.setView("day"), E.value = w.displayYear(), D.value = w.displayMonth(), T.value = "day";
85
+ function U(e) {
86
+ E.goTo(E.displayYear(), e), E.setView("day"), O.value = E.displayYear(), k.value = E.displayMonth(), D.value = "day";
85
87
  }
86
- function H(e) {
87
- w.goTo(e, w.displayMonth()), w.setView("month"), E.value = w.displayYear(), T.value = "month";
88
+ function W(e) {
89
+ E.goTo(e, E.displayMonth()), E.setView("month"), O.value = E.displayYear(), D.value = "month";
88
90
  }
89
- function U(e) {
91
+ function G(e) {
90
92
  let t = c(e);
91
- t && w.select(t);
93
+ t && E.select(t);
92
94
  }
93
- function W(e) {
95
+ function K(e) {
94
96
  let t = e.currentTarget, n = t.closest(".cal-grid-days");
95
97
  if (!n) return;
96
98
  let r = Array.from(n.querySelectorAll(".cal-cell-day")), i = r.indexOf(t);
97
99
  if (i === -1) return;
98
100
  let a;
99
101
  if (e.key === "Enter" || e.key === " ") {
100
- e.preventDefault(), U(t.dataset.iso ?? "");
102
+ e.preventDefault(), G(t.dataset.iso ?? "");
101
103
  return;
102
104
  } else if (e.key === "ArrowRight") a = r[i + 1];
103
105
  else if (e.key === "ArrowLeft") a = r[i - 1];
@@ -108,7 +110,7 @@ p(S, {
108
110
  else return;
109
111
  e.preventDefault(), a?.focus();
110
112
  }
111
- function G(e, t, n, r) {
113
+ function q(e, t, n, r) {
112
114
  let i = e.currentTarget, a = i.closest(".cal-grid");
113
115
  if (!a) return;
114
116
  let o = Array.from(a.querySelectorAll(t)), s = o.indexOf(i);
@@ -126,81 +128,81 @@ p(S, {
126
128
  else return;
127
129
  e.preventDefault(), c?.focus();
128
130
  }
129
- function K() {
130
- if (S.value) return;
131
- a.value = !0, w.setView("day"), T.value = "day";
132
- let e = p.value;
133
- e && (w.goTo(e.year, e.month), E.value = w.displayYear(), D.value = w.displayMonth());
134
- }
135
- function q() {
136
- a.value = !1, w.setView("day"), T.value = "day";
137
- }
138
131
  function J() {
139
- a.value ? q() : K();
132
+ if (h.value) return;
133
+ r.value = !0, E.setView("day"), D.value = "day";
134
+ let e = a.value;
135
+ e && (E.goTo(e.year, e.month), O.value = E.displayYear(), k.value = E.displayMonth());
140
136
  }
141
- function Y(e) {
142
- S.value || (e.key === "Enter" || e.key === " " ? (e.preventDefault(), J()) : e.key === "Escape" && a.value && (e.preventDefault(), q()));
137
+ function Y() {
138
+ r.value = !1, E.setView("day"), D.value = "day";
143
139
  }
144
- function X(e) {
145
- e.key === "Escape" && (e.preventDefault(), q());
140
+ function X() {
141
+ r.value ? Y() : J();
146
142
  }
147
143
  function Z(e) {
148
- a.value && (e.composedPath().includes(n) || q());
144
+ h.value || (e.key === "Enter" || e.key === " " ? (e.preventDefault(), X()) : e.key === "Escape" && r.value && (e.preventDefault(), Y()));
145
+ }
146
+ function Q(e) {
147
+ e.key === "Escape" && (e.preventDefault(), Y());
149
148
  }
150
- return i(() => (document.addEventListener("pointerdown", Z, { capture: !0 }), () => {
151
- document.removeEventListener("pointerdown", Z, { capture: !0 });
152
- })), t({ attr: { open: () => a.value ? !0 : void 0 } }), m`
149
+ function $(e) {
150
+ r.value && (e.composedPath().includes(t) || Y());
151
+ }
152
+ return y(() => (document.addEventListener("pointerdown", $, { capture: !0 }), () => {
153
+ document.removeEventListener("pointerdown", $, { capture: !0 });
154
+ })), m({ attr: { open: () => r.value ? !0 : void 0 } }), _`
153
155
  <!-- Trigger: ore-input in readonly display mode -->
154
156
  <ore-input
155
157
  class="trigger"
156
158
  readonly
157
- tabindex="${L}"
159
+ tabindex="${z}"
158
160
  role="combobox"
159
161
  aria-haspopup="dialog"
160
- aria-controls="${O}"
161
- :aria-expanded="${() => String(a.value)}"
162
- :aria-disabled="${() => S.value ? "true" : null}"
163
- :value="${() => k.value}"
162
+ aria-controls="${A}"
163
+ :aria-expanded="${() => String(r.value)}"
164
+ :aria-disabled="${() => h.value ? "true" : null}"
165
+ :value="${() => j.value}"
164
166
  :label="${() => e.label.value ?? ""}"
165
167
  :placeholder="${() => e.placeholder.value ?? ""}"
166
168
  :label-placement="${() => e["label-placement"].value ?? "inset"}"
167
169
  :color="${() => e.color?.value ?? void 0}"
168
- :size="${() => g.size?.value ?? void 0}"
169
- :variant="${() => g.variant?.value ?? void 0}"
170
+ :size="${() => p.size?.value ?? void 0}"
171
+ :variant="${() => p.variant?.value ?? void 0}"
170
172
  :rounded="${() => e.rounded?.value ?? void 0}"
171
173
  :helper="${() => e.helper.value ?? ""}"
172
174
  :error="${() => e.error.value ?? ""}"
173
- ?disabled="${() => S.value ? !0 : void 0}"
175
+ ?disabled="${() => h.value ? !0 : void 0}"
174
176
  ?required="${() => e.required.value ? !0 : void 0}"
175
177
  ?fullwidth="${() => e.fullwidth.value ? !0 : void 0}"
176
- @click="${J}"
177
- @keydown="${Y}">
178
+ @click="${X}"
179
+ @keydown="${Z}">
178
180
  <ore-icon slot="suffix" name="calendar" size="16" stroke-width="1.75" aria-hidden="true"></ore-icon>
179
181
  </ore-input>
180
182
 
181
183
  <!-- Calendar popup -->
182
184
  <div
183
185
  class="calendar"
184
- id="${O}"
186
+ id="${A}"
185
187
  role="dialog"
186
188
  aria-modal="true"
187
- :aria-label="${() => `Choose date — ${M.value}`}"
188
- ?data-open="${a}"
189
- @keydown="${X}">
189
+ :aria-label="${() => `Choose date — ${P.value}`}"
190
+ ?data-open="${r}"
191
+ @keydown="${Q}">
190
192
  <!-- Calendar header -->
191
193
  <div class="cal-header" part="header">
192
- <button class="nav-btn" type="button" aria-label="Previous" @click="${R}">
194
+ <button class="nav-btn" type="button" aria-label="Previous" @click="${B}">
193
195
  <ore-icon name="chevron-left" size="16" stroke-width="2" aria-hidden="true"></ore-icon>
194
196
  </button>
195
197
  <button
196
198
  class="cal-label-btn"
197
199
  type="button"
198
- :aria-label="${() => `Switch to ${T.value === "day" ? "month" : T.value === "month" ? "year" : "day"} view`}"
199
- @click="${B}">
200
- <span class="cal-label-month">${A}</span><span class="cal-label-sep" aria-hidden="true">/</span
201
- ><span class="cal-label-year">${j}</span>
200
+ :aria-label="${() => `Switch to ${D.value === "day" ? "month" : D.value === "month" ? "year" : "day"} view`}"
201
+ @click="${H}">
202
+ <span class="cal-label-month">${M}</span><span class="cal-label-sep" aria-hidden="true">/</span
203
+ ><span class="cal-label-year">${N}</span>
202
204
  </button>
203
- <button class="nav-btn" type="button" aria-label="Next" @click="${z}">
205
+ <button class="nav-btn" type="button" aria-label="Next" @click="${V}">
204
206
  <ore-icon name="chevron-right" size="16" stroke-width="2" aria-hidden="true"></ore-icon>
205
207
  </button>
206
208
  </div>
@@ -210,16 +212,16 @@ p(S, {
210
212
  class="cal-grid cal-grid-days"
211
213
  role="grid"
212
214
  part="grid"
213
- :aria-label="${() => M.value}"
214
- ?hidden="${() => T.value !== "day"}">
215
+ :aria-label="${() => P.value}"
216
+ ?hidden="${() => D.value !== "day"}">
215
217
  <div role="row" class="cal-grid-row">
216
- ${() => I.value.map((e) => m`<div class="cal-cell cal-cell-head" role="columnheader" aria-label="${e}">${e}</div>`)}
218
+ ${() => R.value.map((e) => _`<div class="cal-cell cal-cell-head" role="columnheader" aria-label="${e}">${e}</div>`)}
217
219
  </div>
218
220
  ${() => {
219
- let e = N.value, t = [];
221
+ let e = F.value, t = [];
220
222
  for (let n = 0; n < e.length; n += 7) t.push(e.slice(n, n + 7));
221
- return t.map((e) => m`<div role="row" class="cal-grid-row">
222
- ${e.map((e) => m`<div
223
+ return t.map((e) => _`<div role="row" class="cal-grid-row">
224
+ ${e.map((e) => _`<div
223
225
  class="cal-cell cal-cell-day"
224
226
  role="gridcell"
225
227
  part="day"
@@ -232,8 +234,8 @@ p(S, {
232
234
  ?data-disabled="${() => e.isDisabled}"
233
235
  data-iso="${e.iso}"
234
236
  tabindex="${() => e.isDisabled ? "-1" : "0"}"
235
- @click="${() => U(e.iso)}"
236
- @keydown="${W}">
237
+ @click="${() => G(e.iso)}"
238
+ @keydown="${K}">
237
239
  ${String(e.day)}
238
240
  </div>`)}
239
241
  </div>`);
@@ -244,13 +246,13 @@ p(S, {
244
246
  <div
245
247
  class="cal-grid cal-grid-months"
246
248
  role="grid"
247
- :aria-label="${() => j.value}"
248
- ?hidden="${() => T.value !== "month"}">
249
+ :aria-label="${() => N.value}"
250
+ ?hidden="${() => D.value !== "month"}">
249
251
  ${() => {
250
- let e = P.value, t = [];
252
+ let e = I.value, t = [];
251
253
  for (let n = 0; n < e.length; n += 4) t.push(e.slice(n, n + 4));
252
- return t.map((e) => m`<div role="row">
253
- ${e.map((e) => m`<div
254
+ return t.map((e) => _`<div role="row">
255
+ ${e.map((e) => _`<div
254
256
  class="cal-cell cal-cell-month"
255
257
  role="gridcell"
256
258
  :aria-selected="${() => String(e.isSelected)}"
@@ -259,10 +261,10 @@ p(S, {
259
261
  ?data-disabled="${() => e.isDisabled}"
260
262
  tabindex="${() => e.isDisabled ? "-1" : "0"}"
261
263
  @click="${() => {
262
- e.isDisabled || V(e.month);
264
+ e.isDisabled || U(e.month);
263
265
  }}"
264
- @keydown="${(t) => G(t, ".cal-cell-month", 4, () => {
265
- e.isDisabled || V(e.month);
266
+ @keydown="${(t) => q(t, ".cal-cell-month", 4, () => {
267
+ e.isDisabled || U(e.month);
266
268
  })}">
267
269
  ${e.shortLabel}
268
270
  </div>`)}
@@ -275,12 +277,12 @@ p(S, {
275
277
  class="cal-grid cal-grid-years"
276
278
  role="grid"
277
279
  aria-label="Select year"
278
- ?hidden="${() => T.value !== "year"}">
280
+ ?hidden="${() => D.value !== "year"}">
279
281
  ${() => {
280
- let e = F.value, t = [];
282
+ let e = L.value, t = [];
281
283
  for (let n = 0; n < e.length; n += 4) t.push(e.slice(n, n + 4));
282
- return t.map((e) => m`<div role="row">
283
- ${e.map((e) => m`<div
284
+ return t.map((e) => _`<div role="row">
285
+ ${e.map((e) => _`<div
284
286
  class="cal-cell cal-cell-year"
285
287
  role="gridcell"
286
288
  :aria-selected="${() => String(e.isSelected)}"
@@ -289,10 +291,10 @@ p(S, {
289
291
  ?data-disabled="${() => e.isDisabled}"
290
292
  tabindex="${() => e.isDisabled ? "-1" : "0"}"
291
293
  @click="${() => {
292
- e.isDisabled || H(e.year);
294
+ e.isDisabled || W(e.year);
293
295
  }}"
294
- @keydown="${(t) => G(t, ".cal-cell-year", 4, () => {
295
- e.isDisabled || H(e.year);
296
+ @keydown="${(t) => q(t, ".cal-cell-year", 4, () => {
297
+ e.isDisabled || W(e.year);
296
298
  })}">
297
299
  ${String(e.year)}
298
300
  </div>`)}
@@ -306,10 +308,10 @@ p(S, {
306
308
  styles: [
307
309
  t,
308
310
  e,
309
- f
311
+ p
310
312
  ]
311
313
  });
312
314
  //#endregion
313
- export { S as DATE_PICKER_TAG };
315
+ export { E as DATE_PICKER_TAG };
314
316
 
315
317
  //# sourceMappingURL=date-picker.js.map