srcdev-nuxt-forms 5.1.1 → 6.0.1

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 (157) hide show
  1. package/README.md +16 -0
  2. package/app/assets/styles/extends-layer/srcdev-forms/components/_form-fieldset.css +38 -0
  3. package/app/assets/styles/extends-layer/srcdev-forms/components/_input-button.css +66 -0
  4. package/app/assets/styles/extends-layer/srcdev-forms/components/_input-checkbox-radio-core.css +66 -0
  5. package/app/assets/styles/extends-layer/srcdev-forms/components/_input-checkbox-radio-options-button.css +76 -0
  6. package/app/assets/styles/extends-layer/srcdev-forms/components/_input-error.css +54 -0
  7. package/app/assets/styles/extends-layer/srcdev-forms/components/_input-label.css +21 -0
  8. package/app/assets/styles/extends-layer/srcdev-forms/components/_input-select.css +140 -0
  9. package/app/assets/styles/extends-layer/srcdev-forms/components/_input-text.css +190 -0
  10. package/app/assets/styles/extends-layer/srcdev-forms/components/_input-textarea.css +96 -0
  11. package/{assets → app/assets}/styles/extends-layer/srcdev-forms/components/index.css +3 -4
  12. package/app/assets/styles/extends-layer/srcdev-forms/setup/_generic.css +21 -0
  13. package/app/assets/styles/extends-layer/srcdev-forms/setup/index.css +4 -0
  14. package/{assets → app/assets}/styles/extends-layer/srcdev-forms/setup/themes/_error.css +12 -12
  15. package/{assets → app/assets}/styles/extends-layer/srcdev-forms/setup/themes/_ghost.css +12 -12
  16. package/{assets → app/assets}/styles/extends-layer/srcdev-forms/setup/themes/_input-action-underlined.css +7 -7
  17. package/{assets → app/assets}/styles/extends-layer/srcdev-forms/setup/themes/_input-action.css +7 -7
  18. package/{assets → app/assets}/styles/extends-layer/srcdev-forms/setup/themes/_primary.css +12 -12
  19. package/{assets → app/assets}/styles/extends-layer/srcdev-forms/setup/themes/_secondary.css +12 -12
  20. package/{assets → app/assets}/styles/extends-layer/srcdev-forms/setup/themes/_success.css +12 -12
  21. package/{assets → app/assets}/styles/extends-layer/srcdev-forms/setup/themes/_tertiary.css +12 -12
  22. package/{assets → app/assets}/styles/extends-layer/srcdev-forms/setup/themes/_warning.css +12 -12
  23. package/app/assets/styles/extends-layer/srcdev-forms/setup/variables/_a11y.css +7 -0
  24. package/app/assets/styles/extends-layer/srcdev-forms/setup/variables/index.css +1 -0
  25. package/app/assets/styles/extends-layer/srcdev-forms/setup/variants/_normal.css +48 -0
  26. package/{assets → app/assets}/styles/extends-layer/srcdev-forms/setup/variants/_underlined.css +10 -10
  27. package/app/assets/styles/extends-layer/srcdev-forms/setup/variants/index.css +3 -0
  28. package/app/assets/styles/extends-layer/srcdev-forms/setup/variants/sizes/_default.css +13 -0
  29. package/{assets/styles/extends-layer/srcdev-forms/setup → app/assets/styles/extends-layer/srcdev-forms/setup/variants}/sizes/index.css +2 -0
  30. package/app/assets/styles/setup/_head.css +36 -0
  31. package/app/assets/styles/setup/index.css +5 -0
  32. package/{assets/styles/setup/variables → app/assets/styles/setup/theming}/colors/_blue.css +1 -1
  33. package/{assets/styles/setup/variables → app/assets/styles/setup/theming}/index.css +1 -0
  34. package/app/assets/styles/setup/theming/themes/_default.css +66 -0
  35. package/app/assets/styles/setup/theming/themes/_error.css +66 -0
  36. package/app/assets/styles/setup/theming/themes/_ghost.css +31 -0
  37. package/app/assets/styles/setup/theming/themes/_info.css +31 -0
  38. package/app/assets/styles/setup/theming/themes/_primary.css +41 -0
  39. package/app/assets/styles/setup/theming/themes/_secondary.css +66 -0
  40. package/app/assets/styles/setup/theming/themes/_success.css +66 -0
  41. package/app/assets/styles/setup/theming/themes/_tertiary.css +31 -0
  42. package/app/assets/styles/setup/theming/themes/_warning.css +68 -0
  43. package/app/assets/styles/setup/theming/themes/index.css +9 -0
  44. package/app/assets/styles/setup/typography/index.css +2 -0
  45. package/app/assets/styles/setup/typography/utility-classes/_generic-font-classes.css +217 -0
  46. package/app/assets/styles/setup/typography/utility-classes/_generic-font-variation-settings.css +29 -0
  47. package/app/assets/styles/setup/typography/utility-classes/_generic-font-weights.css +39 -0
  48. package/app/assets/styles/setup/typography/vars/_colors.css +14 -0
  49. package/{assets → app/assets}/styles/setup/typography/vars/_reponsive-font-sizes.css +2 -0
  50. package/{assets → app/assets}/styles/setup/typography/vars/index.css +1 -0
  51. package/app/assets/styles/setup/utility-classes/_fluid-spacing.css +13 -0
  52. package/app/assets/styles/setup/utility-classes/animations/_auto-rotate.css +13 -0
  53. package/app/assets/styles/setup/utility-classes/animations/_entry-exit-blur.css +16 -0
  54. package/app/assets/styles/setup/utility-classes/animations/_entry-slide-in.css +15 -0
  55. package/app/assets/styles/setup/utility-classes/animations/_entry-zoom-reveal.css +15 -0
  56. package/app/assets/styles/setup/utility-classes/animations/index.css +4 -0
  57. package/app/assets/styles/setup/utility-classes/index.css +2 -0
  58. package/app/assets/styles/setup/variables/index.css +1 -0
  59. package/{components → app/components}/forms/c12/utils.ts +1 -1
  60. package/{components → app/components}/forms/form-errors/InputError.vue +32 -49
  61. package/{components → app/components}/forms/form-fieldset/FormFieldset.vue +9 -9
  62. package/{components → app/components}/forms/input-button/InputButtonCore.vue +20 -18
  63. package/{components → app/components}/forms/input-button/variants/InputButtonConfirm.vue +1 -1
  64. package/{components → app/components}/forms/input-checkbox/MultipleCheckboxes.vue +1 -1
  65. package/{components → app/components}/forms/input-checkbox/SingleCheckbox.vue +1 -1
  66. package/app/components/forms/input-checkbox-radio/InputCheckboxRadioButton.vue +204 -0
  67. package/{components → app/components}/forms/input-checkbox-radio/InputCheckboxRadioCore.vue +29 -17
  68. package/{components → app/components}/forms/input-checkbox-radio/InputCheckboxRadioWithLabel.vue +1 -0
  69. package/{components → app/components}/forms/input-label/InputLabel.vue +26 -7
  70. package/{components → app/components}/forms/input-number/InputNumberCore.vue +7 -6
  71. package/{components → app/components}/forms/input-number/variants/InputNumberDefault.vue +5 -6
  72. package/{components → app/components}/forms/input-radio/MultipleRadiobuttons.vue +1 -1
  73. package/{components → app/components}/forms/input-range/InputRangeCore.vue +1 -1
  74. package/{components → app/components}/forms/input-range/variants/InputRangeDefault.vue +5 -2
  75. package/{components → app/components}/forms/input-range-fancy/InputRangeFancyCore.vue +1 -1
  76. package/{components → app/components}/forms/input-range-fancy/InputRangeFancyWithLabel.vue +1 -1
  77. package/{components → app/components}/forms/input-select/InputSelectCore.vue +24 -22
  78. package/{components → app/components}/forms/input-select/variants/InputSelectWithLabel.vue +2 -2
  79. package/app/components/forms/input-text/InputTextCore.vue +341 -0
  80. package/{components → app/components}/forms/input-text/variants/InputPasswordWithLabel.vue +1 -1
  81. package/{components → app/components}/forms/input-text/variants/InputTextAsNumberWithLabel.vue +4 -2
  82. package/app/components/forms/input-text/variants/InputTextWithLabel.vue +158 -0
  83. package/{components → app/components}/forms/input-textarea/InputTextareaCore.vue +10 -131
  84. package/app/components/forms/input-textarea/variants/InputTextareaWithLabel.vue +125 -0
  85. package/{components → app/components}/forms/toggle-switch/ToggleSwitchCore.vue +1 -1
  86. package/{components → app/components}/forms/toggle-switch/ToggleSwitchCoreOld.vue +1 -1
  87. package/{components → app/components}/forms/toggle-switch/variants/ToggleSwitchWithLabel.vue +5 -2
  88. package/{components → app/components}/forms/toggle-switch/variants/ToggleSwitchWithLabelInline.vue +5 -2
  89. package/{components → app/components}/utils/colour-scheme-select/ColourSchemeSelect.vue +1 -1
  90. package/{components → app/components}/utils/colour-scheme-select/ColourSchemeSelectOld.vue +1 -1
  91. package/{composables → app/composables}/useErrorMessages.ts +2 -2
  92. package/{composables → app/composables}/useFormControl.ts +15 -9
  93. package/{composables → app/composables}/useZodValidation.ts +1 -1
  94. package/nuxt.config.ts +8 -2
  95. package/package.json +10 -11
  96. package/{types/types.zodFormControl.ts → shared/types/types.zodFormControl.d.ts} +1 -1
  97. package/assets/styles/extends-layer/srcdev-forms/components/_form-core.css +0 -8
  98. package/assets/styles/extends-layer/srcdev-forms/components/_form-fieldset.css +0 -16
  99. package/assets/styles/extends-layer/srcdev-forms/components/_input-checkbox-radio-options-button.css +0 -59
  100. package/assets/styles/extends-layer/srcdev-forms/components/_input-checkbox.css +0 -72
  101. package/assets/styles/extends-layer/srcdev-forms/components/_input-error.css +0 -55
  102. package/assets/styles/extends-layer/srcdev-forms/components/_input-label.css +0 -18
  103. package/assets/styles/extends-layer/srcdev-forms/components/_input-radio.css +0 -68
  104. package/assets/styles/extends-layer/srcdev-forms/components/_input-select.css +0 -18
  105. package/assets/styles/extends-layer/srcdev-forms/components/_input-text-as-number.css +0 -22
  106. package/assets/styles/extends-layer/srcdev-forms/components/_input-textarea.css +0 -5
  107. package/assets/styles/extends-layer/srcdev-forms/setup/_generic.css +0 -7
  108. package/assets/styles/extends-layer/srcdev-forms/setup/index.css +0 -4
  109. package/assets/styles/extends-layer/srcdev-forms/setup/sizes/_default.css +0 -12
  110. package/assets/styles/extends-layer/srcdev-forms/setup/variants/_normal.css +0 -48
  111. package/assets/styles/extends-layer/srcdev-forms/setup/variants/index.css +0 -2
  112. package/assets/styles/setup/_head.css +0 -5
  113. package/assets/styles/setup/index.css +0 -5
  114. package/assets/styles/setup/typography/index.css +0 -2
  115. package/assets/styles/setup/typography/utility-classes/_generic-font-classes.css +0 -192
  116. package/assets/styles/setup/typography/utility-classes/_generic-font-variation-settings.css +0 -29
  117. package/assets/styles/setup/typography/utility-classes/_generic-font-weights.css +0 -41
  118. package/assets/styles/setup/utility-classes/_margin-helpers.css +0 -334
  119. package/assets/styles/setup/utility-classes/_padding-helpers.css +0 -308
  120. package/assets/styles/setup/utility-classes/_page.css +0 -49
  121. package/assets/styles/setup/utility-classes/index.css +0 -3
  122. package/components/forms/input-checkbox-radio/InputCheckboxRadioButton.vue +0 -218
  123. package/components/forms/input-text/InputTextCore.vue +0 -390
  124. package/components/forms/input-text/variants/InputTextWithLabel.vue +0 -300
  125. package/components/forms/input-textarea/variants/InputTextareaWithLabel.vue +0 -269
  126. package/{assets → app/assets}/styles/extends-layer/srcdev-forms/index.css +0 -0
  127. package/{assets → app/assets}/styles/extends-layer/srcdev-forms/setup/themes/index.css +0 -0
  128. package/{assets/styles/extends-layer/srcdev-forms/setup → app/assets/styles/extends-layer/srcdev-forms/setup/variants}/sizes/_large.css +0 -0
  129. package/{assets/styles/extends-layer/srcdev-forms/setup → app/assets/styles/extends-layer/srcdev-forms/setup/variants}/sizes/_medium.css +0 -0
  130. package/{assets/styles/extends-layer/srcdev-forms/setup → app/assets/styles/extends-layer/srcdev-forms/setup/variants}/sizes/_small.css +0 -0
  131. package/{assets/styles/extends-layer/srcdev-forms/setup → app/assets/styles/extends-layer/srcdev-forms/setup/variants}/sizes/_x-small.css +0 -0
  132. package/{assets → app/assets}/styles/main.css +0 -0
  133. package/{assets → app/assets}/styles/setup/a11y/_utils.css +0 -0
  134. package/{assets → app/assets}/styles/setup/a11y/_variables.css +0 -0
  135. package/{assets → app/assets}/styles/setup/a11y/index.css +0 -0
  136. package/{assets/styles/setup/variables → app/assets/styles/setup/theming}/colors/_gray.css +0 -0
  137. package/{assets/styles/setup/variables → app/assets/styles/setup/theming}/colors/_green.css +0 -0
  138. package/{assets/styles/setup/variables → app/assets/styles/setup/theming}/colors/_orange.css +0 -0
  139. package/{assets/styles/setup/variables → app/assets/styles/setup/theming}/colors/_red.css +0 -0
  140. package/{assets/styles/setup/variables → app/assets/styles/setup/theming}/colors/_yellow.css +0 -0
  141. package/{assets/styles/setup/variables → app/assets/styles/setup/theming}/colors/index.css +3 -3
  142. package/{assets → app/assets}/styles/setup/typography/utility-classes/index.css +1 -1
  143. /package/{components → app/components}/forms/c12/prop-validators/index.ts +0 -0
  144. /package/{components → app/components}/forms/form-errors/tests/InputError.spec.ts +0 -0
  145. /package/{components → app/components}/forms/input-button/variants/InputButtonSubmit.vue +0 -0
  146. /package/{components → app/components}/forms/input-checkbox/tests/MultipleCheckboxes.spec.ts +0 -0
  147. /package/{components → app/components}/forms/input-checkbox/tests/data/tags.json +0 -0
  148. /package/{components → app/components}/forms/input-radio/tests/MultipleRadioButtons.spec.ts +0 -0
  149. /package/{components → app/components}/forms/input-radio/tests/data/tags.json +0 -0
  150. /package/{components → app/components}/forms/ui/FormField.vue +0 -0
  151. /package/{components → app/components}/forms/ui/FormWrapper.vue +0 -0
  152. /package/{components → app/components}/utils/dark-mode-switcher/DarkModeSwitcher.vue +0 -0
  153. /package/{composables → app/composables}/useApiRequest.ts +0 -0
  154. /package/{composables → app/composables}/useColourScheme.ts +0 -0
  155. /package/{composables → app/composables}/useSleep.ts +0 -0
  156. /package/{composables → app/composables}/useStyleClassPassthrough.ts +0 -0
  157. /package/{types/types.forms.ts → shared/types/types.forms.d.ts} +0 -0
@@ -0,0 +1,96 @@
1
+ .your-site-class {
2
+ .input-textarea-wrapper {
3
+ /* Custom placeholder styles */
4
+ background-color: var(--theme-input-surface);
5
+
6
+ &:hover {
7
+ background-color: var(--theme-input-surface-hover);
8
+ }
9
+
10
+ &:focus-within {
11
+ background-color: var(--theme-input-surface-hover);
12
+ outline: var(--theme-focus-visible-outline);
13
+ box-shadow: var(--theme-focus-visible-shadow);
14
+ }
15
+
16
+ &.normal {
17
+ outline: var(--form-element-outline-width) solid var(--theme-input-outline);
18
+
19
+ border-top-left-radius: var(--form-input-border-radius);
20
+ border-top-right-radius: var(--form-input-border-radius);
21
+ border-bottom-left-radius: var(--form-input-border-radius);
22
+ border-bottom-right-radius: var(--form-input-border-radius);
23
+
24
+ border-top: var(--form-element-border-width) solid var(--theme-input-border);
25
+ border-right: var(--form-element-border-width) solid var(--theme-input-border);
26
+ border-bottom: var(--form-element-border-width) solid var(--theme-input-border);
27
+ border-left: var(--form-element-border-width) solid var(--theme-input-border);
28
+
29
+ padding-inline: 1rem;
30
+
31
+ &:focus-within {
32
+ outline-color: var(--theme-input-outline-focus);
33
+ outline-offset: var(--form-element-outline-offset-focus);
34
+ }
35
+
36
+ &.error {
37
+ border-color: var(--theme-error-surface);
38
+ border-bottom-right-radius: 0;
39
+ border-bottom-left-radius: 0;
40
+ }
41
+ }
42
+
43
+ &:hover {
44
+ /* Custom placeholder styles */
45
+ }
46
+
47
+ .slot {
48
+ /* Custom placeholder styles */
49
+
50
+ &.left-slot {
51
+ /* Custom placeholder styles */
52
+ }
53
+ &.right-slot {
54
+ /* Custom placeholder styles */
55
+ }
56
+ }
57
+
58
+ .input-textarea-core {
59
+ min-height: 4rem;
60
+
61
+ &::placeholder {
62
+ color: var(--theme-input-placeholder);
63
+ font-size: var(--theme-input-placeholder-font-size);
64
+ font-style: italic;
65
+ line-height: 1;
66
+ font-weight: normal;
67
+ }
68
+ }
69
+
70
+ &.underlined {
71
+ margin-block-start: 0;
72
+ padding-block: 0;
73
+ padding-inline: 0.6rem;
74
+
75
+ border-top-left-radius: 0;
76
+ border-top-right-radius: 0;
77
+ border-bottom-left-radius: var(--form-input-border-radius);
78
+ border-bottom-right-radius: var(--form-input-border-radius);
79
+
80
+ border-top: var(--form-element-border-width) solid transparent;
81
+ border-right: var(--form-element-border-width) solid transparent;
82
+ border-bottom: var(--form-element-border-width-underlined) solid var(--theme-input-border);
83
+ border-left: var(--form-element-border-width) solid transparent;
84
+
85
+ &.error {
86
+ border-bottom-right-radius: 0;
87
+ border-bottom-left-radius: 0;
88
+
89
+ border-top: var(--form-element-border-width) solid var(--theme-error-surface);
90
+ border-right: var(--form-element-border-width) solid var(--theme-error-surface);
91
+ border-bottom: var(--form-element-border-width) solid var(--theme-error-surface);
92
+ border-left: var(--form-element-border-width) solid var(--theme-error-surface);
93
+ }
94
+ }
95
+ }
96
+ }
@@ -1,10 +1,9 @@
1
- @import './_form-core';
2
1
  @import './_input-error';
3
2
  @import './_input-select';
4
3
  @import './_input-label';
5
4
  @import './_input-textarea';
6
- @import './_input-text-as-number';
7
- @import './_input-checkbox';
8
- @import './_input-radio';
5
+ @import './_input-text';
6
+ @import './_input-checkbox-radio-core';
7
+ @import './_input-button';
9
8
  @import './_input-checkbox-radio-options-button';
10
9
  @import './_form-fieldset';
@@ -0,0 +1,21 @@
1
+ :root {
2
+ --theme-form-font-familty: var(--font-family);
3
+ --theme-error-surface: var(--red-12);
4
+ --theme-error-text: var(--red-0);
5
+ --theme-form-button-font-size-normal: var(--form-element-font-size);
6
+ --theme-form-transition-duration: 0.2s;
7
+ --theme-input-placeholder-font-size: var(--step-4);
8
+
9
+ input:autofill,
10
+ input:-internal-autofill-selected,
11
+ input:-webkit-autofill-strong-password,
12
+ input:-webkit-autofill-strong-password-viewable,
13
+ input:-webkit-autofill-and-obscured {
14
+ background-color: var(--theme-button-surface) !important;
15
+ background-image: none !important;
16
+ color: var(--_input-text-core-color) !important;
17
+ -webkit-box-shadow: 0 0 0rem 1000px var(--theme-button-surface) inset;
18
+ -webkit-text-fill-color: var(--_input-text-core-color);
19
+ transition: background-color 5000s ease-in-out 0s;
20
+ }
21
+ }
@@ -0,0 +1,4 @@
1
+ /* @import './themes/'; */
2
+ @import './variables';
3
+ @import './variants';
4
+ @import './_generic';
@@ -1,11 +1,11 @@
1
1
  :root {
2
- [data-form-theme='error'] {
3
- --theme-form-input-bg-normal: light-dark(var(--gray-1), var(--gray-4));
2
+ [data-theme-old='error'] {
3
+ --theme-button-surface: light-dark(var(--gray-1), var(--gray-4));
4
4
  --theme-form-input-bg-outlined: light-dark(var(--gray-1), var(--gray-4));
5
5
  --theme-form-input-bg-underlined: light-dark(var(--gray-1), var(--gray-4));
6
- --theme-form-input-border: var(--red-8);
7
- --theme-form-input-border-active: var(--red-2);
8
- --theme-form-input-border-focus: var(--red-2);
6
+ --theme-input-border: var(--red-8);
7
+ --theme-input-border-active: var(--red-2);
8
+ --theme-input-border-focus: var(--red-2);
9
9
  --theme-form-input-outline: white;
10
10
  --theme-form-input-outline-active: var(--red-6);
11
11
  --theme-form-input-outline-focus: var(--red-6);
@@ -64,19 +64,19 @@
64
64
  --theme-checkbox-radio-button-label-default: light-dark(var(--red-12), var(--red-12));
65
65
  }
66
66
 
67
- [data-btn-theme='error'] {
68
- --theme-btn-bg: var(--red-12);
69
- --theme-btn-border: var(--red-0);
67
+ [data-theme='error'] {
68
+ --theme-button-surface: var(--red-12);
69
+ --theme-input-border: var(--red-0);
70
70
  --theme-btn-outline: var(--red-12);
71
71
  --theme-btn-text: var(--red-0);
72
72
 
73
- --theme-btn-bg-hover: var(--red-0);
74
- --theme-btn-border-hover: var(--red-12);
73
+ --theme-button-surface-hover: var(--red-0);
74
+ --theme-input-border-hover: var(--red-12);
75
75
  --theme-btn-outline-hover: var(--red-0);
76
76
  --theme-btn-text-hover: var(--red-12);
77
77
 
78
- --theme-btn-bg-focus: var(--red-0);
79
- --theme-btn-border-focus: var(--red-12);
78
+ --theme-button-surface-focus: var(--red-0);
79
+ --theme-input-border-focus: var(--red-12);
80
80
  --theme-btn-outline-focus: var(--red-0);
81
81
  --theme-btn-text-focus: var(--red-12);
82
82
 
@@ -1,11 +1,11 @@
1
1
  :root {
2
- [data-form-theme='ghost'] {
3
- --theme-form-input-bg-normal: light-dark(var(--gray-1), var(--gray-4));
2
+ [data-theme-old='ghost'] {
3
+ --theme-button-surface: light-dark(var(--gray-1), var(--gray-4));
4
4
  --theme-form-input-bg-outlined: light-dark(var(--gray-1), var(--gray-4));
5
5
  --theme-form-input-bg-underlined: light-dark(var(--gray-1), var(--gray-4));
6
- --theme-form-input-border: var(--gray-8);
7
- --theme-form-input-border-active: var(--gray-2);
8
- --theme-form-input-border-focus: var(--gray-2);
6
+ --theme-input-border: var(--gray-8);
7
+ --theme-input-border-active: var(--gray-2);
8
+ --theme-input-border-focus: var(--gray-2);
9
9
  --theme-form-input-outline: white;
10
10
  --theme-form-input-outline-active: var(--gray-6);
11
11
  --theme-form-input-outline-focus: var(--gray-6);
@@ -64,19 +64,19 @@
64
64
  --theme-checkbox-radio-button-label-default: light-dark(var(--gray-12), var(--gray-12));
65
65
  }
66
66
 
67
- [data-btn-theme='ghost'] {
68
- --theme-btn-bg: transparent;
69
- --theme-btn-border: var(--gray-0);
67
+ [data-theme='ghost'] {
68
+ --theme-button-surface: transparent;
69
+ --theme-input-border: var(--gray-0);
70
70
  --theme-btn-outline: var(--gray-12);
71
71
  --theme-btn-text: light-dark(var(--gray-12), var(--gray-0));
72
72
 
73
- --theme-btn-bg-hover: light-dark(var(--gray-2), var(--gray-8));
74
- --theme-btn-border-hover: light-dark(var(--gray-12), var(--gray-0));
73
+ --theme-button-surface-hover: light-dark(var(--gray-2), var(--gray-8));
74
+ --theme-input-border-hover: light-dark(var(--gray-12), var(--gray-0));
75
75
  --theme-btn-outline-hover: light-dark(var(--gray-12), var(--gray-0));
76
76
  --theme-btn-text-hover: light-dark(var(--gray-12), var(--gray-0));
77
77
 
78
- --theme-btn-bg-focus: light-dark(var(--gray-2), var(--gray-8));
79
- --theme-btn-border-focus: light-dark(var(--gray-12), var(--gray-0));
78
+ --theme-button-surface-focus: light-dark(var(--gray-2), var(--gray-8));
79
+ --theme-input-border-focus: light-dark(var(--gray-12), var(--gray-0));
80
80
  --theme-btn-outline-focus: light-dark(var(--gray-12), var(--gray-0));
81
81
  --theme-btn-text-focus: light-dark(var(--gray-12), var(--gray-0));
82
82
 
@@ -1,17 +1,17 @@
1
1
  :root {
2
- [data-btn-theme='input-action-underlined'] {
3
- --theme-btn-bg: transparent;
4
- --theme-btn-border: transparent;
2
+ [data-theme-old='input-action-underlined'] {
3
+ --theme-button-surface: transparent;
4
+ --theme-input-border: transparent;
5
5
  --theme-btn-outline: transparent;
6
6
  --theme-btn-text: var(--_input-text-core-color);
7
7
 
8
- --theme-btn-bg-hover: var(--blue-8);
9
- --theme-btn-border-hover: var(--blue-8);
8
+ --theme-button-surface-hover: var(--blue-8);
9
+ --theme-input-border-hover: var(--blue-8);
10
10
  --theme-btn-outline-hover: var(--blue-8);
11
11
  --theme-btn-text-hover: var(--gray-00);
12
12
 
13
- --theme-btn-bg-focus: var(--blue-8);
14
- --theme-btn-border-focus: var(--blue-8);
13
+ --theme-button-surface-focus: var(--blue-8);
14
+ --theme-input-border-focus: var(--blue-8);
15
15
  --theme-btn-outline-focus: var(--blue-8);
16
16
  --theme-btn-text-focus: var(--gray-00);
17
17
 
@@ -1,17 +1,17 @@
1
1
  :root {
2
- [data-btn-theme='input-action'] {
3
- --theme-btn-bg: transparent;
4
- --theme-btn-border: transparent;
2
+ [data-theme-old='input-action'] {
3
+ --theme-button-surface: transparent;
4
+ --theme-input-border: transparent;
5
5
  --theme-btn-outline: transparent;
6
6
  --theme-btn-text: var(--theme-form-input-text-color-normal);
7
7
 
8
- --theme-btn-bg-hover: var(--blue-8);
9
- --theme-btn-border-hover: var(--blue-8);
8
+ --theme-button-surface-hover: var(--blue-8);
9
+ --theme-input-border-hover: var(--blue-8);
10
10
  --theme-btn-outline-hover: var(--blue-8);
11
11
  --theme-btn-text-hover: var(--gray-00);
12
12
 
13
- --theme-btn-bg-focus: var(--blue-8);
14
- --theme-btn-border-focus: var(--blue-8);
13
+ --theme-button-surface-focus: var(--blue-8);
14
+ --theme-input-border-focus: var(--blue-8);
15
15
  --theme-btn-outline-focus: var(--blue-8);
16
16
  --theme-btn-text-focus: var(--gray-00);
17
17
 
@@ -1,11 +1,11 @@
1
1
  :root {
2
- [data-form-theme='primary'] {
3
- --theme-form-input-bg-normal: light-dark(var(--gray-1), var(--gray-4));
2
+ [data-theme-old='primary'] {
3
+ --theme-button-surface: light-dark(var(--gray-1), var(--gray-4));
4
4
  --theme-form-input-bg-outlined: light-dark(var(--gray-1), var(--gray-4));
5
5
  --theme-form-input-bg-underlined: light-dark(var(--gray-0), var(--gray-9));
6
- --theme-form-input-border: var(--blue-8);
7
- --theme-form-input-border-active: var(--blue-2);
8
- --theme-form-input-border-focus: var(--blue-2);
6
+ --theme-input-border: var(--blue-8);
7
+ --theme-input-border-active: var(--blue-2);
8
+ --theme-input-border-focus: var(--blue-2);
9
9
  --theme-form-input-outline: white;
10
10
  --theme-form-input-outline-active: var(--blue-6);
11
11
  --theme-form-input-outline-focus: var(--blue-6);
@@ -71,19 +71,19 @@
71
71
  --theme-checkbox-radio-button-label-default: light-dark(var(--blue-12), var(--blue-12));
72
72
  }
73
73
 
74
- [data-btn-theme='primary'] {
75
- --theme-btn-bg: var(--blue-12);
76
- --theme-btn-border: var(--blue-0);
74
+ [data-theme='primary'] {
75
+ --theme-button-surface: var(--blue-12);
76
+ --theme-input-border: var(--blue-0);
77
77
  --theme-btn-outline: var(--blue-12);
78
78
  --theme-btn-text: var(--blue-0);
79
79
 
80
- --theme-btn-bg-hover: var(--blue-0);
81
- --theme-btn-border-hover: var(--blue-12);
80
+ --theme-button-surface-hover: var(--blue-0);
81
+ --theme-input-border-hover: var(--blue-12);
82
82
  --theme-btn-outline-hover: var(--blue-0);
83
83
  --theme-btn-text-hover: var(--blue-12);
84
84
 
85
- --theme-btn-bg-focus: var(--blue-0);
86
- --theme-btn-border-focus: var(--blue-12);
85
+ --theme-button-surface-focus: var(--blue-0);
86
+ --theme-input-border-focus: var(--blue-12);
87
87
  --theme-btn-outline-focus: var(--blue-0);
88
88
  --theme-btn-text-focus: var(--blue-12);
89
89
 
@@ -1,11 +1,11 @@
1
1
  :root {
2
- [data-form-theme='secondary'] {
3
- --theme-form-input-bg-normal: light-dark(var(--gray-1), var(--gray-4));
2
+ [data-theme-old='secondary'] {
3
+ --theme-button-surface: light-dark(var(--gray-1), var(--gray-4));
4
4
  --theme-form-input-bg-outlined: light-dark(var(--gray-1), var(--gray-4));
5
5
  --theme-form-input-bg-underlined: light-dark(var(--gray-1), var(--gray-4));
6
- --theme-form-input-border: var(--gray-8);
7
- --theme-form-input-border-active: var(--gray-2);
8
- --theme-form-input-border-focus: var(--gray-2);
6
+ --theme-input-border: var(--gray-8);
7
+ --theme-input-border-active: var(--gray-2);
8
+ --theme-input-border-focus: var(--gray-2);
9
9
  --theme-form-input-outline: white;
10
10
  --theme-form-input-outline-active: var(--gray-6);
11
11
  --theme-form-input-outline-focus: var(--gray-6);
@@ -64,19 +64,19 @@
64
64
  --theme-checkbox-radio-button-label-default: light-dark(var(--gray-12), var(--gray-12));
65
65
  }
66
66
 
67
- [data-btn-theme='secondary'] {
68
- --theme-btn-bg: var(--gray-12);
69
- --theme-btn-border: var(--gray-0);
67
+ [data-theme='secondary'] {
68
+ --theme-button-surface: var(--gray-12);
69
+ --theme-input-border: var(--gray-0);
70
70
  --theme-btn-outline: var(--gray-12);
71
71
  --theme-btn-text: var(--gray-0);
72
72
 
73
- --theme-btn-bg-hover: var(--gray-0);
74
- --theme-btn-border-hover: var(--gray-12);
73
+ --theme-button-surface-hover: var(--gray-0);
74
+ --theme-input-border-hover: var(--gray-12);
75
75
  --theme-btn-outline-hover: var(--gray-0);
76
76
  --theme-btn-text-hover: var(--gray-12);
77
77
 
78
- --theme-btn-bg-focus: var(--gray-0);
79
- --theme-btn-border-focus: var(--gray-12);
78
+ --theme-button-surface-focus: var(--gray-0);
79
+ --theme-input-border-focus: var(--gray-12);
80
80
  --theme-btn-outline-focus: var(--gray-0);
81
81
  --theme-btn-text-focus: var(--gray-12);
82
82
 
@@ -1,11 +1,11 @@
1
1
  :root {
2
- [data-form-theme='success'] {
3
- --theme-form-input-bg-normal: light-dark(var(--gray-1), var(--gray-4));
2
+ [data-theme-old='success'] {
3
+ --theme-button-surface: light-dark(var(--gray-1), var(--gray-4));
4
4
  --theme-form-input-bg-outlined: light-dark(var(--gray-1), var(--gray-4));
5
5
  --theme-form-input-bg-underlined: light-dark(var(--gray-1), var(--gray-4));
6
- --theme-form-input-border: var(--green-8);
7
- --theme-form-input-border-active: var(--green-2);
8
- --theme-form-input-border-focus: var(--green-2);
6
+ --theme-input-border: var(--green-8);
7
+ --theme-input-border-active: var(--green-2);
8
+ --theme-input-border-focus: var(--green-2);
9
9
  --theme-form-input-outline: white;
10
10
  --theme-form-input-outline-active: var(--green-6);
11
11
  --theme-form-input-outline-focus: var(--green-6);
@@ -64,19 +64,19 @@
64
64
  --theme-checkbox-radio-button-label-default: light-dark(var(--green-12), var(--green-12));
65
65
  }
66
66
 
67
- [data-btn-theme='success'] {
68
- --theme-btn-bg: var(--green-12);
69
- --theme-btn-border: var(--green-0);
67
+ [data-theme='success'] {
68
+ --theme-button-surface: var(--green-12);
69
+ --theme-input-border: var(--green-0);
70
70
  --theme-btn-outline: var(--green-12);
71
71
  --theme-btn-text: var(--green-0);
72
72
 
73
- --theme-btn-bg-hover: var(--green-0);
74
- --theme-btn-border-hover: var(--green-12);
73
+ --theme-button-surface-hover: var(--green-0);
74
+ --theme-input-border-hover: var(--green-12);
75
75
  --theme-btn-outline-hover: var(--green-0);
76
76
  --theme-btn-text-hover: var(--green-12);
77
77
 
78
- --theme-btn-bg-focus: var(--green-0);
79
- --theme-btn-border-focus: var(--green-12);
78
+ --theme-button-surface-focus: var(--green-0);
79
+ --theme-input-border-focus: var(--green-12);
80
80
  --theme-btn-outline-focus: var(--green-0);
81
81
  --theme-btn-text-focus: var(--green-12);
82
82
 
@@ -1,11 +1,11 @@
1
1
  :root {
2
- [data-form-theme='tertiary'] {
3
- --theme-form-input-bg-normal: light-dark(var(--gray-1), var(--gray-4));
2
+ [data-theme-old='tertiary'] {
3
+ --theme-button-surface: light-dark(var(--gray-1), var(--gray-4));
4
4
  --theme-form-input-bg-outlined: light-dark(var(--gray-1), var(--gray-4));
5
5
  --theme-form-input-bg-underlined: light-dark(var(--gray-1), var(--gray-4));
6
- --theme-form-input-border: var(--gray-8);
7
- --theme-form-input-border-active: var(--gray-2);
8
- --theme-form-input-border-focus: var(--gray-2);
6
+ --theme-input-border: var(--gray-8);
7
+ --theme-input-border-active: var(--gray-2);
8
+ --theme-input-border-focus: var(--gray-2);
9
9
  --theme-form-input-outline: white;
10
10
  --theme-form-input-outline-active: var(--gray-6);
11
11
  --theme-form-input-outline-focus: var(--gray-6);
@@ -64,19 +64,19 @@
64
64
  --theme-checkbox-radio-button-label-default: light-dark(var(--green-12), var(--green-12));
65
65
  }
66
66
 
67
- [data-btn-theme='tertiary'] {
68
- --theme-btn-bg: var(--gray-0);
69
- --theme-btn-border: var(--gray-0);
67
+ [data-theme='tertiary'] {
68
+ --theme-button-surface: var(--gray-0);
69
+ --theme-input-border: var(--gray-0);
70
70
  --theme-btn-outline: var(--gray-12);
71
71
  --theme-btn-text: var(--gray-12);
72
72
 
73
- --theme-btn-bg-hover: var(--gray-12);
74
- --theme-btn-border-hover: var(--gray-0);
73
+ --theme-button-surface-hover: var(--gray-12);
74
+ --theme-input-border-hover: var(--gray-0);
75
75
  --theme-btn-outline-hover: var(--gray-12);
76
76
  --theme-btn-text-hover: var(--gray-0);
77
77
 
78
- --theme-btn-bg-focus: var(--gray-12);
79
- --theme-btn-border-focus: var(--gray-0);
78
+ --theme-button-surface-focus: var(--gray-12);
79
+ --theme-input-border-focus: var(--gray-0);
80
80
  --theme-btn-outline-focus: var(--gray-12);
81
81
  --theme-btn-text-focus: var(--gray-0);
82
82
 
@@ -1,11 +1,11 @@
1
1
  :root {
2
- [data-form-theme='warning'] {
3
- --theme-form-input-bg-normal: light-dark(var(--gray-1), var(--gray-4));
2
+ [data-theme-old='warning'] {
3
+ --theme-button-surface: light-dark(var(--gray-1), var(--gray-4));
4
4
  --theme-form-input-bg-outlined: light-dark(var(--gray-1), var(--gray-4));
5
5
  --theme-form-input-bg-underlined: light-dark(var(--gray-1), var(--gray-4));
6
- --theme-form-input-border: var(--orange-8);
7
- --theme-form-input-border-active: var(--orange-2);
8
- --theme-form-input-border-focus: var(--orange-2);
6
+ --theme-input-border: var(--orange-8);
7
+ --theme-input-border-active: var(--orange-2);
8
+ --theme-input-border-focus: var(--orange-2);
9
9
  --theme-form-input-outline: white;
10
10
  --theme-form-input-outline-active: var(--orange-6);
11
11
  --theme-form-input-outline-focus: var(--orange-6);
@@ -64,19 +64,19 @@
64
64
  --theme-checkbox-radio-button-label-default: light-dark(var(--orange-12), var(--orange-12));
65
65
  }
66
66
 
67
- [data-btn-theme='warning'] {
68
- --theme-btn-bg: var(--orange-12);
69
- --theme-btn-border: var(--orange-0);
67
+ [data-theme='warning'] {
68
+ --theme-button-surface: var(--orange-12);
69
+ --theme-input-border: var(--orange-0);
70
70
  --theme-btn-outline: var(--orange-12);
71
71
  --theme-btn-text: var(--orange-0);
72
72
 
73
- --theme-btn-bg-hover: var(--orange-0);
74
- --theme-btn-border-hover: var(--orange-12);
73
+ --theme-button-surface-hover: var(--orange-0);
74
+ --theme-input-border-hover: var(--orange-12);
75
75
  --theme-btn-outline-hover: var(--orange-0);
76
76
  --theme-btn-text-hover: var(--orange-12);
77
77
 
78
- --theme-btn-bg-focus: var(--orange-0);
79
- --theme-btn-border-focus: var(--orange-12);
78
+ --theme-button-surface-focus: var(--orange-0);
79
+ --theme-input-border-focus: var(--orange-12);
80
80
  --theme-btn-outline-focus: var(--orange-0);
81
81
  --theme-btn-text-focus: var(--orange-12);
82
82
 
@@ -0,0 +1,7 @@
1
+ :root {
2
+ --theme-focus-visible-outline: 1px solid var(--theme-focus-visible-outline);
3
+
4
+ --theme-focus-visible-shadow-soft: 0 1px 2px rgba(var(--theme-focus-visible-shadow-soft), 0.05);
5
+ --theme-focus-visible-shadow-medium: 0 3px 6px rgba(var(--theme-focus-visible-shadow-medium), 0.1);
6
+ --theme-focus-visible-shadow-strong: 0 6px 12px rgba(var(--theme-focus-visible-shadow-strong), 0.15);
7
+ }
@@ -0,0 +1,48 @@
1
+ :root {
2
+ .normal {
3
+ /* --input-row-margin-block-start: 0; */
4
+
5
+ /* --element-decorator-background-color: var(--theme-button-surface); */
6
+ /* --element-decorator-background-color: color-mix(in srgb, currentColor 5%, transparent); */
7
+
8
+ /* --element-decorator-margin-block-start: 0.5rem; */
9
+ /* --element-decorator-padding-inline: 1rem; */
10
+
11
+ /* --element-decorator-outline-default: 1px solid color-mix(in srgb, var(--theme-input-border) 5%, transparent); */
12
+ /* --element-decorator-outline-active: 1px solid var(--theme-input-border); */
13
+
14
+ /* Border styles */
15
+ /* --element-decorator-border-top-left-radius: var(--form-input-border-radius); */
16
+ /* --element-decorator-border-top-right-radius: var(--form-input-border-radius); */
17
+ /* --element-decorator-border-bottom-right-radius: var(--form-input-border-radius); */
18
+ /* --element-decorator-border-bottom-left-radius: var(--form-input-border-radius); */
19
+
20
+ /* --element-decorator-border-top-default: var(--form-element-border-width) solid var(--theme-input-border); */
21
+ /* --element-decorator-border-right-default: var(--form-element-border-width) solid var(--theme-input-border); */
22
+ /* --element-decorator-border-bottom-default: var(--form-element-border-width) solid var(--theme-input-border); */
23
+ /* --element-decorator-border-left-default: var(--form-element-border-width) solid var(--theme-input-border); */
24
+
25
+ /* --input-placeholder-color: light-dark(var(--gray-7), var(--gray-5)); */
26
+ /* --input-placeholder-font-size: var(--step-5); */
27
+ /* --input-placeholder-font-style: italic; */
28
+ /* --input-placeholder-font-weight: normal; */
29
+ /* --input-placeholder-line-height: 1; */
30
+
31
+ /* Label vars */
32
+ --_label-text-color: var(--theme-form-input-text-label-color-underlined);
33
+ --_label-text-margin-block: 0.8rem;
34
+ --_label-text-size: var(--step-5);
35
+ --_label-text-weight: normal;
36
+ --_label-text-line-height: 1.5;
37
+
38
+ .error {
39
+ --element-decorator-border-bottom-right-radius: 0;
40
+ --element-decorator-border-bottom-left-radius: 0;
41
+
42
+ --element-decorator-border-top-default: var(--form-element-border-width) solid var(--theme-error-surface);
43
+ --element-decorator-border-right-default: var(--form-element-border-width) solid var(--theme-error-surface);
44
+ --element-decorator-border-bottom-default: var(--form-element-border-width) solid var(--theme-error-surface);
45
+ --element-decorator-border-left-default: var(--form-element-border-width) solid var(--theme-error-surface);
46
+ }
47
+ }
48
+ }
@@ -1,15 +1,15 @@
1
1
  :root {
2
2
  .underlined {
3
- --input-row-margin-block-start: 3em;
3
+ /* --input-row-margin-block-start: 3em; */
4
4
 
5
- /* --element-decorator-background-color: var(--theme-form-input-bg-normal); */
6
- --element-decorator-background-color: color-mix(in srgb, currentColor 5%, transparent);
5
+ /* --element-decorator-background-color: var(--theme-button-surface); */
6
+ /* --element-decorator-background-color: color-mix(in srgb, currentColor 5%, transparent); */
7
7
 
8
- --element-decorator-margin-block-start: 0.5rem;
9
- --element-decorator-padding-inline: 1rem;
8
+ /* --element-decorator-margin-block-start: 0.5rem; */
9
+ /* --element-decorator-padding-inline: 1rem; */
10
10
 
11
- --element-decorator-outline-default: 1px solid transparent;
12
- --element-decorator-outline-active: 1px solid var(--theme-form-input-border);
11
+ /* --element-decorator-outline-default: 1px solid transparent; */
12
+ /* --element-decorator-outline-active: 1px solid var(--theme-input-border); */
13
13
 
14
14
  /* Border styles */
15
15
  --element-decorator-border-top-left-radius: 0;
@@ -17,10 +17,10 @@
17
17
  --element-decorator-border-bottom-right-radius: var(--form-input-border-radius);
18
18
  --element-decorator-border-bottom-left-radius: var(--form-input-border-radius);
19
19
 
20
- --element-decorator-border-top-default: var(--form-element-border-width) solid transparent;
20
+ /* --element-decorator-border-top-default: var(--form-element-border-width) solid transparent;
21
21
  --element-decorator-border-right-default: var(--form-element-border-width) solid transparent;
22
- --element-decorator-border-bottom-default: var(--form-element-border-width-underlined) solid var(--theme-form-input-border);
23
- --element-decorator-border-left-default: var(--form-element-border-width) solid transparent;
22
+ --element-decorator-border-bottom-default: var(--form-element-border-width-underlined) solid var(--theme-input-border);
23
+ --element-decorator-border-left-default: var(--form-element-border-width) solid transparent; */
24
24
 
25
25
  --input-placeholder-color: light-dark(var(--gray-7), var(--gray-5));
26
26
  --input-placeholder-font-size: var(--step-5);
@@ -0,0 +1,3 @@
1
+ @import './sizes';
2
+ /* @import './_normal'; */
3
+ /* @import './_underlined'; */
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --form-element-font-size: var(--step-5);
3
+ --form-placeholder-font-size: calc(var(--step-5) * 0.65);
4
+ --form-element-line-height: var(--step-5);
5
+ --form-icon-size: var(--step-5);
6
+ --form-input-border-radius: 0.4rem;
7
+ --form-icon-only-button-size: calc(var(--step-4) * 2.5 + 1px);
8
+ --form-toggle-symbol-size: calc(var(--step-5) * 1.72);
9
+ --form-toggle-switch-width-adjustment: 0.2rem;
10
+
11
+ /* Checkboxes */
12
+ --theme-checkbox-decorator-icon-size: 2rem;
13
+ }
@@ -10,11 +10,13 @@
10
10
  --form-element-border-width: 0.2rem;
11
11
  --form-element-border-width-underlined: 0.4rem;
12
12
  --form-element-outline-width: 0.1rem;
13
+ --form-element-outline-offset-focus: 0.2rem;
13
14
 
14
15
  --form-text-padding-inline: 0.5em;
15
16
  --form-button-padding-inline: 1.25em;
16
17
  --form-button-icon-gap: 1em;
17
18
  --form-input-border-radius: 0.4rem;
19
+ --form-input-border-radius-underlined: 0;
18
20
 
19
21
  --input-element-padding-block: 1.25rem;
20
22
  --input-element-padding-inline: 1rem;