@ardium-ui/ui 3.2.7 → 3.3.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/esm2022/lib/_internal/boolean-component.mjs +1 -1
  2. package/esm2022/lib/_internal/focusable-component.mjs +8 -6
  3. package/esm2022/lib/_internal/form-field-component.mjs +57 -0
  4. package/esm2022/lib/_internal/item-storages/dropdown-item-storage.mjs +4 -1
  5. package/esm2022/lib/_internal/ngmodel-component.mjs +5 -2
  6. package/esm2022/lib/_internal/public-api.mjs +2 -0
  7. package/esm2022/lib/_internal/selectable-list-component.mjs +6 -6
  8. package/esm2022/lib/checkbox/checkbox.component.mjs +1 -1
  9. package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +3 -3
  10. package/esm2022/lib/form-field/error/error.component.mjs +17 -0
  11. package/esm2022/lib/form-field/error/error.directive.mjs +17 -0
  12. package/esm2022/lib/form-field/form-field.component.mjs +34 -0
  13. package/esm2022/lib/form-field/form-field.defaults.mjs +15 -0
  14. package/esm2022/lib/form-field/form-field.module.mjs +44 -0
  15. package/esm2022/lib/form-field/hint/hint.component.mjs +17 -0
  16. package/esm2022/lib/form-field/hint/hint.directive.mjs +30 -0
  17. package/esm2022/lib/form-field/horizontal-form-field.component.mjs +34 -0
  18. package/esm2022/lib/form-field/index.mjs +9 -0
  19. package/esm2022/lib/form-field/label/label.component.mjs +21 -0
  20. package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +14 -7
  21. package/esm2022/lib/inputs/_simple-input-base.mjs +4 -4
  22. package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +28 -11
  23. package/esm2022/lib/inputs/digit-input/digit-input.defaults.mjs +3 -3
  24. package/esm2022/lib/inputs/digit-input/digit-input.model.mjs +5 -3
  25. package/esm2022/lib/inputs/digit-input/digit-input.types.mjs +1 -1
  26. package/esm2022/lib/inputs/digit-input/digit-input.utils.mjs +1 -1
  27. package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +13 -5
  28. package/esm2022/lib/inputs/hex-input/hex-input.defaults.mjs +3 -3
  29. package/esm2022/lib/inputs/input/input.component.mjs +12 -3
  30. package/esm2022/lib/inputs/number-input/number-input.component.mjs +15 -7
  31. package/esm2022/lib/inputs/number-input/number-input.defaults.mjs +3 -3
  32. package/esm2022/lib/inputs/password-input/password-input.component.mjs +15 -5
  33. package/esm2022/lib/inputs/password-input/password-input.defaults.mjs +3 -3
  34. package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +12 -3
  35. package/esm2022/lib/inputs/simple-input/simple-input.defaults.mjs +3 -3
  36. package/esm2022/lib/segment/segment.component.mjs +3 -3
  37. package/esm2022/lib/select/select.component.mjs +16 -8
  38. package/esm2022/lib/select/select.defaults.mjs +3 -3
  39. package/esm2022/lib/slide-toggle/slide-toggle.component.mjs +1 -1
  40. package/esm2022/lib/table-pagination/table-pagination.component.mjs +1 -1
  41. package/esm2022/public-api.mjs +3 -1
  42. package/fesm2022/ardium-ui-ui.mjs +383 -65
  43. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  44. package/lib/_internal/focusable-component.d.ts +4 -3
  45. package/lib/_internal/form-field-component.d.ts +30 -0
  46. package/lib/_internal/ngmodel-component.d.ts +1 -0
  47. package/lib/_internal/public-api.d.ts +3 -0
  48. package/lib/form-field/error/error.component.d.ts +6 -0
  49. package/lib/form-field/error/error.directive.d.ts +5 -0
  50. package/lib/form-field/form-field.component.d.ts +20 -0
  51. package/lib/form-field/form-field.defaults.d.ts +8 -0
  52. package/lib/form-field/form-field.module.d.ts +14 -0
  53. package/lib/form-field/hint/hint.component.d.ts +6 -0
  54. package/lib/form-field/hint/hint.directive.d.ts +8 -0
  55. package/lib/form-field/horizontal-form-field.component.d.ts +20 -0
  56. package/lib/form-field/index.d.ts +8 -0
  57. package/lib/form-field/label/label.component.d.ts +8 -0
  58. package/lib/form-field-frame/form-field-frame.component.d.ts +4 -2
  59. package/lib/inputs/_simple-input-base.d.ts +3 -3
  60. package/lib/inputs/digit-input/digit-input.component.d.ts +6 -4
  61. package/lib/inputs/digit-input/digit-input.defaults.d.ts +2 -2
  62. package/lib/inputs/digit-input/digit-input.model.d.ts +4 -1
  63. package/lib/inputs/digit-input/digit-input.types.d.ts +1 -0
  64. package/lib/inputs/digit-input/digit-input.utils.d.ts +1 -0
  65. package/lib/inputs/hex-input/hex-input.component.d.ts +2 -2
  66. package/lib/inputs/hex-input/hex-input.defaults.d.ts +2 -2
  67. package/lib/inputs/number-input/number-input.component.d.ts +2 -2
  68. package/lib/inputs/number-input/number-input.defaults.d.ts +2 -2
  69. package/lib/inputs/password-input/password-input.component.d.ts +2 -2
  70. package/lib/inputs/password-input/password-input.defaults.d.ts +2 -2
  71. package/lib/select/select.component.d.ts +3 -4
  72. package/lib/select/select.defaults.d.ts +2 -2
  73. package/package.json +1 -1
  74. package/prebuilt-themes/default/chips.css.map +1 -1
  75. package/prebuilt-themes/default/core.css +3 -1
  76. package/prebuilt-themes/default/core.css.map +1 -1
  77. package/prebuilt-themes/default/form-field-frame.css +23 -6
  78. package/prebuilt-themes/default/form-field-frame.css.map +1 -1
  79. package/prebuilt-themes/default/form-field.css +90 -0
  80. package/prebuilt-themes/default/form-field.css.map +1 -0
  81. package/prebuilt-themes/default/inputs/color-input.css +0 -1
  82. package/prebuilt-themes/default/inputs/color-input.css.map +1 -1
  83. package/prebuilt-themes/default/inputs/digit-input.css +67 -5
  84. package/prebuilt-themes/default/inputs/digit-input.css.map +1 -1
  85. package/prebuilt-themes/default/inputs/file-input.css +0 -6
  86. package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
  87. package/prebuilt-themes/default/inputs/hex-input.css +0 -1
  88. package/prebuilt-themes/default/inputs/hex-input.css.map +1 -1
  89. package/prebuilt-themes/default/inputs/input.css +0 -6
  90. package/prebuilt-themes/default/inputs/input.css.map +1 -1
  91. package/prebuilt-themes/default/inputs/number-input.css +33 -18
  92. package/prebuilt-themes/default/inputs/number-input.css.map +1 -1
  93. package/prebuilt-themes/default/inputs/password-input.css +0 -1
  94. package/prebuilt-themes/default/inputs/password-input.css.map +1 -1
  95. package/prebuilt-themes/default/inputs/search-bar.css +0 -1
  96. package/prebuilt-themes/default/inputs/search-bar.css.map +1 -1
  97. package/prebuilt-themes/default/inputs/simple-input.css +0 -6
  98. package/prebuilt-themes/default/inputs/simple-input.css.map +1 -1
  99. package/prebuilt-themes/default/segment.css +18 -1
  100. package/prebuilt-themes/default/segment.css.map +1 -1
  101. package/public-api.d.ts +2 -0
  102. package/themes/default/_mixins.scss +83 -64
  103. package/themes/default/core.scss +102 -99
  104. package/themes/default/form-field-frame.scss +79 -78
  105. package/themes/default/form-field.scss +92 -0
  106. package/themes/default/inputs/_shared.scss +50 -51
  107. package/themes/default/inputs/digit-input.scss +95 -56
  108. package/themes/default/inputs/file-input.scss +0 -6
  109. package/themes/default/inputs/input.scss +1 -7
  110. package/themes/default/inputs/number-input.scss +131 -121
  111. package/themes/default/inputs/simple-input.scss +1 -8
@@ -1,64 +1,83 @@
1
- @use '../variables' as ARD;
2
-
3
- @mixin icon($fill: 0, $wght: 500, $grad: 0, $opsz: 48) {
4
- font-family: 'Material Symbols Outlined';
5
- font-size: 1.5em;
6
- font-variation-settings: 'FILL' #{$fill}, 'wght' #{$wght}, 'GRAD' #{$grad}, 'opsz' #{$opsz};
7
- }
8
-
9
- @mixin focus-overlay($size: 0) {
10
- position: absolute;
11
- top: -#{$size};
12
- bottom: -#{$size};
13
- left: -#{$size};
14
- right: -#{$size};
15
- opacity: 0;
16
- border-radius: inherit;
17
- pointer-events: none;
18
-
19
- transition: opacity 0.2s ease;
20
- }
21
- @mixin focus-overlay-scale-addon() {
22
- > .ard-focus-overlay {
23
- transform: scale(0.2);
24
-
25
- transition: opacity 0.2s ease, transform 0.1s ease;
26
- }
27
-
28
- &:hover,
29
- &:focus {
30
- > .ard-focus-overlay {
31
- transform: scale(1);
32
- }
33
- }
34
- }
35
-
36
- @mixin formAppearances() {
37
- &.ard-appearance-outlined {
38
- --ard-appearance-background: #{ARD.$bg};
39
- --ard-appearance-border: 1px solid #{ARD.$border};
40
- }
41
- &.ard-appearance-filled {
42
- --ard-appearance-background: #{ARD.$bg-f};
43
- --ard-appearance-border: none;
44
- }
45
- &.ard-appearance-transparent {
46
- --ard-appearance-background: transparent;
47
- --ard-appearance-border: none;
48
- }
49
- }
50
-
51
- @mixin formVariants() {
52
- border-radius: var(--ard-variant-border-radius);
53
-
54
- &.ard-variant-rounded,
55
- &.ard-variant-semirounded {
56
- --ard-variant-border-radius: 8px;
57
- }
58
- &.ard-variant-pill {
59
- --ard-variant-border-radius: 9999px;
60
- }
61
- &.ard-variant-sharp {
62
- --ard-variant-border-radius: 0;
63
- }
64
- }
1
+ @use '../variables' as ARD;
2
+
3
+ @mixin icon($fill: 0, $wght: 500, $grad: 0, $opsz: 48) {
4
+ font-family: 'Material Symbols Outlined';
5
+ font-size: 1.5em;
6
+ font-variation-settings: 'FILL' #{$fill}, 'wght' #{$wght}, 'GRAD' #{$grad}, 'opsz' #{$opsz};
7
+ }
8
+
9
+ @mixin focus-overlay($size: 0) {
10
+ position: absolute;
11
+ top: -#{$size};
12
+ bottom: -#{$size};
13
+ left: -#{$size};
14
+ right: -#{$size};
15
+ opacity: 0;
16
+ border-radius: inherit;
17
+ pointer-events: none;
18
+
19
+ transition: opacity 0.2s ease;
20
+ }
21
+ @mixin focus-overlay-scale-addon() {
22
+ > .ard-focus-overlay {
23
+ transform: scale(0.2);
24
+
25
+ transition: opacity 0.2s ease, transform 0.1s ease;
26
+ }
27
+
28
+ &:hover,
29
+ &:focus {
30
+ > .ard-focus-overlay {
31
+ transform: scale(1);
32
+ }
33
+ }
34
+ }
35
+
36
+ @mixin formAppearances() {
37
+ &.ard-appearance-outlined {
38
+ --ard-appearance-background: #{ARD.$bg};
39
+ --ard-appearance-border-color: #{ARD.$border};
40
+ --ard-appearance-border: 1px solid var(--ard-appearance-border-color);
41
+
42
+ &.ard-focused {
43
+ --ard-appearance-border-color: #{ARD.$border-dark};
44
+ }
45
+ &.ard-is-success {
46
+ --ard-appearance-border-color: #{ARD.$success500};
47
+ }
48
+ &.ard-has-error {
49
+ --ard-appearance-background: #{ARD.$danger50};
50
+ --ard-appearance-border-color: #{ARD.$danger500};
51
+ }
52
+ }
53
+ &.ard-appearance-filled {
54
+ --ard-appearance-background: #{ARD.$bg-f};
55
+ --ard-appearance-border: none;
56
+
57
+ &.ard-is-success {
58
+ --ard-appearance-background: #{ARD.$success50};
59
+ }
60
+ &.ard-has-error {
61
+ --ard-appearance-background: #{ARD.$danger50};
62
+ }
63
+ }
64
+ &.ard-appearance-transparent {
65
+ --ard-appearance-background: transparent;
66
+ --ard-appearance-border: none;
67
+ }
68
+ }
69
+
70
+ @mixin formVariants() {
71
+ border-radius: var(--ard-variant-border-radius);
72
+
73
+ &.ard-variant-rounded,
74
+ &.ard-variant-semirounded {
75
+ --ard-variant-border-radius: 8px;
76
+ }
77
+ &.ard-variant-pill {
78
+ --ard-variant-border-radius: 9999px;
79
+ }
80
+ &.ard-variant-sharp {
81
+ --ard-variant-border-radius: 0;
82
+ }
83
+ }
@@ -1,99 +1,102 @@
1
- @use '../variables';
2
-
3
- @import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
4
- @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');
5
-
6
- :root {
7
- --ard-bg: white;
8
- --ard-bg-alt: black;
9
- --ard-overlay: black;
10
- --ard-overlay-rgb: 0, 0, 0;
11
- --ard-bg-filled: #ebebeb;
12
- --ard-bg-darker: #f7f7f7;
13
- --ard-bg-filled-alt: #333;
14
- --ard-text: rgba(0, 0, 0, 100%);
15
- --ard-text2: rgba(0, 0, 0, 87%);
16
- --ard-text3: rgba(0, 0, 0, 75%);
17
- --ard-text-alt: rgba(255, 255, 255, 100%);
18
- --ard-text2-alt: rgba(255, 255, 255, 87%);
19
- --ard-text3-alt: rgba(255, 255, 255, 75%);
20
- --ard-border: rgba(0, 0, 0, 40%);
21
- --ard-border-dark: rgba(0, 0, 0, 70%);
22
- --ard-border-light: rgba(0, 0, 0, 25%);
23
- --ard-detail: rgba(0, 0, 0, 60%);
24
- --ard-detail-light: rgba(0, 0, 0, 30%);
25
- --ard-detail-ultralight: rgba(0, 0, 0, 12%);
26
- --ard-detail-ultralight-solid: rgb(204, 204, 204);
27
- --ard-lighten-overlay: rgba(255, 255, 255, 12.5%);
28
- --ard-lighten-overlay-strong: rgba(255, 255, 255, 20%);
29
- --ard-lighten-overlay-medium: rgba(255, 255, 255, 10%);
30
- --ard-lighten-overlay-light: rgba(255, 255, 255, 5%);
31
- --ard-darken-overlay: rgba(0, 0, 0, 12.5%);
32
- --ard-darken-overlay-strong: rgba(0, 0, 0, 20%);
33
- --ard-darken-overlay-medium: rgba(0, 0, 0, 10%);
34
- --ard-darken-overlay-light: rgba(0, 0, 0, 5%);
35
- --ard-darken-overlay-ultralight: rgba(0, 0, 0, 3%);
36
-
37
- --ard-star: #ffc107;
38
-
39
- --ard-clear-button-size: 0.9rem;
40
- --ard-dropdown-button-size: 0.4rem;
41
-
42
- --ard-primary-50: 234, 235, 243;
43
- --ard-primary-100: 159, 167, 228;
44
- --ard-primary-300: 78, 99, 219;
45
- --ard-primary-500: 36, 56, 185;
46
- --ard-primary-700: 27, 42, 128;
47
- --ard-primary-900: 19, 28, 87;
48
-
49
- --ard-secondary-50: 229, 172, 243;
50
- --ard-secondary-100: 216, 107, 243;
51
- --ard-secondary-300: 195, 38, 238;
52
- --ard-secondary-500: 145, 13, 182;
53
- --ard-secondary-700: 103, 10, 129;
54
- --ard-secondary-900: 69, 7, 85;
55
-
56
- --ard-danger-50: 247, 197, 196;
57
- --ard-danger-100: 243, 151, 149;
58
- --ard-danger-300: 245, 103, 100;
59
- --ard-danger-500: 243, 55, 52;
60
- --ard-danger-700: 202, 17, 14;
61
- --ard-danger-900: 165, 13, 11;
62
-
63
- --ard-warn-50: 248, 224, 192;
64
- --ard-warn-100: 247, 196, 129;
65
- --ard-warn-300: 240, 169, 77;
66
- --ard-warn-500: 224, 140, 38;
67
- --ard-warn-700: 173, 101, 13;
68
- --ard-warn-900: 117, 69, 7;
69
-
70
- --ard-success-50: 184, 240, 187;
71
- --ard-success-100: 124, 230, 129;
72
- --ard-success-300: 73, 223, 80;
73
- --ard-success-500: 33, 179, 40;
74
- --ard-success-700: 27, 131, 33;
75
- --ard-success-900: 14, 82, 17;
76
-
77
- --ard-info-50: 187, 210, 241;
78
- --ard-info-100: 131, 180, 243;
79
- --ard-info-300: 76, 147, 240;
80
- --ard-info-500: 19, 113, 236;
81
- --ard-info-700: 13, 81, 172;
82
- --ard-info-900: 8, 49, 102;
83
-
84
- --ard-box-shadow: 0 0 13px -3px rgba(0, 0, 0, 0.7);
85
- --ard-card-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
86
-
87
- --ard-simple-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14),
88
- 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
89
- --ard-simple-shadow2: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14),
90
- 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
91
- --ard-simple-shadow3: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14),
92
- 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
93
-
94
- --ard-spinner-color: rgba(0, 0, 0, 50%);
95
- }
96
-
97
- .ard-disabled {
98
- pointer-events: none;
99
- }
1
+ @use '../variables';
2
+
3
+ @import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
4
+ @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');
5
+
6
+ :root {
7
+ --ard-bg: white;
8
+ --ard-bg-alt: black;
9
+ --ard-overlay: black;
10
+ --ard-overlay-rgb: 0, 0, 0;
11
+ --ard-bg-filled: #ebebeb;
12
+ --ard-bg-darker: #f7f7f7;
13
+ --ard-bg-filled-alt: #333;
14
+ --ard-text: rgba(0, 0, 0, 100%);
15
+ --ard-text2: rgba(0, 0, 0, 87%);
16
+ --ard-text3: rgba(0, 0, 0, 75%);
17
+ --ard-text-alt: rgba(255, 255, 255, 100%);
18
+ --ard-text2-alt: rgba(255, 255, 255, 87%);
19
+ --ard-text3-alt: rgba(255, 255, 255, 75%);
20
+ --ard-border: rgba(0, 0, 0, 40%);
21
+ --ard-border-dark: rgba(0, 0, 0, 70%);
22
+ --ard-border-light: rgba(0, 0, 0, 25%);
23
+ --ard-detail: rgba(0, 0, 0, 60%);
24
+ --ard-detail-light: rgba(0, 0, 0, 30%);
25
+ --ard-detail-ultralight: rgba(0, 0, 0, 12%);
26
+ --ard-detail-ultralight-solid: rgb(204, 204, 204);
27
+ --ard-lighten-overlay: rgba(255, 255, 255, 12.5%);
28
+ --ard-lighten-overlay-strong: rgba(255, 255, 255, 20%);
29
+ --ard-lighten-overlay-medium: rgba(255, 255, 255, 10%);
30
+ --ard-lighten-overlay-light: rgba(255, 255, 255, 5%);
31
+ --ard-darken-overlay: rgba(0, 0, 0, 12.5%);
32
+ --ard-darken-overlay-strong: rgba(0, 0, 0, 20%);
33
+ --ard-darken-overlay-medium: rgba(0, 0, 0, 10%);
34
+ --ard-darken-overlay-light: rgba(0, 0, 0, 5%);
35
+ --ard-darken-overlay-ultralight: rgba(0, 0, 0, 3%);
36
+
37
+ --ard-star: #ffc107;
38
+
39
+ --ard-clear-button-size: 0.9rem;
40
+ --ard-dropdown-button-size: 0.4rem;
41
+
42
+ --ard-primary-50: 234, 235, 243;
43
+ --ard-primary-100: 159, 167, 228;
44
+ --ard-primary-300: 78, 99, 219;
45
+ --ard-primary-500: 36, 56, 185;
46
+ --ard-primary-700: 27, 42, 128;
47
+ --ard-primary-900: 19, 28, 87;
48
+
49
+ --ard-secondary-50: 229, 172, 243;
50
+ --ard-secondary-100: 216, 107, 243;
51
+ --ard-secondary-300: 195, 38, 238;
52
+ --ard-secondary-500: 145, 13, 182;
53
+ --ard-secondary-700: 103, 10, 129;
54
+ --ard-secondary-900: 69, 7, 85;
55
+
56
+ --ard-danger-50: 255, 233, 233;
57
+ --ard-danger-100: 243, 151, 149;
58
+ --ard-danger-300: 245, 103, 100;
59
+ --ard-danger-500: 243, 55, 52;
60
+ --ard-danger-700: 202, 17, 14;
61
+ --ard-danger-900: 165, 13, 11;
62
+
63
+ --ard-warn-50: 248, 224, 192;
64
+ --ard-warn-100: 247, 196, 129;
65
+ --ard-warn-300: 240, 169, 77;
66
+ --ard-warn-500: 224, 140, 38;
67
+ --ard-warn-700: 173, 101, 13;
68
+ --ard-warn-900: 117, 69, 7;
69
+
70
+ --ard-success-50: 184, 240, 187;
71
+ --ard-success-100: 124, 230, 129;
72
+ --ard-success-300: 73, 223, 80;
73
+ --ard-success-500: 33, 179, 40;
74
+ --ard-success-700: 27, 131, 33;
75
+ --ard-success-900: 14, 82, 17;
76
+
77
+ --ard-info-50: 187, 210, 241;
78
+ --ard-info-100: 131, 180, 243;
79
+ --ard-info-300: 76, 147, 240;
80
+ --ard-info-500: 19, 113, 236;
81
+ --ard-info-700: 13, 81, 172;
82
+ --ard-info-900: 8, 49, 102;
83
+
84
+ --ard-box-shadow: 0 0 13px -3px rgba(0, 0, 0, 0.7);
85
+ --ard-card-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
86
+
87
+ --ard-simple-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14),
88
+ 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
89
+ --ard-simple-shadow2: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14),
90
+ 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
91
+ --ard-simple-shadow3: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14),
92
+ 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
93
+
94
+ --ard-spinner-color: rgba(0, 0, 0, 50%);
95
+
96
+ --ard-horizontal-form-field-label-width: 12rem;
97
+ --ard-horizontal-form-field-label-align: flex-start;
98
+ }
99
+
100
+ .ard-disabled {
101
+ pointer-events: none;
102
+ }
@@ -1,78 +1,79 @@
1
- @use './mixins' as defaultMixins;
2
- @use '../variables' as ARD;
3
-
4
- .ard-form-field-frame {
5
- box-sizing: border-box;
6
- min-height: 2.1875rem;
7
- height: max-content;
8
- max-width: 100%;
9
- display: flex;
10
- align-items: center;
11
- justify-content: stretch;
12
- position: relative;
13
- font-size: 1rem;
14
- line-height: 1.25em;
15
- font-family: 'Roboto', sans-serif;
16
-
17
- .ard-form-field-content-container {
18
- flex-grow: 1;
19
- min-height: 100%;
20
- }
21
- .ard-form-field-prefix-container,
22
- .ard-form-field-suffix-container {
23
- height: max-content;
24
- max-height: 100%;
25
- display: flex;
26
- align-items: center;
27
- }
28
- .ard-form-field-prefix-container {
29
- padding-left: 0.375em;
30
- }
31
- .ard-form-field-suffix-container {
32
- padding-right: 0.375em;
33
- }
34
-
35
- //! compact
36
- &.ard-compact {
37
- min-height: 1.6875rem;
38
- font-size: 0.85rem;
39
- line-height: 1;
40
- }
41
-
42
- //! appearance & variant
43
- @include defaultMixins.formAppearances();
44
- @include defaultMixins.formVariants();
45
- background: var(--ard-appearance-background);
46
- border: var(--ard-appearance-border);
47
- transition: border-color 0.15s ARD.$timing-fn;
48
-
49
- .ard-form-field-overlay {
50
- background: ARD.$overlay;
51
- opacity: 0;
52
- transition:
53
- opacity 0.15s ARD.$timing-fn,
54
- background-color 0.15s ARD.$timing-fn;
55
- }
56
-
57
- &:hover {
58
- .ard-form-field-overlay {
59
- opacity: 3%;
60
- }
61
- }
62
- &.ard-focused {
63
- .ard-form-field-overlay {
64
- opacity: 6%;
65
- }
66
- border-color: ARD.$border-dark;
67
- }
68
- }
69
- .ard-disabled .ard-form-field-frame {
70
- pointer-events: none;
71
- opacity: 50%;
72
-
73
- &.ard-appearance-transparent {
74
- .ard-form-field-overlay {
75
- opacity: 4.5%;
76
- }
77
- }
78
- }
1
+ @use './mixins' as defaultMixins;
2
+ @use '../variables' as ARD;
3
+
4
+ .ard-form-field-frame {
5
+ box-sizing: border-box;
6
+ min-height: 2.3125rem;
7
+ height: max-content;
8
+ max-width: 100%;
9
+ display: flex;
10
+ align-items: center;
11
+ justify-content: stretch;
12
+ position: relative;
13
+ font-size: 1rem;
14
+ line-height: 1.25em;
15
+ font-family: 'Roboto', sans-serif;
16
+
17
+ .ard-form-field-content-container {
18
+ flex-grow: 1;
19
+ min-height: inherit;
20
+
21
+ > * {
22
+ min-height: inherit;
23
+ }
24
+ }
25
+ .ard-form-field-prefix-container,
26
+ .ard-form-field-suffix-container {
27
+ height: max-content;
28
+ max-height: 100%;
29
+ display: flex;
30
+ align-items: center;
31
+ }
32
+ .ard-form-field-prefix-container {
33
+ padding-left: 0.375em;
34
+ }
35
+ .ard-form-field-suffix-container {
36
+ padding-right: 0.375em;
37
+ }
38
+
39
+ //! compact
40
+ &.ard-compact {
41
+ min-height: 1.6875rem;
42
+ font-size: 0.85rem;
43
+ line-height: 1;
44
+ }
45
+
46
+ //! appearance & variant
47
+ @include defaultMixins.formAppearances();
48
+ @include defaultMixins.formVariants();
49
+ background: var(--ard-appearance-background);
50
+ border: var(--ard-appearance-border);
51
+ transition: border-color 0.15s ARD.$timing-fn;
52
+
53
+ .ard-form-field-overlay {
54
+ background: ARD.$overlay;
55
+ opacity: 0;
56
+ transition: opacity 0.15s ARD.$timing-fn, background-color 0.15s ARD.$timing-fn;
57
+ }
58
+
59
+ &:hover {
60
+ .ard-form-field-overlay {
61
+ opacity: 3%;
62
+ }
63
+ }
64
+ &.ard-focused {
65
+ .ard-form-field-overlay {
66
+ opacity: 6%;
67
+ }
68
+ }
69
+ }
70
+ .ard-disabled .ard-form-field-frame {
71
+ pointer-events: none;
72
+ opacity: 50%;
73
+
74
+ &.ard-appearance-transparent {
75
+ .ard-form-field-overlay {
76
+ opacity: 4.5%;
77
+ }
78
+ }
79
+ }
@@ -0,0 +1,92 @@
1
+ @use '../variables' as ARD;
2
+
3
+ ard-form-field,
4
+ ard-horizontal-form-field {
5
+ display: block;
6
+ width: 100%;
7
+ }
8
+
9
+ .ard-form-field,
10
+ .ard-horizontal-form-field {
11
+ display: flex;
12
+ flex-direction: column;
13
+
14
+ .ard-label {
15
+ padding: 0.25rem 0 0.125rem 0.125rem;
16
+ font-size: 0.9375rem;
17
+ font-weight: 500;
18
+ }
19
+ .ard-form-field__hints {
20
+ padding: 0.125rem 0 0.25rem 0.125rem;
21
+ font-size: 0.8125rem;
22
+ line-height: 1.1;
23
+
24
+ &.ard-form-field__reserve-hint-line {
25
+ box-sizing: content-box;
26
+ min-height: 1.1em;
27
+ }
28
+ }
29
+ .ard-form-field__hints-right {
30
+ > * {
31
+ padding-left: 0.25rem;
32
+ }
33
+ }
34
+ .ard-hint,
35
+ .ard-error {
36
+ font-size: 1em;
37
+ line-height: 1.1;
38
+ display: block;
39
+ height: 1.1em;
40
+ }
41
+ .ard-hint {
42
+ color: ARD.$text2;
43
+ }
44
+ .ard-error {
45
+ color: ARD.$danger700;
46
+ overflow: hidden;
47
+ animation: errorAppear 0.25s ARD.$timing-fn forwards;
48
+ }
49
+
50
+ &.ard-form-field__with-error {
51
+ .ard-label {
52
+ color: ARD.$danger700;
53
+ }
54
+ }
55
+ &.ard-form-field__is-success {
56
+ .ard-label {
57
+ color: ARD.$success700;
58
+ }
59
+ }
60
+ }
61
+ .ard-horizontal-form-field {
62
+ align-items: flex-start;
63
+ justify-content: stretch;
64
+ flex-direction: row;
65
+ gap: 0.5rem;
66
+
67
+ .ard-form-field__label-container {
68
+ width: var(--ard-horizontal-form-field-label-width, 12rem);
69
+ height: 2.3125rem;
70
+ display: flex;
71
+ align-items: center;
72
+ justify-content: var(--ard-horizontal-form-field-label-align, flex-start);
73
+ }
74
+ .ard-form-field__non-label {
75
+ flex-grow: 1;
76
+ }
77
+
78
+ &:has(.ard-form-field__input .ard-compact) {
79
+ .ard-form-field__label-container {
80
+ height: 1.5625rem;
81
+ }
82
+ }
83
+ }
84
+
85
+ @keyframes errorAppear {
86
+ from {
87
+ height: 0;
88
+ }
89
+ to {
90
+ height: 1.1em;
91
+ }
92
+ }