@feugene/granularity 0.21.0 → 0.22.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 (82) hide show
  1. package/dist/chunks/config-BTCOJO5z2.js.map +1 -0
  2. package/dist/chunks/config-B_qi4Fma.js.map +1 -0
  3. package/dist/chunks/config-Baj7Wvx-.js.map +1 -0
  4. package/dist/chunks/{config-BKvX0q10.js → config-C5mO5DYZ.js} +10 -1
  5. package/dist/chunks/config-C5mO5DYZ.js.map +1 -0
  6. package/dist/chunks/config-CIcynHGr.js +96 -0
  7. package/dist/chunks/config-CIcynHGr.js.map +1 -0
  8. package/dist/chunks/{config-BsuDM3Hb.js → config-CKULiuvc.js} +15 -1
  9. package/dist/chunks/config-CKULiuvc.js.map +1 -0
  10. package/dist/chunks/config-QaIc_gRa.js.map +1 -0
  11. package/dist/chunks/config-eXB87DOi.js.map +1 -0
  12. package/dist/chunks/copy-DChChcq-.js +29 -0
  13. package/dist/chunks/copy-DChChcq-.js.map +1 -0
  14. package/dist/chunks/{en-CwAr3C_x.js → en-DCCFP4qu.js} +12 -2
  15. package/dist/chunks/{en-CwAr3C_x.js.map → en-DCCFP4qu.js.map} +1 -1
  16. package/dist/chunks/{es-TR4g2I4A.js → es-CT34HBVM.js} +12 -2
  17. package/dist/chunks/{es-TR4g2I4A.js.map → es-CT34HBVM.js.map} +1 -1
  18. package/dist/chunks/{es-Do1q9_SF.js → es-DdJsxlUr.js} +3 -3
  19. package/dist/chunks/{es-Do1q9_SF.js.map → es-DdJsxlUr.js.map} +1 -1
  20. package/dist/chunks/{generated-Do60Aq2I.js → generated-CiCrGDQO.js} +49 -0
  21. package/dist/chunks/{generated-Do60Aq2I.js.map → generated-CiCrGDQO.js.map} +1 -1
  22. package/dist/chunks/{granular-provider-BW2uopTG.js → granular-provider-CYroWMjO.js} +9 -7
  23. package/dist/chunks/granular-provider-CYroWMjO.js.map +1 -0
  24. package/dist/chunks/{ru-Bm-zWJ3F.js → ru-CLiAMwrx.js} +12 -2
  25. package/dist/chunks/{ru-Bm-zWJ3F.js.map → ru-CLiAMwrx.js.map} +1 -1
  26. package/dist/components/GrCodeBlock/chunks/{GrCodeBlock-CW3zY1ee.js → GrCodeBlock-BmXCLgLS.js} +4 -30
  27. package/dist/components/GrCodeBlock/chunks/{GrCodeBlock-CW3zY1ee.js.map → GrCodeBlock-BmXCLgLS.js.map} +1 -1
  28. package/dist/components/GrCodeBlock/index.js +2 -2
  29. package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-LOaFSCyd.js → GrDropdownMenu-DyS6dWDp.js} +2 -2
  30. package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-LOaFSCyd.js.map → GrDropdownMenu-DyS6dWDp.js.map} +1 -1
  31. package/dist/components/GrDropdownMenu/index.js +2 -2
  32. package/dist/components/GrJsonViewer/chunks/GrJsonViewer-DFUppRNb.js +389 -0
  33. package/dist/components/GrJsonViewer/chunks/GrJsonViewer-DFUppRNb.js.map +1 -0
  34. package/dist/components/GrJsonViewer/index.js +3 -0
  35. package/dist/components/GrList/chunks/{GrList-BUzFRa8-.js → GrList-BRYhpqIe.js} +3 -3
  36. package/dist/components/GrList/chunks/GrList-BRYhpqIe.js.map +1 -0
  37. package/dist/components/GrList/index.js +2 -2
  38. package/dist/components/GrList/styles.css +1 -1
  39. package/dist/components/GrRadio/index.js +1 -1
  40. package/dist/components/GrRadioGroup/index.js +1 -1
  41. package/dist/components/GrRating/chunks/{GrRating-BiAVT9H7.js → GrRating-BSEtaibx.js} +1 -1
  42. package/dist/components/GrRating/chunks/{GrRating-BiAVT9H7.js.map → GrRating-BSEtaibx.js.map} +1 -1
  43. package/dist/components/GrRating/index.js +2 -2
  44. package/dist/components/GrTabPanels/index.js +1 -1
  45. package/dist/granular-provider-node.js +1 -1
  46. package/dist/granular-provider.js +1 -1
  47. package/dist/i18n/all.js +1 -1
  48. package/dist/i18n/index.js +1 -1
  49. package/dist/index.js +15 -13
  50. package/dist/theme.js +1 -1
  51. package/dist/tokens.js +1 -1
  52. package/dist/types/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +1 -1
  53. package/dist/types/components/GrDropdownMenu/grDropdownMenuStyles.d.ts +10 -1
  54. package/dist/types/components/GrJsonViewer/GrJsonViewer.vue.d.ts +129 -0
  55. package/dist/types/components/GrJsonViewer/config.d.ts +1 -0
  56. package/dist/types/components/GrJsonViewer/defaults.d.ts +23 -0
  57. package/dist/types/components/GrJsonViewer/grJsonViewerStyles.d.ts +57 -0
  58. package/dist/types/components/GrJsonViewer/index.d.ts +9 -0
  59. package/dist/types/components/GrJsonViewer/jsonToNodes.d.ts +47 -0
  60. package/dist/types/components/GrJsonViewer/safelist.d.ts +1 -0
  61. package/dist/types/components/GrList/grListStyles.d.ts +13 -0
  62. package/dist/types/granular-provider/shared.d.ts +1 -0
  63. package/dist/types/i18n/messages/en.d.ts +18 -0
  64. package/dist/types/i18n/messages/es.d.ts +18 -0
  65. package/dist/types/i18n/messages/ru.d.ts +18 -0
  66. package/dist/types/index.d.ts +1 -0
  67. package/dist/web-types.json +123 -3
  68. package/package.json +5 -1
  69. package/dist/chunks/config-BKvX0q10.js.map +0 -1
  70. package/dist/chunks/config-BTCOJO5z.js.map +0 -1
  71. package/dist/chunks/config-B_qi4Fma2.js.map +0 -1
  72. package/dist/chunks/config-Baj7Wvx-2.js.map +0 -1
  73. package/dist/chunks/config-BsuDM3Hb.js.map +0 -1
  74. package/dist/chunks/config-QaIc_gRa2.js.map +0 -1
  75. package/dist/chunks/config-eXB87DOi2.js.map +0 -1
  76. package/dist/chunks/granular-provider-BW2uopTG.js.map +0 -1
  77. package/dist/components/GrList/chunks/GrList-BUzFRa8-.js.map +0 -1
  78. /package/dist/chunks/{config-BTCOJO5z.js → config-BTCOJO5z2.js} +0 -0
  79. /package/dist/chunks/{config-B_qi4Fma2.js → config-B_qi4Fma.js} +0 -0
  80. /package/dist/chunks/{config-Baj7Wvx-2.js → config-Baj7Wvx-.js} +0 -0
  81. /package/dist/chunks/{config-QaIc_gRa2.js → config-QaIc_gRa.js} +0 -0
  82. /package/dist/chunks/{config-eXB87DOi2.js → config-eXB87DOi.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"generated-Do60Aq2I.js","names":[],"sources":["../../src/tokens/generated.ts"],"sourcesContent":["// СГЕНЕРИРОВАНО `yarn generate:tokens` из `tokens/*.json` — правки здесь потеряются.\n\nimport type { GrComponentToken, GrDerivedToken, GrFoundationToken, GrThemeToken } from './types'\n\nexport const grThemeNames = [\n \"light\",\n \"dark\"\n] as const\n\nexport const grFoundationTokens: GrFoundationToken[] = [\n {\n \"name\": \"--gr-slate-0\",\n \"value\": \"#ffffff\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 0 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-50\",\n \"value\": \"#f8fafc\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 50 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-100\",\n \"value\": \"#f1f5f9\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 100 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-200\",\n \"value\": \"#e2e8f0\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 200 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-300\",\n \"value\": \"#cbd5e1\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 300 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-400\",\n \"value\": \"#94a3b8\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 400 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-500\",\n \"value\": \"#64748b\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 500 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-600\",\n \"value\": \"#475569\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 600 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-700\",\n \"value\": \"#334155\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 700 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-800\",\n \"value\": \"#1e293b\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 800 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-900\",\n \"value\": \"#0f172a\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 900 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-font-ui\",\n \"value\": \"Inter, Roboto, system-ui, -apple-system, Segoe UI, Arial, sans-serif\",\n \"section\": \"Typography: font families\",\n \"description\": \"Основной стек шрифта для интерфейсного текста и большинства компонентных подписей.\"\n },\n {\n \"name\": \"--gr-font-mono\",\n \"value\": \"'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace\",\n \"section\": \"Typography: font families\",\n \"description\": \"Моноширинный стек для кода, числовых значений и технических подписей.\"\n },\n {\n \"name\": \"--gr-text-2xs\",\n \"value\": \"10px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `2xs` из типографической шкалы foundation tokens: подписи и служебные строки, которые не должны конкурировать с основным текстом.\"\n },\n {\n \"name\": \"--gr-text-xs\",\n \"value\": \"12px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `xs` из типографической шкалы foundation tokens.\"\n },\n {\n \"name\": \"--gr-text-sm\",\n \"value\": \"14px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `sm` из типографической шкалы foundation tokens.\"\n },\n {\n \"name\": \"--gr-text-base\",\n \"value\": \"16px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `base` из типографической шкалы foundation tokens.\"\n },\n {\n \"name\": \"--gr-text-lg\",\n \"value\": \"18px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `lg` из типографической шкалы foundation tokens.\"\n },\n {\n \"name\": \"--gr-text-xl\",\n \"value\": \"20px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `xl` из типографической шкалы foundation tokens.\"\n },\n {\n \"name\": \"--gr-text-2xl\",\n \"value\": \"24px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `2xl` из типографической шкалы foundation tokens.\"\n },\n {\n \"name\": \"--gr-text-3xl\",\n \"value\": \"30px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `3xl` из типографической шкалы foundation tokens.\"\n },\n {\n \"name\": \"--gr-text-4xl\",\n \"value\": \"36px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `4xl` из типографической шкалы foundation tokens.\"\n },\n {\n \"name\": \"--gr-control-text-3xs\",\n \"value\": \"10px\",\n \"section\": \"Typography: control scale\",\n \"description\": \"Кегль компонента на самой мелкой ступени — подпись колонки таблицы, служебная ссылка в списке файлов.\"\n },\n {\n \"name\": \"--gr-control-text-2xs\",\n \"value\": \"11px\",\n \"section\": \"Typography: control scale\",\n \"description\": \"Кегль компонента на ступени между `3xs` и `xs`: мелкий бейдж, компактная подсказка, заголовок группы в палитре команд.\"\n },\n {\n \"name\": \"--gr-control-text-xs\",\n \"value\": \"12px\",\n \"section\": \"Typography: control scale\",\n \"description\": \"Кегль компонента на ступени `xs`.\"\n },\n {\n \"name\": \"--gr-control-text-sm\",\n \"value\": \"13px\",\n \"section\": \"Typography: control scale\",\n \"description\": \"Кегль компонента на ступени `sm`.\"\n },\n {\n \"name\": \"--gr-control-text-md\",\n \"value\": \"14px\",\n \"section\": \"Typography: control scale\",\n \"description\": \"Кегль компонента на ступени `md` — значение по умолчанию.\"\n },\n {\n \"name\": \"--gr-control-text-lg\",\n \"value\": \"16px\",\n \"section\": \"Typography: control scale\",\n \"description\": \"Кегль компонента на ступени `lg`.\"\n },\n {\n \"name\": \"--gr-leading-xs\",\n \"value\": \"1rem\",\n \"section\": \"Typography: line heights\",\n \"description\": \"Межстрочный интервал ступени `xs` — идёт в паре с `--gr-text-xs`.\"\n },\n {\n \"name\": \"--gr-leading-sm\",\n \"value\": \"1.25rem\",\n \"section\": \"Typography: line heights\",\n \"description\": \"Межстрочный интервал ступени `sm` — идёт в паре с `--gr-text-sm`.\"\n },\n {\n \"name\": \"--gr-leading-base\",\n \"value\": \"1.5rem\",\n \"section\": \"Typography: line heights\",\n \"description\": \"Межстрочный интервал ступени `base` — идёт в паре с `--gr-text-base`.\"\n },\n {\n \"name\": \"--gr-leading-xl\",\n \"value\": \"1.75rem\",\n \"section\": \"Typography: line heights\",\n \"description\": \"Межстрочный интервал ступени `xl` — идёт в паре с `--gr-text-xl`.\"\n },\n {\n \"name\": \"--gr-leading-3xl\",\n \"value\": \"2.25rem\",\n \"section\": \"Typography: line heights\",\n \"description\": \"Межстрочный интервал ступени `3xl` — идёт в паре с `--gr-text-3xl`.\"\n },\n {\n \"name\": \"--gr-leading-tight\",\n \"value\": \"1.25\",\n \"section\": \"Typography: line heights\",\n \"description\": \"Коэффициент межстрочного интервала `tight` для текстовых блоков и подписей.\"\n },\n {\n \"name\": \"--gr-leading-normal\",\n \"value\": \"1.5\",\n \"section\": \"Typography: line heights\",\n \"description\": \"Коэффициент межстрочного интервала `normal` для текстовых блоков и подписей.\"\n },\n {\n \"name\": \"--gr-leading-relaxed\",\n \"value\": \"1.625\",\n \"section\": \"Typography: line heights\",\n \"description\": \"Коэффициент межстрочного интервала `relaxed` для текстовых блоков и подписей.\"\n },\n {\n \"name\": \"--gr-font-regular\",\n \"value\": \"400\",\n \"section\": \"Typography: font weights\",\n \"description\": \"Вес шрифта `regular` для типографической иерархии интерфейса.\"\n },\n {\n \"name\": \"--gr-font-medium\",\n \"value\": \"500\",\n \"section\": \"Typography: font weights\",\n \"description\": \"Вес шрифта `medium` для типографической иерархии интерфейса.\"\n },\n {\n \"name\": \"--gr-font-semibold\",\n \"value\": \"600\",\n \"section\": \"Typography: font weights\",\n \"description\": \"Вес шрифта `semibold` для типографической иерархии интерфейса.\"\n },\n {\n \"name\": \"--gr-font-bold\",\n \"value\": \"700\",\n \"section\": \"Typography: font weights\",\n \"description\": \"Вес шрифта `bold` для типографической иерархии интерфейса.\"\n },\n {\n \"name\": \"--gr-space-0\",\n \"value\": \"0px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `0` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-1\",\n \"value\": \"4px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `1` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-2\",\n \"value\": \"8px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `2` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-3\",\n \"value\": \"12px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `3` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-4\",\n \"value\": \"16px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `4` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-5\",\n \"value\": \"20px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `5` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-6\",\n \"value\": \"24px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `6` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-8\",\n \"value\": \"32px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `8` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-10\",\n \"value\": \"40px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `10` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-12\",\n \"value\": \"48px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `12` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-16\",\n \"value\": \"64px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `16` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-20\",\n \"value\": \"80px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `20` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-24\",\n \"value\": \"96px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `24` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-32\",\n \"value\": \"128px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `32` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-40\",\n \"value\": \"160px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `40` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-48\",\n \"value\": \"192px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `48` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-64\",\n \"value\": \"256px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `64` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-container-max\",\n \"value\": \"1280px\",\n \"section\": \"Layout: containers\",\n \"description\": \"Максимальная ширина layout-контейнера для контентных страниц и shell-структур.\"\n },\n {\n \"name\": \"--gr-container-max-2xl\",\n \"value\": \"1440px\",\n \"section\": \"Layout: containers\",\n \"description\": \"Максимальная ширина layout-контейнера для контентных страниц и shell-структур.\"\n },\n {\n \"name\": \"--gr-container-padding-mobile\",\n \"value\": \"16px\",\n \"section\": \"Layout: containers\",\n \"description\": \"Горизонтальный контейнерный отступ для соответствующего breakpoint-сценария.\"\n },\n {\n \"name\": \"--gr-container-padding-tablet\",\n \"value\": \"24px\",\n \"section\": \"Layout: containers\",\n \"description\": \"Горизонтальный контейнерный отступ для соответствующего breakpoint-сценария.\"\n },\n {\n \"name\": \"--gr-container-padding-desktop\",\n \"value\": \"32px\",\n \"section\": \"Layout: containers\",\n \"description\": \"Горизонтальный контейнерный отступ для соответствующего breakpoint-сценария.\"\n },\n {\n \"name\": \"--gr-bp-sm\",\n \"value\": \"640px\",\n \"section\": \"Layout: breakpoints\",\n \"description\": \"Foundation breakpoint `sm` для адаптивных layout-решений.\"\n },\n {\n \"name\": \"--gr-bp-md\",\n \"value\": \"768px\",\n \"section\": \"Layout: breakpoints\",\n \"description\": \"Foundation breakpoint `md` для адаптивных layout-решений.\"\n },\n {\n \"name\": \"--gr-bp-lg\",\n \"value\": \"1024px\",\n \"section\": \"Layout: breakpoints\",\n \"description\": \"Foundation breakpoint `lg` для адаптивных layout-решений.\"\n },\n {\n \"name\": \"--gr-bp-xl\",\n \"value\": \"1280px\",\n \"section\": \"Layout: breakpoints\",\n \"description\": \"Foundation breakpoint `xl` для адаптивных layout-решений.\"\n },\n {\n \"name\": \"--gr-bp-2xl\",\n \"value\": \"1536px\",\n \"section\": \"Layout: breakpoints\",\n \"description\": \"Foundation breakpoint `2xl` для адаптивных layout-решений.\"\n },\n {\n \"name\": \"--gr-icon-size-xs\",\n \"value\": \"14px\",\n \"section\": \"Iconography: icon sizes\",\n \"description\": \"Размер иконки `xs` — рядом с текстом `xs`/`sm`.\"\n },\n {\n \"name\": \"--gr-icon-size-sm\",\n \"value\": \"16px\",\n \"section\": \"Iconography: icon sizes\",\n \"description\": \"Размер иконки `sm` — в компактных кнопках и строках списка.\"\n },\n {\n \"name\": \"--gr-icon-size-md\",\n \"value\": \"18px\",\n \"section\": \"Iconography: icon sizes\",\n \"description\": \"Размер иконки `md` — значение по умолчанию.\"\n },\n {\n \"name\": \"--gr-icon-size-lg\",\n \"value\": \"20px\",\n \"section\": \"Iconography: icon sizes\",\n \"description\": \"Размер иконки `lg` — в крупных кнопках и заголовках.\"\n },\n {\n \"name\": \"--radius\",\n \"value\": \"0.5rem\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Совместимый alias базового радиуса для интеграций, ожидающих shadcn-style token contract.\"\n },\n {\n \"name\": \"--gr-radius-none\",\n \"value\": \"0px\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Радиус скругления `none` для углов компонентов и поверхностей.\"\n },\n {\n \"name\": \"--gr-radius-xs\",\n \"value\": \"3px\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Радиус скругления `xs` — микроэлементы: подсветка совпадения в поиске, кнопка очистки внутри контрола.\"\n },\n {\n \"name\": \"--gr-radius-sm\",\n \"value\": \"4px\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Радиус скругления `sm` для углов компонентов и поверхностей.\"\n },\n {\n \"name\": \"--gr-radius-control\",\n \"value\": \"6px\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Радиус контрола и мелкой интерактивной детали внутри него: оболочка поля, чип, кнопка-крестик, фокус-кольцо ссылки, тултип слайдера.\"\n },\n {\n \"name\": \"--gr-radius-md\",\n \"value\": \"8px\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Радиус скругления `md` для углов компонентов и поверхностей.\"\n },\n {\n \"name\": \"--gr-radius-lg\",\n \"value\": \"12px\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Радиус скругления `lg` для углов компонентов и поверхностей.\"\n },\n {\n \"name\": \"--gr-radius-xl\",\n \"value\": \"16px\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Радиус скругления `xl` для углов компонентов и поверхностей.\"\n },\n {\n \"name\": \"--gr-radius-full\",\n \"value\": \"9999px\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Радиус скругления `full` для углов компонентов и поверхностей.\"\n },\n {\n \"name\": \"--gr-shadow-0\",\n \"value\": \"none\",\n \"section\": \"Elevation\",\n \"description\": \"Уровень elevation `0` для карточек, popover-слоёв и акцентных поверхностей.\"\n },\n {\n \"name\": \"--gr-shadow-1\",\n \"value\": \"0 1px 2px rgba(15, 23, 42, 0.08)\",\n \"section\": \"Elevation\",\n \"description\": \"Уровень elevation `1` для карточек, popover-слоёв и акцентных поверхностей.\"\n },\n {\n \"name\": \"--gr-shadow-2\",\n \"value\": \"0 8px 24px rgba(15, 23, 42, 0.14)\",\n \"section\": \"Elevation\",\n \"description\": \"Уровень elevation `2` для карточек, popover-слоёв и акцентных поверхностей.\"\n },\n {\n \"name\": \"--gr-shadow-3\",\n \"value\": \"0 16px 48px rgba(15, 23, 42, 0.20)\",\n \"section\": \"Elevation\",\n \"description\": \"Уровень elevation `3` для карточек, popover-слоёв и акцентных поверхностей.\"\n },\n {\n \"name\": \"--gr-duration-fast\",\n \"value\": \"150ms\",\n \"section\": \"Motion\",\n \"description\": \"Базовая длительность анимации `fast` для transitions и state changes.\"\n },\n {\n \"name\": \"--gr-duration-base\",\n \"value\": \"200ms\",\n \"section\": \"Motion\",\n \"description\": \"Базовая длительность анимации `base` для transitions и state changes.\"\n },\n {\n \"name\": \"--gr-duration-slow\",\n \"value\": \"300ms\",\n \"section\": \"Motion\",\n \"description\": \"Базовая длительность анимации `slow` для transitions и state changes.\"\n },\n {\n \"name\": \"--gr-ease-out\",\n \"value\": \"cubic-bezier(0.16, 1, 0.3, 1)\",\n \"section\": \"Motion\",\n \"description\": \"Кривая ускорения `out` для motion-паттернов дизайн-системы.\"\n },\n {\n \"name\": \"--gr-ease-in\",\n \"value\": \"cubic-bezier(0.7, 0, 0.84, 0)\",\n \"section\": \"Motion\",\n \"description\": \"Кривая ускорения `in` для motion-паттернов дизайн-системы.\"\n },\n {\n \"name\": \"--gr-z-bottom-nav\",\n \"value\": \"850\",\n \"section\": \"Layering: z-index scale\",\n \"description\": \"Нижняя навигация приложения. Самый низкий слой шкалы: панель прижата к нижней кромке и обязана уходить под открытую выпадашку, тултип и модалку.\"\n },\n {\n \"name\": \"--gr-z-navbar\",\n \"value\": \"900\",\n \"section\": \"Layering: z-index scale\",\n \"description\": \"Прилипшая шапка приложения. Ниже якорных панелей: шапка перекрывает контент, но не выпадашки, тултипы и модалки.\"\n },\n {\n \"name\": \"--gr-z-dropdown\",\n \"value\": \"1000\",\n \"section\": \"Layering: z-index scale\",\n \"description\": \"Слой якорных floating-панелей: dropdown, select, tree-select.\"\n },\n {\n \"name\": \"--gr-z-tooltip\",\n \"value\": \"1050\",\n \"section\": \"Layering: z-index scale\",\n \"description\": \"Слой тултипов — выше floating-панелей, ниже модалок.\"\n },\n {\n \"name\": \"--gr-z-modal\",\n \"value\": \"1100\",\n \"section\": \"Layering: z-index scale\",\n \"description\": \"Слой модальных окон и диалогов.\"\n },\n {\n \"name\": \"--gr-z-loading\",\n \"value\": \"1150\",\n \"section\": \"Layering: z-index scale\",\n \"description\": \"Слой полноэкранного оверлея загрузки: выше модалок, потому что блокирует всё приложение целиком, но ниже тостов.\"\n },\n {\n \"name\": \"--gr-z-toast\",\n \"value\": \"1200\",\n \"section\": \"Layering: z-index scale\",\n \"description\": \"Слой тостов — единственный, обязанный быть виден поверх всего, включая открытые модалки.\"\n }\n]\n\nexport const grDerivedTokens: GrDerivedToken[] = [\n {\n \"name\": \"--gr-primary-hover\",\n \"section\": \"Derived interaction formulas: action roles\",\n \"description\": \"Hover-состояние primary action: подмес `--gr-fg` 8% в `--gr-primary`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-primary) 92%, var(--gr-fg))\",\n \"base\": \"--gr-primary\",\n \"amount\": 92,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#4a42d6\",\n \"dark\": \"#a494fa\"\n }\n },\n {\n \"name\": \"--gr-primary-active\",\n \"section\": \"Derived interaction formulas: action roles\",\n \"description\": \"Active-состояние primary action: подмес `--gr-fg` 16% в `--gr-primary`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-primary) 84%, var(--gr-fg))\",\n \"base\": \"--gr-primary\",\n \"amount\": 84,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#453ec7\",\n \"dark\": \"#ac9dfa\"\n }\n },\n {\n \"name\": \"--gr-secondary-hover\",\n \"section\": \"Derived interaction formulas: action roles\",\n \"description\": \"Hover-состояние secondary action: подмес `--gr-fg` 8% в `--gr-secondary`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-secondary) 92%, var(--gr-fg))\",\n \"base\": \"--gr-secondary\",\n \"amount\": 92,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#d1d7e0\",\n \"dark\": \"#435062\"\n }\n },\n {\n \"name\": \"--gr-secondary-active\",\n \"section\": \"Derived interaction formulas: action roles\",\n \"description\": \"Active-состояние secondary action: подмес `--gr-fg` 16% в `--gr-secondary`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-secondary) 84%, var(--gr-fg))\",\n \"base\": \"--gr-secondary\",\n \"amount\": 84,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#c0c7d0\",\n \"dark\": \"#535f70\"\n }\n },\n {\n \"name\": \"--gr-brd-hover\",\n \"section\": \"Derived interaction formulas: action roles\",\n \"description\": \"Hover-состояние бордеров и outline-элементов: подмес `--gr-fg` 30% в `--gr-brd`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-brd) 70%, var(--gr-fg))\",\n \"base\": \"--gr-brd\",\n \"amount\": 70,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#a3a9b5\",\n \"dark\": \"#6e7987\"\n }\n },\n {\n \"name\": \"--gr-brd-active\",\n \"section\": \"Derived interaction formulas: action roles\",\n \"description\": \"Active-состояние бордеров и outline-элементов: подмес `--gr-fg` 45% в `--gr-brd`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-brd) 55%, var(--gr-fg))\",\n \"base\": \"--gr-brd\",\n \"amount\": 55,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#838a97\",\n \"dark\": \"#8c94a0\"\n }\n },\n {\n \"name\": \"--gr-success-hover\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Hover-состояние success-ролей: подмес `--gr-fg` 8% в `--gr-success`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-success) 92%, var(--gr-fg))\",\n \"base\": \"--gr-success\",\n \"amount\": 92,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#10ac7a\",\n \"dark\": \"#44d6a1\"\n }\n },\n {\n \"name\": \"--gr-success-active\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Active-состояние success-ролей: подмес `--gr-fg` 16% в `--gr-success`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-success) 84%, var(--gr-fg))\",\n \"base\": \"--gr-success\",\n \"amount\": 84,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#109f73\",\n \"dark\": \"#53d9a9\"\n }\n },\n {\n \"name\": \"--gr-warning-hover\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Hover-состояние warning-ролей: подмес `--gr-fg` 8% в `--gr-warning`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-warning) 92%, var(--gr-fg))\",\n \"base\": \"--gr-warning\",\n \"amount\": 92,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#e66c18\",\n \"dark\": \"#fb9a4b\"\n }\n },\n {\n \"name\": \"--gr-warning-active\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Active-состояние warning-ролей: подмес `--gr-fg` 16% в `--gr-warning`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-warning) 84%, var(--gr-fg))\",\n \"base\": \"--gr-warning\",\n \"amount\": 84,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#d46419\",\n \"dark\": \"#fba35b\"\n }\n },\n {\n \"name\": \"--gr-danger-hover\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Hover-состояние danger-ролей: подмес `--gr-fg` 8% в `--gr-danger`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-danger) 92%, var(--gr-fg))\",\n \"base\": \"--gr-danger\",\n \"amount\": 92,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#cc2526\",\n \"dark\": \"#f87c7c\"\n }\n },\n {\n \"name\": \"--gr-danger-active\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Active-состояние danger-ролей: подмес `--gr-fg` 16% в `--gr-danger`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-danger) 84%, var(--gr-fg))\",\n \"base\": \"--gr-danger\",\n \"amount\": 84,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#bb2427\",\n \"dark\": \"#f88787\"\n }\n },\n {\n \"name\": \"--gr-info-hover\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Hover-состояние info-ролей: подмес `--gr-fg` 8% в `--gr-info`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-info) 92%, var(--gr-fg))\",\n \"base\": \"--gr-info\",\n \"amount\": 92,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#235ddc\",\n \"dark\": \"#6cacfa\"\n }\n },\n {\n \"name\": \"--gr-info-active\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Active-состояние info-ролей: подмес `--gr-fg` 16% в `--gr-info`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-info) 84%, var(--gr-fg))\",\n \"base\": \"--gr-info\",\n \"amount\": 84,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#2157cc\",\n \"dark\": \"#78b3fa\"\n }\n },\n {\n \"name\": \"--gr-slate-hover\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Hover-состояние slate-ролей: подмес `--gr-fg` 8% в `--gr-slate`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-slate) 92%, var(--gr-fg))\",\n \"base\": \"--gr-slate\",\n \"amount\": 92,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#435064\",\n \"dark\": \"#9caabd\"\n }\n },\n {\n \"name\": \"--gr-slate-active\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Active-состояние slate-ролей: подмес `--gr-fg` 16% в `--gr-slate`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-slate) 84%, var(--gr-fg))\",\n \"base\": \"--gr-slate\",\n \"amount\": 84,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#3e4b5f\",\n \"dark\": \"#a4b1c3\"\n }\n },\n {\n \"name\": \"--gr-azure-hover\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Hover-состояние azure-ролей: подмес `--gr-fg` 8% в `--gr-azure`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-azure) 92%, var(--gr-fg))\",\n \"base\": \"--gr-azure\",\n \"amount\": 92,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#016fab\",\n \"dark\": \"#47c2f8\"\n }\n },\n {\n \"name\": \"--gr-azure-active\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Active-состояние azure-ролей: подмес `--gr-fg` 16% в `--gr-azure`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-azure) 84%, var(--gr-fg))\",\n \"base\": \"--gr-azure\",\n \"amount\": 84,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#0268a0\",\n \"dark\": \"#57c7f9\"\n }\n }\n]\n\nexport const grThemeTokens: GrThemeToken[] = [\n {\n \"name\": \"--gr-bg\",\n \"section\": \"Surface roles\",\n \"description\": \"Базовый фон приложения и крупных layout-поверхностей текущей темы.\",\n \"values\": {\n \"light\": \"#f8fafc\",\n \"dark\": \"#0f172a\"\n }\n },\n {\n \"name\": \"--gr-fg\",\n \"section\": \"Surface roles\",\n \"description\": \"Основной цвет текста и иконок поверх базового фона текущей темы.\",\n \"values\": {\n \"light\": \"#0f172a\",\n \"dark\": \"#f8fafc\"\n }\n },\n {\n \"name\": \"--gr-card\",\n \"section\": \"Surface roles\",\n \"description\": \"Фон карточек, панелей и других поднятых поверхностей.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#1e293b\"\n }\n },\n {\n \"name\": \"--gr-card-fg\",\n \"section\": \"Surface roles\",\n \"description\": \"Цвет контента внутри карточек и raised surface-блоков.\",\n \"values\": {\n \"light\": \"#0f172a\",\n \"dark\": \"#f8fafc\"\n }\n },\n {\n \"name\": \"--gr-popover\",\n \"section\": \"Surface roles\",\n \"description\": \"Фон popover-, dropdown- и overlay-поверхностей.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#1e293b\"\n }\n },\n {\n \"name\": \"--gr-popover-fg\",\n \"section\": \"Surface roles\",\n \"description\": \"Цвет текста и иконок внутри popover-слоёв.\",\n \"values\": {\n \"light\": \"#0f172a\",\n \"dark\": \"#f8fafc\"\n }\n },\n {\n \"name\": \"--gr-muted\",\n \"section\": \"Surface roles\",\n \"description\": \"Приглушённая поверхность для вторичных блоков, плашек и заполнений.\",\n \"values\": {\n \"light\": \"#f1f5f9\",\n \"dark\": \"#334155\"\n }\n },\n {\n \"name\": \"--gr-muted-fg\",\n \"section\": \"Surface roles\",\n \"description\": \"Вторичный текстовый цвет для helper-копии и менее важных подписей.\",\n \"values\": {\n \"light\": \"#556275\",\n \"dark\": \"#aab6c7\"\n }\n },\n {\n \"name\": \"--gr-secondary\",\n \"section\": \"Surface roles\",\n \"description\": \"Нейтральная secondary action/surface-подложка без сильного бренд-акцента.\",\n \"values\": {\n \"light\": \"#e2e8f0\",\n \"dark\": \"#334155\"\n }\n },\n {\n \"name\": \"--gr-secondary-fg\",\n \"section\": \"Surface roles\",\n \"description\": \"Контрастный текст для secondary-кнопок и поверхностей.\",\n \"values\": {\n \"light\": \"#1e293b\",\n \"dark\": \"#f1f5f9\"\n }\n },\n {\n \"name\": \"--gr-overlay-bg\",\n \"section\": \"Surface roles\",\n \"description\": \"Подложка модальных слоёв (модалка, drawer): затемняет страницу, оставляя её узнаваемой.\",\n \"values\": {\n \"light\": \"rgb(15 23 42 / 0.45)\",\n \"dark\": \"rgb(2 6 23 / 0.65)\"\n }\n },\n {\n \"name\": \"--gr-brd\",\n \"section\": \"Surface roles\",\n \"description\": \"Базовый цвет бордеров и разделителей текущей темы.\",\n \"values\": {\n \"light\": \"#e2e8f0\",\n \"dark\": \"#334155\"\n }\n },\n {\n \"name\": \"--gr-input\",\n \"section\": \"Surface roles\",\n \"description\": \"Цвет рамки и фона input-like контролов в состоянии покоя.\",\n \"values\": {\n \"light\": \"#e2e8f0\",\n \"dark\": \"#334155\"\n }\n },\n {\n \"name\": \"--gr-ring\",\n \"section\": \"Surface roles\",\n \"description\": \"Цвет focus-ring и акцентного outline для интерактивных компонентов.\",\n \"values\": {\n \"light\": \"#6366f1\",\n \"dark\": \"#818cf8\"\n }\n },\n {\n \"name\": \"--gr-disabled-bg\",\n \"section\": \"State roles\",\n \"description\": \"Фон недоступного контрола: гасит его поверхностью, а не прозрачностью — `opacity` разбавляет выверенные на AA токены текста.\",\n \"values\": {\n \"light\": \"#f1f5f9\",\n \"dark\": \"#273548\"\n }\n },\n {\n \"name\": \"--gr-disabled-fg\",\n \"section\": \"State roles\",\n \"description\": \"Цвет текста и иконок недоступного контрола.\",\n \"values\": {\n \"light\": \"#94a3b8\",\n \"dark\": \"#64748b\"\n }\n },\n {\n \"name\": \"--gr-disabled-brd\",\n \"section\": \"State roles\",\n \"description\": \"Цвет рамки недоступного контрола.\",\n \"values\": {\n \"light\": \"#e2e8f0\",\n \"dark\": \"#334155\"\n }\n },\n {\n \"name\": \"--gr-invalid-brd\",\n \"section\": \"State roles\",\n \"description\": \"Цвет рамки контрола, не прошедшего валидацию.\",\n \"values\": {\n \"light\": \"var(--gr-danger)\",\n \"dark\": \"var(--gr-danger)\"\n }\n },\n {\n \"name\": \"--gr-invalid-ring\",\n \"section\": \"State roles\",\n \"description\": \"Цвет focus-ring контрола, не прошедшего валидацию.\",\n \"values\": {\n \"light\": \"var(--gr-danger)\",\n \"dark\": \"var(--gr-danger)\"\n }\n },\n {\n \"name\": \"--gr-invalid-text\",\n \"section\": \"State roles\",\n \"description\": \"Цвет текста ошибки и метки обязательного поля.\",\n \"values\": {\n \"light\": \"var(--gr-danger-text)\",\n \"dark\": \"var(--gr-danger-text)\"\n }\n },\n {\n \"name\": \"--gr-primary\",\n \"section\": \"Action roles\",\n \"description\": \"Главный brand/action цвет темы для primary CTA и ключевых акцентов.\",\n \"values\": {\n \"light\": \"#4f46e5\",\n \"dark\": \"#9d8bfa\"\n }\n },\n {\n \"name\": \"--gr-primary-fg\",\n \"section\": \"Action roles\",\n \"description\": \"Контрастный текст и иконки поверх primary-заливки.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#0f172a\"\n }\n },\n {\n \"name\": \"--gr-accent\",\n \"section\": \"Action roles\",\n \"description\": \"Мягкая акцентная поверхность для selected/hovered областей и подсветок.\",\n \"values\": {\n \"light\": \"#eef2ff\",\n \"dark\": \"#1e1b4b\"\n }\n },\n {\n \"name\": \"--gr-accent-fg\",\n \"section\": \"Action roles\",\n \"description\": \"Цвет текста поверх accent-подложек.\",\n \"values\": {\n \"light\": \"#3730a3\",\n \"dark\": \"#c7d2fe\"\n }\n },\n {\n \"name\": \"--gr-success\",\n \"section\": \"Status roles\",\n \"description\": \"Основной semantic success-цвет для статусов, бейджей и уведомлений.\",\n \"values\": {\n \"light\": \"#10b981\",\n \"dark\": \"#34d399\"\n }\n },\n {\n \"name\": \"--gr-success-light\",\n \"section\": \"Status roles\",\n \"description\": \"Облегчённая success-подложка для мягких статусов и подсветок.\",\n \"values\": {\n \"light\": \"#d1fae5\",\n \"dark\": \"#064e3b\"\n }\n },\n {\n \"name\": \"--gr-success-fg\",\n \"section\": \"Status roles\",\n \"description\": \"Контрастный текст и иконки поверх success-заливки.\",\n \"values\": {\n \"light\": \"#0f172a\",\n \"dark\": \"#0f172a\"\n }\n },\n {\n \"name\": \"--gr-primary-text\",\n \"section\": \"Status roles\",\n \"description\": \"Основной тон как ЦВЕТ ТЕКСТА на фоне страницы: насыщенный `--gr-primary` под текст не рассчитан и не проходит по контрасту.\",\n \"values\": {\n \"light\": \"#3730a3\",\n \"dark\": \"#c7d2fe\"\n }\n },\n {\n \"name\": \"--gr-success-text\",\n \"section\": \"Status roles\",\n \"description\": \"Текстовый оттенок для success-сообщений на светлой подложке.\",\n \"values\": {\n \"light\": \"#065f46\",\n \"dark\": \"#6ee7b7\"\n }\n },\n {\n \"name\": \"--gr-warning\",\n \"section\": \"Status roles\",\n \"description\": \"Основной semantic warning-цвет для предупреждений и промежуточных статусов.\",\n \"values\": {\n \"light\": \"#f97316\",\n \"dark\": \"#fb923c\"\n }\n },\n {\n \"name\": \"--gr-warning-light\",\n \"section\": \"Status roles\",\n \"description\": \"Облегчённая warning-подложка для мягких warning-состояний.\",\n \"values\": {\n \"light\": \"#ffedd5\",\n \"dark\": \"#7c2d12\"\n }\n },\n {\n \"name\": \"--gr-warning-fg\",\n \"section\": \"Status roles\",\n \"description\": \"Контрастный текст и иконки поверх warning-заливки.\",\n \"values\": {\n \"light\": \"#0f172a\",\n \"dark\": \"#0f172a\"\n }\n },\n {\n \"name\": \"--gr-warning-text\",\n \"section\": \"Status roles\",\n \"description\": \"Текстовый оттенок для warning-сообщений на мягкой warning-подложке.\",\n \"values\": {\n \"light\": \"#7c2d12\",\n \"dark\": \"#fdba74\"\n }\n },\n {\n \"name\": \"--gr-danger\",\n \"section\": \"Status roles\",\n \"description\": \"Semantic danger-цвет для ошибок, рисков и критических сообщений.\",\n \"values\": {\n \"light\": \"#dc2626\",\n \"dark\": \"#f87171\"\n }\n },\n {\n \"name\": \"--gr-danger-light\",\n \"section\": \"Status roles\",\n \"description\": \"Облегчённая danger-подложка для мягких error-состояний.\",\n \"values\": {\n \"light\": \"#fee2e2\",\n \"dark\": \"#7f1d1d\"\n }\n },\n {\n \"name\": \"--gr-danger-fg\",\n \"section\": \"Status roles\",\n \"description\": \"Контрастный текст и иконки поверх danger-заливки.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#0f172a\"\n }\n },\n {\n \"name\": \"--gr-danger-text\",\n \"section\": \"Status roles\",\n \"description\": \"Текстовый оттенок для error-сообщений на мягкой danger-подложке.\",\n \"values\": {\n \"light\": \"#991b1b\",\n \"dark\": \"#fca5a5\"\n }\n },\n {\n \"name\": \"--gr-info\",\n \"section\": \"Status roles\",\n \"description\": \"Semantic info-цвет для нейтральных уведомлений и информационных акцентов.\",\n \"values\": {\n \"light\": \"#2563eb\",\n \"dark\": \"#60a5fa\"\n }\n },\n {\n \"name\": \"--gr-info-light\",\n \"section\": \"Status roles\",\n \"description\": \"Облегчённая info-подложка для спокойных информационных блоков.\",\n \"values\": {\n \"light\": \"#dbeafe\",\n \"dark\": \"#1e3a8a\"\n }\n },\n {\n \"name\": \"--gr-info-fg\",\n \"section\": \"Status roles\",\n \"description\": \"Контрастный текст и иконки поверх info-заливки.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#0f172a\"\n }\n },\n {\n \"name\": \"--gr-info-text\",\n \"section\": \"Status roles\",\n \"description\": \"Текстовый оттенок для спокойных info-сообщений и подсказок.\",\n \"values\": {\n \"light\": \"#1e40af\",\n \"dark\": \"#bfdbfe\"\n }\n },\n {\n \"name\": \"--gr-slate\",\n \"section\": \"Status roles\",\n \"description\": \"Нейтральный semantic slate-цвет для subdued индикаторов и secondary статусов.\",\n \"values\": {\n \"light\": \"#475569\",\n \"dark\": \"#94a3b8\"\n }\n },\n {\n \"name\": \"--gr-slate-light\",\n \"section\": \"Status roles\",\n \"description\": \"Облегчённая slate-подложка для мягких нейтральных состояний.\",\n \"values\": {\n \"light\": \"#e2e8f0\",\n \"dark\": \"#334155\"\n }\n },\n {\n \"name\": \"--gr-slate-fg\",\n \"section\": \"Status roles\",\n \"description\": \"Контрастный текст и иконки поверх slate-заливки.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#0f172a\"\n }\n },\n {\n \"name\": \"--gr-slate-text\",\n \"section\": \"Status roles\",\n \"description\": \"Текстовый оттенок для нейтральных slate-сообщений и плашек.\",\n \"values\": {\n \"light\": \"#334155\",\n \"dark\": \"#cbd5e1\"\n }\n },\n {\n \"name\": \"--gr-azure\",\n \"section\": \"Status roles\",\n \"description\": \"Semantic azure-цвет для информационных акцентов и вспомогательных статусов.\",\n \"values\": {\n \"light\": \"#0077b6\",\n \"dark\": \"#38bdf8\"\n }\n },\n {\n \"name\": \"--gr-azure-light\",\n \"section\": \"Status roles\",\n \"description\": \"Облегчённая azure-подложка для мягких informational поверхностей.\",\n \"values\": {\n \"light\": \"#e0f2fe\",\n \"dark\": \"#0c4a6e\"\n }\n },\n {\n \"name\": \"--gr-azure-fg\",\n \"section\": \"Status roles\",\n \"description\": \"Контрастный текст и иконки поверх azure-заливки.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#0f172a\"\n }\n },\n {\n \"name\": \"--gr-azure-text\",\n \"section\": \"Status roles\",\n \"description\": \"Текстовый оттенок для azure-плашек и спокойных informational блоков.\",\n \"values\": {\n \"light\": \"#075985\",\n \"dark\": \"#bae6fd\"\n }\n },\n {\n \"name\": \"--gr-primary-solid\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Сплошная заливка кнопочного веса тона `primary`.\",\n \"values\": {\n \"light\": \"var(--gr-primary)\",\n \"dark\": \"#595ce6\"\n }\n },\n {\n \"name\": \"--gr-primary-solid-hover\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-primary-solid` под курсором.\",\n \"values\": {\n \"light\": \"var(--gr-primary-hover)\",\n \"dark\": \"#5053dd\"\n }\n },\n {\n \"name\": \"--gr-primary-solid-active\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-primary-solid` в момент нажатия.\",\n \"values\": {\n \"light\": \"var(--gr-primary-active)\",\n \"dark\": \"#474acf\"\n }\n },\n {\n \"name\": \"--gr-primary-solid-fg\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Текст и иконки на заливке `--gr-primary-solid`.\",\n \"values\": {\n \"light\": \"var(--gr-primary-fg)\",\n \"dark\": \"var(--gr-slate-0)\"\n }\n },\n {\n \"name\": \"--gr-success-solid\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Сплошная заливка кнопочного веса тона `success`.\",\n \"values\": {\n \"light\": \"#047857\",\n \"dark\": \"#047857\"\n }\n },\n {\n \"name\": \"--gr-success-solid-hover\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-success-solid` под курсором.\",\n \"values\": {\n \"light\": \"#036c4d\",\n \"dark\": \"#036c4d\"\n }\n },\n {\n \"name\": \"--gr-success-solid-active\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-success-solid` в момент нажатия.\",\n \"values\": {\n \"light\": \"#025f44\",\n \"dark\": \"#025f44\"\n }\n },\n {\n \"name\": \"--gr-success-solid-fg\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Текст и иконки на заливке `--gr-success-solid`.\",\n \"values\": {\n \"light\": \"var(--gr-slate-0)\",\n \"dark\": \"var(--gr-slate-50)\"\n }\n },\n {\n \"name\": \"--gr-warning-solid\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Сплошная заливка кнопочного веса тона `warning`.\",\n \"values\": {\n \"light\": \"#c2410c\",\n \"dark\": \"#c2410c\"\n }\n },\n {\n \"name\": \"--gr-warning-solid-hover\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-warning-solid` под курсором.\",\n \"values\": {\n \"light\": \"#b53b0a\",\n \"dark\": \"#b53b0a\"\n }\n },\n {\n \"name\": \"--gr-warning-solid-active\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-warning-solid` в момент нажатия.\",\n \"values\": {\n \"light\": \"#9f3307\",\n \"dark\": \"#9f3307\"\n }\n },\n {\n \"name\": \"--gr-warning-solid-fg\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Текст и иконки на заливке `--gr-warning-solid`.\",\n \"values\": {\n \"light\": \"var(--gr-slate-0)\",\n \"dark\": \"var(--gr-slate-50)\"\n }\n },\n {\n \"name\": \"--gr-danger-solid\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Сплошная заливка кнопочного веса тона `danger`.\",\n \"values\": {\n \"light\": \"var(--gr-danger)\",\n \"dark\": \"#b91c1c\"\n }\n },\n {\n \"name\": \"--gr-danger-solid-hover\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-danger-solid` под курсором.\",\n \"values\": {\n \"light\": \"var(--gr-danger-hover)\",\n \"dark\": \"#a91919\"\n }\n },\n {\n \"name\": \"--gr-danger-solid-active\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-danger-solid` в момент нажатия.\",\n \"values\": {\n \"light\": \"var(--gr-danger-active)\",\n \"dark\": \"#931515\"\n }\n },\n {\n \"name\": \"--gr-danger-solid-fg\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Текст и иконки на заливке `--gr-danger-solid`.\",\n \"values\": {\n \"light\": \"var(--gr-danger-fg)\",\n \"dark\": \"var(--gr-slate-50)\"\n }\n },\n {\n \"name\": \"--gr-info-solid\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Сплошная заливка кнопочного веса тона `info`.\",\n \"values\": {\n \"light\": \"var(--gr-info)\",\n \"dark\": \"#1d4ed8\"\n }\n },\n {\n \"name\": \"--gr-info-solid-hover\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-info-solid` под курсором.\",\n \"values\": {\n \"light\": \"var(--gr-info-hover)\",\n \"dark\": \"#1e40af\"\n }\n },\n {\n \"name\": \"--gr-info-solid-active\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-info-solid` в момент нажатия.\",\n \"values\": {\n \"light\": \"var(--gr-info-active)\",\n \"dark\": \"#1e3a8a\"\n }\n },\n {\n \"name\": \"--gr-info-solid-fg\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Текст и иконки на заливке `--gr-info-solid`.\",\n \"values\": {\n \"light\": \"var(--gr-info-fg)\",\n \"dark\": \"var(--gr-slate-50)\"\n }\n },\n {\n \"name\": \"--gr-slate-solid\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Сплошная заливка кнопочного веса тона `slate`.\",\n \"values\": {\n \"light\": \"var(--gr-slate)\",\n \"dark\": \"var(--gr-slate-600)\"\n }\n },\n {\n \"name\": \"--gr-slate-solid-hover\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-slate-solid` под курсором.\",\n \"values\": {\n \"light\": \"var(--gr-slate-hover)\",\n \"dark\": \"var(--gr-slate-700)\"\n }\n },\n {\n \"name\": \"--gr-slate-solid-active\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-slate-solid` в момент нажатия.\",\n \"values\": {\n \"light\": \"var(--gr-slate-active)\",\n \"dark\": \"var(--gr-slate-800)\"\n }\n },\n {\n \"name\": \"--gr-slate-solid-fg\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Текст и иконки на заливке `--gr-slate-solid`.\",\n \"values\": {\n \"light\": \"var(--gr-slate-fg)\",\n \"dark\": \"var(--gr-slate-50)\"\n }\n },\n {\n \"name\": \"--gr-azure-solid\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Сплошная заливка кнопочного веса тона `azure`.\",\n \"values\": {\n \"light\": \"#0369a1\",\n \"dark\": \"#0369a1\"\n }\n },\n {\n \"name\": \"--gr-azure-solid-hover\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-azure-solid` под курсором.\",\n \"values\": {\n \"light\": \"#075985\",\n \"dark\": \"#075985\"\n }\n },\n {\n \"name\": \"--gr-azure-solid-active\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-azure-solid` в момент нажатия.\",\n \"values\": {\n \"light\": \"#0c4a6e\",\n \"dark\": \"#0c4a6e\"\n }\n },\n {\n \"name\": \"--gr-azure-solid-fg\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Текст и иконки на заливке `--gr-azure-solid`.\",\n \"values\": {\n \"light\": \"var(--gr-slate-0)\",\n \"dark\": \"var(--gr-slate-50)\"\n }\n },\n {\n \"name\": \"--gr-chart-1\",\n \"section\": \"Data visualization roles\",\n \"description\": \"Первый цвет серии для графиков и data-visualization элементов.\",\n \"values\": {\n \"light\": \"#4f46e5\",\n \"dark\": \"#6366f1\"\n }\n },\n {\n \"name\": \"--gr-chart-2\",\n \"section\": \"Data visualization roles\",\n \"description\": \"Второй цвет серии для графиков и data-visualization элементов.\",\n \"values\": {\n \"light\": \"#10b981\",\n \"dark\": \"#34d399\"\n }\n },\n {\n \"name\": \"--gr-chart-3\",\n \"section\": \"Data visualization roles\",\n \"description\": \"Третий цвет серии для графиков и data-visualization элементов.\",\n \"values\": {\n \"light\": \"#f97316\",\n \"dark\": \"#fb923c\"\n }\n },\n {\n \"name\": \"--gr-chart-4\",\n \"section\": \"Data visualization roles\",\n \"description\": \"Четвёртый цвет серии для графиков и data-visualization элементов.\",\n \"values\": {\n \"light\": \"#6366f1\",\n \"dark\": \"#818cf8\"\n }\n },\n {\n \"name\": \"--gr-chart-5\",\n \"section\": \"Data visualization roles\",\n \"description\": \"Пятый цвет серии для графиков и data-visualization элементов.\",\n \"values\": {\n \"light\": \"#8b5cf6\",\n \"dark\": \"#a78bfa\"\n }\n },\n {\n \"name\": \"--gr-sidebar\",\n \"section\": \"Navigation roles\",\n \"description\": \"Фон sidebar/navigation rail области текущей темы.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#1e293b\"\n }\n },\n {\n \"name\": \"--gr-sidebar-fg\",\n \"section\": \"Navigation roles\",\n \"description\": \"Основной текст и иконки внутри sidebar.\",\n \"values\": {\n \"light\": \"#0f172a\",\n \"dark\": \"#f8fafc\"\n }\n },\n {\n \"name\": \"--gr-sidebar-primary\",\n \"section\": \"Navigation roles\",\n \"description\": \"Акцентный цвет активных/ключевых элементов внутри sidebar.\",\n \"values\": {\n \"light\": \"#4f46e5\",\n \"dark\": \"#6365f0\"\n }\n },\n {\n \"name\": \"--gr-sidebar-primary-fg\",\n \"section\": \"Navigation roles\",\n \"description\": \"Контрастный текст поверх sidebar primary-акцентов.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#ffffff\"\n }\n },\n {\n \"name\": \"--gr-sidebar-accent\",\n \"section\": \"Navigation roles\",\n \"description\": \"Мягкий accent-фон для hover/selected состояний в sidebar.\",\n \"values\": {\n \"light\": \"#f1f5f9\",\n \"dark\": \"#334155\"\n }\n },\n {\n \"name\": \"--gr-sidebar-accent-fg\",\n \"section\": \"Navigation roles\",\n \"description\": \"Цвет текста поверх sidebar accent-подложек.\",\n \"values\": {\n \"light\": \"#1e293b\",\n \"dark\": \"#f1f5f9\"\n }\n },\n {\n \"name\": \"--gr-sidebar-brd\",\n \"section\": \"Navigation roles\",\n \"description\": \"Бордеры и разделители sidebar-области.\",\n \"values\": {\n \"light\": \"#e2e8f0\",\n \"dark\": \"#334155\"\n }\n },\n {\n \"name\": \"--gr-sidebar-ring\",\n \"section\": \"Navigation roles\",\n \"description\": \"Focus-ring для интерактивных элементов внутри sidebar.\",\n \"values\": {\n \"light\": \"#6366f1\",\n \"dark\": \"#818cf8\"\n }\n }\n]\n\nexport const grComponentTokens: GrComponentToken[] = [\n {\n \"owner\": \"GrAlert\",\n \"name\": \"--gr-alert-bg\",\n \"kind\": \"inline\",\n \"default\": \"подложка тона (`--gr-<tone>-light`)\",\n \"description\": \"Фон полосы уведомления.\"\n },\n {\n \"owner\": \"GrAlert\",\n \"name\": \"--gr-alert-brd\",\n \"kind\": \"inline\",\n \"default\": \"подмес тона к подложке\",\n \"description\": \"Цвет рамки уведомления.\"\n },\n {\n \"owner\": \"GrAlert\",\n \"name\": \"--gr-alert-text-color\",\n \"kind\": \"inline\",\n \"default\": \"`--gr-<tone>-text`\",\n \"description\": \"Цвет основного текста уведомления.\"\n },\n {\n \"owner\": \"GrAlert\",\n \"name\": \"--gr-alert-title-color\",\n \"kind\": \"inline\",\n \"default\": \"`--gr-<tone>-text`\",\n \"description\": \"Цвет заголовка уведомления.\"\n },\n {\n \"owner\": \"GrAlert\",\n \"name\": \"--gr-alert-icon-color\",\n \"kind\": \"inline\",\n \"default\": \"насыщенный тон (`--gr-<tone>`)\",\n \"description\": \"Цвет иконки тона слева от текста.\"\n },\n {\n \"owner\": \"GrAlert\",\n \"name\": \"--gr-alert-close-color\",\n \"kind\": \"inline\",\n \"default\": \"`--gr-<tone>-text`\",\n \"description\": \"Цвет кнопки закрытия в покое.\"\n },\n {\n \"owner\": \"GrAlert\",\n \"name\": \"--gr-alert-close-hover-color\",\n \"kind\": \"inline\",\n \"default\": \"`--gr-<tone>-text`\",\n \"description\": \"Цвет кнопки закрытия под курсором.\"\n },\n {\n \"owner\": \"GrAlert\",\n \"name\": \"--gr-alert-close-hover-bg\",\n \"kind\": \"inline\",\n \"default\": \"подмес тона к подложке\",\n \"description\": \"Фон кнопки закрытия под курсором.\"\n },\n {\n \"owner\": \"GrAvatar\",\n \"name\": \"--gr-avatar-square-radius\",\n \"kind\": \"hook\",\n \"default\": \"10px\",\n \"description\": \"Скругление аватара в форме `square`. Не ступень общей шкалы: квадратный аватар мягче плитки, но жёстче чипа.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-semi-radius-xs\",\n \"kind\": \"hook\",\n \"default\": \"3px\",\n \"description\": \"Скругление бейджа `radius=\\\"semi\\\"` на ступени `xs`.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-semi-radius-sm\",\n \"kind\": \"hook\",\n \"default\": \"3px\",\n \"description\": \"Скругление бейджа `radius=\\\"semi\\\"` на ступени `sm`.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-semi-radius-md\",\n \"kind\": \"hook\",\n \"default\": \"5px\",\n \"description\": \"Скругление бейджа `radius=\\\"semi\\\"` на ступени `md`.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-semi-radius-lg\",\n \"kind\": \"hook\",\n \"default\": \"7px\",\n \"description\": \"Скругление бейджа `radius=\\\"semi\\\"` на ступени `lg`. Лестница 3/3/5/7 своя: бейдж скругляется медленнее, чем растёт.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-neutral-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-fg)\",\n \"description\": \"Заливка filled-бейджа нейтрального веса — инверсия страницы. В светлой теме — вес solid-кнопки, в тёмной — роль тона.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-neutral-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-bg)\",\n \"description\": \"Текст filled-бейджа нейтрального веса — инверсия страницы: полярность задаётся темой, а не заливкой.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-primary-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-primary-solid)\",\n \"description\": \"Заливка filled-бейджа тона `primary`. В светлой теме — вес solid-кнопки, в тёмной — роль тона.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-primary-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-primary-solid-fg)\",\n \"description\": \"Текст filled-бейджа тона `primary`: полярность задаётся темой, а не заливкой.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-success-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-success-solid)\",\n \"description\": \"Заливка filled-бейджа тона `success`. В светлой теме — вес solid-кнопки, в тёмной — роль тона.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-success-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-success-solid-fg)\",\n \"description\": \"Текст filled-бейджа тона `success`: полярность задаётся темой, а не заливкой.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-warning-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-warning-solid)\",\n \"description\": \"Заливка filled-бейджа тона `warning`. В светлой теме — вес solid-кнопки, в тёмной — роль тона.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-warning-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-warning-solid-fg)\",\n \"description\": \"Текст filled-бейджа тона `warning`: полярность задаётся темой, а не заливкой.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-danger-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-danger-solid)\",\n \"description\": \"Заливка filled-бейджа тона `danger`. В светлой теме — вес solid-кнопки, в тёмной — роль тона.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-danger-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-danger-solid-fg)\",\n \"description\": \"Текст filled-бейджа тона `danger`: полярность задаётся темой, а не заливкой.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-info-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-info-solid)\",\n \"description\": \"Заливка filled-бейджа тона `info`. В светлой теме — вес solid-кнопки, в тёмной — роль тона.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-info-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-info-solid-fg)\",\n \"description\": \"Текст filled-бейджа тона `info`: полярность задаётся темой, а не заливкой.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-slate-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-slate-solid)\",\n \"description\": \"Заливка filled-бейджа тона `slate`. В светлой теме — вес solid-кнопки, в тёмной — роль тона.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-slate-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-slate-solid-fg)\",\n \"description\": \"Текст filled-бейджа тона `slate`: полярность задаётся темой, а не заливкой.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-azure-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-azure-solid)\",\n \"description\": \"Заливка filled-бейджа тона `azure`. В светлой теме — вес solid-кнопки, в тёмной — роль тона.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-azure-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-azure-solid-fg)\",\n \"description\": \"Текст filled-бейджа тона `azure`: полярность задаётся темой, а не заливкой.\"\n },\n {\n \"owner\": \"GrBadgeWrap\",\n \"name\": \"--gr-badge-wrap-offset-x\",\n \"kind\": \"hook\",\n \"default\": \"-0.5rem (для `dot` — -0.25rem)\",\n \"description\": \"Горизонтальный сдвиг метки относительно угла обёртки.\"\n },\n {\n \"owner\": \"GrBadgeWrap\",\n \"name\": \"--gr-badge-wrap-offset-y\",\n \"kind\": \"hook\",\n \"default\": \"-0.5rem (для `dot` — -0.25rem)\",\n \"description\": \"Вертикальный сдвиг метки относительно угла обёртки.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-radius\",\n \"kind\": \"hook\",\n \"default\": \"0.375rem\",\n \"description\": \"Скругление кнопки. Его же по умолчанию наследуют внешние углы `GrButtonGroup`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-square-size\",\n \"kind\": \"hook\",\n \"default\": \"высота кнопки текущей ступени\",\n \"description\": \"Сторона квадратной кнопки (`square`): иконка без подписи обязана остаться квадратом на любой ступени.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-primary-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-primary-solid)\",\n \"description\": \"Заливка solid-кнопки тона `primary`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-primary-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-primary-solid-hover)\",\n \"description\": \"Заливка solid-кнопки тона `primary` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-primary-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-primary-solid-active)\",\n \"description\": \"Заливка solid-кнопки тона `primary` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-primary-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-primary-solid-fg)\",\n \"description\": \"Цвет текста на solid-кнопке тона `primary`. Приходит из `--gr-primary-solid-fg`: заливка кнопки рассчитана нести светлый текст, и глобальный `-fg` тона на ней не подходит.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-primary-soft-bg\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-primary) 14%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `primary`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-primary-soft-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-primary) 18%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `primary` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-primary-soft-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-primary) 24%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `primary` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-success-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-success-solid)\",\n \"description\": \"Заливка solid-кнопки тона `success`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-success-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-success-solid-hover)\",\n \"description\": \"Заливка solid-кнопки тона `success` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-success-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-success-solid-active)\",\n \"description\": \"Заливка solid-кнопки тона `success` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-success-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-success-solid-fg)\",\n \"description\": \"Цвет текста на solid-кнопке тона `success`. Приходит из `--gr-success-solid-fg`: заливка кнопки рассчитана нести светлый текст, и глобальный `-fg` тона на ней не подходит.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-success-soft-bg\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-success) 14%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `success`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-success-soft-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-success) 18%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `success` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-success-soft-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-success) 24%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `success` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-warning-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-warning-solid)\",\n \"description\": \"Заливка solid-кнопки тона `warning`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-warning-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-warning-solid-hover)\",\n \"description\": \"Заливка solid-кнопки тона `warning` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-warning-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-warning-solid-active)\",\n \"description\": \"Заливка solid-кнопки тона `warning` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-warning-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-warning-solid-fg)\",\n \"description\": \"Цвет текста на solid-кнопке тона `warning`. Приходит из `--gr-warning-solid-fg`: заливка кнопки рассчитана нести светлый текст, и глобальный `-fg` тона на ней не подходит.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-warning-soft-bg\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-warning) 14%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `warning`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-warning-soft-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-warning) 18%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `warning` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-warning-soft-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-warning) 24%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `warning` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-danger-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-danger-solid)\",\n \"description\": \"Заливка solid-кнопки тона `danger`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-danger-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-danger-solid-hover)\",\n \"description\": \"Заливка solid-кнопки тона `danger` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-danger-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-danger-solid-active)\",\n \"description\": \"Заливка solid-кнопки тона `danger` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-danger-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-danger-solid-fg)\",\n \"description\": \"Цвет текста на solid-кнопке тона `danger`. Приходит из `--gr-danger-solid-fg`: заливка кнопки рассчитана нести светлый текст, и глобальный `-fg` тона на ней не подходит.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-danger-soft-bg\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-danger) 14%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `danger`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-danger-soft-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-danger) 18%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `danger` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-danger-soft-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-danger) 24%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `danger` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-info-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-info-solid)\",\n \"description\": \"Заливка solid-кнопки тона `info`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-info-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-info-solid-hover)\",\n \"description\": \"Заливка solid-кнопки тона `info` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-info-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-info-solid-active)\",\n \"description\": \"Заливка solid-кнопки тона `info` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-info-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-info-solid-fg)\",\n \"description\": \"Цвет текста на solid-кнопке тона `info`. Приходит из `--gr-info-solid-fg`: заливка кнопки рассчитана нести светлый текст, и глобальный `-fg` тона на ней не подходит.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-info-soft-bg\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-info) 14%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `info`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-info-soft-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-info) 18%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `info` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-info-soft-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-info) 24%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `info` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-slate-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-slate-solid)\",\n \"description\": \"Заливка solid-кнопки тона `slate`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-slate-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-slate-solid-hover)\",\n \"description\": \"Заливка solid-кнопки тона `slate` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-slate-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-slate-solid-active)\",\n \"description\": \"Заливка solid-кнопки тона `slate` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-slate-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-slate-solid-fg)\",\n \"description\": \"Цвет текста на solid-кнопке тона `slate`. Приходит из `--gr-slate-solid-fg`: заливка кнопки рассчитана нести светлый текст, и глобальный `-fg` тона на ней не подходит.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-slate-soft-bg\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-slate) 14%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `slate`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-slate-soft-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-slate) 18%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `slate` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-slate-soft-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-slate) 24%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `slate` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-azure-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-azure-solid)\",\n \"description\": \"Заливка solid-кнопки тона `azure`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-azure-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-azure-solid-hover)\",\n \"description\": \"Заливка solid-кнопки тона `azure` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-azure-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-azure-solid-active)\",\n \"description\": \"Заливка solid-кнопки тона `azure` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-azure-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-azure-solid-fg)\",\n \"description\": \"Цвет текста на solid-кнопке тона `azure`. Приходит из `--gr-azure-solid-fg`: заливка кнопки рассчитана нести светлый текст, и глобальный `-fg` тона на ней не подходит.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-azure-soft-bg\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-azure) 14%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `azure`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-azure-soft-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-azure) 18%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `azure` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-azure-soft-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-azure) 24%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `azure` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-disabled-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-disabled-bg)\",\n \"description\": \"Заливка недоступной кнопки: она гасится поверхностью, а не прозрачностью. Ссылка на общую роль — недоступное во всём пакете перекрашивается одним местом.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-disabled-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-disabled-fg)\",\n \"description\": \"Цвет текста недоступной кнопки. Ссылка на общую роль недоступного состояния.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-disabled-brd\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-disabled-brd)\",\n \"description\": \"Цвет рамки недоступной кнопки. Ссылка на общую роль недоступного состояния.\"\n },\n {\n \"owner\": \"GrButtonGroup\",\n \"name\": \"--gr-button-group-radius\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-button-radius, 0.375rem)\",\n \"description\": \"Скругление внешних углов группы. По умолчанию наследует радиус кнопки — внутренние углы группа гасит сама.\"\n },\n {\n \"owner\": \"GrCodeBlock\",\n \"name\": \"--gr-code-block-bg\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted)\",\n \"description\": \"Фон блока кода.\"\n },\n {\n \"owner\": \"GrCodeBlock\",\n \"name\": \"--gr-code-block-fg\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-fg)\",\n \"description\": \"Цвет обычного текста и пунктуации внутри блока.\"\n },\n {\n \"owner\": \"GrCodeBlock\",\n \"name\": \"--gr-code-block-key\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-primary-text)\",\n \"description\": \"Цвет имени поля JSON. Ключ отличается от строки только идущим следом двоеточием, поэтому цвет — единственное, чем они различимы глазом.\"\n },\n {\n \"owner\": \"GrCodeBlock\",\n \"name\": \"--gr-code-block-string\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-success-text)\",\n \"description\": \"Цвет строкового значения.\"\n },\n {\n \"owner\": \"GrCodeBlock\",\n \"name\": \"--gr-code-block-number\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-azure-text)\",\n \"description\": \"Цвет числа. Взят от `azure`, а не от `info`: `info` — синий в двух шагах от индиго `primary`, и пара «ключ ↔ число» сливалась бы в `{\\\"count\\\": 42}`.\"\n },\n {\n \"owner\": \"GrCodeBlock\",\n \"name\": \"--gr-code-block-literal\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-warning-text)\",\n \"description\": \"Цвет литералов `true`, `false`, `null`.\"\n },\n {\n \"owner\": \"GrCodeBlock\",\n \"name\": \"--gr-code-block-line-number\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет номера строки. Номер рисуется CSS-счётчиком и текстом в разметке не существует — в выделение мышью он не попадает.\"\n },\n {\n \"owner\": \"GrCodeBlock\",\n \"name\": \"--gr-code-block-line-number-width\",\n \"kind\": \"hook\",\n \"default\": \"2.5em\",\n \"description\": \"Ширина колонки номеров. В `em`, а не в пикселях: колонка обязана следовать за кеглем блока. Ответ на тысячу строк требует четырёх знаков — тогда её расширяют.\"\n },\n {\n \"owner\": \"GrColorPicker\",\n \"name\": \"--gr-color-picker-checker-size\",\n \"kind\": \"hook\",\n \"default\": \"6px\",\n \"description\": \"Сторона клетки шахматной подложки под прозрачным цветом.\"\n },\n {\n \"owner\": \"GrColorPicker\",\n \"name\": \"--gr-color-picker-checker-light\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-bg)\",\n \"description\": \"Светлая клетка шахматной подложки.\"\n },\n {\n \"owner\": \"GrColorPicker\",\n \"name\": \"--gr-color-picker-checker-dark\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted)\",\n \"description\": \"Тёмная клетка шахматной подложки.\"\n },\n {\n \"owner\": \"GrColorPicker\",\n \"name\": \"--gr-color-picker-track-hue\",\n \"kind\": \"inline\",\n \"default\": \"радуга по кругу оттенков\",\n \"description\": \"Градиент дорожки оттенка. Задаётся компонентом: через `--gr-slider-rail` градиент не подать — хук уходит в `background-color`.\"\n },\n {\n \"owner\": \"GrColorPicker\",\n \"name\": \"--gr-color-picker-track-saturation\",\n \"kind\": \"inline\",\n \"default\": \"от серого к насыщенному при текущих оттенке и светлоте\",\n \"description\": \"Градиент дорожки насыщенности.\"\n },\n {\n \"owner\": \"GrColorPicker\",\n \"name\": \"--gr-color-picker-track-lightness\",\n \"kind\": \"inline\",\n \"default\": \"от чёрного через текущий цвет к белому\",\n \"description\": \"Градиент дорожки светлоты.\"\n },\n {\n \"owner\": \"GrColorPicker\",\n \"name\": \"--gr-color-picker-track-alpha\",\n \"kind\": \"inline\",\n \"default\": \"от прозрачного к текущему цвету\",\n \"description\": \"Градиент дорожки прозрачности.\"\n },\n {\n \"owner\": \"GrCommandPalette\",\n \"name\": \"--gr-command-active-bg\",\n \"kind\": \"hook\",\n \"default\": \"color-mix(in srgb, var(--gr-muted) 45%, transparent)\",\n \"description\": \"Фон активного пункта палитры (наведение и клавиатурный курсор).\"\n },\n {\n \"owner\": \"GrCommandPalette\",\n \"name\": \"--gr-command-match-bg\",\n \"kind\": \"hook\",\n \"default\": \"color-mix(in srgb, var(--gr-primary) 22%, transparent)\",\n \"description\": \"Подсветка совпавшей подстроки в подписи пункта.\"\n },\n {\n \"owner\": \"GrCommandPalette\",\n \"name\": \"--gr-command-item-radius\",\n \"kind\": \"hook\",\n \"default\": \"10px\",\n \"description\": \"Скругление пункта палитры.\"\n },\n {\n \"owner\": \"GrCommandPalette\",\n \"name\": \"--gr-command-input-font-size\",\n \"kind\": \"hook\",\n \"default\": \"15px\",\n \"description\": \"Кегль строки поиска: крупнее пунктов списка, потому что это единственное поле ввода в оверлее.\"\n },\n {\n \"owner\": \"GrCommandPalette\",\n \"name\": \"--gr-command-list-max-height\",\n \"kind\": \"hook\",\n \"default\": \"значение пропа `maxHeight` в пикселях\",\n \"description\": \"Максимальная высота списка; дальше список скроллится.\"\n },\n {\n \"owner\": \"GrDataTable\",\n \"name\": \"--gr-datatable-drag-handle\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет ручки перестановки колонки.\"\n },\n {\n \"owner\": \"GrDataTable\",\n \"name\": \"--gr-datatable-drag-indicator\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-primary)\",\n \"description\": \"Цвет полосы, показывающей место вставки колонки.\"\n },\n {\n \"owner\": \"GrDataTable\",\n \"name\": \"--gr-datatable-drag-indicator-width\",\n \"kind\": \"hook\",\n \"default\": \"2px\",\n \"description\": \"Толщина полосы места вставки колонки.\"\n },\n {\n \"owner\": \"GrDataTable\",\n \"name\": \"--gr-datatable-resizer\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-primary)\",\n \"description\": \"Цвет полосы изменения ширины колонки.\"\n },\n {\n \"owner\": \"GrDataTable\",\n \"name\": \"--gr-datatable-resizer-width\",\n \"kind\": \"hook\",\n \"default\": \"2px\",\n \"description\": \"Толщина полосы изменения ширины колонки.\"\n },\n {\n \"owner\": \"GrDataTable\",\n \"name\": \"--gr-datatable-pinned-shadow\",\n \"kind\": \"hook\",\n \"default\": \"4px 0 6px -4px rgba(0, 0, 0, 0.25)\",\n \"description\": \"Тень на границе группы колонок, закреплённых слева.\"\n },\n {\n \"owner\": \"GrDataTable\",\n \"name\": \"--gr-datatable-pinned-shadow-end\",\n \"kind\": \"hook\",\n \"default\": \"-4px 0 6px -4px rgba(0, 0, 0, 0.25)\",\n \"description\": \"Тень на границе группы колонок, закреплённых справа.\"\n },\n {\n \"owner\": \"GrDescriptionList\",\n \"name\": \"--gr-description-list-label-color\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет подписи (`<dt>`). Тон задаётся только значению, поэтому подпись перекрашивается отдельно.\"\n },\n {\n \"owner\": \"GrDescriptionList\",\n \"name\": \"--gr-description-list-row-gap\",\n \"kind\": \"hook\",\n \"default\": \"0.375rem (`density=\\\"compact\\\"` — 0.125rem)\",\n \"description\": \"Зазор между парами. Не ступень общей шкалы: плотность списка характеристик настраивается отдельно от отступов раскладки.\"\n },\n {\n \"owner\": \"GrDescriptionList\",\n \"name\": \"--gr-description-list-divider\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-brd)\",\n \"description\": \"Цвет линии между парами при `divided`.\"\n },\n {\n \"owner\": \"GrDivider\",\n \"name\": \"--gr-divider-thickness\",\n \"kind\": \"hook\",\n \"default\": \"1px\",\n \"description\": \"Толщина разделителя — общая для горизонтального и вертикального.\"\n },\n {\n \"owner\": \"GrFilePreview\",\n \"name\": \"--gr-file-preview-bg\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted)\",\n \"description\": \"Фон плитки. Виден у заглушки целиком, а у картинки — по краям при несовпадении пропорций; на время загрузки место занимает скелет.\"\n },\n {\n \"owner\": \"GrFilePreview\",\n \"name\": \"--gr-file-preview-icon\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет иконки вида файла и подписи под ней.\"\n },\n {\n \"owner\": \"GrFilePreview\",\n \"name\": \"--gr-file-preview-radius\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-radius-md)\",\n \"description\": \"Скругление плитки. Отдельный хук, а не ступень общей шкалы: плитка в ленте документов и плитка в строке списка скругляются по-разному.\"\n },\n {\n \"owner\": \"GrIcon\",\n \"name\": \"--gr-icon-size\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-icon-size-md, 18px)\",\n \"description\": \"Итоговый размер иконки. И обёртка, и вложенный SVG считают себя от него, поэтому размер задаётся одной переменной, а не пропами разметки.\"\n },\n {\n \"owner\": \"GrImageViewer\",\n \"name\": \"--gr-image-viewer-scrim\",\n \"kind\": \"theme\",\n \"default\": \"rgb(0 0 0 / 0.6)\",\n \"description\": \"Затемнение под кадром. Плотнее общего `--gr-overlay-bg`: рядом с фотографией подложка обязана убрать фон целиком, а не приглушить его.\"\n },\n {\n \"owner\": \"GrImageViewer\",\n \"name\": \"--gr-image-viewer-chrome-bg\",\n \"kind\": \"theme\",\n \"default\": \"rgb(0 0 0 / 0.35)\",\n \"description\": \"Фон панелей управления просмотрщика.\"\n },\n {\n \"owner\": \"GrImageViewer\",\n \"name\": \"--gr-image-viewer-chrome-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"rgb(0 0 0 / 0.55)\",\n \"description\": \"Фон кнопки хрома под курсором.\"\n },\n {\n \"owner\": \"GrImageViewer\",\n \"name\": \"--gr-image-viewer-chrome-bg-soft\",\n \"kind\": \"theme\",\n \"default\": \"rgb(255 255 255 / 0.1)\",\n \"description\": \"Мягкая подложка внутри хрома — счётчик кадров, шкала масштаба.\"\n },\n {\n \"owner\": \"GrImageViewer\",\n \"name\": \"--gr-image-viewer-chrome-fg\",\n \"kind\": \"theme\",\n \"default\": \"rgb(255 255 255 / 0.95)\",\n \"description\": \"Основной цвет текста и иконок хрома.\"\n },\n {\n \"owner\": \"GrImageViewer\",\n \"name\": \"--gr-image-viewer-chrome-fg-muted\",\n \"kind\": \"theme\",\n \"default\": \"rgb(255 255 255 / 0.8)\",\n \"description\": \"Приглушённый текст хрома — подписи и вторичные значения.\"\n },\n {\n \"owner\": \"GrImageViewer\",\n \"name\": \"--gr-image-viewer-chrome-brd\",\n \"kind\": \"theme\",\n \"default\": \"rgb(255 255 255 / 0.2)\",\n \"description\": \"Цвет рамок внутри хрома.\"\n },\n {\n \"owner\": \"GrImageViewer\",\n \"name\": \"--gr-image-viewer-ring\",\n \"kind\": \"theme\",\n \"default\": \"rgb(255 255 255 / 0.8)\",\n \"description\": \"Focus-ring внутри просмотрщика: общий `--gr-ring` на тёмном хроме не читается.\"\n },\n {\n \"owner\": \"GrLink\",\n \"name\": \"--gr-link-color\",\n \"kind\": \"inline\",\n \"default\": \"`-text`-роль выбранного тона\",\n \"description\": \"Цвет ссылки в покое.\"\n },\n {\n \"owner\": \"GrLink\",\n \"name\": \"--gr-link-color-hover\",\n \"kind\": \"inline\",\n \"default\": \"подмес `--gr-fg` 8% к базовому цвету\",\n \"description\": \"Цвет ссылки под курсором.\"\n },\n {\n \"owner\": \"GrLink\",\n \"name\": \"--gr-link-color-active\",\n \"kind\": \"inline\",\n \"default\": \"подмес `--gr-fg` 16% к базовому цвету\",\n \"description\": \"Цвет ссылки в момент нажатия.\"\n },\n {\n \"owner\": \"GrNavbar\",\n \"name\": \"--gr-navbar-height\",\n \"kind\": \"hook\",\n \"default\": \"56px\",\n \"description\": \"Высота шапки. Ею же считается отступ содержимого под прилипшей шапкой.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-primary)\",\n \"description\": \"Заливка полосы прогресса по умолчанию.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-neutral-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-secondary)\",\n \"description\": \"Заливка полосы тона `neutral`.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-success-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-success)\",\n \"description\": \"Заливка полосы тона `success`.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-warning-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-warning)\",\n \"description\": \"Заливка полосы тона `warning`.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-danger-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-danger)\",\n \"description\": \"Заливка полосы тона `danger`.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-info-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-info)\",\n \"description\": \"Заливка полосы тона `info`.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-slate-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-slate)\",\n \"description\": \"Заливка полосы тона `slate`.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-azure-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-azure)\",\n \"description\": \"Заливка полосы тона `azure`.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-buffer-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-brd)\",\n \"description\": \"Слой буфера позади заливки. Тон не наследует: нейтральный слой между треком и заливкой читается у всех восьми тонов.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-indeterminate-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Заливка неопределённого режима под `prefers-reduced-motion: reduce`, когда бегущая полоса остановлена.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-indeterminate-duration\",\n \"kind\": \"hook\",\n \"default\": \"1.4s\",\n \"description\": \"Период пробега полосы в неопределённом режиме.\"\n },\n {\n \"owner\": \"GrProgressCircle\",\n \"name\": \"--gr-progress-circle-size\",\n \"kind\": \"hook\",\n \"default\": \"2rem / 3rem / 4rem / 6rem по ступеням `xs…lg`\",\n \"description\": \"Диаметр кольца. Геометрия дуги считается в единицах `viewBox`, поэтому масштаб можно менять свободно.\"\n },\n {\n \"owner\": \"GrProgressCircle\",\n \"name\": \"--gr-progress-circle-track\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted)\",\n \"description\": \"Цвет дорожки — непройденной части кольца.\"\n },\n {\n \"owner\": \"GrProgressCircle\",\n \"name\": \"--gr-progress-circle-cap\",\n \"kind\": \"hook\",\n \"default\": \"round\",\n \"description\": \"Торец дуги значения: `round` или `butt` для строгой шкалы.\"\n },\n {\n \"owner\": \"GrProgressCircle\",\n \"name\": \"--gr-progress-circle-value-size\",\n \"kind\": \"hook\",\n \"default\": \"кегль по ступени `size`\",\n \"description\": \"Кегль содержимого в центре кольца: свой формат значения может не влезть в дефолтный.\"\n },\n {\n \"owner\": \"GrRating\",\n \"name\": \"--gr-rating-color\",\n \"kind\": \"hook\",\n \"default\": \"насыщенный тон (`--gr-<tone>`)\",\n \"description\": \"Цвет заполненного символа. Перекрывает тон точечно, не трогая остальные компоненты.\"\n },\n {\n \"owner\": \"GrRating\",\n \"name\": \"--gr-rating-void-color\",\n \"kind\": \"hook\",\n \"default\": \"color-mix(in srgb, var(--gr-muted-fg) 35%, transparent)\",\n \"description\": \"Цвет незаполненного символа: шкала обязана читаться целиком, а не только заполненной частью.\"\n },\n {\n \"owner\": \"GrRating\",\n \"name\": \"--gr-rating-symbol-size\",\n \"kind\": \"hook\",\n \"default\": \"0.875rem / 1rem / 1.25rem / 1.5rem по ступеням `xs…lg`\",\n \"description\": \"Размер символа шкалы.\"\n },\n {\n \"owner\": \"GrRating\",\n \"name\": \"--gr-rating-font-size-lg\",\n \"kind\": \"hook\",\n \"default\": \"15px\",\n \"description\": \"Кегль подписи на ступени `lg`: между `md` и `lg` шкалы контролов.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-track-bg\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-muted); в варианте `solid` — var(--gr-card)\",\n \"description\": \"Фон дорожки переключателя.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-track-brd\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-brd)\",\n \"description\": \"Цвет рамки дорожки.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-track-shadow\",\n \"kind\": \"inline\",\n \"default\": \"none; в варианте `solid` — var(--gr-shadow-1)\",\n \"description\": \"Тень дорожки.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-indicator-bg\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-card); в варианте `primary` — var(--gr-primary)\",\n \"description\": \"Заливка бегунка под выбранным пунктом.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-indicator-brd\",\n \"kind\": \"inline\",\n \"default\": \"подмес `--gr-fg` к фону дорожки\",\n \"description\": \"Цвет рамки бегунка.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-indicator-shadow\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-shadow-1); в варианте `solid` — var(--gr-shadow-2)\",\n \"description\": \"Тень бегунка — она отделяет его от дорожки.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-indicator-highlight-shadow\",\n \"kind\": \"hook\",\n \"default\": \"0 0 0 0 transparent\",\n \"description\": \"Дополнительная подсветка бегунка: по умолчанию выключена, включается темой поверх основной тени.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-item-color\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет невыбранного пункта.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-item-hover-color\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-fg)\",\n \"description\": \"Цвет пункта под курсором.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-item-selected-color\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-fg); в варианте `primary` — var(--gr-primary-fg)\",\n \"description\": \"Цвет выбранного пункта.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-item-px\",\n \"kind\": \"inline\",\n \"default\": \"10px / 12px / 14px / 16px по ступеням `xs…lg`\",\n \"description\": \"Горизонтальные поля пункта.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-item-py\",\n \"kind\": \"inline\",\n \"default\": \"4px / 6px / 8px / 10px по ступеням `xs…lg`\",\n \"description\": \"Вертикальные поля пункта.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-min-height\",\n \"kind\": \"inline\",\n \"default\": \"24px / 28px / 40px / 46px по ступеням `xs…lg`\",\n \"description\": \"Минимальная высота дорожки: переключатель обязан вставать в строку с контролами той же ступени.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-padding\",\n \"kind\": \"inline\",\n \"default\": \"4px\",\n \"description\": \"Внутренний отступ дорожки вокруг бегунка.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-radius\",\n \"kind\": \"inline\",\n \"default\": \"9999px\",\n \"description\": \"Скругление дорожки и бегунка.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-font-size\",\n \"kind\": \"inline\",\n \"default\": \"0.75rem / 0.875rem / 0.9375rem по ступеням\",\n \"description\": \"Кегль подписи пункта.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-font-weight\",\n \"kind\": \"inline\",\n \"default\": \"600\",\n \"description\": \"Начертание подписи пункта.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-line-height\",\n \"kind\": \"inline\",\n \"default\": \"1rem / 1.25rem по ступеням\",\n \"description\": \"Межстрочный интервал подписи пункта.\"\n },\n {\n \"owner\": \"GrSlider\",\n \"name\": \"--gr-slider-fill\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-primary)\",\n \"description\": \"Цвет пройденной части трека.\"\n },\n {\n \"owner\": \"GrSlider\",\n \"name\": \"--gr-slider-rail\",\n \"kind\": \"hook\",\n \"default\": \"color-mix(in srgb, var(--gr-muted) 45%, transparent)\",\n \"description\": \"Цвет непройденной части трека.\"\n },\n {\n \"owner\": \"GrSlider\",\n \"name\": \"--gr-slider-track-height\",\n \"kind\": \"hook\",\n \"default\": \"0.1875rem / 0.25rem / 0.375rem / 0.5rem по ступеням `xs…lg`\",\n \"description\": \"Толщина трека.\"\n },\n {\n \"owner\": \"GrSlider\",\n \"name\": \"--gr-slider-thumb-size\",\n \"kind\": \"hook\",\n \"default\": \"0.75rem / 0.875rem / 1rem / 1.25rem по ступеням `xs…lg`\",\n \"description\": \"Диаметр ползунка.\"\n },\n {\n \"owner\": \"GrSlider\",\n \"name\": \"--gr-slider-thumb-bg\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-bg)\",\n \"description\": \"Заливка ползунка.\"\n },\n {\n \"owner\": \"GrSlider\",\n \"name\": \"--gr-slider-thumb-border\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-slider-fill, var(--gr-primary))\",\n \"description\": \"Цвет рамки ползунка. По умолчанию совпадает с заливкой трека.\"\n },\n {\n \"owner\": \"GrSlider\",\n \"name\": \"--gr-slider-length\",\n \"kind\": \"hook\",\n \"default\": \"10rem\",\n \"description\": \"Длина вертикального слайдера: горизонтальный тянется по ширине контейнера, вертикальному нужна явная высота.\"\n },\n {\n \"owner\": \"GrSortableList\",\n \"name\": \"--gr-sortable-handle-size\",\n \"kind\": \"hook\",\n \"default\": \"1.5rem\",\n \"description\": \"Размер ручки переноса.\"\n },\n {\n \"owner\": \"GrSortableList\",\n \"name\": \"--gr-sortable-handle-color\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет ручки переноса.\"\n },\n {\n \"owner\": \"GrSortableList\",\n \"name\": \"--gr-sortable-row-bg-active\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted)\",\n \"description\": \"Фон строки, которую переносят указателем или держат с клавиатуры.\"\n },\n {\n \"owner\": \"GrSortableList\",\n \"name\": \"--gr-sortable-indicator\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-primary)\",\n \"description\": \"Цвет линии, показывающей место вставки.\"\n },\n {\n \"owner\": \"GrSortableList\",\n \"name\": \"--gr-sortable-indicator-width\",\n \"kind\": \"hook\",\n \"default\": \"2px\",\n \"description\": \"Толщина линии места вставки.\"\n },\n {\n \"owner\": \"GrSplitter\",\n \"name\": \"--gr-splitter-size\",\n \"kind\": \"hook\",\n \"default\": \"6px\",\n \"description\": \"Толщина полосы разделителя — ширина её грид-трека.\"\n },\n {\n \"owner\": \"GrSplitter\",\n \"name\": \"--gr-splitter-hit\",\n \"kind\": \"hook\",\n \"default\": \"4px\",\n \"description\": \"Запас зоны захвата с каждой стороны полосы: мишень в шесть пикселей мышью не берётся.\"\n },\n {\n \"owner\": \"GrSplitter\",\n \"name\": \"--gr-splitter-color\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-brd)\",\n \"description\": \"Цвет разделителя в покое.\"\n },\n {\n \"owner\": \"GrSplitter\",\n \"name\": \"--gr-splitter-hover-color\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет разделителя под курсором.\"\n },\n {\n \"owner\": \"GrSplitter\",\n \"name\": \"--gr-splitter-active-color\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-primary)\",\n \"description\": \"Цвет разделителя во время перетаскивания.\"\n },\n {\n \"owner\": \"GrSplitter\",\n \"name\": \"--gr-splitter-grip\",\n \"kind\": \"hook\",\n \"default\": \"24px\",\n \"description\": \"Длина насечки посередине разделителя. `0` убирает её.\"\n },\n {\n \"owner\": \"GrStatistic\",\n \"name\": \"--gr-statistic-title-color\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет подписи над значением.\"\n },\n {\n \"owner\": \"GrStatistic\",\n \"name\": \"--gr-statistic-value-color\",\n \"kind\": \"hook\",\n \"default\": \"`-text`-роль выбранного тона\",\n \"description\": \"Цвет самого значения.\"\n },\n {\n \"owner\": \"GrSwitch\",\n \"name\": \"--gr-switch-track-bg\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-primary) во включённом состоянии, var(--gr-muted) в выключенном, var(--gr-disabled-bg) в недоступном\",\n \"description\": \"Заливка дорожки переключателя.\"\n },\n {\n \"owner\": \"GrSwitch\",\n \"name\": \"--gr-switch-track-brd\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-primary) / var(--gr-brd) / var(--gr-disabled-brd)\",\n \"description\": \"Цвет рамки дорожки переключателя.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-axis-width\",\n \"kind\": \"hook\",\n \"default\": \"2px\",\n \"description\": \"Толщина оси ленты.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-axis-color\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-brd)\",\n \"description\": \"Цвет оси и пунктира у незавершённых событий.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-marker-size\",\n \"kind\": \"hook\",\n \"default\": \"10px\",\n \"description\": \"Диаметр точки события.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-marker-ring\",\n \"kind\": \"hook\",\n \"default\": \"2px\",\n \"description\": \"Толщина обводки полой точки (`variant=\\\"outlined\\\"`, `pending`).\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-marker-top\",\n \"kind\": \"hook\",\n \"default\": \"0.35rem\",\n \"description\": \"Отступ точки сверху: выравнивает её по первой строке текста события.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-gap\",\n \"kind\": \"hook\",\n \"default\": \"0.75rem\",\n \"description\": \"Расстояние между колонками ленты — осью, меткой времени и содержимым.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-line-min\",\n \"kind\": \"hook\",\n \"default\": \"0.75rem\",\n \"description\": \"Минимальная длина отрезка оси: без неё однострочное событие обрывало бы линию.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-time-width\",\n \"kind\": \"hook\",\n \"default\": \"5.5rem\",\n \"description\": \"Ширина колонки времени в `layout=\\\"time\\\"`.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-dash\",\n \"kind\": \"hook\",\n \"default\": \"4px\",\n \"description\": \"Шаг пунктира на отрезке оси после незавершённого события.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-item-min-width\",\n \"kind\": \"hook\",\n \"default\": \"12rem\",\n \"description\": \"Ширина колонки события в горизонтальной ленте.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-columns\",\n \"kind\": \"css\",\n \"default\": \"`auto 1fr`, а по раскладкам — с колонкой времени либо симметричная\",\n \"description\": \"Сетка колонок ленты. Задаётся собственным CSS компонента по `layout`; строка события и заголовок группы делят её, чтобы ось у них совпадала.\"\n },\n {\n \"owner\": \"GrToaster\",\n \"name\": \"--gr-toaster-width\",\n \"kind\": \"css\",\n \"default\": \"360px\",\n \"description\": \"Ширина стека тостов. Проп `width` задаёт её же, поэтому одно и то же настраивается и разметкой, и темой.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-gap\",\n \"kind\": \"css\",\n \"default\": \"2px\",\n \"description\": \"Просвет между строками дерева.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-children-pl\",\n \"kind\": \"css\",\n \"default\": \"10px\",\n \"description\": \"Отступ вложенного списка от левого края родителя.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-indent-step\",\n \"kind\": \"css\",\n \"default\": \"calc(24px + var(--gr-tree-children-pl) + var(--gr-tree-branch-line-width))\",\n \"description\": \"Шаг отступа уровня. Складывается из переключателя, отступа вложенного списка и толщины направляющей — линия обязана попадать ровно между ними.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-indent\",\n \"kind\": \"inline\",\n \"default\": \"шаг отступа × глубина узла\",\n \"description\": \"Готовый отступ конкретной строки: шаг уровня, умноженный на её глубину.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-min-height\",\n \"kind\": \"inline\",\n \"default\": \"22px / 24px / 28px / 32px по ступеням `xs…lg`\",\n \"description\": \"Минимальная высота строки.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-px\",\n \"kind\": \"inline\",\n \"default\": \"4px / 6px / 8px / 10px по ступеням `xs…lg`\",\n \"description\": \"Горизонтальные поля строки.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-py\",\n \"kind\": \"inline\",\n \"default\": \"3px / 5px / 8px / 10px по ступеням `xs…lg`\",\n \"description\": \"Вертикальные поля строки.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-pr\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-tree-row-px)\",\n \"description\": \"Правое поле строки — отдельно от левого: справа часто стоят действия узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-radius\",\n \"kind\": \"css\",\n \"default\": \"8px\",\n \"description\": \"Скругление подсветки строки.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-color\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-fg)\",\n \"description\": \"Цвет текста строки.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-hover-bg\",\n \"kind\": \"css\",\n \"default\": \"color-mix(in srgb, var(--gr-primary) 10%, transparent)\",\n \"description\": \"Фон строки под курсором.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-current-bg\",\n \"kind\": \"css\",\n \"default\": \"color-mix(in srgb, var(--gr-primary) 5%, transparent)\",\n \"description\": \"Фон текущей (выбранной) строки.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-current-hover-bg\",\n \"kind\": \"css\",\n \"default\": \"color-mix(in srgb, var(--gr-primary) 16%, transparent)\",\n \"description\": \"Фон текущей строки под курсором.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-font-size\",\n \"kind\": \"inline\",\n \"default\": \"12px / 13px / inherit / 15px по ступеням `xs…lg`\",\n \"description\": \"Кегль подписи узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-content-gap\",\n \"kind\": \"inline\",\n \"default\": \"4px / 6px / 8px / 10px по ступеням `xs…lg`\",\n \"description\": \"Просвет между иконкой и подписью узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-icon-size\",\n \"kind\": \"inline\",\n \"default\": \"12px / 14px / 16px / 20px по ступеням `xs…lg`\",\n \"description\": \"Размер иконки узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-toggle-size\",\n \"kind\": \"inline\",\n \"default\": \"18px / 20px / 24px / 28px по ступеням `xs…lg`\",\n \"description\": \"Размер кнопки разворота ветки.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-toggle-mr\",\n \"kind\": \"css\",\n \"default\": \"0\",\n \"description\": \"Отступ кнопки разворота от содержимого узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-toggle-radius\",\n \"kind\": \"css\",\n \"default\": \"6px\",\n \"description\": \"Скругление кнопки разворота.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-toggle-color\",\n \"kind\": \"css\",\n \"default\": \"inherit\",\n \"description\": \"Цвет стрелки разворота.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-toggle-hover-bg\",\n \"kind\": \"css\",\n \"default\": \"color-mix(in srgb, var(--gr-muted) 25%, transparent)\",\n \"description\": \"Фон кнопки разворота под курсором.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-toggle-hover-color\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-tree-toggle-color)\",\n \"description\": \"Цвет стрелки разворота под курсором.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-size\",\n \"kind\": \"inline\",\n \"default\": \"18px / 20px / 24px / 28px по ступеням `xs…lg`\",\n \"description\": \"Размер ручки перетаскивания.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-mr\",\n \"kind\": \"css\",\n \"default\": \"0\",\n \"description\": \"Отступ ручки перетаскивания от содержимого узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-radius\",\n \"kind\": \"css\",\n \"default\": \"6px\",\n \"description\": \"Скругление ручки перетаскивания.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-color\",\n \"kind\": \"css\",\n \"default\": \"inherit\",\n \"description\": \"Цвет ручки перетаскивания.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-opacity\",\n \"kind\": \"css\",\n \"default\": \"0.55\",\n \"description\": \"Прозрачность ручки в покое: ручка не должна спорить с подписью узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-hover-bg\",\n \"kind\": \"css\",\n \"default\": \"color-mix(in srgb, var(--gr-muted) 22%, transparent)\",\n \"description\": \"Фон ручки перетаскивания под курсором.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-hover-color\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-tree-drag-handle-color)\",\n \"description\": \"Цвет ручки перетаскивания под курсором.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-hover-opacity\",\n \"kind\": \"css\",\n \"default\": \"0.9\",\n \"description\": \"Прозрачность ручки под курсором.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-disabled-opacity\",\n \"kind\": \"css\",\n \"default\": \"0.25\",\n \"description\": \"Прозрачность ручки у узла, который перетаскивать нельзя.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-checkbox-size\",\n \"kind\": \"css\",\n \"default\": \"16px\",\n \"description\": \"Сторона коробки чекбокса узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-checkbox-radius\",\n \"kind\": \"css\",\n \"default\": \"4px\",\n \"description\": \"Скругление коробки чекбокса.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-checkbox-mr\",\n \"kind\": \"css\",\n \"default\": \"4px\",\n \"description\": \"Отступ чекбокса от содержимого узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-checkbox-bg\",\n \"kind\": \"css\",\n \"default\": \"transparent\",\n \"description\": \"Фон невыбранного чекбокса.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-checkbox-brd\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-brd)\",\n \"description\": \"Цвет рамки чекбокса.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-checkbox-checked-bg\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-primary)\",\n \"description\": \"Фон отмеченного чекбокса.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-checkbox-checked-fg\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-primary-fg)\",\n \"description\": \"Цвет галочки в отмеченном чекбоксе.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-branch-line-width\",\n \"kind\": \"css\",\n \"default\": \"2px\",\n \"description\": \"Толщина направляющей линии уровня.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-branch-line-offset\",\n \"kind\": \"css\",\n \"default\": \"24px\",\n \"description\": \"Сдвиг направляющей от левого края строки.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-branch-line-default-color\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-tree-row-current-bg)\",\n \"description\": \"Цвет направляющей по умолчанию.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-branch-line-color\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-tree-branch-line-default-color)\",\n \"description\": \"Цвет направляющей конкретной ветки — им подсвечивается путь до текущего узла.\"\n },\n {\n \"owner\": \"composables\",\n \"name\": \"--gr-virtual-before\",\n \"kind\": \"inline\",\n \"default\": \"0px\",\n \"description\": \"Высота спейсера перед первым отрисованным элементом виртуального списка. Ставится `useVirtualList` и читается через `[data-gr-virtual]::before` — потребители (`GrList`, `GrSelect`, `GrTree`, `GrAutocomplete`, `GrCommandPalette`) свою копию не заводят.\"\n },\n {\n \"owner\": \"composables\",\n \"name\": \"--gr-virtual-after\",\n \"kind\": \"inline\",\n \"default\": \"0px\",\n \"description\": \"Высота спейсера после последнего отрисованного элемента виртуального списка.\"\n }\n]\n"],"mappings":";AAIA,IAAa,eAAe,CAC1B,SACA,MACF;AAEA,IAAa,qBAA0C;CACrD;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EA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Q;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAA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"}
1
+ {"version":3,"file":"generated-CiCrGDQO.js","names":[],"sources":["../../src/tokens/generated.ts"],"sourcesContent":["// СГЕНЕРИРОВАНО `yarn generate:tokens` из `tokens/*.json` — правки здесь потеряются.\n\nimport type { GrComponentToken, GrDerivedToken, GrFoundationToken, GrThemeToken } from './types'\n\nexport const grThemeNames = [\n \"light\",\n \"dark\"\n] as const\n\nexport const grFoundationTokens: GrFoundationToken[] = [\n {\n \"name\": \"--gr-slate-0\",\n \"value\": \"#ffffff\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 0 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-50\",\n \"value\": \"#f8fafc\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 50 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-100\",\n \"value\": \"#f1f5f9\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 100 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-200\",\n \"value\": \"#e2e8f0\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 200 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-300\",\n \"value\": \"#cbd5e1\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 300 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-400\",\n \"value\": \"#94a3b8\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 400 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-500\",\n \"value\": \"#64748b\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 500 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-600\",\n \"value\": \"#475569\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 600 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-700\",\n \"value\": \"#334155\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 700 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-800\",\n \"value\": \"#1e293b\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 800 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-slate-900\",\n \"value\": \"#0f172a\",\n \"section\": \"Foundations: neutral palette\",\n \"description\": \"Нейтральный оттенок slate 900 для базовой palette scale, поверхностей и бордеров.\"\n },\n {\n \"name\": \"--gr-font-ui\",\n \"value\": \"Inter, Roboto, system-ui, -apple-system, Segoe UI, Arial, sans-serif\",\n \"section\": \"Typography: font families\",\n \"description\": \"Основной стек шрифта для интерфейсного текста и большинства компонентных подписей.\"\n },\n {\n \"name\": \"--gr-font-mono\",\n \"value\": \"'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', monospace\",\n \"section\": \"Typography: font families\",\n \"description\": \"Моноширинный стек для кода, числовых значений и технических подписей.\"\n },\n {\n \"name\": \"--gr-text-2xs\",\n \"value\": \"10px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `2xs` из типографической шкалы foundation tokens: подписи и служебные строки, которые не должны конкурировать с основным текстом.\"\n },\n {\n \"name\": \"--gr-text-xs\",\n \"value\": \"12px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `xs` из типографической шкалы foundation tokens.\"\n },\n {\n \"name\": \"--gr-text-sm\",\n \"value\": \"14px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `sm` из типографической шкалы foundation tokens.\"\n },\n {\n \"name\": \"--gr-text-base\",\n \"value\": \"16px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `base` из типографической шкалы foundation tokens.\"\n },\n {\n \"name\": \"--gr-text-lg\",\n \"value\": \"18px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `lg` из типографической шкалы foundation tokens.\"\n },\n {\n \"name\": \"--gr-text-xl\",\n \"value\": \"20px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `xl` из типографической шкалы foundation tokens.\"\n },\n {\n \"name\": \"--gr-text-2xl\",\n \"value\": \"24px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `2xl` из типографической шкалы foundation tokens.\"\n },\n {\n \"name\": \"--gr-text-3xl\",\n \"value\": \"30px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `3xl` из типографической шкалы foundation tokens.\"\n },\n {\n \"name\": \"--gr-text-4xl\",\n \"value\": \"36px\",\n \"section\": \"Typography: font sizes\",\n \"description\": \"Размер шрифта `4xl` из типографической шкалы foundation tokens.\"\n },\n {\n \"name\": \"--gr-control-text-3xs\",\n \"value\": \"10px\",\n \"section\": \"Typography: control scale\",\n \"description\": \"Кегль компонента на самой мелкой ступени — подпись колонки таблицы, служебная ссылка в списке файлов.\"\n },\n {\n \"name\": \"--gr-control-text-2xs\",\n \"value\": \"11px\",\n \"section\": \"Typography: control scale\",\n \"description\": \"Кегль компонента на ступени между `3xs` и `xs`: мелкий бейдж, компактная подсказка, заголовок группы в палитре команд.\"\n },\n {\n \"name\": \"--gr-control-text-xs\",\n \"value\": \"12px\",\n \"section\": \"Typography: control scale\",\n \"description\": \"Кегль компонента на ступени `xs`.\"\n },\n {\n \"name\": \"--gr-control-text-sm\",\n \"value\": \"13px\",\n \"section\": \"Typography: control scale\",\n \"description\": \"Кегль компонента на ступени `sm`.\"\n },\n {\n \"name\": \"--gr-control-text-md\",\n \"value\": \"14px\",\n \"section\": \"Typography: control scale\",\n \"description\": \"Кегль компонента на ступени `md` — значение по умолчанию.\"\n },\n {\n \"name\": \"--gr-control-text-lg\",\n \"value\": \"16px\",\n \"section\": \"Typography: control scale\",\n \"description\": \"Кегль компонента на ступени `lg`.\"\n },\n {\n \"name\": \"--gr-leading-xs\",\n \"value\": \"1rem\",\n \"section\": \"Typography: line heights\",\n \"description\": \"Межстрочный интервал ступени `xs` — идёт в паре с `--gr-text-xs`.\"\n },\n {\n \"name\": \"--gr-leading-sm\",\n \"value\": \"1.25rem\",\n \"section\": \"Typography: line heights\",\n \"description\": \"Межстрочный интервал ступени `sm` — идёт в паре с `--gr-text-sm`.\"\n },\n {\n \"name\": \"--gr-leading-base\",\n \"value\": \"1.5rem\",\n \"section\": \"Typography: line heights\",\n \"description\": \"Межстрочный интервал ступени `base` — идёт в паре с `--gr-text-base`.\"\n },\n {\n \"name\": \"--gr-leading-xl\",\n \"value\": \"1.75rem\",\n \"section\": \"Typography: line heights\",\n \"description\": \"Межстрочный интервал ступени `xl` — идёт в паре с `--gr-text-xl`.\"\n },\n {\n \"name\": \"--gr-leading-3xl\",\n \"value\": \"2.25rem\",\n \"section\": \"Typography: line heights\",\n \"description\": \"Межстрочный интервал ступени `3xl` — идёт в паре с `--gr-text-3xl`.\"\n },\n {\n \"name\": \"--gr-leading-tight\",\n \"value\": \"1.25\",\n \"section\": \"Typography: line heights\",\n \"description\": \"Коэффициент межстрочного интервала `tight` для текстовых блоков и подписей.\"\n },\n {\n \"name\": \"--gr-leading-normal\",\n \"value\": \"1.5\",\n \"section\": \"Typography: line heights\",\n \"description\": \"Коэффициент межстрочного интервала `normal` для текстовых блоков и подписей.\"\n },\n {\n \"name\": \"--gr-leading-relaxed\",\n \"value\": \"1.625\",\n \"section\": \"Typography: line heights\",\n \"description\": \"Коэффициент межстрочного интервала `relaxed` для текстовых блоков и подписей.\"\n },\n {\n \"name\": \"--gr-font-regular\",\n \"value\": \"400\",\n \"section\": \"Typography: font weights\",\n \"description\": \"Вес шрифта `regular` для типографической иерархии интерфейса.\"\n },\n {\n \"name\": \"--gr-font-medium\",\n \"value\": \"500\",\n \"section\": \"Typography: font weights\",\n \"description\": \"Вес шрифта `medium` для типографической иерархии интерфейса.\"\n },\n {\n \"name\": \"--gr-font-semibold\",\n \"value\": \"600\",\n \"section\": \"Typography: font weights\",\n \"description\": \"Вес шрифта `semibold` для типографической иерархии интерфейса.\"\n },\n {\n \"name\": \"--gr-font-bold\",\n \"value\": \"700\",\n \"section\": \"Typography: font weights\",\n \"description\": \"Вес шрифта `bold` для типографической иерархии интерфейса.\"\n },\n {\n \"name\": \"--gr-space-0\",\n \"value\": \"0px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `0` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-1\",\n \"value\": \"4px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `1` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-2\",\n \"value\": \"8px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `2` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-3\",\n \"value\": \"12px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `3` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-4\",\n \"value\": \"16px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `4` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-5\",\n \"value\": \"20px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `5` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-6\",\n \"value\": \"24px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `6` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-8\",\n \"value\": \"32px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `8` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-10\",\n \"value\": \"40px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `10` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-12\",\n \"value\": \"48px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `12` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-16\",\n \"value\": \"64px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `16` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-20\",\n \"value\": \"80px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `20` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-24\",\n \"value\": \"96px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `24` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-32\",\n \"value\": \"128px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `32` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-40\",\n \"value\": \"160px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `40` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-48\",\n \"value\": \"192px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `48` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-space-64\",\n \"value\": \"256px\",\n \"section\": \"Layout: spacing scale\",\n \"description\": \"Шаг spacing scale `64` для отступов, gap и внутренних paddings.\"\n },\n {\n \"name\": \"--gr-container-max\",\n \"value\": \"1280px\",\n \"section\": \"Layout: containers\",\n \"description\": \"Максимальная ширина layout-контейнера для контентных страниц и shell-структур.\"\n },\n {\n \"name\": \"--gr-container-max-2xl\",\n \"value\": \"1440px\",\n \"section\": \"Layout: containers\",\n \"description\": \"Максимальная ширина layout-контейнера для контентных страниц и shell-структур.\"\n },\n {\n \"name\": \"--gr-container-padding-mobile\",\n \"value\": \"16px\",\n \"section\": \"Layout: containers\",\n \"description\": \"Горизонтальный контейнерный отступ для соответствующего breakpoint-сценария.\"\n },\n {\n \"name\": \"--gr-container-padding-tablet\",\n \"value\": \"24px\",\n \"section\": \"Layout: containers\",\n \"description\": \"Горизонтальный контейнерный отступ для соответствующего breakpoint-сценария.\"\n },\n {\n \"name\": \"--gr-container-padding-desktop\",\n \"value\": \"32px\",\n \"section\": \"Layout: containers\",\n \"description\": \"Горизонтальный контейнерный отступ для соответствующего breakpoint-сценария.\"\n },\n {\n \"name\": \"--gr-bp-sm\",\n \"value\": \"640px\",\n \"section\": \"Layout: breakpoints\",\n \"description\": \"Foundation breakpoint `sm` для адаптивных layout-решений.\"\n },\n {\n \"name\": \"--gr-bp-md\",\n \"value\": \"768px\",\n \"section\": \"Layout: breakpoints\",\n \"description\": \"Foundation breakpoint `md` для адаптивных layout-решений.\"\n },\n {\n \"name\": \"--gr-bp-lg\",\n \"value\": \"1024px\",\n \"section\": \"Layout: breakpoints\",\n \"description\": \"Foundation breakpoint `lg` для адаптивных layout-решений.\"\n },\n {\n \"name\": \"--gr-bp-xl\",\n \"value\": \"1280px\",\n \"section\": \"Layout: breakpoints\",\n \"description\": \"Foundation breakpoint `xl` для адаптивных layout-решений.\"\n },\n {\n \"name\": \"--gr-bp-2xl\",\n \"value\": \"1536px\",\n \"section\": \"Layout: breakpoints\",\n \"description\": \"Foundation breakpoint `2xl` для адаптивных layout-решений.\"\n },\n {\n \"name\": \"--gr-icon-size-xs\",\n \"value\": \"14px\",\n \"section\": \"Iconography: icon sizes\",\n \"description\": \"Размер иконки `xs` — рядом с текстом `xs`/`sm`.\"\n },\n {\n \"name\": \"--gr-icon-size-sm\",\n \"value\": \"16px\",\n \"section\": \"Iconography: icon sizes\",\n \"description\": \"Размер иконки `sm` — в компактных кнопках и строках списка.\"\n },\n {\n \"name\": \"--gr-icon-size-md\",\n \"value\": \"18px\",\n \"section\": \"Iconography: icon sizes\",\n \"description\": \"Размер иконки `md` — значение по умолчанию.\"\n },\n {\n \"name\": \"--gr-icon-size-lg\",\n \"value\": \"20px\",\n \"section\": \"Iconography: icon sizes\",\n \"description\": \"Размер иконки `lg` — в крупных кнопках и заголовках.\"\n },\n {\n \"name\": \"--radius\",\n \"value\": \"0.5rem\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Совместимый alias базового радиуса для интеграций, ожидающих shadcn-style token contract.\"\n },\n {\n \"name\": \"--gr-radius-none\",\n \"value\": \"0px\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Радиус скругления `none` для углов компонентов и поверхностей.\"\n },\n {\n \"name\": \"--gr-radius-xs\",\n \"value\": \"3px\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Радиус скругления `xs` — микроэлементы: подсветка совпадения в поиске, кнопка очистки внутри контрола.\"\n },\n {\n \"name\": \"--gr-radius-sm\",\n \"value\": \"4px\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Радиус скругления `sm` для углов компонентов и поверхностей.\"\n },\n {\n \"name\": \"--gr-radius-control\",\n \"value\": \"6px\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Радиус контрола и мелкой интерактивной детали внутри него: оболочка поля, чип, кнопка-крестик, фокус-кольцо ссылки, тултип слайдера.\"\n },\n {\n \"name\": \"--gr-radius-md\",\n \"value\": \"8px\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Радиус скругления `md` для углов компонентов и поверхностей.\"\n },\n {\n \"name\": \"--gr-radius-lg\",\n \"value\": \"12px\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Радиус скругления `lg` для углов компонентов и поверхностей.\"\n },\n {\n \"name\": \"--gr-radius-xl\",\n \"value\": \"16px\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Радиус скругления `xl` для углов компонентов и поверхностей.\"\n },\n {\n \"name\": \"--gr-radius-full\",\n \"value\": \"9999px\",\n \"section\": \"Shapes: radii and compatibility aliases\",\n \"description\": \"Радиус скругления `full` для углов компонентов и поверхностей.\"\n },\n {\n \"name\": \"--gr-shadow-0\",\n \"value\": \"none\",\n \"section\": \"Elevation\",\n \"description\": \"Уровень elevation `0` для карточек, popover-слоёв и акцентных поверхностей.\"\n },\n {\n \"name\": \"--gr-shadow-1\",\n \"value\": \"0 1px 2px rgba(15, 23, 42, 0.08)\",\n \"section\": \"Elevation\",\n \"description\": \"Уровень elevation `1` для карточек, popover-слоёв и акцентных поверхностей.\"\n },\n {\n \"name\": \"--gr-shadow-2\",\n \"value\": \"0 8px 24px rgba(15, 23, 42, 0.14)\",\n \"section\": \"Elevation\",\n \"description\": \"Уровень elevation `2` для карточек, popover-слоёв и акцентных поверхностей.\"\n },\n {\n \"name\": \"--gr-shadow-3\",\n \"value\": \"0 16px 48px rgba(15, 23, 42, 0.20)\",\n \"section\": \"Elevation\",\n \"description\": \"Уровень elevation `3` для карточек, popover-слоёв и акцентных поверхностей.\"\n },\n {\n \"name\": \"--gr-duration-fast\",\n \"value\": \"150ms\",\n \"section\": \"Motion\",\n \"description\": \"Базовая длительность анимации `fast` для transitions и state changes.\"\n },\n {\n \"name\": \"--gr-duration-base\",\n \"value\": \"200ms\",\n \"section\": \"Motion\",\n \"description\": \"Базовая длительность анимации `base` для transitions и state changes.\"\n },\n {\n \"name\": \"--gr-duration-slow\",\n \"value\": \"300ms\",\n \"section\": \"Motion\",\n \"description\": \"Базовая длительность анимации `slow` для transitions и state changes.\"\n },\n {\n \"name\": \"--gr-ease-out\",\n \"value\": \"cubic-bezier(0.16, 1, 0.3, 1)\",\n \"section\": \"Motion\",\n \"description\": \"Кривая ускорения `out` для motion-паттернов дизайн-системы.\"\n },\n {\n \"name\": \"--gr-ease-in\",\n \"value\": \"cubic-bezier(0.7, 0, 0.84, 0)\",\n \"section\": \"Motion\",\n \"description\": \"Кривая ускорения `in` для motion-паттернов дизайн-системы.\"\n },\n {\n \"name\": \"--gr-z-bottom-nav\",\n \"value\": \"850\",\n \"section\": \"Layering: z-index scale\",\n \"description\": \"Нижняя навигация приложения. Самый низкий слой шкалы: панель прижата к нижней кромке и обязана уходить под открытую выпадашку, тултип и модалку.\"\n },\n {\n \"name\": \"--gr-z-navbar\",\n \"value\": \"900\",\n \"section\": \"Layering: z-index scale\",\n \"description\": \"Прилипшая шапка приложения. Ниже якорных панелей: шапка перекрывает контент, но не выпадашки, тултипы и модалки.\"\n },\n {\n \"name\": \"--gr-z-dropdown\",\n \"value\": \"1000\",\n \"section\": \"Layering: z-index scale\",\n \"description\": \"Слой якорных floating-панелей: dropdown, select, tree-select.\"\n },\n {\n \"name\": \"--gr-z-tooltip\",\n \"value\": \"1050\",\n \"section\": \"Layering: z-index scale\",\n \"description\": \"Слой тултипов — выше floating-панелей, ниже модалок.\"\n },\n {\n \"name\": \"--gr-z-modal\",\n \"value\": \"1100\",\n \"section\": \"Layering: z-index scale\",\n \"description\": \"Слой модальных окон и диалогов.\"\n },\n {\n \"name\": \"--gr-z-loading\",\n \"value\": \"1150\",\n \"section\": \"Layering: z-index scale\",\n \"description\": \"Слой полноэкранного оверлея загрузки: выше модалок, потому что блокирует всё приложение целиком, но ниже тостов.\"\n },\n {\n \"name\": \"--gr-z-toast\",\n \"value\": \"1200\",\n \"section\": \"Layering: z-index scale\",\n \"description\": \"Слой тостов — единственный, обязанный быть виден поверх всего, включая открытые модалки.\"\n }\n]\n\nexport const grDerivedTokens: GrDerivedToken[] = [\n {\n \"name\": \"--gr-primary-hover\",\n \"section\": \"Derived interaction formulas: action roles\",\n \"description\": \"Hover-состояние primary action: подмес `--gr-fg` 8% в `--gr-primary`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-primary) 92%, var(--gr-fg))\",\n \"base\": \"--gr-primary\",\n \"amount\": 92,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#4a42d6\",\n \"dark\": \"#a494fa\"\n }\n },\n {\n \"name\": \"--gr-primary-active\",\n \"section\": \"Derived interaction formulas: action roles\",\n \"description\": \"Active-состояние primary action: подмес `--gr-fg` 16% в `--gr-primary`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-primary) 84%, var(--gr-fg))\",\n \"base\": \"--gr-primary\",\n \"amount\": 84,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#453ec7\",\n \"dark\": \"#ac9dfa\"\n }\n },\n {\n \"name\": \"--gr-secondary-hover\",\n \"section\": \"Derived interaction formulas: action roles\",\n \"description\": \"Hover-состояние secondary action: подмес `--gr-fg` 8% в `--gr-secondary`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-secondary) 92%, var(--gr-fg))\",\n \"base\": \"--gr-secondary\",\n \"amount\": 92,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#d1d7e0\",\n \"dark\": \"#435062\"\n }\n },\n {\n \"name\": \"--gr-secondary-active\",\n \"section\": \"Derived interaction formulas: action roles\",\n \"description\": \"Active-состояние secondary action: подмес `--gr-fg` 16% в `--gr-secondary`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-secondary) 84%, var(--gr-fg))\",\n \"base\": \"--gr-secondary\",\n \"amount\": 84,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#c0c7d0\",\n \"dark\": \"#535f70\"\n }\n },\n {\n \"name\": \"--gr-brd-hover\",\n \"section\": \"Derived interaction formulas: action roles\",\n \"description\": \"Hover-состояние бордеров и outline-элементов: подмес `--gr-fg` 30% в `--gr-brd`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-brd) 70%, var(--gr-fg))\",\n \"base\": \"--gr-brd\",\n \"amount\": 70,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#a3a9b5\",\n \"dark\": \"#6e7987\"\n }\n },\n {\n \"name\": \"--gr-brd-active\",\n \"section\": \"Derived interaction formulas: action roles\",\n \"description\": \"Active-состояние бордеров и outline-элементов: подмес `--gr-fg` 45% в `--gr-brd`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-brd) 55%, var(--gr-fg))\",\n \"base\": \"--gr-brd\",\n \"amount\": 55,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#838a97\",\n \"dark\": \"#8c94a0\"\n }\n },\n {\n \"name\": \"--gr-success-hover\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Hover-состояние success-ролей: подмес `--gr-fg` 8% в `--gr-success`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-success) 92%, var(--gr-fg))\",\n \"base\": \"--gr-success\",\n \"amount\": 92,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#10ac7a\",\n \"dark\": \"#44d6a1\"\n }\n },\n {\n \"name\": \"--gr-success-active\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Active-состояние success-ролей: подмес `--gr-fg` 16% в `--gr-success`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-success) 84%, var(--gr-fg))\",\n \"base\": \"--gr-success\",\n \"amount\": 84,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#109f73\",\n \"dark\": \"#53d9a9\"\n }\n },\n {\n \"name\": \"--gr-warning-hover\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Hover-состояние warning-ролей: подмес `--gr-fg` 8% в `--gr-warning`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-warning) 92%, var(--gr-fg))\",\n \"base\": \"--gr-warning\",\n \"amount\": 92,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#e66c18\",\n \"dark\": \"#fb9a4b\"\n }\n },\n {\n \"name\": \"--gr-warning-active\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Active-состояние warning-ролей: подмес `--gr-fg` 16% в `--gr-warning`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-warning) 84%, var(--gr-fg))\",\n \"base\": \"--gr-warning\",\n \"amount\": 84,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#d46419\",\n \"dark\": \"#fba35b\"\n }\n },\n {\n \"name\": \"--gr-danger-hover\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Hover-состояние danger-ролей: подмес `--gr-fg` 8% в `--gr-danger`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-danger) 92%, var(--gr-fg))\",\n \"base\": \"--gr-danger\",\n \"amount\": 92,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#cc2526\",\n \"dark\": \"#f87c7c\"\n }\n },\n {\n \"name\": \"--gr-danger-active\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Active-состояние danger-ролей: подмес `--gr-fg` 16% в `--gr-danger`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-danger) 84%, var(--gr-fg))\",\n \"base\": \"--gr-danger\",\n \"amount\": 84,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#bb2427\",\n \"dark\": \"#f88787\"\n }\n },\n {\n \"name\": \"--gr-info-hover\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Hover-состояние info-ролей: подмес `--gr-fg` 8% в `--gr-info`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-info) 92%, var(--gr-fg))\",\n \"base\": \"--gr-info\",\n \"amount\": 92,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#235ddc\",\n \"dark\": \"#6cacfa\"\n }\n },\n {\n \"name\": \"--gr-info-active\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Active-состояние info-ролей: подмес `--gr-fg` 16% в `--gr-info`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-info) 84%, var(--gr-fg))\",\n \"base\": \"--gr-info\",\n \"amount\": 84,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#2157cc\",\n \"dark\": \"#78b3fa\"\n }\n },\n {\n \"name\": \"--gr-slate-hover\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Hover-состояние slate-ролей: подмес `--gr-fg` 8% в `--gr-slate`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-slate) 92%, var(--gr-fg))\",\n \"base\": \"--gr-slate\",\n \"amount\": 92,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#435064\",\n \"dark\": \"#9caabd\"\n }\n },\n {\n \"name\": \"--gr-slate-active\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Active-состояние slate-ролей: подмес `--gr-fg` 16% в `--gr-slate`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-slate) 84%, var(--gr-fg))\",\n \"base\": \"--gr-slate\",\n \"amount\": 84,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#3e4b5f\",\n \"dark\": \"#a4b1c3\"\n }\n },\n {\n \"name\": \"--gr-azure-hover\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Hover-состояние azure-ролей: подмес `--gr-fg` 8% в `--gr-azure`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-azure) 92%, var(--gr-fg))\",\n \"base\": \"--gr-azure\",\n \"amount\": 92,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#016fab\",\n \"dark\": \"#47c2f8\"\n }\n },\n {\n \"name\": \"--gr-azure-active\",\n \"section\": \"Derived interaction formulas: status roles\",\n \"description\": \"Active-состояние azure-ролей: подмес `--gr-fg` 16% в `--gr-azure`.\",\n \"formula\": \"color-mix(in srgb, var(--gr-azure) 84%, var(--gr-fg))\",\n \"base\": \"--gr-azure\",\n \"amount\": 84,\n \"mixWith\": \"--gr-fg\",\n \"values\": {\n \"light\": \"#0268a0\",\n \"dark\": \"#57c7f9\"\n }\n }\n]\n\nexport const grThemeTokens: GrThemeToken[] = [\n {\n \"name\": \"--gr-bg\",\n \"section\": \"Surface roles\",\n \"description\": \"Базовый фон приложения и крупных layout-поверхностей текущей темы.\",\n \"values\": {\n \"light\": \"#f8fafc\",\n \"dark\": \"#0f172a\"\n }\n },\n {\n \"name\": \"--gr-fg\",\n \"section\": \"Surface roles\",\n \"description\": \"Основной цвет текста и иконок поверх базового фона текущей темы.\",\n \"values\": {\n \"light\": \"#0f172a\",\n \"dark\": \"#f8fafc\"\n }\n },\n {\n \"name\": \"--gr-card\",\n \"section\": \"Surface roles\",\n \"description\": \"Фон карточек, панелей и других поднятых поверхностей.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#1e293b\"\n }\n },\n {\n \"name\": \"--gr-card-fg\",\n \"section\": \"Surface roles\",\n \"description\": \"Цвет контента внутри карточек и raised surface-блоков.\",\n \"values\": {\n \"light\": \"#0f172a\",\n \"dark\": \"#f8fafc\"\n }\n },\n {\n \"name\": \"--gr-popover\",\n \"section\": \"Surface roles\",\n \"description\": \"Фон popover-, dropdown- и overlay-поверхностей.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#1e293b\"\n }\n },\n {\n \"name\": \"--gr-popover-fg\",\n \"section\": \"Surface roles\",\n \"description\": \"Цвет текста и иконок внутри popover-слоёв.\",\n \"values\": {\n \"light\": \"#0f172a\",\n \"dark\": \"#f8fafc\"\n }\n },\n {\n \"name\": \"--gr-muted\",\n \"section\": \"Surface roles\",\n \"description\": \"Приглушённая поверхность для вторичных блоков, плашек и заполнений.\",\n \"values\": {\n \"light\": \"#f1f5f9\",\n \"dark\": \"#334155\"\n }\n },\n {\n \"name\": \"--gr-muted-fg\",\n \"section\": \"Surface roles\",\n \"description\": \"Вторичный текстовый цвет для helper-копии и менее важных подписей.\",\n \"values\": {\n \"light\": \"#556275\",\n \"dark\": \"#aab6c7\"\n }\n },\n {\n \"name\": \"--gr-secondary\",\n \"section\": \"Surface roles\",\n \"description\": \"Нейтральная secondary action/surface-подложка без сильного бренд-акцента.\",\n \"values\": {\n \"light\": \"#e2e8f0\",\n \"dark\": \"#334155\"\n }\n },\n {\n \"name\": \"--gr-secondary-fg\",\n \"section\": \"Surface roles\",\n \"description\": \"Контрастный текст для secondary-кнопок и поверхностей.\",\n \"values\": {\n \"light\": \"#1e293b\",\n \"dark\": \"#f1f5f9\"\n }\n },\n {\n \"name\": \"--gr-overlay-bg\",\n \"section\": \"Surface roles\",\n \"description\": \"Подложка модальных слоёв (модалка, drawer): затемняет страницу, оставляя её узнаваемой.\",\n \"values\": {\n \"light\": \"rgb(15 23 42 / 0.45)\",\n \"dark\": \"rgb(2 6 23 / 0.65)\"\n }\n },\n {\n \"name\": \"--gr-brd\",\n \"section\": \"Surface roles\",\n \"description\": \"Базовый цвет бордеров и разделителей текущей темы.\",\n \"values\": {\n \"light\": \"#e2e8f0\",\n \"dark\": \"#334155\"\n }\n },\n {\n \"name\": \"--gr-input\",\n \"section\": \"Surface roles\",\n \"description\": \"Цвет рамки и фона input-like контролов в состоянии покоя.\",\n \"values\": {\n \"light\": \"#e2e8f0\",\n \"dark\": \"#334155\"\n }\n },\n {\n \"name\": \"--gr-ring\",\n \"section\": \"Surface roles\",\n \"description\": \"Цвет focus-ring и акцентного outline для интерактивных компонентов.\",\n \"values\": {\n \"light\": \"#6366f1\",\n \"dark\": \"#818cf8\"\n }\n },\n {\n \"name\": \"--gr-disabled-bg\",\n \"section\": \"State roles\",\n \"description\": \"Фон недоступного контрола: гасит его поверхностью, а не прозрачностью — `opacity` разбавляет выверенные на AA токены текста.\",\n \"values\": {\n \"light\": \"#f1f5f9\",\n \"dark\": \"#273548\"\n }\n },\n {\n \"name\": \"--gr-disabled-fg\",\n \"section\": \"State roles\",\n \"description\": \"Цвет текста и иконок недоступного контрола.\",\n \"values\": {\n \"light\": \"#94a3b8\",\n \"dark\": \"#64748b\"\n }\n },\n {\n \"name\": \"--gr-disabled-brd\",\n \"section\": \"State roles\",\n \"description\": \"Цвет рамки недоступного контрола.\",\n \"values\": {\n \"light\": \"#e2e8f0\",\n \"dark\": \"#334155\"\n }\n },\n {\n \"name\": \"--gr-invalid-brd\",\n \"section\": \"State roles\",\n \"description\": \"Цвет рамки контрола, не прошедшего валидацию.\",\n \"values\": {\n \"light\": \"var(--gr-danger)\",\n \"dark\": \"var(--gr-danger)\"\n }\n },\n {\n \"name\": \"--gr-invalid-ring\",\n \"section\": \"State roles\",\n \"description\": \"Цвет focus-ring контрола, не прошедшего валидацию.\",\n \"values\": {\n \"light\": \"var(--gr-danger)\",\n \"dark\": \"var(--gr-danger)\"\n }\n },\n {\n \"name\": \"--gr-invalid-text\",\n \"section\": \"State roles\",\n \"description\": \"Цвет текста ошибки и метки обязательного поля.\",\n \"values\": {\n \"light\": \"var(--gr-danger-text)\",\n \"dark\": \"var(--gr-danger-text)\"\n }\n },\n {\n \"name\": \"--gr-primary\",\n \"section\": \"Action roles\",\n \"description\": \"Главный brand/action цвет темы для primary CTA и ключевых акцентов.\",\n \"values\": {\n \"light\": \"#4f46e5\",\n \"dark\": \"#9d8bfa\"\n }\n },\n {\n \"name\": \"--gr-primary-fg\",\n \"section\": \"Action roles\",\n \"description\": \"Контрастный текст и иконки поверх primary-заливки.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#0f172a\"\n }\n },\n {\n \"name\": \"--gr-accent\",\n \"section\": \"Action roles\",\n \"description\": \"Мягкая акцентная поверхность для selected/hovered областей и подсветок.\",\n \"values\": {\n \"light\": \"#eef2ff\",\n \"dark\": \"#1e1b4b\"\n }\n },\n {\n \"name\": \"--gr-accent-fg\",\n \"section\": \"Action roles\",\n \"description\": \"Цвет текста поверх accent-подложек.\",\n \"values\": {\n \"light\": \"#3730a3\",\n \"dark\": \"#c7d2fe\"\n }\n },\n {\n \"name\": \"--gr-success\",\n \"section\": \"Status roles\",\n \"description\": \"Основной semantic success-цвет для статусов, бейджей и уведомлений.\",\n \"values\": {\n \"light\": \"#10b981\",\n \"dark\": \"#34d399\"\n }\n },\n {\n \"name\": \"--gr-success-light\",\n \"section\": \"Status roles\",\n \"description\": \"Облегчённая success-подложка для мягких статусов и подсветок.\",\n \"values\": {\n \"light\": \"#d1fae5\",\n \"dark\": \"#064e3b\"\n }\n },\n {\n \"name\": \"--gr-success-fg\",\n \"section\": \"Status roles\",\n \"description\": \"Контрастный текст и иконки поверх success-заливки.\",\n \"values\": {\n \"light\": \"#0f172a\",\n \"dark\": \"#0f172a\"\n }\n },\n {\n \"name\": \"--gr-primary-text\",\n \"section\": \"Status roles\",\n \"description\": \"Основной тон как ЦВЕТ ТЕКСТА на фоне страницы: насыщенный `--gr-primary` под текст не рассчитан и не проходит по контрасту.\",\n \"values\": {\n \"light\": \"#3730a3\",\n \"dark\": \"#c7d2fe\"\n }\n },\n {\n \"name\": \"--gr-success-text\",\n \"section\": \"Status roles\",\n \"description\": \"Текстовый оттенок для success-сообщений на светлой подложке.\",\n \"values\": {\n \"light\": \"#065f46\",\n \"dark\": \"#6ee7b7\"\n }\n },\n {\n \"name\": \"--gr-warning\",\n \"section\": \"Status roles\",\n \"description\": \"Основной semantic warning-цвет для предупреждений и промежуточных статусов.\",\n \"values\": {\n \"light\": \"#f97316\",\n \"dark\": \"#fb923c\"\n }\n },\n {\n \"name\": \"--gr-warning-light\",\n \"section\": \"Status roles\",\n \"description\": \"Облегчённая warning-подложка для мягких warning-состояний.\",\n \"values\": {\n \"light\": \"#ffedd5\",\n \"dark\": \"#7c2d12\"\n }\n },\n {\n \"name\": \"--gr-warning-fg\",\n \"section\": \"Status roles\",\n \"description\": \"Контрастный текст и иконки поверх warning-заливки.\",\n \"values\": {\n \"light\": \"#0f172a\",\n \"dark\": \"#0f172a\"\n }\n },\n {\n \"name\": \"--gr-warning-text\",\n \"section\": \"Status roles\",\n \"description\": \"Текстовый оттенок для warning-сообщений на мягкой warning-подложке.\",\n \"values\": {\n \"light\": \"#7c2d12\",\n \"dark\": \"#fdba74\"\n }\n },\n {\n \"name\": \"--gr-danger\",\n \"section\": \"Status roles\",\n \"description\": \"Semantic danger-цвет для ошибок, рисков и критических сообщений.\",\n \"values\": {\n \"light\": \"#dc2626\",\n \"dark\": \"#f87171\"\n }\n },\n {\n \"name\": \"--gr-danger-light\",\n \"section\": \"Status roles\",\n \"description\": \"Облегчённая danger-подложка для мягких error-состояний.\",\n \"values\": {\n \"light\": \"#fee2e2\",\n \"dark\": \"#7f1d1d\"\n }\n },\n {\n \"name\": \"--gr-danger-fg\",\n \"section\": \"Status roles\",\n \"description\": \"Контрастный текст и иконки поверх danger-заливки.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#0f172a\"\n }\n },\n {\n \"name\": \"--gr-danger-text\",\n \"section\": \"Status roles\",\n \"description\": \"Текстовый оттенок для error-сообщений на мягкой danger-подложке.\",\n \"values\": {\n \"light\": \"#991b1b\",\n \"dark\": \"#fca5a5\"\n }\n },\n {\n \"name\": \"--gr-info\",\n \"section\": \"Status roles\",\n \"description\": \"Semantic info-цвет для нейтральных уведомлений и информационных акцентов.\",\n \"values\": {\n \"light\": \"#2563eb\",\n \"dark\": \"#60a5fa\"\n }\n },\n {\n \"name\": \"--gr-info-light\",\n \"section\": \"Status roles\",\n \"description\": \"Облегчённая info-подложка для спокойных информационных блоков.\",\n \"values\": {\n \"light\": \"#dbeafe\",\n \"dark\": \"#1e3a8a\"\n }\n },\n {\n \"name\": \"--gr-info-fg\",\n \"section\": \"Status roles\",\n \"description\": \"Контрастный текст и иконки поверх info-заливки.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#0f172a\"\n }\n },\n {\n \"name\": \"--gr-info-text\",\n \"section\": \"Status roles\",\n \"description\": \"Текстовый оттенок для спокойных info-сообщений и подсказок.\",\n \"values\": {\n \"light\": \"#1e40af\",\n \"dark\": \"#bfdbfe\"\n }\n },\n {\n \"name\": \"--gr-slate\",\n \"section\": \"Status roles\",\n \"description\": \"Нейтральный semantic slate-цвет для subdued индикаторов и secondary статусов.\",\n \"values\": {\n \"light\": \"#475569\",\n \"dark\": \"#94a3b8\"\n }\n },\n {\n \"name\": \"--gr-slate-light\",\n \"section\": \"Status roles\",\n \"description\": \"Облегчённая slate-подложка для мягких нейтральных состояний.\",\n \"values\": {\n \"light\": \"#e2e8f0\",\n \"dark\": \"#334155\"\n }\n },\n {\n \"name\": \"--gr-slate-fg\",\n \"section\": \"Status roles\",\n \"description\": \"Контрастный текст и иконки поверх slate-заливки.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#0f172a\"\n }\n },\n {\n \"name\": \"--gr-slate-text\",\n \"section\": \"Status roles\",\n \"description\": \"Текстовый оттенок для нейтральных slate-сообщений и плашек.\",\n \"values\": {\n \"light\": \"#334155\",\n \"dark\": \"#cbd5e1\"\n }\n },\n {\n \"name\": \"--gr-azure\",\n \"section\": \"Status roles\",\n \"description\": \"Semantic azure-цвет для информационных акцентов и вспомогательных статусов.\",\n \"values\": {\n \"light\": \"#0077b6\",\n \"dark\": \"#38bdf8\"\n }\n },\n {\n \"name\": \"--gr-azure-light\",\n \"section\": \"Status roles\",\n \"description\": \"Облегчённая azure-подложка для мягких informational поверхностей.\",\n \"values\": {\n \"light\": \"#e0f2fe\",\n \"dark\": \"#0c4a6e\"\n }\n },\n {\n \"name\": \"--gr-azure-fg\",\n \"section\": \"Status roles\",\n \"description\": \"Контрастный текст и иконки поверх azure-заливки.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#0f172a\"\n }\n },\n {\n \"name\": \"--gr-azure-text\",\n \"section\": \"Status roles\",\n \"description\": \"Текстовый оттенок для azure-плашек и спокойных informational блоков.\",\n \"values\": {\n \"light\": \"#075985\",\n \"dark\": \"#bae6fd\"\n }\n },\n {\n \"name\": \"--gr-primary-solid\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Сплошная заливка кнопочного веса тона `primary`.\",\n \"values\": {\n \"light\": \"var(--gr-primary)\",\n \"dark\": \"#595ce6\"\n }\n },\n {\n \"name\": \"--gr-primary-solid-hover\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-primary-solid` под курсором.\",\n \"values\": {\n \"light\": \"var(--gr-primary-hover)\",\n \"dark\": \"#5053dd\"\n }\n },\n {\n \"name\": \"--gr-primary-solid-active\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-primary-solid` в момент нажатия.\",\n \"values\": {\n \"light\": \"var(--gr-primary-active)\",\n \"dark\": \"#474acf\"\n }\n },\n {\n \"name\": \"--gr-primary-solid-fg\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Текст и иконки на заливке `--gr-primary-solid`.\",\n \"values\": {\n \"light\": \"var(--gr-primary-fg)\",\n \"dark\": \"var(--gr-slate-0)\"\n }\n },\n {\n \"name\": \"--gr-success-solid\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Сплошная заливка кнопочного веса тона `success`.\",\n \"values\": {\n \"light\": \"#047857\",\n \"dark\": \"#047857\"\n }\n },\n {\n \"name\": \"--gr-success-solid-hover\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-success-solid` под курсором.\",\n \"values\": {\n \"light\": \"#036c4d\",\n \"dark\": \"#036c4d\"\n }\n },\n {\n \"name\": \"--gr-success-solid-active\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-success-solid` в момент нажатия.\",\n \"values\": {\n \"light\": \"#025f44\",\n \"dark\": \"#025f44\"\n }\n },\n {\n \"name\": \"--gr-success-solid-fg\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Текст и иконки на заливке `--gr-success-solid`.\",\n \"values\": {\n \"light\": \"var(--gr-slate-0)\",\n \"dark\": \"var(--gr-slate-50)\"\n }\n },\n {\n \"name\": \"--gr-warning-solid\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Сплошная заливка кнопочного веса тона `warning`.\",\n \"values\": {\n \"light\": \"#c2410c\",\n \"dark\": \"#c2410c\"\n }\n },\n {\n \"name\": \"--gr-warning-solid-hover\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-warning-solid` под курсором.\",\n \"values\": {\n \"light\": \"#b53b0a\",\n \"dark\": \"#b53b0a\"\n }\n },\n {\n \"name\": \"--gr-warning-solid-active\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-warning-solid` в момент нажатия.\",\n \"values\": {\n \"light\": \"#9f3307\",\n \"dark\": \"#9f3307\"\n }\n },\n {\n \"name\": \"--gr-warning-solid-fg\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Текст и иконки на заливке `--gr-warning-solid`.\",\n \"values\": {\n \"light\": \"var(--gr-slate-0)\",\n \"dark\": \"var(--gr-slate-50)\"\n }\n },\n {\n \"name\": \"--gr-danger-solid\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Сплошная заливка кнопочного веса тона `danger`.\",\n \"values\": {\n \"light\": \"var(--gr-danger)\",\n \"dark\": \"#b91c1c\"\n }\n },\n {\n \"name\": \"--gr-danger-solid-hover\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-danger-solid` под курсором.\",\n \"values\": {\n \"light\": \"var(--gr-danger-hover)\",\n \"dark\": \"#a91919\"\n }\n },\n {\n \"name\": \"--gr-danger-solid-active\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-danger-solid` в момент нажатия.\",\n \"values\": {\n \"light\": \"var(--gr-danger-active)\",\n \"dark\": \"#931515\"\n }\n },\n {\n \"name\": \"--gr-danger-solid-fg\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Текст и иконки на заливке `--gr-danger-solid`.\",\n \"values\": {\n \"light\": \"var(--gr-danger-fg)\",\n \"dark\": \"var(--gr-slate-50)\"\n }\n },\n {\n \"name\": \"--gr-info-solid\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Сплошная заливка кнопочного веса тона `info`.\",\n \"values\": {\n \"light\": \"var(--gr-info)\",\n \"dark\": \"#1d4ed8\"\n }\n },\n {\n \"name\": \"--gr-info-solid-hover\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-info-solid` под курсором.\",\n \"values\": {\n \"light\": \"var(--gr-info-hover)\",\n \"dark\": \"#1e40af\"\n }\n },\n {\n \"name\": \"--gr-info-solid-active\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-info-solid` в момент нажатия.\",\n \"values\": {\n \"light\": \"var(--gr-info-active)\",\n \"dark\": \"#1e3a8a\"\n }\n },\n {\n \"name\": \"--gr-info-solid-fg\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Текст и иконки на заливке `--gr-info-solid`.\",\n \"values\": {\n \"light\": \"var(--gr-info-fg)\",\n \"dark\": \"var(--gr-slate-50)\"\n }\n },\n {\n \"name\": \"--gr-slate-solid\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Сплошная заливка кнопочного веса тона `slate`.\",\n \"values\": {\n \"light\": \"var(--gr-slate)\",\n \"dark\": \"var(--gr-slate-600)\"\n }\n },\n {\n \"name\": \"--gr-slate-solid-hover\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-slate-solid` под курсором.\",\n \"values\": {\n \"light\": \"var(--gr-slate-hover)\",\n \"dark\": \"var(--gr-slate-700)\"\n }\n },\n {\n \"name\": \"--gr-slate-solid-active\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-slate-solid` в момент нажатия.\",\n \"values\": {\n \"light\": \"var(--gr-slate-active)\",\n \"dark\": \"var(--gr-slate-800)\"\n }\n },\n {\n \"name\": \"--gr-slate-solid-fg\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Текст и иконки на заливке `--gr-slate-solid`.\",\n \"values\": {\n \"light\": \"var(--gr-slate-fg)\",\n \"dark\": \"var(--gr-slate-50)\"\n }\n },\n {\n \"name\": \"--gr-azure-solid\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Сплошная заливка кнопочного веса тона `azure`.\",\n \"values\": {\n \"light\": \"#0369a1\",\n \"dark\": \"#0369a1\"\n }\n },\n {\n \"name\": \"--gr-azure-solid-hover\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-azure-solid` под курсором.\",\n \"values\": {\n \"light\": \"#075985\",\n \"dark\": \"#075985\"\n }\n },\n {\n \"name\": \"--gr-azure-solid-active\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Заливка `--gr-azure-solid` в момент нажатия.\",\n \"values\": {\n \"light\": \"#0c4a6e\",\n \"dark\": \"#0c4a6e\"\n }\n },\n {\n \"name\": \"--gr-azure-solid-fg\",\n \"section\": \"Solid fill roles\",\n \"description\": \"Текст и иконки на заливке `--gr-azure-solid`.\",\n \"values\": {\n \"light\": \"var(--gr-slate-0)\",\n \"dark\": \"var(--gr-slate-50)\"\n }\n },\n {\n \"name\": \"--gr-chart-1\",\n \"section\": \"Data visualization roles\",\n \"description\": \"Первый цвет серии для графиков и data-visualization элементов.\",\n \"values\": {\n \"light\": \"#4f46e5\",\n \"dark\": \"#6366f1\"\n }\n },\n {\n \"name\": \"--gr-chart-2\",\n \"section\": \"Data visualization roles\",\n \"description\": \"Второй цвет серии для графиков и data-visualization элементов.\",\n \"values\": {\n \"light\": \"#10b981\",\n \"dark\": \"#34d399\"\n }\n },\n {\n \"name\": \"--gr-chart-3\",\n \"section\": \"Data visualization roles\",\n \"description\": \"Третий цвет серии для графиков и data-visualization элементов.\",\n \"values\": {\n \"light\": \"#f97316\",\n \"dark\": \"#fb923c\"\n }\n },\n {\n \"name\": \"--gr-chart-4\",\n \"section\": \"Data visualization roles\",\n \"description\": \"Четвёртый цвет серии для графиков и data-visualization элементов.\",\n \"values\": {\n \"light\": \"#6366f1\",\n \"dark\": \"#818cf8\"\n }\n },\n {\n \"name\": \"--gr-chart-5\",\n \"section\": \"Data visualization roles\",\n \"description\": \"Пятый цвет серии для графиков и data-visualization элементов.\",\n \"values\": {\n \"light\": \"#8b5cf6\",\n \"dark\": \"#a78bfa\"\n }\n },\n {\n \"name\": \"--gr-sidebar\",\n \"section\": \"Navigation roles\",\n \"description\": \"Фон sidebar/navigation rail области текущей темы.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#1e293b\"\n }\n },\n {\n \"name\": \"--gr-sidebar-fg\",\n \"section\": \"Navigation roles\",\n \"description\": \"Основной текст и иконки внутри sidebar.\",\n \"values\": {\n \"light\": \"#0f172a\",\n \"dark\": \"#f8fafc\"\n }\n },\n {\n \"name\": \"--gr-sidebar-primary\",\n \"section\": \"Navigation roles\",\n \"description\": \"Акцентный цвет активных/ключевых элементов внутри sidebar.\",\n \"values\": {\n \"light\": \"#4f46e5\",\n \"dark\": \"#6365f0\"\n }\n },\n {\n \"name\": \"--gr-sidebar-primary-fg\",\n \"section\": \"Navigation roles\",\n \"description\": \"Контрастный текст поверх sidebar primary-акцентов.\",\n \"values\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#ffffff\"\n }\n },\n {\n \"name\": \"--gr-sidebar-accent\",\n \"section\": \"Navigation roles\",\n \"description\": \"Мягкий accent-фон для hover/selected состояний в sidebar.\",\n \"values\": {\n \"light\": \"#f1f5f9\",\n \"dark\": \"#334155\"\n }\n },\n {\n \"name\": \"--gr-sidebar-accent-fg\",\n \"section\": \"Navigation roles\",\n \"description\": \"Цвет текста поверх sidebar accent-подложек.\",\n \"values\": {\n \"light\": \"#1e293b\",\n \"dark\": \"#f1f5f9\"\n }\n },\n {\n \"name\": \"--gr-sidebar-brd\",\n \"section\": \"Navigation roles\",\n \"description\": \"Бордеры и разделители sidebar-области.\",\n \"values\": {\n \"light\": \"#e2e8f0\",\n \"dark\": \"#334155\"\n }\n },\n {\n \"name\": \"--gr-sidebar-ring\",\n \"section\": \"Navigation roles\",\n \"description\": \"Focus-ring для интерактивных элементов внутри sidebar.\",\n \"values\": {\n \"light\": \"#6366f1\",\n \"dark\": \"#818cf8\"\n }\n }\n]\n\nexport const grComponentTokens: GrComponentToken[] = [\n {\n \"owner\": \"GrAlert\",\n \"name\": \"--gr-alert-bg\",\n \"kind\": \"inline\",\n \"default\": \"подложка тона (`--gr-<tone>-light`)\",\n \"description\": \"Фон полосы уведомления.\"\n },\n {\n \"owner\": \"GrAlert\",\n \"name\": \"--gr-alert-brd\",\n \"kind\": \"inline\",\n \"default\": \"подмес тона к подложке\",\n \"description\": \"Цвет рамки уведомления.\"\n },\n {\n \"owner\": \"GrAlert\",\n \"name\": \"--gr-alert-text-color\",\n \"kind\": \"inline\",\n \"default\": \"`--gr-<tone>-text`\",\n \"description\": \"Цвет основного текста уведомления.\"\n },\n {\n \"owner\": \"GrAlert\",\n \"name\": \"--gr-alert-title-color\",\n \"kind\": \"inline\",\n \"default\": \"`--gr-<tone>-text`\",\n \"description\": \"Цвет заголовка уведомления.\"\n },\n {\n \"owner\": \"GrAlert\",\n \"name\": \"--gr-alert-icon-color\",\n \"kind\": \"inline\",\n \"default\": \"насыщенный тон (`--gr-<tone>`)\",\n \"description\": \"Цвет иконки тона слева от текста.\"\n },\n {\n \"owner\": \"GrAlert\",\n \"name\": \"--gr-alert-close-color\",\n \"kind\": \"inline\",\n \"default\": \"`--gr-<tone>-text`\",\n \"description\": \"Цвет кнопки закрытия в покое.\"\n },\n {\n \"owner\": \"GrAlert\",\n \"name\": \"--gr-alert-close-hover-color\",\n \"kind\": \"inline\",\n \"default\": \"`--gr-<tone>-text`\",\n \"description\": \"Цвет кнопки закрытия под курсором.\"\n },\n {\n \"owner\": \"GrAlert\",\n \"name\": \"--gr-alert-close-hover-bg\",\n \"kind\": \"inline\",\n \"default\": \"подмес тона к подложке\",\n \"description\": \"Фон кнопки закрытия под курсором.\"\n },\n {\n \"owner\": \"GrAvatar\",\n \"name\": \"--gr-avatar-square-radius\",\n \"kind\": \"hook\",\n \"default\": \"10px\",\n \"description\": \"Скругление аватара в форме `square`. Не ступень общей шкалы: квадратный аватар мягче плитки, но жёстче чипа.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-semi-radius-xs\",\n \"kind\": \"hook\",\n \"default\": \"3px\",\n \"description\": \"Скругление бейджа `radius=\\\"semi\\\"` на ступени `xs`.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-semi-radius-sm\",\n \"kind\": \"hook\",\n \"default\": \"3px\",\n \"description\": \"Скругление бейджа `radius=\\\"semi\\\"` на ступени `sm`.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-semi-radius-md\",\n \"kind\": \"hook\",\n \"default\": \"5px\",\n \"description\": \"Скругление бейджа `radius=\\\"semi\\\"` на ступени `md`.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-semi-radius-lg\",\n \"kind\": \"hook\",\n \"default\": \"7px\",\n \"description\": \"Скругление бейджа `radius=\\\"semi\\\"` на ступени `lg`. Лестница 3/3/5/7 своя: бейдж скругляется медленнее, чем растёт.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-neutral-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-fg)\",\n \"description\": \"Заливка filled-бейджа нейтрального веса — инверсия страницы. В светлой теме — вес solid-кнопки, в тёмной — роль тона.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-neutral-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-bg)\",\n \"description\": \"Текст filled-бейджа нейтрального веса — инверсия страницы: полярность задаётся темой, а не заливкой.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-primary-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-primary-solid)\",\n \"description\": \"Заливка filled-бейджа тона `primary`. В светлой теме — вес solid-кнопки, в тёмной — роль тона.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-primary-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-primary-solid-fg)\",\n \"description\": \"Текст filled-бейджа тона `primary`: полярность задаётся темой, а не заливкой.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-success-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-success-solid)\",\n \"description\": \"Заливка filled-бейджа тона `success`. В светлой теме — вес solid-кнопки, в тёмной — роль тона.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-success-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-success-solid-fg)\",\n \"description\": \"Текст filled-бейджа тона `success`: полярность задаётся темой, а не заливкой.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-warning-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-warning-solid)\",\n \"description\": \"Заливка filled-бейджа тона `warning`. В светлой теме — вес solid-кнопки, в тёмной — роль тона.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-warning-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-warning-solid-fg)\",\n \"description\": \"Текст filled-бейджа тона `warning`: полярность задаётся темой, а не заливкой.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-danger-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-danger-solid)\",\n \"description\": \"Заливка filled-бейджа тона `danger`. В светлой теме — вес solid-кнопки, в тёмной — роль тона.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-danger-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-danger-solid-fg)\",\n \"description\": \"Текст filled-бейджа тона `danger`: полярность задаётся темой, а не заливкой.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-info-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-info-solid)\",\n \"description\": \"Заливка filled-бейджа тона `info`. В светлой теме — вес solid-кнопки, в тёмной — роль тона.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-info-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-info-solid-fg)\",\n \"description\": \"Текст filled-бейджа тона `info`: полярность задаётся темой, а не заливкой.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-slate-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-slate-solid)\",\n \"description\": \"Заливка filled-бейджа тона `slate`. В светлой теме — вес solid-кнопки, в тёмной — роль тона.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-slate-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-slate-solid-fg)\",\n \"description\": \"Текст filled-бейджа тона `slate`: полярность задаётся темой, а не заливкой.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-azure-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-azure-solid)\",\n \"description\": \"Заливка filled-бейджа тона `azure`. В светлой теме — вес solid-кнопки, в тёмной — роль тона.\"\n },\n {\n \"owner\": \"GrBadge\",\n \"name\": \"--gr-badge-azure-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-azure-solid-fg)\",\n \"description\": \"Текст filled-бейджа тона `azure`: полярность задаётся темой, а не заливкой.\"\n },\n {\n \"owner\": \"GrBadgeWrap\",\n \"name\": \"--gr-badge-wrap-offset-x\",\n \"kind\": \"hook\",\n \"default\": \"-0.5rem (для `dot` — -0.25rem)\",\n \"description\": \"Горизонтальный сдвиг метки относительно угла обёртки.\"\n },\n {\n \"owner\": \"GrBadgeWrap\",\n \"name\": \"--gr-badge-wrap-offset-y\",\n \"kind\": \"hook\",\n \"default\": \"-0.5rem (для `dot` — -0.25rem)\",\n \"description\": \"Вертикальный сдвиг метки относительно угла обёртки.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-radius\",\n \"kind\": \"hook\",\n \"default\": \"0.375rem\",\n \"description\": \"Скругление кнопки. Его же по умолчанию наследуют внешние углы `GrButtonGroup`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-square-size\",\n \"kind\": \"hook\",\n \"default\": \"высота кнопки текущей ступени\",\n \"description\": \"Сторона квадратной кнопки (`square`): иконка без подписи обязана остаться квадратом на любой ступени.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-primary-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-primary-solid)\",\n \"description\": \"Заливка solid-кнопки тона `primary`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-primary-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-primary-solid-hover)\",\n \"description\": \"Заливка solid-кнопки тона `primary` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-primary-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-primary-solid-active)\",\n \"description\": \"Заливка solid-кнопки тона `primary` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-primary-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-primary-solid-fg)\",\n \"description\": \"Цвет текста на solid-кнопке тона `primary`. Приходит из `--gr-primary-solid-fg`: заливка кнопки рассчитана нести светлый текст, и глобальный `-fg` тона на ней не подходит.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-primary-soft-bg\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-primary) 14%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `primary`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-primary-soft-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-primary) 18%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `primary` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-primary-soft-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-primary) 24%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `primary` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-success-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-success-solid)\",\n \"description\": \"Заливка solid-кнопки тона `success`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-success-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-success-solid-hover)\",\n \"description\": \"Заливка solid-кнопки тона `success` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-success-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-success-solid-active)\",\n \"description\": \"Заливка solid-кнопки тона `success` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-success-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-success-solid-fg)\",\n \"description\": \"Цвет текста на solid-кнопке тона `success`. Приходит из `--gr-success-solid-fg`: заливка кнопки рассчитана нести светлый текст, и глобальный `-fg` тона на ней не подходит.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-success-soft-bg\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-success) 14%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `success`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-success-soft-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-success) 18%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `success` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-success-soft-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-success) 24%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `success` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-warning-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-warning-solid)\",\n \"description\": \"Заливка solid-кнопки тона `warning`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-warning-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-warning-solid-hover)\",\n \"description\": \"Заливка solid-кнопки тона `warning` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-warning-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-warning-solid-active)\",\n \"description\": \"Заливка solid-кнопки тона `warning` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-warning-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-warning-solid-fg)\",\n \"description\": \"Цвет текста на solid-кнопке тона `warning`. Приходит из `--gr-warning-solid-fg`: заливка кнопки рассчитана нести светлый текст, и глобальный `-fg` тона на ней не подходит.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-warning-soft-bg\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-warning) 14%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `warning`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-warning-soft-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-warning) 18%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `warning` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-warning-soft-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-warning) 24%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `warning` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-danger-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-danger-solid)\",\n \"description\": \"Заливка solid-кнопки тона `danger`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-danger-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-danger-solid-hover)\",\n \"description\": \"Заливка solid-кнопки тона `danger` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-danger-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-danger-solid-active)\",\n \"description\": \"Заливка solid-кнопки тона `danger` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-danger-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-danger-solid-fg)\",\n \"description\": \"Цвет текста на solid-кнопке тона `danger`. Приходит из `--gr-danger-solid-fg`: заливка кнопки рассчитана нести светлый текст, и глобальный `-fg` тона на ней не подходит.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-danger-soft-bg\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-danger) 14%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `danger`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-danger-soft-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-danger) 18%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `danger` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-danger-soft-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-danger) 24%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `danger` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-info-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-info-solid)\",\n \"description\": \"Заливка solid-кнопки тона `info`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-info-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-info-solid-hover)\",\n \"description\": \"Заливка solid-кнопки тона `info` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-info-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-info-solid-active)\",\n \"description\": \"Заливка solid-кнопки тона `info` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-info-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-info-solid-fg)\",\n \"description\": \"Цвет текста на solid-кнопке тона `info`. Приходит из `--gr-info-solid-fg`: заливка кнопки рассчитана нести светлый текст, и глобальный `-fg` тона на ней не подходит.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-info-soft-bg\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-info) 14%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `info`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-info-soft-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-info) 18%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `info` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-info-soft-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-info) 24%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `info` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-slate-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-slate-solid)\",\n \"description\": \"Заливка solid-кнопки тона `slate`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-slate-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-slate-solid-hover)\",\n \"description\": \"Заливка solid-кнопки тона `slate` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-slate-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-slate-solid-active)\",\n \"description\": \"Заливка solid-кнопки тона `slate` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-slate-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-slate-solid-fg)\",\n \"description\": \"Цвет текста на solid-кнопке тона `slate`. Приходит из `--gr-slate-solid-fg`: заливка кнопки рассчитана нести светлый текст, и глобальный `-fg` тона на ней не подходит.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-slate-soft-bg\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-slate) 14%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `slate`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-slate-soft-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-slate) 18%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `slate` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-slate-soft-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-slate) 24%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `slate` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-azure-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-azure-solid)\",\n \"description\": \"Заливка solid-кнопки тона `azure`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-azure-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-azure-solid-hover)\",\n \"description\": \"Заливка solid-кнопки тона `azure` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-azure-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-azure-solid-active)\",\n \"description\": \"Заливка solid-кнопки тона `azure` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-azure-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-azure-solid-fg)\",\n \"description\": \"Цвет текста на solid-кнопке тона `azure`. Приходит из `--gr-azure-solid-fg`: заливка кнопки рассчитана нести светлый текст, и глобальный `-fg` тона на ней не подходит.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-azure-soft-bg\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-azure) 14%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `azure`.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-azure-soft-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-azure) 18%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `azure` под курсором.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-azure-soft-bg-active\",\n \"kind\": \"theme\",\n \"default\": \"color-mix(in srgb, var(--gr-azure) 24%, var(--gr-bg))\",\n \"description\": \"Заливка soft-кнопки тона `azure` в момент нажатия.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-disabled-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-disabled-bg)\",\n \"description\": \"Заливка недоступной кнопки: она гасится поверхностью, а не прозрачностью. Ссылка на общую роль — недоступное во всём пакете перекрашивается одним местом.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-disabled-fg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-disabled-fg)\",\n \"description\": \"Цвет текста недоступной кнопки. Ссылка на общую роль недоступного состояния.\"\n },\n {\n \"owner\": \"GrButton\",\n \"name\": \"--gr-button-disabled-brd\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-disabled-brd)\",\n \"description\": \"Цвет рамки недоступной кнопки. Ссылка на общую роль недоступного состояния.\"\n },\n {\n \"owner\": \"GrButtonGroup\",\n \"name\": \"--gr-button-group-radius\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-button-radius, 0.375rem)\",\n \"description\": \"Скругление внешних углов группы. По умолчанию наследует радиус кнопки — внутренние углы группа гасит сама.\"\n },\n {\n \"owner\": \"GrCodeBlock\",\n \"name\": \"--gr-code-block-bg\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted)\",\n \"description\": \"Фон блока кода.\"\n },\n {\n \"owner\": \"GrCodeBlock\",\n \"name\": \"--gr-code-block-fg\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-fg)\",\n \"description\": \"Цвет обычного текста и пунктуации внутри блока.\"\n },\n {\n \"owner\": \"GrCodeBlock\",\n \"name\": \"--gr-code-block-key\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-primary-text)\",\n \"description\": \"Цвет имени поля JSON. Ключ отличается от строки только идущим следом двоеточием, поэтому цвет — единственное, чем они различимы глазом.\"\n },\n {\n \"owner\": \"GrCodeBlock\",\n \"name\": \"--gr-code-block-string\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-success-text)\",\n \"description\": \"Цвет строкового значения.\"\n },\n {\n \"owner\": \"GrCodeBlock\",\n \"name\": \"--gr-code-block-number\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-azure-text)\",\n \"description\": \"Цвет числа. Взят от `azure`, а не от `info`: `info` — синий в двух шагах от индиго `primary`, и пара «ключ ↔ число» сливалась бы в `{\\\"count\\\": 42}`.\"\n },\n {\n \"owner\": \"GrCodeBlock\",\n \"name\": \"--gr-code-block-literal\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-warning-text)\",\n \"description\": \"Цвет литералов `true`, `false`, `null`.\"\n },\n {\n \"owner\": \"GrCodeBlock\",\n \"name\": \"--gr-code-block-line-number\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет номера строки. Номер рисуется CSS-счётчиком и текстом в разметке не существует — в выделение мышью он не попадает.\"\n },\n {\n \"owner\": \"GrCodeBlock\",\n \"name\": \"--gr-code-block-line-number-width\",\n \"kind\": \"hook\",\n \"default\": \"2.5em\",\n \"description\": \"Ширина колонки номеров. В `em`, а не в пикселях: колонка обязана следовать за кеглем блока. Ответ на тысячу строк требует четырёх знаков — тогда её расширяют.\"\n },\n {\n \"owner\": \"GrColorPicker\",\n \"name\": \"--gr-color-picker-checker-size\",\n \"kind\": \"hook\",\n \"default\": \"6px\",\n \"description\": \"Сторона клетки шахматной подложки под прозрачным цветом.\"\n },\n {\n \"owner\": \"GrColorPicker\",\n \"name\": \"--gr-color-picker-checker-light\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-bg)\",\n \"description\": \"Светлая клетка шахматной подложки.\"\n },\n {\n \"owner\": \"GrColorPicker\",\n \"name\": \"--gr-color-picker-checker-dark\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted)\",\n \"description\": \"Тёмная клетка шахматной подложки.\"\n },\n {\n \"owner\": \"GrColorPicker\",\n \"name\": \"--gr-color-picker-track-hue\",\n \"kind\": \"inline\",\n \"default\": \"радуга по кругу оттенков\",\n \"description\": \"Градиент дорожки оттенка. Задаётся компонентом: через `--gr-slider-rail` градиент не подать — хук уходит в `background-color`.\"\n },\n {\n \"owner\": \"GrColorPicker\",\n \"name\": \"--gr-color-picker-track-saturation\",\n \"kind\": \"inline\",\n \"default\": \"от серого к насыщенному при текущих оттенке и светлоте\",\n \"description\": \"Градиент дорожки насыщенности.\"\n },\n {\n \"owner\": \"GrColorPicker\",\n \"name\": \"--gr-color-picker-track-lightness\",\n \"kind\": \"inline\",\n \"default\": \"от чёрного через текущий цвет к белому\",\n \"description\": \"Градиент дорожки светлоты.\"\n },\n {\n \"owner\": \"GrColorPicker\",\n \"name\": \"--gr-color-picker-track-alpha\",\n \"kind\": \"inline\",\n \"default\": \"от прозрачного к текущему цвету\",\n \"description\": \"Градиент дорожки прозрачности.\"\n },\n {\n \"owner\": \"GrCommandPalette\",\n \"name\": \"--gr-command-active-bg\",\n \"kind\": \"hook\",\n \"default\": \"color-mix(in srgb, var(--gr-muted) 45%, transparent)\",\n \"description\": \"Фон активного пункта палитры (наведение и клавиатурный курсор).\"\n },\n {\n \"owner\": \"GrCommandPalette\",\n \"name\": \"--gr-command-match-bg\",\n \"kind\": \"hook\",\n \"default\": \"color-mix(in srgb, var(--gr-primary) 22%, transparent)\",\n \"description\": \"Подсветка совпавшей подстроки в подписи пункта.\"\n },\n {\n \"owner\": \"GrCommandPalette\",\n \"name\": \"--gr-command-item-radius\",\n \"kind\": \"hook\",\n \"default\": \"10px\",\n \"description\": \"Скругление пункта палитры.\"\n },\n {\n \"owner\": \"GrCommandPalette\",\n \"name\": \"--gr-command-input-font-size\",\n \"kind\": \"hook\",\n \"default\": \"15px\",\n \"description\": \"Кегль строки поиска: крупнее пунктов списка, потому что это единственное поле ввода в оверлее.\"\n },\n {\n \"owner\": \"GrCommandPalette\",\n \"name\": \"--gr-command-list-max-height\",\n \"kind\": \"hook\",\n \"default\": \"значение пропа `maxHeight` в пикселях\",\n \"description\": \"Максимальная высота списка; дальше список скроллится.\"\n },\n {\n \"owner\": \"GrDataTable\",\n \"name\": \"--gr-datatable-drag-handle\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет ручки перестановки колонки.\"\n },\n {\n \"owner\": \"GrDataTable\",\n \"name\": \"--gr-datatable-drag-indicator\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-primary)\",\n \"description\": \"Цвет полосы, показывающей место вставки колонки.\"\n },\n {\n \"owner\": \"GrDataTable\",\n \"name\": \"--gr-datatable-drag-indicator-width\",\n \"kind\": \"hook\",\n \"default\": \"2px\",\n \"description\": \"Толщина полосы места вставки колонки.\"\n },\n {\n \"owner\": \"GrDataTable\",\n \"name\": \"--gr-datatable-resizer\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-primary)\",\n \"description\": \"Цвет полосы изменения ширины колонки.\"\n },\n {\n \"owner\": \"GrDataTable\",\n \"name\": \"--gr-datatable-resizer-width\",\n \"kind\": \"hook\",\n \"default\": \"2px\",\n \"description\": \"Толщина полосы изменения ширины колонки.\"\n },\n {\n \"owner\": \"GrDataTable\",\n \"name\": \"--gr-datatable-pinned-shadow\",\n \"kind\": \"hook\",\n \"default\": \"4px 0 6px -4px rgba(0, 0, 0, 0.25)\",\n \"description\": \"Тень на границе группы колонок, закреплённых слева.\"\n },\n {\n \"owner\": \"GrDataTable\",\n \"name\": \"--gr-datatable-pinned-shadow-end\",\n \"kind\": \"hook\",\n \"default\": \"-4px 0 6px -4px rgba(0, 0, 0, 0.25)\",\n \"description\": \"Тень на границе группы колонок, закреплённых справа.\"\n },\n {\n \"owner\": \"GrDescriptionList\",\n \"name\": \"--gr-description-list-label-color\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет подписи (`<dt>`). Тон задаётся только значению, поэтому подпись перекрашивается отдельно.\"\n },\n {\n \"owner\": \"GrDescriptionList\",\n \"name\": \"--gr-description-list-row-gap\",\n \"kind\": \"hook\",\n \"default\": \"0.375rem (`density=\\\"compact\\\"` — 0.125rem)\",\n \"description\": \"Зазор между парами. Не ступень общей шкалы: плотность списка характеристик настраивается отдельно от отступов раскладки.\"\n },\n {\n \"owner\": \"GrDescriptionList\",\n \"name\": \"--gr-description-list-divider\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-brd)\",\n \"description\": \"Цвет линии между парами при `divided`.\"\n },\n {\n \"owner\": \"GrDivider\",\n \"name\": \"--gr-divider-thickness\",\n \"kind\": \"hook\",\n \"default\": \"1px\",\n \"description\": \"Толщина разделителя — общая для горизонтального и вертикального.\"\n },\n {\n \"owner\": \"GrFilePreview\",\n \"name\": \"--gr-file-preview-bg\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted)\",\n \"description\": \"Фон плитки. Виден у заглушки целиком, а у картинки — по краям при несовпадении пропорций; на время загрузки место занимает скелет.\"\n },\n {\n \"owner\": \"GrFilePreview\",\n \"name\": \"--gr-file-preview-icon\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет иконки вида файла и подписи под ней.\"\n },\n {\n \"owner\": \"GrFilePreview\",\n \"name\": \"--gr-file-preview-radius\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-radius-md)\",\n \"description\": \"Скругление плитки. Отдельный хук, а не ступень общей шкалы: плитка в ленте документов и плитка в строке списка скругляются по-разному.\"\n },\n {\n \"owner\": \"GrIcon\",\n \"name\": \"--gr-icon-size\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-icon-size-md, 18px)\",\n \"description\": \"Итоговый размер иконки. И обёртка, и вложенный SVG считают себя от него, поэтому размер задаётся одной переменной, а не пропами разметки.\"\n },\n {\n \"owner\": \"GrImageViewer\",\n \"name\": \"--gr-image-viewer-scrim\",\n \"kind\": \"theme\",\n \"default\": \"rgb(0 0 0 / 0.6)\",\n \"description\": \"Затемнение под кадром. Плотнее общего `--gr-overlay-bg`: рядом с фотографией подложка обязана убрать фон целиком, а не приглушить его.\"\n },\n {\n \"owner\": \"GrImageViewer\",\n \"name\": \"--gr-image-viewer-chrome-bg\",\n \"kind\": \"theme\",\n \"default\": \"rgb(0 0 0 / 0.35)\",\n \"description\": \"Фон панелей управления просмотрщика.\"\n },\n {\n \"owner\": \"GrImageViewer\",\n \"name\": \"--gr-image-viewer-chrome-bg-hover\",\n \"kind\": \"theme\",\n \"default\": \"rgb(0 0 0 / 0.55)\",\n \"description\": \"Фон кнопки хрома под курсором.\"\n },\n {\n \"owner\": \"GrImageViewer\",\n \"name\": \"--gr-image-viewer-chrome-bg-soft\",\n \"kind\": \"theme\",\n \"default\": \"rgb(255 255 255 / 0.1)\",\n \"description\": \"Мягкая подложка внутри хрома — счётчик кадров, шкала масштаба.\"\n },\n {\n \"owner\": \"GrImageViewer\",\n \"name\": \"--gr-image-viewer-chrome-fg\",\n \"kind\": \"theme\",\n \"default\": \"rgb(255 255 255 / 0.95)\",\n \"description\": \"Основной цвет текста и иконок хрома.\"\n },\n {\n \"owner\": \"GrImageViewer\",\n \"name\": \"--gr-image-viewer-chrome-fg-muted\",\n \"kind\": \"theme\",\n \"default\": \"rgb(255 255 255 / 0.8)\",\n \"description\": \"Приглушённый текст хрома — подписи и вторичные значения.\"\n },\n {\n \"owner\": \"GrImageViewer\",\n \"name\": \"--gr-image-viewer-chrome-brd\",\n \"kind\": \"theme\",\n \"default\": \"rgb(255 255 255 / 0.2)\",\n \"description\": \"Цвет рамок внутри хрома.\"\n },\n {\n \"owner\": \"GrImageViewer\",\n \"name\": \"--gr-image-viewer-ring\",\n \"kind\": \"theme\",\n \"default\": \"rgb(255 255 255 / 0.8)\",\n \"description\": \"Focus-ring внутри просмотрщика: общий `--gr-ring` на тёмном хроме не читается.\"\n },\n {\n \"owner\": \"GrJsonViewer\",\n \"name\": \"--gr-json-viewer-bg\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted)\",\n \"description\": \"Фон панели просмотрщика.\"\n },\n {\n \"owner\": \"GrJsonViewer\",\n \"name\": \"--gr-json-viewer-key\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-primary-text)\",\n \"description\": \"Цвет имени ключа. Ключ и значение стоят в одной строке через двоеточие, и цвет — единственное, чем они различимы глазом.\"\n },\n {\n \"owner\": \"GrJsonViewer\",\n \"name\": \"--gr-json-viewer-string\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-success-text)\",\n \"description\": \"Цвет строкового значения.\"\n },\n {\n \"owner\": \"GrJsonViewer\",\n \"name\": \"--gr-json-viewer-number\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-azure-text)\",\n \"description\": \"Цвет числа. Взят от `azure`, а не от `info`: `info` — синий в двух шагах от индиго `primary`, и пара «ключ ↔ число» сливалась бы в одной строке.\"\n },\n {\n \"owner\": \"GrJsonViewer\",\n \"name\": \"--gr-json-viewer-literal\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-warning-text)\",\n \"description\": \"Цвет литералов `true`, `false`, `null`.\"\n },\n {\n \"owner\": \"GrJsonViewer\",\n \"name\": \"--gr-json-viewer-punctuation\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-fg)\",\n \"description\": \"Цвет двоеточия между ключом и значением.\"\n },\n {\n \"owner\": \"GrJsonViewer\",\n \"name\": \"--gr-json-viewer-muted\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет служебного: счётчика у свёрнутой ветки, заглушки «ещё N элементов», значений, которых в JSON не бывает.\"\n },\n {\n \"owner\": \"GrLink\",\n \"name\": \"--gr-link-color\",\n \"kind\": \"inline\",\n \"default\": \"`-text`-роль выбранного тона\",\n \"description\": \"Цвет ссылки в покое.\"\n },\n {\n \"owner\": \"GrLink\",\n \"name\": \"--gr-link-color-hover\",\n \"kind\": \"inline\",\n \"default\": \"подмес `--gr-fg` 8% к базовому цвету\",\n \"description\": \"Цвет ссылки под курсором.\"\n },\n {\n \"owner\": \"GrLink\",\n \"name\": \"--gr-link-color-active\",\n \"kind\": \"inline\",\n \"default\": \"подмес `--gr-fg` 16% к базовому цвету\",\n \"description\": \"Цвет ссылки в момент нажатия.\"\n },\n {\n \"owner\": \"GrNavbar\",\n \"name\": \"--gr-navbar-height\",\n \"kind\": \"hook\",\n \"default\": \"56px\",\n \"description\": \"Высота шапки. Ею же считается отступ содержимого под прилипшей шапкой.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-primary)\",\n \"description\": \"Заливка полосы прогресса по умолчанию.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-neutral-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-secondary)\",\n \"description\": \"Заливка полосы тона `neutral`.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-success-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-success)\",\n \"description\": \"Заливка полосы тона `success`.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-warning-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-warning)\",\n \"description\": \"Заливка полосы тона `warning`.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-danger-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-danger)\",\n \"description\": \"Заливка полосы тона `danger`.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-info-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-info)\",\n \"description\": \"Заливка полосы тона `info`.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-slate-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-slate)\",\n \"description\": \"Заливка полосы тона `slate`.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-azure-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-azure)\",\n \"description\": \"Заливка полосы тона `azure`.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-buffer-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-brd)\",\n \"description\": \"Слой буфера позади заливки. Тон не наследует: нейтральный слой между треком и заливкой читается у всех восьми тонов.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-indeterminate-bg\",\n \"kind\": \"theme\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Заливка неопределённого режима под `prefers-reduced-motion: reduce`, когда бегущая полоса остановлена.\"\n },\n {\n \"owner\": \"GrProgressBar\",\n \"name\": \"--gr-progress-indeterminate-duration\",\n \"kind\": \"hook\",\n \"default\": \"1.4s\",\n \"description\": \"Период пробега полосы в неопределённом режиме.\"\n },\n {\n \"owner\": \"GrProgressCircle\",\n \"name\": \"--gr-progress-circle-size\",\n \"kind\": \"hook\",\n \"default\": \"2rem / 3rem / 4rem / 6rem по ступеням `xs…lg`\",\n \"description\": \"Диаметр кольца. Геометрия дуги считается в единицах `viewBox`, поэтому масштаб можно менять свободно.\"\n },\n {\n \"owner\": \"GrProgressCircle\",\n \"name\": \"--gr-progress-circle-track\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted)\",\n \"description\": \"Цвет дорожки — непройденной части кольца.\"\n },\n {\n \"owner\": \"GrProgressCircle\",\n \"name\": \"--gr-progress-circle-cap\",\n \"kind\": \"hook\",\n \"default\": \"round\",\n \"description\": \"Торец дуги значения: `round` или `butt` для строгой шкалы.\"\n },\n {\n \"owner\": \"GrProgressCircle\",\n \"name\": \"--gr-progress-circle-value-size\",\n \"kind\": \"hook\",\n \"default\": \"кегль по ступени `size`\",\n \"description\": \"Кегль содержимого в центре кольца: свой формат значения может не влезть в дефолтный.\"\n },\n {\n \"owner\": \"GrRating\",\n \"name\": \"--gr-rating-color\",\n \"kind\": \"hook\",\n \"default\": \"насыщенный тон (`--gr-<tone>`)\",\n \"description\": \"Цвет заполненного символа. Перекрывает тон точечно, не трогая остальные компоненты.\"\n },\n {\n \"owner\": \"GrRating\",\n \"name\": \"--gr-rating-void-color\",\n \"kind\": \"hook\",\n \"default\": \"color-mix(in srgb, var(--gr-muted-fg) 35%, transparent)\",\n \"description\": \"Цвет незаполненного символа: шкала обязана читаться целиком, а не только заполненной частью.\"\n },\n {\n \"owner\": \"GrRating\",\n \"name\": \"--gr-rating-symbol-size\",\n \"kind\": \"hook\",\n \"default\": \"0.875rem / 1rem / 1.25rem / 1.5rem по ступеням `xs…lg`\",\n \"description\": \"Размер символа шкалы.\"\n },\n {\n \"owner\": \"GrRating\",\n \"name\": \"--gr-rating-font-size-lg\",\n \"kind\": \"hook\",\n \"default\": \"15px\",\n \"description\": \"Кегль подписи на ступени `lg`: между `md` и `lg` шкалы контролов.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-track-bg\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-muted); в варианте `solid` — var(--gr-card)\",\n \"description\": \"Фон дорожки переключателя.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-track-brd\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-brd)\",\n \"description\": \"Цвет рамки дорожки.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-track-shadow\",\n \"kind\": \"inline\",\n \"default\": \"none; в варианте `solid` — var(--gr-shadow-1)\",\n \"description\": \"Тень дорожки.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-indicator-bg\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-card); в варианте `primary` — var(--gr-primary)\",\n \"description\": \"Заливка бегунка под выбранным пунктом.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-indicator-brd\",\n \"kind\": \"inline\",\n \"default\": \"подмес `--gr-fg` к фону дорожки\",\n \"description\": \"Цвет рамки бегунка.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-indicator-shadow\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-shadow-1); в варианте `solid` — var(--gr-shadow-2)\",\n \"description\": \"Тень бегунка — она отделяет его от дорожки.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-indicator-highlight-shadow\",\n \"kind\": \"hook\",\n \"default\": \"0 0 0 0 transparent\",\n \"description\": \"Дополнительная подсветка бегунка: по умолчанию выключена, включается темой поверх основной тени.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-item-color\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет невыбранного пункта.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-item-hover-color\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-fg)\",\n \"description\": \"Цвет пункта под курсором.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-item-selected-color\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-fg); в варианте `primary` — var(--gr-primary-fg)\",\n \"description\": \"Цвет выбранного пункта.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-item-px\",\n \"kind\": \"inline\",\n \"default\": \"10px / 12px / 14px / 16px по ступеням `xs…lg`\",\n \"description\": \"Горизонтальные поля пункта.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-item-py\",\n \"kind\": \"inline\",\n \"default\": \"4px / 6px / 8px / 10px по ступеням `xs…lg`\",\n \"description\": \"Вертикальные поля пункта.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-min-height\",\n \"kind\": \"inline\",\n \"default\": \"24px / 28px / 40px / 46px по ступеням `xs…lg`\",\n \"description\": \"Минимальная высота дорожки: переключатель обязан вставать в строку с контролами той же ступени.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-padding\",\n \"kind\": \"inline\",\n \"default\": \"4px\",\n \"description\": \"Внутренний отступ дорожки вокруг бегунка.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-radius\",\n \"kind\": \"inline\",\n \"default\": \"9999px\",\n \"description\": \"Скругление дорожки и бегунка.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-font-size\",\n \"kind\": \"inline\",\n \"default\": \"0.75rem / 0.875rem / 0.9375rem по ступеням\",\n \"description\": \"Кегль подписи пункта.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-font-weight\",\n \"kind\": \"inline\",\n \"default\": \"600\",\n \"description\": \"Начертание подписи пункта.\"\n },\n {\n \"owner\": \"GrSegmented\",\n \"name\": \"--gr-segmented-line-height\",\n \"kind\": \"inline\",\n \"default\": \"1rem / 1.25rem по ступеням\",\n \"description\": \"Межстрочный интервал подписи пункта.\"\n },\n {\n \"owner\": \"GrSlider\",\n \"name\": \"--gr-slider-fill\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-primary)\",\n \"description\": \"Цвет пройденной части трека.\"\n },\n {\n \"owner\": \"GrSlider\",\n \"name\": \"--gr-slider-rail\",\n \"kind\": \"hook\",\n \"default\": \"color-mix(in srgb, var(--gr-muted) 45%, transparent)\",\n \"description\": \"Цвет непройденной части трека.\"\n },\n {\n \"owner\": \"GrSlider\",\n \"name\": \"--gr-slider-track-height\",\n \"kind\": \"hook\",\n \"default\": \"0.1875rem / 0.25rem / 0.375rem / 0.5rem по ступеням `xs…lg`\",\n \"description\": \"Толщина трека.\"\n },\n {\n \"owner\": \"GrSlider\",\n \"name\": \"--gr-slider-thumb-size\",\n \"kind\": \"hook\",\n \"default\": \"0.75rem / 0.875rem / 1rem / 1.25rem по ступеням `xs…lg`\",\n \"description\": \"Диаметр ползунка.\"\n },\n {\n \"owner\": \"GrSlider\",\n \"name\": \"--gr-slider-thumb-bg\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-bg)\",\n \"description\": \"Заливка ползунка.\"\n },\n {\n \"owner\": \"GrSlider\",\n \"name\": \"--gr-slider-thumb-border\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-slider-fill, var(--gr-primary))\",\n \"description\": \"Цвет рамки ползунка. По умолчанию совпадает с заливкой трека.\"\n },\n {\n \"owner\": \"GrSlider\",\n \"name\": \"--gr-slider-length\",\n \"kind\": \"hook\",\n \"default\": \"10rem\",\n \"description\": \"Длина вертикального слайдера: горизонтальный тянется по ширине контейнера, вертикальному нужна явная высота.\"\n },\n {\n \"owner\": \"GrSortableList\",\n \"name\": \"--gr-sortable-handle-size\",\n \"kind\": \"hook\",\n \"default\": \"1.5rem\",\n \"description\": \"Размер ручки переноса.\"\n },\n {\n \"owner\": \"GrSortableList\",\n \"name\": \"--gr-sortable-handle-color\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет ручки переноса.\"\n },\n {\n \"owner\": \"GrSortableList\",\n \"name\": \"--gr-sortable-row-bg-active\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted)\",\n \"description\": \"Фон строки, которую переносят указателем или держат с клавиатуры.\"\n },\n {\n \"owner\": \"GrSortableList\",\n \"name\": \"--gr-sortable-indicator\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-primary)\",\n \"description\": \"Цвет линии, показывающей место вставки.\"\n },\n {\n \"owner\": \"GrSortableList\",\n \"name\": \"--gr-sortable-indicator-width\",\n \"kind\": \"hook\",\n \"default\": \"2px\",\n \"description\": \"Толщина линии места вставки.\"\n },\n {\n \"owner\": \"GrSplitter\",\n \"name\": \"--gr-splitter-size\",\n \"kind\": \"hook\",\n \"default\": \"6px\",\n \"description\": \"Толщина полосы разделителя — ширина её грид-трека.\"\n },\n {\n \"owner\": \"GrSplitter\",\n \"name\": \"--gr-splitter-hit\",\n \"kind\": \"hook\",\n \"default\": \"4px\",\n \"description\": \"Запас зоны захвата с каждой стороны полосы: мишень в шесть пикселей мышью не берётся.\"\n },\n {\n \"owner\": \"GrSplitter\",\n \"name\": \"--gr-splitter-color\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-brd)\",\n \"description\": \"Цвет разделителя в покое.\"\n },\n {\n \"owner\": \"GrSplitter\",\n \"name\": \"--gr-splitter-hover-color\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет разделителя под курсором.\"\n },\n {\n \"owner\": \"GrSplitter\",\n \"name\": \"--gr-splitter-active-color\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-primary)\",\n \"description\": \"Цвет разделителя во время перетаскивания.\"\n },\n {\n \"owner\": \"GrSplitter\",\n \"name\": \"--gr-splitter-grip\",\n \"kind\": \"hook\",\n \"default\": \"24px\",\n \"description\": \"Длина насечки посередине разделителя. `0` убирает её.\"\n },\n {\n \"owner\": \"GrStatistic\",\n \"name\": \"--gr-statistic-title-color\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-muted-fg)\",\n \"description\": \"Цвет подписи над значением.\"\n },\n {\n \"owner\": \"GrStatistic\",\n \"name\": \"--gr-statistic-value-color\",\n \"kind\": \"hook\",\n \"default\": \"`-text`-роль выбранного тона\",\n \"description\": \"Цвет самого значения.\"\n },\n {\n \"owner\": \"GrSwitch\",\n \"name\": \"--gr-switch-track-bg\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-primary) во включённом состоянии, var(--gr-muted) в выключенном, var(--gr-disabled-bg) в недоступном\",\n \"description\": \"Заливка дорожки переключателя.\"\n },\n {\n \"owner\": \"GrSwitch\",\n \"name\": \"--gr-switch-track-brd\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-primary) / var(--gr-brd) / var(--gr-disabled-brd)\",\n \"description\": \"Цвет рамки дорожки переключателя.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-axis-width\",\n \"kind\": \"hook\",\n \"default\": \"2px\",\n \"description\": \"Толщина оси ленты.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-axis-color\",\n \"kind\": \"hook\",\n \"default\": \"var(--gr-brd)\",\n \"description\": \"Цвет оси и пунктира у незавершённых событий.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-marker-size\",\n \"kind\": \"hook\",\n \"default\": \"10px\",\n \"description\": \"Диаметр точки события.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-marker-ring\",\n \"kind\": \"hook\",\n \"default\": \"2px\",\n \"description\": \"Толщина обводки полой точки (`variant=\\\"outlined\\\"`, `pending`).\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-marker-top\",\n \"kind\": \"hook\",\n \"default\": \"0.35rem\",\n \"description\": \"Отступ точки сверху: выравнивает её по первой строке текста события.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-gap\",\n \"kind\": \"hook\",\n \"default\": \"0.75rem\",\n \"description\": \"Расстояние между колонками ленты — осью, меткой времени и содержимым.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-line-min\",\n \"kind\": \"hook\",\n \"default\": \"0.75rem\",\n \"description\": \"Минимальная длина отрезка оси: без неё однострочное событие обрывало бы линию.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-time-width\",\n \"kind\": \"hook\",\n \"default\": \"5.5rem\",\n \"description\": \"Ширина колонки времени в `layout=\\\"time\\\"`.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-dash\",\n \"kind\": \"hook\",\n \"default\": \"4px\",\n \"description\": \"Шаг пунктира на отрезке оси после незавершённого события.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-item-min-width\",\n \"kind\": \"hook\",\n \"default\": \"12rem\",\n \"description\": \"Ширина колонки события в горизонтальной ленте.\"\n },\n {\n \"owner\": \"GrTimeline\",\n \"name\": \"--gr-timeline-columns\",\n \"kind\": \"css\",\n \"default\": \"`auto 1fr`, а по раскладкам — с колонкой времени либо симметричная\",\n \"description\": \"Сетка колонок ленты. Задаётся собственным CSS компонента по `layout`; строка события и заголовок группы делят её, чтобы ось у них совпадала.\"\n },\n {\n \"owner\": \"GrToaster\",\n \"name\": \"--gr-toaster-width\",\n \"kind\": \"css\",\n \"default\": \"360px\",\n \"description\": \"Ширина стека тостов. Проп `width` задаёт её же, поэтому одно и то же настраивается и разметкой, и темой.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-gap\",\n \"kind\": \"css\",\n \"default\": \"2px\",\n \"description\": \"Просвет между строками дерева.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-children-pl\",\n \"kind\": \"css\",\n \"default\": \"10px\",\n \"description\": \"Отступ вложенного списка от левого края родителя.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-indent-step\",\n \"kind\": \"css\",\n \"default\": \"calc(24px + var(--gr-tree-children-pl) + var(--gr-tree-branch-line-width))\",\n \"description\": \"Шаг отступа уровня. Складывается из переключателя, отступа вложенного списка и толщины направляющей — линия обязана попадать ровно между ними.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-indent\",\n \"kind\": \"inline\",\n \"default\": \"шаг отступа × глубина узла\",\n \"description\": \"Готовый отступ конкретной строки: шаг уровня, умноженный на её глубину.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-min-height\",\n \"kind\": \"inline\",\n \"default\": \"22px / 24px / 28px / 32px по ступеням `xs…lg`\",\n \"description\": \"Минимальная высота строки.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-px\",\n \"kind\": \"inline\",\n \"default\": \"4px / 6px / 8px / 10px по ступеням `xs…lg`\",\n \"description\": \"Горизонтальные поля строки.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-py\",\n \"kind\": \"inline\",\n \"default\": \"3px / 5px / 8px / 10px по ступеням `xs…lg`\",\n \"description\": \"Вертикальные поля строки.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-pr\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-tree-row-px)\",\n \"description\": \"Правое поле строки — отдельно от левого: справа часто стоят действия узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-radius\",\n \"kind\": \"css\",\n \"default\": \"8px\",\n \"description\": \"Скругление подсветки строки.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-color\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-fg)\",\n \"description\": \"Цвет текста строки.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-hover-bg\",\n \"kind\": \"css\",\n \"default\": \"color-mix(in srgb, var(--gr-primary) 10%, transparent)\",\n \"description\": \"Фон строки под курсором.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-current-bg\",\n \"kind\": \"css\",\n \"default\": \"color-mix(in srgb, var(--gr-primary) 5%, transparent)\",\n \"description\": \"Фон текущей (выбранной) строки.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-row-current-hover-bg\",\n \"kind\": \"css\",\n \"default\": \"color-mix(in srgb, var(--gr-primary) 16%, transparent)\",\n \"description\": \"Фон текущей строки под курсором.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-font-size\",\n \"kind\": \"inline\",\n \"default\": \"12px / 13px / inherit / 15px по ступеням `xs…lg`\",\n \"description\": \"Кегль подписи узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-content-gap\",\n \"kind\": \"inline\",\n \"default\": \"4px / 6px / 8px / 10px по ступеням `xs…lg`\",\n \"description\": \"Просвет между иконкой и подписью узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-icon-size\",\n \"kind\": \"inline\",\n \"default\": \"12px / 14px / 16px / 20px по ступеням `xs…lg`\",\n \"description\": \"Размер иконки узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-toggle-size\",\n \"kind\": \"inline\",\n \"default\": \"18px / 20px / 24px / 28px по ступеням `xs…lg`\",\n \"description\": \"Размер кнопки разворота ветки.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-toggle-mr\",\n \"kind\": \"css\",\n \"default\": \"0\",\n \"description\": \"Отступ кнопки разворота от содержимого узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-toggle-radius\",\n \"kind\": \"css\",\n \"default\": \"6px\",\n \"description\": \"Скругление кнопки разворота.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-toggle-color\",\n \"kind\": \"css\",\n \"default\": \"inherit\",\n \"description\": \"Цвет стрелки разворота.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-toggle-hover-bg\",\n \"kind\": \"css\",\n \"default\": \"color-mix(in srgb, var(--gr-muted) 25%, transparent)\",\n \"description\": \"Фон кнопки разворота под курсором.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-toggle-hover-color\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-tree-toggle-color)\",\n \"description\": \"Цвет стрелки разворота под курсором.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-size\",\n \"kind\": \"inline\",\n \"default\": \"18px / 20px / 24px / 28px по ступеням `xs…lg`\",\n \"description\": \"Размер ручки перетаскивания.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-mr\",\n \"kind\": \"css\",\n \"default\": \"0\",\n \"description\": \"Отступ ручки перетаскивания от содержимого узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-radius\",\n \"kind\": \"css\",\n \"default\": \"6px\",\n \"description\": \"Скругление ручки перетаскивания.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-color\",\n \"kind\": \"css\",\n \"default\": \"inherit\",\n \"description\": \"Цвет ручки перетаскивания.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-opacity\",\n \"kind\": \"css\",\n \"default\": \"0.55\",\n \"description\": \"Прозрачность ручки в покое: ручка не должна спорить с подписью узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-hover-bg\",\n \"kind\": \"css\",\n \"default\": \"color-mix(in srgb, var(--gr-muted) 22%, transparent)\",\n \"description\": \"Фон ручки перетаскивания под курсором.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-hover-color\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-tree-drag-handle-color)\",\n \"description\": \"Цвет ручки перетаскивания под курсором.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-hover-opacity\",\n \"kind\": \"css\",\n \"default\": \"0.9\",\n \"description\": \"Прозрачность ручки под курсором.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-drag-handle-disabled-opacity\",\n \"kind\": \"css\",\n \"default\": \"0.25\",\n \"description\": \"Прозрачность ручки у узла, который перетаскивать нельзя.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-checkbox-size\",\n \"kind\": \"css\",\n \"default\": \"16px\",\n \"description\": \"Сторона коробки чекбокса узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-checkbox-radius\",\n \"kind\": \"css\",\n \"default\": \"4px\",\n \"description\": \"Скругление коробки чекбокса.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-checkbox-mr\",\n \"kind\": \"css\",\n \"default\": \"4px\",\n \"description\": \"Отступ чекбокса от содержимого узла.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-checkbox-bg\",\n \"kind\": \"css\",\n \"default\": \"transparent\",\n \"description\": \"Фон невыбранного чекбокса.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-checkbox-brd\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-brd)\",\n \"description\": \"Цвет рамки чекбокса.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-checkbox-checked-bg\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-primary)\",\n \"description\": \"Фон отмеченного чекбокса.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-checkbox-checked-fg\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-primary-fg)\",\n \"description\": \"Цвет галочки в отмеченном чекбоксе.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-branch-line-width\",\n \"kind\": \"css\",\n \"default\": \"2px\",\n \"description\": \"Толщина направляющей линии уровня.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-branch-line-offset\",\n \"kind\": \"css\",\n \"default\": \"24px\",\n \"description\": \"Сдвиг направляющей от левого края строки.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-branch-line-default-color\",\n \"kind\": \"css\",\n \"default\": \"var(--gr-tree-row-current-bg)\",\n \"description\": \"Цвет направляющей по умолчанию.\"\n },\n {\n \"owner\": \"GrTree\",\n \"name\": \"--gr-tree-branch-line-color\",\n \"kind\": \"inline\",\n \"default\": \"var(--gr-tree-branch-line-default-color)\",\n \"description\": \"Цвет направляющей конкретной ветки — им подсвечивается путь до текущего узла.\"\n },\n {\n \"owner\": \"composables\",\n \"name\": \"--gr-virtual-before\",\n \"kind\": \"inline\",\n \"default\": \"0px\",\n \"description\": \"Высота спейсера перед первым отрисованным элементом виртуального списка. Ставится `useVirtualList` и читается через `[data-gr-virtual]::before` — потребители (`GrList`, `GrSelect`, `GrTree`, `GrAutocomplete`, `GrCommandPalette`) свою копию не заводят.\"\n },\n {\n \"owner\": \"composables\",\n \"name\": \"--gr-virtual-after\",\n \"kind\": \"inline\",\n \"default\": \"0px\",\n \"description\": \"Высота спейсера после последнего отрисованного элемента виртуального списка.\"\n }\n]\n"],"mappings":";AAIA,IAAa,eAAe,CAC1B,SACA,MACF;AAEA,IAAa,qBAA0C;CACrD;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EACE,QAAQ;EACR,SAAS;EACT,WAAW;EACX,eAAe;CACjB;CACA;EA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Q;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAAQ;EACV;CACF;CACA;EACE,QAAQ;EACR,WAAW;EACX,eAAe;EACf,UAAU;GACR,SAAS;GACT,QAA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"}