@ardium-ui/ui 5.0.0-alpha.69 → 5.0.0-alpha.70

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 (73) hide show
  1. package/fesm2022/ardium-ui-ui.mjs +117 -174
  2. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  3. package/lib/_internal/boolean-component.d.ts +13 -1
  4. package/lib/checkbox/checkbox.component.d.ts +5 -2
  5. package/lib/checkbox/checkbox.types.d.ts +2 -0
  6. package/lib/chip/selectable-chip/selectable-chip.component.d.ts +2 -0
  7. package/lib/divider/divider.component.d.ts +2 -4
  8. package/lib/divider/divider.defaults.d.ts +5 -0
  9. package/lib/divider/divider.directive.d.ts +18 -0
  10. package/lib/divider/divider.module.d.ts +3 -2
  11. package/lib/divider/divider.types.d.ts +5 -0
  12. package/lib/divider/index.d.ts +2 -0
  13. package/lib/dropdown-panel/dropdown-panel.types.d.ts +1 -1
  14. package/lib/slide-toggle/slide-toggle.component.d.ts +2 -0
  15. package/lib/star/star-button/star-button.component.d.ts +4 -1
  16. package/lib/star/star-button/star-button.types.d.ts +1 -0
  17. package/lib/types/alignment.types.d.ts +7 -1
  18. package/package.json +1 -1
  19. package/prebuilt-themes/default/badge.css +37 -15
  20. package/prebuilt-themes/default/badge.css.map +1 -1
  21. package/prebuilt-themes/default/card.css +56 -24
  22. package/prebuilt-themes/default/card.css.map +1 -1
  23. package/prebuilt-themes/default/checkbox.css +31 -58
  24. package/prebuilt-themes/default/checkbox.css.map +1 -1
  25. package/prebuilt-themes/default/chips.css +1 -1
  26. package/prebuilt-themes/default/color-display.css +14 -7
  27. package/prebuilt-themes/default/color-display.css.map +1 -1
  28. package/prebuilt-themes/default/divider.css +82 -6
  29. package/prebuilt-themes/default/divider.css.map +1 -1
  30. package/prebuilt-themes/default/dropdown-panel.css +16 -8
  31. package/prebuilt-themes/default/dropdown-panel.css.map +1 -1
  32. package/prebuilt-themes/default/file-drop-area.css +81 -35
  33. package/prebuilt-themes/default/file-drop-area.css.map +1 -1
  34. package/prebuilt-themes/default/inputs/digit-input.css +31 -19
  35. package/prebuilt-themes/default/inputs/digit-input.css.map +1 -1
  36. package/prebuilt-themes/default/progress-circle.css +13 -7
  37. package/prebuilt-themes/default/progress-circle.css.map +1 -1
  38. package/prebuilt-themes/default/snackbar.css +29 -16
  39. package/prebuilt-themes/default/snackbar.css.map +1 -1
  40. package/prebuilt-themes/default/spinner.css +9 -3
  41. package/prebuilt-themes/default/spinner.css.map +1 -1
  42. package/prebuilt-themes/default/stars.css +38 -16
  43. package/prebuilt-themes/default/stars.css.map +1 -1
  44. package/prebuilt-themes/default/tabber.css +1 -1
  45. package/prebuilt-themes/default/table-pagination.css +21 -9
  46. package/prebuilt-themes/default/table-pagination.css.map +1 -1
  47. package/prebuilt-themes/default/table.css +101 -69
  48. package/prebuilt-themes/default/table.css.map +1 -1
  49. package/public-api.d.ts +0 -1
  50. package/themes/default/badge.scss +48 -15
  51. package/themes/default/card.scss +68 -24
  52. package/themes/default/checkbox.scss +30 -59
  53. package/themes/default/chips.scss +1 -1
  54. package/themes/default/color-display.scss +17 -7
  55. package/themes/default/divider.scss +106 -6
  56. package/themes/default/dropdown-panel.scss +21 -8
  57. package/themes/default/file-drop-area.scss +92 -35
  58. package/themes/default/inputs/digit-input.scss +42 -20
  59. package/themes/default/progress-circle.scss +16 -10
  60. package/themes/default/snackbar.scss +32 -14
  61. package/themes/default/spinner.scss +11 -3
  62. package/themes/default/stars.scss +45 -16
  63. package/themes/default/tabber.scss +1 -1
  64. package/themes/default/table-pagination.scss +24 -9
  65. package/themes/default/table.scss +112 -78
  66. package/lib/statebox/index.d.ts +0 -4
  67. package/lib/statebox/statebox.component.d.ts +0 -26
  68. package/lib/statebox/statebox.defaults.d.ts +0 -10
  69. package/lib/statebox/statebox.module.d.ts +0 -8
  70. package/lib/statebox/statebox.types.d.ts +0 -26
  71. package/prebuilt-themes/default/statebox.css +0 -235
  72. package/prebuilt-themes/default/statebox.css.map +0 -1
  73. package/themes/default/statebox.scss +0 -109
package/public-api.d.ts CHANGED
@@ -22,7 +22,6 @@ export * from './lib/slide-toggle';
22
22
  export * from './lib/slider';
23
23
  export * from './lib/star/rating-input';
24
24
  export * from './lib/star/star-button';
25
- export * from './lib/statebox';
26
25
  export * from './lib/calendar';
27
26
  export * from './lib/checkbox-list';
28
27
  export * from './lib/badge';
@@ -1,5 +1,29 @@
1
1
  @use './coloring' as CM;
2
2
 
3
+ // the variables are commented out intentionally
4
+ // read more in docs/dev/css-variables.md
5
+ :root {
6
+ --ard-badge-small-font-size: 0.55rem;
7
+ // --ard-badge-small-size: ;
8
+ --ard-badge-small-font-weight: 400;
9
+ --ard-badge-small-letter-spacing: 0.2px;
10
+ // --ard-badge-small-rounded-radius: ;
11
+
12
+ --ard-badge-medium-font-size: 0.667rem;
13
+ // --ard-badge-medium-size: ;
14
+ --ard-badge-medium-font-weight: 500;
15
+ --ard-badge-medium-letter-spacing: 0.2px;
16
+ // --ard-badge-medium-rounded-radius: ;
17
+
18
+ --ard-badge-large-font-size: 0.8125rem;
19
+ // --ard-badge-large-size: ;
20
+ --ard-badge-large-font-weight: 600;
21
+ --ard-badge-large-letter-spacing: 0.2px;
22
+ // --ard-badge-large-rounded-radius: ;
23
+
24
+ --ard-badge-overlap-offset: 0.3em;
25
+ }
26
+
3
27
  .ard-badge-host {
4
28
  position: relative;
5
29
  }
@@ -19,7 +43,7 @@
19
43
  border-radius: 9999px;
20
44
  }
21
45
  &.ard-variant-rounded {
22
- border-radius: calc(var(--ard-_badge-size) * 0.25);
46
+ border-radius: var(--ard-_badge-radius);
23
47
  }
24
48
  &.ard-variant-sharp {
25
49
  border-radius: 0;
@@ -31,32 +55,41 @@
31
55
  }
32
56
 
33
57
  //! sizes
34
- font-size: var(--ard-_badge-size);
35
- min-width: calc(var(--ard-_badge-size) * 1.375);
36
- height: calc(var(--ard-_badge-size) * 1.375);
58
+ font-size: var(--ard-_badge-font-size);
59
+ min-width: var(--ard-_badge-size);
60
+ height: var(--ard-_badge-size);
37
61
 
38
62
  .ard-badge-content {
39
- padding: 0 calc(var(--ard-_badge-size) * 0.5);
63
+ padding: 0 var(--ard-_badge-padding);
40
64
  }
41
65
 
42
66
  &.ard-badge-size-small {
43
- --ard-_badge-size: 0.55rem;
44
- font-weight: 400;
45
- letter-spacing: 0.2px;
67
+ --ard-_badge-font-size: var(--ard-badge-small-font-size, 0.55rem);
68
+ --ard-_badge-size: var(--ard-badge-small-size, calc(var(--ard-badge-small-font-size) * 1.375));
69
+ --ard-_badge-padding: calc(var(--ard-badge-small-font-size) * 0.5);
70
+ --ard-_badge-radius: var(--ard-badge-small-rounded-radius, calc(var(--ard-badge-small-font-size) * 0.25));
71
+ font-weight: var(--ard-badge-small-font-weight, 400);
72
+ letter-spacing: var(--ard-badge-small-letter-spacing, 0.2px);
46
73
  }
47
74
  &.ard-badge-size-medium {
48
- --ard-_badge-size: 0.667rem;
49
- font-weight: 500;
50
- letter-spacing: 0.2px;
75
+ --ard-_badge-font-size: var(--ard-badge-medium-font-size, 0.667rem);
76
+ --ard-_badge-size: var(--ard-badge-medium-size, calc(var(--ard-badge-medium-font-size) * 1.375));
77
+ --ard-_badge-padding: calc(var(--ard-badge-medium-font-size) * 0.5);
78
+ --ard-_badge-radius: var(--ard-badge-medium-rounded-radius, calc(var(--ard-badge-medium-font-size) * 0.25));
79
+ font-weight: var(--ard-badge-medium-font-weight, 500);
80
+ letter-spacing: var(--ard-badge-medium-letter-spacing, 0.2px);
51
81
  }
52
82
  &.ard-badge-size-large {
53
- --ard-_badge-size: 0.8125rem;
54
- font-weight: 600;
55
- letter-spacing: 0.2px;
83
+ --ard-_badge-font-size: var(--ard-badge-large-font-size, 0.8125rem);
84
+ --ard-_badge-size: var(--ard-badge-large-size, calc(var(--ard-badge-large-font-size) * 1.375));
85
+ --ard-_badge-padding: calc(var(--ard-badge-large-font-size) * 0.5);
86
+ --ard-_badge-radius: var(--ard-badge-large-rounded-radius, calc(var(--ard-badge-large-font-size) * 0.25));
87
+ font-weight: var(--ard-badge-large-font-weight, 600);
88
+ letter-spacing: var(--ard-badge-large-letter-spacing, 0.2px);
56
89
  }
57
90
 
58
91
  //! overlap
59
- --ard-_badge-overlap-offset-x: 0.3em;
92
+ --ard-_badge-overlap-offset-x: var(--ard-badge-overlap-offset, 0.3em);
60
93
 
61
94
  &.ard-badge-overlap {
62
95
  --ard-_badge-overlap-offset-x: 50%;
@@ -1,9 +1,43 @@
1
1
  @use '../variables' as ARD;
2
2
 
3
+ // the variables are commented out intentionally
4
+ // read more in docs/dev/css-variables.md
5
+ :root {
6
+ // --ard-card-bg: ;
7
+ // --ard-card-rounded-corner-radius: ;
8
+ // --ard-card-border-color: ;
9
+
10
+ --ard-card-content-padding-top: 0;
11
+ --ard-card-content-padding-right: 1em;
12
+ --ard-card-content-padding-bottom: 0;
13
+ --ard-card-content-padding-left: 1em;
14
+
15
+ --ard-card-header-padding-top: 0.5em;
16
+ --ard-card-header-padding-right: 1em;
17
+ --ard-card-header-padding-bottom: 0;
18
+ --ard-card-header-padding-left: 1em;
19
+ --ard-card-header-margin-bottom: 1em;
20
+
21
+ // --ard-card-title-color: ;
22
+ --ard-card-title-font-size: 1.375em;
23
+ --ard-card-title-letter-spacing: 0.0125em;
24
+ --ard-card-title-font-weight: 500;
25
+ --ard-card-title-margin-top: 0;
26
+ // --ard-card-subtitle-color: ;
27
+ --ard-card-subtitle-font-size: 1.375em;
28
+ --ard-card-subtitle-letter-spacing: 0.0125em;
29
+ --ard-card-subtitle-font-weight: 500;
30
+ --ard-card-subtitle-margin-top: 0;
31
+
32
+ --ard-card-avatar-size: 3em;
33
+
34
+ --ard-card-action-buttons-padding: 0.5em;
35
+ }
36
+
3
37
  ard-card,
4
38
  .ard-card {
5
39
  position: relative;
6
- background: ARD.$bg;
40
+ background: var(--ard-card-bg, #{ARD.$bg});
7
41
  box-sizing: border-box;
8
42
  width: 100%;
9
43
  height: max-content;
@@ -11,7 +45,7 @@ ard-card,
11
45
 
12
46
  //! appearances
13
47
  &.ard-appearance-outlined {
14
- border: 1px solid ARD.$border-light;
48
+ border: 1px solid var(--ard-card-border-color, #{ARD.$border-light});
15
49
  }
16
50
  &.ard-appearance-raised {
17
51
  box-shadow: ARD.$card-shadow;
@@ -21,15 +55,18 @@ ard-card,
21
55
  border-radius: 0;
22
56
  }
23
57
  &.ard-variant-rounded {
24
- border-radius: 8px;
58
+ border-radius: var(--ard-card-rounded-corner-radius, var(--ard-rounded-corner-radius, 0.375rem));
25
59
  }
26
60
  }
27
61
  //! header
28
62
  ard-card-header {
29
- padding: 0.5em 1em 0 1em;
63
+ padding-top: var(--ard-card-header-padding-top, var(--ard-card-content-padding-top, 0.5em));
64
+ padding-right: var(--ard-card-header-padding-right, var(--ard-card-content-padding-right, 1em));
65
+ padding-bottom: var(--ard-card-header-padding-bottom, var(--ard-card-content-padding-bottom, 0));
66
+ padding-left: var(--ard-card-header-padding-left, var(--ard-card-content-padding-left, 1em));
30
67
  display: flex;
31
68
  align-items: center;
32
- margin-bottom: 1em;
69
+ margin-bottom: var(--ard-card-header-margin-bottom, 1em);
33
70
  max-width: 100%;
34
71
 
35
72
  .ard-card-header-title-container {
@@ -39,37 +76,41 @@ ard-card-header {
39
76
  }
40
77
 
41
78
  &:first-child {
42
- padding-top: 1em;
79
+ padding-top: var(--ard-card-content-padding-top, 0.5em);
43
80
  }
44
81
  }
45
82
  .ard-card-title,
46
83
  .ard-card-subtitle {
47
- line-height: normal;
48
84
  display: block;
49
85
  margin: 0;
50
- font-weight: 500;
51
86
  }
52
87
  .ard-card-title {
53
- font-size: 1.375em;
54
- letter-spacing: 0.0125em;
55
- color: ARD.$text;
88
+ color: var(--ard-card-title-color, #{ARD.$text});
89
+ font-size: var(--ard-card-title-font-size, 1.375em);
90
+ letter-spacing: var(--ard-card-title-letter-spacing, 0.0125em);
91
+ font-weight: var(--ard-card-title-font-weight, 500);
92
+ margin-top: var(--ard-card-title-margin-top, 0);
56
93
  }
57
94
  .ard-card-subtitle {
58
- font-size: 1em;
59
- letter-spacing: 0.0078125em;
60
- color: ARD.$text3;
61
- margin-top: 0.125rem;
95
+ color: var(--ard-card-subtitle-color, #{ARD.$text3});
96
+ font-size: var(--ard-card-subtitle-font-size, 1.375em);
97
+ letter-spacing: var(--ard-card-subtitle-letter-spacing, 0.0125em);
98
+ font-weight: var(--ard-card-subtitle-font-weight, 500);
99
+ margin-top: var(--ard-card-subtitle-margin-top, 0);
62
100
  }
63
101
  .ard-card-avatar {
64
102
  display: block;
65
- width: 3em;
66
- height: 3em;
103
+ width: var(--ard-card-avatar-size, 3em);
104
+ height: var(--ard-card-avatar-size, 3em);
67
105
  border-radius: 9999px;
68
106
  flex-shrink: 0;
69
107
  object-fit: cover;
70
108
 
71
109
  ~ .ard-card-header-title-container {
72
- padding: 0 1em;
110
+ padding-top: var(--ard-card-content-padding-top, 0);
111
+ padding-right: var(--ard-card-content-padding-right, 1em);
112
+ padding-bottom: var(--ard-card-content-padding-bottom, 0);
113
+ padding-left: var(--ard-card-content-padding-left, 0);
73
114
  }
74
115
  }
75
116
  //! image
@@ -93,20 +134,23 @@ ard-card-header {
93
134
  ard-card,
94
135
  .ard-card {
95
136
  .ard-appearance-outlined .ard-image {
96
- border-bottom: 1px solid ARD.$border-light;
137
+ border-bottom: 1px solid var(--ard-card-border-color, #{ARD.$border-light});
97
138
  }
98
139
  }
99
140
  //! content
100
141
  .ard-card-content {
101
- padding: 0 1em;
142
+ padding-top: var(--ard-card-content-padding-top, var(--ard-card-content-padding, 0));
143
+ padding-right: var(--ard-card-content-padding-right, var(--ard-card-content-padding, 1em));
144
+ padding-bottom: var(--ard-card-content-padding-bottom, var(--ard-card-content-padding, 0));
145
+ padding-left: var(--ard-card-content-padding-left, var(--ard-card-content-padding, 1em));
102
146
  display: block;
103
147
  max-width: 100%;
104
148
 
105
149
  &:first-child {
106
- padding-top: 1em;
150
+ padding-top: var(--ard-card-content-padding-top, var(--ard-card-content-padding, 0));
107
151
  }
108
152
  &:last-child {
109
- padding-bottom: 1em;
153
+ padding-bottom: var(--ard-card-content-padding-bottom, var(--ard-card-content-padding, 0));
110
154
  }
111
155
 
112
156
  > :last-child {
@@ -115,7 +159,7 @@ ard-card,
115
159
  }
116
160
  //! action buttons
117
161
  .ard-card-action-buttons {
118
- padding: 0.5em;
162
+ padding: var(--ard-card-action-buttons-padding, 0.5em);
119
163
  display: flex;
120
164
  flex-direction: row;
121
165
  align-items: center;
@@ -124,7 +168,7 @@ ard-card,
124
168
  &.ard-align-left {
125
169
  justify-content: flex-start;
126
170
  }
127
- &.ard-align-middle {
171
+ &.ard-align-center {
128
172
  justify-content: center;
129
173
  }
130
174
  &.ard-align-right {
@@ -2,14 +2,28 @@
2
2
  @use './coloring' as coloringMixins;
3
3
  @use '../variables' as ARD;
4
4
 
5
+ // the variables are commented out intentionally
6
+ // read more in docs/dev/css-variables.md
7
+ :root {
8
+ --ard-checkbox-size: 1.25em;
9
+ --ard-checkbox-icon-size: 1em;
10
+ --ard-checkbox-icon-size: 1.8em;
11
+ --ard-checkbox-hitbox-offset: -4px;
12
+ --ard-checkbox-overlay-offset: 0.4em;
13
+ --ard-checkbox-unselected-disabled-opacity: 40%;
14
+ --ard-checkbox-indeterminate-disabled-opacity: 50%;
15
+ --ard-checkbox-selected-disabled-opacity: 50%;
16
+ // --ard-checkbox-base-color: ;
17
+ }
18
+
5
19
  .ard-checkbox {
6
20
  @include coloringMixins.typeColors();
7
21
  @include coloringMixins.typeColors('unsel-cmpcl');
8
22
  position: relative;
9
23
  cursor: pointer;
10
24
  user-select: none;
11
- width: 1.25em;
12
- height: 1.25em;
25
+ width: var(--ard-checkbox-size, 1.25em);
26
+ height: var(--ard-checkbox-size, 1.25em);
13
27
  display: flex;
14
28
  justify-content: center;
15
29
  align-items: center;
@@ -17,76 +31,31 @@
17
31
  background: none;
18
32
  padding: 0;
19
33
  outline: none;
20
- color: ARD.$text2;
34
+ color: var(--ard-checkbox-base-color, #{ARD.$text2});
35
+ font-size: var(--ard-checkbox-icon-size, 1em); // ard-icon component will inherit this font-size to determine its size
21
36
 
22
- &.ard-color-currentColor {
37
+ &.ard-color-currentColor.ard-state-selected {
23
38
  color: currentColor;
24
39
  }
25
40
 
26
41
  .ard-hitbox {
27
42
  position: absolute;
28
- left: -4px;
29
- right: -4px;
30
- bottom: -4px;
31
- top: -4px;
43
+ left: var(--ard-checkbox-hitbox-offset, -4px);
44
+ right: var(--ard-checkbox-hitbox-offset, -4px);
45
+ bottom: var(--ard-checkbox-hitbox-offset, -4px);
46
+ top: var(--ard-checkbox-hitbox-offset, -4px);
32
47
  }
33
48
  .ard-focus-overlay {
34
- @include defaultMixins.focus-overlay(0.4em);
35
- border-radius: 999px;
49
+ @include defaultMixins.focus-overlay(var(--ard-checkbox-overlay-offset, 0.4em));
50
+ border-radius: 9999px;
36
51
  background: currentColor;
37
52
  }
38
- .ard-checkbox-icon {
39
- position: absolute;
40
- top: 50%;
41
- left: 50%;
42
- transform: translate(-50%, -50%);
43
- height: 1.8em; //the height of the icon
44
- display: none;
45
- opacity: 80%;
46
- transition: opacity 0.2s ARD.$timing-fn;
47
-
48
- &::after {
49
- @include defaultMixins.icon(0, 600);
50
- }
51
- }
52
- .ard-icon-for-selected::after {
53
- @include defaultMixins.icon(1, 500);
54
- content: 'check_box';
55
- }
56
- .ard-icon-for-indeterminate::after {
57
- content: 'indeterminate_check_box';
58
- }
59
- .ard-icon-for-unselected::after {
60
- content: 'check_box_outline_blank';
61
- }
62
53
 
63
54
  &.ard-checkbox-selected {
64
55
  color: var(--ard-unsel-cmpcl--bg-colored);
65
-
66
- .ard-checkbox-icon {
67
- opacity: 90%;
68
- }
69
- }
70
- &.ard-checkbox-selected {
71
- .ard-icon-for-selected {
72
- display: block;
73
- }
74
- }
75
- &.ard-checkbox-indeterminate {
76
- .ard-icon-for-indeterminate {
77
- display: block;
78
- }
79
- }
80
- &.ard-checkbox-unselected {
81
- .ard-icon-for-unselected {
82
- display: block;
83
- }
84
56
  }
85
57
  &:hover,
86
58
  &:focus {
87
- .ard-checkbox-icon {
88
- opacity: 100%;
89
- }
90
59
  .ard-focus-overlay {
91
60
  opacity: 10%;
92
61
  }
@@ -100,10 +69,12 @@
100
69
  //! disabled state
101
70
  .ard-disabled .ard-checkbox {
102
71
  pointer-events: none;
103
- opacity: 40%;
72
+ opacity: var(--ard-checkbox-unselected-disabled-opacity, 40%);
104
73
 
105
- &.ard-checkbox-selected,
74
+ &.ard-checkbox-selected {
75
+ opacity: var(--ard-checkbox-selected-disabled-opacity, 50%);
76
+ }
106
77
  &.ard-checkbox-indeterminate {
107
- opacity: 50%;
78
+ opacity: var(--ard-checkbox-indeterminate-disabled-opacity, 50%);
108
79
  }
109
80
  }
@@ -46,7 +46,7 @@
46
46
  border-radius: var(--ard-variant-border-radius);
47
47
  padding: 0;
48
48
  margin: var(--ard-chip-margin, 0);
49
- vertical-align: middle;
49
+ vertical-align: center;
50
50
  display: flex;
51
51
  align-items: center;
52
52
  font-size: var(--ard-chip-font-size, 0.875rem);
@@ -1,26 +1,36 @@
1
1
  @use 'sass:math';
2
2
  @use '../variables' as ARD;
3
3
 
4
+ // the variables are commented out intentionally
5
+ // read more in docs/dev/css-variables.md
6
+ :root {
7
+ --ard-color-display-gap: 0.3ch;
8
+ --ard-color-display-size: 1em * math.div(19, 16);
9
+ --ard-color-display-font-size: 1.15em;
10
+ --ard-color-display-rounded-corner-radius: 0.25em;
11
+ // --ard-color-display-border-color: ;
12
+ }
13
+
4
14
  .ard-color-display-wrapper {
5
- gap: 0.3ch;
15
+ gap: var(--ard-color-display-gap, 0.3ch);
6
16
  align-items: center;
7
17
 
8
18
  .ard-color-display {
9
- width: 1em * math.div(19, 16);
10
- height: 1em * math.div(19, 16);
19
+ width: var(--ard-color-dsiplay-size, #{1em * math.div(19, 16)});
20
+ height: var(--ard-color-dsiplay-size, #{1em * math.div(19, 16)});
11
21
  font-size: inherit;
12
22
  cursor: help;
13
- border: math.div(1em, 16) solid transparent;
23
+ border: 1px solid transparent;
14
24
  }
15
25
 
16
26
  .ard-color-display-label {
17
27
  font-family: var(--ard-font-family-mono);
18
- font-size: 1.15em;
28
+ font-size: var(--ard-color-display-font-size, 1.15em);
19
29
  }
20
30
 
21
31
  &.ard-appearance-rounded {
22
32
  .ard-color-display {
23
- border-radius: 0.25em;
33
+ border-radius: var(--ard-color-display-rounded-corner-radius, 0.25em);
24
34
  }
25
35
  }
26
36
  &.ard-appearance-circle {
@@ -35,7 +45,7 @@
35
45
  }
36
46
  &.ard-with-border {
37
47
  .ard-color-display {
38
- border-color: ARD.$text;
48
+ border-color: var(--ard-color-display-border-color, #{ARD.$text});
39
49
  }
40
50
  }
41
51
  }
@@ -1,13 +1,113 @@
1
1
  @use '../variables' as ARD;
2
2
 
3
- ard-divider {
4
- margin: 0;
3
+ // the variables are commented out intentionally
4
+ // read more in docs/dev/css-variables.md
5
+ :root {
6
+ --ard-divider-margin-size: 0.5rem;
7
+ --ard-divider-color: red;
8
+ --ard-divider-width: 1px;
9
+ --ard-divider-middle-inset: 1rem;
10
+ --ard-divider-content-padding: 0.5rem;
11
+ --ard-divider-content-font-size: 0.875rem;
12
+ --ard-divider-align-inset: 10%;
13
+ --ard-divider-align-min-inset: 1rem;
14
+ --ard-divider-align-max-inset: unset;
15
+ --ard-divider-style: solid;
16
+ }
17
+
18
+ .ard-divider {
19
+ border: none;
20
+ position: relative;
21
+ display: flex;
22
+ justify-content: stretch;
23
+ align-items: center;
24
+ box-sizing: border-box;
25
+ font-size: var(--ard-divider-content-font-size, 0.875rem);
26
+
27
+ &::before,
28
+ &::after {
29
+ content: '';
30
+ flex-grow: 1;
31
+ pointer-events: none;
32
+ box-sizing: border-box;
33
+ }
34
+ &.ard-divider__horizontal {
35
+ width: 100%;
36
+ min-height: var(--ard-divider-width, 1px);
37
+ margin: var(--ard-divider-margin-size, 0.5rem) 0;
38
+
39
+ &::before,
40
+ &::after {
41
+ height: var(--ard-divider-width, 1px);
42
+ border-top: var(--ard-divider-width, 1px) var(--ard-divider-style, solid)
43
+ var(--ard-divider-color, #{ARD.$detail-ultralight});
44
+ }
45
+ &.ard-divider__flex-item {
46
+ align-self: stretch;
47
+ width: auto;
48
+ }
49
+ }
50
+ &.ard-divider__vertical {
51
+ height: 100%;
52
+ min-width: var(--ard-divider-width, 1px);
53
+ margin: 0 var(--ard-divider-margin-size, 0.5rem);
54
+ flex-direction: column;
5
55
 
6
- &:not(.ard-divider-vertical) {
7
- border-top: 1px solid ARD.$detail-ultralight;
56
+ &::before,
57
+ &::after {
58
+ width: var(--ard-divider-width, 1px);
59
+ border-left: var(--ard-divider-width, 1px) var(--ard-divider-style, solid)
60
+ var(--ard-divider-color, #{ARD.$detail-ultralight});
61
+ }
62
+ &.ard-divider__flex-item {
63
+ align-self: stretch;
64
+ height: auto;
65
+ }
8
66
  }
9
67
 
10
- &.ard-divider-vertical {
11
- border-left: 1px solid ARD.$detail-ultralight;
68
+ //! content styling
69
+ &:not(:empty) {
70
+ &.ard-divider__horizontal {
71
+ &::before {
72
+ margin-right: var(--ard-divider-content-padding, 0.5rem);
73
+ }
74
+ &::after {
75
+ margin-left: var(--ard-divider-content-padding, 0.5rem);
76
+ }
77
+ }
78
+ &.ard-divider__vertical {
79
+ &::before {
80
+ margin-bottom: var(--ard-divider-content-padding, 0.5rem);
81
+ }
82
+ &::after {
83
+ margin-top: var(--ard-divider-content-padding, 0.5rem);
84
+ }
85
+ }
86
+ }
87
+
88
+ //! variants
89
+ &.ard-divider__full {
90
+ padding: 0;
91
+ }
92
+ &.ard-divider__middle {
93
+ padding: 0 var(--ard-divider-middle-inset, 1rem);
94
+ }
95
+
96
+ //! text aligns
97
+ &.ard-divider__text-align-start {
98
+ &::before {
99
+ width: var(--ard-divider-align-inset, 10%);
100
+ min-width: var(--ard-divider-align-min-inset, 1rem);
101
+ max-width: var(--ard-divider-align-max-inset, unset);
102
+ flex-grow: 0;
103
+ }
104
+ }
105
+ &.ard-divider__text-align-end {
106
+ &::after {
107
+ width: var(--ard-divider-align-inset, 10%);
108
+ min-width: var(--ard-divider-align-min-inset, 1rem);
109
+ max-width: var(--ard-divider-align-max-inset, unset);
110
+ flex-grow: 0;
111
+ }
12
112
  }
13
113
  }
@@ -1,20 +1,33 @@
1
1
  @use '../variables' as ARD;
2
2
 
3
+ // the variables are commented out intentionally
4
+ // read more in docs/dev/css-variables.md
5
+ :root {
6
+ // --ard-dropdown-panel-bg: ;
7
+ --ard-dropdown-panel-margin: 0.375rem 0;
8
+ --ard-dropdown-panel-margin-compact: 0.25rem 0;
9
+ --ard-dropdown-panel-z-index: 5;
10
+ --ard-dropdown-panel-rounded-corner-radius: 0.5rem;
11
+ --ard-dropdown-panel-rounded-corner-radius-compact: 0.375rem;
12
+ // --ard-dropdown-panel-border-color: ;
13
+ // --ard-dropdown-panel-shadow: ;
14
+ }
15
+
3
16
  ard-dropdown-panel {
4
17
  width: 100%;
5
18
  }
6
19
  .ard-dropdown-panel-container {
7
20
  position: relative;
8
- background: ARD.$bg;
9
- margin: 0.375rem 0;
10
- z-index: 5;
21
+ background: var(--ard-dropdown-panel-bg, #{ARD.$bg});
22
+ margin: var(--ard-dropdown-panel-margin, 0.375rem 0);
23
+ z-index: var(--ard-dropdown-panel-z-index, 5);
11
24
  width: 100%;
12
25
  overflow: hidden;
13
26
  box-sizing: border-box;
14
27
 
15
28
  //! variants
16
29
  &.ard-variant-rounded {
17
- border-radius: 0.5rem;
30
+ border-radius: var(--ard-dropdown-panel-rounded-corner-radius, 0.5rem);
18
31
  }
19
32
  &.ard-variant-sharp {
20
33
  border-radius: 0;
@@ -22,10 +35,10 @@ ard-dropdown-panel {
22
35
 
23
36
  //! appearances
24
37
  &.ard-appearance-outlined {
25
- border: 1px solid ARD.$border;
38
+ border: 1px solid var(--ard-dropdown-panel-border-color, #{ARD.$border});
26
39
  }
27
40
  &.ard-appearance-raised {
28
- box-shadow: ARD.$box-shadow;
41
+ box-shadow: var(--ard-dropdown-panel-shadow, #{ARD.$box-shadow});
29
42
  }
30
43
 
31
44
  //! connected
@@ -36,10 +49,10 @@ ard-dropdown-panel {
36
49
 
37
50
  //! compact
38
51
  &.ard-compact {
39
- margin: 0.25rem 0;
52
+ margin: var(--ard-dropdown-panel-margin-compact, 0.25rem 0);
40
53
 
41
54
  &.ard-variant-rounded {
42
- border-radius: 0.4rem;
55
+ border-radius: var(--ard-dropdown-panel-rounded-corner-radius-compact, 0.375rem);
43
56
  }
44
57
  }
45
58
  }