@lostgradient/cinder 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (551) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/README.md +163 -0
  3. package/components.json +390 -3
  4. package/dist/_internal/chart/chart-focus-ring.d.ts +57 -0
  5. package/dist/_internal/chart/chart-utilities.d.ts +2 -0
  6. package/dist/_internal/chart/heatmap-utilities.d.ts +60 -0
  7. package/dist/components/accordion/index.js +14 -1
  8. package/dist/components/alert/alert.schema.js +3 -3
  9. package/dist/components/alert/alert.types.d.ts +3 -2
  10. package/dist/components/alert/index.js +3 -2
  11. package/dist/components/alert-dialog/index.js +11 -2
  12. package/dist/components/area-chart/area-chart.css +57 -7
  13. package/dist/components/area-chart/index.js +283 -40
  14. package/dist/components/avatar-group/avatar-group.css +2 -3
  15. package/dist/components/badge/badge.css +17 -0
  16. package/dist/components/badge/badge.schema.js +6 -1
  17. package/dist/components/badge/badge.types.d.ts +7 -0
  18. package/dist/components/badge/index.js +4 -2
  19. package/dist/components/bar-chart/bar-chart.css +57 -7
  20. package/dist/components/bar-chart/index.js +233 -45
  21. package/dist/components/button/button.css +5 -3
  22. package/dist/components/button/index.js +11 -2
  23. package/dist/components/capability-gate/capability-gate.css +131 -0
  24. package/dist/components/capability-gate/capability-gate.schema.d.ts +3 -0
  25. package/dist/components/capability-gate/capability-gate.schema.js +128 -0
  26. package/dist/components/capability-gate/capability-gate.svelte.d.ts +19 -0
  27. package/dist/components/capability-gate/capability-gate.types.d.ts +70 -0
  28. package/dist/components/capability-gate/capability-gate.variables.d.ts +2 -0
  29. package/dist/components/capability-gate/capability-gate.variables.js +61 -0
  30. package/dist/components/capability-gate/index.d.ts +5 -0
  31. package/dist/components/capability-gate/index.js +285 -0
  32. package/dist/components/card/card.css +4 -0
  33. package/dist/components/card/card.schema.js +5 -1
  34. package/dist/components/card/card.svelte.d.ts +1 -1
  35. package/dist/components/card/card.types.d.ts +4 -0
  36. package/dist/components/card/index.d.ts +1 -1
  37. package/dist/components/card/index.js +8 -4
  38. package/dist/components/chat/index.css +2 -2
  39. package/dist/components/chat/index.js +159 -81
  40. package/dist/components/choice-grid/choice-grid-context.d.ts +23 -0
  41. package/dist/components/choice-grid/choice-grid.css +27 -0
  42. package/dist/components/choice-grid/choice-grid.schema.d.ts +3 -0
  43. package/dist/components/choice-grid/choice-grid.schema.js +121 -0
  44. package/dist/components/choice-grid/choice-grid.svelte.d.ts +20 -0
  45. package/dist/components/choice-grid/choice-grid.types.d.ts +122 -0
  46. package/dist/components/choice-grid/choice-grid.variables.d.ts +2 -0
  47. package/dist/components/choice-grid/choice-grid.variables.js +61 -0
  48. package/dist/components/choice-grid/index.d.ts +13 -0
  49. package/dist/components/choice-grid/index.js +466 -0
  50. package/dist/components/choice-grid-item/choice-grid-item.css +139 -0
  51. package/dist/components/choice-grid-item/choice-grid-item.schema.d.ts +3 -0
  52. package/dist/components/choice-grid-item/choice-grid-item.schema.js +93 -0
  53. package/dist/components/choice-grid-item/choice-grid-item.svelte.d.ts +17 -0
  54. package/dist/components/choice-grid-item/choice-grid-item.types.d.ts +24 -0
  55. package/dist/components/choice-grid-item/choice-grid-item.variables.d.ts +2 -0
  56. package/dist/components/choice-grid-item/choice-grid-item.variables.js +61 -0
  57. package/dist/components/choice-grid-item/index.d.ts +5 -0
  58. package/dist/components/choice-grid-item/index.js +203 -0
  59. package/dist/components/color-field/color-field.css +6 -9
  60. package/dist/components/color-picker/color-picker.css +31 -24
  61. package/dist/components/color-swatch-picker/color-swatch-picker.css +6 -9
  62. package/dist/components/confirm-dialog/index.js +11 -2
  63. package/dist/components/context-menu/index.js +114 -43
  64. package/dist/components/context-menu-trigger/index.js +6 -4
  65. package/dist/components/data-table/data-table.css +30 -0
  66. package/dist/components/data-table/data-table.schema.d.ts +3 -0
  67. package/dist/components/data-table/data-table.schema.js +103 -0
  68. package/dist/components/data-table/data-table.svelte.d.ts +39 -0
  69. package/dist/components/data-table/data-table.types.d.ts +86 -0
  70. package/dist/components/data-table/data-table.variables.d.ts +2 -0
  71. package/dist/components/data-table/data-table.variables.js +61 -0
  72. package/dist/components/data-table/index.d.ts +5 -0
  73. package/dist/components/data-table/index.js +591 -0
  74. package/dist/components/diff-viewer/index.js +14 -3
  75. package/dist/components/dropdown/index.js +115 -46
  76. package/dist/components/dropdown-item/dropdown-item.schema.js +13 -1
  77. package/dist/components/dropdown-item/dropdown-item.svelte.d.ts +1 -1
  78. package/dist/components/dropdown-item/dropdown-item.types.d.ts +46 -2
  79. package/dist/components/dropdown-item/index.d.ts +1 -1
  80. package/dist/components/dropdown-item/index.js +97 -28
  81. package/dist/components/floating-action-button/floating-action-button.css +4 -2
  82. package/dist/components/json-schema-editor/index.js +29 -4
  83. package/dist/components/keyboard-shortcuts/index.d.ts +5 -0
  84. package/dist/components/keyboard-shortcuts/index.js +238 -0
  85. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.css +84 -0
  86. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.schema.d.ts +3 -0
  87. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.schema.js +87 -0
  88. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.svelte.d.ts +17 -0
  89. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.types.d.ts +42 -0
  90. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.variables.d.ts +2 -0
  91. package/dist/components/keyboard-shortcuts/keyboard-shortcuts.variables.js +61 -0
  92. package/dist/components/line-chart/index.js +283 -40
  93. package/dist/components/line-chart/line-chart.css +57 -8
  94. package/dist/components/markdown-editor/index.js +129 -51
  95. package/dist/components/matrix-chart/index.d.ts +5 -0
  96. package/dist/components/matrix-chart/index.js +1232 -0
  97. package/dist/components/matrix-chart/matrix-chart.css +50 -0
  98. package/dist/components/matrix-chart/matrix-chart.schema.d.ts +3 -0
  99. package/dist/components/matrix-chart/matrix-chart.schema.js +123 -0
  100. package/dist/components/matrix-chart/matrix-chart.svelte.d.ts +20 -0
  101. package/dist/components/matrix-chart/matrix-chart.types.d.ts +52 -0
  102. package/dist/components/matrix-chart/matrix-chart.variables.d.ts +2 -0
  103. package/dist/components/matrix-chart/matrix-chart.variables.js +61 -0
  104. package/dist/components/media-controls/index.d.ts +5 -0
  105. package/dist/components/media-controls/index.js +338 -0
  106. package/dist/components/media-controls/media-controls.css +112 -0
  107. package/dist/components/media-controls/media-controls.schema.d.ts +3 -0
  108. package/dist/components/media-controls/media-controls.schema.js +125 -0
  109. package/dist/components/media-controls/media-controls.svelte.d.ts +18 -0
  110. package/dist/components/media-controls/media-controls.types.d.ts +77 -0
  111. package/dist/components/media-controls/media-controls.variables.d.ts +2 -0
  112. package/dist/components/media-controls/media-controls.variables.js +61 -0
  113. package/dist/components/navigation-bar/navigation-bar.schema.js +5 -5
  114. package/dist/components/navigation-bar/navigation-bar.types.d.ts +2 -1
  115. package/dist/components/pricing-card/index.d.ts +5 -0
  116. package/dist/components/pricing-card/index.js +406 -0
  117. package/dist/components/pricing-card/pricing-card.css +173 -0
  118. package/dist/components/pricing-card/pricing-card.schema.d.ts +3 -0
  119. package/dist/components/pricing-card/pricing-card.schema.js +100 -0
  120. package/dist/components/pricing-card/pricing-card.svelte.d.ts +18 -0
  121. package/dist/components/pricing-card/pricing-card.types.d.ts +47 -0
  122. package/dist/components/pricing-card/pricing-card.variables.d.ts +2 -0
  123. package/dist/components/pricing-card/pricing-card.variables.js +61 -0
  124. package/dist/components/review-editor/index.js +212 -132
  125. package/dist/components/share-card/index.d.ts +5 -0
  126. package/dist/components/share-card/index.js +446 -0
  127. package/dist/components/share-card/share-card.css +115 -0
  128. package/dist/components/share-card/share-card.schema.d.ts +3 -0
  129. package/dist/components/share-card/share-card.schema.js +113 -0
  130. package/dist/components/share-card/share-card.svelte.d.ts +18 -0
  131. package/dist/components/share-card/share-card.types.d.ts +66 -0
  132. package/dist/components/share-card/share-card.variables.d.ts +2 -0
  133. package/dist/components/share-card/share-card.variables.js +61 -0
  134. package/dist/components/shortcut-hint/index.d.ts +5 -0
  135. package/dist/components/shortcut-hint/index.js +197 -0
  136. package/dist/components/shortcut-hint/shortcut-hint.css +26 -0
  137. package/dist/components/shortcut-hint/shortcut-hint.schema.d.ts +3 -0
  138. package/dist/components/shortcut-hint/shortcut-hint.schema.js +96 -0
  139. package/dist/components/shortcut-hint/shortcut-hint.svelte.d.ts +17 -0
  140. package/dist/components/shortcut-hint/shortcut-hint.types.d.ts +33 -0
  141. package/dist/components/shortcut-hint/shortcut-hint.variables.d.ts +2 -0
  142. package/dist/components/shortcut-hint/shortcut-hint.variables.js +61 -0
  143. package/dist/components/skip-link/index.d.ts +4 -0
  144. package/dist/components/skip-link/index.js +180 -0
  145. package/dist/components/skip-link/skip-link.schema.d.ts +3 -0
  146. package/dist/components/skip-link/skip-link.schema.js +76 -0
  147. package/dist/components/skip-link/skip-link.svelte.d.ts +19 -0
  148. package/dist/components/skip-link/skip-link.types.d.ts +38 -0
  149. package/dist/components/skip-link/skip-link.variables.d.ts +2 -0
  150. package/dist/components/skip-link/skip-link.variables.js +61 -0
  151. package/dist/components/spectrogram/index.d.ts +5 -0
  152. package/dist/components/spectrogram/index.js +1156 -0
  153. package/dist/components/spectrogram/spectrogram.css +43 -0
  154. package/dist/components/spectrogram/spectrogram.schema.d.ts +3 -0
  155. package/dist/components/spectrogram/spectrogram.schema.js +103 -0
  156. package/dist/components/spectrogram/spectrogram.svelte.d.ts +21 -0
  157. package/dist/components/spectrogram/spectrogram.types.d.ts +60 -0
  158. package/dist/components/spectrogram/spectrogram.variables.d.ts +2 -0
  159. package/dist/components/spectrogram/spectrogram.variables.js +61 -0
  160. package/dist/components/spectrum-chart/index.d.ts +5 -0
  161. package/dist/components/spectrum-chart/index.js +1056 -0
  162. package/dist/components/spectrum-chart/spectrum-chart.css +49 -0
  163. package/dist/components/spectrum-chart/spectrum-chart.schema.d.ts +3 -0
  164. package/dist/components/spectrum-chart/spectrum-chart.schema.js +97 -0
  165. package/dist/components/spectrum-chart/spectrum-chart.svelte.d.ts +21 -0
  166. package/dist/components/spectrum-chart/spectrum-chart.types.d.ts +41 -0
  167. package/dist/components/spectrum-chart/spectrum-chart.variables.d.ts +2 -0
  168. package/dist/components/spectrum-chart/spectrum-chart.variables.js +61 -0
  169. package/dist/components/status-dot/status-dot.css +8 -0
  170. package/dist/components/status-dot/status-dot.schema.js +3 -3
  171. package/dist/components/status-dot/status-dot.types.d.ts +5 -2
  172. package/dist/components/subscription-badge/index.d.ts +5 -0
  173. package/dist/components/subscription-badge/index.js +383 -0
  174. package/dist/components/subscription-badge/subscription-badge.css +18 -0
  175. package/dist/components/subscription-badge/subscription-badge.schema.d.ts +3 -0
  176. package/dist/components/subscription-badge/subscription-badge.schema.js +77 -0
  177. package/dist/components/subscription-badge/subscription-badge.svelte.d.ts +19 -0
  178. package/dist/components/subscription-badge/subscription-badge.types.d.ts +28 -0
  179. package/dist/components/subscription-badge/subscription-badge.variables.d.ts +2 -0
  180. package/dist/components/subscription-badge/subscription-badge.variables.js +61 -0
  181. package/dist/components/tab/index.js +14 -1
  182. package/dist/components/table/index.js +26 -17
  183. package/dist/components/table-cell/index.js +18 -9
  184. package/dist/components/table-cell/table-cell.schema.js +5 -1
  185. package/dist/components/table-cell/table-cell.types.d.ts +16 -1
  186. package/dist/components/tabs/index.js +14 -1
  187. package/dist/components/waveform/index.d.ts +5 -0
  188. package/dist/components/waveform/index.js +1075 -0
  189. package/dist/components/waveform/waveform.css +53 -0
  190. package/dist/components/waveform/waveform.schema.d.ts +3 -0
  191. package/dist/components/waveform/waveform.schema.js +98 -0
  192. package/dist/components/waveform/waveform.svelte.d.ts +20 -0
  193. package/dist/components/waveform/waveform.types.d.ts +42 -0
  194. package/dist/components/waveform/waveform.variables.d.ts +2 -0
  195. package/dist/components/waveform/waveform.variables.js +61 -0
  196. package/dist/index.d.ts +33 -2
  197. package/dist/index.js +144 -115
  198. package/dist/server/components/accordion/index.js +14 -1
  199. package/dist/server/components/alert/alert.schema.js +3 -3
  200. package/dist/server/components/alert/index.js +3 -2
  201. package/dist/server/components/alert-dialog/index.js +12 -3
  202. package/dist/server/components/area-chart/index.css +50 -3
  203. package/dist/server/components/area-chart/index.js +181 -2
  204. package/dist/server/components/avatar-group/index.css +1 -1
  205. package/dist/server/components/badge/badge.schema.js +6 -1
  206. package/dist/server/components/badge/index.css +4 -0
  207. package/dist/server/components/badge/index.js +3 -1
  208. package/dist/server/components/bar-chart/index.css +50 -3
  209. package/dist/server/components/bar-chart/index.js +166 -2
  210. package/dist/server/components/button/index.css +1 -1
  211. package/dist/server/components/button/index.js +12 -3
  212. package/dist/server/components/capability-gate/capability-gate.schema.js +110 -0
  213. package/dist/server/components/capability-gate/capability-gate.variables.js +43 -0
  214. package/dist/server/components/capability-gate/index.css +121 -0
  215. package/dist/server/components/capability-gate/index.js +168 -0
  216. package/dist/server/components/card/card.schema.js +5 -1
  217. package/dist/server/components/card/index.css +9 -1
  218. package/dist/server/components/card/index.js +3 -2
  219. package/dist/server/components/chat/index.css +2 -2
  220. package/dist/server/components/chat/index.js +78 -19
  221. package/dist/server/components/choice-grid/choice-grid.schema.js +103 -0
  222. package/dist/server/components/choice-grid/choice-grid.variables.js +43 -0
  223. package/dist/server/components/choice-grid/index.css +103 -0
  224. package/dist/server/components/choice-grid/index.js +383 -0
  225. package/dist/server/components/choice-grid-item/choice-grid-item.schema.js +75 -0
  226. package/dist/server/components/choice-grid-item/choice-grid-item.variables.js +43 -0
  227. package/dist/server/components/choice-grid-item/index.css +86 -0
  228. package/dist/server/components/choice-grid-item/index.js +139 -0
  229. package/dist/server/components/color-field/index.css +2 -4
  230. package/dist/server/components/color-picker/index.css +14 -10
  231. package/dist/server/components/color-swatch-picker/index.css +2 -4
  232. package/dist/server/components/confirm-dialog/index.js +12 -3
  233. package/dist/server/components/context-menu/index.js +72 -20
  234. package/dist/server/components/context-menu-trigger/index.js +6 -4
  235. package/dist/server/components/data-table/data-table.schema.js +85 -0
  236. package/dist/server/components/data-table/data-table.variables.js +43 -0
  237. package/dist/server/components/data-table/index.css +182 -0
  238. package/dist/server/components/data-table/index.js +469 -0
  239. package/dist/server/components/diff-viewer/index.js +14 -3
  240. package/dist/server/components/dropdown/index.js +67 -17
  241. package/dist/server/components/dropdown-item/dropdown-item.schema.js +13 -1
  242. package/dist/server/components/dropdown-item/index.js +67 -17
  243. package/dist/server/components/floating-action-button/index.css +1 -1
  244. package/dist/server/components/json-schema-editor/index.js +29 -4
  245. package/dist/server/components/keyboard-shortcuts/index.css +86 -0
  246. package/dist/server/components/keyboard-shortcuts/index.js +149 -0
  247. package/dist/server/components/keyboard-shortcuts/keyboard-shortcuts.schema.js +69 -0
  248. package/dist/server/components/keyboard-shortcuts/keyboard-shortcuts.variables.js +43 -0
  249. package/dist/server/components/line-chart/index.css +50 -3
  250. package/dist/server/components/line-chart/index.js +181 -2
  251. package/dist/server/components/markdown-editor/index.js +78 -19
  252. package/dist/server/components/matrix-chart/index.css +52 -0
  253. package/dist/server/components/matrix-chart/index.js +1026 -0
  254. package/dist/server/components/matrix-chart/matrix-chart.schema.js +105 -0
  255. package/dist/server/components/matrix-chart/matrix-chart.variables.js +43 -0
  256. package/dist/server/components/media-controls/index.css +109 -0
  257. package/dist/server/components/media-controls/index.js +192 -0
  258. package/dist/server/components/media-controls/media-controls.schema.js +107 -0
  259. package/dist/server/components/media-controls/media-controls.variables.js +43 -0
  260. package/dist/server/components/navigation-bar/navigation-bar.schema.js +5 -5
  261. package/dist/server/components/pricing-card/index.css +131 -0
  262. package/dist/server/components/pricing-card/index.js +258 -0
  263. package/dist/server/components/pricing-card/pricing-card.schema.js +82 -0
  264. package/dist/server/components/pricing-card/pricing-card.variables.js +43 -0
  265. package/dist/server/components/review-editor/index.css +2 -2
  266. package/dist/server/components/review-editor/index.js +80 -19
  267. package/dist/server/components/share-card/index.css +113 -0
  268. package/dist/server/components/share-card/index.js +270 -0
  269. package/dist/server/components/share-card/share-card.schema.js +95 -0
  270. package/dist/server/components/share-card/share-card.variables.js +43 -0
  271. package/dist/server/components/shortcut-hint/index.css +28 -0
  272. package/dist/server/components/shortcut-hint/index.js +134 -0
  273. package/dist/server/components/shortcut-hint/shortcut-hint.schema.js +78 -0
  274. package/dist/server/components/shortcut-hint/shortcut-hint.variables.js +43 -0
  275. package/dist/server/components/skip-link/index.js +141 -0
  276. package/dist/server/components/skip-link/skip-link.schema.js +58 -0
  277. package/dist/server/components/skip-link/skip-link.variables.js +43 -0
  278. package/dist/server/components/spectrogram/index.css +45 -0
  279. package/dist/server/components/spectrogram/index.js +970 -0
  280. package/dist/server/components/spectrogram/spectrogram.schema.js +85 -0
  281. package/dist/server/components/spectrogram/spectrogram.variables.js +43 -0
  282. package/dist/server/components/spectrum-chart/index.css +51 -0
  283. package/dist/server/components/spectrum-chart/index.js +871 -0
  284. package/dist/server/components/spectrum-chart/spectrum-chart.schema.js +79 -0
  285. package/dist/server/components/spectrum-chart/spectrum-chart.variables.js +43 -0
  286. package/dist/server/components/status-dot/index.css +8 -0
  287. package/dist/server/components/status-dot/status-dot.schema.js +3 -3
  288. package/dist/server/components/subscription-badge/index.css +2 -0
  289. package/dist/server/components/subscription-badge/index.js +339 -0
  290. package/dist/server/components/subscription-badge/subscription-badge.schema.js +59 -0
  291. package/dist/server/components/subscription-badge/subscription-badge.variables.js +43 -0
  292. package/dist/server/components/tab/index.js +14 -1
  293. package/dist/server/components/table/index.js +13 -8
  294. package/dist/server/components/table-cell/index.js +13 -8
  295. package/dist/server/components/table-cell/table-cell.schema.js +5 -1
  296. package/dist/server/components/tabs/index.js +14 -1
  297. package/dist/server/components/waveform/index.css +55 -0
  298. package/dist/server/components/waveform/index.js +907 -0
  299. package/dist/server/components/waveform/waveform.schema.js +80 -0
  300. package/dist/server/components/waveform/waveform.variables.js +43 -0
  301. package/dist/server/index.css +1137 -55
  302. package/dist/server/index.js +4225 -1750
  303. package/package.json +380 -2
  304. package/src/_internal/chart/chart-focus-ring.ts +209 -0
  305. package/src/_internal/chart/chart-utilities.ts +4 -0
  306. package/src/_internal/chart/heatmap-utilities.ts +159 -0
  307. package/src/components/accordion/accordion.examples.json +1 -0
  308. package/src/components/alert/README.md +5 -5
  309. package/src/components/alert/alert.schema.json +2 -2
  310. package/src/components/alert/alert.schema.ts +3 -2
  311. package/src/components/alert/alert.svelte +5 -1
  312. package/src/components/alert/alert.types.ts +3 -2
  313. package/src/components/area-chart/README.md +62 -0
  314. package/src/components/area-chart/area-chart.css +57 -7
  315. package/src/components/area-chart/area-chart.svelte +128 -10
  316. package/src/components/avatar-group/avatar-group.css +2 -3
  317. package/src/components/avatar-group/avatar-group.examples.json +1 -0
  318. package/src/components/backdrop/README.md +56 -0
  319. package/src/components/badge/README.md +6 -5
  320. package/src/components/badge/badge.css +17 -0
  321. package/src/components/badge/badge.schema.json +5 -0
  322. package/src/components/badge/badge.schema.ts +6 -0
  323. package/src/components/badge/badge.svelte +2 -0
  324. package/src/components/badge/badge.types.ts +7 -0
  325. package/src/components/bar-chart/README.md +65 -0
  326. package/src/components/bar-chart/bar-chart.css +57 -7
  327. package/src/components/bar-chart/bar-chart.svelte +94 -13
  328. package/src/components/button/button.css +5 -3
  329. package/src/components/button/button.examples.json +1 -0
  330. package/src/components/button/button.svelte +15 -0
  331. package/src/components/capability-gate/README.md +60 -0
  332. package/src/components/capability-gate/capability-gate.css +131 -0
  333. package/src/components/capability-gate/capability-gate.examples.json +19 -0
  334. package/src/components/capability-gate/capability-gate.schema.json +68 -0
  335. package/src/components/capability-gate/capability-gate.schema.ts +72 -0
  336. package/src/components/capability-gate/capability-gate.svelte +186 -0
  337. package/src/components/capability-gate/capability-gate.types.ts +83 -0
  338. package/src/components/capability-gate/capability-gate.variables.json +1 -0
  339. package/src/components/capability-gate/capability-gate.variables.ts +3 -0
  340. package/src/components/capability-gate/index.ts +10 -0
  341. package/src/components/card/README.md +1 -0
  342. package/src/components/card/card.css +4 -0
  343. package/src/components/card/card.examples.json +6 -0
  344. package/src/components/card/card.schema.json +4 -0
  345. package/src/components/card/card.schema.ts +5 -0
  346. package/src/components/card/card.svelte +9 -2
  347. package/src/components/card/card.types.ts +4 -0
  348. package/src/components/card/index.ts +1 -1
  349. package/src/components/chat/README.md +81 -0
  350. package/src/components/chat/container/chat-jump-controls.svelte +12 -9
  351. package/src/components/chat/input/chat-input.svelte +7 -8
  352. package/src/components/chat/message/chat-message.svelte +15 -20
  353. package/src/components/chat/message/tool-call-group.svelte +10 -4
  354. package/src/components/choice-grid/README.md +66 -0
  355. package/src/components/choice-grid/choice-grid-context.ts +30 -0
  356. package/src/components/choice-grid/choice-grid.css +27 -0
  357. package/src/components/choice-grid/choice-grid.examples.json +31 -0
  358. package/src/components/choice-grid/choice-grid.schema.json +61 -0
  359. package/src/components/choice-grid/choice-grid.schema.ts +70 -0
  360. package/src/components/choice-grid/choice-grid.svelte +272 -0
  361. package/src/components/choice-grid/choice-grid.types.ts +152 -0
  362. package/src/components/choice-grid/choice-grid.variables.json +1 -0
  363. package/src/components/choice-grid/choice-grid.variables.ts +3 -0
  364. package/src/components/choice-grid/index.ts +22 -0
  365. package/src/components/choice-grid-item/README.md +41 -0
  366. package/src/components/choice-grid-item/choice-grid-item.css +139 -0
  367. package/src/components/choice-grid-item/choice-grid-item.schema.json +32 -0
  368. package/src/components/choice-grid-item/choice-grid-item.schema.ts +38 -0
  369. package/src/components/choice-grid-item/choice-grid-item.svelte +139 -0
  370. package/src/components/choice-grid-item/choice-grid-item.types.ts +30 -0
  371. package/src/components/choice-grid-item/choice-grid-item.variables.json +1 -0
  372. package/src/components/choice-grid-item/choice-grid-item.variables.ts +3 -0
  373. package/src/components/choice-grid-item/index.ts +6 -0
  374. package/src/components/click-away-listener/README.md +50 -0
  375. package/src/components/color-field/color-field.css +6 -9
  376. package/src/components/color-picker/color-picker.css +31 -24
  377. package/src/components/color-swatch-picker/color-swatch-picker.css +6 -9
  378. package/src/components/command-menu/README.md +61 -0
  379. package/src/components/confirm-dialog/confirm-dialog.examples.json +6 -0
  380. package/src/components/context-menu/README.md +55 -0
  381. package/src/components/context-menu-trigger/README.md +50 -0
  382. package/src/components/context-menu-trigger/context-menu-trigger.svelte +5 -3
  383. package/src/components/data-table/README.md +67 -0
  384. package/src/components/data-table/data-table.css +30 -0
  385. package/src/components/data-table/data-table.examples.json +19 -0
  386. package/src/components/data-table/data-table.schema.json +43 -0
  387. package/src/components/data-table/data-table.schema.ts +50 -0
  388. package/src/components/data-table/data-table.svelte +106 -0
  389. package/src/components/data-table/data-table.types.ts +89 -0
  390. package/src/components/data-table/data-table.variables.json +1 -0
  391. package/src/components/data-table/data-table.variables.ts +3 -0
  392. package/src/components/data-table/index.ts +6 -0
  393. package/src/components/diff-viewer/README.md +59 -0
  394. package/src/components/diff-viewer/front-matter-header.svelte +20 -4
  395. package/src/components/dropdown-group/README.md +52 -0
  396. package/src/components/dropdown-item/README.md +10 -7
  397. package/src/components/dropdown-item/dropdown-item.schema.json +12 -0
  398. package/src/components/dropdown-item/dropdown-item.schema.ts +14 -0
  399. package/src/components/dropdown-item/dropdown-item.svelte +108 -25
  400. package/src/components/dropdown-item/dropdown-item.types.ts +58 -2
  401. package/src/components/dropdown-item/index.ts +6 -1
  402. package/src/components/floating-action-button/README.md +53 -0
  403. package/src/components/floating-action-button/floating-action-button.css +4 -2
  404. package/src/components/form-section/form-section.examples.json +6 -0
  405. package/src/components/hover-card/README.md +60 -0
  406. package/src/components/json-schema-editor/README.md +59 -0
  407. package/src/components/kanban-board/README.md +62 -0
  408. package/src/components/keyboard-shortcuts/README.md +51 -0
  409. package/src/components/keyboard-shortcuts/index.ts +10 -0
  410. package/src/components/keyboard-shortcuts/keyboard-shortcuts.css +84 -0
  411. package/src/components/keyboard-shortcuts/keyboard-shortcuts.examples.json +13 -0
  412. package/src/components/keyboard-shortcuts/keyboard-shortcuts.schema.json +27 -0
  413. package/src/components/keyboard-shortcuts/keyboard-shortcuts.schema.ts +31 -0
  414. package/src/components/keyboard-shortcuts/keyboard-shortcuts.svelte +91 -0
  415. package/src/components/keyboard-shortcuts/keyboard-shortcuts.types.ts +46 -0
  416. package/src/components/keyboard-shortcuts/keyboard-shortcuts.variables.json +1 -0
  417. package/src/components/keyboard-shortcuts/keyboard-shortcuts.variables.ts +3 -0
  418. package/src/components/line-chart/README.md +61 -0
  419. package/src/components/line-chart/line-chart.css +57 -8
  420. package/src/components/line-chart/line-chart.svelte +128 -10
  421. package/src/components/link/README.md +55 -0
  422. package/src/components/markdown-editor/README.md +70 -0
  423. package/src/components/markdown-editor/editor-toolbar/toolbar-button.svelte +9 -4
  424. package/src/components/markdown-editor/editor-toolbar/toolbar-dropdown.svelte +9 -4
  425. package/src/components/markdown-editor/prosemirror.css +4 -2
  426. package/src/components/matrix-chart/README.md +61 -0
  427. package/src/components/matrix-chart/index.ts +10 -0
  428. package/src/components/matrix-chart/matrix-chart.css +50 -0
  429. package/src/components/matrix-chart/matrix-chart.examples.json +19 -0
  430. package/src/components/matrix-chart/matrix-chart.schema.json +63 -0
  431. package/src/components/matrix-chart/matrix-chart.schema.ts +67 -0
  432. package/src/components/matrix-chart/matrix-chart.svelte +336 -0
  433. package/src/components/matrix-chart/matrix-chart.types.ts +56 -0
  434. package/src/components/matrix-chart/matrix-chart.variables.json +1 -0
  435. package/src/components/matrix-chart/matrix-chart.variables.ts +3 -0
  436. package/src/components/media-controls/README.md +60 -0
  437. package/src/components/media-controls/index.ts +6 -0
  438. package/src/components/media-controls/media-controls.css +112 -0
  439. package/src/components/media-controls/media-controls.examples.json +19 -0
  440. package/src/components/media-controls/media-controls.schema.json +65 -0
  441. package/src/components/media-controls/media-controls.schema.ts +69 -0
  442. package/src/components/media-controls/media-controls.svelte +238 -0
  443. package/src/components/media-controls/media-controls.types.ts +80 -0
  444. package/src/components/media-controls/media-controls.variables.json +1 -0
  445. package/src/components/media-controls/media-controls.variables.ts +3 -0
  446. package/src/components/menu-bar/README.md +53 -0
  447. package/src/components/navigation-bar/README.md +1 -1
  448. package/src/components/navigation-bar/navigation-bar.schema.json +4 -4
  449. package/src/components/navigation-bar/navigation-bar.schema.ts +4 -4
  450. package/src/components/navigation-bar/navigation-bar.types.ts +2 -1
  451. package/src/components/pricing-card/README.md +55 -0
  452. package/src/components/pricing-card/index.ts +6 -0
  453. package/src/components/pricing-card/pricing-card.css +173 -0
  454. package/src/components/pricing-card/pricing-card.examples.json +19 -0
  455. package/src/components/pricing-card/pricing-card.schema.json +40 -0
  456. package/src/components/pricing-card/pricing-card.schema.ts +44 -0
  457. package/src/components/pricing-card/pricing-card.svelte +70 -0
  458. package/src/components/pricing-card/pricing-card.types.ts +49 -0
  459. package/src/components/pricing-card/pricing-card.variables.json +1 -0
  460. package/src/components/pricing-card/pricing-card.variables.ts +3 -0
  461. package/src/components/review-editor/README.md +64 -0
  462. package/src/components/review-editor/comment-composer.svelte +8 -8
  463. package/src/components/review-editor/comment-list.svelte +10 -1
  464. package/src/components/search-field/search-field.examples.json +13 -0
  465. package/src/components/segment/README.md +55 -0
  466. package/src/components/share-card/README.md +58 -0
  467. package/src/components/share-card/index.ts +6 -0
  468. package/src/components/share-card/share-card.css +115 -0
  469. package/src/components/share-card/share-card.examples.json +19 -0
  470. package/src/components/share-card/share-card.schema.json +53 -0
  471. package/src/components/share-card/share-card.schema.ts +57 -0
  472. package/src/components/share-card/share-card.svelte +330 -0
  473. package/src/components/share-card/share-card.types.ts +69 -0
  474. package/src/components/share-card/share-card.variables.json +1 -0
  475. package/src/components/share-card/share-card.variables.ts +3 -0
  476. package/src/components/shortcut-hint/README.md +52 -0
  477. package/src/components/shortcut-hint/index.ts +6 -0
  478. package/src/components/shortcut-hint/shortcut-hint.css +26 -0
  479. package/src/components/shortcut-hint/shortcut-hint.examples.json +13 -0
  480. package/src/components/shortcut-hint/shortcut-hint.schema.json +36 -0
  481. package/src/components/shortcut-hint/shortcut-hint.schema.ts +40 -0
  482. package/src/components/shortcut-hint/shortcut-hint.svelte +62 -0
  483. package/src/components/shortcut-hint/shortcut-hint.types.ts +35 -0
  484. package/src/components/shortcut-hint/shortcut-hint.variables.json +1 -0
  485. package/src/components/shortcut-hint/shortcut-hint.variables.ts +3 -0
  486. package/src/components/side-navigation/side-navigation.examples.json +6 -0
  487. package/src/components/skip-link/README.md +50 -0
  488. package/src/components/skip-link/index.ts +5 -0
  489. package/src/components/skip-link/skip-link.examples.json +13 -0
  490. package/src/components/skip-link/skip-link.schema.json +16 -0
  491. package/src/components/skip-link/skip-link.schema.ts +20 -0
  492. package/src/components/skip-link/skip-link.svelte +86 -0
  493. package/src/components/skip-link/skip-link.types.ts +40 -0
  494. package/src/components/skip-link/skip-link.variables.json +1 -0
  495. package/src/components/skip-link/skip-link.variables.ts +3 -0
  496. package/src/components/spectrogram/README.md +58 -0
  497. package/src/components/spectrogram/index.ts +10 -0
  498. package/src/components/spectrogram/spectrogram.css +43 -0
  499. package/src/components/spectrogram/spectrogram.examples.json +13 -0
  500. package/src/components/spectrogram/spectrogram.schema.json +43 -0
  501. package/src/components/spectrogram/spectrogram.schema.ts +47 -0
  502. package/src/components/spectrogram/spectrogram.svelte +284 -0
  503. package/src/components/spectrogram/spectrogram.types.ts +63 -0
  504. package/src/components/spectrogram/spectrogram.variables.json +1 -0
  505. package/src/components/spectrogram/spectrogram.variables.ts +3 -0
  506. package/src/components/spectrum-chart/README.md +57 -0
  507. package/src/components/spectrum-chart/index.ts +10 -0
  508. package/src/components/spectrum-chart/spectrum-chart.css +49 -0
  509. package/src/components/spectrum-chart/spectrum-chart.examples.json +13 -0
  510. package/src/components/spectrum-chart/spectrum-chart.schema.json +37 -0
  511. package/src/components/spectrum-chart/spectrum-chart.schema.ts +41 -0
  512. package/src/components/spectrum-chart/spectrum-chart.svelte +247 -0
  513. package/src/components/spectrum-chart/spectrum-chart.types.ts +44 -0
  514. package/src/components/spectrum-chart/spectrum-chart.variables.json +1 -0
  515. package/src/components/spectrum-chart/spectrum-chart.variables.ts +3 -0
  516. package/src/components/status-dot/README.md +7 -7
  517. package/src/components/status-dot/status-dot.css +8 -0
  518. package/src/components/status-dot/status-dot.schema.json +2 -2
  519. package/src/components/status-dot/status-dot.schema.ts +3 -2
  520. package/src/components/status-dot/status-dot.types.ts +13 -2
  521. package/src/components/subscription-badge/README.md +50 -0
  522. package/src/components/subscription-badge/index.ts +6 -0
  523. package/src/components/subscription-badge/subscription-badge.css +18 -0
  524. package/src/components/subscription-badge/subscription-badge.examples.json +19 -0
  525. package/src/components/subscription-badge/subscription-badge.schema.json +16 -0
  526. package/src/components/subscription-badge/subscription-badge.schema.ts +21 -0
  527. package/src/components/subscription-badge/subscription-badge.svelte +69 -0
  528. package/src/components/subscription-badge/subscription-badge.types.ts +37 -0
  529. package/src/components/subscription-badge/subscription-badge.variables.json +1 -0
  530. package/src/components/subscription-badge/subscription-badge.variables.ts +3 -0
  531. package/src/components/table-cell/README.md +6 -5
  532. package/src/components/table-cell/table-cell.schema.json +4 -0
  533. package/src/components/table-cell/table-cell.schema.ts +5 -0
  534. package/src/components/table-cell/table-cell.svelte +9 -3
  535. package/src/components/table-cell/table-cell.types.ts +16 -1
  536. package/src/components/tag-input/README.md +75 -0
  537. package/src/components/typography/README.md +51 -0
  538. package/src/components/waveform/README.md +57 -0
  539. package/src/components/waveform/index.ts +6 -0
  540. package/src/components/waveform/waveform.css +53 -0
  541. package/src/components/waveform/waveform.examples.json +19 -0
  542. package/src/components/waveform/waveform.schema.json +38 -0
  543. package/src/components/waveform/waveform.schema.ts +42 -0
  544. package/src/components/waveform/waveform.svelte +286 -0
  545. package/src/components/waveform/waveform.types.ts +45 -0
  546. package/src/components/waveform/waveform.variables.json +1 -0
  547. package/src/components/waveform/waveform.variables.ts +3 -0
  548. package/src/index.ts +85 -2
  549. package/src/styles/components.css +13 -0
  550. package/src/styles/shell.css +3 -0
  551. package/src/styles/tokens-base.css +59 -22
@@ -388,6 +388,7 @@ function createBarModel(options) {
388
388
  const categoryTicks = sortedCategories.map((category, index) => {
389
389
  const categoryPosition = categoryScale(category.key) ?? 0;
390
390
  return {
391
+ categoryKey: category.key,
391
392
  label: formatXValue(category, orientation === "vertical" ? xAxis : yAxis, { index }),
392
393
  x: orientation === "vertical" ? categoryPosition + categoryScale.bandwidth() / 2 : -8,
393
394
  y: orientation === "vertical" ? geometry.plotHeight + 20 : categoryPosition + categoryScale.bandwidth() / 2
@@ -473,6 +474,7 @@ function createBarModel(options) {
473
474
  });
474
475
  if (rowValues.length > 0) {
475
476
  tableRows.push({
477
+ categoryKey: category.key,
476
478
  categoryLabel: formatXValue(category, orientation === "vertical" ? xAxis : yAxis, {
477
479
  index: tableRows.length
478
480
  }),
@@ -713,6 +715,125 @@ function formatPathNumber(value) {
713
715
  return Number(value.toFixed(3)).toString();
714
716
  }
715
717
 
718
+ // src/_internal/chart/chart-focus-ring.ts
719
+ var DEFAULT_CHART_FOCUS_RING_STROKE_PADDING = 8;
720
+ var DEFAULT_POINT_FOCUS_RING_RADIUS = 10;
721
+ var MINIMUM_FOCUS_RING_SIZE = 2;
722
+ var MINIMUM_BAR_FOCUS_RING_SIZE = 12;
723
+ var FOCUS_RING_DOT_RADIUS = 2.5;
724
+ function createPointFocusRingGeometry(options) {
725
+ const {
726
+ target,
727
+ plotWidth,
728
+ plotHeight,
729
+ strokePadding = DEFAULT_CHART_FOCUS_RING_STROKE_PADDING,
730
+ radius = DEFAULT_POINT_FOCUS_RING_RADIUS
731
+ } = options;
732
+ if (plotWidth <= 0 || plotHeight <= 0)
733
+ return null;
734
+ const drawableWidth = plotWidth - strokePadding * 2;
735
+ const drawableHeight = plotHeight - strokePadding * 2;
736
+ const largestDrawableRadius = Math.min(drawableWidth, drawableHeight) / 2;
737
+ if (largestDrawableRadius < MINIMUM_FOCUS_RING_SIZE || drawableWidth < FOCUS_RING_DOT_RADIUS * 2 || drawableHeight < FOCUS_RING_DOT_RADIUS * 2) {
738
+ return createPlotFrameFocusRingGeometry(plotWidth, plotHeight, strokePadding);
739
+ }
740
+ const resolvedRadius = Math.min(Math.max(radius, MINIMUM_FOCUS_RING_SIZE), largestDrawableRadius);
741
+ const minimumCenterX = strokePadding + resolvedRadius;
742
+ const maximumCenterX = plotWidth - strokePadding - resolvedRadius;
743
+ const minimumCenterY = strokePadding + resolvedRadius;
744
+ const maximumCenterY = plotHeight - strokePadding - resolvedRadius;
745
+ const cx = clamp(target.x, minimumCenterX, maximumCenterX);
746
+ const cy = clamp(target.y, minimumCenterY, maximumCenterY);
747
+ const dotInset = strokePadding + FOCUS_RING_DOT_RADIUS;
748
+ let targetX = clamp(target.x, dotInset, plotWidth - dotInset);
749
+ let targetY = clamp(target.y, dotInset, plotHeight - dotInset);
750
+ const initialOffsetX = targetX - cx;
751
+ const initialOffsetY = targetY - cy;
752
+ const initialOffsetDistance = Math.hypot(initialOffsetX, initialOffsetY);
753
+ if (initialOffsetDistance > resolvedRadius) {
754
+ const scale = resolvedRadius / initialOffsetDistance;
755
+ targetX = cx + initialOffsetX * scale;
756
+ targetY = cy + initialOffsetY * scale;
757
+ }
758
+ const offsetX = targetX - cx;
759
+ const offsetY = targetY - cy;
760
+ const offsetDistance = Math.hypot(offsetX, offsetY);
761
+ const geometry = {
762
+ kind: "point",
763
+ cx,
764
+ cy,
765
+ radius: resolvedRadius,
766
+ targetX,
767
+ targetY,
768
+ offsetX,
769
+ offsetY,
770
+ offsetDistance
771
+ };
772
+ if (offsetDistance <= 0)
773
+ return geometry;
774
+ return {
775
+ ...geometry,
776
+ connector: {
777
+ x1: targetX,
778
+ y1: targetY,
779
+ x2: cx,
780
+ y2: cy
781
+ },
782
+ dot: {
783
+ cx: targetX,
784
+ cy: targetY,
785
+ radius: FOCUS_RING_DOT_RADIUS
786
+ }
787
+ };
788
+ }
789
+ function createBarFocusRingGeometry(options) {
790
+ const {
791
+ target,
792
+ plotWidth,
793
+ plotHeight,
794
+ strokePadding = DEFAULT_CHART_FOCUS_RING_STROKE_PADDING,
795
+ minimumWidth = MINIMUM_BAR_FOCUS_RING_SIZE,
796
+ minimumHeight = MINIMUM_BAR_FOCUS_RING_SIZE
797
+ } = options;
798
+ if (plotWidth <= 0 || plotHeight <= 0)
799
+ return null;
800
+ const requestedWidth = Math.max(target.width ?? 0, minimumWidth);
801
+ const requestedHeight = Math.max(target.height ?? 0, minimumHeight);
802
+ const drawableWidth = plotWidth - strokePadding * 2;
803
+ const drawableHeight = plotHeight - strokePadding * 2;
804
+ if (drawableWidth < MINIMUM_FOCUS_RING_SIZE || drawableHeight < MINIMUM_FOCUS_RING_SIZE) {
805
+ return createPlotFrameFocusRingGeometry(plotWidth, plotHeight, strokePadding);
806
+ }
807
+ const width = Math.min(requestedWidth, drawableWidth);
808
+ const height = Math.min(requestedHeight, drawableHeight);
809
+ const x = clamp(target.x - width / 2, strokePadding, plotWidth - width - strokePadding);
810
+ const y = clamp(target.y - height / 2, strokePadding, plotHeight - height - strokePadding);
811
+ return {
812
+ kind: "bar",
813
+ x,
814
+ y,
815
+ width,
816
+ height,
817
+ radius: Math.min(4, width / 2, height / 2)
818
+ };
819
+ }
820
+ function createPlotFrameFocusRingGeometry(plotWidth, plotHeight, strokePadding) {
821
+ const inset = Math.min(strokePadding, Math.max(0, plotWidth - MINIMUM_FOCUS_RING_SIZE) / 2, Math.max(0, plotHeight - MINIMUM_FOCUS_RING_SIZE) / 2);
822
+ return {
823
+ kind: "plot-frame",
824
+ x: inset,
825
+ y: inset,
826
+ width: Math.max(0, plotWidth - inset * 2),
827
+ height: Math.max(0, plotHeight - inset * 2),
828
+ radius: 0
829
+ };
830
+ }
831
+ function clamp(value, minimum, maximum) {
832
+ if (maximum < minimum)
833
+ return (minimum + maximum) / 2;
834
+ return Math.min(Math.max(value, minimum), maximum);
835
+ }
836
+
716
837
  // src/_internal/chart/chart-interaction.svelte.ts
717
838
  import * as $ from "svelte/internal/client";
718
839
  class ChartInteraction {
@@ -839,13 +960,17 @@ var root_14 = $2.from_svg(`<path class="cinder-line-chart__line" aria-hidden="tr
839
960
  var root_17 = $2.from_svg(`<line class="cinder-line-chart__crosshair" y1="0" aria-hidden="true"></line>`);
840
961
  var root_20 = $2.from_svg(`<circle class="cinder-line-chart__focus-target" r="8" tabindex="0" role="button"></circle>`);
841
962
  var root_18 = $2.from_svg(`<rect class="cinder-line-chart__hit-surface" role="presentation"></rect><!>`, 1);
842
- var root_21 = $2.from_html(`<div role="tooltip" class="cinder-line-chart__tooltip"><strong> </strong> <span> </span></div>`);
843
- var root_22 = $2.from_html(`<p class="cinder-sr-only">Use the data table to inspect this chart with a keyboard.</p>`);
844
- var root_24 = $2.from_html(`<tr><th scope="row"> </th><td> </td><td> </td></tr>`);
845
- var root_23 = $2.from_html(`<table><caption> </caption><thead><tr><th scope="col">Series</th><th scope="col">X</th><th scope="col">Value</th></tr></thead><tbody></tbody></table>`);
846
- var root_26 = $2.from_html(`<button type="button"><span></span> </button>`);
847
- var root_25 = $2.from_html(`<div class="cinder-line-chart__legend" aria-label="Series"></div>`);
848
- var root = $2.from_html(`<figure><!> <!> <div class="cinder-line-chart__viewport"><!> <svg><!><g><!><!><!><!><!></g></svg> <!></div> <!> <!> <!></figure>`);
963
+ var root_23 = $2.from_svg(`<path class="cinder-line-chart__focus-ring-connector cinder-line-chart__focus-ring-halo"></path><path class="cinder-line-chart__focus-ring-connector cinder-line-chart__focus-ring"></path><circle class="cinder-line-chart__focus-ring-dot cinder-line-chart__focus-ring-halo"></circle><circle class="cinder-line-chart__focus-ring-dot cinder-line-chart__focus-ring"></circle>`, 1);
964
+ var root_22 = $2.from_svg(`<circle class="cinder-line-chart__focus-ring-halo"></circle><circle class="cinder-line-chart__focus-ring"></circle><!>`, 1);
965
+ var root_24 = $2.from_svg(`<rect class="cinder-line-chart__focus-ring-halo"></rect><rect class="cinder-line-chart__focus-ring"></rect>`, 1);
966
+ var root_21 = $2.from_svg(`<g class="cinder-line-chart__focus-ring-layer" aria-hidden="true"><!></g>`);
967
+ var root_25 = $2.from_html(`<div role="tooltip" class="cinder-line-chart__tooltip"><strong> </strong> <span> </span></div>`);
968
+ var root_26 = $2.from_html(`<p class="cinder-sr-only">Use the data table to inspect this chart with a keyboard.</p>`);
969
+ var root_28 = $2.from_html(`<tr><th scope="row"> </th><td> </td><td> </td></tr>`);
970
+ var root_27 = $2.from_html(`<table><caption> </caption><thead><tr><th scope="col">Series</th><th scope="col">X</th><th scope="col">Value</th></tr></thead><tbody></tbody></table>`);
971
+ var root_30 = $2.from_html(`<button type="button"><span></span> </button>`);
972
+ var root_29 = $2.from_html(`<div class="cinder-line-chart__legend" aria-label="Series"></div>`);
973
+ var root = $2.from_html(`<figure><!> <!> <div class="cinder-line-chart__viewport"><!> <svg><!><g><!><!><!><!><!><!></g></svg> <!></div> <!> <!> <!></figure>`);
849
974
  function Line_chart($$anchor, $$props) {
850
975
  const generatedId = $2.props_id();
851
976
  $2.push($$props, true);
@@ -891,13 +1016,51 @@ function Line_chart($$anchor, $$props) {
891
1016
  const keyboardEnabled = $2.derived(() => $2.get(model).targets.length > 0 && $2.get(model).targets.length <= maximumInteractivePoints());
892
1017
  const hasDataTable = $2.derived(() => dataTableVisibility() !== "hidden");
893
1018
  const guidanceId = $2.derived(() => !$2.get(keyboardEnabled) && $2.get(hasDataTable) && $2.get(model).targets.length > 0 ? `${$2.get(rootId)}-table-guidance` : undefined);
1019
+ const focusedTarget = $2.derived(() => {
1020
+ const currentTarget = interaction.focusedTarget;
1021
+ if (!currentTarget)
1022
+ return;
1023
+ return $2.get(model).targets.find((target) => target.id === currentTarget.id);
1024
+ });
1025
+ let keyboardFocusModality = $2.state(false);
1026
+ let focusVisibleTargetId = $2.state(undefined);
1027
+ const focusRingTarget = $2.derived(() => $2.get(keyboardFocusModality) && $2.get(focusedTarget) && $2.get(focusVisibleTargetId) === $2.get(focusedTarget).id ? $2.get(focusedTarget) : undefined);
1028
+ const pointFocusRing = $2.derived(() => $2.get(focusRingTarget) ? createPointFocusRingGeometry({
1029
+ target: $2.get(focusRingTarget),
1030
+ plotWidth: $2.get(model).geometry.plotWidth,
1031
+ plotHeight: $2.get(model).geometry.plotHeight,
1032
+ strokePadding: DEFAULT_CHART_FOCUS_RING_STROKE_PADDING
1033
+ }) : null);
894
1034
  $2.user_effect(() => {
895
1035
  assertValidNonNegativeInteger("line-chart", "invalid-maximum-interactive-points", maximumInteractivePoints(), "maximumInteractivePoints");
896
1036
  });
897
1037
  $2.user_effect(() => {
898
1038
  interaction.clearStaleTargets(loading(), $2.get(model).empty, $2.get(model).targets);
899
1039
  });
1040
+ function rememberKeyboardFocusModality(event2) {
1041
+ if (event2.key === "Tab" || event2.key === "Home" || event2.key === "End" || event2.key.startsWith("Arrow")) {
1042
+ $2.set(keyboardFocusModality, true);
1043
+ }
1044
+ }
1045
+ function clearKeyboardFocusModality() {
1046
+ $2.set(keyboardFocusModality, false);
1047
+ $2.set(focusVisibleTargetId, undefined);
1048
+ }
1049
+ function handleTargetFocus(target) {
1050
+ interaction.focusedTarget = target;
1051
+ $2.set(focusVisibleTargetId, $2.get(keyboardFocusModality) ? target.id : undefined, true);
1052
+ }
1053
+ function handleTargetBlur() {
1054
+ interaction.focusedTarget = undefined;
1055
+ $2.set(focusVisibleTargetId, undefined);
1056
+ }
1057
+ function handleTargetKeydown(event2) {
1058
+ rememberKeyboardFocusModality(event2);
1059
+ interaction.activateByKeyboard(event2, $2.get(rootElement), $2.get(model).targets, $2.get(keyboardEnabled));
1060
+ }
900
1061
  var figure = root();
1062
+ $2.event("keydown", $2.window, rememberKeyboardFocusModality);
1063
+ $2.event("pointerdown", $2.window, clearKeyboardFocusModality);
901
1064
  $2.attribute_effect(figure, ($0) => ({
902
1065
  ...rest,
903
1066
  id: $2.get(rootId),
@@ -926,7 +1089,7 @@ function Line_chart($$anchor, $$props) {
926
1089
  {
927
1090
  var consequent_1 = ($$anchor2) => {
928
1091
  var div = root_2();
929
- $2.each(div, 23, () => $$props.series, (item) => item.id, ($$anchor3, item, index2) => {
1092
+ $2.each(div, 23, () => $$props.series, (item) => item.id, ($$anchor3, item, index) => {
930
1093
  var button = root_3();
931
1094
  var span = $2.child(button);
932
1095
  let styles;
@@ -939,7 +1102,7 @@ function Line_chart($$anchor, $$props) {
939
1102
  }, [
940
1103
  () => !hiddenSeriesIds().includes($2.get(item).id),
941
1104
  () => ({
942
- background: $2.get(item).color ?? chartPaletteColor($2.get(index2))
1105
+ background: $2.get(item).color ?? chartPaletteColor($2.get(index))
943
1106
  })
944
1107
  ]);
945
1108
  $2.delegated("click", button, () => hiddenSeriesIds(interaction.toggleSeries(hiddenSeriesIds(), $2.get(item).id)));
@@ -1033,8 +1196,8 @@ function Line_chart($$anchor, $$props) {
1033
1196
  }
1034
1197
  var g = $2.sibling(node_7);
1035
1198
  var node_8 = $2.child(g);
1036
- $2.each(node_8, 17, () => $2.get(model).yTicks, $2.index, ($$anchor2, tick, index2) => {
1037
- const tickY = $2.derived(() => $2.get(model).geometry.plotHeight - ($2.get(tick) - $2.get(model).yDomain[0]) / ($2.get(model).yDomain[1] - $2.get(model).yDomain[0]) * $2.get(model).geometry.plotHeight);
1199
+ $2.each(node_8, 18, () => $2.get(model).yTicks, (tick) => tick, ($$anchor2, tick, index) => {
1200
+ const tickY = $2.derived(() => $2.get(model).geometry.plotHeight - (tick - $2.get(model).yDomain[0]) / ($2.get(model).yDomain[1] - $2.get(model).yDomain[0]) * $2.get(model).geometry.plotHeight);
1038
1201
  var fragment_2 = root_11();
1039
1202
  var line = $2.first_child(fragment_2);
1040
1203
  var text_5 = $2.sibling(line);
@@ -1047,7 +1210,7 @@ function Line_chart($$anchor, $$props) {
1047
1210
  $2.set_attribute(text_5, "y", $2.get(tickY));
1048
1211
  $2.set_text(text_6, $0);
1049
1212
  }, [
1050
- () => formatNumericValue($2.get(tick), $$props.yAxis, undefined, { index: index2 })
1213
+ () => formatNumericValue(tick, $$props.yAxis, undefined, { index: $2.get(index) })
1051
1214
  ]);
1052
1215
  $2.append($$anchor2, fragment_2);
1053
1216
  });
@@ -1139,12 +1302,14 @@ function Line_chart($$anchor, $$props) {
1139
1302
  $2.set_attribute(circle_1, "cx", $2.get(target).x);
1140
1303
  $2.set_attribute(circle_1, "cy", $2.get(target).y);
1141
1304
  $2.set_attribute(circle_1, "data-cinder-target-id", $2.get(target).id);
1305
+ $2.set_attribute(circle_1, "data-cinder-series-id", $2.get(target).seriesId);
1306
+ $2.set_attribute(circle_1, "data-cinder-focus-ring-active", $2.get(pointFocusRing) && $2.get(focusRingTarget)?.id === $2.get(target).id ? "true" : undefined);
1142
1307
  $2.set_attribute(circle_1, "aria-label", `${$2.get(target).seriesLabel}, ${$2.get(target).xLabel}, ${$2.get(target).valueLabel}`);
1143
1308
  $2.set_attribute(circle_1, "aria-describedby", interaction.activeTarget?.id === $2.get(target).id ? `${$2.get(rootId)}-tooltip` : undefined);
1144
1309
  });
1145
- $2.event("focus", circle_1, () => interaction.focusedTarget = $2.get(target));
1146
- $2.event("blur", circle_1, () => interaction.focusedTarget = undefined);
1147
- $2.delegated("keydown", circle_1, (event2) => interaction.activateByKeyboard(event2, $2.get(rootElement), $2.get(model).targets, $2.get(keyboardEnabled)));
1310
+ $2.event("focus", circle_1, () => handleTargetFocus($2.get(target)));
1311
+ $2.event("blur", circle_1, handleTargetBlur);
1312
+ $2.delegated("keydown", circle_1, handleTargetKeydown);
1148
1313
  $2.append($$anchor4, circle_1);
1149
1314
  });
1150
1315
  $2.append($$anchor3, fragment_7);
@@ -1167,12 +1332,90 @@ function Line_chart($$anchor, $$props) {
1167
1332
  $$render(consequent_11);
1168
1333
  });
1169
1334
  }
1335
+ var node_18 = $2.sibling(node_15);
1336
+ {
1337
+ var consequent_14 = ($$anchor2) => {
1338
+ var g_1 = root_21();
1339
+ var node_19 = $2.child(g_1);
1340
+ {
1341
+ var consequent_13 = ($$anchor3) => {
1342
+ var fragment_8 = root_22();
1343
+ var circle_2 = $2.first_child(fragment_8);
1344
+ var circle_3 = $2.sibling(circle_2);
1345
+ var node_20 = $2.sibling(circle_3);
1346
+ {
1347
+ var consequent_12 = ($$anchor4) => {
1348
+ var fragment_9 = root_23();
1349
+ var path_1 = $2.first_child(fragment_9);
1350
+ var path_2 = $2.sibling(path_1);
1351
+ var circle_4 = $2.sibling(path_2);
1352
+ var circle_5 = $2.sibling(circle_4);
1353
+ $2.template_effect(() => {
1354
+ $2.set_attribute(path_1, "d", `M ${$2.get(pointFocusRing).connector.x1} ${$2.get(pointFocusRing).connector.y1} L ${$2.get(pointFocusRing).connector.x2} ${$2.get(pointFocusRing).connector.y2}`);
1355
+ $2.set_attribute(path_2, "d", `M ${$2.get(pointFocusRing).connector.x1} ${$2.get(pointFocusRing).connector.y1} L ${$2.get(pointFocusRing).connector.x2} ${$2.get(pointFocusRing).connector.y2}`);
1356
+ $2.set_attribute(circle_4, "cx", $2.get(pointFocusRing).dot.cx);
1357
+ $2.set_attribute(circle_4, "cy", $2.get(pointFocusRing).dot.cy);
1358
+ $2.set_attribute(circle_4, "r", $2.get(pointFocusRing).dot.radius);
1359
+ $2.set_attribute(circle_5, "cx", $2.get(pointFocusRing).dot.cx);
1360
+ $2.set_attribute(circle_5, "cy", $2.get(pointFocusRing).dot.cy);
1361
+ $2.set_attribute(circle_5, "r", $2.get(pointFocusRing).dot.radius);
1362
+ });
1363
+ $2.append($$anchor4, fragment_9);
1364
+ };
1365
+ $2.if(node_20, ($$render) => {
1366
+ if ($2.get(pointFocusRing).connector && $2.get(pointFocusRing).dot)
1367
+ $$render(consequent_12);
1368
+ });
1369
+ }
1370
+ $2.template_effect(() => {
1371
+ $2.set_attribute(circle_2, "cx", $2.get(pointFocusRing).cx);
1372
+ $2.set_attribute(circle_2, "cy", $2.get(pointFocusRing).cy);
1373
+ $2.set_attribute(circle_2, "r", $2.get(pointFocusRing).radius);
1374
+ $2.set_attribute(circle_3, "cx", $2.get(pointFocusRing).cx);
1375
+ $2.set_attribute(circle_3, "cy", $2.get(pointFocusRing).cy);
1376
+ $2.set_attribute(circle_3, "r", $2.get(pointFocusRing).radius);
1377
+ });
1378
+ $2.append($$anchor3, fragment_8);
1379
+ };
1380
+ var alternate_2 = ($$anchor3) => {
1381
+ var fragment_10 = root_24();
1382
+ var rect_1 = $2.first_child(fragment_10);
1383
+ var rect_2 = $2.sibling(rect_1);
1384
+ $2.template_effect(() => {
1385
+ $2.set_attribute(rect_1, "x", $2.get(pointFocusRing).x);
1386
+ $2.set_attribute(rect_1, "y", $2.get(pointFocusRing).y);
1387
+ $2.set_attribute(rect_1, "width", $2.get(pointFocusRing).width);
1388
+ $2.set_attribute(rect_1, "height", $2.get(pointFocusRing).height);
1389
+ $2.set_attribute(rect_1, "rx", $2.get(pointFocusRing).radius);
1390
+ $2.set_attribute(rect_2, "x", $2.get(pointFocusRing).x);
1391
+ $2.set_attribute(rect_2, "y", $2.get(pointFocusRing).y);
1392
+ $2.set_attribute(rect_2, "width", $2.get(pointFocusRing).width);
1393
+ $2.set_attribute(rect_2, "height", $2.get(pointFocusRing).height);
1394
+ $2.set_attribute(rect_2, "rx", $2.get(pointFocusRing).radius);
1395
+ });
1396
+ $2.append($$anchor3, fragment_10);
1397
+ };
1398
+ $2.if(node_19, ($$render) => {
1399
+ if ($2.get(pointFocusRing).kind === "point")
1400
+ $$render(consequent_13);
1401
+ else
1402
+ $$render(alternate_2, -1);
1403
+ });
1404
+ }
1405
+ $2.reset(g_1);
1406
+ $2.append($$anchor2, g_1);
1407
+ };
1408
+ $2.if(node_18, ($$render) => {
1409
+ if ($2.get(pointFocusRing))
1410
+ $$render(consequent_14);
1411
+ });
1412
+ }
1170
1413
  $2.reset(g);
1171
1414
  $2.reset(svg);
1172
- var node_18 = $2.sibling(svg, 2);
1415
+ var node_21 = $2.sibling(svg, 2);
1173
1416
  {
1174
- var consequent_12 = ($$anchor2) => {
1175
- var div_4 = root_21();
1417
+ var consequent_15 = ($$anchor2) => {
1418
+ var div_4 = root_25();
1176
1419
  let styles_2;
1177
1420
  var strong = $2.child(div_4);
1178
1421
  var text_9 = $2.child(strong, true);
@@ -1192,34 +1435,34 @@ function Line_chart($$anchor, $$props) {
1192
1435
  });
1193
1436
  $2.append($$anchor2, div_4);
1194
1437
  };
1195
- $2.if(node_18, ($$render) => {
1438
+ $2.if(node_21, ($$render) => {
1196
1439
  if (interaction.activeTarget)
1197
- $$render(consequent_12);
1440
+ $$render(consequent_15);
1198
1441
  });
1199
1442
  }
1200
1443
  $2.reset(div_1);
1201
- var node_19 = $2.sibling(div_1, 2);
1444
+ var node_22 = $2.sibling(div_1, 2);
1202
1445
  {
1203
- var consequent_13 = ($$anchor2) => {
1204
- var p_1 = root_22();
1446
+ var consequent_16 = ($$anchor2) => {
1447
+ var p_1 = root_26();
1205
1448
  $2.template_effect(() => $2.set_attribute(p_1, "id", $2.get(guidanceId)));
1206
1449
  $2.append($$anchor2, p_1);
1207
1450
  };
1208
- $2.if(node_19, ($$render) => {
1451
+ $2.if(node_22, ($$render) => {
1209
1452
  if ($2.get(guidanceId))
1210
- $$render(consequent_13);
1453
+ $$render(consequent_16);
1211
1454
  });
1212
1455
  }
1213
- var node_20 = $2.sibling(node_19, 2);
1456
+ var node_23 = $2.sibling(node_22, 2);
1214
1457
  {
1215
- var consequent_14 = ($$anchor2) => {
1216
- var table = root_23();
1458
+ var consequent_17 = ($$anchor2) => {
1459
+ var table = root_27();
1217
1460
  var caption = $2.child(table);
1218
1461
  var text_11 = $2.child(caption, true);
1219
1462
  $2.reset(caption);
1220
1463
  var tbody = $2.sibling(caption, 2);
1221
1464
  $2.each(tbody, 21, () => $2.get(model).tableRows, (row) => row.id, ($$anchor3, row) => {
1222
- var tr = root_24();
1465
+ var tr = root_28();
1223
1466
  var th = $2.child(tr);
1224
1467
  var text_12 = $2.child(th, true);
1225
1468
  $2.reset(th);
@@ -1246,17 +1489,17 @@ function Line_chart($$anchor, $$props) {
1246
1489
  }, [() => $2.clsx(dataTableClass(dataTableVisibility()))]);
1247
1490
  $2.append($$anchor2, table);
1248
1491
  };
1249
- $2.if(node_20, ($$render) => {
1492
+ $2.if(node_23, ($$render) => {
1250
1493
  if ($2.get(hasDataTable))
1251
- $$render(consequent_14);
1494
+ $$render(consequent_17);
1252
1495
  });
1253
1496
  }
1254
- var node_21 = $2.sibling(node_20, 2);
1497
+ var node_24 = $2.sibling(node_23, 2);
1255
1498
  {
1256
- var consequent_15 = ($$anchor2) => {
1257
- var div_5 = root_25();
1258
- $2.each(div_5, 23, () => $$props.series, (item) => item.id, ($$anchor3, item, index2) => {
1259
- var button_1 = root_26();
1499
+ var consequent_18 = ($$anchor2) => {
1500
+ var div_5 = root_29();
1501
+ $2.each(div_5, 23, () => $$props.series, (item) => item.id, ($$anchor3, item, index) => {
1502
+ var button_1 = root_30();
1260
1503
  var span_2 = $2.child(button_1);
1261
1504
  let styles_3;
1262
1505
  var text_15 = $2.sibling(span_2, 1, true);
@@ -1268,7 +1511,7 @@ function Line_chart($$anchor, $$props) {
1268
1511
  }, [
1269
1512
  () => !hiddenSeriesIds().includes($2.get(item).id),
1270
1513
  () => ({
1271
- background: $2.get(item).color ?? chartPaletteColor($2.get(index2))
1514
+ background: $2.get(item).color ?? chartPaletteColor($2.get(index))
1272
1515
  })
1273
1516
  ]);
1274
1517
  $2.delegated("click", button_1, () => hiddenSeriesIds(interaction.toggleSeries(hiddenSeriesIds(), $2.get(item).id)));
@@ -1278,9 +1521,9 @@ function Line_chart($$anchor, $$props) {
1278
1521
  $2.append($$anchor2, div_5);
1279
1522
  };
1280
1523
  var d_1 = $2.derived(() => legendVisible(legendPosition(), $$props.series.length) && legendPosition() === "bottom");
1281
- $2.if(node_21, ($$render) => {
1524
+ $2.if(node_24, ($$render) => {
1282
1525
  if ($2.get(d_1))
1283
- $$render(consequent_15);
1526
+ $$render(consequent_18);
1284
1527
  });
1285
1528
  }
1286
1529
  $2.reset(figure);
@@ -1305,4 +1548,4 @@ export {
1305
1548
  Line_chart as LineChart
1306
1549
  };
1307
1550
 
1308
- //# debugId=15F9FB4EF0C1CCCC64756E2164756E21
1551
+ //# debugId=53376974C48AD91264756E2164756E21
@@ -81,15 +81,64 @@
81
81
  pointer-events: none;
82
82
  }
83
83
 
84
- /*
85
- * SVG focus indicator: drop-shadow filter renders an outline-equivalent ring
86
- * around the focused circle that stays visible on any background. Stroke alone
87
- * was invisible against transparent fills.
88
- */
89
- .cinder-line-chart__focus-target:focus-visible {
90
- stroke: var(--cinder-accent);
84
+ .cinder-line-chart__focus-target:focus-visible:not([data-cinder-focus-ring-active='true']) {
85
+ fill: transparent;
86
+ stroke: var(--cinder-ring-color);
87
+ stroke-width: var(--cinder-ring-width);
88
+ vector-effect: non-scaling-stroke;
89
+ filter: none;
90
+ }
91
+
92
+ .cinder-line-chart__focus-ring-layer {
93
+ pointer-events: none;
94
+ }
95
+
96
+ .cinder-line-chart__focus-ring,
97
+ .cinder-line-chart__focus-ring-halo,
98
+ .cinder-line-chart__focus-ring-connector,
99
+ .cinder-line-chart__focus-ring-dot {
100
+ fill: none;
101
+ pointer-events: none;
102
+ vector-effect: non-scaling-stroke;
103
+ stroke-linecap: round;
104
+ stroke-linejoin: round;
105
+ }
106
+
107
+ .cinder-line-chart__focus-ring {
108
+ stroke: var(--cinder-ring-color);
91
109
  stroke-width: var(--cinder-ring-width);
92
- filter: drop-shadow(0 0 var(--cinder-ring-width) var(--cinder-ring-color));
110
+ filter: none;
111
+ }
112
+
113
+ .cinder-line-chart__focus-ring-halo {
114
+ stroke: var(--cinder-ring-offset-color);
115
+ stroke-width: calc(
116
+ var(--cinder-ring-width) + var(--cinder-ring-offset) + var(--cinder-ring-offset)
117
+ );
118
+ filter: none;
119
+ }
120
+
121
+ @media (forced-colors: active) {
122
+ .cinder-line-chart__focus-ring-halo {
123
+ display: none;
124
+ }
125
+
126
+ .cinder-line-chart__focus-ring,
127
+ .cinder-line-chart__focus-ring-connector,
128
+ .cinder-line-chart__focus-ring-dot {
129
+ fill: none;
130
+ stroke: ButtonText;
131
+ stroke-width: var(--cinder-ring-width);
132
+ filter: none;
133
+ }
134
+
135
+ .cinder-line-chart__focus-target:focus-visible:not([data-cinder-focus-ring-active='true']) {
136
+ fill: transparent;
137
+ stroke: ButtonText;
138
+ stroke-width: var(--cinder-ring-width);
139
+ vector-effect: non-scaling-stroke;
140
+ filter: none;
141
+ }
93
142
  }
94
143
 
95
144
  .cinder-line-chart__tick-label {