@vielzeug/refine 26.10.0 → 26.10.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 (463) hide show
  1. package/README.md +1 -1
  2. package/dist/accordion-item.cjs.map +1 -1
  3. package/dist/accordion-item.js.map +1 -1
  4. package/dist/accordion.cjs.map +1 -1
  5. package/dist/accordion.js.map +1 -1
  6. package/dist/async.cjs.map +1 -1
  7. package/dist/async.js.map +1 -1
  8. package/dist/badge.cjs.map +1 -1
  9. package/dist/badge.js.map +1 -1
  10. package/dist/box.cjs.map +1 -1
  11. package/dist/box.js.map +1 -1
  12. package/dist/button.cjs +3 -3
  13. package/dist/button.cjs.map +1 -1
  14. package/dist/button.js +3 -3
  15. package/dist/button.js.map +1 -1
  16. package/dist/calendar.cjs.map +1 -1
  17. package/dist/calendar.js.map +1 -1
  18. package/dist/carousel.cjs.map +1 -1
  19. package/dist/carousel.js.map +1 -1
  20. package/dist/chat-message.cjs.map +1 -1
  21. package/dist/chat-message.js.map +1 -1
  22. package/dist/chat-panel.cjs.map +1 -1
  23. package/dist/chat-panel.js.map +1 -1
  24. package/dist/checkbox-group.cjs.map +1 -1
  25. package/dist/checkbox-group.js.map +1 -1
  26. package/dist/chip.cjs.map +1 -1
  27. package/dist/chip.js.map +1 -1
  28. package/dist/code-window.cjs.map +1 -1
  29. package/dist/code-window.js.map +1 -1
  30. package/dist/combobox.cjs.map +1 -1
  31. package/dist/combobox.js.map +1 -1
  32. package/dist/command-palette.cjs.map +1 -1
  33. package/dist/command-palette.js.map +1 -1
  34. package/dist/content/card/card.css.cjs.map +1 -1
  35. package/dist/content/card/card.css.js.map +1 -1
  36. package/dist/content/carousel/carousel-slide.css.cjs.map +1 -1
  37. package/dist/content/carousel/carousel-slide.css.js.map +1 -1
  38. package/dist/content/carousel/carousel.css.cjs.map +1 -1
  39. package/dist/content/carousel/carousel.css.js.map +1 -1
  40. package/dist/content/carousel/carousel.d.ts +5 -5
  41. package/dist/content/chat-message/chat-message.css.cjs +1 -1
  42. package/dist/content/chat-message/chat-message.css.cjs.map +1 -1
  43. package/dist/content/chat-message/chat-message.css.js +1 -1
  44. package/dist/content/chat-message/chat-message.css.js.map +1 -1
  45. package/dist/content/chat-message/chat-message.d.ts +4 -4
  46. package/dist/content/chat-message/chat-message.d.ts.map +1 -1
  47. package/dist/content/chat-panel/chat-panel.d.ts +1 -1
  48. package/dist/content/code-window/code-window.css.cjs.map +1 -1
  49. package/dist/content/code-window/code-window.css.js.map +1 -1
  50. package/dist/content/code-window/code-window.d.ts +4 -4
  51. package/dist/content/index.d.ts +4 -0
  52. package/dist/content/index.d.ts.map +1 -1
  53. package/dist/content/list/_list-item-reveal.cjs.map +1 -1
  54. package/dist/content/list/_list-item-reveal.d.ts +4 -4
  55. package/dist/content/list/_list-item-reveal.d.ts.map +1 -1
  56. package/dist/content/list/_list-item-reveal.js.map +1 -1
  57. package/dist/content/list/list-item.css.cjs.map +1 -1
  58. package/dist/content/list/list-item.css.js.map +1 -1
  59. package/dist/content/list/list-item.d.ts +8 -8
  60. package/dist/content/list/list-item.d.ts.map +1 -1
  61. package/dist/content/list/list.d.ts +8 -8
  62. package/dist/content/list/list.d.ts.map +1 -1
  63. package/dist/content/qr-code/qr-code.d.ts +1 -1
  64. package/dist/content/rank-list/rank-item.css.cjs +2 -0
  65. package/dist/content/rank-list/rank-item.css.cjs.map +1 -0
  66. package/dist/content/rank-list/rank-item.css.js +2 -0
  67. package/dist/content/rank-list/rank-item.css.js.map +1 -0
  68. package/dist/content/rank-list/rank-item.d.ts +68 -0
  69. package/dist/content/rank-list/rank-item.d.ts.map +1 -0
  70. package/dist/content/rank-list/rank-list.css.cjs +2 -0
  71. package/dist/content/rank-list/rank-list.css.cjs.map +1 -0
  72. package/dist/content/rank-list/rank-list.css.js +2 -0
  73. package/dist/content/rank-list/rank-list.css.js.map +1 -0
  74. package/dist/content/rank-list/rank-list.d.ts +44 -0
  75. package/dist/content/rank-list/rank-list.d.ts.map +1 -0
  76. package/dist/content/separator/separator.d.ts +1 -1
  77. package/dist/content/separator/separator.d.ts.map +1 -1
  78. package/dist/content/speech-player/speech-player.css.cjs.map +1 -1
  79. package/dist/content/speech-player/speech-player.css.js.map +1 -1
  80. package/dist/content/speech-player/speech-player.d.ts +12 -12
  81. package/dist/content/speech-player/speech-player.d.ts.map +1 -1
  82. package/dist/content/stepper/step.css.cjs.map +1 -1
  83. package/dist/content/stepper/step.css.js.map +1 -1
  84. package/dist/content/stepper/step.d.ts +3 -3
  85. package/dist/content/stepper/step.d.ts.map +1 -1
  86. package/dist/content/stepper/stepper.css.cjs.map +1 -1
  87. package/dist/content/stepper/stepper.css.js.map +1 -1
  88. package/dist/content/stepper/stepper.d.ts +3 -3
  89. package/dist/content/stepper/stepper.d.ts.map +1 -1
  90. package/dist/content/table/table.css.cjs.map +1 -1
  91. package/dist/content/table/table.css.js.map +1 -1
  92. package/dist/content/table/table.d.ts +3 -3
  93. package/dist/content/table/table.d.ts.map +1 -1
  94. package/dist/content/text/text.css.cjs.map +1 -1
  95. package/dist/content/text/text.css.js.map +1 -1
  96. package/dist/content/text/text.d.ts +2 -2
  97. package/dist/content/text/text.d.ts.map +1 -1
  98. package/dist/cookie-banner.cjs.map +1 -1
  99. package/dist/cookie-banner.js.map +1 -1
  100. package/dist/copy-command.cjs +1 -1
  101. package/dist/copy-command.cjs.map +1 -1
  102. package/dist/copy-command.js +1 -1
  103. package/dist/copy-command.js.map +1 -1
  104. package/dist/core/announcer.cjs.map +1 -1
  105. package/dist/core/announcer.d.ts +2 -2
  106. package/dist/core/announcer.js.map +1 -1
  107. package/dist/core/aria-reflection.cjs.map +1 -1
  108. package/dist/core/aria-reflection.d.ts +3 -3
  109. package/dist/core/aria-reflection.js.map +1 -1
  110. package/dist/core/auto-resize.cjs.map +1 -1
  111. package/dist/core/auto-resize.d.ts +1 -1
  112. package/dist/core/auto-resize.js.map +1 -1
  113. package/dist/core/checkable.cjs.map +1 -1
  114. package/dist/core/checkable.d.ts +2 -2
  115. package/dist/core/checkable.d.ts.map +1 -1
  116. package/dist/core/checkable.js.map +1 -1
  117. package/dist/core/choice-field.cjs.map +1 -1
  118. package/dist/core/choice-field.d.ts +3 -3
  119. package/dist/core/choice-field.d.ts.map +1 -1
  120. package/dist/core/choice-field.js.map +1 -1
  121. package/dist/core/composer.cjs.map +1 -1
  122. package/dist/core/composer.d.ts +4 -4
  123. package/dist/core/composer.d.ts.map +1 -1
  124. package/dist/core/composer.js.map +1 -1
  125. package/dist/core/date-picker.cjs.map +1 -1
  126. package/dist/core/date-picker.d.ts +5 -5
  127. package/dist/core/date-picker.d.ts.map +1 -1
  128. package/dist/core/date-picker.js.map +1 -1
  129. package/dist/core/direction.cjs.map +1 -1
  130. package/dist/core/direction.d.ts +1 -1
  131. package/dist/core/direction.js.map +1 -1
  132. package/dist/core/field-base.cjs.map +1 -1
  133. package/dist/core/field-base.d.ts +9 -9
  134. package/dist/core/field-base.d.ts.map +1 -1
  135. package/dist/core/field-base.js.map +1 -1
  136. package/dist/core/focus.cjs.map +1 -1
  137. package/dist/core/focus.d.ts +1 -1
  138. package/dist/core/focus.js.map +1 -1
  139. package/dist/core/icon-registry.cjs.map +1 -1
  140. package/dist/core/icon-registry.d.ts +1 -1
  141. package/dist/core/icon-registry.js.map +1 -1
  142. package/dist/core/icons.cjs.map +1 -1
  143. package/dist/core/icons.js.map +1 -1
  144. package/dist/core/keyboard.cjs.map +1 -1
  145. package/dist/core/keyboard.d.ts +1 -1
  146. package/dist/core/keyboard.js.map +1 -1
  147. package/dist/core/numbers.cjs.map +1 -1
  148. package/dist/core/numbers.d.ts +1 -1
  149. package/dist/core/numbers.js.map +1 -1
  150. package/dist/core/overlay.cjs.map +1 -1
  151. package/dist/core/overlay.d.ts +6 -6
  152. package/dist/core/overlay.js.map +1 -1
  153. package/dist/core/parse.cjs.map +1 -1
  154. package/dist/core/parse.d.ts +1 -1
  155. package/dist/core/parse.js.map +1 -1
  156. package/dist/core/positioner.cjs.map +1 -1
  157. package/dist/core/positioner.d.ts +3 -3
  158. package/dist/core/positioner.js.map +1 -1
  159. package/dist/core/ref-callback.cjs.map +1 -1
  160. package/dist/core/ref-callback.d.ts +2 -2
  161. package/dist/core/ref-callback.d.ts.map +1 -1
  162. package/dist/core/ref-callback.js.map +1 -1
  163. package/dist/core/text-field.cjs.map +1 -1
  164. package/dist/core/text-field.d.ts +6 -6
  165. package/dist/core/text-field.d.ts.map +1 -1
  166. package/dist/core/text-field.js.map +1 -1
  167. package/dist/counter.cjs +1 -0
  168. package/dist/counter.cjs.map +1 -1
  169. package/dist/counter.js +1 -0
  170. package/dist/counter.js.map +1 -1
  171. package/dist/custom-elements.json +315 -87
  172. package/dist/datagrid.cjs.map +1 -1
  173. package/dist/datagrid.js.map +1 -1
  174. package/dist/date-picker.cjs +1 -1
  175. package/dist/date-picker.cjs.map +1 -1
  176. package/dist/date-picker.js +1 -1
  177. package/dist/date-picker.js.map +1 -1
  178. package/dist/dialog.cjs.map +1 -1
  179. package/dist/dialog.js.map +1 -1
  180. package/dist/disclosure/accordion-item/accordion-item.css.cjs +1 -1
  181. package/dist/disclosure/accordion-item/accordion-item.css.cjs.map +1 -1
  182. package/dist/disclosure/accordion-item/accordion-item.css.js +1 -1
  183. package/dist/disclosure/accordion-item/accordion-item.css.js.map +1 -1
  184. package/dist/disclosure/tab-item/tab-item.d.ts +1 -1
  185. package/dist/disclosure/tab-item/tab-item.d.ts.map +1 -1
  186. package/dist/drawer.cjs.map +1 -1
  187. package/dist/drawer.js.map +1 -1
  188. package/dist/feedback/alert/alert.css.cjs.map +1 -1
  189. package/dist/feedback/alert/alert.css.js.map +1 -1
  190. package/dist/feedback/badge/badge.css.cjs.map +1 -1
  191. package/dist/feedback/badge/badge.css.js.map +1 -1
  192. package/dist/feedback/badge/badge.d.ts +1 -1
  193. package/dist/feedback/badge/badge.d.ts.map +1 -1
  194. package/dist/feedback/chip/chip.css.cjs.map +1 -1
  195. package/dist/feedback/chip/chip.css.js.map +1 -1
  196. package/dist/feedback/chip/chip.d.ts +3 -3
  197. package/dist/feedback/chip/chip.d.ts.map +1 -1
  198. package/dist/feedback/cookie-banner/cookie-banner.css.cjs.map +1 -1
  199. package/dist/feedback/cookie-banner/cookie-banner.css.js.map +1 -1
  200. package/dist/feedback/cookie-banner/cookie-banner.d.ts +8 -8
  201. package/dist/feedback/cookie-banner/cookie-banner.d.ts.map +1 -1
  202. package/dist/feedback/progress/progress.css.cjs.map +1 -1
  203. package/dist/feedback/progress/progress.css.js.map +1 -1
  204. package/dist/feedback/progress/progress.d.ts +1 -1
  205. package/dist/feedback/progress/progress.d.ts.map +1 -1
  206. package/dist/feedback/skeleton/skeleton.css.cjs.map +1 -1
  207. package/dist/feedback/skeleton/skeleton.css.js.map +1 -1
  208. package/dist/feedback/skeleton/skeleton.d.ts +1 -1
  209. package/dist/feedback/skeleton/skeleton.d.ts.map +1 -1
  210. package/dist/feedback/toast/toast.css.cjs +1 -1
  211. package/dist/feedback/toast/toast.css.cjs.map +1 -1
  212. package/dist/feedback/toast/toast.css.js +1 -1
  213. package/dist/feedback/toast/toast.css.js.map +1 -1
  214. package/dist/feedback/toast/toast.d.ts +1 -1
  215. package/dist/feedback/toast/toast.d.ts.map +1 -1
  216. package/dist/feedback/typing-indicator/typing-indicator.d.ts +2 -2
  217. package/dist/file-input.cjs +1 -1
  218. package/dist/file-input.cjs.map +1 -1
  219. package/dist/file-input.js +1 -1
  220. package/dist/file-input.js.map +1 -1
  221. package/dist/frameworks/elements.d.ts +1 -1
  222. package/dist/grid-item.cjs.map +1 -1
  223. package/dist/grid-item.js.map +1 -1
  224. package/dist/grid.cjs.map +1 -1
  225. package/dist/grid.js.map +1 -1
  226. package/dist/icon.cjs.map +1 -1
  227. package/dist/icon.js.map +1 -1
  228. package/dist/input.cjs.map +1 -1
  229. package/dist/input.js.map +1 -1
  230. package/dist/inputs/button/button.css.cjs.map +1 -1
  231. package/dist/inputs/button/button.css.js.map +1 -1
  232. package/dist/inputs/button/button.d.ts +3 -3
  233. package/dist/inputs/button/button.d.ts.map +1 -1
  234. package/dist/inputs/calendar/calendar.css.cjs.map +1 -1
  235. package/dist/inputs/calendar/calendar.css.js.map +1 -1
  236. package/dist/inputs/calendar/calendar.d.ts +2 -2
  237. package/dist/inputs/checkbox-group/checkbox-group.d.ts +2 -2
  238. package/dist/inputs/checkbox-group/checkbox-group.d.ts.map +1 -1
  239. package/dist/inputs/combobox/combobox.css.cjs.map +1 -1
  240. package/dist/inputs/combobox/combobox.css.js.map +1 -1
  241. package/dist/inputs/counter/counter.css.cjs +1 -1
  242. package/dist/inputs/counter/counter.css.cjs.map +1 -1
  243. package/dist/inputs/counter/counter.css.js +1 -1
  244. package/dist/inputs/counter/counter.css.js.map +1 -1
  245. package/dist/inputs/counter/counter.d.ts +2 -1
  246. package/dist/inputs/counter/counter.d.ts.map +1 -1
  247. package/dist/inputs/datagrid/datagrid.css.cjs.map +1 -1
  248. package/dist/inputs/datagrid/datagrid.css.js.map +1 -1
  249. package/dist/inputs/datagrid/datagrid.d.ts +5 -5
  250. package/dist/inputs/date-picker/date-picker.css.cjs.map +1 -1
  251. package/dist/inputs/date-picker/date-picker.css.js.map +1 -1
  252. package/dist/inputs/date-picker/date-picker.d.ts +1 -1
  253. package/dist/inputs/file-input/file-input-upload.cjs.map +1 -1
  254. package/dist/inputs/file-input/file-input-upload.d.ts +6 -6
  255. package/dist/inputs/file-input/file-input-upload.js.map +1 -1
  256. package/dist/inputs/file-input/file-input.css.cjs.map +1 -1
  257. package/dist/inputs/file-input/file-input.css.js.map +1 -1
  258. package/dist/inputs/file-input/file-input.d.ts +6 -6
  259. package/dist/inputs/input/input.css.cjs +1 -1
  260. package/dist/inputs/input/input.css.cjs.map +1 -1
  261. package/dist/inputs/input/input.css.js +1 -1
  262. package/dist/inputs/input/input.css.js.map +1 -1
  263. package/dist/inputs/input/input.d.ts +6 -6
  264. package/dist/inputs/input/input.d.ts.map +1 -1
  265. package/dist/inputs/message-composer/message-composer.css.cjs.map +1 -1
  266. package/dist/inputs/message-composer/message-composer.css.js.map +1 -1
  267. package/dist/inputs/message-composer/message-composer.d.ts +7 -7
  268. package/dist/inputs/message-composer/message-composer.d.ts.map +1 -1
  269. package/dist/inputs/number-input/number-input.css.cjs.map +1 -1
  270. package/dist/inputs/number-input/number-input.css.js.map +1 -1
  271. package/dist/inputs/number-input/number-input.d.ts +2 -2
  272. package/dist/inputs/otp-input/otp-input.css.cjs.map +1 -1
  273. package/dist/inputs/otp-input/otp-input.css.js.map +1 -1
  274. package/dist/inputs/qr-scanner/qr-scanner.d.ts +1 -1
  275. package/dist/inputs/qr-scanner/qr-scanner.d.ts.map +1 -1
  276. package/dist/inputs/rating/rating.d.ts +1 -1
  277. package/dist/inputs/rating/rating.d.ts.map +1 -1
  278. package/dist/inputs/select/select.css.cjs +1 -1
  279. package/dist/inputs/select/select.css.cjs.map +1 -1
  280. package/dist/inputs/select/select.css.js +1 -1
  281. package/dist/inputs/select/select.css.js.map +1 -1
  282. package/dist/inputs/select/select.d.ts +1 -1
  283. package/dist/inputs/select/select.d.ts.map +1 -1
  284. package/dist/inputs/shared/field-binding.cjs.map +1 -1
  285. package/dist/inputs/shared/field-binding.d.ts +2 -2
  286. package/dist/inputs/shared/field-binding.d.ts.map +1 -1
  287. package/dist/inputs/shared/field-binding.js.map +1 -1
  288. package/dist/inputs/shared/native-field-event.cjs.map +1 -1
  289. package/dist/inputs/shared/native-field-event.d.ts +1 -1
  290. package/dist/inputs/shared/native-field-event.js.map +1 -1
  291. package/dist/inputs/shared/templates.cjs.map +1 -1
  292. package/dist/inputs/shared/templates.d.ts +3 -3
  293. package/dist/inputs/shared/templates.js.map +1 -1
  294. package/dist/inputs/slider/slider.css.cjs.map +1 -1
  295. package/dist/inputs/slider/slider.css.js.map +1 -1
  296. package/dist/inputs/slider/slider.d.ts +1 -1
  297. package/dist/inputs/slider/slider.d.ts.map +1 -1
  298. package/dist/inputs/textarea/textarea.css.cjs.map +1 -1
  299. package/dist/inputs/textarea/textarea.css.js.map +1 -1
  300. package/dist/inputs/textarea/textarea.d.ts +1 -1
  301. package/dist/inputs/time-picker/time-picker.css.cjs.map +1 -1
  302. package/dist/inputs/time-picker/time-picker.css.js.map +1 -1
  303. package/dist/inputs/time-picker/time-picker.d.ts +1 -1
  304. package/dist/layout/box/box.css.cjs.map +1 -1
  305. package/dist/layout/box/box.css.js.map +1 -1
  306. package/dist/layout/box/box.d.ts +1 -1
  307. package/dist/layout/grid/grid.d.ts +1 -1
  308. package/dist/layout/grid-item/grid-item.d.ts +3 -3
  309. package/dist/layout/grid-item/grid-item.d.ts.map +1 -1
  310. package/dist/layout/navbar/navbar.css.cjs +1 -1
  311. package/dist/layout/navbar/navbar.css.cjs.map +1 -1
  312. package/dist/layout/navbar/navbar.css.js +1 -1
  313. package/dist/layout/navbar/navbar.css.js.map +1 -1
  314. package/dist/layout/navbar/navbar.d.ts +3 -3
  315. package/dist/layout/sidebar/sidebar-item.css.cjs.map +1 -1
  316. package/dist/layout/sidebar/sidebar-item.css.js.map +1 -1
  317. package/dist/layout/sidebar/sidebar.d.ts +5 -5
  318. package/dist/layout/sidebar/sidebar.d.ts.map +1 -1
  319. package/dist/list-item.cjs.map +1 -1
  320. package/dist/list-item.js.map +1 -1
  321. package/dist/list.cjs.map +1 -1
  322. package/dist/list.js.map +1 -1
  323. package/dist/menu.cjs +6 -5
  324. package/dist/menu.cjs.map +1 -1
  325. package/dist/menu.js +6 -5
  326. package/dist/menu.js.map +1 -1
  327. package/dist/message-composer.cjs.map +1 -1
  328. package/dist/message-composer.js.map +1 -1
  329. package/dist/navbar.cjs.map +1 -1
  330. package/dist/navbar.js.map +1 -1
  331. package/dist/number-input.cjs.map +1 -1
  332. package/dist/number-input.js.map +1 -1
  333. package/dist/otp-input.cjs.map +1 -1
  334. package/dist/otp-input.js.map +1 -1
  335. package/dist/overlay/command-palette/command-palette-items.cjs.map +1 -1
  336. package/dist/overlay/command-palette/command-palette-items.d.ts +1 -1
  337. package/dist/overlay/command-palette/command-palette-items.js.map +1 -1
  338. package/dist/overlay/command-palette/command-palette.css.cjs.map +1 -1
  339. package/dist/overlay/command-palette/command-palette.css.js.map +1 -1
  340. package/dist/overlay/command-palette/command-palette.d.ts +3 -3
  341. package/dist/overlay/command-palette/command-palette.types.d.ts +6 -6
  342. package/dist/overlay/command-palette/command-palette.types.d.ts.map +1 -1
  343. package/dist/overlay/dialog/dialog.css.cjs +1 -1
  344. package/dist/overlay/dialog/dialog.css.cjs.map +1 -1
  345. package/dist/overlay/dialog/dialog.css.js +1 -1
  346. package/dist/overlay/dialog/dialog.css.js.map +1 -1
  347. package/dist/overlay/dialog/dialog.d.ts +2 -2
  348. package/dist/overlay/dialog/dialog.d.ts.map +1 -1
  349. package/dist/overlay/drawer/drawer.css.cjs.map +1 -1
  350. package/dist/overlay/drawer/drawer.css.js.map +1 -1
  351. package/dist/overlay/drawer/drawer.d.ts +1 -1
  352. package/dist/overlay/drawer/drawer.d.ts.map +1 -1
  353. package/dist/overlay/menu/menu-item.css.cjs.map +1 -1
  354. package/dist/overlay/menu/menu-item.css.js.map +1 -1
  355. package/dist/overlay/menu/menu.d.ts.map +1 -1
  356. package/dist/overlay/shared/use-dialog.cjs.map +1 -1
  357. package/dist/overlay/shared/use-dialog.d.ts +6 -6
  358. package/dist/overlay/shared/use-dialog.d.ts.map +1 -1
  359. package/dist/overlay/shared/use-dialog.js.map +1 -1
  360. package/dist/overlay/shared/use-floating-trigger.cjs.map +1 -1
  361. package/dist/overlay/shared/use-floating-trigger.d.ts +1 -1
  362. package/dist/overlay/shared/use-floating-trigger.d.ts.map +1 -1
  363. package/dist/overlay/shared/use-floating-trigger.js.map +1 -1
  364. package/dist/overlay/tooltip/tooltip.css.cjs.map +1 -1
  365. package/dist/overlay/tooltip/tooltip.css.js.map +1 -1
  366. package/dist/progress.cjs.map +1 -1
  367. package/dist/progress.js.map +1 -1
  368. package/dist/qr-code.cjs.map +1 -1
  369. package/dist/qr-code.js.map +1 -1
  370. package/dist/qr-scanner.cjs.map +1 -1
  371. package/dist/qr-scanner.js.map +1 -1
  372. package/dist/radio-group.cjs.map +1 -1
  373. package/dist/radio-group.js.map +1 -1
  374. package/dist/radio.cjs.map +1 -1
  375. package/dist/radio.js.map +1 -1
  376. package/dist/rank-item.cjs +21 -0
  377. package/dist/rank-item.cjs.map +1 -0
  378. package/dist/rank-item.js +21 -0
  379. package/dist/rank-item.js.map +1 -0
  380. package/dist/rank-list.cjs +4 -0
  381. package/dist/rank-list.cjs.map +1 -0
  382. package/dist/rank-list.js +4 -0
  383. package/dist/rank-list.js.map +1 -0
  384. package/dist/rating.cjs.map +1 -1
  385. package/dist/rating.js.map +1 -1
  386. package/dist/refine.cjs +103 -80
  387. package/dist/refine.cjs.map +1 -1
  388. package/dist/refine.iife.js +103 -80
  389. package/dist/refine.iife.js.map +1 -1
  390. package/dist/refine.js +104 -81
  391. package/dist/refine.js.map +1 -1
  392. package/dist/select.cjs.map +1 -1
  393. package/dist/select.js.map +1 -1
  394. package/dist/separator.cjs.map +1 -1
  395. package/dist/separator.js.map +1 -1
  396. package/dist/shared/index.d.ts +3 -3
  397. package/dist/shared/size-presets.cjs.map +1 -1
  398. package/dist/shared/size-presets.d.ts +4 -4
  399. package/dist/shared/size-presets.js.map +1 -1
  400. package/dist/shared/types.d.ts +1 -1
  401. package/dist/sidebar.cjs.map +1 -1
  402. package/dist/sidebar.js.map +1 -1
  403. package/dist/skeleton.cjs.map +1 -1
  404. package/dist/skeleton.js.map +1 -1
  405. package/dist/slider.cjs.map +1 -1
  406. package/dist/slider.js.map +1 -1
  407. package/dist/speech-player.cjs.map +1 -1
  408. package/dist/speech-player.js.map +1 -1
  409. package/dist/step.cjs.map +1 -1
  410. package/dist/step.js.map +1 -1
  411. package/dist/stepper.cjs.map +1 -1
  412. package/dist/stepper.js.map +1 -1
  413. package/dist/styles/fouc.css +2 -2
  414. package/dist/styles/mixins/accessibility.css.cjs.map +1 -1
  415. package/dist/styles/mixins/accessibility.css.d.ts +4 -4
  416. package/dist/styles/mixins/accessibility.css.js.map +1 -1
  417. package/dist/styles/mixins/animation.css.cjs +2 -2
  418. package/dist/styles/mixins/animation.css.cjs.map +1 -1
  419. package/dist/styles/mixins/animation.css.d.ts +4 -4
  420. package/dist/styles/mixins/animation.css.js +2 -2
  421. package/dist/styles/mixins/animation.css.js.map +1 -1
  422. package/dist/styles/mixins/field-variants.css.cjs +2 -2
  423. package/dist/styles/mixins/field-variants.css.cjs.map +1 -1
  424. package/dist/styles/mixins/field-variants.css.d.ts +6 -6
  425. package/dist/styles/mixins/field-variants.css.d.ts.map +1 -1
  426. package/dist/styles/mixins/field-variants.css.js +2 -2
  427. package/dist/styles/mixins/field-variants.css.js.map +1 -1
  428. package/dist/styles/mixins/shape.css.cjs.map +1 -1
  429. package/dist/styles/mixins/shape.css.d.ts +9 -9
  430. package/dist/styles/mixins/shape.css.d.ts.map +1 -1
  431. package/dist/styles/mixins/shape.css.js.map +1 -1
  432. package/dist/styles/mixins/variants.css.cjs.map +1 -1
  433. package/dist/styles/mixins/variants.css.d.ts +1 -1
  434. package/dist/styles/mixins/variants.css.js.map +1 -1
  435. package/dist/styles/theme.css +36 -28
  436. package/dist/tab-item.cjs.map +1 -1
  437. package/dist/tab-item.js.map +1 -1
  438. package/dist/tab-panel.cjs.map +1 -1
  439. package/dist/tab-panel.js.map +1 -1
  440. package/dist/table.cjs.map +1 -1
  441. package/dist/table.js.map +1 -1
  442. package/dist/text.cjs.map +1 -1
  443. package/dist/text.js.map +1 -1
  444. package/dist/textarea.cjs.map +1 -1
  445. package/dist/textarea.js.map +1 -1
  446. package/dist/theme.cjs.map +1 -1
  447. package/dist/theme.d.ts +2 -2
  448. package/dist/theme.js.map +1 -1
  449. package/dist/time-picker.cjs +1 -1
  450. package/dist/time-picker.cjs.map +1 -1
  451. package/dist/time-picker.js +1 -1
  452. package/dist/time-picker.js.map +1 -1
  453. package/dist/toast.cjs.map +1 -1
  454. package/dist/toast.js.map +1 -1
  455. package/dist/types/elements.d.ts +6 -2
  456. package/dist/typing-indicator.cjs.map +1 -1
  457. package/dist/typing-indicator.js.map +1 -1
  458. package/dist/utils/css.cjs.map +1 -1
  459. package/dist/utils/css.js.map +1 -1
  460. package/dist/utils/link.cjs.map +1 -1
  461. package/dist/utils/link.d.ts +2 -2
  462. package/dist/utils/link.js.map +1 -1
  463. package/package.json +31 -14
@@ -6,21 +6,21 @@ export type ListVariant = 'bordered' | 'plain' | 'separated';
6
6
  export type ListContext = {
7
7
  /**
8
8
  * Closes every other item's swipe-revealed action panel. Called directly by an item the moment
9
- * its own `revealed` attribute transitions to non-null (gesture or direct attribute set) —
9
+ * its own `revealed` attribute transitions to non-null (gesture or direct attribute set) :
10
10
  * replaces listening for a bubbled `reveal` event and re-deriving "is this actually my direct
11
11
  * child" with a plain function call, the same shape as `select` below.
12
12
  */
13
13
  requestReveal: (item: HTMLElement) => void;
14
14
  /**
15
15
  * Selects `value` (or clears the selection when `undefined`) and fires `change`. Called
16
- * directly by an activated item — mirrors `ore-radio-group`'s `RadioGroupContext.select()`.
16
+ * directly by an activated item: mirrors `ore-radio-group`'s `RadioGroupContext.select()`.
17
17
  * No sibling bookkeeping needed here: every item's `selected` is *derived* from `value`, so
18
18
  * changing it here is the only thing that has to happen.
19
19
  */
20
20
  select: (value: string | undefined) => void;
21
21
  selectable: Readable<boolean>;
22
22
  /**
23
- * Single source of truth for the current selection — `ore-list-item` never owns its own
23
+ * Single source of truth for the current selection: `ore-list-item` never owns its own
24
24
  * "selected" state; it's always derived by comparing its own `value` against this one (the
25
25
  * same shape as `ore-radio-group`'s `RadioGroupContext.value`).
26
26
  */
@@ -37,7 +37,7 @@ export type OreListEvents = {
37
37
  };
38
38
  /** List component properties */
39
39
  export type OreListProps = {
40
- /** Disable the entire list — blocks pointer interaction and removes items from tab order */
40
+ /** Disable the entire list: blocks pointer interaction and removes items from tab order */
41
41
  disabled?: boolean;
42
42
  /**
43
43
  * Enables single-selection listbox behavior: clicking (or pressing Enter/Space on) an item
@@ -48,7 +48,7 @@ export type OreListProps = {
48
48
  /** Size applied to all items (propagated via inherited CSS custom properties) */
49
49
  size?: ComponentSize;
50
50
  /**
51
- * Selected item's `value` (only meaningful when `selectable`) — the single source of truth for
51
+ * Selected item's `value` (only meaningful when `selectable`): the single source of truth for
52
52
  * selection. `ore-list-item` never owns its own selected state; set this directly, bind it for
53
53
  * two-way control, or read it back from `change`.
54
54
  */
@@ -57,10 +57,10 @@ export type OreListProps = {
57
57
  variant?: ListVariant;
58
58
  };
59
59
  /**
60
- * A vertical list container for `ore-list-item` children — plain display list by default, or a
60
+ * A vertical list container for `ore-list-item` children: plain display list by default, or a
61
61
  * keyboard-navigable single-select listbox via `selectable`. Each item can independently reveal
62
62
  * a left/right action panel via touch/pointer swipe (see `ore-list-item`'s `actions-left`/
63
- * `actions-right` slots) — useful for mobile-style row actions (archive, delete, …).
63
+ * `actions-right` slots): useful for mobile-style row actions (archive, delete, …).
64
64
  *
65
65
  * @element ore-list
66
66
  * @element ore-list-item - Child element for each row
@@ -68,7 +68,7 @@ export type OreListProps = {
68
68
  * @attr {boolean} disabled - Disable the entire list
69
69
  * @attr {boolean} selectable - Enable single-selection listbox behavior with arrow-key navigation
70
70
  * @attr {string} size - Size applied to all items: 'sm' | 'md' | 'lg'
71
- * @attr {string} value - Selected item's value (only meaningful when `selectable`) — the single source of truth for selection
71
+ * @attr {string} value - Selected item's value (only meaningful when `selectable`): the single source of truth for selection
72
72
  * @attr {string} variant - Visual variant: 'plain' | 'bordered' | 'separated'
73
73
  *
74
74
  * @fires change - Emitted when the selected value changes. detail: { value: string | null }
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/content/list/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,QAAQ,EAAiB,MAAM,kBAAkB,CAAC;AAI1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,qCAAqC;AACrC,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;AAE7D,sEAAsE;AACtE,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;OAKG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3C;;;;;OAKG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5C,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9B;;;;OAIG;IACH,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACrC,CAAC;AACF,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,mDAA4C,CAAC;AAElE,2CAA2C;AAC3C,MAAM,MAAM,aAAa,GAAG;IAC1B,+EAA+E;IAC/E,MAAM,EAAE;QAAE,KAAK,EAAE,IAAI,GAAG,MAAM,CAAA;KAAE,CAAC;CAClC,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,YAAY,GAAG;IACzB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iFAAiF;IACjF,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0IAA0I;IAC1I,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,QAAQ,EAAG,UAAmB,CAAC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/content/list/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,QAAQ,EAAiB,MAAM,kBAAkB,CAAC;AAI1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,qCAAqC;AACrC,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;AAE7D,sEAAsE;AACtE,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;OAKG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3C;;;;;OAKG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC5C,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9B;;;;OAIG;IACH,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACrC,CAAC;AACF,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,mDAA4C,CAAC;AAElE,2CAA2C;AAC3C,MAAM,MAAM,aAAa,GAAG;IAC1B,+EAA+E;IAC/E,MAAM,EAAE;QAAE,KAAK,EAAE,IAAI,GAAG,MAAM,CAAA;KAAE,CAAC;CAClC,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,YAAY,GAAG;IACzB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iFAAiF;IACjF,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0IAA0I;IAC1I,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,QAAQ,EAAG,UAAmB,CAAC"}
@@ -30,7 +30,7 @@ export type OreQrCodeEvents = {
30
30
  };
31
31
  };
32
32
  /**
33
- * Renders a QR code for `value` as inline SVG — themeable via `currentColor`,
33
+ * Renders a QR code for `value` as inline SVG: themeable via `currentColor`,
34
34
  * crisp at any scale, no canvas. On capacity errors the component shows an
35
35
  * error state and emits `error` rather than throwing.
36
36
  *
@@ -0,0 +1,2 @@
1
+ var e=`@layer refine.base{:host{color:var(--color-contrast-700);display:block}.row{gap:var(--size-3);min-width:0;padding-block:var(--size-1-5);font-size:var(--text-sm);align-items:center;display:flex}.rank{min-width:var(--rank-number-width,var(--size-6));font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--rank-number-color,var(--color-contrast-500));flex-shrink:0;display:block}.rank:not(: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))){text-align:right}.rank: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)){text-align:left}.rank[hidden],.leading[hidden],.description[hidden],.trailing[hidden],.bar[hidden]{display:none}.leading{flex-shrink:0;align-items:center;display:flex}.content{gap:var(--size-0-5);flex-direction:column;flex:1;min-width:0;display:flex}.label{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.description{text-overflow:ellipsis;font-size:var(--text-xs);color:var(--color-contrast-600);white-space:nowrap;display:block;overflow:hidden}.trailing{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-contrast-800);flex-shrink:0;font-weight:600;display:block}.bar{height:var(--rank-bar-height,var(--size-1));background:var(--rank-track-color,var(--color-contrast-100));border-radius:var(--rounded-full);margin-bottom:var(--size-1-5);display:block;overflow:hidden}.bar-fill{background:var(--rank-bar-color,var(--color-primary));width:100%;height:100%;transform:scaleX(var(--_fill,1));transform-origin:0;transition:var(--_motion-transition,transform var(--transition-fast));display:block}}`;exports.default=e;
2
+ //# sourceMappingURL=rank-item.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rank-item.css.cjs","names":[],"sources":["../../../src/content/rank-list/rank-item.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: block;\n color: var(--color-contrast-700);\n }\n\n /* ========================================\n Text Row\n ======================================== */\n\n .row {\n display: flex;\n gap: var(--size-3);\n align-items: center;\n min-width: 0;\n padding-block: var(--size-1-5);\n font-size: var(--text-sm);\n }\n\n /* The list's own order is the accessible truth, so the numeral is decorative; the fixed\n width keeps 1-digit and 2-digit ranks from shifting the label edge. */\n .rank {\n display: block;\n flex-shrink: 0;\n min-width: var(--rank-number-width, var(--size-6));\n font-size: var(--text-xs);\n font-variant-numeric: tabular-nums;\n color: var(--rank-number-color, var(--color-contrast-500));\n text-align: end;\n }\n\n .rank[hidden],\n .leading[hidden],\n .description[hidden],\n .trailing[hidden],\n .bar[hidden] {\n display: none;\n }\n\n .leading {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n }\n\n .content {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--size-0-5);\n min-width: 0;\n }\n\n .label {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .description {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-xs);\n color: var(--color-contrast-600);\n white-space: nowrap;\n }\n\n .trailing {\n display: block;\n flex-shrink: 0;\n font-size: var(--text-sm);\n font-weight: 600;\n font-variant-numeric: tabular-nums;\n color: var(--color-contrast-800);\n }\n\n /* ========================================\n Proportional Bar\n ======================================== */\n\n .bar {\n display: block;\n height: var(--rank-bar-height, var(--size-1));\n margin-block-end: var(--size-1-5);\n overflow: hidden;\n background: var(--rank-track-color, var(--color-contrast-100));\n border-radius: var(--rounded-full);\n }\n\n /* The fill spans the full track and scales to its share: scaling (not width) keeps the\n re-scale a transform animation, and the track's own radius + overflow clip the corners. */\n .bar-fill {\n display: block;\n width: 100%;\n height: 100%;\n background: var(--rank-bar-color, var(--color-primary));\n transform: scaleX(var(--_fill, 1));\n transform-origin: 0 50%;\n transition: var(--_motion-transition, transform var(--transition-fast));\n }\n}\n"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e=`@layer refine.base{:host{color:var(--color-contrast-700);display:block}.row{gap:var(--size-3);min-width:0;padding-block:var(--size-1-5);font-size:var(--text-sm);align-items:center;display:flex}.rank{min-width:var(--rank-number-width,var(--size-6));font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--rank-number-color,var(--color-contrast-500));flex-shrink:0;display:block}.rank:not(: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))){text-align:right}.rank: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)){text-align:left}.rank[hidden],.leading[hidden],.description[hidden],.trailing[hidden],.bar[hidden]{display:none}.leading{flex-shrink:0;align-items:center;display:flex}.content{gap:var(--size-0-5);flex-direction:column;flex:1;min-width:0;display:flex}.label{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.description{text-overflow:ellipsis;font-size:var(--text-xs);color:var(--color-contrast-600);white-space:nowrap;display:block;overflow:hidden}.trailing{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-contrast-800);flex-shrink:0;font-weight:600;display:block}.bar{height:var(--rank-bar-height,var(--size-1));background:var(--rank-track-color,var(--color-contrast-100));border-radius:var(--rounded-full);margin-bottom:var(--size-1-5);display:block;overflow:hidden}.bar-fill{background:var(--rank-bar-color,var(--color-primary));width:100%;height:100%;transform:scaleX(var(--_fill,1));transform-origin:0;transition:var(--_motion-transition,transform var(--transition-fast));display:block}}`;export{e as default};
2
+ //# sourceMappingURL=rank-item.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rank-item.css.js","names":[],"sources":["../../../src/content/rank-list/rank-item.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: block;\n color: var(--color-contrast-700);\n }\n\n /* ========================================\n Text Row\n ======================================== */\n\n .row {\n display: flex;\n gap: var(--size-3);\n align-items: center;\n min-width: 0;\n padding-block: var(--size-1-5);\n font-size: var(--text-sm);\n }\n\n /* The list's own order is the accessible truth, so the numeral is decorative; the fixed\n width keeps 1-digit and 2-digit ranks from shifting the label edge. */\n .rank {\n display: block;\n flex-shrink: 0;\n min-width: var(--rank-number-width, var(--size-6));\n font-size: var(--text-xs);\n font-variant-numeric: tabular-nums;\n color: var(--rank-number-color, var(--color-contrast-500));\n text-align: end;\n }\n\n .rank[hidden],\n .leading[hidden],\n .description[hidden],\n .trailing[hidden],\n .bar[hidden] {\n display: none;\n }\n\n .leading {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n }\n\n .content {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: var(--size-0-5);\n min-width: 0;\n }\n\n .label {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .description {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-xs);\n color: var(--color-contrast-600);\n white-space: nowrap;\n }\n\n .trailing {\n display: block;\n flex-shrink: 0;\n font-size: var(--text-sm);\n font-weight: 600;\n font-variant-numeric: tabular-nums;\n color: var(--color-contrast-800);\n }\n\n /* ========================================\n Proportional Bar\n ======================================== */\n\n .bar {\n display: block;\n height: var(--rank-bar-height, var(--size-1));\n margin-block-end: var(--size-1-5);\n overflow: hidden;\n background: var(--rank-track-color, var(--color-contrast-100));\n border-radius: var(--rounded-full);\n }\n\n /* The fill spans the full track and scales to its share: scaling (not width) keeps the\n re-scale a transform animation, and the track's own radius + overflow clip the corners. */\n .bar-fill {\n display: block;\n width: 100%;\n height: 100%;\n background: var(--rank-bar-color, var(--color-primary));\n transform: scaleX(var(--_fill, 1));\n transform-origin: 0 50%;\n transition: var(--_motion-transition, transform var(--transition-fast));\n }\n}\n"],"mappings":""}
@@ -0,0 +1,68 @@
1
+ /** Rank-item component properties */
2
+ export type OreRankItemProps = {
3
+ /**
4
+ * Show the proportional bar (default). Disable with `bar="false"` for rows whose `value` is
5
+ * not a comparable count (a median duration, a rating), where a scaled bar would imply a
6
+ * ranking the data does not support.
7
+ */
8
+ bar?: boolean;
9
+ /**
10
+ * Rank position within the parent `ore-rank-list`, starting at 1. Assigned automatically in
11
+ * DOM order on every rescan; a hand-written value is overwritten the moment the list syncs.
12
+ */
13
+ rank?: number;
14
+ /**
15
+ * The row's numeric value. Against the largest sibling `value` it sizes the proportional
16
+ * bar, and without a `trailing` slot it is also the row's own formatted display. Omit it on
17
+ * rows whose display is not a count (pass the formatted text in the `trailing` slot instead).
18
+ */
19
+ value?: number;
20
+ };
21
+ /**
22
+ * A single ranked row inside `ore-rank-list`: a rank numeral, an optional `leading` slot
23
+ * (avatar, icon), the label, a secondary `description` line, and a right-aligned `trailing`
24
+ * value, with a proportional bar under the row sized against the largest sibling `value`.
25
+ * The row is the whole visualization: the label and value stay text, so the ranking is
26
+ * readable and accessible with the bar treated as reinforcement, never as the only carrier.
27
+ *
28
+ * @element ore-rank-item
29
+ *
30
+ * @attr {boolean} bar - Show the proportional bar (default). Disable with `bar="false"` for non-count rows.
31
+ * @attr {number} rank - Rank position: assigned automatically by the parent list in DOM order; manual values are overwritten.
32
+ * @attr {number} value - The row's numeric value: sizes the bar against the largest sibling, and is the formatted display when no `trailing` slot is present.
33
+ *
34
+ * @slot leading - Content before the label (e.g. avatar, icon)
35
+ * @slot - Item label
36
+ * @slot description - Secondary line below the label (e.g. sample count)
37
+ * @slot trailing - Right-aligned value display; replaces the formatted `value`
38
+ *
39
+ * @cssprop --rank-number-color - Rank numeral color (default --color-contrast-500)
40
+ * @cssprop --rank-number-width - Rank numeral column width (default --size-6)
41
+ * @cssprop --rank-bar-color - Bar fill color (default --color-primary)
42
+ * @cssprop --rank-track-color - Bar track color (default --color-contrast-100)
43
+ * @cssprop --rank-bar-height - Bar height (default --size-1)
44
+ *
45
+ * @part row - The text row (rank, leading, label, trailing)
46
+ * @part rank - The rank numeral (aria-hidden: the list order carries it)
47
+ * @part leading - The leading slot container
48
+ * @part content - The label + description container
49
+ * @part label - The label slot container
50
+ * @part description - The description slot container
51
+ * @part trailing - The trailing value container
52
+ * @part bar - The bar track
53
+ * @part bar-fill - The bar fill
54
+ * @example
55
+ * ```html
56
+ * <ore-rank-item value="8">
57
+ * <ore-avatar slot="leading" src="alex.png" alt="" rounded="full" size="sm"></ore-avatar>
58
+ * Alex
59
+ * </ore-rank-item>
60
+ * <ore-rank-item value="6" bar="false">
61
+ * Overview
62
+ * <span slot="description">4 timed sessions</span>
63
+ * <span slot="trailing">24m 11s</span>
64
+ * </ore-rank-item>
65
+ * ```
66
+ */
67
+ export declare const RANK_ITEM_TAG: "ore-rank-item";
68
+ //# sourceMappingURL=rank-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rank-item.d.ts","sourceRoot":"","sources":["../../../src/content/rank-list/rank-item.ts"],"names":[],"mappings":"AAOA,qCAAqC;AACrC,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,aAAa,EAAG,eAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ var e=`@layer refine.base{:host{gap:var(--rank-list-gap,var(--size-1));flex-direction:column;display:flex}::slotted(ore-rank-item){display:block}}`;exports.default=e;
2
+ //# sourceMappingURL=rank-list.css.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rank-list.css.cjs","names":[],"sources":["../../../src/content/rank-list/rank-list.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: flex;\n flex-direction: column;\n gap: var(--rank-list-gap, var(--size-1));\n }\n\n ::slotted(ore-rank-item) {\n display: block;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ var e=`@layer refine.base{:host{gap:var(--rank-list-gap,var(--size-1));flex-direction:column;display:flex}::slotted(ore-rank-item){display:block}}`;export{e as default};
2
+ //# sourceMappingURL=rank-list.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rank-list.css.js","names":[],"sources":["../../../src/content/rank-list/rank-list.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: flex;\n flex-direction: column;\n gap: var(--rank-list-gap, var(--size-1));\n }\n\n ::slotted(ore-rank-item) {\n display: block;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,44 @@
1
+ import { type Readable } from '@vielzeug/ripple';
2
+ /** Context provided by `ore-rank-list` to its `ore-rank-item` children. */
3
+ export type RankContext = {
4
+ /**
5
+ * The largest `value` among the item children: the denominator every item divides its own
6
+ * `value` by to size its bar. Always at least `1`, so a list of all-zero values renders
7
+ * empty tracks rather than dividing by zero.
8
+ */
9
+ scale: Readable<number>;
10
+ };
11
+ /** Injection key for the rank context. */
12
+ export declare const RANK_CTX: import("@vielzeug/ore").InjectionKey<RankContext>;
13
+ /** Rank-list component properties: the list takes none; its children carry `value` and `bar`.
14
+ * `unknown` (not `never`) keeps the derived Vue/framework attribute types permissive. */
15
+ export type OreRankListProps = Record<string, unknown>;
16
+ /**
17
+ * A ranked display list: an ordered set of `ore-rank-item` rows where each row's proportional
18
+ * bar makes the ranking scannable without a separate chart. The list itself owns the two
19
+ * facts an item cannot know on its own: the position of each row (assigned back to the item
20
+ * as its `rank` prop, in DOM order) and the scale every bar is measured against (the largest
21
+ * child `value`, shared through context).
22
+ *
23
+ * This is a read-only data display, not a selection control: rows never receive interactive
24
+ * state. Order the items yourself before rendering: the list numbers them, it does not sort
25
+ * them.
26
+ *
27
+ * @element ore-rank-list
28
+ * @element ore-rank-item - Child element for each ranked row
29
+ *
30
+ * @cssprop --rank-list-gap - Vertical gap between rows (default --size-1)
31
+ *
32
+ * @slot - `ore-rank-item` elements as direct children
33
+ *
34
+ * @example
35
+ * ```html
36
+ * <ore-rank-list aria-label="Most visited pages">
37
+ * <ore-rank-item value="8">Documentation</ore-rank-item>
38
+ * <ore-rank-item value="6">Pricing</ore-rank-item>
39
+ * <ore-rank-item value="2" bar="false">Blog<span slot="trailing">18m 24s</span></ore-rank-item>
40
+ * </ore-rank-list>
41
+ * ```
42
+ */
43
+ export declare const RANK_LIST_TAG: "ore-rank-list";
44
+ //# sourceMappingURL=rank-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rank-list.d.ts","sourceRoot":"","sources":["../../../src/content/rank-list/rank-list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAU,MAAM,kBAAkB,CAAC;AAGzD,2EAA2E;AAC3E,MAAM,MAAM,WAAW,GAAG;IACxB;;;;OAIG;IACH,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CACzB,CAAC;AACF,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,mDAA4C,CAAC;AAElE;yFACyF;AACzF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,aAAa,EAAG,eAAwB,CAAC"}
@@ -3,7 +3,7 @@ import type { ThemeColor } from '../../types';
3
3
  export type OreSeparatorProps = {
4
4
  /** Theme color tint */
5
5
  color?: ThemeColor;
6
- /** Decorative only (default true) — set to false for semantic separators */
6
+ /** Decorative only (default true): set to false for semantic separators */
7
7
  decorative?: boolean;
8
8
  /** Optional label text centered on the separator */
9
9
  label?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"separator.d.ts","sourceRoot":"","sources":["../../../src/content/separator/separator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,qCAAqC;AACrC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uBAAuB;IACvB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACzC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,aAAa,EAAG,eAAwB,CAAC"}
1
+ {"version":3,"file":"separator.d.ts","sourceRoot":"","sources":["../../../src/content/separator/separator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,qCAAqC;AACrC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uBAAuB;IACvB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACzC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,aAAa,EAAG,eAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"speech-player.css.cjs","names":[],"sources":["../../../src/content/speech-player/speech-player.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_gap: var(--speech-player-gap, var(--size-1));\n --_control-size: var(--speech-player-control-size, var(--size-8));\n --_icon-color: var(--speech-player-icon-color, var(--text-color-secondary));\n --_active-color: var(--speech-player-active-color, var(--color-primary));\n --_hover-bg: var(--speech-player-hover-bg, var(--color-contrast-100));\n\n display: inline-flex;\n gap: var(--_gap);\n align-items: center;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ── controls ──────────────────────────────────────────────── */\n\n .control {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n min-width: var(--_control-size);\n height: var(--_control-size);\n padding: 0;\n color: var(--_icon-color);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-full);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .control:hover:not(:disabled) {\n color: var(--text-color-body);\n background: var(--_hover-bg);\n }\n\n .control:focus-visible {\n outline: 2px solid var(--color-primary);\n outline-offset: 1px;\n }\n\n .control:disabled {\n cursor: default;\n opacity: 0.5;\n }\n\n .control[hidden] {\n display: none;\n }\n\n /* The toggle is the invitation — icon and, before the first read, the label. A bare\n triangle asks nobody. Once engaged the label folds away; the controls are known. */\n .control--toggle {\n gap: var(--size-1-5);\n padding-inline: var(--size-2);\n }\n\n .toggle-label {\n font-size: var(--text-sm);\n white-space: nowrap;\n }\n\n .toggle-label[hidden] {\n display: none;\n }\n\n /* The gauge marks the pace control; the text names its step, and the widest step\n sets the floor so the row never shifts while cycling. */\n .control--rate {\n gap: var(--size-1-5);\n padding-inline: var(--size-2);\n font-size: var(--text-sm);\n font-variant-numeric: tabular-nums;\n }\n\n .rate-text {\n min-width: 5ch;\n text-align: center;\n }\n\n /* While reading, the toggle carries the accent — the control's \"now playing\" state,\n distinct from its resting tone without a heavier affordance. */\n :host([state='playing']) .control--toggle,\n :host([state='paused']) .control--toggle {\n color: var(--_active-color);\n }\n\n /* .sr-only is provided by the shared srOnlyMixin (see styles: [...] in speech-player.ts) */\n}\n"],"mappings":""}
1
+ {"version":3,"file":"speech-player.css.cjs","names":[],"sources":["../../../src/content/speech-player/speech-player.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_gap: var(--speech-player-gap, var(--size-1));\n --_control-size: var(--speech-player-control-size, var(--size-8));\n --_icon-color: var(--speech-player-icon-color, var(--text-color-secondary));\n --_active-color: var(--speech-player-active-color, var(--color-primary));\n --_hover-bg: var(--speech-player-hover-bg, var(--color-contrast-100));\n\n display: inline-flex;\n gap: var(--_gap);\n align-items: center;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ── controls ──────────────────────────────────────────────── */\n\n .control {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n min-width: var(--_control-size);\n height: var(--_control-size);\n padding: 0;\n color: var(--_icon-color);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-full);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .control:hover:not(:disabled) {\n color: var(--text-color-body);\n background: var(--_hover-bg);\n }\n\n .control:focus-visible {\n outline: 2px solid var(--color-primary);\n outline-offset: 1px;\n }\n\n .control:disabled {\n cursor: default;\n opacity: 0.5;\n }\n\n .control[hidden] {\n display: none;\n }\n\n /* The toggle is the invitation: icon and, before the first read, the label. A bare\n triangle asks nobody. Once engaged the label folds away; the controls are known. */\n .control--toggle {\n gap: var(--size-1-5);\n padding-inline: var(--size-2);\n }\n\n .toggle-label {\n font-size: var(--text-sm);\n white-space: nowrap;\n }\n\n .toggle-label[hidden] {\n display: none;\n }\n\n /* The gauge marks the pace control; the text names its step, and the widest step\n sets the floor so the row never shifts while cycling. */\n .control--rate {\n gap: var(--size-1-5);\n padding-inline: var(--size-2);\n font-size: var(--text-sm);\n font-variant-numeric: tabular-nums;\n }\n\n .rate-text {\n min-width: 5ch;\n text-align: center;\n }\n\n /* While reading, the toggle carries the accent: the control's \"now playing\" state,\n distinct from its resting tone without a heavier affordance. */\n :host([state='playing']) .control--toggle,\n :host([state='paused']) .control--toggle {\n color: var(--_active-color);\n }\n\n /* .sr-only is provided by the shared srOnlyMixin (see styles: [...] in speech-player.ts) */\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"speech-player.css.js","names":[],"sources":["../../../src/content/speech-player/speech-player.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_gap: var(--speech-player-gap, var(--size-1));\n --_control-size: var(--speech-player-control-size, var(--size-8));\n --_icon-color: var(--speech-player-icon-color, var(--text-color-secondary));\n --_active-color: var(--speech-player-active-color, var(--color-primary));\n --_hover-bg: var(--speech-player-hover-bg, var(--color-contrast-100));\n\n display: inline-flex;\n gap: var(--_gap);\n align-items: center;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ── controls ──────────────────────────────────────────────── */\n\n .control {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n min-width: var(--_control-size);\n height: var(--_control-size);\n padding: 0;\n color: var(--_icon-color);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-full);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .control:hover:not(:disabled) {\n color: var(--text-color-body);\n background: var(--_hover-bg);\n }\n\n .control:focus-visible {\n outline: 2px solid var(--color-primary);\n outline-offset: 1px;\n }\n\n .control:disabled {\n cursor: default;\n opacity: 0.5;\n }\n\n .control[hidden] {\n display: none;\n }\n\n /* The toggle is the invitation — icon and, before the first read, the label. A bare\n triangle asks nobody. Once engaged the label folds away; the controls are known. */\n .control--toggle {\n gap: var(--size-1-5);\n padding-inline: var(--size-2);\n }\n\n .toggle-label {\n font-size: var(--text-sm);\n white-space: nowrap;\n }\n\n .toggle-label[hidden] {\n display: none;\n }\n\n /* The gauge marks the pace control; the text names its step, and the widest step\n sets the floor so the row never shifts while cycling. */\n .control--rate {\n gap: var(--size-1-5);\n padding-inline: var(--size-2);\n font-size: var(--text-sm);\n font-variant-numeric: tabular-nums;\n }\n\n .rate-text {\n min-width: 5ch;\n text-align: center;\n }\n\n /* While reading, the toggle carries the accent — the control's \"now playing\" state,\n distinct from its resting tone without a heavier affordance. */\n :host([state='playing']) .control--toggle,\n :host([state='paused']) .control--toggle {\n color: var(--_active-color);\n }\n\n /* .sr-only is provided by the shared srOnlyMixin (see styles: [...] in speech-player.ts) */\n}\n"],"mappings":""}
1
+ {"version":3,"file":"speech-player.css.js","names":[],"sources":["../../../src/content/speech-player/speech-player.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_gap: var(--speech-player-gap, var(--size-1));\n --_control-size: var(--speech-player-control-size, var(--size-8));\n --_icon-color: var(--speech-player-icon-color, var(--text-color-secondary));\n --_active-color: var(--speech-player-active-color, var(--color-primary));\n --_hover-bg: var(--speech-player-hover-bg, var(--color-contrast-100));\n\n display: inline-flex;\n gap: var(--_gap);\n align-items: center;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ── controls ──────────────────────────────────────────────── */\n\n .control {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n min-width: var(--_control-size);\n height: var(--_control-size);\n padding: 0;\n color: var(--_icon-color);\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-full);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .control:hover:not(:disabled) {\n color: var(--text-color-body);\n background: var(--_hover-bg);\n }\n\n .control:focus-visible {\n outline: 2px solid var(--color-primary);\n outline-offset: 1px;\n }\n\n .control:disabled {\n cursor: default;\n opacity: 0.5;\n }\n\n .control[hidden] {\n display: none;\n }\n\n /* The toggle is the invitation: icon and, before the first read, the label. A bare\n triangle asks nobody. Once engaged the label folds away; the controls are known. */\n .control--toggle {\n gap: var(--size-1-5);\n padding-inline: var(--size-2);\n }\n\n .toggle-label {\n font-size: var(--text-sm);\n white-space: nowrap;\n }\n\n .toggle-label[hidden] {\n display: none;\n }\n\n /* The gauge marks the pace control; the text names its step, and the widest step\n sets the floor so the row never shifts while cycling. */\n .control--rate {\n gap: var(--size-1-5);\n padding-inline: var(--size-2);\n font-size: var(--text-sm);\n font-variant-numeric: tabular-nums;\n }\n\n .rate-text {\n min-width: 5ch;\n text-align: center;\n }\n\n /* While reading, the toggle carries the accent: the control's \"now playing\" state,\n distinct from its resting tone without a heavier affordance. */\n :host([state='playing']) .control--toggle,\n :host([state='paused']) .control--toggle {\n color: var(--_active-color);\n }\n\n /* .sr-only is provided by the shared srOnlyMixin (see styles: [...] in speech-player.ts) */\n}\n"],"mappings":""}
@@ -1,7 +1,7 @@
1
1
  export { ICON_TAG } from '../icon/icon';
2
- /** The player's reflected state — `unsupported` when the Web Speech API is missing. */
2
+ /** The player's reflected state: `unsupported` when the Web Speech API is missing. */
3
3
  export type SpeechPlayerState = 'idle' | 'playing' | 'paused' | 'unsupported';
4
- /** The rate steps the speed control cycles through — normal, slow, fast. */
4
+ /** The rate steps the speed control cycles through: normal, slow, fast. */
5
5
  export declare const SPEECH_RATES: readonly [1, 0.85, 1.15];
6
6
  export type SpeechRate = (typeof SPEECH_RATES)[number];
7
7
  /** Every user-facing string the component renders or announces. Override the `labels`
@@ -40,13 +40,13 @@ export type OreSpeechPlayerLabels = {
40
40
  };
41
41
  /** Speech player component properties */
42
42
  export type OreSpeechPlayerProps = {
43
- /** Labels for the controls and announcements — override to localize. */
43
+ /** Labels for the controls and announcements: override to localize. */
44
44
  labels?: Partial<OreSpeechPlayerLabels>;
45
- /** Playback rate — bind with `rate-change` to persist the listener's choice; unbound,
45
+ /** Playback rate: bind with `rate-change` to persist the listener's choice; unbound,
46
46
  * the speed control cycles on its own. Values outside `SPEECH_RATES` snap into the
47
47
  * cycle at the control's first use. */
48
48
  rate?: number;
49
- /** The sentence index playback begins from — bind a persisted position so "resume"
49
+ /** The sentence index playback begins from: bind a persisted position so "resume"
50
50
  * survives stops, collapses, and page loads. */
51
51
  'resume-at'?: number;
52
52
  /** The text to read aloud. */
@@ -56,11 +56,11 @@ export type OreSpeechPlayerProps = {
56
56
  export type OreSpeechPlayerEvents = {
57
57
  /** Reading finished on its own. */
58
58
  end: undefined;
59
- /** The engine failed mid-read — reading stopped, but not by the listener. */
59
+ /** The engine failed mid-read: reading stopped, but not by the listener. */
60
60
  error: undefined;
61
- /** Reading started — from the control or a `play()` call. */
61
+ /** Reading started: from the control or a `play()` call. */
62
62
  play: undefined;
63
- /** A sentence began — carry `sentence` of `total` to the surfaces that follow the voice. */
63
+ /** A sentence began: carry `sentence` of `total` to the surfaces that follow the voice. */
64
64
  progress: {
65
65
  sentence: number;
66
66
  total: number;
@@ -69,26 +69,26 @@ export type OreSpeechPlayerEvents = {
69
69
  'rate-change': {
70
70
  rate: number;
71
71
  };
72
- /** Reading stopped before finishing — from the control or a `stop()` call. */
72
+ /** Reading stopped before finishing: from the control or a `stop()` call. */
73
73
  stop: undefined;
74
74
  };
75
75
  /** Element interface exposing the imperative API for `ore-speech-player`. */
76
76
  export interface SpeechPlayerElement extends HTMLElement, OreSpeechPlayerProps {
77
77
  /** Pauses the current reading. */
78
78
  pause(): void;
79
- /** Starts reading — from `resume-at` when bound, else from the beginning.
79
+ /** Starts reading: from `resume-at` when bound, else from the beginning.
80
80
  * Any player already reading stops first. */
81
81
  play(): void;
82
82
  /** Stops reading and cancels pending speech. */
83
83
  stop(): void;
84
84
  }
85
- /** The entry's sentences — prose ends . ! or ?, closing quotes belong to the sentence
85
+ /** The entry's sentences: prose ends . ! or ?, closing quotes belong to the sentence
86
86
  * they end, and an unterminated tail is still a sentence. Consumers that highlight what
87
87
  * is being read build their display from this same list, so `progress` sentence indexes
88
88
  * map onto their own. */
89
89
  export declare function speechSentences(text: string): string[];
90
90
  /**
91
- * A text-to-speech player control — reads its `text` aloud through the Web Speech API.
91
+ * A text-to-speech player control: reads its `text` aloud through the Web Speech API.
92
92
  *
93
93
  * Renders a labeled play/pause toggle (the label folds away once engaged), a stop
94
94
  * control beside it that appears while reading, and a speed control cycling
@@ -1 +1 @@
1
- {"version":3,"file":"speech-player.d.ts","sourceRoot":"","sources":["../../../src/content/speech-player/speech-player.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,uFAAuF;AACvF,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;AAE9E,4EAA4E;AAC5E,eAAO,MAAM,YAAY,0BAA2B,CAAC;AACrD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD;oDACoD;AACpD,MAAM,MAAM,qBAAqB,GAAG;IAClC,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAoBF,yCAAyC;AACzC,MAAM,MAAM,oBAAoB,GAAG;IACjC,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACxC;;4CAEwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;qDACiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qCAAqC;AACrC,MAAM,MAAM,qBAAqB,GAAG;IAClC,mCAAmC;IACnC,GAAG,EAAE,SAAS,CAAC;IACf,6EAA6E;IAC7E,KAAK,EAAE,SAAS,CAAC;IACjB,6DAA6D;IAC7D,IAAI,EAAE,SAAS,CAAC;IAChB,4FAA4F;IAC5F,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,6CAA6C;IAC7C,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,8EAA8E;IAC9E,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,6EAA6E;AAC7E,MAAM,WAAW,mBAAoB,SAAQ,WAAW,EAAE,oBAAoB;IAC5E,kCAAkC;IAClC,KAAK,IAAI,IAAI,CAAC;IACd;kDAC8C;IAC9C,IAAI,IAAI,IAAI,CAAC;IACb,gDAAgD;IAChD,IAAI,IAAI,IAAI,CAAC;CACd;AAMD;;;0BAG0B;AAC1B,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAStD;AA6BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,iBAAiB,EAAG,mBAA4B,CAAC"}
1
+ {"version":3,"file":"speech-player.d.ts","sourceRoot":"","sources":["../../../src/content/speech-player/speech-player.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,sFAAsF;AACtF,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;AAE9E,2EAA2E;AAC3E,eAAO,MAAM,YAAY,0BAA2B,CAAC;AACrD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD;oDACoD;AACpD,MAAM,MAAM,qBAAqB,GAAG;IAClC,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAoBF,yCAAyC;AACzC,MAAM,MAAM,oBAAoB,GAAG;IACjC,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACxC;;4CAEwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;qDACiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qCAAqC;AACrC,MAAM,MAAM,qBAAqB,GAAG;IAClC,mCAAmC;IACnC,GAAG,EAAE,SAAS,CAAC;IACf,4EAA4E;IAC5E,KAAK,EAAE,SAAS,CAAC;IACjB,4DAA4D;IAC5D,IAAI,EAAE,SAAS,CAAC;IAChB,2FAA2F;IAC3F,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,6CAA6C;IAC7C,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,6EAA6E;IAC7E,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,6EAA6E;AAC7E,MAAM,WAAW,mBAAoB,SAAQ,WAAW,EAAE,oBAAoB;IAC5E,kCAAkC;IAClC,KAAK,IAAI,IAAI,CAAC;IACd;kDAC8C;IAC9C,IAAI,IAAI,IAAI,CAAC;IACb,gDAAgD;IAChD,IAAI,IAAI,IAAI,CAAC;CACd;AAMD;;;0BAG0B;AAC1B,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAStD;AA6BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,iBAAiB,EAAG,mBAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"step.css.cjs","names":[],"sources":["../../../src/content/stepper/step.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --step-indicator-size: var(--size-8);\n --step-font-size: var(--text-sm);\n --step-gap: var(--size-2);\n display: flex;\n flex: 1 1 0%;\n min-width: 0;\n }\n\n .step {\n position: relative;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n width: 100%;\n list-style: none;\n }\n\n /* Horizontal (default) layout centers the indicator above the label in each equal-width\n column (see `.control`/`.content` below) so the indicator sits at a predictable, constant\n horizontal position — the midpoint of its own step — regardless of label length. The full\n line between two indicators is drawn as *two* halves — this step's own `.connector-leading`\n (its own left edge to its own indicator) and `.connector-trailing` (its own indicator to its\n own right edge) — each confined entirely inside this step's own box. Reaching a single\n connector backward into the previous step's box (an earlier attempt) doesn't work: `ore-step`\n is its own custom element/shadow root, so a later sibling's positioned content always paints\n in front of an earlier sibling's regardless of internal stacking, and `.control`'s own hover\n background only covers its own box — so the part of the line sitting outside it looked like\n a stray line poking out next to the hover highlight instead of being part of it. */\n .connector {\n position: absolute;\n top: calc(var(--size-1) + var(--step-indicator-size) / 2);\n width: calc(50% - var(--step-indicator-size) / 2);\n height: var(--stepper-connector-size, 2px);\n background: var(--stepper-connector-color, var(--color-contrast-200));\n border-radius: var(--rounded-full);\n transform: translateY(-50%);\n transition: background var(--transition-fast);\n }\n\n .connector-leading {\n left: 0;\n }\n\n .connector-trailing {\n right: 0;\n }\n\n /* No preceding/following step to connect to. */\n :host(:first-of-type) .connector-leading {\n display: none;\n }\n\n :host(:last-of-type) .connector-trailing {\n display: none;\n }\n\n .control {\n all: unset;\n\n /* Declared after `all: unset` (which resets `position` back to `static`), not before it.\n Puts `.control` in the same paint order as `.connector` (also positioned) instead of\n `.connector` — being absolutely positioned — automatically painting above all of this\n *static*, normal-flow content regardless of DOM order. `.control` comes after\n `.connector` in the markup, so with both positioned it (and the opaque indicator inside\n it) now correctly paints over the connector line instead of the line cutting across\n every indicator. */\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--step-gap);\n align-items: center;\n width: 100%;\n min-width: 0;\n padding: var(--size-1);\n font-family: inherit;\n cursor: default;\n border-radius: var(--rounded-lg);\n }\n\n button.control {\n min-height: var(--_touch-target, auto);\n cursor: pointer;\n transition: background var(--transition-fast);\n }\n\n button.control:focus-visible {\n outline: var(--border-2) solid var(--_theme-base, var(--color-contrast-500));\n outline-offset: var(--border-2);\n }\n\n button.control[aria-disabled='true'] {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n .indicator {\n /* Without this, the `border` below adds on top of `width`/`height` instead of being\n included in them, rendering the indicator ~2 * border-width larger per axis than\n `--step-indicator-size` — every connector position calc using that variable to line up\n with the indicator's true center/edge (especially the vertical connector's horizontal\n `left`, which has no flexbox centering to fall back on) would then be off by that much. */\n box-sizing: border-box;\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n width: var(--step-indicator-size);\n height: var(--step-indicator-size);\n font-size: var(--step-font-size);\n font-weight: var(--font-semibold);\n color: var(--color-contrast-500);\n background: var(--color-contrast-100);\n border: var(--border-2) solid var(--color-contrast-200);\n border-radius: var(--rounded-full);\n transition:\n background var(--transition-fast),\n color var(--transition-fast),\n border-color var(--transition-fast);\n }\n\n .icon-slot[hidden] {\n display: none;\n }\n\n .number {\n line-height: 1;\n }\n\n .content {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n align-items: center;\n min-width: 0;\n max-width: 100%;\n text-align: center;\n }\n\n .label {\n display: flex;\n gap: var(--size-1);\n align-items: baseline;\n justify-content: center;\n min-width: 0;\n max-width: 100%;\n font-size: var(--step-font-size);\n font-weight: var(--font-medium);\n color: var(--color-contrast-700);\n }\n\n .label-text {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .optional-hint {\n flex: 0 0 auto;\n font-size: var(--text-xs);\n font-weight: var(--font-normal);\n color: var(--color-contrast-400);\n }\n\n .description {\n font-size: var(--text-xs);\n color: var(--color-contrast-500);\n }\n\n .description[hidden] {\n display: none;\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n white-space: nowrap;\n border-width: 0;\n clip-path: inset(50%);\n }\n}\n\n@layer refine.states {\n :host([current]) .indicator {\n color: var(--_theme-contrast, var(--color-canvas));\n background: var(--_theme-base, var(--color-contrast-800));\n border-color: var(--_theme-base, var(--color-contrast-800));\n }\n\n :host([current]) .label {\n font-weight: var(--font-semibold);\n color: var(--color-contrast-900);\n }\n\n :host([completed]) .indicator {\n color: var(--_theme-contrast, var(--color-canvas));\n background: var(--_theme-focus, var(--color-contrast-600));\n border-color: var(--_theme-focus, var(--color-contrast-600));\n }\n\n /* A completed step colors both the segment leading into it and the one trailing out of it\n (progress has fully passed through); the current step only colors the leading segment\n (progress has arrived, but not yet moved past it into the next step). */\n :host([completed]) .connector,\n :host([current]) .connector-leading {\n background: var(--_theme-focus, var(--color-contrast-400));\n }\n\n :host([error]) .indicator {\n color: var(--color-canvas);\n background: var(--color-error);\n border-color: var(--color-error);\n }\n\n :host([error]) .label {\n color: var(--color-error);\n }\n\n :host([disabled]) .label,\n :host([disabled]) .description {\n color: var(--color-contrast-400);\n }\n\n :host([disabled]) .indicator {\n opacity: 0.6;\n }\n}\n\n@layer refine.sizes {\n :host([size='sm']) {\n --step-indicator-size: var(--size-6);\n --step-font-size: var(--text-xs);\n --step-gap: var(--size-1-5);\n }\n\n :host(:not([size])),\n :host([size='md']) {\n --step-indicator-size: var(--size-8);\n --step-font-size: var(--text-sm);\n --step-gap: var(--size-2);\n }\n\n :host([size='lg']) {\n --step-indicator-size: var(--size-10);\n --step-font-size: var(--text-base);\n --step-gap: var(--size-2-5);\n }\n\n @media (pointer: coarse) {\n :host(:not([size])),\n :host([size='sm']),\n :host([size='md']) {\n --step-indicator-size: var(--size-9);\n --step-font-size: var(--text-sm);\n }\n }\n}\n\n@layer refine.orientation {\n /* Vertical (mobile-friendly) layout: back to the inline icon-beside-label arrangement (more\n compact for narrow/mobile widths), with `padding-block-start` reserving room for a\n top-to-bottom connector into this step's own indicator instead of the horizontal\n center-to-center line above. */\n :host([orientation='vertical']) {\n flex: 0 0 auto;\n width: 100%;\n }\n\n :host([orientation='vertical']) .step {\n align-items: flex-start;\n padding-block-start: var(--stepper-gap, var(--size-4));\n }\n\n :host([orientation='vertical']:first-of-type) .step {\n padding-block-start: 0;\n }\n\n :host([orientation='vertical']) .control {\n flex-direction: row;\n align-items: flex-start;\n }\n\n :host([orientation='vertical']) .content {\n align-items: flex-start;\n text-align: left;\n }\n\n :host([orientation='vertical']) .label {\n justify-content: flex-start;\n }\n\n /* Same two-halves idea as horizontal, rotated: `.connector-leading` runs from this step's own\n top edge down into its indicator (through the `padding-block-start` gap reserved above).\n `.connector-trailing` runs from the *bottom* of this step's indicator down to this step's\n own bottom edge — using `top`+`bottom` (no fixed `height`) so it stretches to whatever this\n step's content actually needs, instead of a fixed length that only reached as far as the\n padding gap. A step with a longer description is taller, and its trailing segment grows\n with it — the next step's leading segment then only has to bridge the fixed padding gap,\n so the two halves always meet exactly at the boundary between the two steps regardless of\n how much content either one has. */\n :host([orientation='vertical']) .connector-leading {\n top: 0;\n left: calc(var(--size-1) + var(--step-indicator-size) / 2);\n width: var(--stepper-connector-size, 2px);\n height: calc(var(--stepper-gap, var(--size-4)) + var(--size-1));\n transform: translateX(-50%);\n }\n\n :host([orientation='vertical']) .connector-trailing {\n inset: calc(var(--stepper-gap, var(--size-4)) + var(--size-1) + var(--step-indicator-size)) auto 0\n calc(var(--size-1) + var(--step-indicator-size) / 2);\n width: var(--stepper-connector-size, 2px);\n height: auto;\n transform: translateX(-50%);\n }\n\n /* The first step's `padding-block-start` is reset to 0 above (no incoming line to make room\n for) — `.connector-trailing`'s `top` has to drop the same gap term here, or it starts\n lower than the indicator's true bottom edge and its `bottom: 0` counterpart can compute a\n negative (clamped to 0) height, hiding the segment entirely. */\n :host([orientation='vertical']:first-of-type) .connector-trailing {\n top: calc(var(--size-1) + var(--step-indicator-size));\n }\n}\n\n@media (forced-colors: active) {\n .indicator {\n border: 1px solid ButtonText;\n }\n\n :host([current]) .indicator,\n :host([completed]) .indicator {\n border: 1px solid Highlight;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"step.css.cjs","names":[],"sources":["../../../src/content/stepper/step.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --step-indicator-size: var(--size-8);\n --step-font-size: var(--text-sm);\n --step-gap: var(--size-2);\n display: flex;\n flex: 1 1 0%;\n min-width: 0;\n }\n\n .step {\n position: relative;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n width: 100%;\n list-style: none;\n }\n\n /* Horizontal (default) layout centers the indicator above the label in each equal-width\n column (see `.control`/`.content` below) so the indicator sits at a predictable, constant\n horizontal position: the midpoint of its own step: regardless of label length. The full\n line between two indicators is drawn as *two* halves: this step's own `.connector-leading`\n (its own left edge to its own indicator) and `.connector-trailing` (its own indicator to its\n own right edge): each confined entirely inside this step's own box. Reaching a single\n connector backward into the previous step's box (an earlier attempt) doesn't work: `ore-step`\n is its own custom element/shadow root, so a later sibling's positioned content always paints\n in front of an earlier sibling's regardless of internal stacking, and `.control`'s own hover\n background only covers its own box, so the part of the line sitting outside it looked like\n a stray line poking out next to the hover highlight instead of being part of it. */\n .connector {\n position: absolute;\n top: calc(var(--size-1) + var(--step-indicator-size) / 2);\n width: calc(50% - var(--step-indicator-size) / 2);\n height: var(--stepper-connector-size, 2px);\n background: var(--stepper-connector-color, var(--color-contrast-200));\n border-radius: var(--rounded-full);\n transform: translateY(-50%);\n transition: background var(--transition-fast);\n }\n\n .connector-leading {\n left: 0;\n }\n\n .connector-trailing {\n right: 0;\n }\n\n /* No preceding/following step to connect to. */\n :host(:first-of-type) .connector-leading {\n display: none;\n }\n\n :host(:last-of-type) .connector-trailing {\n display: none;\n }\n\n .control {\n all: unset;\n\n /* Declared after `all: unset` (which resets `position` back to `static`), not before it.\n Puts `.control` in the same paint order as `.connector` (also positioned) instead of\n `.connector`: being absolutely positioned: automatically painting above all of this\n *static*, normal-flow content regardless of DOM order. `.control` comes after\n `.connector` in the markup, so with both positioned it (and the opaque indicator inside\n it) now correctly paints over the connector line instead of the line cutting across\n every indicator. */\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--step-gap);\n align-items: center;\n width: 100%;\n min-width: 0;\n padding: var(--size-1);\n font-family: inherit;\n cursor: default;\n border-radius: var(--rounded-lg);\n }\n\n button.control {\n min-height: var(--_touch-target, auto);\n cursor: pointer;\n transition: background var(--transition-fast);\n }\n\n button.control:focus-visible {\n outline: var(--border-2) solid var(--_theme-base, var(--color-contrast-500));\n outline-offset: var(--border-2);\n }\n\n button.control[aria-disabled='true'] {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n .indicator {\n /* Without this, the `border` below adds on top of `width`/`height` instead of being\n included in them, rendering the indicator ~2 * border-width larger per axis than\n `--step-indicator-size`: every connector position calc using that variable to line up\n with the indicator's true center/edge (especially the vertical connector's horizontal\n `left`, which has no flexbox centering to fall back on) would then be off by that much. */\n box-sizing: border-box;\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n width: var(--step-indicator-size);\n height: var(--step-indicator-size);\n font-size: var(--step-font-size);\n font-weight: var(--font-semibold);\n color: var(--color-contrast-500);\n background: var(--color-contrast-100);\n border: var(--border-2) solid var(--color-contrast-200);\n border-radius: var(--rounded-full);\n transition:\n background var(--transition-fast),\n color var(--transition-fast),\n border-color var(--transition-fast);\n }\n\n .icon-slot[hidden] {\n display: none;\n }\n\n .number {\n line-height: 1;\n }\n\n .content {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n align-items: center;\n min-width: 0;\n max-width: 100%;\n text-align: center;\n }\n\n .label {\n display: flex;\n gap: var(--size-1);\n align-items: baseline;\n justify-content: center;\n min-width: 0;\n max-width: 100%;\n font-size: var(--step-font-size);\n font-weight: var(--font-medium);\n color: var(--color-contrast-700);\n }\n\n .label-text {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .optional-hint {\n flex: 0 0 auto;\n font-size: var(--text-xs);\n font-weight: var(--font-normal);\n color: var(--color-contrast-400);\n }\n\n .description {\n font-size: var(--text-xs);\n color: var(--color-contrast-500);\n }\n\n .description[hidden] {\n display: none;\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n white-space: nowrap;\n border-width: 0;\n clip-path: inset(50%);\n }\n}\n\n@layer refine.states {\n :host([current]) .indicator {\n color: var(--_theme-contrast, var(--color-canvas));\n background: var(--_theme-base, var(--color-contrast-800));\n border-color: var(--_theme-base, var(--color-contrast-800));\n }\n\n :host([current]) .label {\n font-weight: var(--font-semibold);\n color: var(--color-contrast-900);\n }\n\n :host([completed]) .indicator {\n color: var(--_theme-contrast, var(--color-canvas));\n background: var(--_theme-focus, var(--color-contrast-600));\n border-color: var(--_theme-focus, var(--color-contrast-600));\n }\n\n /* A completed step colors both the segment leading into it and the one trailing out of it\n (progress has fully passed through); the current step only colors the leading segment\n (progress has arrived, but not yet moved past it into the next step). */\n :host([completed]) .connector,\n :host([current]) .connector-leading {\n background: var(--_theme-focus, var(--color-contrast-400));\n }\n\n :host([error]) .indicator {\n color: var(--color-canvas);\n background: var(--color-error);\n border-color: var(--color-error);\n }\n\n :host([error]) .label {\n color: var(--color-error);\n }\n\n :host([disabled]) .label,\n :host([disabled]) .description {\n color: var(--color-contrast-400);\n }\n\n :host([disabled]) .indicator {\n opacity: 0.6;\n }\n}\n\n@layer refine.sizes {\n :host([size='sm']) {\n --step-indicator-size: var(--size-6);\n --step-font-size: var(--text-xs);\n --step-gap: var(--size-1-5);\n }\n\n :host(:not([size])),\n :host([size='md']) {\n --step-indicator-size: var(--size-8);\n --step-font-size: var(--text-sm);\n --step-gap: var(--size-2);\n }\n\n :host([size='lg']) {\n --step-indicator-size: var(--size-10);\n --step-font-size: var(--text-base);\n --step-gap: var(--size-2-5);\n }\n\n @media (pointer: coarse) {\n :host(:not([size])),\n :host([size='sm']),\n :host([size='md']) {\n --step-indicator-size: var(--size-9);\n --step-font-size: var(--text-sm);\n }\n }\n}\n\n@layer refine.orientation {\n /* Vertical (mobile-friendly) layout: back to the inline icon-beside-label arrangement (more\n compact for narrow/mobile widths), with `padding-block-start` reserving room for a\n top-to-bottom connector into this step's own indicator instead of the horizontal\n center-to-center line above. */\n :host([orientation='vertical']) {\n flex: 0 0 auto;\n width: 100%;\n }\n\n :host([orientation='vertical']) .step {\n align-items: flex-start;\n padding-block-start: var(--stepper-gap, var(--size-4));\n }\n\n :host([orientation='vertical']:first-of-type) .step {\n padding-block-start: 0;\n }\n\n :host([orientation='vertical']) .control {\n flex-direction: row;\n align-items: flex-start;\n }\n\n :host([orientation='vertical']) .content {\n align-items: flex-start;\n text-align: left;\n }\n\n :host([orientation='vertical']) .label {\n justify-content: flex-start;\n }\n\n /* Same two-halves idea as horizontal, rotated: `.connector-leading` runs from this step's own\n top edge down into its indicator (through the `padding-block-start` gap reserved above).\n `.connector-trailing` runs from the *bottom* of this step's indicator down to this step's\n own bottom edge: using `top`+`bottom` (no fixed `height`) so it stretches to whatever this\n step's content actually needs, instead of a fixed length that only reached as far as the\n padding gap. A step with a longer description is taller, and its trailing segment grows\n with it: the next step's leading segment then only has to bridge the fixed padding gap,\n so the two halves always meet exactly at the boundary between the two steps regardless of\n how much content either one has. */\n :host([orientation='vertical']) .connector-leading {\n top: 0;\n left: calc(var(--size-1) + var(--step-indicator-size) / 2);\n width: var(--stepper-connector-size, 2px);\n height: calc(var(--stepper-gap, var(--size-4)) + var(--size-1));\n transform: translateX(-50%);\n }\n\n :host([orientation='vertical']) .connector-trailing {\n inset: calc(var(--stepper-gap, var(--size-4)) + var(--size-1) + var(--step-indicator-size)) auto 0\n calc(var(--size-1) + var(--step-indicator-size) / 2);\n width: var(--stepper-connector-size, 2px);\n height: auto;\n transform: translateX(-50%);\n }\n\n /* The first step's `padding-block-start` is reset to 0 above (no incoming line to make room\n for): `.connector-trailing`'s `top` has to drop the same gap term here, or it starts\n lower than the indicator's true bottom edge and its `bottom: 0` counterpart can compute a\n negative (clamped to 0) height, hiding the segment entirely. */\n :host([orientation='vertical']:first-of-type) .connector-trailing {\n top: calc(var(--size-1) + var(--step-indicator-size));\n }\n}\n\n@media (forced-colors: active) {\n .indicator {\n border: 1px solid ButtonText;\n }\n\n :host([current]) .indicator,\n :host([completed]) .indicator {\n border: 1px solid Highlight;\n }\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"step.css.js","names":[],"sources":["../../../src/content/stepper/step.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --step-indicator-size: var(--size-8);\n --step-font-size: var(--text-sm);\n --step-gap: var(--size-2);\n display: flex;\n flex: 1 1 0%;\n min-width: 0;\n }\n\n .step {\n position: relative;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n width: 100%;\n list-style: none;\n }\n\n /* Horizontal (default) layout centers the indicator above the label in each equal-width\n column (see `.control`/`.content` below) so the indicator sits at a predictable, constant\n horizontal position — the midpoint of its own step — regardless of label length. The full\n line between two indicators is drawn as *two* halves — this step's own `.connector-leading`\n (its own left edge to its own indicator) and `.connector-trailing` (its own indicator to its\n own right edge) — each confined entirely inside this step's own box. Reaching a single\n connector backward into the previous step's box (an earlier attempt) doesn't work: `ore-step`\n is its own custom element/shadow root, so a later sibling's positioned content always paints\n in front of an earlier sibling's regardless of internal stacking, and `.control`'s own hover\n background only covers its own box — so the part of the line sitting outside it looked like\n a stray line poking out next to the hover highlight instead of being part of it. */\n .connector {\n position: absolute;\n top: calc(var(--size-1) + var(--step-indicator-size) / 2);\n width: calc(50% - var(--step-indicator-size) / 2);\n height: var(--stepper-connector-size, 2px);\n background: var(--stepper-connector-color, var(--color-contrast-200));\n border-radius: var(--rounded-full);\n transform: translateY(-50%);\n transition: background var(--transition-fast);\n }\n\n .connector-leading {\n left: 0;\n }\n\n .connector-trailing {\n right: 0;\n }\n\n /* No preceding/following step to connect to. */\n :host(:first-of-type) .connector-leading {\n display: none;\n }\n\n :host(:last-of-type) .connector-trailing {\n display: none;\n }\n\n .control {\n all: unset;\n\n /* Declared after `all: unset` (which resets `position` back to `static`), not before it.\n Puts `.control` in the same paint order as `.connector` (also positioned) instead of\n `.connector` — being absolutely positioned — automatically painting above all of this\n *static*, normal-flow content regardless of DOM order. `.control` comes after\n `.connector` in the markup, so with both positioned it (and the opaque indicator inside\n it) now correctly paints over the connector line instead of the line cutting across\n every indicator. */\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--step-gap);\n align-items: center;\n width: 100%;\n min-width: 0;\n padding: var(--size-1);\n font-family: inherit;\n cursor: default;\n border-radius: var(--rounded-lg);\n }\n\n button.control {\n min-height: var(--_touch-target, auto);\n cursor: pointer;\n transition: background var(--transition-fast);\n }\n\n button.control:focus-visible {\n outline: var(--border-2) solid var(--_theme-base, var(--color-contrast-500));\n outline-offset: var(--border-2);\n }\n\n button.control[aria-disabled='true'] {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n .indicator {\n /* Without this, the `border` below adds on top of `width`/`height` instead of being\n included in them, rendering the indicator ~2 * border-width larger per axis than\n `--step-indicator-size` — every connector position calc using that variable to line up\n with the indicator's true center/edge (especially the vertical connector's horizontal\n `left`, which has no flexbox centering to fall back on) would then be off by that much. */\n box-sizing: border-box;\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n width: var(--step-indicator-size);\n height: var(--step-indicator-size);\n font-size: var(--step-font-size);\n font-weight: var(--font-semibold);\n color: var(--color-contrast-500);\n background: var(--color-contrast-100);\n border: var(--border-2) solid var(--color-contrast-200);\n border-radius: var(--rounded-full);\n transition:\n background var(--transition-fast),\n color var(--transition-fast),\n border-color var(--transition-fast);\n }\n\n .icon-slot[hidden] {\n display: none;\n }\n\n .number {\n line-height: 1;\n }\n\n .content {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n align-items: center;\n min-width: 0;\n max-width: 100%;\n text-align: center;\n }\n\n .label {\n display: flex;\n gap: var(--size-1);\n align-items: baseline;\n justify-content: center;\n min-width: 0;\n max-width: 100%;\n font-size: var(--step-font-size);\n font-weight: var(--font-medium);\n color: var(--color-contrast-700);\n }\n\n .label-text {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .optional-hint {\n flex: 0 0 auto;\n font-size: var(--text-xs);\n font-weight: var(--font-normal);\n color: var(--color-contrast-400);\n }\n\n .description {\n font-size: var(--text-xs);\n color: var(--color-contrast-500);\n }\n\n .description[hidden] {\n display: none;\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n white-space: nowrap;\n border-width: 0;\n clip-path: inset(50%);\n }\n}\n\n@layer refine.states {\n :host([current]) .indicator {\n color: var(--_theme-contrast, var(--color-canvas));\n background: var(--_theme-base, var(--color-contrast-800));\n border-color: var(--_theme-base, var(--color-contrast-800));\n }\n\n :host([current]) .label {\n font-weight: var(--font-semibold);\n color: var(--color-contrast-900);\n }\n\n :host([completed]) .indicator {\n color: var(--_theme-contrast, var(--color-canvas));\n background: var(--_theme-focus, var(--color-contrast-600));\n border-color: var(--_theme-focus, var(--color-contrast-600));\n }\n\n /* A completed step colors both the segment leading into it and the one trailing out of it\n (progress has fully passed through); the current step only colors the leading segment\n (progress has arrived, but not yet moved past it into the next step). */\n :host([completed]) .connector,\n :host([current]) .connector-leading {\n background: var(--_theme-focus, var(--color-contrast-400));\n }\n\n :host([error]) .indicator {\n color: var(--color-canvas);\n background: var(--color-error);\n border-color: var(--color-error);\n }\n\n :host([error]) .label {\n color: var(--color-error);\n }\n\n :host([disabled]) .label,\n :host([disabled]) .description {\n color: var(--color-contrast-400);\n }\n\n :host([disabled]) .indicator {\n opacity: 0.6;\n }\n}\n\n@layer refine.sizes {\n :host([size='sm']) {\n --step-indicator-size: var(--size-6);\n --step-font-size: var(--text-xs);\n --step-gap: var(--size-1-5);\n }\n\n :host(:not([size])),\n :host([size='md']) {\n --step-indicator-size: var(--size-8);\n --step-font-size: var(--text-sm);\n --step-gap: var(--size-2);\n }\n\n :host([size='lg']) {\n --step-indicator-size: var(--size-10);\n --step-font-size: var(--text-base);\n --step-gap: var(--size-2-5);\n }\n\n @media (pointer: coarse) {\n :host(:not([size])),\n :host([size='sm']),\n :host([size='md']) {\n --step-indicator-size: var(--size-9);\n --step-font-size: var(--text-sm);\n }\n }\n}\n\n@layer refine.orientation {\n /* Vertical (mobile-friendly) layout: back to the inline icon-beside-label arrangement (more\n compact for narrow/mobile widths), with `padding-block-start` reserving room for a\n top-to-bottom connector into this step's own indicator instead of the horizontal\n center-to-center line above. */\n :host([orientation='vertical']) {\n flex: 0 0 auto;\n width: 100%;\n }\n\n :host([orientation='vertical']) .step {\n align-items: flex-start;\n padding-block-start: var(--stepper-gap, var(--size-4));\n }\n\n :host([orientation='vertical']:first-of-type) .step {\n padding-block-start: 0;\n }\n\n :host([orientation='vertical']) .control {\n flex-direction: row;\n align-items: flex-start;\n }\n\n :host([orientation='vertical']) .content {\n align-items: flex-start;\n text-align: left;\n }\n\n :host([orientation='vertical']) .label {\n justify-content: flex-start;\n }\n\n /* Same two-halves idea as horizontal, rotated: `.connector-leading` runs from this step's own\n top edge down into its indicator (through the `padding-block-start` gap reserved above).\n `.connector-trailing` runs from the *bottom* of this step's indicator down to this step's\n own bottom edge — using `top`+`bottom` (no fixed `height`) so it stretches to whatever this\n step's content actually needs, instead of a fixed length that only reached as far as the\n padding gap. A step with a longer description is taller, and its trailing segment grows\n with it — the next step's leading segment then only has to bridge the fixed padding gap,\n so the two halves always meet exactly at the boundary between the two steps regardless of\n how much content either one has. */\n :host([orientation='vertical']) .connector-leading {\n top: 0;\n left: calc(var(--size-1) + var(--step-indicator-size) / 2);\n width: var(--stepper-connector-size, 2px);\n height: calc(var(--stepper-gap, var(--size-4)) + var(--size-1));\n transform: translateX(-50%);\n }\n\n :host([orientation='vertical']) .connector-trailing {\n inset: calc(var(--stepper-gap, var(--size-4)) + var(--size-1) + var(--step-indicator-size)) auto 0\n calc(var(--size-1) + var(--step-indicator-size) / 2);\n width: var(--stepper-connector-size, 2px);\n height: auto;\n transform: translateX(-50%);\n }\n\n /* The first step's `padding-block-start` is reset to 0 above (no incoming line to make room\n for) — `.connector-trailing`'s `top` has to drop the same gap term here, or it starts\n lower than the indicator's true bottom edge and its `bottom: 0` counterpart can compute a\n negative (clamped to 0) height, hiding the segment entirely. */\n :host([orientation='vertical']:first-of-type) .connector-trailing {\n top: calc(var(--size-1) + var(--step-indicator-size));\n }\n}\n\n@media (forced-colors: active) {\n .indicator {\n border: 1px solid ButtonText;\n }\n\n :host([current]) .indicator,\n :host([completed]) .indicator {\n border: 1px solid Highlight;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"step.css.js","names":[],"sources":["../../../src/content/stepper/step.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --step-indicator-size: var(--size-8);\n --step-font-size: var(--text-sm);\n --step-gap: var(--size-2);\n display: flex;\n flex: 1 1 0%;\n min-width: 0;\n }\n\n .step {\n position: relative;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n width: 100%;\n list-style: none;\n }\n\n /* Horizontal (default) layout centers the indicator above the label in each equal-width\n column (see `.control`/`.content` below) so the indicator sits at a predictable, constant\n horizontal position: the midpoint of its own step: regardless of label length. The full\n line between two indicators is drawn as *two* halves: this step's own `.connector-leading`\n (its own left edge to its own indicator) and `.connector-trailing` (its own indicator to its\n own right edge): each confined entirely inside this step's own box. Reaching a single\n connector backward into the previous step's box (an earlier attempt) doesn't work: `ore-step`\n is its own custom element/shadow root, so a later sibling's positioned content always paints\n in front of an earlier sibling's regardless of internal stacking, and `.control`'s own hover\n background only covers its own box, so the part of the line sitting outside it looked like\n a stray line poking out next to the hover highlight instead of being part of it. */\n .connector {\n position: absolute;\n top: calc(var(--size-1) + var(--step-indicator-size) / 2);\n width: calc(50% - var(--step-indicator-size) / 2);\n height: var(--stepper-connector-size, 2px);\n background: var(--stepper-connector-color, var(--color-contrast-200));\n border-radius: var(--rounded-full);\n transform: translateY(-50%);\n transition: background var(--transition-fast);\n }\n\n .connector-leading {\n left: 0;\n }\n\n .connector-trailing {\n right: 0;\n }\n\n /* No preceding/following step to connect to. */\n :host(:first-of-type) .connector-leading {\n display: none;\n }\n\n :host(:last-of-type) .connector-trailing {\n display: none;\n }\n\n .control {\n all: unset;\n\n /* Declared after `all: unset` (which resets `position` back to `static`), not before it.\n Puts `.control` in the same paint order as `.connector` (also positioned) instead of\n `.connector`: being absolutely positioned: automatically painting above all of this\n *static*, normal-flow content regardless of DOM order. `.control` comes after\n `.connector` in the markup, so with both positioned it (and the opaque indicator inside\n it) now correctly paints over the connector line instead of the line cutting across\n every indicator. */\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n gap: var(--step-gap);\n align-items: center;\n width: 100%;\n min-width: 0;\n padding: var(--size-1);\n font-family: inherit;\n cursor: default;\n border-radius: var(--rounded-lg);\n }\n\n button.control {\n min-height: var(--_touch-target, auto);\n cursor: pointer;\n transition: background var(--transition-fast);\n }\n\n button.control:focus-visible {\n outline: var(--border-2) solid var(--_theme-base, var(--color-contrast-500));\n outline-offset: var(--border-2);\n }\n\n button.control[aria-disabled='true'] {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n .indicator {\n /* Without this, the `border` below adds on top of `width`/`height` instead of being\n included in them, rendering the indicator ~2 * border-width larger per axis than\n `--step-indicator-size`: every connector position calc using that variable to line up\n with the indicator's true center/edge (especially the vertical connector's horizontal\n `left`, which has no flexbox centering to fall back on) would then be off by that much. */\n box-sizing: border-box;\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n width: var(--step-indicator-size);\n height: var(--step-indicator-size);\n font-size: var(--step-font-size);\n font-weight: var(--font-semibold);\n color: var(--color-contrast-500);\n background: var(--color-contrast-100);\n border: var(--border-2) solid var(--color-contrast-200);\n border-radius: var(--rounded-full);\n transition:\n background var(--transition-fast),\n color var(--transition-fast),\n border-color var(--transition-fast);\n }\n\n .icon-slot[hidden] {\n display: none;\n }\n\n .number {\n line-height: 1;\n }\n\n .content {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n align-items: center;\n min-width: 0;\n max-width: 100%;\n text-align: center;\n }\n\n .label {\n display: flex;\n gap: var(--size-1);\n align-items: baseline;\n justify-content: center;\n min-width: 0;\n max-width: 100%;\n font-size: var(--step-font-size);\n font-weight: var(--font-medium);\n color: var(--color-contrast-700);\n }\n\n .label-text {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .optional-hint {\n flex: 0 0 auto;\n font-size: var(--text-xs);\n font-weight: var(--font-normal);\n color: var(--color-contrast-400);\n }\n\n .description {\n font-size: var(--text-xs);\n color: var(--color-contrast-500);\n }\n\n .description[hidden] {\n display: none;\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n white-space: nowrap;\n border-width: 0;\n clip-path: inset(50%);\n }\n}\n\n@layer refine.states {\n :host([current]) .indicator {\n color: var(--_theme-contrast, var(--color-canvas));\n background: var(--_theme-base, var(--color-contrast-800));\n border-color: var(--_theme-base, var(--color-contrast-800));\n }\n\n :host([current]) .label {\n font-weight: var(--font-semibold);\n color: var(--color-contrast-900);\n }\n\n :host([completed]) .indicator {\n color: var(--_theme-contrast, var(--color-canvas));\n background: var(--_theme-focus, var(--color-contrast-600));\n border-color: var(--_theme-focus, var(--color-contrast-600));\n }\n\n /* A completed step colors both the segment leading into it and the one trailing out of it\n (progress has fully passed through); the current step only colors the leading segment\n (progress has arrived, but not yet moved past it into the next step). */\n :host([completed]) .connector,\n :host([current]) .connector-leading {\n background: var(--_theme-focus, var(--color-contrast-400));\n }\n\n :host([error]) .indicator {\n color: var(--color-canvas);\n background: var(--color-error);\n border-color: var(--color-error);\n }\n\n :host([error]) .label {\n color: var(--color-error);\n }\n\n :host([disabled]) .label,\n :host([disabled]) .description {\n color: var(--color-contrast-400);\n }\n\n :host([disabled]) .indicator {\n opacity: 0.6;\n }\n}\n\n@layer refine.sizes {\n :host([size='sm']) {\n --step-indicator-size: var(--size-6);\n --step-font-size: var(--text-xs);\n --step-gap: var(--size-1-5);\n }\n\n :host(:not([size])),\n :host([size='md']) {\n --step-indicator-size: var(--size-8);\n --step-font-size: var(--text-sm);\n --step-gap: var(--size-2);\n }\n\n :host([size='lg']) {\n --step-indicator-size: var(--size-10);\n --step-font-size: var(--text-base);\n --step-gap: var(--size-2-5);\n }\n\n @media (pointer: coarse) {\n :host(:not([size])),\n :host([size='sm']),\n :host([size='md']) {\n --step-indicator-size: var(--size-9);\n --step-font-size: var(--text-sm);\n }\n }\n}\n\n@layer refine.orientation {\n /* Vertical (mobile-friendly) layout: back to the inline icon-beside-label arrangement (more\n compact for narrow/mobile widths), with `padding-block-start` reserving room for a\n top-to-bottom connector into this step's own indicator instead of the horizontal\n center-to-center line above. */\n :host([orientation='vertical']) {\n flex: 0 0 auto;\n width: 100%;\n }\n\n :host([orientation='vertical']) .step {\n align-items: flex-start;\n padding-block-start: var(--stepper-gap, var(--size-4));\n }\n\n :host([orientation='vertical']:first-of-type) .step {\n padding-block-start: 0;\n }\n\n :host([orientation='vertical']) .control {\n flex-direction: row;\n align-items: flex-start;\n }\n\n :host([orientation='vertical']) .content {\n align-items: flex-start;\n text-align: left;\n }\n\n :host([orientation='vertical']) .label {\n justify-content: flex-start;\n }\n\n /* Same two-halves idea as horizontal, rotated: `.connector-leading` runs from this step's own\n top edge down into its indicator (through the `padding-block-start` gap reserved above).\n `.connector-trailing` runs from the *bottom* of this step's indicator down to this step's\n own bottom edge: using `top`+`bottom` (no fixed `height`) so it stretches to whatever this\n step's content actually needs, instead of a fixed length that only reached as far as the\n padding gap. A step with a longer description is taller, and its trailing segment grows\n with it: the next step's leading segment then only has to bridge the fixed padding gap,\n so the two halves always meet exactly at the boundary between the two steps regardless of\n how much content either one has. */\n :host([orientation='vertical']) .connector-leading {\n top: 0;\n left: calc(var(--size-1) + var(--step-indicator-size) / 2);\n width: var(--stepper-connector-size, 2px);\n height: calc(var(--stepper-gap, var(--size-4)) + var(--size-1));\n transform: translateX(-50%);\n }\n\n :host([orientation='vertical']) .connector-trailing {\n inset: calc(var(--stepper-gap, var(--size-4)) + var(--size-1) + var(--step-indicator-size)) auto 0\n calc(var(--size-1) + var(--step-indicator-size) / 2);\n width: var(--stepper-connector-size, 2px);\n height: auto;\n transform: translateX(-50%);\n }\n\n /* The first step's `padding-block-start` is reset to 0 above (no incoming line to make room\n for): `.connector-trailing`'s `top` has to drop the same gap term here, or it starts\n lower than the indicator's true bottom edge and its `bottom: 0` counterpart can compute a\n negative (clamped to 0) height, hiding the segment entirely. */\n :host([orientation='vertical']:first-of-type) .connector-trailing {\n top: calc(var(--size-1) + var(--step-indicator-size));\n }\n}\n\n@media (forced-colors: active) {\n .indicator {\n border: 1px solid ButtonText;\n }\n\n :host([current]) .indicator,\n :host([completed]) .indicator {\n border: 1px solid Highlight;\n }\n}\n"],"mappings":""}
@@ -6,13 +6,13 @@ export type OreStepProps = {
6
6
  * this value); only takes effect on its own when `ore-step` is rendered standalone.
7
7
  */
8
8
  color?: ThemeColor;
9
- /** Disables this step — it cannot be navigated to and is skipped by keyboard navigation. */
9
+ /** Disables this step: it cannot be navigated to and is skipped by keyboard navigation. */
10
10
  disabled?: boolean;
11
11
  /** Marks this step as failed/invalid. Overrides the completed/current indicator visuals. */
12
12
  error?: boolean;
13
13
  /**
14
14
  * Marks this step as optional. Renders a small "(optional)" hint next to the label.
15
- * Purely presentational — has no effect on navigation.
15
+ * Purely presentational: has no effect on navigation.
16
16
  */
17
17
  optional?: boolean;
18
18
  /** Orientation. Inherited from the parent `ore-stepper` when nested inside one. */
@@ -24,7 +24,7 @@ export type OreStepProps = {
24
24
  };
25
25
  /**
26
26
  * A single step trigger. Must be placed as a direct child of `ore-stepper`, which provides
27
- * this step's current/completed/navigable/index/total state via context — those are derived,
27
+ * this step's current/completed/navigable/index/total state via context: those are derived,
28
28
  * read-only attributes on this element, not settable props.
29
29
  *
30
30
  * @element ore-step
@@ -1 +1 @@
1
- {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../src/content/stepper/step.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK7D,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,MAAM,MAAM,YAAY,GAAG;IACzB;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4FAA4F;IAC5F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mFAAmF;IACnF,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,sFAAsF;IACtF,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,QAAQ,EAAG,UAAmB,CAAC"}
1
+ {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../src/content/stepper/step.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK7D,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,MAAM,MAAM,YAAY,GAAG;IACzB;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4FAA4F;IAC5F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mFAAmF;IACnF,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,sFAAsF;IACtF,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,QAAQ,EAAG,UAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stepper.css.cjs","names":[],"sources":["../../../src/content/stepper/stepper.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: block;\n width: 100%;\n }\n\n nav {\n display: block;\n width: 100%;\n }\n\n .steps {\n /* Spacing between steps comes from each ore-step's own `padding-inline-start` /\n `padding-block-start` (see step.css), not a flex `gap` here — that lets each step's\n connector line be drawn from its own edge to its own indicator using the exact same\n length it was given room for, with no separate gap value to keep in sync by hand. */\n display: flex;\n gap: 0;\n align-items: flex-start;\n width: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .stepper-message {\n display: block;\n margin-top: var(--size-3);\n }\n}\n\n@layer refine.orientation {\n :host([orientation='vertical']) .steps {\n flex-direction: column;\n align-items: stretch;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"stepper.css.cjs","names":[],"sources":["../../../src/content/stepper/stepper.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: block;\n width: 100%;\n }\n\n nav {\n display: block;\n width: 100%;\n }\n\n .steps {\n /* Spacing between steps comes from each ore-step's own `padding-inline-start` /\n `padding-block-start` (see step.css), not a flex `gap` here, that lets each step's\n connector line be drawn from its own edge to its own indicator using the exact same\n length it was given room for, with no separate gap value to keep in sync by hand. */\n display: flex;\n gap: 0;\n align-items: flex-start;\n width: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .stepper-message {\n display: block;\n margin-top: var(--size-3);\n }\n}\n\n@layer refine.orientation {\n :host([orientation='vertical']) .steps {\n flex-direction: column;\n align-items: stretch;\n }\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"stepper.css.js","names":[],"sources":["../../../src/content/stepper/stepper.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: block;\n width: 100%;\n }\n\n nav {\n display: block;\n width: 100%;\n }\n\n .steps {\n /* Spacing between steps comes from each ore-step's own `padding-inline-start` /\n `padding-block-start` (see step.css), not a flex `gap` here — that lets each step's\n connector line be drawn from its own edge to its own indicator using the exact same\n length it was given room for, with no separate gap value to keep in sync by hand. */\n display: flex;\n gap: 0;\n align-items: flex-start;\n width: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .stepper-message {\n display: block;\n margin-top: var(--size-3);\n }\n}\n\n@layer refine.orientation {\n :host([orientation='vertical']) .steps {\n flex-direction: column;\n align-items: stretch;\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"stepper.css.js","names":[],"sources":["../../../src/content/stepper/stepper.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: block;\n width: 100%;\n }\n\n nav {\n display: block;\n width: 100%;\n }\n\n .steps {\n /* Spacing between steps comes from each ore-step's own `padding-inline-start` /\n `padding-block-start` (see step.css), not a flex `gap` here, that lets each step's\n connector line be drawn from its own edge to its own indicator using the exact same\n length it was given room for, with no separate gap value to keep in sync by hand. */\n display: flex;\n gap: 0;\n align-items: flex-start;\n width: 100%;\n padding: 0;\n margin: 0;\n list-style: none;\n }\n\n .stepper-message {\n display: block;\n margin-top: var(--size-3);\n }\n}\n\n@layer refine.orientation {\n :host([orientation='vertical']) .steps {\n flex-direction: column;\n align-items: stretch;\n }\n}\n"],"mappings":""}
@@ -23,16 +23,16 @@ export type OreStepperProps = {
23
23
  clickable?: boolean;
24
24
  /** Theme color for the current/completed step indicators */
25
25
  color?: ThemeColor;
26
- /** Disables the whole stepper — no step is navigable regardless of `clickable` */
26
+ /** Disables the whole stepper: no step is navigable regardless of `clickable` */
27
27
  disabled?: boolean;
28
28
  /** Accessible label for the nav landmark */
29
29
  label?: string;
30
30
  /**
31
- * Restricts navigation to completed steps and the current step — steps ahead of the
31
+ * Restricts navigation to completed steps and the current step: steps ahead of the
32
32
  * current one cannot be clicked or focused, even when `clickable` is set.
33
33
  */
34
34
  linear?: boolean;
35
- /** Layout orientation — 'horizontal' (default, desktop) or 'vertical' (compact/mobile-friendly) */
35
+ /** Layout orientation: 'horizontal' (default, desktop) or 'vertical' (compact/mobile-friendly) */
36
36
  orientation?: 'horizontal' | 'vertical';
37
37
  /** Component size */
38
38
  size?: ComponentSize;
@@ -1 +1 @@
1
- {"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../../src/content/stepper/stepper.ts"],"names":[],"mappings":"AAaA,OAAO,EAAY,KAAK,QAAQ,EAAiB,MAAM,kBAAkB,CAAC;AAG1E,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAe7D,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7B,KAAK,EAAE,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IACxC,YAAY,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3C,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,WAAW,EAAE,QAAQ,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC;IACjD,IAAI,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAC1C,0FAA0F;IAC1F,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;CAChC,CAAC;AACF,6CAA6C;AAC7C,eAAO,MAAM,WAAW,sDAAkD,CAAC;AAE3E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,wGAAwG;IACxG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mGAAmG;IACnG,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,qBAAqB;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,WAAW,EAAG,aAAsB,CAAC"}
1
+ {"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../../src/content/stepper/stepper.ts"],"names":[],"mappings":"AAaA,OAAO,EAAY,KAAK,QAAQ,EAAiB,MAAM,kBAAkB,CAAC;AAG1E,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAe7D,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7B,KAAK,EAAE,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IACxC,YAAY,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3C,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,WAAW,EAAE,QAAQ,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC;IACjD,IAAI,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAC1C,0FAA0F;IAC1F,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;CAChC,CAAC;AACF,6CAA6C;AAC7C,eAAO,MAAM,WAAW,sDAAkD,CAAC;AAE3E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,wGAAwG;IACxG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kGAAkG;IAClG,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,qBAAqB;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,WAAW,EAAG,aAAsB,CAAC"}