@ardium-ui/ui 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/README.md +25 -25
  2. package/esm2022/lib/_internal/boolean-component.mjs +4 -4
  3. package/esm2022/lib/_internal/clear-button/clear-button.component.mjs +4 -4
  4. package/esm2022/lib/_internal/clear-button/clear-button.module.mjs +5 -5
  5. package/esm2022/lib/_internal/disablable-component.mjs +4 -4
  6. package/esm2022/lib/_internal/focusable-component.mjs +4 -4
  7. package/esm2022/lib/_internal/item-storages/dropdown-item-storage.mjs +1 -1
  8. package/esm2022/lib/_internal/item-storages/simple-item-storage.mjs +1 -1
  9. package/esm2022/lib/_internal/item-storages/simplest-item-storage.mjs +1 -1
  10. package/esm2022/lib/_internal/models/pagination.model.mjs +1 -1
  11. package/esm2022/lib/_internal/ngmodel-component.mjs +4 -4
  12. package/esm2022/lib/_internal/queue.mjs +1 -1
  13. package/esm2022/lib/_internal/selectable-list-component.mjs +4 -4
  14. package/esm2022/lib/badge/badge.directive.mjs +4 -4
  15. package/esm2022/lib/badge/badge.module.mjs +5 -5
  16. package/esm2022/lib/badge/badge.types.mjs +1 -1
  17. package/esm2022/lib/buttons/_button-base.mjs +4 -4
  18. package/esm2022/lib/buttons/button/button.component.mjs +4 -4
  19. package/esm2022/lib/buttons/button/button.module.mjs +5 -5
  20. package/esm2022/lib/buttons/fab/fab.component.mjs +4 -4
  21. package/esm2022/lib/buttons/fab/fab.module.mjs +5 -5
  22. package/esm2022/lib/buttons/general-button.types.mjs +1 -1
  23. package/esm2022/lib/buttons/icon-button/icon-button.component.mjs +4 -4
  24. package/esm2022/lib/buttons/icon-button/icon-button.module.mjs +5 -5
  25. package/esm2022/lib/calendar/calendar.component.mjs +4 -4
  26. package/esm2022/lib/calendar/calendar.directives.mjs +25 -25
  27. package/esm2022/lib/calendar/calendar.helpers.mjs +1 -1
  28. package/esm2022/lib/calendar/calendar.module.mjs +5 -5
  29. package/esm2022/lib/calendar/calendar.types.mjs +1 -1
  30. package/esm2022/lib/card/card.children.mjs +25 -25
  31. package/esm2022/lib/card/card.component.mjs +7 -7
  32. package/esm2022/lib/card/card.module.mjs +5 -5
  33. package/esm2022/lib/card/card.types.mjs +1 -1
  34. package/esm2022/lib/checkbox/checkbox.component.mjs +4 -4
  35. package/esm2022/lib/checkbox/checkbox.module.mjs +5 -5
  36. package/esm2022/lib/checkbox/checkbox.types.mjs +1 -1
  37. package/esm2022/lib/checkbox-list/checkbox-list.component.mjs +4 -4
  38. package/esm2022/lib/checkbox-list/checkbox-list.module.mjs +5 -5
  39. package/esm2022/lib/checkbox-list/checkbox-list.types.mjs +1 -1
  40. package/esm2022/lib/chip/chip.component.mjs +4 -4
  41. package/esm2022/lib/chip/chip.module.mjs +5 -5
  42. package/esm2022/lib/chip/deletable-chip/deletable-chip.component.mjs +4 -4
  43. package/esm2022/lib/chip/selectable-chip/selectable-chip.component.mjs +4 -4
  44. package/esm2022/lib/color/color-display/color-display.component.mjs +4 -4
  45. package/esm2022/lib/color/color-display/color-display.module.mjs +5 -5
  46. package/esm2022/lib/color/color-display/color-display.types.mjs +1 -1
  47. package/esm2022/lib/color/color-picker/color-picker.component.mjs +4 -4
  48. package/esm2022/lib/color/color-picker/color-picker.directives.mjs +13 -13
  49. package/esm2022/lib/color/color-picker/color-picker.module.mjs +5 -5
  50. package/esm2022/lib/color/color-picker/color-picker.types.mjs +1 -1
  51. package/esm2022/lib/dialog/dialog.component.mjs +4 -4
  52. package/esm2022/lib/dialog/dialog.directives.mjs +4 -4
  53. package/esm2022/lib/dialog/dialog.module.mjs +5 -5
  54. package/esm2022/lib/dialog/dialog.types.mjs +1 -1
  55. package/esm2022/lib/divider/divider.component.mjs +4 -4
  56. package/esm2022/lib/divider/divider.module.mjs +5 -5
  57. package/esm2022/lib/dropdown-panel/dropdown-panel.component.mjs +4 -4
  58. package/esm2022/lib/dropdown-panel/dropdown-panel.module.mjs +5 -5
  59. package/esm2022/lib/dropdown-panel/dropdown-panel.types.mjs +1 -1
  60. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.component.mjs +4 -4
  61. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.directives.mjs +10 -10
  62. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.module.mjs +5 -5
  63. package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +4 -4
  64. package/esm2022/lib/file-inputs/file-input/file-input.directives.mjs +19 -19
  65. package/esm2022/lib/file-inputs/file-input/file-input.module.mjs +5 -5
  66. package/esm2022/lib/file-inputs/file-input-base.mjs +4 -4
  67. package/esm2022/lib/file-inputs/file-input-types.mjs +1 -1
  68. package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +4 -4
  69. package/esm2022/lib/form-field-frame/form-field-frame.directives.mjs +7 -7
  70. package/esm2022/lib/form-field-frame/form-field-frame.module.mjs +5 -5
  71. package/esm2022/lib/icon/icon.component.mjs +4 -4
  72. package/esm2022/lib/icon/icon.module.mjs +5 -5
  73. package/esm2022/lib/icon/icon.pipe.mjs +4 -4
  74. package/esm2022/lib/inputs/color-input/color-input.component.mjs +4 -4
  75. package/esm2022/lib/inputs/color-input/color-input.directives.mjs +25 -25
  76. package/esm2022/lib/inputs/color-input/color-input.module.mjs +5 -5
  77. package/esm2022/lib/inputs/color-input/color-input.types.mjs +1 -1
  78. package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +4 -4
  79. package/esm2022/lib/inputs/digit-input/digit-input.model.mjs +1 -1
  80. package/esm2022/lib/inputs/digit-input/digit-input.module.mjs +5 -5
  81. package/esm2022/lib/inputs/digit-input/digit-input.types.mjs +1 -1
  82. package/esm2022/lib/inputs/digit-input/digit-input.utils.mjs +1 -1
  83. package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +4 -4
  84. package/esm2022/lib/inputs/hex-input/hex-input.directives.mjs +10 -10
  85. package/esm2022/lib/inputs/hex-input/hex-input.module.mjs +5 -5
  86. package/esm2022/lib/inputs/hex-input.model.mjs +1 -1
  87. package/esm2022/lib/inputs/input/input.component.mjs +4 -4
  88. package/esm2022/lib/inputs/input/input.directives.mjs +16 -16
  89. package/esm2022/lib/inputs/input/input.module.mjs +5 -5
  90. package/esm2022/lib/inputs/input-transformers.mjs +1 -1
  91. package/esm2022/lib/inputs/input-types.mjs +1 -1
  92. package/esm2022/lib/inputs/input-utils.mjs +1 -1
  93. package/esm2022/lib/inputs/number-input/number-input.component.mjs +4 -4
  94. package/esm2022/lib/inputs/number-input/number-input.directives.mjs +4 -4
  95. package/esm2022/lib/inputs/number-input/number-input.module.mjs +5 -5
  96. package/esm2022/lib/inputs/password-input/password-input.component.mjs +4 -4
  97. package/esm2022/lib/inputs/password-input/password-input.directives.mjs +13 -13
  98. package/esm2022/lib/inputs/password-input/password-input.module.mjs +5 -5
  99. package/esm2022/lib/inputs/password-input/password-input.types.mjs +1 -1
  100. package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +4 -4
  101. package/esm2022/lib/inputs/simple-input/simple-input.directives.mjs +10 -10
  102. package/esm2022/lib/inputs/simple-input/simple-input.module.mjs +5 -5
  103. package/esm2022/lib/kbd/kbd.component.mjs +4 -4
  104. package/esm2022/lib/kbd/kbd.module.mjs +5 -5
  105. package/esm2022/lib/kbd/kbd.pipe.mjs +4 -4
  106. package/esm2022/lib/kbd-shortcut/kbd-shortcut.component.mjs +4 -4
  107. package/esm2022/lib/kbd-shortcut/kbd-shortcut.module.mjs +5 -5
  108. package/esm2022/lib/modal/modal.component.mjs +4 -4
  109. package/esm2022/lib/modal/modal.module.mjs +5 -5
  110. package/esm2022/lib/option/option.component.mjs +4 -4
  111. package/esm2022/lib/option/option.module.mjs +5 -5
  112. package/esm2022/lib/progress-bar/progress-bar.component.mjs +4 -4
  113. package/esm2022/lib/progress-bar/progress-bar.directive.mjs +4 -4
  114. package/esm2022/lib/progress-bar/progress-bar.module.mjs +5 -5
  115. package/esm2022/lib/progress-bar/progress-bar.types.mjs +1 -1
  116. package/esm2022/lib/progress-circle/progress-circle.component.mjs +4 -4
  117. package/esm2022/lib/progress-circle/progress-circle.directive.mjs +4 -4
  118. package/esm2022/lib/progress-circle/progress-circle.module.mjs +5 -5
  119. package/esm2022/lib/progress-circle/progress-circle.types.mjs +1 -1
  120. package/esm2022/lib/radio/radio/radio.component.mjs +4 -4
  121. package/esm2022/lib/radio/radio-group.component.mjs +4 -4
  122. package/esm2022/lib/radio/radio.module.mjs +5 -5
  123. package/esm2022/lib/search-functions.mjs +1 -1
  124. package/esm2022/lib/segment/segment.component.mjs +4 -4
  125. package/esm2022/lib/segment/segment.directives.mjs +4 -4
  126. package/esm2022/lib/segment/segment.module.mjs +5 -5
  127. package/esm2022/lib/segment/segment.types.mjs +1 -1
  128. package/esm2022/lib/select/select.component.mjs +4 -4
  129. package/esm2022/lib/select/select.directive.mjs +46 -46
  130. package/esm2022/lib/select/select.module.mjs +5 -5
  131. package/esm2022/lib/select/select.types.mjs +1 -1
  132. package/esm2022/lib/slide-toggle/slide-toggle.component.mjs +4 -4
  133. package/esm2022/lib/slide-toggle/slide-toggle.module.mjs +5 -5
  134. package/esm2022/lib/slider/abstract-slider.mjs +4 -4
  135. package/esm2022/lib/slider/range-slider/range-slider.component.mjs +4 -4
  136. package/esm2022/lib/slider/range-slider/range-slider.module.mjs +5 -5
  137. package/esm2022/lib/slider/slider.component.mjs +4 -4
  138. package/esm2022/lib/slider/slider.directive.mjs +4 -4
  139. package/esm2022/lib/slider/slider.module.mjs +5 -5
  140. package/esm2022/lib/slider/slider.types.mjs +1 -1
  141. package/esm2022/lib/snackbar/index.mjs +1 -1
  142. package/esm2022/lib/snackbar/snackbar-ref.mjs +1 -1
  143. package/esm2022/lib/snackbar/snackbar.component.mjs +4 -4
  144. package/esm2022/lib/snackbar/snackbar.service.mjs +4 -4
  145. package/esm2022/lib/snackbar/snackbar.token.mjs +1 -1
  146. package/esm2022/lib/snackbar/snackbar.types.mjs +1 -1
  147. package/esm2022/lib/spinner/spinner.component.mjs +4 -4
  148. package/esm2022/lib/spinner/spinner.module.mjs +5 -5
  149. package/esm2022/lib/star/star-button/star-button.component.mjs +4 -4
  150. package/esm2022/lib/star/star-button/star-button.module.mjs +5 -5
  151. package/esm2022/lib/star/star-display/star-display.component.mjs +4 -4
  152. package/esm2022/lib/star/star-display/star-display.module.mjs +5 -5
  153. package/esm2022/lib/star/star-input/star-input.component.mjs +4 -4
  154. package/esm2022/lib/star/star-input/star-input.module.mjs +5 -5
  155. package/esm2022/lib/star/star.component.mjs +4 -4
  156. package/esm2022/lib/star/star.module.mjs +5 -5
  157. package/esm2022/lib/star/star.types.mjs +1 -1
  158. package/esm2022/lib/statebox/statebox.component.mjs +4 -4
  159. package/esm2022/lib/statebox/statebox.module.mjs +5 -5
  160. package/esm2022/lib/statebox/statebox.types.mjs +1 -1
  161. package/esm2022/lib/table/table-item-storage.mjs +1 -1
  162. package/esm2022/lib/table/table.component.mjs +4 -4
  163. package/esm2022/lib/table/table.directives.mjs +16 -16
  164. package/esm2022/lib/table/table.module.mjs +5 -5
  165. package/esm2022/lib/table/table.types.mjs +1 -1
  166. package/esm2022/lib/table/utils.mjs +1 -1
  167. package/esm2022/lib/table-from-csv/table-from-csv.component.mjs +4 -4
  168. package/esm2022/lib/table-from-csv/table-from-csv.module.mjs +5 -5
  169. package/esm2022/lib/table-pagination/table-pagination.component.mjs +4 -4
  170. package/esm2022/lib/table-pagination/table-pagination.module.mjs +5 -5
  171. package/esm2022/lib/table-pagination/table-pagination.types.mjs +1 -1
  172. package/esm2022/lib/types/alignment.types.mjs +1 -1
  173. package/esm2022/lib/types/colors.types.mjs +1 -1
  174. package/esm2022/lib/types/item-storage.types.mjs +1 -1
  175. package/esm2022/lib/types/theming.types.mjs +1 -1
  176. package/esm2022/lib/types/utility.types.mjs +1 -1
  177. package/esm2022/public-api.mjs +1 -1
  178. package/fesm2022/ardium-ui-ui.mjs +618 -618
  179. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  180. package/package.json +7 -5
  181. package/themes/_variables.scss +121 -121
  182. package/themes/default/_clear-button.scss +73 -73
  183. package/themes/default/_coloring.scss +137 -137
  184. package/themes/default/_dropdown-arrow.scss +12 -12
  185. package/themes/default/_mixins.scss +70 -70
  186. package/themes/default/badge.scss +94 -94
  187. package/themes/default/buttons/_button-mixins.scss +144 -144
  188. package/themes/default/buttons/button.scss +62 -62
  189. package/themes/default/buttons/fab.scss +72 -72
  190. package/themes/default/buttons/icon-button.scss +59 -59
  191. package/themes/default/calendar.scss +182 -182
  192. package/themes/default/card.scss +126 -126
  193. package/themes/default/checkbox-list.scss +83 -83
  194. package/themes/default/checkbox.scss +109 -109
  195. package/themes/default/chips.scss +206 -206
  196. package/themes/default/color-display.scss +41 -41
  197. package/themes/default/color-picker.scss +111 -111
  198. package/themes/default/core.scss +96 -96
  199. package/themes/default/dialog.scss +16 -16
  200. package/themes/default/divider.scss +13 -13
  201. package/themes/default/dropdown-panel.scss +45 -45
  202. package/themes/default/file-drop-area.scss +162 -162
  203. package/themes/default/form-field-frame.scss +78 -78
  204. package/themes/default/inputs/_shared.scss +46 -46
  205. package/themes/default/inputs/color-input.scss +46 -46
  206. package/themes/default/inputs/digit-input.scss +56 -56
  207. package/themes/default/inputs/file-input.scss +78 -78
  208. package/themes/default/inputs/hex-input.scss +27 -27
  209. package/themes/default/inputs/input.scss +52 -52
  210. package/themes/default/inputs/number-input.scss +121 -121
  211. package/themes/default/inputs/password-input.scss +43 -43
  212. package/themes/default/inputs/search-bar.scss +19 -19
  213. package/themes/default/inputs/simple-input.scss +19 -19
  214. package/themes/default/kbd-shortcut.scss +13 -13
  215. package/themes/default/kbd.scss +20 -20
  216. package/themes/default/modal.scss +93 -93
  217. package/themes/default/progress-bar.scss +166 -166
  218. package/themes/default/progress-circle.scss +56 -56
  219. package/themes/default/radio.scss +112 -112
  220. package/themes/default/segment.scss +339 -339
  221. package/themes/default/select.scss +253 -253
  222. package/themes/default/slide-toggle.scss +151 -151
  223. package/themes/default/slider.scss +224 -224
  224. package/themes/default/snackbar.scss +60 -60
  225. package/themes/default/spinner.scss +21 -21
  226. package/themes/default/stars.scss +122 -122
  227. package/themes/default/statebox.scss +109 -109
  228. package/themes/default/table-pagination.scss +56 -56
  229. package/themes/default/table.scss +403 -403
@@ -1,253 +1,253 @@
1
- @use './clear-button' as CB;
2
- @use './mixins' as defaultMixins;
3
- @import '../variables';
4
-
5
- .ard-select {
6
- box-sizing: border-box;
7
- width: 100%;
8
- min-height: 100%;
9
- display: grid;
10
- align-items: center;
11
- grid-template-columns: 1fr max-content;
12
- gap: 0.625em;
13
- padding: 0 1em 0 0.375em;
14
- font-family: 'Roboto', sans-serif;
15
- font-size: 1rem;
16
-
17
- @include CB.clearButton();
18
-
19
- //! variants
20
- &.ard-variant-pill {
21
- padding-left: 0.8125em;
22
- }
23
-
24
- //! value container
25
- .ard-select-value-container {
26
- position: relative;
27
- height: 2em;
28
- display: flex;
29
- align-items: center;
30
- font-size: 1em;
31
- text-size-adjust: 100%;
32
- flex-grow: 1;
33
- overflow: hidden;
34
-
35
- .ard-placeholder {
36
- font: inherit;
37
- position: absolute;
38
- color: $text3;
39
- width: max-content;
40
- pointer-events: none;
41
- }
42
-
43
- .ard-search-input {
44
- width: 100%;
45
- max-width: 100%;
46
-
47
- input {
48
- border: none;
49
- background: transparent;
50
- outline: none;
51
- font: inherit;
52
- padding-left: 1px;
53
- display: block;
54
- width: 100%;
55
- max-width: 100%;
56
- }
57
- }
58
- }
59
- .ard-select-controls {
60
- display: flex;
61
- align-items: center;
62
- gap: 0.625em;
63
- width: max-content;
64
- }
65
- //! single/multiselect
66
- &.ard-singleselect {
67
- .ard-value {
68
- width: max-content;
69
- white-space: nowrap;
70
- }
71
- }
72
- &:not(.ard-searchable),
73
- &.ard-singleselect {
74
- .ard-search-input {
75
- position: absolute;
76
- top: 50%;
77
- left: 0;
78
- transform: translateY(-50%) translateX(-1px);
79
- width: max-content;
80
-
81
- input {
82
- width: max-content;
83
- }
84
- }
85
- }
86
- &:not(.ard-searchable) .ard-search-input {
87
- pointer-events: none;
88
- }
89
- &.ard-multiselect {
90
- height: max-content;
91
-
92
- .ard-select-value-container {
93
- height: max-content;
94
- min-height: 1.5625em;
95
- padding: 0.25em 0;
96
- box-sizing: border-box;
97
- flex-wrap: wrap;
98
- gap: 0.375em;
99
- justify-content: stretch;
100
-
101
- .ard-chip-wrapper {
102
- margin: 0;
103
- }
104
- }
105
- .ard-search-input {
106
- flex-grow: 1;
107
- width: unset !important;
108
- min-width: 10ch;
109
-
110
- input {
111
- width: 10ch !important;
112
- }
113
- }
114
- .ard-chip-wrapper {
115
- margin: 0;
116
- }
117
- }
118
- //! dropdown arrow
119
- .ard-dropdown-arrow-wrapper {
120
- display: flex;
121
- align-items: center;
122
- height: max-content;
123
- width: max-content;
124
-
125
- .ard-dropdown-arrow {
126
- border: calc($dropdown-button-size / 2) solid transparent;
127
- position: relative;
128
- cursor: pointer;
129
- border-bottom-color: $detail;
130
- border-right-color: $detail;
131
- transform: rotate(45deg) translate(-17.67771%, -17.67771%);
132
- }
133
- }
134
- &.ard-dropdown-open .ard-dropdown-arrow {
135
- transform: rotate(45deg) translate(17.67771%, 17.67771%) scaleX(-1) scaleY(-1);
136
- }
137
-
138
- //! compact
139
- &.ard-compact {
140
- font-size: 0.85rem;
141
- height: 1.5625rem;
142
- padding-right: 0.625em;
143
-
144
- .ard-dropdown-arrow-wrapper .ard-dropdown-arrow {
145
- border-width: calc($dropdown-button-size / 2.4);
146
- }
147
- }
148
- }
149
-
150
- //! optgroups & options, divider
151
- .ard-select-dropdown-panel {
152
- right: 0;
153
- width: max-content;
154
- max-width: max(25em, 100%);
155
- min-width: 100%;
156
- font-size: 1rem;
157
-
158
- .ard-dropdown-panel-content {
159
- padding: 0.375em 0;
160
- max-height: 15em;
161
- overflow: hidden auto;
162
- }
163
- .ard-optgroup {
164
- display: flex;
165
- flex-direction: column;
166
- cursor: pointer;
167
- }
168
- .ard-optgroup-children {
169
- cursor: unset;
170
- }
171
-
172
- .ard-optgroup-label {
173
- font-size: 0.875em;
174
- font-weight: 600;
175
- letter-spacing: 0.25px;
176
- padding: 0.375em 0.625em 0.0625em 0.625em;
177
- }
178
-
179
- .ard-option {
180
- padding: 0.375em 0.625em;
181
- color: $text2;
182
- cursor: pointer;
183
-
184
- &.ard-option-highlighted {
185
- background: $darken-overlay-light;
186
- }
187
-
188
- &.ard-option-selected {
189
- font-weight: 500;
190
- background: $darken-overlay-medium;
191
- }
192
-
193
- &.ard-option-disabled {
194
- pointer-events: none;
195
- opacity: 50%;
196
- }
197
- }
198
- //divider
199
- hr.ard-divider {
200
- width: calc(100% - 1.25em);
201
- margin: 0.375em 0.625em;
202
- border: none;
203
- border-bottom: 1px solid $darken-overlay-strong;
204
- }
205
-
206
- .ard-optgroup:first-child > hr.ard-divider {
207
- display: none;
208
- }
209
- //! custom option
210
- .ard-add-custom {
211
- display: flex;
212
- align-items: flex-end;
213
- gap: 0.375rem;
214
-
215
- .ard-add-custom-label {
216
- font-size: 85%;
217
- }
218
- }
219
-
220
- //! compact
221
- > .ard-compact {
222
- font-size: 0.85rem;
223
- }
224
- }
225
-
226
- //! spinner
227
- .ard-simple-spinner {
228
- border-radius: 999px;
229
- border: 0.5em solid var(--ard-spinner-color);
230
- border-top-color: transparent;
231
- animation: spinner-anim 1s linear infinite;
232
- position: relative;
233
-
234
- &::after {
235
- content: '';
236
- position: absolute;
237
- top: 50%;
238
- left: 50%;
239
- transform: translate(-50%, -50%);
240
- border-radius: 999px;
241
- border: 0.35em solid var(--ard-bg);
242
- }
243
- }
244
-
245
- @keyframes spinner-anim {
246
- 0% {
247
- transform: rotate(0deg);
248
- }
249
-
250
- 100% {
251
- transform: rotate(360deg);
252
- }
253
- }
1
+ @use './clear-button' as CB;
2
+ @use './mixins' as defaultMixins;
3
+ @import '../variables';
4
+
5
+ .ard-select {
6
+ box-sizing: border-box;
7
+ width: 100%;
8
+ min-height: 100%;
9
+ display: grid;
10
+ align-items: center;
11
+ grid-template-columns: 1fr max-content;
12
+ gap: 0.625em;
13
+ padding: 0 1em 0 0.375em;
14
+ font-family: 'Roboto', sans-serif;
15
+ font-size: 1rem;
16
+
17
+ @include CB.clearButton();
18
+
19
+ //! variants
20
+ &.ard-variant-pill {
21
+ padding-left: 0.8125em;
22
+ }
23
+
24
+ //! value container
25
+ .ard-select-value-container {
26
+ position: relative;
27
+ height: 2em;
28
+ display: flex;
29
+ align-items: center;
30
+ font-size: 1em;
31
+ text-size-adjust: 100%;
32
+ flex-grow: 1;
33
+ overflow: hidden;
34
+
35
+ .ard-placeholder {
36
+ font: inherit;
37
+ position: absolute;
38
+ color: $text3;
39
+ width: max-content;
40
+ pointer-events: none;
41
+ }
42
+
43
+ .ard-search-input {
44
+ width: 100%;
45
+ max-width: 100%;
46
+
47
+ input {
48
+ border: none;
49
+ background: transparent;
50
+ outline: none;
51
+ font: inherit;
52
+ padding-left: 1px;
53
+ display: block;
54
+ width: 100%;
55
+ max-width: 100%;
56
+ }
57
+ }
58
+ }
59
+ .ard-select-controls {
60
+ display: flex;
61
+ align-items: center;
62
+ gap: 0.625em;
63
+ width: max-content;
64
+ }
65
+ //! single/multiselect
66
+ &.ard-singleselect {
67
+ .ard-value {
68
+ width: max-content;
69
+ white-space: nowrap;
70
+ }
71
+ }
72
+ &:not(.ard-searchable),
73
+ &.ard-singleselect {
74
+ .ard-search-input {
75
+ position: absolute;
76
+ top: 50%;
77
+ left: 0;
78
+ transform: translateY(-50%) translateX(-1px);
79
+ width: max-content;
80
+
81
+ input {
82
+ width: max-content;
83
+ }
84
+ }
85
+ }
86
+ &:not(.ard-searchable) .ard-search-input {
87
+ pointer-events: none;
88
+ }
89
+ &.ard-multiselect {
90
+ height: max-content;
91
+
92
+ .ard-select-value-container {
93
+ height: max-content;
94
+ min-height: 1.5625em;
95
+ padding: 0.25em 0;
96
+ box-sizing: border-box;
97
+ flex-wrap: wrap;
98
+ gap: 0.375em;
99
+ justify-content: stretch;
100
+
101
+ .ard-chip-wrapper {
102
+ margin: 0;
103
+ }
104
+ }
105
+ .ard-search-input {
106
+ flex-grow: 1;
107
+ width: unset !important;
108
+ min-width: 10ch;
109
+
110
+ input {
111
+ width: 10ch !important;
112
+ }
113
+ }
114
+ .ard-chip-wrapper {
115
+ margin: 0;
116
+ }
117
+ }
118
+ //! dropdown arrow
119
+ .ard-dropdown-arrow-wrapper {
120
+ display: flex;
121
+ align-items: center;
122
+ height: max-content;
123
+ width: max-content;
124
+
125
+ .ard-dropdown-arrow {
126
+ border: calc($dropdown-button-size / 2) solid transparent;
127
+ position: relative;
128
+ cursor: pointer;
129
+ border-bottom-color: $detail;
130
+ border-right-color: $detail;
131
+ transform: rotate(45deg) translate(-17.67771%, -17.67771%);
132
+ }
133
+ }
134
+ &.ard-dropdown-open .ard-dropdown-arrow {
135
+ transform: rotate(45deg) translate(17.67771%, 17.67771%) scaleX(-1) scaleY(-1);
136
+ }
137
+
138
+ //! compact
139
+ &.ard-compact {
140
+ font-size: 0.85rem;
141
+ height: 1.5625rem;
142
+ padding-right: 0.625em;
143
+
144
+ .ard-dropdown-arrow-wrapper .ard-dropdown-arrow {
145
+ border-width: calc($dropdown-button-size / 2.4);
146
+ }
147
+ }
148
+ }
149
+
150
+ //! optgroups & options, divider
151
+ .ard-select-dropdown-panel {
152
+ right: 0;
153
+ width: max-content;
154
+ max-width: max(25em, 100%);
155
+ min-width: 100%;
156
+ font-size: 1rem;
157
+
158
+ .ard-dropdown-panel-content {
159
+ padding: 0.375em 0;
160
+ max-height: 15em;
161
+ overflow: hidden auto;
162
+ }
163
+ .ard-optgroup {
164
+ display: flex;
165
+ flex-direction: column;
166
+ cursor: pointer;
167
+ }
168
+ .ard-optgroup-children {
169
+ cursor: unset;
170
+ }
171
+
172
+ .ard-optgroup-label {
173
+ font-size: 0.875em;
174
+ font-weight: 600;
175
+ letter-spacing: 0.25px;
176
+ padding: 0.375em 0.625em 0.0625em 0.625em;
177
+ }
178
+
179
+ .ard-option {
180
+ padding: 0.375em 0.625em;
181
+ color: $text2;
182
+ cursor: pointer;
183
+
184
+ &.ard-option-highlighted {
185
+ background: $darken-overlay-light;
186
+ }
187
+
188
+ &.ard-option-selected {
189
+ font-weight: 500;
190
+ background: $darken-overlay-medium;
191
+ }
192
+
193
+ &.ard-option-disabled {
194
+ pointer-events: none;
195
+ opacity: 50%;
196
+ }
197
+ }
198
+ //divider
199
+ hr.ard-divider {
200
+ width: calc(100% - 1.25em);
201
+ margin: 0.375em 0.625em;
202
+ border: none;
203
+ border-bottom: 1px solid $darken-overlay-strong;
204
+ }
205
+
206
+ .ard-optgroup:first-child > hr.ard-divider {
207
+ display: none;
208
+ }
209
+ //! custom option
210
+ .ard-add-custom {
211
+ display: flex;
212
+ align-items: flex-end;
213
+ gap: 0.375rem;
214
+
215
+ .ard-add-custom-label {
216
+ font-size: 85%;
217
+ }
218
+ }
219
+
220
+ //! compact
221
+ > .ard-compact {
222
+ font-size: 0.85rem;
223
+ }
224
+ }
225
+
226
+ //! spinner
227
+ .ard-simple-spinner {
228
+ border-radius: 999px;
229
+ border: 0.5em solid var(--ard-spinner-color);
230
+ border-top-color: transparent;
231
+ animation: spinner-anim 1s linear infinite;
232
+ position: relative;
233
+
234
+ &::after {
235
+ content: '';
236
+ position: absolute;
237
+ top: 50%;
238
+ left: 50%;
239
+ transform: translate(-50%, -50%);
240
+ border-radius: 999px;
241
+ border: 0.35em solid var(--ard-bg);
242
+ }
243
+ }
244
+
245
+ @keyframes spinner-anim {
246
+ 0% {
247
+ transform: rotate(0deg);
248
+ }
249
+
250
+ 100% {
251
+ transform: rotate(360deg);
252
+ }
253
+ }