@teseor/css 1.8.0 → 1.9.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 (183) hide show
  1. package/dist/compiled.css +1 -1
  2. package/dist/index.css +115 -115
  3. package/package.json +1 -1
  4. package/src/components/actions/button/button.api.json +29 -32
  5. package/src/components/actions/button/index.scss +36 -11
  6. package/src/components/actions/button-group/button-group.api.json +3 -1
  7. package/src/components/actions/button-group/index.scss +4 -0
  8. package/src/components/actions/close-button/close-button.api.json +31 -18
  9. package/src/components/actions/close-button/index.scss +26 -6
  10. package/src/components/content/divider/divider.api.json +12 -7
  11. package/src/components/content/divider/index.scss +11 -4
  12. package/src/components/content/scroll-area/index.scss +15 -1
  13. package/src/components/content/scroll-area/scroll-area-visual.png +0 -0
  14. package/src/components/content/scroll-area/scroll-area.api.json +33 -22
  15. package/src/components/content/scroll-area/scroll-area.docs.json +70 -1
  16. package/src/components/content/spacer/index.scss +6 -1
  17. package/src/components/content/spacer/spacer.api.json +8 -1
  18. package/src/components/data-display/avatar/avatar.api.json +36 -17
  19. package/src/components/data-display/avatar/index.scss +20 -2
  20. package/src/components/data-display/badge/badge.api.json +30 -48
  21. package/src/components/data-display/badge/index.scss +13 -0
  22. package/src/components/data-display/card/card.api.json +21 -23
  23. package/src/components/data-display/card/index.scss +19 -4
  24. package/src/components/data-display/data-list/data-list.api.json +9 -4
  25. package/src/components/data-display/data-list/index.scss +28 -11
  26. package/src/components/data-display/icon/icon.api.json +11 -22
  27. package/src/components/data-display/icon/index.scss +9 -4
  28. package/src/components/data-display/image/image.api.json +40 -26
  29. package/src/components/data-display/image/image.docs.json +1 -1
  30. package/src/components/data-display/image/index.scss +15 -1
  31. package/src/components/data-display/stat/index.scss +13 -1
  32. package/src/components/data-display/stat/stat.api.json +45 -7
  33. package/src/components/data-display/status/index.scss +8 -0
  34. package/src/components/data-display/status/status.api.json +10 -6
  35. package/src/components/data-display/table/index.scss +20 -6
  36. package/src/components/data-display/table/table.api.json +11 -5
  37. package/src/components/data-display/tag/index.scss +28 -3
  38. package/src/components/data-display/tag/tag.api.json +48 -22
  39. package/src/components/disclosure/accordion/accordion.api.json +7 -3
  40. package/src/components/disclosure/accordion/index.scss +8 -2
  41. package/src/components/disclosure/disclosure/disclosure.api.json +15 -8
  42. package/src/components/disclosure/disclosure/index.scss +21 -6
  43. package/src/components/feedback/alert/alert.api.json +40 -65
  44. package/src/components/feedback/alert/index.scss +26 -7
  45. package/src/components/feedback/progress/index.scss +16 -3
  46. package/src/components/feedback/progress/progress.api.json +13 -8
  47. package/src/components/feedback/progress-circle/index.scss +15 -2
  48. package/src/components/feedback/progress-circle/progress-circle.api.json +17 -8
  49. package/src/components/feedback/skeleton/index.scss +9 -2
  50. package/src/components/feedback/skeleton/skeleton.api.json +8 -4
  51. package/src/components/feedback/spinner/index.scss +14 -1
  52. package/src/components/feedback/spinner/spinner.api.json +27 -13
  53. package/src/components/feedback/toast/index.scss +39 -15
  54. package/src/components/feedback/toast/toast.api.json +39 -13
  55. package/src/components/forms/checkbox/checkbox.api.json +22 -11
  56. package/src/components/forms/checkbox/index.scss +27 -9
  57. package/src/components/forms/checkbox-group/checkbox-group.api.json +33 -14
  58. package/src/components/forms/checkbox-group/index.scss +22 -5
  59. package/src/components/forms/field/field.api.json +5 -3
  60. package/src/components/forms/field/index.scss +4 -0
  61. package/src/components/forms/fieldset/fieldset.api.json +29 -10
  62. package/src/components/forms/fieldset/index.scss +21 -4
  63. package/src/components/forms/form/form.api.json +15 -11
  64. package/src/components/forms/form/index.scss +10 -0
  65. package/src/components/forms/form-error/form-error.api.json +7 -3
  66. package/src/components/forms/form-error/index.scss +7 -1
  67. package/src/components/forms/form-helper/form-helper.api.json +7 -3
  68. package/src/components/forms/form-helper/index.scss +7 -1
  69. package/src/components/forms/input/index.scss +43 -12
  70. package/src/components/forms/input/input.api.json +36 -38
  71. package/src/components/forms/label/index.scss +14 -5
  72. package/src/components/forms/label/label.api.json +9 -4
  73. package/src/components/forms/number-input/index.scss +40 -15
  74. package/src/components/forms/number-input/number-input-visual.png +0 -0
  75. package/src/components/forms/number-input/number-input.api.json +48 -19
  76. package/src/components/forms/number-input/number-input.docs.json +49 -0
  77. package/src/components/forms/password-input/index.scss +44 -13
  78. package/src/components/forms/password-input/password-input-visual.png +0 -0
  79. package/src/components/forms/password-input/password-input.api.json +56 -25
  80. package/src/components/forms/password-input/password-input.docs.json +40 -0
  81. package/src/components/forms/radio/index.scss +27 -10
  82. package/src/components/forms/radio/radio.api.json +20 -10
  83. package/src/components/forms/radio-group/index.scss +22 -5
  84. package/src/components/forms/radio-group/radio-group.api.json +33 -14
  85. package/src/components/forms/search-input/index.scss +42 -11
  86. package/src/components/forms/search-input/search-input-visual.png +0 -0
  87. package/src/components/forms/search-input/search-input.api.json +66 -25
  88. package/src/components/forms/search-input/search-input.docs.json +36 -0
  89. package/src/components/forms/select/index.scss +40 -11
  90. package/src/components/forms/select/select.api.json +35 -17
  91. package/src/components/forms/slider/index.scss +28 -10
  92. package/src/components/forms/slider/slider.api.json +35 -20
  93. package/src/components/forms/textarea/index.scss +40 -9
  94. package/src/components/forms/textarea/textarea.api.json +40 -20
  95. package/src/components/forms/toggle/index.scss +18 -6
  96. package/src/components/forms/toggle/toggle.api.json +17 -8
  97. package/src/components/navigation/breadcrumb/breadcrumb.api.json +25 -11
  98. package/src/components/navigation/breadcrumb/index.scss +17 -4
  99. package/src/components/navigation/dropdown-menu/dropdown-menu-visual.png +0 -0
  100. package/src/components/navigation/dropdown-menu/dropdown-menu.api.json +7 -3
  101. package/src/components/navigation/dropdown-menu/dropdown-menu.docs.json +18 -0
  102. package/src/components/navigation/dropdown-menu/index.scss +15 -5
  103. package/src/components/navigation/menu/index.scss +41 -17
  104. package/src/components/navigation/menu/menu.api.json +24 -13
  105. package/src/components/navigation/nav/index.scss +30 -11
  106. package/src/components/navigation/nav/nav.api.json +42 -18
  107. package/src/components/navigation/pagination/index.scss +21 -5
  108. package/src/components/navigation/pagination/pagination.api.json +21 -12
  109. package/src/components/navigation/tabs/index.scss +43 -15
  110. package/src/components/navigation/tabs/tabs.api.json +49 -22
  111. package/src/components/overlays/dialog/dialog.api.json +9 -4
  112. package/src/components/overlays/dialog/index.scss +12 -3
  113. package/src/components/overlays/drawer/drawer-visual.png +0 -0
  114. package/src/components/overlays/drawer/drawer.api.json +26 -13
  115. package/src/components/overlays/drawer/index.scss +51 -26
  116. package/src/components/overlays/modal/index.scss +18 -3
  117. package/src/components/overlays/modal/modal.api.json +22 -12
  118. package/src/components/overlays/overlay/index.scss +17 -5
  119. package/src/components/overlays/overlay/overlay.api.json +11 -6
  120. package/src/components/overlays/popover/index.scss +26 -9
  121. package/src/components/overlays/popover/popover.api.json +18 -9
  122. package/src/components/overlays/tooltip/index.scss +17 -2
  123. package/src/components/overlays/tooltip/tooltip.api.json +19 -10
  124. package/src/components/typography/blockquote/blockquote.api.json +34 -7
  125. package/src/components/typography/blockquote/index.scss +17 -4
  126. package/src/components/typography/code/code.api.json +26 -11
  127. package/src/components/typography/code/index.scss +23 -6
  128. package/src/components/typography/code-block/code-block-visual.png +0 -0
  129. package/src/components/typography/code-block/code-block.api.json +31 -12
  130. package/src/components/typography/code-block/code-block.docs.json +18 -0
  131. package/src/components/typography/code-block/index.scss +26 -7
  132. package/src/components/typography/heading/heading.api.json +37 -18
  133. package/src/components/typography/heading/index.scss +18 -0
  134. package/src/components/typography/kbd/index.scss +14 -2
  135. package/src/components/typography/kbd/kbd.api.json +41 -8
  136. package/src/components/typography/link/index.scss +16 -3
  137. package/src/components/typography/link/link.api.json +17 -9
  138. package/src/components/typography/list/index.scss +7 -0
  139. package/src/components/typography/list/list.api.json +12 -7
  140. package/src/components/typography/list/list.docs.json +3 -0
  141. package/src/components/typography/mark/index.scss +7 -0
  142. package/src/components/typography/mark/mark.api.json +26 -5
  143. package/src/config/tokens/_variables.scss +44 -0
  144. package/src/config/tokens/motion/index.scss +2 -0
  145. package/src/config/tokens/zindex/index.scss +1 -0
  146. package/src/debug/grid-overlay.scss +4 -3
  147. package/src/layout/app-shell/app-shell-visual.png +0 -0
  148. package/src/layout/app-shell/app-shell.api.json +6 -26
  149. package/src/layout/app-shell/app-shell.docs.json +18 -0
  150. package/src/layout/app-shell/index.scss +4 -0
  151. package/src/layout/aspect-ratio/aspect-ratio.api.json +2 -7
  152. package/src/layout/aspect-ratio/index.scss +4 -0
  153. package/src/layout/box/box.api.json +25 -8
  154. package/src/layout/box/index.scss +26 -8
  155. package/src/layout/center/center.api.json +1 -0
  156. package/src/layout/center/index.scss +3 -0
  157. package/src/layout/column/column.api.json +2 -1
  158. package/src/layout/column/index.scss +15 -6
  159. package/src/layout/container/container.api.json +4 -3
  160. package/src/layout/container/index.scss +13 -6
  161. package/src/layout/content/content.api.json +7 -3
  162. package/src/layout/content/index.scss +10 -1
  163. package/src/layout/footer/footer-visual.png +0 -0
  164. package/src/layout/footer/footer.api.json +11 -5
  165. package/src/layout/footer/footer.docs.json +9 -0
  166. package/src/layout/footer/index.scss +21 -5
  167. package/src/layout/grid/grid.api.json +2 -1
  168. package/src/layout/grid/index.scss +6 -1
  169. package/src/layout/main/index.scss +8 -2
  170. package/src/layout/main/main.api.json +1 -0
  171. package/src/layout/nav-rail/index.scss +14 -3
  172. package/src/layout/nav-rail/nav-rail.api.json +11 -5
  173. package/src/layout/page-header/index.scss +21 -6
  174. package/src/layout/page-header/page-header.api.json +9 -4
  175. package/src/layout/row/index.scss +13 -5
  176. package/src/layout/row/row.api.json +2 -1
  177. package/src/layout/sidebar/index.scss +18 -8
  178. package/src/layout/sidebar/sidebar.api.json +1 -0
  179. package/src/layout/sidebar/sidebar.docs.json +2 -1
  180. package/src/layout/sidebar-nav/index.scss +56 -18
  181. package/src/layout/sidebar-nav/sidebar-nav.api.json +90 -11
  182. package/src/layout/topbar/index.scss +20 -5
  183. package/src/layout/topbar/topbar.api.json +11 -5
@@ -1,26 +1,43 @@
1
1
  @use '../../../config/tokens/variables' as t;
2
+ // @component code
3
+ // @element div
4
+ // @related code-block
2
5
 
3
6
  // Token definitions
4
7
  @layer components.tokens {
5
8
  // Inline code
6
9
  .code {
10
+ --_font-mono: var(--ui-font-mono, #{t.$font-mono});
11
+ --_leading-tight-sm: var(--ui-leading-tight-sm, #{t.$leading-tight-sm});
12
+ --_border-width-sm: var(--ui-border-width-sm, #{t.$border-width-sm});
13
+ // @desc Font size
7
14
  --_font-size: var(--ui-code-font-size, var(--ui-font-size-sm, #{t.$font-size-sm}));
15
+ // @desc Background color
8
16
  --_bg: var(--ui-code-bg, var(--ui-color-bg-muted, #{t.$color-bg-muted}));
17
+ // @desc Horizontal padding
9
18
  --_padding-x: var(--ui-code-padding-x, var(--ui-space-1, #{t.$space-1}));
19
+ // @desc Vertical padding
10
20
  --_padding-y: var(--ui-code-padding-y, var(--ui-space-0, #{t.$space-0}));
21
+ // @desc Corner radius
11
22
  --_radius: var(--ui-code-radius, var(--ui-radius-sm, #{t.$radius-sm}));
12
23
  }
13
24
 
25
+ // @modifier size
14
26
  .code--sm {
15
27
  --_font-size: var(--ui-font-size-xs, #{t.$font-size-xs});
16
28
  }
17
29
 
18
30
  // Code block
19
31
  .code-block {
32
+ // @desc Font size block
20
33
  --_font-size: var(--ui-code-font-size-block, var(--ui-font-size-sm, #{t.$font-size-sm}));
34
+ // @desc Bg block
21
35
  --_bg: var(--ui-code-bg-block, var(--ui-color-bg-muted, #{t.$color-bg-muted}));
36
+ // @desc Vertical padding
22
37
  --_padding: var(--ui-code-padding-block, var(--ui-space-3, #{t.$space-3}));
38
+ // @desc Radius block
23
39
  --_radius: var(--ui-code-radius-block, var(--ui-radius-md, #{t.$radius-md}));
40
+ // @desc Border color block
24
41
  --_border-color: var(--ui-code-border-color-block, var(--ui-color-border, #{t.$color-border}));
25
42
  }
26
43
  }
@@ -30,9 +47,9 @@
30
47
  .code {
31
48
  padding: var(--_padding-y) var(--_padding-x);
32
49
 
33
- font-family: var(--ui-font-mono, #{t.$font-mono});
50
+ font-family: var(--_font-mono);
34
51
  font-size: var(--_font-size);
35
- line-height: var(--ui-leading-tight-sm, #{t.$leading-tight-sm});
52
+ line-height: var(--_leading-tight-sm);
36
53
 
37
54
  background: var(--_bg);
38
55
  border-radius: var(--_radius);
@@ -41,16 +58,16 @@
41
58
  .code-block {
42
59
  display: block;
43
60
  // Subtract border from padding to keep total on grid
44
- padding: calc(var(--_padding) - var(--ui-border-width-sm, #{t.$border-width-sm}));
61
+ padding: calc(var(--_padding) - var(--_border-width-sm));
45
62
  overflow-x: auto;
46
63
 
47
- font-family: var(--ui-font-mono, #{t.$font-mono});
64
+ font-family: var(--_font-mono);
48
65
  font-size: var(--_font-size);
49
- line-height: var(--ui-leading-tight-sm, #{t.$leading-tight-sm});
66
+ line-height: var(--_leading-tight-sm);
50
67
  white-space: pre;
51
68
 
52
69
  background: var(--_bg);
53
- border: var(--ui-border-width-sm, #{t.$border-width-sm}) solid var(--_border-color);
70
+ border: var(--_border-width-sm) solid var(--_border-color);
54
71
  border-radius: var(--_radius);
55
72
 
56
73
  code {
@@ -1,4 +1,5 @@
1
1
  {
2
+ "$schema": "Auto-generated from index.scss annotations. Do not edit manually — run: pnpm generate:api",
2
3
  "name": "code-block",
3
4
  "element": "pre",
4
5
  "modifiers": {
@@ -9,48 +10,66 @@
9
10
  "type": "boolean"
10
11
  }
11
12
  },
12
- "subElements": ["code", "line", "line-number"],
13
- "relatedComponents": ["code"],
13
+ "elements": {
14
+ "code": {},
15
+ "line": {},
16
+ "line-number": {}
17
+ },
18
+ "relatedComponents": [
19
+ {
20
+ "name": "code"
21
+ }
22
+ ],
14
23
  "cssVars": [
15
24
  {
16
25
  "name": "--ui-code-block-bg",
17
- "default": "var(--ui-color-bg-muted)"
26
+ "default": "var(--ui-color-bg-muted)",
27
+ "description": "Background color"
18
28
  },
19
29
  {
20
30
  "name": "--ui-code-block-color",
21
- "default": "var(--ui-color-text)"
31
+ "default": "var(--ui-color-text)",
32
+ "description": "Text color"
22
33
  },
23
34
  {
24
35
  "name": "--ui-code-block-border-color",
25
- "default": "var(--ui-color-border)"
36
+ "default": "var(--ui-color-border)",
37
+ "description": "Border color"
26
38
  },
27
39
  {
28
40
  "name": "--ui-code-block-padding",
29
- "default": "var(--ui-space-3)"
41
+ "default": "var(--ui-space-3)",
42
+ "description": "Padding on all sides"
30
43
  },
31
44
  {
32
45
  "name": "--ui-code-block-font-size",
33
- "default": "var(--ui-font-size-sm)"
46
+ "default": "var(--ui-font-size-sm)",
47
+ "description": "Font size"
34
48
  },
35
49
  {
36
50
  "name": "--ui-code-block-line-height",
37
- "default": "var(--ui-leading-tight-sm)"
51
+ "default": "var(--ui-leading-tight-sm)",
52
+ "description": "Line height"
38
53
  },
39
54
  {
40
55
  "name": "--ui-code-block-radius",
41
- "default": "var(--ui-radius-md)"
56
+ "default": "var(--ui-radius-md)",
57
+ "description": "Corner radius"
42
58
  },
43
59
  {
44
60
  "name": "--ui-code-block-padding-compact",
45
- "default": "var(--ui-space-1)"
61
+ "default": "var(--ui-space-1)",
62
+ "description": "Padding compact"
46
63
  },
47
64
  {
48
65
  "name": "--ui-code-block-line-number-color",
49
- "default": "var(--ui-color-text-muted)"
66
+ "default": "var(--ui-color-text-muted)",
67
+ "description": "Line number color"
50
68
  },
51
69
  {
52
70
  "name": "--ui-code-block-line-number-border-color",
53
- "default": "var(--ui-color-border)"
71
+ "default": "var(--ui-color-border)",
72
+ "description": "Line number border color"
54
73
  }
55
74
  ]
56
75
  }
@@ -185,6 +185,24 @@
185
185
  }
186
186
  ]
187
187
  },
188
+ {
189
+ "title": "Inline code",
190
+ "description": "Use the related ui-code class for inline snippets.",
191
+ "examples": [
192
+ {
193
+ "items": [
194
+ {
195
+ "tag": "p",
196
+ "children": [
197
+ { "tag": "span", "text": "Use " },
198
+ { "tag": "code", "class": "ui-code", "text": "var(--ui-space-2)" },
199
+ { "tag": "span", "text": " for consistent spacing." }
200
+ ]
201
+ }
202
+ ]
203
+ }
204
+ ]
205
+ },
188
206
  {
189
207
  "title": "Compact with line numbers",
190
208
  "examples": [
@@ -1,23 +1,42 @@
1
1
  @use '../../../config/tokens/variables' as t;
2
+ // @component code-block
3
+ // @element pre
4
+ // @related code
2
5
 
3
6
  // Token definitions
4
7
  @layer components.tokens {
5
8
  .code-block {
9
+ --_border-width-sm: var(--ui-border-width-sm, #{t.$border-width-sm});
10
+ --_font-mono: var(--ui-font-mono, #{t.$font-mono});
11
+ --_space-4: var(--ui-space-4, #{t.$space-4});
12
+ --_space-2: var(--ui-space-2, #{t.$space-2});
13
+ // @desc Background color
6
14
  --_bg: var(--ui-code-block-bg, var(--ui-color-bg-muted, #{t.$color-bg-muted}));
15
+ // @desc Text color
7
16
  --_color: var(--ui-code-block-color, var(--ui-color-text, #{t.$color-text}));
17
+ // @desc Border color
8
18
  --_border-color: var(--ui-code-block-border-color, var(--ui-color-border, #{t.$color-border}));
19
+ // @desc Padding on all sides
9
20
  --_padding: var(--ui-code-block-padding, var(--ui-space-3, #{t.$space-3}));
21
+ // @desc Font size
10
22
  --_font-size: var(--ui-code-block-font-size, var(--ui-font-size-sm, #{t.$font-size-sm}));
23
+ // @desc Line height
11
24
  --_line-height: var(--ui-code-block-line-height, var(--ui-leading-tight-sm, #{t.$leading-tight-sm}));
25
+ // @desc Corner radius
12
26
  --_radius: var(--ui-code-block-radius, var(--ui-radius-md, #{t.$radius-md}));
13
27
  }
14
28
 
29
+ // @modifier boolean compact
15
30
  .code-block--compact {
31
+ // @desc Padding compact
16
32
  --_padding: var(--ui-code-block-padding-compact, var(--ui-space-1, #{t.$space-1}));
17
33
  }
18
34
 
35
+ // @modifier boolean line-numbers
19
36
  .code-block--line-numbers {
37
+ // @desc Line number color
20
38
  --_line-number-color: var(--ui-code-block-line-number-color, var(--ui-color-text-muted, #{t.$color-text-muted}));
39
+ // @desc Line number border color
21
40
  --_line-number-border-color: var(--ui-code-block-line-number-border-color, var(--ui-color-border, #{t.$color-border}));
22
41
  }
23
42
  }
@@ -27,17 +46,17 @@
27
46
  .code-block {
28
47
  display: block;
29
48
  // Subtract border from padding to keep total on grid
30
- padding: calc(var(--_padding) - var(--ui-border-width-sm, #{t.$border-width-sm}));
49
+ padding: calc(var(--_padding) - var(--_border-width-sm));
31
50
  overflow-x: auto;
32
51
 
33
- font-family: var(--ui-font-mono, #{t.$font-mono});
52
+ font-family: var(--_font-mono);
34
53
  font-size: var(--_font-size);
35
54
  line-height: var(--_line-height);
36
55
  white-space: pre;
37
56
  color: var(--_color);
38
57
 
39
58
  background: var(--_bg);
40
- border: var(--ui-border-width-sm, #{t.$border-width-sm}) solid var(--_border-color);
59
+ border: var(--_border-width-sm) solid var(--_border-color);
41
60
  border-radius: var(--_radius);
42
61
  }
43
62
 
@@ -67,16 +86,16 @@
67
86
  counter-increment: line-number;
68
87
 
69
88
  box-sizing: border-box;
70
- min-inline-size: var(--ui-space-4, #{t.$space-4});
71
- padding-inline-end: var(--ui-space-2, #{t.$space-2});
72
- margin-inline-end: var(--ui-space-2, #{t.$space-2});
89
+ min-inline-size: var(--_space-4);
90
+ padding-inline-end: var(--_space-2);
91
+ margin-inline-end: var(--_space-2);
73
92
 
74
93
  font-variant-numeric: tabular-nums;
75
94
 
76
95
  text-align: end;
77
96
  color: var(--_line-number-color);
78
97
 
79
- border-inline-end: var(--ui-border-width-sm, #{t.$border-width-sm}) solid var(--_line-number-border-color);
98
+ border-inline-end: var(--_border-width-sm) solid var(--_line-number-border-color);
80
99
  user-select: none;
81
100
 
82
101
  &::before {
@@ -1,4 +1,5 @@
1
1
  {
2
+ "$schema": "Auto-generated from index.scss annotations. Do not edit manually — run: pnpm generate:api",
2
3
  "name": "heading",
3
4
  "element": "h2",
4
5
  "modifiers": {
@@ -9,75 +10,93 @@
9
10
  "cssVars": [
10
11
  {
11
12
  "name": "--ui-heading-font-size",
12
- "default": "var(--ui-font-size-xl)"
13
+ "default": "var(--ui-font-size-xl)",
14
+ "description": "Font size"
13
15
  },
14
16
  {
15
17
  "name": "--ui-heading-line-height",
16
- "default": "var(--ui-leading-xl)"
18
+ "default": "var(--ui-leading-xl)",
19
+ "description": "Line height"
17
20
  },
18
21
  {
19
22
  "name": "--ui-heading-weight",
20
- "default": "var(--ui-weight-bold)"
23
+ "default": "var(--ui-weight-bold)",
24
+ "description": "Weight"
21
25
  },
22
26
  {
23
27
  "name": "--ui-heading-color",
24
- "default": "var(--ui-color-text)"
28
+ "default": "var(--ui-color-text)",
29
+ "description": "Text color"
25
30
  },
26
31
  {
27
32
  "name": "--ui-heading-font-size-4xl",
28
- "default": "var(--ui-font-size-4xl)"
33
+ "default": "var(--ui-font-size-4xl)",
34
+ "description": "Font size 4xl"
29
35
  },
30
36
  {
31
37
  "name": "--ui-heading-line-height-4xl",
32
- "default": "var(--ui-leading-4xl)"
38
+ "default": "var(--ui-leading-4xl)",
39
+ "description": "Line height 4xl"
33
40
  },
34
41
  {
35
42
  "name": "--ui-heading-font-size-3xl",
36
- "default": "var(--ui-font-size-3xl)"
43
+ "default": "var(--ui-font-size-3xl)",
44
+ "description": "Font size 3xl"
37
45
  },
38
46
  {
39
47
  "name": "--ui-heading-line-height-3xl",
40
- "default": "var(--ui-leading-3xl)"
48
+ "default": "var(--ui-leading-3xl)",
49
+ "description": "Line height 3xl"
41
50
  },
42
51
  {
43
52
  "name": "--ui-heading-font-size-2xl",
44
- "default": "var(--ui-font-size-2xl)"
53
+ "default": "var(--ui-font-size-2xl)",
54
+ "description": "Font size 2xl"
45
55
  },
46
56
  {
47
57
  "name": "--ui-heading-line-height-2xl",
48
- "default": "var(--ui-leading-2xl)"
58
+ "default": "var(--ui-leading-2xl)",
59
+ "description": "Line height 2xl"
49
60
  },
50
61
  {
51
62
  "name": "--ui-heading-font-size-xl",
52
- "default": "var(--ui-font-size-xl)"
63
+ "default": "var(--ui-font-size-xl)",
64
+ "description": "Font size at extra-large size"
53
65
  },
54
66
  {
55
67
  "name": "--ui-heading-line-height-xl",
56
- "default": "var(--ui-leading-xl)"
68
+ "default": "var(--ui-leading-xl)",
69
+ "description": "Line height at extra-large size"
57
70
  },
58
71
  {
59
72
  "name": "--ui-heading-font-size-lg",
60
- "default": "var(--ui-font-size-lg)"
73
+ "default": "var(--ui-font-size-lg)",
74
+ "description": "Font size at large size"
61
75
  },
62
76
  {
63
77
  "name": "--ui-heading-line-height-lg",
64
- "default": "var(--ui-leading-lg)"
78
+ "default": "var(--ui-leading-lg)",
79
+ "description": "Line height at large size"
65
80
  },
66
81
  {
67
82
  "name": "--ui-heading-font-size-md",
68
- "default": "var(--ui-font-size-md)"
83
+ "default": "var(--ui-font-size-md)",
84
+ "description": "Font size at medium size"
69
85
  },
70
86
  {
71
87
  "name": "--ui-heading-line-height-md",
72
- "default": "var(--ui-leading-tight-md)"
88
+ "default": "var(--ui-leading-tight-md)",
89
+ "description": "Line height at medium size"
73
90
  },
74
91
  {
75
92
  "name": "--ui-heading-font-size-sm",
76
- "default": "var(--ui-font-size-sm)"
93
+ "default": "var(--ui-font-size-sm)",
94
+ "description": "Font size at small size"
77
95
  },
78
96
  {
79
97
  "name": "--ui-heading-line-height-sm",
80
- "default": "var(--ui-leading-tight-sm)"
98
+ "default": "var(--ui-leading-tight-sm)",
99
+ "description": "Line height at small size"
81
100
  }
82
101
  ]
83
102
  }
@@ -5,45 +5,63 @@
5
5
 
6
6
  @layer components.tokens {
7
7
  .heading {
8
+ // @desc Font size
8
9
  --_font-size: var(--ui-heading-font-size, var(--ui-font-size-xl, #{t.$font-size-xl}));
10
+ // @desc Line height
9
11
  --_line-height: var(--ui-heading-line-height, var(--ui-leading-xl, #{t.$leading-xl}));
12
+ // @desc Weight
10
13
  --_weight: var(--ui-heading-weight, var(--ui-weight-bold, #{t.$weight-bold}));
14
+ // @desc Text color
11
15
  --_color: var(--ui-heading-color, var(--ui-color-text, #{t.$color-text}));
12
16
  }
13
17
 
14
18
  // @modifier size
15
19
  .heading--4xl {
20
+ // @desc Font size 4xl
16
21
  --_font-size: var(--ui-heading-font-size-4xl, var(--ui-font-size-4xl, #{t.$font-size-4xl}));
22
+ // @desc Line height 4xl
17
23
  --_line-height: var(--ui-heading-line-height-4xl, var(--ui-leading-4xl, #{t.$leading-4xl}));
18
24
  }
19
25
 
20
26
  .heading--3xl {
27
+ // @desc Font size 3xl
21
28
  --_font-size: var(--ui-heading-font-size-3xl, var(--ui-font-size-3xl, #{t.$font-size-3xl}));
29
+ // @desc Line height 3xl
22
30
  --_line-height: var(--ui-heading-line-height-3xl, var(--ui-leading-3xl, #{t.$leading-3xl}));
23
31
  }
24
32
 
25
33
  .heading--2xl {
34
+ // @desc Font size 2xl
26
35
  --_font-size: var(--ui-heading-font-size-2xl, var(--ui-font-size-2xl, #{t.$font-size-2xl}));
36
+ // @desc Line height 2xl
27
37
  --_line-height: var(--ui-heading-line-height-2xl, var(--ui-leading-2xl, #{t.$leading-2xl}));
28
38
  }
29
39
 
30
40
  .heading--xl {
41
+ // @desc Font size at extra-large size
31
42
  --_font-size: var(--ui-heading-font-size-xl, var(--ui-font-size-xl, #{t.$font-size-xl}));
43
+ // @desc Line height at extra-large size
32
44
  --_line-height: var(--ui-heading-line-height-xl, var(--ui-leading-xl, #{t.$leading-xl}));
33
45
  }
34
46
 
35
47
  .heading--lg {
48
+ // @desc Font size at large size
36
49
  --_font-size: var(--ui-heading-font-size-lg, var(--ui-font-size-lg, #{t.$font-size-lg}));
50
+ // @desc Line height at large size
37
51
  --_line-height: var(--ui-heading-line-height-lg, var(--ui-leading-lg, #{t.$leading-lg}));
38
52
  }
39
53
 
40
54
  .heading--md {
55
+ // @desc Font size at medium size
41
56
  --_font-size: var(--ui-heading-font-size-md, var(--ui-font-size-md, #{t.$font-size-md}));
57
+ // @desc Line height at medium size
42
58
  --_line-height: var(--ui-heading-line-height-md, var(--ui-leading-tight-md, #{t.$leading-tight-md}));
43
59
  }
44
60
 
45
61
  .heading--sm {
62
+ // @desc Font size at small size
46
63
  --_font-size: var(--ui-heading-font-size-sm, var(--ui-font-size-sm, #{t.$font-size-sm}));
64
+ // @desc Line height at small size
47
65
  --_line-height: var(--ui-heading-line-height-sm, var(--ui-leading-tight-sm, #{t.$leading-tight-sm}));
48
66
  }
49
67
 
@@ -1,14 +1,26 @@
1
1
  @use '../../../config/tokens/variables' as t;
2
+ // @component kbd
3
+ // @element kbd
2
4
 
3
5
  @layer components.tokens {
4
6
  .kbd {
7
+ --_border-width-sm: var(--ui-border-width-sm, #{t.$border-width-sm});
8
+ --_space-quarter: var(--ui-space-quarter, #{t.$space-quarter});
9
+ // @desc Font size
5
10
  --_font-size: var(--ui-kbd-font-size, var(--ui-font-size-sm, #{t.$font-size-sm}));
11
+ // @desc Font family
6
12
  --_font-family: var(--ui-kbd-font-family, var(--ui-font-mono, #{t.$font-mono}));
13
+ // @desc Horizontal padding
7
14
  --_padding-x: var(--ui-kbd-padding-x, var(--ui-space-0, #{t.$space-0}));
15
+ // @desc Vertical padding
8
16
  --_padding-y: var(--ui-kbd-padding-y, var(--ui-space-0, #{t.$space-0}));
17
+ // @desc Background color
9
18
  --_bg: var(--ui-kbd-bg, var(--ui-color-bg-subtle, #{t.$color-bg-subtle}));
19
+ // @desc Border color
10
20
  --_border-color: var(--ui-kbd-border-color, var(--ui-color-border, #{t.$color-border}));
21
+ // @desc Corner radius
11
22
  --_radius: var(--ui-kbd-radius, var(--ui-radius-sm, #{t.$radius-sm}));
23
+ // @desc Text color
12
24
  --_color: var(--ui-kbd-color, var(--ui-color-text, #{t.$color-text}));
13
25
  }
14
26
  }
@@ -26,8 +38,8 @@
26
38
  color: var(--_color);
27
39
 
28
40
  background: var(--_bg);
29
- border: var(--ui-border-width-sm, #{t.$border-width-sm}) solid var(--_border-color);
41
+ border: var(--_border-width-sm) solid var(--_border-color);
30
42
  border-radius: var(--_radius);
31
- box-shadow: 0 var(--ui-space-quarter, #{t.$space-quarter}) 0 var(--_border-color);
43
+ box-shadow: 0 var(--_space-quarter) 0 var(--_border-color);
32
44
  }
33
45
  }
@@ -1,15 +1,48 @@
1
1
  {
2
+ "$schema": "Auto-generated from index.scss annotations. Do not edit manually — run: pnpm generate:api",
2
3
  "name": "kbd",
3
4
  "element": "kbd",
4
5
  "modifiers": {},
5
6
  "cssVars": [
6
- { "name": "--ui-kbd-font-size", "default": "var(--ui-font-size-sm)" },
7
- { "name": "--ui-kbd-font-family", "default": "var(--ui-font-mono)" },
8
- { "name": "--ui-kbd-padding-x", "default": "var(--ui-space-0)" },
9
- { "name": "--ui-kbd-padding-y", "default": "var(--ui-space-0)" },
10
- { "name": "--ui-kbd-bg", "default": "var(--ui-color-bg-subtle)" },
11
- { "name": "--ui-kbd-border-color", "default": "var(--ui-color-border)" },
12
- { "name": "--ui-kbd-radius", "default": "var(--ui-radius-sm)" },
13
- { "name": "--ui-kbd-color", "default": "var(--ui-color-text)" }
7
+ {
8
+ "name": "--ui-kbd-font-size",
9
+ "default": "var(--ui-font-size-sm)",
10
+ "description": "Font size"
11
+ },
12
+ {
13
+ "name": "--ui-kbd-font-family",
14
+ "default": "var(--ui-font-mono)",
15
+ "description": "Font family"
16
+ },
17
+ {
18
+ "name": "--ui-kbd-padding-x",
19
+ "default": "var(--ui-space-0)",
20
+ "description": "Horizontal padding"
21
+ },
22
+ {
23
+ "name": "--ui-kbd-padding-y",
24
+ "default": "var(--ui-space-0)",
25
+ "description": "Vertical padding"
26
+ },
27
+ {
28
+ "name": "--ui-kbd-bg",
29
+ "default": "var(--ui-color-bg-subtle)",
30
+ "description": "Background color"
31
+ },
32
+ {
33
+ "name": "--ui-kbd-border-color",
34
+ "default": "var(--ui-color-border)",
35
+ "description": "Border color"
36
+ },
37
+ {
38
+ "name": "--ui-kbd-radius",
39
+ "default": "var(--ui-radius-sm)",
40
+ "description": "Corner radius"
41
+ },
42
+ {
43
+ "name": "--ui-kbd-color",
44
+ "default": "var(--ui-color-text)",
45
+ "description": "Text color"
46
+ }
14
47
  ]
15
48
  }
@@ -5,16 +5,27 @@
5
5
 
6
6
  @layer components.tokens {
7
7
  .link {
8
+ --_duration-fast: var(--ui-duration-fast, #{t.$duration-fast});
9
+ --_ease-default: var(--ui-ease-default, ease);
10
+ --_color-focus: var(--ui-color-focus, var(--ui-color-primary));
11
+ --_color-text-muted: var(--ui-color-text-muted);
12
+ // @desc Text color
8
13
  --_color: var(--ui-link-color, var(--ui-color-primary));
14
+ // @desc Color hover
9
15
  --_color-hover: var(--ui-link-color-hover, var(--ui-color-primary-hover, color-mix(in srgb, var(--_color) 85%, black)));
16
+ // @desc Color visited
10
17
  --_color-visited: var(--ui-link-color-visited, var(--_color));
18
+ // @desc Decoration
11
19
  --_decoration: var(--ui-link-decoration, underline);
20
+ // @desc Decoration hover
12
21
  --_decoration-hover: var(--ui-link-decoration-hover, underline);
13
22
  }
14
23
 
15
24
  // @modifier variant
16
25
  .link--muted {
26
+ // @desc Color muted
17
27
  --_color: var(--ui-link-color-muted, var(--ui-color-text-muted));
28
+ // @desc Color muted hover
18
29
  --_color-hover: var(--ui-link-color-muted-hover, var(--ui-color-text));
19
30
  }
20
31
 
@@ -31,7 +42,7 @@
31
42
 
32
43
  cursor: pointer;
33
44
 
34
- transition: color var(--ui-duration-fast, 100ms) var(--ui-ease-default, ease);
45
+ transition: color var(--_duration-fast) var(--_ease-default);
35
46
  text-underline-offset: calc(#{t.$unit} / 4);
36
47
 
37
48
  &:hover {
@@ -41,7 +52,7 @@
41
52
 
42
53
  &:focus-visible {
43
54
  border-radius: calc(#{t.$unit} / 4);
44
- outline: 2px solid var(--ui-color-focus, var(--ui-color-primary));
55
+ outline: 2px solid var(--_color-focus);
45
56
  outline-offset: calc(#{t.$unit} / 4);
46
57
  }
47
58
 
@@ -51,9 +62,10 @@
51
62
  }
52
63
 
53
64
  // Disabled link
65
+ // @modifier boolean disabled
54
66
  .link--disabled,
55
67
  .link[aria-disabled="true"] {
56
- color: var(--ui-color-text-muted);
68
+ color: var(--_color-text-muted);
57
69
 
58
70
  opacity: 0.6;
59
71
  cursor: not-allowed;
@@ -61,6 +73,7 @@
61
73
  }
62
74
 
63
75
  // External link indicator
76
+ // @modifier boolean external
64
77
  .link--external::after {
65
78
 
66
79
  content: "\2197"; // ↗