@logicplanes/kaeso-ui 0.1.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 (660) hide show
  1. package/AGENTS.md +124 -0
  2. package/CLAUDE.md +3 -0
  3. package/LICENSE +21 -0
  4. package/NOTICE.md +5 -0
  5. package/README.md +43 -0
  6. package/ai/component-guides.md +4760 -0
  7. package/ai/component-registry.json +12626 -0
  8. package/ai/component-registry.md +2950 -0
  9. package/ai/icons.md +28 -0
  10. package/ai/tokens.md +207 -0
  11. package/dist/blocks/delete-resource.js +35 -0
  12. package/dist/blocks/delete-resource.js.map +1 -0
  13. package/dist/blocks/pages.js +70 -0
  14. package/dist/blocks/pages.js.map +1 -0
  15. package/dist/blocks/resource-list.js +68 -0
  16. package/dist/blocks/resource-list.js.map +1 -0
  17. package/dist/chunks/app-frame-BBIMch8X.js +224 -0
  18. package/dist/chunks/app-frame-BBIMch8X.js.map +1 -0
  19. package/dist/chunks/arrow-focus-BcySmwwU.js +11 -0
  20. package/dist/chunks/arrow-focus-BcySmwwU.js.map +1 -0
  21. package/dist/chunks/avatar-D2nJNbtC.js +83 -0
  22. package/dist/chunks/avatar-D2nJNbtC.js.map +1 -0
  23. package/dist/chunks/badge-Dkyhs0_j.js +26 -0
  24. package/dist/chunks/badge-Dkyhs0_j.js.map +1 -0
  25. package/dist/chunks/banner-BiziJuBZ.js +85 -0
  26. package/dist/chunks/banner-BiziJuBZ.js.map +1 -0
  27. package/dist/chunks/button-BHKAE6ui.js +164 -0
  28. package/dist/chunks/button-BHKAE6ui.js.map +1 -0
  29. package/dist/chunks/calendar-B5SSTE56.js +104 -0
  30. package/dist/chunks/calendar-B5SSTE56.js.map +1 -0
  31. package/dist/chunks/checkbox-BgRdbfCE.js +124 -0
  32. package/dist/chunks/checkbox-BgRdbfCE.js.map +1 -0
  33. package/dist/chunks/cn-CidVUKMm.js +669 -0
  34. package/dist/chunks/cn-CidVUKMm.js.map +1 -0
  35. package/dist/chunks/code-DDyOlIFO.js +23 -0
  36. package/dist/chunks/code-DDyOlIFO.js.map +1 -0
  37. package/dist/chunks/code-block-BbK6E4Eo.js +273 -0
  38. package/dist/chunks/code-block-BbK6E4Eo.js.map +1 -0
  39. package/dist/chunks/collapsible-Cw_1aem5.js +87 -0
  40. package/dist/chunks/collapsible-Cw_1aem5.js.map +1 -0
  41. package/dist/chunks/combobox-D8pQk22r.js +291 -0
  42. package/dist/chunks/combobox-D8pQk22r.js.map +1 -0
  43. package/dist/chunks/context-BELWW79w.js +20 -0
  44. package/dist/chunks/context-BELWW79w.js.map +1 -0
  45. package/dist/chunks/copy-button-mAzHjYXq.js +109 -0
  46. package/dist/chunks/copy-button-mAzHjYXq.js.map +1 -0
  47. package/dist/chunks/core-Bgefcs3z.js +467 -0
  48. package/dist/chunks/core-Bgefcs3z.js.map +1 -0
  49. package/dist/chunks/date-popup-Er1oQwtU.js +35 -0
  50. package/dist/chunks/date-popup-Er1oQwtU.js.map +1 -0
  51. package/dist/chunks/de-BCg1eRVd.js +384 -0
  52. package/dist/chunks/de-BCg1eRVd.js.map +1 -0
  53. package/dist/chunks/dev-CR1p7gCm.js +30 -0
  54. package/dist/chunks/dev-CR1p7gCm.js.map +1 -0
  55. package/dist/chunks/dialog-CVqSVk3T.js +283 -0
  56. package/dist/chunks/dialog-CVqSVk3T.js.map +1 -0
  57. package/dist/chunks/empty-DIbBpytW.js +38 -0
  58. package/dist/chunks/empty-DIbBpytW.js.map +1 -0
  59. package/dist/chunks/field-d8V94bvZ.js +119 -0
  60. package/dist/chunks/field-d8V94bvZ.js.map +1 -0
  61. package/dist/chunks/field-press-DwzBFafd.js +10 -0
  62. package/dist/chunks/field-press-DwzBFafd.js.map +1 -0
  63. package/dist/chunks/i18n-0RW0IAf3.js +10 -0
  64. package/dist/chunks/i18n-0RW0IAf3.js.map +1 -0
  65. package/dist/chunks/icon-Bha63LaN.js +90 -0
  66. package/dist/chunks/icon-Bha63LaN.js.map +1 -0
  67. package/dist/chunks/icon-CeNQtobn.js +47 -0
  68. package/dist/chunks/icon-CeNQtobn.js.map +1 -0
  69. package/dist/chunks/icon-button-Bw67oKtx.js +50 -0
  70. package/dist/chunks/icon-button-Bw67oKtx.js.map +1 -0
  71. package/dist/chunks/identity-DQinp-Ep.js +342 -0
  72. package/dist/chunks/identity-DQinp-Ep.js.map +1 -0
  73. package/dist/chunks/input-Biakz6GB.js +114 -0
  74. package/dist/chunks/input-Biakz6GB.js.map +1 -0
  75. package/dist/chunks/input-group-DQqEPFj_.js +87 -0
  76. package/dist/chunks/input-group-DQqEPFj_.js.map +1 -0
  77. package/dist/chunks/inset-BLMdxX4I.js +18 -0
  78. package/dist/chunks/inset-BLMdxX4I.js.map +1 -0
  79. package/dist/chunks/iso-field-CznqNVrH.js +31 -0
  80. package/dist/chunks/iso-field-CznqNVrH.js.map +1 -0
  81. package/dist/chunks/json-view-B6KHIWzh.js +174 -0
  82. package/dist/chunks/json-view-B6KHIWzh.js.map +1 -0
  83. package/dist/chunks/kbd-CBcBDvqU.js +132 -0
  84. package/dist/chunks/kbd-CBcBDvqU.js.map +1 -0
  85. package/dist/chunks/labelled-D5udSPUI.js +16 -0
  86. package/dist/chunks/labelled-D5udSPUI.js.map +1 -0
  87. package/dist/chunks/link-provider---9JdxTg.js +27 -0
  88. package/dist/chunks/link-provider---9JdxTg.js.map +1 -0
  89. package/dist/chunks/link-tTapNTpM.js +47 -0
  90. package/dist/chunks/link-tTapNTpM.js.map +1 -0
  91. package/dist/chunks/list-CN8pO8lv.js +475 -0
  92. package/dist/chunks/list-CN8pO8lv.js.map +1 -0
  93. package/dist/chunks/loader-CUehxvSZ.js +57 -0
  94. package/dist/chunks/loader-CUehxvSZ.js.map +1 -0
  95. package/dist/chunks/logo-VmXYhIJL.js +149 -0
  96. package/dist/chunks/logo-VmXYhIJL.js.map +1 -0
  97. package/dist/chunks/markdown-C-iJsYnd.js +313 -0
  98. package/dist/chunks/markdown-C-iJsYnd.js.map +1 -0
  99. package/dist/chunks/menu-OURWt_hD.js +447 -0
  100. package/dist/chunks/menu-OURWt_hD.js.map +1 -0
  101. package/dist/chunks/message-BxTkh1oA.js +49 -0
  102. package/dist/chunks/message-BxTkh1oA.js.map +1 -0
  103. package/dist/chunks/meter-DWhyzFGQ.js +84 -0
  104. package/dist/chunks/meter-DWhyzFGQ.js.map +1 -0
  105. package/dist/chunks/page-header-BIRswR73.js +41 -0
  106. package/dist/chunks/page-header-BIRswR73.js.map +1 -0
  107. package/dist/chunks/pagination-DYdLm18-.js +85 -0
  108. package/dist/chunks/pagination-DYdLm18-.js.map +1 -0
  109. package/dist/chunks/popover-BE7VO-a4.js +50 -0
  110. package/dist/chunks/popover-BE7VO-a4.js.map +1 -0
  111. package/dist/chunks/popover-root-D3q89WNF.js +26 -0
  112. package/dist/chunks/popover-root-D3q89WNF.js.map +1 -0
  113. package/dist/chunks/portal-context-BBbzDKmY.js +33 -0
  114. package/dist/chunks/portal-context-BBbzDKmY.js.map +1 -0
  115. package/dist/chunks/radio-CUxbLCvD.js +110 -0
  116. package/dist/chunks/radio-CUxbLCvD.js.map +1 -0
  117. package/dist/chunks/range-popup-AbRzgHtY.js +111 -0
  118. package/dist/chunks/range-popup-AbRzgHtY.js.map +1 -0
  119. package/dist/chunks/restore-focus-Cap1Q-R3.js +19 -0
  120. package/dist/chunks/restore-focus-Cap1Q-R3.js.map +1 -0
  121. package/dist/chunks/rights-CXo7zEf6.js +279 -0
  122. package/dist/chunks/rights-CXo7zEf6.js.map +1 -0
  123. package/dist/chunks/safe-href-G5DBNVwm.js +13 -0
  124. package/dist/chunks/safe-href-G5DBNVwm.js.map +1 -0
  125. package/dist/chunks/scroll-parent-WXvzQcUo.js +14 -0
  126. package/dist/chunks/scroll-parent-WXvzQcUo.js.map +1 -0
  127. package/dist/chunks/section-XStLtXKa.js +87 -0
  128. package/dist/chunks/section-XStLtXKa.js.map +1 -0
  129. package/dist/chunks/segmented-CDTx2n29.js +113 -0
  130. package/dist/chunks/segmented-CDTx2n29.js.map +1 -0
  131. package/dist/chunks/select-Ca3HGsN1.js +223 -0
  132. package/dist/chunks/select-Ca3HGsN1.js.map +1 -0
  133. package/dist/chunks/separator-D5AzVFTS.js +45 -0
  134. package/dist/chunks/separator-D5AzVFTS.js.map +1 -0
  135. package/dist/chunks/sidebar-C4fL_KMm.js +599 -0
  136. package/dist/chunks/sidebar-C4fL_KMm.js.map +1 -0
  137. package/dist/chunks/sidebar-menu-sd9vCpDy.js +33 -0
  138. package/dist/chunks/sidebar-menu-sd9vCpDy.js.map +1 -0
  139. package/dist/chunks/skeleton-kfuqdl1a.js +36 -0
  140. package/dist/chunks/skeleton-kfuqdl1a.js.map +1 -0
  141. package/dist/chunks/slider-DbhjJ3ML.js +57 -0
  142. package/dist/chunks/slider-DbhjJ3ML.js.map +1 -0
  143. package/dist/chunks/status-dot-CBoQpyL4.js +25 -0
  144. package/dist/chunks/status-dot-CBoQpyL4.js.map +1 -0
  145. package/dist/chunks/styles-Btvg2DCf.js +21 -0
  146. package/dist/chunks/styles-Btvg2DCf.js.map +1 -0
  147. package/dist/chunks/swap-text-BhPI8DOf.js +28 -0
  148. package/dist/chunks/swap-text-BhPI8DOf.js.map +1 -0
  149. package/dist/chunks/switch-CztLhA8F.js +59 -0
  150. package/dist/chunks/switch-CztLhA8F.js.map +1 -0
  151. package/dist/chunks/table-DYKa86af.js +67 -0
  152. package/dist/chunks/table-DYKa86af.js.map +1 -0
  153. package/dist/chunks/tag-BsmQ1xPj.js +87 -0
  154. package/dist/chunks/tag-BsmQ1xPj.js.map +1 -0
  155. package/dist/chunks/text-BPglS3vq.js +63 -0
  156. package/dist/chunks/text-BPglS3vq.js.map +1 -0
  157. package/dist/chunks/textarea-Bvk7N2bh.js +156 -0
  158. package/dist/chunks/textarea-Bvk7N2bh.js.map +1 -0
  159. package/dist/chunks/theme-provider-mgUaQK7L.js +69 -0
  160. package/dist/chunks/theme-provider-mgUaQK7L.js.map +1 -0
  161. package/dist/chunks/tone-CWpsHPb6.js +11 -0
  162. package/dist/chunks/tone-CWpsHPb6.js.map +1 -0
  163. package/dist/chunks/toolbar-Dw3uxpsE.js +36 -0
  164. package/dist/chunks/toolbar-Dw3uxpsE.js.map +1 -0
  165. package/dist/chunks/tooltip-CDu00nzg.js +124 -0
  166. package/dist/chunks/tooltip-CDu00nzg.js.map +1 -0
  167. package/dist/chunks/tooltip-root-DWhtAtFb.js +60 -0
  168. package/dist/chunks/tooltip-root-DWhtAtFb.js.map +1 -0
  169. package/dist/chunks/use-controllable-B5Fd12Bx.js +13 -0
  170. package/dist/chunks/use-controllable-B5Fd12Bx.js.map +1 -0
  171. package/dist/chunks/use-copy-Dm2ncvMX.js +24 -0
  172. package/dist/chunks/use-copy-Dm2ncvMX.js.map +1 -0
  173. package/dist/chunks/use-layout-width-DZaLOQMT.js +27 -0
  174. package/dist/chunks/use-layout-width-DZaLOQMT.js.map +1 -0
  175. package/dist/chunks/use-scroll-margin-DWcfIXac.js +25 -0
  176. package/dist/chunks/use-scroll-margin-DWcfIXac.js.map +1 -0
  177. package/dist/chunks/use-truncated-DmQoePvG.js +25 -0
  178. package/dist/chunks/use-truncated-DmQoePvG.js.map +1 -0
  179. package/dist/chunks/utils-CdH72WEp.js +8 -0
  180. package/dist/chunks/utils-CdH72WEp.js.map +1 -0
  181. package/dist/chunks/virtual-rows-BgMdVelU.js +37 -0
  182. package/dist/chunks/virtual-rows-BgMdVelU.js.map +1 -0
  183. package/dist/chunks/when-idle-Cy3pinqO.js +12 -0
  184. package/dist/chunks/when-idle-Cy3pinqO.js.map +1 -0
  185. package/dist/chunks/zh-CN-cPjO1OOo.js +384 -0
  186. package/dist/chunks/zh-CN-cPjO1OOo.js.map +1 -0
  187. package/dist/components/app-frame.js +2 -0
  188. package/dist/components/avatar.js +2 -0
  189. package/dist/components/badge.js +2 -0
  190. package/dist/components/banner.js +2 -0
  191. package/dist/components/button-group.js +69 -0
  192. package/dist/components/button-group.js.map +1 -0
  193. package/dist/components/button.js +2 -0
  194. package/dist/components/calendar.js +2 -0
  195. package/dist/components/charts/bar.js +231 -0
  196. package/dist/components/charts/bar.js.map +1 -0
  197. package/dist/components/charts/donut.js +179 -0
  198. package/dist/components/charts/donut.js.map +1 -0
  199. package/dist/components/charts/gauge.js +70 -0
  200. package/dist/components/charts/gauge.js.map +1 -0
  201. package/dist/components/charts/heatmap.js +83 -0
  202. package/dist/components/charts/heatmap.js.map +1 -0
  203. package/dist/components/charts/sankey.js +110 -0
  204. package/dist/components/charts/sankey.js.map +1 -0
  205. package/dist/components/charts/sparkline.js +72 -0
  206. package/dist/components/charts/sparkline.js.map +1 -0
  207. package/dist/components/charts/timeseries.js +253 -0
  208. package/dist/components/charts/timeseries.js.map +1 -0
  209. package/dist/components/charts.js +10 -0
  210. package/dist/components/checkbox.js +2 -0
  211. package/dist/components/code-block.js +4 -0
  212. package/dist/components/code.js +2 -0
  213. package/dist/components/collapsible.js +2 -0
  214. package/dist/components/combobox.js +2 -0
  215. package/dist/components/command-palette.js +216 -0
  216. package/dist/components/command-palette.js.map +1 -0
  217. package/dist/components/copy-button.js +2 -0
  218. package/dist/components/data-table.js +399 -0
  219. package/dist/components/data-table.js.map +1 -0
  220. package/dist/components/date-picker.js +327 -0
  221. package/dist/components/date-picker.js.map +1 -0
  222. package/dist/components/dialog.js +178 -0
  223. package/dist/components/dialog.js.map +1 -0
  224. package/dist/components/display-options.js +112 -0
  225. package/dist/components/display-options.js.map +1 -0
  226. package/dist/components/empty.js +2 -0
  227. package/dist/components/field.js +2 -0
  228. package/dist/components/filter-chip.js +120 -0
  229. package/dist/components/filter-chip.js.map +1 -0
  230. package/dist/components/filter-row.js +35 -0
  231. package/dist/components/filter-row.js.map +1 -0
  232. package/dist/components/flow.js +111 -0
  233. package/dist/components/flow.js.map +1 -0
  234. package/dist/components/heading.js +28 -0
  235. package/dist/components/heading.js.map +1 -0
  236. package/dist/components/icon-button.js +2 -0
  237. package/dist/components/icon.js +4 -0
  238. package/dist/components/input.js +181 -0
  239. package/dist/components/input.js.map +1 -0
  240. package/dist/components/kaeso/conversation.js +204 -0
  241. package/dist/components/kaeso/conversation.js.map +1 -0
  242. package/dist/components/kaeso/identity.js +2 -0
  243. package/dist/components/kaeso/moments.js +122 -0
  244. package/dist/components/kaeso/moments.js.map +1 -0
  245. package/dist/components/kaeso/rights.js +2 -0
  246. package/dist/components/kaeso/usage.js +101 -0
  247. package/dist/components/kaeso/usage.js.map +1 -0
  248. package/dist/components/kaeso.js +186 -0
  249. package/dist/components/kaeso.js.map +1 -0
  250. package/dist/components/kbd.js +2 -0
  251. package/dist/components/key-value.js +73 -0
  252. package/dist/components/key-value.js.map +1 -0
  253. package/dist/components/label.js +26 -0
  254. package/dist/components/label.js.map +1 -0
  255. package/dist/components/layout.js +72 -0
  256. package/dist/components/layout.js.map +1 -0
  257. package/dist/components/link.js +2 -0
  258. package/dist/components/list.js +2 -0
  259. package/dist/components/loader.js +38 -0
  260. package/dist/components/loader.js.map +1 -0
  261. package/dist/components/logo.js +2 -0
  262. package/dist/components/markdown.js +4 -0
  263. package/dist/components/menu.js +4 -0
  264. package/dist/components/meter.js +2 -0
  265. package/dist/components/page-header.js +2 -0
  266. package/dist/components/pagination.js +2 -0
  267. package/dist/components/playground.js +813 -0
  268. package/dist/components/playground.js.map +1 -0
  269. package/dist/components/popover.js +53 -0
  270. package/dist/components/popover.js.map +1 -0
  271. package/dist/components/portal.js +15 -0
  272. package/dist/components/portal.js.map +1 -0
  273. package/dist/components/qr-code.js +38 -0
  274. package/dist/components/qr-code.js.map +1 -0
  275. package/dist/components/radio.js +2 -0
  276. package/dist/components/scroll-area.js +35 -0
  277. package/dist/components/scroll-area.js.map +1 -0
  278. package/dist/components/section.js +2 -0
  279. package/dist/components/segmented.js +2 -0
  280. package/dist/components/select.js +2 -0
  281. package/dist/components/separator.js +2 -0
  282. package/dist/components/settings.js +99 -0
  283. package/dist/components/settings.js.map +1 -0
  284. package/dist/components/sheet.js +94 -0
  285. package/dist/components/sheet.js.map +1 -0
  286. package/dist/components/sidebar.js +2 -0
  287. package/dist/components/skeleton.js +2 -0
  288. package/dist/components/slider.js +2 -0
  289. package/dist/components/stat.js +195 -0
  290. package/dist/components/stat.js.map +1 -0
  291. package/dist/components/status-dot.js +2 -0
  292. package/dist/components/surface.js +26 -0
  293. package/dist/components/surface.js.map +1 -0
  294. package/dist/components/swap-text.js +2 -0
  295. package/dist/components/switch.js +2 -0
  296. package/dist/components/table.js +2 -0
  297. package/dist/components/tabs.js +96 -0
  298. package/dist/components/tabs.js.map +1 -0
  299. package/dist/components/tag.js +2 -0
  300. package/dist/components/text.js +2 -0
  301. package/dist/components/theme-menu.js +50 -0
  302. package/dist/components/theme-menu.js.map +1 -0
  303. package/dist/components/timeline.js +58 -0
  304. package/dist/components/timeline.js.map +1 -0
  305. package/dist/components/toast.js +214 -0
  306. package/dist/components/toast.js.map +1 -0
  307. package/dist/components/toc.js +48 -0
  308. package/dist/components/toc.js.map +1 -0
  309. package/dist/components/toolbar.js +2 -0
  310. package/dist/components/tooltip.js +18 -0
  311. package/dist/components/tooltip.js.map +1 -0
  312. package/dist/components/visually-hidden.js +17 -0
  313. package/dist/components/visually-hidden.js.map +1 -0
  314. package/dist/fonts/LICENSE-GeistMono.txt +93 -0
  315. package/dist/fonts/LICENSE-Inter.txt +93 -0
  316. package/dist/fonts/geist-mono-latin-ext-wght-normal.woff2 +0 -0
  317. package/dist/fonts/geist-mono-latin-wght-normal.woff2 +0 -0
  318. package/dist/fonts/inter-latin-ext-opsz-normal.woff2 +0 -0
  319. package/dist/fonts/inter-latin-opsz-normal.woff2 +0 -0
  320. package/dist/fonts.css +40 -0
  321. package/dist/format.js +178 -0
  322. package/dist/format.js.map +1 -0
  323. package/dist/i18n-locales.js +23 -0
  324. package/dist/i18n-locales.js.map +1 -0
  325. package/dist/i18n-provider.js +30 -0
  326. package/dist/i18n-provider.js.map +1 -0
  327. package/dist/i18n.js +7 -0
  328. package/dist/index.js +153 -0
  329. package/dist/kaeso.css +1099 -0
  330. package/dist/styles.css +2 -0
  331. package/dist/tailwind.css +10 -0
  332. package/dist/theme.js +2 -0
  333. package/dist/types/blocks/delete-resource/delete-resource.d.ts +32 -0
  334. package/dist/types/blocks/delete-resource/docs.d.ts +17 -0
  335. package/dist/types/blocks/delete-resource/index.d.ts +1 -0
  336. package/dist/types/blocks/pages/docs.d.ts +42 -0
  337. package/dist/types/blocks/pages/index.d.ts +1 -0
  338. package/dist/types/blocks/pages/pages.d.ts +65 -0
  339. package/dist/types/blocks/resource-list/docs.d.ts +15 -0
  340. package/dist/types/blocks/resource-list/index.d.ts +1 -0
  341. package/dist/types/blocks/resource-list/resource-list.d.ts +36 -0
  342. package/dist/types/component-docs.d.ts +7 -0
  343. package/dist/types/components/app-frame/app-frame.d.ts +79 -0
  344. package/dist/types/components/app-frame/docs.d.ts +23 -0
  345. package/dist/types/components/app-frame/index.d.ts +1 -0
  346. package/dist/types/components/avatar/avatar.d.ts +60 -0
  347. package/dist/types/components/avatar/docs.d.ts +21 -0
  348. package/dist/types/components/avatar/index.d.ts +1 -0
  349. package/dist/types/components/badge/badge.d.ts +41 -0
  350. package/dist/types/components/badge/docs.d.ts +9 -0
  351. package/dist/types/components/badge/index.d.ts +1 -0
  352. package/dist/types/components/banner/banner.d.ts +51 -0
  353. package/dist/types/components/banner/docs.d.ts +14 -0
  354. package/dist/types/components/banner/index.d.ts +1 -0
  355. package/dist/types/components/button/button.d.ts +116 -0
  356. package/dist/types/components/button/docs.d.ts +23 -0
  357. package/dist/types/components/button/index.d.ts +1 -0
  358. package/dist/types/components/button-group/button-group.d.ts +55 -0
  359. package/dist/types/components/button-group/docs.d.ts +11 -0
  360. package/dist/types/components/button-group/index.d.ts +1 -0
  361. package/dist/types/components/calendar/calendar.d.ts +32 -0
  362. package/dist/types/components/calendar/docs.d.ts +16 -0
  363. package/dist/types/components/calendar/index.d.ts +1 -0
  364. package/dist/types/components/charts/bar.d.ts +39 -0
  365. package/dist/types/components/charts/core.d.ts +167 -0
  366. package/dist/types/components/charts/docs.d.ts +174 -0
  367. package/dist/types/components/charts/donut.d.ts +67 -0
  368. package/dist/types/components/charts/gauge.d.ts +20 -0
  369. package/dist/types/components/charts/heatmap.d.ts +24 -0
  370. package/dist/types/components/charts/index.d.ts +8 -0
  371. package/dist/types/components/charts/sankey.d.ts +29 -0
  372. package/dist/types/components/charts/sparkline.d.ts +18 -0
  373. package/dist/types/components/charts/timeseries.d.ts +47 -0
  374. package/dist/types/components/checkbox/checkbox.d.ts +53 -0
  375. package/dist/types/components/checkbox/docs.d.ts +58 -0
  376. package/dist/types/components/checkbox/index.d.ts +1 -0
  377. package/dist/types/components/code/code.d.ts +24 -0
  378. package/dist/types/components/code/docs.d.ts +8 -0
  379. package/dist/types/components/code/index.d.ts +1 -0
  380. package/dist/types/components/code-block/code-block.d.ts +37 -0
  381. package/dist/types/components/code-block/docs.d.ts +41 -0
  382. package/dist/types/components/code-block/highlighter.d.ts +23 -0
  383. package/dist/types/components/code-block/index.d.ts +4 -0
  384. package/dist/types/components/code-block/json-view.d.ts +23 -0
  385. package/dist/types/components/code-block/kaeso-theme.d.ts +66 -0
  386. package/dist/types/components/collapsible/collapsible.d.ts +39 -0
  387. package/dist/types/components/collapsible/docs.d.ts +21 -0
  388. package/dist/types/components/collapsible/index.d.ts +1 -0
  389. package/dist/types/components/combobox/combobox.d.ts +86 -0
  390. package/dist/types/components/combobox/docs.d.ts +62 -0
  391. package/dist/types/components/combobox/index.d.ts +1 -0
  392. package/dist/types/components/command-palette/command-palette.d.ts +44 -0
  393. package/dist/types/components/command-palette/docs.d.ts +17 -0
  394. package/dist/types/components/command-palette/index.d.ts +1 -0
  395. package/dist/types/components/copy-button/copy-button.d.ts +85 -0
  396. package/dist/types/components/copy-button/docs.d.ts +30 -0
  397. package/dist/types/components/copy-button/index.d.ts +1 -0
  398. package/dist/types/components/data-table/columns.d.ts +47 -0
  399. package/dist/types/components/data-table/data-table.d.ts +80 -0
  400. package/dist/types/components/data-table/docs.d.ts +32 -0
  401. package/dist/types/components/data-table/index.d.ts +3 -0
  402. package/dist/types/components/date-picker/date-picker.d.ts +55 -0
  403. package/dist/types/components/date-picker/date-popup.d.ts +9 -0
  404. package/dist/types/components/date-picker/docs.d.ts +73 -0
  405. package/dist/types/components/date-picker/index.d.ts +2 -0
  406. package/dist/types/components/date-picker/iso-field.d.ts +5 -0
  407. package/dist/types/components/date-picker/range-popup.d.ts +13 -0
  408. package/dist/types/components/date-picker/time-input.d.ts +39 -0
  409. package/dist/types/components/dialog/dialog.d.ts +118 -0
  410. package/dist/types/components/dialog/docs.d.ts +70 -0
  411. package/dist/types/components/dialog/focus.d.ts +2 -0
  412. package/dist/types/components/dialog/index.d.ts +2 -0
  413. package/dist/types/components/dialog/step-dialog.d.ts +26 -0
  414. package/dist/types/components/display-options/display-options.d.ts +55 -0
  415. package/dist/types/components/display-options/docs.d.ts +14 -0
  416. package/dist/types/components/display-options/index.d.ts +1 -0
  417. package/dist/types/components/empty/docs.d.ts +12 -0
  418. package/dist/types/components/empty/empty.d.ts +29 -0
  419. package/dist/types/components/empty/index.d.ts +1 -0
  420. package/dist/types/components/field/docs.d.ts +20 -0
  421. package/dist/types/components/field/field.d.ts +78 -0
  422. package/dist/types/components/field/index.d.ts +1 -0
  423. package/dist/types/components/filter-chip/docs.d.ts +19 -0
  424. package/dist/types/components/filter-chip/filter-chip.d.ts +37 -0
  425. package/dist/types/components/filter-chip/index.d.ts +1 -0
  426. package/dist/types/components/filter-row/docs.d.ts +11 -0
  427. package/dist/types/components/filter-row/filter-row.d.ts +23 -0
  428. package/dist/types/components/filter-row/index.d.ts +1 -0
  429. package/dist/types/components/flow/docs.d.ts +12 -0
  430. package/dist/types/components/flow/flow.d.ts +34 -0
  431. package/dist/types/components/flow/index.d.ts +1 -0
  432. package/dist/types/components/heading/docs.d.ts +10 -0
  433. package/dist/types/components/heading/heading.d.ts +30 -0
  434. package/dist/types/components/heading/index.d.ts +1 -0
  435. package/dist/types/components/icon/docs.d.ts +10 -0
  436. package/dist/types/components/icon/icon.d.ts +37 -0
  437. package/dist/types/components/icon/index.d.ts +2 -0
  438. package/dist/types/components/icon-button/docs.d.ts +17 -0
  439. package/dist/types/components/icon-button/icon-button.d.ts +75 -0
  440. package/dist/types/components/icon-button/index.d.ts +1 -0
  441. package/dist/types/components/input/decimal.d.ts +11 -0
  442. package/dist/types/components/input/docs.d.ts +149 -0
  443. package/dist/types/components/input/index.d.ts +8 -0
  444. package/dist/types/components/input/input-group.d.ts +55 -0
  445. package/dist/types/components/input/input.d.ts +45 -0
  446. package/dist/types/components/input/number-input.d.ts +28 -0
  447. package/dist/types/components/input/otp-input.d.ts +27 -0
  448. package/dist/types/components/input/sensitive-input.d.ts +21 -0
  449. package/dist/types/components/input/tag-input.d.ts +27 -0
  450. package/dist/types/components/input/textarea.d.ts +25 -0
  451. package/dist/types/components/kaeso/conversation.d.ts +58 -0
  452. package/dist/types/components/kaeso/docs.d.ts +139 -0
  453. package/dist/types/components/kaeso/effective-access.d.ts +21 -0
  454. package/dist/types/components/kaeso/identity.d.ts +70 -0
  455. package/dist/types/components/kaeso/index.d.ts +8 -0
  456. package/dist/types/components/kaeso/moments.d.ts +30 -0
  457. package/dist/types/components/kaeso/provider-marks.d.ts +1 -0
  458. package/dist/types/components/kaeso/rights-logic.d.ts +13 -0
  459. package/dist/types/components/kaeso/rights.d.ts +69 -0
  460. package/dist/types/components/kaeso/role-picker.d.ts +38 -0
  461. package/dist/types/components/kaeso/usage.d.ts +35 -0
  462. package/dist/types/components/kbd/docs.d.ts +16 -0
  463. package/dist/types/components/kbd/index.d.ts +1 -0
  464. package/dist/types/components/kbd/kbd.d.ts +31 -0
  465. package/dist/types/components/key-value/docs.d.ts +10 -0
  466. package/dist/types/components/key-value/index.d.ts +1 -0
  467. package/dist/types/components/key-value/key-value.d.ts +50 -0
  468. package/dist/types/components/label/docs.d.ts +10 -0
  469. package/dist/types/components/label/index.d.ts +1 -0
  470. package/dist/types/components/label/label.d.ts +22 -0
  471. package/dist/types/components/layout/docs.d.ts +30 -0
  472. package/dist/types/components/layout/index.d.ts +1 -0
  473. package/dist/types/components/layout/layout.d.ts +100 -0
  474. package/dist/types/components/link/docs.d.ts +11 -0
  475. package/dist/types/components/link/index.d.ts +1 -0
  476. package/dist/types/components/link/link.d.ts +27 -0
  477. package/dist/types/components/list/docs.d.ts +75 -0
  478. package/dist/types/components/list/index.d.ts +1 -0
  479. package/dist/types/components/list/list.d.ts +119 -0
  480. package/dist/types/components/list/row-checkbox.d.ts +5 -0
  481. package/dist/types/components/list/virtual-rows.d.ts +10 -0
  482. package/dist/types/components/loader/docs.d.ts +21 -0
  483. package/dist/types/components/loader/index.d.ts +2 -0
  484. package/dist/types/components/loader/loader.d.ts +35 -0
  485. package/dist/types/components/loader/status.d.ts +55 -0
  486. package/dist/types/components/logo/docs.d.ts +10 -0
  487. package/dist/types/components/logo/index.d.ts +1 -0
  488. package/dist/types/components/logo/logo.d.ts +59 -0
  489. package/dist/types/components/logo/paths.d.ts +16 -0
  490. package/dist/types/components/markdown/docs.d.ts +15 -0
  491. package/dist/types/components/markdown/index.d.ts +1 -0
  492. package/dist/types/components/markdown/markdown.d.ts +54 -0
  493. package/dist/types/components/menu/docs.d.ts +19 -0
  494. package/dist/types/components/menu/index.d.ts +2 -0
  495. package/dist/types/components/menu/menu.d.ts +213 -0
  496. package/dist/types/components/menu/styles.d.ts +7 -0
  497. package/dist/types/components/meter/docs.d.ts +23 -0
  498. package/dist/types/components/meter/index.d.ts +1 -0
  499. package/dist/types/components/meter/meter.d.ts +51 -0
  500. package/dist/types/components/page-header/docs.d.ts +12 -0
  501. package/dist/types/components/page-header/index.d.ts +1 -0
  502. package/dist/types/components/page-header/page-header.d.ts +22 -0
  503. package/dist/types/components/pagination/docs.d.ts +17 -0
  504. package/dist/types/components/pagination/index.d.ts +1 -0
  505. package/dist/types/components/pagination/pagination.d.ts +33 -0
  506. package/dist/types/components/playground/compare-grid.d.ts +41 -0
  507. package/dist/types/components/playground/composer.d.ts +40 -0
  508. package/dist/types/components/playground/docs.d.ts +141 -0
  509. package/dist/types/components/playground/index.d.ts +7 -0
  510. package/dist/types/components/playground/model-picker.d.ts +37 -0
  511. package/dist/types/components/playground/parameter-panel.d.ts +52 -0
  512. package/dist/types/components/playground/prompt-suggestions.d.ts +23 -0
  513. package/dist/types/components/playground/response-metrics.d.ts +30 -0
  514. package/dist/types/components/playground/response-view.d.ts +55 -0
  515. package/dist/types/components/popover/docs.d.ts +21 -0
  516. package/dist/types/components/popover/hover-card.d.ts +24 -0
  517. package/dist/types/components/popover/index.d.ts +2 -0
  518. package/dist/types/components/popover/popover-root.d.ts +24 -0
  519. package/dist/types/components/popover/popover.d.ts +40 -0
  520. package/dist/types/components/portal/docs.d.ts +9 -0
  521. package/dist/types/components/portal/index.d.ts +1 -0
  522. package/dist/types/components/portal/portal.d.ts +11 -0
  523. package/dist/types/components/qr-code/docs.d.ts +10 -0
  524. package/dist/types/components/qr-code/index.d.ts +1 -0
  525. package/dist/types/components/qr-code/qr-code.d.ts +22 -0
  526. package/dist/types/components/radio/docs.d.ts +42 -0
  527. package/dist/types/components/radio/index.d.ts +1 -0
  528. package/dist/types/components/radio/labelled.d.ts +13 -0
  529. package/dist/types/components/radio/radio.d.ts +51 -0
  530. package/dist/types/components/scroll-area/docs.d.ts +11 -0
  531. package/dist/types/components/scroll-area/index.d.ts +1 -0
  532. package/dist/types/components/scroll-area/scroll-area.d.ts +28 -0
  533. package/dist/types/components/section/docs.d.ts +28 -0
  534. package/dist/types/components/section/index.d.ts +1 -0
  535. package/dist/types/components/section/section.d.ts +37 -0
  536. package/dist/types/components/segmented/docs.d.ts +15 -0
  537. package/dist/types/components/segmented/index.d.ts +1 -0
  538. package/dist/types/components/segmented/segmented.d.ts +37 -0
  539. package/dist/types/components/select/docs.d.ts +32 -0
  540. package/dist/types/components/select/index.d.ts +1 -0
  541. package/dist/types/components/select/select.d.ts +82 -0
  542. package/dist/types/components/separator/docs.d.ts +10 -0
  543. package/dist/types/components/separator/index.d.ts +1 -0
  544. package/dist/types/components/separator/separator.d.ts +33 -0
  545. package/dist/types/components/settings/docs.d.ts +32 -0
  546. package/dist/types/components/settings/index.d.ts +1 -0
  547. package/dist/types/components/settings/settings.d.ts +45 -0
  548. package/dist/types/components/sheet/docs.d.ts +20 -0
  549. package/dist/types/components/sheet/index.d.ts +1 -0
  550. package/dist/types/components/sheet/sheet.d.ts +51 -0
  551. package/dist/types/components/sidebar/docs.d.ts +20 -0
  552. package/dist/types/components/sidebar/index.d.ts +1 -0
  553. package/dist/types/components/sidebar/sidebar-menu.d.ts +16 -0
  554. package/dist/types/components/sidebar/sidebar.d.ts +178 -0
  555. package/dist/types/components/skeleton/docs.d.ts +14 -0
  556. package/dist/types/components/skeleton/index.d.ts +1 -0
  557. package/dist/types/components/skeleton/skeleton.d.ts +31 -0
  558. package/dist/types/components/slider/docs.d.ts +20 -0
  559. package/dist/types/components/slider/index.d.ts +1 -0
  560. package/dist/types/components/slider/slider.d.ts +29 -0
  561. package/dist/types/components/stat/docs.d.ts +35 -0
  562. package/dist/types/components/stat/index.d.ts +1 -0
  563. package/dist/types/components/stat/stat.d.ts +68 -0
  564. package/dist/types/components/status-dot/docs.d.ts +18 -0
  565. package/dist/types/components/status-dot/index.d.ts +1 -0
  566. package/dist/types/components/status-dot/status-dot.d.ts +36 -0
  567. package/dist/types/components/surface/docs.d.ts +8 -0
  568. package/dist/types/components/surface/index.d.ts +1 -0
  569. package/dist/types/components/surface/surface.d.ts +44 -0
  570. package/dist/types/components/swap-text/docs.d.ts +10 -0
  571. package/dist/types/components/swap-text/index.d.ts +1 -0
  572. package/dist/types/components/swap-text/swap-text.d.ts +22 -0
  573. package/dist/types/components/switch/docs.d.ts +21 -0
  574. package/dist/types/components/switch/index.d.ts +1 -0
  575. package/dist/types/components/switch/switch.d.ts +39 -0
  576. package/dist/types/components/table/docs.d.ts +6 -0
  577. package/dist/types/components/table/index.d.ts +1 -0
  578. package/dist/types/components/table/table.d.ts +30 -0
  579. package/dist/types/components/tabs/docs.d.ts +22 -0
  580. package/dist/types/components/tabs/index.d.ts +1 -0
  581. package/dist/types/components/tabs/tabs.d.ts +61 -0
  582. package/dist/types/components/tag/docs.d.ts +30 -0
  583. package/dist/types/components/tag/index.d.ts +1 -0
  584. package/dist/types/components/tag/tag.d.ts +63 -0
  585. package/dist/types/components/text/docs.d.ts +15 -0
  586. package/dist/types/components/text/index.d.ts +1 -0
  587. package/dist/types/components/text/text.d.ts +111 -0
  588. package/dist/types/components/theme-menu/docs.d.ts +9 -0
  589. package/dist/types/components/theme-menu/index.d.ts +1 -0
  590. package/dist/types/components/theme-menu/theme-menu.d.ts +22 -0
  591. package/dist/types/components/timeline/docs.d.ts +8 -0
  592. package/dist/types/components/timeline/index.d.ts +1 -0
  593. package/dist/types/components/timeline/timeline.d.ts +41 -0
  594. package/dist/types/components/toast/docs.d.ts +26 -0
  595. package/dist/types/components/toast/index.d.ts +1 -0
  596. package/dist/types/components/toast/toast.d.ts +91 -0
  597. package/dist/types/components/toc/docs.d.ts +10 -0
  598. package/dist/types/components/toc/index.d.ts +1 -0
  599. package/dist/types/components/toc/toc.d.ts +27 -0
  600. package/dist/types/components/toolbar/docs.d.ts +9 -0
  601. package/dist/types/components/toolbar/index.d.ts +1 -0
  602. package/dist/types/components/toolbar/toolbar.d.ts +28 -0
  603. package/dist/types/components/tooltip/docs.d.ts +33 -0
  604. package/dist/types/components/tooltip/index.d.ts +2 -0
  605. package/dist/types/components/tooltip/tooltip-provider.d.ts +8 -0
  606. package/dist/types/components/tooltip/tooltip-root.d.ts +9 -0
  607. package/dist/types/components/tooltip/tooltip.d.ts +60 -0
  608. package/dist/types/components/tooltip/trigger-props.d.ts +23 -0
  609. package/dist/types/components/visually-hidden/docs.d.ts +6 -0
  610. package/dist/types/components/visually-hidden/index.d.ts +1 -0
  611. package/dist/types/components/visually-hidden/visually-hidden.d.ts +4 -0
  612. package/dist/types/format/index.d.ts +26 -0
  613. package/dist/types/hooks/scroll-parent.d.ts +1 -0
  614. package/dist/types/hooks/use-copy.d.ts +4 -0
  615. package/dist/types/hooks/use-indicator.d.ts +9 -0
  616. package/dist/types/hooks/use-layout-width.d.ts +3 -0
  617. package/dist/types/hooks/use-scroll-margin.d.ts +2 -0
  618. package/dist/types/hooks/use-stored-state.d.ts +1 -0
  619. package/dist/types/hooks/use-truncated.d.ts +2 -0
  620. package/dist/types/i18n/context.d.ts +11 -0
  621. package/dist/types/i18n/index.d.ts +5 -0
  622. package/dist/types/i18n/locale-names.d.ts +2 -0
  623. package/dist/types/i18n/locale-tags.d.ts +4 -0
  624. package/dist/types/i18n/locales/de.d.ts +2 -0
  625. package/dist/types/i18n/locales/en.d.ts +2 -0
  626. package/dist/types/i18n/locales/zh-CN.d.ts +2 -0
  627. package/dist/types/i18n/message.d.ts +2 -0
  628. package/dist/types/i18n/provider.d.ts +10 -0
  629. package/dist/types/icons/groups.d.ts +8 -0
  630. package/dist/types/icons/vocabulary.d.ts +413 -0
  631. package/dist/types/index.d.ts +79 -0
  632. package/dist/types/theme/index.d.ts +1 -0
  633. package/dist/types/theme/theme-provider.d.ts +22 -0
  634. package/dist/types/utils/arrow-focus.d.ts +2 -0
  635. package/dist/types/utils/cn.d.ts +370 -0
  636. package/dist/types/utils/dev.d.ts +4 -0
  637. package/dist/types/utils/field-press.d.ts +2 -0
  638. package/dist/types/utils/index.d.ts +8 -0
  639. package/dist/types/utils/inset.d.ts +6 -0
  640. package/dist/types/utils/lazy-module.d.ts +8 -0
  641. package/dist/types/utils/link-provider.d.ts +15 -0
  642. package/dist/types/utils/portal-context.d.ts +10 -0
  643. package/dist/types/utils/restore-focus.d.ts +4 -0
  644. package/dist/types/utils/safe-href.d.ts +1 -0
  645. package/dist/types/utils/tone.d.ts +2 -0
  646. package/dist/types/utils/use-controllable.d.ts +1 -0
  647. package/dist/types/utils/variants.d.ts +5 -0
  648. package/dist/types/utils/when-idle.d.ts +1 -0
  649. package/dist/utils.js +9 -0
  650. package/foundations/accessibility.md +41 -0
  651. package/foundations/color.md +40 -0
  652. package/foundations/elevation.md +23 -0
  653. package/foundations/icons.md +14 -0
  654. package/foundations/motion.md +39 -0
  655. package/foundations/psychology.md +36 -0
  656. package/foundations/shape.md +41 -0
  657. package/foundations/tokens.md +24 -0
  658. package/foundations/typography.md +35 -0
  659. package/foundations/writing.md +39 -0
  660. package/package.json +144 -0
package/dist/kaeso.css ADDED
@@ -0,0 +1,1099 @@
1
+ @custom-variant hover {
2
+ @media (hover: hover) {
3
+ &:hover:not(:disabled, [data-disabled], [aria-disabled="true"]) {
4
+ @slot;
5
+ }
6
+ }
7
+ &[data-force~="hover"] {
8
+ @slot;
9
+ }
10
+ }
11
+ @custom-variant active {
12
+ &:active:not(:disabled, [data-disabled], [aria-disabled="true"]) {
13
+ @slot;
14
+ }
15
+ &[data-pressed]:not([data-disabled]) {
16
+ @slot;
17
+ }
18
+ &[data-force~="pressed"] {
19
+ @slot;
20
+ }
21
+ }
22
+ @custom-variant focus-visible (:root:not([data-k-pointer]) &:focus-visible, &[data-force~="focus"]);
23
+ @custom-variant disabled (&:disabled, &[data-disabled], &[aria-disabled="true"], &[data-force~="disabled"]);
24
+ @custom-variant open (&[data-popup-open], &[data-open], &[aria-expanded="true"], &[data-force~="open"]);
25
+ @custom-variant checked (&[data-checked], &[aria-checked="true"], &[data-force~="checked"]);
26
+ @custom-variant indeterminate (&[data-indeterminate], &[aria-checked="mixed"]);
27
+ @custom-variant selected (&[data-selected], &[aria-selected="true"], &[aria-current="page"], &[data-active], &[data-force~="selected"]);
28
+ @custom-variant highlighted (&[data-highlighted], &[data-force~="highlighted"]);
29
+ @custom-variant invalid (&[aria-invalid="true"], &[data-invalid], &[data-force~="invalid"]);
30
+ @custom-variant readonly (&[readonly], &[data-readonly], &[aria-readonly="true"]);
31
+ @custom-variant coarse (@media (pointer: coarse));
32
+ @custom-variant focus-within-visible (:root:not([data-k-pointer]) &:has(:focus-visible), &[data-force~="focus"]);
33
+ @custom-variant dragging (&[data-dragging], &[data-force~="dragging"]);
34
+ @custom-variant reduced (@media (prefers-reduced-motion: reduce));
35
+
36
+ @utility focus-ring {
37
+ outline: 2px solid transparent;
38
+ outline-offset: 2px;
39
+ :root:not([data-k-pointer]) &:focus-visible,
40
+ &[data-force~="focus"] {
41
+ outline-color: var(--k-focus);
42
+ }
43
+ }
44
+ @utility focus-ring-inset {
45
+ outline: 2px solid transparent;
46
+ outline-offset: -2px;
47
+ :root:not([data-k-pointer]) &:focus-visible,
48
+ &[data-force~="focus"] {
49
+ outline-color: var(--k-focus);
50
+ }
51
+ }
52
+ @utility focus-ring-segment {
53
+ outline: 2px solid transparent;
54
+ outline-offset: -2px;
55
+ :root:not([data-k-pointer]) &:focus-visible,
56
+ &[data-force~="focus"] {
57
+ outline-color: var(--k-focus);
58
+ border-radius: var(--radius-pill);
59
+ }
60
+ }
61
+ @utility focus-ring-card-row {
62
+ outline: 2px solid transparent;
63
+ outline-offset: -2px;
64
+ :root:not([data-k-pointer]) &:focus-visible,
65
+ &[data-force~="focus"] {
66
+ outline-color: var(--k-focus);
67
+ border-radius: calc(var(--radius-group) - 2px);
68
+ }
69
+ }
70
+
71
+ @utility tap-target {
72
+ @media (pointer: coarse) {
73
+ &::after {
74
+ content: "";
75
+ position: absolute;
76
+ top: 50%;
77
+ left: 50%;
78
+ width: max(100%, 32px);
79
+ height: max(100%, 32px);
80
+ transform: translate(-50%, -50%);
81
+ }
82
+ }
83
+ }
84
+
85
+ @utility transition-control {
86
+ transition-property: background-color, color, box-shadow, filter, opacity, transform, outline-color, text-decoration-color;
87
+ transition-duration: var(--k-duration-fast);
88
+ transition-timing-function: var(--k-ease-standard);
89
+ }
90
+
91
+ @utility material-primary {
92
+ background-color: var(--k-ink);
93
+ background-image: var(--k-primary-gradient);
94
+ color: var(--k-on-ink);
95
+ box-shadow: var(--k-primary-shadow);
96
+ @media (hover: hover) {
97
+ &:hover:not(:disabled, [data-disabled], [aria-disabled="true"]) {
98
+ filter: brightness(var(--k-hover-brightness));
99
+ }
100
+ }
101
+ &[data-force~="hover"] {
102
+ filter: brightness(var(--k-hover-brightness));
103
+ }
104
+ &:active:not(:disabled, [data-disabled], [aria-disabled="true"]),
105
+ &[data-force~="pressed"] {
106
+ filter: brightness(var(--k-pressed-brightness));
107
+ transform: scale(0.985);
108
+ }
109
+ &:disabled,
110
+ &[data-disabled],
111
+ &[aria-disabled="true"],
112
+ &[data-force~="disabled"] {
113
+ opacity: 0.4;
114
+ box-shadow: none;
115
+ filter: none;
116
+ }
117
+ }
118
+
119
+ @utility material-danger {
120
+ background-color: var(--k-danger-fill);
121
+ background-image: var(--k-danger-gradient);
122
+ color: var(--k-on-danger);
123
+ box-shadow: var(--k-danger-shadow);
124
+ @media (hover: hover) {
125
+ &:hover:not(:disabled, [data-disabled], [aria-disabled="true"]) {
126
+ filter: brightness(1.08);
127
+ }
128
+ }
129
+ &[data-force~="hover"] {
130
+ filter: brightness(1.08);
131
+ }
132
+ &:active:not(:disabled, [data-disabled], [aria-disabled="true"]),
133
+ &[data-force~="pressed"] {
134
+ filter: brightness(0.94);
135
+ transform: scale(0.985);
136
+ }
137
+ &:disabled,
138
+ &[data-disabled],
139
+ &[aria-disabled="true"],
140
+ &[data-force~="disabled"] {
141
+ opacity: 0.4;
142
+ box-shadow: none;
143
+ filter: none;
144
+ }
145
+ }
146
+
147
+ @utility controls-on-fill {
148
+ --k-fill-control: var(--k-control-on-fill);
149
+ --k-fill-control-hover: var(--k-control-on-fill-hover);
150
+ --k-fill-control-shadow: var(--k-shadow-control-on-fill);
151
+ }
152
+
153
+ @utility material-secondary {
154
+ background-color: var(--k-fill-control, var(--k-bg-raised));
155
+ color: var(--k-text);
156
+ box-shadow: var(--k-fill-control-shadow, var(--k-shadow-control));
157
+ @media (hover: hover) {
158
+ &:hover:not(:disabled, [data-disabled], [aria-disabled="true"]) {
159
+ background-color: var(--k-fill-control-hover, var(--k-fill-1));
160
+ box-shadow: var(--k-fill-control-shadow, var(--k-shadow-control-hover));
161
+ }
162
+ }
163
+ &[data-force~="hover"],
164
+ &[data-popup-open],
165
+ &[data-force~="open"] {
166
+ background-color: var(--k-fill-control-hover, var(--k-fill-1));
167
+ box-shadow: var(--k-fill-control-shadow, var(--k-shadow-control-hover));
168
+ }
169
+ &:active:not(:disabled, [data-disabled], [aria-disabled="true"]),
170
+ &[data-force~="pressed"] {
171
+ background-color: var(--k-fill-2);
172
+ }
173
+ &:disabled,
174
+ &[data-disabled],
175
+ &[aria-disabled="true"],
176
+ &[data-force~="disabled"] {
177
+ background-color: var(--k-fill-1);
178
+ color: var(--k-text-disabled);
179
+ box-shadow: none;
180
+ }
181
+ }
182
+
183
+ @utility material-ghost {
184
+ background-color: transparent;
185
+ color: var(--k-text);
186
+ @media (hover: hover) {
187
+ &:hover:not(:disabled, [data-disabled], [aria-disabled="true"]) {
188
+ background-color: var(--k-fill-1);
189
+ }
190
+ }
191
+ &[data-force~="hover"] {
192
+ background-color: var(--k-fill-1);
193
+ }
194
+ &:active:not(:disabled, [data-disabled], [aria-disabled="true"]),
195
+ &[data-force~="pressed"],
196
+ &[data-popup-open],
197
+ &[data-force~="open"] {
198
+ background-color: var(--k-fill-2);
199
+ }
200
+ &:disabled,
201
+ &[data-disabled],
202
+ &[aria-disabled="true"],
203
+ &[data-force~="disabled"] {
204
+ color: var(--k-text-disabled);
205
+ }
206
+ }
207
+
208
+ @utility material-soft {
209
+ background-color: var(--k-fill-1);
210
+ color: var(--k-text);
211
+ @media (hover: hover) {
212
+ &:hover:not(:disabled, [data-disabled], [aria-disabled="true"]) {
213
+ background-color: var(--k-fill-2);
214
+ }
215
+ }
216
+ &[data-force~="hover"] {
217
+ background-color: var(--k-fill-2);
218
+ }
219
+ &:active:not(:disabled, [data-disabled], [aria-disabled="true"]),
220
+ &[data-force~="pressed"],
221
+ &[data-popup-open],
222
+ &[data-force~="open"] {
223
+ background-color: var(--k-fill-3);
224
+ }
225
+ &:disabled,
226
+ &[data-disabled],
227
+ &[aria-disabled="true"],
228
+ &[data-force~="disabled"] {
229
+ color: var(--k-text-disabled);
230
+ }
231
+ }
232
+
233
+ @utility material-danger-secondary {
234
+ background-color: var(--k-fill-control, var(--k-bg-raised));
235
+ color: var(--k-danger-text);
236
+ box-shadow: var(--k-fill-control-shadow, var(--k-shadow-control));
237
+ @media (hover: hover) {
238
+ &:hover:not(:disabled, [data-disabled], [aria-disabled="true"]) {
239
+ background-color: var(--k-danger-tint);
240
+ box-shadow: var(--k-fill-control-shadow, var(--k-shadow-control-hover));
241
+ }
242
+ }
243
+ &[data-force~="hover"] {
244
+ background-color: var(--k-danger-tint);
245
+ box-shadow: var(--k-fill-control-shadow, var(--k-shadow-control-hover));
246
+ }
247
+ &:active:not(:disabled, [data-disabled], [aria-disabled="true"]),
248
+ &[data-force~="pressed"] {
249
+ background-color: var(--k-danger-tint);
250
+ filter: brightness(0.97);
251
+ }
252
+ &:disabled,
253
+ &[data-disabled],
254
+ &[aria-disabled="true"],
255
+ &[data-force~="disabled"] {
256
+ background-color: var(--k-fill-1);
257
+ color: var(--k-text-disabled);
258
+ box-shadow: none;
259
+ }
260
+ }
261
+
262
+ @utility material-field {
263
+ background-color: var(--k-fill-control, var(--k-bg-raised));
264
+ color: var(--k-text);
265
+ box-shadow: var(--k-fill-control-shadow, var(--k-shadow-control));
266
+ @media (hover: hover) {
267
+ &:hover:not(:disabled, [data-disabled], [aria-disabled="true"], :focus-within) {
268
+ box-shadow: var(--k-fill-control-shadow, var(--k-shadow-control-hover));
269
+ }
270
+ }
271
+ &[data-force~="hover"] {
272
+ box-shadow: var(--k-fill-control-shadow, var(--k-shadow-control-hover));
273
+ }
274
+ &:focus-visible,
275
+ &:has(:focus-visible),
276
+ &[data-focused],
277
+ &[data-force~="focus"] {
278
+ box-shadow:
279
+ inset 0 0 0 1px var(--k-text),
280
+ 0 0 0 3px color-mix(in srgb, var(--k-text) 10%, transparent);
281
+ }
282
+ &[aria-invalid="true"],
283
+ &[data-invalid],
284
+ &:has([aria-invalid="true"]),
285
+ &[data-force~="invalid"] {
286
+ box-shadow:
287
+ inset 0 0 0 1px var(--k-danger),
288
+ 0 0 0 3px color-mix(in srgb, var(--k-danger) 12%, transparent);
289
+ }
290
+ &:disabled,
291
+ &[data-disabled],
292
+ &:has(:disabled),
293
+ &[data-force~="disabled"] {
294
+ background-color: var(--k-fill-1);
295
+ color: var(--k-text-disabled);
296
+ box-shadow: none;
297
+ }
298
+ &[data-readonly],
299
+ &:has([readonly]),
300
+ &[data-force~="readonly"] {
301
+ background-color: var(--k-fill-1);
302
+ box-shadow: none;
303
+ }
304
+ }
305
+
306
+ @utility material-composer {
307
+ background-color: var(--k-fill-control, var(--k-bg-raised));
308
+ color: var(--k-text);
309
+ box-shadow: var(--k-fill-control-shadow, var(--k-shadow-control));
310
+ @media (hover: hover) {
311
+ &:hover:not(:has(textarea:disabled), :has(textarea:focus)) {
312
+ box-shadow: var(--k-fill-control-shadow, var(--k-shadow-control-hover));
313
+ }
314
+ }
315
+ &[data-force~="hover"] {
316
+ box-shadow: var(--k-fill-control-shadow, var(--k-shadow-control-hover));
317
+ }
318
+ &:has(textarea:focus) {
319
+ box-shadow: var(--k-fill-control-shadow, var(--k-shadow-control-hover));
320
+ }
321
+ :root:not([data-k-pointer]) &:has(textarea:focus-visible),
322
+ &[data-force~="focus"] {
323
+ box-shadow:
324
+ inset 0 0 0 1px var(--k-text),
325
+ 0 0 0 3px color-mix(in srgb, var(--k-text) 10%, transparent);
326
+ }
327
+ &:has(textarea:disabled),
328
+ &[data-force~="disabled"] {
329
+ background-color: var(--k-fill-1);
330
+ color: var(--k-text-disabled);
331
+ box-shadow: none;
332
+ }
333
+ }
334
+
335
+ @utility grid-cols-term {
336
+ grid-template-columns: fit-content(220px) 1fr;
337
+ }
338
+
339
+ @utility min-w-anchor {
340
+ min-width: var(--k-anchor-width, var(--anchor-width));
341
+ }
342
+ @utility w-anchor {
343
+ width: var(--k-anchor-width, var(--anchor-width));
344
+ }
345
+ @utility popup-motion {
346
+ transform-origin: var(--transform-origin);
347
+ transition-property: opacity, transform;
348
+ transition-duration: var(--k-duration-overlay);
349
+ transition-timing-function: var(--k-ease-overlay);
350
+ --k-shift-x: 0px;
351
+ --k-shift-y: -4px;
352
+ &[data-side="top"] {
353
+ --k-shift-y: 4px;
354
+ }
355
+ &[data-side="left"],
356
+ &[data-side="inline-start"] {
357
+ --k-shift-x: 4px;
358
+ --k-shift-y: 0px;
359
+ }
360
+ &[data-side="right"],
361
+ &[data-side="inline-end"] {
362
+ --k-shift-x: -4px;
363
+ --k-shift-y: 0px;
364
+ }
365
+ &[data-starting-style] {
366
+ opacity: 0;
367
+ transform: translate(var(--k-shift-x), var(--k-shift-y)) scale(0.97);
368
+ }
369
+ &[data-ending-style] {
370
+ opacity: 0;
371
+ transform: scale(0.97);
372
+ transition-duration: var(--k-duration-close-overlay);
373
+ transition-timing-function: var(--k-ease-exit);
374
+ }
375
+ }
376
+ @utility dialog-motion {
377
+ transition-property: opacity, transform;
378
+ transition-duration: var(--k-duration-dialog);
379
+ transition-timing-function: var(--k-ease-overlay);
380
+ &[data-starting-style] {
381
+ opacity: 0;
382
+ transform: scale(0.98);
383
+ }
384
+ &[data-ending-style] {
385
+ opacity: 0;
386
+ transform: scale(0.98);
387
+ transition-duration: var(--k-duration-close-dialog);
388
+ transition-timing-function: var(--k-ease-exit);
389
+ }
390
+ }
391
+ @utility backdrop-motion {
392
+ transition-property: opacity;
393
+ transition-duration: var(--k-duration-dialog);
394
+ transition-timing-function: var(--k-ease-overlay);
395
+ &[data-starting-style],
396
+ &[data-ending-style] {
397
+ opacity: 0;
398
+ }
399
+ &[data-ending-style] {
400
+ transition-duration: var(--k-duration-close-dialog);
401
+ }
402
+ }
403
+ @utility sheet-motion {
404
+ transition-property: opacity, transform;
405
+ transition-duration: var(--k-duration-sheet);
406
+ transition-timing-function: var(--k-ease-overlay);
407
+ --k-sheet-from: translateX(16px);
408
+ &[data-side="left"] {
409
+ --k-sheet-from: translateX(-16px);
410
+ }
411
+ &[data-side="bottom"] {
412
+ --k-sheet-from: translateY(16px);
413
+ }
414
+ &[data-starting-style],
415
+ &[data-ending-style] {
416
+ opacity: 0;
417
+ transform: var(--k-sheet-from);
418
+ }
419
+ &[data-ending-style] {
420
+ transition-duration: var(--k-duration-close-sheet);
421
+ transition-timing-function: var(--k-ease-exit);
422
+ }
423
+ }
424
+ @utility indicator-motion {
425
+ transition-property: transform, width, height, translate, left, top;
426
+ transition-duration: var(--k-duration-indicator);
427
+ transition-timing-function: var(--k-ease-overlay);
428
+ }
429
+
430
+ @keyframes k-pulse {
431
+ 50% {
432
+ opacity: var(--k-skeleton-low);
433
+ }
434
+ }
435
+ @keyframes k-spin {
436
+ to {
437
+ transform: rotate(360deg);
438
+ }
439
+ }
440
+ @keyframes k-indeterminate {
441
+ from {
442
+ transform: translateX(-100%);
443
+ }
444
+ to {
445
+ transform: translateX(250%);
446
+ }
447
+ }
448
+ @utility animate-pulse-quiet {
449
+ animation: k-pulse var(--k-skeleton-duration) var(--k-ease-pulse) infinite;
450
+ }
451
+ @utility animate-spin {
452
+ animation: k-spin calc(var(--k-spinner-turn) / 3) linear infinite;
453
+ }
454
+ @utility animate-indeterminate {
455
+ animation: k-indeterminate var(--k-skeleton-duration) var(--k-ease-pulse) infinite;
456
+ }
457
+
458
+ @keyframes k-hidden {
459
+ from,
460
+ to {
461
+ visibility: hidden;
462
+ }
463
+ }
464
+ @utility show-after-delay {
465
+ animation: k-hidden 1ms var(--k-spinner-delay) backwards;
466
+ }
467
+
468
+ @keyframes k-spinner {
469
+ 33.333% {
470
+ transform: rotate(120deg);
471
+ }
472
+ 66.667% {
473
+ transform: rotate(240deg);
474
+ }
475
+ to {
476
+ transform: rotate(360deg);
477
+ }
478
+ }
479
+ @keyframes k-spinner-handoff {
480
+ 0%,
481
+ to {
482
+ opacity: 1;
483
+ }
484
+ 33.333% {
485
+ opacity: 0.5;
486
+ }
487
+ 66.667% {
488
+ opacity: 0.22;
489
+ }
490
+ }
491
+ @layer components {
492
+ .k-spinner {
493
+ fill: none;
494
+ stroke: currentColor;
495
+ stroke-linecap: round;
496
+ stroke-width: 1.5px;
497
+ animation: k-spinner var(--k-spinner-turn) var(--k-ease-pulse) infinite;
498
+ }
499
+ .k-spinner-route {
500
+ vector-effect: non-scaling-stroke;
501
+ transform-box: view-box;
502
+ transform-origin: center;
503
+ }
504
+ .k-spinner-route:nth-child(2) {
505
+ transform: rotate(120deg);
506
+ opacity: 0.22;
507
+ }
508
+ .k-spinner-route:nth-child(3) {
509
+ transform: rotate(240deg);
510
+ opacity: 0.5;
511
+ }
512
+ @media (prefers-reduced-motion: reduce) {
513
+ .k-spinner .k-spinner-route {
514
+ animation: k-spinner-handoff var(--k-spinner-turn) var(--k-ease-pulse) infinite !important;
515
+ }
516
+ .k-spinner .k-spinner-route:nth-child(2) {
517
+ animation-delay: calc(var(--k-spinner-turn) * -2 / 3) !important;
518
+ }
519
+ .k-spinner .k-spinner-route:nth-child(3) {
520
+ animation-delay: calc(var(--k-spinner-turn) / -3) !important;
521
+ }
522
+ }
523
+ }
524
+
525
+ @utility tabular {
526
+ font-variant-numeric: tabular-nums;
527
+ }
528
+ @utility mono {
529
+ font-family: var(--k-font-mono);
530
+ font-feature-settings: normal;
531
+ font-variant-ligatures: none;
532
+ }
533
+ @utility scrollbar-quiet {
534
+ scrollbar-width: thin;
535
+ scrollbar-color: transparent transparent;
536
+ &:hover,
537
+ &:focus-within {
538
+ scrollbar-color: var(--k-line-strong) transparent;
539
+ }
540
+ }
541
+ @utility scrollbar-none {
542
+ scrollbar-width: none;
543
+ &::-webkit-scrollbar {
544
+ display: none;
545
+ }
546
+ }
547
+
548
+ @layer base {
549
+ html {
550
+ font-family: var(--k-font-sans);
551
+ font-feature-settings: var(--k-font-features);
552
+ font-optical-sizing: auto;
553
+ -webkit-font-smoothing: antialiased;
554
+ -moz-osx-font-smoothing: grayscale;
555
+ text-rendering: optimizeLegibility;
556
+ -webkit-text-size-adjust: 100%;
557
+ background-color: var(--k-bg-panel);
558
+ color: var(--k-text);
559
+ }
560
+ body,
561
+ svg text,
562
+ button,
563
+ input,
564
+ select,
565
+ textarea,
566
+ optgroup,
567
+ dialog {
568
+ font-family: inherit;
569
+ }
570
+ body {
571
+ font-family: var(--k-font-sans);
572
+ font-size: var(--k-text-body);
573
+ line-height: var(--k-leading-body);
574
+ font-weight: var(--k-weight-regular);
575
+ }
576
+ ::selection {
577
+ background-color: var(--k-ink);
578
+ color: var(--k-on-ink);
579
+ }
580
+ h1,
581
+ h2,
582
+ h3,
583
+ h4 {
584
+ text-wrap: balance;
585
+ }
586
+ p {
587
+ text-wrap: pretty;
588
+ }
589
+ :where(button, [role="button"], a, input, select, textarea, summary) {
590
+ -webkit-tap-highlight-color: transparent;
591
+ }
592
+ [hidden] {
593
+ display: none !important;
594
+ }
595
+ input[type="search"]::-webkit-search-cancel-button,
596
+ input[type="search"]::-webkit-search-decoration {
597
+ display: none;
598
+ }
599
+ input[type="number"]::-webkit-inner-spin-button,
600
+ input[type="number"]::-webkit-outer-spin-button {
601
+ margin: 0;
602
+ appearance: none;
603
+ }
604
+ }
605
+
606
+ @media (prefers-reduced-motion: reduce) {
607
+ *,
608
+ *::before,
609
+ *::after {
610
+ transition-property: opacity !important;
611
+ transition-duration: var(--k-duration-fast) !important;
612
+ animation-duration: 0.01ms !important;
613
+ animation-iteration-count: 1 !important;
614
+ scroll-behavior: auto !important;
615
+ }
616
+ }
617
+ @media (prefers-reduced-motion: reduce) {
618
+ .collapse-motion {
619
+ animation-duration: 0s !important;
620
+ }
621
+ }
622
+
623
+ @utility safe-area-bar {
624
+ padding-top: env(safe-area-inset-top, 0px);
625
+ padding-left: env(safe-area-inset-left, 0px);
626
+ padding-right: env(safe-area-inset-right, 0px);
627
+ }
628
+ @utility safe-area-panel {
629
+ @media (width < 64rem) {
630
+ padding-left: env(safe-area-inset-left, 0px);
631
+ padding-right: env(safe-area-inset-right, 0px);
632
+ padding-bottom: env(safe-area-inset-bottom, 0px);
633
+ }
634
+ }
635
+ @utility safe-area-sheet {
636
+ padding-top: env(safe-area-inset-top, 0px);
637
+ padding-bottom: env(safe-area-inset-bottom, 0px);
638
+ padding-left: env(safe-area-inset-left, 0px);
639
+ }
640
+
641
+ @utility cell-fit {
642
+ & > * {
643
+ max-width: 100%;
644
+ }
645
+ }
646
+
647
+ @utility compare-grid {
648
+ display: grid;
649
+ grid-auto-flow: column;
650
+ grid-auto-columns: 100%;
651
+ grid-template-rows: auto minmax(0, 1fr) auto;
652
+ overflow-x: auto;
653
+ overflow-y: hidden;
654
+ scroll-snap-type: x mandatory;
655
+ overscroll-behavior-x: contain;
656
+ scrollbar-width: none;
657
+ &::-webkit-scrollbar {
658
+ display: none;
659
+ }
660
+ @media (width >= 48rem) {
661
+ grid-auto-columns: minmax(240px, 1fr);
662
+ mask-image: linear-gradient(to right, transparent 0, black var(--k-fade-start, 0px), black calc(100% - var(--k-fade-end, 0px)), transparent 100%);
663
+ scrollbar-width: thin;
664
+ scrollbar-color: transparent transparent;
665
+ &:hover {
666
+ scrollbar-color: var(--k-line-strong) transparent;
667
+ }
668
+ }
669
+ }
670
+
671
+ @utility hairline-b {
672
+ box-shadow: inset 0 -1px 0 var(--k-line-subtle);
673
+ }
674
+ @utility hairline-b-inset-12 {
675
+ background-image: linear-gradient(var(--k-line-subtle), var(--k-line-subtle));
676
+ background-repeat: no-repeat;
677
+ background-attachment: local;
678
+ background-size: calc(100% - 24px) 1px;
679
+ background-position: 12px 100%;
680
+ }
681
+ @utility max-w-full-bleed-4 {
682
+ max-width: calc(100% + 8px);
683
+ }
684
+ @utility bidi-plaintext {
685
+ unicode-bidi: plaintext;
686
+ }
687
+ @utility scroll-fade-y {
688
+ mask-image: linear-gradient(
689
+ to bottom,
690
+ transparent 0,
691
+ black min(16px, var(--scroll-area-overflow-y-start, 0px)),
692
+ black calc(100% - min(16px, var(--scroll-area-overflow-y-end, 0px))),
693
+ transparent 100%
694
+ );
695
+ }
696
+ @utility scroll-fade-x {
697
+ mask-image: linear-gradient(
698
+ to right,
699
+ transparent 0,
700
+ black min(16px, var(--scroll-area-overflow-x-start, 0px)),
701
+ black calc(100% - min(16px, var(--scroll-area-overflow-x-end, 0px))),
702
+ transparent 100%
703
+ );
704
+ }
705
+ @utility hairline-t {
706
+ box-shadow: inset 0 1px 0 var(--k-line-subtle);
707
+ }
708
+ @utility hairline-b-strong {
709
+ box-shadow: inset 0 -1px 0 var(--k-line);
710
+ }
711
+ @utility hairline-l {
712
+ box-shadow: inset 1px 0 0 var(--k-line-subtle);
713
+ }
714
+ @utility hairline-r {
715
+ box-shadow: inset -1px 0 0 var(--k-line-subtle);
716
+ }
717
+
718
+ @utility divider-l {
719
+ box-shadow: inset 1px 0 0 var(--k-line);
720
+ }
721
+
722
+ @utility grid-cols-label {
723
+ grid-template-columns: var(--k-width-field-label) minmax(0, 1fr);
724
+ }
725
+ @utility grid-cols-aside {
726
+ grid-template-columns: minmax(0, 1fr) var(--k-width-aside);
727
+ }
728
+
729
+ @utility ring-invalid {
730
+ box-shadow: inset 0 0 0 1px var(--k-danger);
731
+ }
732
+
733
+ @utility ring-over {
734
+ position: relative;
735
+ box-shadow: none;
736
+ &::after {
737
+ content: "";
738
+ position: absolute;
739
+ inset: 0;
740
+ border-radius: inherit;
741
+ box-shadow: var(--k-ring-over, var(--k-fill-control-shadow, var(--k-shadow-control)));
742
+ pointer-events: none;
743
+ }
744
+ }
745
+ @utility ring-over-line {
746
+ --k-ring-over: var(--k-shadow-ring);
747
+ }
748
+
749
+ @utility ring-thumb {
750
+ box-shadow:
751
+ 0 0 0 2px var(--k-bg-panel),
752
+ 0 1px 2px rgb(0 0 0 / 0.2);
753
+ }
754
+
755
+ @keyframes k-draw {
756
+ from {
757
+ stroke-dashoffset: 1;
758
+ }
759
+ to {
760
+ stroke-dashoffset: 0;
761
+ }
762
+ }
763
+ @utility check-draw {
764
+ stroke-dasharray: 1;
765
+ stroke-dashoffset: 0;
766
+ animation: k-draw var(--k-duration-check) var(--k-ease-overlay);
767
+ }
768
+
769
+ @utility radio-donut {
770
+ transition-property: box-shadow, background-color;
771
+ transition-duration: var(--k-duration-radio);
772
+ transition-timing-function: var(--k-ease-overlay);
773
+ &[data-checked],
774
+ &[data-force~="checked"] {
775
+ background-color: var(--k-bg-panel);
776
+ box-shadow: inset 0 0 0 5px var(--k-ink);
777
+ }
778
+ &[data-checked][data-disabled] {
779
+ box-shadow: inset 0 0 0 5px var(--k-fill-3);
780
+ }
781
+ }
782
+
783
+ @utility collapse-motion {
784
+ height: var(--collapsible-panel-height, var(--accordion-panel-height, auto));
785
+ overflow: hidden;
786
+ transition-property: height, opacity;
787
+ transition-duration: var(--k-duration-disclosure);
788
+ transition-timing-function: var(--k-ease-overlay);
789
+ &[data-starting-style],
790
+ &[data-ending-style] {
791
+ height: 0;
792
+ opacity: 0;
793
+ }
794
+ }
795
+
796
+ @layer components {
797
+ .k-cal td.k-day {
798
+ position: relative;
799
+ padding: 0;
800
+ text-align: center;
801
+ }
802
+ .k-cal td.k-day > button {
803
+ display: inline-flex;
804
+ width: 36px;
805
+ height: 36px;
806
+ align-items: center;
807
+ justify-content: center;
808
+ border-radius: 9999px;
809
+ color: var(--k-text);
810
+ font-size: var(--k-text-body);
811
+ font-variant-numeric: tabular-nums;
812
+ transition:
813
+ background-color var(--k-duration-fast) var(--k-ease-standard),
814
+ color var(--k-duration-fast) var(--k-ease-standard);
815
+ cursor: pointer;
816
+ outline: 2px solid transparent;
817
+ outline-offset: 2px;
818
+ }
819
+ .k-cal td.k-day > button:hover {
820
+ background: var(--k-fill-1);
821
+ }
822
+ :root:not([data-k-pointer]) .k-cal td.k-day > button:focus-visible {
823
+ outline-color: var(--k-focus);
824
+ }
825
+ .k-cal td.k-today > button {
826
+ box-shadow: inset 0 0 0 1px var(--k-line-strong);
827
+ font-weight: var(--k-weight-semibold);
828
+ }
829
+ .k-cal td.k-outside > button {
830
+ color: var(--k-text-tertiary);
831
+ }
832
+ .k-cal td.k-disabled > button {
833
+ color: var(--k-text-disabled);
834
+ cursor: not-allowed;
835
+ background: transparent;
836
+ }
837
+ .k-cal td.k-range-middle {
838
+ background: var(--k-fill-2);
839
+ }
840
+ .k-cal td.k-range-middle:first-child {
841
+ border-top-left-radius: 9999px;
842
+ border-bottom-left-radius: 9999px;
843
+ }
844
+ .k-cal td.k-range-middle:last-child {
845
+ border-top-right-radius: 9999px;
846
+ border-bottom-right-radius: 9999px;
847
+ }
848
+ .k-cal td.k-range-middle > button {
849
+ background: transparent;
850
+ color: var(--k-text);
851
+ border-radius: 9999px;
852
+ }
853
+ .k-cal td.k-range-middle > button:hover {
854
+ background: var(--k-fill-3);
855
+ }
856
+ .k-cal td.k-range-start:not(.k-range-end) {
857
+ background: linear-gradient(90deg, transparent 50%, var(--k-fill-2) 50%);
858
+ }
859
+ .k-cal td.k-range-end:not(.k-range-start) {
860
+ background: linear-gradient(90deg, var(--k-fill-2) 50%, transparent 50%);
861
+ }
862
+ .k-cal td.k-selected > button,
863
+ .k-cal td.k-range-start > button,
864
+ .k-cal td.k-range-end > button {
865
+ background: var(--k-ink);
866
+ color: var(--k-on-ink);
867
+ box-shadow: none;
868
+ }
869
+ .k-cal td.k-range-middle.k-selected > button {
870
+ background: transparent;
871
+ color: var(--k-text);
872
+ }
873
+ }
874
+
875
+ @keyframes k-layer-in {
876
+ from {
877
+ opacity: 0;
878
+ transform: translateX(16px);
879
+ }
880
+ }
881
+ @utility animate-layer-in {
882
+ animation: k-layer-in var(--k-duration-dialog) var(--k-ease-overlay);
883
+ }
884
+ @utility step-height-motion {
885
+ transition-property: height;
886
+ transition-duration: var(--k-duration-dialog);
887
+ transition-timing-function: var(--k-ease-standard);
888
+ }
889
+ @keyframes k-step-in {
890
+ from {
891
+ opacity: 0;
892
+ transform: translateX(var(--k-step-from));
893
+ }
894
+ }
895
+ @utility step-motion {
896
+ --k-step-from: 8px;
897
+ &[data-enter="back"] {
898
+ --k-step-from: -8px;
899
+ }
900
+ &[data-enter] {
901
+ animation: k-step-in var(--k-duration-dialog) var(--k-ease-overlay);
902
+ }
903
+ }
904
+ [data-step-anchored] {
905
+ align-self: flex-start;
906
+ margin-top: var(--k-step-top);
907
+ }
908
+ [data-step-anchored][data-step-glide] {
909
+ transition-property: opacity, transform, margin-top;
910
+ transition-timing-function: var(--k-ease-overlay), var(--k-ease-overlay), var(--k-ease-standard);
911
+ }
912
+ [data-step-anchored][data-step-glide][data-ending-style] {
913
+ transition-timing-function: var(--k-ease-exit);
914
+ }
915
+ @keyframes k-row-fresh {
916
+ from {
917
+ background-color: var(--k-fill-2);
918
+ }
919
+ }
920
+ @utility animate-row-fresh {
921
+ animation: k-row-fresh var(--k-duration-fresh) var(--k-ease-standard);
922
+ }
923
+ @utility dialog-limits {
924
+ max-height: calc(100dvh - 48px);
925
+ max-width: calc(100vw - 32px);
926
+ }
927
+ @utility sheet-limits-x {
928
+ max-width: calc(100vw - 16px);
929
+ }
930
+ @utility sheet-inspector {
931
+ max-width: max(400px, 50vw);
932
+ }
933
+ @utility sheet-limits-y {
934
+ max-height: calc(100dvh - 64px);
935
+ }
936
+ @utility pt-palette {
937
+ padding-top: 20vh;
938
+ }
939
+ @utility palette-limits {
940
+ max-height: min(560px, calc(100dvh - 25vh));
941
+ }
942
+
943
+ .k-toast {
944
+ position: absolute;
945
+ right: 0;
946
+ bottom: 0;
947
+ left: 0;
948
+ margin-inline: auto;
949
+ width: max-content;
950
+ max-width: 100%;
951
+ z-index: calc(100 - var(--toast-index, 0));
952
+ transform-origin: bottom center;
953
+ --k-toast-lift: calc(var(--toast-index, 0) * -10px);
954
+ --k-toast-scale: calc(1 - var(--toast-index, 0) * 0.05);
955
+ transform: translateY(calc(var(--k-toast-lift) + var(--toast-swipe-movement-y, 0px))) translateX(var(--toast-swipe-movement-x, 0px))
956
+ scale(var(--k-toast-scale));
957
+ transition-property: opacity, transform, height;
958
+ transition-duration: var(--k-duration-toast-in);
959
+ transition-timing-function: var(--k-ease-overlay);
960
+ interpolate-size: allow-keywords;
961
+ }
962
+ .k-toast-surface {
963
+ transition-property: width, height, border-radius;
964
+ transition-duration: var(--k-duration-toast-in);
965
+ transition-timing-function: var(--k-ease-overlay);
966
+ }
967
+ .k-toast[data-behind]:not([data-expanded]) {
968
+ height: var(--toast-frontmost-height, auto);
969
+ }
970
+ .k-toast[data-behind]:not([data-expanded]) .k-toast-content {
971
+ opacity: 0;
972
+ }
973
+ .k-toast[data-behind]:not([data-expanded]) .k-toast-surface {
974
+ width: var(--k-front-width, auto);
975
+ height: var(--toast-frontmost-height, auto);
976
+ min-height: 0;
977
+ max-width: none;
978
+ overflow: hidden;
979
+ border-radius: var(--k-radius-pill);
980
+ }
981
+ .k-toast[data-behind]:not([data-expanded]) .k-toast-content {
982
+ position: absolute;
983
+ inset-inline: 16px;
984
+ white-space: nowrap;
985
+ }
986
+ .k-toast::after {
987
+ content: "";
988
+ position: absolute;
989
+ top: 100%;
990
+ left: 50%;
991
+ width: min(560px, calc(100vw - 32px));
992
+ height: 9px;
993
+ transform: translateX(-50%);
994
+ }
995
+ .k-toast[data-expanded] {
996
+ transform: translateY(calc(-1 * var(--toast-offset-y, 0px) - var(--toast-index, 0) * 8px + var(--toast-swipe-movement-y, 0px)))
997
+ translateX(var(--toast-swipe-movement-x, 0px));
998
+ }
999
+ .k-toast[data-limited],
1000
+ .k-toast[data-index-hidden] {
1001
+ opacity: 0;
1002
+ pointer-events: none;
1003
+ }
1004
+ .k-toast[data-starting-style] {
1005
+ opacity: 0;
1006
+ transform: translateY(16px) scale(0.96);
1007
+ }
1008
+ .k-toast[data-ending-style] {
1009
+ opacity: 0;
1010
+ transform: translateY(calc(var(--k-toast-lift) + 8px)) scale(calc(var(--k-toast-scale) - 0.02));
1011
+ transition-duration: var(--k-duration-toast-out);
1012
+ transition-timing-function: var(--k-ease-exit);
1013
+ }
1014
+ .k-toast[data-swiping] {
1015
+ transition-duration: 0ms;
1016
+ }
1017
+ .k-toast-content {
1018
+ transition: opacity var(--k-duration-fast) var(--k-ease-standard);
1019
+ }
1020
+ .k-toast-close {
1021
+ opacity: 0;
1022
+ transform: scale(0.9);
1023
+ transition-property: opacity, transform, background-color, color;
1024
+ transition-duration: var(--k-duration-fast);
1025
+ transition-timing-function: var(--k-ease-standard);
1026
+ }
1027
+ .k-toast:hover .k-toast-close,
1028
+ .k-toast:focus-within .k-toast-close,
1029
+ .k-toast-close[data-force~="visible"] {
1030
+ opacity: 1;
1031
+ transform: scale(1);
1032
+ }
1033
+ .k-toast[data-behind]:not([data-expanded]) .k-toast-close {
1034
+ display: none;
1035
+ }
1036
+ @utility toast-viewport-width {
1037
+ max-width: min(560px, calc(100vw - 32px));
1038
+ }
1039
+ @utility ring-step {
1040
+ box-shadow: inset 0 0 0 1px var(--k-ink);
1041
+ }
1042
+ @utility max-w-44ch {
1043
+ max-width: 44ch;
1044
+ }
1045
+ @utility width-motion {
1046
+ transition-property: width;
1047
+ transition-duration: var(--k-duration-chart);
1048
+ transition-timing-function: var(--k-ease-overlay);
1049
+ }
1050
+ @utility ring-mark {
1051
+ box-shadow: inset 0 0 0 1px var(--k-warning);
1052
+ }
1053
+ @utility grid-cols-kv {
1054
+ grid-template-columns: minmax(120px, max-content) minmax(0, 1fr);
1055
+ }
1056
+
1057
+ @utility chart-fill-top {
1058
+ stop-opacity: 0.18;
1059
+ [data-theme="dark"] & {
1060
+ stop-opacity: 0.28;
1061
+ }
1062
+ @media (prefers-color-scheme: dark) {
1063
+ :root:not([data-theme="light"]) & {
1064
+ stop-opacity: 0.28;
1065
+ }
1066
+ }
1067
+ }
1068
+ @utility chart-stack-fill {
1069
+ fill-opacity: 0.16;
1070
+ [data-theme="dark"] & {
1071
+ fill-opacity: 0.26;
1072
+ }
1073
+ @media (prefers-color-scheme: dark) {
1074
+ :root:not([data-theme="light"]) & {
1075
+ fill-opacity: 0.26;
1076
+ }
1077
+ }
1078
+ }
1079
+ @utility opacity-motion {
1080
+ transition-property: opacity, fill-opacity;
1081
+ transition-duration: var(--k-duration-fast);
1082
+ transition-timing-function: var(--k-ease-standard);
1083
+ }
1084
+
1085
+ @utility sidebar-motion {
1086
+ overflow: hidden;
1087
+ transition-property: width;
1088
+ transition-duration: var(--k-duration-disclosure);
1089
+ transition-timing-function: var(--k-ease-overlay);
1090
+ }
1091
+ @utility sidebar-content-motion {
1092
+ transition-property: opacity, transform;
1093
+ transition-duration: var(--k-duration-disclosure);
1094
+ transition-timing-function: var(--k-ease-overlay);
1095
+ [data-collapsed] > & {
1096
+ opacity: 0;
1097
+ transform: translateX(-8px);
1098
+ }
1099
+ }