@ardium-ui/ui 5.0.0-alpha.37 → 5.0.0-alpha.38

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 (80) hide show
  1. package/fesm2022/ardium-ui-ui.mjs +3033 -1625
  2. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  3. package/lib/_internal/utils/date.utils.d.ts +16 -0
  4. package/lib/calendar/abstract-calendar.d.ts +127 -0
  5. package/lib/calendar/calendar.component.d.ts +8 -97
  6. package/lib/calendar/calendar.defaults.d.ts +12 -1
  7. package/lib/calendar/calendar.internal-directives.d.ts +24 -8
  8. package/lib/calendar/calendar.internal-types.d.ts +1 -0
  9. package/lib/calendar/calendar.module.d.ts +4 -9
  10. package/lib/calendar/calendar.types.d.ts +19 -5
  11. package/lib/calendar/index.d.ts +3 -0
  12. package/lib/calendar/range-calendar.component.d.ts +16 -0
  13. package/lib/calendar/range-calendar.directives.d.ts +51 -0
  14. package/lib/calendar/range-calendar.module.d.ts +10 -0
  15. package/lib/calendar/views/calendar-views.module.d.ts +13 -0
  16. package/lib/calendar/views/days-view/days-view.component.d.ts +20 -2
  17. package/lib/calendar/views/days-view/days-view.helpers.d.ts +2 -2
  18. package/lib/calendar/views/months-view/months-view.component.d.ts +15 -3
  19. package/lib/calendar/views/years-view/years-view.component.d.ts +15 -3
  20. package/lib/inputs/date-input/abstract-date-input.d.ts +112 -0
  21. package/lib/inputs/date-input/date-input.component.d.ts +19 -82
  22. package/lib/inputs/date-input/date-input.defaults.d.ts +21 -3
  23. package/lib/inputs/date-input/{date-input.directive.d.ts → date-input.directives.d.ts} +2 -2
  24. package/lib/inputs/date-input/date-input.module.d.ts +5 -4
  25. package/lib/inputs/date-input/date-input.serializers.d.ts +4 -2
  26. package/lib/inputs/date-input/date-input.types.d.ts +5 -4
  27. package/lib/inputs/date-input/date-range-input.component.d.ts +29 -0
  28. package/lib/inputs/date-input/date-range-input.directives.d.ts +82 -0
  29. package/lib/inputs/date-input/date-range-input.module.d.ts +17 -0
  30. package/lib/inputs/date-input/index.d.ts +7 -1
  31. package/lib/inputs/date-input/multipage-date-range-input.component.d.ts +44 -0
  32. package/lib/inputs/date-input/multipage-date-range-input.directives.d.ts +82 -0
  33. package/lib/inputs/date-input/multipage-date-range-input.module.d.ts +17 -0
  34. package/package.json +1 -1
  35. package/prebuilt-themes/default/buttons/button.css +4 -4
  36. package/prebuilt-themes/default/buttons/fab.css +4 -4
  37. package/prebuilt-themes/default/buttons/icon-button.css +4 -4
  38. package/prebuilt-themes/default/calendar.css +134 -54
  39. package/prebuilt-themes/default/calendar.css.map +1 -1
  40. package/prebuilt-themes/default/checkbox-list.css +4 -4
  41. package/prebuilt-themes/default/checkbox.css +4 -4
  42. package/prebuilt-themes/default/chips.css +8 -8
  43. package/prebuilt-themes/default/inputs/autocomplete-input.css +69 -24
  44. package/prebuilt-themes/default/inputs/autocomplete-input.css.map +1 -1
  45. package/prebuilt-themes/default/inputs/color-input.css +4 -43
  46. package/prebuilt-themes/default/inputs/color-input.css.map +1 -1
  47. package/prebuilt-themes/default/inputs/date-input.css +76 -20
  48. package/prebuilt-themes/default/inputs/date-input.css.map +1 -1
  49. package/prebuilt-themes/default/inputs/file-input.css +109 -61
  50. package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
  51. package/prebuilt-themes/default/inputs/hex-input.css +42 -17
  52. package/prebuilt-themes/default/inputs/hex-input.css.map +1 -1
  53. package/prebuilt-themes/default/inputs/input.css +36 -13
  54. package/prebuilt-themes/default/inputs/input.css.map +1 -1
  55. package/prebuilt-themes/default/inputs/number-input.css +26 -21
  56. package/prebuilt-themes/default/inputs/number-input.css.map +1 -1
  57. package/prebuilt-themes/default/inputs/password-input.css +64 -21
  58. package/prebuilt-themes/default/inputs/password-input.css.map +1 -1
  59. package/prebuilt-themes/default/inputs/search-bar.css +38 -15
  60. package/prebuilt-themes/default/inputs/search-bar.css.map +1 -1
  61. package/prebuilt-themes/default/radio.css +4 -4
  62. package/prebuilt-themes/default/segment.css +4 -4
  63. package/prebuilt-themes/default/select.css +4 -4
  64. package/prebuilt-themes/default/slide-toggle.css +4 -4
  65. package/prebuilt-themes/default/slider.css +4 -4
  66. package/prebuilt-themes/default/stars.css +4 -4
  67. package/prebuilt-themes/default/statebox.css +4 -4
  68. package/prebuilt-themes/default/tabber.css +4 -4
  69. package/themes/default/_mixins.scss +4 -4
  70. package/themes/default/calendar.scss +146 -55
  71. package/themes/default/inputs/_shared.scss +27 -8
  72. package/themes/default/inputs/autocomplete-input.scss +68 -14
  73. package/themes/default/inputs/color-input.scss +1 -1
  74. package/themes/default/inputs/date-input.scss +54 -5
  75. package/themes/default/inputs/file-input.scss +83 -23
  76. package/themes/default/inputs/hex-input.scss +42 -7
  77. package/themes/default/inputs/input.scss +37 -3
  78. package/themes/default/inputs/number-input.scss +30 -14
  79. package/themes/default/inputs/password-input.scss +70 -15
  80. package/themes/default/inputs/search-bar.scss +39 -5
@@ -3,21 +3,52 @@
3
3
  @use './coloring.scss' as CM;
4
4
  @use '../variables' as ARD;
5
5
 
6
- $grid-size: 2.5rem;
6
+ :root {
7
+ --ard-calendar-grid-size: 2.25rem;
8
+ --ard-calendar-grid-gap: 0.25rem;
9
+ --ard-calendar-padding: 0.375rem;
10
+ --ard-calendar-header-padding: 0.375rem 0 0.75rem 0;
11
+ --ard-calendar-weekday-padding: 0 0 0.5rem 0;
12
+ --ard-calendar-weekday-font-size: 0.875rem;
13
+ --ard-calendar-weekday-font-weight: 500;
14
+ --ard-calendar-weekday-color: #{ARD.$text};
15
+ --ard-calendar-floating-month-transform: none;
16
+ --ard-calendar-floating-month-padding: 0 0 0 1rem;
17
+ --ard-calendar-floating-month-font-size: 0.875rem;
18
+ --ard-calendar-floating-month-font-weight: 500;
19
+ --ard-calendar-floating-month-color: #{ARD.$text3};
20
+ --ard-calendar-entry-padding: 0;
21
+ --ard-calendar-entry-font-size: 0.875rem;
22
+ --ard-calendar-entry-font-weight: 400;
23
+ --ard-calendar-entry-border-radius: 9999px;
24
+ --ard-calendar-entry-range-overlay-border-width: 1px;
25
+ --ard-calendar-entry-range-overlay-border-style: dashed;
26
+ --ard-calendar-entry-today-border-color: #{ARD.$detail};
27
+ --ard-calendar-entry-today-selected-border: 2px solid #{ARD.$bg};
28
+ --ard-calendar-entry-highlighted-overlay-opacity: 20%;
29
+ --ard-calendar-entry-selected-overlay-opacity: 100%;
30
+ --ard-calendar-entry-selected-range-overlay-opacity: 12%;
31
+ --ard-calendar-entry-disabled-overlay-opacity: 12%;
32
+ --ard-calendar-entry-disabled-highlighted-overlay-opacity: 15%;
33
+ --ard-calendar-entry-disabled-opacity: 50%;
34
+ }
7
35
 
8
36
  .ard-calendar {
9
37
  @include CM.typeColors();
10
- width: 18.5rem;
38
+ min-width: calc(var(--ard-calendar-grid-size) * 7 + var(--ard-calendar-grid-gap) * 6);
11
39
  user-select: none;
40
+ padding: var(--ard-calendar-padding, 0 0.375rem 0.375rem 0.375rem);
41
+ box-sizing: content-box;
12
42
 
13
43
  //! top toolbar
14
44
  .ard-calendar__top-toolbar {
15
45
  .ard-calendar__calendar-header {
16
- display: flex;
17
- justify-content: space-between;
46
+ display: grid;
47
+ grid-template-columns: 1fr 5fr 1fr;
18
48
  align-items: center;
49
+ justify-items: center;
19
50
  width: 100%;
20
- padding: 0.75rem 0;
51
+ padding: var(--ard-calendar-header-padding, 0.75rem 0);
21
52
 
22
53
  .ard-dropdown-arrow {
23
54
  @include DA.dropdown-arrow();
@@ -32,59 +63,64 @@ $grid-size: 2.5rem;
32
63
  //! weekdays
33
64
  .ard-calendar__weekdays {
34
65
  display: grid;
35
- grid-template-columns: repeat(7, $grid-size);
66
+ grid-template-columns: repeat(7, var(--ard-calendar-grid-size, 2.25rem));
67
+ gap: var(--ard-calendar-grid-gap, 0.25rem);
36
68
  align-items: center;
37
- padding: 0 0.375rem 0.5rem 0.375rem;
69
+ padding: var(--ard-calendar-weekday-padding, 0 0 0.5rem 0);
38
70
 
39
71
  .ard-calendar__weekday {
40
72
  text-align: center;
41
- font-size: 0.875rem;
42
- font-weight: 500;
43
- color: ARD.$text;
73
+ font-size: var(--ard-calendar-weekday-font-size, 0.875rem);
74
+ font-weight: var(--ard-calendar-weekday-font-weight, 500);
75
+ color: var(--ard-calendar-weekday-color, #{ARD.$text});
44
76
  }
45
77
  }
46
78
  //! days grid
47
79
  .ard-calendar__days-grid {
48
- padding: 0.375rem;
49
- padding-top: 0;
80
+ padding: 0;
50
81
  display: grid;
51
- grid-template-columns: repeat(7, $grid-size);
82
+ grid-template-columns: repeat(7, var(--ard-calendar-grid-size));
52
83
  position: relative;
53
84
  outline: none;
85
+ gap: var(--ard-calendar-grid-gap, 0.25rem);
54
86
 
55
87
  > * {
56
- max-width: 100%;
88
+ width: var(--ard-calendar-grid-size);
89
+ max-width: var(--ard-calendar-grid-size);
90
+ height: var(--ard-calendar-grid-size);
91
+ max-height: var(--ard-calendar-grid-size);
57
92
  box-sizing: border-box;
58
- aspect-ratio: 1;
59
93
  }
60
94
  &.ard-reserve-top-row {
61
- padding-top: $grid-size;
95
+ padding-top: calc(var(--ard-calendar-grid-size) + var(--ard-calendar-grid-gap));
62
96
  }
63
97
  .ard-calendar__floating-month {
64
98
  position: absolute;
65
99
  top: 0;
66
100
  left: 0;
101
+ transform: var(--ard-calendar-floating-month-transform, none);
67
102
  width: 100%;
68
103
  box-sizing: border-box;
69
104
  aspect-ratio: 7;
70
- padding-left: 1rem;
105
+ padding: var(--ard-calendar-floating-month-padding, 0 0 0 1rem);
71
106
  display: flex;
72
107
  align-items: center;
73
- font-size: 0.875rem;
74
- font-weight: 500;
75
- color: ARD.$text3;
108
+ font-size: var(--ard-calendar-floating-month-font-size, 0.875rem);
109
+ font-weight: var(--ard-calendar-floating-month-font-weight, 500);
110
+ color: var(--ard-calendar-floating-month-color, #{ARD.$text3});
76
111
  letter-spacing: 0.5px;
77
112
  }
78
113
  }
79
114
  //! years grid
80
115
  .ard-calendar__simple-grid {
81
116
  border-top: 1px solid ARD.$detail-ultralight;
82
- margin-top: 0.25rem;
83
117
  display: grid;
84
118
  grid-template-columns: repeat(4, 1fr);
85
- grid-template-rows: repeat(6, $grid-size);
119
+ grid-template-rows: repeat(6, var(--ard-calendar-grid-size));
86
120
  position: relative;
87
121
  outline: none;
122
+ padding: 0;
123
+ gap: var(--ard-calendar-grid-gap, 0.25rem);
88
124
 
89
125
  > * {
90
126
  max-width: 100%;
@@ -99,7 +135,8 @@ $grid-size: 2.5rem;
99
135
  z-index: 1;
100
136
  cursor: pointer;
101
137
  outline: none;
102
- padding: 0.125rem;
138
+ padding: var(--ard-calendar-entry-padding, 0);
139
+ box-sizing: border-box;
103
140
 
104
141
  .ard-calendar__entry-button {
105
142
  width: 100%;
@@ -108,21 +145,33 @@ $grid-size: 2.5rem;
108
145
  display: flex;
109
146
  align-items: center;
110
147
  justify-content: center;
111
- font-size: 0.875rem;
148
+ font-size: var(--ard-calendar-entry-font-size, 0.875rem);
149
+ font-weight: var(--ard-calendar-entry-font-weight, 400);
112
150
  background: transparent;
113
151
  border: 1px solid transparent;
114
- border-radius: 9999px;
152
+ border-radius: var(--ard-calendar-entry-border-radius, 9999px);
115
153
  position: relative;
116
154
  cursor: pointer;
155
+ outline: none;
156
+ box-sizing: border-box;
117
157
 
118
158
  .ard-focus-overlay {
119
159
  @include DM.focus-overlay();
120
160
  z-index: -1;
121
- background: var(--ard-cmpcl--bg-colored);
122
- border: 2px solid transparent;
123
- transition:
124
- border-color 0.1s ease,
125
- opacity 0.1s ease;
161
+ background: var(--ard-cmpcl--overlay);
162
+ transition: border-color 0.1s ease, opacity 0.1s ease;
163
+ }
164
+ .ard-range-overlay {
165
+ @include DM.focus-overlay();
166
+ z-index: -1;
167
+ opacity: 1;
168
+ left: -calc(var(--ard-calendar-grid-gap, 0.25rem) / 2);
169
+ right: -calc(var(--ard-calendar-grid-gap, 0.25rem) / 2);
170
+ border: var(--ard-calendar-entry-range-overlay-border-width, 1px)
171
+ var(--ard-calendar-entry-range-overlay-border-style, dashed) transparent;
172
+ background: transparent;
173
+ transition: none;
174
+ border-radius: 0;
126
175
  }
127
176
  }
128
177
  &.ard-calendar__entry-empty {
@@ -130,12 +179,51 @@ $grid-size: 2.5rem;
130
179
  }
131
180
  &.ard-calendar-today {
132
181
  .ard-calendar__entry-button {
133
- border-color: ARD.$detail;
182
+ border-color: var(--ard-calendar-entry-today-border-color, #{ARD.$detail});
183
+ }
184
+ }
185
+ &.ard-calendar__entry-highlighted-in-range {
186
+ .ard-range-overlay {
187
+ opacity: 1;
188
+ border-top-color: var(--ard-cmpcl--bg-colored);
189
+ border-bottom-color: var(--ard-cmpcl--bg-colored);
190
+ }
191
+ &.ard-calendar__entry-selected-start {
192
+ .ard-range-overlay {
193
+ border-left-color: var(--ard-cmpcl--bg-colored);
194
+ }
195
+ }
196
+ &.ard-calendar__entry-selected-end,
197
+ &.ard-calendar__entry-highlighted {
198
+ .ard-range-overlay {
199
+ border-right-color: var(--ard-cmpcl--bg-colored);
200
+ }
134
201
  }
135
202
  }
136
203
  &.ard-calendar__entry-highlighted {
137
204
  .ard-focus-overlay {
138
- opacity: 20%;
205
+ opacity: var(--ard-calendar-entry-highlighted-overlay-opacity, 20%);
206
+ }
207
+ }
208
+ &.ard-calendar__entry-selected-start {
209
+ .ard-range-overlay {
210
+ left: 0;
211
+ border-top-left-radius: var(--ard-calendar-entry-border-radius);
212
+ border-bottom-left-radius: var(--ard-calendar-entry-border-radius);
213
+ }
214
+ }
215
+ &.ard-calendar__entry-selected-end,
216
+ &.ard-calendar__entry-highlighted:not(.ard-calendar__entry-selected-in-range) {
217
+ .ard-range-overlay {
218
+ right: 0;
219
+ border-top-right-radius: var(--ard-calendar-entry-border-radius);
220
+ border-bottom-right-radius: var(--ard-calendar-entry-border-radius);
221
+ }
222
+ }
223
+ &.ard-calendar__entry-selected-in-range {
224
+ .ard-range-overlay {
225
+ opacity: var(--ard-calendar-entry-selected-range-overlay-opacity, 12%);
226
+ background-color: var(--ard-cmpcl--bg-colored);
139
227
  }
140
228
  }
141
229
  &.ard-calendar__entry-selected {
@@ -143,18 +231,19 @@ $grid-size: 2.5rem;
143
231
  color: var(--ard-cmpcl--on-bg-colored);
144
232
  }
145
233
  .ard-focus-overlay {
146
- opacity: 100%;
234
+ opacity: var(--ard-calendar-entry-selected-overlay-opacity, 100%);
235
+ background: var(--ard-cmpcl--bg-colored);
147
236
  }
148
237
 
149
238
  &.ard-calendar-today {
150
239
  .ard-focus-overlay {
151
- border-color: ARD.$bg;
240
+ border: var(--ard-calendar-entry-today-selected-border, 2px solid #{ARD.$bg});
152
241
  }
153
242
  }
154
243
  }
155
244
  &.ard-calendar__entry-disabled {
156
245
  pointer-events: none;
157
- opacity: 50%;
246
+ opacity: var(--ard-calendar-entry-disabled-overlay-opacity, 50%);
158
247
 
159
248
  .ard-calendar__entry-button {
160
249
  cursor: default;
@@ -164,30 +253,32 @@ $grid-size: 2.5rem;
164
253
  }
165
254
  &.ard-calendar__entry-highlighted {
166
255
  .ard-focus-overlay {
167
- opacity: 15%;
256
+ opacity: var(--ard-calendar-entry-disabled-highlighted-overlay-opacity, 15%);
168
257
  }
169
258
  }
170
259
  }
171
260
  }
172
- .ard-calendar__day-labels {
173
- font-size: 0.8125rem;
174
- color: ARD.$text3;
175
- height: 1.25rem;
176
- position: relative;
261
+ .ard-years-view,
262
+ .ard-months-view {
263
+ .ard-calendar__entry {
264
+ .ard-calendar__entry-button {
265
+ .ard-range-overlay {
266
+ left: calc(-var(--ard-calendar-grid-gap) / 2 - 1px);
267
+ right: calc(-var(--ard-calendar-grid-gap) / 2 - 1px);
268
+ border: none;
269
+ }
270
+ }
177
271
 
178
- > * {
179
- display: flex;
180
- align-items: center;
181
- justify-content: center;
182
- aspect-ratio: unset;
183
- }
184
- &::after {
185
- content: '';
186
- position: absolute;
187
- width: 100%;
188
- height: 1px;
189
- background: ARD.$detail-ultralight;
190
- bottom: 0;
272
+ &.ard-calendar__entry-selected-start {
273
+ .ard-range-overlay {
274
+ left: 0;
275
+ }
276
+ }
277
+ &.ard-calendar__entry-selected-end {
278
+ .ard-range-overlay {
279
+ right: 0;
280
+ }
281
+ }
191
282
  }
192
283
  }
193
284
  }
@@ -199,6 +290,6 @@ $grid-size: 2.5rem;
199
290
  }
200
291
  .ard-disabled {
201
292
  .ard-calendar {
202
- opacity: 50%;
293
+ opacity: var(--ard-calendar-entry-disabled-opacity, 50%);
203
294
  }
204
295
  }
@@ -3,17 +3,34 @@
3
3
  /**
4
4
  * Should be applied to the first element in the component's template.
5
5
  */
6
- @mixin genericInput() {
6
+ @mixin genericInput(
7
+ $height,
8
+ $height-compact,
9
+ $gap,
10
+ $font-size,
11
+ $font-size-compact,
12
+ $line-height,
13
+ $line-height-compact,
14
+ $font-weight,
15
+ $padding,
16
+ $padding-compact,
17
+ $color,
18
+ $placeholder-color,
19
+ $placeholder-opacity
20
+ ) {
21
+ height: $height;
7
22
  position: relative;
8
23
  font-family: var(--ard-font-family);
9
24
  display: flex;
10
25
  align-items: center;
11
26
  justify-content: stretch;
12
- gap: 0.625em;
27
+ gap: $gap;
13
28
  cursor: text;
14
29
  box-sizing: border-box;
15
- font-size: 1rem;
16
- line-height: 1.25em;
30
+ font-size: $font-size;
31
+ line-height: $line-height;
32
+ font-weight: $font-weight;
33
+ padding: $padding;
17
34
 
18
35
  .ard-input-container {
19
36
  flex-grow: 1;
@@ -23,7 +40,8 @@
23
40
 
24
41
  .ard-placeholder {
25
42
  font: inherit;
26
- opacity: 60%;
43
+ opacity: $placeholder-opacity;
44
+ color: $placeholder-color;
27
45
  white-space: nowrap;
28
46
  overflow: hidden;
29
47
  text-overflow: ellipsis;
@@ -43,8 +61,9 @@
43
61
  }
44
62
  //! compact
45
63
  &.ard-compact {
46
- height: 1.5625em;
47
- font-size: 0.85em;
48
- line-height: 1;
64
+ height: $height-compact;
65
+ font-size: $font-size-compact;
66
+ line-height: $line-height-compact;
67
+ padding: $padding-compact;
49
68
  }
50
69
  }
@@ -3,44 +3,98 @@
3
3
  @use '../clear-button' as CB;
4
4
  @use '../../variables' as ARD;
5
5
 
6
+ :root {
7
+ --ard-autocomplete-input-height: var(--ard-form-field-height, 2.3125rem);
8
+ --ard-autocomplete-input-height-compact: var(--ard-form-field-height-compact, 1.6875rem);
9
+ --ard-autocomplete-input-gap: 0.625rem;
10
+ --ard-autocomplete-input-font-size: var(--ard-form-field-font-size, 1rem);
11
+ --ard-autocomplete-input-font-size-compact: var(--ard-form-field-font-size-compact, 0.875rem);
12
+ --ard-autocomplete-input-line-height: 1.25;
13
+ --ard-autocomplete-input-line-height-compact: 1;
14
+ --ard-autocomplete-input-font-weight: 400;
15
+ --ard-autocomplete-input-padding: var(--ard-form-field-padding, 0 0.375rem);
16
+ --ard-autocomplete-input-padding-compact: var(--ard-form-field-padding-compact, 0 0.375rem);
17
+ --ard-autocomplete-input-color: #{ARD.$text};
18
+ --ard-autocomplete-input-placeholder-color: #{ARD.$text};
19
+ --ard-autocomplete-input-placeholder-opacity: 60%;
20
+
21
+ --ard-autocomplete-input-min-width: 10rem;
22
+ --ard-autocomplete-input-max-width: 100%;
23
+ --ard-autocomplete-input-autocomplete-opacity: 37.5%;
24
+ --ard-autocomplete-input-dropdown-padding: 0;
25
+ --ard-autocomplete-input-dropdown-max-height: 15rem;
26
+ --ard-autocomplete-input-dropdown-gap: 0;
27
+ --ard-autocomplete-input-option-padding: 0.375rem 0.625rem;
28
+ --ard-autocomplete-input-option-padding-compact: 0.25rem 0.5rem;
29
+ --ard-autocomplete-input-font-size: 1rem;
30
+ --ard-autocomplete-input-font-size-compact: 0.875rem;
31
+ --ard-autocomplete-input-color: #{ARD.$text2};
32
+ --ard-autocomplete-input-highlighted-background: #{ARD.$darken-overlay-light};
33
+ --ard-autocomplete-input-highlighted-font-weight: 400;
34
+ --ard-autocomplete-input-selected-background: #{ARD.$darken-overlay-medium};
35
+ --ard-autocomplete-input-selected-font-weight: 500;
36
+ --ard-autocomplete-input-disabled-opacity: 50%;
37
+ }
38
+
6
39
  .ard-autocomplete-input {
7
- @include inputMixin.genericInput();
8
- padding: 0 0.375rem;
9
- min-width: 10rem;
10
- max-width: 100%;
40
+ @include inputMixin.genericInput(
41
+ var(--ard-autocomplete-input-height, var(--ard-form-field-height, 2.3125rem)),
42
+ var(--ard-autocomplete-input-height-compact, var(--ard-form-field-height-compact, 1.6875rem)),
43
+ var(--ard-autocomplete-input-gap, 0.625rem),
44
+ var(--ard-autocomplete-input-font-size, var(--ard-form-field-font-size, 1rem)),
45
+ var(--ard-autocomplete-input-font-size-compact, var(--ard-form-field-font-size-compact, 0.875rem)),
46
+ var(--ard-autocomplete-input-line-height, 1.25),
47
+ var(--ard-autocomplete-input-line-height-compact, 1),
48
+ var(--ard-autocomplete-input-font-weight, 400),
49
+ var(--ard-autocomplete-input-padding, var(--ard-form-field-padding, 0 0.375rem)),
50
+ var(--ard-autocomplete-input-padding-compact, var(--ard-form-field-padding-compact, 0 0.375rem)),
51
+ var(--ard-autocomplete-input-color, #{ARD.$text}),
52
+ var(--ard-autocomplete-input-placeholder-color, #{ARD.$text}),
53
+ var(--ard-autocomplete-input-placeholder-opacity, 60%)
54
+ );
55
+ min-width: var(--ard-autocomplete-input-min-width, 10rem);
56
+ max-width: var(--ard-autocomplete-input-max-width, 100%);
11
57
 
12
58
  @include CB.clearButton();
13
59
 
14
60
  .ard-autocomplete {
15
- opacity: 37.5%;
61
+ opacity: var(--ard-autocomplete-input-autocomplete-opacity, 37.5%);
16
62
  }
17
63
  }
18
64
  //! suggestions
19
65
  .ard-input-suggestions-panel {
66
+ padding: var(--ard-autocomplete-input-dropdown-padding, 0);
67
+ display: flex;
68
+ flex-direction: column;
69
+ gap: var(--ard-autocomplete-input-dropdown-gap, 0);
70
+ max-height: var(--ard-autocomplete-input-dropdown-max-height, 15rem);
71
+ overflow-y: auto;
72
+
20
73
  .ard-option {
21
- padding: 0.375rem 0.625rem;
22
- font-size: 1rem;
23
- color: ARD.$text2;
74
+ padding: var(--ard-autocomplete-input-option-padding, 0.375rem 0.625rem);
75
+ font-size: var(--ard-autocomplete-input-font-size, 1rem);
76
+ color: var(--ard-autocomplete-input-color, #{ARD.$text2});
24
77
  cursor: pointer;
25
78
 
26
79
  &.ard-option-highlighted {
27
- background: ARD.$darken-overlay-light;
80
+ background: var(--ard-autocomplete-input-highlighted-background, #{ARD.$darken-overlay-light});
81
+ font-weight: var(--ard-autocomplete-input-highlighted-font-weight, 400);
28
82
  }
29
83
 
30
84
  &.ard-option-selected {
31
- font-weight: 500;
32
- background: ARD.$darken-overlay-medium;
85
+ background: var(--ard-autocomplete-input-selected-background, #{ARD.$darken-overlay-medium});
86
+ font-weight: var(--ard-autocomplete-input-selected-font-weight, 500);
33
87
  }
34
88
 
35
89
  &.ard-option-disabled {
36
90
  pointer-events: none;
37
- opacity: 50%;
91
+ opacity: var(--ard-autocomplete-input-disabled-opacity, 50%);
38
92
  }
39
93
  }
40
94
  .ard-compact {
41
95
  .ard-option {
42
- padding: 0.25rem 0.5rem;
43
- font-size: 0.9rem;
96
+ padding: var(--ard-autocomplete-input-option-padding-compact, 0.25rem 0.5rem);
97
+ font-size: var(--ard-autocomplete-input-font-size-compact, 0.875rem);
44
98
  }
45
99
  }
46
100
  }
@@ -3,7 +3,7 @@
3
3
  @use '../clear-button' as CB;
4
4
 
5
5
  .ard-color-input {
6
- @include inputMixin.genericInput();
6
+ // @include inputMixin.genericInput();
7
7
  padding: 0 0.375rem;
8
8
  min-width: 10rem;
9
9
  max-width: 100%;
@@ -1,12 +1,49 @@
1
1
  @use './shared' as S;
2
2
  @use '../../variables' as ARD;
3
3
 
4
- ard-date-input .ard-date-input {
5
- @include S.genericInput();
6
- padding-left: 0.375rem;
4
+ :root {
5
+ --ard-date-input-height: var(--ard-form-field-height, 2.3125rem);
6
+ --ard-date-input-height-compact: var(--ard-form-field-height-compact, 1.6875rem);
7
+ --ard-date-input-gap: 0.625rem;
8
+ --ard-date-input-font-size: var(--ard-form-field-font-size, 1rem);
9
+ --ard-date-input-font-size-compact: var(--ard-form-field-font-size-compact, 0.875rem);
10
+ --ard-date-input-line-height: 1.25;
11
+ --ard-date-input-line-height-compact: 1;
12
+ --ard-date-input-font-weight: 400;
13
+ --ard-date-input-padding: var(--ard-form-field-padding, 0 0.375rem);
14
+ --ard-date-input-padding-compact: var(--ard-form-field-padding-compact, 0 0.375rem);
15
+ --ard-date-input-color: #{ARD.$text};
16
+ --ard-date-input-placeholder-color: #{ARD.$text};
17
+ --ard-date-input-placeholder-opacity: 60%;
18
+
19
+ --ard-date-input-padding: 0 0 0 0.375rem;
20
+ --ard-date-input-input-padding: 0 2.625rem 0 0.375rem;
21
+ --ard-date-input-multipage-gap: 0;
22
+ }
23
+
24
+ ard-date-input .ard-date-input,
25
+ ard-date-range-input .ard-date-range-input,
26
+ ard-multipage-date-range-input .ard-multipage-date-range-input {
27
+ @include S.genericInput(
28
+ var(--ard-date-input-height, var(--ard-form-field-height, 2.3125rem)),
29
+ var(--ard-date-input-height-compact, var(--ard-form-field-height-compact, 1.6875rem)),
30
+ var(--ard-date-input-gap, 0.625rem),
31
+ var(--ard-date-input-font-size, var(--ard-form-field-font-size, 1rem)),
32
+ var(--ard-date-input-font-size-compact, var(--ard-form-field-font-size-compact, 0.875rem)),
33
+ var(--ard-date-input-line-height, 1.25),
34
+ var(--ard-date-input-line-height-compact, 1),
35
+ var(--ard-date-input-font-weight, 400),
36
+ var(--ard-date-input-padding, var(--ard-form-field-padding, 0 0.375rem)),
37
+ var(--ard-date-input-padding-compact, var(--ard-form-field-padding-compact, 0 0.375rem)),
38
+ var(--ard-date-input-color, #{ARD.$text}),
39
+ var(--ard-date-input-placeholder-color, #{ARD.$text}),
40
+ var(--ard-date-input-placeholder-opacity, 60%)
41
+ );
42
+ padding-left: var(--ard-date-input-padding, 0 0 0 0.375rem);
43
+ display: grid;
44
+ grid-template-columns: 1fr max-content;
7
45
 
8
46
  .ard-date-input__value-container {
9
- flex-grow: 1;
10
47
  position: unset;
11
48
  }
12
49
  .ard-date-input__placeholder {
@@ -26,7 +63,19 @@ ard-date-input .ard-date-input {
26
63
  box-sizing: border-box;
27
64
  width: 100%;
28
65
  height: 100%;
29
- padding: 0 2.625rem 0 0.375rem;
66
+ padding: var(--ard-date-input-input-padding, 0 2.625rem 0 0.375rem);
30
67
  }
31
68
  }
32
69
  }
70
+
71
+ ard-days-view {
72
+ .ard-calendar__header-button {
73
+ font-size: var(--ard-button-font-size, 0.875rem);
74
+ font-weight: var(--ard-button-font-weight, 500);
75
+ }
76
+ }
77
+ .ard-date-input__multipage-wrapper {
78
+ display: flex;
79
+ flex-direction: row;
80
+ gap: var(--ard-date-input-multipage-gap, 0);
81
+ }