@teseor/css 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/compiled.css +201 -107
  2. package/dist/index.css +265 -171
  3. package/package.json +1 -1
  4. package/src/00-config/tokens/_variables.scss +39 -25
  5. package/src/00-config/tokens/colors/index.scss +22 -21
  6. package/src/03-layout/cluster/cluster-visual.png +0 -0
  7. package/src/03-layout/cluster/cluster.visual.spec.ts +15 -0
  8. package/src/03-layout/sidebar/sidebar-visual.png +0 -0
  9. package/src/03-layout/sidebar/sidebar.docs.json +62 -0
  10. package/src/03-layout/sidebar/sidebar.visual.spec.ts +14 -0
  11. package/src/03-layout/sidebar-nav/sidebar-nav.api.json +29 -80
  12. package/src/04-components/accordion/accordion.api.json +5 -1
  13. package/src/04-components/alert/alert.api.json +6 -0
  14. package/src/04-components/alert/index.scss +10 -15
  15. package/src/04-components/avatar/avatar.api.json +5 -0
  16. package/src/04-components/badge/index.scss +12 -9
  17. package/src/04-components/breadcrumb/breadcrumb.api.json +5 -0
  18. package/src/04-components/button/button-visual.png +0 -0
  19. package/src/04-components/button/button.api.json +30 -56
  20. package/src/04-components/button/button.docs.json +75 -0
  21. package/src/04-components/button/index.scss +27 -17
  22. package/src/04-components/button-group/button-group-visual.png +0 -0
  23. package/src/04-components/button-group/button-group.api.json +5 -1
  24. package/src/04-components/button-group/button-group.visual.spec.ts +2 -1
  25. package/src/04-components/checkbox/checkbox-visual.png +0 -0
  26. package/src/04-components/checkbox/checkbox.api.json +1 -1
  27. package/src/04-components/code/code.api.json +6 -1
  28. package/src/04-components/data-list/data-list-visual.png +0 -0
  29. package/src/04-components/data-list/data-list.api.json +16 -1
  30. package/src/04-components/data-list/data-list.visual.spec.ts +2 -1
  31. package/src/04-components/data-list/index.scss +3 -2
  32. package/src/04-components/dialog/dialog.api.json +12 -1
  33. package/src/04-components/disclosure/disclosure.api.json +13 -1
  34. package/src/04-components/divider/divider.api.json +3 -0
  35. package/src/04-components/drawer/drawer.api.json +17 -1
  36. package/src/04-components/field/field.api.json +9 -1
  37. package/src/04-components/form-error/form-error-visual.png +0 -0
  38. package/src/04-components/form-error/form-error.api.json +3 -0
  39. package/src/04-components/icon/icon-visual.png +0 -0
  40. package/src/04-components/icon/icon.api.json +7 -6
  41. package/src/04-components/icon/icon.docs.json +86 -22
  42. package/src/04-components/icon/index.scss +6 -19
  43. package/src/04-components/index.scss +1 -0
  44. package/src/04-components/input/input-visual.png +0 -0
  45. package/src/04-components/input/input.api.json +31 -0
  46. package/src/04-components/label/label.api.json +4 -0
  47. package/src/04-components/link/link-visual.png +0 -0
  48. package/src/04-components/link/link.api.json +6 -0
  49. package/src/04-components/menu/menu.api.json +24 -0
  50. package/src/04-components/modal/modal.api.json +12 -1
  51. package/src/04-components/nav/index.scss +142 -0
  52. package/src/04-components/nav/nav-visual.png +0 -0
  53. package/src/04-components/nav/nav.api.json +55 -0
  54. package/src/04-components/nav/nav.docs.json +242 -0
  55. package/src/04-components/nav/nav.visual.spec.ts +14 -0
  56. package/src/04-components/overlay/overlay.api.json +14 -1
  57. package/src/04-components/pagination/pagination.api.json +22 -1
  58. package/src/04-components/popover/popover.api.json +9 -1
  59. package/src/04-components/progress/progress.api.json +20 -1
  60. package/src/04-components/radio/radio-visual.png +0 -0
  61. package/src/04-components/radio/radio.api.json +1 -1
  62. package/src/04-components/select/select.api.json +3 -0
  63. package/src/04-components/skeleton/skeleton.api.json +8 -1
  64. package/src/04-components/status/status.api.json +14 -1
  65. package/src/04-components/table/table.api.json +8 -1
  66. package/src/04-components/tabs/tabs.api.json +17 -0
  67. package/src/04-components/tag/tag.api.json +4 -0
  68. package/src/04-components/textarea/textarea.api.json +3 -0
  69. package/src/04-components/toast/toast.api.json +22 -1
  70. package/src/04-components/toggle/toggle.api.json +5 -0
  71. package/src/04-components/tooltip/tooltip.api.json +11 -1
  72. package/src/testing/page-setup.ts +25 -9
package/dist/compiled.css CHANGED
@@ -9,26 +9,25 @@
9
9
  @import "https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;700&family=Noto+Sans+Mono:wght@400;500&display=swap";
10
10
  @layer reset, tokens, base, primitives, components.styles, components.tokens, utilities, themes;
11
11
  :root {
12
- --ui-hue-primary: 220;
13
- --ui-hue-success: 142;
14
- --ui-hue-warning: 38;
15
- --ui-hue-danger: 0;
16
- --ui-color-neutral-50: hsl(var(--ui-hue-primary) 10% 98%);
17
- --ui-color-neutral-100: hsl(var(--ui-hue-primary) 10% 96%);
18
- --ui-color-neutral-200: hsl(var(--ui-hue-primary) 10% 90%);
19
- --ui-color-neutral-300: hsl(var(--ui-hue-primary) 10% 80%);
20
- --ui-color-neutral-400: hsl(var(--ui-hue-primary) 10% 60%);
21
- --ui-color-neutral-500: hsl(var(--ui-hue-primary) 10% 45%);
22
- --ui-color-neutral-600: hsl(var(--ui-hue-primary) 10% 35%);
23
- --ui-color-neutral-700: hsl(var(--ui-hue-primary) 10% 25%);
24
- --ui-color-neutral-800: hsl(var(--ui-hue-primary) 10% 15%);
25
- --ui-color-neutral-900: hsl(var(--ui-hue-primary) 10% 10%);
26
- --ui-color-primary-light: hsl(var(--ui-hue-primary) 85% 65%);
27
- --ui-color-primary: hsl(var(--ui-hue-primary) 85% 50%);
28
- --ui-color-primary-dark: hsl(var(--ui-hue-primary) 85% 40%);
29
- --ui-color-success: hsl(var(--ui-hue-success) 70% 45%);
30
- --ui-color-warning: hsl(var(--ui-hue-warning) 90% 50%);
31
- --ui-color-danger: hsl(var(--ui-hue-danger) 70% 50%);
12
+ --ui-color-primary: oklch(55% 0.22 250);
13
+ --ui-color-success: oklch(60% 0.18 145);
14
+ --ui-color-warning: oklch(75% 0.18 70);
15
+ --ui-color-danger: oklch(60% 0.22 25);
16
+ --ui-color-neutral: oklch(50% 0.02 250);
17
+ --ui-color-primary-light: color-mix(in oklch, var(--ui-color-primary) 50%, white);
18
+ --ui-color-primary-dark: color-mix(in oklch, var(--ui-color-primary) 75%, black);
19
+ --ui-color-primary-subtle: color-mix(in oklch, var(--ui-color-primary) 12%, white);
20
+ --ui-color-primary-hover: color-mix(in oklch, var(--ui-color-primary) 85%, black);
21
+ --ui-color-neutral-50: color-mix(in oklch, var(--ui-color-neutral) 3%, white);
22
+ --ui-color-neutral-100: color-mix(in oklch, var(--ui-color-neutral) 6%, white);
23
+ --ui-color-neutral-200: color-mix(in oklch, var(--ui-color-neutral) 12%, white);
24
+ --ui-color-neutral-300: color-mix(in oklch, var(--ui-color-neutral) 25%, white);
25
+ --ui-color-neutral-400: color-mix(in oklch, var(--ui-color-neutral) 50%, white);
26
+ --ui-color-neutral-500: var(--ui-color-neutral);
27
+ --ui-color-neutral-600: color-mix(in oklch, var(--ui-color-neutral) 85%, black);
28
+ --ui-color-neutral-700: color-mix(in oklch, var(--ui-color-neutral) 70%, black);
29
+ --ui-color-neutral-800: color-mix(in oklch, var(--ui-color-neutral) 50%, black);
30
+ --ui-color-neutral-900: color-mix(in oklch, var(--ui-color-neutral) 35%, black);
32
31
  }
33
32
 
34
33
  :root {
@@ -833,34 +832,27 @@
833
832
  }
834
833
  @layer components.tokens {
835
834
  .alert {
835
+ --_accent: var(--ui-alert-accent, var(--ui-color-border, hsl(220, 10%, 90%)));
836
836
  --_padding: var(--ui-alert-padding, var(--ui-space-2, 1rem));
837
837
  --_border-width: var(--ui-alert-border-width, var(--ui-border-width-sm, 0.0625rem));
838
838
  --_gap: var(--ui-alert-gap, var(--ui-space-1, 0.5rem));
839
839
  --_radius: var(--ui-alert-radius, var(--ui-radius-md, 0.5rem));
840
- --_bg: var(--ui-alert-bg, var(--ui-color-bg-subtle, hsl(220, 10%, 96%)));
841
- --_border-color: var(--ui-alert-border-color, var(--ui-color-border, hsl(220, 10%, 90%)));
840
+ --_bg: color-mix(in oklch, var(--_accent) 8%, white);
841
+ --_border-color: var(--_accent);
842
842
  --_color: var(--ui-alert-color, var(--ui-color-text, hsl(220, 10%, 10%)));
843
- --_icon-color: var(--ui-alert-icon-color, currentcolor);
843
+ --_icon-color: var(--_accent);
844
844
  }
845
845
  .alert--info {
846
- --_bg: var(--ui-alert-info-bg, var(--ui-color-bg-subtle, hsl(220, 10%, 96%)));
847
- --_border-color: var(--ui-alert-info-border, var(--ui-color-primary, hsl(220, 85%, 50%)));
848
- --_icon-color: var(--ui-alert-info-icon, var(--ui-color-primary, hsl(220, 85%, 50%)));
846
+ --_accent: var(--ui-color-primary, oklch(55% 0.22 250deg));
849
847
  }
850
848
  .alert--success {
851
- --_bg: var(--ui-alert-success-bg, var(--ui-color-bg-subtle, hsl(220, 10%, 96%)));
852
- --_border-color: var(--ui-alert-success-border, var(--ui-color-success, hsl(142, 70%, 45%)));
853
- --_icon-color: var(--ui-alert-success-icon, var(--ui-color-success, hsl(142, 70%, 45%)));
849
+ --_accent: var(--ui-color-success, oklch(60% 0.18 145deg));
854
850
  }
855
851
  .alert--warning {
856
- --_bg: var(--ui-alert-warning-bg, var(--ui-color-bg-subtle, hsl(220, 10%, 96%)));
857
- --_border-color: var(--ui-alert-warning-border, var(--ui-color-warning, hsl(38, 90%, 50%)));
858
- --_icon-color: var(--ui-alert-warning-icon, var(--ui-color-warning, hsl(38, 90%, 50%)));
852
+ --_accent: var(--ui-color-warning, oklch(75% 0.18 70deg));
859
853
  }
860
854
  .alert--danger {
861
- --_bg: var(--ui-alert-danger-bg, var(--ui-color-bg-subtle, hsl(220, 10%, 96%)));
862
- --_border-color: var(--ui-alert-danger-border, var(--ui-color-danger, hsl(0, 70%, 50%)));
863
- --_icon-color: var(--ui-alert-danger-icon, var(--ui-color-danger, hsl(0, 70%, 50%)));
855
+ --_accent: var(--ui-color-danger, oklch(60% 0.22 25deg));
864
856
  }
865
857
  }
866
858
  @layer components.styles {
@@ -986,12 +978,13 @@
986
978
  }
987
979
  @layer components.tokens {
988
980
  .badge {
981
+ --_accent: var(--ui-badge-accent, var(--ui-color-bg-muted, hsl(220, 10%, 90%)));
989
982
  --_height: var(--ui-badge-height, calc(var(--ui-row, 1rem) * 1.25));
990
983
  --_padding-x: var(--ui-badge-padding-x, var(--ui-space-1, 0.5rem));
991
984
  --_font-size: var(--ui-badge-font-size, var(--ui-font-size-xs, 0.75rem));
992
985
  --_font-weight: var(--ui-badge-font-weight, var(--ui-weight-medium, 500));
993
986
  --_radius: var(--ui-badge-radius, var(--ui-radius-full, 9999px));
994
- --_bg: var(--ui-badge-bg, var(--ui-color-bg-muted, hsl(220, 10%, 90%)));
987
+ --_bg: var(--_accent);
995
988
  --_text: var(--ui-badge-text, var(--ui-color-text, hsl(220, 10%, 10%)));
996
989
  }
997
990
  .badge--sm {
@@ -1000,20 +993,20 @@
1000
993
  --_font-size: var(--ui-badge-font-size-sm, calc(var(--ui-font-size-xs, 0.75rem) * 0.85));
1001
994
  }
1002
995
  .badge--primary {
1003
- --_bg: var(--ui-badge-primary-bg, var(--ui-color-primary, hsl(220, 85%, 50%)));
1004
- --_text: var(--ui-badge-primary-text, var(--ui-color-text-inverse, hsl(220, 10%, 98%)));
996
+ --_accent: var(--ui-color-primary, oklch(55% 0.22 250deg));
997
+ --_text: var(--ui-color-text-inverse, hsl(220, 10%, 98%));
1005
998
  }
1006
999
  .badge--success {
1007
- --_bg: var(--ui-badge-success-bg, var(--ui-color-success, hsl(142, 70%, 45%)));
1008
- --_text: var(--ui-badge-success-text, var(--ui-color-text-inverse, hsl(220, 10%, 98%)));
1000
+ --_accent: var(--ui-color-success, oklch(60% 0.18 145deg));
1001
+ --_text: var(--ui-color-text-inverse, hsl(220, 10%, 98%));
1009
1002
  }
1010
1003
  .badge--warning {
1011
- --_bg: var(--ui-badge-warning-bg, var(--ui-color-warning, hsl(38, 90%, 50%)));
1012
- --_text: var(--ui-badge-warning-text, var(--ui-color-text, hsl(220, 10%, 10%)));
1004
+ --_accent: var(--ui-color-warning, oklch(75% 0.18 70deg));
1005
+ --_text: var(--ui-color-text, hsl(220, 10%, 10%));
1013
1006
  }
1014
1007
  .badge--danger {
1015
- --_bg: var(--ui-badge-danger-bg, var(--ui-color-danger, hsl(0, 70%, 50%)));
1016
- --_text: var(--ui-badge-danger-text, var(--ui-color-text-inverse, hsl(220, 10%, 98%)));
1008
+ --_accent: var(--ui-color-danger, oklch(60% 0.22 25deg));
1009
+ --_text: var(--ui-color-text-inverse, hsl(220, 10%, 98%));
1017
1010
  }
1018
1011
  }
1019
1012
  @layer components.styles {
@@ -1087,50 +1080,57 @@
1087
1080
  }
1088
1081
  @layer components.tokens {
1089
1082
  .button {
1083
+ --_accent: var(--ui-button-accent, var(--ui-color-primary, oklch(55% 0.22 250deg)));
1090
1084
  --_height: var(--ui-button-height, var(--ui-row-2, 2rem));
1091
1085
  --_padding-x: var(--ui-button-padding-x, var(--ui-space-2, 1rem));
1092
1086
  --_font-size: var(--ui-button-font-size, var(--ui-font-size-sm, 0.875rem));
1093
1087
  --_font-weight: var(--ui-button-font-weight, var(--ui-weight-medium, 500));
1094
1088
  --_radius: var(--ui-button-radius, var(--ui-radius-md, 0.5rem));
1095
- --_bg: var(--ui-button-bg, var(--ui-color-primary, hsl(220, 85%, 50%)));
1096
- --_bg-hover: var(--ui-button-bg-hover, var(--ui-color-primary-dark, hsl(220, 85%, 40%)));
1089
+ --_bg: var(--_accent);
1090
+ --_bg-hover: color-mix(in oklch, var(--_accent) 80%, black);
1097
1091
  --_text: var(--ui-button-text, var(--ui-color-text-inverse, hsl(220, 10%, 98%)));
1098
1092
  }
1099
1093
  .button--sm {
1094
+ --ui-ctx-size: var(--ui-size-sm, 0.75rem);
1100
1095
  --_height: var(--ui-button-height-sm, calc(var(--row, 1rem) * 1.5));
1101
1096
  --_font-size: var(--ui-button-font-size-sm, var(--ui-font-size-xs, 0.75rem));
1102
1097
  }
1098
+ .button--md {
1099
+ --ui-ctx-size: var(--ui-size-md, 1rem);
1100
+ --_height: var(--ui-button-height-md, var(--ui-row-2, 2rem));
1101
+ --_font-size: var(--ui-button-font-size-md, var(--ui-font-size-sm, 0.875rem));
1102
+ }
1103
1103
  .button--lg {
1104
+ --ui-ctx-size: var(--ui-size-lg, 1.25rem);
1104
1105
  --_height: var(--ui-button-height-lg, calc(var(--row, 1rem) * 2.5));
1105
1106
  --_padding-x: var(--ui-button-padding-x-lg, var(--ui-space-3, 1.5rem));
1106
1107
  --_font-size: var(--ui-button-font-size-lg, var(--ui-font-size-md, 1rem));
1107
1108
  }
1108
1109
  .button--secondary {
1109
- --_bg: var(--ui-button-secondary-bg, var(--ui-color-bg-muted, hsl(220, 10%, 90%)));
1110
- --_bg-hover: var(--ui-button-secondary-bg-hover, var(--ui-color-border-strong, hsl(220, 10%, 80%)));
1111
- --_text: var(--ui-button-secondary-text, var(--ui-color-text, hsl(220, 10%, 10%)));
1110
+ --_bg: var(--ui-color-bg-muted, hsl(220, 10%, 90%));
1111
+ --_bg-hover: var(--ui-color-border-strong, hsl(220, 10%, 80%));
1112
+ --_text: var(--ui-color-text, hsl(220, 10%, 10%));
1112
1113
  }
1113
1114
  .button--ghost {
1114
- --_bg: var(--ui-button-ghost-bg, transparent);
1115
- --_bg-hover: var(--ui-button-ghost-bg-hover, var(--ui-color-bg-subtle, hsl(220, 10%, 96%)));
1116
- --_text: var(--ui-button-ghost-text, var(--ui-color-primary, hsl(220, 85%, 50%)));
1115
+ --_bg: transparent;
1116
+ --_bg-hover: color-mix(in oklch, var(--_accent) 10%, transparent);
1117
+ --_text: var(--_accent);
1117
1118
  }
1118
1119
  .button--outline {
1119
- --_bg: var(--ui-button-outline-bg, transparent);
1120
- --_bg-hover: var(--ui-button-outline-bg-hover, var(--ui-color-primary, hsl(220, 85%, 50%)));
1121
- --_text: var(--ui-button-outline-text, var(--ui-color-primary, hsl(220, 85%, 50%)));
1122
- --_text-hover: var(--ui-button-outline-text-hover, var(--ui-color-text-inverse, hsl(220, 10%, 98%)));
1123
- --_border: var(--ui-button-outline-border, var(--ui-border-width-sm, 0.0625rem) solid currentColor);
1120
+ --_bg: transparent;
1121
+ --_bg-hover: var(--_accent);
1122
+ --_text: var(--_accent);
1123
+ --_text-hover: var(--ui-color-text-inverse, hsl(220, 10%, 98%));
1124
+ --_border: var(--ui-border-width-sm, 0.0625rem) solid currentColor;
1124
1125
  }
1125
1126
  .button--danger {
1126
- --_bg: var(--ui-button-danger-bg, var(--ui-color-danger, hsl(0, 70%, 50%)));
1127
- --_bg-hover: var(--ui-button-danger-bg-hover, hsl(0, 70%, 40%));
1127
+ --_accent: var(--ui-color-danger, oklch(60% 0.22 25deg));
1128
1128
  }
1129
1129
  .button--link {
1130
1130
  --_bg: transparent;
1131
1131
  --_bg-hover: transparent;
1132
- --_text: var(--ui-button-link-text, var(--ui-color-primary, hsl(220, 85%, 50%)));
1133
- --_text-hover: var(--ui-button-link-text-hover, var(--ui-color-primary-dark, hsl(220, 85%, 40%)));
1132
+ --_text: var(--_accent);
1133
+ --_text-hover: color-mix(in oklch, var(--_accent) 70%, black);
1134
1134
  --_height: auto;
1135
1135
  --_padding-x: 0;
1136
1136
  --_radius: 0;
@@ -1178,7 +1178,7 @@
1178
1178
  background: var(--_bg-hover);
1179
1179
  }
1180
1180
  .button:focus-visible, .button--focus {
1181
- outline: var(--ui-border-width-md, 0.125rem) solid var(--ui-color-focus, hsl(220, 85%, 65%));
1181
+ outline: var(--ui-border-width-md, 0.125rem) solid var(--ui-color-focus, oklch(75% 0.15 250deg));
1182
1182
  outline-offset: var(--ui-border-width-md, 0.125rem);
1183
1183
  }
1184
1184
  .button:active, .button--active {
@@ -1330,17 +1330,17 @@
1330
1330
  --_size: var(--ui-checkbox-size, calc(0.5rem * 2));
1331
1331
  --_radius: var(--ui-checkbox-radius, var(--ui-radius-sm, 0.25rem));
1332
1332
  --_bg: var(--ui-checkbox-bg, var(--ui-color-bg, hsl(220, 10%, 98%)));
1333
- --_bg-checked: var(--ui-checkbox-bg-checked, var(--ui-color-primary, hsl(220, 85%, 50%)));
1333
+ --_bg-checked: var(--ui-checkbox-bg-checked, var(--ui-color-primary, oklch(55% 0.22 250deg)));
1334
1334
  --_border-color: var(--ui-checkbox-border-color, var(--ui-color-border-strong, hsl(220, 10%, 80%)));
1335
- --_border-color-focus: var(--ui-checkbox-border-color-focus, var(--ui-color-primary, hsl(220, 85%, 50%)));
1335
+ --_border-color-focus: var(--ui-checkbox-border-color-focus, var(--ui-color-primary, oklch(55% 0.22 250deg)));
1336
1336
  --_check-color: var(--ui-checkbox-check-color, var(--ui-color-text-inverse, hsl(220, 10%, 98%)));
1337
1337
  }
1338
1338
  .checkbox--lg {
1339
1339
  --_size: var(--ui-checkbox-size-lg, calc(0.5rem * 3));
1340
1340
  }
1341
1341
  .checkbox--error {
1342
- --_border-color: var(--ui-checkbox-error-border, var(--ui-color-danger, hsl(0, 70%, 50%)));
1343
- --_border-color-focus: var(--ui-checkbox-error-border, var(--ui-color-danger, hsl(0, 70%, 50%)));
1342
+ --_border-color: var(--ui-checkbox-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)));
1343
+ --_border-color-focus: var(--ui-checkbox-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)));
1344
1344
  }
1345
1345
  }
1346
1346
  @layer components.styles {
@@ -1375,7 +1375,7 @@
1375
1375
  .checkbox:focus-visible {
1376
1376
  border-color: var(--_border-color-focus);
1377
1377
  outline: none;
1378
- box-shadow: 0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-color-focus, hsl(220, 85%, 65%));
1378
+ box-shadow: 0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-color-focus, oklch(75% 0.15 250deg));
1379
1379
  }
1380
1380
  .checkbox:checked {
1381
1381
  background: var(--_bg-checked);
@@ -1488,8 +1488,8 @@
1488
1488
  text-align: end;
1489
1489
  }
1490
1490
  .data-list--divided .data-list__item {
1491
- padding-block-end: var(--_gap);
1492
- border-block-end: 1px solid var(--ui-color-border, hsl(220, 10%, 90%));
1491
+ padding-block-end: calc(var(--_gap) - var(--ui-border-width-sm, 0.0625rem));
1492
+ border-block-end: var(--ui-border-width-sm, 0.0625rem) solid var(--ui-color-border, hsl(220, 10%, 90%));
1493
1493
  }
1494
1494
  .data-list--divided .data-list__item:last-child {
1495
1495
  padding-block-end: 0;
@@ -2011,23 +2011,23 @@
2011
2011
  }
2012
2012
  @layer components.tokens {
2013
2013
  .icon {
2014
- --_size: var(--ui-icon-size, 1em);
2014
+ --_size: var(--ui-icon-size, var(--ui-ctx-size, 1rem));
2015
2015
  --_stroke: var(--ui-icon-stroke, 2);
2016
2016
  }
2017
2017
  .icon--xs {
2018
- --_size: var(--ui-icon-size-xs, calc(0.5rem * 2));
2018
+ --_size: var(--ui-icon-size-xs, var(--ui-size-xs, 0.5rem));
2019
2019
  }
2020
2020
  .icon--sm {
2021
- --_size: var(--ui-icon-size-sm, calc(0.5rem * 3));
2021
+ --_size: var(--ui-icon-size-sm, var(--ui-size-sm, 0.75rem));
2022
2022
  }
2023
2023
  .icon--md {
2024
- --_size: var(--ui-icon-size-md, calc(0.5rem * 4));
2024
+ --_size: var(--ui-icon-size-md, var(--ui-size-md, 1rem));
2025
2025
  }
2026
2026
  .icon--lg {
2027
- --_size: var(--ui-icon-size-lg, calc(0.5rem * 5));
2027
+ --_size: var(--ui-icon-size-lg, var(--ui-size-lg, 1.25rem));
2028
2028
  }
2029
2029
  .icon--xl {
2030
- --_size: var(--ui-icon-size-xl, calc(0.5rem * 6));
2030
+ --_size: var(--ui-icon-size-xl, var(--ui-size-xl, 1.5rem));
2031
2031
  }
2032
2032
  .icon--stroke-thin {
2033
2033
  --_stroke: var(--ui-icon-stroke-thin, 1);
@@ -2071,7 +2071,7 @@
2071
2071
  --_radius: var(--ui-input-radius, var(--ui-radius-md, 0.5rem));
2072
2072
  --_bg: var(--ui-input-bg, var(--ui-color-bg, hsl(220, 10%, 98%)));
2073
2073
  --_border-color: var(--ui-input-border-color, var(--ui-color-border-strong, hsl(220, 10%, 80%)));
2074
- --_border-color-focus: var(--ui-input-border-color-focus, var(--ui-color-primary, hsl(220, 85%, 50%)));
2074
+ --_border-color-focus: var(--ui-input-border-color-focus, var(--ui-color-primary, oklch(55% 0.22 250deg)));
2075
2075
  --_text: var(--ui-input-text, var(--ui-color-text, hsl(220, 10%, 10%)));
2076
2076
  --_placeholder: var(--ui-input-placeholder, var(--ui-color-text-muted, hsl(220, 10%, 45%)));
2077
2077
  }
@@ -2093,12 +2093,12 @@
2093
2093
  --_border-color: transparent;
2094
2094
  }
2095
2095
  .input--error {
2096
- --_border-color: var(--ui-input-error-border, var(--ui-color-danger, hsl(0, 70%, 50%)));
2097
- --_border-color-focus: var(--ui-input-error-border, var(--ui-color-danger, hsl(0, 70%, 50%)));
2096
+ --_border-color: var(--ui-input-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)));
2097
+ --_border-color-focus: var(--ui-input-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)));
2098
2098
  }
2099
2099
  .input--success {
2100
- --_border-color: var(--ui-input-success-border, var(--ui-color-success, hsl(142, 70%, 45%)));
2101
- --_border-color-focus: var(--ui-input-success-border, var(--ui-color-success, hsl(142, 70%, 45%)));
2100
+ --_border-color: var(--ui-input-success-border, var(--ui-color-success, oklch(60% 0.18 145deg)));
2101
+ --_border-color-focus: var(--ui-input-success-border, var(--ui-color-success, oklch(60% 0.18 145deg)));
2102
2102
  }
2103
2103
  }
2104
2104
  @layer components.styles {
@@ -2125,7 +2125,7 @@
2125
2125
  .input:focus, .input--focus {
2126
2126
  border-color: var(--_border-color-focus);
2127
2127
  outline: none;
2128
- box-shadow: 0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-color-focus, hsl(220, 85%, 65%));
2128
+ box-shadow: 0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-color-focus, oklch(75% 0.15 250deg));
2129
2129
  }
2130
2130
  .input:disabled, .input--disabled {
2131
2131
  opacity: 0.5;
@@ -2176,7 +2176,7 @@
2176
2176
  .label {
2177
2177
  --_font-size: var(--ui-label-font-size, var(--ui-font-size-sm, 0.875rem));
2178
2178
  --_color: var(--ui-label-color, var(--ui-color-text, hsl(220, 10%, 10%)));
2179
- --_required-color: var(--ui-label-required-color, var(--ui-color-danger, hsl(0, 70%, 50%)));
2179
+ --_required-color: var(--ui-label-required-color, var(--ui-color-danger, oklch(60% 0.22 25deg)));
2180
2180
  }
2181
2181
  .label--lg {
2182
2182
  --_font-size: var(--ui-label-font-size-lg, var(--ui-font-size-md, 1rem));
@@ -2316,10 +2316,10 @@
2316
2316
  outline: none;
2317
2317
  }
2318
2318
  .menu__item--danger {
2319
- color: var(--ui-color-danger, hsl(0, 70%, 50%));
2319
+ color: var(--ui-color-danger, oklch(60% 0.22 25deg));
2320
2320
  }
2321
2321
  .menu__item--danger:hover, .menu__item--danger:focus-visible {
2322
- color: var(--ui-color-danger, hsl(0, 70%, 50%));
2322
+ color: var(--ui-color-danger, oklch(60% 0.22 25deg));
2323
2323
  }
2324
2324
  .menu__item--disabled,
2325
2325
  .menu__item[aria-disabled=true] {
@@ -2430,6 +2430,100 @@
2430
2430
  pointer-events: none;
2431
2431
  }
2432
2432
  }
2433
+ @layer components.tokens {
2434
+ .nav {
2435
+ --_gap: var(--ui-nav-gap, var(--ui-space-1, 0.5rem));
2436
+ --_item-height: var(--ui-nav-item-height, var(--ui-row-2, 2rem));
2437
+ --_item-padding-x: var(--ui-nav-item-padding-x, var(--ui-space-2, 1rem));
2438
+ --_item-font-size: var(--ui-nav-item-font-size, var(--ui-font-size-sm, 0.875rem));
2439
+ --_item-font-weight: var(--ui-nav-item-font-weight, var(--ui-weight-medium, 500));
2440
+ --_item-color: var(--ui-nav-item-color, var(--ui-color-text-muted, hsl(220, 10%, 45%)));
2441
+ --_item-color-hover: var(--ui-nav-item-color-hover, var(--ui-color-text, hsl(220, 10%, 10%)));
2442
+ --_item-color-active: var(--ui-nav-item-color-active, var(--ui-color-primary, oklch(55% 0.22 250deg)));
2443
+ --_item-radius: var(--ui-nav-item-radius, var(--ui-radius-sm, 0.25rem));
2444
+ --_border-color: var(--ui-nav-border-color, var(--ui-color-border, hsl(220, 10%, 90%)));
2445
+ }
2446
+ .nav--pills {
2447
+ --_item-bg-hover: var(--ui-nav-item-bg-hover, var(--ui-color-bg-muted, hsl(220, 10%, 90%)));
2448
+ --_item-bg-active: var(--ui-nav-item-bg-active, var(--ui-color-primary, oklch(55% 0.22 250deg)));
2449
+ --_item-color-active: var(--ui-nav-item-color-active, var(--ui-color-text-inverse, hsl(220, 10%, 98%)));
2450
+ }
2451
+ }
2452
+ @layer components.styles {
2453
+ .nav__list {
2454
+ display: flex;
2455
+ align-items: stretch;
2456
+ gap: var(--_gap);
2457
+ box-sizing: border-box;
2458
+ block-size: var(--_item-height);
2459
+ padding: 0;
2460
+ margin: 0;
2461
+ list-style: none;
2462
+ box-shadow: inset 0 calc(var(--ui-border-width-sm, 0.0625rem) * -1) 0 var(--_border-color);
2463
+ }
2464
+ .nav__item {
2465
+ display: inline-flex;
2466
+ align-items: center;
2467
+ box-sizing: border-box;
2468
+ block-size: var(--_item-height);
2469
+ padding-inline: var(--_item-padding-x);
2470
+ font-family: var(--ui-font-sans, Noto Sans, system-ui, -apple-system, sans-serif);
2471
+ font-size: var(--_item-font-size);
2472
+ font-weight: var(--_item-font-weight);
2473
+ line-height: 1;
2474
+ text-decoration: none;
2475
+ white-space: nowrap;
2476
+ color: var(--_item-color);
2477
+ background: transparent;
2478
+ border: none;
2479
+ box-shadow: inset 0 calc(var(--ui-border-width-md, 0.125rem) * -1) 0 transparent;
2480
+ cursor: pointer;
2481
+ transition: color var(--ui-duration-base) var(--ui-ease-default), background var(--ui-duration-base) var(--ui-ease-default), box-shadow var(--ui-duration-base) var(--ui-ease-default);
2482
+ }
2483
+ .nav__item:hover {
2484
+ color: var(--_item-color-hover);
2485
+ }
2486
+ .nav__item--active {
2487
+ color: var(--_item-color-active);
2488
+ box-shadow: inset 0 calc(var(--ui-border-width-md, 0.125rem) * -1) 0 var(--_item-color-active);
2489
+ }
2490
+ .nav__item--disabled {
2491
+ opacity: 0.5;
2492
+ pointer-events: none;
2493
+ }
2494
+ .nav--pills .nav__list {
2495
+ box-shadow: none;
2496
+ }
2497
+ .nav--pills .nav__item {
2498
+ border-radius: var(--_item-radius);
2499
+ box-shadow: none;
2500
+ }
2501
+ .nav--pills .nav__item:hover {
2502
+ background: var(--_item-bg-hover);
2503
+ }
2504
+ .nav--pills .nav__item--active {
2505
+ color: var(--_item-color-active);
2506
+ background: var(--_item-bg-active);
2507
+ }
2508
+ .nav--vertical .nav__list {
2509
+ flex-direction: column;
2510
+ align-items: stretch;
2511
+ block-size: auto;
2512
+ box-shadow: inset calc(var(--ui-border-width-sm, 0.0625rem) * -1) 0 0 var(--_border-color);
2513
+ }
2514
+ .nav--vertical .nav__item {
2515
+ box-shadow: inset calc(var(--ui-border-width-md, 0.125rem) * -1) 0 0 transparent;
2516
+ }
2517
+ .nav--vertical .nav__item--active {
2518
+ box-shadow: inset calc(var(--ui-border-width-md, 0.125rem) * -1) 0 0 var(--_item-color-active);
2519
+ }
2520
+ .nav--vertical.nav--pills .nav__list {
2521
+ box-shadow: none;
2522
+ }
2523
+ .nav--vertical.nav--pills .nav__item {
2524
+ box-shadow: none;
2525
+ }
2526
+ }
2433
2527
  @layer components.tokens {
2434
2528
  .overlay {
2435
2529
  --_bg: var(--ui-overlay-bg, rgb(0 0 0 / 0.5));
@@ -2697,17 +2791,17 @@
2697
2791
  .radio {
2698
2792
  --_size: var(--ui-radio-size, calc(0.5rem * 2));
2699
2793
  --_bg: var(--ui-radio-bg, var(--ui-color-bg, hsl(220, 10%, 98%)));
2700
- --_bg-checked: var(--ui-radio-bg-checked, var(--ui-color-primary, hsl(220, 85%, 50%)));
2794
+ --_bg-checked: var(--ui-radio-bg-checked, var(--ui-color-primary, oklch(55% 0.22 250deg)));
2701
2795
  --_border-color: var(--ui-radio-border-color, var(--ui-color-border-strong, hsl(220, 10%, 80%)));
2702
- --_border-color-focus: var(--ui-radio-border-color-focus, var(--ui-color-primary, hsl(220, 85%, 50%)));
2796
+ --_border-color-focus: var(--ui-radio-border-color-focus, var(--ui-color-primary, oklch(55% 0.22 250deg)));
2703
2797
  --_dot-color: var(--ui-radio-dot-color, var(--ui-color-text-inverse, hsl(220, 10%, 98%)));
2704
2798
  }
2705
2799
  .radio--lg {
2706
2800
  --_size: var(--ui-radio-size-lg, calc(0.5rem * 3));
2707
2801
  }
2708
2802
  .radio--error {
2709
- --_border-color: var(--ui-radio-error-border, var(--ui-color-danger, hsl(0, 70%, 50%)));
2710
- --_border-color-focus: var(--ui-radio-error-border, var(--ui-color-danger, hsl(0, 70%, 50%)));
2803
+ --_border-color: var(--ui-radio-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)));
2804
+ --_border-color-focus: var(--ui-radio-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)));
2711
2805
  }
2712
2806
  }
2713
2807
  @layer components.styles {
@@ -2743,7 +2837,7 @@
2743
2837
  .radio:focus-visible {
2744
2838
  border-color: var(--_border-color-focus);
2745
2839
  outline: none;
2746
- box-shadow: 0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-color-focus, hsl(220, 85%, 65%));
2840
+ box-shadow: 0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-color-focus, oklch(75% 0.15 250deg));
2747
2841
  }
2748
2842
  .radio:checked {
2749
2843
  background: var(--_bg-checked);
@@ -2766,7 +2860,7 @@
2766
2860
  --_radius: var(--ui-select-radius, var(--ui-radius-md, 0.5rem));
2767
2861
  --_bg: var(--ui-select-bg, var(--ui-color-bg, hsl(220, 10%, 98%)));
2768
2862
  --_border-color: var(--ui-select-border-color, var(--ui-color-border-strong, hsl(220, 10%, 80%)));
2769
- --_border-color-focus: var(--ui-select-border-color-focus, var(--ui-color-primary, hsl(220, 85%, 50%)));
2863
+ --_border-color-focus: var(--ui-select-border-color-focus, var(--ui-color-primary, oklch(55% 0.22 250deg)));
2770
2864
  --_text: var(--ui-select-text, var(--ui-color-text, hsl(220, 10%, 10%)));
2771
2865
  --_icon-color: var(--ui-select-icon-color, var(--ui-color-text-muted, hsl(220, 10%, 45%)));
2772
2866
  }
@@ -2788,12 +2882,12 @@
2788
2882
  --_border-color: transparent;
2789
2883
  }
2790
2884
  .select--error {
2791
- --_border-color: var(--ui-select-error-border, var(--ui-color-danger, hsl(0, 70%, 50%)));
2792
- --_border-color-focus: var(--ui-select-error-border, var(--ui-color-danger, hsl(0, 70%, 50%)));
2885
+ --_border-color: var(--ui-select-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)));
2886
+ --_border-color-focus: var(--ui-select-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)));
2793
2887
  }
2794
2888
  .select--success {
2795
- --_border-color: var(--ui-select-success-border, var(--ui-color-success, hsl(142, 70%, 45%)));
2796
- --_border-color-focus: var(--ui-select-success-border, var(--ui-color-success, hsl(142, 70%, 45%)));
2889
+ --_border-color: var(--ui-select-success-border, var(--ui-color-success, oklch(60% 0.18 145deg)));
2890
+ --_border-color-focus: var(--ui-select-success-border, var(--ui-color-success, oklch(60% 0.18 145deg)));
2797
2891
  }
2798
2892
  }
2799
2893
  @layer components.styles {
@@ -2823,7 +2917,7 @@
2823
2917
  .select:focus, .select--focus {
2824
2918
  border-color: var(--_border-color-focus);
2825
2919
  outline: none;
2826
- box-shadow: 0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-color-focus, hsl(220, 85%, 65%));
2920
+ box-shadow: 0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-color-focus, oklch(75% 0.15 250deg));
2827
2921
  }
2828
2922
  .select:disabled, .select--disabled {
2829
2923
  opacity: 0.5;
@@ -3087,9 +3181,9 @@
3087
3181
  color: var(--ui-color-text, hsl(220, 10%, 10%));
3088
3182
  }
3089
3183
  .tabs__tab--active {
3090
- color: var(--ui-color-primary, hsl(220, 85%, 50%));
3184
+ color: var(--ui-color-primary, oklch(55% 0.22 250deg));
3091
3185
  background: var(--_tab-bg-active);
3092
- box-shadow: inset 0 calc(var(--ui-border-width-md, 0.125rem) * -1) 0 var(--ui-color-primary, hsl(220, 85%, 50%));
3186
+ box-shadow: inset 0 calc(var(--ui-border-width-md, 0.125rem) * -1) 0 var(--ui-color-primary, oklch(55% 0.22 250deg));
3093
3187
  }
3094
3188
  .tabs__panel {
3095
3189
  display: none;
@@ -3116,19 +3210,19 @@
3116
3210
  --_font-size: var(--ui-tag-font-size-sm, var(--ui-font-size-xs, 0.75rem));
3117
3211
  }
3118
3212
  .tag--primary {
3119
- --_bg: var(--ui-tag-primary-bg, var(--ui-color-primary, hsl(220, 85%, 50%)));
3213
+ --_bg: var(--ui-tag-primary-bg, var(--ui-color-primary, oklch(55% 0.22 250deg)));
3120
3214
  --_color: var(--ui-tag-primary-color, var(--ui-color-text-inverse, hsl(220, 10%, 98%)));
3121
3215
  }
3122
3216
  .tag--success {
3123
- --_bg: var(--ui-tag-success-bg, var(--ui-color-success, hsl(142, 70%, 45%)));
3217
+ --_bg: var(--ui-tag-success-bg, var(--ui-color-success, oklch(60% 0.18 145deg)));
3124
3218
  --_color: var(--ui-tag-success-color, var(--ui-color-text-inverse, hsl(220, 10%, 98%)));
3125
3219
  }
3126
3220
  .tag--warning {
3127
- --_bg: var(--ui-tag-warning-bg, var(--ui-color-warning, hsl(38, 90%, 50%)));
3221
+ --_bg: var(--ui-tag-warning-bg, var(--ui-color-warning, oklch(75% 0.18 70deg)));
3128
3222
  --_color: var(--ui-tag-warning-color, var(--ui-color-text, hsl(220, 10%, 10%)));
3129
3223
  }
3130
3224
  .tag--danger {
3131
- --_bg: var(--ui-tag-danger-bg, var(--ui-color-danger, hsl(0, 70%, 50%)));
3225
+ --_bg: var(--ui-tag-danger-bg, var(--ui-color-danger, oklch(60% 0.22 25deg)));
3132
3226
  --_color: var(--ui-tag-danger-color, var(--ui-color-text-inverse, hsl(220, 10%, 98%)));
3133
3227
  }
3134
3228
  }
@@ -3182,7 +3276,7 @@
3182
3276
  --_radius: var(--ui-textarea-radius, var(--ui-radius-md, 0.5rem));
3183
3277
  --_bg: var(--ui-textarea-bg, var(--ui-color-bg, hsl(220, 10%, 98%)));
3184
3278
  --_border-color: var(--ui-textarea-border-color, var(--ui-color-border-strong, hsl(220, 10%, 80%)));
3185
- --_border-color-focus: var(--ui-textarea-border-color-focus, var(--ui-color-primary, hsl(220, 85%, 50%)));
3279
+ --_border-color-focus: var(--ui-textarea-border-color-focus, var(--ui-color-primary, oklch(55% 0.22 250deg)));
3186
3280
  --_text: var(--ui-textarea-text, var(--ui-color-text, hsl(220, 10%, 10%)));
3187
3281
  --_placeholder: var(--ui-textarea-placeholder, var(--ui-color-text-muted, hsl(220, 10%, 45%)));
3188
3282
  }
@@ -3205,12 +3299,12 @@
3205
3299
  --_border-color: transparent;
3206
3300
  }
3207
3301
  .textarea--error {
3208
- --_border-color: var(--ui-textarea-error-border, var(--ui-color-danger, hsl(0, 70%, 50%)));
3209
- --_border-color-focus: var(--ui-textarea-error-border, var(--ui-color-danger, hsl(0, 70%, 50%)));
3302
+ --_border-color: var(--ui-textarea-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)));
3303
+ --_border-color-focus: var(--ui-textarea-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)));
3210
3304
  }
3211
3305
  .textarea--success {
3212
- --_border-color: var(--ui-textarea-success-border, var(--ui-color-success, hsl(142, 70%, 45%)));
3213
- --_border-color-focus: var(--ui-textarea-success-border, var(--ui-color-success, hsl(142, 70%, 45%)));
3306
+ --_border-color: var(--ui-textarea-success-border, var(--ui-color-success, oklch(60% 0.18 145deg)));
3307
+ --_border-color-focus: var(--ui-textarea-success-border, var(--ui-color-success, oklch(60% 0.18 145deg)));
3214
3308
  }
3215
3309
  }
3216
3310
  @layer components.styles {
@@ -3241,7 +3335,7 @@
3241
3335
  }
3242
3336
  .textarea:focus, .textarea--focus {
3243
3337
  outline-color: var(--_border-color-focus);
3244
- box-shadow: 0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-color-focus, hsl(220, 85%, 65%));
3338
+ box-shadow: 0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-color-focus, oklch(75% 0.15 250deg));
3245
3339
  }
3246
3340
  .textarea:disabled, .textarea--disabled {
3247
3341
  opacity: 0.5;