@ardium-ui/ui 5.0.0-alpha.3 → 5.0.0-alpha.31

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 (164) hide show
  1. package/fesm2022/ardium-ui-ui.mjs +822 -560
  2. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  3. package/lib/_internal/disablable-component.d.ts +2 -1
  4. package/lib/_internal/focusable-component.d.ts +2 -1
  5. package/lib/_internal/form-field-component.d.ts +2 -1
  6. package/lib/_internal/item-storages/dropdown-item-storage.d.ts +16 -18
  7. package/lib/_internal/item-storages/simple-item-storage.d.ts +15 -12
  8. package/lib/_internal/item-storages/simplest-item-storage.d.ts +1 -1
  9. package/lib/_internal/selectable-list-component.d.ts +6 -6
  10. package/lib/badge/badge.directive.d.ts +3 -2
  11. package/lib/buttons/_button-base.d.ts +4 -3
  12. package/lib/buttons/button/button.component.d.ts +2 -1
  13. package/lib/buttons/icon-button/icon-button.component.d.ts +4 -3
  14. package/lib/calendar/calendar.component.d.ts +5 -4
  15. package/lib/checkbox-list/checkbox-list.component.d.ts +9 -7
  16. package/lib/checkbox-list/checkbox-list.directives.d.ts +7 -0
  17. package/lib/checkbox-list/checkbox-list.module.d.ts +1 -1
  18. package/lib/chip/chip.component.d.ts +2 -1
  19. package/lib/chip/deletable-chip/deletable-chip.component.d.ts +2 -1
  20. package/lib/chip/selectable-chip/selectable-chip.component.d.ts +3 -2
  21. package/lib/dialog/dialog.component.d.ts +8 -7
  22. package/lib/divider/divider.component.d.ts +2 -1
  23. package/lib/dropdown-panel/dropdown-panel.component.d.ts +2 -1
  24. package/lib/file-inputs/file-input/file-input.component.d.ts +2 -1
  25. package/lib/file-inputs/file-input-base.d.ts +4 -4
  26. package/lib/form-field/error/error.directive.d.ts +5 -1
  27. package/lib/form-field/form-field-base.d.ts +9 -3
  28. package/lib/form-field/form-field-native-inputs.d.ts +3 -2
  29. package/lib/form-field/form-field.component.d.ts +1 -1
  30. package/lib/form-field/form-field.module.d.ts +5 -4
  31. package/lib/form-field/hint/hint.directive.d.ts +3 -2
  32. package/lib/form-field/hint-error/hint-error.component.d.ts +6 -0
  33. package/lib/form-field/hint-error/hint-error.directive.d.ts +9 -0
  34. package/lib/form-field/horizontal-form-field.component.d.ts +1 -1
  35. package/lib/form-field/index.d.ts +4 -0
  36. package/lib/form-field/label/label.component.d.ts +3 -2
  37. package/lib/form-field-frame/form-field-frame.component.d.ts +4 -3
  38. package/lib/icon/icon.component.d.ts +2 -1
  39. package/lib/inputs/_simple-input-base.d.ts +4 -2
  40. package/lib/inputs/autocomplete-input/autocomplete-input.component.d.ts +5 -4
  41. package/lib/inputs/date-input/date-input.component.d.ts +9 -8
  42. package/lib/inputs/digit-input/digit-input.component.d.ts +4 -3
  43. package/lib/inputs/hex-input/hex-input.component.d.ts +5 -3
  44. package/lib/inputs/number-input/number-input.component.d.ts +8 -7
  45. package/lib/inputs/number-input/number-input.defaults.d.ts +1 -0
  46. package/lib/inputs/password-input/password-input.component.d.ts +4 -3
  47. package/lib/kbd/kbd.component.d.ts +2 -1
  48. package/lib/kbd-shortcut/kbd-shortcut.component.d.ts +2 -1
  49. package/lib/modal/modal.component.d.ts +6 -5
  50. package/lib/option/option.component.d.ts +2 -1
  51. package/lib/progress-bar/progress-bar.component.d.ts +4 -3
  52. package/lib/progress-circle/progress-circle.component.d.ts +5 -4
  53. package/lib/segment/segment.component.d.ts +6 -5
  54. package/lib/select/select.component.d.ts +33 -26
  55. package/lib/select/select.defaults.d.ts +7 -0
  56. package/lib/select/select.directive.d.ts +6 -0
  57. package/lib/select/select.module.d.ts +1 -1
  58. package/lib/select/select.types.d.ts +4 -2
  59. package/lib/select/select.utils.d.ts +2 -0
  60. package/lib/slider/abstract-slider.d.ts +12 -8
  61. package/lib/slider/range-slider/range-slider.component.d.ts +2 -2
  62. package/lib/slider/slider.component.d.ts +1 -0
  63. package/lib/slider/slider.types.d.ts +2 -2
  64. package/lib/star/rating-display/rating-display.component.d.ts +2 -1
  65. package/lib/star/rating-input/rating-input.component.d.ts +2 -1
  66. package/lib/tabber/index.d.ts +2 -1
  67. package/lib/tabber/tab/tab.component.d.ts +14 -8
  68. package/lib/tabber/tabber.component.d.ts +25 -9
  69. package/lib/tabber/tabber.defaults.d.ts +1 -0
  70. package/lib/tabber/tabber.directives.d.ts +9 -0
  71. package/lib/tabber/tabber.module.d.ts +3 -2
  72. package/lib/tabber/tabber.types.d.ts +5 -0
  73. package/lib/table/table.component.d.ts +16 -15
  74. package/lib/table-pagination/table-pagination.component.d.ts +4 -3
  75. package/lib/text-list/text-list.component.d.ts +2 -1
  76. package/lib/types/item-storage.types.d.ts +15 -17
  77. package/package.json +1 -1
  78. package/prebuilt-themes/default/buttons/button.css +48 -22
  79. package/prebuilt-themes/default/buttons/button.css.map +1 -1
  80. package/prebuilt-themes/default/buttons/fab.css +40 -20
  81. package/prebuilt-themes/default/buttons/fab.css.map +1 -1
  82. package/prebuilt-themes/default/buttons/icon-button.css +35 -16
  83. package/prebuilt-themes/default/buttons/icon-button.css.map +1 -1
  84. package/prebuilt-themes/default/calendar.css.map +1 -1
  85. package/prebuilt-themes/default/card.css.map +1 -1
  86. package/prebuilt-themes/default/checkbox-list.css +44 -18
  87. package/prebuilt-themes/default/checkbox-list.css.map +1 -1
  88. package/prebuilt-themes/default/chips.css +10 -5
  89. package/prebuilt-themes/default/chips.css.map +1 -1
  90. package/prebuilt-themes/default/color-display.css +1 -1
  91. package/prebuilt-themes/default/core.css +10 -0
  92. package/prebuilt-themes/default/core.css.map +1 -1
  93. package/prebuilt-themes/default/dropdown-panel.css.map +1 -1
  94. package/prebuilt-themes/default/form-field-frame.css +7 -3
  95. package/prebuilt-themes/default/form-field-frame.css.map +1 -1
  96. package/prebuilt-themes/default/form-field.css +35 -13
  97. package/prebuilt-themes/default/form-field.css.map +1 -1
  98. package/prebuilt-themes/default/inputs/autocomplete-input.css +1 -1
  99. package/prebuilt-themes/default/inputs/autocomplete-input.css.map +1 -1
  100. package/prebuilt-themes/default/inputs/color-input.css +2 -2
  101. package/prebuilt-themes/default/inputs/color-input.css.map +1 -1
  102. package/prebuilt-themes/default/inputs/date-input.css +1 -1
  103. package/prebuilt-themes/default/inputs/digit-input.css +1 -1
  104. package/prebuilt-themes/default/inputs/digit-input.css.map +1 -1
  105. package/prebuilt-themes/default/inputs/file-input.css +1 -1
  106. package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
  107. package/prebuilt-themes/default/inputs/hex-input.css +3 -3
  108. package/prebuilt-themes/default/inputs/hex-input.css.map +1 -1
  109. package/prebuilt-themes/default/inputs/input.css +1 -2
  110. package/prebuilt-themes/default/inputs/input.css.map +1 -1
  111. package/prebuilt-themes/default/inputs/number-input.css +37 -14
  112. package/prebuilt-themes/default/inputs/number-input.css.map +1 -1
  113. package/prebuilt-themes/default/inputs/password-input.css +1 -1
  114. package/prebuilt-themes/default/inputs/search-bar.css +1 -1
  115. package/prebuilt-themes/default/inputs/search-bar.css.map +1 -1
  116. package/prebuilt-themes/default/kbd-shortcut.css +1 -1
  117. package/prebuilt-themes/default/kbd.css +1 -1
  118. package/prebuilt-themes/default/modal.css +2 -1
  119. package/prebuilt-themes/default/modal.css.map +1 -1
  120. package/prebuilt-themes/default/progress-circle.css.map +1 -1
  121. package/prebuilt-themes/default/radio.css +5 -3
  122. package/prebuilt-themes/default/radio.css.map +1 -1
  123. package/prebuilt-themes/default/segment.css +70 -57
  124. package/prebuilt-themes/default/segment.css.map +1 -1
  125. package/prebuilt-themes/default/select.css +87 -40
  126. package/prebuilt-themes/default/select.css.map +1 -1
  127. package/prebuilt-themes/default/slide-toggle.css.map +1 -1
  128. package/prebuilt-themes/default/slider.css +90 -51
  129. package/prebuilt-themes/default/slider.css.map +1 -1
  130. package/prebuilt-themes/default/stars.css.map +1 -1
  131. package/prebuilt-themes/default/statebox.css +1 -1
  132. package/prebuilt-themes/default/tabber.css +36 -12
  133. package/prebuilt-themes/default/tabber.css.map +1 -1
  134. package/prebuilt-themes/default/table.css.map +1 -1
  135. package/themes/_variables.scss +3 -0
  136. package/themes/default/buttons/_button-mixins.scss +31 -18
  137. package/themes/default/buttons/button.scss +41 -11
  138. package/themes/default/buttons/fab.scss +36 -9
  139. package/themes/default/buttons/icon-button.scss +31 -5
  140. package/themes/default/checkbox-list.scss +47 -21
  141. package/themes/default/chips.scss +12 -12
  142. package/themes/default/color-display.scss +1 -1
  143. package/themes/default/core.scss +12 -0
  144. package/themes/default/form-field-frame.scss +11 -6
  145. package/themes/default/form-field.scss +27 -12
  146. package/themes/default/inputs/_shared.scss +1 -1
  147. package/themes/default/inputs/color-input.scss +1 -1
  148. package/themes/default/inputs/digit-input.scss +1 -1
  149. package/themes/default/inputs/hex-input.scss +2 -2
  150. package/themes/default/inputs/input.scss +0 -1
  151. package/themes/default/inputs/number-input.scss +37 -14
  152. package/themes/default/kbd-shortcut.scss +1 -1
  153. package/themes/default/kbd.scss +1 -1
  154. package/themes/default/modal.scss +2 -1
  155. package/themes/default/radio.scss +5 -3
  156. package/themes/default/segment.scss +75 -67
  157. package/themes/default/select.scss +96 -42
  158. package/themes/default/slider.scss +90 -55
  159. package/themes/default/statebox.scss +1 -1
  160. package/themes/default/tabber.scss +36 -13
  161. package/lib/tabber/tab/tab.defaults.d.ts +0 -6
  162. package/prebuilt-themes/default/calendar-OLD.css +0 -294
  163. package/prebuilt-themes/default/calendar-OLD.css.map +0 -1
  164. package/themes/default/calendar-OLD.scss +0 -183
@@ -1,30 +1,54 @@
1
1
  @use './button-mixins' as shared;
2
2
  @use '../mixins' as CM;
3
3
 
4
+ :root {
5
+ --ard-fab-size-standard: 3.5rem;
6
+ --ard-fab-size-small: 2.5rem;
7
+ --ard-fab-margin: 0.5rem;
8
+ --ard-fab-size-standard-font-size: 1.75rem;
9
+ --ard-fab-size-small-font-size: 1.375rem;
10
+ --ard-fab-font-weight: 900;
11
+ --ard-fab-overlay-hover-opacity: 0.04;
12
+ --ard-fab-overlay-focus-opacity: 0.12;
13
+ --ard-fab-overlay-active-opacity: 0.18;
14
+ --ard-fab-overlay-focus-visible-opacity: 0.24;
15
+ --ard-fab-overlay-disabled-opacity: 0.2;
16
+ --ard-fab-rounded-corner-radius: var(--ard-rounded-corner-radius, 0.375rem);
17
+ --ard-fab-disabled-opacity: 0.6;
18
+ }
19
+
4
20
  ard-fab {
5
- margin: 8px;
21
+ margin: var(--ard-fab-margin, 0.5rem);
6
22
  display: block;
7
23
  width: max-content;
8
24
  height: max-content;
9
25
  }
10
26
 
11
27
  .ard-fab {
12
- @include shared.button;
28
+ @include shared.button(
29
+ 0,
30
+ 0,
31
+ unset,
32
+ var(--ard-fab-font-weight, 900),
33
+ var(--ard-fab-overlay-hover-opacity, var(--ard-button-overlay-hover-opacity, 0.04)),
34
+ var(--ard-fab-overlay-focus-opacity, var(--ard-button-overlay-focus-opacity, 0.12)),
35
+ var(--ard-fab-overlay-active-opacity, var(--ard-button-overlay-active-opacity, 0.18)),
36
+ var(--ard-fab-overlay-focus-visible-opacity, var(--ard-button-overlay-focus-visible-opacity, 0.24))
37
+ );
13
38
  height: var(--ard-_fab-size);
14
39
  width: var(--ard-_fab-size);
15
- font-weight: 900;
16
40
  user-select: none;
17
- border-radius: 999px;
41
+ border-radius: 9999px;
18
42
  justify-content: center;
19
43
  margin: 0;
20
44
 
21
45
  &.ard-fab-size-standard {
22
- --ard-_fab-size: 3.5rem;
23
- font-size: 1.75rem;
46
+ --ard-_fab-size: var(--ard-fab-size-standard, 3.5rem);
47
+ font-size: var(--ard-fab-size-standard-font-size, 1.75rem);
24
48
  }
25
49
  &.ard-fab-size-small {
26
- --ard-_fab-size: 2.5rem;
27
- font-size: 1.375rem;
50
+ --ard-_fab-size: var(--ard-fab-size-small, 2.5rem);
51
+ font-size: var(--ard-fab-size-small-font-size, 1.375rem);
28
52
  }
29
53
  &.ard-fab-extended {
30
54
  min-width: var(--ard-_fab-size);
@@ -57,7 +81,10 @@ ard-fab {
57
81
 
58
82
  ard-fab.ard-disabled {
59
83
  > .ard-fab {
60
- @include shared.button-disabled;
84
+ @include shared.button-disabled(
85
+ var(--ard-fab-overlay-disabled-opacity, var(--ard-button-overlay-disabled-opacity, 0.2)),
86
+ var(--ard-fab-disabled-opacity, var(--ard-button-disabled-opacity, 0.6))
87
+ );
61
88
  }
62
89
  &.ard-button-with-pointer-events-when-disabled {
63
90
  pointer-events: all;
@@ -1,16 +1,41 @@
1
1
  @use './button-mixins' as shared;
2
2
 
3
+ :root {
4
+ --ard-icon-button-height: 2.1875em;
5
+ --ard-icon-button-height-compact: 2.25em;
6
+ --ard-icon-button-margin: 0;
7
+ --ard-icon-button-font-size: 1rem;
8
+ --ard-icon-button-font-size-compact: 0.75rem;
9
+ --ard-icon-button-font-weight: 600;
10
+ --ard-icon-button-overlay-hover-opacity: var(--ard-button-overlay-hover-opacity, 0.04);
11
+ --ard-icon-button-overlay-focus-opacity: var(--ard-button-overlay-focus-opacity, 0.12);
12
+ --ard-icon-button-overlay-active-opacity: var(--ard-button-overlay-active-opacity, 0.18);
13
+ --ard-icon-button-overlay-focus-visible-opacity: var(--ard-button-overlay-focus-visible-opacity, 0.24);
14
+ --ard-icon-button-overlay-disabled-opacity: var(--ard-button-overlay-disabled-opacity, 0.2);
15
+ --ard-icon-button-disabled-opacity: var(--ard-button-disabled-opacity, 0.6);
16
+ }
17
+
3
18
  ard-icon-button {
4
19
  height: max-content;
5
20
  width: max-content;
6
21
  border-radius: 9999px;
7
22
  aspect-ratio: 1;
8
23
  display: inline-block;
9
- font-size: 1rem;
24
+ margin: var(--ard-icon-button-margin, 0);
25
+ font-size: var(--ard-icon-button-font-size, 1rem);
10
26
  }
11
27
 
12
28
  .ard-icon-button {
13
- @include shared.button;
29
+ @include shared.button(
30
+ 0,
31
+ 0,
32
+ inherit,
33
+ inherit,
34
+ var(--ard-icon-button-overlay-hover-opacity, var(--ard-button-overlay-hover-opacity, 0.04)),
35
+ var(--ard-icon-button-overlay-focus-opacity, var(--ard-button-overlay-focus-opacity, 0.12)),
36
+ var(--ard-icon-button-overlay-active-opacity, var(--ard-button-overlay-active-opacity, 0.18)),
37
+ var(--ard-icon-button-overlay-focus-visible-opacity, var(--ard-button-overlay-focus-visible-opacity, 0.24))
38
+ );
14
39
  background: transparent;
15
40
  height: 2.1875em;
16
41
  aspect-ratio: 1;
@@ -19,8 +44,6 @@ ard-icon-button {
19
44
  justify-content: center;
20
45
  padding: 0;
21
46
  overflow: hidden;
22
- font-weight: 600;
23
- font-size: inherit;
24
47
  color: var(--ard-cmpcl--bg-colored);
25
48
 
26
49
  .ard-button-content {
@@ -46,7 +69,10 @@ ard-icon-button {
46
69
 
47
70
  ard-icon-button.ard-disabled {
48
71
  > .ard-icon-button {
49
- @include shared.button-disabled;
72
+ @include shared.button-disabled(
73
+ var(--ard-icon-button-overlay-disabled-opacity, var(--ard-button-overlay-disabled-opacity, 0.2)),
74
+ var(--ard-icon-button-disabled-opacity, var(--ard-button-disabled-opacity, 0.6))
75
+ );
50
76
 
51
77
  .ard-focus-overlay {
52
78
  opacity: 0;
@@ -1,22 +1,47 @@
1
1
  @use './mixins' as CM;
2
2
  @use '../variables' as ARD;
3
3
 
4
+ :root {
5
+ --ard-checkbox-list-padding: 0.375rem 0;
6
+ --ard-checkbox-list-item-hover-opacity: 5%;
7
+ --ard-checkbox-list-item-active-opacity: 15%;
8
+ --ard-checkbox-list-item-height: 3rem;
9
+ --ard-checkbox-list-item-height-compact: 2rem;
10
+ --ard-checkbox-list-checkbox-min-width: 1.25rem;
11
+ --ard-checkbox-list-checkbox-padding: 0.625rem;
12
+ --ard-checkbox-list-item-padding: 0 0.5rem 0 0;
13
+ --ard-checkbox-list-gap: 0;
14
+ --ard-checkbox-list-gap-compact: 0;
15
+ --ard-checkbox-list-item-gap: 0.5rem;
16
+ --ard-checkbox-list-item-gap-compact: 0.325rem;
17
+ --ard-checkbox-list-disabled-opacity: 50%;
18
+ }
19
+
4
20
  .ard-checkbox-list {
5
21
  display: flex;
6
22
  flex-direction: column;
23
+ padding: var(--ard-checkbox-list-padding, 0.375rem 0);
24
+ gap: var(--ard-checkbox-list-gap, 0);
7
25
 
8
26
  .ard-checkbox-list__item {
9
27
  display: flex;
10
28
  align-items: center;
11
- gap: 0.5rem;
12
- padding: 0 1rem;
29
+ justify-content: stretch;
30
+ gap: var(--ard-checkbox-list-item-gap, 0.5rem);
31
+ padding: var(--ard-checkbox-list-item-padding, 0 0.5rem 0 0);
13
32
  position: relative;
14
33
  cursor: pointer;
15
- height: 3rem;
34
+ height: max-content;
35
+ min-height: var(--ard-checkbox-list-item-height, 3rem);
16
36
 
17
37
  > label {
18
38
  pointer-events: none;
19
39
  user-select: none;
40
+ flex-grow: 1;
41
+ padding: 0;
42
+ min-height: var(--ard-checkbox-list-item-height, 3rem);
43
+ display: flex;
44
+ align-items: center;
20
45
  }
21
46
  > .ard-focus-overlay {
22
47
  @include CM.focus-overlay();
@@ -24,16 +49,17 @@
24
49
  }
25
50
  &.ard-item-highlighted {
26
51
  > .ard-focus-overlay {
27
- opacity: 5%;
52
+ opacity: var(--ard-checkbox-list-item-hover-opacity, 5%);
28
53
  }
29
54
  }
30
55
  &:active {
31
56
  > .ard-focus-overlay {
32
- opacity: 15%;
57
+ opacity: var(--ard-checkbox-list-item-active-opacity, 15%);
33
58
  }
34
59
  }
35
60
  ard-checkbox {
36
- padding: 0.625rem;
61
+ padding: var(--ard-checkbox-list-checkbox-padding, 0.625rem);
62
+ min-width: var(--ard-checkbox-list-checkbox-min-width, 1.25rem);
37
63
 
38
64
  .ard-checkbox {
39
65
  .ard-focus-overlay {
@@ -45,39 +71,39 @@
45
71
  pointer-events: none;
46
72
 
47
73
  > label {
48
- opacity: 50%;
74
+ opacity: var(--ard-checkbox-list-disabled-opacity, 50%);
49
75
  }
50
76
  }
51
77
  }
52
78
  &.ard-compact {
79
+ gap: var(--ard-checkbox-list-gap-compact, 0);
80
+
53
81
  .ard-checkbox-list__item {
54
- gap: 0.325rem;
55
- height: 2rem;
82
+ gap: var(--ard-checkbox-list-item-gap-compact, 0.325rem);
83
+ height: var(--ard-checkbox-list-item-height-compact, 2rem);
56
84
  }
57
85
  }
58
86
  //! ALIGN TYPES
59
87
  &.ard-align-left-clumped,
60
- &.ard-align-left-split {
61
- .ard-checkbox-list__item {
62
- flex-direction: row;
63
- }
64
- }
65
- &.ard-align-right-clumped,
66
88
  &.ard-align-right-split {
67
89
  .ard-checkbox-list__item {
68
- flex-direction: row-reverse;
90
+ label {
91
+ justify-content: flex-start;
92
+ }
69
93
  }
70
94
  }
71
- &.ard-align-left-clumped,
95
+ &.ard-align-left-split,
72
96
  &.ard-align-right-clumped {
73
97
  .ard-checkbox-list__item {
74
- justify-content: flex-start;
98
+ label {
99
+ justify-content: flex-end;
100
+ }
75
101
  }
76
102
  }
77
- &.ard-align-left-split,
78
- &.ard-align-right-split {
103
+ &.ard-align-right-split,
104
+ &.ard-align-right-clumped {
79
105
  .ard-checkbox-list__item {
80
- justify-content: space-between;
106
+ flex-direction: row-reverse;
81
107
  }
82
108
  }
83
109
  }
@@ -9,7 +9,7 @@
9
9
  @include clearButton.clearButton();
10
10
  @include defaultMixins.formVariants();
11
11
 
12
- font-family: 'Roboto', sans-serif;
12
+ font-family: var(--ard-font-family);
13
13
  color: ARD.$text2;
14
14
  background: ARD.$bg;
15
15
  border-radius: var(--ard-variant-border-radius);
@@ -68,10 +68,7 @@
68
68
  &.ard-chip-selectable {
69
69
  background-color: ARD.$bg-f;
70
70
  color: ARD.$text2;
71
- transition:
72
- color 0.15s ease,
73
- border-color 0.15s ease,
74
- background-color 0.15s ease;
71
+ transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
75
72
 
76
73
  &.ard-chip-selected {
77
74
  color: var(--ard-cmpcl--on-bg-colored);
@@ -88,9 +85,7 @@
88
85
  font-weight: 600;
89
86
 
90
87
  &.ard-chip-selectable {
91
- transition:
92
- color 0.15s ease,
93
- border-color 0.15s ease;
88
+ transition: color 0.15s ease, border-color 0.15s ease;
94
89
 
95
90
  > .ard-focus-overlay {
96
91
  opacity: 0;
@@ -110,19 +105,20 @@
110
105
 
111
106
  &.ard-chip-selected {
112
107
  color: var(--ard-cmpcl--content);
108
+ border-color: var(--ard-cmpcl--content);
113
109
 
114
110
  > .ard-focus-overlay {
115
- opacity: 7.5%;
111
+ opacity: 12%;
116
112
  }
117
113
  &:hover,
118
114
  &:focus {
119
115
  > .ard-focus-overlay {
120
- opacity: 15%;
116
+ opacity: 17%;
121
117
  }
122
118
  }
123
119
  &:active {
124
120
  > .ard-focus-overlay {
125
- opacity: 20%;
121
+ opacity: 22%;
126
122
  }
127
123
  }
128
124
  }
@@ -130,9 +126,13 @@
130
126
  }
131
127
  &.ard-appearance-outlined-strong {
132
128
  > .ard-focus-overlay {
133
- opacity: 7.5%;
129
+ opacity: 12%;
134
130
  background: var(--ard-cmpcl--bg-colored);
135
131
  }
132
+ &.ard-chip-selectable {
133
+ color: var(--ard-text2);
134
+ border: 1px solid var(--ard-detail-light);
135
+ }
136
136
  }
137
137
 
138
138
  //! alignments
@@ -14,7 +14,7 @@
14
14
  }
15
15
 
16
16
  .ard-color-display-label {
17
- font-family: monospace;
17
+ font-family: var(--ard-font-family-mono);
18
18
  font-size: 1.15em;
19
19
  }
20
20
 
@@ -30,14 +30,26 @@
30
30
  --ard-lighten-overlay-light: rgba(255, 255, 255, 5%);
31
31
  --ard-darken-overlay: rgba(0, 0, 0, 12.5%);
32
32
  --ard-darken-overlay-strong: rgba(0, 0, 0, 20%);
33
+ --ard-darken-overlay-medium-strong: rgba(0, 0, 0, 13%);
33
34
  --ard-darken-overlay-medium: rgba(0, 0, 0, 10%);
34
35
  --ard-darken-overlay-light: rgba(0, 0, 0, 5%);
35
36
  --ard-darken-overlay-ultralight: rgba(0, 0, 0, 3%);
36
37
 
38
+ --ard-font-family: 'Roboto', sans-serif;
39
+ --ard-font-family-mono: monospace;
40
+
37
41
  --ard-gold: #ffc107;
38
42
 
39
43
  --ard-clear-button-size: 0.9rem;
40
44
  --ard-dropdown-button-size: 0.4rem;
45
+ --ard-form-field-height: 2.3125rem;
46
+ --ard-form-field-height-compact: 1.6875rem;
47
+ --ard-form-field-font-size: 1rem;
48
+ --ard-form-field-font-size-compact: 1rem;
49
+ --ard-form-field-padding: 0 0.375rem;
50
+ --ard-form-field-padding-compact: 0 0.375rem;
51
+
52
+ --ard-rounded-corner-radius: 0.375rem;
41
53
 
42
54
  --ard-primary-50: 234, 235, 243;
43
55
  --ard-primary-100: 159, 167, 228;
@@ -3,7 +3,7 @@
3
3
 
4
4
  .ard-form-field-frame {
5
5
  box-sizing: border-box;
6
- min-height: 2.3125rem;
6
+ min-height: ARD.$form-field-height;
7
7
  height: max-content;
8
8
  max-width: 100%;
9
9
  display: flex;
@@ -12,7 +12,7 @@
12
12
  position: relative;
13
13
  font-size: 1rem;
14
14
  line-height: 1.25em;
15
- font-family: 'Roboto', sans-serif;
15
+ font-family: var(--ard-font-family);
16
16
 
17
17
  .ard-form-field-content-container {
18
18
  flex-grow: 1;
@@ -38,7 +38,7 @@
38
38
 
39
39
  //! compact
40
40
  &.ard-compact {
41
- min-height: 1.6875rem;
41
+ min-height: ARD.$form-field-compact-height;
42
42
  font-size: 0.85rem;
43
43
  line-height: 1;
44
44
  }
@@ -53,9 +53,7 @@
53
53
  .ard-form-field-overlay {
54
54
  background: ARD.$overlay;
55
55
  opacity: 0;
56
- transition:
57
- opacity 0.15s ARD.$timing-fn,
58
- background-color 0.15s ARD.$timing-fn;
56
+ transition: opacity 0.15s ARD.$timing-fn, background-color 0.15s ARD.$timing-fn;
59
57
  }
60
58
 
61
59
  &:hover {
@@ -79,3 +77,10 @@
79
77
  }
80
78
  }
81
79
  }
80
+ .ard-readonly .ard-form-field-frame {
81
+ &:hover {
82
+ .ard-form-field-overlay {
83
+ opacity: 0;
84
+ }
85
+ }
86
+ }
@@ -42,34 +42,44 @@ ard-horizontal-form-field {
42
42
  min-height: 1.1em;
43
43
  }
44
44
  }
45
- .ard-form-field__hints-right {
45
+ .ard-form-field__hints-right,
46
+ .ard-form-field__errors-right {
46
47
  > * {
47
- padding-left: 0.25rem;
48
+ padding-left: 0.5rem;
48
49
  }
49
50
  }
50
51
  .ard-hint,
51
52
  .ard-error {
52
53
  font-size: 1em;
53
- line-height: 1.1;
54
- display: block;
55
- height: 1.1em;
54
+ line-height: 1.2;
55
+ display: inline-grid;
56
+ min-height: 1.2em;
56
57
  }
57
58
  .ard-hint {
58
59
  color: ARD.$text2;
59
60
  }
60
- .ard-error {
61
+ .ard-error:not(.ard-hint-error),
62
+ .ard-form-field__errors .ard-hint-error {
61
63
  color: ARD.$danger700;
62
64
  overflow: hidden;
65
+ }
66
+ .ard-error:not(.ard-hint-error) {
63
67
  animation: errorAppear 0.25s ARD.$timing-fn forwards;
64
68
  }
69
+ .ard-form-field__default-hint,
70
+ .ard-form-field__default-error {
71
+ gap: 0.375em;
72
+ }
65
73
 
66
74
  &.ard-form-field__with-error {
67
- .ard-label {
75
+ .ard-label,
76
+ ard-label {
68
77
  color: ARD.$danger700;
69
78
  }
70
79
  }
71
80
  &.ard-form-field__is-success {
72
- .ard-label {
81
+ .ard-label,
82
+ ard-label {
73
83
  color: ARD.$success700;
74
84
  }
75
85
  }
@@ -90,7 +100,8 @@ ard-horizontal-form-field {
90
100
 
91
101
  .ard-form-field__label-container {
92
102
  width: var(--ard-horizontal-form-field-label-width, 12rem);
93
- height: 2.3125rem;
103
+ min-width: var(--ard-horizontal-form-field-label-width, 12rem);
104
+ height: ARD.$form-field-height;
94
105
  display: flex;
95
106
  align-items: center;
96
107
  justify-content: var(--ard-horizontal-form-field-label-align, flex-start);
@@ -101,16 +112,20 @@ ard-horizontal-form-field {
101
112
 
102
113
  &:has(.ard-form-field__input .ard-compact) {
103
114
  .ard-form-field__label-container {
104
- height: 1.5625rem;
115
+ height: ARD.$form-field-compact-height;
105
116
  }
106
117
  }
107
118
  }
108
119
 
120
+ ard-label {
121
+ display: flex;
122
+ }
123
+
109
124
  @keyframes errorAppear {
110
125
  from {
111
- height: 0;
126
+ grid-template-rows: 0fr;
112
127
  }
113
128
  to {
114
- height: 1.1em;
129
+ grid-template-rows: 1fr;
115
130
  }
116
131
  }
@@ -5,7 +5,7 @@
5
5
  */
6
6
  @mixin genericInput() {
7
7
  position: relative;
8
- font-family: 'Roboto', sans-serif;
8
+ font-family: var(--ard-font-family);
9
9
  display: flex;
10
10
  align-items: center;
11
11
  justify-content: stretch;
@@ -15,7 +15,7 @@
15
15
  pointer-events: none;
16
16
 
17
17
  input {
18
- font-family: monospace;
18
+ font-family: var(--ard-font-family-mono);
19
19
  user-select: none;
20
20
  }
21
21
  }
@@ -3,7 +3,7 @@
3
3
  @use '../mixins' as defaultMixins;
4
4
 
5
5
  ard-digit-input {
6
- font-family: 'Roboto', sans-serif;
6
+ font-family: var(--ard-font-family);
7
7
  font-weight: 500;
8
8
  color: ARD.$text;
9
9
  }
@@ -13,7 +13,7 @@
13
13
 
14
14
  .ard-input-container {
15
15
  input {
16
- font-family: monospace;
16
+ font-family: var(--ard-font-family-mono);
17
17
  }
18
18
  }
19
19
 
@@ -22,6 +22,6 @@
22
22
  color: ARD.$text3;
23
23
  opacity: 70%;
24
24
  user-select: none;
25
- font-family: monospace;
25
+ font-family: var(--ard-font-family-mono);
26
26
  }
27
27
  }
@@ -5,7 +5,6 @@
5
5
  .ard-input {
6
6
  @include inputMixin.genericInput();
7
7
  padding: 0 0.375rem;
8
- min-width: 10rem;
9
8
  max-width: 100%;
10
9
 
11
10
  @include CB.clearButton();
@@ -2,33 +2,46 @@
2
2
  @use '../mixins' as defaultMixins;
3
3
  @use '../../variables' as ARD;
4
4
 
5
- ard-number-input {
6
- width: 9.5rem;
5
+ :root {
6
+ --ard-number-input-width: 9.5rem;
7
+ --ard-number-input-height: var(--ard-form-field-height);
8
+ --ard-number-input-height-compact: var(--ard-form-field-height-compact);
9
+ --ard-number-input-font-size: var(--ard-form-field-font-size);
10
+ --ard-number-input-font-size-compact: var(--ard-form-field-font-size-compact);
11
+ --ard-number-input-padding: var(--ard-form-field-padding);
12
+ --ard-number-input-padding-compact: var(--ard-form-field-padding-compact);
13
+ --ard-number-input-rounded-border-radius: 8px;
14
+ }
7
15
 
8
- &:not(:has(.ard-quick-change-button)) {
9
- width: 6rem;
10
- }
16
+ ard-number-input {
17
+ width: var(--ard-number-input-width, 9.5rem);
11
18
  }
12
19
 
13
20
  .ard-number-input {
14
21
  @include inputMixin.genericInput();
15
22
  @include defaultMixins.formAppearances();
16
- min-height: 2.1875rem;
17
- height: 2.1875rem;
23
+ min-height: var(--ard-form-field-height, var(--ard-number-input-height, 2.3125rem));
24
+ height: var(--ard-form-field-height, var(--ard-number-input-height, 2.3125rem));
18
25
  gap: 0;
19
26
  width: 100%;
27
+ font-size: var(--ard-number-input-font-size, var(--ard-form-field-font-size, 1rem));
20
28
 
21
29
  .ard-input-container {
22
30
  height: 100%;
23
31
  max-width: 100%;
32
+ padding: var(--ard-number-input-padding, var(--ard-form-field-padding, 0 0.375rem));
24
33
 
25
34
  & > input {
26
35
  width: 100%;
27
36
  }
28
37
  }
38
+ .ard-placeholder {
39
+ padding: var(--ard-number-input-padding, var(--ard-form-field-padding, 0 0.375rem));
40
+ }
29
41
 
30
42
  .ard-quick-change-button {
31
43
  position: relative;
44
+ min-width: var(--ard-number-input-height, var(--ard-form-field-height, 2.3125rem));
32
45
 
33
46
  .ard-button {
34
47
  height: 100%;
@@ -63,11 +76,11 @@ ard-number-input {
63
76
 
64
77
  //! variants
65
78
  &.ard-variant-rounded {
66
- border-radius: 8px;
79
+ border-radius: var(--ard-number-input-rounded-border-radius, 8px);
67
80
 
68
81
  &.ard-quick-change-false {
69
82
  .ard-input-container {
70
- border-radius: 8px;
83
+ border-radius: var(--ard-number-input-rounded-border-radius, 8px);
71
84
  }
72
85
  }
73
86
  }
@@ -79,8 +92,8 @@ ard-number-input {
79
92
 
80
93
  .ard-button {
81
94
  border-radius: 9999px !important;
82
- height: 30px;
83
- width: 30px;
95
+ width: var(--ard-number-input-height, var(--ard-form-field-height, 2.3125rem));
96
+ height: var(--ard-number-input-height, var(--ard-form-field-height, 2.3125rem));
84
97
  margin: 0 2px;
85
98
  }
86
99
 
@@ -111,9 +124,19 @@ ard-number-input {
111
124
 
112
125
  //! compact
113
126
  &.ard-compact {
114
- min-height: 1.6875rem;
115
- height: 1.6875rem;
116
- font-size: 0.925rem;
127
+ min-height: var(--ard-form-field-height-compact, var(--ard-number-input-height-compact, 1.6875rem));
128
+ height: var(--ard-form-field-height-compact, var(--ard-number-input-height-compact, 1.6875rem));
129
+ font-size: var(--ard-number-input-font-size-compact, var(--ard-form-field-font-size-compact, 0.9375rem));
130
+
131
+ .ard-input-container {
132
+ padding: var(--ard-number-input-padding-compact, var(--ard-form-field-padding-compact, 0 0.375rem));
133
+ }
134
+ .ard-placeholder {
135
+ padding: var(--ard-number-input-padding-compact, var(--ard-form-field-padding-compact, 0 0.375rem));
136
+ }
137
+ .ard-quick-change-button {
138
+ min-width: var(--ard-form-field-height-compact, var(--ard-number-input-height-compact, 1.6875rem));
139
+ }
117
140
  }
118
141
  }
119
142
 
@@ -1,7 +1,7 @@
1
1
  @use '../variables' as ARD;
2
2
 
3
3
  .ard-kbd-shortcut {
4
- font-family: monospace;
4
+ font-family: var(--ard-font-family-mono);
5
5
  color: ARD.$text2;
6
6
 
7
7
  > span {
@@ -2,7 +2,7 @@
2
2
 
3
3
  .ard-kbd {
4
4
  border-radius: 0.2em;
5
- font-family: monospace;
5
+ font-family: var(--ard-font-family-mono);
6
6
  font-size: 0.9em;
7
7
  margin: 0 0.125em;
8
8
  color: ARD.$text2;