srcdev-nuxt-forms 5.0.1 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/assets/styles/extends-layer/srcdev-forms/components/_form-core.css +8 -0
  2. package/assets/styles/extends-layer/srcdev-forms/components/_input-checkbox-radio-options-button.css +1 -1
  3. package/assets/styles/extends-layer/srcdev-forms/components/_input-checkbox.css +3 -2
  4. package/assets/styles/extends-layer/srcdev-forms/components/_input-radio.css +3 -2
  5. package/assets/styles/extends-layer/srcdev-forms/components/_input-select.css +3 -1
  6. package/assets/styles/extends-layer/srcdev-forms/components/_input-text-as-number.css +1 -1
  7. package/assets/styles/extends-layer/srcdev-forms/components/index.css +1 -0
  8. package/assets/styles/extends-layer/srcdev-forms/setup/_generic.css +0 -6
  9. package/assets/styles/extends-layer/srcdev-forms/setup/variants/_normal.css +1 -1
  10. package/assets/styles/extends-layer/srcdev-forms/setup/variants/_underlined.css +1 -1
  11. package/assets/styles/main.css +0 -3
  12. package/assets/styles/setup/_head.css +5 -0
  13. package/assets/styles/setup/index.css +4 -0
  14. package/assets/styles/setup/typography/index.css +2 -0
  15. package/assets/styles/setup/typography/utility-classes/_generic-font-classes.css +192 -0
  16. package/assets/styles/setup/typography/utility-classes/_generic-font-variation-settings.css +29 -0
  17. package/assets/styles/setup/typography/utility-classes/_generic-font-weights.css +41 -0
  18. package/assets/styles/setup/typography/utility-classes/index.css +3 -0
  19. package/assets/styles/setup/typography/vars/index.css +1 -0
  20. package/assets/styles/{utils → setup/utility-classes}/_page.css +1 -1
  21. package/assets/styles/setup/variables/index.css +0 -1
  22. package/components/forms/input-checkbox-radio/InputCheckboxRadioButton.vue +2 -1
  23. package/components/forms/input-checkbox-radio/InputCheckboxRadioCore.vue +2 -2
  24. package/components/forms/input-select/InputSelectCore.vue +1 -1
  25. package/components/forms/input-text/InputTextCore.vue +1 -1
  26. package/components/forms/input-textarea/InputTextareaCore.vue +1 -1
  27. package/composables/useZodValidation.ts +7 -6
  28. package/package.json +12 -12
  29. package/assets/styles/theming/index.css +0 -2
  30. package/assets/styles/theming/utils/_font-classes.css +0 -190
  31. package/assets/styles/theming/utils/_weights.css +0 -69
  32. package/assets/styles/theming/utils/index.css +0 -2
  33. package/assets/styles/theming/vars/_type-colors.css +0 -14
  34. package/assets/styles/theming/vars/index.css +0 -1
  35. /package/assets/styles/{ally → setup/a11y}/_utils.css +0 -0
  36. /package/assets/styles/{ally → setup/a11y}/_variables.css +0 -0
  37. /package/assets/styles/{ally → setup/a11y}/index.css +0 -0
  38. /package/assets/styles/setup/{variables/_reponsive-font-size.css → typography/vars/_reponsive-font-sizes.css} +0 -0
  39. /package/assets/styles/{utils → setup/utility-classes}/_margin-helpers.css +0 -0
  40. /package/assets/styles/{utils → setup/utility-classes}/_padding-helpers.css +0 -0
  41. /package/assets/styles/{utils → setup/utility-classes}/index.css +0 -0
@@ -0,0 +1,8 @@
1
+ :root {
2
+ .underlined,
3
+ .normal,
4
+ .input-select-core,
5
+ .input-checkbox-radio-options-button {
6
+ --form-core-background-color-hover: light-dark(hsl(from var(--theme-form-input-border) h s 95%), hsl(from var(--theme-form-input-border) h s 25%));
7
+ }
8
+ }
@@ -2,7 +2,7 @@
2
2
  .input-checkbox-radio-options-button {
3
3
  /* --input-checkbox-radio-options-button-background-color: hsl(from var(--theme-form-input-border) h s 95%); */
4
4
  --input-checkbox-radio-options-button-background-color: color-mix(in srgb, currentColor 5%, transparent);
5
- --input-checkbox-radio-options-button-background-color-active: hsl(from var(--theme-form-input-border) h s 25%);
5
+ --input-checkbox-radio-options-button-background-color-active: light-dark(hsl(from var(--theme-form-input-border) h s 75%), hsl(from var(--theme-form-input-border) h s 25%));
6
6
 
7
7
  --input-checkbox-radio-options-button-border: 0.1rem solid var(--theme-form-input-border);
8
8
  --input-checkbox-radio-options-button-border-active: 0.1rem solid var(--theme-form-input-border);
@@ -5,7 +5,6 @@
5
5
  .input-checkbox-radio-wrapper {
6
6
  &.checkbox {
7
7
  --input-checkbox-radio-wrapper-transition: all var(--theme-form-transition-duration) ease-in-out;
8
- --input-checkbox-radio-wrapper-background-color: hsl(from var(--theme-form-input-border) h s 25%);
9
8
  --input-checkbox-radio-wrapper-border: 0.1rem solid var(--theme-form-input-border);
10
9
  --input-checkbox-radio-wrapper-border-radius: var(--form-input-border-radius);
11
10
  --input-checkbox-radio-wrapper-outline: 0.1rem solid hsl(from var(--theme-form-input-border) h s 95%);
@@ -17,7 +16,9 @@
17
16
  --input-checkbox-radio-wrapper-outline-on: 0.1rem solid hsl(from var(--theme-form-input-border) h s 1%);
18
17
  --input-checkbox-radio-wrapper-box-shadow-on: 0.1rem 0.1rem 0.1rem 0.1rem hsl(from var(--theme-form-input-border) h s 95%);
19
18
 
20
- --form-input-checkbox-radio-button-symbol-color: hsl(from var(--theme-form-input-border) h s 75%);
19
+ /* Color of checkbox */
20
+ --input-checkbox-radio-symbol-color-default: light-dark(hsl(from var(--theme-form-input-border) h s 95%), hsl(from var(--theme-form-input-border) h s 15%));
21
+ --input-checkbox-radio-symbol-color-active: light-dark(hsl(from var(--theme-form-input-border) h s 25%), hsl(from var(--theme-form-input-border) h s 75%));
21
22
 
22
23
  /* Size variants for radio buttons within a button */
23
24
  &.x-small {
@@ -5,7 +5,6 @@
5
5
  .input-checkbox-radio-wrapper {
6
6
  &.radio {
7
7
  --input-checkbox-radio-wrapper-transition: all var(--theme-form-transition-duration) ease-in-out;
8
- --input-checkbox-radio-wrapper-background-color: hsl(from var(--theme-form-input-border) h s 25%);
9
8
  --input-checkbox-radio-wrapper-border: 0.1rem solid var(--theme-form-input-border);
10
9
  --input-checkbox-radio-wrapper-border-radius: 100%;
11
10
  --input-checkbox-radio-wrapper-outline: 0.1rem solid hsl(from var(--theme-form-input-border) h s 95%);
@@ -17,7 +16,9 @@
17
16
  --input-checkbox-radio-wrapper-outline-on: 0.1rem solid hsl(from var(--theme-form-input-border) h s 1%);
18
17
  --input-checkbox-radio-wrapper-box-shadow-on: 0rem 0rem 0rem 0.3rem hsl(from var(--theme-form-input-border) h s 95%);
19
18
 
20
- --form-input-checkbox-radio-button-symbol-color: hsl(from var(--theme-form-input-border) h s 75%);
19
+ /* Color of radio button */
20
+ --input-checkbox-radio-symbol-color-default: light-dark(hsl(from var(--theme-form-input-border) h s 95%), hsl(from var(--theme-form-input-border) h s 15%));
21
+ --input-checkbox-radio-symbol-color-active: light-dark(hsl(from var(--theme-form-input-border) h s 25%), hsl(from var(--theme-form-input-border) h s 75%));
21
22
 
22
23
  /* Size variants for radio buttons within a button */
23
24
  &.x-small {
@@ -8,7 +8,9 @@
8
8
  --input-select-option-padding-inline: 1.75rem;
9
9
  --input-select-option-gap: 1.5rem;
10
10
 
11
- --input-select-option-background-color-hover: hsl(from var(--theme-form-input-border) h s 25%);
11
+ /* --input-select-option-background-color-hover: light-dark(hsl(from var(--theme-form-input-border) h s 75%), hsl(from var(--theme-form-input-border) h s 25%)); */
12
+
13
+ --input-select-option-background-color-hover: light-dark(hsl(from var(--theme-form-input-border) h s 75%), hsl(from var(--theme-form-input-border) h s 25%));
12
14
 
13
15
  --input-select-option-icon-size: 1.5rem;
14
16
  --input-select-option-transition: all var(--input-select-animation-duration) ease-in-out;
@@ -8,7 +8,7 @@
8
8
  --element-decorator-padding-inline: 0.4rem;
9
9
 
10
10
  [data-btn-theme='input-action'] {
11
- --theme-btn-bg: hsl(from var(--theme-form-input-border) h s 25%);
11
+ --theme-btn-bg: light-dark(hsl(from var(--theme-form-input-border) h s 75%), hsl(from var(--theme-form-input-border) h s 25%));
12
12
  --theme-btn-text: var(--gray-00);
13
13
  --form-input-border-radius: 0.2rem;
14
14
 
@@ -1,3 +1,4 @@
1
+ @import './_form-core';
1
2
  @import './_input-error';
2
3
  @import './_input-select';
3
4
  @import './_input-label';
@@ -1,13 +1,7 @@
1
1
  :root {
2
- --font-size: 1.6rem;
3
- --line-height: calc((var(--font-size) * 2) - 1rem);
4
-
5
- --font-family: futura-pt, Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;
6
2
  --theme-form-font-familty: var(--font-family);
7
3
  --theme-error-surface: var(--red-12);
8
4
  --theme-error-text: var(--red-0);
9
-
10
5
  --theme-form-button-font-size-normal: var(--form-element-font-size);
11
-
12
6
  --theme-form-transition-duration: 0.2s;
13
7
  }
@@ -22,7 +22,7 @@
22
22
  --element-decorator-border-bottom-default: var(--form-element-border-width) solid var(--theme-form-input-border);
23
23
  --element-decorator-border-left-default: var(--form-element-border-width) solid var(--theme-form-input-border);
24
24
 
25
- --input-placeholder-color: var(--gray-5);
25
+ --input-placeholder-color: light-dark(var(--gray-7), var(--gray-5));
26
26
  --input-placeholder-font-size: var(--step-2);
27
27
  --input-placeholder-font-style: italic;
28
28
  --input-placeholder-font-weight: normal;
@@ -22,7 +22,7 @@
22
22
  --element-decorator-border-bottom-default: var(--form-element-border-width-underlined) solid var(--theme-form-input-border);
23
23
  --element-decorator-border-left-default: var(--form-element-border-width) solid transparent;
24
24
 
25
- --input-placeholder-color: var(--gray-5);
25
+ --input-placeholder-color: light-dark(var(--gray-7), var(--gray-5));
26
26
  --input-placeholder-font-size: var(--step-2);
27
27
  --input-placeholder-font-style: italic;
28
28
  --input-placeholder-font-weight: normal;
@@ -1,5 +1,2 @@
1
1
  @import './setup/';
2
- @import './theming/';
3
2
  @import './extends-layer/srcdev-forms/';
4
- @import './utils';
5
- @import './ally/';
@@ -0,0 +1,5 @@
1
+ :root {
2
+ --font-size: 1.6rem;
3
+ --line-height: calc((var(--font-size) * 2) - 1rem);
4
+ --font-family: futura-pt, Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;
5
+ }
@@ -1 +1,5 @@
1
+ @import './utility-classes/';
2
+ @import './a11y/';
1
3
  @import './variables/';
4
+ @import './typography/';
5
+ @import './_head.css';
@@ -0,0 +1,2 @@
1
+ @import './utility-classes/';
2
+ @import './vars/';
@@ -0,0 +1,192 @@
1
+ :root {
2
+ .heading-1 {
3
+ font-size: var(--step-5);
4
+ font-weight: bold;
5
+ line-height: 1.3;
6
+ }
7
+
8
+ .heading-2 {
9
+ font-size: var(--step-4);
10
+ font-weight: bold;
11
+ line-height: 1.3;
12
+ }
13
+
14
+ .heading-3 {
15
+ font-size: var(--step-3);
16
+ font-weight: bold;
17
+ line-height: 1.3;
18
+ }
19
+
20
+ .heading-4 {
21
+ font-size: var(--step-2);
22
+ font-weight: bold;
23
+ line-height: 1.3;
24
+ }
25
+
26
+ .heading-5 {
27
+ font-size: var(--step-1);
28
+ font-weight: bold;
29
+ line-height: 1.3;
30
+ }
31
+
32
+ .heading-6 {
33
+ font-size: var(--step-0);
34
+ font-weight: bold;
35
+ line-height: 1.3;
36
+ }
37
+
38
+ /* Body text */
39
+
40
+ .body-large {
41
+ font-size: var(--step-3);
42
+ font-weight: normal;
43
+ line-height: 1.5;
44
+ }
45
+
46
+ .body-medium {
47
+ font-size: var(--step-2);
48
+ font-weight: normal;
49
+ line-height: 1.5;
50
+ }
51
+
52
+ .body-normal {
53
+ font-size: var(--step-1);
54
+ font-weight: normal;
55
+ line-height: 1.5;
56
+ }
57
+
58
+ .body-small {
59
+ font-size: var(--step--0);
60
+ font-weight: normal;
61
+ line-height: 1.5;
62
+ }
63
+
64
+ .body-xsmall {
65
+ font-size: var(--step--1);
66
+ font-weight: normal;
67
+ line-height: 1.5;
68
+ }
69
+
70
+ .body-large-semibold {
71
+ font-size: var(--step-3);
72
+ font-weight: 500;
73
+ line-height: 1.5;
74
+ }
75
+
76
+ .body-medium-semibold {
77
+ font-size: var(--step-2);
78
+ font-weight: 500;
79
+ line-height: 1.5;
80
+ }
81
+
82
+ .body-normal-semibold {
83
+ font-size: var(--step-1);
84
+ font-weight: 500;
85
+ line-height: 1.5;
86
+ }
87
+
88
+ .body-small-semibold {
89
+ font-size: var(--step-0);
90
+ font-weight: 500;
91
+ line-height: 1.5;
92
+ }
93
+
94
+ .body-xsmall-semibold {
95
+ font-size: var(--step--1);
96
+ font-weight: 500;
97
+ line-height: 1.5;
98
+ }
99
+
100
+ .body-large-bold {
101
+ font-size: var(--step-3);
102
+ font-weight: bold;
103
+ line-height: 1.5;
104
+ }
105
+
106
+ .body-medium-bold {
107
+ font-size: var(--step-2);
108
+ font-weight: bold;
109
+ line-height: 1.5;
110
+ }
111
+
112
+ .body-normal-bold {
113
+ font-size: var(--step-1);
114
+ font-weight: bold;
115
+ line-height: 1.5;
116
+ }
117
+
118
+ .body-small-bold {
119
+ font-size: var(--step-0);
120
+ font-weight: bold;
121
+ line-height: 1.5;
122
+ }
123
+
124
+ .body-xsmall-bold {
125
+ font-size: var(--step--1);
126
+ font-weight: bold;
127
+ line-height: 1.5;
128
+ }
129
+
130
+ /* Links */
131
+
132
+ .link-large {
133
+ color: var(--theme-link-default);
134
+ font-size: var(--step-3);
135
+ font-weight: 600;
136
+ line-height: 1.5;
137
+ text-decoration: underline;
138
+
139
+ &:visited {
140
+ color: var(--theme-link-default);
141
+ }
142
+ }
143
+
144
+ .link-medium {
145
+ color: var(--theme-link-default);
146
+ font-size: var(--step-2);
147
+ font-weight: 600;
148
+ line-height: 1.5;
149
+ text-decoration: underline;
150
+
151
+ &:visited {
152
+ color: var(--theme-link-default);
153
+ }
154
+ }
155
+
156
+ .link-normal {
157
+ color: var(--theme-link-default);
158
+ font-size: var(--step-1);
159
+ font-weight: 600;
160
+ line-height: 1.5;
161
+ text-decoration: underline;
162
+
163
+ &:visited,
164
+ &:active {
165
+ color: var(--theme-link-default);
166
+ }
167
+ }
168
+
169
+ .link-small {
170
+ color: var(--theme-link-default);
171
+ font-size: var(--step-0);
172
+ font-weight: 600;
173
+ line-height: 1.5;
174
+ text-decoration: underline;
175
+
176
+ &:visited {
177
+ color: var(--theme-link-default);
178
+ }
179
+ }
180
+
181
+ .link-xsmall {
182
+ color: var(--theme-link-default);
183
+ font-size: var(--step--1);
184
+ font-weight: 600;
185
+ line-height: 1.5;
186
+ text-decoration: underline;
187
+
188
+ &:visited {
189
+ color: var(--theme-link-default);
190
+ }
191
+ }
192
+ }
@@ -0,0 +1,29 @@
1
+ :root {
2
+ .fvs-wght-100 {
3
+ font-variation-settings: 'wght' 100;
4
+ }
5
+ .fvs-wght-200 {
6
+ font-variation-settings: 'wght' 200;
7
+ }
8
+ .fvs-wght-300 {
9
+ font-variation-settings: 'wght' 300;
10
+ }
11
+ .fvs-wght-400 {
12
+ font-variation-settings: 'wght' 400;
13
+ }
14
+ .fvs-wght-500 {
15
+ font-variation-settings: 'wght' 500;
16
+ }
17
+ .fvs-wght-600 {
18
+ font-variation-settings: 'wght' 600;
19
+ }
20
+ .fvs-wght-700 {
21
+ font-variation-settings: 'wght' 700;
22
+ }
23
+ .fvs-wght-800 {
24
+ font-variation-settings: 'wght' 800;
25
+ }
26
+ .fvs-wght-900 {
27
+ font-variation-settings: 'wght' 900;
28
+ }
29
+ }
@@ -0,0 +1,41 @@
1
+ :root {
2
+ /* By numeric step */
3
+ .wght-100 {
4
+ font-weight: 100;
5
+ }
6
+ .wght-200 {
7
+ font-weight: 200;
8
+ }
9
+ .wght-300 {
10
+ font-weight: 300;
11
+ }
12
+ .wght-400 {
13
+ font-weight: 400;
14
+ }
15
+ .wght-500 {
16
+ font-weight: 500;
17
+ }
18
+ .wght-600 {
19
+ font-weight: 600;
20
+ }
21
+ .wght-700 {
22
+ font-weight: 700;
23
+ }
24
+ .wght-800 {
25
+ font-weight: 800;
26
+ }
27
+ .wght-900 {
28
+ font-weight: 900;
29
+ }
30
+
31
+ /* By named weight */
32
+ .light {
33
+ font-weight: light;
34
+ }
35
+ .normal {
36
+ font-weight: normal;
37
+ }
38
+ .bold {
39
+ font-weight: bold;
40
+ }
41
+ }
@@ -0,0 +1,3 @@
1
+ @import './_generic-font-classes.css';
2
+ @import './_generic-font-weights.css';
3
+ @import './_generic-font-variation-settings.css';
@@ -0,0 +1 @@
1
+ @import './_reponsive-font-sizes.css';
@@ -25,7 +25,7 @@ fieldset,
25
25
  legend,
26
26
  li,
27
27
  a {
28
- color: var(--grayscale-text-body);
28
+ color: light-dark(var(--gray-12), var(--gray-3));
29
29
  font-family: var(--font-family);
30
30
  font-size: var(--step-1);
31
31
  }
@@ -1,2 +1 @@
1
1
  @import './colors/';
2
- @import './_reponsive-font-size';
@@ -136,7 +136,8 @@ const flexDirection = ref(props.direction);
136
136
  padding-inline: var(--input-checkbox-radio-options-padding-inline);
137
137
 
138
138
  &:hover {
139
- background-color: var(--input-checkbox-radio-options-button-background-color-active);
139
+ /* background-color: var(--input-checkbox-radio-options-button-background-color-active); */
140
+ background-color: var(--form-core-background-color-hover);
140
141
  border: var(--input-checkbox-radio-options-button-border-active);
141
142
  outline: var(--input-checkbox-radio-options-button-outline-active);
142
143
  }
@@ -126,7 +126,7 @@ const isChecked = computed(() => {
126
126
  grid-template-areas: 'element-stack';
127
127
  place-content: center;
128
128
 
129
- background-color: var(--input-checkbox-radio-wrapper-background-color);
129
+ background-color: var(--input-checkbox-radio-symbol-color-default);
130
130
  border: var(--input-checkbox-radio-wrapper-border);
131
131
  border-radius: var(--input-checkbox-radio-wrapper-border-radius);
132
132
  outline: var(--input-checkbox-radio-wrapper-outline);
@@ -145,7 +145,7 @@ const isChecked = computed(() => {
145
145
 
146
146
  .input-checked-icon {
147
147
  grid-area: element-stack;
148
- color: var(--form-input-checkbox-radio-button-symbol-color);
148
+ color: var(--input-checkbox-radio-symbol-color-active);
149
149
  height: var(--form-input-checkbox-radio-button-symbol-size);
150
150
  width: var(--form-input-checkbox-radio-button-symbol-size);
151
151
  box-shadow: var(--_box-shadow);
@@ -131,7 +131,7 @@ const fieldData = defineModel('fieldData') as Ref<IFormMultipleOptions>;
131
131
 
132
132
  &:hover {
133
133
  /* background-color: lab(89.6502 -0.829279 -2.45323 / 0.1); */
134
- background-color: hsl(from var(--theme-form-input-border) h s 20%);
134
+ background-color: var(--form-core-background-color-hover);
135
135
  }
136
136
 
137
137
  /* END modern Select CSS */
@@ -175,7 +175,7 @@ onMounted(() => {
175
175
 
176
176
  &:hover {
177
177
  /* background-color: lab(89.6502 -0.829279 -2.45323 / 0.1); */
178
- background-color: hsl(from var(--theme-form-input-border) h s 20%);
178
+ background-color: var(--form-core-background-color-hover);
179
179
  }
180
180
 
181
181
  display: flex;
@@ -124,7 +124,7 @@ const { elementClasses } = useStyleClassPassthrough(props.styleClassPassthrough)
124
124
 
125
125
  &:hover {
126
126
  /* background-color: lab(89.6502 -0.829279 -2.45323 / 0.1); */
127
- background-color: hsl(from var(--theme-form-input-border) h s 20%);
127
+ background-color: var(--form-core-background-color-hover);
128
128
  }
129
129
 
130
130
  display: flex;
@@ -70,10 +70,11 @@ const useZodValidation = (formSchema: any, formRef: Ref<HTMLFormElement | null>)
70
70
 
71
71
  // 3: Add issues to the ZodError object
72
72
  for (const [path, message] of Object.entries(apiErrors)) {
73
- zodError.addIssue({
73
+ zodError.issues.push({
74
74
  path: path.split('.'),
75
75
  message: message as string,
76
- code: z.ZodIssueCode.custom,
76
+ code: 'custom',
77
+ input: state[path],
77
78
  });
78
79
  await updatePreviousValue(path, message as string, state);
79
80
  }
@@ -102,10 +103,10 @@ const useZodValidation = (formSchema: any, formRef: Ref<HTMLFormElement | null>)
102
103
  };
103
104
 
104
105
  const fieldMaxLength = (name: string) => {
105
- const fieldSchema = formSchema.shape[name];
106
- if (fieldSchema instanceof z.ZodString) {
107
- return fieldSchema._def.checks.find((check) => check.kind === 'max')?.value;
108
- }
106
+ // Note: This function relied on internal Zod APIs that changed in v4
107
+ // For now, returning undefined as the maxlength functionality may need refactoring
108
+ // or using a different approach like parsing schema metadata
109
+ return undefined;
109
110
  };
110
111
 
111
112
  const scrollToFirstError = async () => {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "srcdev-nuxt-forms",
3
3
  "type": "module",
4
- "version": "5.0.1",
4
+ "version": "5.1.0",
5
5
  "main": "nuxt.config.ts",
6
6
  "scripts": {
7
7
  "clean": "rm -rf .nuxt && rm -rf .output && rm -rf .playground/.nuxt && rm -rf .playground/.output",
@@ -24,28 +24,28 @@
24
24
  "types/"
25
25
  ],
26
26
  "devDependencies": {
27
- "@nuxt/eslint-config": "1.2.0",
28
- "@nuxt/icon": "1.11.0",
27
+ "@iconify-json/carbon": "1.2.10",
28
+ "@iconify-json/material-symbols": "1.2.29",
29
+ "@iconify-json/material-symbols-light": "1.2.29",
30
+ "@nuxt/eslint-config": "1.5.2",
31
+ "@nuxt/icon": "1.15.0",
29
32
  "@nuxt/test-utils": "3.17.2",
30
33
  "@vue/test-utils": "2.4.6",
31
- "eslint": "9.22.0",
34
+ "eslint": "9.31.0",
32
35
  "happy-dom": "16.8.1",
33
- "nuxt": "3.17.5",
36
+ "nuxt": "3.17.7",
34
37
  "release-it": "18.1.2",
35
- "typescript": "5.8.2",
38
+ "typescript": "5.8.3",
36
39
  "vitest": "3.0.8",
37
- "vue": "3.5.13"
40
+ "vue": "3.5.17",
41
+ "zod": "^4.0.0"
38
42
  },
39
43
  "dependencies": {
40
- "@iconify-json/carbon": "1.2.8",
41
44
  "@iconify-json/gridicons": "1.2.2",
42
- "@iconify-json/material-symbols": "1.2.16",
43
- "@iconify-json/material-symbols-light": "1.2.16",
44
45
  "@iconify-json/ph": "1.2.2",
45
46
  "@iconify-json/radix-icons": "1.2.2",
46
47
  "@iconify-json/ri": "1.2.5",
47
- "modern-normalize": "3.0.1",
48
- "zod": "3.24.2"
48
+ "modern-normalize": "3.0.1"
49
49
  },
50
50
  "release-it": {
51
51
  "$schema": "https://unpkg.com/release-it/schema/release-it.json",
@@ -1,2 +0,0 @@
1
- @import './vars/';
2
- @import './utils/';
@@ -1,190 +0,0 @@
1
- .heading-1 {
2
- font-size: var(--step-5);
3
- font-weight: bold;
4
- line-height: 1.3;
5
- }
6
-
7
- .heading-2 {
8
- font-size: var(--step-4);
9
- font-weight: bold;
10
- line-height: 1.3;
11
- }
12
-
13
- .heading-3 {
14
- font-size: var(--step-3);
15
- font-weight: bold;
16
- line-height: 1.3;
17
- }
18
-
19
- .heading-4 {
20
- font-size: var(--step-2);
21
- font-weight: bold;
22
- line-height: 1.3;
23
- }
24
-
25
- .heading-5 {
26
- font-size: var(--step-1);
27
- font-weight: bold;
28
- line-height: 1.3;
29
- }
30
-
31
- .heading-6 {
32
- font-size: var(--step-0);
33
- font-weight: bold;
34
- line-height: 1.3;
35
- }
36
-
37
- /* Body text */
38
-
39
- .body-large {
40
- font-size: var(--step-3);
41
- font-weight: normal;
42
- line-height: 1.5;
43
- }
44
-
45
- .body-medium {
46
- font-size: var(--step-2);
47
- font-weight: normal;
48
- line-height: 1.5;
49
- }
50
-
51
- .body-normal {
52
- font-size: var(--step-1);
53
- font-weight: normal;
54
- line-height: 1.5;
55
- }
56
-
57
- .body-small {
58
- font-size: var(--step--0);
59
- font-weight: normal;
60
- line-height: 1.5;
61
- }
62
-
63
- .body-xsmall {
64
- font-size: var(--step--1);
65
- font-weight: normal;
66
- line-height: 1.5;
67
- }
68
-
69
- .body-large-semibold {
70
- font-size: var(--step-3);
71
- font-weight: 500;
72
- line-height: 1.5;
73
- }
74
-
75
- .body-medium-semibold {
76
- font-size: var(--step-2);
77
- font-weight: 500;
78
- line-height: 1.5;
79
- }
80
-
81
- .body-normal-semibold {
82
- font-size: var(--step-1);
83
- font-weight: 500;
84
- line-height: 1.5;
85
- }
86
-
87
- .body-small-semibold {
88
- font-size: var(--step-0);
89
- font-weight: 500;
90
- line-height: 1.5;
91
- }
92
-
93
- .body-xsmall-semibold {
94
- font-size: var(--step--1);
95
- font-weight: 500;
96
- line-height: 1.5;
97
- }
98
-
99
- .body-large-bold {
100
- font-size: var(--step-3);
101
- font-weight: bold;
102
- line-height: 1.5;
103
- }
104
-
105
- .body-medium-bold {
106
- font-size: var(--step-2);
107
- font-weight: bold;
108
- line-height: 1.5;
109
- }
110
-
111
- .body-normal-bold {
112
- font-size: var(--step-1);
113
- font-weight: bold;
114
- line-height: 1.5;
115
- }
116
-
117
- .body-small-bold {
118
- font-size: var(--step-0);
119
- font-weight: bold;
120
- line-height: 1.5;
121
- }
122
-
123
- .body-xsmall-bold {
124
- font-size: var(--step--1);
125
- font-weight: bold;
126
- line-height: 1.5;
127
- }
128
-
129
- /* Links */
130
-
131
- .link-large {
132
- color: var(--theme-link-default);
133
- font-size: var(--step-3);
134
- font-weight: 600;
135
- line-height: 1.5;
136
- text-decoration: underline;
137
-
138
- &:visited {
139
- color: var(--theme-link-default);
140
- }
141
- }
142
-
143
- .link-medium {
144
- color: var(--theme-link-default);
145
- font-size: var(--step-2);
146
- font-weight: 600;
147
- line-height: 1.5;
148
- text-decoration: underline;
149
-
150
- &:visited {
151
- color: var(--theme-link-default);
152
- }
153
- }
154
-
155
- .link-normal {
156
- color: var(--theme-link-default);
157
- font-size: var(--step-1);
158
- font-weight: 600;
159
- line-height: 1.5;
160
- text-decoration: underline;
161
-
162
- &:visited,
163
- &:active {
164
- color: var(--theme-link-default);
165
- }
166
- }
167
-
168
- .link-small {
169
- color: var(--theme-link-default);
170
- font-size: var(--step-0);
171
- font-weight: 600;
172
- line-height: 1.5;
173
- text-decoration: underline;
174
-
175
- &:visited {
176
- color: var(--theme-link-default);
177
- }
178
- }
179
-
180
- .link-xsmall {
181
- color: var(--theme-link-default);
182
- font-size: var(--step--1);
183
- font-weight: 600;
184
- line-height: 1.5;
185
- text-decoration: underline;
186
-
187
- &:visited {
188
- color: var(--theme-link-default);
189
- }
190
- }
@@ -1,69 +0,0 @@
1
- /* By numeric step */
2
- .wght-100 {
3
- font-weight: 100;
4
- }
5
- .wght-200 {
6
- font-weight: 200;
7
- }
8
- .wght-300 {
9
- font-weight: 300;
10
- }
11
- .wght-400 {
12
- font-weight: 400;
13
- }
14
- .wght-500 {
15
- font-weight: 500;
16
- }
17
- .wght-600 {
18
- font-weight: 600;
19
- }
20
- .wght-700 {
21
- font-weight: 700;
22
- }
23
- .wght-800 {
24
- font-weight: 800;
25
- }
26
- .wght-900 {
27
- font-weight: 900;
28
- }
29
-
30
- /* By named weight */
31
- .light {
32
- font-weight: light;
33
- }
34
- .normal {
35
- font-weight: normal;
36
- }
37
- .bold {
38
- font-weight: bold;
39
- }
40
-
41
- /* Using the font-variation-settings property. */
42
-
43
- .fvs-wght-100 {
44
- font-variation-settings: 'wght' 100;
45
- }
46
- .fvs-wght-200 {
47
- font-variation-settings: 'wght' 200;
48
- }
49
- .fvs-wght-300 {
50
- font-variation-settings: 'wght' 300;
51
- }
52
- .fvs-wght-400 {
53
- font-variation-settings: 'wght' 400;
54
- }
55
- .fvs-wght-500 {
56
- font-variation-settings: 'wght' 500;
57
- }
58
- .fvs-wght-600 {
59
- font-variation-settings: 'wght' 600;
60
- }
61
- .fvs-wght-700 {
62
- font-variation-settings: 'wght' 700;
63
- }
64
- .fvs-wght-800 {
65
- font-variation-settings: 'wght' 800;
66
- }
67
- .fvs-wght-900 {
68
- font-variation-settings: 'wght' 900;
69
- }
@@ -1,2 +0,0 @@
1
- @import './_font-classes.css';
2
- @import './_weights.css';
@@ -1,14 +0,0 @@
1
- :root {
2
- --theme-link-default: light-dark(var(--blue-12), var(--blue-4));
3
-
4
- --page-bg: light-dark(var(--gray-0), var(--gray-9));
5
-
6
- --surface-subtle: light-dark(var(--gray-1), var(--gray-8));
7
-
8
- --grayscale-text-title: light-dark(var(--gray-12), var(--gray-2));
9
- --grayscale-text-body: light-dark(var(--gray-12), var(--gray-3));
10
- --grayscale-text-subtitle: light-dark(var(--gray-12), var(--gray-2));
11
- --grayscale-text-caption: light-dark(var(--gray-12), var(--gray-2));
12
- --grayscale-text-negative: light-dark(var(--gray-12), var(--gray-2));
13
- --grayscale-text-disabled: light-dark(var(--gray-12), var(--gray-2));
14
- }
@@ -1 +0,0 @@
1
- @import './_type-colors';
File without changes
File without changes