@vielzeug/refine 1.1.3 → 1.3.1

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 (799) 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 +47 -45
  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.cjs +2 -0
  95. package/dist/content/card/card.css.cjs.map +1 -0
  96. package/dist/content/card/card.css.js +6 -0
  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.cjs +2 -0
  125. package/dist/content/icon/icon.css.cjs.map +1 -0
  126. package/dist/content/icon/icon.css.js +6 -0
  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 +4463 -3727
  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.cjs +2 -0
  218. package/dist/feedback/toast/toast.css.cjs.map +1 -0
  219. package/dist/feedback/toast/toast.css.js +6 -0
  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.cjs +2 -0
  255. package/dist/inputs/button/button.css.cjs.map +1 -0
  256. package/dist/inputs/button/button.css.js +6 -0
  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} +2 -2
  269. package/dist/inputs/checkbox/checkbox.css.cjs.map +1 -0
  270. package/dist/inputs/checkbox/{checkbox.css?inline.js → checkbox.css.js} +2 -2
  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} +2 -2
  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} +2 -2
  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.cjs +2 -0
  293. package/dist/inputs/file-input/file-input.css.cjs.map +1 -0
  294. package/dist/inputs/file-input/file-input.css.js +6 -0
  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.cjs +2 -0
  303. package/dist/inputs/input/input.css.cjs.map +1 -0
  304. package/dist/inputs/input/input.css.js +6 -0
  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} +2 -2
  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} +2 -2
  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} +2 -2
  317. package/dist/inputs/radio/radio.css.cjs.map +1 -0
  318. package/dist/inputs/radio/{radio.css?inline.js → radio.css.js} +2 -2
  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} +2 -2
  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} +2 -2
  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} +2 -2
  327. package/dist/inputs/rating/rating.css.cjs.map +1 -0
  328. package/dist/inputs/rating/{rating.css?inline.js → rating.css.js} +2 -2
  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} +2 -2
  349. package/dist/inputs/slider/slider.css.cjs.map +1 -0
  350. package/dist/inputs/slider/{slider.css?inline.js → slider.css.js} +2 -2
  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} +2 -2
  354. package/dist/inputs/switch/switch.css.cjs.map +1 -0
  355. package/dist/inputs/switch/{switch.css?inline.js → switch.css.js} +2 -2
  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.cjs +2 -0
  359. package/dist/inputs/textarea/textarea.css.cjs.map +1 -0
  360. package/dist/inputs/textarea/textarea.css.js +6 -0
  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.cjs +2 -0
  395. package/dist/layout/navbar/navbar.css.cjs.map +1 -0
  396. package/dist/layout/navbar/navbar.css.js +6 -0
  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.cjs +2 -0
  408. package/dist/layout/sidebar/sidebar.css.cjs.map +1 -0
  409. package/dist/layout/sidebar/sidebar.css.js +6 -0
  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.cjs +2 -0
  510. package/dist/overlay/menu/menu.css.cjs.map +1 -0
  511. package/dist/overlay/menu/menu.css.js +6 -0
  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 -623
  552. package/dist/refine.cjs.map +1 -1
  553. package/dist/refine.iife.js +742 -612
  554. package/dist/refine.iife.js.map +1 -1
  555. package/dist/refine.js +777 -647
  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/styles/mixins/animation.css.cjs +0 -3
  577. package/dist/styles/mixins/animation.css.cjs.map +1 -1
  578. package/dist/styles/mixins/animation.css.d.ts +12 -4
  579. package/dist/styles/mixins/animation.css.d.ts.map +1 -1
  580. package/dist/styles/mixins/animation.css.js +0 -3
  581. package/dist/styles/mixins/animation.css.js.map +1 -1
  582. package/dist/styles/mixins/variants.css.cjs.map +1 -1
  583. package/dist/styles/mixins/variants.css.d.ts +7 -2
  584. package/dist/styles/mixins/variants.css.d.ts.map +1 -1
  585. package/dist/styles/mixins/variants.css.js.map +1 -1
  586. package/dist/styles/theme.css +341 -132
  587. package/dist/switch.cjs +4 -4
  588. package/dist/switch.cjs.map +1 -1
  589. package/dist/switch.js +35 -33
  590. package/dist/switch.js.map +1 -1
  591. package/dist/tab-item.cjs +5 -5
  592. package/dist/tab-item.cjs.map +1 -1
  593. package/dist/tab-item.js +25 -25
  594. package/dist/tab-item.js.map +1 -1
  595. package/dist/tab-panel.cjs +6 -6
  596. package/dist/tab-panel.cjs.map +1 -1
  597. package/dist/tab-panel.js +24 -24
  598. package/dist/tab-panel.js.map +1 -1
  599. package/dist/table.cjs +1 -1
  600. package/dist/table.cjs.map +1 -1
  601. package/dist/table.js +36 -35
  602. package/dist/table.js.map +1 -1
  603. package/dist/tabs.cjs +3 -3
  604. package/dist/tabs.cjs.map +1 -1
  605. package/dist/tabs.js +61 -61
  606. package/dist/tabs.js.map +1 -1
  607. package/dist/text.cjs +1 -1
  608. package/dist/text.cjs.map +1 -1
  609. package/dist/text.js +16 -16
  610. package/dist/text.js.map +1 -1
  611. package/dist/textarea.cjs +15 -15
  612. package/dist/textarea.cjs.map +1 -1
  613. package/dist/textarea.js +67 -65
  614. package/dist/textarea.js.map +1 -1
  615. package/dist/time-picker.cjs +31 -31
  616. package/dist/time-picker.cjs.map +1 -1
  617. package/dist/time-picker.js +115 -113
  618. package/dist/time-picker.js.map +1 -1
  619. package/dist/toast.cjs +14 -14
  620. package/dist/toast.cjs.map +1 -1
  621. package/dist/toast.js +85 -85
  622. package/dist/toast.js.map +1 -1
  623. package/dist/tooltip.cjs +5 -5
  624. package/dist/tooltip.cjs.map +1 -1
  625. package/dist/tooltip.js +55 -55
  626. package/dist/tooltip.js.map +1 -1
  627. package/dist/typing-indicator.cjs +8 -0
  628. package/dist/typing-indicator.cjs.map +1 -0
  629. package/dist/typing-indicator.js +49 -0
  630. package/dist/typing-indicator.js.map +1 -0
  631. package/package.json +31 -8
  632. package/dist/content/avatar/avatar-group.css?inline.cjs.map +0 -1
  633. package/dist/content/avatar/avatar-group.css?inline.js.map +0 -1
  634. package/dist/content/avatar/avatar.css?inline.cjs.map +0 -1
  635. package/dist/content/avatar/avatar.css?inline.js.map +0 -1
  636. package/dist/content/breadcrumb/breadcrumb-item.css?inline.cjs.map +0 -1
  637. package/dist/content/breadcrumb/breadcrumb-item.css?inline.js.map +0 -1
  638. package/dist/content/breadcrumb/breadcrumb.css?inline.cjs.map +0 -1
  639. package/dist/content/breadcrumb/breadcrumb.css?inline.js.map +0 -1
  640. package/dist/content/card/card.css?inline.cjs +0 -2
  641. package/dist/content/card/card.css?inline.cjs.map +0 -1
  642. package/dist/content/card/card.css?inline.js +0 -6
  643. package/dist/content/card/card.css?inline.js.map +0 -1
  644. package/dist/content/carousel/carousel-slide.css?inline.cjs.map +0 -1
  645. package/dist/content/carousel/carousel-slide.css?inline.js.map +0 -1
  646. package/dist/content/carousel/carousel.css?inline.cjs.map +0 -1
  647. package/dist/content/carousel/carousel.css?inline.js.map +0 -1
  648. package/dist/content/code-window/code-window.css?inline.cjs.map +0 -1
  649. package/dist/content/code-window/code-window.css?inline.js.map +0 -1
  650. package/dist/content/copy-command/copy-command.css?inline.cjs.map +0 -1
  651. package/dist/content/copy-command/copy-command.css?inline.js.map +0 -1
  652. package/dist/content/icon/icon.css?inline.cjs +0 -2
  653. package/dist/content/icon/icon.css?inline.cjs.map +0 -1
  654. package/dist/content/icon/icon.css?inline.js +0 -6
  655. package/dist/content/icon/icon.css?inline.js.map +0 -1
  656. package/dist/content/pagination/pagination.css?inline.cjs.map +0 -1
  657. package/dist/content/pagination/pagination.css?inline.js.map +0 -1
  658. package/dist/content/separator/separator.css?inline.cjs.map +0 -1
  659. package/dist/content/separator/separator.css?inline.js.map +0 -1
  660. package/dist/content/table/table.css?inline.cjs.map +0 -1
  661. package/dist/content/table/table.css?inline.js.map +0 -1
  662. package/dist/content/text/text.css?inline.cjs.map +0 -1
  663. package/dist/content/text/text.css?inline.js.map +0 -1
  664. package/dist/disclosure/accordion/accordion.css?inline.cjs.map +0 -1
  665. package/dist/disclosure/accordion/accordion.css?inline.js.map +0 -1
  666. package/dist/disclosure/accordion-item/accordion-item.css?inline.cjs.map +0 -1
  667. package/dist/disclosure/accordion-item/accordion-item.css?inline.js.map +0 -1
  668. package/dist/disclosure/tab-item/tab-item.css?inline.cjs.map +0 -1
  669. package/dist/disclosure/tab-item/tab-item.css?inline.js.map +0 -1
  670. package/dist/disclosure/tab-panel/tab-panel.css?inline.cjs.map +0 -1
  671. package/dist/disclosure/tab-panel/tab-panel.css?inline.js.map +0 -1
  672. package/dist/disclosure/tabs/tabs.css?inline.cjs.map +0 -1
  673. package/dist/disclosure/tabs/tabs.css?inline.js.map +0 -1
  674. package/dist/feedback/alert/alert.css?inline.cjs.map +0 -1
  675. package/dist/feedback/alert/alert.css?inline.js.map +0 -1
  676. package/dist/feedback/async/async.css?inline.cjs.map +0 -1
  677. package/dist/feedback/async/async.css?inline.js.map +0 -1
  678. package/dist/feedback/badge/badge.css?inline.cjs.map +0 -1
  679. package/dist/feedback/badge/badge.css?inline.js.map +0 -1
  680. package/dist/feedback/chip/chip.css?inline.cjs.map +0 -1
  681. package/dist/feedback/chip/chip.css?inline.js.map +0 -1
  682. package/dist/feedback/password-strength/password-strength.css?inline.cjs.map +0 -1
  683. package/dist/feedback/password-strength/password-strength.css?inline.js.map +0 -1
  684. package/dist/feedback/progress/progress.css?inline.cjs.map +0 -1
  685. package/dist/feedback/progress/progress.css?inline.js.map +0 -1
  686. package/dist/feedback/skeleton/skeleton.css?inline.cjs.map +0 -1
  687. package/dist/feedback/skeleton/skeleton.css?inline.js.map +0 -1
  688. package/dist/feedback/toast/toast.css?inline.cjs +0 -2
  689. package/dist/feedback/toast/toast.css?inline.cjs.map +0 -1
  690. package/dist/feedback/toast/toast.css?inline.js +0 -6
  691. package/dist/feedback/toast/toast.css?inline.js.map +0 -1
  692. package/dist/inputs/button/button.css?inline.cjs +0 -2
  693. package/dist/inputs/button/button.css?inline.cjs.map +0 -1
  694. package/dist/inputs/button/button.css?inline.js +0 -6
  695. package/dist/inputs/button/button.css?inline.js.map +0 -1
  696. package/dist/inputs/button-group/button-group.css?inline.cjs.map +0 -1
  697. package/dist/inputs/button-group/button-group.css?inline.js.map +0 -1
  698. package/dist/inputs/calendar/calendar.css?inline.cjs.map +0 -1
  699. package/dist/inputs/calendar/calendar.css?inline.js.map +0 -1
  700. package/dist/inputs/checkbox/checkbox.css?inline.cjs.map +0 -1
  701. package/dist/inputs/checkbox/checkbox.css?inline.js.map +0 -1
  702. package/dist/inputs/checkbox-group/checkbox-group.css?inline.cjs.map +0 -1
  703. package/dist/inputs/checkbox-group/checkbox-group.css?inline.js.map +0 -1
  704. package/dist/inputs/combobox/combobox.css?inline.cjs.map +0 -1
  705. package/dist/inputs/combobox/combobox.css?inline.js.map +0 -1
  706. package/dist/inputs/datagrid/datagrid.css?inline.cjs.map +0 -1
  707. package/dist/inputs/datagrid/datagrid.css?inline.js.map +0 -1
  708. package/dist/inputs/date-picker/date-picker.css?inline.cjs.map +0 -1
  709. package/dist/inputs/date-picker/date-picker.css?inline.js.map +0 -1
  710. package/dist/inputs/file-input/file-input.css?inline.cjs +0 -2
  711. package/dist/inputs/file-input/file-input.css?inline.cjs.map +0 -1
  712. package/dist/inputs/file-input/file-input.css?inline.js +0 -6
  713. package/dist/inputs/file-input/file-input.css?inline.js.map +0 -1
  714. package/dist/inputs/form/form.css?inline.cjs.map +0 -1
  715. package/dist/inputs/form/form.css?inline.js.map +0 -1
  716. package/dist/inputs/input/input.css?inline.cjs +0 -2
  717. package/dist/inputs/input/input.css?inline.cjs.map +0 -1
  718. package/dist/inputs/input/input.css?inline.js +0 -6
  719. package/dist/inputs/input/input.css?inline.js.map +0 -1
  720. package/dist/inputs/number-input/number-input.css?inline.cjs.map +0 -1
  721. package/dist/inputs/number-input/number-input.css?inline.js.map +0 -1
  722. package/dist/inputs/otp-input/otp-input.css?inline.cjs.map +0 -1
  723. package/dist/inputs/otp-input/otp-input.css?inline.js.map +0 -1
  724. package/dist/inputs/radio/radio.css?inline.cjs.map +0 -1
  725. package/dist/inputs/radio/radio.css?inline.js.map +0 -1
  726. package/dist/inputs/radio-group/radio-group.css?inline.cjs.map +0 -1
  727. package/dist/inputs/radio-group/radio-group.css?inline.js.map +0 -1
  728. package/dist/inputs/rating/rating.css?inline.cjs.map +0 -1
  729. package/dist/inputs/rating/rating.css?inline.js.map +0 -1
  730. package/dist/inputs/select/select.css?inline.cjs.map +0 -1
  731. package/dist/inputs/select/select.css?inline.js.map +0 -1
  732. package/dist/inputs/slider/slider.css?inline.cjs.map +0 -1
  733. package/dist/inputs/slider/slider.css?inline.js.map +0 -1
  734. package/dist/inputs/switch/switch.css?inline.cjs.map +0 -1
  735. package/dist/inputs/switch/switch.css?inline.js.map +0 -1
  736. package/dist/inputs/textarea/textarea.css?inline.cjs +0 -2
  737. package/dist/inputs/textarea/textarea.css?inline.cjs.map +0 -1
  738. package/dist/inputs/textarea/textarea.css?inline.js +0 -6
  739. package/dist/inputs/textarea/textarea.css?inline.js.map +0 -1
  740. package/dist/inputs/time-picker/time-picker.css?inline.cjs.map +0 -1
  741. package/dist/inputs/time-picker/time-picker.css?inline.js.map +0 -1
  742. package/dist/layout/box/box.css?inline.cjs.map +0 -1
  743. package/dist/layout/box/box.css?inline.js.map +0 -1
  744. package/dist/layout/grid/grid.css?inline.cjs.map +0 -1
  745. package/dist/layout/grid/grid.css?inline.js.map +0 -1
  746. package/dist/layout/grid-item/grid-item.css?inline.cjs.map +0 -1
  747. package/dist/layout/grid-item/grid-item.css?inline.js.map +0 -1
  748. package/dist/layout/navbar/navbar.css?inline.cjs +0 -2
  749. package/dist/layout/navbar/navbar.css?inline.cjs.map +0 -1
  750. package/dist/layout/navbar/navbar.css?inline.js +0 -6
  751. package/dist/layout/navbar/navbar.css?inline.js.map +0 -1
  752. package/dist/layout/sidebar/sidebar-group.css?inline.cjs.map +0 -1
  753. package/dist/layout/sidebar/sidebar-group.css?inline.js.map +0 -1
  754. package/dist/layout/sidebar/sidebar-item.css?inline.cjs.map +0 -1
  755. package/dist/layout/sidebar/sidebar-item.css?inline.js.map +0 -1
  756. package/dist/layout/sidebar/sidebar.css?inline.cjs +0 -2
  757. package/dist/layout/sidebar/sidebar.css?inline.cjs.map +0 -1
  758. package/dist/layout/sidebar/sidebar.css?inline.js +0 -6
  759. package/dist/layout/sidebar/sidebar.css?inline.js.map +0 -1
  760. package/dist/ore/dist/aria.cjs +0 -2
  761. package/dist/ore/dist/aria.cjs.map +0 -1
  762. package/dist/ore/dist/aria.js +0 -37
  763. package/dist/ore/dist/aria.js.map +0 -1
  764. package/dist/ore/dist/context-bag.cjs +0 -2
  765. package/dist/ore/dist/context-bag.cjs.map +0 -1
  766. package/dist/ore/dist/context-bag.js +0 -28
  767. package/dist/ore/dist/context-bag.js.map +0 -1
  768. package/dist/ore/dist/host-bind.cjs +0 -2
  769. package/dist/ore/dist/host-bind.cjs.map +0 -1
  770. package/dist/ore/dist/host-bind.js +0 -60
  771. package/dist/ore/dist/host-bind.js.map +0 -1
  772. package/dist/ore/dist/slots.cjs +0 -2
  773. package/dist/ore/dist/slots.cjs.map +0 -1
  774. package/dist/ore/dist/slots.js +0 -61
  775. package/dist/ore/dist/slots.js.map +0 -1
  776. package/dist/ore/dist/utils/aria.cjs +0 -2
  777. package/dist/ore/dist/utils/aria.cjs.map +0 -1
  778. package/dist/ore/dist/utils/aria.js +0 -6
  779. package/dist/ore/dist/utils/aria.js.map +0 -1
  780. package/dist/ore/dist/utils/emit.cjs +0 -2
  781. package/dist/ore/dist/utils/emit.cjs.map +0 -1
  782. package/dist/ore/dist/utils/emit.js +0 -16
  783. package/dist/ore/dist/utils/emit.js.map +0 -1
  784. package/dist/overlay/dialog/dialog.css?inline.cjs.map +0 -1
  785. package/dist/overlay/dialog/dialog.css?inline.js.map +0 -1
  786. package/dist/overlay/drawer/drawer.css?inline.cjs.map +0 -1
  787. package/dist/overlay/drawer/drawer.css?inline.js.map +0 -1
  788. package/dist/overlay/menu/menu-item.css?inline.cjs.map +0 -1
  789. package/dist/overlay/menu/menu-item.css?inline.js.map +0 -1
  790. package/dist/overlay/menu/menu-separator.css?inline.cjs.map +0 -1
  791. package/dist/overlay/menu/menu-separator.css?inline.js.map +0 -1
  792. package/dist/overlay/menu/menu.css?inline.cjs +0 -2
  793. package/dist/overlay/menu/menu.css?inline.cjs.map +0 -1
  794. package/dist/overlay/menu/menu.css?inline.js +0 -6
  795. package/dist/overlay/menu/menu.css?inline.js.map +0 -1
  796. package/dist/overlay/popover/popover.css?inline.cjs.map +0 -1
  797. package/dist/overlay/popover/popover.css?inline.js.map +0 -1
  798. package/dist/overlay/tooltip/tooltip.css?inline.cjs.map +0 -1
  799. package/dist/overlay/tooltip/tooltip.css?inline.js.map +0 -1
package/dist/input.js CHANGED
@@ -7,12 +7,14 @@ import { disablableBundle as i, roundableBundle as a, sizableBundle as o, themab
7
7
  import { FIELD_SIZE_PRESET as c } from "./shared/size-presets.js";
8
8
  import { lifecycleSignal as l } from "./headless/ore.js";
9
9
  import { createTextField as u } from "./headless/text-field.js";
10
- import { FORM_CTX as d, useFormContext as f } from "./inputs/shared/form-context.js";
11
- import p from "./inputs/input/input.css?inline.js";
12
- import { define as m, html as h, inject as g, prop as _, ref as v, useField as y } from "@vielzeug/ore";
13
- import { computed as b, signal as x, watch as S } from "@vielzeug/ripple";
10
+ import { useField as d } from "./ore/dist/forms/field.js";
11
+ import "./ore/dist/forms.js";
12
+ import { FORM_CTX as f, useFormContext as p } from "./inputs/shared/form-context.js";
13
+ import m from "./inputs/input/input.css.js";
14
+ import { bind as h, define as g, html as _, inject as v, onCleanup as y, onElement as b, prop as x, ref as S, useEmit as C, useSlots as w } from "@vielzeug/ore";
15
+ import { computed as T, signal as E, watch as D } from "@vielzeug/ripple";
14
16
  //#region src/inputs/input/input.ts
15
- var C = [
17
+ var O = [
16
18
  "text",
17
19
  "email",
18
20
  "password",
@@ -25,83 +27,83 @@ var C = [
25
27
  "datetime-local",
26
28
  "month",
27
29
  "week"
28
- ], w = "ore-input";
29
- m(w, {
30
+ ], k = "ore-input";
31
+ g(k, {
30
32
  formAssociated: !0,
31
33
  props: {
32
34
  ...s,
33
35
  ...o,
34
36
  ...i,
35
37
  ...a,
36
- autocomplete: _.string(),
37
- clearable: _.bool(!1),
38
- error: _.string(),
39
- fullwidth: _.bool(!1),
40
- helper: _.string(),
41
- inputmode: _.string(),
42
- label: _.string(),
43
- "label-placement": _.oneOf(["inset", "outside"], "inset"),
44
- maxlength: _.json(void 0),
45
- minlength: _.json(void 0),
46
- name: _.string(),
47
- pattern: _.string(),
48
- placeholder: _.string(),
49
- readonly: _.bool(!1),
50
- ref: _.json(void 0),
51
- required: _.bool(!1),
52
- type: _.oneOf(C, "text"),
53
- value: _.string(),
54
- variant: _.string()
38
+ autocomplete: x.string(),
39
+ clearable: x.bool(!1),
40
+ error: x.string(),
41
+ fullwidth: x.bool(!1),
42
+ helper: x.string(),
43
+ inputmode: x.string(),
44
+ label: x.string(),
45
+ "label-placement": x.oneOf(["inset", "outside"], "inset"),
46
+ maxlength: x.json(void 0),
47
+ minlength: x.json(void 0),
48
+ name: x.string(),
49
+ pattern: x.string(),
50
+ placeholder: x.string(),
51
+ readonly: x.bool(!1),
52
+ ref: x.json(void 0),
53
+ required: x.bool(!1),
54
+ type: x.oneOf(O, "text"),
55
+ value: x.string(),
56
+ variant: x.string()
55
57
  },
56
- setup(t, { bind: n, emit: r, onCleanup: i, onElement: a, slots: o }) {
57
- let s = g(d), c = f(n, t, s), p = x(!1), m = v(), _ = b(() => !!t.label.value || o.has("label").value), C = l(i), w = null, T = u({
58
- disabled: c.disabled,
58
+ setup(t) {
59
+ let n = C(), r = w(), i = v(f), a = p(t, i), o = E(!1), s = S(), c = T(() => !!t.label.value || r.has("label").value), m = l(y), g = null, x = u({
60
+ disabled: a.disabled,
59
61
  error: t.error,
60
- getFormField: () => w,
61
- hasLabel: _,
62
+ getFormField: () => g,
63
+ hasLabel: c,
62
64
  helper: t.helper,
63
65
  label: t.label,
64
66
  labelPlacement: t["label-placement"],
65
67
  maxLength: t.maxlength,
66
68
  onChange: (e, t) => {
67
- r("change", {
69
+ n("change", {
68
70
  originalEvent: e,
69
71
  value: t
70
72
  });
71
73
  },
72
74
  onInput: (e, t) => {
73
- r("input", {
75
+ n("input", {
74
76
  originalEvent: e,
75
77
  value: t
76
78
  });
77
79
  },
78
80
  prefix: "input",
79
- signal: C,
80
- validateOn: s?.validateOn,
81
+ signal: m,
82
+ validateOn: i?.validateOn,
81
83
  value: t.value
82
84
  });
83
- w = y({
84
- disabled: T.disabled,
85
+ g = d({
86
+ disabled: x.disabled,
85
87
  toFormValue: (e) => e,
86
- value: T.value
88
+ value: x.value
87
89
  });
88
- let { ariaDescribedBy: E, ariaErrorMessage: D, ariaInvalid: O, ariaLabelledBy: k, assistiveId: A, clear: j, counter: M, errorId: N, errorText: P, fieldId: F, helperText: I, labelId: L, labelVisible: R, value: z, wire: B } = T;
89
- return a(m, (e) => {
90
- B(e, C), t.ref.value?.(e);
91
- let n = S(t.ref, (t) => {
90
+ let { ariaDescribedBy: O, ariaErrorMessage: k, ariaInvalid: A, ariaLabelledBy: j, assistiveId: M, clear: N, counter: P, errorId: F, errorText: I, fieldId: L, helperText: R, labelId: z, labelVisible: B, value: V, wire: H } = x;
91
+ return b(s, (e) => {
92
+ H(e, m), t.ref.value?.(e);
93
+ let n = D(t.ref, (t) => {
92
94
  t?.(e);
93
95
  });
94
96
  return () => {
95
97
  n.dispose(), t.ref.value?.(null);
96
98
  };
97
- }), n({ attr: {
98
- error: () => P.value || void 0,
99
- "has-value": () => z.value ? !0 : void 0,
100
- size: c.size,
101
- variant: c.variant
102
- } }), h`
99
+ }), h({ attr: {
100
+ error: () => I.value || void 0,
101
+ "has-value": () => V.value ? !0 : void 0,
102
+ size: a.size,
103
+ variant: a.variant
104
+ } }), _`
103
105
  <div class="input-wrapper" part="wrapper">
104
- <label class="label" for="${F}" id="${L}" part="label" ?hidden="${() => !R.value}"
106
+ <label class="label" for="${L}" id="${z}" part="label" ?hidden="${() => !B.value}"
105
107
  ><slot name="label">${t.label}</slot></label
106
108
  >
107
109
  <div class="field" part="field">
@@ -109,8 +111,8 @@ m(w, {
109
111
  <slot name="prefix"></slot>
110
112
  <input
111
113
  part="input"
112
- id="${F}"
113
- :type="${() => t.type.value === "password" && p.value ? "text" : t.type.value ?? "text"}"
114
+ id="${L}"
115
+ :type="${() => t.type.value === "password" && o.value ? "text" : t.type.value ?? "text"}"
114
116
  :name="${t.name}"
115
117
  :placeholder="${t.placeholder}"
116
118
  :autocomplete="${t.autocomplete}"
@@ -121,51 +123,51 @@ m(w, {
121
123
  ?disabled="${t.disabled}"
122
124
  ?readonly="${t.readonly}"
123
125
  ?required="${t.required}"
124
- :value="${e(z)}"
125
- :aria-labelledby="${k}"
126
- :aria-describedby="${E}"
127
- :aria-errormessage="${D}"
128
- :aria-invalid="${O}"
129
- ref="${m}" />
126
+ :value="${e(V)}"
127
+ :aria-labelledby="${j}"
128
+ :aria-describedby="${O}"
129
+ :aria-errormessage="${k}"
130
+ :aria-invalid="${A}"
131
+ ref="${s}" />
130
132
  <slot name="suffix"></slot>
131
133
  <button
132
134
  class="pwd-toggle-btn"
133
135
  part="pwd-toggle"
134
136
  type="button"
135
- :aria-label="${() => p.value ? "Hide password" : "Show password"}"
136
- :aria-pressed="${() => String(p.value)}"
137
+ :aria-label="${() => o.value ? "Hide password" : "Show password"}"
138
+ :aria-pressed="${() => String(o.value)}"
137
139
  :tabindex="${() => t.type.value === "password" ? "0" : "-1"}"
138
140
  @click="${() => {
139
- p.value = !p.value, m.value?.focus();
141
+ o.value = !o.value, s.value?.focus();
140
142
  }}">
141
- ${() => p.value ? h`<ore-icon name="eye-off" size="14" stroke-width="2" aria-hidden="true"></ore-icon>` : h`<ore-icon name="eye" size="14" stroke-width="2" aria-hidden="true"></ore-icon>`}
143
+ ${() => o.value ? _`<ore-icon name="eye-off" size="14" stroke-width="2" aria-hidden="true"></ore-icon>` : _`<ore-icon name="eye" size="14" stroke-width="2" aria-hidden="true"></ore-icon>`}
142
144
  </button>
143
145
  <button
144
146
  aria-label="Clear"
145
147
  class="clear-btn"
146
148
  part="clear"
147
149
  type="button"
148
- :tabindex="${() => z.value ? "0" : "-1"}"
150
+ :tabindex="${() => V.value ? "0" : "-1"}"
149
151
  @click="${(e) => {
150
- j(e), m.value?.focus();
152
+ N(e), s.value?.focus();
151
153
  }}">
152
154
  <ore-icon aria-hidden="true" name="x" size="12" stroke-width="2.5"></ore-icon>
153
155
  </button>
154
156
  </div>
155
157
  </div>
156
- <div class="helper-text" aria-live="polite" id="${A}" part="helper" ?hidden="${() => !!P.value || !I.value}">
157
- <slot name="helper">${() => I.value}</slot>
158
+ <div class="helper-text" aria-live="polite" id="${M}" part="helper" ?hidden="${() => !!I.value || !R.value}">
159
+ <slot name="helper">${() => R.value}</slot>
158
160
  </div>
159
- <div class="helper-text" id="${N}" role="alert" part="error" ?hidden="${() => !P.value}">
160
- <slot name="error">${() => P.value}</slot>
161
+ <div class="helper-text" id="${F}" role="alert" part="error" ?hidden="${() => !I.value}">
162
+ <slot name="error">${() => I.value}</slot>
161
163
  </div>
162
164
  <div
163
165
  class="char-counter"
164
166
  part="char-counter"
165
- :data-near-limit="${() => M?.value.counterNearLimit && !M?.value.counterAtLimit ? "" : null}"
166
- :data-at-limit="${() => M?.value.counterAtLimit ? "" : null}"
167
- ?hidden="${() => !M}">
168
- ${() => M?.value.counterText ?? ""}
167
+ :data-near-limit="${() => P?.value.counterNearLimit && !P?.value.counterAtLimit ? "" : null}"
168
+ :data-at-limit="${() => P?.value.counterAtLimit ? "" : null}"
169
+ ?hidden="${() => !P}">
170
+ ${() => P?.value.counterText ?? ""}
169
171
  </div>
170
172
  </div>
171
173
  `;
@@ -175,10 +177,10 @@ m(w, {
175
177
  ...r,
176
178
  t(c),
177
179
  n("input"),
178
- p
180
+ m
179
181
  ]
180
182
  });
181
183
  //#endregion
182
- export { w as INPUT_TAG };
184
+ export { k as INPUT_TAG };
183
185
 
184
186
  //# sourceMappingURL=input.js.map
package/dist/input.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","names":[],"sources":["../src/inputs/input/input.ts"],"sourcesContent":["import { define, useField, html, inject, prop, ref } from '@vielzeug/ore';\nimport { live } from '@vielzeug/ore/directives';\nimport { computed, signal, watch } from '@vielzeug/ripple';\n\nimport type { TextFieldProps } from '../../shared';\nimport type { InputType, VisualVariant } from '../../types';\n\nimport { lifecycleSignal, createTextField } from '../../headless';\nimport { disablableBundle, FIELD_SIZE_PRESET, roundableBundle, sizableBundle, themableBundle } from '../../shared';\nimport '../../content/icon/icon';\nimport { fieldMixins, forcedColorsFocusMixin, sizeVariantMixin } from '../../styles';\nimport { FORM_CTX, useFormContext } from '../shared/form-context';\nimport componentStyles from './input.css?inline';\n\n/** Input component properties */\n\nexport type OreInputEvents = {\n change: { originalEvent: Event; value: string };\n input: { originalEvent: Event; value: string };\n};\n\nexport type OreInputProps = TextFieldProps<Exclude<VisualVariant, 'frost'>> & {\n /** Autocomplete hint */\n autocomplete?: string;\n /** Show a clear (×) button when the field has a value */\n clearable?: boolean;\n /** Virtual keyboard hint for mobile devices */\n inputmode?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';\n /** Maximum character length — shows a counter below the input */\n maxlength?: number;\n /** Minimum character length */\n minlength?: number;\n /** HTML pattern attribute for client-side validation */\n pattern?: string;\n /**\n * JS-only callback fired with the inner `<input>` element when it mounts,\n * and with `null` when it unmounts. Intended for composed components that\n * need imperative access to the raw input element.\n * Set as a JS property: `bitInput.ref = (el) => { ... }`.\n */\n ref?: ((el: HTMLInputElement | null) => void) | null;\n /** HTML input type */\n type?: InputType;\n};\n\nconst VALID_INPUT_TYPES = [\n 'text',\n 'email',\n 'password',\n 'search',\n 'url',\n 'tel',\n 'number',\n 'date',\n 'time',\n 'datetime-local',\n 'month',\n 'week',\n] as const;\n\n/**\n * A customizable text input component with multiple variants, label placements, and form features.\n *\n * @element ore-input\n *\n * @attr {string} label - Label text\n * @attr {string} label-placement - Label placement: 'inset' | 'outside'\n * @attr {string} type - HTML input type: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search'\n * @attr {string} value - Current input value\n * @attr {string} placeholder - Placeholder text\n * @attr {string} name - Form field name\n * @attr {string} helper - Helper text displayed below the input (fallback when the `helper` slot is empty)\n * @attr {string} error - Error message — marks the field as invalid (fallback when the `error` slot is empty)\n * @attr {boolean} disabled - Disable input interaction\n * @attr {boolean} readonly - Make the input read-only\n * @attr {boolean} required - Mark the field as required\n * @attr {string} color - Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'\n * @attr {string} variant - Visual variant: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost' | 'text'\n * @attr {string} size - Input size: 'sm' | 'md' | 'lg'\n * @attr {string} rounded - Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'\n *\n * @fires input - Emitted when input value changes (on every keystroke). detail: { value: string; originalEvent: Event }\n * @fires change - Emitted when input loses focus with changed value. detail: { value: string; originalEvent: Event }\n *\n * @slot prefix - Content before the input (e.g., icons)\n * @slot suffix - Content after the input (e.g., clear button, validation icon)\n * @slot label - Replaces the label text — slotted content takes precedence over the `label` prop\n * @slot helper - Replaces the helper text — slotted content takes precedence over the `helper` prop\n * @slot error - Replaces the error text — slotted content takes precedence over the `error` prop\n *\n * @part wrapper - The input wrapper element\n * @part label - The label element (inset or outside)\n * @part field - The field container element\n * @part input-row - The input row container element\n * @part input - The input element\n * @part helper - The helper text element\n *\n * @cssprop --input-bg - Background color\n * @cssprop --input-color - Text color\n * @cssprop --input-border-color - Border color\n * @cssprop --input-placeholder-color - Placeholder text color\n * @cssprop --input-radius - Border radius\n * @cssprop --input-padding - Inner padding (block inline)\n * @cssprop --input-gap - Gap between prefix/suffix icons and input text\n * @cssprop --input-font-size - Font size\n * @cssprop --input-height - Field height\n * @cssprop --input-hover-bg - Field background on hover (flat/ghost variants)\n * @cssprop --input-hover-border-color - Field border on hover (flat/bordered variants)\n * @cssprop --input-focus-bg - Field background when focused (flat variant)\n * @cssprop --input-focus-border-color - Field border when focused (flat/text variants)\n *\n * @example\n * ```html\n * <ore-input type=\"email\" label=\"Email\" placeholder=\"you@example.com\" />\n * <ore-input label=\"Name\" variant=\"bordered\" color=\"primary\" />\n * ```\n */\nexport const INPUT_TAG = 'ore-input' as const;\ndefine<OreInputProps, OreInputEvents>(INPUT_TAG, {\n formAssociated: true,\n props: {\n ...themableBundle,\n ...sizableBundle,\n ...disablableBundle,\n ...roundableBundle,\n autocomplete: prop.string(),\n clearable: prop.bool(false),\n error: prop.string(),\n fullwidth: prop.bool(false),\n helper: prop.string(),\n inputmode: prop.string<'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'>(),\n label: prop.string(),\n 'label-placement': prop.oneOf(['inset', 'outside'] as const, 'inset'),\n maxlength: prop.json(undefined as number | undefined),\n minlength: prop.json(undefined as number | undefined),\n name: prop.string(),\n pattern: prop.string(),\n placeholder: prop.string(),\n readonly: prop.bool(false),\n ref: prop.json(undefined as ((el: HTMLInputElement | null) => void) | null | undefined),\n required: prop.bool(false),\n type: prop.oneOf(VALID_INPUT_TYPES, 'text'),\n value: prop.string(),\n variant: prop.string<'flat' | 'text' | 'solid' | 'bordered' | 'outline' | 'ghost'>(),\n },\n setup(props, { bind, emit, onCleanup, onElement, slots }) {\n const formCtx = inject(FORM_CTX);\n const fCtxProps = useFormContext(bind, props, formCtx);\n const showPassword = signal(false);\n const inputRef = ref<HTMLInputElement>();\n\n const hasLabel = computed(() => !!props.label.value || slots.has('label').value);\n\n const abortSignal = lifecycleSignal(onCleanup);\n let _formField: { reportValidity(): void } | null = null;\n const tf = createTextField({\n disabled: fCtxProps.disabled,\n error: props.error,\n getFormField: () => _formField,\n hasLabel,\n helper: props.helper,\n label: props.label,\n labelPlacement: props['label-placement'],\n maxLength: props.maxlength,\n onChange: (event: Event, value: string) => {\n emit('change', { originalEvent: event, value });\n },\n onInput: (event: Event, value: string) => {\n emit('input', { originalEvent: event, value });\n },\n prefix: 'input',\n signal: abortSignal,\n validateOn: formCtx?.validateOn,\n value: props.value,\n });\n\n _formField = useField<string>({ disabled: tf.disabled, toFormValue: (v) => v, value: tf.value });\n\n const {\n ariaDescribedBy,\n ariaErrorMessage,\n ariaInvalid,\n ariaLabelledBy,\n assistiveId,\n clear: clearValue,\n counter,\n errorId,\n errorText,\n fieldId: inputId,\n helperText,\n labelId,\n labelVisible,\n value: fieldValue,\n wire,\n } = tf;\n\n onElement(inputRef, (el) => {\n wire(el, abortSignal);\n\n // Immediate fire for when the prop is already set on mount.\n props.ref.value?.(el);\n\n // Reactive watcher so that if props.ref is set *after* the inner\n // <input> mounts (e.g. parent sets it via a ref callback after render),\n // the new callback still receives the live element.\n const sub = watch(props.ref, (cb) => {\n cb?.(el);\n });\n\n return () => {\n sub.dispose();\n props.ref.value?.(null);\n };\n });\n\n const clear = (event?: Event): void => {\n clearValue(event);\n inputRef.value?.focus();\n };\n\n const resolvedInputType = (): string =>\n props.type.value === 'password' && showPassword.value ? 'text' : (props.type.value ?? 'text');\n\n bind({\n attr: {\n error: () => errorText.value || undefined,\n 'has-value': () => (fieldValue.value ? true : undefined),\n size: fCtxProps.size,\n variant: fCtxProps.variant,\n },\n });\n\n const labelHidden = () => !labelVisible.value;\n const passwordToggleLabel = () => (showPassword.value ? 'Hide password' : 'Show password');\n const passwordTogglePressed = () => String(showPassword.value);\n const passwordToggleIcon = () =>\n showPassword.value\n ? html`<ore-icon name=\"eye-off\" size=\"14\" stroke-width=\"2\" aria-hidden=\"true\"></ore-icon>`\n : html`<ore-icon name=\"eye\" size=\"14\" stroke-width=\"2\" aria-hidden=\"true\"></ore-icon>`;\n const helperHidden = () => !!errorText.value || !helperText.value;\n const errorHidden = () => !errorText.value;\n const counterNearLimit = () => (counter?.value.counterNearLimit && !counter?.value.counterAtLimit ? '' : null);\n const counterAtLimit = () => (counter?.value.counterAtLimit ? '' : null);\n const counterHidden = () => !counter;\n const counterText = () => counter?.value.counterText ?? '';\n\n const clearTabIndex = () => (fieldValue.value ? '0' : '-1');\n const pwdToggleTabIndex = () => (props.type.value === 'password' ? '0' : '-1');\n\n const togglePassword = () => {\n showPassword.value = !showPassword.value;\n inputRef.value?.focus();\n };\n\n return html`\n <div class=\"input-wrapper\" part=\"wrapper\">\n <label class=\"label\" for=\"${inputId}\" id=\"${labelId}\" part=\"label\" ?hidden=\"${labelHidden}\"\n ><slot name=\"label\">${props.label}</slot></label\n >\n <div class=\"field\" part=\"field\">\n <div class=\"input-row\" part=\"input-row\">\n <slot name=\"prefix\"></slot>\n <input\n part=\"input\"\n id=\"${inputId}\"\n :type=\"${resolvedInputType}\"\n :name=\"${props.name}\"\n :placeholder=\"${props.placeholder}\"\n :autocomplete=\"${props.autocomplete}\"\n :inputmode=\"${props.inputmode}\"\n :maxlength=\"${props.maxlength}\"\n :minlength=\"${props.minlength}\"\n :pattern=\"${props.pattern}\"\n ?disabled=\"${props.disabled}\"\n ?readonly=\"${props.readonly}\"\n ?required=\"${props.required}\"\n :value=\"${live(fieldValue)}\"\n :aria-labelledby=\"${ariaLabelledBy}\"\n :aria-describedby=\"${ariaDescribedBy}\"\n :aria-errormessage=\"${ariaErrorMessage}\"\n :aria-invalid=\"${ariaInvalid}\"\n ref=\"${inputRef}\" />\n <slot name=\"suffix\"></slot>\n <button\n class=\"pwd-toggle-btn\"\n part=\"pwd-toggle\"\n type=\"button\"\n :aria-label=\"${passwordToggleLabel}\"\n :aria-pressed=\"${passwordTogglePressed}\"\n :tabindex=\"${pwdToggleTabIndex}\"\n @click=\"${togglePassword}\">\n ${passwordToggleIcon}\n </button>\n <button\n aria-label=\"Clear\"\n class=\"clear-btn\"\n part=\"clear\"\n type=\"button\"\n :tabindex=\"${clearTabIndex}\"\n @click=\"${clear}\">\n <ore-icon aria-hidden=\"true\" name=\"x\" size=\"12\" stroke-width=\"2.5\"></ore-icon>\n </button>\n </div>\n </div>\n <div class=\"helper-text\" aria-live=\"polite\" id=\"${assistiveId}\" part=\"helper\" ?hidden=\"${helperHidden}\">\n <slot name=\"helper\">${() => helperText.value}</slot>\n </div>\n <div class=\"helper-text\" id=\"${errorId}\" role=\"alert\" part=\"error\" ?hidden=\"${errorHidden}\">\n <slot name=\"error\">${() => errorText.value}</slot>\n </div>\n <div\n class=\"char-counter\"\n part=\"char-counter\"\n :data-near-limit=\"${counterNearLimit}\"\n :data-at-limit=\"${counterAtLimit}\"\n ?hidden=\"${counterHidden}\">\n ${counterText}\n </div>\n </div>\n `;\n },\n shadow: { delegatesFocus: true },\n styles: [...fieldMixins, sizeVariantMixin(FIELD_SIZE_PRESET), forcedColorsFocusMixin('input'), componentStyles],\n});\n"],"mappings":";;;;;;;;;;;;;;AA6CA,IAAM,IAAoB;CACxB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,GA2Da,IAAY;AACzB,EAAsC,GAAW;CAC/C,gBAAgB;CAChB,OAAO;EACL,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH,cAAc,EAAK,OAAO;EAC1B,WAAW,EAAK,KAAK,EAAK;EAC1B,OAAO,EAAK,OAAO;EACnB,WAAW,EAAK,KAAK,EAAK;EAC1B,QAAQ,EAAK,OAAO;EACpB,WAAW,EAAK,OAAqF;EACrG,OAAO,EAAK,OAAO;EACnB,mBAAmB,EAAK,MAAM,CAAC,SAAS,SAAS,GAAY,OAAO;EACpE,WAAW,EAAK,KAAK,KAAA,CAA+B;EACpD,WAAW,EAAK,KAAK,KAAA,CAA+B;EACpD,MAAM,EAAK,OAAO;EAClB,SAAS,EAAK,OAAO;EACrB,aAAa,EAAK,OAAO;EACzB,UAAU,EAAK,KAAK,EAAK;EACzB,KAAK,EAAK,KAAK,KAAA,CAAuE;EACtF,UAAU,EAAK,KAAK,EAAK;EACzB,MAAM,EAAK,MAAM,GAAmB,MAAM;EAC1C,OAAO,EAAK,OAAO;EACnB,SAAS,EAAK,OAAqE;CACrF;CACA,MAAM,GAAO,EAAE,SAAM,SAAM,cAAW,cAAW,YAAS;EACxD,IAAM,IAAU,EAAO,CAAQ,GACzB,IAAY,EAAe,GAAM,GAAO,CAAO,GAC/C,IAAe,EAAO,EAAK,GAC3B,IAAW,EAAsB,GAEjC,IAAW,QAAe,CAAC,CAAC,EAAM,MAAM,SAAS,EAAM,IAAI,OAAO,CAAC,CAAC,KAAK,GAEzE,IAAc,EAAgB,CAAS,GACzC,IAAgD,MAC9C,IAAK,EAAgB;GACzB,UAAU,EAAU;GACpB,OAAO,EAAM;GACb,oBAAoB;GACpB;GACA,QAAQ,EAAM;GACd,OAAO,EAAM;GACb,gBAAgB,EAAM;GACtB,WAAW,EAAM;GACjB,WAAW,GAAc,MAAkB;IACzC,EAAK,UAAU;KAAE,eAAe;KAAO;IAAM,CAAC;GAChD;GACA,UAAU,GAAc,MAAkB;IACxC,EAAK,SAAS;KAAE,eAAe;KAAO;IAAM,CAAC;GAC/C;GACA,QAAQ;GACR,QAAQ;GACR,YAAY,GAAS;GACrB,OAAO,EAAM;EACf,CAAC;EAED,IAAa,EAAiB;GAAE,UAAU,EAAG;GAAU,cAAc,MAAM;GAAG,OAAO,EAAG;EAAM,CAAC;EAE/F,IAAM,EACJ,oBACA,qBACA,gBACA,mBACA,gBACA,OAAO,GACP,YACA,YACA,cACA,SAAS,GACT,eACA,YACA,iBACA,OAAO,GACP,YACE;EA4DJ,OA1DA,EAAU,IAAW,MAAO;GAI1B,AAHA,EAAK,GAAI,CAAW,GAGpB,EAAM,IAAI,QAAQ,CAAE;GAKpB,IAAM,IAAM,EAAM,EAAM,MAAM,MAAO;IACnC,IAAK,CAAE;GACT,CAAC;GAED,aAAa;IAEX,AADA,EAAI,QAAQ,GACZ,EAAM,IAAI,QAAQ,IAAI;GACxB;EACF,CAAC,GAUD,EAAK,EACH,MAAM;GACJ,aAAa,EAAU,SAAS,KAAA;GAChC,mBAAoB,EAAW,QAAQ,KAAO,KAAA;GAC9C,MAAM,EAAU;GAChB,SAAS,EAAU;EACrB,EACF,CAAC,GAwBM,CAAI;;oCAEqB,EAAQ,QAAQ,EAAQ,gCAxB9B,CAAC,EAAa,MAwBsD;gCAClE,EAAM,MAAM;;;;;;;oBAOxB,EAAQ;6BA3CtB,EAAM,KAAK,UAAU,cAAc,EAAa,QAAQ,SAAU,EAAM,KAAK,SAAS,OA4CnD;uBAClB,EAAM,KAAK;8BACJ,EAAM,YAAY;+BACjB,EAAM,aAAa;4BACtB,EAAM,UAAU;4BAChB,EAAM,UAAU;4BAChB,EAAM,UAAU;0BAClB,EAAM,QAAQ;2BACb,EAAM,SAAS;2BACf,EAAM,SAAS;2BACf,EAAM,SAAS;wBAClB,EAAK,CAAU,EAAE;kCACP,EAAe;mCACd,EAAgB;oCACf,EAAiB;+BACtB,EAAY;qBACtB,EAAS;;;;;;mCAhDS,EAAa,QAAQ,kBAAkB,gBAsD7B;qCArDT,OAAO,EAAa,KAAK,EAsDZ;iCAzChB,EAAM,KAAK,UAAU,aAAa,MAAM,KA0ChC;8BAxCZ;GAE3B,AADA,EAAa,QAAQ,CAAC,EAAa,OACnC,EAAS,OAAO,MAAM;EACxB,EAsCmC;sBAtDjC,EAAa,QACT,CAAI,uFACJ,CAAI,iFAqDqB;;;;;;;iCA7CF,EAAW,QAAQ,MAAM,KAoDjB;yBAnFtB,MAAwB;GAErC,AADA,EAAW,CAAK,GAChB,EAAS,OAAO,MAAM;EACxB,EAiF0B;;;;;0DAK4B,EAAY,iCAjEvC,CAAC,CAAC,EAAU,SAAS,CAAC,EAAW,MAiE8C;sCACxE,EAAW,MAAM;;uCAEhB,EAAQ,6CAnEjB,CAAC,EAAU,MAmEyD;qCAC7D,EAAU,MAAM;;;;;oCAnEjB,GAAS,MAAM,oBAAoB,CAAC,GAAS,MAAM,iBAAiB,KAAK,KAwE9D;kCAvEb,GAAS,MAAM,iBAAiB,KAAK,KAwE5B;2BAvEX,CAAC,EAwEE;kBAvEL,GAAS,MAAM,eAAe,GAwEpC;;;;CAItB;CACA,QAAQ,EAAE,gBAAgB,GAAK;CAC/B,QAAQ;EAAC,GAAG;EAAa,EAAiB,CAAiB;EAAG,EAAuB,OAAO;EAAG;CAAe;AAChH,CAAC"}
1
+ {"version":3,"file":"input.js","names":[],"sources":["../src/inputs/input/input.ts"],"sourcesContent":["import { define, html, inject, prop, ref, bind, onCleanup, onElement, useEmit, useSlots } from '@vielzeug/ore';\nimport { live } from '@vielzeug/ore/directives';\nimport { useField } from '@vielzeug/ore/forms';\nimport { computed, signal, watch } from '@vielzeug/ripple';\n\nimport type { TextFieldProps } from '../../shared';\nimport type { InputType, VisualVariant } from '../../types';\n\nimport { lifecycleSignal, createTextField } from '../../headless';\nimport { disablableBundle, FIELD_SIZE_PRESET, roundableBundle, sizableBundle, themableBundle } from '../../shared';\nimport '../../content/icon/icon';\nimport { fieldMixins, forcedColorsFocusMixin, sizeVariantMixin } from '../../styles';\nimport { FORM_CTX, useFormContext } from '../shared/form-context';\nimport componentStyles from './input.css?inline';\n\n/** Input component properties */\n\nexport type OreInputEvents = {\n change: { originalEvent: Event; value: string };\n input: { originalEvent: Event; value: string };\n};\n\nexport type OreInputProps = TextFieldProps<Exclude<VisualVariant, 'frost'>> & {\n /** Autocomplete hint */\n autocomplete?: string;\n /** Show a clear (×) button when the field has a value */\n clearable?: boolean;\n /** Virtual keyboard hint for mobile devices */\n inputmode?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';\n /** Maximum character length — shows a counter below the input */\n maxlength?: number;\n /** Minimum character length */\n minlength?: number;\n /** HTML pattern attribute for client-side validation */\n pattern?: string;\n /**\n * JS-only callback fired with the inner `<input>` element when it mounts,\n * and with `null` when it unmounts. Intended for composed components that\n * need imperative access to the raw input element.\n * Set as a JS property: `bitInput.ref = (el) => { ... }`.\n */\n ref?: ((el: HTMLInputElement | null) => void) | null;\n /** HTML input type */\n type?: InputType;\n};\n\nconst VALID_INPUT_TYPES = [\n 'text',\n 'email',\n 'password',\n 'search',\n 'url',\n 'tel',\n 'number',\n 'date',\n 'time',\n 'datetime-local',\n 'month',\n 'week',\n] as const;\n\n/**\n * A customizable text input component with multiple variants, label placements, and form features.\n *\n * @element ore-input\n *\n * @attr {string} label - Label text\n * @attr {string} label-placement - Label placement: 'inset' | 'outside'\n * @attr {string} type - HTML input type: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search'\n * @attr {string} value - Current input value\n * @attr {string} placeholder - Placeholder text\n * @attr {string} name - Form field name\n * @attr {string} helper - Helper text displayed below the input (fallback when the `helper` slot is empty)\n * @attr {string} error - Error message — marks the field as invalid (fallback when the `error` slot is empty)\n * @attr {boolean} disabled - Disable input interaction\n * @attr {boolean} readonly - Make the input read-only\n * @attr {boolean} required - Mark the field as required\n * @attr {string} color - Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'\n * @attr {string} variant - Visual variant: 'solid' | 'flat' | 'bordered' | 'outline' | 'ghost' | 'text'\n * @attr {string} size - Input size: 'sm' | 'md' | 'lg'\n * @attr {string} rounded - Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'\n *\n * @fires input - Emitted when input value changes (on every keystroke). detail: { value: string; originalEvent: Event }\n * @fires change - Emitted when input loses focus with changed value. detail: { value: string; originalEvent: Event }\n *\n * @slot prefix - Content before the input (e.g., icons)\n * @slot suffix - Content after the input (e.g., clear button, validation icon)\n * @slot label - Replaces the label text — slotted content takes precedence over the `label` prop\n * @slot helper - Replaces the helper text — slotted content takes precedence over the `helper` prop\n * @slot error - Replaces the error text — slotted content takes precedence over the `error` prop\n *\n * @part wrapper - The input wrapper element\n * @part label - The label element (inset or outside)\n * @part field - The field container element\n * @part input-row - The input row container element\n * @part input - The input element\n * @part helper - The helper text element\n *\n * @cssprop --input-bg - Background color\n * @cssprop --input-color - Text color\n * @cssprop --input-border-color - Border color\n * @cssprop --input-placeholder-color - Placeholder text color\n * @cssprop --input-radius - Border radius\n * @cssprop --input-padding - Inner padding (block inline)\n * @cssprop --input-gap - Gap between prefix/suffix icons and input text\n * @cssprop --input-font-size - Font size\n * @cssprop --input-height - Field height\n * @cssprop --input-hover-bg - Field background on hover (flat/ghost variants)\n * @cssprop --input-hover-border-color - Field border on hover (flat/bordered variants)\n * @cssprop --input-focus-bg - Field background when focused (flat variant)\n * @cssprop --input-focus-border-color - Field border when focused (flat/text variants)\n *\n * @example\n * ```html\n * <ore-input type=\"email\" label=\"Email\" placeholder=\"you@example.com\" />\n * <ore-input label=\"Name\" variant=\"bordered\" color=\"primary\" />\n * ```\n */\nexport const INPUT_TAG = 'ore-input' as const;\ndefine<OreInputProps>(INPUT_TAG, {\n formAssociated: true,\n props: {\n ...themableBundle,\n ...sizableBundle,\n ...disablableBundle,\n ...roundableBundle,\n autocomplete: prop.string(),\n clearable: prop.bool(false),\n error: prop.string(),\n fullwidth: prop.bool(false),\n helper: prop.string(),\n inputmode: prop.string<'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'>(),\n label: prop.string(),\n 'label-placement': prop.oneOf(['inset', 'outside'] as const, 'inset'),\n maxlength: prop.json(undefined as number | undefined),\n minlength: prop.json(undefined as number | undefined),\n name: prop.string(),\n pattern: prop.string(),\n placeholder: prop.string(),\n readonly: prop.bool(false),\n ref: prop.json(undefined as ((el: HTMLInputElement | null) => void) | null | undefined),\n required: prop.bool(false),\n type: prop.oneOf(VALID_INPUT_TYPES, 'text'),\n value: prop.string(),\n variant: prop.string<'flat' | 'text' | 'solid' | 'bordered' | 'outline' | 'ghost'>(),\n },\n setup(props) {\n const emit = useEmit<OreInputEvents>();\n const slots = useSlots();\n\n const formCtx = inject(FORM_CTX);\n const fCtxProps = useFormContext(props, formCtx);\n const showPassword = signal(false);\n const inputRef = ref<HTMLInputElement>();\n\n const hasLabel = computed(() => !!props.label.value || slots.has('label').value);\n\n const abortSignal = lifecycleSignal(onCleanup);\n let _formField: { reportValidity(): void } | null = null;\n const tf = createTextField({\n disabled: fCtxProps.disabled,\n error: props.error,\n getFormField: () => _formField,\n hasLabel,\n helper: props.helper,\n label: props.label,\n labelPlacement: props['label-placement'],\n maxLength: props.maxlength,\n onChange: (event: Event, value: string) => {\n emit('change', { originalEvent: event, value });\n },\n onInput: (event: Event, value: string) => {\n emit('input', { originalEvent: event, value });\n },\n prefix: 'input',\n signal: abortSignal,\n validateOn: formCtx?.validateOn,\n value: props.value,\n });\n\n _formField = useField<string>({ disabled: tf.disabled, toFormValue: (v) => v, value: tf.value });\n\n const {\n ariaDescribedBy,\n ariaErrorMessage,\n ariaInvalid,\n ariaLabelledBy,\n assistiveId,\n clear: clearValue,\n counter,\n errorId,\n errorText,\n fieldId: inputId,\n helperText,\n labelId,\n labelVisible,\n value: fieldValue,\n wire,\n } = tf;\n\n onElement(inputRef, (el) => {\n wire(el, abortSignal);\n\n // Immediate fire for when the prop is already set on mount.\n props.ref.value?.(el);\n\n // Reactive watcher so that if props.ref is set *after* the inner\n // <input> mounts (e.g. parent sets it via a ref callback after render),\n // the new callback still receives the live element.\n const sub = watch(props.ref, (cb) => {\n cb?.(el);\n });\n\n return () => {\n sub.dispose();\n props.ref.value?.(null);\n };\n });\n\n const clear = (event?: Event): void => {\n clearValue(event);\n inputRef.value?.focus();\n };\n\n const resolvedInputType = (): string =>\n props.type.value === 'password' && showPassword.value ? 'text' : (props.type.value ?? 'text');\n\n bind({\n attr: {\n error: () => errorText.value || undefined,\n 'has-value': () => (fieldValue.value ? true : undefined),\n size: fCtxProps.size,\n variant: fCtxProps.variant,\n },\n });\n\n const labelHidden = () => !labelVisible.value;\n const passwordToggleLabel = () => (showPassword.value ? 'Hide password' : 'Show password');\n const passwordTogglePressed = () => String(showPassword.value);\n const passwordToggleIcon = () =>\n showPassword.value\n ? html`<ore-icon name=\"eye-off\" size=\"14\" stroke-width=\"2\" aria-hidden=\"true\"></ore-icon>`\n : html`<ore-icon name=\"eye\" size=\"14\" stroke-width=\"2\" aria-hidden=\"true\"></ore-icon>`;\n const helperHidden = () => !!errorText.value || !helperText.value;\n const errorHidden = () => !errorText.value;\n const counterNearLimit = () => (counter?.value.counterNearLimit && !counter?.value.counterAtLimit ? '' : null);\n const counterAtLimit = () => (counter?.value.counterAtLimit ? '' : null);\n const counterHidden = () => !counter;\n const counterText = () => counter?.value.counterText ?? '';\n\n const clearTabIndex = () => (fieldValue.value ? '0' : '-1');\n const pwdToggleTabIndex = () => (props.type.value === 'password' ? '0' : '-1');\n\n const togglePassword = () => {\n showPassword.value = !showPassword.value;\n inputRef.value?.focus();\n };\n\n return html`\n <div class=\"input-wrapper\" part=\"wrapper\">\n <label class=\"label\" for=\"${inputId}\" id=\"${labelId}\" part=\"label\" ?hidden=\"${labelHidden}\"\n ><slot name=\"label\">${props.label}</slot></label\n >\n <div class=\"field\" part=\"field\">\n <div class=\"input-row\" part=\"input-row\">\n <slot name=\"prefix\"></slot>\n <input\n part=\"input\"\n id=\"${inputId}\"\n :type=\"${resolvedInputType}\"\n :name=\"${props.name}\"\n :placeholder=\"${props.placeholder}\"\n :autocomplete=\"${props.autocomplete}\"\n :inputmode=\"${props.inputmode}\"\n :maxlength=\"${props.maxlength}\"\n :minlength=\"${props.minlength}\"\n :pattern=\"${props.pattern}\"\n ?disabled=\"${props.disabled}\"\n ?readonly=\"${props.readonly}\"\n ?required=\"${props.required}\"\n :value=\"${live(fieldValue)}\"\n :aria-labelledby=\"${ariaLabelledBy}\"\n :aria-describedby=\"${ariaDescribedBy}\"\n :aria-errormessage=\"${ariaErrorMessage}\"\n :aria-invalid=\"${ariaInvalid}\"\n ref=\"${inputRef}\" />\n <slot name=\"suffix\"></slot>\n <button\n class=\"pwd-toggle-btn\"\n part=\"pwd-toggle\"\n type=\"button\"\n :aria-label=\"${passwordToggleLabel}\"\n :aria-pressed=\"${passwordTogglePressed}\"\n :tabindex=\"${pwdToggleTabIndex}\"\n @click=\"${togglePassword}\">\n ${passwordToggleIcon}\n </button>\n <button\n aria-label=\"Clear\"\n class=\"clear-btn\"\n part=\"clear\"\n type=\"button\"\n :tabindex=\"${clearTabIndex}\"\n @click=\"${clear}\">\n <ore-icon aria-hidden=\"true\" name=\"x\" size=\"12\" stroke-width=\"2.5\"></ore-icon>\n </button>\n </div>\n </div>\n <div class=\"helper-text\" aria-live=\"polite\" id=\"${assistiveId}\" part=\"helper\" ?hidden=\"${helperHidden}\">\n <slot name=\"helper\">${() => helperText.value}</slot>\n </div>\n <div class=\"helper-text\" id=\"${errorId}\" role=\"alert\" part=\"error\" ?hidden=\"${errorHidden}\">\n <slot name=\"error\">${() => errorText.value}</slot>\n </div>\n <div\n class=\"char-counter\"\n part=\"char-counter\"\n :data-near-limit=\"${counterNearLimit}\"\n :data-at-limit=\"${counterAtLimit}\"\n ?hidden=\"${counterHidden}\">\n ${counterText}\n </div>\n </div>\n `;\n },\n shadow: { delegatesFocus: true },\n styles: [...fieldMixins, sizeVariantMixin(FIELD_SIZE_PRESET), forcedColorsFocusMixin('input'), componentStyles],\n});\n"],"mappings":";;;;;;;;;;;;;;;;AA8CA,IAAM,IAAoB;CACxB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,GA2Da,IAAY;AACzB,EAAsB,GAAW;CAC/B,gBAAgB;CAChB,OAAO;EACL,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH,cAAc,EAAK,OAAO;EAC1B,WAAW,EAAK,KAAK,EAAK;EAC1B,OAAO,EAAK,OAAO;EACnB,WAAW,EAAK,KAAK,EAAK;EAC1B,QAAQ,EAAK,OAAO;EACpB,WAAW,EAAK,OAAqF;EACrG,OAAO,EAAK,OAAO;EACnB,mBAAmB,EAAK,MAAM,CAAC,SAAS,SAAS,GAAY,OAAO;EACpE,WAAW,EAAK,KAAK,KAAA,CAA+B;EACpD,WAAW,EAAK,KAAK,KAAA,CAA+B;EACpD,MAAM,EAAK,OAAO;EAClB,SAAS,EAAK,OAAO;EACrB,aAAa,EAAK,OAAO;EACzB,UAAU,EAAK,KAAK,EAAK;EACzB,KAAK,EAAK,KAAK,KAAA,CAAuE;EACtF,UAAU,EAAK,KAAK,EAAK;EACzB,MAAM,EAAK,MAAM,GAAmB,MAAM;EAC1C,OAAO,EAAK,OAAO;EACnB,SAAS,EAAK,OAAqE;CACrF;CACA,MAAM,GAAO;EACX,IAAM,IAAO,EAAwB,GAC/B,IAAQ,EAAS,GAEjB,IAAU,EAAO,CAAQ,GACzB,IAAY,EAAe,GAAO,CAAO,GACzC,IAAe,EAAO,EAAK,GAC3B,IAAW,EAAsB,GAEjC,IAAW,QAAe,CAAC,CAAC,EAAM,MAAM,SAAS,EAAM,IAAI,OAAO,CAAC,CAAC,KAAK,GAEzE,IAAc,EAAgB,CAAS,GACzC,IAAgD,MAC9C,IAAK,EAAgB;GACzB,UAAU,EAAU;GACpB,OAAO,EAAM;GACb,oBAAoB;GACpB;GACA,QAAQ,EAAM;GACd,OAAO,EAAM;GACb,gBAAgB,EAAM;GACtB,WAAW,EAAM;GACjB,WAAW,GAAc,MAAkB;IACzC,EAAK,UAAU;KAAE,eAAe;KAAO;IAAM,CAAC;GAChD;GACA,UAAU,GAAc,MAAkB;IACxC,EAAK,SAAS;KAAE,eAAe;KAAO;IAAM,CAAC;GAC/C;GACA,QAAQ;GACR,QAAQ;GACR,YAAY,GAAS;GACrB,OAAO,EAAM;EACf,CAAC;EAED,IAAa,EAAiB;GAAE,UAAU,EAAG;GAAU,cAAc,MAAM;GAAG,OAAO,EAAG;EAAM,CAAC;EAE/F,IAAM,EACJ,oBACA,qBACA,gBACA,mBACA,gBACA,OAAO,GACP,YACA,YACA,cACA,SAAS,GACT,eACA,YACA,iBACA,OAAO,GACP,YACE;EA4DJ,OA1DA,EAAU,IAAW,MAAO;GAI1B,AAHA,EAAK,GAAI,CAAW,GAGpB,EAAM,IAAI,QAAQ,CAAE;GAKpB,IAAM,IAAM,EAAM,EAAM,MAAM,MAAO;IACnC,IAAK,CAAE;GACT,CAAC;GAED,aAAa;IAEX,AADA,EAAI,QAAQ,GACZ,EAAM,IAAI,QAAQ,IAAI;GACxB;EACF,CAAC,GAUD,EAAK,EACH,MAAM;GACJ,aAAa,EAAU,SAAS,KAAA;GAChC,mBAAoB,EAAW,QAAQ,KAAO,KAAA;GAC9C,MAAM,EAAU;GAChB,SAAS,EAAU;EACrB,EACF,CAAC,GAwBM,CAAI;;oCAEqB,EAAQ,QAAQ,EAAQ,gCAxB9B,CAAC,EAAa,MAwBsD;gCAClE,EAAM,MAAM;;;;;;;oBAOxB,EAAQ;6BA3CtB,EAAM,KAAK,UAAU,cAAc,EAAa,QAAQ,SAAU,EAAM,KAAK,SAAS,OA4CnD;uBAClB,EAAM,KAAK;8BACJ,EAAM,YAAY;+BACjB,EAAM,aAAa;4BACtB,EAAM,UAAU;4BAChB,EAAM,UAAU;4BAChB,EAAM,UAAU;0BAClB,EAAM,QAAQ;2BACb,EAAM,SAAS;2BACf,EAAM,SAAS;2BACf,EAAM,SAAS;wBAClB,EAAK,CAAU,EAAE;kCACP,EAAe;mCACd,EAAgB;oCACf,EAAiB;+BACtB,EAAY;qBACtB,EAAS;;;;;;mCAhDS,EAAa,QAAQ,kBAAkB,gBAsD7B;qCArDT,OAAO,EAAa,KAAK,EAsDZ;iCAzChB,EAAM,KAAK,UAAU,aAAa,MAAM,KA0ChC;8BAxCZ;GAE3B,AADA,EAAa,QAAQ,CAAC,EAAa,OACnC,EAAS,OAAO,MAAM;EACxB,EAsCmC;sBAtDjC,EAAa,QACT,CAAI,uFACJ,CAAI,iFAqDqB;;;;;;;iCA7CF,EAAW,QAAQ,MAAM,KAoDjB;yBAnFtB,MAAwB;GAErC,AADA,EAAW,CAAK,GAChB,EAAS,OAAO,MAAM;EACxB,EAiF0B;;;;;0DAK4B,EAAY,iCAjEvC,CAAC,CAAC,EAAU,SAAS,CAAC,EAAW,MAiE8C;sCACxE,EAAW,MAAM;;uCAEhB,EAAQ,6CAnEjB,CAAC,EAAU,MAmEyD;qCAC7D,EAAU,MAAM;;;;;oCAnEjB,GAAS,MAAM,oBAAoB,CAAC,GAAS,MAAM,iBAAiB,KAAK,KAwE9D;kCAvEb,GAAS,MAAM,iBAAiB,KAAK,KAwE5B;2BAvEX,CAAC,EAwEE;kBAvEL,GAAS,MAAM,eAAe,GAwEpC;;;;CAItB;CACA,QAAQ,EAAE,gBAAgB,GAAK;CAC/B,QAAQ;EAAC,GAAG;EAAa,EAAiB,CAAiB;EAAG,EAAuB,OAAO;EAAG;CAAe;AAChH,CAAC"}
@@ -0,0 +1,2 @@
1
+ var e=`@layer refine.base{:host{--_bg:var(--button-bg,var(--color-contrast-100));--_color:var(--button-color,var(--color-contrast-900));--_border-color:var(--button-border-color,var(--color-contrast-300));--_radius:var(--button-radius,var(--rounded-lg));align-items:center;justify-content:var(--button-justify,center);display:inline-flex}:host([disabled]) a,:host([loading]) a{pointer-events:none;cursor:not-allowed}:host([loading]) a{cursor:wait}[part=button]{box-sizing:border-box;gap:var(--_gap,var(--size-2));align-items:center;justify-content:var(--button-justify,center);width:100%;min-width:0;height:var(--_height,var(--size-10));min-height:var(--_touch-target);padding:var(--_padding,var(--size-2) var(--size-4));font-size:var(--_font-size,var(--text-sm));font-weight:var(--font-medium);line-height:var(--_line-height,var(--leading-normal));color:var(--_color);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--_bg);border:var(--button-border,var(--border)) solid var(--_border-color);border-top-width:var(--button-border-top,var(--button-border,var(--border)));border-bottom-width:var(--button-border-bottom,var(--button-border,var(--border)));border-radius:var(--_radius);transition:var(--_motion-transition,background var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), color var(--transition-normal), transform .12s var(--ease-spring));display:flex;position:relative}[part=button]:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left-width:var(--button-border-start,var(--button-border,var(--border)));border-right-width:var(--button-border-end,var(--button-border,var(--border)))}[part=button]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-right-width:var(--button-border-start,var(--button-border,var(--border)));border-left-width:var(--button-border-end,var(--button-border,var(--border)))}[part=button]:focus-visible{outline:none}@keyframes spin{to{transform:rotate(360deg)}}.loader{border:var(--border-2) solid currentcolor;width:1em;height:1em;animation:var(--_motion-animation,spin var(--transition-loader) infinite);border-radius:50%;position:absolute}.loader:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-right-color:#0000}.loader:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left-color:#0000}.content{text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;align-items:center;min-width:0;max-width:100%;display:inline-flex;overflow:hidden}::slotted([slot=prefix]),::slotted([slot=suffix]){flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}::slotted(svg){width:var(--_icon-size,var(--leading-6));height:var(--_icon-size,var(--leading-6));flex-shrink:0}}@layer refine.overrides{:host([fullwidth]){width:100%;display:flex}:host([rounded][icon-only]) [part=button]{border-radius:50%}:host([loading]) .content{visibility:hidden}[part=button]:focus-visible{box-shadow:var(--_theme-shadow), var(--_theme-halo);outline:none}[part=button]:hover,[part=button]:active{border-color:var(--_hover-border-color,var(--_theme-focus));box-shadow:var(--_theme-shadow), var(--_theme-halo)}:host([variant=ghost]) [part=button]:hover,:host([variant=text]) [part=button]:hover{box-shadow:none;border-color:#0000;transform:none}:host([variant=ghost]) [part=button]:active,:host([variant=text]) [part=button]:active{box-shadow:none;border-color:#0000}[part=button]:active{transform:translateY(1px)}}@layer refine.variants{:host([icon-only]) [part=button]{aspect-ratio:1;padding:0}:host(:not([variant])),:host([variant=solid]){--_bg:var(--button-bg,var(--_theme-base));--_color:var(--button-color,var(--_theme-contrast));--_border-color:var(--button-border-color,var(--_theme-base));--_hover-bg:var(--_theme-focus);--_active-bg:color-mix(in oklch, var(--_theme-focus) 85%, black);--_active-color:var(--_theme-contrast)}:host([variant=flat]){--_bg:var(--button-bg,color-mix(in oklch, var(--_theme-backdrop) 25%, var(--color-contrast-100)));--_color:var(--button-color,var(--_theme-base));--_border-color:var(--button-border-color,color-mix(in oklch, var(--_theme-focus) 20%, transparent));--_hover-bg:var(--_theme-focus);--_hover-color:var(--_theme-contrast);--_active-bg:color-mix(in oklch, var(--_theme-focus) 85%, black);--_active-color:var(--_theme-contrast)}:host([variant=flat]) [part=button]{box-shadow:var(--inset-shadow-2xs)}:host([variant=flat]) [part=button]:hover{box-shadow:var(--inset-shadow-xs)}:host([variant=flat]) [part=button]:active{box-shadow:var(--inset-shadow-sm)}:host([variant=bordered]){--_bg:var(--button-bg,var(--_theme-backdrop));--_color:var(--button-color,var(--_theme-base));--_border-color:var(--button-border-color,var(--_theme-border));--_hover-bg:var(--_theme-focus);--_hover-color:var(--_theme-contrast);--_hover-border-color:var(--_theme-focus);--_active-bg:color-mix(in oklch, var(--_theme-focus) 85%, black);--_active-color:var(--_theme-contrast)}:host([variant=bordered]) [part=button],:host([variant=bordered]) [part=button]:hover{box-shadow:var(--inset-shadow-xs)}:host([variant=bordered]) [part=button]:active{box-shadow:var(--inset-shadow-sm)}:host([variant=outline]){--_bg:var(--button-bg,transparent);--_color:var(--button-color,var(--_theme-base));--_border-color:var(--button-border-color,var(--_theme-base));--_hover-bg:var(--_theme-backdrop);--_hover-border-color:var(--_theme-focus);--_active-bg:color-mix(in oklch, var(--_theme-base) 85%, black);--_active-color:var(--_theme-contrast)}:host([variant=ghost]){--_bg:var(--button-bg,transparent);--_color:var(--button-color,var(--_theme-base));--_border-color:var(--button-border-color,transparent);--_hover-bg:var(--_theme-backdrop);--_active-bg:color-mix(in oklch, var(--_theme-base) 85%, black);--_active-color:var(--_theme-contrast)}:host([variant=ghost]) [part=button]{border-width:0}:host([variant=text]){--_bg:var(--button-bg,transparent);--_color:var(--button-color,var(--_theme-base));--_border-color:var(--button-border-color,transparent);--_hover-color:var(--_theme-focus);--_active-color:color-mix(in oklch, var(--_theme-focus) 85%, black)}:host([variant=text]) [part=button]{border-width:0}:host([variant=frost]:not([color])){--_hover-bg:var(--button-frost-active-bg,color-mix(in oklch, var(--color-canvas) 70%, transparent));--_hover-border-color:var(--button-frost-active-border-color,color-mix(in oklch, var(--_theme-focus) 40%, transparent));--_active-bg:var(--button-frost-active-bg,color-mix(in oklch, var(--color-canvas) 70%, transparent));--_active-border-color:var(--button-frost-active-border-color,color-mix(in oklch, var(--_theme-focus) 40%, transparent))}:host([variant=frost][color]){--_hover-bg:var(--button-frost-active-bg,color-mix(in oklch, var(--_theme-backdrop) 50%, var(--_theme-base) 50%));--_hover-border-color:var(--button-frost-active-border-color,color-mix(in oklch, var(--_theme-focus) 65%, transparent));--_active-bg:var(--button-frost-active-bg,color-mix(in oklch, var(--_theme-backdrop) 50%, var(--_theme-base) 50%));--_active-border-color:var(--button-frost-active-border-color,color-mix(in oklch, var(--_theme-focus) 65%, transparent))}[part=button]:hover{color:var(--_hover-color,var(--_color));background:var(--_hover-bg,var(--_bg));border-color:var(--_hover-border-color,var(--_border-color))}[part=button]:active{color:var(--_active-color,var(--_color));background:var(--_active-bg,var(--_bg));border-color:var(--_active-border-color,var(--_border-color));box-shadow:var(--inset-shadow-2xs)}}`;exports.default=e;
2
+ //# sourceMappingURL=button.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.css.cjs","names":[],"sources":["../../../src/inputs/button/button.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_bg: var(--button-bg, var(--color-contrast-100));\n --_color: var(--button-color, var(--color-contrast-900));\n --_border-color: var(--button-border-color, var(--color-contrast-300));\n --_radius: var(--button-radius, var(--rounded-lg));\n\n display: inline-flex;\n align-items: center;\n justify-content: var(--button-justify, center);\n }\n\n /* Link mode: disable pointer interaction on the inner <a> while disabled/loading. */\n :host([disabled]) a,\n :host([loading]) a {\n pointer-events: none;\n cursor: not-allowed;\n }\n\n :host([loading]) a {\n cursor: wait;\n }\n\n [part='button'] {\n position: relative;\n box-sizing: border-box;\n display: flex;\n gap: var(--_gap, var(--size-2));\n align-items: center;\n justify-content: var(--button-justify, center);\n width: 100%;\n min-width: 0;\n height: var(--_height, var(--size-10));\n min-height: var(--_touch-target);\n padding: var(--_padding, var(--size-2) var(--size-4));\n font-size: var(--_font-size, var(--text-sm));\n font-weight: var(--font-medium);\n line-height: var(--_line-height, var(--leading-normal));\n color: var(--_color);\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n background: var(--_bg);\n border: var(--button-border, var(--border)) solid var(--_border-color);\n border-block-start-width: var(--button-border-top, var(--button-border, var(--border)));\n border-block-end-width: var(--button-border-bottom, var(--button-border, var(--border)));\n border-inline-start-width: var(--button-border-start, var(--button-border, var(--border)));\n border-inline-end-width: var(--button-border-end, var(--button-border, var(--border)));\n border-radius: var(--_radius);\n transition: var(\n --_motion-transition,\n background var(--transition-normal),\n border-color var(--transition-normal),\n box-shadow var(--transition-normal),\n color var(--transition-normal),\n transform 120ms var(--ease-spring)\n );\n }\n\n [part='button']:focus-visible {\n outline: none;\n }\n\n /* Keyframe must live in shadow DOM — @keyframes don't inherit across shadow roots */\n @keyframes spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n .loader {\n position: absolute;\n width: 1em;\n height: 1em;\n border: var(--border-2) solid currentcolor;\n border-inline-end-color: transparent;\n border-radius: 50%;\n animation: var(--_motion-animation, spin var(--transition-loader) infinite);\n }\n\n .content {\n display: inline-flex;\n align-items: center;\n min-width: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n vertical-align: middle;\n white-space: nowrap;\n }\n\n ::slotted([slot='prefix']),\n ::slotted([slot='suffix']) {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n }\n\n ::slotted(svg) {\n flex-shrink: 0;\n width: var(--_icon-size, var(--leading-6));\n height: var(--_icon-size, var(--leading-6));\n }\n}\n\n@layer refine.overrides {\n :host([fullwidth]) {\n display: flex;\n width: 100%;\n }\n\n /* Icon-only always uses perfect circle */\n :host([rounded][icon-only]) [part='button'] {\n border-radius: 50%;\n }\n\n :host([loading]) .content {\n visibility: hidden;\n }\n}\n\n@layer refine.variants {\n :host([icon-only]) [part='button'] {\n aspect-ratio: 1;\n padding: 0;\n }\n\n /* ── Per-variant token assignments ─────────────────────────────────────────\n Each variant sets --_bg/--_color/--_border-color (consuming the public\n --button-* tokens as overrides) plus optional --_hover-* / --_active-*\n tokens for interactive states.\n The shared :is(button, a):hover / :active rules below read these tokens.\n ─────────────────────────────────────────────────────────────────────── */\n\n /* Solid (Default) */\n :host(:not([variant])),\n :host([variant='solid']) {\n --_bg: var(--button-bg, var(--_theme-base));\n --_color: var(--button-color, var(--_theme-contrast));\n --_border-color: var(--button-border-color, var(--_theme-base));\n --_hover-bg: var(--_theme-focus);\n --_active-bg: color-mix(in oklch, var(--_theme-focus) 85%, black);\n --_active-color: var(--_theme-contrast);\n }\n\n /* Flat */\n :host([variant='flat']) {\n --_bg: var(--button-bg, color-mix(in oklch, var(--_theme-backdrop) 25%, var(--color-contrast-100)));\n --_color: var(--button-color, var(--_theme-base));\n --_border-color: var(--button-border-color, color-mix(in oklch, var(--_theme-focus) 20%, transparent));\n --_hover-bg: var(--_theme-focus);\n --_hover-color: var(--_theme-contrast);\n --_active-bg: color-mix(in oklch, var(--_theme-focus) 85%, black);\n --_active-color: var(--_theme-contrast);\n }\n\n :host([variant='flat']) [part='button'] {\n box-shadow: var(--inset-shadow-2xs);\n }\n\n :host([variant='flat']) [part='button']:hover {\n box-shadow: var(--inset-shadow-xs);\n }\n\n :host([variant='flat']) [part='button']:active {\n box-shadow: var(--inset-shadow-sm);\n }\n\n /* Bordered */\n :host([variant='bordered']) {\n --_bg: var(--button-bg, var(--_theme-backdrop));\n --_color: var(--button-color, var(--_theme-base));\n --_border-color: var(--button-border-color, var(--_theme-border));\n --_hover-bg: var(--_theme-focus);\n --_hover-color: var(--_theme-contrast);\n --_hover-border-color: var(--_theme-focus);\n --_active-bg: color-mix(in oklch, var(--_theme-focus) 85%, black);\n --_active-color: var(--_theme-contrast);\n }\n\n :host([variant='bordered']) [part='button'] {\n box-shadow: var(--inset-shadow-xs);\n }\n\n :host([variant='bordered']) [part='button']:hover {\n box-shadow: var(--inset-shadow-xs);\n }\n\n :host([variant='bordered']) [part='button']:active {\n box-shadow: var(--inset-shadow-sm);\n }\n\n /* Outline */\n :host([variant='outline']) {\n --_bg: var(--button-bg, transparent);\n --_color: var(--button-color, var(--_theme-base));\n --_border-color: var(--button-border-color, var(--_theme-base));\n --_hover-bg: var(--_theme-backdrop);\n --_hover-border-color: var(--_theme-focus);\n --_active-bg: color-mix(in oklch, var(--_theme-base) 85%, black);\n --_active-color: var(--_theme-contrast);\n }\n\n /* Ghost */\n :host([variant='ghost']) {\n --_bg: var(--button-bg, transparent);\n --_color: var(--button-color, var(--_theme-base));\n --_border-color: var(--button-border-color, transparent);\n --_hover-bg: var(--_theme-backdrop);\n --_active-bg: color-mix(in oklch, var(--_theme-base) 85%, black);\n --_active-color: var(--_theme-contrast);\n }\n\n :host([variant='ghost']) [part='button'] {\n border-width: 0;\n }\n\n /* Text */\n :host([variant='text']) {\n --_bg: var(--button-bg, transparent);\n --_color: var(--button-color, var(--_theme-base));\n --_border-color: var(--button-border-color, transparent);\n --_hover-color: var(--_theme-focus);\n --_active-color: color-mix(in oklch, var(--_theme-focus) 85%, black);\n }\n\n :host([variant='text']) [part='button'] {\n border-width: 0;\n }\n\n /* Frost — sets its own interactive tokens so the shared rules below apply uniformly */\n :host([variant='frost']:not([color])) {\n --_hover-bg: var(--button-frost-active-bg, color-mix(in oklch, var(--color-canvas) 70%, transparent));\n --_hover-border-color: var(\n --button-frost-active-border-color,\n color-mix(in oklch, var(--_theme-focus) 40%, transparent)\n );\n --_active-bg: var(--button-frost-active-bg, color-mix(in oklch, var(--color-canvas) 70%, transparent));\n --_active-border-color: var(\n --button-frost-active-border-color,\n color-mix(in oklch, var(--_theme-focus) 40%, transparent)\n );\n }\n\n :host([variant='frost'][color]) {\n --_hover-bg: var(--button-frost-active-bg, color-mix(in oklch, var(--_theme-backdrop) 50%, var(--_theme-base) 50%));\n --_hover-border-color: var(\n --button-frost-active-border-color,\n color-mix(in oklch, var(--_theme-focus) 65%, transparent)\n );\n --_active-bg: var(\n --button-frost-active-bg,\n color-mix(in oklch, var(--_theme-backdrop) 50%, var(--_theme-base) 50%)\n );\n --_active-border-color: var(\n --button-frost-active-border-color,\n color-mix(in oklch, var(--_theme-focus) 65%, transparent)\n );\n }\n\n /* ── Shared interactive states — all variants use --_* tokens set above ── */\n\n [part='button']:hover {\n color: var(--_hover-color, var(--_color));\n background: var(--_hover-bg, var(--_bg));\n border-color: var(--_hover-border-color, var(--_border-color));\n }\n\n [part='button']:active {\n color: var(--_active-color, var(--_color));\n background: var(--_active-bg, var(--_bg));\n border-color: var(--_active-border-color, var(--_border-color));\n box-shadow: var(--inset-shadow-2xs);\n }\n}\n\n@layer refine.overrides {\n /* Focus ring — keyboard navigation only; combines focus shadow + halo to avoid shadow pop */\n [part='button']:focus-visible {\n outline: none;\n box-shadow: var(--_theme-shadow), var(--_theme-halo);\n }\n\n /* Hover depth — halo border effect matching ore-input focus style */\n [part='button']:hover,\n [part='button']:active {\n border-color: var(--_hover-border-color, var(--_theme-focus));\n box-shadow: var(--_theme-shadow), var(--_theme-halo);\n }\n\n /* Ghost + Text variants: no border/shadow decoration on hover */\n :host([variant='ghost']) [part='button']:hover,\n :host([variant='text']) [part='button']:hover {\n border-color: transparent;\n box-shadow: none;\n transform: none;\n }\n\n /* ...nor on :active — stay borderless even though the shared rule above now\n adds a halo to :active too (physical press transform below still applies,\n this only cancels border-color/box-shadow). */\n :host([variant='ghost']) [part='button']:active,\n :host([variant='text']) [part='button']:active {\n border-color: transparent;\n box-shadow: none;\n }\n\n /* Physical press feedback */\n [part='button']:active {\n transform: translateY(1px);\n }\n}\n"],"mappings":""}
@@ -0,0 +1,6 @@
1
+ //#region src/inputs/button/button.css?inline
2
+ var e = "@layer refine.base{:host{--_bg:var(--button-bg,var(--color-contrast-100));--_color:var(--button-color,var(--color-contrast-900));--_border-color:var(--button-border-color,var(--color-contrast-300));--_radius:var(--button-radius,var(--rounded-lg));align-items:center;justify-content:var(--button-justify,center);display:inline-flex}:host([disabled]) a,:host([loading]) a{pointer-events:none;cursor:not-allowed}:host([loading]) a{cursor:wait}[part=button]{box-sizing:border-box;gap:var(--_gap,var(--size-2));align-items:center;justify-content:var(--button-justify,center);width:100%;min-width:0;height:var(--_height,var(--size-10));min-height:var(--_touch-target);padding:var(--_padding,var(--size-2) var(--size-4));font-size:var(--_font-size,var(--text-sm));font-weight:var(--font-medium);line-height:var(--_line-height,var(--leading-normal));color:var(--_color);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--_bg);border:var(--button-border,var(--border)) solid var(--_border-color);border-top-width:var(--button-border-top,var(--button-border,var(--border)));border-bottom-width:var(--button-border-bottom,var(--button-border,var(--border)));border-radius:var(--_radius);transition:var(--_motion-transition,background var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), color var(--transition-normal), transform .12s var(--ease-spring));display:flex;position:relative}[part=button]:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left-width:var(--button-border-start,var(--button-border,var(--border)));border-right-width:var(--button-border-end,var(--button-border,var(--border)))}[part=button]:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-right-width:var(--button-border-start,var(--button-border,var(--border)));border-left-width:var(--button-border-end,var(--button-border,var(--border)))}[part=button]:focus-visible{outline:none}@keyframes spin{to{transform:rotate(360deg)}}.loader{border:var(--border-2) solid currentcolor;width:1em;height:1em;animation:var(--_motion-animation,spin var(--transition-loader) infinite);border-radius:50%;position:absolute}.loader:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-right-color:#0000}.loader:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left-color:#0000}.content{text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;align-items:center;min-width:0;max-width:100%;display:inline-flex;overflow:hidden}::slotted([slot=prefix]),::slotted([slot=suffix]){flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}::slotted(svg){width:var(--_icon-size,var(--leading-6));height:var(--_icon-size,var(--leading-6));flex-shrink:0}}@layer refine.overrides{:host([fullwidth]){width:100%;display:flex}:host([rounded][icon-only]) [part=button]{border-radius:50%}:host([loading]) .content{visibility:hidden}[part=button]:focus-visible{box-shadow:var(--_theme-shadow), var(--_theme-halo);outline:none}[part=button]:hover,[part=button]:active{border-color:var(--_hover-border-color,var(--_theme-focus));box-shadow:var(--_theme-shadow), var(--_theme-halo)}:host([variant=ghost]) [part=button]:hover,:host([variant=text]) [part=button]:hover{box-shadow:none;border-color:#0000;transform:none}:host([variant=ghost]) [part=button]:active,:host([variant=text]) [part=button]:active{box-shadow:none;border-color:#0000}[part=button]:active{transform:translateY(1px)}}@layer refine.variants{:host([icon-only]) [part=button]{aspect-ratio:1;padding:0}:host(:not([variant])),:host([variant=solid]){--_bg:var(--button-bg,var(--_theme-base));--_color:var(--button-color,var(--_theme-contrast));--_border-color:var(--button-border-color,var(--_theme-base));--_hover-bg:var(--_theme-focus);--_active-bg:color-mix(in oklch, var(--_theme-focus) 85%, black);--_active-color:var(--_theme-contrast)}:host([variant=flat]){--_bg:var(--button-bg,color-mix(in oklch, var(--_theme-backdrop) 25%, var(--color-contrast-100)));--_color:var(--button-color,var(--_theme-base));--_border-color:var(--button-border-color,color-mix(in oklch, var(--_theme-focus) 20%, transparent));--_hover-bg:var(--_theme-focus);--_hover-color:var(--_theme-contrast);--_active-bg:color-mix(in oklch, var(--_theme-focus) 85%, black);--_active-color:var(--_theme-contrast)}:host([variant=flat]) [part=button]{box-shadow:var(--inset-shadow-2xs)}:host([variant=flat]) [part=button]:hover{box-shadow:var(--inset-shadow-xs)}:host([variant=flat]) [part=button]:active{box-shadow:var(--inset-shadow-sm)}:host([variant=bordered]){--_bg:var(--button-bg,var(--_theme-backdrop));--_color:var(--button-color,var(--_theme-base));--_border-color:var(--button-border-color,var(--_theme-border));--_hover-bg:var(--_theme-focus);--_hover-color:var(--_theme-contrast);--_hover-border-color:var(--_theme-focus);--_active-bg:color-mix(in oklch, var(--_theme-focus) 85%, black);--_active-color:var(--_theme-contrast)}:host([variant=bordered]) [part=button],:host([variant=bordered]) [part=button]:hover{box-shadow:var(--inset-shadow-xs)}:host([variant=bordered]) [part=button]:active{box-shadow:var(--inset-shadow-sm)}:host([variant=outline]){--_bg:var(--button-bg,transparent);--_color:var(--button-color,var(--_theme-base));--_border-color:var(--button-border-color,var(--_theme-base));--_hover-bg:var(--_theme-backdrop);--_hover-border-color:var(--_theme-focus);--_active-bg:color-mix(in oklch, var(--_theme-base) 85%, black);--_active-color:var(--_theme-contrast)}:host([variant=ghost]){--_bg:var(--button-bg,transparent);--_color:var(--button-color,var(--_theme-base));--_border-color:var(--button-border-color,transparent);--_hover-bg:var(--_theme-backdrop);--_active-bg:color-mix(in oklch, var(--_theme-base) 85%, black);--_active-color:var(--_theme-contrast)}:host([variant=ghost]) [part=button]{border-width:0}:host([variant=text]){--_bg:var(--button-bg,transparent);--_color:var(--button-color,var(--_theme-base));--_border-color:var(--button-border-color,transparent);--_hover-color:var(--_theme-focus);--_active-color:color-mix(in oklch, var(--_theme-focus) 85%, black)}:host([variant=text]) [part=button]{border-width:0}:host([variant=frost]:not([color])){--_hover-bg:var(--button-frost-active-bg,color-mix(in oklch, var(--color-canvas) 70%, transparent));--_hover-border-color:var(--button-frost-active-border-color,color-mix(in oklch, var(--_theme-focus) 40%, transparent));--_active-bg:var(--button-frost-active-bg,color-mix(in oklch, var(--color-canvas) 70%, transparent));--_active-border-color:var(--button-frost-active-border-color,color-mix(in oklch, var(--_theme-focus) 40%, transparent))}:host([variant=frost][color]){--_hover-bg:var(--button-frost-active-bg,color-mix(in oklch, var(--_theme-backdrop) 50%, var(--_theme-base) 50%));--_hover-border-color:var(--button-frost-active-border-color,color-mix(in oklch, var(--_theme-focus) 65%, transparent));--_active-bg:var(--button-frost-active-bg,color-mix(in oklch, var(--_theme-backdrop) 50%, var(--_theme-base) 50%));--_active-border-color:var(--button-frost-active-border-color,color-mix(in oklch, var(--_theme-focus) 65%, transparent))}[part=button]:hover{color:var(--_hover-color,var(--_color));background:var(--_hover-bg,var(--_bg));border-color:var(--_hover-border-color,var(--_border-color))}[part=button]:active{color:var(--_active-color,var(--_color));background:var(--_active-bg,var(--_bg));border-color:var(--_active-border-color,var(--_border-color));box-shadow:var(--inset-shadow-2xs)}}";
3
+ //#endregion
4
+ export { e as default };
5
+
6
+ //# sourceMappingURL=button.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.css.js","names":[],"sources":["../../../src/inputs/button/button.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_bg: var(--button-bg, var(--color-contrast-100));\n --_color: var(--button-color, var(--color-contrast-900));\n --_border-color: var(--button-border-color, var(--color-contrast-300));\n --_radius: var(--button-radius, var(--rounded-lg));\n\n display: inline-flex;\n align-items: center;\n justify-content: var(--button-justify, center);\n }\n\n /* Link mode: disable pointer interaction on the inner <a> while disabled/loading. */\n :host([disabled]) a,\n :host([loading]) a {\n pointer-events: none;\n cursor: not-allowed;\n }\n\n :host([loading]) a {\n cursor: wait;\n }\n\n [part='button'] {\n position: relative;\n box-sizing: border-box;\n display: flex;\n gap: var(--_gap, var(--size-2));\n align-items: center;\n justify-content: var(--button-justify, center);\n width: 100%;\n min-width: 0;\n height: var(--_height, var(--size-10));\n min-height: var(--_touch-target);\n padding: var(--_padding, var(--size-2) var(--size-4));\n font-size: var(--_font-size, var(--text-sm));\n font-weight: var(--font-medium);\n line-height: var(--_line-height, var(--leading-normal));\n color: var(--_color);\n white-space: nowrap;\n cursor: pointer;\n user-select: none;\n background: var(--_bg);\n border: var(--button-border, var(--border)) solid var(--_border-color);\n border-block-start-width: var(--button-border-top, var(--button-border, var(--border)));\n border-block-end-width: var(--button-border-bottom, var(--button-border, var(--border)));\n border-inline-start-width: var(--button-border-start, var(--button-border, var(--border)));\n border-inline-end-width: var(--button-border-end, var(--button-border, var(--border)));\n border-radius: var(--_radius);\n transition: var(\n --_motion-transition,\n background var(--transition-normal),\n border-color var(--transition-normal),\n box-shadow var(--transition-normal),\n color var(--transition-normal),\n transform 120ms var(--ease-spring)\n );\n }\n\n [part='button']:focus-visible {\n outline: none;\n }\n\n /* Keyframe must live in shadow DOM — @keyframes don't inherit across shadow roots */\n @keyframes spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n .loader {\n position: absolute;\n width: 1em;\n height: 1em;\n border: var(--border-2) solid currentcolor;\n border-inline-end-color: transparent;\n border-radius: 50%;\n animation: var(--_motion-animation, spin var(--transition-loader) infinite);\n }\n\n .content {\n display: inline-flex;\n align-items: center;\n min-width: 0;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n vertical-align: middle;\n white-space: nowrap;\n }\n\n ::slotted([slot='prefix']),\n ::slotted([slot='suffix']) {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n }\n\n ::slotted(svg) {\n flex-shrink: 0;\n width: var(--_icon-size, var(--leading-6));\n height: var(--_icon-size, var(--leading-6));\n }\n}\n\n@layer refine.overrides {\n :host([fullwidth]) {\n display: flex;\n width: 100%;\n }\n\n /* Icon-only always uses perfect circle */\n :host([rounded][icon-only]) [part='button'] {\n border-radius: 50%;\n }\n\n :host([loading]) .content {\n visibility: hidden;\n }\n}\n\n@layer refine.variants {\n :host([icon-only]) [part='button'] {\n aspect-ratio: 1;\n padding: 0;\n }\n\n /* ── Per-variant token assignments ─────────────────────────────────────────\n Each variant sets --_bg/--_color/--_border-color (consuming the public\n --button-* tokens as overrides) plus optional --_hover-* / --_active-*\n tokens for interactive states.\n The shared :is(button, a):hover / :active rules below read these tokens.\n ─────────────────────────────────────────────────────────────────────── */\n\n /* Solid (Default) */\n :host(:not([variant])),\n :host([variant='solid']) {\n --_bg: var(--button-bg, var(--_theme-base));\n --_color: var(--button-color, var(--_theme-contrast));\n --_border-color: var(--button-border-color, var(--_theme-base));\n --_hover-bg: var(--_theme-focus);\n --_active-bg: color-mix(in oklch, var(--_theme-focus) 85%, black);\n --_active-color: var(--_theme-contrast);\n }\n\n /* Flat */\n :host([variant='flat']) {\n --_bg: var(--button-bg, color-mix(in oklch, var(--_theme-backdrop) 25%, var(--color-contrast-100)));\n --_color: var(--button-color, var(--_theme-base));\n --_border-color: var(--button-border-color, color-mix(in oklch, var(--_theme-focus) 20%, transparent));\n --_hover-bg: var(--_theme-focus);\n --_hover-color: var(--_theme-contrast);\n --_active-bg: color-mix(in oklch, var(--_theme-focus) 85%, black);\n --_active-color: var(--_theme-contrast);\n }\n\n :host([variant='flat']) [part='button'] {\n box-shadow: var(--inset-shadow-2xs);\n }\n\n :host([variant='flat']) [part='button']:hover {\n box-shadow: var(--inset-shadow-xs);\n }\n\n :host([variant='flat']) [part='button']:active {\n box-shadow: var(--inset-shadow-sm);\n }\n\n /* Bordered */\n :host([variant='bordered']) {\n --_bg: var(--button-bg, var(--_theme-backdrop));\n --_color: var(--button-color, var(--_theme-base));\n --_border-color: var(--button-border-color, var(--_theme-border));\n --_hover-bg: var(--_theme-focus);\n --_hover-color: var(--_theme-contrast);\n --_hover-border-color: var(--_theme-focus);\n --_active-bg: color-mix(in oklch, var(--_theme-focus) 85%, black);\n --_active-color: var(--_theme-contrast);\n }\n\n :host([variant='bordered']) [part='button'] {\n box-shadow: var(--inset-shadow-xs);\n }\n\n :host([variant='bordered']) [part='button']:hover {\n box-shadow: var(--inset-shadow-xs);\n }\n\n :host([variant='bordered']) [part='button']:active {\n box-shadow: var(--inset-shadow-sm);\n }\n\n /* Outline */\n :host([variant='outline']) {\n --_bg: var(--button-bg, transparent);\n --_color: var(--button-color, var(--_theme-base));\n --_border-color: var(--button-border-color, var(--_theme-base));\n --_hover-bg: var(--_theme-backdrop);\n --_hover-border-color: var(--_theme-focus);\n --_active-bg: color-mix(in oklch, var(--_theme-base) 85%, black);\n --_active-color: var(--_theme-contrast);\n }\n\n /* Ghost */\n :host([variant='ghost']) {\n --_bg: var(--button-bg, transparent);\n --_color: var(--button-color, var(--_theme-base));\n --_border-color: var(--button-border-color, transparent);\n --_hover-bg: var(--_theme-backdrop);\n --_active-bg: color-mix(in oklch, var(--_theme-base) 85%, black);\n --_active-color: var(--_theme-contrast);\n }\n\n :host([variant='ghost']) [part='button'] {\n border-width: 0;\n }\n\n /* Text */\n :host([variant='text']) {\n --_bg: var(--button-bg, transparent);\n --_color: var(--button-color, var(--_theme-base));\n --_border-color: var(--button-border-color, transparent);\n --_hover-color: var(--_theme-focus);\n --_active-color: color-mix(in oklch, var(--_theme-focus) 85%, black);\n }\n\n :host([variant='text']) [part='button'] {\n border-width: 0;\n }\n\n /* Frost — sets its own interactive tokens so the shared rules below apply uniformly */\n :host([variant='frost']:not([color])) {\n --_hover-bg: var(--button-frost-active-bg, color-mix(in oklch, var(--color-canvas) 70%, transparent));\n --_hover-border-color: var(\n --button-frost-active-border-color,\n color-mix(in oklch, var(--_theme-focus) 40%, transparent)\n );\n --_active-bg: var(--button-frost-active-bg, color-mix(in oklch, var(--color-canvas) 70%, transparent));\n --_active-border-color: var(\n --button-frost-active-border-color,\n color-mix(in oklch, var(--_theme-focus) 40%, transparent)\n );\n }\n\n :host([variant='frost'][color]) {\n --_hover-bg: var(--button-frost-active-bg, color-mix(in oklch, var(--_theme-backdrop) 50%, var(--_theme-base) 50%));\n --_hover-border-color: var(\n --button-frost-active-border-color,\n color-mix(in oklch, var(--_theme-focus) 65%, transparent)\n );\n --_active-bg: var(\n --button-frost-active-bg,\n color-mix(in oklch, var(--_theme-backdrop) 50%, var(--_theme-base) 50%)\n );\n --_active-border-color: var(\n --button-frost-active-border-color,\n color-mix(in oklch, var(--_theme-focus) 65%, transparent)\n );\n }\n\n /* ── Shared interactive states — all variants use --_* tokens set above ── */\n\n [part='button']:hover {\n color: var(--_hover-color, var(--_color));\n background: var(--_hover-bg, var(--_bg));\n border-color: var(--_hover-border-color, var(--_border-color));\n }\n\n [part='button']:active {\n color: var(--_active-color, var(--_color));\n background: var(--_active-bg, var(--_bg));\n border-color: var(--_active-border-color, var(--_border-color));\n box-shadow: var(--inset-shadow-2xs);\n }\n}\n\n@layer refine.overrides {\n /* Focus ring — keyboard navigation only; combines focus shadow + halo to avoid shadow pop */\n [part='button']:focus-visible {\n outline: none;\n box-shadow: var(--_theme-shadow), var(--_theme-halo);\n }\n\n /* Hover depth — halo border effect matching ore-input focus style */\n [part='button']:hover,\n [part='button']:active {\n border-color: var(--_hover-border-color, var(--_theme-focus));\n box-shadow: var(--_theme-shadow), var(--_theme-halo);\n }\n\n /* Ghost + Text variants: no border/shadow decoration on hover */\n :host([variant='ghost']) [part='button']:hover,\n :host([variant='text']) [part='button']:hover {\n border-color: transparent;\n box-shadow: none;\n transform: none;\n }\n\n /* ...nor on :active — stay borderless even though the shared rule above now\n adds a halo to :active too (physical press transform below still applies,\n this only cancels border-color/box-shadow). */\n :host([variant='ghost']) [part='button']:active,\n :host([variant='text']) [part='button']:active {\n border-color: transparent;\n box-shadow: none;\n }\n\n /* Physical press feedback */\n [part='button']:active {\n transform: translateY(1px);\n }\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/inputs/button/button.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoBlG,eAAO,MAAM,eAAe,6EAA8E,CAAC;AAE3G,iGAAiG;AACjG,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,6CAA6C;AAC7C,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;AAE/C,kCAAkC;AAClC,MAAM,MAAM,cAAc,GAAG;IAC3B,kBAAkB;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,qBAAqB;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,kCAAkC;IAClC,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,iCAAiC;IACjC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,UAAU,EAAG,YAAqB,CAAC"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/inputs/button/button.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoBlG,eAAO,MAAM,eAAe,6EAA8E,CAAC;AAE3G,iGAAiG;AACjG,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,6CAA6C;AAC7C,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;AAE/C,kCAAkC;AAClC,MAAM,MAAM,cAAc,GAAG;IAC3B,kBAAkB;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,qBAAqB;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,kCAAkC;IAClC,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,iCAAiC;IACjC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,UAAU,EAAG,YAAqB,CAAC"}
@@ -1,2 +1,2 @@
1
1
  var e=`@layer refine.base{:host{--group-gap:var(--size-2);--group-radius:var(--rounded-lg);display:inline-flex}.button-group{gap:var(--group-gap);flex-direction:row;display:flex}}@layer refine.variants{:host([orientation=vertical]) .button-group{flex-direction:column}}@layer refine.overrides{:host([fullwidth]){width:100%;display:flex}:host([fullwidth]) .button-group{width:100%}:host([fullwidth]) ::slotted(ore-button){flex:1}:host([attached]) .button-group{gap:0}:host([attached]) ::slotted(ore-button:hover),:host([attached]) ::slotted(ore-button:focus-within){z-index:1;position:relative}:host([attached]:not([orientation=vertical])) ::slotted(ore-button){--button-radius:0}:host([attached]:not([orientation=vertical])) ::slotted(ore-button:not(:first-child)){--button-border-start:0}:host([attached]:not([orientation=vertical])) ::slotted(ore-button:first-child){--button-radius:var(--group-radius) 0 0 var(--group-radius)}:host([attached]:not([orientation=vertical])) ::slotted(ore-button:last-child){--button-radius:0 var(--group-radius) var(--group-radius) 0}:host([attached][orientation=vertical]) ::slotted(ore-button){--button-radius:0}:host([attached][orientation=vertical]) ::slotted(ore-button:not(:first-child)){--button-border-top:0}:host([attached][orientation=vertical]) ::slotted(ore-button:first-child){--button-radius:var(--group-radius) var(--group-radius) 0 0}:host([attached][orientation=vertical]) ::slotted(ore-button:last-child){--button-radius:0 0 var(--group-radius) var(--group-radius)}}`;exports.default=e;
2
- //# sourceMappingURL=button-group.css?inline.cjs.map
2
+ //# sourceMappingURL=button-group.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group.css.cjs","names":[],"sources":["../../../src/inputs/button-group/button-group.css?inline"],"sourcesContent":["@layer refine.base {\n /* ========================================\n Base Styles\n ======================================== */\n\n :host {\n display: inline-flex;\n\n --group-gap: var(--size-2);\n --group-radius: var(--rounded-lg);\n }\n\n .button-group {\n display: flex;\n flex-direction: row;\n gap: var(--group-gap);\n }\n}\n\n@layer refine.variants {\n /* ========================================\n Orientation\n ======================================== */\n\n :host([orientation='vertical']) .button-group {\n flex-direction: column;\n }\n}\n\n@layer refine.overrides {\n /* ========================================\n Full Width\n ======================================== */\n\n :host([fullwidth]) {\n display: flex;\n width: 100%;\n }\n\n :host([fullwidth]) .button-group {\n width: 100%;\n }\n\n :host([fullwidth]) ::slotted(ore-button) {\n flex: 1;\n }\n\n /* ========================================\n Attached Mode\n ======================================== */\n\n :host([attached]) .button-group {\n gap: 0;\n }\n\n /* Ensure attached buttons have proper z-index on hover/focus */\n :host([attached]) ::slotted(ore-button:hover),\n :host([attached]) ::slotted(ore-button:focus-within) {\n position: relative;\n z-index: 1;\n }\n\n /* Horizontal attached - remove inner borders and round corners */\n :host([attached]:not([orientation='vertical'])) ::slotted(ore-button) {\n --button-radius: 0;\n }\n\n :host([attached]:not([orientation='vertical'])) ::slotted(ore-button:not(:first-child)) {\n --button-border-start: 0;\n }\n\n :host([attached]:not([orientation='vertical'])) ::slotted(ore-button:first-child) {\n --button-radius: var(--group-radius) 0 0 var(--group-radius);\n }\n\n :host([attached]:not([orientation='vertical'])) ::slotted(ore-button:last-child) {\n --button-radius: 0 var(--group-radius) var(--group-radius) 0;\n }\n\n /* Vertical attached - remove inner borders and round corners */\n :host([attached][orientation='vertical']) ::slotted(ore-button) {\n --button-radius: 0;\n }\n\n :host([attached][orientation='vertical']) ::slotted(ore-button:not(:first-child)) {\n --button-border-top: 0;\n }\n\n :host([attached][orientation='vertical']) ::slotted(ore-button:first-child) {\n --button-radius: var(--group-radius) var(--group-radius) 0 0;\n }\n\n :host([attached][orientation='vertical']) ::slotted(ore-button:last-child) {\n --button-radius: 0 0 var(--group-radius) var(--group-radius);\n }\n}\n"],"mappings":""}
@@ -3,4 +3,4 @@ var e = "@layer refine.base{:host{--group-gap:var(--size-2);--group-radius:var(-
3
3
  //#endregion
4
4
  export { e as default };
5
5
 
6
- //# sourceMappingURL=button-group.css?inline.js.map
6
+ //# sourceMappingURL=button-group.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group.css.js","names":[],"sources":["../../../src/inputs/button-group/button-group.css?inline"],"sourcesContent":["@layer refine.base {\n /* ========================================\n Base Styles\n ======================================== */\n\n :host {\n display: inline-flex;\n\n --group-gap: var(--size-2);\n --group-radius: var(--rounded-lg);\n }\n\n .button-group {\n display: flex;\n flex-direction: row;\n gap: var(--group-gap);\n }\n}\n\n@layer refine.variants {\n /* ========================================\n Orientation\n ======================================== */\n\n :host([orientation='vertical']) .button-group {\n flex-direction: column;\n }\n}\n\n@layer refine.overrides {\n /* ========================================\n Full Width\n ======================================== */\n\n :host([fullwidth]) {\n display: flex;\n width: 100%;\n }\n\n :host([fullwidth]) .button-group {\n width: 100%;\n }\n\n :host([fullwidth]) ::slotted(ore-button) {\n flex: 1;\n }\n\n /* ========================================\n Attached Mode\n ======================================== */\n\n :host([attached]) .button-group {\n gap: 0;\n }\n\n /* Ensure attached buttons have proper z-index on hover/focus */\n :host([attached]) ::slotted(ore-button:hover),\n :host([attached]) ::slotted(ore-button:focus-within) {\n position: relative;\n z-index: 1;\n }\n\n /* Horizontal attached - remove inner borders and round corners */\n :host([attached]:not([orientation='vertical'])) ::slotted(ore-button) {\n --button-radius: 0;\n }\n\n :host([attached]:not([orientation='vertical'])) ::slotted(ore-button:not(:first-child)) {\n --button-border-start: 0;\n }\n\n :host([attached]:not([orientation='vertical'])) ::slotted(ore-button:first-child) {\n --button-radius: var(--group-radius) 0 0 var(--group-radius);\n }\n\n :host([attached]:not([orientation='vertical'])) ::slotted(ore-button:last-child) {\n --button-radius: 0 var(--group-radius) var(--group-radius) 0;\n }\n\n /* Vertical attached - remove inner borders and round corners */\n :host([attached][orientation='vertical']) ::slotted(ore-button) {\n --button-radius: 0;\n }\n\n :host([attached][orientation='vertical']) ::slotted(ore-button:not(:first-child)) {\n --button-border-top: 0;\n }\n\n :host([attached][orientation='vertical']) ::slotted(ore-button:first-child) {\n --button-radius: var(--group-radius) var(--group-radius) 0 0;\n }\n\n :host([attached][orientation='vertical']) ::slotted(ore-button:last-child) {\n --button-radius: 0 0 var(--group-radius) var(--group-radius);\n }\n}\n"],"mappings":""}
@@ -1,2 +1,2 @@
1
1
  var e=`@layer refine.base{:host{--_day-selected-bg:var(--calendar-day-selected-bg,var(--_theme-focus));--_day-today-color:var(--calendar-day-today-color,var(--_theme-focus));--_day-outside-opacity:var(--calendar-day-outside-opacity,.35);--_bg:var(--calendar-bg,var(--color-canvas));--_border-color:var(--calendar-border-color,var(--color-contrast-200));--_radius:var(--calendar-radius,var(--rounded-xl));display:inline-block}:host([fullwidth]){display:block}:host([color=secondary]){--_day-selected-bg:var(--calendar-day-selected-bg,var(--_theme-base));--_day-today-color:var(--calendar-day-today-color,var(--_theme-base))}.calendar{gap:var(--size-2);min-width:18rem;padding:var(--size-3);background:var(--_bg);border:var(--border) solid var(--_border-color);border-radius:var(--_radius);box-shadow:var(--calendar-shadow,var(--shadow-md));flex-direction:column;display:flex}:host([fullwidth]) .calendar{min-width:0}.cal-header{gap:var(--size-1);border-bottom:var(--border) solid var(--_border-color);padding-bottom:var(--size-2);justify-content:space-between;align-items:center;display:flex}.nav-btn{width:var(--size-8);height:var(--size-8);color:var(--color-contrast-600);cursor:pointer;border-radius:var(--rounded-md);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;outline:none;justify-content:center;align-items:center;padding:0;display:flex}.nav-btn:hover:not(:disabled){color:var(--color-contrast-900);background:var(--color-contrast-300)}.nav-btn:focus-visible{box-shadow:0 0 0 2px var(--_day-selected-bg)}.nav-btn:disabled{cursor:not-allowed;opacity:.4}.cal-label-btn{padding:var(--size-1) var(--size-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-contrast-900);text-align:center;cursor:pointer;border-radius:var(--rounded-md);transition:background var(--transition-fast);background:0 0;border:none;outline:none;flex:1}.cal-label-btn:hover:not(:disabled){background:var(--color-contrast-300)}.cal-label-btn:focus-visible{box-shadow:0 0 0 2px var(--_day-selected-bg)}.cal-label-btn:disabled{cursor:not-allowed;opacity:.5}.cal-label-month,.cal-label-year{display:inline-block}.cal-label-sep{padding-inline:var(--size-1);font-weight:var(--font-normal);color:var(--color-contrast-400);display:inline-block}[hidden]{display:none!important}.cal-grid{gap:var(--size-0-5);flex-direction:column;display:flex}.cal-grid-days{gap:var(--size-0-5);min-height:calc(7 * var(--size-10) + 6 * var(--size-0-5));grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-grid [role=row]{display:contents}.cal-cell{font-size:var(--text-sm);cursor:pointer;border-radius:var(--rounded-md);transition:background var(--transition-fast), color var(--transition-fast);outline:none;justify-content:center;align-items:center;display:flex}.cal-cell-head{height:var(--size-8);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-contrast-500);cursor:default}.cal-cell-day{gap:var(--size-0-5);min-width:0;height:var(--size-10);color:var(--color-contrast-800);flex-direction:column;overflow:hidden}.cal-cell-day:hover:not([data-disabled]){color:var(--color-contrast-900);background:color-mix(in oklch, var(--_day-selected-bg) 15%, transparent)}.cal-cell-day:focus-visible{box-shadow:0 0 0 2px var(--_day-selected-bg)}.cal-cell-day[data-today]{font-weight:var(--font-semibold);color:var(--_day-today-color)}.cal-cell-day[data-selected]{font-weight:var(--font-semibold);color:var(--color-white,#fff);background:var(--_day-selected-bg)}.cal-cell-day[data-outside]{opacity:var(--_day-outside-opacity)}.cal-cell-day[data-disabled]{pointer-events:none;cursor:not-allowed;opacity:.3}.cal-dots{margin-top:var(--size-0-5);justify-content:center;align-items:center;gap:2px;display:flex}.cal-dot{--badge-bg:var(--_day-selected-bg);--badge-border-color:var(--_day-selected-bg)}.cal-dot-overflow{font-size:8px;font-weight:var(--font-semibold);color:var(--color-contrast-500);line-height:1}.cal-grid-months,.cal-grid-years{gap:var(--size-1);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.cal-cell-month,.cal-cell-year{height:var(--size-10);font-size:var(--text-sm);color:var(--color-contrast-800);cursor:pointer;border-radius:var(--rounded-md)}.cal-cell-month:hover:not([data-disabled]),.cal-cell-year:hover:not([data-disabled]){background:color-mix(in oklch, var(--_day-selected-bg) 15%, transparent)}.cal-cell-month:focus-visible,.cal-cell-year:focus-visible{box-shadow:0 0 0 2px var(--_day-selected-bg)}.cal-cell-month[data-selected],.cal-cell-year[data-selected]{font-weight:var(--font-semibold);color:var(--color-white,#fff);background:var(--_day-selected-bg)}.cal-cell-month[data-disabled],.cal-cell-year[data-disabled]{pointer-events:none;cursor:not-allowed;opacity:.3}:host([expanded]){width:100%;display:block}:host([expanded]) .calendar{width:100%;min-width:0;padding:0;overflow:hidden}:host([expanded]) .cal-header{padding:var(--size-3) var(--size-4)}:host([expanded]) .cal-label-btn{font-size:var(--text-base)}:host([expanded]) .cal-grid{gap:0}:host([expanded]) .cal-grid-days{border-top:var(--border) solid var(--_border-color);gap:0}:host([expanded]) .cal-cell{border-radius:0}:host([expanded]) .cal-cell-head{height:var(--size-9);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;border-bottom:var(--border) solid var(--_border-color)}:host([expanded]) .cal-cell-day{height:auto;min-height:var(--calendar-expanded-cell-height,var(--size-28));aspect-ratio:auto;padding:var(--size-2);font-size:var(--text-sm);vertical-align:top;border-bottom:var(--border) solid var(--_border-color);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:0;position:relative}:host([expanded]) .cal-cell-day:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-right:var(--border) solid var(--_border-color)}:host([expanded]) .cal-cell-day:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left:var(--border) solid var(--_border-color)}:host([expanded]) .cal-cell-day:nth-child(7n):not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-right:none}:host([expanded]) .cal-cell-day:nth-child(7n):is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left:none}:host([expanded]) .cal-cell-day:hover:not([data-disabled]){background:color-mix(in oklch, var(--_day-selected-bg) 6%, transparent)}:host([expanded]) .cal-cell-day[data-selected]{color:inherit;background:0 0}:host([expanded]) .cal-cell-day[data-selected]:before{top:var(--size-1-5);left:var(--size-1-5);width:var(--size-7);height:var(--size-7);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-white,#fff);content:attr(data-day);background:var(--_day-selected-bg);border-radius:var(--rounded-full);justify-content:center;align-items:center;display:flex;position:absolute}:host([expanded]) .cal-cell-day[data-today]{font-weight:inherit;color:inherit}:host([expanded]) .cal-cell-day[data-today]:before{top:var(--size-1-5);left:var(--size-1-5);width:var(--size-7);height:var(--size-7);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-white,#fff);content:attr(data-day);background:var(--_day-today-color);border-radius:var(--rounded-full);justify-content:center;align-items:center;display:flex;position:absolute}:host([expanded]) .cal-cell-day[data-today][data-selected]:before{background:var(--_day-selected-bg)}:host([expanded]) .cal-events{width:100%;margin-top:var(--size-4);flex-direction:column;gap:2px;display:flex;overflow:hidden}:host([expanded]) .cal-event-pill{--badge-max-width:100%;max-width:100%}:host([expanded]) .cal-event-pill-overflow{padding-inline:var(--size-1);font-size:10px;font-weight:var(--font-semibold);color:var(--color-contrast-500)}:host([expanded]) .cal-dots{display:none}:host([expanded]) .cal-cell-day[data-outside]{background:color-mix(in oklch, var(--color-contrast-900) 2%, transparent)}:host([expanded]) .cal-grid-months,:host([expanded]) .cal-grid-years{gap:var(--size-2);min-height:0;padding:var(--size-4)}:host([expanded]) .cal-cell-month,:host([expanded]) .cal-cell-year{min-height:var(--size-16);font-size:var(--text-base);border:var(--border) solid var(--_border-color);border-radius:var(--rounded-lg)}:host([expanded]) .cal-cell-month[data-selected],:host([expanded]) .cal-cell-year[data-selected]{border-color:#0000}:host(.is-disabled) .calendar{pointer-events:none;opacity:.6}@media (prefers-reduced-motion:reduce){.nav-btn,.cal-label-btn,.cal-cell{transition:none}}}`;exports.default=e;
2
- //# sourceMappingURL=calendar.css?inline.cjs.map
2
+ //# sourceMappingURL=calendar.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.css.cjs","names":[],"sources":["../../../src/inputs/calendar/calendar.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_day-selected-bg: var(--calendar-day-selected-bg, var(--_theme-focus));\n --_day-today-color: var(--calendar-day-today-color, var(--_theme-focus));\n --_day-outside-opacity: var(--calendar-day-outside-opacity, 0.35);\n --_bg: var(--calendar-bg, var(--color-canvas));\n --_border-color: var(--calendar-border-color, var(--color-contrast-200));\n --_radius: var(--calendar-radius, var(--rounded-xl));\n\n display: inline-block;\n }\n\n :host([fullwidth]) {\n display: block;\n }\n\n :host([color='secondary']) {\n --_day-selected-bg: var(--calendar-day-selected-bg, var(--_theme-base));\n --_day-today-color: var(--calendar-day-today-color, var(--_theme-base));\n }\n\n /* ── Root panel ──────────────────────────────────────────────────────────── */\n\n .calendar {\n display: flex;\n flex-direction: column;\n gap: var(--size-2);\n min-width: 18rem;\n padding: var(--size-3);\n background: var(--_bg);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--_radius);\n box-shadow: var(--calendar-shadow, var(--shadow-md));\n }\n\n :host([fullwidth]) .calendar {\n min-width: 0;\n }\n\n /* ── Header ──────────────────────────────────────────────────────────────── */\n\n .cal-header {\n display: flex;\n gap: var(--size-1);\n align-items: center;\n justify-content: space-between;\n padding-block-end: var(--size-2);\n border-block-end: var(--border) solid var(--_border-color);\n }\n\n .nav-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-8);\n height: var(--size-8);\n padding: 0;\n color: var(--color-contrast-600);\n cursor: pointer;\n outline: none;\n background: transparent;\n border: none;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .nav-btn:hover:not(:disabled) {\n color: var(--color-contrast-900);\n background: var(--color-contrast-300);\n }\n\n .nav-btn:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .nav-btn:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n }\n\n .cal-label-btn {\n flex: 1;\n padding: var(--size-1) var(--size-2);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-contrast-900);\n text-align: center;\n cursor: pointer;\n outline: none;\n background: transparent;\n border: none;\n border-radius: var(--rounded-md);\n transition: background var(--transition-fast);\n }\n\n .cal-label-btn:hover:not(:disabled) {\n background: var(--color-contrast-300);\n }\n\n .cal-label-btn:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-label-btn:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n .cal-label-month,\n .cal-label-year {\n display: inline-block;\n }\n\n .cal-label-sep {\n display: inline-block;\n padding-inline: var(--size-1);\n font-weight: var(--font-normal);\n color: var(--color-contrast-400);\n }\n\n /* ── Grid base ───────────────────────────────────────────────────────────── */\n\n [hidden] {\n display: none !important;\n }\n\n .cal-grid {\n display: flex;\n flex-direction: column;\n gap: var(--size-0-5);\n }\n\n .cal-grid-days {\n display: grid;\n grid-template-columns: repeat(7, minmax(0, 1fr));\n gap: var(--size-0-5);\n\n /* Reserve max height (6 week rows + 1 header) so the panel never shrinks\n on 5-week months or when switching to month/year view. */\n min-height: calc(7 * var(--size-10) + 6 * var(--size-0-5));\n }\n\n /* role=\"row\" wrappers exist for ARIA grid structure only — `display: contents`\n removes them from layout so their children still participate directly in the\n parent's CSS grid tracks. */\n .cal-grid [role='row'] {\n display: contents;\n }\n\n .cal-cell {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--text-sm);\n cursor: pointer;\n outline: none;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n /* ── Column headers ──────────────────────────────────────────────────────── */\n\n .cal-cell-head {\n height: var(--size-8);\n font-size: var(--text-xs);\n font-weight: var(--font-medium);\n color: var(--color-contrast-500);\n cursor: default;\n }\n\n /* ── Day cells ───────────────────────────────────────────────────────────── */\n\n .cal-cell-day {\n flex-direction: column;\n gap: var(--size-0-5);\n min-width: 0;\n height: var(--size-10);\n overflow: hidden;\n color: var(--color-contrast-800);\n }\n\n .cal-cell-day:hover:not([data-disabled]) {\n color: var(--color-contrast-900);\n background: color-mix(in oklch, var(--_day-selected-bg) 15%, transparent);\n }\n\n .cal-cell-day:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-cell-day[data-today] {\n font-weight: var(--font-semibold);\n color: var(--_day-today-color);\n }\n\n .cal-cell-day[data-selected] {\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n background: var(--_day-selected-bg);\n }\n\n .cal-cell-day[data-outside] {\n opacity: var(--_day-outside-opacity);\n }\n\n .cal-cell-day[data-disabled] {\n pointer-events: none;\n cursor: not-allowed;\n opacity: 0.3;\n }\n\n /* ── Event dots (normal mode) ────────────────────────────────────────────── */\n\n .cal-dots {\n display: flex;\n gap: 2px;\n align-items: center;\n justify-content: center;\n margin-block-start: var(--size-0-5);\n }\n\n .cal-dot {\n --badge-bg: var(--_day-selected-bg);\n --badge-border-color: var(--_day-selected-bg);\n }\n\n .cal-dot-overflow {\n font-size: 8px;\n font-weight: var(--font-semibold);\n line-height: 1;\n color: var(--color-contrast-500);\n }\n\n /* ── Month / year grids ──────────────────────────────────────────────────── */\n\n .cal-grid-months,\n .cal-grid-years {\n /* 4-column grid — same width as cal-grid-days, natural height. */\n display: grid;\n grid-template-columns: repeat(4, minmax(0, 1fr));\n gap: var(--size-1);\n }\n\n .cal-cell-month,\n .cal-cell-year {\n height: var(--size-10);\n font-size: var(--text-sm);\n color: var(--color-contrast-800);\n cursor: pointer;\n border-radius: var(--rounded-md);\n }\n\n .cal-cell-month:hover:not([data-disabled]),\n .cal-cell-year:hover:not([data-disabled]) {\n background: color-mix(in oklch, var(--_day-selected-bg) 15%, transparent);\n }\n\n .cal-cell-month:focus-visible,\n .cal-cell-year:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-cell-month[data-selected],\n .cal-cell-year[data-selected] {\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n background: var(--_day-selected-bg);\n }\n\n .cal-cell-month[data-disabled],\n .cal-cell-year[data-disabled] {\n pointer-events: none;\n cursor: not-allowed;\n opacity: 0.3;\n }\n\n /* ── Expanded variant ────────────────────────────────────────────────────── */\n\n :host([expanded]) {\n display: block;\n width: 100%;\n }\n\n :host([expanded]) .calendar {\n width: 100%;\n min-width: 0;\n padding: 0;\n overflow: hidden;\n }\n\n :host([expanded]) .cal-header {\n padding: var(--size-3) var(--size-4);\n }\n\n :host([expanded]) .cal-label-btn {\n font-size: var(--text-base);\n }\n\n :host([expanded]) .cal-grid {\n gap: 0;\n }\n\n :host([expanded]) .cal-grid-days {\n gap: 0;\n border-block-start: var(--border) solid var(--_border-color);\n }\n\n :host([expanded]) .cal-cell {\n border-radius: 0;\n }\n\n :host([expanded]) .cal-cell-head {\n height: var(--size-9);\n font-size: var(--text-xs);\n font-weight: var(--font-semibold);\n text-transform: uppercase;\n letter-spacing: 0.05em;\n border-block-end: var(--border) solid var(--_border-color);\n }\n\n :host([expanded]) .cal-cell-day {\n position: relative;\n flex-direction: column;\n gap: 0;\n align-items: flex-start;\n justify-content: flex-start;\n height: auto;\n min-height: var(--calendar-expanded-cell-height, var(--size-28));\n aspect-ratio: auto;\n padding: var(--size-2);\n font-size: var(--text-sm);\n vertical-align: top;\n border-block-end: var(--border) solid var(--_border-color);\n border-inline-end: var(--border) solid var(--_border-color);\n }\n\n /* Remove right border on last column */\n :host([expanded]) .cal-cell-day:nth-child(7n) {\n border-inline-end: none;\n }\n\n :host([expanded]) .cal-cell-day:hover:not([data-disabled]) {\n background: color-mix(in oklch, var(--_day-selected-bg) 6%, transparent);\n }\n\n /* Selected day — circle around the number only */\n :host([expanded]) .cal-cell-day[data-selected] {\n color: inherit;\n background: transparent;\n }\n\n :host([expanded]) .cal-cell-day[data-selected]::before {\n position: absolute;\n top: var(--size-1-5);\n left: var(--size-1-5);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-7);\n height: var(--size-7);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n content: attr(data-day);\n background: var(--_day-selected-bg);\n border-radius: var(--rounded-full);\n }\n\n /* Today — circle in accent colour */\n :host([expanded]) .cal-cell-day[data-today] {\n font-weight: inherit;\n color: inherit;\n }\n\n :host([expanded]) .cal-cell-day[data-today]::before {\n position: absolute;\n top: var(--size-1-5);\n left: var(--size-1-5);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-7);\n height: var(--size-7);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n content: attr(data-day);\n background: var(--_day-today-color);\n border-radius: var(--rounded-full);\n }\n\n /* When both today AND selected — selected wins */\n :host([expanded]) .cal-cell-day[data-today][data-selected]::before {\n background: var(--_day-selected-bg);\n }\n\n /* ── Expanded event pills ────────────────────────────────────────────────── */\n\n /* Push events below the day-number circle row */\n :host([expanded]) .cal-events {\n display: flex;\n flex-direction: column;\n gap: 2px;\n width: 100%;\n margin-block-start: var(--size-4);\n overflow: hidden;\n }\n\n :host([expanded]) .cal-event-pill {\n max-width: 100%;\n\n --badge-max-width: 100%;\n }\n\n :host([expanded]) .cal-event-pill-overflow {\n padding-inline: var(--size-1);\n font-size: 10px;\n font-weight: var(--font-semibold);\n color: var(--color-contrast-500);\n }\n\n /* Dots are hidden in expanded mode — pills take over */\n :host([expanded]) .cal-dots {\n display: none;\n }\n\n :host([expanded]) .cal-cell-day[data-outside] {\n background: color-mix(in oklch, var(--color-contrast-900) 2%, transparent);\n }\n\n /* Expanded month / year grids */\n :host([expanded]) .cal-grid-months,\n :host([expanded]) .cal-grid-years {\n gap: var(--size-2);\n min-height: 0;\n padding: var(--size-4);\n }\n\n :host([expanded]) .cal-cell-month,\n :host([expanded]) .cal-cell-year {\n min-height: var(--size-16);\n font-size: var(--text-base);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--rounded-lg);\n }\n\n :host([expanded]) .cal-cell-month[data-selected],\n :host([expanded]) .cal-cell-year[data-selected] {\n border-color: transparent;\n }\n\n /* ── Disabled host ───────────────────────────────────────────────────────── */\n\n :host(.is-disabled) .calendar {\n pointer-events: none;\n opacity: 0.6;\n }\n\n /* ── Reduced motion ──────────────────────────────────────────────────────── */\n\n @media (prefers-reduced-motion: reduce) {\n .nav-btn,\n .cal-label-btn,\n .cal-cell {\n transition: none;\n }\n }\n}\n"],"mappings":""}
@@ -3,4 +3,4 @@ var e = "@layer refine.base{:host{--_day-selected-bg:var(--calendar-day-selected
3
3
  //#endregion
4
4
  export { e as default };
5
5
 
6
- //# sourceMappingURL=calendar.css?inline.js.map
6
+ //# sourceMappingURL=calendar.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.css.js","names":[],"sources":["../../../src/inputs/calendar/calendar.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_day-selected-bg: var(--calendar-day-selected-bg, var(--_theme-focus));\n --_day-today-color: var(--calendar-day-today-color, var(--_theme-focus));\n --_day-outside-opacity: var(--calendar-day-outside-opacity, 0.35);\n --_bg: var(--calendar-bg, var(--color-canvas));\n --_border-color: var(--calendar-border-color, var(--color-contrast-200));\n --_radius: var(--calendar-radius, var(--rounded-xl));\n\n display: inline-block;\n }\n\n :host([fullwidth]) {\n display: block;\n }\n\n :host([color='secondary']) {\n --_day-selected-bg: var(--calendar-day-selected-bg, var(--_theme-base));\n --_day-today-color: var(--calendar-day-today-color, var(--_theme-base));\n }\n\n /* ── Root panel ──────────────────────────────────────────────────────────── */\n\n .calendar {\n display: flex;\n flex-direction: column;\n gap: var(--size-2);\n min-width: 18rem;\n padding: var(--size-3);\n background: var(--_bg);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--_radius);\n box-shadow: var(--calendar-shadow, var(--shadow-md));\n }\n\n :host([fullwidth]) .calendar {\n min-width: 0;\n }\n\n /* ── Header ──────────────────────────────────────────────────────────────── */\n\n .cal-header {\n display: flex;\n gap: var(--size-1);\n align-items: center;\n justify-content: space-between;\n padding-block-end: var(--size-2);\n border-block-end: var(--border) solid var(--_border-color);\n }\n\n .nav-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-8);\n height: var(--size-8);\n padding: 0;\n color: var(--color-contrast-600);\n cursor: pointer;\n outline: none;\n background: transparent;\n border: none;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .nav-btn:hover:not(:disabled) {\n color: var(--color-contrast-900);\n background: var(--color-contrast-300);\n }\n\n .nav-btn:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .nav-btn:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n }\n\n .cal-label-btn {\n flex: 1;\n padding: var(--size-1) var(--size-2);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-contrast-900);\n text-align: center;\n cursor: pointer;\n outline: none;\n background: transparent;\n border: none;\n border-radius: var(--rounded-md);\n transition: background var(--transition-fast);\n }\n\n .cal-label-btn:hover:not(:disabled) {\n background: var(--color-contrast-300);\n }\n\n .cal-label-btn:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-label-btn:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n .cal-label-month,\n .cal-label-year {\n display: inline-block;\n }\n\n .cal-label-sep {\n display: inline-block;\n padding-inline: var(--size-1);\n font-weight: var(--font-normal);\n color: var(--color-contrast-400);\n }\n\n /* ── Grid base ───────────────────────────────────────────────────────────── */\n\n [hidden] {\n display: none !important;\n }\n\n .cal-grid {\n display: flex;\n flex-direction: column;\n gap: var(--size-0-5);\n }\n\n .cal-grid-days {\n display: grid;\n grid-template-columns: repeat(7, minmax(0, 1fr));\n gap: var(--size-0-5);\n\n /* Reserve max height (6 week rows + 1 header) so the panel never shrinks\n on 5-week months or when switching to month/year view. */\n min-height: calc(7 * var(--size-10) + 6 * var(--size-0-5));\n }\n\n /* role=\"row\" wrappers exist for ARIA grid structure only — `display: contents`\n removes them from layout so their children still participate directly in the\n parent's CSS grid tracks. */\n .cal-grid [role='row'] {\n display: contents;\n }\n\n .cal-cell {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: var(--text-sm);\n cursor: pointer;\n outline: none;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n /* ── Column headers ──────────────────────────────────────────────────────── */\n\n .cal-cell-head {\n height: var(--size-8);\n font-size: var(--text-xs);\n font-weight: var(--font-medium);\n color: var(--color-contrast-500);\n cursor: default;\n }\n\n /* ── Day cells ───────────────────────────────────────────────────────────── */\n\n .cal-cell-day {\n flex-direction: column;\n gap: var(--size-0-5);\n min-width: 0;\n height: var(--size-10);\n overflow: hidden;\n color: var(--color-contrast-800);\n }\n\n .cal-cell-day:hover:not([data-disabled]) {\n color: var(--color-contrast-900);\n background: color-mix(in oklch, var(--_day-selected-bg) 15%, transparent);\n }\n\n .cal-cell-day:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-cell-day[data-today] {\n font-weight: var(--font-semibold);\n color: var(--_day-today-color);\n }\n\n .cal-cell-day[data-selected] {\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n background: var(--_day-selected-bg);\n }\n\n .cal-cell-day[data-outside] {\n opacity: var(--_day-outside-opacity);\n }\n\n .cal-cell-day[data-disabled] {\n pointer-events: none;\n cursor: not-allowed;\n opacity: 0.3;\n }\n\n /* ── Event dots (normal mode) ────────────────────────────────────────────── */\n\n .cal-dots {\n display: flex;\n gap: 2px;\n align-items: center;\n justify-content: center;\n margin-block-start: var(--size-0-5);\n }\n\n .cal-dot {\n --badge-bg: var(--_day-selected-bg);\n --badge-border-color: var(--_day-selected-bg);\n }\n\n .cal-dot-overflow {\n font-size: 8px;\n font-weight: var(--font-semibold);\n line-height: 1;\n color: var(--color-contrast-500);\n }\n\n /* ── Month / year grids ──────────────────────────────────────────────────── */\n\n .cal-grid-months,\n .cal-grid-years {\n /* 4-column grid — same width as cal-grid-days, natural height. */\n display: grid;\n grid-template-columns: repeat(4, minmax(0, 1fr));\n gap: var(--size-1);\n }\n\n .cal-cell-month,\n .cal-cell-year {\n height: var(--size-10);\n font-size: var(--text-sm);\n color: var(--color-contrast-800);\n cursor: pointer;\n border-radius: var(--rounded-md);\n }\n\n .cal-cell-month:hover:not([data-disabled]),\n .cal-cell-year:hover:not([data-disabled]) {\n background: color-mix(in oklch, var(--_day-selected-bg) 15%, transparent);\n }\n\n .cal-cell-month:focus-visible,\n .cal-cell-year:focus-visible {\n box-shadow: 0 0 0 2px var(--_day-selected-bg);\n }\n\n .cal-cell-month[data-selected],\n .cal-cell-year[data-selected] {\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n background: var(--_day-selected-bg);\n }\n\n .cal-cell-month[data-disabled],\n .cal-cell-year[data-disabled] {\n pointer-events: none;\n cursor: not-allowed;\n opacity: 0.3;\n }\n\n /* ── Expanded variant ────────────────────────────────────────────────────── */\n\n :host([expanded]) {\n display: block;\n width: 100%;\n }\n\n :host([expanded]) .calendar {\n width: 100%;\n min-width: 0;\n padding: 0;\n overflow: hidden;\n }\n\n :host([expanded]) .cal-header {\n padding: var(--size-3) var(--size-4);\n }\n\n :host([expanded]) .cal-label-btn {\n font-size: var(--text-base);\n }\n\n :host([expanded]) .cal-grid {\n gap: 0;\n }\n\n :host([expanded]) .cal-grid-days {\n gap: 0;\n border-block-start: var(--border) solid var(--_border-color);\n }\n\n :host([expanded]) .cal-cell {\n border-radius: 0;\n }\n\n :host([expanded]) .cal-cell-head {\n height: var(--size-9);\n font-size: var(--text-xs);\n font-weight: var(--font-semibold);\n text-transform: uppercase;\n letter-spacing: 0.05em;\n border-block-end: var(--border) solid var(--_border-color);\n }\n\n :host([expanded]) .cal-cell-day {\n position: relative;\n flex-direction: column;\n gap: 0;\n align-items: flex-start;\n justify-content: flex-start;\n height: auto;\n min-height: var(--calendar-expanded-cell-height, var(--size-28));\n aspect-ratio: auto;\n padding: var(--size-2);\n font-size: var(--text-sm);\n vertical-align: top;\n border-block-end: var(--border) solid var(--_border-color);\n border-inline-end: var(--border) solid var(--_border-color);\n }\n\n /* Remove right border on last column */\n :host([expanded]) .cal-cell-day:nth-child(7n) {\n border-inline-end: none;\n }\n\n :host([expanded]) .cal-cell-day:hover:not([data-disabled]) {\n background: color-mix(in oklch, var(--_day-selected-bg) 6%, transparent);\n }\n\n /* Selected day — circle around the number only */\n :host([expanded]) .cal-cell-day[data-selected] {\n color: inherit;\n background: transparent;\n }\n\n :host([expanded]) .cal-cell-day[data-selected]::before {\n position: absolute;\n top: var(--size-1-5);\n left: var(--size-1-5);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-7);\n height: var(--size-7);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n content: attr(data-day);\n background: var(--_day-selected-bg);\n border-radius: var(--rounded-full);\n }\n\n /* Today — circle in accent colour */\n :host([expanded]) .cal-cell-day[data-today] {\n font-weight: inherit;\n color: inherit;\n }\n\n :host([expanded]) .cal-cell-day[data-today]::before {\n position: absolute;\n top: var(--size-1-5);\n left: var(--size-1-5);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-7);\n height: var(--size-7);\n font-size: var(--text-sm);\n font-weight: var(--font-semibold);\n color: var(--color-white, #fff);\n content: attr(data-day);\n background: var(--_day-today-color);\n border-radius: var(--rounded-full);\n }\n\n /* When both today AND selected — selected wins */\n :host([expanded]) .cal-cell-day[data-today][data-selected]::before {\n background: var(--_day-selected-bg);\n }\n\n /* ── Expanded event pills ────────────────────────────────────────────────── */\n\n /* Push events below the day-number circle row */\n :host([expanded]) .cal-events {\n display: flex;\n flex-direction: column;\n gap: 2px;\n width: 100%;\n margin-block-start: var(--size-4);\n overflow: hidden;\n }\n\n :host([expanded]) .cal-event-pill {\n max-width: 100%;\n\n --badge-max-width: 100%;\n }\n\n :host([expanded]) .cal-event-pill-overflow {\n padding-inline: var(--size-1);\n font-size: 10px;\n font-weight: var(--font-semibold);\n color: var(--color-contrast-500);\n }\n\n /* Dots are hidden in expanded mode — pills take over */\n :host([expanded]) .cal-dots {\n display: none;\n }\n\n :host([expanded]) .cal-cell-day[data-outside] {\n background: color-mix(in oklch, var(--color-contrast-900) 2%, transparent);\n }\n\n /* Expanded month / year grids */\n :host([expanded]) .cal-grid-months,\n :host([expanded]) .cal-grid-years {\n gap: var(--size-2);\n min-height: 0;\n padding: var(--size-4);\n }\n\n :host([expanded]) .cal-cell-month,\n :host([expanded]) .cal-cell-year {\n min-height: var(--size-16);\n font-size: var(--text-base);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--rounded-lg);\n }\n\n :host([expanded]) .cal-cell-month[data-selected],\n :host([expanded]) .cal-cell-year[data-selected] {\n border-color: transparent;\n }\n\n /* ── Disabled host ───────────────────────────────────────────────────────── */\n\n :host(.is-disabled) .calendar {\n pointer-events: none;\n opacity: 0.6;\n }\n\n /* ── Reduced motion ──────────────────────────────────────────────────────── */\n\n @media (prefers-reduced-motion: reduce) {\n .nav-btn,\n .cal-label-btn,\n .cal-cell {\n transition: none;\n }\n }\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/inputs/calendar/calendar.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,yBAAyB,CAAC;AACjC,OAAO,4BAA4B,CAAC;AAQpC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACrC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kBAAkB;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,qBAAqB;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,YAAY,EAAG,cAAuB,CAAC"}
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/inputs/calendar/calendar.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,yBAAyB,CAAC;AACjC,OAAO,4BAA4B,CAAC;AAQpC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACrC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kBAAkB;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,qBAAqB;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,YAAY,EAAG,cAAuB,CAAC"}