@rededor/cura 1.6.0-alpha.4 → 1.6.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/cjs/cura-accordion_18.cjs.entry.js +49 -48
- package/dist/cjs/cura-accordion_18.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-alert.cjs.entry.js +1 -1
- package/dist/cjs/cura-badge-counter.cjs.entry.js +1 -1
- package/dist/cjs/cura-badge-dot.cjs.entry.js +1 -1
- package/dist/cjs/cura-badge-pill.cjs.entry.js +1 -1
- package/dist/cjs/cura-button-outline.cjs.entry.js +1 -1
- package/dist/cjs/cura-button-select.cjs.entry.js +1 -1
- package/dist/cjs/cura-calendar.cjs.entry.js +1 -1
- package/dist/cjs/cura-card.cjs.entry.js +1 -1
- package/dist/cjs/cura-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/cura-display.cjs.entry.js +2 -2
- package/dist/cjs/cura-dropdown-search-not-found.cjs.entry.js +1 -1
- package/dist/cjs/cura-dropdown-search-not-found.cjs.entry.js.map +1 -1
- package/dist/cjs/cura-icons-view.cjs.entry.js +1 -1
- package/dist/cjs/cura-input-date.cjs.entry.js +2 -2
- package/dist/cjs/cura-loader-bar.cjs.entry.js +2 -2
- package/dist/cjs/cura-modal.cjs.entry.js +1 -1
- package/dist/cjs/cura-progress-bar_2.cjs.entry.js +1 -1
- package/dist/cjs/cura-radio.cjs.entry.js +2 -2
- package/dist/cjs/cura-stepper.cjs.entry.js +1 -1
- package/dist/cjs/cura-switch.cjs.entry.js +2 -2
- package/dist/cjs/cura-toast.cjs.entry.js +1 -1
- package/dist/cjs/cura-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/cura.cjs.js +2 -2
- package/dist/cjs/{index-12d54921.js → index-60783089.js} +2 -5
- package/dist/cjs/index-60783089.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +4 -7
- package/dist/collection/components/cura-dropdown-search/cura-dropdown-search-category/cura-dropdown-search-category.js.map +1 -0
- package/dist/collection/components/{cura-dropdown-search-new → cura-dropdown-search}/cura-dropdown-search-category/cura-dropdown-search-category.stories.js +1 -1
- package/dist/collection/components/cura-dropdown-search/cura-dropdown-search-category/cura-dropdown-search-category.stories.js.map +1 -0
- package/dist/collection/components/cura-dropdown-search/cura-dropdown-search-not-found/cura-dropdown-search-not-found.js.map +1 -0
- package/dist/collection/components/{cura-dropdown-search-new → cura-dropdown-search}/cura-dropdown-search-not-found/cura-dropdown-search-not-found.stories.js +2 -2
- package/dist/collection/components/cura-dropdown-search/cura-dropdown-search-not-found/cura-dropdown-search-not-found.stories.js.map +1 -0
- package/dist/collection/components/{cura-dropdown-search-new/cura-dropdown-search-option-new/cura-dropdown-search-option-new.css → cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.css} +2 -0
- package/dist/collection/components/{cura-dropdown-search-new/cura-dropdown-search-option-new/cura-dropdown-search-option-new.js → cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.js} +6 -6
- package/dist/collection/components/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.js.map +1 -0
- package/dist/collection/components/{cura-dropdown-search-new/cura-dropdown-search-option-new/cura-dropdown-search-option-new.stories.js → cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.stories.js} +5 -5
- package/dist/collection/components/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.stories.js.map +1 -0
- package/dist/collection/components/{cura-dropdown-search-new/cura-dropdown-search-new.js → cura-dropdown-search/cura-dropdown-search.js} +11 -10
- package/dist/collection/components/cura-dropdown-search/cura-dropdown-search.js.map +1 -0
- package/dist/collection/components/{cura-dropdown-search-new/cura-dropdown-search-new.stories.js → cura-dropdown-search/cura-dropdown-search.stories.js} +25 -25
- package/dist/collection/components/cura-dropdown-search/cura-dropdown-search.stories.js.map +1 -0
- package/dist/collection/components/forms/cura-input-date/cura-input-date.js +1 -1
- package/dist/collection/components/forms/cura-label/cura-label.css +1 -0
- package/dist/collection/components/forms/cura-label/cura-label.js +1 -1
- package/dist/collection/components/forms/cura-radio/cura-radio.js +1 -1
- package/dist/collection/components/forms/cura-select/cura-select.js +3 -3
- package/dist/collection/components/forms/cura-select-options/cura-select-option.js +1 -1
- package/dist/collection/components/forms/cura-switch/cura-switch.js +1 -1
- package/dist/collection/components/loaders/cura-loader-bar/cura-loader-bar.js +1 -1
- package/dist/collection/components/loaders/cura-loader-circle/cura-loader-circle.js +1 -1
- package/dist/collection/components/text/cura-display/cura-display.js +1 -1
- package/dist/collection/components/text/cura-heading/cura-heading.css +1 -0
- package/dist/collection/components/text/cura-heading/cura-heading.js +1 -1
- package/dist/collection/components/text/cura-paragraph/cura-paragraph.css +3 -0
- package/dist/collection/components/text/cura-paragraph/cura-paragraph.js +1 -1
- package/dist/components/cura-display.js +1 -1
- package/dist/components/cura-dropdown-search-category.js.map +1 -1
- package/dist/components/cura-dropdown-search-not-found.js.map +1 -1
- package/dist/components/cura-dropdown-search-option.js +40 -52
- package/dist/components/cura-dropdown-search-option.js.map +1 -1
- package/dist/components/cura-dropdown-search.js +283 -236
- package/dist/components/cura-dropdown-search.js.map +1 -1
- package/dist/components/cura-heading2.js +2 -2
- package/dist/components/cura-heading2.js.map +1 -1
- package/dist/components/cura-input-date.js +1 -1
- package/dist/components/cura-input-text2.js +38 -38
- package/dist/components/cura-input-text2.js.map +1 -1
- package/dist/components/cura-label2.js +2 -2
- package/dist/components/cura-label2.js.map +1 -1
- package/dist/components/cura-loader-bar2.js +1 -1
- package/dist/components/cura-loader-circle2.js +1 -1
- package/dist/components/cura-paragraph2.js +2 -2
- package/dist/components/cura-paragraph2.js.map +1 -1
- package/dist/components/cura-radio.js +1 -1
- package/dist/components/cura-select-option2.js +1 -1
- package/dist/components/cura-select2.js +3 -3
- package/dist/components/cura-switch.js +1 -1
- package/dist/components/index.js +0 -6
- package/dist/components/index.js.map +1 -1
- package/dist/cura/cura.esm.js +1 -1
- package/dist/cura/cura.esm.js.map +1 -1
- package/dist/cura/{p-5afb630e.entry.js → p-07817634.entry.js} +2 -2
- package/dist/cura/{p-24cd591e.entry.js → p-1016108a.entry.js} +2 -2
- package/dist/cura/{p-fc9584dd.entry.js → p-174d220e.entry.js} +2 -2
- package/dist/cura/{p-d227469a.entry.js → p-186392b7.entry.js} +2 -2
- package/dist/cura/{p-d25142cd.entry.js → p-197213c0.entry.js} +2 -2
- package/dist/cura/{p-bf69b32f.entry.js → p-25932952.entry.js} +2 -2
- package/dist/cura/{p-89671cd4.entry.js → p-3519d0ba.entry.js} +2 -2
- package/dist/cura/{p-02c2b948.entry.js → p-38777561.entry.js} +2 -2
- package/dist/cura/{p-6243742a.entry.js → p-3c305dbd.entry.js} +2 -2
- package/dist/cura/{p-f1098b41.entry.js → p-405a50de.entry.js} +2 -2
- package/dist/cura/{p-af3ac476.js → p-4ee8efca.js} +3 -3
- package/dist/cura/p-4ee8efca.js.map +1 -0
- package/dist/cura/{p-bfaf9964.entry.js → p-53d68d72.entry.js} +2 -2
- package/dist/cura/p-5b928e46.entry.js +2 -0
- package/dist/cura/p-5b928e46.entry.js.map +1 -0
- package/dist/cura/{p-506747fb.entry.js → p-62c1b0f4.entry.js} +2 -2
- package/dist/cura/{p-0a391c03.entry.js → p-6f7f157e.entry.js} +2 -2
- package/dist/cura/{p-635c0f4d.entry.js → p-777decf9.entry.js} +2 -2
- package/dist/cura/{p-8fb3bede.entry.js → p-a1782f0e.entry.js} +2 -2
- package/dist/cura/{p-d2da92d9.entry.js → p-ac0c90af.entry.js} +2 -2
- package/dist/cura/{p-86d317f3.entry.js → p-b254bbe4.entry.js} +2 -2
- package/dist/cura/p-b254bbe4.entry.js.map +1 -0
- package/dist/cura/{p-9214ee88.entry.js → p-d77df3f0.entry.js} +2 -2
- package/dist/cura/{p-18af52e4.entry.js → p-d7f46266.entry.js} +2 -2
- package/dist/cura/{p-02717e7d.entry.js → p-e1916252.entry.js} +2 -2
- package/dist/cura/{p-500f1256.entry.js → p-fc1fd622.entry.js} +2 -2
- package/dist/esm/cura-accordion_18.entry.js +48 -47
- package/dist/esm/cura-accordion_18.entry.js.map +1 -1
- package/dist/esm/cura-alert.entry.js +1 -1
- package/dist/esm/cura-badge-counter.entry.js +1 -1
- package/dist/esm/cura-badge-dot.entry.js +1 -1
- package/dist/esm/cura-badge-pill.entry.js +1 -1
- package/dist/esm/cura-button-outline.entry.js +1 -1
- package/dist/esm/cura-button-select.entry.js +1 -1
- package/dist/esm/cura-calendar.entry.js +1 -1
- package/dist/esm/cura-card.entry.js +1 -1
- package/dist/esm/cura-checkbox.entry.js +1 -1
- package/dist/esm/cura-display.entry.js +2 -2
- package/dist/esm/cura-dropdown-search-not-found.entry.js +1 -1
- package/dist/esm/cura-dropdown-search-not-found.entry.js.map +1 -1
- package/dist/esm/cura-icons-view.entry.js +1 -1
- package/dist/esm/cura-input-date.entry.js +2 -2
- package/dist/esm/cura-loader-bar.entry.js +2 -2
- package/dist/esm/cura-modal.entry.js +1 -1
- package/dist/esm/cura-progress-bar_2.entry.js +1 -1
- package/dist/esm/cura-radio.entry.js +2 -2
- package/dist/esm/cura-stepper.entry.js +1 -1
- package/dist/esm/cura-switch.entry.js +2 -2
- package/dist/esm/cura-toast.entry.js +1 -1
- package/dist/esm/cura-tooltip.entry.js +1 -1
- package/dist/esm/cura.js +3 -3
- package/dist/esm/{index-717b36df.js → index-21683715.js} +2 -5
- package/dist/esm/index-21683715.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/{cura-dropdown-search-new/cura-dropdown-search-option-new/cura-dropdown-search-option-new.d.ts → cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.d.ts} +1 -1
- package/dist/types/components/{cura-dropdown-search-new/cura-dropdown-search-option-new/cura-dropdown-search-option-new.stories.d.ts → cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.stories.d.ts} +1 -1
- package/dist/types/components/{cura-dropdown-search-new/cura-dropdown-search-new.d.ts → cura-dropdown-search/cura-dropdown-search.d.ts} +1 -1
- package/dist/types/components.d.ts +12 -211
- package/package.json +2 -2
- package/dist/cjs/cura-dropdown-search-option-title.cjs.entry.js +0 -22
- package/dist/cjs/cura-dropdown-search-option-title.cjs.entry.js.map +0 -1
- package/dist/cjs/cura-dropdown-search-option.cjs.entry.js +0 -65
- package/dist/cjs/cura-dropdown-search-option.cjs.entry.js.map +0 -1
- package/dist/cjs/cura-dropdown-search.cjs.entry.js +0 -285
- package/dist/cjs/cura-dropdown-search.cjs.entry.js.map +0 -1
- package/dist/cjs/index-12d54921.js.map +0 -1
- package/dist/collection/components/cura-dropdown-search-new/cura-dropdown-search-category/cura-dropdown-search-category.js.map +0 -1
- package/dist/collection/components/cura-dropdown-search-new/cura-dropdown-search-category/cura-dropdown-search-category.stories.js.map +0 -1
- package/dist/collection/components/cura-dropdown-search-new/cura-dropdown-search-new.js.map +0 -1
- package/dist/collection/components/cura-dropdown-search-new/cura-dropdown-search-new.stories.js.map +0 -1
- package/dist/collection/components/cura-dropdown-search-new/cura-dropdown-search-not-found/cura-dropdown-search-not-found.js.map +0 -1
- package/dist/collection/components/cura-dropdown-search-new/cura-dropdown-search-not-found/cura-dropdown-search-not-found.stories.js.map +0 -1
- package/dist/collection/components/cura-dropdown-search-new/cura-dropdown-search-option-new/cura-dropdown-search-option-new.js.map +0 -1
- package/dist/collection/components/cura-dropdown-search-new/cura-dropdown-search-option-new/cura-dropdown-search-option-new.stories.js.map +0 -1
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.css +0 -76
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.js +0 -164
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.js.map +0 -1
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.stories.js +0 -65
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.stories.js.map +0 -1
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option-title/cura-dropdown-search-option-title.css +0 -10
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option-title/cura-dropdown-search-option-title.js +0 -19
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search-option-title/cura-dropdown-search-option-title.js.map +0 -1
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.css +0 -158
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.js +0 -534
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.js.map +0 -1
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.stories.js +0 -218
- package/dist/collection/components/forms/cura-dropdown-search/cura-dropdown-search.stories.js.map +0 -1
- package/dist/components/cura-dropdown-search-new.d.ts +0 -11
- package/dist/components/cura-dropdown-search-new.js +0 -400
- package/dist/components/cura-dropdown-search-new.js.map +0 -1
- package/dist/components/cura-dropdown-search-option-new.d.ts +0 -11
- package/dist/components/cura-dropdown-search-option-new.js +0 -81
- package/dist/components/cura-dropdown-search-option-new.js.map +0 -1
- package/dist/components/cura-dropdown-search-option-title.d.ts +0 -11
- package/dist/components/cura-dropdown-search-option-title.js +0 -42
- package/dist/components/cura-dropdown-search-option-title.js.map +0 -1
- package/dist/cura/p-46994182.entry.js +0 -2
- package/dist/cura/p-46994182.entry.js.map +0 -1
- package/dist/cura/p-86d317f3.entry.js.map +0 -1
- package/dist/cura/p-af3ac476.js.map +0 -1
- package/dist/cura/p-b1d6ee8d.entry.js +0 -2
- package/dist/cura/p-b1d6ee8d.entry.js.map +0 -1
- package/dist/cura/p-b3582389.entry.js +0 -2
- package/dist/cura/p-b3582389.entry.js.map +0 -1
- package/dist/cura/p-ee7328a5.entry.js +0 -2
- package/dist/cura/p-ee7328a5.entry.js.map +0 -1
- package/dist/esm/cura-dropdown-search-option-title.entry.js +0 -18
- package/dist/esm/cura-dropdown-search-option-title.entry.js.map +0 -1
- package/dist/esm/cura-dropdown-search-option.entry.js +0 -61
- package/dist/esm/cura-dropdown-search-option.entry.js.map +0 -1
- package/dist/esm/cura-dropdown-search.entry.js +0 -281
- package/dist/esm/cura-dropdown-search.entry.js.map +0 -1
- package/dist/esm/index-717b36df.js.map +0 -1
- package/dist/types/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.d.ts +0 -31
- package/dist/types/components/forms/cura-dropdown-search/cura-dropdown-search-option/cura-dropdown-search-option.stories.d.ts +0 -55
- package/dist/types/components/forms/cura-dropdown-search/cura-dropdown-search-option-title/cura-dropdown-search-option-title.d.ts +0 -3
- package/dist/types/components/forms/cura-dropdown-search/cura-dropdown-search.d.ts +0 -142
- package/dist/types/components/forms/cura-dropdown-search/cura-dropdown-search.stories.d.ts +0 -157
- /package/dist/collection/components/{cura-dropdown-search-new → cura-dropdown-search}/cura-dropdown-search-category/cura-dropdown-search-category.css +0 -0
- /package/dist/collection/components/{cura-dropdown-search-new → cura-dropdown-search}/cura-dropdown-search-category/cura-dropdown-search-category.js +0 -0
- /package/dist/collection/components/{cura-dropdown-search-new → cura-dropdown-search}/cura-dropdown-search-not-found/cura-dropdown-search-not-found.css +0 -0
- /package/dist/collection/components/{cura-dropdown-search-new → cura-dropdown-search}/cura-dropdown-search-not-found/cura-dropdown-search-not-found.js +0 -0
- /package/dist/collection/components/{cura-dropdown-search-new/cura-dropdown-search-new.css → cura-dropdown-search/cura-dropdown-search.css} +0 -0
- /package/dist/cura/{p-5afb630e.entry.js.map → p-07817634.entry.js.map} +0 -0
- /package/dist/cura/{p-24cd591e.entry.js.map → p-1016108a.entry.js.map} +0 -0
- /package/dist/cura/{p-fc9584dd.entry.js.map → p-174d220e.entry.js.map} +0 -0
- /package/dist/cura/{p-d227469a.entry.js.map → p-186392b7.entry.js.map} +0 -0
- /package/dist/cura/{p-d25142cd.entry.js.map → p-197213c0.entry.js.map} +0 -0
- /package/dist/cura/{p-bf69b32f.entry.js.map → p-25932952.entry.js.map} +0 -0
- /package/dist/cura/{p-89671cd4.entry.js.map → p-3519d0ba.entry.js.map} +0 -0
- /package/dist/cura/{p-02c2b948.entry.js.map → p-38777561.entry.js.map} +0 -0
- /package/dist/cura/{p-6243742a.entry.js.map → p-3c305dbd.entry.js.map} +0 -0
- /package/dist/cura/{p-f1098b41.entry.js.map → p-405a50de.entry.js.map} +0 -0
- /package/dist/cura/{p-bfaf9964.entry.js.map → p-53d68d72.entry.js.map} +0 -0
- /package/dist/cura/{p-506747fb.entry.js.map → p-62c1b0f4.entry.js.map} +0 -0
- /package/dist/cura/{p-0a391c03.entry.js.map → p-6f7f157e.entry.js.map} +0 -0
- /package/dist/cura/{p-635c0f4d.entry.js.map → p-777decf9.entry.js.map} +0 -0
- /package/dist/cura/{p-8fb3bede.entry.js.map → p-a1782f0e.entry.js.map} +0 -0
- /package/dist/cura/{p-d2da92d9.entry.js.map → p-ac0c90af.entry.js.map} +0 -0
- /package/dist/cura/{p-9214ee88.entry.js.map → p-d77df3f0.entry.js.map} +0 -0
- /package/dist/cura/{p-18af52e4.entry.js.map → p-d7f46266.entry.js.map} +0 -0
- /package/dist/cura/{p-02717e7d.entry.js.map → p-e1916252.entry.js.map} +0 -0
- /package/dist/cura/{p-500f1256.entry.js.map → p-fc1fd622.entry.js.map} +0 -0
- /package/dist/types/components/{cura-dropdown-search-new → cura-dropdown-search}/cura-dropdown-search-category/cura-dropdown-search-category.d.ts +0 -0
- /package/dist/types/components/{cura-dropdown-search-new → cura-dropdown-search}/cura-dropdown-search-category/cura-dropdown-search-category.stories.d.ts +0 -0
- /package/dist/types/components/{cura-dropdown-search-new → cura-dropdown-search}/cura-dropdown-search-not-found/cura-dropdown-search-not-found.d.ts +0 -0
- /package/dist/types/components/{cura-dropdown-search-new → cura-dropdown-search}/cura-dropdown-search-not-found/cura-dropdown-search-not-found.stories.d.ts +0 -0
- /package/dist/types/components/{cura-dropdown-search-new/cura-dropdown-search-new.stories.d.ts → cura-dropdown-search/cura-dropdown-search.stories.d.ts} +0 -0
|
@@ -1,534 +0,0 @@
|
|
|
1
|
-
import { Host, h } from "@stencil/core";
|
|
2
|
-
export class CuraDropdownSearch {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.overlayElement = null;
|
|
5
|
-
this.adjustInputPosition = () => {
|
|
6
|
-
setTimeout(() => {
|
|
7
|
-
var _a, _b;
|
|
8
|
-
const isKeyboardOpen = (window === null || window === void 0 ? void 0 : window.innerHeight) < this.screenDefaultHeight;
|
|
9
|
-
const dropdown = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.dropdown-mobile');
|
|
10
|
-
if (dropdown) {
|
|
11
|
-
dropdown.style.position = isKeyboardOpen ? 'absolute' : 'fixed';
|
|
12
|
-
dropdown.style.bottom = isKeyboardOpen ? `${((_b = window === null || window === void 0 ? void 0 : window.screen) === null || _b === void 0 ? void 0 : _b.height) - (window === null || window === void 0 ? void 0 : window.innerHeight)}px` : '0';
|
|
13
|
-
window.scroll({ top: 0, left: 0 });
|
|
14
|
-
}
|
|
15
|
-
}, 300);
|
|
16
|
-
};
|
|
17
|
-
this.handleSlotChange = () => {
|
|
18
|
-
this.options = Array.from(this.host.querySelectorAll('cura-dropdown-search-option'));
|
|
19
|
-
this.addClickListenersToOptions();
|
|
20
|
-
this.updateHoveredIndex();
|
|
21
|
-
};
|
|
22
|
-
this.handleInputChange = (event) => {
|
|
23
|
-
const input = event.target;
|
|
24
|
-
this.value = input.value;
|
|
25
|
-
this.onValueChange(this.value);
|
|
26
|
-
};
|
|
27
|
-
this.handleKeyDown = (event) => {
|
|
28
|
-
if (event.key === 'ArrowDown') {
|
|
29
|
-
event.preventDefault();
|
|
30
|
-
this.moveHighlight(1);
|
|
31
|
-
}
|
|
32
|
-
else if (event.key === 'ArrowUp') {
|
|
33
|
-
event.preventDefault();
|
|
34
|
-
this.moveHighlight(-1);
|
|
35
|
-
}
|
|
36
|
-
else if (event.key === 'Enter') {
|
|
37
|
-
event.preventDefault();
|
|
38
|
-
if (this.hoveredIndex > -1) {
|
|
39
|
-
this.handleOnBlur();
|
|
40
|
-
this.onSelectedOption(this.hoveredIndex);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
this.handleResize = () => {
|
|
45
|
-
this.isMobile = window.innerWidth < 768;
|
|
46
|
-
if (this.isDropdownOpen) {
|
|
47
|
-
if (this.isMobile) {
|
|
48
|
-
this.showOverlay();
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
this.resetDropdownStyles();
|
|
52
|
-
this.removeOverlay();
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
this.setUp = () => {
|
|
57
|
-
this.handleResize();
|
|
58
|
-
this.adjustInputPosition();
|
|
59
|
-
};
|
|
60
|
-
this.size = 'large';
|
|
61
|
-
this.status = 'default';
|
|
62
|
-
this.disabled = false;
|
|
63
|
-
this.name = undefined;
|
|
64
|
-
this.required = false;
|
|
65
|
-
this.selected = false;
|
|
66
|
-
this.value = '';
|
|
67
|
-
this.placeholder = '';
|
|
68
|
-
this.label = '';
|
|
69
|
-
this.iconName = 'search';
|
|
70
|
-
this.dropdownMaxHeight = '630px';
|
|
71
|
-
this.overlayVisible = false;
|
|
72
|
-
this.isDropdownOpen = false;
|
|
73
|
-
this.styles = {};
|
|
74
|
-
this.isMobile = window.innerWidth < 768;
|
|
75
|
-
this.mode = 'default';
|
|
76
|
-
this.inputTextRef = undefined;
|
|
77
|
-
this.isOnBlurInput = true;
|
|
78
|
-
this.hoveredIndex = -1;
|
|
79
|
-
this.options = [];
|
|
80
|
-
this.originalOverflow = '';
|
|
81
|
-
this.screenDefaultHeight = 0;
|
|
82
|
-
}
|
|
83
|
-
connectedCallback() {
|
|
84
|
-
this.weights = window.CuraAPI.theme.fonts.getWeights();
|
|
85
|
-
this.styles['--info-base'] = window.CuraAPI.theme.colors.getColor('info-base');
|
|
86
|
-
this.styles['--neutral-purewhite'] = window.CuraAPI.theme.colors.getColor('neutral-purewhite');
|
|
87
|
-
this.styles['--neutral-light'] = window.CuraAPI.theme.colors.getColor('neutral-light');
|
|
88
|
-
this.styles['--neutral-dark'] = window.CuraAPI.theme.colors.getColor('neutral-dark');
|
|
89
|
-
this.styles['--neutral-black-shadow'] = window.CuraAPI.theme.colors.getColor(`neutral-black`, 0.16);
|
|
90
|
-
this.styles['--error-dark'] = window.CuraAPI.theme.colors.getColor('error-dark');
|
|
91
|
-
this.styles['--error-lighter'] = window.CuraAPI.theme.colors.getColor('error-lighter');
|
|
92
|
-
this.styles['--breakpoints'] = window.CuraAPI.theme.breakpoints.get();
|
|
93
|
-
this.styles['--font-size'] = window.CuraAPI.theme.fonts.getSize();
|
|
94
|
-
this.styles['--font-family'] = window.CuraAPI.theme.fonts.getFamily();
|
|
95
|
-
this.styles['--font-weight-medium'] = this.weights.medium;
|
|
96
|
-
}
|
|
97
|
-
onValueChange(newValue) {
|
|
98
|
-
this.value = newValue;
|
|
99
|
-
this.updateSelectedOption(newValue);
|
|
100
|
-
this.valueChanged.emit(newValue);
|
|
101
|
-
}
|
|
102
|
-
componentWillLoad() {
|
|
103
|
-
this.updateSelectedOption(this.value);
|
|
104
|
-
}
|
|
105
|
-
componentDidRender() {
|
|
106
|
-
if (this.isDropdownOpen && this.isMobile) {
|
|
107
|
-
this.showOverlay();
|
|
108
|
-
this.getDropdownSearchListHeight();
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
this.removeOverlay();
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
componentDidLoad() {
|
|
115
|
-
var _a;
|
|
116
|
-
this.screenDefaultHeight = window === null || window === void 0 ? void 0 : window.innerHeight;
|
|
117
|
-
window === null || window === void 0 ? void 0 : window.addEventListener('resize', this.setUp);
|
|
118
|
-
(_a = window === null || window === void 0 ? void 0 : window.visualViewport) === null || _a === void 0 ? void 0 : _a.addEventListener('resize', this.adjustInputPosition);
|
|
119
|
-
}
|
|
120
|
-
disconnectedCallback() {
|
|
121
|
-
var _a;
|
|
122
|
-
window === null || window === void 0 ? void 0 : window.removeEventListener('resize', this.setUp);
|
|
123
|
-
(_a = window === null || window === void 0 ? void 0 : window.visualViewport) === null || _a === void 0 ? void 0 : _a.removeEventListener('resize', this.adjustInputPosition);
|
|
124
|
-
}
|
|
125
|
-
showOverlay() {
|
|
126
|
-
if (!this.overlayElement) {
|
|
127
|
-
this.overlayElement = document.createElement('div');
|
|
128
|
-
this.overlayElement.className = 'dropdown-overlay';
|
|
129
|
-
this.overlayElement.style.position = 'fixed';
|
|
130
|
-
this.overlayElement.style.top = '0';
|
|
131
|
-
this.overlayElement.style.left = '0';
|
|
132
|
-
this.overlayElement.style.width = '100%';
|
|
133
|
-
this.overlayElement.style.height = '100%';
|
|
134
|
-
this.overlayElement.style.zIndex = '9999';
|
|
135
|
-
this.overlayElement.style.backgroundColor = 'white';
|
|
136
|
-
document.body.appendChild(this.overlayElement);
|
|
137
|
-
this.originalOverflow = document.body.style.overflow;
|
|
138
|
-
document.body.style.overflow = 'hidden';
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
removeOverlay() {
|
|
142
|
-
if (this.overlayElement && this.overlayElement.parentNode === document.body) {
|
|
143
|
-
document.body.removeChild(this.overlayElement);
|
|
144
|
-
this.overlayElement = null;
|
|
145
|
-
document.body.style.overflow = this.originalOverflow;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
addClickListenersToOptions() {
|
|
149
|
-
this.options.forEach((option, index) => {
|
|
150
|
-
option === null || option === void 0 ? void 0 : option.addEventListener('optionSelected', () => this.onSelectedOption(index));
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
updateSelectedOption(value) {
|
|
154
|
-
const selectedOptionIndex = this.options.findIndex(option => option.getAttribute('value') === value);
|
|
155
|
-
this.hoveredIndex = selectedOptionIndex;
|
|
156
|
-
this.updateOptionAttribute('hovered', this.hoveredIndex);
|
|
157
|
-
this.updateOptionAttribute('selected', this.hoveredIndex);
|
|
158
|
-
this.scrollHoveredOptionIntoView();
|
|
159
|
-
this.adjustInputPosition();
|
|
160
|
-
}
|
|
161
|
-
onSelectedOption(index) {
|
|
162
|
-
setTimeout(() => {
|
|
163
|
-
const selectedOption = this.options[index];
|
|
164
|
-
if (selectedOption.selectable) {
|
|
165
|
-
const selectedValue = selectedOption.getAttribute('value') || selectedOption.textContent;
|
|
166
|
-
this.value = selectedValue || '';
|
|
167
|
-
this.updateSelectedOption(this.value);
|
|
168
|
-
this.isDropdownOpen = false;
|
|
169
|
-
this.isOnBlurInput = true;
|
|
170
|
-
this.resetDropdownStyles();
|
|
171
|
-
this.removeOverlay();
|
|
172
|
-
}
|
|
173
|
-
}, 200);
|
|
174
|
-
}
|
|
175
|
-
moveHighlight(direction) {
|
|
176
|
-
const visibleOptions = this.options;
|
|
177
|
-
const newIndex = (this.hoveredIndex + direction + visibleOptions.length) % visibleOptions.length;
|
|
178
|
-
this.hoveredIndex = newIndex;
|
|
179
|
-
this.updateOptionAttribute('hovered', this.hoveredIndex);
|
|
180
|
-
this.scrollHoveredOptionIntoView();
|
|
181
|
-
}
|
|
182
|
-
updateOptionAttribute(attribute, indexToUpdate) {
|
|
183
|
-
this.options.forEach((option, index) => {
|
|
184
|
-
option[attribute] = index === indexToUpdate;
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
updateHoveredIndex() {
|
|
188
|
-
const visibleOptions = this.options;
|
|
189
|
-
const currentValue = this.value;
|
|
190
|
-
this.hoveredIndex = visibleOptions.findIndex(option => option.getAttribute('value') === currentValue);
|
|
191
|
-
}
|
|
192
|
-
scrollHoveredOptionIntoView() {
|
|
193
|
-
var _a;
|
|
194
|
-
const container = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.dropdown-search-list');
|
|
195
|
-
const hoveredOption = this.options[this.hoveredIndex];
|
|
196
|
-
if (container && hoveredOption) {
|
|
197
|
-
const optionRect = hoveredOption.getBoundingClientRect();
|
|
198
|
-
const containerRect = container.getBoundingClientRect();
|
|
199
|
-
if (optionRect.bottom > containerRect.bottom) {
|
|
200
|
-
container.scrollTop += optionRect.bottom - containerRect.bottom;
|
|
201
|
-
}
|
|
202
|
-
if (optionRect.top < containerRect.top) {
|
|
203
|
-
container.scrollTop -= containerRect.top - optionRect.top;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
handleOnBlur() {
|
|
208
|
-
if (this.isOnBlurInput === true) {
|
|
209
|
-
setTimeout(() => {
|
|
210
|
-
this.isDropdownOpen = false;
|
|
211
|
-
this.resetDropdownStyles();
|
|
212
|
-
this.removeOverlay();
|
|
213
|
-
}, 200);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
getClasses() {
|
|
217
|
-
return {
|
|
218
|
-
'dropdown-input-search': true,
|
|
219
|
-
'dropdown-open': this.isDropdownOpen,
|
|
220
|
-
'disabled': this.disabled,
|
|
221
|
-
[this.status]: true,
|
|
222
|
-
};
|
|
223
|
-
}
|
|
224
|
-
getDropdownClasses() {
|
|
225
|
-
return {
|
|
226
|
-
'dropdown-search-list': true,
|
|
227
|
-
'visible': this.options.length && this.isDropdownOpen ? true : false,
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
hostCSSProperties() {
|
|
231
|
-
return {
|
|
232
|
-
'--dropdown-max-height': this.dropdownMaxHeight,
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
handleOnFocus() {
|
|
236
|
-
this.isDropdownOpen = true;
|
|
237
|
-
}
|
|
238
|
-
getDropdownSearchListHeight() {
|
|
239
|
-
setTimeout(() => {
|
|
240
|
-
var _a;
|
|
241
|
-
const dropdownInputSearchElement = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.dropdown-input-search');
|
|
242
|
-
if (dropdownInputSearchElement) {
|
|
243
|
-
this.host.style.setProperty('--dynamic-input-search-height', `${dropdownInputSearchElement.offsetHeight}px`);
|
|
244
|
-
}
|
|
245
|
-
}, 310);
|
|
246
|
-
}
|
|
247
|
-
handleGoBack() {
|
|
248
|
-
this.resetDropdownStyles();
|
|
249
|
-
this.isMobile = false;
|
|
250
|
-
}
|
|
251
|
-
resetDropdownStyles() {
|
|
252
|
-
var _a;
|
|
253
|
-
const dropdown = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.dropdown-mobile');
|
|
254
|
-
if (dropdown && dropdown.style.position === 'fixed') {
|
|
255
|
-
dropdown.style.position = 'relative';
|
|
256
|
-
dropdown.style.removeProperty('bottom');
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
render() {
|
|
260
|
-
const isMobileDropdown = this.isMobile && this.isDropdownOpen;
|
|
261
|
-
return (h(Host, { key: '8e47b4652a5f7143b9f9d8704105624debd5ab86', style: this.hostCSSProperties(), class: "dropdown-overlay" }, h("div", { key: 'a5c9a6878be61268fb2a6fe5f42c3811aaa25e92', class: `dropdown ${isMobileDropdown ? 'dropdown-mobile' : ''}`, style: this.styles }, h("div", { key: 'c10d5a2793e7961370f63b124eb8538c0fe161a2', class: this.getClasses() }, this.isMobile && this.isDropdownOpen && (h("cura-button-transparent", { key: 'a5d8233857277aa56c7d4d8048c8d8199635f117', fontColor: "dark", onClick: () => this.handleGoBack(), iconName: "arrowLeft", size: "medium", iconOnly: true, color: "primary" })), h("cura-input-text", { key: '1f780e794a2e42fa4771f9f6f5cb04f44d5d17d3', disabled: this.disabled, label: this.label, part: "cura-input-field", mode: isMobileDropdown ? 'transparent' : 'default', required: this.required, hideErrorIcon: this.status === 'error', iconName: this.iconName || 'search', value: this.value, status: this.status, onValueChange: e => this.onValueChange(e.target.value), onInput: e => this.handleInputChange(e), onFocus: () => this.handleOnFocus(), onClick: () => (window.innerWidth < 768 ? (this.isMobile = true) : null), onBlur: () => {
|
|
262
|
-
this.handleOnBlur();
|
|
263
|
-
}, placeholder: this.placeholder, size: this.size, onKeyDown: this.handleKeyDown }, h("slot", { key: '87882a490816c64d8780ce4a02b975034e111473', name: "helperText" }))), h("div", { key: 'b0120ab7c2db1a5dcc071e4b79f9aac7d50ae998', id: "dropdown-search-list", class: this.getDropdownClasses() }, h("slot", { key: 'b780c4b317c6aa557a6be5fe3d4c957d943b92c8', name: "dropdown-search-option", onSlotchange: this.handleSlotChange })))));
|
|
264
|
-
}
|
|
265
|
-
static get is() { return "cura-dropdown-search"; }
|
|
266
|
-
static get encapsulation() { return "shadow"; }
|
|
267
|
-
static get originalStyleUrls() {
|
|
268
|
-
return {
|
|
269
|
-
"$": ["cura-dropdown-search.scss"]
|
|
270
|
-
};
|
|
271
|
-
}
|
|
272
|
-
static get styleUrls() {
|
|
273
|
-
return {
|
|
274
|
-
"$": ["cura-dropdown-search.css"]
|
|
275
|
-
};
|
|
276
|
-
}
|
|
277
|
-
static get properties() {
|
|
278
|
-
return {
|
|
279
|
-
"size": {
|
|
280
|
-
"type": "string",
|
|
281
|
-
"mutable": true,
|
|
282
|
-
"complexType": {
|
|
283
|
-
"original": "'small' | 'medium' | 'large'",
|
|
284
|
-
"resolved": "\"large\" | \"medium\" | \"small\"",
|
|
285
|
-
"references": {}
|
|
286
|
-
},
|
|
287
|
-
"required": false,
|
|
288
|
-
"optional": false,
|
|
289
|
-
"docs": {
|
|
290
|
-
"tags": [],
|
|
291
|
-
"text": "Size of the dropdown search mode default: 'small', 'medium', or 'large' (default: 'large')"
|
|
292
|
-
},
|
|
293
|
-
"attribute": "size",
|
|
294
|
-
"reflect": true,
|
|
295
|
-
"defaultValue": "'large'"
|
|
296
|
-
},
|
|
297
|
-
"status": {
|
|
298
|
-
"type": "string",
|
|
299
|
-
"mutable": false,
|
|
300
|
-
"complexType": {
|
|
301
|
-
"original": "'error' | 'default'",
|
|
302
|
-
"resolved": "\"default\" | \"error\"",
|
|
303
|
-
"references": {}
|
|
304
|
-
},
|
|
305
|
-
"required": false,
|
|
306
|
-
"optional": false,
|
|
307
|
-
"docs": {
|
|
308
|
-
"tags": [],
|
|
309
|
-
"text": "Define the status of the dropdown search."
|
|
310
|
-
},
|
|
311
|
-
"attribute": "status",
|
|
312
|
-
"reflect": true,
|
|
313
|
-
"defaultValue": "'default'"
|
|
314
|
-
},
|
|
315
|
-
"disabled": {
|
|
316
|
-
"type": "boolean",
|
|
317
|
-
"mutable": false,
|
|
318
|
-
"complexType": {
|
|
319
|
-
"original": "boolean",
|
|
320
|
-
"resolved": "boolean",
|
|
321
|
-
"references": {}
|
|
322
|
-
},
|
|
323
|
-
"required": false,
|
|
324
|
-
"optional": false,
|
|
325
|
-
"docs": {
|
|
326
|
-
"tags": [],
|
|
327
|
-
"text": "Whether the select component is disabled.\nReflects as an attribute in the DOM."
|
|
328
|
-
},
|
|
329
|
-
"attribute": "disabled",
|
|
330
|
-
"reflect": true,
|
|
331
|
-
"defaultValue": "false"
|
|
332
|
-
},
|
|
333
|
-
"name": {
|
|
334
|
-
"type": "string",
|
|
335
|
-
"mutable": false,
|
|
336
|
-
"complexType": {
|
|
337
|
-
"original": "string",
|
|
338
|
-
"resolved": "string",
|
|
339
|
-
"references": {}
|
|
340
|
-
},
|
|
341
|
-
"required": false,
|
|
342
|
-
"optional": false,
|
|
343
|
-
"docs": {
|
|
344
|
-
"tags": [],
|
|
345
|
-
"text": "The name of the dropdown search component."
|
|
346
|
-
},
|
|
347
|
-
"attribute": "name",
|
|
348
|
-
"reflect": true
|
|
349
|
-
},
|
|
350
|
-
"required": {
|
|
351
|
-
"type": "boolean",
|
|
352
|
-
"mutable": true,
|
|
353
|
-
"complexType": {
|
|
354
|
-
"original": "boolean",
|
|
355
|
-
"resolved": "boolean",
|
|
356
|
-
"references": {}
|
|
357
|
-
},
|
|
358
|
-
"required": false,
|
|
359
|
-
"optional": false,
|
|
360
|
-
"docs": {
|
|
361
|
-
"tags": [],
|
|
362
|
-
"text": "Indicates if the dropdown search is required."
|
|
363
|
-
},
|
|
364
|
-
"attribute": "required",
|
|
365
|
-
"reflect": true,
|
|
366
|
-
"defaultValue": "false"
|
|
367
|
-
},
|
|
368
|
-
"selected": {
|
|
369
|
-
"type": "boolean",
|
|
370
|
-
"mutable": true,
|
|
371
|
-
"complexType": {
|
|
372
|
-
"original": "boolean",
|
|
373
|
-
"resolved": "boolean",
|
|
374
|
-
"references": {}
|
|
375
|
-
},
|
|
376
|
-
"required": false,
|
|
377
|
-
"optional": false,
|
|
378
|
-
"docs": {
|
|
379
|
-
"tags": [],
|
|
380
|
-
"text": "Indicates if the dropdown search is selected."
|
|
381
|
-
},
|
|
382
|
-
"attribute": "selected",
|
|
383
|
-
"reflect": true,
|
|
384
|
-
"defaultValue": "false"
|
|
385
|
-
},
|
|
386
|
-
"value": {
|
|
387
|
-
"type": "string",
|
|
388
|
-
"mutable": true,
|
|
389
|
-
"complexType": {
|
|
390
|
-
"original": "string",
|
|
391
|
-
"resolved": "string",
|
|
392
|
-
"references": {}
|
|
393
|
-
},
|
|
394
|
-
"required": false,
|
|
395
|
-
"optional": false,
|
|
396
|
-
"docs": {
|
|
397
|
-
"tags": [],
|
|
398
|
-
"text": "The value of the dropdown search."
|
|
399
|
-
},
|
|
400
|
-
"attribute": "value",
|
|
401
|
-
"reflect": true,
|
|
402
|
-
"defaultValue": "''"
|
|
403
|
-
},
|
|
404
|
-
"placeholder": {
|
|
405
|
-
"type": "string",
|
|
406
|
-
"mutable": true,
|
|
407
|
-
"complexType": {
|
|
408
|
-
"original": "string",
|
|
409
|
-
"resolved": "string",
|
|
410
|
-
"references": {}
|
|
411
|
-
},
|
|
412
|
-
"required": false,
|
|
413
|
-
"optional": false,
|
|
414
|
-
"docs": {
|
|
415
|
-
"tags": [],
|
|
416
|
-
"text": "The placeholder text for the dropdown search."
|
|
417
|
-
},
|
|
418
|
-
"attribute": "placeholder",
|
|
419
|
-
"reflect": true,
|
|
420
|
-
"defaultValue": "''"
|
|
421
|
-
},
|
|
422
|
-
"label": {
|
|
423
|
-
"type": "string",
|
|
424
|
-
"mutable": true,
|
|
425
|
-
"complexType": {
|
|
426
|
-
"original": "string",
|
|
427
|
-
"resolved": "string",
|
|
428
|
-
"references": {}
|
|
429
|
-
},
|
|
430
|
-
"required": false,
|
|
431
|
-
"optional": false,
|
|
432
|
-
"docs": {
|
|
433
|
-
"tags": [],
|
|
434
|
-
"text": "The label for the dropdown search."
|
|
435
|
-
},
|
|
436
|
-
"attribute": "label",
|
|
437
|
-
"reflect": true,
|
|
438
|
-
"defaultValue": "''"
|
|
439
|
-
},
|
|
440
|
-
"iconName": {
|
|
441
|
-
"type": "string",
|
|
442
|
-
"mutable": false,
|
|
443
|
-
"complexType": {
|
|
444
|
-
"original": "string",
|
|
445
|
-
"resolved": "string",
|
|
446
|
-
"references": {}
|
|
447
|
-
},
|
|
448
|
-
"required": false,
|
|
449
|
-
"optional": false,
|
|
450
|
-
"docs": {
|
|
451
|
-
"tags": [],
|
|
452
|
-
"text": "Custom icon name. Default: search."
|
|
453
|
-
},
|
|
454
|
-
"attribute": "icon-name",
|
|
455
|
-
"reflect": true,
|
|
456
|
-
"defaultValue": "'search'"
|
|
457
|
-
},
|
|
458
|
-
"dropdownMaxHeight": {
|
|
459
|
-
"type": "string",
|
|
460
|
-
"mutable": false,
|
|
461
|
-
"complexType": {
|
|
462
|
-
"original": "string",
|
|
463
|
-
"resolved": "string",
|
|
464
|
-
"references": {}
|
|
465
|
-
},
|
|
466
|
-
"required": false,
|
|
467
|
-
"optional": false,
|
|
468
|
-
"docs": {
|
|
469
|
-
"tags": [],
|
|
470
|
-
"text": "CSS max-height property for dropdown item.\nDefault to 630px"
|
|
471
|
-
},
|
|
472
|
-
"attribute": "dropdown-max-height",
|
|
473
|
-
"reflect": true,
|
|
474
|
-
"defaultValue": "'630px'"
|
|
475
|
-
}
|
|
476
|
-
};
|
|
477
|
-
}
|
|
478
|
-
static get states() {
|
|
479
|
-
return {
|
|
480
|
-
"overlayVisible": {},
|
|
481
|
-
"isDropdownOpen": {},
|
|
482
|
-
"styles": {},
|
|
483
|
-
"isMobile": {},
|
|
484
|
-
"mode": {},
|
|
485
|
-
"inputTextRef": {},
|
|
486
|
-
"isOnBlurInput": {},
|
|
487
|
-
"hoveredIndex": {},
|
|
488
|
-
"options": {},
|
|
489
|
-
"originalOverflow": {},
|
|
490
|
-
"screenDefaultHeight": {}
|
|
491
|
-
};
|
|
492
|
-
}
|
|
493
|
-
static get events() {
|
|
494
|
-
return [{
|
|
495
|
-
"method": "valueChanged",
|
|
496
|
-
"name": "valueChanged",
|
|
497
|
-
"bubbles": true,
|
|
498
|
-
"cancelable": true,
|
|
499
|
-
"composed": true,
|
|
500
|
-
"docs": {
|
|
501
|
-
"tags": [],
|
|
502
|
-
"text": "Event emitted when the value changes."
|
|
503
|
-
},
|
|
504
|
-
"complexType": {
|
|
505
|
-
"original": "string",
|
|
506
|
-
"resolved": "string",
|
|
507
|
-
"references": {}
|
|
508
|
-
}
|
|
509
|
-
}, {
|
|
510
|
-
"method": "onselect",
|
|
511
|
-
"name": "onselect",
|
|
512
|
-
"bubbles": true,
|
|
513
|
-
"cancelable": true,
|
|
514
|
-
"composed": true,
|
|
515
|
-
"docs": {
|
|
516
|
-
"tags": [],
|
|
517
|
-
"text": ""
|
|
518
|
-
},
|
|
519
|
-
"complexType": {
|
|
520
|
-
"original": "any",
|
|
521
|
-
"resolved": "any",
|
|
522
|
-
"references": {}
|
|
523
|
-
}
|
|
524
|
-
}];
|
|
525
|
-
}
|
|
526
|
-
static get elementRef() { return "host"; }
|
|
527
|
-
static get watchers() {
|
|
528
|
-
return [{
|
|
529
|
-
"propName": "value",
|
|
530
|
-
"methodName": "onValueChange"
|
|
531
|
-
}];
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
//# sourceMappingURL=cura-dropdown-search.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cura-dropdown-search.js","sourceRoot":"","sources":["../../../../src/components/forms/cura-dropdown-search/cura-dropdown-search.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, State, Event, EventEmitter, Element, Watch, h } from '@stencil/core';\n\n@Component({\n tag: 'cura-dropdown-search',\n styleUrl: 'cura-dropdown-search.scss',\n shadow: true,\n})\nexport class CuraDropdownSearch {\n /**\n * Size of the dropdown search mode default: 'small', 'medium', or 'large' (default: 'large')\n */\n @Prop({ reflect: true, mutable: true }) size: 'small' | 'medium' | 'large' = 'large';\n\n /**\n * Define the status of the dropdown search.\n */\n @Prop({ reflect: true }) status: 'error' | 'default' = 'default';\n\n /**\n * Whether the select component is disabled.\n * Reflects as an attribute in the DOM.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * The name of the dropdown search component.\n */\n @Prop({ reflect: true }) name: string;\n\n /**\n * Indicates if the dropdown search is required.\n */\n @Prop({ reflect: true, mutable: true }) required: boolean = false;\n\n /**\n * Indicates if the dropdown search is selected.\n */\n @Prop({ reflect: true, mutable: true }) selected: boolean = false;\n\n /**\n * The value of the dropdown search.\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n /**\n * The placeholder text for the dropdown search.\n */\n @Prop({ reflect: true, mutable: true }) placeholder: string = '';\n\n /**\n * The label for the dropdown search.\n */\n @Prop({ reflect: true, mutable: true }) label: string = '';\n\n /**\n * Custom icon name. Default: search.\n */\n @Prop({ reflect: true }) iconName = 'search';\n\n /**\n * CSS max-height property for dropdown item.\n * Default to 630px\n */\n @Prop({ reflect: true }) dropdownMaxHeight = '630px';\n\n /**\n * Reference to the host element.\n */\n @Element() host: HTMLElement;\n\n /**\n * Indicates if the overlay is visible.\n */\n @State() overlayVisible: boolean = false;\n\n /**\n * Event emitted when the value changes.\n */\n @Event() valueChanged: EventEmitter<string>;\n\n /**\n * Indicates if the dropdown is open.\n */\n @State() isDropdownOpen: boolean = false;\n\n /**\n * Styles for the component.\n\n */\n @State() styles = {};\n\n /**\n * Indicates if the component is being viewed on a mobile device.\n */\n @State() isMobile: boolean = window.innerWidth < 768;\n\n /**\n * The mode of the dropdown search.\n */\n @State() mode: 'default' | 'transparent' = 'default';\n\n @Event() onselect: EventEmitter;\n\n @State() inputTextRef!: HTMLCuraInputTextElement;\n\n /**\n * Indicates if the input is on blur.\n */\n @State() isOnBlurInput: boolean = true;\n\n /**\n * The index of the currently hovered option.\n */\n @State() hoveredIndex: number = -1;\n\n /**\n * The options for the dropdown search.\n * @type {HTMLCuraDropdownSearchOptionElement[]}\n */\n\n weights;\n\n private overlayElement: HTMLDivElement | null = null;\n\n @State() options: HTMLCuraDropdownSearchOptionElement[] = [];\n\n /**\n *\n * Stores the original value of the 'overflow' style of the body\n * before blocking the scroll.\n */\n @State() originalOverflow: string = '';\n @State() screenDefaultHeight = 0;\n\n private adjustInputPosition = () => {\n setTimeout(() => {\n const isKeyboardOpen = window?.innerHeight < this.screenDefaultHeight;\n const dropdown = this.host.shadowRoot?.querySelector('.dropdown-mobile') as HTMLElement;\n if (dropdown) {\n dropdown.style.position = isKeyboardOpen ? 'absolute' : 'fixed';\n dropdown.style.bottom = isKeyboardOpen ? `${window?.screen?.height - window?.innerHeight}px` : '0';\n window.scroll({ top: 0, left: 0 });\n }\n }, 300);\n };\n\n connectedCallback() {\n this.weights = window.CuraAPI.theme.fonts.getWeights();\n this.styles['--info-base'] = window.CuraAPI.theme.colors.getColor('info-base');\n this.styles['--neutral-purewhite'] = window.CuraAPI.theme.colors.getColor('neutral-purewhite');\n this.styles['--neutral-light'] = window.CuraAPI.theme.colors.getColor('neutral-light');\n this.styles['--neutral-dark'] = window.CuraAPI.theme.colors.getColor('neutral-dark');\n this.styles['--neutral-black-shadow'] = window.CuraAPI.theme.colors.getColor(`neutral-black`, 0.16);\n this.styles['--error-dark'] = window.CuraAPI.theme.colors.getColor('error-dark');\n this.styles['--error-lighter'] = window.CuraAPI.theme.colors.getColor('error-lighter');\n this.styles['--breakpoints'] = window.CuraAPI.theme.breakpoints.get();\n this.styles['--font-size'] = window.CuraAPI.theme.fonts.getSize();\n this.styles['--font-family'] = window.CuraAPI.theme.fonts.getFamily();\n this.styles['--font-weight-medium'] = this.weights.medium;\n }\n\n @Watch('value')\n onValueChange(newValue: string) {\n this.value = newValue;\n this.updateSelectedOption(newValue);\n this.valueChanged.emit(newValue);\n }\n\n componentWillLoad() {\n this.updateSelectedOption(this.value);\n }\n\n componentDidRender() {\n if (this.isDropdownOpen && this.isMobile) {\n this.showOverlay();\n this.getDropdownSearchListHeight();\n } else {\n this.removeOverlay();\n }\n }\n componentDidLoad() {\n this.screenDefaultHeight = window?.innerHeight;\n window?.addEventListener('resize', this.setUp);\n window?.visualViewport?.addEventListener('resize', this.adjustInputPosition);\n }\n\n disconnectedCallback() {\n window?.removeEventListener('resize', this.setUp);\n window?.visualViewport?.removeEventListener('resize', this.adjustInputPosition);\n }\n\n private showOverlay() {\n if (!this.overlayElement) {\n this.overlayElement = document.createElement('div');\n this.overlayElement.className = 'dropdown-overlay';\n this.overlayElement.style.position = 'fixed';\n this.overlayElement.style.top = '0';\n this.overlayElement.style.left = '0';\n this.overlayElement.style.width = '100%';\n this.overlayElement.style.height = '100%';\n this.overlayElement.style.zIndex = '9999';\n this.overlayElement.style.backgroundColor = 'white';\n document.body.appendChild(this.overlayElement);\n\n this.originalOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n }\n }\n\n private removeOverlay() {\n if (this.overlayElement && this.overlayElement.parentNode === document.body) {\n document.body.removeChild(this.overlayElement);\n this.overlayElement = null;\n document.body.style.overflow = this.originalOverflow;\n }\n }\n\n private handleSlotChange = () => {\n this.options = Array.from(this.host.querySelectorAll('cura-dropdown-search-option'));\n this.addClickListenersToOptions();\n this.updateHoveredIndex();\n };\n\n private addClickListenersToOptions() {\n this.options.forEach((option, index) => {\n option?.addEventListener('optionSelected', () => this.onSelectedOption(index));\n });\n }\n\n private updateSelectedOption(value: string) {\n const selectedOptionIndex = this.options.findIndex(option => option.getAttribute('value') === value);\n this.hoveredIndex = selectedOptionIndex;\n this.updateOptionAttribute('hovered', this.hoveredIndex);\n this.updateOptionAttribute('selected', this.hoveredIndex);\n\n this.scrollHoveredOptionIntoView();\n this.adjustInputPosition();\n }\n\n private handleInputChange = (event: Event) => {\n const input = event.target as HTMLInputElement;\n this.value = input.value;\n this.onValueChange(this.value);\n };\n\n private onSelectedOption(index: number) {\n setTimeout(() => {\n const selectedOption = this.options[index];\n if (selectedOption.selectable) {\n const selectedValue = selectedOption.getAttribute('value') || selectedOption.textContent;\n this.value = selectedValue || '';\n this.updateSelectedOption(this.value);\n\n this.isDropdownOpen = false;\n this.isOnBlurInput = true;\n this.resetDropdownStyles();\n this.removeOverlay();\n }\n }, 200);\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.moveHighlight(1);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.moveHighlight(-1);\n } else if (event.key === 'Enter') {\n event.preventDefault();\n if (this.hoveredIndex > -1) {\n this.handleOnBlur();\n this.onSelectedOption(this.hoveredIndex);\n }\n }\n };\n\n private moveHighlight(direction: number) {\n const visibleOptions = this.options;\n const newIndex = (this.hoveredIndex + direction + visibleOptions.length) % visibleOptions.length;\n this.hoveredIndex = newIndex;\n this.updateOptionAttribute('hovered', this.hoveredIndex);\n this.scrollHoveredOptionIntoView();\n }\n\n private updateOptionAttribute(attribute: string, indexToUpdate: number) {\n this.options.forEach((option, index) => {\n (option as any)[attribute] = index === indexToUpdate;\n });\n }\n\n private updateHoveredIndex() {\n const visibleOptions = this.options;\n const currentValue = this.value;\n this.hoveredIndex = visibleOptions.findIndex(option => option.getAttribute('value') === currentValue);\n }\n\n private scrollHoveredOptionIntoView() {\n const container = this.host.shadowRoot?.querySelector('.dropdown-search-list');\n const hoveredOption = this.options[this.hoveredIndex];\n\n if (container && hoveredOption) {\n const optionRect = hoveredOption.getBoundingClientRect();\n const containerRect = container.getBoundingClientRect();\n\n if (optionRect.bottom > containerRect.bottom) {\n container.scrollTop += optionRect.bottom - containerRect.bottom;\n }\n\n if (optionRect.top < containerRect.top) {\n container.scrollTop -= containerRect.top - optionRect.top;\n }\n }\n }\n\n private handleResize = () => {\n this.isMobile = window.innerWidth < 768;\n if (this.isDropdownOpen) {\n if (this.isMobile) {\n this.showOverlay();\n } else {\n this.resetDropdownStyles();\n this.removeOverlay();\n }\n }\n };\n\n handleOnBlur() {\n if (this.isOnBlurInput === true) {\n setTimeout(() => {\n this.isDropdownOpen = false;\n this.resetDropdownStyles();\n this.removeOverlay();\n }, 200);\n }\n }\n getClasses() {\n return {\n 'dropdown-input-search': true,\n 'dropdown-open': this.isDropdownOpen,\n 'disabled': this.disabled,\n [this.status]: true,\n };\n }\n\n getDropdownClasses() {\n return {\n 'dropdown-search-list': true,\n 'visible': this.options.length && this.isDropdownOpen ? true : false,\n };\n }\n\n hostCSSProperties() {\n return {\n '--dropdown-max-height': this.dropdownMaxHeight,\n };\n }\n\n handleOnFocus() {\n this.isDropdownOpen = true;\n }\n\n getDropdownSearchListHeight() {\n setTimeout(() => {\n const dropdownInputSearchElement = this.host.shadowRoot?.querySelector('.dropdown-input-search') as HTMLInputElement;\n if (dropdownInputSearchElement) {\n this.host.style.setProperty('--dynamic-input-search-height', `${dropdownInputSearchElement.offsetHeight}px`);\n }\n }, 310)\n }\n\n handleGoBack() {\n this.resetDropdownStyles();\n this.isMobile = false;\n }\n\n resetDropdownStyles() {\n const dropdown = this.host.shadowRoot?.querySelector('.dropdown-mobile') as HTMLInputElement;\n if (dropdown && dropdown.style.position === 'fixed') {\n dropdown.style.position = 'relative';\n dropdown.style.removeProperty('bottom');\n }\n }\n\n setUp = () => {\n this.handleResize()\n this.adjustInputPosition();\n }\n\n render() {\n const isMobileDropdown = this.isMobile && this.isDropdownOpen;\n return (\n <Host style={this.hostCSSProperties()} class=\"dropdown-overlay\">\n <div class={`dropdown ${isMobileDropdown ? 'dropdown-mobile' : ''}`} style={this.styles}>\n <div class={this.getClasses()}>\n {this.isMobile && this.isDropdownOpen && (\n <cura-button-transparent fontColor=\"dark\" onClick={() => this.handleGoBack()} iconName=\"arrowLeft\" size=\"medium\" iconOnly color=\"primary\"></cura-button-transparent>\n )}\n <cura-input-text\n disabled={this.disabled}\n label={this.label}\n part=\"cura-input-field\"\n mode={isMobileDropdown ? 'transparent' : 'default'}\n required={this.required}\n hideErrorIcon={this.status === 'error'}\n iconName={this.iconName || 'search'}\n value={this.value}\n status={this.status}\n onValueChange={e => this.onValueChange(e.target.value as string)}\n onInput={e => this.handleInputChange(e)}\n onFocus={() => this.handleOnFocus()}\n onClick={() => (window.innerWidth < 768 ? (this.isMobile = true) : null)}\n onBlur={() => {\n this.handleOnBlur();\n }}\n placeholder={this.placeholder}\n size={this.size}\n onKeyDown={this.handleKeyDown}\n >\n <slot name=\"helperText\"></slot>\n </cura-input-text>\n </div>\n <div id=\"dropdown-search-list\" class={this.getDropdownClasses()}>\n <slot name=\"dropdown-search-option\" onSlotchange={this.handleSlotChange}></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
|