@paperless/core 2.0.1-beta.12 → 2.0.1-beta.14
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/CHANGELOG.md +76 -0
- package/dist/build/{p-60492c98.entry.js → p-04f2c445.entry.js} +2 -2
- package/dist/build/{p-2f9e9197.entry.js → p-0b5a9b3b.entry.js} +2 -2
- package/dist/{paperless/p-dce95c92.entry.js → build/p-0fb58b95.entry.js} +2 -2
- package/dist/{paperless/p-64b53130.entry.js → build/p-12f5d6c1.entry.js} +2 -2
- package/dist/build/{p-5ab354bf.entry.js → p-14f3312f.entry.js} +2 -2
- package/dist/build/{p-d81a30f6.entry.js → p-15abe9ab.entry.js} +2 -2
- package/dist/build/{p-b8e718c7.entry.js → p-1926e607.entry.js} +2 -2
- package/dist/{paperless/p-385943b2.entry.js → build/p-195ede81.entry.js} +2 -2
- package/dist/build/{p-32056913.entry.js → p-198b4653.entry.js} +2 -2
- package/dist/build/{p-221dbb71.entry.js → p-1c97ddaa.entry.js} +2 -2
- package/dist/build/{p-bc46f89a.entry.js → p-285babdd.entry.js} +2 -2
- package/dist/build/{p-b9a7e240.entry.js → p-28fee2e1.entry.js} +2 -2
- package/dist/build/{p-dd6d3839.entry.js → p-2bedd43c.entry.js} +2 -2
- package/dist/build/{p-5e789bb1.entry.js → p-36d0d0e6.entry.js} +2 -2
- package/dist/build/{p-e10cf2d3.entry.js → p-3885d19b.entry.js} +2 -2
- package/dist/build/{p-bfbab545.entry.js → p-3b9d77dc.entry.js} +2 -2
- package/dist/build/{p-7a577384.entry.js → p-3dba9a43.entry.js} +2 -2
- package/dist/build/{p-c6bcbcbf.entry.js → p-43cdfda1.entry.js} +2 -2
- package/dist/build/{p-fcaa0539.entry.js → p-4c3cdddf.entry.js} +2 -2
- package/dist/{paperless/p-6fed974c.entry.js → build/p-51b3884b.entry.js} +2 -2
- package/dist/build/{p-ea3bce45.entry.js → p-55752ba9.entry.js} +2 -2
- package/dist/build/p-57fd5974.entry.js +2 -0
- package/dist/build/p-57fd5974.entry.js.map +1 -0
- package/dist/build/{p-6f7721eb.entry.js → p-5a072ae3.entry.js} +2 -2
- package/dist/build/{p-3d867690.entry.js → p-5a7c004d.entry.js} +2 -2
- package/dist/build/{p-3e9d994a.entry.js → p-5afd99f1.entry.js} +2 -2
- package/dist/build/{p-16a18649.entry.js → p-5df485b9.entry.js} +2 -2
- package/dist/build/{p-9fa5d08a.entry.js → p-648c33b9.entry.js} +2 -2
- package/dist/build/{p-047c1c6f.entry.js → p-6521a730.entry.js} +2 -2
- package/dist/{paperless/p-909879e3.entry.js → build/p-6d6bb913.entry.js} +2 -2
- package/dist/build/{p-45463125.entry.js → p-75330470.entry.js} +2 -2
- package/dist/{paperless/p-a7b8e22f.entry.js → build/p-7eb4689d.entry.js} +2 -2
- package/dist/{paperless/p-7beb3401.entry.js → build/p-82c79faa.entry.js} +2 -2
- package/dist/build/p-88f72088.entry.js +2 -0
- package/dist/build/p-88f72088.entry.js.map +1 -0
- package/dist/build/{p-6e71ebca.entry.js → p-9d112705.entry.js} +2 -2
- package/dist/build/{p-937b2d74.entry.js → p-a26e1c6d.entry.js} +2 -2
- package/dist/build/p-a3853fc7.js +3 -0
- package/dist/build/p-a3853fc7.js.map +1 -0
- package/dist/build/{p-be0c925e.entry.js → p-a5995873.entry.js} +2 -2
- package/dist/{paperless/p-cb8a454c.entry.js → build/p-aa4ebfcd.entry.js} +2 -2
- package/dist/build/{p-a587ff9f.entry.js → p-b18ef00d.entry.js} +2 -2
- package/dist/build/p-b7a45a0a.entry.js +2 -0
- package/dist/build/p-b7a45a0a.entry.js.map +1 -0
- package/dist/build/{p-393eba2f.entry.js → p-b9cdcb32.entry.js} +2 -2
- package/dist/{paperless/p-aab1cda1.entry.js → build/p-b9e42e93.entry.js} +2 -2
- package/dist/build/{p-851a7662.entry.js → p-bf9965ea.entry.js} +2 -2
- package/dist/build/p-bf9965ea.entry.js.map +1 -0
- package/dist/build/{p-013cd7f9.entry.js → p-cada312c.entry.js} +2 -2
- package/dist/{paperless/p-f78afad9.entry.js → build/p-d8498647.entry.js} +2 -2
- package/dist/build/p-d8498647.entry.js.map +1 -0
- package/dist/{paperless/p-0348e450.entry.js → build/p-dc9bf641.entry.js} +2 -2
- package/dist/build/{p-aa058967.entry.js → p-e18e29aa.entry.js} +2 -2
- package/dist/build/{p-ece8998b.entry.js → p-e4ab1d73.entry.js} +2 -2
- package/dist/build/{p-08ea38ad.entry.js → p-e74bd898.entry.js} +2 -2
- package/dist/build/{p-23ca3688.entry.js → p-e78945ad.entry.js} +2 -2
- package/dist/build/{p-cb7c509e.entry.js → p-ea329388.entry.js} +2 -2
- package/dist/build/paperless.esm.js +1 -1
- package/dist/build/paperless.esm.js.map +1 -1
- package/dist/cjs/{index-02e05522.js → index-6d3f569b.js} +79 -6
- package/dist/cjs/{index-02e05522.js.map → index-6d3f569b.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/p-accordion.cjs.entry.js +1 -1
- package/dist/cjs/p-attachment.cjs.entry.js +1 -1
- package/dist/cjs/p-avatar-group.cjs.entry.js +1 -1
- package/dist/cjs/p-avatar.cjs.entry.js +1 -1
- package/dist/cjs/p-backdrop.cjs.entry.js +1 -1
- package/dist/cjs/p-badge.cjs.entry.js +1 -1
- package/dist/cjs/p-button-group.cjs.entry.js +1 -1
- package/dist/cjs/p-button_3.cjs.entry.js +1 -1
- package/dist/cjs/p-calendar.cjs.entry.js +1 -1
- package/dist/cjs/p-card-body.cjs.entry.js +1 -1
- package/dist/cjs/p-card-container.cjs.entry.js +1 -1
- package/dist/cjs/p-card-header.cjs.entry.js +1 -1
- package/dist/cjs/p-content-slider.cjs.entry.js +1 -1
- package/dist/cjs/p-counter.cjs.entry.js +1 -1
- package/dist/cjs/p-cropper.cjs.entry.js +1 -1
- package/dist/cjs/p-datepicker.cjs.entry.js +1 -1
- package/dist/cjs/p-divider.cjs.entry.js +1 -1
- package/dist/cjs/p-drawer-body_3.cjs.entry.js +1 -1
- package/dist/cjs/p-drawer.cjs.entry.js +1 -1
- package/dist/cjs/{p-dropdown-menu-container.cjs.entry.js → p-dropdown-menu-container_2.cjs.entry.js} +24 -2
- package/dist/cjs/p-dropdown-menu-container_2.cjs.entry.js.map +1 -0
- package/dist/cjs/p-dropdown_2.cjs.entry.js +36 -12
- package/dist/cjs/p-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/p-floating-menu-container_8.cjs.entry.js +1 -1
- package/dist/cjs/p-helper_3.cjs.entry.js +15 -16
- package/dist/cjs/p-helper_3.cjs.entry.js.map +1 -1
- package/dist/cjs/p-iban-icon.cjs.entry.js +1 -1
- package/dist/cjs/p-icon-deprecated.cjs.entry.js +1 -1
- package/dist/cjs/p-info-panel.cjs.entry.js +1 -1
- package/dist/cjs/p-label_3.cjs.entry.js +1 -1
- package/dist/cjs/p-layout.cjs.entry.js +1 -1
- package/dist/cjs/p-modal-body_4.cjs.entry.js +1 -1
- package/dist/cjs/p-modal.cjs.entry.js +1 -1
- package/dist/cjs/p-navbar.cjs.entry.js +1 -1
- package/dist/cjs/p-navigation-item.cjs.entry.js +1 -1
- package/dist/cjs/p-navigation-section.cjs.entry.js +1 -1
- package/dist/cjs/p-navigation-title.cjs.entry.js +1 -1
- package/dist/cjs/p-page-size-select_3.cjs.entry.js +1 -1
- package/dist/cjs/p-profile.cjs.entry.js +3 -3
- package/dist/cjs/p-profile.cjs.entry.js.map +1 -1
- package/dist/cjs/p-select.cjs.entry.js +1 -1
- package/dist/cjs/p-select.cjs.entry.js.map +1 -1
- package/dist/cjs/p-slider-indicator.cjs.entry.js +1 -1
- package/dist/cjs/p-status.cjs.entry.js +1 -1
- package/dist/cjs/p-stepper-item.cjs.entry.js +1 -1
- package/dist/cjs/p-stepper-line.cjs.entry.js +1 -1
- package/dist/cjs/p-stepper.cjs.entry.js +1 -1
- package/dist/cjs/p-tab-group.cjs.entry.js +1 -1
- package/dist/cjs/p-tab-item.cjs.entry.js +1 -1
- package/dist/cjs/p-table-column.cjs.entry.js +1 -1
- package/dist/cjs/p-table-row-action.cjs.entry.js +1 -1
- package/dist/cjs/p-table.cjs.entry.js +1 -1
- package/dist/cjs/p-toast-container.cjs.entry.js +1 -1
- package/dist/cjs/p-toast.cjs.entry.js +1 -1
- package/dist/cjs/p-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/paperless.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/atoms/portal/portal.component.js +43 -0
- package/dist/collection/components/atoms/portal/portal.component.js.map +1 -0
- package/dist/collection/components/atoms/portal/test/portal.component.e2e.js +26 -0
- package/dist/collection/components/atoms/portal/test/portal.component.e2e.js.map +1 -0
- package/dist/collection/components/atoms/portal/test/portal.component.spec.js +17 -0
- package/dist/collection/components/atoms/portal/test/portal.component.spec.js.map +1 -0
- package/dist/collection/components/molecules/dropdown/dropdown.component.css +1 -1
- package/dist/collection/components/molecules/dropdown/dropdown.component.js +52 -10
- package/dist/collection/components/molecules/dropdown/dropdown.component.js.map +1 -1
- package/dist/collection/components/molecules/input-group/input-group.component.js +15 -16
- package/dist/collection/components/molecules/input-group/input-group.component.js.map +1 -1
- package/dist/collection/components/molecules/profile/profile.component.css +1 -1
- package/dist/collection/components/molecules/profile/profile.component.js +1 -1
- package/dist/collection/components/molecules/profile/profile.component.js.map +1 -1
- package/dist/collection/components/molecules/select/select.component.js.map +1 -1
- package/dist/components/dropdown.component.js +44 -13
- package/dist/components/dropdown.component.js.map +1 -1
- package/dist/components/input-group.component.js +14 -15
- package/dist/components/input-group.component.js.map +1 -1
- package/dist/components/p-datepicker.js +20 -14
- package/dist/components/p-datepicker.js.map +1 -1
- package/dist/components/p-portal.d.ts +11 -0
- package/dist/components/p-portal.js +8 -0
- package/dist/components/p-portal.js.map +1 -0
- package/dist/components/p-profile.js +18 -12
- package/dist/components/p-profile.js.map +1 -1
- package/dist/components/p-select.js +24 -18
- package/dist/components/p-select.js.map +1 -1
- package/dist/components/p-table.js +40 -34
- package/dist/components/p-table.js.map +1 -1
- package/dist/components/page-size-select.component.js +18 -12
- package/dist/components/page-size-select.component.js.map +1 -1
- package/dist/components/portal.component.js +42 -0
- package/dist/components/portal.component.js.map +1 -0
- package/dist/components/table-footer.component.js +24 -18
- package/dist/components/table-footer.component.js.map +1 -1
- package/dist/esm/{index-f99096d4.js → index-7f8d27cf.js} +79 -6
- package/dist/esm/{index-f99096d4.js.map → index-7f8d27cf.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/p-accordion.entry.js +1 -1
- package/dist/esm/p-attachment.entry.js +1 -1
- package/dist/esm/p-avatar-group.entry.js +1 -1
- package/dist/esm/p-avatar.entry.js +1 -1
- package/dist/esm/p-backdrop.entry.js +1 -1
- package/dist/esm/p-badge.entry.js +1 -1
- package/dist/esm/p-button-group.entry.js +1 -1
- package/dist/esm/p-button_3.entry.js +1 -1
- package/dist/esm/p-calendar.entry.js +1 -1
- package/dist/esm/p-card-body.entry.js +1 -1
- package/dist/esm/p-card-container.entry.js +1 -1
- package/dist/esm/p-card-header.entry.js +1 -1
- package/dist/esm/p-content-slider.entry.js +1 -1
- package/dist/esm/p-counter.entry.js +1 -1
- package/dist/esm/p-cropper.entry.js +1 -1
- package/dist/esm/p-datepicker.entry.js +1 -1
- package/dist/esm/p-divider.entry.js +1 -1
- package/dist/esm/p-drawer-body_3.entry.js +1 -1
- package/dist/esm/p-drawer.entry.js +1 -1
- package/dist/esm/{p-dropdown-menu-container.entry.js → p-dropdown-menu-container_2.entry.js} +24 -3
- package/dist/esm/p-dropdown-menu-container_2.entry.js.map +1 -0
- package/dist/esm/p-dropdown_2.entry.js +36 -12
- package/dist/esm/p-dropdown_2.entry.js.map +1 -1
- package/dist/esm/p-floating-menu-container_8.entry.js +1 -1
- package/dist/esm/p-helper_3.entry.js +15 -16
- package/dist/esm/p-helper_3.entry.js.map +1 -1
- package/dist/esm/p-iban-icon.entry.js +1 -1
- package/dist/esm/p-icon-deprecated.entry.js +1 -1
- package/dist/esm/p-info-panel.entry.js +1 -1
- package/dist/esm/p-label_3.entry.js +1 -1
- package/dist/esm/p-layout.entry.js +1 -1
- package/dist/esm/p-modal-body_4.entry.js +1 -1
- package/dist/esm/p-modal.entry.js +1 -1
- package/dist/esm/p-navbar.entry.js +1 -1
- package/dist/esm/p-navigation-item.entry.js +1 -1
- package/dist/esm/p-navigation-section.entry.js +1 -1
- package/dist/esm/p-navigation-title.entry.js +1 -1
- package/dist/esm/p-page-size-select_3.entry.js +1 -1
- package/dist/esm/p-profile.entry.js +3 -3
- package/dist/esm/p-profile.entry.js.map +1 -1
- package/dist/esm/p-select.entry.js +1 -1
- package/dist/esm/p-select.entry.js.map +1 -1
- package/dist/esm/p-slider-indicator.entry.js +1 -1
- package/dist/esm/p-status.entry.js +1 -1
- package/dist/esm/p-stepper-item.entry.js +1 -1
- package/dist/esm/p-stepper-line.entry.js +1 -1
- package/dist/esm/p-stepper.entry.js +1 -1
- package/dist/esm/p-tab-group.entry.js +1 -1
- package/dist/esm/p-tab-item.entry.js +1 -1
- package/dist/esm/p-table-column.entry.js +1 -1
- package/dist/esm/p-table-row-action.entry.js +1 -1
- package/dist/esm/p-table.entry.js +1 -1
- package/dist/esm/p-toast-container.entry.js +1 -1
- package/dist/esm/p-toast.entry.js +1 -1
- package/dist/esm/p-tooltip.entry.js +1 -1
- package/dist/esm/paperless.js +3 -3
- package/dist/index.html +1 -1
- package/dist/paperless/{p-60492c98.entry.js → p-04f2c445.entry.js} +2 -2
- package/dist/paperless/{p-2f9e9197.entry.js → p-0b5a9b3b.entry.js} +2 -2
- package/dist/{build/p-dce95c92.entry.js → paperless/p-0fb58b95.entry.js} +2 -2
- package/dist/{build/p-64b53130.entry.js → paperless/p-12f5d6c1.entry.js} +2 -2
- package/dist/paperless/{p-5ab354bf.entry.js → p-14f3312f.entry.js} +2 -2
- package/dist/paperless/{p-d81a30f6.entry.js → p-15abe9ab.entry.js} +2 -2
- package/dist/paperless/{p-b8e718c7.entry.js → p-1926e607.entry.js} +2 -2
- package/dist/{build/p-385943b2.entry.js → paperless/p-195ede81.entry.js} +2 -2
- package/dist/paperless/{p-32056913.entry.js → p-198b4653.entry.js} +2 -2
- package/dist/paperless/{p-221dbb71.entry.js → p-1c97ddaa.entry.js} +2 -2
- package/dist/paperless/{p-bc46f89a.entry.js → p-285babdd.entry.js} +2 -2
- package/dist/paperless/{p-b9a7e240.entry.js → p-28fee2e1.entry.js} +2 -2
- package/dist/paperless/{p-dd6d3839.entry.js → p-2bedd43c.entry.js} +2 -2
- package/dist/paperless/{p-5e789bb1.entry.js → p-36d0d0e6.entry.js} +2 -2
- package/dist/paperless/{p-e10cf2d3.entry.js → p-3885d19b.entry.js} +2 -2
- package/dist/paperless/{p-bfbab545.entry.js → p-3b9d77dc.entry.js} +2 -2
- package/dist/paperless/{p-7a577384.entry.js → p-3dba9a43.entry.js} +2 -2
- package/dist/paperless/{p-c6bcbcbf.entry.js → p-43cdfda1.entry.js} +2 -2
- package/dist/paperless/{p-fcaa0539.entry.js → p-4c3cdddf.entry.js} +2 -2
- package/dist/{build/p-6fed974c.entry.js → paperless/p-51b3884b.entry.js} +2 -2
- package/dist/paperless/{p-ea3bce45.entry.js → p-55752ba9.entry.js} +2 -2
- package/dist/paperless/p-57fd5974.entry.js +2 -0
- package/dist/paperless/p-57fd5974.entry.js.map +1 -0
- package/dist/paperless/{p-6f7721eb.entry.js → p-5a072ae3.entry.js} +2 -2
- package/dist/paperless/{p-3d867690.entry.js → p-5a7c004d.entry.js} +2 -2
- package/dist/paperless/{p-3e9d994a.entry.js → p-5afd99f1.entry.js} +2 -2
- package/dist/paperless/{p-16a18649.entry.js → p-5df485b9.entry.js} +2 -2
- package/dist/paperless/{p-9fa5d08a.entry.js → p-648c33b9.entry.js} +2 -2
- package/dist/paperless/{p-047c1c6f.entry.js → p-6521a730.entry.js} +2 -2
- package/dist/{build/p-909879e3.entry.js → paperless/p-6d6bb913.entry.js} +2 -2
- package/dist/paperless/{p-45463125.entry.js → p-75330470.entry.js} +2 -2
- package/dist/{build/p-a7b8e22f.entry.js → paperless/p-7eb4689d.entry.js} +2 -2
- package/dist/{build/p-7beb3401.entry.js → paperless/p-82c79faa.entry.js} +2 -2
- package/dist/paperless/p-88f72088.entry.js +2 -0
- package/dist/paperless/p-88f72088.entry.js.map +1 -0
- package/dist/paperless/{p-6e71ebca.entry.js → p-9d112705.entry.js} +2 -2
- package/dist/paperless/{p-937b2d74.entry.js → p-a26e1c6d.entry.js} +2 -2
- package/dist/paperless/p-a3853fc7.js +3 -0
- package/dist/paperless/p-a3853fc7.js.map +1 -0
- package/dist/paperless/{p-be0c925e.entry.js → p-a5995873.entry.js} +2 -2
- package/dist/{build/p-cb8a454c.entry.js → paperless/p-aa4ebfcd.entry.js} +2 -2
- package/dist/paperless/{p-a587ff9f.entry.js → p-b18ef00d.entry.js} +2 -2
- package/dist/paperless/p-b7a45a0a.entry.js +2 -0
- package/dist/paperless/p-b7a45a0a.entry.js.map +1 -0
- package/dist/paperless/{p-393eba2f.entry.js → p-b9cdcb32.entry.js} +2 -2
- package/dist/{build/p-aab1cda1.entry.js → paperless/p-b9e42e93.entry.js} +2 -2
- package/dist/paperless/{p-851a7662.entry.js → p-bf9965ea.entry.js} +2 -2
- package/dist/paperless/p-bf9965ea.entry.js.map +1 -0
- package/dist/paperless/{p-013cd7f9.entry.js → p-cada312c.entry.js} +2 -2
- package/dist/{build/p-f78afad9.entry.js → paperless/p-d8498647.entry.js} +2 -2
- package/dist/paperless/p-d8498647.entry.js.map +1 -0
- package/dist/{build/p-0348e450.entry.js → paperless/p-dc9bf641.entry.js} +2 -2
- package/dist/paperless/{p-aa058967.entry.js → p-e18e29aa.entry.js} +2 -2
- package/dist/paperless/{p-ece8998b.entry.js → p-e4ab1d73.entry.js} +2 -2
- package/dist/paperless/{p-08ea38ad.entry.js → p-e74bd898.entry.js} +2 -2
- package/dist/paperless/{p-23ca3688.entry.js → p-e78945ad.entry.js} +2 -2
- package/dist/paperless/{p-cb7c509e.entry.js → p-ea329388.entry.js} +2 -2
- package/dist/paperless/paperless.esm.js +1 -1
- package/dist/paperless/paperless.esm.js.map +1 -1
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/dist/types/components/atoms/portal/portal.component.d.ts +9 -0
- package/dist/types/components/molecules/dropdown/dropdown.component.d.ts +6 -1
- package/dist/types/components.d.ts +23 -0
- package/hydrate/index.js +105 -40
- package/package.json +1 -1
- package/dist/build/p-28d14744.entry.js +0 -2
- package/dist/build/p-28d14744.entry.js.map +0 -1
- package/dist/build/p-64b68231.js +0 -3
- package/dist/build/p-64b68231.js.map +0 -1
- package/dist/build/p-851a7662.entry.js.map +0 -1
- package/dist/build/p-cc321a7b.entry.js +0 -2
- package/dist/build/p-cc321a7b.entry.js.map +0 -1
- package/dist/build/p-d7dbd13e.entry.js +0 -2
- package/dist/build/p-d7dbd13e.entry.js.map +0 -1
- package/dist/build/p-f78afad9.entry.js.map +0 -1
- package/dist/cjs/p-dropdown-menu-container.cjs.entry.js.map +0 -1
- package/dist/esm/p-dropdown-menu-container.entry.js.map +0 -1
- package/dist/paperless/p-28d14744.entry.js +0 -2
- package/dist/paperless/p-28d14744.entry.js.map +0 -1
- package/dist/paperless/p-64b68231.js +0 -3
- package/dist/paperless/p-64b68231.js.map +0 -1
- package/dist/paperless/p-851a7662.entry.js.map +0 -1
- package/dist/paperless/p-cc321a7b.entry.js +0 -2
- package/dist/paperless/p-cc321a7b.entry.js.map +0 -1
- package/dist/paperless/p-d7dbd13e.entry.js +0 -2
- package/dist/paperless/p-d7dbd13e.entry.js.map +0 -1
- package/dist/paperless/p-f78afad9.entry.js.map +0 -1
- /package/dist/build/{p-60492c98.entry.js.map → p-04f2c445.entry.js.map} +0 -0
- /package/dist/build/{p-2f9e9197.entry.js.map → p-0b5a9b3b.entry.js.map} +0 -0
- /package/dist/build/{p-dce95c92.entry.js.map → p-0fb58b95.entry.js.map} +0 -0
- /package/dist/build/{p-64b53130.entry.js.map → p-12f5d6c1.entry.js.map} +0 -0
- /package/dist/build/{p-5ab354bf.entry.js.map → p-14f3312f.entry.js.map} +0 -0
- /package/dist/build/{p-d81a30f6.entry.js.map → p-15abe9ab.entry.js.map} +0 -0
- /package/dist/build/{p-b8e718c7.entry.js.map → p-1926e607.entry.js.map} +0 -0
- /package/dist/build/{p-385943b2.entry.js.map → p-195ede81.entry.js.map} +0 -0
- /package/dist/build/{p-32056913.entry.js.map → p-198b4653.entry.js.map} +0 -0
- /package/dist/build/{p-221dbb71.entry.js.map → p-1c97ddaa.entry.js.map} +0 -0
- /package/dist/build/{p-bc46f89a.entry.js.map → p-285babdd.entry.js.map} +0 -0
- /package/dist/build/{p-b9a7e240.entry.js.map → p-28fee2e1.entry.js.map} +0 -0
- /package/dist/build/{p-dd6d3839.entry.js.map → p-2bedd43c.entry.js.map} +0 -0
- /package/dist/build/{p-5e789bb1.entry.js.map → p-36d0d0e6.entry.js.map} +0 -0
- /package/dist/build/{p-e10cf2d3.entry.js.map → p-3885d19b.entry.js.map} +0 -0
- /package/dist/build/{p-bfbab545.entry.js.map → p-3b9d77dc.entry.js.map} +0 -0
- /package/dist/build/{p-7a577384.entry.js.map → p-3dba9a43.entry.js.map} +0 -0
- /package/dist/build/{p-c6bcbcbf.entry.js.map → p-43cdfda1.entry.js.map} +0 -0
- /package/dist/build/{p-fcaa0539.entry.js.map → p-4c3cdddf.entry.js.map} +0 -0
- /package/dist/build/{p-6fed974c.entry.js.map → p-51b3884b.entry.js.map} +0 -0
- /package/dist/build/{p-ea3bce45.entry.js.map → p-55752ba9.entry.js.map} +0 -0
- /package/dist/build/{p-6f7721eb.entry.js.map → p-5a072ae3.entry.js.map} +0 -0
- /package/dist/build/{p-3d867690.entry.js.map → p-5a7c004d.entry.js.map} +0 -0
- /package/dist/build/{p-3e9d994a.entry.js.map → p-5afd99f1.entry.js.map} +0 -0
- /package/dist/build/{p-16a18649.entry.js.map → p-5df485b9.entry.js.map} +0 -0
- /package/dist/build/{p-9fa5d08a.entry.js.map → p-648c33b9.entry.js.map} +0 -0
- /package/dist/build/{p-047c1c6f.entry.js.map → p-6521a730.entry.js.map} +0 -0
- /package/dist/build/{p-909879e3.entry.js.map → p-6d6bb913.entry.js.map} +0 -0
- /package/dist/build/{p-45463125.entry.js.map → p-75330470.entry.js.map} +0 -0
- /package/dist/build/{p-a7b8e22f.entry.js.map → p-7eb4689d.entry.js.map} +0 -0
- /package/dist/build/{p-7beb3401.entry.js.map → p-82c79faa.entry.js.map} +0 -0
- /package/dist/build/{p-6e71ebca.entry.js.map → p-9d112705.entry.js.map} +0 -0
- /package/dist/build/{p-937b2d74.entry.js.map → p-a26e1c6d.entry.js.map} +0 -0
- /package/dist/build/{p-be0c925e.entry.js.map → p-a5995873.entry.js.map} +0 -0
- /package/dist/build/{p-cb8a454c.entry.js.map → p-aa4ebfcd.entry.js.map} +0 -0
- /package/dist/build/{p-a587ff9f.entry.js.map → p-b18ef00d.entry.js.map} +0 -0
- /package/dist/build/{p-393eba2f.entry.js.map → p-b9cdcb32.entry.js.map} +0 -0
- /package/dist/build/{p-aab1cda1.entry.js.map → p-b9e42e93.entry.js.map} +0 -0
- /package/dist/build/{p-013cd7f9.entry.js.map → p-cada312c.entry.js.map} +0 -0
- /package/dist/build/{p-0348e450.entry.js.map → p-dc9bf641.entry.js.map} +0 -0
- /package/dist/build/{p-aa058967.entry.js.map → p-e18e29aa.entry.js.map} +0 -0
- /package/dist/build/{p-ece8998b.entry.js.map → p-e4ab1d73.entry.js.map} +0 -0
- /package/dist/build/{p-08ea38ad.entry.js.map → p-e74bd898.entry.js.map} +0 -0
- /package/dist/build/{p-23ca3688.entry.js.map → p-e78945ad.entry.js.map} +0 -0
- /package/dist/build/{p-cb7c509e.entry.js.map → p-ea329388.entry.js.map} +0 -0
- /package/dist/paperless/{p-60492c98.entry.js.map → p-04f2c445.entry.js.map} +0 -0
- /package/dist/paperless/{p-2f9e9197.entry.js.map → p-0b5a9b3b.entry.js.map} +0 -0
- /package/dist/paperless/{p-dce95c92.entry.js.map → p-0fb58b95.entry.js.map} +0 -0
- /package/dist/paperless/{p-64b53130.entry.js.map → p-12f5d6c1.entry.js.map} +0 -0
- /package/dist/paperless/{p-5ab354bf.entry.js.map → p-14f3312f.entry.js.map} +0 -0
- /package/dist/paperless/{p-d81a30f6.entry.js.map → p-15abe9ab.entry.js.map} +0 -0
- /package/dist/paperless/{p-b8e718c7.entry.js.map → p-1926e607.entry.js.map} +0 -0
- /package/dist/paperless/{p-385943b2.entry.js.map → p-195ede81.entry.js.map} +0 -0
- /package/dist/paperless/{p-32056913.entry.js.map → p-198b4653.entry.js.map} +0 -0
- /package/dist/paperless/{p-221dbb71.entry.js.map → p-1c97ddaa.entry.js.map} +0 -0
- /package/dist/paperless/{p-bc46f89a.entry.js.map → p-285babdd.entry.js.map} +0 -0
- /package/dist/paperless/{p-b9a7e240.entry.js.map → p-28fee2e1.entry.js.map} +0 -0
- /package/dist/paperless/{p-dd6d3839.entry.js.map → p-2bedd43c.entry.js.map} +0 -0
- /package/dist/paperless/{p-5e789bb1.entry.js.map → p-36d0d0e6.entry.js.map} +0 -0
- /package/dist/paperless/{p-e10cf2d3.entry.js.map → p-3885d19b.entry.js.map} +0 -0
- /package/dist/paperless/{p-bfbab545.entry.js.map → p-3b9d77dc.entry.js.map} +0 -0
- /package/dist/paperless/{p-7a577384.entry.js.map → p-3dba9a43.entry.js.map} +0 -0
- /package/dist/paperless/{p-c6bcbcbf.entry.js.map → p-43cdfda1.entry.js.map} +0 -0
- /package/dist/paperless/{p-fcaa0539.entry.js.map → p-4c3cdddf.entry.js.map} +0 -0
- /package/dist/paperless/{p-6fed974c.entry.js.map → p-51b3884b.entry.js.map} +0 -0
- /package/dist/paperless/{p-ea3bce45.entry.js.map → p-55752ba9.entry.js.map} +0 -0
- /package/dist/paperless/{p-6f7721eb.entry.js.map → p-5a072ae3.entry.js.map} +0 -0
- /package/dist/paperless/{p-3d867690.entry.js.map → p-5a7c004d.entry.js.map} +0 -0
- /package/dist/paperless/{p-3e9d994a.entry.js.map → p-5afd99f1.entry.js.map} +0 -0
- /package/dist/paperless/{p-16a18649.entry.js.map → p-5df485b9.entry.js.map} +0 -0
- /package/dist/paperless/{p-9fa5d08a.entry.js.map → p-648c33b9.entry.js.map} +0 -0
- /package/dist/paperless/{p-047c1c6f.entry.js.map → p-6521a730.entry.js.map} +0 -0
- /package/dist/paperless/{p-909879e3.entry.js.map → p-6d6bb913.entry.js.map} +0 -0
- /package/dist/paperless/{p-45463125.entry.js.map → p-75330470.entry.js.map} +0 -0
- /package/dist/paperless/{p-a7b8e22f.entry.js.map → p-7eb4689d.entry.js.map} +0 -0
- /package/dist/paperless/{p-7beb3401.entry.js.map → p-82c79faa.entry.js.map} +0 -0
- /package/dist/paperless/{p-6e71ebca.entry.js.map → p-9d112705.entry.js.map} +0 -0
- /package/dist/paperless/{p-937b2d74.entry.js.map → p-a26e1c6d.entry.js.map} +0 -0
- /package/dist/paperless/{p-be0c925e.entry.js.map → p-a5995873.entry.js.map} +0 -0
- /package/dist/paperless/{p-cb8a454c.entry.js.map → p-aa4ebfcd.entry.js.map} +0 -0
- /package/dist/paperless/{p-a587ff9f.entry.js.map → p-b18ef00d.entry.js.map} +0 -0
- /package/dist/paperless/{p-393eba2f.entry.js.map → p-b9cdcb32.entry.js.map} +0 -0
- /package/dist/paperless/{p-aab1cda1.entry.js.map → p-b9e42e93.entry.js.map} +0 -0
- /package/dist/paperless/{p-013cd7f9.entry.js.map → p-cada312c.entry.js.map} +0 -0
- /package/dist/paperless/{p-0348e450.entry.js.map → p-dc9bf641.entry.js.map} +0 -0
- /package/dist/paperless/{p-aa058967.entry.js.map → p-e18e29aa.entry.js.map} +0 -0
- /package/dist/paperless/{p-ece8998b.entry.js.map → p-e4ab1d73.entry.js.map} +0 -0
- /package/dist/paperless/{p-08ea38ad.entry.js.map → p-e74bd898.entry.js.map} +0 -0
- /package/dist/paperless/{p-23ca3688.entry.js.map → p-e78945ad.entry.js.map} +0 -0
- /package/dist/paperless/{p-cb7c509e.entry.js.map → p-ea329388.entry.js.map} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h, Host } from "@stencil/core";
|
|
1
|
+
import { h, Host, } from "@stencil/core";
|
|
2
2
|
export class InputGroup {
|
|
3
3
|
constructor() {
|
|
4
4
|
this._whitelistedTags = ['input', 'textarea'];
|
|
@@ -26,14 +26,11 @@ export class InputGroup {
|
|
|
26
26
|
render() {
|
|
27
27
|
var _a;
|
|
28
28
|
const { hasHeaderSlot, helper, label, prefix, suffix, errorAndErrorIsNotBoolean, errorVariant, } = this._getSlotInfo();
|
|
29
|
-
return (h(Host, { class: `p-input-group ${((_a = this.error) === null || _a === void 0 ? void 0 : _a.length) && 'error'} ${this.disabled && 'disabled'} ${this.focused && 'focused'} size-${this.size}` }, h("div", { class:
|
|
29
|
+
return (h(Host, { class: `p-input-group ${((_a = this.error) === null || _a === void 0 ? void 0 : _a.length) && 'error'} ${this.disabled && 'disabled'} ${this.focused && 'focused'} size-${this.size}` }, h("div", { class: 'flex items-end justify-between' }, label && (h("div", { class: 'input-label', onClick: () => this._focusInput() }, label, this.required && h("span", { class: 'ml-1 text-negative' }, "*"))), (helper || hasHeaderSlot) && (h("div", { class: 'input-header' }, hasHeaderSlot && h("slot", { name: 'header' }), helper && (h("p-helper", { class: `flex ${hasHeaderSlot ? 'ml-2' : ''}`, placement: 'top-end' }, helper))))), h("p-tooltip", { class: 'w-full', variant: 'error-element', content: this.error, show: errorAndErrorIsNotBoolean &&
|
|
30
30
|
errorVariant === 'element' &&
|
|
31
|
-
(this.forceShowTooltip || this._forceShowTooltip), enableUserInput: false }, h("div", { class:
|
|
32
|
-
(
|
|
33
|
-
(errorAndErrorIsNotBoolean &&
|
|
34
|
-
errorVariant === 'icon') ||
|
|
35
|
-
(this.icon && this.iconPosition === 'end')) && (h("div", { class: `suffix size-${this.size}`, onClick: () => this._focusInput() }, errorAndErrorIsNotBoolean &&
|
|
36
|
-
errorVariant === 'icon' ? (h("p-input-error", { error: this.error, forceShowTooltip: this.forceShowTooltip || this._forceShowTooltip })) : this.icon && this.iconPosition === 'end' ? (h("p-icon", { class: "flex", variant: this.icon, rotate: this.iconRotate, flip: this.iconFlip })) : (suffix))), h("slot", { name: "input" })))));
|
|
31
|
+
(this.forceShowTooltip || this._forceShowTooltip), enableUserInput: false }, h("div", { class: 'content', slot: 'trigger' }, (prefix || (this.icon && this.iconPosition === 'start')) && (h("div", { class: `prefix size-${this.size}`, onClick: () => this._focusInput() }, this.icon && this.iconPosition === 'start' ? (h("p-icon", { class: 'flex', variant: this.icon, rotate: this.iconRotate, flip: this.iconFlip })) : (prefix))), (suffix ||
|
|
32
|
+
(errorAndErrorIsNotBoolean && errorVariant === 'icon') ||
|
|
33
|
+
(this.icon && this.iconPosition === 'end')) && (h("div", { class: `suffix size-${this.size}`, onClick: () => this._focusInput() }, errorAndErrorIsNotBoolean && errorVariant === 'icon' ? (h("p-input-error", { error: this.error, forceShowTooltip: this.forceShowTooltip || this._forceShowTooltip })) : this.icon && this.iconPosition === 'end' ? (h("p-icon", { class: 'flex', variant: this.icon, rotate: this.iconRotate, flip: this.iconFlip })) : (suffix))), h("slot", { name: 'input' })))));
|
|
37
34
|
}
|
|
38
35
|
handleFocusIn() {
|
|
39
36
|
this._forceShowTooltip = true;
|
|
@@ -86,13 +83,11 @@ export class InputGroup {
|
|
|
86
83
|
const hasPrefixSlot = !!this._el.querySelector(':scope > [slot="prefix"]');
|
|
87
84
|
const hasSuffixSlot = !!this._el.querySelector(':scope > [slot="suffix"]');
|
|
88
85
|
const hasHeaderSlot = !!this._el.querySelector(':scope > [slot="header"]');
|
|
89
|
-
const helper = hasHelperSlot ? h("slot", { name:
|
|
90
|
-
const label = hasLabelSlot ? h("slot", { name:
|
|
91
|
-
const prefix = hasPrefixSlot ? h("slot", { name:
|
|
92
|
-
const suffix = hasSuffixSlot ? h("slot", { name:
|
|
93
|
-
const errorAndErrorIsNotBoolean = this.error &&
|
|
94
|
-
typeof this.error === 'string' &&
|
|
95
|
-
this.error !== 'true';
|
|
86
|
+
const helper = hasHelperSlot ? h("slot", { name: 'helper' }) : this.helper;
|
|
87
|
+
const label = hasLabelSlot ? h("slot", { name: 'label' }) : this.label;
|
|
88
|
+
const prefix = hasPrefixSlot ? h("slot", { name: 'prefix' }) : this.prefix;
|
|
89
|
+
const suffix = hasSuffixSlot ? h("slot", { name: 'suffix' }) : this.suffix;
|
|
90
|
+
const errorAndErrorIsNotBoolean = this.error && typeof this.error === 'string' && this.error !== 'true';
|
|
96
91
|
return {
|
|
97
92
|
hasHelperSlot,
|
|
98
93
|
hasLabelSlot,
|
|
@@ -104,7 +99,11 @@ export class InputGroup {
|
|
|
104
99
|
prefix,
|
|
105
100
|
suffix,
|
|
106
101
|
errorAndErrorIsNotBoolean,
|
|
107
|
-
errorVariant: this.errorVariant === 'auto'
|
|
102
|
+
errorVariant: this.errorVariant === 'auto'
|
|
103
|
+
? this._el.offsetWidth <= 72
|
|
104
|
+
? 'element'
|
|
105
|
+
: 'icon'
|
|
106
|
+
: this.errorVariant,
|
|
108
107
|
};
|
|
109
108
|
}
|
|
110
109
|
_focusInput() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-group.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/input-group/input-group.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n h,\n Host,\n Listen,\n Prop,\n State\n} from '@stencil/core';\nimport { RotateOptions } from '../../../types/tailwind';\nimport { IconFlipOptions, IconVariant } from '../../atoms/icon/icon.component';\n\n@Component({\n\ttag: 'p-input-group',\n\tstyleUrl: './input-group.component.scss',\n\tshadow: true,\n})\nexport class InputGroup {\n\t/**\n\t * The size of the input group\n\t */\n\t@Prop() size: 'small' | 'medium' = 'medium';\n\n\t/**\n\t * The prefix of the input group\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The suffix of the input group\n\t */\n\t@Prop() suffix: string;\n\n\t/**\n\t * Icon of the input group\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * Icon flip\n\t */\n\t@Prop() iconFlip: IconFlipOptions;\n\n\t/**\n\t * Icon rotate\n\t */\n\t@Prop() iconRotate: RotateOptions;\n\n\t/**\n\t * Icon position\n\t */\n\t@Prop() iconPosition: 'start' | 'end' = 'start';\n\n\t/**\n\t * The label of the input group\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean;\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * Wether the input group is disabled\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether the input group is focused\n\t */\n\t@Prop({ reflect: true }) focused: boolean = false;\n\n\t/**\n\t * Force show the error tooltip\n\t */\n\t@Prop({ reflect: true }) forceShowTooltip: boolean = false;\n\n\t/**\n\t * The method to use when focusing the input\n\t */\n\t@Prop() focusMethod: 'focus' | 'click' = 'focus';\n\n\t/**\n\t * The error variant to use\n\t */\n\t@Prop() errorVariant: 'auto' | 'suffix' | 'element' = 'auto';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _forceShowTooltip = false;\n\n\tprivate _whitelistedTags = ['input', 'textarea'];\n\n\tcomponentWillRender() {\n\t\tthis._setInputClasses();\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\thasHeaderSlot,\n\t\t\thelper,\n\t\t\tlabel,\n\t\t\tprefix,\n\t\t\tsuffix,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t\terrorVariant,\n\t\t} = this._getSlotInfo();\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-input-group ${this.error?.length && 'error'} ${\n\t\t\t\t\tthis.disabled && 'disabled'\n\t\t\t\t} ${this.focused && 'focused'} size-${this.size}`}\n\t\t\t>\n\t\t\t\t<div class=\"flex items-end justify-between\">\n\t\t\t\t\t{label && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"input-label\"\n\t\t\t\t\t\t\tonClick={() => this._focusInput()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t{this.required && (\n\t\t\t\t\t\t\t\t<span class=\"ml-1 text-negative\">*</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{(helper || hasHeaderSlot) && (\n\t\t\t\t\t\t<div class=\"input-header\">\n\t\t\t\t\t\t\t{hasHeaderSlot && <slot name=\"header\" />}\n\t\t\t\t\t\t\t{helper && (\n\t\t\t\t\t\t\t\t<p-helper\n\t\t\t\t\t\t\t\t\tclass={`flex ${\n\t\t\t\t\t\t\t\t\t\thasHeaderSlot ? 'ml-2' : ''\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\tplacement=\"top-end\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{helper}\n\t\t\t\t\t\t\t\t</p-helper>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<p-tooltip\n\t\t\t\t\tclass=\"w-full\"\n\t\t\t\t\tvariant=\"error-element\"\n\t\t\t\t\tcontent={this.error}\n\t\t\t\t\tshow={\n\t\t\t\t\t\terrorAndErrorIsNotBoolean &&\n\t\t\t\t\t\terrorVariant === 'element' &&\n\t\t\t\t\t\t(this.forceShowTooltip || this._forceShowTooltip)\n\t\t\t\t\t}\n\t\t\t\t\tenableUserInput={false}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"content\" slot=\"trigger\">\n\t\t\t\t\t\t{(prefix ||\n\t\t\t\t\t\t\t(this.icon && this.iconPosition === 'start')) && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={`prefix size-${this.size}`}\n\t\t\t\t\t\t\t\tonClick={() => this._focusInput()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.icon && this.iconPosition === 'start' ? (\n\t\t\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\t\t\tclass=\"flex\"\n\t\t\t\t\t\t\t\t\t\tvariant={this.icon}\n\t\t\t\t\t\t\t\t\t\trotate={this.iconRotate}\n\t\t\t\t\t\t\t\t\t\tflip={this.iconFlip}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\tprefix\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{(suffix ||\n\t\t\t\t\t\t\t(errorAndErrorIsNotBoolean &&\n\t\t\t\t\t\t\t\terrorVariant === 'icon') ||\n\t\t\t\t\t\t\t(this.icon && this.iconPosition === 'end')) && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={`suffix size-${this.size}`}\n\t\t\t\t\t\t\t\tonClick={() => this._focusInput()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{errorAndErrorIsNotBoolean &&\n\t\t\t\t\t\t\t\terrorVariant === 'icon' ? (\n\t\t\t\t\t\t\t\t\t<p-input-error\n\t\t\t\t\t\t\t\t\t\terror={this.error}\n\t\t\t\t\t\t\t\t\t\tforceShowTooltip={\n\t\t\t\t\t\t\t\t\t\t\tthis.forceShowTooltip || this._forceShowTooltip\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : this.icon && this.iconPosition === 'end' ? (\n\t\t\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\t\t\tclass=\"flex\"\n\t\t\t\t\t\t\t\t\t\tvariant={this.icon}\n\t\t\t\t\t\t\t\t\t\trotate={this.iconRotate}\n\t\t\t\t\t\t\t\t\t\tflip={this.iconFlip}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\tsuffix\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<slot name=\"input\" />\n\t\t\t\t\t</div>\n\t\t\t\t</p-tooltip>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('focusin')\n\thandleFocusIn() {\n\t\tthis._forceShowTooltip = true;\n\t}\n\n\t@Listen('focusout')\n\thandleFocusOut() {\n\t\tthis._forceShowTooltip = false;\n\t}\n\t/*\n With this, we shall hack the system in ways no one would ever have thought.\n\n <div class=\"pl-0 pr-0 border-l-0 border-r-0 rounded-tl-none rounded-bl-none rounded-tr-none rounded-br-none\"></div>\n */\n\tprivate _setInputClasses() {\n\t\tconst input = this._el.querySelector(':scope > [slot=\"input\"]');\n\n\t\tif (!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tagName = input.tagName.toLowerCase();\n\t\tif (this._whitelistedTags.indexOf(tagName) === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!input.classList.contains('p-input')) {\n\t\t\tinput.classList.add('p-input');\n\t\t}\n\n\t\tconst { prefix, suffix, errorAndErrorIsNotBoolean, errorVariant } =\n\t\t\tthis._getSlotInfo();\n\n\t\tif (\n\t\t\tsuffix ||\n\t\t\t(errorAndErrorIsNotBoolean && errorVariant === 'icon') ||\n\t\t\t(this.icon && this.iconPosition === 'end')\n\t\t) {\n\t\t\tinput.classList.add(\n\t\t\t\t'border-r-0',\n\t\t\t\t'rounded-tr-none',\n\t\t\t\t'rounded-br-none',\n\t\t\t\t'pr-0'\n\t\t\t);\n\t\t} else {\n\t\t\tinput.classList.remove(\n\t\t\t\t'border-r-0',\n\t\t\t\t'rounded-tr-none',\n\t\t\t\t'rounded-br-none',\n\t\t\t\t'pr-0'\n\t\t\t);\n\t\t}\n\n\t\tif (prefix || (this.icon && this.iconPosition === 'start')) {\n\t\t\tinput.classList.add(\n\t\t\t\t'border-l-0',\n\t\t\t\t'rounded-tl-none',\n\t\t\t\t'rounded-bl-none',\n\t\t\t\t'pl-0'\n\t\t\t);\n\t\t} else {\n\t\t\tinput.classList.remove(\n\t\t\t\t'border-l-0',\n\t\t\t\t'rounded-tl-none',\n\t\t\t\t'rounded-bl-none',\n\t\t\t\t'pl-0'\n\t\t\t);\n\t\t}\n\n\t\tif (this.size === 'small' && !input.classList.contains('size-small')) {\n\t\t\tinput.classList.add('size-small');\n\t\t}\n\n\t\tif (this.size !== 'small' && input.classList.contains('size-small')) {\n\t\t\tinput.classList.remove('size-small');\n\t\t}\n\t}\n\n\tprivate _getSlotInfo() {\n\t\tconst hasHelperSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"helper\"]'\n\t\t);\n\t\tconst hasLabelSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"label\"]'\n\t\t);\n\t\tconst hasPrefixSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"prefix\"]'\n\t\t);\n\t\tconst hasSuffixSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"suffix\"]'\n\t\t);\n\t\tconst hasHeaderSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"header\"]'\n\t\t);\n\n\t\tconst helper = hasHelperSlot ? <slot name=\"helper\" /> : this.helper;\n\t\tconst label = hasLabelSlot ? <slot name=\"label\" /> : this.label;\n\t\tconst prefix = hasPrefixSlot ? <slot name=\"prefix\" /> : this.prefix;\n\t\tconst suffix = hasSuffixSlot ? <slot name=\"suffix\" /> : this.suffix;\n\n\t\tconst errorAndErrorIsNotBoolean =\n\t\t\tthis.error &&\n\t\t\ttypeof this.error === 'string' &&\n\t\t\tthis.error !== 'true';\n\n\t\treturn {\n\t\t\thasHelperSlot,\n\t\t\thasLabelSlot,\n\t\t\thasPrefixSlot,\n\t\t\thasSuffixSlot,\n\t\t\thasHeaderSlot,\n\t\t\thelper,\n\t\t\tlabel,\n\t\t\tprefix,\n\t\t\tsuffix,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t\terrorVariant: this.errorVariant === 'auto' ? (this._el.offsetWidth <= 72 ? 'element' : 'icon') : this.errorVariant,\n\t\t};\n\t}\n\n\tprivate _focusInput() {\n\t\tconst input = this._el.querySelector(':scope > [slot=\"input\"]');\n\t\t(input as HTMLElement)[this.focusMethod]();\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"input-group.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/input-group/input-group.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tElement,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n} from '@stencil/core';\nimport { RotateOptions } from '../../../types/tailwind';\nimport { IconFlipOptions, IconVariant } from '../../atoms/icon/icon.component';\n\n@Component({\n\ttag: 'p-input-group',\n\tstyleUrl: './input-group.component.scss',\n\tshadow: true,\n})\nexport class InputGroup {\n\t/**\n\t * The size of the input group\n\t */\n\t@Prop() size: 'small' | 'medium' = 'medium';\n\n\t/**\n\t * The prefix of the input group\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The suffix of the input group\n\t */\n\t@Prop() suffix: string;\n\n\t/**\n\t * Icon of the input group\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * Icon flip\n\t */\n\t@Prop() iconFlip: IconFlipOptions;\n\n\t/**\n\t * Icon rotate\n\t */\n\t@Prop() iconRotate: RotateOptions;\n\n\t/**\n\t * Icon position\n\t */\n\t@Prop() iconPosition: 'start' | 'end' = 'start';\n\n\t/**\n\t * The label of the input group\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean;\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * Wether the input group is disabled\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether the input group is focused\n\t */\n\t@Prop({ reflect: true }) focused: boolean = false;\n\n\t/**\n\t * Force show the error tooltip\n\t */\n\t@Prop({ reflect: true }) forceShowTooltip: boolean = false;\n\n\t/**\n\t * The method to use when focusing the input\n\t */\n\t@Prop() focusMethod: 'focus' | 'click' = 'focus';\n\n\t/**\n\t * The error variant to use\n\t */\n\t@Prop() errorVariant: 'auto' | 'suffix' | 'element' = 'auto';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _forceShowTooltip = false;\n\n\tprivate _whitelistedTags = ['input', 'textarea'];\n\n\tcomponentWillRender() {\n\t\tthis._setInputClasses();\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\thasHeaderSlot,\n\t\t\thelper,\n\t\t\tlabel,\n\t\t\tprefix,\n\t\t\tsuffix,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t\terrorVariant,\n\t\t} = this._getSlotInfo();\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-input-group ${this.error?.length && 'error'} ${\n\t\t\t\t\tthis.disabled && 'disabled'\n\t\t\t\t} ${this.focused && 'focused'} size-${this.size}`}\n\t\t\t>\n\t\t\t\t<div class='flex items-end justify-between'>\n\t\t\t\t\t{label && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass='input-label'\n\t\t\t\t\t\t\tonClick={() => this._focusInput()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t{this.required && <span class='ml-1 text-negative'>*</span>}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{(helper || hasHeaderSlot) && (\n\t\t\t\t\t\t<div class='input-header'>\n\t\t\t\t\t\t\t{hasHeaderSlot && <slot name='header' />}\n\t\t\t\t\t\t\t{helper && (\n\t\t\t\t\t\t\t\t<p-helper\n\t\t\t\t\t\t\t\t\tclass={`flex ${hasHeaderSlot ? 'ml-2' : ''}`}\n\t\t\t\t\t\t\t\t\tplacement='top-end'\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{helper}\n\t\t\t\t\t\t\t\t</p-helper>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<p-tooltip\n\t\t\t\t\tclass='w-full'\n\t\t\t\t\tvariant='error-element'\n\t\t\t\t\tcontent={this.error}\n\t\t\t\t\tshow={\n\t\t\t\t\t\terrorAndErrorIsNotBoolean &&\n\t\t\t\t\t\terrorVariant === 'element' &&\n\t\t\t\t\t\t(this.forceShowTooltip || this._forceShowTooltip)\n\t\t\t\t\t}\n\t\t\t\t\tenableUserInput={false}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass='content'\n\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t>\n\t\t\t\t\t\t{(prefix || (this.icon && this.iconPosition === 'start')) && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={`prefix size-${this.size}`}\n\t\t\t\t\t\t\t\tonClick={() => this._focusInput()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.icon && this.iconPosition === 'start' ? (\n\t\t\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\t\t\tclass='flex'\n\t\t\t\t\t\t\t\t\t\tvariant={this.icon}\n\t\t\t\t\t\t\t\t\t\trotate={this.iconRotate}\n\t\t\t\t\t\t\t\t\t\tflip={this.iconFlip}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\tprefix\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{(suffix ||\n\t\t\t\t\t\t\t(errorAndErrorIsNotBoolean && errorVariant === 'icon') ||\n\t\t\t\t\t\t\t(this.icon && this.iconPosition === 'end')) && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass={`suffix size-${this.size}`}\n\t\t\t\t\t\t\t\tonClick={() => this._focusInput()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{errorAndErrorIsNotBoolean && errorVariant === 'icon' ? (\n\t\t\t\t\t\t\t\t\t<p-input-error\n\t\t\t\t\t\t\t\t\t\terror={this.error}\n\t\t\t\t\t\t\t\t\t\tforceShowTooltip={\n\t\t\t\t\t\t\t\t\t\t\tthis.forceShowTooltip || this._forceShowTooltip\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : this.icon && this.iconPosition === 'end' ? (\n\t\t\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\t\t\tclass='flex'\n\t\t\t\t\t\t\t\t\t\tvariant={this.icon}\n\t\t\t\t\t\t\t\t\t\trotate={this.iconRotate}\n\t\t\t\t\t\t\t\t\t\tflip={this.iconFlip}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\tsuffix\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<slot name='input' />\n\t\t\t\t\t</div>\n\t\t\t\t</p-tooltip>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('focusin')\n\thandleFocusIn() {\n\t\tthis._forceShowTooltip = true;\n\t}\n\n\t@Listen('focusout')\n\thandleFocusOut() {\n\t\tthis._forceShowTooltip = false;\n\t}\n\t/*\n With this, we shall hack the system in ways no one would ever have thought.\n\n <div class=\"pl-0 pr-0 border-l-0 border-r-0 rounded-tl-none rounded-bl-none rounded-tr-none rounded-br-none\"></div>\n */\n\tprivate _setInputClasses() {\n\t\tconst input = this._el.querySelector(':scope > [slot=\"input\"]');\n\n\t\tif (!input) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst tagName = input.tagName.toLowerCase();\n\t\tif (this._whitelistedTags.indexOf(tagName) === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!input.classList.contains('p-input')) {\n\t\t\tinput.classList.add('p-input');\n\t\t}\n\n\t\tconst { prefix, suffix, errorAndErrorIsNotBoolean, errorVariant } =\n\t\t\tthis._getSlotInfo();\n\n\t\tif (\n\t\t\tsuffix ||\n\t\t\t(errorAndErrorIsNotBoolean && errorVariant === 'icon') ||\n\t\t\t(this.icon && this.iconPosition === 'end')\n\t\t) {\n\t\t\tinput.classList.add(\n\t\t\t\t'border-r-0',\n\t\t\t\t'rounded-tr-none',\n\t\t\t\t'rounded-br-none',\n\t\t\t\t'pr-0'\n\t\t\t);\n\t\t} else {\n\t\t\tinput.classList.remove(\n\t\t\t\t'border-r-0',\n\t\t\t\t'rounded-tr-none',\n\t\t\t\t'rounded-br-none',\n\t\t\t\t'pr-0'\n\t\t\t);\n\t\t}\n\n\t\tif (prefix || (this.icon && this.iconPosition === 'start')) {\n\t\t\tinput.classList.add(\n\t\t\t\t'border-l-0',\n\t\t\t\t'rounded-tl-none',\n\t\t\t\t'rounded-bl-none',\n\t\t\t\t'pl-0'\n\t\t\t);\n\t\t} else {\n\t\t\tinput.classList.remove(\n\t\t\t\t'border-l-0',\n\t\t\t\t'rounded-tl-none',\n\t\t\t\t'rounded-bl-none',\n\t\t\t\t'pl-0'\n\t\t\t);\n\t\t}\n\n\t\tif (this.size === 'small' && !input.classList.contains('size-small')) {\n\t\t\tinput.classList.add('size-small');\n\t\t}\n\n\t\tif (this.size !== 'small' && input.classList.contains('size-small')) {\n\t\t\tinput.classList.remove('size-small');\n\t\t}\n\t}\n\n\tprivate _getSlotInfo() {\n\t\tconst hasHelperSlot = !!this._el.querySelector(':scope > [slot=\"helper\"]');\n\t\tconst hasLabelSlot = !!this._el.querySelector(':scope > [slot=\"label\"]');\n\t\tconst hasPrefixSlot = !!this._el.querySelector(':scope > [slot=\"prefix\"]');\n\t\tconst hasSuffixSlot = !!this._el.querySelector(':scope > [slot=\"suffix\"]');\n\t\tconst hasHeaderSlot = !!this._el.querySelector(':scope > [slot=\"header\"]');\n\n\t\tconst helper = hasHelperSlot ? <slot name='helper' /> : this.helper;\n\t\tconst label = hasLabelSlot ? <slot name='label' /> : this.label;\n\t\tconst prefix = hasPrefixSlot ? <slot name='prefix' /> : this.prefix;\n\t\tconst suffix = hasSuffixSlot ? <slot name='suffix' /> : this.suffix;\n\n\t\tconst errorAndErrorIsNotBoolean =\n\t\t\tthis.error && typeof this.error === 'string' && this.error !== 'true';\n\n\t\treturn {\n\t\t\thasHelperSlot,\n\t\t\thasLabelSlot,\n\t\t\thasPrefixSlot,\n\t\t\thasSuffixSlot,\n\t\t\thasHeaderSlot,\n\t\t\thelper,\n\t\t\tlabel,\n\t\t\tprefix,\n\t\t\tsuffix,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t\terrorVariant:\n\t\t\t\tthis.errorVariant === 'auto'\n\t\t\t\t\t? this._el.offsetWidth <= 72\n\t\t\t\t\t\t? 'element'\n\t\t\t\t\t\t: 'icon'\n\t\t\t\t\t: this.errorVariant,\n\t\t};\n\t}\n\n\tprivate _focusInput() {\n\t\tconst input = this._el.querySelector(':scope > [slot=\"input\"]');\n\t\t(input as HTMLElement)[this.focusMethod]();\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
*{box-sizing:border-box}.static{position:static!important}.absolute{position:absolute!important}.block{display:block!important}.inline-block{display:inline-block!important}.flex{display:flex!important}.h-10{height:2.5rem!important}.w-full{width:100%!important}.w-inherit{width:inherit!important}.min-w-0{min-width:0!important}.flex-1{flex:1 1 0%!important}.flex-col{flex-direction:column!important}.items-start{align-items:flex-start!important}.items-center{align-items:center!important}.gap-2{gap:.5rem!important}.overflow-hidden{overflow:hidden!important}.text-ellipsis{text-overflow:ellipsis!important}.whitespace-nowrap{white-space:nowrap!important}.py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-xs{font-size:.75rem!important;line-height:1rem!important}.font-medium{font-weight:500!important}.text-black-teal-300{--tw-text-opacity:1!important;color:rgb(104 127 124/var(--tw-text-opacity,1))!important}
|
|
1
|
+
*{box-sizing:border-box}.static{position:static!important}.absolute{position:absolute!important}.block{display:block!important}.inline-block{display:inline-block!important}.flex{display:flex!important}.h-10{height:2.5rem!important}.w-auto{width:auto!important}.w-full{width:100%!important}.w-inherit{width:inherit!important}.min-w-0{min-width:0!important}.max-w-full{max-width:100%!important}.flex-1{flex:1 1 0%!important}.flex-col{flex-direction:column!important}.items-start{align-items:flex-start!important}.items-center{align-items:center!important}.gap-2{gap:.5rem!important}.overflow-hidden{overflow:hidden!important}.text-ellipsis{text-overflow:ellipsis!important}.whitespace-nowrap{white-space:nowrap!important}.py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.text-xs{font-size:.75rem!important;line-height:1rem!important}.font-medium{font-weight:500!important}.text-black-teal-300{--tw-text-opacity:1!important;color:rgb(104 127 124/var(--tw-text-opacity,1))!important}
|
|
@@ -36,7 +36,7 @@ export class Profile {
|
|
|
36
36
|
_getContent() {
|
|
37
37
|
return (h("div", { class: profileContent({
|
|
38
38
|
dropdown: this._hasDropdownSlot,
|
|
39
|
-
}) }, h("slot", { name: 'avatar' }), h("div", { class: 'flex min-w-0 flex-1 flex-col items-start' }, h("p", { class: 'w-full overflow-hidden text-ellipsis whitespace-nowrap text-sm font-medium' }, h("slot", { name: 'title' })), h("p", { class: 'w-full overflow-hidden text-ellipsis whitespace-nowrap text-xs text-black-teal-300' }, h("slot", { name: 'subtitle' }))), h("slot", { name: 'post-title' })));
|
|
39
|
+
}) }, h("slot", { name: 'avatar' }), h("div", { class: 'flex min-w-0 flex-1 flex-col items-start' }, h("p", { class: 'w-auto max-w-full overflow-hidden text-ellipsis whitespace-nowrap text-sm font-medium' }, h("slot", { name: 'title' })), h("p", { class: 'w-auto max-w-full overflow-hidden text-ellipsis whitespace-nowrap text-xs text-black-teal-300' }, h("slot", { name: 'subtitle' }))), h("slot", { name: 'post-title' })));
|
|
40
40
|
}
|
|
41
41
|
_updateAvatar() {
|
|
42
42
|
const avatar = this._el.querySelector('p-avatar[slot="avatar"]');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/profile/profile.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,EACT,OAAO,EACP,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,GACL,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE/C,MAAM,cAAc,GAAG,GAAG,CAAC,CAAC,wCAAwC,CAAC,EAAE;EACtE,QAAQ,EAAE;IACT,QAAQ,EAAE;MACT,KAAK,EAAE,WAAW;MAClB,IAAI,EAAE,IAAI;KACV;GACD;CACD,CAAC,CAAC;AAMH,MAAM,OAAO,OAAO;;4BAIkC,YAAY;yBAOhC,KAAK;4BACF,KAAK;;EAEzC,iBAAiB;IAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;EAC3B,CAAC;EAED,mBAAmB;IAClB,IAAI,CAAC,aAAa,EAAE,CAAC;EACtB,CAAC;EAED,MAAM;IACL,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"profile.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/profile/profile.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tElement,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n} from '@stencil/core';\nimport { cva } from 'class-variance-authority';\n\nconst profileContent = cva(['flex gap-2 items-center flex-1 min-w-0'], {\n\tvariants: {\n\t\tdropdown: {\n\t\t\tfalse: 'h-10 py-1',\n\t\t\ttrue: null,\n\t\t},\n\t},\n});\n\n@Component({\n\ttag: 'p-profile',\n\tstyleUrl: 'profile.component.scss',\n})\nexport class Profile {\n\t/**\n\t * The position of the dropdown\n\t */\n\t@Prop() dropdownLocation: 'top-end' | 'bottom-end' = 'bottom-end';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _dropdownOpen = false;\n\t@State() private _hasDropdownSlot = false;\n\n\tcomponentWillLoad() {\n\t\tthis._checkDropdownSlot();\n\t}\n\n\tcomponentWillRender() {\n\t\tthis._updateAvatar();\n\t}\n\n\trender() {\n\t\tconst content = this._getContent();\n\n\t\treturn (\n\t\t\t<Host class='p-profile inline-block w-inherit'>\n\t\t\t\t{this._hasDropdownSlot ? (\n\t\t\t\t\t<p-dropdown\n\t\t\t\t\t\tclass='block'\n\t\t\t\t\t\tstrategy='absolute'\n\t\t\t\t\t\tplacement={this.dropdownLocation}\n\t\t\t\t\t\tapplyFullWidth={true}\n\t\t\t\t\t\tapplyMaxWidth={false}\n\t\t\t\t\t\tonIsOpen={ev => (this._dropdownOpen = ev.detail)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\tvariant='dropdown'\n\t\t\t\t\t\t\tchevron={this._dropdownOpen ? 'up' : 'down'}\n\t\t\t\t\t\t\tactive={this._dropdownOpen}\n\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t\tsize='lg'\n\t\t\t\t\t\t\tclass='w-full'\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{content}\n\t\t\t\t\t\t</p-button>\n\t\t\t\t\t\t<div slot='items'>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\tname='dropdown'\n\t\t\t\t\t\t\t\tonSlotchange={() => this._checkDropdownSlot()}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</p-dropdown>\n\t\t\t\t) : (\n\t\t\t\t\tcontent\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('slotchange')\n\tslotchange() {\n\t\tthis._checkDropdownSlot();\n\t}\n\n\tprivate _checkDropdownSlot() {\n\t\tthis._hasDropdownSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"dropdown\"]'\n\t\t);\n\n\t\tif (!this._hasDropdownSlot && this._dropdownOpen) {\n\t\t\tthis._dropdownOpen = false;\n\t\t}\n\t}\n\n\tprivate _getContent() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={profileContent({\n\t\t\t\t\tdropdown: this._hasDropdownSlot,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot name='avatar' />\n\t\t\t\t<div class='flex min-w-0 flex-1 flex-col items-start'>\n\t\t\t\t\t<p class='w-auto max-w-full overflow-hidden text-ellipsis whitespace-nowrap text-sm font-medium'>\n\t\t\t\t\t\t<slot name='title' />\n\t\t\t\t\t</p>\n\t\t\t\t\t<p class='w-auto max-w-full overflow-hidden text-ellipsis whitespace-nowrap text-xs text-black-teal-300'>\n\t\t\t\t\t\t<slot name='subtitle' />\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\n\t\t\t\t<slot name='post-title' />\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _updateAvatar() {\n\t\tconst avatar = this._el.querySelector(\n\t\t\t'p-avatar[slot=\"avatar\"]'\n\t\t) as HTMLPAvatarElement;\n\n\t\tif (!avatar) {\n\t\t\treturn;\n\t\t}\n\n\t\tavatar.size = this._hasDropdownSlot ? 'sm' : avatar.size;\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/select/select.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,GACL,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAQzC,MAAM,OAAO,MAAM;;;;;;;mCA6BwB,WAAW;;sBAUxB,MAAM;;;;;;;oBAmCR,OAAO;;;;;2BAyBC,IAAI;uBAKR,IAAI;6BAKC,EAAE;8BAKA,IAAI;uBAKX,KAAK;mBAKT,KAAK;2BAKG,KAAK;yBAKR,YAAY;;gBA0CT,QAAQ;;;;;;oBA8BE,KAAK;uBAKnB,KAAK;uBAKN,UAAU;0BAaP,oBAAoB;yBAOf,KAAK;yBACL,IAAI;wBAED,KAAK;yBAEb,CAAC;;EASlC,IAAI,MAAM;;IACT,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;MAChC,OAAO,EAAE,CAAC;KACV;IAED,IAAI,KAAK,GACR,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAEtE,IAAI,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAA,KAAK,QAAQ,EAAE;MACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;MACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;MAExB,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,GAAG;OACT,CAAC,CAAC,CAAC;KACJ;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,KAAI,CAAC,IAAI,CAAC,WAAW,EAAE;MAC5C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE;UAClB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC7C;QAED,OAAO,CACN,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;UAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CACvC,CAAC;MACH,CAAC,CAAC,CAAC;KACH;IAED,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;EAChD,CAAC;EAED,IAAI,aAAa;;IAChB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;MACxB,OAAO,IAAI,CAAC,WAAW,CAAC;KACxB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,MAAK,CAAC,EAAE;QACrC,OAAO,IAAI,CAAC,WAAW,CAAC;OACxB;MAED,OAAO,CACN,WACC,KAAK,EAAE,wBAAwB,IAAI,CAAC,IAAI,EAAE,EAC1C,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;QAE1C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;;UAAC,OAAA,CAC/B,WACC,KAAK,EAAC,MAAM,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAErC,IAAI,CAAC,MAAA,IAAI,CAAC,mBAAmB,mCAAI,IAAI,CAAC,UAAU,CAAC;YAClD,cAAQ,OAAO,EAAC,UAAU,GAAG,CACxB,CACN,CAAA;SAAA,CAAC;QAEF,WAAK,KAAK,EAAC,cAAc;;UAAG,IAAI,CAAC,aAAa,CAAO,CAChD,CACN,CAAC;KACF;IAED,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;EACnD,CAAC;EAED,IAAI,cAAc;;IACjB,OAAO,MAAA,MAAA,IAAI,CAAC,aAAa,mCAAI,IAAI,CAAC,QAAQ,mCAAI,OAAO,CAAC;EACvD,CAAC;EAED,gBAAgB;IACf,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;MAC1C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;KAChE;IAED,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,0BAA0B,EAAE,CAAC;MAElC,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;QAC9C,IAAI,IAAI,CAAC,oBAAoB,EAAE;UAC9B,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;UACxC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SACjC;QAED,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,GAAG,EAAE;UAC3C,IAAI,CAAC,0BAA0B,EAAE,CAAC;UAClC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5B,CAAC,EAAE,GAAG,CAAC,CAAC;MACT,CAAC,CAAC,CAAC;MACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACvC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,YAAY,EAAE,CAAC;MACpB,OAAO;KACP;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;EACpB,CAAC;EAED,kBAAkB;IACjB,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,0BAA0B,EAAE,CAAC;MAClC,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC3B;EACF,CAAC;EAED,oBAAoB;IACnB,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;KAClC;EACF,CAAC;EAED,MAAM;;IACL,OAAO,CACN,EAAC,IAAI,IAAC,KAAK,EAAC,UAAU;MACrB,kBACC,mBAAmB,EAAE,IAAI,EACzB,cAAc,EAAE,IAAI,EACpB,WAAW,EAAE,IAAI,EACjB,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EACpD,IAAI,EAAE,IAAI,CAAC,aAAa,EACxB,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAExC,qBACC,IAAI,EAAC,SAAS,EACd,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,gBAAgB,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,KAAI,IAAI,CAAC,aAAa;UAE1D,WACC,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,oCACN,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,QAChD,SAAS,IAAI,CAAC,IAAI,IACjB,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW;cACtC,CAAC,CAAC,+BAA+B;cACjC,CAAC,CAAC,EACJ,EAAE,EACF,eAAe,QACf,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAChC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EACxC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAC9B,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAEjC,IAAI,CAAC,aAAa,CACd;UAEL,IAAI,CAAC,WAAW,IAAI,CACpB,cACC,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,QAAQ,GACZ,CACF,CACc;QAChB,WAAK,IAAI,EAAC,OAAO;UACf,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE;UACzD,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,CAClC,CACM,CACP,CACP,CAAC;EACH,CAAC;EAGS,oBAAoB,CAAC,EAAE,MAAM,EAAE;IACxC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;MACrD,OAAO;KACP;IAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;EAC5B,CAAC;EAGO,YAAY;IACnB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;EACzC,CAAC;EAGM,WAAW;IACjB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;EACzC,CAAC;EAGM,oBAAoB;IAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;MACvB,KAAK,EAAE,IAAI,CAAC,aAAa;MACzB,KAAK,EAAE,IAAI,CAAC,KAAK;KACjB,CAAC,CAAC;EACJ,CAAC;EAGM,YAAY;IAClB,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;MAC7D,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;KACxB;EACF,CAAC;EAEO,cAAc;;IACrB,IAAI,KAAK,GACR,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK;MAC3C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;MACxB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAEf,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC1B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO;OACP;MAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;MACnB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QAClB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,OAAO;OACP;MAED,IAAI,CAAC,aAAa;QACjB,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO;UAC3C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;UAC7D,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;MACf,OAAO;KACP;IAED,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE;MAC1D,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KACvB;IAED,MAAM,UAAU,GACf,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;MAC1C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;MAC5B,CAAC,CAAC,KAAK,CAAC;IACV,MAAM,WAAW,GAChB,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,UAAU,KAAK,QAAQ;MAC/D,CAAC,CAAC,UAAU;MACZ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa;MACtC,CAAC,CAAC,MAAA,IAAI,CAAC,aAAa,0CAAG,IAAI,CAAC,cAAc,CAAC;MAC3C,CAAC,CAAC,IAAI,CAAC;IACR,MAAM,kBAAkB,GACvB,OAAO,YAAY,KAAK,QAAQ,IAAI,OAAO,YAAY,KAAK,QAAQ;MACnE,CAAC,CAAC,YAAY;MACd,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAEjC,IAAI,IAAI,CAAC,aAAa,IAAI,kBAAkB,KAAK,WAAW,EAAE;MAC7D,OAAO;KACP;IAED,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAA,IAAI,KAAK,EAAE;MAClC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;MAChC,OAAO;KACP;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;MACjC,MAAM,cAAc,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,IAAI,CAAC,cAAc,CAAC,CAAC;MAChD,MAAM,oBAAoB,GACzB,OAAO,cAAc,KAAK,QAAQ,IAAI,OAAO,cAAc,KAAK,QAAQ;QACvE,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;MAEnC,OAAO,oBAAoB,KAAK,WAAW,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;EACjD,CAAC;EAEO,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAC1C,IAAI,KAAK,GACR,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,KAAK,IAAI;MAC5D,CAAC,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,IAAI,CAAC,QAAQ,CAAC;MACvB,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;QAC9D,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;OACxB;MAED,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC9C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;OAChB;MAED,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;MAC7C,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;MAEnC,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAC3C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CACzD,CAAC;MACF,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;QACzB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;OACvB;WAAM;QACN,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACtC,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;OACpC;MAED,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;MAClC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;MACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;MAClC,OAAO;KACP;IAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE7B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;EACzB,CAAC;EAEO,QAAQ,CAAC,EAAE;IAClB,EAAE,CAAC,cAAc,EAAE,CAAC;IACpB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAEtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;MACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;KAC1B;IAED,OAAO;EACR,CAAC;EAEO,YAAY,CAAC,EAAE;IACtB,IAAI,IAAI,CAAC,kBAAkB,EAAE;MAC5B,OAAO;KACP;IAED,EAAE,CAAC,cAAc,EAAE,CAAC;EACrB,CAAC;EAEO,QAAQ;IACf,IAAI,IAAI,CAAC,kBAAkB,EAAE;MAC5B,OAAO;KACP;IAED,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;EAC1C,CAAC;EAEO,OAAO,CAAC,KAAK,GAAG,KAAK;IAC5B,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,KAAK,EAAE;MACtC,OAAO;KACP;IAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;EAC5B,CAAC;EAEO,eAAe,CAAC,EAAE;IACzB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;MAC7B,OAAO;KACP;IAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAE1B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;EACxC,CAAC;EAEO,WAAW,CAAC,GAAG,EAAE,IAAI;;IAC5B,OAAO,CACN,CAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,GAAG,CAAC,0CACR,QAAQ,EAAE,0CACV,WAAW,GACZ,OAAO,CAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW,EAAE,CAAC,KAAI,CAAC,CACzC,CAAC;EACH,CAAC;EAEO,SAAS;;IAChB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;;MAAC,OAAA,CACnC,4BACC,YAAY,EAAE,KAAK,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EACtC,MAAM,EACL,IAAI,CAAC,KAAK;UACV,CAAC,CAAC,IAAI,CAAC,aAAa;UACpB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;UAChC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CACxD,IAAI,CAAC;UACR,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;aACzB,MAAA,IAAI,CAAC,aAAa,0CAAG,IAAI,CAAC,cAAc,CAAC,CAAA,EAE7C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAC5C,KAAK,EAAC,eAAe,IAEpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CACD,CACvB,CAAA;KAAA,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;MACxB,KAAK,GAAG;QACP,SAAG,KAAK,EAAC,kDAAkD,IACzD,IAAI,CAAC,cAAc,CACjB;OACJ,CAAC;KACF;IAED,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;MAC/C,KAAK,CAAC,OAAO,CACZ,4BACC,YAAY,EAAE,KAAK,EACnB,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EACtC,MAAM,EAAE,IAAI,CAAC,YAAY,IAExB,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,EAAC,CAAC,CAAC,CAC7B,YAAM,KAAK,EAAC,yBAAyB;QACpC,WAAK,KAAK,EAAC,iCAAiC;UAC3C,cAAQ,OAAO,EAAE,IAAI,CAAC,aAAa,GAAI,CAClC;QAAC,GAAG;QACT,IAAI,CAAC,aAAa,CACb,CACP,CAAC,CAAC,CAAC,CACH,IAAI,CAAC,aAAa,CAClB,CACqB,CACvB,CAAC;KACF;IAED,IAAI,IAAI,CAAC,kBAAkB,EAAE;MAC5B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;KAC3C;IAED,OAAO,KAAK,CAAC;EACd,CAAC;EAEO,WAAW;IAClB,OAAO,CACN,4BACC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAC9B,YAAY,EAAE,KAAK;MAEnB,YAAM,KAAK,EAAC,mDAAmD;QAC7D,IAAI,CAAC,WAAW;QACjB,cAAQ,OAAO,EAAC,MAAM,GAAG,CACnB,CACe,CACvB,CAAC;EACH,CAAC;EAEO,gBAAgB;IACvB,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CACjC,4BAAsB,WAAW,EAAE,KAAK;MACvC,gBACC,OAAO,EAAC,OAAO,EACf,KAAK,EAAC,oBAAoB,GACzB,CACoB,CACvB,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,kBAAkB,EAAE;MAC5B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;KAC3C;IAED,OAAO,KAAK,CAAC;EACd,CAAC;EAEO,oBAAoB;IAC3B,OAAO,CACN,WAAK,KAAK,EAAC,kCAAkC;MAC5C,aACC,KAAK,EAAC,sCAAsC,EAC5C,WAAW,EAAE,IAAI,CAAC,uBAAuB,EACzC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EACvC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC,EAC7C,KAAK,EAAE,IAAI,CAAC,KAAK,GAChB,CACG,CACN,CAAC;EACH,CAAC;EAEO,0BAA0B;IACjC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;MAChD,OAAO;KACP;IAED,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,GAAG,GACxC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,EAC9B,IAAI,CAAC;EACN,CAAC;EAEO,mBAAmB;IAC1B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;MAC7B,OAAO;KACP;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;IACtE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACvB,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAChC,CAAC;IAEnB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;MAC1B,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;MAEjC,MAAM,SAAS,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;MAChD,IAAI,SAAS,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE;QAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,YAAY,EAAE,CAAC;OACf;KACD;IAED,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK,EAAE;MACX,OAAO;KACP;IAED,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;MACxC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KAC9B;IAED,IAAI,YAAY,GAAG,CAAC,EAAE;MACrB,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KACjC;EACF,CAAC;EAEO,eAAe,CAAC,EAAE;IACzB,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;MAC7C,OAAO;KACP;IAED,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;EACnC,CAAC;EAEO,gBAAgB;IACvB,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;IACvC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EAC9C,CAAC;EAEO,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,KAAK;;IAC5C,IAAI,OAAO,GAAG,CACb,WAAK,KAAK,EAAC,gBAAgB,IAEzB,IAAI,CACH,WAAW;MACV,CAAC,CAAC,MAAA,IAAI,CAAC,mBAAmB,mCAAI,IAAI,CAAC,UAAU;MAC7C,CAAC,CAAC,IAAI,CAAC,UAAU,CAClB,CAEG,CACN,CAAC;IAEF,IAAI,IAAI,CAAC,SAAS,EAAE;MACnB,OAAO,GAAG,CACT,YAAM,KAAK,EAAC,yBAAyB;QACpC,gBACC,IAAI,EAAC,IAAI,EACT,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EACzB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GACzB;QACZ,WAAK,KAAK,EAAC,gBAAgB,IACzB,IAAI,CAAC,MAAA,IAAI,CAAC,kBAAkB,mCAAI,IAAI,CAAC,UAAU,CAAC,CAC5C,CACA,CACP,CAAC;KACF;IAED,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE;MAClE,OAAO,GAAG,CACT,YAAM,KAAK,EAAC,yBAAyB;QACpC,cAAQ,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAgB,GAAI;QACtD,WAAK,KAAK,EAAC,gBAAgB,IACzB,IAAI,CAAC,MAAA,IAAI,CAAC,kBAAkB,mCAAI,IAAI,CAAC,UAAU,CAAC,CAC5C,CACA,CACP,CAAC;KACF;IAED,OAAO,CACN,WACC,KAAK,EACJ,CAAC,WAAW,IAAI,IAAI,CAAC,wBAAwB;QAC5C,CAAC,CAAC,cAAc,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE;QAC7B,CAAC,CAAC,YAAY,IAGf,OAAO,CACH,CACN,CAAC;EACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { childOf } from '../../../utils';\nimport { IconVariant } from '../../atoms/icon/icon.component';\n\n@Component({\n\ttag: 'p-select',\n\tstyleUrl: 'select.component.scss',\n\tshadow: false,\n})\nexport class Select {\n\t/**\n\t * The items to show in the dropdown\n\t */\n\t@Prop() items: string | any[];\n\n\t/**\n\t * Wether to enable multi select\n\t */\n\t@Prop({ reflect: true }) multi: boolean;\n\n\t/**\n\t * Icon of the select box\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * The current query\n\t */\n\t@Prop() query: string;\n\n\t/**\n\t * The placeholder of the input\n\t */\n\t@Prop() placeholder: string;\n\n\t/**\n\t * The placeholder of the input used for auto complete\n\t */\n\t@Prop() autocompletePlaceholder: string = 'Search...';\n\n\t/**\n\t * The current value\n\t */\n\t@Prop() value: any;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() displayKey: string = 'text';\n\n\t/**\n\t * The key of the object to display in the dropdown (overwrites displayKey)\n\t */\n\t@Prop() dropdownDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to display in the input (overwrites displayKey)\n\t */\n\t@Prop() selectionDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to return\n\t */\n\t@Prop() valueKey: string;\n\n\t/**\n\t * The key of avatar within an item to show\n\t */\n\t@Prop() avatarKey: string;\n\n\t/**\n\t * The key of icon variant within an item to show\n\t */\n\t@Prop() iconKey: string;\n\n\t/**\n\t * Wether to show the icon also on the selected Item\n\t */\n\t@Prop() showIconInSelectedItem: string;\n\n\t/**\n\t * The key of a class in an item to apply\n\t */\n\t@Prop() classKey: string = 'class';\n\n\t/**\n\t * Wether to apply the item's class also on the selected item\n\t */\n\t@Prop() applyClassOnSelectedItem: string;\n\n\t/**\n\t * The key of avatar letters within an item to show when the avatar url doesn't work\n\t */\n\t@Prop() avatarLettersKey: string;\n\n\t/**\n\t * The key to identify an object\n\t */\n\t@Prop() identifierKey: string;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() queryKey?: string;\n\n\t/**\n\t * Wether to automatically select the first item\n\t */\n\t@Prop() autoSelectFirst: boolean = true;\n\n\t/**\n\t * Wether to show the chevron or not\n\t */\n\t@Prop() showChevron: boolean = true;\n\n\t/**\n\t * The maximum amount of items to display\n\t */\n\t@Prop() maxDisplayedItems: number = 10;\n\n\t/**\n\t * Wether to enable autocomplete\n\t */\n\t@Prop() enableAutocomplete: boolean = true;\n\n\t/**\n\t * Wether the input uses async filtering\n\t */\n\t@Prop() asyncFilter: boolean = false;\n\n\t/**\n\t * Wether to show loading items\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether to show the select all item with multi select\n\t */\n\t@Prop() enableSelectAll: boolean = false;\n\n\t/**\n\t * The text of the select all item\n\t */\n\t@Prop() selectAllText: string = 'Select all';\n\n\t/**\n\t * The icon to prefix for select all\n\t */\n\t@Prop() selectAllIcon: IconVariant | undefined;\n\n\t/**\n\t * Event when the query of the autocomplete changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the value changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tvalueChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the select all item has been selected or not\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectAllChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the dropdown shows\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdropdownShown: EventEmitter<any>;\n\n\t/**\n\t * The size of the input group used by the select\n\t */\n\t@Prop() size: 'small' | 'medium' = 'medium';\n\n\t/**\n\t * The prefix of the input group used by the select\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The label of the input group used by the select\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * Wether the input group is disabled used by the select\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether to show a \"add\" item\n\t */\n\t@Prop() showAddItem: boolean = false;\n\n\t/**\n\t * The text to show when add item is being shown\n\t */\n\t@Prop() addItemText: string = 'Add item';\n\n\t/**\n\t * Event when the add item is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tadd: EventEmitter;\n\n\t/**\n\t * The text to show when items is empty\n\t */\n\t@Prop() emptyStateText: string = 'No items available';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _showDropdown: any = false;\n\t@State() private _selectedItem: any = null;\n\n\t@State() private _allSelected: boolean = false;\n\n\t@State() private _amountHidden = 0;\n\n\tprivate _inputRef: HTMLDivElement;\n\tprivate autocompleteInputRef: HTMLInputElement;\n\tprivate _multiContainerRef: HTMLElement;\n\n\tprivate _resizeObserver: ResizeObserver;\n\tprivate _resizeDebounceTimer: NodeJS.Timer;\n\n\tget _items() {\n\t\tif (!this.items || this.loading) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet items =\n\t\t\ttypeof this.items === 'string' ? JSON.parse(this.items) : this.items;\n\n\t\tif (typeof items?.[0] === 'string') {\n\t\t\tthis.displayKey = 'text';\n\t\t\tthis.valueKey = 'value';\n\n\t\t\titems = items.map(str => ({\n\t\t\t\tvalue: str,\n\t\t\t\ttext: str,\n\t\t\t}));\n\t\t}\n\n\t\tif (this.query?.length && !this.asyncFilter) {\n\t\t\titems = items.filter(item => {\n\t\t\t\tif (this.queryKey) {\n\t\t\t\t\treturn this._checkvalue(this.queryKey, item);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tthis._checkvalue(this._identifierKey, item) ||\n\t\t\t\t\tthis._checkvalue(this.displayKey, item)\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\treturn items?.slice(0, this.maxDisplayedItems);\n\t}\n\n\tget _displayValue() {\n\t\tif (!this._selectedItem) {\n\t\t\treturn this.placeholder;\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tif (this._selectedItem?.length === 0) {\n\t\t\t\treturn this.placeholder;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={`multi-container size-${this.size}`}\n\t\t\t\t\tref={ref => (this._multiContainerRef = ref)}\n\t\t\t\t>\n\t\t\t\t\t{this._selectedItem.map(item => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass='item'\n\t\t\t\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{item[this.selectionDisplayKey ?? this.displayKey]}\n\t\t\t\t\t\t\t<p-icon variant='negative' />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\n\t\t\t\t\t<div class='extra hidden'>+{this._amountHidden}</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn this._getDisplay(this._selectedItem, true);\n\t}\n\n\tget _identifierKey() {\n\t\treturn this.identifierKey ?? this.valueKey ?? 'value';\n\t}\n\n\tcomponentDidLoad() {\n\t\tif (!this.valueKey && !this.identifierKey) {\n\t\t\tthrow new Error('You must provide a valueKey or identifierKey');\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\n\t\t\tthis._resizeObserver = new ResizeObserver(() => {\n\t\t\t\tif (this._resizeDebounceTimer) {\n\t\t\t\t\tclearTimeout(this._resizeDebounceTimer);\n\t\t\t\t\tthis._resizeDebounceTimer = null;\n\t\t\t\t}\n\n\t\t\t\tthis._resizeDebounceTimer = setTimeout(() => {\n\t\t\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\t\t\tthis._checkSelectedItems();\n\t\t\t\t}, 200);\n\t\t\t});\n\t\t\tthis._resizeObserver.observe(this._el);\n\t\t}\n\n\t\tif (this.value) {\n\t\t\tthis._valueChange();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.itemChanges();\n\t}\n\n\tcomponentDidRender() {\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\tthis._checkSelectedItems();\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this.multi) {\n\t\t\tthis._resizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class='p-select'>\n\t\t\t\t<p-dropdown\n\t\t\t\t\tdisableTriggerClick={true}\n\t\t\t\t\tcalculateWidth={true}\n\t\t\t\t\tinsideClick={true}\n\t\t\t\t\tscrollable={this.enableAutocomplete ? 'large' : true}\n\t\t\t\t\tshow={this._showDropdown}\n\t\t\t\t\tonIsOpen={ev => this._onDropdownOpen(ev)}\n\t\t\t\t>\n\t\t\t\t\t<p-input-group\n\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\ticon={this.icon}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\tprefix={this.prefix}\n\t\t\t\t\t\tlabel={this.label}\n\t\t\t\t\t\thelper={this.helper}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\terror={this.error}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tfocused={this._showDropdown}\n\t\t\t\t\t\tforceShowTooltip={this.error?.length && this._showDropdown}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tslot='input'\n\t\t\t\t\t\t\tclass={`p-input read-only cursor-pointer ${\n\t\t\t\t\t\t\t\tthis.showChevron ? 'max-w-[calc(100%-3rem)]' : 'w-full'\n\t\t\t\t\t\t\t} size-${this.size} ${\n\t\t\t\t\t\t\t\tthis._displayValue === this.placeholder\n\t\t\t\t\t\t\t\t\t? 'font-medium text-storm-medium'\n\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\tcontenteditable\n\t\t\t\t\t\t\tonFocus={ev => this._onFocus(ev)}\n\t\t\t\t\t\t\tonMouseDown={ev => this._onMouseDown(ev)}\n\t\t\t\t\t\t\tonClick={() => this._onClick()}\n\t\t\t\t\t\t\tref={ref => (this._inputRef = ref)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._displayValue}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{this.showChevron && (\n\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\tvariant='caret'\n\t\t\t\t\t\t\t\tslot='suffix'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</p-input-group>\n\t\t\t\t\t<div slot='items'>\n\t\t\t\t\t\t{this.loading ? this._getLoadingItems() : this._getItems()}\n\t\t\t\t\t\t{this.showAddItem && this._getAddItem()}\n\t\t\t\t\t</div>\n\t\t\t\t</p-dropdown>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler({ target }) {\n\t\tif (!this._showDropdown || childOf(target, this._el)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\t@Watch('value')\n\tprivate _valueChange() {\n\t\tsetTimeout(() => this._preselectItem());\n\t}\n\n\t@Watch('items')\n\tpublic itemChanges() {\n\t\tsetTimeout(() => this._preselectItem());\n\t}\n\n\t@Watch('_showDropdown')\n\tpublic _showDropdownChanges() {\n\t\tthis.dropdownShown.emit({\n\t\t\tvalue: this._showDropdown,\n\t\t\tquery: this.query,\n\t\t});\n\t}\n\n\t@Watch('multi')\n\tpublic multiChanges() {\n\t\tif (this._selectedItem && !Array.isArray(this._selectedItem)) {\n\t\t\tthis._selectedItem = [];\n\t\t}\n\t}\n\n\tprivate _preselectItem() {\n\t\tlet value =\n\t\t\ttypeof this.value === 'string' && this.multi\n\t\t\t\t? JSON.parse(this.value)\n\t\t\t\t: this.value;\n\n\t\tif (this.multi) {\n\t\t\tif (!Array.isArray(value)) {\n\t\t\t\tthis.value = [];\n\t\t\t\tthis.valueChange.emit(this.value);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.value = value;\n\t\t\tif (!value.length) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._selectedItem =\n\t\t\t\t!!this.valueKey && this.valueKey !== 'false'\n\t\t\t\t\t? this._items.filter(i => value.includes(i?.[this.valueKey]))\n\t\t\t\t\t: [...value];\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._selectedItem && !value && this.autoSelectFirst) {\n\t\t\tvalue = this._items[0];\n\t\t}\n\n\t\tconst identifier =\n\t\t\ttypeof value === 'object' && value !== null\n\t\t\t\t? value[this._identifierKey]\n\t\t\t\t: value;\n\t\tconst parsedValue =\n\t\t\ttypeof identifier === 'string' || typeof identifier === 'number'\n\t\t\t\t? identifier\n\t\t\t\t: JSON.stringify(identifier);\n\n\t\tconst currentValue = this._selectedItem\n\t\t\t? this._selectedItem?.[this._identifierKey]\n\t\t\t: null;\n\t\tconst currentParsedValue =\n\t\t\ttypeof currentValue === 'string' || typeof currentValue === 'number'\n\t\t\t\t? currentValue\n\t\t\t\t: JSON.stringify(currentValue);\n\n\t\tif (this._selectedItem && currentParsedValue === parsedValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._items?.length && value) {\n\t\t\tthis._selectValue(value, false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = this._items.find(i => {\n\t\t\tconst itemIdentifier = i?.[this._identifierKey];\n\t\t\tconst parsedItemIdentifier =\n\t\t\t\ttypeof itemIdentifier === 'string' || typeof itemIdentifier === 'number'\n\t\t\t\t\t? itemIdentifier\n\t\t\t\t\t: JSON.stringify(itemIdentifier);\n\n\t\t\treturn parsedItemIdentifier === parsedValue;\n\t\t});\n\n\t\tthis._selectValue(!!item ? item : value, false);\n\t}\n\n\tprivate _selectValue(item, forceBlur = true) {\n\t\tlet value =\n\t\t\t!!this.valueKey && this.valueKey !== 'false' && item !== null\n\t\t\t\t? item?.[this.valueKey]\n\t\t\t\t: item;\n\n\t\tif (this.multi) {\n\t\t\tif (!this._selectedItem || !Array.isArray(this._selectedItem)) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t}\n\n\t\t\tif (!this.value || !Array.isArray(this.value)) {\n\t\t\t\tthis.value = [];\n\t\t\t}\n\n\t\t\tconst selectedItem = [...this._selectedItem];\n\t\t\tconst valueArray = [...this.value];\n\n\t\t\tconst includesIndex = selectedItem.findIndex(\n\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t);\n\t\t\tif (includesIndex === -1) {\n\t\t\t\tselectedItem.push(item);\n\t\t\t\tvalueArray.push(value);\n\t\t\t} else {\n\t\t\t\tselectedItem.splice(includesIndex, 1);\n\t\t\t\tvalueArray.splice(includesIndex, 1);\n\t\t\t}\n\n\t\t\tthis._selectedItem = selectedItem;\n\t\t\tthis.value = valueArray;\n\t\t\tthis.valueChange.emit(valueArray);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectedItem = item;\n\t\tthis.value = value;\n\t\tthis.valueChange.emit(value);\n\n\t\tthis._onBlur(forceBlur);\n\t}\n\n\tprivate _onFocus(ev) {\n\t\tev.preventDefault();\n\t\tthis._inputRef.blur();\n\n\t\tif (!this._showDropdown) {\n\t\t\tthis._showDropdown = true;\n\t\t}\n\n\t\treturn;\n\t}\n\n\tprivate _onMouseDown(ev) {\n\t\tif (this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tev.preventDefault();\n\t}\n\n\tprivate _onClick() {\n\t\tif (this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = !this._showDropdown;\n\t}\n\n\tprivate _onBlur(force = false) {\n\t\tif (this.enableAutocomplete && !force) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\tprivate _onAutoComplete(ev) {\n\t\tif (!this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = true;\n\n\t\tthis.query = ev.target.value;\n\t\tthis.queryChange.emit(ev.target.value);\n\t}\n\n\tprivate _checkvalue(key, item) {\n\t\treturn (\n\t\t\titem?.[key]\n\t\t\t\t?.toString()\n\t\t\t\t?.toLowerCase()\n\t\t\t\t.indexOf(this.query?.toLowerCase()) >= 0\n\t\t);\n\t}\n\n\tprivate _getItems() {\n\t\tlet items = this._items.map(item => (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tuseContainer={false}\n\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\tactive={\n\t\t\t\t\tthis.multi &&\n\t\t\t\t\t!!this._selectedItem &&\n\t\t\t\t\tArray.isArray(this._selectedItem)\n\t\t\t\t\t\t? this._selectedItem.findIndex(\n\t\t\t\t\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t\t\t\t ) >= 0\n\t\t\t\t\t\t: item[this._identifierKey] ===\n\t\t\t\t\t\t this._selectedItem?.[this._identifierKey]\n\t\t\t\t}\n\t\t\t\tvariant={this.multi ? 'checkbox' : 'default'}\n\t\t\t\tclass='justify-start'\n\t\t\t>\n\t\t\t\t{this._getDisplay(item)}\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (!this._items.length) {\n\t\t\titems = [\n\t\t\t\t<p class='w-full p-2 text-center text-sm text-storm-medium'>\n\t\t\t\t\t{this.emptyStateText}\n\t\t\t\t</p>,\n\t\t\t];\n\t\t}\n\n\t\tif (this.enableSelectAll && this._items.length) {\n\t\t\titems.unshift(\n\t\t\t\t<p-dropdown-menu-item\n\t\t\t\t\tuseContainer={false}\n\t\t\t\t\tvariant='checkbox'\n\t\t\t\t\tonClick={() => this._selectAllChange()}\n\t\t\t\t\tactive={this._allSelected}\n\t\t\t\t>\n\t\t\t\t\t{this.selectAllIcon?.length ? (\n\t\t\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t\t\t<div class='flex w-6 justify-center text-lg'>\n\t\t\t\t\t\t\t\t<p-icon variant={this.selectAllIcon} />\n\t\t\t\t\t\t\t</div>{' '}\n\t\t\t\t\t\t\t{this.selectAllText}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.selectAllText\n\t\t\t\t\t)}\n\t\t\t\t</p-dropdown-menu-item>\n\t\t\t);\n\t\t}\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAddItem() {\n\t\treturn (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tonClick={() => this.add.emit()}\n\t\t\t\tuseContainer={false}\n\t\t\t>\n\t\t\t\t<span class='flex items-center gap-1 font-semibold text-indigo'>\n\t\t\t\t\t{this.addItemText}\n\t\t\t\t\t<p-icon variant='plus' />\n\t\t\t\t</span>\n\t\t\t</p-dropdown-menu-item>\n\t\t);\n\t}\n\n\tprivate _getLoadingItems() {\n\t\tconst items = [0, 0, 0].map(() => (\n\t\t\t<p-dropdown-menu-item enableHover={false}>\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-full rounded'\n\t\t\t\t/>\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAutoCompleteItem() {\n\t\treturn (\n\t\t\t<div class='sticky top-0 -mt-2 bg-white pt-2'>\n\t\t\t\t<input\n\t\t\t\t\tclass='p-input size-small sticky top-2 mb-2'\n\t\t\t\t\tplaceholder={this.autocompletePlaceholder}\n\t\t\t\t\tonInput={ev => this._onAutoComplete(ev)}\n\t\t\t\t\tref={ref => (this.autocompleteInputRef = ref)}\n\t\t\t\t\tvalue={this.query}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _setMultiContainerMaxWidth() {\n\t\tif (!this._inputRef || !this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._multiContainerRef.style.maxWidth = `${\n\t\t\tthis._inputRef.clientWidth - 16\n\t\t}px`;\n\t}\n\n\tprivate _checkSelectedItems() {\n\t\tif (!this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst containerRect = this._multiContainerRef.getBoundingClientRect();\n\t\tconst items = Array.from(\n\t\t\tthis._multiContainerRef.querySelectorAll('.item')\n\t\t) as HTMLElement[];\n\n\t\tlet amountHidden = 0;\n\n\t\tfor (const child of items) {\n\t\t\tchild.classList.remove('hidden');\n\n\t\t\tconst childRect = child.getBoundingClientRect();\n\t\t\tif (childRect.right > containerRect.right) {\n\t\t\t\tchild.classList.add('hidden');\n\t\t\t\tamountHidden++;\n\t\t\t}\n\t\t}\n\n\t\tthis._amountHidden = amountHidden;\n\t\tconst extra = this._multiContainerRef.querySelector('.extra');\n\t\tif (!extra) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!extra.classList.contains('hidden')) {\n\t\t\textra.classList.add('hidden');\n\t\t}\n\n\t\tif (amountHidden > 0) {\n\t\t\textra.classList.remove('hidden');\n\t\t}\n\t}\n\n\tprivate _onDropdownOpen(ev) {\n\t\tif (!ev.detail || !this.autocompleteInputRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.autocompleteInputRef.focus();\n\t}\n\n\tprivate _selectAllChange() {\n\t\tthis._allSelected = !this._allSelected;\n\t\tthis.selectAllChange.emit(this._allSelected);\n\t}\n\n\tprivate _getDisplay(item, isSelection = false) {\n\t\tlet content = (\n\t\t\t<div class='text-container'>\n\t\t\t\t{\n\t\t\t\t\titem[\n\t\t\t\t\t\tisSelection\n\t\t\t\t\t\t\t? this.selectionDisplayKey ?? this.displayKey\n\t\t\t\t\t\t\t: this.displayKey\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t</div>\n\t\t);\n\n\t\tif (this.avatarKey) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-avatar\n\t\t\t\t\t\tsize='xs'\n\t\t\t\t\t\tsrc={item[this.avatarKey]}\n\t\t\t\t\t\tletters={item[this.avatarLettersKey]}\n\t\t\t\t\t></p-avatar>\n\t\t\t\t\t<div class='text-container'>\n\t\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (this.iconKey && (!isSelection || this.showIconInSelectedItem)) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-icon variant={item[this.iconKey] as IconVariant} />\n\t\t\t\t\t<div class='text-container'>\n\t\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={\n\t\t\t\t\t!isSelection || this.applyClassOnSelectedItem\n\t\t\t\t\t\t? `max-w-full ${item?.class}`\n\t\t\t\t\t\t: 'max-w-full'\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</div>\n\t\t);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"select.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/select/select.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,GACL,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAOzC,MAAM,OAAO,MAAM;;;;;;;mCA6BwB,WAAW;;sBAUxB,MAAM;;;;;;;oBAmCR,OAAO;;;;;2BAyBC,IAAI;uBAKR,IAAI;6BAKC,EAAE;8BAKA,IAAI;uBAKX,KAAK;mBAKT,KAAK;2BAKG,KAAK;yBAKR,YAAY;;gBA0CT,QAAQ;;;;;;oBA8BE,KAAK;uBAKnB,KAAK;uBAKN,UAAU;0BAaP,oBAAoB;yBAOf,KAAK;yBACL,IAAI;wBAED,KAAK;yBAEb,CAAC;;EASlC,IAAI,MAAM;;IACT,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;MAChC,OAAO,EAAE,CAAC;KACV;IAED,IAAI,KAAK,GACR,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAEtE,IAAI,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAA,KAAK,QAAQ,EAAE;MACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;MACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;MAExB,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,GAAG;OACT,CAAC,CAAC,CAAC;KACJ;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,KAAI,CAAC,IAAI,CAAC,WAAW,EAAE;MAC5C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE;UAClB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC7C;QAED,OAAO,CACN,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;UAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CACvC,CAAC;MACH,CAAC,CAAC,CAAC;KACH;IAED,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;EAChD,CAAC;EAED,IAAI,aAAa;;IAChB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;MACxB,OAAO,IAAI,CAAC,WAAW,CAAC;KACxB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,MAAK,CAAC,EAAE;QACrC,OAAO,IAAI,CAAC,WAAW,CAAC;OACxB;MAED,OAAO,CACN,WACC,KAAK,EAAE,wBAAwB,IAAI,CAAC,IAAI,EAAE,EAC1C,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;QAE1C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;;UAAC,OAAA,CAC/B,WACC,KAAK,EAAC,MAAM,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAErC,IAAI,CAAC,MAAA,IAAI,CAAC,mBAAmB,mCAAI,IAAI,CAAC,UAAU,CAAC;YAClD,cAAQ,OAAO,EAAC,UAAU,GAAG,CACxB,CACN,CAAA;SAAA,CAAC;QAEF,WAAK,KAAK,EAAC,cAAc;;UAAG,IAAI,CAAC,aAAa,CAAO,CAChD,CACN,CAAC;KACF;IAED,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;EACnD,CAAC;EAED,IAAI,cAAc;;IACjB,OAAO,MAAA,MAAA,IAAI,CAAC,aAAa,mCAAI,IAAI,CAAC,QAAQ,mCAAI,OAAO,CAAC;EACvD,CAAC;EAED,gBAAgB;IACf,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;MAC1C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;KAChE;IAED,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,0BAA0B,EAAE,CAAC;MAElC,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;QAC9C,IAAI,IAAI,CAAC,oBAAoB,EAAE;UAC9B,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;UACxC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SACjC;QAED,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,GAAG,EAAE;UAC3C,IAAI,CAAC,0BAA0B,EAAE,CAAC;UAClC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5B,CAAC,EAAE,GAAG,CAAC,CAAC;MACT,CAAC,CAAC,CAAC;MACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACvC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,YAAY,EAAE,CAAC;MACpB,OAAO;KACP;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;EACpB,CAAC;EAED,kBAAkB;IACjB,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,0BAA0B,EAAE,CAAC;MAClC,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC3B;EACF,CAAC;EAED,oBAAoB;IACnB,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;KAClC;EACF,CAAC;EAED,MAAM;;IACL,OAAO,CACN,EAAC,IAAI,IAAC,KAAK,EAAC,UAAU;MACrB,kBACC,mBAAmB,EAAE,IAAI,EACzB,cAAc,EAAE,IAAI,EACpB,WAAW,EAAE,IAAI,EACjB,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EACpD,IAAI,EAAE,IAAI,CAAC,aAAa,EACxB,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAExC,qBACC,IAAI,EAAC,SAAS,EACd,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,gBAAgB,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,KAAI,IAAI,CAAC,aAAa;UAE1D,WACC,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,oCACN,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,QAChD,SAAS,IAAI,CAAC,IAAI,IACjB,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW;cACtC,CAAC,CAAC,+BAA+B;cACjC,CAAC,CAAC,EACJ,EAAE,EACF,eAAe,QACf,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAChC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EACxC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAC9B,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAEjC,IAAI,CAAC,aAAa,CACd;UAEL,IAAI,CAAC,WAAW,IAAI,CACpB,cACC,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,QAAQ,GACZ,CACF,CACc;QAChB,WAAK,IAAI,EAAC,OAAO;UACf,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE;UACzD,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,CAClC,CACM,CACP,CACP,CAAC;EACH,CAAC;EAGS,oBAAoB,CAAC,EAAE,MAAM,EAAE;IACxC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;MACrD,OAAO;KACP;IAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;EAC5B,CAAC;EAGO,YAAY;IACnB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;EACzC,CAAC;EAGM,WAAW;IACjB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;EACzC,CAAC;EAGM,oBAAoB;IAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;MACvB,KAAK,EAAE,IAAI,CAAC,aAAa;MACzB,KAAK,EAAE,IAAI,CAAC,KAAK;KACjB,CAAC,CAAC;EACJ,CAAC;EAGM,YAAY;IAClB,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;MAC7D,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;KACxB;EACF,CAAC;EAEO,cAAc;;IACrB,IAAI,KAAK,GACR,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK;MAC3C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;MACxB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAEf,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC1B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO;OACP;MAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;MACnB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QAClB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,OAAO;OACP;MAED,IAAI,CAAC,aAAa;QACjB,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO;UAC3C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;UAC7D,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;MACf,OAAO;KACP;IAED,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE;MAC1D,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KACvB;IAED,MAAM,UAAU,GACf,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;MAC1C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;MAC5B,CAAC,CAAC,KAAK,CAAC;IACV,MAAM,WAAW,GAChB,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,UAAU,KAAK,QAAQ;MAC/D,CAAC,CAAC,UAAU;MACZ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa;MACtC,CAAC,CAAC,MAAA,IAAI,CAAC,aAAa,0CAAG,IAAI,CAAC,cAAc,CAAC;MAC3C,CAAC,CAAC,IAAI,CAAC;IACR,MAAM,kBAAkB,GACvB,OAAO,YAAY,KAAK,QAAQ,IAAI,OAAO,YAAY,KAAK,QAAQ;MACnE,CAAC,CAAC,YAAY;MACd,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAEjC,IAAI,IAAI,CAAC,aAAa,IAAI,kBAAkB,KAAK,WAAW,EAAE;MAC7D,OAAO;KACP;IAED,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAA,IAAI,KAAK,EAAE;MAClC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;MAChC,OAAO;KACP;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;MACjC,MAAM,cAAc,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,IAAI,CAAC,cAAc,CAAC,CAAC;MAChD,MAAM,oBAAoB,GACzB,OAAO,cAAc,KAAK,QAAQ,IAAI,OAAO,cAAc,KAAK,QAAQ;QACvE,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;MAEnC,OAAO,oBAAoB,KAAK,WAAW,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;EACjD,CAAC;EAEO,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAC1C,IAAI,KAAK,GACR,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,KAAK,IAAI;MAC5D,CAAC,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,IAAI,CAAC,QAAQ,CAAC;MACvB,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,IAAI,CAAC,KAAK,EAAE;MACf,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;QAC9D,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;OACxB;MAED,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC9C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;OAChB;MAED,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;MAC7C,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;MAEnC,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAC3C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CACzD,CAAC;MACF,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;QACzB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;OACvB;WAAM;QACN,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QACtC,UAAU,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;OACpC;MAED,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;MAClC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;MACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;MAClC,OAAO;KACP;IAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE7B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;EACzB,CAAC;EAEO,QAAQ,CAAC,EAAE;IAClB,EAAE,CAAC,cAAc,EAAE,CAAC;IACpB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAEtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;MACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;KAC1B;IAED,OAAO;EACR,CAAC;EAEO,YAAY,CAAC,EAAE;IACtB,IAAI,IAAI,CAAC,kBAAkB,EAAE;MAC5B,OAAO;KACP;IAED,EAAE,CAAC,cAAc,EAAE,CAAC;EACrB,CAAC;EAEO,QAAQ;IACf,IAAI,IAAI,CAAC,kBAAkB,EAAE;MAC5B,OAAO;KACP;IAED,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;EAC1C,CAAC;EAEO,OAAO,CAAC,KAAK,GAAG,KAAK;IAC5B,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,KAAK,EAAE;MACtC,OAAO;KACP;IAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;EAC5B,CAAC;EAEO,eAAe,CAAC,EAAE;IACzB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;MAC7B,OAAO;KACP;IAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAE1B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;EACxC,CAAC;EAEO,WAAW,CAAC,GAAG,EAAE,IAAI;;IAC5B,OAAO,CACN,CAAA,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,GAAG,CAAC,0CACR,QAAQ,EAAE,0CACV,WAAW,GACZ,OAAO,CAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW,EAAE,CAAC,KAAI,CAAC,CACzC,CAAC;EACH,CAAC;EAEO,SAAS;;IAChB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;;MAAC,OAAA,CACnC,4BACC,YAAY,EAAE,KAAK,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EACtC,MAAM,EACL,IAAI,CAAC,KAAK;UACV,CAAC,CAAC,IAAI,CAAC,aAAa;UACpB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;UAChC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CACxD,IAAI,CAAC;UACR,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;aACzB,MAAA,IAAI,CAAC,aAAa,0CAAG,IAAI,CAAC,cAAc,CAAC,CAAA,EAE7C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAC5C,KAAK,EAAC,eAAe,IAEpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CACD,CACvB,CAAA;KAAA,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;MACxB,KAAK,GAAG;QACP,SAAG,KAAK,EAAC,kDAAkD,IACzD,IAAI,CAAC,cAAc,CACjB;OACJ,CAAC;KACF;IAED,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;MAC/C,KAAK,CAAC,OAAO,CACZ,4BACC,YAAY,EAAE,KAAK,EACnB,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EACtC,MAAM,EAAE,IAAI,CAAC,YAAY,IAExB,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,EAAC,CAAC,CAAC,CAC7B,YAAM,KAAK,EAAC,yBAAyB;QACpC,WAAK,KAAK,EAAC,iCAAiC;UAC3C,cAAQ,OAAO,EAAE,IAAI,CAAC,aAAa,GAAI,CAClC;QAAC,GAAG;QACT,IAAI,CAAC,aAAa,CACb,CACP,CAAC,CAAC,CAAC,CACH,IAAI,CAAC,aAAa,CAClB,CACqB,CACvB,CAAC;KACF;IAED,IAAI,IAAI,CAAC,kBAAkB,EAAE;MAC5B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;KAC3C;IAED,OAAO,KAAK,CAAC;EACd,CAAC;EAEO,WAAW;IAClB,OAAO,CACN,4BACC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAC9B,YAAY,EAAE,KAAK;MAEnB,YAAM,KAAK,EAAC,mDAAmD;QAC7D,IAAI,CAAC,WAAW;QACjB,cAAQ,OAAO,EAAC,MAAM,GAAG,CACnB,CACe,CACvB,CAAC;EACH,CAAC;EAEO,gBAAgB;IACvB,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CACjC,4BAAsB,WAAW,EAAE,KAAK;MACvC,gBACC,OAAO,EAAC,OAAO,EACf,KAAK,EAAC,oBAAoB,GACzB,CACoB,CACvB,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,kBAAkB,EAAE;MAC5B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;KAC3C;IAED,OAAO,KAAK,CAAC;EACd,CAAC;EAEO,oBAAoB;IAC3B,OAAO,CACN,WAAK,KAAK,EAAC,kCAAkC;MAC5C,aACC,KAAK,EAAC,sCAAsC,EAC5C,WAAW,EAAE,IAAI,CAAC,uBAAuB,EACzC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EACvC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC,EAC7C,KAAK,EAAE,IAAI,CAAC,KAAK,GAChB,CACG,CACN,CAAC;EACH,CAAC;EAEO,0BAA0B;IACjC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;MAChD,OAAO;KACP;IAED,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,GAAG,GACxC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,EAC9B,IAAI,CAAC;EACN,CAAC;EAEO,mBAAmB;IAC1B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;MAC7B,OAAO;KACP;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;IACtE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACvB,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAChC,CAAC;IAEnB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;MAC1B,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;MAEjC,MAAM,SAAS,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;MAChD,IAAI,SAAS,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE;QAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,YAAY,EAAE,CAAC;OACf;KACD;IAED,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,CAAC,KAAK,EAAE;MACX,OAAO;KACP;IAED,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;MACxC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KAC9B;IAED,IAAI,YAAY,GAAG,CAAC,EAAE;MACrB,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KACjC;EACF,CAAC;EAEO,eAAe,CAAC,EAAE;IACzB,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;MAC7C,OAAO;KACP;IAED,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;EACnC,CAAC;EAEO,gBAAgB;IACvB,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;IACvC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EAC9C,CAAC;EAEO,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,KAAK;;IAC5C,IAAI,OAAO,GAAG,CACb,WAAK,KAAK,EAAC,gBAAgB,IAEzB,IAAI,CACH,WAAW;MACV,CAAC,CAAC,MAAA,IAAI,CAAC,mBAAmB,mCAAI,IAAI,CAAC,UAAU;MAC7C,CAAC,CAAC,IAAI,CAAC,UAAU,CAClB,CAEG,CACN,CAAC;IAEF,IAAI,IAAI,CAAC,SAAS,EAAE;MACnB,OAAO,GAAG,CACT,YAAM,KAAK,EAAC,yBAAyB;QACpC,gBACC,IAAI,EAAC,IAAI,EACT,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EACzB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GACzB;QACZ,WAAK,KAAK,EAAC,gBAAgB,IACzB,IAAI,CAAC,MAAA,IAAI,CAAC,kBAAkB,mCAAI,IAAI,CAAC,UAAU,CAAC,CAC5C,CACA,CACP,CAAC;KACF;IAED,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE;MAClE,OAAO,GAAG,CACT,YAAM,KAAK,EAAC,yBAAyB;QACpC,cAAQ,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAgB,GAAI;QACtD,WAAK,KAAK,EAAC,gBAAgB,IACzB,IAAI,CAAC,MAAA,IAAI,CAAC,kBAAkB,mCAAI,IAAI,CAAC,UAAU,CAAC,CAC5C,CACA,CACP,CAAC;KACF;IAED,OAAO,CACN,WACC,KAAK,EACJ,CAAC,WAAW,IAAI,IAAI,CAAC,wBAAwB;QAC5C,CAAC,CAAC,cAAc,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE;QAC7B,CAAC,CAAC,YAAY,IAGf,OAAO,CACH,CACN,CAAC;EACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { childOf } from '../../../utils';\nimport { IconVariant } from '../../atoms/icon/icon.component';\n\n@Component({\n\ttag: 'p-select',\n\tstyleUrl: 'select.component.scss',\n})\nexport class Select {\n\t/**\n\t * The items to show in the dropdown\n\t */\n\t@Prop() items: string | any[];\n\n\t/**\n\t * Wether to enable multi select\n\t */\n\t@Prop({ reflect: true }) multi: boolean;\n\n\t/**\n\t * Icon of the select box\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * The current query\n\t */\n\t@Prop() query: string;\n\n\t/**\n\t * The placeholder of the input\n\t */\n\t@Prop() placeholder: string;\n\n\t/**\n\t * The placeholder of the input used for auto complete\n\t */\n\t@Prop() autocompletePlaceholder: string = 'Search...';\n\n\t/**\n\t * The current value\n\t */\n\t@Prop() value: any;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() displayKey: string = 'text';\n\n\t/**\n\t * The key of the object to display in the dropdown (overwrites displayKey)\n\t */\n\t@Prop() dropdownDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to display in the input (overwrites displayKey)\n\t */\n\t@Prop() selectionDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to return\n\t */\n\t@Prop() valueKey: string;\n\n\t/**\n\t * The key of avatar within an item to show\n\t */\n\t@Prop() avatarKey: string;\n\n\t/**\n\t * The key of icon variant within an item to show\n\t */\n\t@Prop() iconKey: string;\n\n\t/**\n\t * Wether to show the icon also on the selected Item\n\t */\n\t@Prop() showIconInSelectedItem: string;\n\n\t/**\n\t * The key of a class in an item to apply\n\t */\n\t@Prop() classKey: string = 'class';\n\n\t/**\n\t * Wether to apply the item's class also on the selected item\n\t */\n\t@Prop() applyClassOnSelectedItem: string;\n\n\t/**\n\t * The key of avatar letters within an item to show when the avatar url doesn't work\n\t */\n\t@Prop() avatarLettersKey: string;\n\n\t/**\n\t * The key to identify an object\n\t */\n\t@Prop() identifierKey: string;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() queryKey?: string;\n\n\t/**\n\t * Wether to automatically select the first item\n\t */\n\t@Prop() autoSelectFirst: boolean = true;\n\n\t/**\n\t * Wether to show the chevron or not\n\t */\n\t@Prop() showChevron: boolean = true;\n\n\t/**\n\t * The maximum amount of items to display\n\t */\n\t@Prop() maxDisplayedItems: number = 10;\n\n\t/**\n\t * Wether to enable autocomplete\n\t */\n\t@Prop() enableAutocomplete: boolean = true;\n\n\t/**\n\t * Wether the input uses async filtering\n\t */\n\t@Prop() asyncFilter: boolean = false;\n\n\t/**\n\t * Wether to show loading items\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether to show the select all item with multi select\n\t */\n\t@Prop() enableSelectAll: boolean = false;\n\n\t/**\n\t * The text of the select all item\n\t */\n\t@Prop() selectAllText: string = 'Select all';\n\n\t/**\n\t * The icon to prefix for select all\n\t */\n\t@Prop() selectAllIcon: IconVariant | undefined;\n\n\t/**\n\t * Event when the query of the autocomplete changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the value changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tvalueChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the select all item has been selected or not\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectAllChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the dropdown shows\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdropdownShown: EventEmitter<any>;\n\n\t/**\n\t * The size of the input group used by the select\n\t */\n\t@Prop() size: 'small' | 'medium' = 'medium';\n\n\t/**\n\t * The prefix of the input group used by the select\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The label of the input group used by the select\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * Wether the input group is disabled used by the select\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether to show a \"add\" item\n\t */\n\t@Prop() showAddItem: boolean = false;\n\n\t/**\n\t * The text to show when add item is being shown\n\t */\n\t@Prop() addItemText: string = 'Add item';\n\n\t/**\n\t * Event when the add item is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tadd: EventEmitter;\n\n\t/**\n\t * The text to show when items is empty\n\t */\n\t@Prop() emptyStateText: string = 'No items available';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _showDropdown: any = false;\n\t@State() private _selectedItem: any = null;\n\n\t@State() private _allSelected: boolean = false;\n\n\t@State() private _amountHidden = 0;\n\n\tprivate _inputRef: HTMLDivElement;\n\tprivate autocompleteInputRef: HTMLInputElement;\n\tprivate _multiContainerRef: HTMLElement;\n\n\tprivate _resizeObserver: ResizeObserver;\n\tprivate _resizeDebounceTimer: NodeJS.Timer;\n\n\tget _items() {\n\t\tif (!this.items || this.loading) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet items =\n\t\t\ttypeof this.items === 'string' ? JSON.parse(this.items) : this.items;\n\n\t\tif (typeof items?.[0] === 'string') {\n\t\t\tthis.displayKey = 'text';\n\t\t\tthis.valueKey = 'value';\n\n\t\t\titems = items.map(str => ({\n\t\t\t\tvalue: str,\n\t\t\t\ttext: str,\n\t\t\t}));\n\t\t}\n\n\t\tif (this.query?.length && !this.asyncFilter) {\n\t\t\titems = items.filter(item => {\n\t\t\t\tif (this.queryKey) {\n\t\t\t\t\treturn this._checkvalue(this.queryKey, item);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tthis._checkvalue(this._identifierKey, item) ||\n\t\t\t\t\tthis._checkvalue(this.displayKey, item)\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\treturn items?.slice(0, this.maxDisplayedItems);\n\t}\n\n\tget _displayValue() {\n\t\tif (!this._selectedItem) {\n\t\t\treturn this.placeholder;\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tif (this._selectedItem?.length === 0) {\n\t\t\t\treturn this.placeholder;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={`multi-container size-${this.size}`}\n\t\t\t\t\tref={ref => (this._multiContainerRef = ref)}\n\t\t\t\t>\n\t\t\t\t\t{this._selectedItem.map(item => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass='item'\n\t\t\t\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{item[this.selectionDisplayKey ?? this.displayKey]}\n\t\t\t\t\t\t\t<p-icon variant='negative' />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\n\t\t\t\t\t<div class='extra hidden'>+{this._amountHidden}</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn this._getDisplay(this._selectedItem, true);\n\t}\n\n\tget _identifierKey() {\n\t\treturn this.identifierKey ?? this.valueKey ?? 'value';\n\t}\n\n\tcomponentDidLoad() {\n\t\tif (!this.valueKey && !this.identifierKey) {\n\t\t\tthrow new Error('You must provide a valueKey or identifierKey');\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\n\t\t\tthis._resizeObserver = new ResizeObserver(() => {\n\t\t\t\tif (this._resizeDebounceTimer) {\n\t\t\t\t\tclearTimeout(this._resizeDebounceTimer);\n\t\t\t\t\tthis._resizeDebounceTimer = null;\n\t\t\t\t}\n\n\t\t\t\tthis._resizeDebounceTimer = setTimeout(() => {\n\t\t\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\t\t\tthis._checkSelectedItems();\n\t\t\t\t}, 200);\n\t\t\t});\n\t\t\tthis._resizeObserver.observe(this._el);\n\t\t}\n\n\t\tif (this.value) {\n\t\t\tthis._valueChange();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.itemChanges();\n\t}\n\n\tcomponentDidRender() {\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\tthis._checkSelectedItems();\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this.multi) {\n\t\t\tthis._resizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class='p-select'>\n\t\t\t\t<p-dropdown\n\t\t\t\t\tdisableTriggerClick={true}\n\t\t\t\t\tcalculateWidth={true}\n\t\t\t\t\tinsideClick={true}\n\t\t\t\t\tscrollable={this.enableAutocomplete ? 'large' : true}\n\t\t\t\t\tshow={this._showDropdown}\n\t\t\t\t\tonIsOpen={ev => this._onDropdownOpen(ev)}\n\t\t\t\t>\n\t\t\t\t\t<p-input-group\n\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\ticon={this.icon}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\tprefix={this.prefix}\n\t\t\t\t\t\tlabel={this.label}\n\t\t\t\t\t\thelper={this.helper}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\terror={this.error}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tfocused={this._showDropdown}\n\t\t\t\t\t\tforceShowTooltip={this.error?.length && this._showDropdown}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tslot='input'\n\t\t\t\t\t\t\tclass={`p-input read-only cursor-pointer ${\n\t\t\t\t\t\t\t\tthis.showChevron ? 'max-w-[calc(100%-3rem)]' : 'w-full'\n\t\t\t\t\t\t\t} size-${this.size} ${\n\t\t\t\t\t\t\t\tthis._displayValue === this.placeholder\n\t\t\t\t\t\t\t\t\t? 'font-medium text-storm-medium'\n\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\tcontenteditable\n\t\t\t\t\t\t\tonFocus={ev => this._onFocus(ev)}\n\t\t\t\t\t\t\tonMouseDown={ev => this._onMouseDown(ev)}\n\t\t\t\t\t\t\tonClick={() => this._onClick()}\n\t\t\t\t\t\t\tref={ref => (this._inputRef = ref)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._displayValue}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{this.showChevron && (\n\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\tvariant='caret'\n\t\t\t\t\t\t\t\tslot='suffix'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</p-input-group>\n\t\t\t\t\t<div slot='items'>\n\t\t\t\t\t\t{this.loading ? this._getLoadingItems() : this._getItems()}\n\t\t\t\t\t\t{this.showAddItem && this._getAddItem()}\n\t\t\t\t\t</div>\n\t\t\t\t</p-dropdown>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler({ target }) {\n\t\tif (!this._showDropdown || childOf(target, this._el)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\t@Watch('value')\n\tprivate _valueChange() {\n\t\tsetTimeout(() => this._preselectItem());\n\t}\n\n\t@Watch('items')\n\tpublic itemChanges() {\n\t\tsetTimeout(() => this._preselectItem());\n\t}\n\n\t@Watch('_showDropdown')\n\tpublic _showDropdownChanges() {\n\t\tthis.dropdownShown.emit({\n\t\t\tvalue: this._showDropdown,\n\t\t\tquery: this.query,\n\t\t});\n\t}\n\n\t@Watch('multi')\n\tpublic multiChanges() {\n\t\tif (this._selectedItem && !Array.isArray(this._selectedItem)) {\n\t\t\tthis._selectedItem = [];\n\t\t}\n\t}\n\n\tprivate _preselectItem() {\n\t\tlet value =\n\t\t\ttypeof this.value === 'string' && this.multi\n\t\t\t\t? JSON.parse(this.value)\n\t\t\t\t: this.value;\n\n\t\tif (this.multi) {\n\t\t\tif (!Array.isArray(value)) {\n\t\t\t\tthis.value = [];\n\t\t\t\tthis.valueChange.emit(this.value);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.value = value;\n\t\t\tif (!value.length) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._selectedItem =\n\t\t\t\t!!this.valueKey && this.valueKey !== 'false'\n\t\t\t\t\t? this._items.filter(i => value.includes(i?.[this.valueKey]))\n\t\t\t\t\t: [...value];\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._selectedItem && !value && this.autoSelectFirst) {\n\t\t\tvalue = this._items[0];\n\t\t}\n\n\t\tconst identifier =\n\t\t\ttypeof value === 'object' && value !== null\n\t\t\t\t? value[this._identifierKey]\n\t\t\t\t: value;\n\t\tconst parsedValue =\n\t\t\ttypeof identifier === 'string' || typeof identifier === 'number'\n\t\t\t\t? identifier\n\t\t\t\t: JSON.stringify(identifier);\n\n\t\tconst currentValue = this._selectedItem\n\t\t\t? this._selectedItem?.[this._identifierKey]\n\t\t\t: null;\n\t\tconst currentParsedValue =\n\t\t\ttypeof currentValue === 'string' || typeof currentValue === 'number'\n\t\t\t\t? currentValue\n\t\t\t\t: JSON.stringify(currentValue);\n\n\t\tif (this._selectedItem && currentParsedValue === parsedValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._items?.length && value) {\n\t\t\tthis._selectValue(value, false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = this._items.find(i => {\n\t\t\tconst itemIdentifier = i?.[this._identifierKey];\n\t\t\tconst parsedItemIdentifier =\n\t\t\t\ttypeof itemIdentifier === 'string' || typeof itemIdentifier === 'number'\n\t\t\t\t\t? itemIdentifier\n\t\t\t\t\t: JSON.stringify(itemIdentifier);\n\n\t\t\treturn parsedItemIdentifier === parsedValue;\n\t\t});\n\n\t\tthis._selectValue(!!item ? item : value, false);\n\t}\n\n\tprivate _selectValue(item, forceBlur = true) {\n\t\tlet value =\n\t\t\t!!this.valueKey && this.valueKey !== 'false' && item !== null\n\t\t\t\t? item?.[this.valueKey]\n\t\t\t\t: item;\n\n\t\tif (this.multi) {\n\t\t\tif (!this._selectedItem || !Array.isArray(this._selectedItem)) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t}\n\n\t\t\tif (!this.value || !Array.isArray(this.value)) {\n\t\t\t\tthis.value = [];\n\t\t\t}\n\n\t\t\tconst selectedItem = [...this._selectedItem];\n\t\t\tconst valueArray = [...this.value];\n\n\t\t\tconst includesIndex = selectedItem.findIndex(\n\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t);\n\t\t\tif (includesIndex === -1) {\n\t\t\t\tselectedItem.push(item);\n\t\t\t\tvalueArray.push(value);\n\t\t\t} else {\n\t\t\t\tselectedItem.splice(includesIndex, 1);\n\t\t\t\tvalueArray.splice(includesIndex, 1);\n\t\t\t}\n\n\t\t\tthis._selectedItem = selectedItem;\n\t\t\tthis.value = valueArray;\n\t\t\tthis.valueChange.emit(valueArray);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectedItem = item;\n\t\tthis.value = value;\n\t\tthis.valueChange.emit(value);\n\n\t\tthis._onBlur(forceBlur);\n\t}\n\n\tprivate _onFocus(ev) {\n\t\tev.preventDefault();\n\t\tthis._inputRef.blur();\n\n\t\tif (!this._showDropdown) {\n\t\t\tthis._showDropdown = true;\n\t\t}\n\n\t\treturn;\n\t}\n\n\tprivate _onMouseDown(ev) {\n\t\tif (this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tev.preventDefault();\n\t}\n\n\tprivate _onClick() {\n\t\tif (this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = !this._showDropdown;\n\t}\n\n\tprivate _onBlur(force = false) {\n\t\tif (this.enableAutocomplete && !force) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\tprivate _onAutoComplete(ev) {\n\t\tif (!this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = true;\n\n\t\tthis.query = ev.target.value;\n\t\tthis.queryChange.emit(ev.target.value);\n\t}\n\n\tprivate _checkvalue(key, item) {\n\t\treturn (\n\t\t\titem?.[key]\n\t\t\t\t?.toString()\n\t\t\t\t?.toLowerCase()\n\t\t\t\t.indexOf(this.query?.toLowerCase()) >= 0\n\t\t);\n\t}\n\n\tprivate _getItems() {\n\t\tlet items = this._items.map(item => (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tuseContainer={false}\n\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\tactive={\n\t\t\t\t\tthis.multi &&\n\t\t\t\t\t!!this._selectedItem &&\n\t\t\t\t\tArray.isArray(this._selectedItem)\n\t\t\t\t\t\t? this._selectedItem.findIndex(\n\t\t\t\t\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t\t\t\t ) >= 0\n\t\t\t\t\t\t: item[this._identifierKey] ===\n\t\t\t\t\t\t this._selectedItem?.[this._identifierKey]\n\t\t\t\t}\n\t\t\t\tvariant={this.multi ? 'checkbox' : 'default'}\n\t\t\t\tclass='justify-start'\n\t\t\t>\n\t\t\t\t{this._getDisplay(item)}\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (!this._items.length) {\n\t\t\titems = [\n\t\t\t\t<p class='w-full p-2 text-center text-sm text-storm-medium'>\n\t\t\t\t\t{this.emptyStateText}\n\t\t\t\t</p>,\n\t\t\t];\n\t\t}\n\n\t\tif (this.enableSelectAll && this._items.length) {\n\t\t\titems.unshift(\n\t\t\t\t<p-dropdown-menu-item\n\t\t\t\t\tuseContainer={false}\n\t\t\t\t\tvariant='checkbox'\n\t\t\t\t\tonClick={() => this._selectAllChange()}\n\t\t\t\t\tactive={this._allSelected}\n\t\t\t\t>\n\t\t\t\t\t{this.selectAllIcon?.length ? (\n\t\t\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t\t\t<div class='flex w-6 justify-center text-lg'>\n\t\t\t\t\t\t\t\t<p-icon variant={this.selectAllIcon} />\n\t\t\t\t\t\t\t</div>{' '}\n\t\t\t\t\t\t\t{this.selectAllText}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.selectAllText\n\t\t\t\t\t)}\n\t\t\t\t</p-dropdown-menu-item>\n\t\t\t);\n\t\t}\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAddItem() {\n\t\treturn (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tonClick={() => this.add.emit()}\n\t\t\t\tuseContainer={false}\n\t\t\t>\n\t\t\t\t<span class='flex items-center gap-1 font-semibold text-indigo'>\n\t\t\t\t\t{this.addItemText}\n\t\t\t\t\t<p-icon variant='plus' />\n\t\t\t\t</span>\n\t\t\t</p-dropdown-menu-item>\n\t\t);\n\t}\n\n\tprivate _getLoadingItems() {\n\t\tconst items = [0, 0, 0].map(() => (\n\t\t\t<p-dropdown-menu-item enableHover={false}>\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-full rounded'\n\t\t\t\t/>\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAutoCompleteItem() {\n\t\treturn (\n\t\t\t<div class='sticky top-0 -mt-2 bg-white pt-2'>\n\t\t\t\t<input\n\t\t\t\t\tclass='p-input size-small sticky top-2 mb-2'\n\t\t\t\t\tplaceholder={this.autocompletePlaceholder}\n\t\t\t\t\tonInput={ev => this._onAutoComplete(ev)}\n\t\t\t\t\tref={ref => (this.autocompleteInputRef = ref)}\n\t\t\t\t\tvalue={this.query}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _setMultiContainerMaxWidth() {\n\t\tif (!this._inputRef || !this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._multiContainerRef.style.maxWidth = `${\n\t\t\tthis._inputRef.clientWidth - 16\n\t\t}px`;\n\t}\n\n\tprivate _checkSelectedItems() {\n\t\tif (!this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst containerRect = this._multiContainerRef.getBoundingClientRect();\n\t\tconst items = Array.from(\n\t\t\tthis._multiContainerRef.querySelectorAll('.item')\n\t\t) as HTMLElement[];\n\n\t\tlet amountHidden = 0;\n\n\t\tfor (const child of items) {\n\t\t\tchild.classList.remove('hidden');\n\n\t\t\tconst childRect = child.getBoundingClientRect();\n\t\t\tif (childRect.right > containerRect.right) {\n\t\t\t\tchild.classList.add('hidden');\n\t\t\t\tamountHidden++;\n\t\t\t}\n\t\t}\n\n\t\tthis._amountHidden = amountHidden;\n\t\tconst extra = this._multiContainerRef.querySelector('.extra');\n\t\tif (!extra) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!extra.classList.contains('hidden')) {\n\t\t\textra.classList.add('hidden');\n\t\t}\n\n\t\tif (amountHidden > 0) {\n\t\t\textra.classList.remove('hidden');\n\t\t}\n\t}\n\n\tprivate _onDropdownOpen(ev) {\n\t\tif (!ev.detail || !this.autocompleteInputRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.autocompleteInputRef.focus();\n\t}\n\n\tprivate _selectAllChange() {\n\t\tthis._allSelected = !this._allSelected;\n\t\tthis.selectAllChange.emit(this._allSelected);\n\t}\n\n\tprivate _getDisplay(item, isSelection = false) {\n\t\tlet content = (\n\t\t\t<div class='text-container'>\n\t\t\t\t{\n\t\t\t\t\titem[\n\t\t\t\t\t\tisSelection\n\t\t\t\t\t\t\t? this.selectionDisplayKey ?? this.displayKey\n\t\t\t\t\t\t\t: this.displayKey\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t</div>\n\t\t);\n\n\t\tif (this.avatarKey) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-avatar\n\t\t\t\t\t\tsize='xs'\n\t\t\t\t\t\tsrc={item[this.avatarKey]}\n\t\t\t\t\t\tletters={item[this.avatarLettersKey]}\n\t\t\t\t\t></p-avatar>\n\t\t\t\t\t<div class='text-container'>\n\t\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (this.iconKey && (!isSelection || this.showIconInSelectedItem)) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-icon variant={item[this.iconKey] as IconVariant} />\n\t\t\t\t\t<div class='text-container'>\n\t\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={\n\t\t\t\t\t!isSelection || this.applyClassOnSelectedItem\n\t\t\t\t\t\t? `max-w-full ${item?.class}`\n\t\t\t\t\t\t: 'max-w-full'\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</div>\n\t\t);\n\t}\n}\n"]}
|
|
@@ -2,11 +2,12 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
|
|
|
2
2
|
import { a as autoUpdate, c as computePosition, o as offset, f as flip, s as shift } from './floating-ui.dom.esm.js';
|
|
3
3
|
import { c as cva } from './index2.js';
|
|
4
4
|
import { c as childOf } from './child-of.js';
|
|
5
|
-
import { d as defineCustomElement$
|
|
5
|
+
import { d as defineCustomElement$2 } from './dropdown-menu-container.component.js';
|
|
6
|
+
import { d as defineCustomElement$1 } from './portal.component.js';
|
|
6
7
|
|
|
7
|
-
const dropdownComponentCss = ".flex{display:flex!important}.hidden{display:none!important}*{box-sizing:border-box}p-dropdown p-dropdown-menu-container{display:none}p-dropdown p-dropdown-menu-container[data-show]{display:flex}.visible{visibility:visible!important}.static{position:static!important}.fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.z-dropdown{z-index:200!important}
|
|
8
|
+
const dropdownComponentCss = ".flex{display:flex!important}.hidden{display:none!important}*{box-sizing:border-box}p-dropdown p-dropdown-menu-container{display:none}p-dropdown p-dropdown-menu-container[data-show]{display:flex}.visible{visibility:visible!important}.static{position:static!important}.fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.z-dropdown{z-index:200!important}";
|
|
8
9
|
|
|
9
|
-
const
|
|
10
|
+
const dropdownContainerClass = cva(['z-dropdown hidden'], {
|
|
10
11
|
variants: {
|
|
11
12
|
strategy: {
|
|
12
13
|
absolute: 'absolute',
|
|
@@ -24,6 +25,7 @@ const Dropdown = /*@__PURE__*/ proxyCustomElement(class Dropdown extends HTMLEle
|
|
|
24
25
|
this.offset = 8;
|
|
25
26
|
this.strategy = 'absolute';
|
|
26
27
|
this.show = false;
|
|
28
|
+
this.usePortal = false;
|
|
27
29
|
this.calculateWidth = false;
|
|
28
30
|
this.applyMaxWidth = true;
|
|
29
31
|
this.applyFullWidth = true;
|
|
@@ -39,25 +41,44 @@ const Dropdown = /*@__PURE__*/ proxyCustomElement(class Dropdown extends HTMLEle
|
|
|
39
41
|
this._update();
|
|
40
42
|
}
|
|
41
43
|
componentDidLoad() {
|
|
42
|
-
this.
|
|
44
|
+
this._checkButtons();
|
|
43
45
|
}
|
|
44
46
|
disconnectedCallback() {
|
|
45
47
|
if (this._cleanup) {
|
|
46
48
|
this._cleanup();
|
|
47
49
|
this._cleanup = null;
|
|
48
50
|
}
|
|
51
|
+
this._menu.remove();
|
|
52
|
+
}
|
|
53
|
+
componentDidRender() {
|
|
54
|
+
this._checkButtons();
|
|
49
55
|
}
|
|
50
56
|
render() {
|
|
51
|
-
|
|
57
|
+
const dropdownContainerProps = {
|
|
58
|
+
class: dropdownContainerClass({
|
|
52
59
|
strategy: this.strategy,
|
|
53
|
-
}),
|
|
60
|
+
}),
|
|
61
|
+
ref: el => this._load(el),
|
|
62
|
+
onClick: () => this._containerClickHandler(),
|
|
63
|
+
role: 'popover',
|
|
64
|
+
'data-placement': this.placement,
|
|
65
|
+
'data-strategy': this.strategy,
|
|
66
|
+
};
|
|
67
|
+
let dropdownContainer;
|
|
68
|
+
if (this.usePortal) {
|
|
69
|
+
dropdownContainer = (h("p-portal", Object.assign({}, dropdownContainerProps), h("p-dropdown-menu-container", { maxWidth: !this.calculateWidth && this.applyMaxWidth, fullWidth: this.applyFullWidth && !this.applyMaxWidth, allowOverflow: this.allowOverflow, scrollable: this.scrollable }, h("slot", { name: 'items' }))));
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
dropdownContainer = (h("p-dropdown-menu-container", Object.assign({ maxWidth: !this.calculateWidth && this.applyMaxWidth, fullWidth: this.applyFullWidth && !this.applyMaxWidth, allowOverflow: this.allowOverflow, scrollable: this.scrollable }, dropdownContainerProps), h("slot", { name: 'items' })));
|
|
73
|
+
}
|
|
74
|
+
return (h(Host, { class: 'p-dropdown relative' }, h("div", { class: 'trigger', ref: ref => (this._trigger = ref), onClick: () => this._triggerClickHandler() }, h("slot", { name: 'trigger' })), dropdownContainer));
|
|
54
75
|
}
|
|
55
|
-
|
|
76
|
+
_checkButtons(active = false) {
|
|
56
77
|
if (!this.applyChevron) {
|
|
57
78
|
return;
|
|
58
79
|
}
|
|
59
|
-
const buttons = this._el.querySelectorAll('p-button');
|
|
60
|
-
for (let button of buttons) {
|
|
80
|
+
const buttons = this._el.querySelectorAll('p-button[slot="trigger"]');
|
|
81
|
+
for (let button of [...buttons]) {
|
|
61
82
|
button.chevronPosition = this.chevronPosition;
|
|
62
83
|
button.chevron = this.chevronDirection
|
|
63
84
|
? this.chevronDirection
|
|
@@ -79,7 +100,7 @@ const Dropdown = /*@__PURE__*/ proxyCustomElement(class Dropdown extends HTMLEle
|
|
|
79
100
|
this._show();
|
|
80
101
|
}
|
|
81
102
|
documentClickHandler({ target }) {
|
|
82
|
-
if (!this._menu.hasAttribute('data-show') || childOf(target, this.
|
|
103
|
+
if (!this._menu.hasAttribute('data-show') || childOf(target, this._menu)) {
|
|
83
104
|
return;
|
|
84
105
|
}
|
|
85
106
|
this._hide();
|
|
@@ -122,8 +143,10 @@ const Dropdown = /*@__PURE__*/ proxyCustomElement(class Dropdown extends HTMLEle
|
|
|
122
143
|
}
|
|
123
144
|
this._cleanup = autoUpdate(this._el, this._menu, () => this._update());
|
|
124
145
|
this._menu.setAttribute('data-show', '');
|
|
146
|
+
this._menu.classList.remove('hidden');
|
|
147
|
+
this._menu.classList.add('flex');
|
|
125
148
|
this.isOpen.emit(true);
|
|
126
|
-
this.
|
|
149
|
+
this._checkButtons(true);
|
|
127
150
|
}
|
|
128
151
|
_hide() {
|
|
129
152
|
if (!this._loaded || this.show) {
|
|
@@ -135,8 +158,10 @@ const Dropdown = /*@__PURE__*/ proxyCustomElement(class Dropdown extends HTMLEle
|
|
|
135
158
|
}
|
|
136
159
|
// Hide the popover
|
|
137
160
|
this._menu.removeAttribute('data-show');
|
|
161
|
+
this._menu.classList.remove('flex');
|
|
162
|
+
this._menu.classList.add('hidden');
|
|
138
163
|
this.isOpen.emit(false);
|
|
139
|
-
this.
|
|
164
|
+
this._checkButtons(false);
|
|
140
165
|
}
|
|
141
166
|
_update() {
|
|
142
167
|
if (!this._menu) {
|
|
@@ -164,6 +189,7 @@ const Dropdown = /*@__PURE__*/ proxyCustomElement(class Dropdown extends HTMLEle
|
|
|
164
189
|
"offset": [2],
|
|
165
190
|
"strategy": [1],
|
|
166
191
|
"show": [4],
|
|
192
|
+
"usePortal": [4, "use-portal"],
|
|
167
193
|
"calculateWidth": [4, "calculate-width"],
|
|
168
194
|
"applyMaxWidth": [4, "apply-max-width"],
|
|
169
195
|
"applyFullWidth": [4, "apply-full-width"],
|
|
@@ -181,7 +207,7 @@ function defineCustomElement() {
|
|
|
181
207
|
if (typeof customElements === "undefined") {
|
|
182
208
|
return;
|
|
183
209
|
}
|
|
184
|
-
const components = ["p-dropdown", "p-dropdown-menu-container"];
|
|
210
|
+
const components = ["p-dropdown", "p-dropdown-menu-container", "p-portal"];
|
|
185
211
|
components.forEach(tagName => { switch (tagName) {
|
|
186
212
|
case "p-dropdown":
|
|
187
213
|
if (!customElements.get(tagName)) {
|
|
@@ -189,6 +215,11 @@ function defineCustomElement() {
|
|
|
189
215
|
}
|
|
190
216
|
break;
|
|
191
217
|
case "p-dropdown-menu-container":
|
|
218
|
+
if (!customElements.get(tagName)) {
|
|
219
|
+
defineCustomElement$2();
|
|
220
|
+
}
|
|
221
|
+
break;
|
|
222
|
+
case "p-portal":
|
|
192
223
|
if (!customElements.get(tagName)) {
|
|
193
224
|
defineCustomElement$1();
|
|
194
225
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"dropdown.component.js","mappings":"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","names":[],"sources":["src/components/molecules/dropdown/dropdown.component.scss?tag=p-dropdown","src/components/molecules/dropdown/dropdown.component.tsx"],"sourcesContent":["p-dropdown {\n\tp-dropdown-menu-container {\n\t\t@apply hidden;\n\n\t\t&[data-show] {\n\t\t\t@apply flex;\n\t\t}\n\t}\n}\n","import {\n\tautoUpdate,\n\tcomputePosition,\n\tflip,\n\toffset,\n\tPlacement,\n\tshift,\n\tStrategy,\n} from '@floating-ui/dom';\nimport {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tWatch,\n} from '@stencil/core';\nimport { cva } from 'class-variance-authority';\nimport { childOf } from '../../../utils/child-of';\n\nconst dropdownContainer = cva(['z-dropdown'], {\n\tvariants: {\n\t\tstrategy: {\n\t\t\tabsolute: 'absolute',\n\t\t\tfixed: 'fixed',\n\t\t},\n\t},\n});\n\n@Component({\n\ttag: 'p-dropdown',\n\tstyleUrl: 'dropdown.component.scss',\n})\nexport class Dropdown {\n\t/**\n\t * The content of the dropdown menu\n\t */\n\t@Prop({ reflect: true }) placement: Placement = 'bottom-start';\n\n\t/**\n\t * The offset of the dropdown menu\n\t */\n\t@Prop() offset: number = 8;\n\n\t/**\n\t * The strategy of the dropdown placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * Wether to show the dropdown menu\n\t */\n\t@Prop() show: boolean = false;\n\n\t/**\n\t * Wether to automatically calculate the width of the menu based on the trigger\n\t */\n\t@Prop() calculateWidth: boolean = false;\n\n\t/**\n\t * Wether to apply the max width\n\t */\n\t@Prop() applyMaxWidth: boolean = true;\n\n\t/**\n\t * Wether to apply the full width\n\t */\n\t@Prop() applyFullWidth: boolean = true;\n\n\t/**\n\t * Wether to allow overflow in the container\n\t */\n\t@Prop() allowOverflow: boolean = false;\n\n\t/**\n\t * Wether the dropdown container should be scrollable when the threshold is met.\n\t */\n\t@Prop() scrollable: boolean | 'default' | 'large' = false;\n\n\t/**\n\t * Wether to automatically close the dropdown menu after clicking inside\n\t */\n\t@Prop() insideClick: boolean = false;\n\n\t/**\n\t * Wether to automatically close the dropdown menu after clicking inside\n\t */\n\t@Prop() disableTriggerClick: boolean = false;\n\n\t/**\n\t * Wether to apply chevron automatically\n\t */\n\t@Prop() applyChevron: boolean = true;\n\n\t/**\n\t * Chevron position\n\t */\n\t@Prop() chevronPosition: 'start' | 'end' = 'end';\n\n\t/**\n\t * Chevron direction\n\t */\n\t@Prop() chevronDirection: 'up' | 'down';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t/**\n\t * Open change event\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tisOpen: EventEmitter<boolean>;\n\n\tprivate _loaded = false;\n\tprivate _trigger: HTMLElement;\n\tprivate _menu: HTMLElement;\n\tprivate _cleanup: () => void;\n\n\tcomponentShouldUpdate() {\n\t\tthis._update();\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis._checkButton();\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this._cleanup) {\n\t\t\tthis._cleanup();\n\t\t\tthis._cleanup = null;\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class='p-dropdown relative'>\n\t\t\t\t<div\n\t\t\t\t\tclass='relative w-inherit'\n\t\t\t\t\tref={ref => (this._trigger = ref)}\n\t\t\t\t\tonClick={() => this._triggerClickHandler()}\n\t\t\t\t>\n\t\t\t\t\t<slot name='trigger' />\n\t\t\t\t</div>\n\t\t\t\t<p-dropdown-menu-container\n\t\t\t\t\tclass={dropdownContainer({\n\t\t\t\t\t\tstrategy: this.strategy,\n\t\t\t\t\t})}\n\t\t\t\t\trole='popover'\n\t\t\t\t\tmaxWidth={!this.calculateWidth && this.applyMaxWidth}\n\t\t\t\t\tfullWidth={this.applyFullWidth && !this.applyMaxWidth}\n\t\t\t\t\tallowOverflow={this.allowOverflow}\n\t\t\t\t\tref={el => this._load(el)}\n\t\t\t\t\tdata-placement={this.placement}\n\t\t\t\t\tdata-strategy={this.strategy}\n\t\t\t\t\tonClick={() => this._containerClickHandler()}\n\t\t\t\t\tscrollable={this.scrollable}\n\t\t\t\t>\n\t\t\t\t\t<slot name='items' />\n\t\t\t\t</p-dropdown-menu-container>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate _checkButton(active: boolean = false) {\n\t\tif (!this.applyChevron) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst buttons = this._el.querySelectorAll<HTMLPButtonElement>('p-button');\n\t\tfor (let button of buttons) {\n\t\t\tbutton.chevronPosition = this.chevronPosition;\n\t\t\tbutton.chevron = this.chevronDirection\n\t\t\t\t? this.chevronDirection\n\t\t\t\t: this.placement.indexOf('top') >= 0\n\t\t\t\t? 'up'\n\t\t\t\t: 'down';\n\t\t\tbutton.disabled = this.disableTriggerClick;\n\t\t\tbutton.active = active;\n\t\t}\n\t}\n\n\t@Watch('show')\n\tprotected onShowChange(show) {\n\t\tif (!this._loaded) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!show) {\n\t\t\tthis._hide();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show();\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler({ target }) {\n\t\tif (!this._menu.hasAttribute('data-show') || childOf(target, this._el)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._hide();\n\t}\n\n\tprivate _containerClickHandler() {\n\t\tif (this.insideClick) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._menu.hasAttribute('data-show')) {\n\t\t\tthis._hide();\n\t\t}\n\t}\n\n\tprivate _triggerClickHandler() {\n\t\tif (this.disableTriggerClick) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._menu.hasAttribute('data-show')) {\n\t\t\tthis._hide();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show();\n\t}\n\n\tprivate _load(popover: HTMLElement) {\n\t\tthis._menu = popover;\n\t\tif (popover) {\n\t\t\tthis._update();\n\t\t\tthis._loaded = true;\n\n\t\t\tif (this.show) {\n\t\t\t\tsetTimeout(() => this._show(), 100);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _show() {\n\t\tif (!this._loaded) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make the popover visible\n\t\tif (this.calculateWidth) {\n\t\t\tthis._menu.style.width = `${this._trigger.clientWidth}px`;\n\t\t}\n\n\t\tthis._cleanup = autoUpdate(this._el, this._menu, () => this._update());\n\n\t\tthis._menu.setAttribute('data-show', '');\n\t\tthis.isOpen.emit(true);\n\t\tthis._checkButton(true);\n\t}\n\n\tprivate _hide() {\n\t\tif (!this._loaded || this.show) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._cleanup) {\n\t\t\tthis._cleanup();\n\t\t\tthis._cleanup = null;\n\t\t}\n\n\t\t// Hide the popover\n\t\tthis._menu.removeAttribute('data-show');\n\t\tthis.isOpen.emit(false);\n\t\tthis._checkButton(false);\n\t}\n\n\tprivate _update() {\n\t\tif (!this._menu) {\n\t\t\treturn;\n\t\t}\n\n\t\tcomputePosition(this._el, this._menu, {\n\t\t\tplacement: this.placement,\n\t\t\tstrategy: this.strategy,\n\t\t\tmiddleware: [offset(this.offset), flip(), shift()],\n\t\t}).then(({ x, y, placement }) => {\n\t\t\tthis._menu.dataset.placement = placement;\n\t\t\tObject.assign(this._menu.style, {\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tleft: `${x}px`,\n\t\t\t});\n\t\t});\n\t}\n}\n"],"version":3}
|
|
1
|
+
{"file":"dropdown.component.js","mappings":"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","names":[],"sources":["src/components/molecules/dropdown/dropdown.component.scss?tag=p-dropdown","src/components/molecules/dropdown/dropdown.component.tsx"],"sourcesContent":["p-dropdown {\n\tp-dropdown-menu-container {\n\t\t@apply hidden;\n\n\t\t&[data-show] {\n\t\t\t@apply flex;\n\t\t}\n\t}\n}\n","import {\n\tautoUpdate,\n\tcomputePosition,\n\tflip,\n\toffset,\n\tPlacement,\n\tshift,\n\tStrategy,\n} from '@floating-ui/dom';\nimport {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tWatch,\n} from '@stencil/core';\nimport { cva } from 'class-variance-authority';\nimport { childOf } from '../../../utils/child-of';\n\nconst dropdownContainerClass = cva(['z-dropdown hidden'], {\n\tvariants: {\n\t\tstrategy: {\n\t\t\tabsolute: 'absolute',\n\t\t\tfixed: 'fixed',\n\t\t},\n\t},\n});\n\n@Component({\n\ttag: 'p-dropdown',\n\tstyleUrl: 'dropdown.component.scss',\n})\nexport class Dropdown {\n\t/**\n\t * The content of the dropdown menu\n\t */\n\t@Prop({ reflect: true }) placement: Placement = 'bottom-start';\n\n\t/**\n\t * The offset of the dropdown menu\n\t */\n\t@Prop() offset: number = 8;\n\n\t/**\n\t * The strategy of the dropdown placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * Wether to show the dropdown menu\n\t */\n\t@Prop() show: boolean = false;\n\n\t/**\n\t * Wether to use a portal for the dropdown container\n\t */\n\t@Prop() usePortal: boolean = false;\n\n\t/**\n\t * Wether to automatically calculate the width of the menu based on the trigger\n\t */\n\t@Prop() calculateWidth: boolean = false;\n\n\t/**\n\t * Wether to apply the max width\n\t */\n\t@Prop() applyMaxWidth: boolean = true;\n\n\t/**\n\t * Wether to apply the full width\n\t */\n\t@Prop() applyFullWidth: boolean = true;\n\n\t/**\n\t * Wether to allow overflow in the container\n\t */\n\t@Prop() allowOverflow: boolean = false;\n\n\t/**\n\t * Wether the dropdown container should be scrollable when the threshold is met.\n\t */\n\t@Prop() scrollable: boolean | 'default' | 'large' = false;\n\n\t/**\n\t * Wether to automatically close the dropdown menu after clicking inside\n\t */\n\t@Prop() insideClick: boolean = false;\n\n\t/**\n\t * Wether to automatically close the dropdown menu after clicking inside\n\t */\n\t@Prop() disableTriggerClick: boolean = false;\n\n\t/**\n\t * Wether to apply chevron automatically\n\t */\n\t@Prop() applyChevron: boolean = true;\n\n\t/**\n\t * Chevron position\n\t */\n\t@Prop() chevronPosition: 'start' | 'end' = 'end';\n\n\t/**\n\t * Chevron direction\n\t */\n\t@Prop() chevronDirection: 'up' | 'down';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t/**\n\t * Open change event\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tisOpen: EventEmitter<boolean>;\n\n\tprivate _loaded = false;\n\tprivate _trigger: HTMLElement;\n\tprivate _menu: HTMLElement;\n\tprivate _cleanup: () => void;\n\n\tcomponentShouldUpdate() {\n\t\tthis._update();\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis._checkButtons();\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this._cleanup) {\n\t\t\tthis._cleanup();\n\t\t\tthis._cleanup = null;\n\t\t}\n\n\t\tthis._menu.remove();\n\t}\n\n\tcomponentDidRender() {\n\t\tthis._checkButtons();\n\t}\n\n\trender() {\n\t\tconst dropdownContainerProps = {\n\t\t\tclass: dropdownContainerClass({\n\t\t\t\tstrategy: this.strategy,\n\t\t\t}),\n\t\t\tref: el => this._load(el),\n\t\t\tonClick: () => this._containerClickHandler(),\n\t\t\trole: 'popover',\n\t\t\t'data-placement': this.placement,\n\t\t\t'data-strategy': this.strategy,\n\t\t};\n\n\t\tlet dropdownContainer: HTMLElement;\n\n\t\tif (this.usePortal) {\n\t\t\tdropdownContainer = (\n\t\t\t\t<p-portal {...dropdownContainerProps}>\n\t\t\t\t\t<p-dropdown-menu-container\n\t\t\t\t\t\tmaxWidth={!this.calculateWidth && this.applyMaxWidth}\n\t\t\t\t\t\tfullWidth={this.applyFullWidth && !this.applyMaxWidth}\n\t\t\t\t\t\tallowOverflow={this.allowOverflow}\n\t\t\t\t\t\tscrollable={this.scrollable}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot name='items' />\n\t\t\t\t\t</p-dropdown-menu-container>\n\t\t\t\t</p-portal>\n\t\t\t);\n\t\t} else {\n\t\t\tdropdownContainer = (\n\t\t\t\t<p-dropdown-menu-container\n\t\t\t\t\tmaxWidth={!this.calculateWidth && this.applyMaxWidth}\n\t\t\t\t\tfullWidth={this.applyFullWidth && !this.applyMaxWidth}\n\t\t\t\t\tallowOverflow={this.allowOverflow}\n\t\t\t\t\tscrollable={this.scrollable}\n\t\t\t\t\t{...dropdownContainerProps}\n\t\t\t\t>\n\t\t\t\t\t<slot name='items' />\n\t\t\t\t</p-dropdown-menu-container>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<Host class='p-dropdown relative'>\n\t\t\t\t<div\n\t\t\t\t\tclass='trigger'\n\t\t\t\t\tref={ref => (this._trigger = ref)}\n\t\t\t\t\tonClick={() => this._triggerClickHandler()}\n\t\t\t\t>\n\t\t\t\t\t<slot name='trigger' />\n\t\t\t\t</div>\n\t\t\t\t{dropdownContainer}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate _checkButtons(active: boolean = false) {\n\t\tif (!this.applyChevron) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst buttons = this._el.querySelectorAll<HTMLPButtonElement>(\n\t\t\t'p-button[slot=\"trigger\"]'\n\t\t);\n\n\t\tfor (let button of [...buttons]) {\n\t\t\tbutton.chevronPosition = this.chevronPosition;\n\t\t\tbutton.chevron = this.chevronDirection\n\t\t\t\t? this.chevronDirection\n\t\t\t\t: this.placement.indexOf('top') >= 0\n\t\t\t\t? 'up'\n\t\t\t\t: 'down';\n\t\t\tbutton.disabled = this.disableTriggerClick;\n\t\t\tbutton.active = active;\n\t\t}\n\t}\n\n\t@Watch('show')\n\tprotected onShowChange(show) {\n\t\tif (!this._loaded) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!show) {\n\t\t\tthis._hide();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show();\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler({ target }) {\n\t\tif (!this._menu.hasAttribute('data-show') || childOf(target, this._menu)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._hide();\n\t}\n\n\tprivate _containerClickHandler() {\n\t\tif (this.insideClick) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._menu.hasAttribute('data-show')) {\n\t\t\tthis._hide();\n\t\t}\n\t}\n\n\tprivate _triggerClickHandler() {\n\t\tif (this.disableTriggerClick) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._menu.hasAttribute('data-show')) {\n\t\t\tthis._hide();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show();\n\t}\n\n\tprivate _load(popover: HTMLElement) {\n\t\tthis._menu = popover;\n\t\tif (popover) {\n\t\t\tthis._update();\n\t\t\tthis._loaded = true;\n\n\t\t\tif (this.show) {\n\t\t\t\tsetTimeout(() => this._show(), 100);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _show() {\n\t\tif (!this._loaded) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make the popover visible\n\t\tif (this.calculateWidth) {\n\t\t\tthis._menu.style.width = `${this._trigger.clientWidth}px`;\n\t\t}\n\n\t\tthis._cleanup = autoUpdate(this._el, this._menu, () => this._update());\n\n\t\tthis._menu.setAttribute('data-show', '');\n\t\tthis._menu.classList.remove('hidden');\n\t\tthis._menu.classList.add('flex');\n\n\t\tthis.isOpen.emit(true);\n\t\tthis._checkButtons(true);\n\t}\n\n\tprivate _hide() {\n\t\tif (!this._loaded || this.show) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._cleanup) {\n\t\t\tthis._cleanup();\n\t\t\tthis._cleanup = null;\n\t\t}\n\n\t\t// Hide the popover\n\t\tthis._menu.removeAttribute('data-show');\n\t\tthis._menu.classList.remove('flex');\n\t\tthis._menu.classList.add('hidden');\n\n\t\tthis.isOpen.emit(false);\n\t\tthis._checkButtons(false);\n\t}\n\n\tprivate _update() {\n\t\tif (!this._menu) {\n\t\t\treturn;\n\t\t}\n\n\t\tcomputePosition(this._el, this._menu, {\n\t\t\tplacement: this.placement,\n\t\t\tstrategy: this.strategy,\n\t\t\tmiddleware: [offset(this.offset), flip(), shift()],\n\t\t}).then(({ x, y, placement }) => {\n\t\t\tthis._menu.dataset.placement = placement;\n\t\t\tObject.assign(this._menu.style, {\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tleft: `${x}px`,\n\t\t\t});\n\t\t});\n\t}\n}\n"],"version":3}
|