@otto-de/b2b-core-components 1.32.2 → 1.33.0
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/icons-100/b2b_icon-arrow-misdirected.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-clipboard-check.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-cosmetics.png +0 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-cosmetics.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-lock-open.svg +4 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-person-wheelchair.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-speech-bubble-sparkles.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-sustainable-organic-food.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-universal-access.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-voice-sparkles.svg +3 -0
- package/dist/b2b-core-components/icons-100/b2b_icon-webhook.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-arrow-long-left.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-arrow-long-right.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-arrow-misdirected.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-arrow-return.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-callback.svg +10 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-feedback.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-flag-chequered.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-flame.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-inplace-zoom.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-lock-closed.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-lock-open.svg +10 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-notification.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-pending.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-phone.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-print.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-qr-code.svg +10 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-skip-link.svg +3 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-smiley-angry.svg +13 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-smiley-happy.svg +10 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-smiley-negative.svg +10 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-smiley-neutral.svg +10 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-sparkles.svg +10 -0
- package/dist/b2b-core-components/icons-50/b2b_icon-voucher.svg +3 -0
- package/dist/b2b-core-components/p-24c6aa56.entry.js +1 -0
- package/dist/b2b-core-components/p-2daee203.entry.js +1 -0
- package/dist/b2b-core-components/p-3369f3c0.entry.js +1 -0
- package/dist/b2b-core-components/{p-660c758b.entry.js → p-57842105.entry.js} +1 -1
- package/dist/b2b-core-components/p-5dacf68a.entry.js +1 -0
- package/dist/b2b-core-components/p-6abfdb73.entry.js +1 -0
- package/dist/b2b-core-components/p-703da47c.entry.js +1 -0
- package/dist/b2b-core-components/p-76573f9f.entry.js +1 -0
- package/dist/b2b-core-components/p-76bf79ec.entry.js +1 -0
- package/dist/b2b-core-components/p-840dd6cd.entry.js +1 -0
- package/dist/b2b-core-components/{p-f661154c.entry.js → p-917a7f00.entry.js} +1 -1
- package/dist/b2b-core-components/p-953fc46b.js +1 -0
- package/dist/b2b-core-components/{p-4dad7870.entry.js → p-bc2b17c6.entry.js} +1 -1
- package/dist/b2b-core-components/p-fea90226.entry.js +1 -0
- package/dist/cjs/b2b-checkbox-group.cjs.entry.js +5 -12
- package/dist/cjs/b2b-checkbox.cjs.entry.js +6 -4
- package/dist/cjs/b2b-chip-component_2.cjs.entry.js +4 -2
- package/dist/cjs/b2b-core-components.cjs.js +1 -1
- package/dist/cjs/b2b-custom-dropdown.cjs.entry.js +13 -11
- package/dist/cjs/b2b-date-picker-days_5.cjs.entry.js +30 -22
- package/dist/cjs/b2b-date-picker.cjs.entry.js +10 -5
- package/dist/cjs/b2b-dropdown.cjs.entry.js +8 -7
- package/dist/cjs/b2b-icon-100.cjs.entry.js +402 -392
- package/dist/cjs/b2b-icon-50.cjs.entry.js +57 -35
- package/dist/cjs/b2b-icon.cjs.entry.js +355 -356
- package/dist/cjs/b2b-input-group_2.cjs.entry.js +4 -11
- package/dist/cjs/b2b-input_2.cjs.entry.js +7 -9
- package/dist/cjs/b2b-multiselect-dropdown.cjs.entry.js +82 -55
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{request-801c6ba1.js → request-a16ba589.js} +1 -1
- package/dist/collection/components/checkbox/checkbox.js +6 -4
- package/dist/collection/components/checkbox-group/checkbox-group.js +5 -12
- package/dist/collection/components/custom-dropdown/custom-dropdown.css +6 -0
- package/dist/collection/components/custom-dropdown/custom-dropdown.js +32 -11
- package/dist/collection/components/date-picker/date-picker-months.js +38 -10
- package/dist/collection/components/date-picker/date-picker-years.js +35 -15
- package/dist/collection/components/date-picker/date-picker.css +2 -3
- package/dist/collection/components/date-picker/date-picker.js +9 -4
- package/dist/collection/components/date-picker/date-picker.stories.js +9 -3
- package/dist/collection/components/dropdown/dropdown.css +4 -0
- package/dist/collection/components/dropdown/dropdown.e2e.js +1 -1
- package/dist/collection/components/dropdown/dropdown.js +28 -6
- package/dist/collection/components/dropdown/dropdown.stories.js +17 -4
- package/dist/collection/components/flyout-menu/flyout-menu.e2e.js +7 -2
- package/dist/collection/components/icon/types.js +354 -355
- package/dist/collection/components/icon-100/icon-100.js +1 -1
- package/dist/collection/components/icon-100/icons-100/b2b_icon-arrow-misdirected.svg +3 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-clipboard-check.svg +3 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-cosmetics.png +0 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-cosmetics.svg +3 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-lock-open.svg +4 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-person-wheelchair.svg +3 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-speech-bubble-sparkles.svg +3 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-sustainable-organic-food.svg +3 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-universal-access.svg +3 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-voice-sparkles.svg +3 -0
- package/dist/collection/components/icon-100/icons-100/b2b_icon-webhook.svg +3 -0
- package/dist/collection/components/icon-100/types.js +401 -391
- package/dist/collection/components/icon-50/icon-50.js +1 -1
- package/dist/collection/components/icon-50/icons-50/b2b_icon-arrow-long-left.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-arrow-long-right.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-arrow-misdirected.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-arrow-return.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-callback.svg +10 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-feedback.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-flag-chequered.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-flame.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-inplace-zoom.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-lock-closed.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-lock-open.svg +10 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-notification.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-pending.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-phone.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-print.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-qr-code.svg +10 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-skip-link.svg +3 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-smiley-angry.svg +13 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-smiley-happy.svg +10 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-smiley-negative.svg +10 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-smiley-neutral.svg +10 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-sparkles.svg +10 -0
- package/dist/collection/components/icon-50/icons-50/b2b_icon-voucher.svg +3 -0
- package/dist/collection/components/icon-50/types.js +56 -34
- package/dist/collection/components/input/input.js +7 -9
- package/dist/collection/components/input-group/input-group.js +4 -11
- package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.e2e.js +15 -0
- package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.js +121 -61
- package/dist/collection/components/multiselect-dropdown/multiselect-dropdown.stories.js +44 -11
- package/dist/collection/components/multiselect-dropdown/multiselect-option/multiselect-option.js +22 -3
- package/dist/collection/utils/icon/request.js +1 -1
- package/dist/components/b2b-checkbox-group.js +5 -12
- package/dist/components/b2b-custom-dropdown.js +16 -12
- package/dist/components/b2b-date-picker.js +10 -5
- package/dist/components/b2b-dropdown.js +9 -7
- package/dist/components/b2b-icon-50.js +56 -34
- package/dist/components/b2b-icon.js +354 -355
- package/dist/components/b2b-multiselect-dropdown.js +85 -55
- package/dist/components/checkbox.js +6 -4
- package/dist/components/date-picker-months.js +16 -8
- package/dist/components/date-picker-years.js +14 -14
- package/dist/components/icon-100.js +401 -391
- package/dist/components/input-group.js +4 -11
- package/dist/components/input.js +7 -9
- package/dist/components/multiselect-option.js +5 -2
- package/dist/components/request.js +1 -1
- package/dist/custom-elements.json +108 -1
- package/dist/esm/b2b-checkbox-group.entry.js +5 -12
- package/dist/esm/b2b-checkbox.entry.js +6 -4
- package/dist/esm/b2b-chip-component_2.entry.js +4 -2
- package/dist/esm/b2b-core-components.js +1 -1
- package/dist/esm/b2b-custom-dropdown.entry.js +13 -11
- package/dist/esm/b2b-date-picker-days_5.entry.js +30 -22
- package/dist/esm/b2b-date-picker.entry.js +10 -5
- package/dist/esm/b2b-dropdown.entry.js +8 -7
- package/dist/esm/b2b-icon-100.entry.js +402 -392
- package/dist/esm/b2b-icon-50.entry.js +57 -35
- package/dist/esm/b2b-icon.entry.js +355 -356
- package/dist/esm/b2b-input-group_2.entry.js +4 -11
- package/dist/esm/b2b-input_2.entry.js +7 -9
- package/dist/esm/b2b-multiselect-dropdown.entry.js +82 -55
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{request-1d048f8a.js → request-6bb66f19.js} +1 -1
- package/dist/types/components/custom-dropdown/custom-dropdown.d.ts +6 -2
- package/dist/types/components/date-picker/date-picker-months.d.ts +7 -4
- package/dist/types/components/date-picker/date-picker-years.d.ts +6 -5
- package/dist/types/components/date-picker/date-picker.d.ts +4 -4
- package/dist/types/components/dropdown/dropdown.d.ts +2 -0
- package/dist/types/components/dropdown/dropdown.stories.d.ts +1 -0
- package/dist/types/components/icon/types.d.ts +1 -1
- package/dist/types/components/icon-100/types.d.ts +2 -2
- package/dist/types/components/icon-50/types.d.ts +2 -2
- package/dist/types/components/multiselect-dropdown/multiselect-dropdown.d.ts +19 -9
- package/dist/types/components/multiselect-dropdown/multiselect-dropdown.stories.d.ts +23 -4
- package/dist/types/components/multiselect-dropdown/multiselect-option/multiselect-option.d.ts +3 -1
- package/dist/types/components.d.ts +36 -8
- package/dist/web-types.json +51 -12
- package/package.json +2 -2
- package/dist/b2b-core-components/p-0bf2c192.entry.js +0 -1
- package/dist/b2b-core-components/p-54eee61c.entry.js +0 -1
- package/dist/b2b-core-components/p-61b2a6ad.js +0 -1
- package/dist/b2b-core-components/p-639d68a2.entry.js +0 -1
- package/dist/b2b-core-components/p-6b291a01.entry.js +0 -1
- package/dist/b2b-core-components/p-6c60d337.entry.js +0 -1
- package/dist/b2b-core-components/p-88bf92be.entry.js +0 -1
- package/dist/b2b-core-components/p-a614bd46.entry.js +0 -1
- package/dist/b2b-core-components/p-ae7ec34a.entry.js +0 -1
- package/dist/b2b-core-components/p-b4d46a07.entry.js +0 -1
- package/dist/b2b-core-components/p-f83dd748.entry.js +0 -1
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { h, Host, } from "@stencil/core";
|
|
2
|
-
import {
|
|
2
|
+
import { MonthsEnglish, MonthsGerman } from "./date-picker.types";
|
|
3
3
|
const keys = {
|
|
4
4
|
ARROW_UP: 'ArrowUp',
|
|
5
5
|
ARROW_DOWN: 'ArrowDown',
|
|
6
6
|
ARROW_RIGHT: 'ArrowRight',
|
|
7
7
|
ARROW_LEFT: 'ArrowLeft',
|
|
8
8
|
ENTER: 'Enter',
|
|
9
|
+
ESC: 'Escape',
|
|
9
10
|
};
|
|
10
11
|
export class B2bDatePickerMonths {
|
|
11
12
|
constructor() {
|
|
@@ -39,28 +40,30 @@ export class B2bDatePickerMonths {
|
|
|
39
40
|
}
|
|
40
41
|
handleKeyDown(event) {
|
|
41
42
|
event.preventDefault();
|
|
42
|
-
let index = this.selectedMonth;
|
|
43
43
|
const months = this.getAllMonths();
|
|
44
44
|
let currentMonth = this.getCurrentMonth();
|
|
45
|
+
let index = months.indexOf(currentMonth);
|
|
45
46
|
switch (event.key) {
|
|
46
47
|
case keys.ARROW_LEFT:
|
|
47
|
-
index
|
|
48
|
+
index -= 1;
|
|
48
49
|
break;
|
|
49
50
|
case keys.ARROW_RIGHT:
|
|
50
|
-
index
|
|
51
|
+
index += 1;
|
|
51
52
|
break;
|
|
52
53
|
case keys.ARROW_UP:
|
|
53
|
-
index
|
|
54
|
+
index -= 3;
|
|
54
55
|
break;
|
|
55
56
|
case keys.ARROW_DOWN:
|
|
56
|
-
index
|
|
57
|
+
index += 3;
|
|
57
58
|
break;
|
|
58
59
|
case keys.ENTER:
|
|
59
|
-
index = months.indexOf(currentMonth);
|
|
60
60
|
this.b2bDatePickerMonthSelected.emit({
|
|
61
61
|
value: index,
|
|
62
62
|
});
|
|
63
|
-
|
|
63
|
+
return;
|
|
64
|
+
case keys.ESC:
|
|
65
|
+
this.b2bDatePickerEscape.emit();
|
|
66
|
+
return;
|
|
64
67
|
default:
|
|
65
68
|
return;
|
|
66
69
|
}
|
|
@@ -72,8 +75,12 @@ export class B2bDatePickerMonths {
|
|
|
72
75
|
}
|
|
73
76
|
this.focusCurrentMonth(months[index]);
|
|
74
77
|
}
|
|
78
|
+
componentDidRender() {
|
|
79
|
+
var _a;
|
|
80
|
+
(_a = this.getCurrentMonth()) === null || _a === void 0 ? void 0 : _a.focus();
|
|
81
|
+
}
|
|
75
82
|
render() {
|
|
76
|
-
return (h(Host, { key: '
|
|
83
|
+
return (h(Host, { key: '92f546b998c48d274d76db47db997bcda3968033' }, h("div", { key: 'cfd9e12f5d1047d6acf2be7142d070dd64517049', class: "b2b-date-picker-months" }, this.renderDatePickerMonths())));
|
|
77
84
|
}
|
|
78
85
|
static get is() { return "b2b-date-picker-months"; }
|
|
79
86
|
static get encapsulation() { return "shadow"; }
|
|
@@ -135,7 +142,7 @@ export class B2bDatePickerMonths {
|
|
|
135
142
|
"composed": true,
|
|
136
143
|
"docs": {
|
|
137
144
|
"tags": [],
|
|
138
|
-
"text": "Event emitted on selecting month
|
|
145
|
+
"text": "Event emitted on selecting month"
|
|
139
146
|
},
|
|
140
147
|
"complexType": {
|
|
141
148
|
"original": "MonthSelectedEventDetail",
|
|
@@ -148,6 +155,27 @@ export class B2bDatePickerMonths {
|
|
|
148
155
|
}
|
|
149
156
|
}
|
|
150
157
|
}
|
|
158
|
+
}, {
|
|
159
|
+
"method": "b2bDatePickerEscape",
|
|
160
|
+
"name": "b2b-date-picker-escape",
|
|
161
|
+
"bubbles": true,
|
|
162
|
+
"cancelable": true,
|
|
163
|
+
"composed": true,
|
|
164
|
+
"docs": {
|
|
165
|
+
"tags": [],
|
|
166
|
+
"text": "Event emitted on escape press"
|
|
167
|
+
},
|
|
168
|
+
"complexType": {
|
|
169
|
+
"original": "EscapePressed",
|
|
170
|
+
"resolved": "EscapePressed<any>",
|
|
171
|
+
"references": {
|
|
172
|
+
"EscapePressed": {
|
|
173
|
+
"location": "import",
|
|
174
|
+
"path": "../../utils/interfaces/form.interface",
|
|
175
|
+
"id": "src/utils/interfaces/form.interface.d.ts::EscapePressed"
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
151
179
|
}];
|
|
152
180
|
}
|
|
153
181
|
static get elementRef() { return "host"; }
|
|
@@ -5,6 +5,7 @@ const keys = {
|
|
|
5
5
|
ARROW_RIGHT: 'ArrowRight',
|
|
6
6
|
ARROW_LEFT: 'ArrowLeft',
|
|
7
7
|
ENTER: 'Enter',
|
|
8
|
+
ESC: 'Escape',
|
|
8
9
|
};
|
|
9
10
|
export class B2bDatePickerYears {
|
|
10
11
|
constructor() {
|
|
@@ -50,32 +51,34 @@ export class B2bDatePickerYears {
|
|
|
50
51
|
return years;
|
|
51
52
|
};
|
|
52
53
|
this.selectedYear = undefined;
|
|
53
|
-
this.yearsRange =
|
|
54
|
+
this.yearsRange = Array.from({ length: 201 }, (_, i) => i + 1900);
|
|
54
55
|
}
|
|
55
56
|
handleKeyDown(event) {
|
|
56
57
|
event.preventDefault();
|
|
57
|
-
let index = this.yearsRange.indexOf(this.selectedYear);
|
|
58
58
|
const years = this.getAllYears();
|
|
59
59
|
let currentYear = this.getCurrentYear();
|
|
60
|
+
let index = years.indexOf(currentYear);
|
|
60
61
|
switch (event.key) {
|
|
61
62
|
case keys.ARROW_LEFT:
|
|
62
|
-
index
|
|
63
|
+
index -= 1;
|
|
63
64
|
break;
|
|
64
65
|
case keys.ARROW_RIGHT:
|
|
65
|
-
index
|
|
66
|
+
index += 1;
|
|
66
67
|
break;
|
|
67
68
|
case keys.ARROW_UP:
|
|
68
|
-
index
|
|
69
|
+
index -= 3;
|
|
69
70
|
break;
|
|
70
71
|
case keys.ARROW_DOWN:
|
|
71
|
-
index
|
|
72
|
+
index += 3;
|
|
72
73
|
break;
|
|
73
74
|
case keys.ENTER:
|
|
74
|
-
index = years.indexOf(currentYear);
|
|
75
75
|
this.b2bDatePickerYearSelected.emit({
|
|
76
76
|
value: this.yearsRange[index],
|
|
77
77
|
});
|
|
78
|
-
|
|
78
|
+
return;
|
|
79
|
+
case keys.ESC:
|
|
80
|
+
this.b2bDatePickerEscape.emit();
|
|
81
|
+
return;
|
|
79
82
|
default:
|
|
80
83
|
return;
|
|
81
84
|
}
|
|
@@ -87,18 +90,14 @@ export class B2bDatePickerYears {
|
|
|
87
90
|
}
|
|
88
91
|
this.focusCurrentYear(years[index]);
|
|
89
92
|
}
|
|
90
|
-
componentWillLoad() {
|
|
91
|
-
for (let i = 1900; i <= 2100; i++) {
|
|
92
|
-
this.yearsRange.push(i);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
93
|
componentDidLoad() {
|
|
96
94
|
if (this.selectedYear > 0) {
|
|
97
95
|
this.scrollToYear(this.selectedYear);
|
|
96
|
+
this.getCurrentYear().focus();
|
|
98
97
|
}
|
|
99
98
|
}
|
|
100
99
|
render() {
|
|
101
|
-
return (h(Host, { key: '
|
|
100
|
+
return (h(Host, { key: '2e9b64e857f36f8623cb13aa5ebd5346e21bdc6f' }, h("div", { key: 'b6a82d5fbfc2f18aab9c2c64efe3c8bbe63cfc19', class: "b2b-date-picker-years" }, this.renderDatePickerYears())));
|
|
102
101
|
}
|
|
103
102
|
static get is() { return "b2b-date-picker-years"; }
|
|
104
103
|
static get encapsulation() { return "shadow"; }
|
|
@@ -147,7 +146,7 @@ export class B2bDatePickerYears {
|
|
|
147
146
|
"composed": true,
|
|
148
147
|
"docs": {
|
|
149
148
|
"tags": [],
|
|
150
|
-
"text": "Event emitted on selecting year
|
|
149
|
+
"text": "Event emitted on selecting year"
|
|
151
150
|
},
|
|
152
151
|
"complexType": {
|
|
153
152
|
"original": "YearSelectedEventDetail",
|
|
@@ -160,6 +159,27 @@ export class B2bDatePickerYears {
|
|
|
160
159
|
}
|
|
161
160
|
}
|
|
162
161
|
}
|
|
162
|
+
}, {
|
|
163
|
+
"method": "b2bDatePickerEscape",
|
|
164
|
+
"name": "b2b-date-picker-escape",
|
|
165
|
+
"bubbles": true,
|
|
166
|
+
"cancelable": true,
|
|
167
|
+
"composed": true,
|
|
168
|
+
"docs": {
|
|
169
|
+
"tags": [],
|
|
170
|
+
"text": "Event emitted on escape press"
|
|
171
|
+
},
|
|
172
|
+
"complexType": {
|
|
173
|
+
"original": "EscapePressed",
|
|
174
|
+
"resolved": "EscapePressed<any>",
|
|
175
|
+
"references": {
|
|
176
|
+
"EscapePressed": {
|
|
177
|
+
"location": "import",
|
|
178
|
+
"path": "../../utils/interfaces/form.interface",
|
|
179
|
+
"id": "src/utils/interfaces/form.interface.d.ts::EscapePressed"
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
163
183
|
}];
|
|
164
184
|
}
|
|
165
185
|
static get elementRef() { return "host"; }
|
|
@@ -234,7 +234,6 @@
|
|
|
234
234
|
}
|
|
235
235
|
.b2b-date-picker {
|
|
236
236
|
position: relative;
|
|
237
|
-
z-index: 300;
|
|
238
237
|
}
|
|
239
238
|
.b2b-date-picker__backdrop {
|
|
240
239
|
position: fixed;
|
|
@@ -242,7 +241,7 @@
|
|
|
242
241
|
left: 0;
|
|
243
242
|
width: 100%;
|
|
244
243
|
height: 100%;
|
|
245
|
-
z-index:
|
|
244
|
+
z-index: 100;
|
|
246
245
|
}
|
|
247
246
|
.b2b-date-picker-input-focus-wrapper {
|
|
248
247
|
width: 100%;
|
|
@@ -326,7 +325,7 @@ b2b-input-label {
|
|
|
326
325
|
padding-bottom: var(--b2b-size-40);
|
|
327
326
|
outline: none;
|
|
328
327
|
background-color: var(--b2b-color-white-100);
|
|
329
|
-
z-index:
|
|
328
|
+
z-index: 101;
|
|
330
329
|
}
|
|
331
330
|
.b2b-date-picker-body--hidden {
|
|
332
331
|
display: none;
|
|
@@ -137,7 +137,7 @@ export class B2bDatePicker {
|
|
|
137
137
|
if (this.disableDatesFrom && this.disableDatesFrom !== '') {
|
|
138
138
|
this.normalizedDisableDatesFrom = this.normalizeDisableDatesUntilAndFrom(this.disableDatesFrom);
|
|
139
139
|
}
|
|
140
|
-
if (this.preSelectedDate) {
|
|
140
|
+
if (this.preSelectedDate && this.preSelectedDate !== '') {
|
|
141
141
|
const [day, month, year] = this.preSelectedDate.split('.').map(Number);
|
|
142
142
|
this.selectedDay = day;
|
|
143
143
|
this.selectedMonth = month - 1;
|
|
@@ -153,7 +153,12 @@ export class B2bDatePicker {
|
|
|
153
153
|
this.userInputDate = '';
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
|
-
handleEscapePress() {
|
|
156
|
+
handleEscapePress(event) {
|
|
157
|
+
if (this.datePickerView !== "Days" /* DatePickerView.Days */) {
|
|
158
|
+
this.datePickerView = "Days" /* DatePickerView.Days */;
|
|
159
|
+
event.preventDefault();
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
157
162
|
this.showDatePicker = false;
|
|
158
163
|
}
|
|
159
164
|
handleDateSelection(event) {
|
|
@@ -384,10 +389,10 @@ export class B2bDatePicker {
|
|
|
384
389
|
: 'open date picker', icon: "b2b_icon-event", clickable: true }))))), h("div", { class: {
|
|
385
390
|
'b2b-date-picker-body': true,
|
|
386
391
|
'b2b-date-picker-body--hidden': !this.showDatePicker,
|
|
387
|
-
} }, this.datePickerView === "Days" /* DatePickerView.Days */ && (h("div", null, h("b2b-date-picker-header", { language: this.language, selectedMonth: this.selectedMonth, selectedYear: this.selectedYear }), h("b2b-date-picker-days-header", { language: this.language }), h("b2b-date-picker-days", { selectedMonth: this.selectedMonth, selectedYear: this.selectedYear, selectedDay: this.selectedDay, disableWeekends: this.disableWeekends, disableFutureDates: this.disableFutureDates, disablePastDates: this.disablePastDates, disableDates: this.datesToBeDisabled, disableDatesUntil: this.normalizedDisableDatesUntil, disableEvery: this.normalizedDisableEvery, disableDatesFrom: this.normalizedDisableDatesFrom }))), this.datePickerView === "Months" /* DatePickerView.Months */ && (h("b2b-date-picker-months", { language: this.language, selectedMonth: this.selectedMonth })), this.datePickerView === "Years" /* DatePickerView.Years */ && (h("b2b-date-picker-years", { selectedYear: this.selectedYear }))), this.showDatePicker && (h("div", { class: "b2b-date-picker__backdrop", onClick: this.handleBackdropDismiss })),
|
|
392
|
+
} }, this.datePickerView === "Days" /* DatePickerView.Days */ && (h("div", null, h("b2b-date-picker-header", { language: this.language, selectedMonth: this.selectedMonth, selectedYear: this.selectedYear }), h("b2b-date-picker-days-header", { language: this.language }), h("b2b-date-picker-days", { selectedMonth: this.selectedMonth, selectedYear: this.selectedYear, selectedDay: this.selectedDay, disableWeekends: this.disableWeekends, disableFutureDates: this.disableFutureDates, disablePastDates: this.disablePastDates, disableDates: this.datesToBeDisabled, disableDatesUntil: this.normalizedDisableDatesUntil, disableEvery: this.normalizedDisableEvery, disableDatesFrom: this.normalizedDisableDatesFrom }))), this.datePickerView === "Months" /* DatePickerView.Months */ && (h("b2b-date-picker-months", { language: this.language, selectedMonth: this.selectedMonth })), this.datePickerView === "Years" /* DatePickerView.Years */ && (h("b2b-date-picker-years", { selectedYear: this.selectedYear }))), this.showDatePicker && (h("div", { class: "b2b-date-picker__backdrop", onClick: this.handleBackdropDismiss })), h("span", { class: {
|
|
388
393
|
'b2b-date-picker-hint': true,
|
|
389
394
|
'b2b-date-picker-hint--error': this.invalid,
|
|
390
|
-
} }, this.invalid ? this.errorMessage : this.showHint && this.hint)))
|
|
395
|
+
} }, this.invalid ? this.errorMessage : this.showHint && this.hint)));
|
|
391
396
|
}
|
|
392
397
|
static get is() { return "b2b-date-picker"; }
|
|
393
398
|
static get encapsulation() { return "shadow"; }
|
|
@@ -83,10 +83,16 @@ export const Default = {
|
|
|
83
83
|
args: Object.assign(Object.assign({}, meta.args), { preSelectedDate: '01.01.2025' }),
|
|
84
84
|
play: async ({ canvasElement }) => {
|
|
85
85
|
setTimeout(async () => {
|
|
86
|
-
var _a;
|
|
86
|
+
var _a, _b, _c;
|
|
87
87
|
const datePicker = canvasElement.querySelector('b2b-date-picker');
|
|
88
|
-
const
|
|
89
|
-
|
|
88
|
+
const wrapper = (_a = datePicker.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.b2b-date-picker-input-focus-wrapper');
|
|
89
|
+
const days = (_b = datePicker.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('b2b-date-picker-days');
|
|
90
|
+
const day = (_c = days.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.b2b-date-picker-day--selected');
|
|
91
|
+
await userEvent.click(wrapper);
|
|
92
|
+
setTimeout(async () => {
|
|
93
|
+
day.focus();
|
|
94
|
+
await userEvent.keyboard('{arrowright}{arrowright}');
|
|
95
|
+
}, 500);
|
|
90
96
|
}, 500);
|
|
91
97
|
},
|
|
92
98
|
};
|
|
@@ -323,6 +323,10 @@
|
|
|
323
323
|
background-color: var(--b2b-color-white-100);
|
|
324
324
|
pointer-events: none;
|
|
325
325
|
}
|
|
326
|
+
:host(.b2b-dropdown) .b2b-dropdown__option--selected {
|
|
327
|
+
background-color: var(--b2b-color-black-100);
|
|
328
|
+
color: var(--b2b-color-white-100);
|
|
329
|
+
}
|
|
326
330
|
:host(.b2b-dropdown) b2b-input-label {
|
|
327
331
|
display: block;
|
|
328
332
|
margin-bottom: var(--b2b-size-5);
|
|
@@ -73,7 +73,7 @@ describe('B2B-Dropdown', () => {
|
|
|
73
73
|
});
|
|
74
74
|
const count = await page.evaluate(async () => {
|
|
75
75
|
const dropdown = document.querySelector('b2b-dropdown');
|
|
76
|
-
if (
|
|
76
|
+
if (dropdown == null)
|
|
77
77
|
return -1;
|
|
78
78
|
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
79
79
|
const options = dropdown.querySelectorAll('option');
|
|
@@ -7,7 +7,7 @@ export class DropdownComponent {
|
|
|
7
7
|
this.isOpen = false;
|
|
8
8
|
};
|
|
9
9
|
this.toggleDropdown = () => {
|
|
10
|
-
if (!this.disabled)
|
|
10
|
+
if (!this.disabled && !this.groupDisabled)
|
|
11
11
|
this.isOpen = !this.isOpen;
|
|
12
12
|
};
|
|
13
13
|
this.onFocus = (ev) => {
|
|
@@ -71,6 +71,7 @@ export class DropdownComponent {
|
|
|
71
71
|
this.invalid = false;
|
|
72
72
|
this.hint = undefined;
|
|
73
73
|
this.error = undefined;
|
|
74
|
+
this.groupDisabled = false;
|
|
74
75
|
this.isOpen = false;
|
|
75
76
|
this.focused = false;
|
|
76
77
|
this.selectedValue = '';
|
|
@@ -141,14 +142,14 @@ export class DropdownComponent {
|
|
|
141
142
|
});
|
|
142
143
|
}
|
|
143
144
|
render() {
|
|
144
|
-
const hasError = this.invalid && !this.disabled;
|
|
145
|
-
const showHint = this.hint &&
|
|
145
|
+
const hasError = this.invalid && !this.disabled && !this.groupDisabled;
|
|
146
|
+
const showHint = this.hint && !hasError;
|
|
146
147
|
const showError = this.error && hasError;
|
|
147
|
-
return (h(Host, { key: '
|
|
148
|
+
return (h(Host, { key: 'a58a7ec156677962cc7a3d7ca421d4c475d8cd77', class: {
|
|
148
149
|
'b2b-dropdown': true,
|
|
149
150
|
'b2b-dropdown--error': hasError,
|
|
150
|
-
'b2b-dropdown--disabled': this.disabled,
|
|
151
|
-
} }, this.label && (h("b2b-input-label", { id: this.name, required: this.required }, this.label)), h("div", { key: '
|
|
151
|
+
'b2b-dropdown--disabled': this.disabled || this.groupDisabled,
|
|
152
|
+
} }, this.label && (h("b2b-input-label", { id: this.name, required: this.required }, this.label)), h("div", { key: '27d151cfb88bbfb1e112e276a8f6cc668f178a36', class: "b2b-dropdown__wrapper", onFocus: this.onFocus, onBlur: this.onBlur }, h("div", { key: 'cdce04cf08cb0256dab58d22c4a41430aa054fd1', class: {
|
|
152
153
|
'b2b-dropdown__select': true,
|
|
153
154
|
'b2b-dropdown__select--open': this.isOpen,
|
|
154
155
|
'b2b-dropdown__select--focused': this.focused,
|
|
@@ -329,6 +330,27 @@ export class DropdownComponent {
|
|
|
329
330
|
},
|
|
330
331
|
"attribute": "error",
|
|
331
332
|
"reflect": false
|
|
333
|
+
},
|
|
334
|
+
"groupDisabled": {
|
|
335
|
+
"type": "boolean",
|
|
336
|
+
"mutable": false,
|
|
337
|
+
"complexType": {
|
|
338
|
+
"original": "boolean",
|
|
339
|
+
"resolved": "boolean",
|
|
340
|
+
"references": {}
|
|
341
|
+
},
|
|
342
|
+
"required": false,
|
|
343
|
+
"optional": false,
|
|
344
|
+
"docs": {
|
|
345
|
+
"tags": [{
|
|
346
|
+
"name": "internal",
|
|
347
|
+
"text": "Whether the parent input group is disabled. Per default, it is false."
|
|
348
|
+
}],
|
|
349
|
+
"text": ""
|
|
350
|
+
},
|
|
351
|
+
"attribute": "group-disabled",
|
|
352
|
+
"reflect": false,
|
|
353
|
+
"defaultValue": "false"
|
|
332
354
|
}
|
|
333
355
|
};
|
|
334
356
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { userEvent } from "@storybook/test";
|
|
1
2
|
import { html } from "lit-html";
|
|
2
3
|
import { getArgTypes } from "../../docs/config/utils";
|
|
3
|
-
const Template = ({ label, required, name, disabled, invalid, hint, error, }) => {
|
|
4
|
-
const defaultLabel = label ? label : 'Favorite Fruit';
|
|
4
|
+
const Template = ({ label = 'Favorite Fruit', required, name, disabled, invalid, hint, error, selected = false, }) => {
|
|
5
5
|
return html `<b2b-dropdown
|
|
6
|
-
label="${
|
|
6
|
+
label="${label}"
|
|
7
7
|
name="${name}"
|
|
8
8
|
error="${error}"
|
|
9
9
|
hint="${hint}"
|
|
@@ -13,7 +13,9 @@ const Template = ({ label, required, name, disabled, invalid, hint, error, }) =>
|
|
|
13
13
|
<option value="strawberry">Strawberry</option>
|
|
14
14
|
<option value="orange">Orange</option>
|
|
15
15
|
<option value="banana">Banana</option>
|
|
16
|
-
|
|
16
|
+
${selected
|
|
17
|
+
? html `<option value="pineapple" selected="true">Pineapple</option>`
|
|
18
|
+
: html `<option value="pineapple">Pineapple</option>`}
|
|
17
19
|
<option value="grapes">Grapes</option>
|
|
18
20
|
<option value="watermelon">Watermelon</option>
|
|
19
21
|
<option value="papaya">Papaya</option>
|
|
@@ -44,6 +46,17 @@ story030Error.storyName = 'Error';
|
|
|
44
46
|
export const story040Required = Template.bind({});
|
|
45
47
|
story040Required.args = Object.assign(Object.assign({}, defaultArgs), { required: true });
|
|
46
48
|
story040Required.storyName = 'Required';
|
|
49
|
+
export const story050Selected = Template.bind({});
|
|
50
|
+
story050Selected.args = Object.assign(Object.assign({}, defaultArgs), { selected: true });
|
|
51
|
+
story050Selected.storyName = 'Selected';
|
|
52
|
+
story050Selected.play = async ({ canvasElement }) => {
|
|
53
|
+
setTimeout(async () => {
|
|
54
|
+
var _a;
|
|
55
|
+
const dropdown = canvasElement.querySelector('b2b-dropdown');
|
|
56
|
+
const wrapper = (_a = dropdown.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.b2b-dropdown__select');
|
|
57
|
+
await userEvent.click(wrapper);
|
|
58
|
+
}, 500);
|
|
59
|
+
};
|
|
47
60
|
const dropdownArgs = getArgTypes('b2b-dropdown');
|
|
48
61
|
export default {
|
|
49
62
|
title: 'Components/Form/Dropdown',
|
|
@@ -62,8 +62,13 @@ describe('B2B-FlyoutMenu', () => {
|
|
|
62
62
|
icon.click();
|
|
63
63
|
await page.waitForChanges();
|
|
64
64
|
const flyoutMenuOption = await page.find('b2b-flyout-menu-option[option="option3"]');
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
try {
|
|
66
|
+
await flyoutMenuOption.click();
|
|
67
|
+
await page.waitForChanges();
|
|
68
|
+
}
|
|
69
|
+
catch (_a) {
|
|
70
|
+
// expected - not clickable
|
|
71
|
+
}
|
|
67
72
|
expect(flyoutMenuOption).not.toBeNull();
|
|
68
73
|
expect(optionSelectedEventSpy).not.toHaveReceivedEvent();
|
|
69
74
|
});
|