@ardium-ui/ui 5.0.0-alpha.23 → 5.0.0-alpha.25

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.
@@ -11,7 +11,7 @@ import { FormElementAppearance } from '../types/theming.types';
11
11
  import { Nullable } from '../types/utility.types';
12
12
  import { FormElementVariant } from './../types/theming.types';
13
13
  import { ArdSelectDefaults } from './select.defaults';
14
- import { ArdAddCustomTemplateDirective, ArdDropdownFooterTemplateDirective, ArdDropdownHeaderTemplateDirective, ArdItemDisplayLimitTemplateDirective, ArdItemLimitReachedTemplateDirective, ArdLoadingPlaceholderTemplateDirective, ArdLoadingSpinnerTemplateDirective, ArdNoItemsFoundTemplateDirective, ArdOptgroupTemplateDirective, ArdOptionTemplateDirective, ArdSelectPlaceholderTemplateDirective, ArdSelectPrefixTemplateDirective, ArdSelectSuffixTemplateDirective, ArdValueTemplateDirective } from './select.directive';
14
+ import { ArdAddCustomTemplateDirective, ArdDropdownFooterTemplateDirective, ArdDropdownHeaderTemplateDirective, ArdItemDisplayLimitTemplateDirective, ArdItemLimitReachedTemplateDirective, ArdLoadingPlaceholderTemplateDirective, ArdLoadingSpinnerTemplateDirective, ArdNoItemsFoundTemplateDirective, ArdOptgroupTemplateDirective, ArdOptionTemplateDirective, ArdSelectDropdownArrowTemplateDirective, ArdSelectPlaceholderTemplateDirective, ArdSelectPrefixTemplateDirective, ArdSelectSuffixTemplateDirective, ArdValueTemplateDirective } from './select.directive';
15
15
  import { AddCustomFn, CustomOptionContext, GroupContext, ItemDisplayLimitContext, ItemLimitContext, PlaceholderContext, SearchContext, StatsContext, ValueContext } from './select.types';
16
16
  import * as i0 from "@angular/core";
17
17
  export declare class ArdiumSelectComponent extends _FormFieldComponentBase implements OnChanges, AfterViewInit, AfterContentInit, OnInit, OnDestroy, ControlValueAccessor, ItemStorageHost {
@@ -108,6 +108,7 @@ export declare class ArdiumSelectComponent extends _FormFieldComponentBase imple
108
108
  readonly optgroupTemplate: Signal<ArdOptgroupTemplateDirective | undefined>;
109
109
  readonly valueTemplate: Signal<ArdValueTemplateDirective | undefined>;
110
110
  readonly placeholderTemplate: Signal<ArdSelectPlaceholderTemplateDirective | undefined>;
111
+ readonly dropdownArrowTemplate: Signal<ArdSelectDropdownArrowTemplateDirective | undefined>;
111
112
  readonly loadingSpinnerTemplate: Signal<ArdLoadingSpinnerTemplateDirective | undefined>;
112
113
  readonly loadingPlaceholderTemplate: Signal<ArdLoadingPlaceholderTemplateDirective | undefined>;
113
114
  readonly dropdownHeaderTemplate: Signal<ArdDropdownHeaderTemplateDirective | undefined>;
@@ -201,5 +202,5 @@ export declare class ArdiumSelectComponent extends _FormFieldComponentBase imple
201
202
  private _onBackspaceOrDeletePress;
202
203
  private _onCtrlAPress;
203
204
  static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumSelectComponent, never>;
204
- static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumSelectComponent, "ard-select", never, { "valueFrom": { "alias": "valueFrom"; "required": false; "isSignal": true; }; "labelFrom": { "alias": "labelFrom"; "required": false; "isSignal": true; }; "disabledFrom": { "alias": "disabledFrom"; "required": false; "isSignal": true; }; "groupLabelFrom": { "alias": "groupLabelFrom"; "required": false; "isSignal": true; }; "groupDisabledFrom": { "alias": "groupDisabledFrom"; "required": false; "isSignal": true; }; "childrenFrom": { "alias": "childrenFrom"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; "isSignal": true; }; "dropdownPosition": { "alias": "dropdownPosition"; "required": false; "isSignal": true; }; "noItemsFoundText": { "alias": "noItemsFoundText"; "required": false; "isSignal": true; }; "addCustomOptionText": { "alias": "addCustomOptionText"; "required": false; "isSignal": true; }; "loadingPlaceholderText": { "alias": "loadingPlaceholderText"; "required": false; "isSignal": true; }; "searchInputId": { "alias": "searchInputId"; "required": false; "isSignal": true; }; "inputAttrs": { "alias": "inputAttrs"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "itemsAlreadyGrouped": { "alias": "itemsAlreadyGrouped"; "required": false; "isSignal": true; }; "invertDisabled": { "alias": "invertDisabled"; "required": false; "isSignal": true; }; "noGroupActions": { "alias": "noGroupActions"; "required": false; "isSignal": true; }; "autoHighlightFirst": { "alias": "autoHighlightFirst"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "keepOpen": { "alias": "keepOpen"; "required": false; "isSignal": true; }; "hideSelected": { "alias": "hideSelected"; "required": false; "isSignal": true; }; "noBackspaceClear": { "alias": "noBackspaceClear"; "required": false; "isSignal": true; }; "sortMultipleValues": { "alias": "sortMultipleValues"; "required": false; "isSignal": true; }; "searchCaseSensitive": { "alias": "searchCaseSensitive"; "required": false; "isSignal": true; }; "keepSearchAfterSelect": { "alias": "keepSearchAfterSelect"; "required": false; "isSignal": true; }; "maxSelectedItems": { "alias": "maxSelectedItems"; "required": false; "isSignal": true; }; "itemDisplayLimit": { "alias": "itemDisplayLimit"; "required": false; "isSignal": true; }; "searchFn": { "alias": "searchFn"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "dropdownAppearance": { "alias": "dropdownAppearance"; "required": false; "isSignal": true; }; "dropdownVariant": { "alias": "dropdownVariant"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; }; "multiselectable": { "alias": "multiselectable"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "addCustom": { "alias": "addCustom"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "dropdownPanelWidth": { "alias": "dropdownPanelWidth"; "required": false; "isSignal": true; }; "dropdownPanelHeight": { "alias": "dropdownPanelHeight"; "required": false; "isSignal": true; }; "dropdownPanelMinWidth": { "alias": "dropdownPanelMinWidth"; "required": false; "isSignal": true; }; "dropdownPanelMinHeight": { "alias": "dropdownPanelMinHeight"; "required": false; "isSignal": true; }; "dropdownPanelMaxWidth": { "alias": "dropdownPanelMaxWidth"; "required": false; "isSignal": true; }; "dropdownPanelMaxHeight": { "alias": "dropdownPanelMaxHeight"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "changeEvent": "change"; "addEvent": "add"; "failedToAddEvent": "failedToAdd"; "removeEvent": "remove"; "clearEvent": "clear"; "openEvent": "open"; "closeEvent": "close"; "scrollEvent": "scroll"; "scrollToEndEvent": "scrollToEnd"; "searchEvent": "search"; "isOpen": "isOpenChange"; }, ["optionTemplate", "optgroupTemplate", "valueTemplate", "placeholderTemplate", "loadingSpinnerTemplate", "loadingPlaceholderTemplate", "dropdownHeaderTemplate", "dropdownFooterTemplate", "noItemsFoundTemplate", "addCustomTemplate", "itemLimitReachedTemplate", "itemDisplayLimitTemplate", "prefixTemplate", "suffixTemplate", "optionComponents"], never, false, never>;
205
+ static ɵcmp: i0.ɵɵComponentDeclaration<ArdiumSelectComponent, "ard-select", never, { "valueFrom": { "alias": "valueFrom"; "required": false; "isSignal": true; }; "labelFrom": { "alias": "labelFrom"; "required": false; "isSignal": true; }; "disabledFrom": { "alias": "disabledFrom"; "required": false; "isSignal": true; }; "groupLabelFrom": { "alias": "groupLabelFrom"; "required": false; "isSignal": true; }; "groupDisabledFrom": { "alias": "groupDisabledFrom"; "required": false; "isSignal": true; }; "childrenFrom": { "alias": "childrenFrom"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; "isSignal": true; }; "dropdownPosition": { "alias": "dropdownPosition"; "required": false; "isSignal": true; }; "noItemsFoundText": { "alias": "noItemsFoundText"; "required": false; "isSignal": true; }; "addCustomOptionText": { "alias": "addCustomOptionText"; "required": false; "isSignal": true; }; "loadingPlaceholderText": { "alias": "loadingPlaceholderText"; "required": false; "isSignal": true; }; "searchInputId": { "alias": "searchInputId"; "required": false; "isSignal": true; }; "inputAttrs": { "alias": "inputAttrs"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "itemsAlreadyGrouped": { "alias": "itemsAlreadyGrouped"; "required": false; "isSignal": true; }; "invertDisabled": { "alias": "invertDisabled"; "required": false; "isSignal": true; }; "noGroupActions": { "alias": "noGroupActions"; "required": false; "isSignal": true; }; "autoHighlightFirst": { "alias": "autoHighlightFirst"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "keepOpen": { "alias": "keepOpen"; "required": false; "isSignal": true; }; "hideSelected": { "alias": "hideSelected"; "required": false; "isSignal": true; }; "noBackspaceClear": { "alias": "noBackspaceClear"; "required": false; "isSignal": true; }; "sortMultipleValues": { "alias": "sortMultipleValues"; "required": false; "isSignal": true; }; "searchCaseSensitive": { "alias": "searchCaseSensitive"; "required": false; "isSignal": true; }; "keepSearchAfterSelect": { "alias": "keepSearchAfterSelect"; "required": false; "isSignal": true; }; "maxSelectedItems": { "alias": "maxSelectedItems"; "required": false; "isSignal": true; }; "itemDisplayLimit": { "alias": "itemDisplayLimit"; "required": false; "isSignal": true; }; "searchFn": { "alias": "searchFn"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "dropdownAppearance": { "alias": "dropdownAppearance"; "required": false; "isSignal": true; }; "dropdownVariant": { "alias": "dropdownVariant"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; }; "multiselectable": { "alias": "multiselectable"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "addCustom": { "alias": "addCustom"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "dropdownPanelWidth": { "alias": "dropdownPanelWidth"; "required": false; "isSignal": true; }; "dropdownPanelHeight": { "alias": "dropdownPanelHeight"; "required": false; "isSignal": true; }; "dropdownPanelMinWidth": { "alias": "dropdownPanelMinWidth"; "required": false; "isSignal": true; }; "dropdownPanelMinHeight": { "alias": "dropdownPanelMinHeight"; "required": false; "isSignal": true; }; "dropdownPanelMaxWidth": { "alias": "dropdownPanelMaxWidth"; "required": false; "isSignal": true; }; "dropdownPanelMaxHeight": { "alias": "dropdownPanelMaxHeight"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "changeEvent": "change"; "addEvent": "add"; "failedToAddEvent": "failedToAdd"; "removeEvent": "remove"; "clearEvent": "clear"; "openEvent": "open"; "closeEvent": "close"; "scrollEvent": "scroll"; "scrollToEndEvent": "scrollToEnd"; "searchEvent": "search"; "isOpen": "isOpenChange"; }, ["optionTemplate", "optgroupTemplate", "valueTemplate", "placeholderTemplate", "dropdownArrowTemplate", "loadingSpinnerTemplate", "loadingPlaceholderTemplate", "dropdownHeaderTemplate", "dropdownFooterTemplate", "noItemsFoundTemplate", "addCustomTemplate", "itemLimitReachedTemplate", "itemDisplayLimitTemplate", "prefixTemplate", "suffixTemplate", "optionComponents"], never, false, never>;
205
206
  }
@@ -44,6 +44,12 @@ export declare class ArdSelectPlaceholderTemplateDirective {
44
44
  static ɵfac: i0.ɵɵFactoryDeclaration<ArdSelectPlaceholderTemplateDirective, never>;
45
45
  static ɵdir: i0.ɵɵDirectiveDeclaration<ArdSelectPlaceholderTemplateDirective, "ard-select > ng-template[ard-placeholder-tmp]", never, {}, {}, never, never, false, never>;
46
46
  }
47
+ export declare class ArdSelectDropdownArrowTemplateDirective {
48
+ template: TemplateRef<null>;
49
+ constructor(template: TemplateRef<null>);
50
+ static ɵfac: i0.ɵɵFactoryDeclaration<ArdSelectDropdownArrowTemplateDirective, never>;
51
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ArdSelectDropdownArrowTemplateDirective, "ard-select > ng-template[ard-dropdown-arrow-tmp]", never, {}, {}, never, never, false, never>;
52
+ }
47
53
  export declare class ArdLoadingSpinnerTemplateDirective {
48
54
  template: TemplateRef<null>;
49
55
  constructor(template: TemplateRef<null>);
@@ -9,6 +9,6 @@ import * as i7 from "@ardium-ui/devkit";
9
9
  import * as i8 from "../_internal/clear-button/clear-button.module";
10
10
  export declare class ArdiumSelectModule {
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<ArdiumSelectModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<ArdiumSelectModule, [typeof i1.ArdiumSelectComponent, typeof i2.ArdOptionTemplateDirective, typeof i2.ArdOptgroupTemplateDirective, typeof i2.ArdValueTemplateDirective, typeof i2.ArdSelectPlaceholderTemplateDirective, typeof i2.ArdLoadingSpinnerTemplateDirective, typeof i2.ArdLoadingPlaceholderTemplateDirective, typeof i2.ArdDropdownHeaderTemplateDirective, typeof i2.ArdDropdownFooterTemplateDirective, typeof i2.ArdNoItemsFoundTemplateDirective, typeof i2.ArdValueChipTemplateDirective, typeof i2.ArdItemLimitReachedTemplateDirective, typeof i2.ArdItemDisplayLimitTemplateDirective, typeof i2.ArdAddCustomTemplateDirective, typeof i2.ArdSelectPrefixTemplateDirective, typeof i2.ArdSelectSuffixTemplateDirective], [typeof i3.CommonModule, typeof i4.ArdiumFormFieldFrameModule, typeof i5.ArdiumDropdownPanelModule, typeof i6.ArdiumChipModule, typeof i7.ArdiumClickOutsideModule, typeof i8._ClearButtonModule, typeof i7.ArdiumEscapeHTMLModule], [typeof i1.ArdiumSelectComponent, typeof i2.ArdOptionTemplateDirective, typeof i2.ArdOptgroupTemplateDirective, typeof i2.ArdValueTemplateDirective, typeof i2.ArdSelectPlaceholderTemplateDirective, typeof i2.ArdLoadingSpinnerTemplateDirective, typeof i2.ArdLoadingPlaceholderTemplateDirective, typeof i2.ArdDropdownHeaderTemplateDirective, typeof i2.ArdDropdownFooterTemplateDirective, typeof i2.ArdNoItemsFoundTemplateDirective, typeof i2.ArdValueChipTemplateDirective, typeof i2.ArdItemLimitReachedTemplateDirective, typeof i2.ArdItemDisplayLimitTemplateDirective, typeof i2.ArdAddCustomTemplateDirective, typeof i2.ArdSelectPrefixTemplateDirective, typeof i2.ArdSelectSuffixTemplateDirective]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ArdiumSelectModule, [typeof i1.ArdiumSelectComponent, typeof i2.ArdOptionTemplateDirective, typeof i2.ArdOptgroupTemplateDirective, typeof i2.ArdValueTemplateDirective, typeof i2.ArdSelectPlaceholderTemplateDirective, typeof i2.ArdLoadingSpinnerTemplateDirective, typeof i2.ArdLoadingPlaceholderTemplateDirective, typeof i2.ArdDropdownHeaderTemplateDirective, typeof i2.ArdDropdownFooterTemplateDirective, typeof i2.ArdNoItemsFoundTemplateDirective, typeof i2.ArdValueChipTemplateDirective, typeof i2.ArdItemLimitReachedTemplateDirective, typeof i2.ArdItemDisplayLimitTemplateDirective, typeof i2.ArdAddCustomTemplateDirective, typeof i2.ArdSelectPrefixTemplateDirective, typeof i2.ArdSelectSuffixTemplateDirective, typeof i2.ArdSelectDropdownArrowTemplateDirective], [typeof i3.CommonModule, typeof i4.ArdiumFormFieldFrameModule, typeof i5.ArdiumDropdownPanelModule, typeof i6.ArdiumChipModule, typeof i7.ArdiumClickOutsideModule, typeof i8._ClearButtonModule, typeof i7.ArdiumEscapeHTMLModule], [typeof i1.ArdiumSelectComponent, typeof i2.ArdOptionTemplateDirective, typeof i2.ArdOptgroupTemplateDirective, typeof i2.ArdValueTemplateDirective, typeof i2.ArdSelectPlaceholderTemplateDirective, typeof i2.ArdLoadingSpinnerTemplateDirective, typeof i2.ArdLoadingPlaceholderTemplateDirective, typeof i2.ArdDropdownHeaderTemplateDirective, typeof i2.ArdDropdownFooterTemplateDirective, typeof i2.ArdNoItemsFoundTemplateDirective, typeof i2.ArdValueChipTemplateDirective, typeof i2.ArdItemLimitReachedTemplateDirective, typeof i2.ArdItemDisplayLimitTemplateDirective, typeof i2.ArdAddCustomTemplateDirective, typeof i2.ArdSelectPrefixTemplateDirective, typeof i2.ArdSelectSuffixTemplateDirective, typeof i2.ArdSelectDropdownArrowTemplateDirective]>;
13
13
  static ɵinj: i0.ɵɵInjectorDeclaration<ArdiumSelectModule>;
14
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ardium-ui/ui",
3
- "version": "5.0.0-alpha.23",
3
+ "version": "5.0.0-alpha.25",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=18.0.0",
6
6
  "@angular/core": ">=18.0.0",
@@ -253,7 +253,7 @@ ard-button {
253
253
  .ard-button.ard-appearance-flat, .ard-button.ard-appearance-raised-strong {
254
254
  background: var(--ard-cmpcl--bg);
255
255
  color: var(--ard-cmpcl--on-bg);
256
- border: none;
256
+ border: 1px solid var(--ard-cmpcl--bg);
257
257
  }
258
258
  .ard-button.ard-appearance-flat .ard-focus-overlay, .ard-button.ard-appearance-raised-strong .ard-focus-overlay {
259
259
  background: var(--ard-cmpcl--on-bg);
@@ -245,7 +245,7 @@ ard-fab {
245
245
  .ard-fab.ard-appearance-flat, .ard-fab.ard-appearance-raised-strong {
246
246
  background: var(--ard-cmpcl--bg);
247
247
  color: var(--ard-cmpcl--on-bg);
248
- border: none;
248
+ border: 1px solid var(--ard-cmpcl--bg);
249
249
  }
250
250
  .ard-fab.ard-appearance-flat .ard-focus-overlay, .ard-fab.ard-appearance-raised-strong .ard-focus-overlay {
251
251
  background: var(--ard-cmpcl--on-bg);
@@ -250,7 +250,7 @@ ard-icon-button {
250
250
  .ard-icon-button.ard-appearance-flat, .ard-icon-button.ard-appearance-raised-strong {
251
251
  background: var(--ard-cmpcl--bg);
252
252
  color: var(--ard-cmpcl--on-bg);
253
- border: none;
253
+ border: 1px solid var(--ard-cmpcl--bg);
254
254
  }
255
255
  .ard-icon-button.ard-appearance-flat .ard-focus-overlay, .ard-icon-button.ard-appearance-raised-strong .ard-focus-overlay {
256
256
  background: var(--ard-cmpcl--on-bg);
@@ -1,14 +1,56 @@
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-dropdown-arrow-active-transform: rotate(180deg);
17
+ --ard-select-dropdown-arrow-transition: 0.2s ease-in-out;
18
+ --ard-select-multiselect-padding: 0.25em 0;
19
+ --ard-select-multiselect-chip-gap: 0.375rem;
20
+ --ard-select-dropdown-width: max-content;
21
+ --ard-select-dropdown-max-width: max(25em, 100%);
22
+ --ard-select-dropdown-min-width: 100%;
23
+ --ard-select-dropdown-max-height: 15em;
24
+ --ard-select-dropdown-font-size: var(--ard-select-font-size, var(--ard-form-field-font-size, 1rem));
25
+ --ard-select-dropdown-font-size-compact: var(--ard-select-font-size-compact, var(--ard-form-field-font-size-compact, 0.875rem));
26
+ --ard-select-dropdown-padding: 0.375em 0.625em;
27
+ --ard-select-dropdown-gap: 0;
28
+ --ard-select-dropdown-optgroup-label-font-size: 0.875em;
29
+ --ard-select-dropdown-optgroup-label-font-weight: 600;
30
+ --ard-select-dropdown-optgroup-label-letter-spacing: 0.25px;
31
+ --ard-select-dropdown-optgroup-label-padding: 0.375em 0.625em 0.0625em 0.625em;
32
+ --ard-select-dropdown-option-padding: 0.375em 0.625em;
33
+ --ard-select-dropdown-option-text-color: var(--ard-text2, rgba(0, 0, 0, 87%));
34
+ --ard-select-dropdown-option-highlight-bg: var(--ard-darken-overlay-light, rgba(0, 0, 0, 5%));
35
+ --ard-select-dropdown-option-selected-font-weight: 500;
36
+ --ard-select-dropdown-option-selected-bg: var(--ard-darken-overlay-medium, rgba(0, 0, 0, 10%));
37
+ --ard-select-dropdown-option-disabled-opacity: 50%;
38
+ --ard-select-dropdown-add-custom-gap: 0.375rem;
39
+ --ard-select-dropdown-add-custom-label-font-size: 85%;
40
+ }
41
+
1
42
  .ard-select {
2
43
  box-sizing: border-box;
3
44
  width: 100%;
4
- min-height: 100%;
45
+ min-height: var(--ard-select-height, var(--ard-form-field-height, 2.3125rem));
5
46
  display: grid;
6
47
  align-items: center;
7
48
  grid-template-columns: 1fr max-content;
8
- gap: 0.625em;
9
- padding: 0 1em 0 0.375em;
49
+ gap: var(--ard-select-gap, 0.625rem);
50
+ padding: var(--ard-select-padding, 0 1em 0 0.375em);
10
51
  font-family: var(--ard-font-family);
11
- font-size: 1rem;
52
+ font-size: var(--ard-select-font-size, 1rem);
53
+ color: var(--ard-select-text-color, var(--ard-text, rgb(0, 0, 0)));
12
54
  }
13
55
  .ard-select ard-clear-button {
14
56
  height: var(--ard-clear-button-size);
@@ -74,15 +116,12 @@
74
116
  .ard-select .ard-clear-btn-wrapper:active .ard-focus-overlay {
75
117
  opacity: 15%;
76
118
  }
77
- .ard-select.ard-variant-pill {
78
- padding-left: 0.8125em;
79
- }
80
119
  .ard-select .ard-select-value-container {
81
120
  position: relative;
82
121
  height: 2em;
83
122
  display: flex;
84
123
  align-items: center;
85
- font-size: 1em;
124
+ font-size: var(--ard-select-font-size, 1rem);
86
125
  text-size-adjust: 100%;
87
126
  flex-grow: 1;
88
127
  overflow: hidden;
@@ -90,7 +129,7 @@
90
129
  .ard-select .ard-select-value-container .ard-placeholder {
91
130
  font: inherit;
92
131
  position: absolute;
93
- color: var(--ard-text3);
132
+ color: var(--ard-select-placeholder-color, rgba(0, 0, 0, 0.75));
94
133
  white-space: nowrap;
95
134
  overflow: hidden;
96
135
  text-overflow: ellipsis;
@@ -115,7 +154,7 @@
115
154
  .ard-select .ard-select-controls {
116
155
  display: flex;
117
156
  align-items: center;
118
- gap: 0.625em;
157
+ gap: var(--ard-select-controls-gap, 0.625rem);
119
158
  width: max-content;
120
159
  }
121
160
  .ard-select.ard-singleselect .ard-value {
@@ -141,10 +180,10 @@
141
180
  .ard-select.ard-multiselect .ard-select-value-container {
142
181
  height: max-content;
143
182
  min-height: 1.5625em;
144
- padding: 0.25em 0;
183
+ padding: var(--ard-select-multiselect-padding, 0.25em 0);
145
184
  box-sizing: border-box;
146
185
  flex-wrap: wrap;
147
- gap: 0.375em;
186
+ gap: var(--ard-select-multiselect-chip-gap, 0.375rem);
148
187
  justify-content: stretch;
149
188
  }
150
189
  .ard-select.ard-multiselect .ard-select-value-container .ard-chip-wrapper {
@@ -153,10 +192,10 @@
153
192
  .ard-select.ard-multiselect .ard-search-input {
154
193
  flex-grow: 1;
155
194
  width: unset !important;
156
- min-width: 10ch;
195
+ min-width: var(--ard-select-search-min-width, 10ch);
157
196
  }
158
197
  .ard-select.ard-multiselect .ard-search-input input {
159
- width: 10ch !important;
198
+ width: var(--ard-select-search-min-width, 10ch) !important;
160
199
  }
161
200
  .ard-select.ard-multiselect .ard-chip-wrapper {
162
201
  margin: 0;
@@ -169,21 +208,25 @@
169
208
  background-color: transparent;
170
209
  border: none;
171
210
  cursor: pointer;
211
+ transition: transform var(--ard-select-dropdown-arrow-transition, 0.2s ease-in-out);
172
212
  }
173
213
  .ard-select .ard-dropdown-arrow-wrapper .ard-dropdown-arrow {
174
214
  border: calc(var(--ard-dropdown-button-size) / 2) solid transparent;
175
215
  position: relative;
176
- border-bottom-color: var(--ard-detail);
177
- border-right-color: var(--ard-detail);
216
+ border-bottom-color: var(--ard-select-dropdown-arrow-color, var(--ard-detail));
217
+ border-right-color: var(--ard-select-dropdown-arrow-color, var(--ard-detail));
178
218
  transform: rotate(45deg) translate(-17.67771%, -17.67771%);
179
219
  }
180
- .ard-select.ard-dropdown-open .ard-dropdown-arrow {
181
- transform: rotate(45deg) translate(17.67771%, 17.67771%) scaleX(-1) scaleY(-1);
220
+ .ard-select.ard-dropdown-open .ard-dropdown-arrow-wrapper {
221
+ transform: var(--ard-select-dropdown-arrow-active-transform, rotate(180deg));
182
222
  }
183
223
  .ard-select.ard-compact {
184
- font-size: 0.85rem;
185
- height: 1.5625rem;
186
- padding-right: 0.625em;
224
+ font-size: var(--ard-select-font-size-compact, 0.875rem);
225
+ height: var(--ard-select-height-compact, var(--ard-form-field-height-compact, 1.6875rem));
226
+ padding: var(--ard-select-padding-compact, 0 0.625em 0 0.375em);
227
+ }
228
+ .ard-select.ard-compact .ard-select-controls {
229
+ gap: var(--ard-select-controls-gap-compact, 0.5rem);
187
230
  }
188
231
  .ard-select.ard-compact .ard-dropdown-arrow-wrapper .ard-dropdown-arrow {
189
232
  border-width: calc(var(--ard-dropdown-button-size) / 2.4);
@@ -191,14 +234,14 @@
191
234
 
192
235
  .ard-select-dropdown-panel {
193
236
  right: 0;
194
- width: max-content;
195
- max-width: max(25em, 100%);
196
- min-width: 100%;
197
- font-size: 1rem;
237
+ width: var(--ard-select-dropdown-width, max-content);
238
+ max-width: var(--ard-select-dropdown-max-width, max(25em, 100%));
239
+ min-width: var(--ard-select-dropdown-min-width, 100%);
240
+ font-size: var(--ard-select-dropdown-font-size, var(--ard-form-field-font-size, 1rem));
198
241
  }
199
242
  .ard-select-dropdown-panel .ard-dropdown-panel-content {
200
- padding: 0.375em 0;
201
- max-height: 15em;
243
+ padding: var(--ard-select-dropdown-padding, 0.375em 0.625em);
244
+ max-height: var(--ard-select-dropdown-max-height, 15em);
202
245
  overflow: hidden auto;
203
246
  }
204
247
  .ard-select-dropdown-panel .ard-optgroup {
@@ -210,26 +253,26 @@
210
253
  cursor: default;
211
254
  }
212
255
  .ard-select-dropdown-panel .ard-optgroup-label {
213
- font-size: 0.875em;
214
- font-weight: 600;
256
+ font-size: var(--ard-select-dropdown-optgroup-label-font-size, 0.875em);
257
+ font-weight: var(--ard-select-dropdown-optgroup-label-font-weight, 600);
215
258
  letter-spacing: 0.25px;
216
- padding: 0.375em 0.625em 0.0625em 0.625em;
259
+ padding: var(--ard-select-dropdown-optgroup-label-padding, 0.375em 0.625em 0.0625em 0.625em);
217
260
  }
218
261
  .ard-select-dropdown-panel .ard-option {
219
- padding: 0.375em 0.625em;
220
- color: var(--ard-text2);
262
+ padding: var(--ard-select-dropdown-option-padding, 0.375em 0.625em);
263
+ color: var(--ard-select-dropdown-option-text-color, var(--ard-text2, rgba(0, 0, 0, 0.87)));
221
264
  cursor: pointer;
222
265
  }
223
266
  .ard-select-dropdown-panel .ard-option.ard-option-highlighted {
224
- background: var(--ard-darken-overlay-light);
267
+ background: var(--ard-select-dropdown-option-highlight-bg, var(--ard-darken-overlay-light));
225
268
  }
226
269
  .ard-select-dropdown-panel .ard-option.ard-option-selected {
227
- font-weight: 500;
228
- background: var(--ard-darken-overlay-medium);
270
+ font-weight: var(--ard-select-dropdown-option-selected-font-weight, 500);
271
+ background: var(--ard-select-dropdown-option-selected-bg, var(--ard-darken-overlay-medium));
229
272
  }
230
273
  .ard-select-dropdown-panel .ard-option.ard-option-disabled {
231
274
  pointer-events: none;
232
- opacity: 50%;
275
+ opacity: var(--ard-select-dropdown-option-disabled-opacity, 50%);
233
276
  }
234
277
  .ard-select-dropdown-panel hr.ard-divider {
235
278
  width: calc(100% - 1.25em);
@@ -243,13 +286,13 @@
243
286
  .ard-select-dropdown-panel .ard-add-custom {
244
287
  display: flex;
245
288
  align-items: flex-end;
246
- gap: 0.375rem;
289
+ gap: var(--ard-select-dropdown-add-custom-gap, 0.375rem);
247
290
  }
248
291
  .ard-select-dropdown-panel .ard-add-custom .ard-add-custom-label {
249
- font-size: 85%;
292
+ font-size: var(--ard-select-dropdown-add-custom-label-font-size, 85%);
250
293
  }
251
294
  .ard-select-dropdown-panel > .ard-compact {
252
- font-size: 0.85rem;
295
+ font-size: var(--ard-select-dropdown-font-size-compact, 0.85rem);
253
296
  }
254
297
 
255
298
  .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;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;;AC1DA;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;;ADDN;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;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;;AAKJ;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"}
@@ -109,7 +109,7 @@
109
109
  &.ard-appearance-raised-strong {
110
110
  background: var(--ard-cmpcl--bg);
111
111
  color: var(--ard-cmpcl--on-bg);
112
- border: none;
112
+ border: 1px solid var(--ard-cmpcl--bg);
113
113
 
114
114
  .ard-focus-overlay {
115
115
  background: var(--ard-cmpcl--on-bg);
@@ -2,32 +2,75 @@
2
2
  @use './mixins' as defaultMixins;
3
3
  @use '../variables' as ARD;
4
4
 
5
+ :root {
6
+ --ard-select-height: var(--ard-form-field-height, 2.3125rem);
7
+ --ard-select-height-compact: var(--ard-form-field-height-compact, 1.6875rem);
8
+ --ard-select-gap: 0.625rem;
9
+ --ard-select-gap-compact: 0.5rem;
10
+ --ard-select-controls-gap: 0.625rem;
11
+ --ard-select-controls-gap-compact: 0.5rem;
12
+ --ard-select-padding: 0 1em 0 0.375em;
13
+ --ard-select-padding-compact: 0 0.625em 0 0.375em;
14
+
15
+ --ard-select-font-size: var(--ard-form-field-font-size, 1rem);
16
+ --ard-select-font-size-compact: var(--ard-form-field-font-size-compact, 0.875rem);
17
+ --ard-select-text-color: var(--ard-text, rgba(0, 0, 0, 100%));
18
+ --ard-select-placeholder-color: var(--ard-text3, rgba(0, 0, 0, 75%));
19
+ --ard-select-search-min-width: 10ch;
20
+ --ard-select-dropdown-arrow-color: var(--ard-detail, rgba(0, 0, 0, 60%));
21
+ --ard-select-dropdown-arrow-active-transform: rotate(180deg);
22
+ --ard-select-dropdown-arrow-transition: 0.2s ease-in-out;
23
+
24
+ --ard-select-multiselect-padding: 0.25em 0;
25
+ --ard-select-multiselect-chip-gap: 0.375rem;
26
+
27
+ --ard-select-dropdown-width: max-content;
28
+ --ard-select-dropdown-max-width: max(25em, 100%);
29
+ --ard-select-dropdown-min-width: 100%;
30
+ --ard-select-dropdown-max-height: 15em;
31
+ --ard-select-dropdown-font-size: var(--ard-select-font-size, var(--ard-form-field-font-size, 1rem));
32
+ --ard-select-dropdown-font-size-compact: var(--ard-select-font-size-compact, var(--ard-form-field-font-size-compact, 0.875rem));
33
+ --ard-select-dropdown-padding: 0.375em 0.625em;
34
+ --ard-select-dropdown-gap: 0;
35
+
36
+ --ard-select-dropdown-optgroup-label-font-size: 0.875em;
37
+ --ard-select-dropdown-optgroup-label-font-weight: 600;
38
+ --ard-select-dropdown-optgroup-label-letter-spacing: 0.25px;
39
+ --ard-select-dropdown-optgroup-label-padding: 0.375em 0.625em 0.0625em 0.625em;
40
+
41
+ --ard-select-dropdown-option-padding: 0.375em 0.625em;
42
+ --ard-select-dropdown-option-text-color: var(--ard-text2, rgba(0, 0, 0, 87%));
43
+ --ard-select-dropdown-option-highlight-bg: var(--ard-darken-overlay-light, rgba(0, 0, 0, 5%));
44
+ --ard-select-dropdown-option-selected-font-weight: 500;
45
+ --ard-select-dropdown-option-selected-bg: var(--ard-darken-overlay-medium, rgba(0, 0, 0, 10%));
46
+ --ard-select-dropdown-option-disabled-opacity: 50%;
47
+
48
+ --ard-select-dropdown-add-custom-gap: 0.375rem;
49
+ --ard-select-dropdown-add-custom-label-font-size: 85%;
50
+ }
51
+
5
52
  .ard-select {
6
53
  box-sizing: border-box;
7
54
  width: 100%;
8
- min-height: 100%;
55
+ min-height: var(--ard-select-height, var(--ard-form-field-height, 2.3125rem));
9
56
  display: grid;
10
57
  align-items: center;
11
58
  grid-template-columns: 1fr max-content;
12
- gap: 0.625em;
13
- padding: 0 1em 0 0.375em;
59
+ gap: var(--ard-select-gap, 0.625rem);
60
+ padding: var(--ard-select-padding, 0 1em 0 0.375em);
14
61
  font-family: var(--ard-font-family);
15
- font-size: 1rem;
62
+ font-size: var(--ard-select-font-size, 1rem);
63
+ color: var(--ard-select-text-color, var(--ard-text, rgba(0, 0, 0, 100%)));
16
64
 
17
65
  @include CB.clearButton();
18
66
 
19
- //! variants
20
- &.ard-variant-pill {
21
- padding-left: 0.8125em;
22
- }
23
-
24
67
  //! value container
25
68
  .ard-select-value-container {
26
69
  position: relative;
27
70
  height: 2em;
28
71
  display: flex;
29
72
  align-items: center;
30
- font-size: 1em;
73
+ font-size: var(--ard-select-font-size, 1rem);
31
74
  text-size-adjust: 100%;
32
75
  flex-grow: 1;
33
76
  overflow: hidden;
@@ -35,7 +78,7 @@
35
78
  .ard-placeholder {
36
79
  font: inherit;
37
80
  position: absolute;
38
- color: ARD.$text3;
81
+ color: var(--ard-select-placeholder-color, rgba(0, 0, 0, 75%));
39
82
  white-space: nowrap;
40
83
  overflow: hidden;
41
84
  text-overflow: ellipsis;
@@ -63,7 +106,7 @@
63
106
  .ard-select-controls {
64
107
  display: flex;
65
108
  align-items: center;
66
- gap: 0.625em;
109
+ gap: var(--ard-select-controls-gap, 0.625rem);
67
110
  width: max-content;
68
111
  }
69
112
  //! single/multiselect
@@ -96,10 +139,10 @@
96
139
  .ard-select-value-container {
97
140
  height: max-content;
98
141
  min-height: 1.5625em;
99
- padding: 0.25em 0;
142
+ padding: var(--ard-select-multiselect-padding, 0.25em 0);
100
143
  box-sizing: border-box;
101
144
  flex-wrap: wrap;
102
- gap: 0.375em;
145
+ gap: var(--ard-select-multiselect-chip-gap, 0.375rem);
103
146
  justify-content: stretch;
104
147
 
105
148
  .ard-chip-wrapper {
@@ -109,10 +152,10 @@
109
152
  .ard-search-input {
110
153
  flex-grow: 1;
111
154
  width: unset !important;
112
- min-width: 10ch;
155
+ min-width: var(--ard-select-search-min-width, 10ch);
113
156
 
114
157
  input {
115
- width: 10ch !important;
158
+ width: var(--ard-select-search-min-width, 10ch) !important;
116
159
  }
117
160
  }
118
161
  .ard-chip-wrapper {
@@ -128,25 +171,31 @@
128
171
  background-color: transparent;
129
172
  border: none;
130
173
  cursor: pointer;
174
+ transition: transform var(--ard-select-dropdown-arrow-transition, 0.2s ease-in-out);
131
175
 
132
176
  .ard-dropdown-arrow {
133
177
  border: calc(ARD.$dropdown-button-size / 2) solid transparent;
134
178
  position: relative;
135
- border-bottom-color: ARD.$detail;
136
- border-right-color: ARD.$detail;
179
+ border-bottom-color: var(--ard-select-dropdown-arrow-color, ARD.$detail);
180
+ border-right-color: var(--ard-select-dropdown-arrow-color, ARD.$detail);
137
181
  transform: rotate(45deg) translate(-17.67771%, -17.67771%);
138
182
  }
139
183
  }
140
- &.ard-dropdown-open .ard-dropdown-arrow {
141
- transform: rotate(45deg) translate(17.67771%, 17.67771%) scaleX(-1) scaleY(-1);
184
+ &.ard-dropdown-open {
185
+ .ard-dropdown-arrow-wrapper {
186
+ transform: var(--ard-select-dropdown-arrow-active-transform, rotate(180deg));
187
+ }
142
188
  }
143
189
 
144
190
  //! compact
145
191
  &.ard-compact {
146
- font-size: 0.85rem;
147
- height: 1.5625rem;
148
- padding-right: 0.625em;
192
+ font-size: var(--ard-select-font-size-compact, 0.875rem);
193
+ height: var(--ard-select-height-compact, var(--ard-form-field-height-compact, 1.6875rem));
194
+ padding: var(--ard-select-padding-compact, 0 0.625em 0 0.375em);
149
195
 
196
+ .ard-select-controls {
197
+ gap: var(--ard-select-controls-gap-compact, 0.5rem);
198
+ }
150
199
  .ard-dropdown-arrow-wrapper .ard-dropdown-arrow {
151
200
  border-width: calc(ARD.$dropdown-button-size / 2.4);
152
201
  }
@@ -156,14 +205,14 @@
156
205
  //! optgroups & options, divider
157
206
  .ard-select-dropdown-panel {
158
207
  right: 0;
159
- width: max-content;
160
- max-width: max(25em, 100%);
161
- min-width: 100%;
162
- font-size: 1rem;
208
+ width: var(--ard-select-dropdown-width, max-content);
209
+ max-width: var(--ard-select-dropdown-max-width, max(25em, 100%));
210
+ min-width: var(--ard-select-dropdown-min-width, 100%);
211
+ font-size: var(--ard-select-dropdown-font-size, var(--ard-form-field-font-size, 1rem));
163
212
 
164
213
  .ard-dropdown-panel-content {
165
- padding: 0.375em 0;
166
- max-height: 15em;
214
+ padding: var(--ard-select-dropdown-padding, 0.375em 0.625em);
215
+ max-height: var(--ard-select-dropdown-max-height, 15em);
167
216
  overflow: hidden auto;
168
217
  }
169
218
  .ard-optgroup {
@@ -176,29 +225,29 @@
176
225
  }
177
226
 
178
227
  .ard-optgroup-label {
179
- font-size: 0.875em;
180
- font-weight: 600;
228
+ font-size: var(--ard-select-dropdown-optgroup-label-font-size, 0.875em);
229
+ font-weight: var(--ard-select-dropdown-optgroup-label-font-weight, 600);
181
230
  letter-spacing: 0.25px;
182
- padding: 0.375em 0.625em 0.0625em 0.625em;
231
+ padding: var(--ard-select-dropdown-optgroup-label-padding, 0.375em 0.625em 0.0625em 0.625em);
183
232
  }
184
233
 
185
234
  .ard-option {
186
- padding: 0.375em 0.625em;
187
- color: ARD.$text2;
235
+ padding: var(--ard-select-dropdown-option-padding, 0.375em 0.625em);
236
+ color: var(--ard-select-dropdown-option-text-color, var(--ard-text2, rgba(0, 0, 0, 87%)));
188
237
  cursor: pointer;
189
238
 
190
239
  &.ard-option-highlighted {
191
- background: ARD.$darken-overlay-light;
240
+ background: var(--ard-select-dropdown-option-highlight-bg, ARD.$darken-overlay-light);
192
241
  }
193
242
 
194
243
  &.ard-option-selected {
195
- font-weight: 500;
196
- background: ARD.$darken-overlay-medium;
244
+ font-weight: var(--ard-select-dropdown-option-selected-font-weight, 500);
245
+ background: var(--ard-select-dropdown-option-selected-bg, ARD.$darken-overlay-medium);
197
246
  }
198
247
 
199
248
  &.ard-option-disabled {
200
249
  pointer-events: none;
201
- opacity: 50%;
250
+ opacity: var(--ard-select-dropdown-option-disabled-opacity, 50%);
202
251
  }
203
252
  }
204
253
  //divider
@@ -216,16 +265,16 @@
216
265
  .ard-add-custom {
217
266
  display: flex;
218
267
  align-items: flex-end;
219
- gap: 0.375rem;
268
+ gap: var(--ard-select-dropdown-add-custom-gap, 0.375rem);
220
269
 
221
270
  .ard-add-custom-label {
222
- font-size: 85%;
271
+ font-size: var(--ard-select-dropdown-add-custom-label-font-size, 85%);
223
272
  }
224
273
  }
225
274
 
226
275
  //! compact
227
276
  > .ard-compact {
228
- font-size: 0.85rem;
277
+ font-size: var(--ard-select-dropdown-font-size-compact, 0.85rem);
229
278
  }
230
279
  }
231
280