@otto-de/b2b-core-components 1.31.4 → 1.32.1
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.
- package/dist/b2b-core-components/b2b-core-components.esm.js +1 -1
- package/dist/b2b-core-components/{p-61bc1384.entry.js → p-01f46118.entry.js} +1 -1
- package/dist/b2b-core-components/{p-6913515c.entry.js → p-0322b052.entry.js} +1 -1
- package/dist/b2b-core-components/{p-6536595a.entry.js → p-092855b3.entry.js} +1 -1
- package/dist/b2b-core-components/{p-f5b69b85.entry.js → p-0bd177d4.entry.js} +1 -1
- package/dist/b2b-core-components/{p-d31df455.entry.js → p-0bf2c192.entry.js} +1 -1
- package/dist/b2b-core-components/{p-a6ccf7f6.entry.js → p-15df2a47.entry.js} +1 -1
- package/dist/b2b-core-components/{p-74db37ef.entry.js → p-16872771.entry.js} +1 -1
- package/dist/b2b-core-components/{p-72dbc623.entry.js → p-190a7350.entry.js} +1 -1
- package/dist/b2b-core-components/{p-3d881765.entry.js → p-1abe3f2f.entry.js} +1 -1
- package/dist/b2b-core-components/p-1cfaf44a.js +1 -0
- package/dist/b2b-core-components/{p-05010d10.entry.js → p-1d6f73dd.entry.js} +1 -1
- package/dist/b2b-core-components/{p-71a4c9da.entry.js → p-26755654.entry.js} +1 -1
- package/dist/b2b-core-components/p-28a06853.entry.js +1 -0
- package/dist/b2b-core-components/{p-b9fed5dc.entry.js → p-2d625559.entry.js} +1 -1
- package/dist/b2b-core-components/{p-42058858.entry.js → p-3a088f2b.entry.js} +1 -1
- package/dist/b2b-core-components/p-3f8dc6e5.entry.js +1 -0
- package/dist/b2b-core-components/{p-a155219a.entry.js → p-40371f89.entry.js} +1 -1
- package/dist/b2b-core-components/{p-b510e8c5.entry.js → p-521303c4.entry.js} +1 -1
- package/dist/b2b-core-components/{p-9efb72c4.entry.js → p-58e9953b.entry.js} +1 -1
- package/dist/b2b-core-components/{p-e56705a6.entry.js → p-639d68a2.entry.js} +1 -1
- package/dist/b2b-core-components/{p-025896df.entry.js → p-660c758b.entry.js} +1 -1
- package/dist/b2b-core-components/p-67484ecc.entry.js +1 -0
- package/dist/b2b-core-components/{p-d13c613b.entry.js → p-6749d668.entry.js} +1 -1
- package/dist/b2b-core-components/p-6b291a01.entry.js +1 -0
- package/dist/b2b-core-components/{p-943a3829.entry.js → p-6c60d337.entry.js} +1 -1
- package/dist/b2b-core-components/p-6d64a994.entry.js +1 -0
- package/dist/b2b-core-components/{p-5077207f.entry.js → p-797c85c2.entry.js} +1 -1
- package/dist/b2b-core-components/{p-359e5f9d.entry.js → p-7df12ddf.entry.js} +1 -1
- package/dist/b2b-core-components/{p-d1c8105b.entry.js → p-82a2809e.entry.js} +1 -1
- package/dist/b2b-core-components/{p-66ab9de5.entry.js → p-848e4af7.entry.js} +1 -1
- package/dist/b2b-core-components/p-9fb493de.entry.js +1 -0
- package/dist/b2b-core-components/p-ae7ec34a.entry.js +1 -0
- package/dist/b2b-core-components/{p-2e0f9821.entry.js → p-b1191aa7.entry.js} +1 -1
- package/dist/b2b-core-components/{p-6ae8c29f.entry.js → p-bade1cab.entry.js} +1 -1
- package/dist/b2b-core-components/{p-1036bf3d.entry.js → p-bf9c8817.entry.js} +1 -1
- package/dist/b2b-core-components/p-d88113f5.entry.js +1 -0
- package/dist/b2b-core-components/{p-e78f9131.entry.js → p-db92de92.entry.js} +1 -1
- package/dist/b2b-core-components/p-dbf44caf.js +1 -0
- package/dist/b2b-core-components/{p-39a9ff8d.entry.js → p-dcef84a5.entry.js} +1 -1
- package/dist/b2b-core-components/{p-bd567ca9.entry.js → p-e2518c43.entry.js} +1 -1
- package/dist/b2b-core-components/{p-301695a4.entry.js → p-e7590b6e.entry.js} +1 -1
- package/dist/b2b-core-components/p-ed5c6006.entry.js +1 -0
- package/dist/b2b-core-components/{p-11f5ef4c.entry.js → p-ef598009.entry.js} +1 -1
- package/dist/b2b-core-components/{p-ccff4b4e.entry.js → p-f661154c.entry.js} +1 -1
- package/dist/b2b-core-components/{p-9c76af72.entry.js → p-fb0338a8.entry.js} +1 -1
- package/dist/b2b-core-components/{p-fc73eb96.entry.js → p-fc431bbe.entry.js} +1 -1
- package/dist/b2b-core-components/{p-46fc97cc.entry.js → p-fedefca2.entry.js} +1 -1
- package/dist/b2b-core-components/{p-27d8f295.entry.js → p-ff6a0874.entry.js} +1 -1
- package/dist/cjs/b2b-button_2.cjs.entry.js +1 -1
- package/dist/cjs/b2b-chip-component_2.cjs.entry.js +2 -2
- package/dist/cjs/b2b-core-components.cjs.js +1 -1
- package/dist/cjs/b2b-custom-dropdown-option.cjs.entry.js +57 -0
- package/dist/cjs/b2b-custom-dropdown.cjs.entry.js +94 -0
- package/dist/cjs/b2b-date-picker-days_5.cjs.entry.js +9 -9
- package/dist/cjs/b2b-date-picker.cjs.entry.js +5 -21
- package/dist/cjs/b2b-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/b2b-flyout-menu-option.cjs.entry.js +1 -1
- package/dist/cjs/b2b-flyout-menu.cjs.entry.js +5 -23
- package/dist/cjs/b2b-grid-col.cjs.entry.js +1 -1
- package/dist/cjs/b2b-grid-row.cjs.entry.js +2 -2
- package/dist/cjs/b2b-grid.cjs.entry.js +1 -1
- package/dist/cjs/b2b-input-group_2.cjs.entry.js +3 -3
- package/dist/cjs/b2b-input-label.cjs.entry.js +2 -2
- package/dist/cjs/b2b-input_2.cjs.entry.js +5 -5
- package/dist/cjs/b2b-label.cjs.entry.js +2 -2
- package/dist/cjs/b2b-modal.cjs.entry.js +2 -2
- package/dist/cjs/b2b-multiselect-dropdown.cjs.entry.js +8 -20
- package/dist/cjs/b2b-pagination.cjs.entry.js +1 -1
- package/dist/cjs/b2b-paragraph.cjs.entry.js +2 -2
- package/dist/cjs/b2b-progress-bar.cjs.entry.js +3 -3
- package/dist/cjs/b2b-radio-button.cjs.entry.js +2 -2
- package/dist/cjs/b2b-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/b2b-required-separator.cjs.entry.js +1 -1
- package/dist/cjs/b2b-rounded-icon.cjs.entry.js +4 -4
- package/dist/cjs/b2b-scrollable-container.cjs.entry.js +1 -1
- package/dist/cjs/b2b-search.cjs.entry.js +1 -1
- package/dist/cjs/b2b-separator.cjs.entry.js +1 -1
- package/dist/cjs/b2b-shimmer.cjs.entry.js +1 -1
- package/dist/cjs/b2b-snackbar.cjs.entry.js +4 -4
- package/dist/cjs/b2b-tab-group.cjs.entry.js +1 -1
- package/dist/cjs/b2b-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/b2b-tab.cjs.entry.js +2 -2
- package/dist/cjs/b2b-table-cell_2.cjs.entry.js +3 -3
- package/dist/cjs/b2b-table-row.cjs.entry.js +2 -2
- package/dist/cjs/b2b-table-rowgroup.cjs.entry.js +2 -2
- package/dist/cjs/b2b-table.cjs.entry.js +2 -2
- package/dist/cjs/b2b-textarea.cjs.entry.js +2 -2
- package/dist/cjs/b2b-toggle-button.cjs.entry.js +3 -3
- package/dist/cjs/b2b-toggle-chip.cjs.entry.js +3 -3
- package/dist/cjs/b2b-toggle-group.cjs.entry.js +2 -2
- package/dist/cjs/b2b-toggle-switch.cjs.entry.js +4 -4
- package/dist/cjs/b2b-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/b2b-wizard-icon.cjs.entry.js +1 -1
- package/dist/cjs/b2b-wizard-step.cjs.entry.js +2 -2
- package/dist/cjs/b2b-wizard.cjs.entry.js +1 -1
- package/dist/cjs/index-668808fd.js +12 -4
- package/dist/cjs/json-property-binding-util-f532af53.js +20 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/utils-7919f19f.js +22 -0
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/custom-dropdown/custom-dropdown-option.css +296 -0
- package/dist/collection/components/custom-dropdown/custom-dropdown-option.js +247 -0
- package/dist/collection/components/custom-dropdown/custom-dropdown.css +280 -0
- package/dist/collection/components/custom-dropdown/custom-dropdown.e2e.js +66 -0
- package/dist/collection/components/custom-dropdown/custom-dropdown.js +227 -0
- package/dist/collection/components/custom-dropdown/custom-dropdown.stories.js +197 -0
- package/dist/collection/components/date-picker/date-picker-days-header.js +1 -1
- package/dist/collection/components/date-picker/date-picker-days.js +1 -1
- package/dist/collection/components/date-picker/date-picker-header.js +5 -5
- package/dist/collection/components/date-picker/date-picker-months.js +1 -1
- package/dist/collection/components/date-picker/date-picker-years.js +1 -1
- package/dist/collection/components/date-picker/date-picker.js +5 -21
- package/dist/collection/components/dropdown/dropdown.js +2 -2
- package/dist/collection/components/flyout-menu/flyout-menu-option.js +1 -1
- package/dist/collection/components/flyout-menu/flyout-menu.js +3 -3
- package/dist/collection/components/grid/column.js +1 -1
- package/dist/collection/components/grid/grid.js +1 -1
- package/dist/collection/components/grid/row.js +2 -2
- package/dist/collection/components/input/input.js +4 -4
- package/dist/collection/components/input-group/input-group.js +1 -1
- package/dist/collection/components/input-label/input-label.js +2 -2
- package/dist/collection/components/input-list/input-list-option.js +1 -1
- package/dist/collection/components/input-list/input-list.js +2 -2
- package/dist/collection/components/label/label.js +2 -2
- package/dist/collection/components/modal/modal.js +2 -2
- package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.js +8 -20
- package/dist/collection/components/multiselect-dropdown/multiselect-option/multiselect-option.js +2 -2
- package/dist/collection/components/pagination/pagination.js +1 -1
- package/dist/collection/components/paragraph/paragraph.js +2 -2
- package/dist/collection/components/progress-bar/progress-bar.js +3 -3
- package/dist/collection/components/radio/radio.js +2 -2
- package/dist/collection/components/radio-group/radio-group.js +2 -2
- package/dist/collection/components/required-separator/required-separator.js +1 -1
- package/dist/collection/components/rounded-icon/rounded-icon.js +4 -4
- package/dist/collection/components/scrollable-container/scrollable-container.js +1 -1
- package/dist/collection/components/search/search.js +1 -1
- package/dist/collection/components/separator/separator.js +1 -1
- package/dist/collection/components/shimmer/shimmer.js +1 -1
- package/dist/collection/components/snackbar/snackbar.js +4 -4
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-group/tab-group.js +1 -1
- package/dist/collection/components/tab-panel/tab-panel.js +1 -1
- package/dist/collection/components/table/table-cell/table-cell.js +2 -2
- package/dist/collection/components/table/table-header/table-header.js +1 -1
- package/dist/collection/components/table/table-row/table-row.js +2 -2
- package/dist/collection/components/table/table-rowgroup/table-rowgroup.js +2 -2
- package/dist/collection/components/table/table.js +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/collection/components/toggle-button/toggle-button.js +3 -3
- package/dist/collection/components/toggle-chip/toggle-chip.js +3 -3
- package/dist/collection/components/toggle-group/toggle-group.js +2 -2
- package/dist/collection/components/toggle-switch/toggle-switch.js +4 -4
- package/dist/collection/components/tooltip/tooltip.js +3 -3
- package/dist/collection/components/wizard/wizard-step.js +2 -2
- package/dist/collection/components/wizard/wizard.js +1 -1
- package/dist/collection/components/wizard-icon/wizard-icon.js +1 -1
- package/dist/collection/utils/json-property-binding-util.js +16 -0
- package/dist/components/b2b-background-box.js +1 -51
- package/dist/components/b2b-custom-dropdown-option.d.ts +11 -0
- package/dist/components/b2b-custom-dropdown-option.js +87 -0
- package/dist/components/b2b-custom-dropdown.d.ts +11 -0
- package/dist/components/b2b-custom-dropdown.js +142 -0
- package/dist/components/b2b-date-picker.js +5 -21
- package/dist/components/b2b-dropdown.js +2 -2
- package/dist/components/b2b-flyout-menu-option.js +1 -1
- package/dist/components/b2b-flyout-menu.js +4 -22
- package/dist/components/b2b-grid-col.js +1 -1
- package/dist/components/b2b-grid-row.js +2 -2
- package/dist/components/b2b-grid.js +1 -1
- package/dist/components/b2b-label.js +2 -2
- package/dist/components/b2b-modal.js +2 -2
- package/dist/components/b2b-multiselect-dropdown.js +8 -20
- package/dist/components/b2b-pagination.js +1 -1
- package/dist/components/b2b-paragraph.js +2 -2
- package/dist/components/b2b-progress-bar.js +3 -3
- package/dist/components/b2b-radio-button.js +2 -2
- package/dist/components/b2b-radio-group.js +2 -2
- package/dist/components/b2b-required-separator.js +1 -1
- package/dist/components/b2b-scrollable-container.js +1 -1
- package/dist/components/b2b-search.js +1 -1
- package/dist/components/b2b-shimmer.js +1 -1
- package/dist/components/b2b-snackbar.js +4 -4
- package/dist/components/b2b-tab-group.js +1 -1
- package/dist/components/b2b-tab-panel.js +1 -1
- package/dist/components/b2b-tab.js +2 -2
- package/dist/components/b2b-table-row.js +3 -3
- package/dist/components/b2b-table-rowgroup.js +3 -3
- package/dist/components/b2b-table.js +3 -3
- package/dist/components/b2b-textarea.js +2 -2
- package/dist/components/b2b-toggle-button.js +3 -3
- package/dist/components/b2b-toggle-chip.js +3 -3
- package/dist/components/b2b-toggle-group.js +2 -2
- package/dist/components/b2b-toggle-switch.js +4 -4
- package/dist/components/b2b-tooltip.js +3 -3
- package/dist/components/b2b-wizard-step.js +2 -2
- package/dist/components/b2b-wizard.js +1 -1
- package/dist/components/background-box.js +53 -0
- package/dist/components/date-picker-days-header.js +1 -1
- package/dist/components/date-picker-days.js +1 -1
- package/dist/components/date-picker-header.js +5 -5
- package/dist/components/date-picker-months.js +1 -1
- package/dist/components/date-picker-years.js +1 -1
- package/dist/components/input-group.js +1 -1
- package/dist/components/input-label.js +2 -2
- package/dist/components/input-list-option.js +1 -1
- package/dist/components/input-list.js +2 -2
- package/dist/components/input.js +4 -4
- package/dist/components/json-property-binding-util.js +18 -0
- package/dist/components/multiselect-option.js +2 -2
- package/dist/components/rounded-icon.js +4 -4
- package/dist/components/separator.js +1 -1
- package/dist/components/spinner.js +1 -1
- package/dist/components/table-cell.js +3 -3
- package/dist/components/table-header.js +2 -2
- package/dist/components/utils.js +18 -68
- package/dist/components/utils2.js +70 -0
- package/dist/components/wizard-icon.js +1 -1
- package/dist/custom-elements.json +74 -0
- package/dist/esm/b2b-button_2.entry.js +1 -1
- package/dist/esm/b2b-chip-component_2.entry.js +2 -2
- package/dist/esm/b2b-core-components.js +1 -1
- package/dist/esm/b2b-custom-dropdown-option.entry.js +53 -0
- package/dist/esm/b2b-custom-dropdown.entry.js +90 -0
- package/dist/esm/b2b-date-picker-days_5.entry.js +9 -9
- package/dist/esm/b2b-date-picker.entry.js +5 -21
- package/dist/esm/b2b-dropdown.entry.js +2 -2
- package/dist/esm/b2b-flyout-menu-option.entry.js +1 -1
- package/dist/esm/b2b-flyout-menu.entry.js +4 -22
- package/dist/esm/b2b-grid-col.entry.js +1 -1
- package/dist/esm/b2b-grid-row.entry.js +2 -2
- package/dist/esm/b2b-grid.entry.js +1 -1
- package/dist/esm/b2b-input-group_2.entry.js +3 -3
- package/dist/esm/b2b-input-label.entry.js +2 -2
- package/dist/esm/b2b-input_2.entry.js +5 -5
- package/dist/esm/b2b-label.entry.js +2 -2
- package/dist/esm/b2b-modal.entry.js +2 -2
- package/dist/esm/b2b-multiselect-dropdown.entry.js +8 -20
- package/dist/esm/b2b-pagination.entry.js +1 -1
- package/dist/esm/b2b-paragraph.entry.js +2 -2
- package/dist/esm/b2b-progress-bar.entry.js +3 -3
- package/dist/esm/b2b-radio-button.entry.js +2 -2
- package/dist/esm/b2b-radio-group.entry.js +2 -2
- package/dist/esm/b2b-required-separator.entry.js +1 -1
- package/dist/esm/b2b-rounded-icon.entry.js +4 -4
- package/dist/esm/b2b-scrollable-container.entry.js +1 -1
- package/dist/esm/b2b-search.entry.js +1 -1
- package/dist/esm/b2b-separator.entry.js +1 -1
- package/dist/esm/b2b-shimmer.entry.js +1 -1
- package/dist/esm/b2b-snackbar.entry.js +4 -4
- package/dist/esm/b2b-tab-group.entry.js +1 -1
- package/dist/esm/b2b-tab-panel.entry.js +1 -1
- package/dist/esm/b2b-tab.entry.js +2 -2
- package/dist/esm/b2b-table-cell_2.entry.js +3 -3
- package/dist/esm/b2b-table-row.entry.js +2 -2
- package/dist/esm/b2b-table-rowgroup.entry.js +2 -2
- package/dist/esm/b2b-table.entry.js +2 -2
- package/dist/esm/b2b-textarea.entry.js +2 -2
- package/dist/esm/b2b-toggle-button.entry.js +3 -3
- package/dist/esm/b2b-toggle-chip.entry.js +3 -3
- package/dist/esm/b2b-toggle-group.entry.js +2 -2
- package/dist/esm/b2b-toggle-switch.entry.js +4 -4
- package/dist/esm/b2b-tooltip.entry.js +3 -3
- package/dist/esm/b2b-wizard-icon.entry.js +1 -1
- package/dist/esm/b2b-wizard-step.entry.js +2 -2
- package/dist/esm/b2b-wizard.entry.js +1 -1
- package/dist/esm/index-ab9eb36d.js +12 -4
- package/dist/esm/json-property-binding-util-5513739e.js +18 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/utils-17e4d283.js +20 -0
- package/dist/types/components/custom-dropdown/custom-dropdown-option.d.ts +29 -0
- package/dist/types/components/custom-dropdown/custom-dropdown.d.ts +29 -0
- package/dist/types/components/custom-dropdown/custom-dropdown.stories.d.ts +12 -0
- package/dist/types/components/date-picker/date-picker.d.ts +0 -1
- package/dist/types/components/multiselect-dropdown/multiselect-dropdown.d.ts +0 -1
- package/dist/types/components.d.ts +157 -0
- package/dist/types/utils/json-property-binding-util.d.ts +1 -0
- package/dist/web-types.json +176 -1
- package/package.json +2 -2
- package/dist/b2b-core-components/p-383d0a10.entry.js +0 -1
- package/dist/b2b-core-components/p-3845cd27.entry.js +0 -1
- package/dist/b2b-core-components/p-400fa973.entry.js +0 -1
- package/dist/b2b-core-components/p-ca46f7fe.entry.js +0 -1
- package/dist/b2b-core-components/p-cfc55372.entry.js +0 -1
- package/dist/b2b-core-components/p-db205434.entry.js +0 -1
- package/dist/b2b-core-components/p-f5786cad.entry.js +0 -1
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { h, Host, } from "@stencil/core";
|
|
2
|
+
export class CustomDropdownOptionComponent {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.handleClick = () => {
|
|
5
|
+
if (!this.disabled) {
|
|
6
|
+
this.b2bOptionSelected.emit({ selectedOption: this.option });
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
this.option = undefined;
|
|
10
|
+
this.disabled = false;
|
|
11
|
+
this.separator = false;
|
|
12
|
+
this.selected = false;
|
|
13
|
+
this.hoverIcon = null;
|
|
14
|
+
this.hoverIconColor = 'b2b-color-black-100';
|
|
15
|
+
this.selectedIcon = null;
|
|
16
|
+
this.selectedIconColor = 'b2b-color-black-100';
|
|
17
|
+
this.isHovered = false;
|
|
18
|
+
}
|
|
19
|
+
handleMouseEnter() {
|
|
20
|
+
this.isHovered = true;
|
|
21
|
+
}
|
|
22
|
+
handleMouseLeave() {
|
|
23
|
+
this.isHovered = false;
|
|
24
|
+
}
|
|
25
|
+
formatColorVariable(color) {
|
|
26
|
+
if (color.startsWith('var(--b2b-color-') && color.endsWith(')')) {
|
|
27
|
+
return color;
|
|
28
|
+
}
|
|
29
|
+
return `var(--${color})`;
|
|
30
|
+
}
|
|
31
|
+
render() {
|
|
32
|
+
return (h(Host, { key: '3a2103f763b42234fdba4b0d86747061a9d38433', class: {
|
|
33
|
+
'b2b-custom-dropdown__option': true,
|
|
34
|
+
'b2b-custom-dropdown__option-hover': this.isHovered && !this.selected,
|
|
35
|
+
'b2b-custom-dropdown__option--disabled': this.disabled,
|
|
36
|
+
'b2b-custom-dropdown__option--separator': this.separator,
|
|
37
|
+
'b2b-custom-dropdown__option--selected': this.selected,
|
|
38
|
+
}, onClick: this.handleClick, disabled: this.disabled, "aria-disabled": this.disabled, role: "option", "aria-selected": this.selected.toString() }, h("div", { key: 'd9fd6073f7f6d402617aefd3f96f882250f4dff3', class: "b2b-option-container" }, h("div", { key: '8bf64fbbf02755bf0557016c22ac60874f4fa584', class: "b2b-custom-dropdown__text-content" }, this.option), h("div", { key: '1b27ba43dca79d5620620c5a2a61982f677a6c35', class: "b2b-custom-dropdown__icon-container" }, this.isHovered && !this.selected && this.hoverIcon ? (h("b2b-icon-100", { icon: this.hoverIcon, style: {
|
|
39
|
+
color: this.formatColorVariable(this.hoverIconColor),
|
|
40
|
+
} })) : this.selected && this.selectedIcon ? (h("b2b-icon-100", { icon: this.selectedIcon, style: {
|
|
41
|
+
color: this.formatColorVariable(this.selectedIconColor),
|
|
42
|
+
} })) : null))));
|
|
43
|
+
}
|
|
44
|
+
static get is() { return "b2b-custom-dropdown-option"; }
|
|
45
|
+
static get encapsulation() { return "shadow"; }
|
|
46
|
+
static get originalStyleUrls() {
|
|
47
|
+
return {
|
|
48
|
+
"$": ["custom-dropdown-option.scss"]
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
static get styleUrls() {
|
|
52
|
+
return {
|
|
53
|
+
"$": ["custom-dropdown-option.css"]
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
static get properties() {
|
|
57
|
+
return {
|
|
58
|
+
"option": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"mutable": false,
|
|
61
|
+
"complexType": {
|
|
62
|
+
"original": "string",
|
|
63
|
+
"resolved": "string",
|
|
64
|
+
"references": {}
|
|
65
|
+
},
|
|
66
|
+
"required": true,
|
|
67
|
+
"optional": false,
|
|
68
|
+
"docs": {
|
|
69
|
+
"tags": [],
|
|
70
|
+
"text": "The option name."
|
|
71
|
+
},
|
|
72
|
+
"attribute": "option",
|
|
73
|
+
"reflect": false
|
|
74
|
+
},
|
|
75
|
+
"disabled": {
|
|
76
|
+
"type": "boolean",
|
|
77
|
+
"mutable": false,
|
|
78
|
+
"complexType": {
|
|
79
|
+
"original": "boolean",
|
|
80
|
+
"resolved": "boolean",
|
|
81
|
+
"references": {}
|
|
82
|
+
},
|
|
83
|
+
"required": false,
|
|
84
|
+
"optional": false,
|
|
85
|
+
"docs": {
|
|
86
|
+
"tags": [],
|
|
87
|
+
"text": "Whether the option is disabled. Per default it is false. If disabled is true, the option cannot be selected."
|
|
88
|
+
},
|
|
89
|
+
"attribute": "disabled",
|
|
90
|
+
"reflect": true,
|
|
91
|
+
"defaultValue": "false"
|
|
92
|
+
},
|
|
93
|
+
"separator": {
|
|
94
|
+
"type": "boolean",
|
|
95
|
+
"mutable": false,
|
|
96
|
+
"complexType": {
|
|
97
|
+
"original": "boolean",
|
|
98
|
+
"resolved": "boolean",
|
|
99
|
+
"references": {}
|
|
100
|
+
},
|
|
101
|
+
"required": false,
|
|
102
|
+
"optional": false,
|
|
103
|
+
"docs": {
|
|
104
|
+
"tags": [],
|
|
105
|
+
"text": "Whether the option has a separator at the bottom. Per default it is false."
|
|
106
|
+
},
|
|
107
|
+
"attribute": "separator",
|
|
108
|
+
"reflect": false,
|
|
109
|
+
"defaultValue": "false"
|
|
110
|
+
},
|
|
111
|
+
"selected": {
|
|
112
|
+
"type": "boolean",
|
|
113
|
+
"mutable": false,
|
|
114
|
+
"complexType": {
|
|
115
|
+
"original": "boolean",
|
|
116
|
+
"resolved": "boolean",
|
|
117
|
+
"references": {}
|
|
118
|
+
},
|
|
119
|
+
"required": false,
|
|
120
|
+
"optional": false,
|
|
121
|
+
"docs": {
|
|
122
|
+
"tags": [],
|
|
123
|
+
"text": "Whether the option is currently selected."
|
|
124
|
+
},
|
|
125
|
+
"attribute": "selected",
|
|
126
|
+
"reflect": true,
|
|
127
|
+
"defaultValue": "false"
|
|
128
|
+
},
|
|
129
|
+
"hoverIcon": {
|
|
130
|
+
"type": "any",
|
|
131
|
+
"mutable": false,
|
|
132
|
+
"complexType": {
|
|
133
|
+
"original": "any | null",
|
|
134
|
+
"resolved": "any",
|
|
135
|
+
"references": {}
|
|
136
|
+
},
|
|
137
|
+
"required": false,
|
|
138
|
+
"optional": false,
|
|
139
|
+
"docs": {
|
|
140
|
+
"tags": [],
|
|
141
|
+
"text": "The icon to display when the option is hovered and not selected. Defaults to null (no icon)."
|
|
142
|
+
},
|
|
143
|
+
"attribute": "hover-icon",
|
|
144
|
+
"reflect": true,
|
|
145
|
+
"defaultValue": "null"
|
|
146
|
+
},
|
|
147
|
+
"hoverIconColor": {
|
|
148
|
+
"type": "string",
|
|
149
|
+
"mutable": false,
|
|
150
|
+
"complexType": {
|
|
151
|
+
"original": "string",
|
|
152
|
+
"resolved": "string",
|
|
153
|
+
"references": {}
|
|
154
|
+
},
|
|
155
|
+
"required": false,
|
|
156
|
+
"optional": false,
|
|
157
|
+
"docs": {
|
|
158
|
+
"tags": [],
|
|
159
|
+
"text": "The color of the icon when the option is hovered. Defaults to 'b2b-color-black-100'."
|
|
160
|
+
},
|
|
161
|
+
"attribute": "hover-icon-color",
|
|
162
|
+
"reflect": true,
|
|
163
|
+
"defaultValue": "'b2b-color-black-100'"
|
|
164
|
+
},
|
|
165
|
+
"selectedIcon": {
|
|
166
|
+
"type": "any",
|
|
167
|
+
"mutable": false,
|
|
168
|
+
"complexType": {
|
|
169
|
+
"original": "any | null",
|
|
170
|
+
"resolved": "any",
|
|
171
|
+
"references": {}
|
|
172
|
+
},
|
|
173
|
+
"required": false,
|
|
174
|
+
"optional": false,
|
|
175
|
+
"docs": {
|
|
176
|
+
"tags": [],
|
|
177
|
+
"text": "The icon to display when the option is selected. Defaults to null (no icon)."
|
|
178
|
+
},
|
|
179
|
+
"attribute": "selected-icon",
|
|
180
|
+
"reflect": true,
|
|
181
|
+
"defaultValue": "null"
|
|
182
|
+
},
|
|
183
|
+
"selectedIconColor": {
|
|
184
|
+
"type": "string",
|
|
185
|
+
"mutable": false,
|
|
186
|
+
"complexType": {
|
|
187
|
+
"original": "string",
|
|
188
|
+
"resolved": "string",
|
|
189
|
+
"references": {}
|
|
190
|
+
},
|
|
191
|
+
"required": false,
|
|
192
|
+
"optional": false,
|
|
193
|
+
"docs": {
|
|
194
|
+
"tags": [],
|
|
195
|
+
"text": "The color of the icon when the option is selected. Defaults to 'b2b-color-black-100'."
|
|
196
|
+
},
|
|
197
|
+
"attribute": "selected-icon-color",
|
|
198
|
+
"reflect": true,
|
|
199
|
+
"defaultValue": "'b2b-color-black-100'"
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
static get states() {
|
|
204
|
+
return {
|
|
205
|
+
"isHovered": {}
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
static get events() {
|
|
209
|
+
return [{
|
|
210
|
+
"method": "b2bOptionSelected",
|
|
211
|
+
"name": "b2b-custom-dropdown-option-selected",
|
|
212
|
+
"bubbles": true,
|
|
213
|
+
"cancelable": true,
|
|
214
|
+
"composed": true,
|
|
215
|
+
"docs": {
|
|
216
|
+
"tags": [],
|
|
217
|
+
"text": "Emits the option as a string whenever an option is selected."
|
|
218
|
+
},
|
|
219
|
+
"complexType": {
|
|
220
|
+
"original": "OptionSelectedEventDetail",
|
|
221
|
+
"resolved": "OptionSelectedEventDetail<any>",
|
|
222
|
+
"references": {
|
|
223
|
+
"OptionSelectedEventDetail": {
|
|
224
|
+
"location": "import",
|
|
225
|
+
"path": "../../utils/interfaces/form.interface",
|
|
226
|
+
"id": "src/utils/interfaces/form.interface.d.ts::OptionSelectedEventDetail"
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}];
|
|
231
|
+
}
|
|
232
|
+
static get listeners() {
|
|
233
|
+
return [{
|
|
234
|
+
"name": "mouseenter",
|
|
235
|
+
"method": "handleMouseEnter",
|
|
236
|
+
"target": undefined,
|
|
237
|
+
"capture": false,
|
|
238
|
+
"passive": true
|
|
239
|
+
}, {
|
|
240
|
+
"name": "mouseleave",
|
|
241
|
+
"method": "handleMouseLeave",
|
|
242
|
+
"target": undefined,
|
|
243
|
+
"capture": false,
|
|
244
|
+
"passive": true
|
|
245
|
+
}];
|
|
246
|
+
}
|
|
247
|
+
}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Do not edit directly, this file was auto-generated.
|
|
3
|
+
*/
|
|
4
|
+
:root, :host {
|
|
5
|
+
--b2b-color-black-50: #333333;
|
|
6
|
+
--b2b-color-black-100: #222222;
|
|
7
|
+
--b2b-color-white-100: #FFFFFF;
|
|
8
|
+
--b2b-color-grey-10: #F0F0F0;
|
|
9
|
+
--b2b-color-grey-25: #F6F6F6;
|
|
10
|
+
--b2b-color-grey-50: #EEEEEE;
|
|
11
|
+
--b2b-color-grey-100: #E6E6E6;
|
|
12
|
+
--b2b-color-grey-150: #D5D5D5;
|
|
13
|
+
--b2b-color-grey-200: #C4C4C4;
|
|
14
|
+
--b2b-color-grey-250: #B1B1B1;
|
|
15
|
+
--b2b-color-grey-300: #9E9E9E;
|
|
16
|
+
--b2b-color-grey-400: #777777;
|
|
17
|
+
--b2b-color-red-50: #FFDDE3;
|
|
18
|
+
--b2b-color-red-100: #D4021D;
|
|
19
|
+
--b2b-color-red-150: #E6344B;
|
|
20
|
+
--b2b-color-red-200: #BB0004;
|
|
21
|
+
--b2b-color-red-250: #850012;
|
|
22
|
+
--b2b-color-blue-10: #F2F7FF;
|
|
23
|
+
--b2b-color-blue-25: #DBE7FA;
|
|
24
|
+
--b2b-color-blue-50: #87B1F0;
|
|
25
|
+
--b2b-color-blue-100: #0F63E1;
|
|
26
|
+
--b2b-color-blue-200: #093E90;
|
|
27
|
+
--b2b-color-primary: #D4021D;
|
|
28
|
+
--b2b-color-error-100: #E6344B;
|
|
29
|
+
--b2b-color-warning-50: #FFD998;
|
|
30
|
+
--b2b-color-warning-100: #FFB432;
|
|
31
|
+
--b2b-color-success-50: #D6E0CC;
|
|
32
|
+
--b2b-color-success-100: #326400;
|
|
33
|
+
--b2b-color-info-50: #CCD6E0;
|
|
34
|
+
--b2b-color-info-100: #003264;
|
|
35
|
+
--b2b-color-hover-default: #DBE7FA;
|
|
36
|
+
--b2b-color-hover-black: #3B3B3B;
|
|
37
|
+
--b2b-color-background-overlay-transparent-80: #22222280;
|
|
38
|
+
--b2b-color-background-overlay-transparent-40: #22222240;
|
|
39
|
+
--b2b-color-table-selected-default: #CCE9FF;
|
|
40
|
+
--b2b-color-table-expand-hover: #DBE7FA;
|
|
41
|
+
--b2b-font-family-default: OttoSans, Arial, Helvetica, sans-serif;
|
|
42
|
+
--b2b-font-weight-thin: 100;
|
|
43
|
+
--b2b-font-weight-normal: 500;
|
|
44
|
+
--b2b-font-weight-bold: 700;
|
|
45
|
+
--b2b-size-1: 0.0625rem; /** 1px */
|
|
46
|
+
--b2b-size-5: 0.125rem; /** 2px */
|
|
47
|
+
--b2b-size-7: 0.1875rem; /** 3px */
|
|
48
|
+
--b2b-size-10: 0.25rem; /** 4px */
|
|
49
|
+
--b2b-size-13: 0.3125rem; /** 5px */
|
|
50
|
+
--b2b-size-15: 0.375rem; /** 6px */
|
|
51
|
+
--b2b-size-20: 0.5rem; /** 8px */
|
|
52
|
+
--b2b-size-25: 0.625rem; /** 10px */
|
|
53
|
+
--b2b-size-30: 0.75rem; /** 12px */
|
|
54
|
+
--b2b-size-35: 0.875rem; /** 14px */
|
|
55
|
+
--b2b-size-40: 1rem; /** 16px */
|
|
56
|
+
--b2b-size-45: 1.125rem; /** 18px */
|
|
57
|
+
--b2b-size-50: 1.25rem; /** 20px */
|
|
58
|
+
--b2b-size-53: 1.3125rem; /** 21px */
|
|
59
|
+
--b2b-size-55: 1.375rem; /** 22px */
|
|
60
|
+
--b2b-size-60: 1.5rem; /** 24px */
|
|
61
|
+
--b2b-size-70: 1.75rem; /** 28px */
|
|
62
|
+
--b2b-size-80: 2rem; /** 32px */
|
|
63
|
+
--b2b-size-90: 2.25rem; /** 36px */
|
|
64
|
+
--b2b-size-100: 2.5rem; /** 40px */
|
|
65
|
+
--b2b-size-120: 3rem; /** 48px */
|
|
66
|
+
--b2b-size-140: 3.5rem; /** 56px */
|
|
67
|
+
--b2b-size-150: 3.75rem; /** 60px */
|
|
68
|
+
--b2b-size-160: 4rem; /** 64px */
|
|
69
|
+
--b2b-size-200: 5rem; /** 80px */
|
|
70
|
+
--b2b-color-error-50: var(--b2b-color-red-50);
|
|
71
|
+
--b2b-color-background-page: var(--b2b-color-grey-10);
|
|
72
|
+
--b2b-color-background-box: var(--b2b-color-white-100);
|
|
73
|
+
--b2b-color-background-card: var(--b2b-color-white-100);
|
|
74
|
+
--b2b-color-background-overlay: var(--b2b-color-black-100);
|
|
75
|
+
--b2b-color-border-100: var(--b2b-color-grey-200);
|
|
76
|
+
--b2b-color-copy-default: var(--b2b-color-black-100);
|
|
77
|
+
--b2b-color-copy-secondary: var(--b2b-color-grey-400);
|
|
78
|
+
--b2b-color-copy-inverted: var(--b2b-color-white-100);
|
|
79
|
+
--b2b-color-copy-overlay: var(--b2b-color-white-100);
|
|
80
|
+
--b2b-color-headline-title: var(--b2b-color-red-100);
|
|
81
|
+
--b2b-color-headline-default: var(--b2b-color-black-100);
|
|
82
|
+
--b2b-color-headline-inverted: var(--b2b-color-white-100);
|
|
83
|
+
--b2b-color-icon-default: var(--b2b-color-black-100);
|
|
84
|
+
--b2b-color-icon-secondary: var(--b2b-color-grey-400);
|
|
85
|
+
--b2b-color-icon-inverted: var(--b2b-color-white-100);
|
|
86
|
+
--b2b-color-table-expand-default: var(--b2b-color-grey-25);
|
|
87
|
+
--b2b-size-icon-50: var(--b2b-size-40);
|
|
88
|
+
--b2b-size-icon-100: var(--b2b-size-60);
|
|
89
|
+
--b2b-size-icon-200: var(--b2b-size-80);
|
|
90
|
+
--b2b-size-icon-400: var(--b2b-size-120);
|
|
91
|
+
--b2b-size-space-25: var(--b2b-size-10);
|
|
92
|
+
--b2b-size-space-50: var(--b2b-size-20);
|
|
93
|
+
--b2b-size-space-75: var(--b2b-size-30);
|
|
94
|
+
--b2b-size-space-100: var(--b2b-size-40);
|
|
95
|
+
--b2b-size-space-150: var(--b2b-size-60);
|
|
96
|
+
--b2b-size-space-175: var(--b2b-size-80);
|
|
97
|
+
--b2b-size-space-200: var(--b2b-size-100);
|
|
98
|
+
--b2b-size-space-250: var(--b2b-size-160);
|
|
99
|
+
--b2b-size-space-300: var(--b2b-size-200);
|
|
100
|
+
--b2b-size-padding-50: var(--b2b-size-20);
|
|
101
|
+
--b2b-size-padding-100: var(--b2b-size-40);
|
|
102
|
+
--b2b-size-padding-150: var(--b2b-size-60);
|
|
103
|
+
--b2b-size-padding-175: var(--b2b-size-80);
|
|
104
|
+
--b2b-size-border-width-50: var(--b2b-size-1);
|
|
105
|
+
--b2b-size-border-width-100: var(--b2b-size-5);
|
|
106
|
+
--b2b-size-border-width-150: var(--b2b-size-10);
|
|
107
|
+
--b2b-size-border-radius-100: var(--b2b-size-7);
|
|
108
|
+
--b2b-size-border-no-radius-left: 0 var(--b2b-size-7) var(--b2b-size-7) 0;
|
|
109
|
+
--b2b-size-border-no-radius-right: var(--b2b-size-7) 0 0 var(--b2b-size-7);
|
|
110
|
+
--b2b-size-border-no-radius-top: 0 0 var(--b2b-size-7) var(--b2b-size-7);
|
|
111
|
+
--b2b-size-border-no-radius-bottom: var(--b2b-size-7) var(--b2b-size-7) 0 0;
|
|
112
|
+
--b2b-size-copy-50: var(--b2b-size-30);
|
|
113
|
+
--b2b-size-copy-100: var(--b2b-size-35);
|
|
114
|
+
--b2b-size-copy-125: var(--b2b-size-40);
|
|
115
|
+
--b2b-size-copy-200: var(--b2b-size-45);
|
|
116
|
+
--b2b-size-copy-300: var(--b2b-size-60);
|
|
117
|
+
--b2b-size-copy-line-height-50: var(--b2b-size-40);
|
|
118
|
+
--b2b-size-copy-line-height-75: var(--b2b-size-45); /** Will use 18px until design facelift */
|
|
119
|
+
--b2b-size-copy-line-height-100: var(--b2b-size-53); /** Will use 21px until design facelift */
|
|
120
|
+
--b2b-size-copy-line-height-125: var(--b2b-size-60);
|
|
121
|
+
--b2b-size-copy-line-height-200: var(--b2b-size-60);
|
|
122
|
+
--b2b-size-copy-line-height-300: var(--b2b-size-90);
|
|
123
|
+
--b2b-size-headline-100: var(--b2b-size-40);
|
|
124
|
+
--b2b-size-headline-200: var(--b2b-size-45);
|
|
125
|
+
--b2b-size-headline-400: var(--b2b-size-60);
|
|
126
|
+
--b2b-size-headline-line-height-100: var(--b2b-size-60);
|
|
127
|
+
--b2b-size-headline-line-height-200: var(--b2b-size-60);
|
|
128
|
+
--b2b-size-headline-line-height-400: var(--b2b-size-60);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Do not edit directly, this file was auto-generated.
|
|
132
|
+
*/
|
|
133
|
+
:root [data-theme="dark"] {
|
|
134
|
+
--b2b-color-black-50: #333333;
|
|
135
|
+
--b2b-color-black-100: #222222;
|
|
136
|
+
--b2b-color-white-100: #FFFFFF;
|
|
137
|
+
--b2b-color-grey-10: #F0F0F0;
|
|
138
|
+
--b2b-color-grey-25: #F6F6F6;
|
|
139
|
+
--b2b-color-grey-50: #EEEEEE;
|
|
140
|
+
--b2b-color-grey-100: #E6E6E6;
|
|
141
|
+
--b2b-color-grey-150: #D5D5D5;
|
|
142
|
+
--b2b-color-grey-200: #C4C4C4;
|
|
143
|
+
--b2b-color-grey-250: #B1B1B1;
|
|
144
|
+
--b2b-color-grey-300: #9E9E9E;
|
|
145
|
+
--b2b-color-grey-400: #777777;
|
|
146
|
+
--b2b-color-red-50: #FFDDE3;
|
|
147
|
+
--b2b-color-red-100: #D4021D;
|
|
148
|
+
--b2b-color-red-150: #E6344B;
|
|
149
|
+
--b2b-color-red-200: #BB0004;
|
|
150
|
+
--b2b-color-red-250: #850012;
|
|
151
|
+
--b2b-color-blue-10: #F2F7FF;
|
|
152
|
+
--b2b-color-blue-25: #DBE7FA;
|
|
153
|
+
--b2b-color-blue-50: #87B1F0;
|
|
154
|
+
--b2b-color-blue-100: #0F63E1;
|
|
155
|
+
--b2b-color-blue-200: #093E90;
|
|
156
|
+
--b2b-color-primary: #D4021D;
|
|
157
|
+
--b2b-color-error-100: #E6344B;
|
|
158
|
+
--b2b-color-warning-50: #FFD998;
|
|
159
|
+
--b2b-color-warning-100: #FFB432;
|
|
160
|
+
--b2b-color-success-50: #D6E0CC;
|
|
161
|
+
--b2b-color-success-100: #326400;
|
|
162
|
+
--b2b-color-info-50: #CCD6E0;
|
|
163
|
+
--b2b-color-info-100: #003264;
|
|
164
|
+
--b2b-color-hover-default: #DBE7FA;
|
|
165
|
+
--b2b-color-hover-black: #3B3B3B;
|
|
166
|
+
--b2b-font-family-default: OttoSans, Arial, Helvetica, sans-serif;
|
|
167
|
+
--b2b-font-weight-thin: 100;
|
|
168
|
+
--b2b-font-weight-normal: 500;
|
|
169
|
+
--b2b-font-weight-bold: 700;
|
|
170
|
+
--b2b-size-1: 0.0625rem; /** 1px */
|
|
171
|
+
--b2b-size-5: 0.125rem; /** 2px */
|
|
172
|
+
--b2b-size-7: 0.1875rem; /** 3px */
|
|
173
|
+
--b2b-size-10: 0.25rem; /** 4px */
|
|
174
|
+
--b2b-size-13: 0.3125rem; /** 5px */
|
|
175
|
+
--b2b-size-15: 0.375rem; /** 6px */
|
|
176
|
+
--b2b-size-20: 0.5rem; /** 8px */
|
|
177
|
+
--b2b-size-25: 0.625rem; /** 10px */
|
|
178
|
+
--b2b-size-30: 0.75rem; /** 12px */
|
|
179
|
+
--b2b-size-35: 0.875rem; /** 14px */
|
|
180
|
+
--b2b-size-40: 1rem; /** 16px */
|
|
181
|
+
--b2b-size-45: 1.125rem; /** 18px */
|
|
182
|
+
--b2b-size-50: 1.25rem; /** 20px */
|
|
183
|
+
--b2b-size-53: 1.3125rem; /** 21px */
|
|
184
|
+
--b2b-size-55: 1.375rem; /** 22px */
|
|
185
|
+
--b2b-size-60: 1.5rem; /** 24px */
|
|
186
|
+
--b2b-size-70: 1.75rem; /** 28px */
|
|
187
|
+
--b2b-size-80: 2rem; /** 32px */
|
|
188
|
+
--b2b-size-90: 2.25rem; /** 36px */
|
|
189
|
+
--b2b-size-100: 2.5rem; /** 40px */
|
|
190
|
+
--b2b-size-120: 3rem; /** 48px */
|
|
191
|
+
--b2b-size-140: 3.5rem; /** 56px */
|
|
192
|
+
--b2b-size-150: 3.75rem; /** 60px */
|
|
193
|
+
--b2b-size-160: 4rem; /** 64px */
|
|
194
|
+
--b2b-size-200: 5rem; /** 80px */
|
|
195
|
+
--b2b-color-error-50: var(--b2b-color-red-50);
|
|
196
|
+
--b2b-color-background-box: var(--b2b-color-black-50);
|
|
197
|
+
--b2b-color-background-card: var(--b2b-color-black-50);
|
|
198
|
+
--b2b-color-background-page: var(--b2b-color-grey-100);
|
|
199
|
+
--b2b-color-border-100: var(--b2b-color-white-100);
|
|
200
|
+
--b2b-color-copy-default: var(--b2b-color-white-100);
|
|
201
|
+
--b2b-color-copy-secondary: var(--b2b-color-grey-100);
|
|
202
|
+
--b2b-color-copy-inverted: var(--b2b-color-black-100);
|
|
203
|
+
--b2b-color-headline-title: var(--b2b-color-red-50);
|
|
204
|
+
--b2b-color-headline-default: var(--b2b-color-white-100);
|
|
205
|
+
--b2b-color-headline-inverted: var(--b2b-color-black-100);
|
|
206
|
+
--b2b-color-icon-default: var(--b2b-color-white-100);
|
|
207
|
+
--b2b-color-icon-secondary: var(--b2b-color-grey-400);
|
|
208
|
+
--b2b-color-icon-inverted: var(--b2b-color-black-100);
|
|
209
|
+
}
|
|
210
|
+
@font-face {
|
|
211
|
+
font-family: OttoSans;
|
|
212
|
+
src: url("https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans.ttf");
|
|
213
|
+
font-weight: normal;
|
|
214
|
+
font-style: normal;
|
|
215
|
+
}
|
|
216
|
+
@font-face {
|
|
217
|
+
font-family: OttoSans;
|
|
218
|
+
src: url("https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.woff") format("woff"), url("https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-bold.ttf") format("truetype");
|
|
219
|
+
font-weight: bold;
|
|
220
|
+
font-style: normal;
|
|
221
|
+
}
|
|
222
|
+
@font-face {
|
|
223
|
+
font-family: OttoSans;
|
|
224
|
+
src: url("https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.woff") format("woff"), url("https://pattern-library.portal.otto.market/static/assets/fonts/otto-sans-thin.ttf") format("truetype");
|
|
225
|
+
font-weight: 100;
|
|
226
|
+
font-style: normal;
|
|
227
|
+
}
|
|
228
|
+
@font-face {
|
|
229
|
+
font-family: ObcIcons;
|
|
230
|
+
src: url("https://pattern-library.portal.otto.market/static/assets/fonts/obc-icons.woff");
|
|
231
|
+
}
|
|
232
|
+
:host {
|
|
233
|
+
width: 100%;
|
|
234
|
+
}
|
|
235
|
+
.b2b-custom-dropdown__trigger {
|
|
236
|
+
position: relative;
|
|
237
|
+
display: inline !important;
|
|
238
|
+
cursor: pointer;
|
|
239
|
+
}
|
|
240
|
+
.b2b-custom-dropdown {
|
|
241
|
+
display: none;
|
|
242
|
+
}
|
|
243
|
+
.b2b-custom-dropdown--on {
|
|
244
|
+
display: block;
|
|
245
|
+
}
|
|
246
|
+
.b2b-custom-dropdown--drop-shadow {
|
|
247
|
+
box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
|
|
248
|
+
}
|
|
249
|
+
.b2b-custom-dropdown--border {
|
|
250
|
+
border: 1px solid var(--b2b-color-grey-200);
|
|
251
|
+
}
|
|
252
|
+
.b2b-custom-dropdown-search {
|
|
253
|
+
padding: var(--b2b-size-30);
|
|
254
|
+
display: none;
|
|
255
|
+
}
|
|
256
|
+
.b2b-custom-dropdown-search--enabled {
|
|
257
|
+
display: block;
|
|
258
|
+
border-bottom: var(--b2b-size-1) solid var(--b2b-color-border-100);
|
|
259
|
+
}
|
|
260
|
+
.b2b-custom-dropdown__options-scroll-container {
|
|
261
|
+
position: relative;
|
|
262
|
+
display: block;
|
|
263
|
+
max-height: 288px;
|
|
264
|
+
overflow-y: auto;
|
|
265
|
+
margin: 0;
|
|
266
|
+
}
|
|
267
|
+
.b2b-custom-dropdown__options-container {
|
|
268
|
+
position: relative;
|
|
269
|
+
display: block;
|
|
270
|
+
margin: 0;
|
|
271
|
+
}
|
|
272
|
+
.b2b-custom-dropdown__options-container--disabled {
|
|
273
|
+
display: none;
|
|
274
|
+
}
|
|
275
|
+
.b2b-custom-dropdown__option--hidden {
|
|
276
|
+
display: none;
|
|
277
|
+
}
|
|
278
|
+
::slotted(b2b-custom-dropdown-option.b2b-custom-dropdown__option--hidden) {
|
|
279
|
+
display: none;
|
|
280
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { newE2EPage } from "@stencil/core/testing";
|
|
2
|
+
describe('b2b-custom-dropdown', () => {
|
|
3
|
+
let page;
|
|
4
|
+
beforeEach(async () => {
|
|
5
|
+
page = await newE2EPage();
|
|
6
|
+
await page.setContent(`
|
|
7
|
+
<b2b-custom-dropdown placeholder="Select an option">
|
|
8
|
+
<b2b-icon-100 icon="b2b_icon-ellipsis" slot='trigger' clickable focusable></b2b-icon-100>
|
|
9
|
+
<b2b-custom-dropdown-option slot='option' option='option1' separator="true">
|
|
10
|
+
</b2b-custom-dropdown-option>
|
|
11
|
+
<b2b-custom-dropdown-option slot='option' option='option2' separator="false">
|
|
12
|
+
</b2b-custom-dropdown-option>
|
|
13
|
+
<b2b-custom-dropdown-option slot='option' option='option3' separator="false">
|
|
14
|
+
</b2b-custom-dropdown-option>
|
|
15
|
+
<b2b-custom-dropdown-option slot='option' option='option4' separator="false">
|
|
16
|
+
</b2b-custom-dropdown-option>
|
|
17
|
+
</b2b-custom-dropdown>
|
|
18
|
+
`);
|
|
19
|
+
});
|
|
20
|
+
it('should render with placeholder', async () => {
|
|
21
|
+
const b2bInput = await page.find('b2b-custom-dropdown >>> b2b-input');
|
|
22
|
+
expect(b2bInput).not.toBeNull();
|
|
23
|
+
const placeholder = await b2bInput.getProperty('placeholder');
|
|
24
|
+
expect(placeholder).toEqual('Select an option');
|
|
25
|
+
});
|
|
26
|
+
it('should show the dropdown options when trigger is clicked', async () => {
|
|
27
|
+
const trigger = await page.find('b2b-custom-dropdown [slot="trigger"]');
|
|
28
|
+
await trigger.click();
|
|
29
|
+
await page.waitForChanges();
|
|
30
|
+
const customDropdownOption = await page.find('b2b-custom-dropdown-option');
|
|
31
|
+
expect(customDropdownOption).not.toBeNull();
|
|
32
|
+
expect(await customDropdownOption.isVisible()).toBe(true);
|
|
33
|
+
});
|
|
34
|
+
it('should hide the dropdown when it loses focus', async () => {
|
|
35
|
+
const trigger = await page.find('b2b-custom-dropdown [slot="trigger"]');
|
|
36
|
+
await trigger.click();
|
|
37
|
+
await page.waitForChanges();
|
|
38
|
+
const customDropdownOption = await page.find('b2b-custom-dropdown-option');
|
|
39
|
+
expect(await customDropdownOption.isVisible()).toBe(true);
|
|
40
|
+
await page.keyboard.press('Tab');
|
|
41
|
+
await page.waitForChanges();
|
|
42
|
+
const dropdown = await page.find('b2b-custom-dropdown');
|
|
43
|
+
expect(dropdown).not.toHaveClass('b2b-custom-dropdown--on');
|
|
44
|
+
});
|
|
45
|
+
it('should display separator after an option when separator is true', async () => {
|
|
46
|
+
const trigger = await page.find('b2b-custom-dropdown [slot="trigger"]');
|
|
47
|
+
await trigger.click();
|
|
48
|
+
await page.waitForChanges();
|
|
49
|
+
const dropdownOptions = await page.findAll('b2b-custom-dropdown-option');
|
|
50
|
+
const agencyOption = dropdownOptions[0];
|
|
51
|
+
const separatorAgencyOption = await agencyOption.getProperty('separator');
|
|
52
|
+
expect(separatorAgencyOption).toBe(true);
|
|
53
|
+
const option1 = dropdownOptions[1];
|
|
54
|
+
const separatorOption1 = await option1.getProperty('separator');
|
|
55
|
+
expect(separatorOption1).toBe(false);
|
|
56
|
+
});
|
|
57
|
+
it('should display the correct list of options', async () => {
|
|
58
|
+
const trigger = await page.find('b2b-custom-dropdown [slot="trigger"]');
|
|
59
|
+
await trigger.click();
|
|
60
|
+
await page.waitForChanges();
|
|
61
|
+
const dropdownOptions = await page.findAll('b2b-custom-dropdown-option');
|
|
62
|
+
expect(dropdownOptions.length).toEqual(4);
|
|
63
|
+
const optionTexts = await Promise.all(dropdownOptions.map(option => option.getProperty('option')));
|
|
64
|
+
expect(optionTexts).toEqual(['option1', 'option2', 'option3', 'option4']);
|
|
65
|
+
});
|
|
66
|
+
});
|