@teseor/css 1.15.1 → 1.15.3

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 (241) hide show
  1. package/package.json +1 -1
  2. package/src/base/docs.html +1 -1
  3. package/src/base/typography/docs.html +33 -33
  4. package/src/components/actions/button/docs.html +19 -19
  5. package/src/components/actions/button-group/docs.html +12 -12
  6. package/src/components/actions/close-button/docs.html +10 -10
  7. package/src/components/content/divider/docs.html +1 -1
  8. package/src/components/content/scroll-area/docs.html +81 -81
  9. package/src/components/content/spacer/docs.html +6 -6
  10. package/src/components/data-display/avatar/docs.html +8 -8
  11. package/src/components/data-display/card/docs.html +12 -12
  12. package/src/components/data-display/data-list/docs.html +32 -32
  13. package/src/components/data-display/icon/docs.html +5 -5
  14. package/src/components/data-display/image/docs.html +1 -1
  15. package/src/components/data-display/stat/docs.html +6 -6
  16. package/src/components/data-display/status/docs.html +9 -9
  17. package/src/components/data-display/table/docs.html +14 -14
  18. package/src/components/data-display/tag/docs.html +17 -17
  19. package/src/components/disclosure/accordion/docs.html +14 -14
  20. package/src/components/disclosure/disclosure/docs.html +8 -8
  21. package/src/components/feedback/alert/docs.html +18 -18
  22. package/src/components/feedback/progress/docs.html +2 -2
  23. package/src/components/feedback/toast/docs.html +22 -22
  24. package/src/components/forms/checkbox/docs.html +1 -1
  25. package/src/components/forms/checkbox-group/docs.html +21 -21
  26. package/src/components/forms/field/docs.html +11 -11
  27. package/src/components/forms/fieldset/docs.html +30 -30
  28. package/src/components/forms/form/docs.html +29 -29
  29. package/src/components/forms/form-error/docs.html +2 -2
  30. package/src/components/forms/form-helper/docs.html +9 -9
  31. package/src/components/forms/input/docs.html +13 -13
  32. package/src/components/forms/label/docs.html +7 -7
  33. package/src/components/forms/number-input/docs.html +12 -12
  34. package/src/components/forms/password-input/docs.html +14 -14
  35. package/src/components/forms/radio/docs.html +5 -5
  36. package/src/components/forms/radio-group/docs.html +20 -20
  37. package/src/components/forms/search-input/docs.html +7 -7
  38. package/src/components/forms/select/docs.html +23 -23
  39. package/src/components/forms/textarea/docs.html +18 -18
  40. package/src/components/forms/toggle/docs.html +1 -1
  41. package/src/components/navigation/breadcrumb/docs.html +11 -11
  42. package/src/components/navigation/dropdown-menu/docs.html +18 -18
  43. package/src/components/navigation/menu/docs.html +25 -25
  44. package/src/components/navigation/nav/docs.html +13 -13
  45. package/src/components/navigation/pagination/docs.html +6 -6
  46. package/src/components/navigation/tabs/docs.html +19 -19
  47. package/src/components/overlays/dialog/docs.html +12 -12
  48. package/src/components/overlays/drawer/docs.html +16 -16
  49. package/src/components/overlays/modal/docs.html +11 -11
  50. package/src/components/overlays/overlay/docs.html +3 -3
  51. package/src/components/overlays/popover/docs.html +7 -7
  52. package/src/components/overlays/tooltip/docs.html +7 -7
  53. package/src/components/typography/blockquote/docs.html +5 -5
  54. package/src/components/typography/code/docs.html +2 -2
  55. package/src/components/typography/code-block/docs.html +2 -2
  56. package/src/components/typography/heading/docs.html +11 -11
  57. package/src/components/typography/kbd/docs.html +6 -6
  58. package/src/components/typography/link/docs.html +8 -8
  59. package/src/components/typography/list/docs.html +32 -32
  60. package/src/config/guides/accessibility.docs.html +5 -5
  61. package/src/config/guides/getting-started.docs.html +7 -7
  62. package/src/config/guides/theming.docs.html +21 -21
  63. package/src/config/tokens/docs.html +7 -7
  64. package/src/config/tokens/grid/docs.html +3 -3
  65. package/src/config/tokens/spacing/docs.html +6 -6
  66. package/src/debug/docs.html +3 -3
  67. package/src/layout/app-shell/docs.html +15 -15
  68. package/src/layout/aspect-ratio/docs.html +8 -8
  69. package/src/layout/box/docs.html +10 -10
  70. package/src/layout/center/docs.html +4 -4
  71. package/src/layout/column/docs.html +11 -11
  72. package/src/layout/container/docs.html +7 -7
  73. package/src/layout/content/docs.html +9 -9
  74. package/src/layout/footer/docs.html +16 -16
  75. package/src/layout/grid/docs.html +25 -25
  76. package/src/layout/main/docs.html +3 -3
  77. package/src/layout/nav-rail/docs.html +5 -5
  78. package/src/layout/page-header/docs.html +9 -9
  79. package/src/layout/row/docs.html +18 -18
  80. package/src/layout/sidebar/docs.html +5 -5
  81. package/src/layout/sidebar-nav/docs.html +37 -37
  82. package/src/layout/topbar/docs.html +14 -14
  83. package/src/utilities/container/docs.html +4 -4
  84. package/src/utilities/display/docs.html +11 -11
  85. package/src/utilities/scroll-animation/docs.html +5 -5
  86. package/src/utilities/scroll-snap/docs.html +30 -30
  87. package/src/utilities/spacing/docs.html +12 -12
  88. package/src/utilities/text/docs.html +36 -36
  89. package/src/utilities/view-transition/docs.html +12 -12
  90. package/src/utilities/visually-hidden/docs.html +3 -3
  91. package/src/components/actions/button/visual.png +0 -0
  92. package/src/components/actions/button/visual.spec.ts +0 -18
  93. package/src/components/actions/button-group/visual.png +0 -0
  94. package/src/components/actions/button-group/visual.spec.ts +0 -18
  95. package/src/components/actions/close-button/visual.png +0 -0
  96. package/src/components/actions/close-button/visual.spec.ts +0 -18
  97. package/src/components/content/divider/visual.png +0 -0
  98. package/src/components/content/divider/visual.spec.ts +0 -18
  99. package/src/components/content/scroll-area/visual.png +0 -0
  100. package/src/components/content/scroll-area/visual.spec.ts +0 -18
  101. package/src/components/content/spacer/visual.png +0 -0
  102. package/src/components/content/spacer/visual.spec.ts +0 -14
  103. package/src/components/data-display/avatar/visual.png +0 -0
  104. package/src/components/data-display/avatar/visual.spec.ts +0 -18
  105. package/src/components/data-display/badge/visual.png +0 -0
  106. package/src/components/data-display/badge/visual.spec.ts +0 -18
  107. package/src/components/data-display/card/visual.png +0 -0
  108. package/src/components/data-display/card/visual.spec.ts +0 -18
  109. package/src/components/data-display/data-list/visual.png +0 -0
  110. package/src/components/data-display/data-list/visual.spec.ts +0 -19
  111. package/src/components/data-display/icon/visual.png +0 -0
  112. package/src/components/data-display/icon/visual.spec.ts +0 -18
  113. package/src/components/data-display/image/visual.png +0 -0
  114. package/src/components/data-display/image/visual.spec.ts +0 -18
  115. package/src/components/data-display/stat/visual.png +0 -0
  116. package/src/components/data-display/stat/visual.spec.ts +0 -18
  117. package/src/components/data-display/status/visual.png +0 -0
  118. package/src/components/data-display/status/visual.spec.ts +0 -18
  119. package/src/components/data-display/table/visual.png +0 -0
  120. package/src/components/data-display/table/visual.spec.ts +0 -18
  121. package/src/components/data-display/tag/visual.png +0 -0
  122. package/src/components/data-display/tag/visual.spec.ts +0 -18
  123. package/src/components/disclosure/accordion/visual.png +0 -0
  124. package/src/components/disclosure/accordion/visual.spec.ts +0 -18
  125. package/src/components/disclosure/disclosure/visual.png +0 -0
  126. package/src/components/disclosure/disclosure/visual.spec.ts +0 -18
  127. package/src/components/feedback/alert/visual.png +0 -0
  128. package/src/components/feedback/alert/visual.spec.ts +0 -18
  129. package/src/components/feedback/progress/visual.png +0 -0
  130. package/src/components/feedback/progress/visual.spec.ts +0 -18
  131. package/src/components/feedback/progress-circle/visual.png +0 -0
  132. package/src/components/feedback/progress-circle/visual.spec.ts +0 -18
  133. package/src/components/feedback/skeleton/visual.png +0 -0
  134. package/src/components/feedback/skeleton/visual.spec.ts +0 -18
  135. package/src/components/feedback/spinner/visual.png +0 -0
  136. package/src/components/feedback/spinner/visual.spec.ts +0 -19
  137. package/src/components/feedback/toast/visual.png +0 -0
  138. package/src/components/feedback/toast/visual.spec.ts +0 -18
  139. package/src/components/forms/checkbox/visual.png +0 -0
  140. package/src/components/forms/checkbox/visual.spec.ts +0 -18
  141. package/src/components/forms/checkbox-group/visual.png +0 -0
  142. package/src/components/forms/checkbox-group/visual.spec.ts +0 -18
  143. package/src/components/forms/field/visual.png +0 -0
  144. package/src/components/forms/field/visual.spec.ts +0 -18
  145. package/src/components/forms/fieldset/visual.png +0 -0
  146. package/src/components/forms/fieldset/visual.spec.ts +0 -18
  147. package/src/components/forms/form/visual.png +0 -0
  148. package/src/components/forms/form/visual.spec.ts +0 -18
  149. package/src/components/forms/form-error/visual.png +0 -0
  150. package/src/components/forms/form-error/visual.spec.ts +0 -18
  151. package/src/components/forms/form-helper/visual.png +0 -0
  152. package/src/components/forms/form-helper/visual.spec.ts +0 -18
  153. package/src/components/forms/input/visual.png +0 -0
  154. package/src/components/forms/input/visual.spec.ts +0 -18
  155. package/src/components/forms/label/visual.png +0 -0
  156. package/src/components/forms/label/visual.spec.ts +0 -18
  157. package/src/components/forms/number-input/visual.png +0 -0
  158. package/src/components/forms/number-input/visual.spec.ts +0 -18
  159. package/src/components/forms/password-input/visual.png +0 -0
  160. package/src/components/forms/password-input/visual.spec.ts +0 -18
  161. package/src/components/forms/radio/visual.png +0 -0
  162. package/src/components/forms/radio/visual.spec.ts +0 -18
  163. package/src/components/forms/radio-group/visual.png +0 -0
  164. package/src/components/forms/radio-group/visual.spec.ts +0 -18
  165. package/src/components/forms/search-input/visual.png +0 -0
  166. package/src/components/forms/search-input/visual.spec.ts +0 -18
  167. package/src/components/forms/select/visual.png +0 -0
  168. package/src/components/forms/select/visual.spec.ts +0 -18
  169. package/src/components/forms/slider/visual.png +0 -0
  170. package/src/components/forms/slider/visual.spec.ts +0 -18
  171. package/src/components/forms/textarea/visual.png +0 -0
  172. package/src/components/forms/textarea/visual.spec.ts +0 -18
  173. package/src/components/forms/toggle/visual.png +0 -0
  174. package/src/components/forms/toggle/visual.spec.ts +0 -18
  175. package/src/components/navigation/breadcrumb/visual.png +0 -0
  176. package/src/components/navigation/breadcrumb/visual.spec.ts +0 -18
  177. package/src/components/navigation/dropdown-menu/visual.png +0 -0
  178. package/src/components/navigation/dropdown-menu/visual.spec.ts +0 -18
  179. package/src/components/navigation/menu/visual.png +0 -0
  180. package/src/components/navigation/menu/visual.spec.ts +0 -18
  181. package/src/components/navigation/nav/visual.png +0 -0
  182. package/src/components/navigation/nav/visual.spec.ts +0 -18
  183. package/src/components/navigation/pagination/visual.png +0 -0
  184. package/src/components/navigation/pagination/visual.spec.ts +0 -18
  185. package/src/components/navigation/tabs/visual.png +0 -0
  186. package/src/components/navigation/tabs/visual.spec.ts +0 -18
  187. package/src/components/overlays/dialog/visual.png +0 -0
  188. package/src/components/overlays/dialog/visual.spec.ts +0 -18
  189. package/src/components/overlays/drawer/visual.png +0 -0
  190. package/src/components/overlays/drawer/visual.spec.ts +0 -18
  191. package/src/components/overlays/modal/visual.png +0 -0
  192. package/src/components/overlays/modal/visual.spec.ts +0 -18
  193. package/src/components/overlays/overlay/visual.png +0 -0
  194. package/src/components/overlays/overlay/visual.spec.ts +0 -18
  195. package/src/components/overlays/popover/visual.png +0 -0
  196. package/src/components/overlays/popover/visual.spec.ts +0 -18
  197. package/src/components/overlays/tooltip/visual.png +0 -0
  198. package/src/components/overlays/tooltip/visual.spec.ts +0 -18
  199. package/src/components/typography/blockquote/visual.png +0 -0
  200. package/src/components/typography/blockquote/visual.spec.ts +0 -18
  201. package/src/components/typography/code/visual.png +0 -0
  202. package/src/components/typography/code/visual.spec.ts +0 -18
  203. package/src/components/typography/code-block/visual.png +0 -0
  204. package/src/components/typography/code-block/visual.spec.ts +0 -18
  205. package/src/components/typography/heading/visual.png +0 -0
  206. package/src/components/typography/heading/visual.spec.ts +0 -18
  207. package/src/components/typography/kbd/visual.png +0 -0
  208. package/src/components/typography/kbd/visual.spec.ts +0 -18
  209. package/src/components/typography/link/visual.png +0 -0
  210. package/src/components/typography/link/visual.spec.ts +0 -18
  211. package/src/components/typography/list/visual.png +0 -0
  212. package/src/components/typography/list/visual.spec.ts +0 -18
  213. package/src/components/typography/mark/visual.png +0 -0
  214. package/src/components/typography/mark/visual.spec.ts +0 -18
  215. package/src/layout/app-shell/visual.png +0 -0
  216. package/src/layout/app-shell/visual.spec.ts +0 -13
  217. package/src/layout/aspect-ratio/visual.png +0 -0
  218. package/src/layout/aspect-ratio/visual.spec.ts +0 -14
  219. package/src/layout/box/visual.png +0 -0
  220. package/src/layout/box/visual.spec.ts +0 -13
  221. package/src/layout/center/visual.png +0 -0
  222. package/src/layout/center/visual.spec.ts +0 -13
  223. package/src/layout/column/visual.png +0 -0
  224. package/src/layout/column/visual.spec.ts +0 -13
  225. package/src/layout/content/visual.png +0 -0
  226. package/src/layout/content/visual.spec.ts +0 -18
  227. package/src/layout/footer/visual.png +0 -0
  228. package/src/layout/footer/visual.spec.ts +0 -18
  229. package/src/layout/grid/visual.png +0 -0
  230. package/src/layout/grid/visual.spec.ts +0 -13
  231. package/src/layout/nav-rail/visual.png +0 -0
  232. package/src/layout/nav-rail/visual.spec.ts +0 -18
  233. package/src/layout/page-header/visual.png +0 -0
  234. package/src/layout/page-header/visual.spec.ts +0 -18
  235. package/src/layout/row/visual.png +0 -0
  236. package/src/layout/row/visual.spec.ts +0 -15
  237. package/src/layout/sidebar/visual.png +0 -0
  238. package/src/layout/sidebar/visual.spec.ts +0 -18
  239. package/src/layout/sidebar-nav/visual.spec.ts +0 -18
  240. package/src/layout/topbar/visual.png +0 -0
  241. package/src/layout/topbar/visual.spec.ts +0 -18
@@ -6,29 +6,29 @@ description: Content wrapper with max-width and inline padding. Centers page con
6
6
  <!-- @default -->
7
7
  <!-- Constrains content to a max width with horizontal padding. -->
8
8
  <div class="ui-container" style="background: var(--ui-color-bg-muted)">
9
- <p>Content within a container</p>
9
+ <p>{{ t('content_within_a_container', 'Content within a container') }}</p>
10
10
  </div>
11
11
 
12
12
  <!-- @centered -->
13
13
  <!-- Centers the container horizontally with auto margins. -->
14
14
  <div class="ui-container ui-container--center" style="background: var(--ui-color-bg-muted)">
15
- <p>Centered container</p>
15
+ <p>{{ t('centered_container', 'Centered container') }}</p>
16
16
  </div>
17
17
 
18
18
  <!-- @sizes | column -->
19
19
  <!-- Width presets for different layout needs. -->
20
20
  <div class="ui-container ui-container--sm ui-container--center" style="background: var(--ui-color-bg-muted)">
21
- <p>Small</p>
21
+ <p>{{ t('small', 'Small') }}</p>
22
22
  </div>
23
23
  <div class="ui-container ui-container--md ui-container--center" style="background: var(--ui-color-bg-muted)">
24
- <p>Medium</p>
24
+ <p>{{ t('medium', 'Medium') }}</p>
25
25
  </div>
26
26
  <div class="ui-container ui-container--lg ui-container--center" style="background: var(--ui-color-bg-muted)">
27
- <p>Large (default)</p>
27
+ <p>{{ t('large_default', 'Large (default)') }}</p>
28
28
  </div>
29
29
  <div class="ui-container ui-container--xl ui-container--center" style="background: var(--ui-color-bg-muted)">
30
- <p>Extra large</p>
30
+ <p>{{ t('extra_large', 'Extra large') }}</p>
31
31
  </div>
32
32
  <div class="ui-container ui-container--full" style="background: var(--ui-color-bg-muted)">
33
- <p>Full width</p>
33
+ <p>{{ t('full_width', 'Full width') }}</p>
34
34
  </div>
@@ -6,30 +6,30 @@ description: Content wrapper with consistent vertical spacing. Use inside contai
6
6
  <!-- @default -->
7
7
  <!-- Vertical flex layout with gap between children and block/inline padding. -->
8
8
  <div class="ui-content" style="0: b; 1: a; 2: c; 3: k; 4: g; 5: r; 6: o; 7: u; 8: n; 9: d; 10: :; 11: ; 12: v; 13: a; 14: r; 15: (; 16: -; 17: -; 18: u; 19: i; 20: -; 21: c; 22: o; 23: l; 24: o; 25: r; 26: -; 27: b; 28: g; 29: -; 30: s; 31: u; 32: b; 33: t; 34: l; 35: e; 36: )">
9
- <p>First section of content with consistent spacing.</p>
10
- <p>Second section automatically spaced by the gap token.</p>
11
- <p>Third section follows the same rhythm.</p>
9
+ <p>{{ t('first_section_of_content_with_consistent_spacing', 'First section of content with consistent spacing.') }}</p>
10
+ <p>{{ t('second_section_spaced_by_gap', 'Second section automatically spaced by the gap token.') }}</p>
11
+ <p>{{ t('third_section_follows_the_same_rhythm', 'Third section follows the same rhythm.') }}</p>
12
12
  </div>
13
13
 
14
14
  <!-- @prose -->
15
15
  <!-- Narrower max-width for readable long-form text (640px / 80 units). -->
16
16
  <div class="ui-content ui-content--prose" style="0: b; 1: a; 2: c; 3: k; 4: g; 5: r; 6: o; 7: u; 8: n; 9: d; 10: :; 11: ; 12: v; 13: a; 14: r; 15: (; 16: -; 17: -; 18: u; 19: i; 20: -; 21: c; 22: o; 23: l; 24: o; 25: r; 26: -; 27: b; 28: g; 29: -; 30: s; 31: u; 32: b; 33: t; 34: l; 35: e; 36: )">
17
- <p>Prose content is constrained to a comfortable reading width. Long paragraphs stay readable without requiring the eye to travel too far across the screen.</p>
18
- <p>This works well for articles, documentation, and form layouts.</p>
17
+ <p>{{ t('prose_content_constrained', 'Prose content is constrained to a comfortable reading width. Long paragraphs stay readable without requiring the eye to travel too far across the screen.') }}</p>
18
+ <p>{{ t('works_for_articles_docs_forms', 'This works well for articles, documentation, and form layouts.') }}</p>
19
19
  </div>
20
20
 
21
21
  <!-- @flush -->
22
22
  <!-- No padding, only gap between children. Useful when the parent handles padding. -->
23
23
  <div class="ui-content ui-content--flush" style="0: b; 1: a; 2: c; 3: k; 4: g; 5: r; 6: o; 7: u; 8: n; 9: d; 10: :; 11: ; 12: v; 13: a; 14: r; 15: (; 16: -; 17: -; 18: u; 19: i; 20: -; 21: c; 22: o; 23: l; 24: o; 25: r; 26: -; 27: b; 28: g; 29: -; 30: s; 31: u; 32: b; 33: t; 34: l; 35: e; 36: )">
24
- <p>Flush content has no padding.</p>
25
- <p>Gap between children is preserved.</p>
24
+ <p>{{ t('flush_content_has_no_padding', 'Flush content has no padding.') }}</p>
25
+ <p>{{ t('gap_between_children_is_preserved', 'Gap between children is preserved.') }}</p>
26
26
  </div>
27
27
 
28
28
  <!-- @with_container -->
29
29
  <!-- Content inside a centered container for a typical page layout. -->
30
30
  <div class="ui-container ui-container--center">
31
31
  <div class="ui-content">
32
- <h2 class="ui-heading ui-heading--3">Page Title</h2>
33
- <p>Content with consistent spacing and max-width.</p>
32
+ <h2 class="ui-heading ui-heading--3">{{ t('page_title', 'Page Title') }}</h2>
33
+ <p>{{ t('content_with_consistent_spacing_and_max_width', 'Content with consistent spacing and max-width.') }}</p>
34
34
  </div>
35
35
  </div>
@@ -7,32 +7,32 @@ description: Page footer with start, center, and end sections. Supports sticky/f
7
7
  <!-- Basic footer with three sections. -->
8
8
  <footer class="ui-footer ui-footer--bordered">
9
9
  <div class="ui-footer__start">
10
- <small>2026 Brand</small>
10
+ <small>{{ t('2026_brand', '2026 Brand') }}</small>
11
11
  </div>
12
12
  <div class="ui-footer__center">
13
- <span>Footer links</span>
13
+ <span>{{ t('footer_links', 'Footer links') }}</span>
14
14
  </div>
15
15
  <div class="ui-footer__end">
16
- <small>v1.0.0</small>
16
+ <small>{{ t('v100', 'v1.0.0') }}</small>
17
17
  </div>
18
18
  </footer>
19
19
 
20
20
  <!-- @sticky -->
21
21
  <!-- Stays at the bottom of the viewport on scroll. -->
22
22
  <footer class="ui-footer ui-footer--sticky ui-footer--bordered">
23
- <div class="ui-footer__start"><small>Brand</small></div>
24
- <div class="ui-footer__center">Links</div>
25
- <div class="ui-footer__end"><small>v1.0.0</small></div>
23
+ <div class="ui-footer__start"><small>{{ t('brand', 'Brand') }}</small></div>
24
+ <div class="ui-footer__center">{{ t('links', 'Links') }}</div>
25
+ <div class="ui-footer__end"><small>{{ t('v100', 'v1.0.0') }}</small></div>
26
26
  </footer>
27
27
 
28
28
  <!-- @bordered -->
29
29
  <!-- Top border via inset box-shadow to preserve grid rhythm. -->
30
30
  <footer class="ui-footer ui-footer--bordered">
31
31
  <div class="ui-footer__start">
32
- <small>Bordered footer</small>
32
+ <small>{{ t('bordered_footer', 'Bordered footer') }}</small>
33
33
  </div>
34
34
  <div class="ui-footer__end">
35
- <small>v1.0.0</small>
35
+ <small>{{ t('v100', 'v1.0.0') }}</small>
36
36
  </div>
37
37
  </footer>
38
38
 
@@ -40,31 +40,31 @@ description: Page footer with start, center, and end sections. Supports sticky/f
40
40
  <!-- Subtle drop shadow above the footer. -->
41
41
  <footer class="ui-footer ui-footer--raised">
42
42
  <div class="ui-footer__start">
43
- <small>Raised footer</small>
43
+ <small>{{ t('raised_footer', 'Raised footer') }}</small>
44
44
  </div>
45
45
  <div class="ui-footer__end">
46
- <small>v1.0.0</small>
46
+ <small>{{ t('v100', 'v1.0.0') }}</small>
47
47
  </div>
48
48
  </footer>
49
49
 
50
50
  <!-- @fixed -->
51
51
  <!-- Fixed to viewport bottom, always visible. -->
52
52
  <footer class="ui-footer ui-footer--fixed ui-footer--bordered">
53
- <div class="ui-footer__start"><small>Brand</small></div>
54
- <div class="ui-footer__end"><small>v1.0.0</small></div>
53
+ <div class="ui-footer__start"><small>{{ t('brand', 'Brand') }}</small></div>
54
+ <div class="ui-footer__end"><small>{{ t('v100', 'v1.0.0') }}</small></div>
55
55
  </footer>
56
56
 
57
57
  <!-- @full_layout -->
58
58
  <!-- Footer inside an app-shell with topbar and sidebar. -->
59
59
  <body class="ui-app-shell">
60
60
  <header class="ui-topbar ui-topbar--bordered">
61
- <div class="ui-topbar__start"><strong>App</strong></div>
61
+ <div class="ui-topbar__start"><strong>{{ t('app', 'App') }}</strong></div>
62
62
  </header>
63
63
  <main class="ui-main ui-main--full">
64
- <div class="ui-container">Content</div>
64
+ <div class="ui-container">{{ t('content', 'Content') }}</div>
65
65
  <footer class="ui-footer ui-footer--bordered">
66
- <div class="ui-footer__start"><small>Brand</small></div>
67
- <div class="ui-footer__end"><small>v1.0.0</small></div>
66
+ <div class="ui-footer__start"><small>{{ t('brand', 'Brand') }}</small></div>
67
+ <div class="ui-footer__end"><small>{{ t('v100', 'v1.0.0') }}</small></div>
68
68
  </footer>
69
69
  </main>
70
70
  </body>
@@ -21,63 +21,63 @@ description: CSS Grid with column variants, subgrid support, and span utilities.
21
21
  <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">4</div>
22
22
  </div>
23
23
  <div class="ui-grid ui-grid--auto">
24
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Auto</div>
25
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Auto</div>
26
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Auto</div>
24
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('auto', 'Auto') }}</div>
25
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('auto', 'Auto') }}</div>
26
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('auto', 'Auto') }}</div>
27
27
  </div>
28
28
 
29
29
  <!-- @subgrid -->
30
30
  <!-- Children inherit parent grid tracks for cross-item alignment. -->
31
31
  <div class="ui-grid ui-grid--3">
32
32
  <div class="ui-grid--subgrid" style="grid-column: span 3">
33
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Subgrid child 1</div>
34
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Subgrid child 2</div>
35
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Subgrid child 3</div>
33
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('subgrid_child_1', 'Subgrid child 1') }}</div>
34
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('subgrid_child_2', 'Subgrid child 2') }}</div>
35
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('subgrid_child_3', 'Subgrid child 3') }}</div>
36
36
  </div>
37
37
  </div>
38
38
  <div class="ui-grid ui-grid--3" style="grid-template-rows: auto 1fr auto">
39
39
  <div class="ui-grid--subgrid-rows" style="grid-row: span 3; border: 1px solid var(--ui-color-border); padding: var(--ui-space-2)">
40
- <strong>Card A</strong>
41
- <p>Short content.</p>
42
- <span style="color: var(--ui-color-text-muted)">Footer</span>
40
+ <strong>{{ t('card_a', 'Card A') }}</strong>
41
+ <p>{{ t('short_content', 'Short content.') }}</p>
42
+ <span style="color: var(--ui-color-text-muted)">{{ t('footer', 'Footer') }}</span>
43
43
  </div>
44
44
  <div class="ui-grid--subgrid-rows" style="grid-row: span 3; border: 1px solid var(--ui-color-border); padding: var(--ui-space-2)">
45
- <strong>Card B</strong>
46
- <p>Longer content that wraps to multiple lines to demonstrate row alignment.</p>
47
- <span style="color: var(--ui-color-text-muted)">Footer</span>
45
+ <strong>{{ t('card_b', 'Card B') }}</strong>
46
+ <p>{{ t('longer_content_wraps_demo', 'Longer content that wraps to multiple lines to demonstrate row alignment.') }}</p>
47
+ <span style="color: var(--ui-color-text-muted)">{{ t('footer', 'Footer') }}</span>
48
48
  </div>
49
49
  <div class="ui-grid--subgrid-rows" style="grid-row: span 3; border: 1px solid var(--ui-color-border); padding: var(--ui-space-2)">
50
- <strong>Card C</strong>
51
- <p>Medium text.</p>
52
- <span style="color: var(--ui-color-text-muted)">Footer</span>
50
+ <strong>{{ t('card_c', 'Card C') }}</strong>
51
+ <p>{{ t('medium_text', 'Medium text.') }}</p>
52
+ <span style="color: var(--ui-color-text-muted)">{{ t('footer', 'Footer') }}</span>
53
53
  </div>
54
54
  </div>
55
55
  <div class="ui-grid ui-grid--3" style="grid-template-rows: auto auto">
56
56
  <div class="ui-grid--subgrid-both" style="grid-column: span 3; grid-row: span 2">
57
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">A1</div>
58
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">A2</div>
59
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">A3</div>
60
- <div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">B1</div>
61
- <div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">B2</div>
62
- <div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">B3</div>
57
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('a1', 'A1') }}</div>
58
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('a2', 'A2') }}</div>
59
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('a3', 'A3') }}</div>
60
+ <div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">{{ t('b1', 'B1') }}</div>
61
+ <div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">{{ t('b2', 'B2') }}</div>
62
+ <div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">{{ t('b3', 'B3') }}</div>
63
63
  </div>
64
64
  </div>
65
65
 
66
66
  <!-- @column_span -->
67
67
  <!-- Span multiple columns with .ui-grid-col-span-{2,3,4,full} utilities. -->
68
68
  <div class="ui-grid ui-grid--4">
69
- <div style="grid-column: span 2; background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Span 2</div>
69
+ <div style="grid-column: span 2; background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('span_2', 'Span 2') }}</div>
70
70
  <div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">1</div>
71
71
  <div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">1</div>
72
72
  <div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">1</div>
73
- <div style="grid-column: span 3; background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Span 3</div>
74
- <div style="grid-column: 1 / -1; background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Span full</div>
73
+ <div style="grid-column: span 3; background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('span_3', 'Span 3') }}</div>
74
+ <div style="grid-column: 1 / -1; background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('span_full', 'Span full') }}</div>
75
75
  </div>
76
76
 
77
77
  <!-- @row_span -->
78
78
  <!-- Span multiple rows with .ui-grid-row-span-{2,3,full} utilities. -->
79
79
  <div class="ui-grid ui-grid--3">
80
- <div style="grid-row: span 2; background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Row span 2</div>
80
+ <div style="grid-row: span 2; background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('row_span_2', 'Row span 2') }}</div>
81
81
  <div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">1</div>
82
82
  <div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">2</div>
83
83
  <div style="background: var(--ui-color-bg-subtle); padding: var(--ui-space-2)">3</div>
@@ -7,7 +7,7 @@ description: Main content area that accounts for sidebar and topbar offsets in a
7
7
  <!-- Offsets content for a start-side sidebar and optional topbar. -->
8
8
  <div style="position: relative; height: var(--ui-row-4)">
9
9
  <main class="ui-main" style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">
10
- <p>Main content area</p>
10
+ <p>{{ t('main_content_area', 'Main content area') }}</p>
11
11
  </main>
12
12
  </div>
13
13
 
@@ -15,7 +15,7 @@ description: Main content area that accounts for sidebar and topbar offsets in a
15
15
  <!-- Offsets content for an end-side sidebar instead of start. -->
16
16
  <div style="position: relative; height: var(--ui-row-4)">
17
17
  <main class="ui-main ui-main--sidebar-end" style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">
18
- <p>Content with end sidebar</p>
18
+ <p>{{ t('content_with_end_sidebar', 'Content with end sidebar') }}</p>
19
19
  </main>
20
20
  </div>
21
21
 
@@ -23,6 +23,6 @@ description: Main content area that accounts for sidebar and topbar offsets in a
23
23
  <!-- No sidebar offset. Use when there is no sidebar. -->
24
24
  <div style="position: relative; height: var(--ui-row-4)">
25
25
  <main class="ui-main ui-main--full" style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">
26
- <p>Full width content</p>
26
+ <p>{{ t('full_width_content', 'Full width content') }}</p>
27
27
  </main>
28
28
  </div>
@@ -7,12 +7,12 @@ description: Narrow fixed vertical navigation rail for icon-based navigation wit
7
7
  <!-- Fixed narrow rail with icon items and bottom actions. -->
8
8
  <nav class="ui-nav-rail" style="0: p; 1: o; 2: s; 3: i; 4: t; 5: i; 6: o; 7: n; 8: :; 9: ; 10: r; 11: e; 12: l; 13: a; 14: t; 15: i; 16: v; 17: e; 18: ;; 19: ; 20: b; 21: l; 22: o; 23: c; 24: k; 25: -; 26: s; 27: i; 28: z; 29: e; 30: :; 31: ; 32: 3; 33: 2; 34: 0; 35: p; 36: x">
9
9
  <div class="ui-nav-rail__items">
10
- <button class="ui-button ui-button--ghost ui-button--icon">H</button>
11
- <button class="ui-button ui-button--ghost ui-button--icon">S</button>
12
- <button class="ui-button ui-button--ghost ui-button--icon">M</button>
10
+ <button class="ui-button ui-button--ghost ui-button--icon">{{ t('h', 'H') }}</button>
11
+ <button class="ui-button ui-button--ghost ui-button--icon">{{ t('s', 'S') }}</button>
12
+ <button class="ui-button ui-button--ghost ui-button--icon">{{ t('m', 'M') }}</button>
13
13
  </div>
14
14
  <div class="ui-nav-rail__actions">
15
- <button class="ui-button ui-button--ghost ui-button--icon">G</button>
15
+ <button class="ui-button ui-button--ghost ui-button--icon">{{ t('g', 'G') }}</button>
16
16
  </div>
17
17
  </nav>
18
18
 
@@ -31,7 +31,7 @@ description: Narrow fixed vertical navigation rail for icon-based navigation wit
31
31
  <!-- Nav rail respects --topbar-height, offsetting below the topbar. -->
32
32
  <body class="ui-app-shell" style="--topbar-height: var(--ui-row-3)">
33
33
  <header class="ui-topbar ui-topbar--fixed ui-topbar--bordered">
34
- <div class="ui-topbar__start"><strong>App</strong></div>
34
+ <div class="ui-topbar__start"><strong>{{ t('app', 'App') }}</strong></div>
35
35
  </header>
36
36
  <nav class="ui-nav-rail">
37
37
  <div class="ui-nav-rail__items"><!-- icons --></div>
@@ -7,11 +7,11 @@ description: Content area header with title, description, actions, and optional
7
7
  <!-- Title with actions on the end side. -->
8
8
  <header class="ui-page-header ui-page-header--bordered">
9
9
  <div class="ui-page-header__title">
10
- <h1 class="ui-heading ui-heading--xl">Users</h1>
11
- <p>Manage user accounts and permissions.</p>
10
+ <h1 class="ui-heading ui-heading--xl">{{ t('users', 'Users') }}</h1>
11
+ <p>{{ t('manage_user_accounts_and_permissions', 'Manage user accounts and permissions.') }}</p>
12
12
  </div>
13
13
  <div class="ui-page-header__actions">
14
- <button class="ui-button ui-button--primary">Add user</button>
14
+ <button class="ui-button ui-button--primary">{{ t('add_user', 'Add user') }}</button>
15
15
  </div>
16
16
  </header>
17
17
 
@@ -19,13 +19,13 @@ description: Content area header with title, description, actions, and optional
19
19
  <!-- Breadcrumb spans the full width above the title row. -->
20
20
  <header class="ui-page-header ui-page-header--bordered">
21
21
  <nav class="ui-page-header__breadcrumb">
22
- <span>Home / Settings / Users</span>
22
+ <span>{{ t('home_settings_users', 'Home / Settings / Users') }}</span>
23
23
  </nav>
24
24
  <div class="ui-page-header__title">
25
- <h1 class="ui-heading ui-heading--xl">Users</h1>
25
+ <h1 class="ui-heading ui-heading--xl">{{ t('users', 'Users') }}</h1>
26
26
  </div>
27
27
  <div class="ui-page-header__actions">
28
- <button class="ui-button">Export</button>
28
+ <button class="ui-button">{{ t('export', 'Export') }}</button>
29
29
  </div>
30
30
  </header>
31
31
 
@@ -33,7 +33,7 @@ description: Content area header with title, description, actions, and optional
33
33
  <!-- Bottom border via inset box-shadow. -->
34
34
  <header class="ui-page-header ui-page-header--bordered">
35
35
  <div class="ui-page-header__title">
36
- <h1 class="ui-heading ui-heading--xl">Dashboard</h1>
36
+ <h1 class="ui-heading ui-heading--xl">{{ t('dashboard', 'Dashboard') }}</h1>
37
37
  </div>
38
38
  </header>
39
39
 
@@ -41,9 +41,9 @@ description: Content area header with title, description, actions, and optional
41
41
  <!-- Sticks to the top of the scroll container. -->
42
42
  <header class="ui-page-header ui-page-header--sticky ui-page-header--bordered">
43
43
  <div class="ui-page-header__title">
44
- <h1 class="ui-heading ui-heading--xl">Sticky Header</h1>
44
+ <h1 class="ui-heading ui-heading--xl">{{ t('sticky_header', 'Sticky Header') }}</h1>
45
45
  </div>
46
46
  <div class="ui-page-header__actions">
47
- <button class="ui-button">Save</button>
47
+ <button class="ui-button">{{ t('save', 'Save') }}</button>
48
48
  </div>
49
49
  </header>
@@ -5,40 +5,40 @@ description: Horizontal layout with wrapping.
5
5
 
6
6
  <!-- @basic -->
7
7
  <div class="ui-row ui-row--md">
8
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Tag 1</div>
9
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Tag 2</div>
10
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Tag 3</div>
11
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">Tag 4</div>
8
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('tag_1', 'Tag 1') }}</div>
9
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('tag_2', 'Tag 2') }}</div>
10
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('tag_3', 'Tag 3') }}</div>
11
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-2)">{{ t('tag_4', 'Tag 4') }}</div>
12
12
  </div>
13
13
 
14
14
  <!-- @sizes -->
15
15
  <div class="ui-row ui-row--xs">
16
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">xs</div>
17
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">xs</div>
18
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">xs</div>
16
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">{{ t('xs', 'xs') }}</div>
17
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">{{ t('xs', 'xs') }}</div>
18
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">{{ t('xs', 'xs') }}</div>
19
19
  </div>
20
20
  <div class="ui-row ui-row--lg">
21
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">lg</div>
22
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">lg</div>
23
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">lg</div>
21
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">{{ t('lg', 'lg') }}</div>
22
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">{{ t('lg', 'lg') }}</div>
23
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">{{ t('lg', 'lg') }}</div>
24
24
  </div>
25
25
  <div class="ui-row ui-row--sm">
26
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">sm</div>
27
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">sm</div>
28
- <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">sm</div>
26
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">{{ t('sm', 'sm') }}</div>
27
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">{{ t('sm', 'sm') }}</div>
28
+ <div style="background: var(--ui-color-bg-muted); padding: var(--ui-space-1)">{{ t('sm', 'sm') }}</div>
29
29
  </div>
30
30
 
31
31
  <!-- @alignment -->
32
32
  <div class="ui-row ui-row--start" style="background: var(--ui-color-bg-muted)">
33
- <div style="background: var(--ui-color-bg); padding: var(--ui-space-2)">Start</div>
33
+ <div style="background: var(--ui-color-bg); padding: var(--ui-space-2)">{{ t('start', 'Start') }}</div>
34
34
  </div>
35
35
  <div class="ui-row ui-row--center" style="background: var(--ui-color-bg-muted)">
36
- <div style="background: var(--ui-color-bg); padding: var(--ui-space-2)">Center</div>
36
+ <div style="background: var(--ui-color-bg); padding: var(--ui-space-2)">{{ t('center', 'Center') }}</div>
37
37
  </div>
38
38
  <div class="ui-row ui-row--end" style="background: var(--ui-color-bg-muted)">
39
- <div style="background: var(--ui-color-bg); padding: var(--ui-space-2)">End</div>
39
+ <div style="background: var(--ui-color-bg); padding: var(--ui-space-2)">{{ t('end', 'End') }}</div>
40
40
  </div>
41
41
  <div class="ui-row ui-row--between" style="background: var(--ui-color-bg-muted)">
42
- <div style="background: var(--ui-color-bg); padding: var(--ui-space-2)">Between A</div>
43
- <div style="background: var(--ui-color-bg); padding: var(--ui-space-2)">Between B</div>
42
+ <div style="background: var(--ui-color-bg); padding: var(--ui-space-2)">{{ t('between_a', 'Between A') }}</div>
43
+ <div style="background: var(--ui-color-bg); padding: var(--ui-space-2)">{{ t('between_b', 'Between B') }}</div>
44
44
  </div>
@@ -6,22 +6,22 @@ description: Fixed-position sidebar for app layouts with adjustable widths and p
6
6
  <!-- @basic -->
7
7
  <!-- Default sidebar positioned on the start side. Use inside an app-shell layout. -->
8
8
  <aside class="ui-sidebar">
9
- <p>Sidebar content</p>
9
+ <p>{{ t('sidebar_content', 'Sidebar content') }}</p>
10
10
  </aside>
11
11
 
12
12
  <!-- @widths | column -->
13
13
  <aside class="ui-sidebar ui-sidebar--sm" style="position: relative; height: auto;">
14
- <p>Small (192px)</p>
14
+ <p>{{ t('small_192px', 'Small (192px)') }}</p>
15
15
  </aside>
16
16
  <aside class="ui-sidebar ui-sidebar--md" style="position: relative; height: auto;">
17
- <p>Medium (240px, default)</p>
17
+ <p>{{ t('medium_240px_default', 'Medium (240px, default)') }}</p>
18
18
  </aside>
19
19
  <aside class="ui-sidebar ui-sidebar--lg" style="position: relative; height: auto;">
20
- <p>Large (320px)</p>
20
+ <p>{{ t('large_320px', 'Large (320px)') }}</p>
21
21
  </aside>
22
22
 
23
23
  <!-- @end_position -->
24
24
  <!-- Position sidebar on the end side with --end modifier. -->
25
25
  <aside class="ui-sidebar ui-sidebar--end">
26
- <p>End sidebar</p>
26
+ <p>{{ t('end_sidebar', 'End sidebar') }}</p>
27
27
  </aside>