@ardium-ui/ui 5.0.0-alpha.22 → 5.0.0-alpha.24

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 (50) hide show
  1. package/package.json +1 -1
  2. package/prebuilt-themes/default/buttons/button.css +46 -20
  3. package/prebuilt-themes/default/buttons/button.css.map +1 -1
  4. package/prebuilt-themes/default/buttons/fab.css +38 -18
  5. package/prebuilt-themes/default/buttons/fab.css.map +1 -1
  6. package/prebuilt-themes/default/buttons/icon-button.css +33 -14
  7. package/prebuilt-themes/default/buttons/icon-button.css.map +1 -1
  8. package/prebuilt-themes/default/chips.css +1 -1
  9. package/prebuilt-themes/default/color-display.css +1 -1
  10. package/prebuilt-themes/default/core.css +3 -0
  11. package/prebuilt-themes/default/core.css.map +1 -1
  12. package/prebuilt-themes/default/form-field-frame.css +1 -1
  13. package/prebuilt-themes/default/inputs/autocomplete-input.css +1 -1
  14. package/prebuilt-themes/default/inputs/color-input.css +2 -2
  15. package/prebuilt-themes/default/inputs/date-input.css +1 -1
  16. package/prebuilt-themes/default/inputs/digit-input.css +1 -1
  17. package/prebuilt-themes/default/inputs/file-input.css +1 -1
  18. package/prebuilt-themes/default/inputs/hex-input.css +3 -3
  19. package/prebuilt-themes/default/inputs/input.css +1 -1
  20. package/prebuilt-themes/default/inputs/number-input.css +1 -1
  21. package/prebuilt-themes/default/inputs/password-input.css +1 -1
  22. package/prebuilt-themes/default/inputs/search-bar.css +1 -1
  23. package/prebuilt-themes/default/kbd-shortcut.css +1 -1
  24. package/prebuilt-themes/default/kbd.css +1 -1
  25. package/prebuilt-themes/default/segment.css +1 -1
  26. package/prebuilt-themes/default/select.css +78 -38
  27. package/prebuilt-themes/default/select.css.map +1 -1
  28. package/prebuilt-themes/default/statebox.css +1 -1
  29. package/prebuilt-themes/default/tabber.css +1 -1
  30. package/themes/default/buttons/_button-mixins.scss +29 -16
  31. package/themes/default/buttons/button.scss +41 -11
  32. package/themes/default/buttons/fab.scss +36 -9
  33. package/themes/default/buttons/icon-button.scss +31 -5
  34. package/themes/default/chips.scss +1 -1
  35. package/themes/default/color-display.scss +1 -1
  36. package/themes/default/core.scss +5 -0
  37. package/themes/default/form-field-frame.scss +1 -1
  38. package/themes/default/inputs/_shared.scss +1 -1
  39. package/themes/default/inputs/color-input.scss +1 -1
  40. package/themes/default/inputs/digit-input.scss +1 -1
  41. package/themes/default/inputs/hex-input.scss +2 -2
  42. package/themes/default/kbd-shortcut.scss +1 -1
  43. package/themes/default/kbd.scss +1 -1
  44. package/themes/default/segment.scss +1 -1
  45. package/themes/default/select.scss +84 -40
  46. package/themes/default/statebox.scss +1 -1
  47. package/themes/default/tabber.scss +1 -1
  48. package/prebuilt-themes/default/calendar-OLD.css +0 -294
  49. package/prebuilt-themes/default/calendar-OLD.css.map +0 -1
  50. package/themes/default/calendar-OLD.scss +0 -183
@@ -1,14 +1,54 @@
1
+ :root {
2
+ --ard-select-height: var(--ard-form-field-height, 2.3125rem);
3
+ --ard-select-height-compact: var(--ard-form-field-height-compact, 1.6875rem);
4
+ --ard-select-gap: 0.625rem;
5
+ --ard-select-gap-compact: 0.5rem;
6
+ --ard-select-controls-gap: 0.625rem;
7
+ --ard-select-controls-gap-compact: 0.5rem;
8
+ --ard-select-padding: 0 1em 0 0.375em;
9
+ --ard-select-padding-compact: 0 0.625em 0 0.375em;
10
+ --ard-select-font-size: var(--ard-form-field-font-size, 1rem);
11
+ --ard-select-font-size-compact: var(--ard-form-field-font-size-compact, 0.875rem);
12
+ --ard-select-text-color: var(--ard-text, rgba(0, 0, 0, 100%));
13
+ --ard-select-placeholder-color: var(--ard-text3, rgba(0, 0, 0, 75%));
14
+ --ard-select-search-min-width: 10ch;
15
+ --ard-select-dropdown-arrow-color: var(--ard-detail, rgba(0, 0, 0, 60%));
16
+ --ard-select-multiselect-padding: 0.25em 0;
17
+ --ard-select-multiselect-chip-gap: 0.375rem;
18
+ --ard-select-dropdown-width: max-content;
19
+ --ard-select-dropdown-max-width: max(25em, 100%);
20
+ --ard-select-dropdown-min-width: 100%;
21
+ --ard-select-dropdown-max-height: 15em;
22
+ --ard-select-dropdown-font-size: var(--ard-select-font-size, var(--ard-form-field-font-size, 1rem));
23
+ --ard-select-dropdown-font-size-compact: var(--ard-select-font-size-compact, var(--ard-form-field-font-size-compact, 0.875rem));
24
+ --ard-select-dropdown-padding: 0.375em 0.625em;
25
+ --ard-select-dropdown-gap: 0;
26
+ --ard-select-dropdown-optgroup-label-font-size: 0.875em;
27
+ --ard-select-dropdown-optgroup-label-font-weight: 600;
28
+ --ard-select-dropdown-optgroup-label-letter-spacing: 0.25px;
29
+ --ard-select-dropdown-optgroup-label-padding: 0.375em 0.625em 0.0625em 0.625em;
30
+ --ard-select-dropdown-option-padding: 0.375em 0.625em;
31
+ --ard-select-dropdown-option-text-color: var(--ard-text2, rgba(0, 0, 0, 87%));
32
+ --ard-select-dropdown-option-highlight-bg: var(--ard-darken-overlay-light, rgba(0, 0, 0, 5%));
33
+ --ard-select-dropdown-option-selected-font-weight: 500;
34
+ --ard-select-dropdown-option-selected-bg: var(--ard-darken-overlay-medium, rgba(0, 0, 0, 10%));
35
+ --ard-select-dropdown-option-disabled-opacity: 50%;
36
+ --ard-select-dropdown-add-custom-gap: 0.375rem;
37
+ --ard-select-dropdown-add-custom-label-font-size: 85%;
38
+ }
39
+
1
40
  .ard-select {
2
41
  box-sizing: border-box;
3
42
  width: 100%;
4
- min-height: 100%;
43
+ min-height: var(--ard-select-height, var(--ard-form-field-height, 2.3125rem));
5
44
  display: grid;
6
45
  align-items: center;
7
46
  grid-template-columns: 1fr max-content;
8
- gap: 0.625em;
9
- padding: 0 1em 0 0.375em;
10
- font-family: "Roboto", sans-serif;
11
- font-size: 1rem;
47
+ gap: var(--ard-select-gap, 0.625rem);
48
+ padding: var(--ard-select-padding, 0 1em 0 0.375em);
49
+ font-family: var(--ard-font-family);
50
+ font-size: var(--ard-select-font-size, 1rem);
51
+ color: var(--ard-select-text-color, var(--ard-text, rgb(0, 0, 0)));
12
52
  }
13
53
  .ard-select ard-clear-button {
14
54
  height: var(--ard-clear-button-size);
@@ -74,15 +114,12 @@
74
114
  .ard-select .ard-clear-btn-wrapper:active .ard-focus-overlay {
75
115
  opacity: 15%;
76
116
  }
77
- .ard-select.ard-variant-pill {
78
- padding-left: 0.8125em;
79
- }
80
117
  .ard-select .ard-select-value-container {
81
118
  position: relative;
82
119
  height: 2em;
83
120
  display: flex;
84
121
  align-items: center;
85
- font-size: 1em;
122
+ font-size: var(--ard-select-font-size, 1rem);
86
123
  text-size-adjust: 100%;
87
124
  flex-grow: 1;
88
125
  overflow: hidden;
@@ -90,7 +127,7 @@
90
127
  .ard-select .ard-select-value-container .ard-placeholder {
91
128
  font: inherit;
92
129
  position: absolute;
93
- color: var(--ard-text3);
130
+ color: var(--ard-select-placeholder-color, rgba(0, 0, 0, 0.75));
94
131
  white-space: nowrap;
95
132
  overflow: hidden;
96
133
  text-overflow: ellipsis;
@@ -115,7 +152,7 @@
115
152
  .ard-select .ard-select-controls {
116
153
  display: flex;
117
154
  align-items: center;
118
- gap: 0.625em;
155
+ gap: var(--ard-select-controls-gap, 0.625rem);
119
156
  width: max-content;
120
157
  }
121
158
  .ard-select.ard-singleselect .ard-value {
@@ -141,10 +178,10 @@
141
178
  .ard-select.ard-multiselect .ard-select-value-container {
142
179
  height: max-content;
143
180
  min-height: 1.5625em;
144
- padding: 0.25em 0;
181
+ padding: var(--ard-select-multiselect-padding, 0.25em 0);
145
182
  box-sizing: border-box;
146
183
  flex-wrap: wrap;
147
- gap: 0.375em;
184
+ gap: var(--ard-select-multiselect-chip-gap, 0.375rem);
148
185
  justify-content: stretch;
149
186
  }
150
187
  .ard-select.ard-multiselect .ard-select-value-container .ard-chip-wrapper {
@@ -153,10 +190,10 @@
153
190
  .ard-select.ard-multiselect .ard-search-input {
154
191
  flex-grow: 1;
155
192
  width: unset !important;
156
- min-width: 10ch;
193
+ min-width: var(--ard-select-search-min-width, 10ch);
157
194
  }
158
195
  .ard-select.ard-multiselect .ard-search-input input {
159
- width: 10ch !important;
196
+ width: var(--ard-select-search-min-width, 10ch) !important;
160
197
  }
161
198
  .ard-select.ard-multiselect .ard-chip-wrapper {
162
199
  margin: 0;
@@ -173,17 +210,20 @@
173
210
  .ard-select .ard-dropdown-arrow-wrapper .ard-dropdown-arrow {
174
211
  border: calc(var(--ard-dropdown-button-size) / 2) solid transparent;
175
212
  position: relative;
176
- border-bottom-color: var(--ard-detail);
177
- border-right-color: var(--ard-detail);
213
+ border-bottom-color: var(--ard-select-dropdown-arrow-color, var(--ard-detail));
214
+ border-right-color: var(--ard-select-dropdown-arrow-color, var(--ard-detail));
178
215
  transform: rotate(45deg) translate(-17.67771%, -17.67771%);
179
216
  }
180
217
  .ard-select.ard-dropdown-open .ard-dropdown-arrow {
181
218
  transform: rotate(45deg) translate(17.67771%, 17.67771%) scaleX(-1) scaleY(-1);
182
219
  }
183
220
  .ard-select.ard-compact {
184
- font-size: 0.85rem;
185
- height: 1.5625rem;
186
- padding-right: 0.625em;
221
+ font-size: var(--ard-select-font-size-compact, 0.875rem);
222
+ height: var(--ard-select-height-compact, var(--ard-form-field-height-compact, 1.6875rem));
223
+ padding: var(--ard-select-padding-compact, 0 0.625em 0 0.375em);
224
+ }
225
+ .ard-select.ard-compact .ard-select-controls {
226
+ gap: var(--ard-select-controls-gap-compact, 0.5rem);
187
227
  }
188
228
  .ard-select.ard-compact .ard-dropdown-arrow-wrapper .ard-dropdown-arrow {
189
229
  border-width: calc(var(--ard-dropdown-button-size) / 2.4);
@@ -191,14 +231,14 @@
191
231
 
192
232
  .ard-select-dropdown-panel {
193
233
  right: 0;
194
- width: max-content;
195
- max-width: max(25em, 100%);
196
- min-width: 100%;
197
- font-size: 1rem;
234
+ width: var(--ard-select-dropdown-width, max-content);
235
+ max-width: var(--ard-select-dropdown-max-width, max(25em, 100%));
236
+ min-width: var(--ard-select-dropdown-min-width, 100%);
237
+ font-size: var(--ard-select-dropdown-font-size, var(--ard-form-field-font-size, 1rem));
198
238
  }
199
239
  .ard-select-dropdown-panel .ard-dropdown-panel-content {
200
- padding: 0.375em 0;
201
- max-height: 15em;
240
+ padding: var(--ard-select-dropdown-padding, 0.375em 0.625em);
241
+ max-height: var(--ard-select-dropdown-max-height, 15em);
202
242
  overflow: hidden auto;
203
243
  }
204
244
  .ard-select-dropdown-panel .ard-optgroup {
@@ -210,26 +250,26 @@
210
250
  cursor: default;
211
251
  }
212
252
  .ard-select-dropdown-panel .ard-optgroup-label {
213
- font-size: 0.875em;
214
- font-weight: 600;
253
+ font-size: var(--ard-select-dropdown-optgroup-label-font-size, 0.875em);
254
+ font-weight: var(--ard-select-dropdown-optgroup-label-font-weight, 600);
215
255
  letter-spacing: 0.25px;
216
- padding: 0.375em 0.625em 0.0625em 0.625em;
256
+ padding: var(--ard-select-dropdown-optgroup-label-padding, 0.375em 0.625em 0.0625em 0.625em);
217
257
  }
218
258
  .ard-select-dropdown-panel .ard-option {
219
- padding: 0.375em 0.625em;
220
- color: var(--ard-text2);
259
+ padding: var(--ard-select-dropdown-option-padding, 0.375em 0.625em);
260
+ color: var(--ard-select-dropdown-option-text-color, var(--ard-text2, rgba(0, 0, 0, 0.87)));
221
261
  cursor: pointer;
222
262
  }
223
263
  .ard-select-dropdown-panel .ard-option.ard-option-highlighted {
224
- background: var(--ard-darken-overlay-light);
264
+ background: var(--ard-select-dropdown-option-highlight-bg, var(--ard-darken-overlay-light));
225
265
  }
226
266
  .ard-select-dropdown-panel .ard-option.ard-option-selected {
227
- font-weight: 500;
228
- background: var(--ard-darken-overlay-medium);
267
+ font-weight: var(--ard-select-dropdown-option-selected-font-weight, 500);
268
+ background: var(--ard-select-dropdown-option-selected-bg, var(--ard-darken-overlay-medium));
229
269
  }
230
270
  .ard-select-dropdown-panel .ard-option.ard-option-disabled {
231
271
  pointer-events: none;
232
- opacity: 50%;
272
+ opacity: var(--ard-select-dropdown-option-disabled-opacity, 50%);
233
273
  }
234
274
  .ard-select-dropdown-panel hr.ard-divider {
235
275
  width: calc(100% - 1.25em);
@@ -243,13 +283,13 @@
243
283
  .ard-select-dropdown-panel .ard-add-custom {
244
284
  display: flex;
245
285
  align-items: flex-end;
246
- gap: 0.375rem;
286
+ gap: var(--ard-select-dropdown-add-custom-gap, 0.375rem);
247
287
  }
248
288
  .ard-select-dropdown-panel .ard-add-custom .ard-add-custom-label {
249
- font-size: 85%;
289
+ font-size: var(--ard-select-dropdown-add-custom-label-font-size, 85%);
250
290
  }
251
291
  .ard-select-dropdown-panel > .ard-compact {
252
- font-size: 0.85rem;
292
+ font-size: var(--ard-select-dropdown-font-size-compact, 0.85rem);
253
293
  }
254
294
 
255
295
  .ard-simple-spinner {
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../../projects/ui/src/themes/default/select.scss","../../../../projects/ui/src/themes/default/_clear-button.scss","../../../../projects/ui/src/themes/_variables.scss","../../../../projects/ui/src/themes/default/_mixins.scss"],"names":[],"mappings":"AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;ACVA;EACE,QCkCgB;EDjChB,OCiCgB;EDhChB;;AAGF;EACE;EACA;EACA,OCGK;EDFL,OCyBgB;EDxBhB,QCwBgB;EDvBhB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EEvBF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EFgBI;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EE7CN;EACA;EACA,yBACE;EF4CI;;AAKF;EACE;;AAKF;EACE;;AAKF;EACE;;ADjDN;EACE;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA,OE5BE;EF6BF;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIN;EACE;EACA;EACA;EACA;;AAIA;EACE;EACA;;AAKF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIN;EACE;;AAEF;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGJ;EACE;EACA;EACA;;AAEA;EACE;;AAGJ;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA,qBEtHG;EFuHH,oBEvHG;EFwHH;;AAGJ;EACE;;AAIF;EACE;EACA;EACA;;AAEA;EACE;;;AAMN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAEF;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA,OElLI;EFmLJ;;AAEA;EACE,YElKiB;;AFqKnB;EACE;EACA,YExKkB;;AF2KpB;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAKJ;EACE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;IACE;;EAGF;IACE","file":"select.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../../projects/ui/src/themes/default/select.scss","../../../../projects/ui/src/themes/default/_clear-button.scss","../../../../projects/ui/src/themes/_variables.scss","../../../../projects/ui/src/themes/default/_mixins.scss"],"names":[],"mappings":"AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;ACxDA;EACE,QCkCgB;EDjChB,OCiCgB;EDhChB;;AAGF;EACE;EACA;EACA,OCGK;EDFL,OCyBgB;EDxBhB,QCwBgB;EDvBhB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EEvBF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EFgBI;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EE7CN;EACA;EACA,yBACE;EF4CI;;AAKF;EACE;;AAKF;EACE;;AAKF;EACE;;ADHN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIN;EACE;EACA;EACA;EACA;;AAIA;EACE;EACA;;AAKF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIN;EACE;;AAEF;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGJ;EACE;EACA;EACA;;AAEA;EACE;;AAGJ;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGJ;EACE;;AAIF;EACE;EACA;EACA;;AAEA;EACE;;AAEF;EACE;;;AAMN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAEF;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAKJ;EACE;;;AAKJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;IACE;;EAGF;IACE","file":"select.css"}
@@ -212,7 +212,7 @@
212
212
  left: 50%;
213
213
  top: 50%;
214
214
  transform: translate(-50%, -50%);
215
- font-family: "Roboto", sans-serif;
215
+ font-family: var(--ard-font-family);
216
216
  }
217
217
  .ard-statebox.ard-color-custom {
218
218
  color: var(--ard-custom-color);
@@ -8,7 +8,7 @@ ard-tabber {
8
8
  display: flex;
9
9
  flex-direction: column;
10
10
  align-items: stretch;
11
- font-family: "Roboto", sans-serif;
11
+ font-family: var(--ard-font-family);
12
12
  }
13
13
  .ard-tabber.ard-color-none {
14
14
  --ard-cmpcl--bg: var(--ard-bg);
@@ -2,12 +2,23 @@
2
2
  @use '../coloring' as coloringMixins;
3
3
  @use '../../variables' as ARD;
4
4
 
5
- @mixin button {
5
+ @mixin button(
6
+ $margin,
7
+ $padding,
8
+ $font-size,
9
+ $font-weight,
10
+ $hover-opacity,
11
+ $focus-opacity,
12
+ $active-opacity,
13
+ $focus-visible-opacity
14
+ ) {
6
15
  @include coloringMixins.typeColors();
7
- font-family: 'Roboto', sans-serif;
8
- margin: 2px;
16
+ font-family: var(--ard-font-family);
17
+ margin: $margin;
18
+ padding: $padding;
9
19
  border: 1px solid transparent;
10
- font-weight: 500;
20
+ font-weight: $font-weight;
21
+ font-size: $font-size;
11
22
  display: inline-flex;
12
23
  align-items: center;
13
24
  position: relative;
@@ -23,21 +34,25 @@
23
34
  @include defaultMixins.focus-overlay;
24
35
  background-color: var(--ard-cmpcl--overlay);
25
36
  }
26
- &:hover,
37
+ &:hover {
38
+ .ard-focus-overlay {
39
+ opacity: $hover-opacity;
40
+ }
41
+ }
27
42
  &:focus {
28
43
  .ard-focus-overlay {
29
- opacity: 4%;
44
+ opacity: $focus-opacity;
30
45
  }
31
46
  }
32
47
  &.ard-active,
33
48
  &:active {
34
49
  .ard-focus-overlay {
35
- opacity: 12%;
50
+ opacity: $active-opacity;
36
51
  }
37
52
  }
38
53
  &:focus-visible {
39
54
  .ard-focus-overlay {
40
- opacity: 18%;
55
+ opacity: $focus-visible-opacity;
41
56
  }
42
57
  }
43
58
  //! button appearances
@@ -83,9 +98,7 @@
83
98
  display: none;
84
99
  }
85
100
 
86
- transition:
87
- background-color 0.2s ease,
88
- color 0.2s ease;
101
+ transition: background-color 0.2s ease, color 0.2s ease;
89
102
  &:hover,
90
103
  &:focus-visible {
91
104
  background: var(--ard-cmpcl--bg-colored);
@@ -96,7 +109,7 @@
96
109
  &.ard-appearance-raised-strong {
97
110
  background: var(--ard-cmpcl--bg);
98
111
  color: var(--ard-cmpcl--on-bg);
99
- border: none;
112
+ border: 1px solid var(--ard-cmpcl--bg);
100
113
 
101
114
  .ard-focus-overlay {
102
115
  background: var(--ard-cmpcl--on-bg);
@@ -116,13 +129,13 @@
116
129
  }
117
130
 
118
131
  //! disabled state
119
- @mixin button-disabled {
132
+ @mixin button-disabled($opacity, $overlay-opacity) {
120
133
  pointer-events: none;
121
- opacity: 60%;
134
+ opacity: $opacity;
122
135
  cursor: not-allowed;
123
136
 
124
137
  .ard-focus-overlay {
125
- opacity: 20%;
138
+ opacity: $overlay-opacity;
126
139
  transform: scale(1);
127
140
  }
128
141
 
@@ -130,7 +143,7 @@
130
143
  &.ard-color-none {
131
144
  .ard-button-icon,
132
145
  .ard-button-content {
133
- opacity: 60%;
146
+ opacity: $opacity;
134
147
  }
135
148
  .ard-focus-overlay {
136
149
  background: var(--ard-cmpcl--overlay);
@@ -1,5 +1,25 @@
1
1
  @use './button-mixins' as shared;
2
2
 
3
+ :root {
4
+ --ard-button-height: 2.5em;
5
+ --ard-button-height-compact: 2.25em;
6
+ --ard-button-margin: 0.125rem;
7
+ --ard-button-padding: 0 1.2em;
8
+ --ard-button-padding-compact: 0 0.9em;
9
+ --ard-button-padding-vertical: 0.3em 1em;
10
+ --ard-button-padding-vertical-compact: 0.2em 0.8em;
11
+ --ard-button-font-size: 0.875rem;
12
+ --ard-button-font-size-compact: 0.75rem;
13
+ --ard-button-font-weight: 500;
14
+ --ard-button-overlay-hover-opacity: 0.04;
15
+ --ard-button-overlay-focus-opacity: 0.12;
16
+ --ard-button-overlay-active-opacity: 0.18;
17
+ --ard-button-overlay-focus-visible-opacity: 0.24;
18
+ --ard-button-overlay-disabled-opacity: 0.2;
19
+ --ard-button-rounded-corner-radius: var(--ard-rounded-corner-radius, 0.375rem);
20
+ --ard-button-disabled-opacity: 0.6;
21
+ }
22
+
3
23
  ard-button {
4
24
  display: block;
5
25
  width: max-content;
@@ -7,17 +27,27 @@ ard-button {
7
27
  }
8
28
 
9
29
  .ard-button {
10
- @include shared.button;
30
+ @include shared.button(
31
+ var(--ard-button-margin, 0.125rem),
32
+ var(--ard-button-padding, 0 1.2em),
33
+ var(--ard-button-font-size, 0.875rem),
34
+ var(--ard-button-font-weight, 500),
35
+ var(--ard-button-overlay-hover-opacity, 0.04),
36
+ var(--ard-button-overlay-focus-opacity, 0.12),
37
+ var(--ard-button-overlay-active-opacity, 0.18),
38
+ var(--ard-button-overlay-focus-visible-opacity, 0.24)
39
+ );
11
40
  background: transparent;
12
41
  gap: 0.375rem;
13
- font-size: 0.875rem;
14
- height: 2.5em;
15
- padding: 0 1.2em;
42
+ font-size: var(--ard-button-font-size, 0.875rem);
43
+ height: var(--ard-button-height, 2.5em);
44
+ padding: var(--ard-button-padding, 0 1.2em);
16
45
  letter-spacing: 0.5px;
17
46
  width: 100%;
18
47
  min-width: max-content;
19
48
  justify-content: center;
20
49
  margin: 0;
50
+ user-select: none;
21
51
 
22
52
  .ard-button-content {
23
53
  display: flex;
@@ -36,13 +66,13 @@ ard-button {
36
66
  //! button variants
37
67
  &.ard-button-vertical {
38
68
  height: max-content;
39
- padding: 0.3em 1em;
69
+ padding: var(--ard-button-padding-vertical, 0.3em 1em);
40
70
  gap: 2px;
41
71
  flex-direction: column;
42
72
  }
43
73
  &.ard-variant-rounded,
44
74
  &.ard-variant-pill.ard-button-vertical {
45
- border-radius: 6px;
75
+ border-radius: var(--ard-button-rounded-corner-radius, 0.375rem);
46
76
  }
47
77
  &.ard-variant-pill:not(.ard-button-vertical) {
48
78
  border-radius: 9999px;
@@ -53,13 +83,13 @@ ard-button {
53
83
 
54
84
  //! compact
55
85
  &.ard-compact {
56
- font-size: 0.75rem;
57
- height: 2.25em;
58
- padding: 0 0.9em;
86
+ font-size: var(--ard-button-font-size-compact, 0.75rem);
87
+ height: var(--ard-button-height-compact, 2.25em);
88
+ padding: var(--ard-button-padding-compact, 0 0.9em);
59
89
 
60
90
  &.ard-button-vertical {
61
91
  height: max-content;
62
- padding: 0.2em 0.8em;
92
+ padding: var(--ard-button-padding-vertical-compact, 0.2em 0.8em);
63
93
  gap: 0;
64
94
  }
65
95
  }
@@ -67,7 +97,7 @@ ard-button {
67
97
 
68
98
  ard-button.ard-disabled {
69
99
  > .ard-button {
70
- @include shared.button-disabled;
100
+ @include shared.button-disabled(var(--ard-button-disabled-opacity, 0.6), var(--ard-button-overlay-disabled-opacity, 0.2));
71
101
  }
72
102
  &.ard-button-with-pointer-events-when-disabled {
73
103
  pointer-events: all;
@@ -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;
@@ -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);
@@ -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
 
@@ -34,6 +34,9 @@
34
34
  --ard-darken-overlay-light: rgba(0, 0, 0, 5%);
35
35
  --ard-darken-overlay-ultralight: rgba(0, 0, 0, 3%);
36
36
 
37
+ --ard-font-family: 'Roboto', sans-serif;
38
+ --ard-font-family-mono: monospace;
39
+
37
40
  --ard-gold: #ffc107;
38
41
 
39
42
  --ard-clear-button-size: 0.9rem;
@@ -45,6 +48,8 @@
45
48
  --ard-form-field-padding: 0 0.375rem;
46
49
  --ard-form-field-padding-compact: 0 0.375rem;
47
50
 
51
+ --ard-rounded-corner-radius: 0.375rem;
52
+
48
53
  --ard-primary-50: 234, 235, 243;
49
54
  --ard-primary-100: 159, 167, 228;
50
55
  --ard-primary-300: 78, 99, 219;
@@ -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;
@@ -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
  }