@gov-design-system-ce/components 4.1.1 → 4.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/gov-attachments_3.cjs.entry.js +2 -2
- package/dist/cjs/gov-attachments_3.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-card.cjs.entry.js +9 -6
- package/dist/cjs/gov-card.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-chip.cjs.entry.js +2 -2
- package/dist/cjs/gov-container.cjs.entry.js +1 -1
- package/dist/cjs/gov-control-group.cjs.entry.js +1 -1
- package/dist/cjs/gov-cookiebar.cjs.entry.js +1 -1
- package/dist/cjs/gov-dialog.cjs.entry.js +1 -1
- package/dist/cjs/gov-empty.cjs.entry.js +1 -1
- package/dist/cjs/gov-error-code.cjs.entry.js +1 -1
- package/dist/cjs/{gov-flex_4.cjs.entry.js → gov-flex_3.cjs.entry.js} +11 -28
- package/dist/cjs/gov-flex_3.cjs.entry.js.map +1 -0
- package/dist/cjs/gov-form-autocomplete.cjs.entry.js +1 -1
- package/dist/cjs/gov-form-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/gov-form-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-control.cjs.entry.js +1 -1
- package/dist/cjs/gov-form-file.cjs.entry.js +1 -1
- package/dist/cjs/gov-form-group.cjs.entry.js +1 -1
- package/dist/cjs/gov-form-input_2.cjs.entry.js +6 -6
- package/dist/cjs/gov-form-label.cjs.entry.js +27 -0
- package/dist/cjs/gov-form-label.cjs.entry.js.map +1 -0
- package/dist/cjs/gov-form-multi-select.cjs.entry.js +2 -2
- package/dist/cjs/gov-form-password-power.cjs.entry.js +1 -1
- package/dist/cjs/gov-form-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/gov-form-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-search.cjs.entry.js +1 -1
- package/dist/cjs/gov-form-select.cjs.entry.js +2 -2
- package/dist/cjs/gov-grid-item.cjs.entry.js +1 -1
- package/dist/cjs/gov-grid.cjs.entry.js +1 -1
- package/dist/cjs/gov-infobar.cjs.entry.js +2 -2
- package/dist/cjs/gov-layout-column.cjs.entry.js +1 -1
- package/dist/cjs/gov-layout.cjs.entry.js +1 -1
- package/dist/cjs/gov-lifecycle.cjs.entry.js +1 -1
- package/dist/cjs/gov-link.cjs.entry.js +1 -1
- package/dist/cjs/gov-loading.cjs.entry.js +1 -1
- package/dist/cjs/gov-message.cjs.entry.js +1 -1
- package/dist/cjs/gov-spacer.cjs.entry.js +1 -1
- package/dist/cjs/gov-stepper-item.cjs.entry.js +1 -1
- package/dist/cjs/gov-stepper.cjs.entry.js +1 -1
- package/dist/cjs/gov-tabs-item.cjs.entry.js +1 -1
- package/dist/cjs/gov-tabs.cjs.entry.js +1 -1
- package/dist/cjs/gov-tag.cjs.entry.js +2 -1
- package/dist/cjs/gov-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-tile.cjs.entry.js +1 -1
- package/dist/cjs/gov-tiles.cjs.entry.js +1 -1
- package/dist/cjs/gov-toast.cjs.entry.js +1 -1
- package/dist/cjs/gov-tooltip-content.cjs.entry.js +1 -1
- package/dist/cjs/gov-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/gov-wizard-item.cjs.entry.js +2 -2
- package/dist/cjs/gov-wizard.cjs.entry.js +1 -1
- package/dist/cjs/index-7ff4447c.js +6 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/gov-attachments/gov-attachments-item.css +2 -7
- package/dist/collection/components/gov-card/constants.js +7 -4
- package/dist/collection/components/gov-card/constants.js.map +1 -1
- package/dist/collection/components/gov-card/gov-card.js +16 -10
- package/dist/collection/components/gov-card/gov-card.js.map +1 -1
- package/dist/collection/components/gov-chip/gov-chip.js +2 -2
- package/dist/collection/components/gov-container/gov-container.js +1 -1
- package/dist/collection/components/gov-control-group/gov-control-group.js +1 -1
- package/dist/collection/components/gov-cookiebar/gov-cookiebar.js +1 -1
- package/dist/collection/components/gov-dialog/gov-dialog.js +1 -1
- package/dist/collection/components/gov-empty/gov-empty.js +1 -1
- package/dist/collection/components/gov-error-code/gov-error-code.js +1 -1
- package/dist/collection/components/gov-flex/constants.js +2 -0
- package/dist/collection/components/gov-flex/constants.js.map +1 -1
- package/dist/collection/components/gov-flex/gov-flex.js +33 -9
- package/dist/collection/components/gov-flex/gov-flex.js.map +1 -1
- package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.js +1 -1
- package/dist/collection/components/gov-form/control/gov-form-control.js +1 -1
- package/dist/collection/components/gov-form/file/gov-form-file.js +1 -1
- package/dist/collection/components/gov-form/group/gov-form-checkbox-group.js +1 -1
- package/dist/collection/components/gov-form/group/gov-form-group.css +3 -8
- package/dist/collection/components/gov-form/group/gov-form-group.js +1 -1
- package/dist/collection/components/gov-form/group/gov-form-radio-group.js +1 -1
- package/dist/collection/components/gov-form/input/gov-form-input.js +5 -5
- package/dist/collection/components/gov-form/label/gov-form-label.js +1 -1
- package/dist/collection/components/gov-form/message/gov-form-message.js +1 -1
- package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.js +2 -2
- package/dist/collection/components/gov-form/password-power/gov-form-password-power.js +1 -1
- package/dist/collection/components/gov-form/search/gov-form-search.js +1 -1
- package/dist/collection/components/gov-form/select/gov-form-select.js +2 -2
- package/dist/collection/components/gov-grid/gov-grid-item.js +1 -1
- package/dist/collection/components/gov-grid/gov-grid.js +1 -1
- package/dist/collection/components/gov-infobar/gov-infobar.js +2 -2
- package/dist/collection/components/gov-layout/gov-layout-column.js +1 -1
- package/dist/collection/components/gov-layout/gov-layout.js +1 -1
- package/dist/collection/components/gov-lifecycle-tester/gov-lifecycle-tester.js +1 -1
- package/dist/collection/components/gov-link/gov-link.js +1 -1
- package/dist/collection/components/gov-loading/loading/gov-loading.js +1 -1
- package/dist/collection/components/gov-loading/skeleton/gov-skeleton.js +1 -1
- package/dist/collection/components/gov-message/gov-message.js +1 -1
- package/dist/collection/components/gov-spacer/gov-spacer.js +1 -1
- package/dist/collection/components/gov-stepper/gov-stepper-item.js +1 -1
- package/dist/collection/components/gov-stepper/gov-stepper.js +1 -1
- package/dist/collection/components/gov-tabs/gov-tabs-item.js +1 -1
- package/dist/collection/components/gov-tabs/gov-tabs.js +1 -1
- package/dist/collection/components/gov-tag/gov-tag.js +20 -1
- package/dist/collection/components/gov-tag/gov-tag.js.map +1 -1
- package/dist/collection/components/gov-theme-switch/constants.js +0 -2
- package/dist/collection/components/gov-theme-switch/constants.js.map +1 -1
- package/dist/collection/components/gov-theme-switch/gov-theme-switch.js +32 -9
- package/dist/collection/components/gov-theme-switch/gov-theme-switch.js.map +1 -1
- package/dist/collection/components/gov-tile/container/gov-tiles.js +1 -1
- package/dist/collection/components/gov-tile/gov-tile.js +1 -1
- package/dist/collection/components/gov-toast/gov-toast.js +1 -1
- package/dist/collection/components/gov-tooltip/gov-tooltip-content.js +1 -1
- package/dist/collection/components/gov-tooltip/gov-tooltip.js +2 -2
- package/dist/collection/components/gov-wizard/gov-wizard-item.js +2 -2
- package/dist/collection/components/gov-wizard/gov-wizard.js +1 -1
- package/dist/collection/pages/Card.js +22 -37
- package/dist/collection/pages/Card.js.map +1 -1
- package/dist/collection/pages/Flex.js +62 -0
- package/dist/collection/pages/Flex.js.map +1 -0
- package/dist/collection/pages/Forms.js +5 -5
- package/dist/collection/pages/Forms.js.map +1 -1
- package/dist/collection/pages/Tag.js +30 -23
- package/dist/collection/pages/Tag.js.map +1 -1
- package/dist/components/gov-accordion-item.js +1 -1
- package/dist/components/gov-attachments-item.js +1 -1
- package/dist/components/gov-breadcrumbs.js +1 -1
- package/dist/components/gov-button.js +1 -1
- package/dist/components/gov-card.js +1 -1
- package/dist/components/gov-card.js.map +1 -1
- package/dist/components/gov-chip.js +1 -1
- package/dist/components/gov-container.js +1 -1
- package/dist/components/gov-control-group.js +1 -1
- package/dist/components/gov-cookiebar.js +1 -1
- package/dist/components/gov-dialog.js +1 -1
- package/dist/components/gov-empty.js +1 -1
- package/dist/components/gov-error-code.js +1 -1
- package/dist/components/gov-flex.js +1 -1
- package/dist/components/gov-flex.js.map +1 -1
- package/dist/components/gov-form-autocomplete.js +1 -1
- package/dist/components/gov-form-checkbox-group.js +1 -1
- package/dist/components/gov-form-checkbox-group.js.map +1 -1
- package/dist/components/gov-form-checkbox.js +1 -1
- package/dist/components/gov-form-control.js +1 -1
- package/dist/components/gov-form-file.js +1 -1
- package/dist/components/gov-form-file.js.map +1 -1
- package/dist/components/gov-form-group.js +1 -1
- package/dist/components/gov-form-input.js +1 -1
- package/dist/components/gov-form-label.js +1 -1
- package/dist/components/gov-form-label.js.map +1 -1
- package/dist/components/gov-form-message.js +1 -1
- package/dist/components/gov-form-multi-select.js +1 -1
- package/dist/components/gov-form-password-power.js +1 -1
- package/dist/components/gov-form-radio-group.js +1 -1
- package/dist/components/gov-form-radio-group.js.map +1 -1
- package/dist/components/gov-form-search.js +1 -1
- package/dist/components/gov-form-select.js +1 -1
- package/dist/components/gov-form-switch.js +1 -1
- package/dist/components/gov-grid-item.js +1 -1
- package/dist/components/gov-grid.js +1 -1
- package/dist/components/gov-icon.js +1 -1
- package/dist/components/gov-infobar.js +1 -1
- package/dist/components/gov-layout-column.js +1 -1
- package/dist/components/gov-layout.js +1 -1
- package/dist/components/gov-lifecycle.js +1 -1
- package/dist/components/gov-link.js +1 -1
- package/dist/components/gov-link.js.map +1 -1
- package/dist/components/gov-loading.js +1 -1
- package/dist/components/gov-loading.js.map +1 -1
- package/dist/components/gov-message.js +1 -1
- package/dist/components/gov-pagination.js +1 -1
- package/dist/components/gov-skeleton.js +1 -1
- package/dist/components/gov-spacer.js +1 -1
- package/dist/components/gov-stepper-item.js +1 -1
- package/dist/components/gov-stepper.js +1 -1
- package/dist/components/gov-tabs-item.js +1 -1
- package/dist/components/gov-tabs.js +1 -1
- package/dist/components/gov-tag.js +1 -1
- package/dist/components/gov-tag.js.map +1 -1
- package/dist/components/gov-theme-switch.js +1 -1
- package/dist/components/gov-theme-switch.js.map +1 -1
- package/dist/components/gov-tile.js +1 -1
- package/dist/components/gov-tiles.js +1 -1
- package/dist/components/gov-toast.js +1 -1
- package/dist/components/gov-tooltip-content.js +1 -1
- package/dist/components/gov-tooltip.js +1 -1
- package/dist/components/gov-tooltip.js.map +1 -1
- package/dist/components/gov-wizard-item.js +1 -1
- package/dist/components/gov-wizard.js +1 -1
- package/dist/components/{p-46c567fd.js → p-18ab0d24.js} +2 -2
- package/dist/components/p-28776006.js +2 -0
- package/dist/components/{p-b95ebe8c.js.map → p-28776006.js.map} +1 -1
- package/dist/components/p-40c2fb42.js +2 -0
- package/dist/components/{p-1eb9c053.js.map → p-40c2fb42.js.map} +1 -1
- package/dist/components/{p-283b66c3.js → p-48c4d5c8.js} +2 -2
- package/dist/components/{p-318d89bd.js → p-b25af2cf.js} +2 -2
- package/dist/components/{p-ac359044.js → p-b97d8edd.js} +2 -2
- package/dist/components/p-c438a723.js +2 -0
- package/dist/components/{p-a6be4769.js → p-ce90ff14.js} +2 -2
- package/dist/components/p-d962bf44.js +2 -0
- package/dist/core/core.css +438 -273
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-c916d0d2.entry.js → p-0dac0792.entry.js} +2 -2
- package/dist/core/{p-b7cfe254.entry.js → p-12d1e5bc.entry.js} +2 -2
- package/dist/core/p-182d03c1.entry.js +2 -0
- package/dist/core/p-2496f2a5.entry.js +2 -0
- package/dist/core/{p-e61aa53b.entry.js.map → p-2496f2a5.entry.js.map} +1 -1
- package/dist/core/p-29d16111.entry.js +2 -0
- package/dist/core/{p-019e967c.entry.js.map → p-29d16111.entry.js.map} +1 -1
- package/dist/core/p-2b51b8e8.entry.js +2 -0
- package/dist/core/p-2b51b8e8.entry.js.map +1 -0
- package/dist/core/p-2bde147f.entry.js +2 -0
- package/dist/core/{p-bdc51179.entry.js.map → p-2bde147f.entry.js.map} +1 -1
- package/dist/core/{p-ed833334.entry.js → p-2e21a994.entry.js} +2 -2
- package/dist/core/p-3df6c6cd.entry.js +2 -0
- package/dist/core/p-436e7690.entry.js +2 -0
- package/dist/core/p-467f778b.entry.js +2 -0
- package/dist/core/p-4d81039c.entry.js +2 -0
- package/dist/core/p-520ac994.entry.js +2 -0
- package/dist/core/p-53fa7648.entry.js +2 -0
- package/dist/core/{p-5c9e6275.entry.js.map → p-53fa7648.entry.js.map} +1 -1
- package/dist/core/{p-0fdd8929.entry.js → p-581c8075.entry.js} +2 -2
- package/dist/core/{p-d836fcde.entry.js → p-5a92b9d9.entry.js} +2 -2
- package/dist/core/{p-8506b611.js → p-5fbde4f9.js} +2 -2
- package/dist/core/{p-9fe35463.entry.js → p-605e72b1.entry.js} +2 -2
- package/dist/core/{p-3cb36bae.entry.js → p-64dc1cdb.entry.js} +2 -2
- package/dist/core/{p-7e04730a.entry.js → p-6603e3df.entry.js} +2 -2
- package/dist/core/p-6f260a90.entry.js +2 -0
- package/dist/core/{p-c054f955.entry.js.map → p-6f260a90.entry.js.map} +1 -1
- package/dist/core/{p-bcb45a18.entry.js → p-71dc8171.entry.js} +2 -2
- package/dist/core/p-87562d9e.entry.js +2 -0
- package/dist/core/{p-6bb37fe2.entry.js.map → p-87562d9e.entry.js.map} +1 -1
- package/dist/core/p-88b69d30.entry.js +2 -0
- package/dist/core/{p-bc966c46.entry.js.map → p-88b69d30.entry.js.map} +1 -1
- package/dist/core/{p-ed8fc183.entry.js → p-8ece244d.entry.js} +2 -2
- package/dist/core/{p-561718cd.entry.js → p-913331e8.entry.js} +2 -2
- package/dist/core/p-979b03eb.entry.js +2 -0
- package/dist/core/{p-da7f1e11.entry.js.map → p-979b03eb.entry.js.map} +1 -1
- package/dist/core/{p-97a9725d.entry.js → p-97c65665.entry.js} +2 -2
- package/dist/core/p-97e8b4b3.entry.js +2 -0
- package/dist/core/{p-439b66a5.entry.js.map → p-97e8b4b3.entry.js.map} +1 -1
- package/dist/core/{p-d65cef62.entry.js → p-abefa59b.entry.js} +2 -2
- package/dist/core/{p-72130a8f.entry.js → p-aeab9c1a.entry.js} +2 -2
- package/dist/core/{p-ccec8019.entry.js → p-af9fe91a.entry.js} +2 -2
- package/dist/core/p-b0d1073c.entry.js +2 -0
- package/dist/core/{p-b923a8d9.entry.js.map → p-b0d1073c.entry.js.map} +1 -1
- package/dist/core/p-b245d627.entry.js +2 -0
- package/dist/core/{p-56dc370d.entry.js.map → p-b245d627.entry.js.map} +1 -1
- package/dist/core/p-b2abc2fc.entry.js +2 -0
- package/dist/core/{p-3d6edb09.entry.js.map → p-b2abc2fc.entry.js.map} +1 -1
- package/dist/core/{p-0be19b89.entry.js → p-b4cf97ab.entry.js} +2 -2
- package/dist/core/p-b766810e.entry.js +2 -0
- package/dist/core/p-b766810e.entry.js.map +1 -0
- package/dist/core/p-bc0ed2c1.entry.js +2 -0
- package/dist/core/{p-dea64896.entry.js → p-bf8529f8.entry.js} +2 -2
- package/dist/core/{p-1200a32d.entry.js → p-cd988543.entry.js} +2 -2
- package/dist/core/p-d2b11492.entry.js +2 -0
- package/dist/core/{p-41c6b262.entry.js.map → p-d2b11492.entry.js.map} +1 -1
- package/dist/core/p-d3f7d3d5.entry.js +2 -0
- package/dist/core/p-d6e972c0.entry.js +2 -0
- package/dist/core/p-d952e56f.entry.js +2 -0
- package/dist/core/p-eaa83b2f.entry.js +2 -0
- package/dist/core/p-ebc318d7.entry.js +2 -0
- package/dist/core/p-ebeb1a03.entry.js +2 -0
- package/dist/core/{p-04fa0ab5.entry.js.map → p-ebeb1a03.entry.js.map} +1 -1
- package/dist/core/{p-432c3875.entry.js → p-ee0f3bd9.entry.js} +2 -2
- package/dist/core/p-ee7af1ab.entry.js +2 -0
- package/dist/core/{p-2739fa61.entry.js.map → p-ee7af1ab.entry.js.map} +1 -1
- package/dist/core/{p-f7a4da9d.entry.js → p-eeee2325.entry.js} +2 -2
- package/dist/core/p-f83b9da5.entry.js +2 -0
- package/dist/core/{p-4c5f6299.entry.js.map → p-f83b9da5.entry.js.map} +1 -1
- package/dist/core/p-fa161f10.entry.js +2 -0
- package/dist/core/{p-e834ee73.entry.js → p-fa5b72de.entry.js} +2 -2
- package/dist/core/p-fb8c019a.entry.js +2 -0
- package/dist/core/p-fb8c019a.entry.js.map +1 -0
- package/dist/core/p-ff609d0e.entry.js +2 -0
- package/dist/esm/core.js +3 -3
- package/dist/esm/gov-accordion-item.entry.js +1 -1
- package/dist/esm/gov-accordion.entry.js +1 -1
- package/dist/esm/gov-attachments_3.entry.js +3 -3
- package/dist/esm/gov-attachments_3.entry.js.map +1 -1
- package/dist/esm/gov-backdrop.entry.js +1 -1
- package/dist/esm/gov-breadcrumbs.entry.js +1 -1
- package/dist/esm/gov-button.entry.js +1 -1
- package/dist/esm/gov-card.entry.js +10 -7
- package/dist/esm/gov-card.entry.js.map +1 -1
- package/dist/esm/gov-chip.entry.js +3 -3
- package/dist/esm/gov-container.entry.js +2 -2
- package/dist/esm/gov-control-group.entry.js +2 -2
- package/dist/esm/gov-cookiebar.entry.js +2 -2
- package/dist/esm/gov-dialog.entry.js +2 -2
- package/dist/esm/gov-dropdown.entry.js +1 -1
- package/dist/esm/gov-empty.entry.js +2 -2
- package/dist/esm/gov-error-code.entry.js +2 -2
- package/dist/esm/{gov-flex_4.entry.js → gov-flex_3.entry.js} +13 -29
- package/dist/esm/gov-flex_3.entry.js.map +1 -0
- package/dist/esm/gov-form-autocomplete.entry.js +2 -2
- package/dist/esm/gov-form-checkbox-group.entry.js +3 -3
- package/dist/esm/gov-form-checkbox-group.entry.js.map +1 -1
- package/dist/esm/gov-form-checkbox.entry.js +1 -1
- package/dist/esm/gov-form-control.entry.js +2 -2
- package/dist/esm/gov-form-file.entry.js +2 -2
- package/dist/esm/gov-form-group.entry.js +2 -2
- package/dist/esm/gov-form-input_2.entry.js +7 -7
- package/dist/esm/gov-form-label.entry.js +23 -0
- package/dist/esm/gov-form-label.entry.js.map +1 -0
- package/dist/esm/gov-form-multi-select.entry.js +3 -3
- package/dist/esm/gov-form-password-power.entry.js +2 -2
- package/dist/esm/gov-form-radio-group.entry.js +3 -3
- package/dist/esm/gov-form-radio-group.entry.js.map +1 -1
- package/dist/esm/gov-form-radio.entry.js +1 -1
- package/dist/esm/gov-form-search.entry.js +2 -2
- package/dist/esm/gov-form-select.entry.js +3 -3
- package/dist/esm/gov-form-switch.entry.js +1 -1
- package/dist/esm/gov-grid-item.entry.js +2 -2
- package/dist/esm/gov-grid.entry.js +2 -2
- package/dist/esm/gov-infobar.entry.js +3 -3
- package/dist/esm/gov-layout-column.entry.js +2 -2
- package/dist/esm/gov-layout.entry.js +2 -2
- package/dist/esm/gov-lifecycle.entry.js +2 -2
- package/dist/esm/gov-link.entry.js +2 -2
- package/dist/esm/gov-loading.entry.js +2 -2
- package/dist/esm/gov-message.entry.js +2 -2
- package/dist/esm/gov-pagination.entry.js +1 -1
- package/dist/esm/gov-spacer.entry.js +2 -2
- package/dist/esm/gov-stepper-item.entry.js +2 -2
- package/dist/esm/gov-stepper.entry.js +2 -2
- package/dist/esm/gov-tabs-item.entry.js +2 -2
- package/dist/esm/gov-tabs.entry.js +2 -2
- package/dist/esm/gov-tag.entry.js +3 -2
- package/dist/esm/gov-tag.entry.js.map +1 -1
- package/dist/esm/gov-tile.entry.js +2 -2
- package/dist/esm/gov-tiles.entry.js +2 -2
- package/dist/esm/gov-toast.entry.js +2 -2
- package/dist/esm/gov-tooltip-content.entry.js +2 -2
- package/dist/esm/gov-tooltip.entry.js +3 -3
- package/dist/esm/gov-wizard-item.entry.js +3 -3
- package/dist/esm/gov-wizard.entry.js +2 -2
- package/dist/esm/{index-c263e031.js → index-8dc58a1a.js} +8 -4
- package/dist/esm/{index-c263e031.js.map → index-8dc58a1a.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/hydrate/index.js +83 -76
- package/dist/hydrate/index.mjs +83 -76
- package/dist/types/components/gov-card/constants.d.ts +8 -4
- package/dist/types/components/gov-card/gov-card.d.ts +3 -2
- package/dist/types/components/gov-flex/constants.d.ts +4 -0
- package/dist/types/components/gov-flex/gov-flex.d.ts +9 -7
- package/dist/types/components/gov-tag/gov-tag.d.ts +4 -0
- package/dist/types/components/gov-theme-switch/constants.d.ts +0 -2
- package/dist/types/components/gov-theme-switch/gov-theme-switch.d.ts +8 -4
- package/dist/types/components.d.ts +50 -22
- package/dist/types/pages/Flex.d.ts +3 -0
- package/package.json +1 -1
- package/dist/cjs/gov-flex_4.cjs.entry.js.map +0 -1
- package/dist/components/p-1eb9c053.js +0 -2
- package/dist/components/p-3d7a21b5.js +0 -2
- package/dist/components/p-68a1aaec.js +0 -2
- package/dist/components/p-68a1aaec.js.map +0 -1
- package/dist/components/p-a6b7a6c2.js +0 -2
- package/dist/components/p-b95ebe8c.js +0 -2
- package/dist/core/p-00d153bf.entry.js +0 -2
- package/dist/core/p-019e967c.entry.js +0 -2
- package/dist/core/p-04fa0ab5.entry.js +0 -2
- package/dist/core/p-22fa411d.entry.js +0 -2
- package/dist/core/p-2739fa61.entry.js +0 -2
- package/dist/core/p-30eaeeec.entry.js +0 -2
- package/dist/core/p-3d6edb09.entry.js +0 -2
- package/dist/core/p-3f6a2d20.entry.js +0 -2
- package/dist/core/p-3f6a2d20.entry.js.map +0 -1
- package/dist/core/p-41c6b262.entry.js +0 -2
- package/dist/core/p-439b66a5.entry.js +0 -2
- package/dist/core/p-4b90fbc4.entry.js +0 -2
- package/dist/core/p-4c5f6299.entry.js +0 -2
- package/dist/core/p-535316b4.entry.js +0 -2
- package/dist/core/p-5396935e.entry.js +0 -2
- package/dist/core/p-56dc370d.entry.js +0 -2
- package/dist/core/p-5b2131c1.entry.js +0 -2
- package/dist/core/p-5c9e6275.entry.js +0 -2
- package/dist/core/p-65e67731.entry.js +0 -2
- package/dist/core/p-6bb37fe2.entry.js +0 -2
- package/dist/core/p-6e457b3d.entry.js +0 -2
- package/dist/core/p-7b7e502b.entry.js +0 -2
- package/dist/core/p-9c2c5447.entry.js +0 -2
- package/dist/core/p-9c2c5447.entry.js.map +0 -1
- package/dist/core/p-b923a8d9.entry.js +0 -2
- package/dist/core/p-bc966c46.entry.js +0 -2
- package/dist/core/p-bdc51179.entry.js +0 -2
- package/dist/core/p-c054f955.entry.js +0 -2
- package/dist/core/p-cd2d335d.entry.js +0 -2
- package/dist/core/p-da7f1e11.entry.js +0 -2
- package/dist/core/p-e61aa53b.entry.js +0 -2
- package/dist/core/p-ea44d447.entry.js +0 -2
- package/dist/core/p-f4bcf817.entry.js +0 -2
- package/dist/core/p-f4dac942.entry.js +0 -2
- package/dist/esm/gov-flex_4.entry.js.map +0 -1
- /package/dist/components/{p-46c567fd.js.map → p-18ab0d24.js.map} +0 -0
- /package/dist/components/{p-283b66c3.js.map → p-48c4d5c8.js.map} +0 -0
- /package/dist/components/{p-318d89bd.js.map → p-b25af2cf.js.map} +0 -0
- /package/dist/components/{p-ac359044.js.map → p-b97d8edd.js.map} +0 -0
- /package/dist/components/{p-a6b7a6c2.js.map → p-c438a723.js.map} +0 -0
- /package/dist/components/{p-a6be4769.js.map → p-ce90ff14.js.map} +0 -0
- /package/dist/components/{p-3d7a21b5.js.map → p-d962bf44.js.map} +0 -0
- /package/dist/core/{p-c916d0d2.entry.js.map → p-0dac0792.entry.js.map} +0 -0
- /package/dist/core/{p-b7cfe254.entry.js.map → p-12d1e5bc.entry.js.map} +0 -0
- /package/dist/core/{p-22fa411d.entry.js.map → p-182d03c1.entry.js.map} +0 -0
- /package/dist/core/{p-ed833334.entry.js.map → p-2e21a994.entry.js.map} +0 -0
- /package/dist/core/{p-30eaeeec.entry.js.map → p-3df6c6cd.entry.js.map} +0 -0
- /package/dist/core/{p-5396935e.entry.js.map → p-436e7690.entry.js.map} +0 -0
- /package/dist/core/{p-6e457b3d.entry.js.map → p-467f778b.entry.js.map} +0 -0
- /package/dist/core/{p-7b7e502b.entry.js.map → p-4d81039c.entry.js.map} +0 -0
- /package/dist/core/{p-cd2d335d.entry.js.map → p-520ac994.entry.js.map} +0 -0
- /package/dist/core/{p-0fdd8929.entry.js.map → p-581c8075.entry.js.map} +0 -0
- /package/dist/core/{p-d836fcde.entry.js.map → p-5a92b9d9.entry.js.map} +0 -0
- /package/dist/core/{p-8506b611.js.map → p-5fbde4f9.js.map} +0 -0
- /package/dist/core/{p-9fe35463.entry.js.map → p-605e72b1.entry.js.map} +0 -0
- /package/dist/core/{p-3cb36bae.entry.js.map → p-64dc1cdb.entry.js.map} +0 -0
- /package/dist/core/{p-7e04730a.entry.js.map → p-6603e3df.entry.js.map} +0 -0
- /package/dist/core/{p-bcb45a18.entry.js.map → p-71dc8171.entry.js.map} +0 -0
- /package/dist/core/{p-ed8fc183.entry.js.map → p-8ece244d.entry.js.map} +0 -0
- /package/dist/core/{p-561718cd.entry.js.map → p-913331e8.entry.js.map} +0 -0
- /package/dist/core/{p-97a9725d.entry.js.map → p-97c65665.entry.js.map} +0 -0
- /package/dist/core/{p-d65cef62.entry.js.map → p-abefa59b.entry.js.map} +0 -0
- /package/dist/core/{p-72130a8f.entry.js.map → p-aeab9c1a.entry.js.map} +0 -0
- /package/dist/core/{p-ccec8019.entry.js.map → p-af9fe91a.entry.js.map} +0 -0
- /package/dist/core/{p-0be19b89.entry.js.map → p-b4cf97ab.entry.js.map} +0 -0
- /package/dist/core/{p-5b2131c1.entry.js.map → p-bc0ed2c1.entry.js.map} +0 -0
- /package/dist/core/{p-dea64896.entry.js.map → p-bf8529f8.entry.js.map} +0 -0
- /package/dist/core/{p-1200a32d.entry.js.map → p-cd988543.entry.js.map} +0 -0
- /package/dist/core/{p-f4dac942.entry.js.map → p-d3f7d3d5.entry.js.map} +0 -0
- /package/dist/core/{p-00d153bf.entry.js.map → p-d6e972c0.entry.js.map} +0 -0
- /package/dist/core/{p-4b90fbc4.entry.js.map → p-d952e56f.entry.js.map} +0 -0
- /package/dist/core/{p-65e67731.entry.js.map → p-eaa83b2f.entry.js.map} +0 -0
- /package/dist/core/{p-ea44d447.entry.js.map → p-ebc318d7.entry.js.map} +0 -0
- /package/dist/core/{p-432c3875.entry.js.map → p-ee0f3bd9.entry.js.map} +0 -0
- /package/dist/core/{p-f7a4da9d.entry.js.map → p-eeee2325.entry.js.map} +0 -0
- /package/dist/core/{p-535316b4.entry.js.map → p-fa161f10.entry.js.map} +0 -0
- /package/dist/core/{p-e834ee73.entry.js.map → p-fa5b72de.entry.js.map} +0 -0
- /package/dist/core/{p-f4bcf817.entry.js.map → p-ff609d0e.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GovFormSelect","constructor","hostRef","this","h","govHost","host","f","govForm","selectId","createID","validateSize","newValue","validateProp","FormSelectSizes","FormSelectClass","root","watchOptions","optionsState","propsValueToArray","watchControlAttrs","passControlAttrs","watchValue","markSelectedValue","passAttrToControl","size","toBoolAttr","invalid","success","disabled","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","disconnectedCallback","stopObserving","componentWillLoad","options","inheritedAttributes","inheritAriaAttributes","componentDidRender","passAttrToLabel","String","required","tick","removeAttribute","Object","assign","querySelectorAll","forEach","option","value","setAttribute","render","Host","key","class","hasSlot","name","id","identifier","onFocus","onFocusHandler","bind","onChange","onChangeHandler","onBlur","onBlurHandler","ref","el","selectRef","toBoolAttrIfDefined","Array","isArray","map","selected","_a","label","type","e","focused","govFocus","emit","component","originalEvent","govBlur","target","stopPropagation","govChange","setFocus","focus","getRef"],"sources":["../../../packages/core/src/components/gov-form/select/gov-form-select.tsx"],"sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from '@stencil/core'\nimport {govForm} from '../../../helpers/Dom/form'\nimport {GovForm} from '../../../helpers/Dom/form.types'\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from '../../../helpers/Dom/template'\nimport {GovHost} from '../../../helpers/Dom/template.types'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {createID} from '../../../utils/string.utils'\nimport {FormSelectClass, FormSelectSizes, FormSelectSizesType,} from './constants'\nimport {FormSelectEvent, FormSelectOption} from './gov-form-select.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport {tick} from \"../../../utils/stencil.utils\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: 'gov-form-select',\n})\nexport class GovFormSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\tprivate selectRef?: HTMLSelectElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly selectId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t\tthis.selectId = createID('GovSelect')\n\t}\n\n\t@Element() host: HTMLGovFormSelectElement\n\t/**\n\t * Value of select\n\t */\n\t@Prop({reflect: true, mutable: true}) value: string\n\t/**\n\t * Options of select\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | FormSelectOption[]\n\t/**\n\t * Custom select identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Select’s size.\n\t */\n\t@Prop() readonly size?: FormSelectSizesType = 'm'\n\t/**\n\t * Name of the select.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop({reflect: true}) readonly success: boolean\n\t/**\n\t * Makes the select component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Emitted when the select has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormSelectEvent>\n\t/**\n\t * Emitted when the select loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormSelectEvent>\n\t/**\n\t * Emitted when the select change value.\n\t */\n\t@Event({eventName: 'gov-change'}) govChange: EventEmitter<FormSelectEvent>\n\t@State() focused: boolean\n\t@State() optionsState: FormSelectOption[] = []\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormSelectSizes, newValue, FormSelectClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | FormSelectOption[]): void {\n\t\tthis.optionsState = propsValueToArray(newValue)\n\t}\n\n\t@Watch('disabled')\n\t@Watch('invalid')\n\t@Watch('success')\n\t@Watch('size')\n\twatchControlAttrs(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\t@Watch('value')\n\twatchValue(): void {\n\t\tthis.markSelectedValue()\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\n\n\tprivate passControlAttrs() {\n\t\tthis.f.passAttrToControl('size', this.size)\n\t\tthis.f.passAttrToControl('invalid', toBoolAttr(this.invalid))\n\t\tthis.f.passAttrToControl('success', toBoolAttr(this.success))\n\t\tthis.f.passAttrToControl('disabled', toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl('type', 'select')\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver.stopObserving();\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\n\t\tthis.markSelectedValue()\n\n\t\tthis.optionsState = propsValueToArray(this.options)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.passControlAttrs()\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\t\ttick(() => this.markSelectedValue())\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tprivate markSelectedValue() {\n\t\tthis.host.querySelectorAll('option').forEach((option: HTMLOptionElement) => {\n\t\t\tif (option.value === this.value) {\n\t\t\t\toption.setAttribute('selected', 'selected')\n\t\t\t} else {\n\t\t\t\toption.removeAttribute('selected')\n\t\t\t}\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormSelectClass.root} size={this.size}>\n\t\t\t\t{this.h.hasSlot('prefix') && <slot name=\"prefix\"></slot>}\n\t\t\t\t<span class=\"element\">\n\t\t\t\t\t<select\n\t\t\t\t\t\tid={this.identifier || this.selectId}\n\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tref={el => (this.selectRef = el as HTMLSelectElement)}\n\t\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t{Array.isArray(this.optionsState) && this.optionsState.map((option) => {\n\t\t\t\t\t\t\treturn (<option value={option.value} selected={option.value === this.value}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={option?.disabled}>{option.label ?? option.value}</option>)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</select>\n\t\t\t\t\t{this.success && <gov-icon class=\"validation-icon\" name=\"check-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t{this.invalid && <gov-icon class=\"validation-icon\" name=\"exclamation-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t<gov-icon class=\"arrow-icon\" name=\"chevron-down\" type=\"components\"></gov-icon>\n\t\t\t\t</span>\n\t\t\t\t{this.h.hasSlot('sufix') && <slot name=\"sufix\"></slot>}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\tthis.focused = true\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.value = (e.target as HTMLSelectElement).value\n\t\te.stopPropagation()\n\t\tthis.govChange.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.selectRef.focus(options)\n\t}\n\n\t/**\n\t * Returns an instance of the native html select element\n\t */\n\t@Method()\n\tasync getRef(): Promise<HTMLSelectElement> {\n\t\treturn this.selectRef\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["GovFormSelect","constructor","hostRef","this","h","govHost","host","f","govForm","selectId","createID","validateSize","newValue","validateProp","FormSelectSizes","FormSelectClass","root","watchOptions","optionsState","propsValueToArray","watchControlAttrs","passControlAttrs","watchValue","markSelectedValue","passAttrToControl","size","toBoolAttr","invalid","success","disabled","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","disconnectedCallback","stopObserving","componentWillLoad","options","inheritedAttributes","inheritAriaAttributes","componentDidRender","passAttrToLabel","String","required","tick","removeAttribute","Object","assign","querySelectorAll","forEach","option","value","setAttribute","render","Host","key","class","hasSlot","name","id","identifier","onFocus","onFocusHandler","bind","onChange","onChangeHandler","onBlur","onBlurHandler","ref","el","selectRef","toBoolAttrIfDefined","Array","isArray","map","selected","_a","label","type","e","focused","govFocus","emit","component","originalEvent","govBlur","target","stopPropagation","govChange","setFocus","focus","getRef"],"sources":["../../../packages/core/src/components/gov-form/select/gov-form-select.tsx"],"sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from '@stencil/core'\nimport {govForm} from '../../../helpers/Dom/form'\nimport {GovForm} from '../../../helpers/Dom/form.types'\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from '../../../helpers/Dom/template'\nimport {GovHost} from '../../../helpers/Dom/template.types'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {createID} from '../../../utils/string.utils'\nimport {FormSelectClass, FormSelectSizes, FormSelectSizesType,} from './constants'\nimport {FormSelectEvent, FormSelectOption} from './gov-form-select.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport {tick} from \"../../../utils/stencil.utils\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: 'gov-form-select',\n})\nexport class GovFormSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\tprivate selectRef?: HTMLSelectElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly selectId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t\tthis.selectId = createID('GovSelect')\n\t}\n\n\t@Element() host: HTMLGovFormSelectElement\n\t/**\n\t * Value of select\n\t */\n\t@Prop({reflect: true, mutable: true}) value: string\n\t/**\n\t * Options of select\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | FormSelectOption[]\n\t/**\n\t * Custom select identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Select’s size.\n\t */\n\t@Prop() readonly size?: FormSelectSizesType = 'm'\n\t/**\n\t * Name of the select.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop({reflect: true}) readonly success: boolean\n\t/**\n\t * Makes the select component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Emitted when the select has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormSelectEvent>\n\t/**\n\t * Emitted when the select loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormSelectEvent>\n\t/**\n\t * Emitted when the select change value.\n\t */\n\t@Event({eventName: 'gov-change'}) govChange: EventEmitter<FormSelectEvent>\n\t@State() focused: boolean\n\t@State() optionsState: FormSelectOption[] = []\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormSelectSizes, newValue, FormSelectClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | FormSelectOption[]): void {\n\t\tthis.optionsState = propsValueToArray(newValue)\n\t}\n\n\t@Watch('disabled')\n\t@Watch('invalid')\n\t@Watch('success')\n\t@Watch('size')\n\twatchControlAttrs(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\t@Watch('value')\n\twatchValue(): void {\n\t\tthis.markSelectedValue()\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\n\n\tprivate passControlAttrs() {\n\t\tthis.f.passAttrToControl('size', this.size)\n\t\tthis.f.passAttrToControl('invalid', toBoolAttr(this.invalid))\n\t\tthis.f.passAttrToControl('success', toBoolAttr(this.success))\n\t\tthis.f.passAttrToControl('disabled', toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl('type', 'select')\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver.stopObserving();\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\n\t\tthis.markSelectedValue()\n\n\t\tthis.optionsState = propsValueToArray(this.options)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.passControlAttrs()\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\t\ttick(() => this.markSelectedValue())\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tprivate markSelectedValue() {\n\t\tthis.host.querySelectorAll('option').forEach((option: HTMLOptionElement) => {\n\t\t\tif (option.value === this.value) {\n\t\t\t\toption.setAttribute('selected', 'selected')\n\t\t\t} else {\n\t\t\t\toption.removeAttribute('selected')\n\t\t\t}\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormSelectClass.root} size={this.size}>\n\t\t\t\t{this.h.hasSlot('prefix') && <slot name=\"prefix\"></slot>}\n\t\t\t\t<span class=\"element\">\n\t\t\t\t\t<select\n\t\t\t\t\t\tid={this.identifier || this.selectId}\n\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tref={el => (this.selectRef = el as HTMLSelectElement)}\n\t\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t{Array.isArray(this.optionsState) && this.optionsState.map((option) => {\n\t\t\t\t\t\t\treturn (<option value={option.value} selected={option.value === this.value}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={option?.disabled}>{option.label ?? option.value}</option>)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</select>\n\t\t\t\t\t{this.success && <gov-icon class=\"validation-icon\" name=\"check-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t{this.invalid && <gov-icon class=\"validation-icon\" name=\"exclamation-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t<gov-icon class=\"arrow-icon\" name=\"chevron-down\" type=\"components\"></gov-icon>\n\t\t\t\t</span>\n\t\t\t\t{this.h.hasSlot('sufix') && <slot name=\"sufix\"></slot>}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\tthis.focused = true\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.value = (e.target as HTMLSelectElement).value\n\t\te.stopPropagation()\n\t\tthis.govChange.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.selectRef.focus(options)\n\t}\n\n\t/**\n\t * Returns an instance of the native html select element\n\t */\n\t@Method()\n\tasync getRef(): Promise<HTMLSelectElement> {\n\t\treturn this.selectRef\n\t}\n}\n"],"mappings":"okBAkBaA,EAAa,MAQzB,WAAAC,CAAAC,G,sMAsB8C,I,kCAST,M,qCASe,M,gEAkBR,G,yBAyBD,GAlF1CC,KAAKC,EAAIC,EAAQF,KAAKG,MACtBH,KAAKI,EAAIC,EAAQL,KAAKC,GACtBD,KAAKM,SAAWC,EAAS,Y,CA0D1B,YAAAC,CAAaC,GACZC,EAAaC,EAAiBF,EAAUG,EAAgBC,K,CAIzD,YAAAC,CAAaL,GACZT,KAAKe,aAAeC,EAAkBP,E,CAOvC,iBAAAQ,GACCjB,KAAKkB,kB,CAIN,UAAAC,GACCnB,KAAKoB,mB,CAKE,gBAAAF,GACPlB,KAAKI,EAAEiB,kBAAkB,OAAQrB,KAAKsB,MACtCtB,KAAKI,EAAEiB,kBAAkB,UAAWE,EAAWvB,KAAKwB,UACpDxB,KAAKI,EAAEiB,kBAAkB,UAAWE,EAAWvB,KAAKyB,UACpDzB,KAAKI,EAAEiB,kBAAkB,WAAYE,EAAWvB,KAAK0B,WACrD1B,KAAKI,EAAEiB,kBAAkB,OAAQ,S,CAGlC,gBAAAM,GACC3B,KAAK4B,kBAAoB,IAAIC,EAAkB7B,KAAKG,MAAM,CAAC2B,EAAerB,KACzET,KAAK+B,sBAAsBD,EAAerB,EAAS,IAGpDT,KAAK4B,kBAAkBI,eAAeC,E,CAGvC,oBAAAC,GACClC,KAAK4B,kBAAkBO,e,CAGxB,iBAAAC,GACCpC,KAAKQ,aAAaR,KAAKsB,MAEvBtB,KAAKoB,oBAELpB,KAAKe,aAAeC,EAAkBhB,KAAKqC,SAC3CrC,KAAKsC,oBAAsBC,EAAsBvC,KAAKG,K,CAGvD,wBAAMqC,GACLxC,KAAKkB,mBACLlB,KAAKI,EAAEqC,gBAAgB,WAAYC,OAAO1C,KAAK2C,WAC/CC,GAAK,IAAM5C,KAAKoB,qB,CAGjB,qBAAAW,CAAsBD,EAAuBrB,GAC5CT,KAAKG,KAAK0C,gBAAgBf,GAC1B9B,KAAKsC,oBAAmBQ,OAAAC,OAAAD,OAAAC,OAAA,GAAO/C,KAAKsC,qBAAmB,CAAER,CAACA,GAAgBrB,G,CAGnE,iBAAAW,GACPpB,KAAKG,KAAK6C,iBAAiB,UAAUC,SAASC,IAC7C,GAAIA,EAAOC,QAAUnD,KAAKmD,MAAO,CAChCD,EAAOE,aAAa,WAAY,W,KAC1B,CACNF,EAAOL,gBAAgB,W,KAK1B,MAAAQ,GACC,OACCpD,EAACqD,EAAI,CAAAC,IAAA,2CAACC,MAAO5C,EAAgBC,KAAMS,KAAMtB,KAAKsB,MAC5CtB,KAAKC,EAAEwD,QAAQ,WAAaxD,EAAA,QAAAsD,IAAA,2CAAMG,KAAK,WACxCzD,EAAA,QAAAsD,IAAA,2CAAMC,MAAM,WACXvD,EAAA,SAAA6C,OAAAC,OAAA,CAAAQ,IAAA,2CACCI,GAAI3D,KAAK4D,YAAc5D,KAAKM,SAC5BuD,QAAS7D,KAAK8D,eAAeC,KAAK/D,MAClCgE,SAAUhE,KAAKiE,gBAAgBF,KAAK/D,MACpCkE,OAAQlE,KAAKmE,cAAcJ,KAAK/D,MAChC2C,SAAU3C,KAAK2C,SACfe,KAAM1D,KAAK0D,KACXhC,SAAU1B,KAAK0B,SACf0C,IAAKC,GAAOrE,KAAKsE,UAAYD,GACzBrE,KAAKsC,oBAAmB,iBACbiC,EAAoBvE,KAAK0B,UAAS,gBAClC6C,EAAoBvE,KAAK2C,UAAS,eACnC4B,EAAoBvE,KAAKwB,WAEvCvB,EAAA,QAAAsD,IAAA,6CACCiB,MAAMC,QAAQzE,KAAKe,eAAiBf,KAAKe,aAAa2D,KAAKxB,I,MAC3D,OAAQjD,EAAA,UAAQkD,MAAOD,EAAOC,MAAOwB,SAAUzB,EAAOC,QAAUnD,KAAKmD,MACjEzB,SAAUwB,IAAM,MAANA,SAAM,SAANA,EAAQxB,WAAWkD,EAAA1B,EAAO2B,SAAK,MAAAD,SAAA,EAAAA,EAAI1B,EAAOC,MAAe,KAGxEnD,KAAKyB,SAAWxB,EAAA,YAAAsD,IAAA,2CAAUC,MAAM,kBAAkBE,KAAK,WAAWoB,KAAK,eACvE9E,KAAKwB,SAAWvB,EAAA,YAAAsD,IAAA,2CAAUC,MAAM,kBAAkBE,KAAK,iBAAiBoB,KAAK,eAC9E7E,EAAA,YAAAsD,IAAA,2CAAUC,MAAM,aAAaE,KAAK,eAAeoB,KAAK,gBAEtD9E,KAAKC,EAAEwD,QAAQ,UAAYxD,EAAA,QAAAsD,IAAA,2CAAMG,KAAK,U,CAKlC,cAAAI,CAAeiB,GACtB/E,KAAKgF,QAAU,KACfhF,KAAKiF,SAASC,KAAK,CAClBC,UAAWvE,EAAgBC,KAC3BuE,cAAeL,EACf5B,MAAOnD,KAAKmD,O,CAIN,aAAAgB,CAAcY,GACrB/E,KAAKgF,QAAU,MACfhF,KAAKqF,QAAQH,KAAK,CACjBC,UAAWvE,EAAgBC,KAC3BuE,cAAeL,EACf5B,MAAOnD,KAAKmD,O,CAIN,eAAAc,CAAgBc,GACvB/E,KAAKmD,MAAS4B,EAAEO,OAA6BnC,MAC7C4B,EAAEQ,kBACFvF,KAAKwF,UAAUN,KAAK,CACnBC,UAAWvE,EAAgBC,KAC3BuE,cAAeL,EACf5B,MAAOnD,KAAKmD,O,CAQd,cAAMsC,CAASpD,GACd,OAAOrC,KAAKsE,UAAUoB,MAAMrD,E,CAO7B,YAAMsD,GACL,OAAO3F,KAAKsE,S","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,h as t,a as s,g as i}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,h as t,a as s,g as i}from"./p-5fbde4f9.js";import{c as a}from"./p-cd6c2938.js";import{g as r,t as d}from"./p-ea7fdd2e.js";import{a as n,T as h}from"./p-860520b0.js";import"./p-e0e2e9c1.js";import"./p-92f420cb.js";import"./p-5aad3497.js";const c=class{constructor(t){e(this,t);this.identifier=undefined;this.triggerIdentifier=undefined;this.label=undefined;this.disabled=false;this.iconStart=undefined;this.iconEnd=undefined;this.default=false;this.isActive=false;this.h=r(this.host);this.contentId=a("GovTabContent");this.triggerId=a("GovTabTrigger")}rerenderParent(){const e=this.h.getParent(n.root);if(e){e.rerender().catch()}}render(){return t(s,{key:"89b01b0d025a89f89085dba24db6b8fadcd97e68",class:this.h.classes(h.root),default:this.default},t("div",{key:"8868371d0da63c1727c8b3a55b930a4d0ce30a3c",class:h.inner,role:"tabpanel",id:this.identifier||this.contentId,hidden:!this.isActive,"aria-labelledby":this.triggerIdentifier||this.triggerId,"aria-hidden":d(!this.isActive)},t("slot",{key:"0d47bea8c416b1c57aac006f9eea9101ade9427d"})))}async getIdentifier(){return this.identifier||this.contentId}async getTriggerIdentifier(){return this.triggerIdentifier||this.triggerId}async getDisableState(){return this.disabled}async setActiveStatus(e){this.isActive=e}get host(){return i(this)}static get watchers(){return{label:["rerenderParent"],disabled:["rerenderParent"]}}};export{c as gov_tabs_item};
|
|
2
|
+
//# sourceMappingURL=p-b4cf97ab.entry.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,h as e,a as s,g as i,c as n,d as o}from"./p-5fbde4f9.js";import{S as a}from"./p-92f420cb.js";import{g as c}from"./p-ea7fdd2e.js";import{p as r}from"./p-e0e2e9c1.js";import{C as h}from"./p-5aad3497.js";import{i as d,a as l,b as f}from"./p-e8ec030e.js";import{v as u}from"./p-0b3574c2.js";const m={root:"gov-flex"};const p=class{constructor(e){t(this,e);this.direction="row";this.justifyContent=undefined;this.alignItems=undefined;this.wrap=undefined;this.alignContent=undefined;this.alignSelf=undefined;this.gap=undefined;this.h=c(this.host)}render(){return e(s,{key:"08c1591134f0b5c95a18ac9e1d3723c12d9bc47b",class:this.h.classes(m.root)},e("slot",{key:"b66fb8ffa35b0fb98eed3440a55a92a1bd97eb76"}))}get host(){return i(this)}};r(a,["_XS","_S","_M","_L","_XL","_2XL","_3XL","_4XL","_5XL"]);const b=r(h,["DEFAULT","PRIMARY","SECONDARY","NEUTRAL","ERROR","SUCCESS","WARNING","DISABLED","WHITE","BLACK"]);var g;(function(t){t["BASIC"]="basic";t["COMPLEX"]="complex";t["COLORED"]="colored"})(g||(g={}));const v={root:"gov-icon",holder:"gov-icon__holder"};const w="4.1.2";const _=()=>w;const y={};const S={};const k=t=>t.startsWith("http://")||t.startsWith("https://");const L=(t,e,s)=>{if(k(t)){return`${t}/${s}/${e}.svg?v=${_()}`}return n(`${t}/${s}/${e}.svg`)+`?v=${_()}`};async function C({name:t,type:e}){const s=e+"-"+t;if(y[s]){return y[s]}if(!S[s]){S[s]=fetch(L(d(),t,e)).then((t=>{if(t.status===200){return t.text()}else{throw new Error("Gov Icon doesn't exists")}}))}const i=await S[s];y[s]=i;return i}const D=(t,e,s)=>{if(!l){return}let i="";if(s){const t=new Date;t.setTime(t.getTime()+s*24*60*60*1e3);i="; expires="+t.toUTCString()}document.cookie=`${t}=${encodeURIComponent(e)}${i}; path=/`};const I=t=>{if(!l){return null}const e=t+"=";const s=document.cookie.split(";");for(let t=0;t<s.length;t++){let i=s[t].trim();if(i.startsWith(e)){return decodeURIComponent(i.substring(e.length))}}return null};const $=t=>{try{const e=new DOMParser;const s=e.parseFromString(t,"image/svg+xml");const i=s.querySelector("parsererror");if(i){return false}const n=s.documentElement;if(n.tagName.toLowerCase()!=="svg"){return false}return true}catch(t){return false}};const R=class{constructor(e){t(this,e);this.size=undefined;this.color=undefined;this.name=null;this.type="components";this.visible=false;this.error=false;this.h=c(this.host)}validateSize(t){u(a,t,v.root)}validateColor(t){u(b,t,v.root)}async loadIconPathData(){const{name:t,visible:e}=this;if(!t||!e){return}await this.loadIcon()}connectedCallback(){if(f()){this.visible=true;this.loadIconPathData().finally()}else{this.waitUntilVisible((async()=>{this.visible=true;await this.loadIconPathData()}))}}disconnectedCallback(){if(this.intersectionObserver){this.intersectionObserver.disconnect();this.intersectionObserver=null}}async componentWillLoad(){this.validateSize(this.size);this.validateColor(this.color);await this.loadIconPathData()}waitUntilVisible(t){if(typeof window==="undefined"||!window.IntersectionObserver){t();return}this.intersectionObserver=new IntersectionObserver((e=>{e.forEach((e=>{if(e.isIntersecting){if(this.intersectionObserver){this.intersectionObserver.disconnect();this.intersectionObserver=null}t()}}))}),{rootMargin:"50px"});this.intersectionObserver.observe(this.host)}async loadIcon(){try{const{name:t,type:e}=this;const s=await C({name:t,type:e});const i=$(s);this.host.innerHTML=i?s:null}catch(t){this.host.innerHTML="";this.error=true}}render(){if(this.error){return null}return e(s,{class:this.h.classes(v.root),size:this.size,color:this.color})}static get assetsDirs(){return["assets"]}get host(){return i(this)}static get watchers(){return{size:["validateSize"],color:["validateColor"],name:["loadIconPathData"]}}};const j=r(a,["_XS","_S","_M","_L","_XL"]);const E={root:"gov-theme-switch",indicator:"gov-theme-switch__indicator",iconLight:"gov-theme-switch__icon-light",iconDark:"gov-theme-switch__icon-dark"};const x="data-theme";var z;(function(t){t["auto"]="auto";t["light"]="light";t["dark"]="dark"})(z||(z={}));const X=class{constructor(e){t(this,e);this.govChange=o(this,"gov-change",7);this.setThemeState=t=>{this.theme=t;this.govChange.emit({component:E.root,state:this.theme,ref:this.host})};this.size="m";this.displayLabel=false;this.ariaLabelLight="Přenout na tmavý mód";this.ariaLabelDark="Přepnout na světlý mód";this.labelLight="Světlý mód";this.labelDark="Tmavý mód";this.theme=z.auto;this.h=c(this.host)}validateSize(t){u(j,t,E.root)}watchTheme(t){this.htmlElement.setAttribute(x,t);this.htmlElement.classList.remove(...Object.keys(z));this.htmlElement.classList.add(t);D(x,t)}get storageValue(){return I(x)}get htmlElement(){return document.documentElement}get isSystemPrefersColorDark(){return l&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches}componentWillLoad(){this.initDefaultState();this.validateSize(this.size)}initDefaultState(){const t=Object.keys(z);let e=this.storageValue;const s=this.htmlElement.getAttribute(x);if(e&&t.includes(e)){this.theme=e}else if(s&&t.includes(s)){this.theme=s}else{this.theme=z.auto}}render(){let t=this.theme===z.dark;if(this.theme===z.auto){t=this.isSystemPrefersColorDark}return e(s,{key:"784ed0513ea1436bb754dc82691646422789783b",class:this.h.classes(E.root),theme:t?z.dark:z.light,size:this.size},e("button",{key:"d4abc155a8ae8f07d0a49c378e295c3ab57318d4",onClick:()=>this.setThemeState(t?z.light:z.dark),"aria-current":this.theme,"aria-label":t?this.ariaLabelDark:this.ariaLabelLight},e("span",{key:"7f713875d5618acc919702cdc60e9db58dfb9db5"},e("span",{key:"0b57c0153047ef292b6bdc43b49e5a1a9cdc17e1",class:E.indicator},z.light&&e("gov-icon",{key:"ae2c751435a2bc9c1e9f8dfa4ca52e13943ada9b",name:"sun",class:E.iconLight,type:"components"}),z.dark&&e("gov-icon",{key:"7a4ee602a37742ab94dcee47a7c4970d5dce5bb6",name:"moon",class:E.iconDark,type:"components"})),this.displayLabel&&(t?this.labelDark:this.labelLight))))}get host(){return i(this)}static get watchers(){return{size:["validateSize"],theme:["watchTheme"]}}};export{p as gov_flex,R as gov_icon,X as gov_theme_switch};
|
|
2
|
+
//# sourceMappingURL=p-b766810e.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FlexClass","root","GovFlex","constructor","hostRef","this","h","govHost","host","render","Host","key","class","classes","pick","Sizes","IconColors","Colors","Types","IconClass","holder","dsVersion","version","iconCache","requestCache","isExternalUrl","path","startsWith","iconUrl","name","type","getAssetPath","async","fetchIcon","cacheKey","fetch","iconsPath","then","resp","status","text","Error","setCookie","value","days","isWindow","expires","date","Date","setTime","getTime","toUTCString","document","cookie","encodeURIComponent","getCookie","nameEQ","cookies","split","i","length","trim","decodeURIComponent","substring","isValidSVG","svgContent","parser","DOMParser","doc","parseFromString","parseError","querySelector","svgElement","documentElement","tagName","toLowerCase","error","GovIcon","validateSize","newValue","validateProp","validateColor","loadIconPathData","visible","loadIcon","connectedCallback","iconsLazyLoad","finally","waitUntilVisible","disconnectedCallback","intersectionObserver","disconnect","componentWillLoad","size","color","callback","window","IntersectionObserver","entries","forEach","entry","isIntersecting","rootMargin","observe","data","isValid","innerHTML","e","ThemeSwitchSizes","ThemeSwitchClass","indicator","iconLight","iconDark","ATTRIBUTE_THEME_NAME","ThemeList","GovThemeSwitch","setThemeState","state","theme","govChange","emit","component","ref","auto","watchTheme","htmlElement","setAttribute","classList","remove","Object","keys","add","storageValue","isSystemPrefersColorDark","matchMedia","matches","initDefaultState","options","currentState","htmlState","getAttribute","includes","isDark","dark","light","onClick","ariaLabelDark","ariaLabelLight","displayLabel","labelDark","labelLight"],"sources":["../../../packages/core/src/components/gov-flex/constants.ts","../../../packages/core/src/components/gov-flex/gov-flex.tsx","../../../packages/core/src/components/gov-icon/constants.ts","../../../packages/core/src/utils/ds.utils.ts","../../../packages/core/src/utils/icon.utils.ts","../../../packages/core/src/helpers/Dom/document.ts","../../../packages/core/src/components/gov-icon/gov-icon.tsx","../../../packages/core/src/components/gov-theme-switch/constants.ts","../../../packages/core/src/components/gov-theme-switch/gov-theme-switch.types.ts","../../../packages/core/src/components/gov-theme-switch/gov-theme-switch.tsx"],"sourcesContent":["import {Sizes} from \"../../core/constants/sizes\";\nimport {ValueOf} from \"../../types/interfaces\";\n\nexport const FlexSizes = Sizes\nexport type FlexSizesType = `${ValueOf<typeof FlexSizes>}`\n\nexport const FlexClass = {\n\troot: 'gov-flex',\n}\n\n","import {Component, Element, h, Host, Prop} from '@stencil/core'\nimport {FlexClass, FlexSizesType} from './constants'\nimport {govHost} from '../../helpers/Dom/template'\nimport {GovHost} from '../../helpers/Dom/template.types'\n\n@Component({\n\ttag: 'gov-flex',\n})\nexport class GovFlex {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovGridElement\n\n\t/**\n\t * Controls the flex direction of the container.\n\t */\n\t@Prop() direction: 'row' | 'row-reverse' | 'column' | 'column-reverse' = 'row';\n\n\t/**\n\t * Defines how the browser distributes space between and around content items along the main axis.\n\t */\n\t@Prop({\n\t\tattribute: 'justify-content',\n\t\treflect: true\n\t}) justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';\n\n\t/**\n\t * Aligns flex items along the cross axis.\n\t */\n\t@Prop({\n\t\tattribute: 'align-items',\n\t\treflect: true\n\t}) alignItems?: 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline';\n\n\t/**\n\t * Controls whether the flex container is a single-line or multi-line flex container.\n\t */\n\t@Prop({reflect: true}) wrap?: 'nowrap' | 'wrap' | 'wrap-reverse';\n\n\t/**\n\t * Aligns the flex container's lines within when there is extra space in the cross-axis.\n\t */\n\t@Prop({\n\t\tattribute: 'align-content',\n\t\treflect: true\n\t}) alignContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'stretch';\n\n\t/**\n\t * Sets the alignment of the flex container’s children along the flex container’s cross axis, overriding the `align-items` property for individual flex items.\n\t */\n\t@Prop({\n\t\tattribute: 'align-self',\n\t\treflect: true\n\t}) alignSelf?: 'auto' | 'normal' | 'self-start' | 'self-end' | 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch' | 'anchor-center';\n\n\t/**\n\t * The gap property creates consistent spacing between flex items in the container.\n\t */\n\t@Prop({\n\t\tattribute: 'gap',\n\t\treflect: true\n\t}) gap?: FlexSizesType;\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes(FlexClass.root)}>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n","import { ValueOf } from '../../types/interfaces'\nimport { pick } from '../../utils/utils';\nimport { Colors } from '../../core/constants/colors';\nimport {Sizes} from \"../../core/constants/sizes\";\n\nexport const IconSizes = pick(Sizes, ['_XS', '_S', '_M', '_L', '_XL', '_2XL', '_3XL', '_4XL', '_5XL'])\nexport type IconSizesType = `${ValueOf<typeof IconSizes>}`\n\nexport const IconColors = pick(Colors, [\n\t'DEFAULT',\n\t'PRIMARY',\n\t'SECONDARY',\n\t'NEUTRAL',\n\t'ERROR',\n\t'SUCCESS',\n\t'WARNING',\n\t'DISABLED',\n\t'WHITE',\n\t'BLACK',\n])\nexport type IconColorType = `${ValueOf<typeof IconColors>}`\n\nenum Types {\n\tBASIC = 'basic',\n\tCOMPLEX = 'complex',\n\tCOLORED = 'colored',\n}\nexport type Type = `${ValueOf<typeof Types>}`\n\nexport const IconClass = {\n\troot: 'gov-icon',\n\tholder: 'gov-icon__holder',\n}\n","import { version } from '../../package.json'\n\nexport const dsVersion = (): string => {\n\treturn version\n}\n","import { getAssetPath } from \"@stencil/core\"\nimport { dsVersion } from \"./ds.utils\"\nimport { iconsPath } from \"../helpers/Dom/win\"\n\nconst iconCache: { [key: string]: string } = {}\nconst requestCache: { [key: string]: Promise<string> } = {}\n\nconst isExternalUrl = (path: string) => path.startsWith(\"http://\") || path.startsWith(\"https://\")\nconst iconUrl = (path: string, name: string, type: string) => {\n\tif (isExternalUrl(path)) {\n\t\treturn `${path}/${type}/${name}.svg?v=${dsVersion()}`\n\t}\n\treturn getAssetPath(`${path}/${type}/${name}.svg`) + `?v=${dsVersion()}`\n}\n\nexport async function fetchIcon({ name, type }: { name: string; type: string }): Promise<string> {\n\tconst cacheKey = type + \"-\" + name\n\tif (iconCache[cacheKey]) {\n\t\treturn iconCache[cacheKey]\n\t}\n\tif (!requestCache[cacheKey]) {\n\t\trequestCache[cacheKey] = fetch(iconUrl(iconsPath(), name, type)).then(resp => {\n\t\t\tif (resp.status === 200) {\n\t\t\t\treturn resp.text()\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"Gov Icon doesn't exists\")\n\t\t\t}\n\t\t})\n\t}\n\tconst path = await requestCache[cacheKey]\n\ticonCache[cacheKey] = path\n\treturn path\n}\n","import {Nullable} from \"../../utils/helpers.types\";\nimport {isWindow} from \"./win\";\n\nexport const setCookie = (name: string, value: string, days?: number) => {\n\tif (!isWindow) {\n\t\treturn\n\t}\n\tlet expires = \"\";\n\tif (days) {\n\t\tconst date = new Date();\n\t\tdate.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\n\t\texpires = \"; expires=\" + date.toUTCString();\n\t}\n\tdocument.cookie = `${name}=${encodeURIComponent(value)}${expires}; path=/`;\n}\n\nexport const getCookie = (name: string): Nullable<string> => {\n\tif (!isWindow) {\n\t\treturn null\n\t}\n\tconst nameEQ = name + \"=\";\n\tconst cookies = document.cookie.split(';');\n\tfor (let i = 0; i < cookies.length; i++) {\n\t\tlet cookie = cookies[i].trim();\n\t\tif (cookie.startsWith(nameEQ)) {\n\t\t\treturn decodeURIComponent(cookie.substring(nameEQ.length));\n\t\t}\n\t}\n\treturn null;\n}\n\nexport const isValidSVG = (svgContent: string): boolean => {\n\ttry {\n\t\tconst parser = new DOMParser();\n\t\tconst doc = parser.parseFromString(svgContent, \"image/svg+xml\");\n\t\tconst parseError = doc.querySelector(\"parsererror\");\n\t\tif (parseError) {\n\t\t\treturn false;\n\t\t}\n\t\tconst svgElement = doc.documentElement;\n\t\tif (svgElement.tagName.toLowerCase() !== \"svg\") {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t} catch (error) {\n\t\treturn false;\n\t}\n}\n","import {Build, Component, Element, h, Host, Prop, State, Watch} from \"@stencil/core\"\nimport {IconClass, IconColors, type IconColorType, IconSizesType} from \"./constants\"\nimport {fetchIcon} from \"../../utils/icon.utils\"\nimport {govHost} from \"../../helpers/Dom/template\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {iconsLazyLoad} from \"../../helpers/Dom/win\"\nimport {validateProp} from \"../../helpers/Validate/props\";\nimport {Sizes} from \"../../core/constants/sizes\";\nimport {isValidSVG} from \"../../helpers/Dom/document\";\n\n@Component({\n\tassetsDirs: [\"assets\"],\n\ttag: \"gov-icon\",\n})\nexport class GovIcon {\n\tprivate h: GovHost\n\tprivate intersectionObserver: IntersectionObserver\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovIconElement\n\t/**\n\t * Icon size\n\t */\n\t@Prop({reflect: true}) readonly size?: IconSizesType\n\t/**\n\t * Icon color\n\t */\n\t@Prop({reflect: true}) readonly color?: IconColorType\n\t/**\n\t * Name of icon in folder\n\t */\n\t@Prop({reflect: true}) name: string = null\n\t/**\n\t * Type (folder) of icon\n\t */\n\t@Prop({reflect: true}) type = \"components\"\n\n\t@State() private visible = false\n\t@State() private error = false\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(Sizes, newValue, IconClass.root)\n\t}\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(IconColors, newValue, IconClass.root)\n\t}\n\n\t@Watch(\"name\")\n\tprivate async loadIconPathData(): Promise<void> {\n\t\tconst {name, visible} = this\n\t\tif (!Build.isBrowser || !name || !visible) {\n\t\t\treturn\n\t\t}\n\t\tawait this.loadIcon()\n\t}\n\n\tconnectedCallback(): void {\n\t\tif (iconsLazyLoad()) {\n\t\t\tthis.visible = true\n\t\t\tthis.loadIconPathData().finally()\n\t\t} else {\n\t\t\tthis.waitUntilVisible(async () => {\n\t\t\t\tthis.visible = true\n\t\t\t\tawait this.loadIconPathData()\n\t\t\t})\n\t\t}\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tif (this.intersectionObserver) {\n\t\t\tthis.intersectionObserver.disconnect()\n\t\t\tthis.intersectionObserver = null\n\t\t}\n\t}\n\n\tasync componentWillLoad(): Promise<void> {\n\t\tthis.validateSize(this.size)\n\t\tthis.validateColor(this.color)\n\t\tawait this.loadIconPathData()\n\t}\n\n\tprivate waitUntilVisible(callback: () => void): void {\n\t\tif (!Build.isBrowser || typeof window === \"undefined\" || !(window as any).IntersectionObserver) {\n\t\t\tcallback()\n\t\t\treturn\n\t\t}\n\t\tthis.intersectionObserver = new IntersectionObserver(\n\t\t\tentries => {\n\t\t\t\tentries.forEach(entry => {\n\t\t\t\t\tif (entry.isIntersecting) {\n\t\t\t\t\t\tif (this.intersectionObserver) {\n\t\t\t\t\t\t\tthis.intersectionObserver.disconnect()\n\t\t\t\t\t\t\tthis.intersectionObserver = null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcallback()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\t{rootMargin: \"50px\"},\n\t\t)\n\t\tthis.intersectionObserver.observe(this.host)\n\t}\n\n\tprivate async loadIcon() {\n\t\ttry {\n\t\t\tconst {name, type} = this\n\t\t\tconst data = await fetchIcon({name, type})\n\t\t\tconst isValid = isValidSVG(data)\n\t\t\tthis.host.innerHTML = isValid ? data : null;\n\t\t} catch (e) {\n\t\t\tthis.host.innerHTML = ''\n\t\t\tthis.error = true\n\t\t}\n\t}\n\n\trender() {\n\t\tif (this.error) {\n\t\t\treturn null\n\t\t}\n\t\treturn (\n\t\t\t<Host class={this.h.classes(IconClass.root)} size={this.size} color={this.color}/>\n\t\t)\n\t}\n}\n","import {pick} from \"../../utils/utils\";\nimport {Sizes} from \"../../core/constants/sizes\";\nimport {ValueOf} from \"../../types/interfaces\";\n\nexport const ThemeSwitchSizes = pick(Sizes, ['_XS', '_S', '_M', '_L', '_XL'])\nexport type ThemeSwitchSizesType = `${ValueOf<typeof ThemeSwitchSizes>}`\n\nexport const ThemeSwitchClass = {\n\troot: 'gov-theme-switch',\n\tindicator: 'gov-theme-switch__indicator',\n\ticonLight: 'gov-theme-switch__icon-light',\n\ticonDark: 'gov-theme-switch__icon-dark',\n}\n\nexport const ATTRIBUTE_THEME_NAME = 'data-theme'\n","import {GovBaseEvent} from \"../../types/event.types\";\n\nexport enum ThemeList {\n\tauto = 'auto',\n\tlight = 'light',\n\tdark = 'dark'\n}\n\nexport interface ThemeSwitchEvent extends GovBaseEvent {\n\tref: HTMLGovThemeSwitchElement;\n\tstate: ThemeList\n}\n\n","import {Component, Element, Event, EventEmitter, h, Host, Prop, State, Watch} from \"@stencil/core\"\nimport {GovHost} from \"../../helpers/Dom/template.types\";\nimport {govHost} from \"../../helpers/Dom/template\";\nimport {ATTRIBUTE_THEME_NAME, ThemeSwitchClass, ThemeSwitchSizes, ThemeSwitchSizesType} from \"./constants\";\nimport {isWindow} from \"../../helpers/Dom/win\";\nimport {ThemeList, ThemeSwitchEvent} from \"./gov-theme-switch.types\";\nimport {validateProp} from \"../../helpers/Validate/props\";\nimport {getCookie, setCookie} from \"../../helpers/Dom/document\";\n\n@Component({\n\ttag: \"gov-theme-switch\",\n})\nexport class GovThemeSwitch {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovThemeSwitchElement\n\n\t/**\n\t * Switch's size.\n\t */\n\t@Prop() readonly size?: ThemeSwitchSizesType = \"m\"\n\t/**\n\t * Display switch label\n\t */\n\t@Prop({attribute: \"display-label\"}) readonly displayLabel? = false\n\t/**\n\t * Label in light mode\n\t */\n\t@Prop({attribute: \"aria-label-light\"}) readonly ariaLabelLight? = \"Přenout na tmavý mód\"\n\t/**\n\t * Label in dark mode\n\t */\n\t@Prop({attribute: \"aria-label-dark\"}) readonly ariaLabelDark? = \"Přepnout na světlý mód\"\n\t/**\n\t * Label in light mode\n\t */\n\t@Prop({attribute: \"label-light\"}) readonly labelLight? = \"Světlý mód\"\n\t/**\n\t * Label in dark mode\n\t */\n\t@Prop({attribute: \"label-dark\"}) readonly labelDark? = \"Tmavý mód\"\n\t/**\n\t * Called when the theme is changed by the user\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<ThemeSwitchEvent>\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(ThemeSwitchSizes, newValue, ThemeSwitchClass.root)\n\t}\n\n\t@Watch(\"theme\")\n\twatchTheme(newValue: ThemeList): void {\n\t\tthis.htmlElement.setAttribute(ATTRIBUTE_THEME_NAME, newValue);\n\t\tthis.htmlElement.classList.remove(...Object.keys(ThemeList));\n\t\tthis.htmlElement.classList.add(newValue);\n\t\tsetCookie(ATTRIBUTE_THEME_NAME, newValue);\n\t}\n\n\t@State() theme: ThemeList = ThemeList.auto\n\n\tprivate get storageValue() {\n\t\treturn getCookie(ATTRIBUTE_THEME_NAME)\n\t}\n\n\tprivate get htmlElement(): HTMLElement {\n\t\treturn document.documentElement\n\t}\n\n\tprivate get isSystemPrefersColorDark(): boolean {\n\t\treturn isWindow && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.initDefaultState()\n\t\tthis.validateSize(this.size)\n\t}\n\n\tprivate initDefaultState() {\n\t\tconst options = Object.keys(ThemeList);\n\t\tlet currentState = this.storageValue;\n\t\tconst htmlState = this.htmlElement.getAttribute(ATTRIBUTE_THEME_NAME)\n\n\t\tif (currentState && options.includes(currentState)) {\n\t\t\tthis.theme = currentState as ThemeList;\n\t\t} else if (htmlState && options.includes(htmlState)) {\n\t\t\tthis.theme = htmlState as ThemeList;\n\t\t} else {\n\t\t\tthis.theme = ThemeList.auto;\n\t\t}\n\t}\n\n\tprivate setThemeState = (state: ThemeList) => {\n\t\tthis.theme = state;\n\n\t\tthis.govChange.emit({\n\t\t\tcomponent: ThemeSwitchClass.root,\n\t\t\tstate: this.theme,\n\t\t\tref: this.host\n\t\t})\n\t}\n\n\trender() {\n\t\tlet isDark = this.theme === ThemeList.dark;\n\t\tif (this.theme === ThemeList.auto) {\n\t\t\tisDark = this.isSystemPrefersColorDark;\n\t\t}\n\t\treturn (\n\t\t\t<Host class={this.h.classes(ThemeSwitchClass.root)}\n\t\t\t\t theme={isDark ? ThemeList.dark : ThemeList.light}\n\t\t\t\t size={this.size}>\n\t\t\t\t<button onClick={() => this.setThemeState(isDark ? ThemeList.light : ThemeList.dark)}\n\t\t\t\t\t\taria-current={this.theme}\n\t\t\t\t\t\taria-label={isDark ? this.ariaLabelDark : this.ariaLabelLight}>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<span class={ThemeSwitchClass.indicator}>\n\t\t\t\t\t\t\t{ThemeList.light && <gov-icon name=\"sun\" class={ThemeSwitchClass.iconLight} type=\"components\"></gov-icon>}\n\t\t\t\t\t\t\t{ThemeList.dark && <gov-icon name=\"moon\" class={ThemeSwitchClass.iconDark} type=\"components\"></gov-icon>}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{this.displayLabel && (isDark ? this.labelDark : this.labelLight)}\n\t\t\t\t\t</span>\n\t\t\t\t</button>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as a,h as c,a as e,g as o}from"./p-5fbde4f9.js";import{g as s}from"./p-ea7fdd2e.js";const t={root:"gov-cookiebar",content:"gov-cookiebar__content",actions:"gov-cookiebar__actions",actionsPrimary:"gov-cookiebar__actions--primary",actionsSecondary:"gov-cookiebar__actions--secondary"};const d=class{constructor(c){a(this,c);this.h=s(this.host)}render(){return c(e,{key:"311f0da16d86ab548e90e8f7be69d23d88a71ae4",class:this.h.classes(t.root)},c("div",{key:"f371e0bfa5ad8b2195aec2fd0c02f86fb81d58ff",class:t.content},c("slot",{key:"96433ca7228d4bf61bfc6dc041bc519c83f56109",name:"headline"}),c("slot",{key:"4fa8e397eba029f55329d0ca6d24044ae7c9a513"})),(this.h.hasSlot("actions-primary")||this.h.hasSlot("actions-secondary"))&&c("div",{key:"a1d5e5d03d8d89bceb65f45f75d7dc3d446d1b62",class:t.actions},this.h.hasSlot("actions-primary")&&c("div",{key:"4ee2b3b82b91bdfb3d87a7bc34e9b0d4e2fc4f33",class:t.actionsPrimary},c("slot",{key:"7c0cbf9c5f334cffa4a4eb3f2af9a05bfc8af208",name:"actions-primary"})),this.h.hasSlot("actions-secondary")&&c("div",{key:"e40a9f403e994584f53df9e0d84e27aa08c849e2",class:t.actionsSecondary},c("slot",{key:"5a2bc741413334a0f08bf2d17b94d1c51b5c3f69",name:"actions-secondary"}))))}get host(){return o(this)}};export{d as gov_cookiebar};
|
|
2
|
+
//# sourceMappingURL=p-bc0ed2c1.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,d as i,h as e,a as s,g as a}from"./p-5fbde4f9.js";import{v as n}from"./p-0b3574c2.js";import{B as o,a as h,c as d,N as r}from"./p-3bbb77a0.js";import{g as c,t as f}from"./p-ea7fdd2e.js";import{S as l}from"./p-92f420cb.js";import{v as p}from"./p-29ac15d2.js";import{c as b}from"./p-e8ec030e.js";import{d as m}from"./p-e0e2e9c1.js";import{i as u}from"./p-d9a299a4.js";import{A as y,a as v}from"./p-9ac55bd1.js";import"./p-5aad3497.js";import"./p-cd6c2938.js";import"./p-2aedc81e.js";function g(t){if(typeof t==="string"){return["true","True","TRUE","1"].indexOf(t)!==-1}else if(typeof t==="number"){return t>0}else if(typeof t==="boolean"){return t}else{return t?true:false}}var j;(function(t){t["A"]="a";t["BUTTON"]="button"})(j||(j={}));const k=class{constructor(e){t(this,e);this.govClick=i(this,"gov-click",7);this.govFocus=i(this,"gov-focus",7);this.govBlur=i(this,"gov-blur",7);this.hydrated=false;this.color=undefined;this.size="m";this.type=undefined;this.expanded=false;this.name=undefined;this.disabled=false;this.nativeType="button";this.href=undefined;this.target=undefined;this.download=undefined;this.hreflang=undefined;this.referrerpolicy=undefined;this.rel=undefined;this.loading=undefined;this.focusable=true;this.identifier=undefined;this.inheritedAttributes={};this.h=c(this.host)}validateColor(t){n(h,t,o.root)}validateType(t){n(d,t,o.root)}validateSize(t){n(l,t,o.root)}validateNativeType(t){n(r,t,o.root)}componentDidLoad(){this.attributeObserver=new y(this.host,((t,i)=>{this.onAriaAttributeChange(t,i)}));this.attributeObserver.startObserving(v)}onAriaAttributeChange(t,i){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:i})}disconnectedCallback(){this.attributeObserver.stopObserving()}componentWillLoad(){this.validateColor(this.color);this.validateType(this.type);this.validateSize(this.size);this.validateNativeType(this.nativeType);this.inheritedAttributes=u(this.host)}async componentDidRender(){if(b()){await m(500);await this.validateAccessibility()}}connectedCallback(){this.hydrated=true}render(){const t=this.href?j.A:j.BUTTON;const i=t===j.A?undefined:this.nativeType;return e(s,{key:"4e5ef3fbf897b81b07452a9383985353d673fdd6",size:this.size,hydrated:this.hydrated,color:this.color,class:this.h.classes(o.root),type:this.type},e(t,Object.assign({key:"d0689b6c773257059fa9334d4bb1d003a0ec58c3",class:"element",ref:t=>this.triggerRef=t,onClick:this.onClickHandler.bind(this),onFocus:this.onFocusHandler.bind(this),onBlur:this.onBlurHandler.bind(this),disabled:this.disabled,id:this.identifier,href:this.href,target:this.target,download:this.download,hreflang:this.hreflang,rel:this.rel,name:this.name,type:i,tabindex:this.disabled?"-1":"0"},this.inheritedAttributes,{"aria-disabled":f(this.disabled)}),g(this.loading)&&!this.h.hasSlot("icon-end")&&e("gov-icon",{key:"16a969ee29897508924e61d70b40589d0410f649",name:"loader",class:"gov-spin-animation",type:"components"}),this.h.hasSlot("icon-start")&&e("slot",{key:"7d208cc950fedd5b6bbf376152a0c641d8885846",name:"icon-start"}),e("slot",{key:"7c43309c657363dbcc1df14ae3c21d977ec3eb20"}),this.h.hasSlot("icon-end")&&e("slot",{key:"d90b7831900331fe8482757f33847295207f73d2",name:"icon-end"}),g(this.loading)&&this.h.hasSlot("icon-end")&&e("gov-icon",{key:"d23e2000e5bf5b78a81e78d6c3e30aa0e1f3f42c",name:"loader",class:"gov-spin-animation",type:"components"})))}onClickHandler(t){t.stopPropagation();if(this.disabled===false){this.govClick.emit({component:o.root,originalEvent:t,ref:this.host})}}onFocusHandler(t){t.stopPropagation();this.govFocus.emit({component:o.root,originalEvent:t,ref:this.host})}onBlurHandler(t){t.stopPropagation();this.govBlur.emit({component:o.root,originalEvent:t,ref:this.host})}async setFocus(){this.triggerRef.focus()}async getRef(){return this.triggerRef}async validateAccessibility(){if(this.focusable){p(this.triggerRef.getAttribute("aria-label"),this.triggerRef.getAttribute("aria-labelledby"),o.root,this.host)}}get host(){return a(this)}static get watchers(){return{color:["validateColor"],type:["validateType"],size:["validateSize"],nativeType:["validateNativeType"]}}};export{k as gov_button};
|
|
2
|
+
//# sourceMappingURL=p-bf8529f8.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,d as s,h as i,a as e,g as h}from"./p-5fbde4f9.js";import{c as a}from"./p-cd6c2938.js";import{v as r}from"./p-0b3574c2.js";import{g as o,e as n,f as d}from"./p-da1db6fd.js";import{g as c,c as l,t as p}from"./p-ea7fdd2e.js";import{F as m}from"./p-1c1d0bbe.js";import{A as f,a as u}from"./p-9ac55bd1.js";import{i as b}from"./p-d9a299a4.js";import"./p-e8ec030e.js";import"./p-e0e2e9c1.js";import"./p-92f420cb.js";import"./p-7f3becc5.js";import"./p-5aad3497.js";import"./p-56efd4a2.js";import"./p-7ba4daf4.js";const v=class{constructor(i){t(this,i);this.govFocus=s(this,"gov-focus",7);this.govBlur=s(this,"gov-blur",7);this.govChange=s(this,"gov-change",7);this.hydrated=false;this.value=undefined;this.noLabel=false;this.checked=false;this.required=false;this.disabled=false;this.name=undefined;this.size="m";this.identifier=undefined;this.invalid=undefined;this.inheritedAttributes={};this.radioId=a("GovRadio");this.h=c(this.host);this.f=o(this.h)}validateSize(t){r(d,t,n.root)}watchControlAttrs(){this.passControlAttrs()}passControlAttrs(){this.f.passAttrToControl("size",this.size);this.f.passAttrToControl("invalid",l(this.invalid));this.f.passAttrToControl("disabled",l(this.disabled));this.f.passAttrToControl("type","radio")}componentWillLoad(){this.inheritedAttributes=b(this.host)}componentDidLoad(){this.attributeObserver=new f(this.host,((t,s)=>{this.onAriaAttributeChange(t,s)}));this.attributeObserver.startObserving(u)}async componentDidRender(){this.f.passAttrToLabel("identifier",this.identifier||this.radioId);this.f.passAttrToLabel("required",String(this.required));this.passControlAttrs()}connectedCallback(){this.hydrated=true}disconnectedCallback(){this.attributeObserver.stopObserving()}onAriaAttributeChange(t,s){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:s})}render(){const t=t=>{if(this.noLabel){return i("label",{class:n.label},t)}return t};return i(e,{class:n.root,hydrated:this.hydrated,checked:this.checked,size:this.size,invalid:p(this.invalid)},t(i(m,null,i("input",Object.assign({class:n.input,id:this.identifier||this.radioId,type:"radio",value:this.value,name:this.name,checked:this.checked,disabled:this.disabled,onClick:this.onClickHandler.bind(this),onChange:this.onChangeHandler.bind(this),onFocus:this.onFocusHandler.bind(this),onBlur:this.onBlurHandler.bind(this),ref:t=>this.inputRef=t,required:this.required},this.inheritedAttributes,{"aria-checked":this.checked,"aria-required":p(this.required),"aria-invalid":p(this.invalid),"aria-disabled":p(this.disabled)})),i("span",null,i("slot",{name:"label"})))))}onClickHandler(t){t.stopPropagation()}onFocusHandler(t){t.stopPropagation();this.govFocus.emit({component:n.root,value:this.value,checked:this.checked,originalEvent:t})}onBlurHandler(t){t.stopPropagation();this.govBlur.emit({component:n.root,value:this.value,checked:this.checked,originalEvent:t})}onChangeHandler(t){this.checked=t.target.checked;t.stopPropagation();this.govChange.emit({component:n.root,value:this.value,checked:this.checked,originalEvent:t})}async getRef(){return this.inputRef}get host(){return h(this)}static get watchers(){return{size:["validateSize","watchControlAttrs"],disabled:["watchControlAttrs"],invalid:["watchControlAttrs"]}}};export{v as gov_form_radio};
|
|
2
|
+
//# sourceMappingURL=p-cd988543.entry.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,d as t,h as s,a,g as c}from"./p-5fbde4f9.js";import{v as i}from"./p-0b3574c2.js";import{S as o,c as d}from"./p-a521c59a.js";import{c as r}from"./p-cd6c2938.js";import{g as f}from"./p-ea7fdd2e.js";import"./p-e8ec030e.js";import"./p-e0e2e9c1.js";import"./p-5aad3497.js";import"./p-92f420cb.js";const n=class{constructor(s){e(this,s);this.govChange=t(this,"gov-change",7);this.hydrated=false;this.color="primary";this.size="m";this.identifier=undefined;this.h=f(this.host);this.triggerId=r("GovStepperItem");this.contentId=r("GovStepperContent")}validateColor(e){i(d,e,o.root)}componentWillLoad(){this.validateColor(this.color)}connectedCallback(){this.hydrated=true}render(){const e=this.identifier||this.triggerId;const t=this.contentId;return s(a,{key:"c24400b8ee5917005e6e3a21f47024c7ebad2960",id:e,class:this.h.classes(o.root),color:this.color,role:"listitem",hydrated:this.hydrated},this.h.hasSlot("prefix")&&s("span",{key:"010401daa60b44eed322de007fdd6e4ca035ff8d",class:o.prefix},s("slot",{key:"27287e54365c7e72e01dd21f8d07f7144dc03f3c",name:"prefix"})),s("div",{key:"b50e23ee80b270bb5bb781c46e2cf2de73cad1bb"},s("span",{key:"84500822ca2e529bff5e5cf4eb7ac7c9f0fc9d97",class:o.headline},s("slot",{key:"18410e07be87715a96540789a82403bfab45e55c",name:"headline"})),s("slot",{key:"dd2c20b9f07d2bcbf4223eca8de0d7592d178e86",name:"annotation"}),this.h.hasSlot("content")&&s("div",{key:"cd34d17b5a14816dd91ee84f91a14217952bcfe5",class:o.content,id:t,"aria-labelledby":e,role:"tabpanel"},s("slot",{key:"c90f411f8d63c6381f55a0e6ac819369a9bfd2e5",name:"content"}))))}get host(){return c(this)}static get watchers(){return{color:["validateColor"]}}};export{n as gov_stepper_item};
|
|
2
|
+
//# sourceMappingURL=p-d2b11492.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GovStepperItem","constructor","hostRef","this","hydrated","h","govHost","host","triggerId","createID","contentId","validateColor","newValue","validateProp","StepperColors","StepperItemClass","root","componentWillLoad","color","connectedCallback","render","identifier","Host","key","id","class","classes","role","hasSlot","prefix","name","headline","content"],"sources":["../../../packages/core/src/components/gov-stepper/gov-stepper-item.tsx"],"sourcesContent":["import { Component, Element, h, Prop, Watch, Host, Event, EventEmitter } from '@stencil/core'\nimport { validateProp } from '../../helpers/Validate/props'\nimport { StepperSizesType, StepperItemClass, StepperColorType, StepperColors } from './constants'\nimport { createID } from '../../utils/string.utils'\nimport { govHost } from '../../helpers/Dom/template'\nimport { GovStepperItemChangeEvent } from './gov-stepper-item.d'\nimport { GovHost } from '../../helpers/Dom/template.types'\n\n@Component({\n\ttag: 'gov-stepper-item',\n})\nexport class GovStepperItem {\n\tprivate h: GovHost\n\tprivate readonly triggerId: string\n\tprivate readonly contentId: string\n\tprivate hydrated = false\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.triggerId = createID('GovStepperItem')\n\t\tthis.contentId = createID('GovStepperContent')\n\t}\n\n\t@Element() readonly host: HTMLGovStepperItemElement\n\n\t/**\n\t * Style variation of the button.\n\t */\n\t@Prop() readonly color?: StepperColorType = 'primary'\n\t/**\n\t * Size of stepper\n\t */\n\t@Prop() readonly size?: StepperSizesType = 'm'\n\t/**\n\t * Custom stepper item identifier. Otherwise, it will be generated\n\t */\n\t@Prop() readonly identifier: string\n\t/**\n\t * Called when the accordion state changes\n\t */\n\t@Event({ eventName: 'gov-change' }) govChange: EventEmitter<GovStepperItemChangeEvent>\n\n\t@Watch('color')\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(StepperColors, newValue, StepperItemClass.root)\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t}\n\n\tconnectedCallback() {\n\t\tthis.hydrated = true\n\t}\n\n\trender() {\n\t\tconst triggerId = this.identifier || this.triggerId\n\t\tconst contentId = this.contentId\n\n\t\treturn (\n\t\t\t<Host id={triggerId} class={this.h.classes(StepperItemClass.root)} color={this.color} role=\"listitem\" hydrated={this.hydrated}>\n\t\t\t\t{this.h.hasSlot('prefix') && (\n\t\t\t\t\t<span class={StepperItemClass.prefix}>\n\t\t\t\t\t\t<slot name=\"prefix\" />\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t\t<div>\n\t\t\t\t\t<span class={StepperItemClass.headline}>\n\t\t\t\t\t\t<slot name=\"headline\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<slot name=\"annotation\" />\n\n\t\t\t\t\t{this.h.hasSlot('content') && (\n\t\t\t\t\t\t<div class={StepperItemClass.content} id={contentId} aria-labelledby={triggerId} role=\"tabpanel\">\n\t\t\t\t\t\t\t<slot name=\"content\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["GovStepperItem","constructor","hostRef","this","hydrated","h","govHost","host","triggerId","createID","contentId","validateColor","newValue","validateProp","StepperColors","StepperItemClass","root","componentWillLoad","color","connectedCallback","render","identifier","Host","key","id","class","classes","role","hasSlot","prefix","name","headline","content"],"sources":["../../../packages/core/src/components/gov-stepper/gov-stepper-item.tsx"],"sourcesContent":["import { Component, Element, h, Prop, Watch, Host, Event, EventEmitter } from '@stencil/core'\nimport { validateProp } from '../../helpers/Validate/props'\nimport { StepperSizesType, StepperItemClass, StepperColorType, StepperColors } from './constants'\nimport { createID } from '../../utils/string.utils'\nimport { govHost } from '../../helpers/Dom/template'\nimport { GovStepperItemChangeEvent } from './gov-stepper-item.d'\nimport { GovHost } from '../../helpers/Dom/template.types'\n\n@Component({\n\ttag: 'gov-stepper-item',\n})\nexport class GovStepperItem {\n\tprivate h: GovHost\n\tprivate readonly triggerId: string\n\tprivate readonly contentId: string\n\tprivate hydrated = false\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.triggerId = createID('GovStepperItem')\n\t\tthis.contentId = createID('GovStepperContent')\n\t}\n\n\t@Element() readonly host: HTMLGovStepperItemElement\n\n\t/**\n\t * Style variation of the button.\n\t */\n\t@Prop() readonly color?: StepperColorType = 'primary'\n\t/**\n\t * Size of stepper\n\t */\n\t@Prop() readonly size?: StepperSizesType = 'm'\n\t/**\n\t * Custom stepper item identifier. Otherwise, it will be generated\n\t */\n\t@Prop() readonly identifier: string\n\t/**\n\t * Called when the accordion state changes\n\t */\n\t@Event({ eventName: 'gov-change' }) govChange: EventEmitter<GovStepperItemChangeEvent>\n\n\t@Watch('color')\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(StepperColors, newValue, StepperItemClass.root)\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t}\n\n\tconnectedCallback() {\n\t\tthis.hydrated = true\n\t}\n\n\trender() {\n\t\tconst triggerId = this.identifier || this.triggerId\n\t\tconst contentId = this.contentId\n\n\t\treturn (\n\t\t\t<Host id={triggerId} class={this.h.classes(StepperItemClass.root)} color={this.color} role=\"listitem\" hydrated={this.hydrated}>\n\t\t\t\t{this.h.hasSlot('prefix') && (\n\t\t\t\t\t<span class={StepperItemClass.prefix}>\n\t\t\t\t\t\t<slot name=\"prefix\" />\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t\t<div>\n\t\t\t\t\t<span class={StepperItemClass.headline}>\n\t\t\t\t\t\t<slot name=\"headline\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t<slot name=\"annotation\" />\n\n\t\t\t\t\t{this.h.hasSlot('content') && (\n\t\t\t\t\t\t<div class={StepperItemClass.content} id={contentId} aria-labelledby={triggerId} role=\"tabpanel\">\n\t\t\t\t\t\t\t<slot name=\"content\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"mappings":"wTAWaA,EAAc,MAM1B,WAAAC,CAAAC,G,gDAFQC,KAAAC,SAAW,M,WAayB,U,UAID,I,0BAd1CD,KAAKE,EAAIC,EAAQH,KAAKI,MACtBJ,KAAKK,UAAYC,EAAS,kBAC1BN,KAAKO,UAAYD,EAAS,oB,CAuB3B,aAAAE,CAAcC,GACbC,EAAaC,EAAeF,EAAUG,EAAiBC,K,CAGxD,iBAAAC,GACCd,KAAKQ,cAAcR,KAAKe,M,CAGzB,iBAAAC,GACChB,KAAKC,SAAW,I,CAGjB,MAAAgB,GACC,MAAMZ,EAAYL,KAAKkB,YAAclB,KAAKK,UAC1C,MAAME,EAAYP,KAAKO,UAEvB,OACCL,EAACiB,EAAI,CAAAC,IAAA,2CAACC,GAAIhB,EAAWiB,MAAOtB,KAAKE,EAAEqB,QAAQX,EAAiBC,MAAOE,MAAOf,KAAKe,MAAOS,KAAK,WAAWvB,SAAUD,KAAKC,UACnHD,KAAKE,EAAEuB,QAAQ,WACfvB,EAAA,QAAAkB,IAAA,2CAAME,MAAOV,EAAiBc,QAC7BxB,EAAA,QAAAkB,IAAA,2CAAMO,KAAK,YAGbzB,EAAA,OAAAkB,IAAA,4CACClB,EAAA,QAAAkB,IAAA,2CAAME,MAAOV,EAAiBgB,UAC7B1B,EAAA,QAAAkB,IAAA,2CAAMO,KAAK,cAEZzB,EAAA,QAAAkB,IAAA,2CAAMO,KAAK,eAEV3B,KAAKE,EAAEuB,QAAQ,YACfvB,EAAA,OAAAkB,IAAA,2CAAKE,MAAOV,EAAiBiB,QAASR,GAAId,EAAS,kBAAmBF,EAAWmB,KAAK,YACrFtB,EAAA,QAAAkB,IAAA,2CAAMO,KAAK,c","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,h as a,a as e,g as s}from"./p-5fbde4f9.js";import{a as i,b as r,c as o}from"./p-e44a0fee.js";import{g as c}from"./p-ea7fdd2e.js";import{v as p}from"./p-0b3574c2.js";import"./p-e0e2e9c1.js";import"./p-92f420cb.js";import"./p-e8ec030e.js";const f=class{constructor(a){t(this,a);this.gap=undefined;this.orientation="vertical";this.h=c(this.host)}validateGap(t){if(t){p(r,t,i.root)}}validateOrientation(t){if(t){p(o,t,i.root)}}componentWillLoad(){this.validateGap(this.gap);this.validateOrientation(this.orientation)}render(){return a(e,{key:"b7a379997ac1f4080471c42c23cad6f0ed055fd7",gap:this.gap,class:this.h.classes(i.root)},a("slot",{key:"a36809822e81913ec6c8cabdee9eaf64c9f9f471"}))}get host(){return s(this)}static get watchers(){return{gap:["validateGap"],orientation:["validateOrientation"]}}};export{f as gov_form_group};
|
|
2
|
+
//# sourceMappingURL=p-d3f7d3d5.entry.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as s,h as e,a as t,g as a}from"./p-5fbde4f9.js";import{G as i}from"./p-880743a5.js";import{g as r}from"./p-ea7fdd2e.js";const d=class{constructor(e){s(this,e);this.alignX=undefined;this.alignY=undefined;this.h=r(this.host)}render(){return e(t,{key:"d2f4e42a186e0d8020abc96ef3ca0956e1492d05",class:this.h.classes(i.root),"align-x":this.alignX,"align-y":this.alignY,role:"list"},e("slot",{key:"46c60ccdda81ce271aeaca46bead1bf33e22c041"}))}get host(){return a(this)}};export{d as gov_grid};
|
|
2
|
+
//# sourceMappingURL=p-d6e972c0.entry.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,h as a,a as t,g as s}from"./p-5fbde4f9.js";import{p as o}from"./p-e0e2e9c1.js";import{S as c}from"./p-92f420cb.js";import{g as i}from"./p-ea7fdd2e.js";import{v as r}from"./p-0b3574c2.js";import{a as f,b as d}from"./p-5f1000da.js";import"./p-e8ec030e.js";o(c,["_S","_M","_L"]);const m={root:"gov-empty",content:"gov-empty__content"};const p=class{constructor(a){e(this,a);this.size="m";this.h=i(this.host)}validateSize(e){r(d,e,f.root)}componentWillLoad(){this.validateSize(this.size)}render(){return a(t,{key:"3346bc91e4af67ca885ec89364d3caed0553f87c",class:this.h.classes(m.root),size:this.size},this.h.hasSlot("icon")&&a("slot",{key:"6ae5bf19e792bc94fedaa9fe3a56cafa103356f4",name:"icon"}),a("div",{key:"3cb5595ef6de22c590844902d5fe59a2066b0bf7",class:m.content},a("slot",{key:"dedf42aac4d7a4304a0eeeae7e5a7e1be8e4aac5",name:"headline"}),a("slot",{key:"0d061d5b70d90c3bf6446ff78618e6506446bde2"})))}get host(){return s(this)}static get watchers(){return{size:["validateSize"]}}};export{p as gov_empty};
|
|
2
|
+
//# sourceMappingURL=p-d952e56f.entry.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,h as e,a as s,g as i}from"./p-5fbde4f9.js";import{p as o}from"./p-e0e2e9c1.js";import{S as a}from"./p-92f420cb.js";import{g as r}from"./p-ea7fdd2e.js";import{v as h}from"./p-0b3574c2.js";import{i as c}from"./p-d9a299a4.js";import"./p-e8ec030e.js";import"./p-9ac55bd1.js";const n=o(a,["_S","_M","_L"]);const p={root:"gov-link"};const f=class{constructor(e){t(this,e);this.size="m";this.external=false;this.href=undefined;this.target=undefined;this.inheritedAttributes={};this.h=r(this.host)}validateSize(t){h(n,t,p.root)}componentWillLoad(){this.validateSize(this.size);this.inheritedAttributes=c(this.host)}onAriaAttributeChange(t,e){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:e})}render(){return e(s,{key:"233af48c179501fe03ee2e5931806e1955913b59",class:this.h.classes(p.root),size:this.size,href:this.href,external:this.external},e("a",Object.assign({key:"679067805205d76500979620b1ef4405139bb339",class:"element",href:this.href,target:this.target},this.inheritedAttributes),e("slot",{key:"d24c4ab99451f317a453c8131bd0506606322553",name:"icon-start"}),e("slot",{key:"276923f48cdc13985115e8d4e8860a2fb0c692e2"}),this.external?e("gov-icon",{name:"box-arrow-up-right",type:"components"}):e("slot",{name:"icon-end"})))}get host(){return i(this)}static get watchers(){return{size:["validateSize"]}}};export{f as gov_link};
|
|
2
|
+
//# sourceMappingURL=p-eaa83b2f.entry.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e,h as o,a as s,g as t}from"./p-5fbde4f9.js";import{p as a}from"./p-e0e2e9c1.js";import{S as i}from"./p-92f420cb.js";import{g as c,p as d}from"./p-ea7fdd2e.js";import{v as r}from"./p-0b3574c2.js";import"./p-e8ec030e.js";const n=a(i,["_S","_M","_L"]);const p={root:"gov-loading",content:"gov-loading__content",icon:"gov-loading__icon"};const f=class{constructor(o){e(this,o);this.size="m";this.h=c(this.host)}validateSize(e){r(n,e,p.root)}componentWillLoad(){this.validateSize(this.size)}render(){return o(s,{key:"4c33339523674f2f2415dfb326131858de9eecf9",class:this.h.classes(p.root),size:this.size},o("div",{key:"8c25628dd3072fd89665ccfedb9596383181b13d",class:p.content},o("gov-icon",{key:"a9969874350b5316c61a94b12d41a0130eeded0f",class:d([p.icon,"gov-spin-animation"]),name:"loader",type:"components"}),o("slot",{key:"14c716ecc352a0d947a6e3d932d2ab9075dedb97"})),o("gov-backdrop",{key:"507610e5a61b34be2166fb4a30539a134dc1b262",inverse:true}))}get host(){return t(this)}static get watchers(){return{size:["validateSize"]}}};export{f as gov_loading};
|
|
2
|
+
//# sourceMappingURL=p-ebc318d7.entry.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,h as i,a as s,g as e}from"./p-5fbde4f9.js";import{v as h}from"./p-0b3574c2.js";import{T as o,a as n,b as a,c as r,d as f}from"./p-76d604c6.js";import{c}from"./p-cd6c2938.js";import{g as d}from"./p-ea7fdd2e.js";import{d as l}from"./p-e8ec030e.js";import{t as p}from"./p-26618322.js";import"./p-5aad3497.js";import"./p-92f420cb.js";import"./p-e0e2e9c1.js";const m=class{constructor(i){t(this,i);this.tooltipContentId=undefined;this.tooltipId=undefined;this.color=o.PRIMARY;this.size=n._M;this.position="right";this.message=undefined;this.identifier=undefined;this.icon=undefined;this.persist=false;this.h=d(this.host);this.tooltipId=c("GovTooltip");this.tooltipContentId=c("GovContentTooltip")}validateColor(t){h(o,t,f.root)}validateSize(t){h(n,t,f.root)}validatePosition(t){h(r,t,f.root)}rerenderMessage(){this.createContentWrapper()}connectedCallback(){this.createContentWrapper();this.registerListeners()}componentWillLoad(){this.validateColor(this.color);this.validateSize(this.size);this.validatePosition(this.position)}componentDidUpdate(){this.createContentWrapper()}disconnectedCallback(){this.removeContent()}createContentWrapper(){var t;if(this.tooltipContent){if(this.message){this.tooltipContent.innerHTML=this.message}else if(this.insideContent){this.tooltipContent.innerHTML=this.insideContent.innerHTML}return}let i;if(this.insideContent){i=this.insideContent}else{i=l().createElement(a.root);i.innerHTML=this.message}i.setAttribute("id",(t=this.identifier)!==null&&t!==void 0?t:this.tooltipContentId);i.setAttribute("parent-id",this.tooltipId);i.setAttribute("color",this.color);i.setAttribute("size",this.size);l().body.appendChild(i)}get tooltipContent(){var t;return l().body.querySelector(`#${(t=this.identifier)!==null&&t!==void 0?t:this.tooltipContentId}`)}get insideContent(){return this.host.querySelector(a.root)}registerListeners(){this.host.addEventListener("click",(t=>{t.preventDefault();this.persist=true;if(this.tooltipContent){this.tooltipContent.setAttribute("persist","true")}this.showTooltip()}));this.host.addEventListener("mouseenter",(t=>{t.preventDefault();this.showTooltip()}));this.host.addEventListener("mouseleave",(t=>{t.preventDefault();if(this.persist===false){this.hideTooltip()}}))}verifyPositionSpace(){const t=12;const i=window.innerWidth-(window.innerWidth-document.documentElement.clientWidth);const s=this.host.getBoundingClientRect();const e=this.host.offsetWidth;const h=this.host.offsetHeight;const o=this.tooltipContent.offsetWidth;const n=this.tooltipContent.offsetHeight;const a={left:s.left+document.documentElement.scrollLeft,top:s.top+document.documentElement.scrollTop};const f=a.left+t+s.width+o<=i;const c=a.left>o;if(this.position===r.LEFT||this.position===r.RIGHT){this.tooltipContent.style.top=a.top-(n-h)/2+"px";if(f===false&&c===false){this.position=r.TOP;this.tooltipContent.setAttribute("position",r.TOP)}if(c&&f===false&&this.position===r.RIGHT){this.position=r.LEFT}if(f&&c===false&&this.position===r.LEFT){this.position=r.RIGHT}}if(this.position===r.RIGHT){this.tooltipContent.setAttribute("position",r.RIGHT);this.tooltipContent.style.left=a.left+t+s.width+"px"}if(this.position===r.LEFT){this.tooltipContent.setAttribute("position",r.LEFT);this.tooltipContent.style.left=a.left-(o+t)+"px"}if(this.position===r.TOP||this.position===r.BOTTOM){if(o>e){let s=a.left-(o-e)/2;const h=s<0;const n=s+o>i;if(h&&n){this.tooltipContent.style.width="auto";this.tooltipContent.style.left=t+"px";this.tooltipContent.style.right=t+"px"}else{if(h){s=t}if(n){s=s-(i-(s+o+t))*-1}this.tooltipContent.style.left=s+"px"}}else{const t=a.left+(e-o)/2;this.tooltipContent.style.left=t+"px"}}if(this.position===r.TOP){this.tooltipContent.setAttribute("position",r.TOP);this.tooltipContent.style.top=a.top-(n+t)+"px"}if(this.position===r.BOTTOM){this.tooltipContent.setAttribute("position",r.BOTTOM);this.tooltipContent.style.top=a.top+(h+t)+"px"}this.tooltipContent.style.opacity="1"}showTooltip(){if(this.tooltipContent){this.tooltipContent.style.opacity="0";this.tooltipContent.hidden=false;this.tooltipContent.setAttribute("is-visible","true");p((()=>{this.verifyPositionSpace()}))}}hideTooltip(){if(this.tooltipContent){this.tooltipContent.setAttribute("is-visible","false");this.tooltipContent.setAttribute("persist","false");this.tooltipContent.removeAttribute("style")}}removeContent(){const t=document.getElementById(this.tooltipContentId);if(t){t.remove()}}render(){var t;return i(s,{key:"2e96da1a9d7afd70abb4ffd2e979210cc179680e",id:this.tooltipId,class:this.h.classes(f.root),position:this.position},i("span",{key:"9c9c06d716556faa56f5ba9a952ea867c5533b2b",role:"button",tabindex:0,onKeyPress:()=>this.showTooltip(),onBlur:()=>{if(this.persist===false){this.hideTooltip()}},"aria-describedby":(t=this.identifier)!==null&&t!==void 0?t:this.tooltipContentId},i("slot",{key:"29549049c0bfbe311980aa6a630ff9eff8e35f40"})))}async show(){this.showTooltip()}async hide(){this.persist=false;this.hideTooltip()}get host(){return e(this)}static get watchers(){return{color:["validateColor"],size:["validateSize"],position:["validatePosition"],message:["rerenderMessage"]}}};export{m as gov_tooltip};
|
|
2
|
+
//# sourceMappingURL=p-ebeb1a03.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GovTooltip","constructor","hostRef","this","tooltipContentId","undefined","tooltipId","TooltipColors","PRIMARY","TooltipSize","_M","h","govHost","host","createID","validateColor","newValue","validateProp","TooltipClass","root","validateSize","validatePosition","TooltipPosition","rerenderMessage","createContentWrapper","connectedCallback","registerListeners","componentWillLoad","color","size","position","componentDidUpdate","disconnectedCallback","removeContent","tooltipContent","message","innerHTML","insideContent","content","documentNode","createElement","TooltipContentClass","setAttribute","_a","identifier","body","appendChild","querySelector","addEventListener","e","preventDefault","persist","showTooltip","hideTooltip","verifyPositionSpace","offset","windowWidth","window","innerWidth","document","documentElement","clientWidth","trigger","getBoundingClientRect","trgWidth","offsetWidth","trgHeight","offsetHeight","contentWidth","contentHeight","triggerPos","left","scrollLeft","top","scrollTop","isRightSpace","width","isLeftSpace","LEFT","RIGHT","style","TOP","BOTTOM","leftPosition","isNotLeftSpace","isNotRightSpace","right","opacity","hidden","tick","removeAttribute","contentEl","getElementById","remove","render","Host","key","id","class","classes","role","tabindex","onKeyPress","onBlur","show","hide"],"sources":["../../../packages/core/src/components/gov-tooltip/gov-tooltip.tsx"],"sourcesContent":["import {Component, Element, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../helpers/Validate/props\"\nimport {\n\tTooltipClass,\n\tTooltipContentClass,\n\tTooltipPosition,\n\tTooltipPositionType,\n\tTooltipSize,\n\tTooltipSizeType,\n\tTooltipColors,\n\tTooltipColorType,\n} from \"./constants\"\nimport {createID} from \"../../utils/string.utils\"\nimport {govHost} from \"../../helpers/Dom/template\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {documentNode} from \"../../helpers/Dom/win\";\nimport {Nullable} from \"../../utils/helpers.types\";\nimport {tick} from \"../../utils/stencil.utils\";\n\n@Component({\n\ttag: \"gov-tooltip\",\n})\nexport class GovTooltip {\n\tprivate h: GovHost\n\tprivate readonly tooltipContentId = undefined\n\tprivate readonly tooltipId = undefined\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.tooltipId = createID(\"GovTooltip\")\n\t\tthis.tooltipContentId = createID(\"GovContentTooltip\")\n\t}\n\n\t@Element() host: HTMLGovTooltipElement\n\t/**\n\t * Style variation of the tooltip\n\t */\n\t@Prop() readonly color?: TooltipColorType = TooltipColors.PRIMARY\n\t/**\n\t * Tooltip’s size.\n\t */\n\t@Prop() readonly size?: TooltipSizeType = TooltipSize._M\n\t/**\n\t * Tooltip display position\n\t */\n\t@Prop({mutable: true}) position: TooltipPositionType = \"right\"\n\t/**\n\t * Information contained in the tooltip\n\t */\n\t@Prop() readonly message: string = undefined\n\t/**\n\t * Custom tooltip identifier.\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\n\t/**\n\t * Trigger is just an icon\n\t */\n\t@Prop({reflect: true}) readonly icon: boolean = undefined\n\n\t@State() persist = false\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(TooltipColors, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(TooltipSize, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"position\")\n\tvalidatePosition(newValue: string): void {\n\t\tvalidateProp(TooltipPosition, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"message\")\n\trerenderMessage(): void {\n\t\tthis.createContentWrapper();\n\t}\n\n\tconnectedCallback() {\n\t\tthis.createContentWrapper()\n\t\tthis.registerListeners()\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t\tthis.validateSize(this.size)\n\t\tthis.validatePosition(this.position)\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.createContentWrapper()\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.removeContent()\n\t}\n\n\tprivate createContentWrapper() {\n\t\tif (this.tooltipContent) {\n\t\t\tif (this.message) {\n\t\t\t\tthis.tooltipContent.innerHTML = this.message\n\t\t\t} else if (this.insideContent) {\n\t\t\t\tthis.tooltipContent.innerHTML = this.insideContent.innerHTML\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tlet content: HTMLGovTooltipContentElement;\n\t\tif (this.insideContent) {\n\t\t\tcontent = this.insideContent\n\t\t} else {\n\t\t\tcontent = documentNode().createElement(TooltipContentClass.root) as HTMLGovTooltipContentElement\n\t\t\tcontent.innerHTML = this.message\n\t\t}\n\n\t\tcontent.setAttribute(\"id\", this.identifier ?? this.tooltipContentId)\n\t\tcontent.setAttribute(\"parent-id\", this.tooltipId)\n\t\tcontent.setAttribute(\"color\", this.color)\n\t\tcontent.setAttribute(\"size\", this.size)\n\t\tdocumentNode().body.appendChild(content)\n\t}\n\n\tprivate get tooltipContent(): Nullable<HTMLGovTooltipContentElement> {\n\t\treturn documentNode().body.querySelector(`#${this.identifier ?? this.tooltipContentId}`);\n\t}\n\n\tprivate get insideContent(): Nullable<HTMLGovTooltipContentElement> {\n\t\treturn this.host.querySelector(TooltipContentClass.root)\n\t}\n\n\tprivate registerListeners() {\n\t\tthis.host.addEventListener(\"click\", e => {\n\t\t\te.preventDefault()\n\t\t\tthis.persist = true\n\t\t\tif (this.tooltipContent) {\n\t\t\t\tthis.tooltipContent.setAttribute(\"persist\", \"true\")\n\t\t\t}\n\t\t\tthis.showTooltip()\n\t\t})\n\t\tthis.host.addEventListener(\"mouseenter\", e => {\n\t\t\te.preventDefault()\n\t\t\tthis.showTooltip()\n\t\t})\n\t\tthis.host.addEventListener(\"mouseleave\", e => {\n\t\t\te.preventDefault()\n\t\t\tif (this.persist === false) {\n\t\t\t\tthis.hideTooltip()\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate verifyPositionSpace() {\n\t\tconst offset = 12\n\t\tconst windowWidth = window.innerWidth - (window.innerWidth - document.documentElement.clientWidth);\n\t\tconst trigger = this.host.getBoundingClientRect()\n\t\tconst trgWidth = this.host.offsetWidth\n\t\tconst trgHeight = this.host.offsetHeight\n\t\tconst contentWidth = this.tooltipContent.offsetWidth\n\t\tconst contentHeight = this.tooltipContent.offsetHeight\n\t\tconst triggerPos = {\n\t\t\tleft: trigger.left + document.documentElement.scrollLeft,\n\t\t\ttop: trigger.top + document.documentElement.scrollTop,\n\t\t}\n\n\t\tconst isRightSpace = ((triggerPos.left + offset + trigger.width) + contentWidth) <= windowWidth;\n\t\tconst isLeftSpace = triggerPos.left > contentWidth;\n\n\t\t// LEFT/RIGHT\n\t\tif (this.position === TooltipPosition.LEFT || this.position === TooltipPosition.RIGHT) {\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top - ((contentHeight - trgHeight) / 2)) + \"px\";\n\t\t\tif (isRightSpace === false && isLeftSpace === false) {\n\t\t\t\tthis.position = TooltipPosition.TOP\n\t\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.TOP)\n\t\t\t}\n\t\t\tif (isLeftSpace && isRightSpace === false && this.position === TooltipPosition.RIGHT) {\n\t\t\t\tthis.position = TooltipPosition.LEFT\n\t\t\t}\n\t\t\tif (isRightSpace && isLeftSpace === false && this.position === TooltipPosition.LEFT) {\n\t\t\t\tthis.position = TooltipPosition.RIGHT\n\t\t\t}\n\t\t}\n\t\tif (this.position === TooltipPosition.RIGHT) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.RIGHT)\n\t\t\tthis.tooltipContent.style.left = (triggerPos.left + offset + trigger.width) + \"px\"\n\t\t}\n\t\tif (this.position === TooltipPosition.LEFT) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.LEFT)\n\t\t\tthis.tooltipContent.style.left = (triggerPos.left - (contentWidth + offset)) + \"px\"\n\t\t}\n\n\t\t// LEFT/RIGHT FOR TOP/BOTTOM\n\t\tif (this.position === TooltipPosition.TOP || this.position === TooltipPosition.BOTTOM) {\n\t\t\tif (contentWidth > trgWidth) {\n\t\t\t\tlet leftPosition = (triggerPos.left - ((contentWidth - trgWidth) / 2));\n\t\t\t\tconst isNotLeftSpace = leftPosition < 0;\n\t\t\t\tconst isNotRightSpace = (leftPosition + contentWidth) > windowWidth;\n\t\t\t\tif (isNotLeftSpace && isNotRightSpace) {\n\t\t\t\t\tthis.tooltipContent.style.width = \"auto\";\n\t\t\t\t\tthis.tooltipContent.style.left = offset + \"px\";\n\t\t\t\t\tthis.tooltipContent.style.right = offset + \"px\";\n\t\t\t\t} else {\n\t\t\t\t\tif (isNotLeftSpace) {\n\t\t\t\t\t\tleftPosition = offset\n\t\t\t\t\t}\n\t\t\t\t\tif (isNotRightSpace) {\n\t\t\t\t\t\tleftPosition = leftPosition - ((windowWidth - (leftPosition + contentWidth + offset)) * -1)\n\t\t\t\t\t}\n\t\t\t\t\tthis.tooltipContent.style.left = leftPosition + \"px\"\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst leftPosition = (triggerPos.left + ((trgWidth - contentWidth) / 2))\n\n\t\t\t\tthis.tooltipContent.style.left = leftPosition + \"px\"\n\t\t\t}\n\t\t}\n\t\tif (this.position === TooltipPosition.TOP) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.TOP)\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top - (contentHeight + offset)) + \"px\"\n\t\t}\n\t\tif (this.position === TooltipPosition.BOTTOM) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.BOTTOM)\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top + (trgHeight + offset)) + \"px\"\n\t\t}\n\n\t\tthis.tooltipContent.style.opacity = '1'\n\n\t}\n\n\tprivate showTooltip() {\n\t\tif (this.tooltipContent) {\n\t\t\tthis.tooltipContent.style.opacity = '0'\n\t\t\tthis.tooltipContent.hidden = false\n\t\t\tthis.tooltipContent.setAttribute(\"is-visible\", \"true\")\n\t\t\ttick(() => {\n\t\t\t\tthis.verifyPositionSpace()\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate hideTooltip() {\n\t\tif (this.tooltipContent) {\n\t\t\tthis.tooltipContent.setAttribute(\"is-visible\", \"false\")\n\t\t\tthis.tooltipContent.setAttribute(\"persist\", \"false\")\n\t\t\tthis.tooltipContent.removeAttribute('style')\n\t\t}\n\t}\n\n\tprivate removeContent() {\n\t\tconst contentEl = document.getElementById(this.tooltipContentId)\n\t\tif (contentEl) {\n\t\t\tcontentEl.remove()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tid={this.tooltipId}\n\t\t\t\tclass={this.h.classes(TooltipClass.root)}\n\t\t\t\tposition={this.position}>\n\t\t\t\t<span role={'button'}\n\t\t\t\t\t\t\ttabindex={0}\n\t\t\t\t\t\t\tonKeyPress={() => this.showTooltip()}\n\t\t\t\t\t\t\tonBlur={() => {\n\t\t\t\t\t\t\t\tif (this.persist === false) {\n\t\t\t\t\t\t\t\t\tthis.hideTooltip()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-describedby={this.identifier ?? this.tooltipContentId}><slot/></span>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Showing the modal\n\t */\n\t@Method()\n\tasync show(): Promise<void> {\n\t\tthis.showTooltip()\n\t}\n\n\t/**\n\t * Hiding the modal\n\t */\n\t@Method()\n\tasync hide(): Promise<void> {\n\t\tthis.persist = false\n\t\tthis.hideTooltip()\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["GovTooltip","constructor","hostRef","this","tooltipContentId","undefined","tooltipId","TooltipColors","PRIMARY","TooltipSize","_M","h","govHost","host","createID","validateColor","newValue","validateProp","TooltipClass","root","validateSize","validatePosition","TooltipPosition","rerenderMessage","createContentWrapper","connectedCallback","registerListeners","componentWillLoad","color","size","position","componentDidUpdate","disconnectedCallback","removeContent","tooltipContent","message","innerHTML","insideContent","content","documentNode","createElement","TooltipContentClass","setAttribute","_a","identifier","body","appendChild","querySelector","addEventListener","e","preventDefault","persist","showTooltip","hideTooltip","verifyPositionSpace","offset","windowWidth","window","innerWidth","document","documentElement","clientWidth","trigger","getBoundingClientRect","trgWidth","offsetWidth","trgHeight","offsetHeight","contentWidth","contentHeight","triggerPos","left","scrollLeft","top","scrollTop","isRightSpace","width","isLeftSpace","LEFT","RIGHT","style","TOP","BOTTOM","leftPosition","isNotLeftSpace","isNotRightSpace","right","opacity","hidden","tick","removeAttribute","contentEl","getElementById","remove","render","Host","key","id","class","classes","role","tabindex","onKeyPress","onBlur","show","hide"],"sources":["../../../packages/core/src/components/gov-tooltip/gov-tooltip.tsx"],"sourcesContent":["import {Component, Element, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../helpers/Validate/props\"\nimport {\n\tTooltipClass,\n\tTooltipContentClass,\n\tTooltipPosition,\n\tTooltipPositionType,\n\tTooltipSize,\n\tTooltipSizeType,\n\tTooltipColors,\n\tTooltipColorType,\n} from \"./constants\"\nimport {createID} from \"../../utils/string.utils\"\nimport {govHost} from \"../../helpers/Dom/template\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {documentNode} from \"../../helpers/Dom/win\";\nimport {Nullable} from \"../../utils/helpers.types\";\nimport {tick} from \"../../utils/stencil.utils\";\n\n@Component({\n\ttag: \"gov-tooltip\",\n})\nexport class GovTooltip {\n\tprivate h: GovHost\n\tprivate readonly tooltipContentId = undefined\n\tprivate readonly tooltipId = undefined\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.tooltipId = createID(\"GovTooltip\")\n\t\tthis.tooltipContentId = createID(\"GovContentTooltip\")\n\t}\n\n\t@Element() host: HTMLGovTooltipElement\n\t/**\n\t * Style variation of the tooltip\n\t */\n\t@Prop() readonly color?: TooltipColorType = TooltipColors.PRIMARY\n\t/**\n\t * Tooltip’s size.\n\t */\n\t@Prop() readonly size?: TooltipSizeType = TooltipSize._M\n\t/**\n\t * Tooltip display position\n\t */\n\t@Prop({mutable: true}) position: TooltipPositionType = \"right\"\n\t/**\n\t * Information contained in the tooltip\n\t */\n\t@Prop() readonly message: string = undefined\n\t/**\n\t * Custom tooltip identifier.\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\n\t/**\n\t * Trigger is just an icon\n\t */\n\t@Prop({reflect: true}) readonly icon: boolean = undefined\n\n\t@State() persist = false\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(TooltipColors, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(TooltipSize, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"position\")\n\tvalidatePosition(newValue: string): void {\n\t\tvalidateProp(TooltipPosition, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"message\")\n\trerenderMessage(): void {\n\t\tthis.createContentWrapper();\n\t}\n\n\tconnectedCallback() {\n\t\tthis.createContentWrapper()\n\t\tthis.registerListeners()\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t\tthis.validateSize(this.size)\n\t\tthis.validatePosition(this.position)\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.createContentWrapper()\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.removeContent()\n\t}\n\n\tprivate createContentWrapper() {\n\t\tif (this.tooltipContent) {\n\t\t\tif (this.message) {\n\t\t\t\tthis.tooltipContent.innerHTML = this.message\n\t\t\t} else if (this.insideContent) {\n\t\t\t\tthis.tooltipContent.innerHTML = this.insideContent.innerHTML\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tlet content: HTMLGovTooltipContentElement;\n\t\tif (this.insideContent) {\n\t\t\tcontent = this.insideContent\n\t\t} else {\n\t\t\tcontent = documentNode().createElement(TooltipContentClass.root) as HTMLGovTooltipContentElement\n\t\t\tcontent.innerHTML = this.message\n\t\t}\n\n\t\tcontent.setAttribute(\"id\", this.identifier ?? this.tooltipContentId)\n\t\tcontent.setAttribute(\"parent-id\", this.tooltipId)\n\t\tcontent.setAttribute(\"color\", this.color)\n\t\tcontent.setAttribute(\"size\", this.size)\n\t\tdocumentNode().body.appendChild(content)\n\t}\n\n\tprivate get tooltipContent(): Nullable<HTMLGovTooltipContentElement> {\n\t\treturn documentNode().body.querySelector(`#${this.identifier ?? this.tooltipContentId}`);\n\t}\n\n\tprivate get insideContent(): Nullable<HTMLGovTooltipContentElement> {\n\t\treturn this.host.querySelector(TooltipContentClass.root)\n\t}\n\n\tprivate registerListeners() {\n\t\tthis.host.addEventListener(\"click\", e => {\n\t\t\te.preventDefault()\n\t\t\tthis.persist = true\n\t\t\tif (this.tooltipContent) {\n\t\t\t\tthis.tooltipContent.setAttribute(\"persist\", \"true\")\n\t\t\t}\n\t\t\tthis.showTooltip()\n\t\t})\n\t\tthis.host.addEventListener(\"mouseenter\", e => {\n\t\t\te.preventDefault()\n\t\t\tthis.showTooltip()\n\t\t})\n\t\tthis.host.addEventListener(\"mouseleave\", e => {\n\t\t\te.preventDefault()\n\t\t\tif (this.persist === false) {\n\t\t\t\tthis.hideTooltip()\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate verifyPositionSpace() {\n\t\tconst offset = 12\n\t\tconst windowWidth = window.innerWidth - (window.innerWidth - document.documentElement.clientWidth);\n\t\tconst trigger = this.host.getBoundingClientRect()\n\t\tconst trgWidth = this.host.offsetWidth\n\t\tconst trgHeight = this.host.offsetHeight\n\t\tconst contentWidth = this.tooltipContent.offsetWidth\n\t\tconst contentHeight = this.tooltipContent.offsetHeight\n\t\tconst triggerPos = {\n\t\t\tleft: trigger.left + document.documentElement.scrollLeft,\n\t\t\ttop: trigger.top + document.documentElement.scrollTop,\n\t\t}\n\n\t\tconst isRightSpace = ((triggerPos.left + offset + trigger.width) + contentWidth) <= windowWidth;\n\t\tconst isLeftSpace = triggerPos.left > contentWidth;\n\n\t\t// LEFT/RIGHT\n\t\tif (this.position === TooltipPosition.LEFT || this.position === TooltipPosition.RIGHT) {\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top - ((contentHeight - trgHeight) / 2)) + \"px\";\n\t\t\tif (isRightSpace === false && isLeftSpace === false) {\n\t\t\t\tthis.position = TooltipPosition.TOP\n\t\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.TOP)\n\t\t\t}\n\t\t\tif (isLeftSpace && isRightSpace === false && this.position === TooltipPosition.RIGHT) {\n\t\t\t\tthis.position = TooltipPosition.LEFT\n\t\t\t}\n\t\t\tif (isRightSpace && isLeftSpace === false && this.position === TooltipPosition.LEFT) {\n\t\t\t\tthis.position = TooltipPosition.RIGHT\n\t\t\t}\n\t\t}\n\t\tif (this.position === TooltipPosition.RIGHT) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.RIGHT)\n\t\t\tthis.tooltipContent.style.left = (triggerPos.left + offset + trigger.width) + \"px\"\n\t\t}\n\t\tif (this.position === TooltipPosition.LEFT) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.LEFT)\n\t\t\tthis.tooltipContent.style.left = (triggerPos.left - (contentWidth + offset)) + \"px\"\n\t\t}\n\n\t\t// LEFT/RIGHT FOR TOP/BOTTOM\n\t\tif (this.position === TooltipPosition.TOP || this.position === TooltipPosition.BOTTOM) {\n\t\t\tif (contentWidth > trgWidth) {\n\t\t\t\tlet leftPosition = (triggerPos.left - ((contentWidth - trgWidth) / 2));\n\t\t\t\tconst isNotLeftSpace = leftPosition < 0;\n\t\t\t\tconst isNotRightSpace = (leftPosition + contentWidth) > windowWidth;\n\t\t\t\tif (isNotLeftSpace && isNotRightSpace) {\n\t\t\t\t\tthis.tooltipContent.style.width = \"auto\";\n\t\t\t\t\tthis.tooltipContent.style.left = offset + \"px\";\n\t\t\t\t\tthis.tooltipContent.style.right = offset + \"px\";\n\t\t\t\t} else {\n\t\t\t\t\tif (isNotLeftSpace) {\n\t\t\t\t\t\tleftPosition = offset\n\t\t\t\t\t}\n\t\t\t\t\tif (isNotRightSpace) {\n\t\t\t\t\t\tleftPosition = leftPosition - ((windowWidth - (leftPosition + contentWidth + offset)) * -1)\n\t\t\t\t\t}\n\t\t\t\t\tthis.tooltipContent.style.left = leftPosition + \"px\"\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst leftPosition = (triggerPos.left + ((trgWidth - contentWidth) / 2))\n\n\t\t\t\tthis.tooltipContent.style.left = leftPosition + \"px\"\n\t\t\t}\n\t\t}\n\t\tif (this.position === TooltipPosition.TOP) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.TOP)\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top - (contentHeight + offset)) + \"px\"\n\t\t}\n\t\tif (this.position === TooltipPosition.BOTTOM) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.BOTTOM)\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top + (trgHeight + offset)) + \"px\"\n\t\t}\n\n\t\tthis.tooltipContent.style.opacity = '1'\n\n\t}\n\n\tprivate showTooltip() {\n\t\tif (this.tooltipContent) {\n\t\t\tthis.tooltipContent.style.opacity = '0'\n\t\t\tthis.tooltipContent.hidden = false\n\t\t\tthis.tooltipContent.setAttribute(\"is-visible\", \"true\")\n\t\t\ttick(() => {\n\t\t\t\tthis.verifyPositionSpace()\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate hideTooltip() {\n\t\tif (this.tooltipContent) {\n\t\t\tthis.tooltipContent.setAttribute(\"is-visible\", \"false\")\n\t\t\tthis.tooltipContent.setAttribute(\"persist\", \"false\")\n\t\t\tthis.tooltipContent.removeAttribute('style')\n\t\t}\n\t}\n\n\tprivate removeContent() {\n\t\tconst contentEl = document.getElementById(this.tooltipContentId)\n\t\tif (contentEl) {\n\t\t\tcontentEl.remove()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tid={this.tooltipId}\n\t\t\t\tclass={this.h.classes(TooltipClass.root)}\n\t\t\t\tposition={this.position}>\n\t\t\t\t<span role={'button'}\n\t\t\t\t\t\t\ttabindex={0}\n\t\t\t\t\t\t\tonKeyPress={() => this.showTooltip()}\n\t\t\t\t\t\t\tonBlur={() => {\n\t\t\t\t\t\t\t\tif (this.persist === false) {\n\t\t\t\t\t\t\t\t\tthis.hideTooltip()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-describedby={this.identifier ?? this.tooltipContentId}><slot/></span>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Showing the modal\n\t */\n\t@Method()\n\tasync show(): Promise<void> {\n\t\tthis.showTooltip()\n\t}\n\n\t/**\n\t * Hiding the modal\n\t */\n\t@Method()\n\tasync hide(): Promise<void> {\n\t\tthis.persist = false\n\t\tthis.hideTooltip()\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,d as s,h as i,a as e,g as o}from"./p-5fbde4f9.js";import{c as h}from"./p-cd6c2938.js";import{g as n,c as a,t as r}from"./p-ea7fdd2e.js";import{g as l}from"./p-da1db6fd.js";import{i as c}from"./p-d9a299a4.js";import{A as f,a as d}from"./p-9ac55bd1.js";import"./p-92f420cb.js";import"./p-e0e2e9c1.js";import"./p-7f3becc5.js";import"./p-5aad3497.js";import"./p-56efd4a2.js";import"./p-7ba4daf4.js";const m={root:"gov-form-file",area:"gov-form-file__area",input:"gov-form-file__input",attachments:"gov-form-file__attachments"};function p(t){const s=["bytes","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"];let i=0,e=parseInt(t,10)||0;while(e>=1024&&++i){e=e/1024}return e.toFixed(e<10&&i>0?1:0)+" "+s[i]}function u(t,s){if(typeof s==="string"&&s.length){return s.replace(/\s/g,"").split(",").filter((s=>new RegExp(s.replace("*",".*")).test(t.type))).length>0}else{return true}}function g(t,s){const i=Math.round(t.size);return i<=s}const v=class{constructor(i){t(this,i);this.govFocus=s(this,"gov-focus",7);this.govBlur=s(this,"gov-blur",7);this.govFiles=s(this,"gov-files",7);this.govAddFile=s(this,"gov-add-file",7);this.govRemoveFile=s(this,"gov-remove-file",7);this.eventsRegistered=false;this.expanded=false;this.required=false;this.disabled=false;this.resetAfterPick=false;this.ignoreFileDuplicationCheck=false;this.displayAttachments=true;this.name=undefined;this.accept=undefined;this.multiple=false;this.maxFileSize=-1;this.identifier=undefined;this.invalid=undefined;this.errorSize="Soubor je větší než povolená velikost {FILE_SIZE}";this.errorAccept="Soubor tohoto typu není povolen";this.accessibleRemoveLabel="Odebrat soubor {FILE_NAME}";this.accessibleAttachmentsLabel="Přílohy";this.files=[];this.inheritedAttributes={};this.fileId=h("GovInputFile");this.h=n(this.host);this.f=l(this.h)}watchControlAttrs(){this.passControlAttrs()}passControlAttrs(){this.f.passAttrToControl("invalid",a(this.invalid));this.f.passAttrToControl("disabled",a(this.disabled));this.f.passAttrToControl("type","File")}registerListeners(){if(this.eventsRegistered){return}this.eventsRegistered=true;function t(){this.areaRef.classList.add("highlight")}function s(){this.areaRef.classList.remove("highlight")}this.inputRef.addEventListener("change",(t=>{t.preventDefault();t.stopPropagation();const s=t.target.files;if(this.resetAfterPick){if(s.length){this.validateFiles(s)}}else{this.validateFiles(s)}}),false);if(this.expanded){const i=["dragover","dragleave"];const e=["dragenter","dragover","mouseenter"];const o=["dragleave","mouseleave"];i.map((t=>this.inputRef.addEventListener(t,this.preventDefaults.bind(this),false)));e.map((s=>this.inputRef.addEventListener(s,t.bind(this),false)));o.forEach((t=>this.inputRef.addEventListener(t,s.bind(this),false)))}}preventDefaults(t){t.preventDefault();t.stopPropagation()}handleDrop(t){const s=t.dataTransfer;this.validateFiles(s.files)}validateFiles(t){let s=[];Array.from(t).map((t=>{const i=this.files.find((s=>s.file.name===t.name&&s.file.size===t.size))||null;if(i===null||this.ignoreFileDuplicationCheck){const i=typeof this.maxFileSize==="number"&&this.maxFileSize>0?g(t,this.maxFileSize):true;const e=u(t,this.accept);const o={id:h("GovFormFile"),file:t,acceptValid:e,sizeValid:i};if(this.displayAttachments){this.files=[...this.files,o]}else{s=[...s,o]}this.govAddFile.emit({component:m.root,file:o})}}));this.govFiles.emit({component:m.root,files:s.length?s:this.files});if(this.resetAfterPick){this.reset().finally()}}componentDidLoad(){this.attributeObserver=new f(this.host,((t,s)=>{this.onAriaAttributeChange(t,s)}));this.attributeObserver.startObserving(d)}componentWillLoad(){this.f.passAttrToLabel("required",String(this.required));this.passControlAttrs();this.inheritedAttributes=c(this.host)}async componentDidRender(){this.registerListeners()}disconnectedCallback(){this.attributeObserver.stopObserving()}onAriaAttributeChange(t,s){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:s})}render(){return i(e,{key:"92ee90aa5d8d28d310c0229ce513be88edafd68d",class:this.h.classes([m.root]),invalid:r(this.invalid),expanded:r(this.expanded)},i("div",{key:"ada51c64168a7cb4dcb4f123e7f74fe401b63c82",class:m.area,ref:t=>this.areaRef=t},i("slot",{key:"77a4e7096f1949c8c284b0d6607ffd96567669ef"}),i("input",Object.assign({key:"63382d1ccfc1254b9073923713677af25ed0fed3",class:m.input,ref:t=>this.inputRef=t,id:this.identifier||this.fileId,type:"file",name:this.name,accept:this.accept,multiple:this.multiple,onChange:this.onChangeHandler.bind(this),onFocus:this.onFocusHandler.bind(this),onBlur:this.onBlurHandler.bind(this),required:this.required,disabled:this.disabled},this.inheritedAttributes,{"aria-required":r(this.required),"aria-invalid":r(this.invalid),"aria-disabled":r(this.disabled)}))),this.h.hasSlot("attachments")?i("div",{class:m.attachments},i("slot",{name:"attachments"})):null,this.files.length&&this.displayAttachments?i("div",{class:m.attachments},i("gov-attachments",{label:this.accessibleAttachmentsLabel,"accessible-label":this.accessibleAttachmentsLabel},this.files.map((t=>i("gov-attachments-item",{"accessible-remove-labelledby":t.id,"on-gov-remove":()=>this.onRemoveFileHandler(t)},i("span",{class:"sr-only",id:t.id},this.accessibleRemoveLabel.replace("{FILE_NAME}",t.file.name)),t.file.name,t.acceptValid===false?i("gov-form-message",{slot:"message",color:"error"},i("gov-icon",{slot:"icon",name:"exclamation-triangle-fill",type:"components"}),t.acceptValid===false?this.errorAccept:null):null,t.sizeValid===false?i("gov-form-message",{slot:"message",color:"error"},i("gov-icon",{slot:"icon",name:"exclamation-triangle-fill",type:"components"}),this.errorSize.replace("{FILE_SIZE}",p(this.maxFileSize))):null,i("span",{slot:"info"},"(",p(t.file.size),")")))))):null)}onRemoveFileHandler(t){const s=this.files.findIndex((s=>s.id===t.id));if(s!==-1){const t=this.files;const i=this.files[s];t.splice(s,1);this.files=[...t];this.govRemoveFile.emit({component:m.root,file:i});this.govFiles.emit({component:m.root,files:t})}}onFocusHandler(t){t.stopPropagation();this.govFocus.emit({component:m.root,originalEvent:t})}onBlurHandler(t){t.stopPropagation();this.govBlur.emit({component:m.root,originalEvent:t})}onChangeHandler(t){t.stopPropagation()}async getRef(){return this.inputRef}async getAreaRef(){return this.areaRef}async reset(){this.files=[];this.inputRef.value=""}get host(){return o(this)}static get watchers(){return{disabled:["watchControlAttrs"],invalid:["watchControlAttrs"]}}};export{v as gov_form_file};
|
|
2
|
+
//# sourceMappingURL=p-ee0f3bd9.entry.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,d as s,h as i,a as e,g as a}from"./p-5fbde4f9.js";import{v as h}from"./p-0b3574c2.js";import{T as o,a as r,b as c,c as n,d as l}from"./p-860520b0.js";import{g as d,c as f,b as p}from"./p-ea7fdd2e.js";import{h as b}from"./p-2aedc81e.js";import{p as m}from"./p-016bbea6.js";import{A as u,a as y}from"./p-9ac55bd1.js";import{i as g}from"./p-d9a299a4.js";import"./p-e8ec030e.js";import"./p-e0e2e9c1.js";import"./p-92f420cb.js";import"./p-5aad3497.js";const v=class{constructor(i){t(this,i);this.govChange=s(this,"gov-change",7);this.triggerRefs={};this.type="text";this.size="m";this.color="primary";this.orientation="horizontal";this.direction="row";this.controllers=[];this.focusIndex=0;this.inheritedAttributes={};this.h=d(this.host)}validateType(t){h(c,t,r.root)}validateColor(t){h(n,t,r.root)}validateSize(t){h(l,t,r.root)}componentDidLoad(){this.attributeObserver=new u(this.host,((t,s)=>{this.onAriaAttributeChange(t,s)}));this.attributeObserver.startObserving(y)}componentWillLoad(){this.prepareControllers();this.validateSize(this.size);this.inheritedAttributes=g(this.host)}disconnectedCallback(){this.attributeObserver.stopObserving()}onAriaAttributeChange(t,s){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:s})}prepareControllers(t=false){this.controllers=[];const s=[];this.host.querySelectorAll(o.root).forEach((t=>{const i=Promise.all([t.getIdentifier(),t.getTriggerIdentifier(),t.getDisableState()]).then((([s,i,e])=>{const a=typeof t.getAttribute("default")==="string";const h=m(t.getAttribute("icon-start"));const o=m(t.getAttribute("icon-end"));return{label:t.getAttribute("label"),direction:t.getAttribute("direction"),contentIdentifier:s,disabled:e,triggerIdentifier:i,element:t,active:false,default:a,iconStart:h,iconEnd:o}}));s.push(i)}));Promise.all(s).then((s=>{if(t===false){let t=s.findIndex((t=>t.default));if(t===-1)t=0;this.focusIndex=t;s[t].active=true}else if(this.focusIndex>-1&&b(s,this.focusIndex)){s[this.focusIndex].active=true}const i=s.findIndex((t=>t.active&&t.disabled));if(i>-1){s[i].active=false;const t=s.findIndex((t=>!t.disabled));if(t>-1){s[t].active=true;this.focusIndex=t}}this.controllers=[...s];this.reRender()}))}setActiveByIdentifier(t){const s=[];this.controllers.map((i=>{i.active=t===i.triggerIdentifier||t===i.contentIdentifier;s.push(i)}));this.controllers=[...s]}reRender(){this.controllers.map((t=>{t.element.setActiveStatus(t.active).catch()}))}render(){return i(e,{key:"4efcbedcc355a74456cc899bc48c7aaf8c604c12",class:this.h.classes(r.root),size:this.size,color:this.color,type:this.type,direction:this.direction,onKeyDown:this.onKeydownHandler.bind(this)},i("div",Object.assign({key:"a64d1a7cadd5950ebc687c3f3d741ea0a59a3684",class:r.tabs,role:"tablist"},this.inheritedAttributes),i("ul",{key:"adab5148c97b041e11f3e7d11a4d87492df5320a",class:r.list},this.controllers.map((t=>i("li",{class:r.item},this.type=="text"?i("button",{class:r.btn,id:t.triggerIdentifier,role:"tab",onClick:()=>this.onSelectHandler(t),disabled:t.disabled,"aria-disabled":f(t.disabled),"aria-selected":f(t.active),"aria-controls":t.contentIdentifier,tabindex:t.active&&!t.disabled?0:-1,ref:s=>this.triggerRefs[t.triggerIdentifier]=s},t.iconStart?i("gov-icon",{name:t.iconStart.name,type:t.iconStart.type}):null,t.label,t.iconEnd?i("gov-icon",{name:t.iconEnd.name,type:t.iconEnd.type}):null):i("gov-chip",{role:"tab",tag:"button",identifier:t.triggerIdentifier,"aria-selected":p(t.active),"aria-controls":t.contentIdentifier,focusable:t.active,disabled:t.disabled,color:this.color,size:this.size==="xs"?"xs":this.size==="s"?"s":"m",type:t.active?"solid":"outlined",ref:s=>this.triggerRefs[t.triggerIdentifier]=s,"on-gov-click":()=>this.onSelectHandler(t)},t.iconStart?i("gov-icon",{name:t.iconStart.name,type:t.iconStart.type,slot:"icon-start"}):null,t.label,t.iconEnd?i("gov-icon",{name:t.iconEnd.name,type:t.iconEnd.type,slot:"icon-end"}):null)))))),i("slot",{key:"2a3720ce9449d62ecd1d58bac806bf356d37375a"}))}getCurrentTab(){return this.controllers.find((t=>t.active))||null}onSelectHandler(t){const s=this.controllers.findIndex((s=>s.triggerIdentifier===t.triggerIdentifier));this.focusIndex=s;this.setActiveByIdentifier(t.triggerIdentifier);this.reRender();this.govChange.emit(this.getCurrentTab().element)}onKeydownHandler(t){const s=t.keyCode;t.stopPropagation();this.goToPrevNext(s)}goToPrevNext(t){if([37,38,39,40].includes(t)){if(false===(this.focusIndex>=0&&this.focusIndex<=this.controllers.length-1)){return}this.controllers[this.focusIndex].active=false;if(t===39||t===40){this.focusIndex++;if(this.focusIndex>=this.controllers.length){this.focusIndex=0}if(this.controllers[this.focusIndex].disabled){this.goToPrevNext(40)}}else if(t===37||t===38){this.focusIndex--;if(this.focusIndex<0){this.focusIndex=this.controllers.length-1}if(this.controllers[this.focusIndex].disabled){this.goToPrevNext(38)}}if(this.focusIndex>=0&&this.focusIndex<=this.controllers.length-1){const t=this.controllers[this.focusIndex];t.active=true;const s=this.triggerRefs[t.triggerIdentifier];if(s.nodeName.toLowerCase()==="gov-chip"){this.triggerRefs[t.triggerIdentifier].setFocus()}else{this.triggerRefs[t.triggerIdentifier].focus()}this.controllers=[...this.controllers];this.reRender();this.govChange.emit(this.getCurrentTab().element)}}}async refresh(){this.prepareControllers()}async currentTab(){return this.getCurrentTab().element||null}async setActiveTab(t){this.setActiveByIdentifier(t);this.reRender()}async rerender(){this.prepareControllers(true)}get host(){return a(this)}static get watchers(){return{type:["validateType"],color:["validateColor"],size:["validateSize"]}}};export{v as gov_tabs};
|
|
2
|
+
//# sourceMappingURL=p-ee7af1ab.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GovTabs","constructor","hostRef","this","triggerRefs","h","govHost","host","validateType","newValue","validateProp","TabTypes","TabsClass","root","validateColor","TabColors","validateSize","TabSizes","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","componentWillLoad","prepareControllers","size","inheritedAttributes","inheritAriaAttributes","disconnectedCallback","stopObserving","removeAttribute","Object","assign","skipDefault","controllers","promises","querySelectorAll","TabsItemClass","forEach","tab","controlItem","Promise","all","getIdentifier","getTriggerIdentifier","getDisableState","then","identifier","triggerIdentifier","disabled","isDefault","getAttribute","iconStart","prepareIconFormat","iconEnd","label","direction","contentIdentifier","element","active","default","push","defaultTabIndex","findIndex","controller","focusIndex","hasOwnProperty","isWrongCombination","firstGoodTab","reRender","setActiveByIdentifier","temp","map","item","control","setActiveStatus","catch","render","Host","key","class","classes","color","type","onKeyDown","onKeydownHandler","bind","tabs","role","list","btn","id","onClick","onSelectHandler","toBoolAttr","tabindex","ref","el","name","tag","booleanString","focusable","slot","getCurrentTab","find","index","t","govChange","emit","e","keyCode","stopPropagation","goToPrevNext","includes","length","current","trigger","nodeName","toLowerCase","setFocus","focus","refresh","currentTab","setActiveTab","rerender"],"sources":["../../../packages/core/src/components/gov-tabs/gov-tabs.tsx"],"sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../helpers/Validate/props\"\nimport {\n\tColorType,\n\tTabColors,\n\tTabOrientationType,\n\tTabsClass,\n\tTabsItemClass,\n\tTabSizes,\n\tTabSizeType,\n\tTabType,\n\tTabTypes\n} from \"./constants\"\nimport {GovTabControllerItem} from \"./gov-tabs.types\"\nimport {booleanString, govHost, toBoolAttr} from \"../../helpers/Dom/template\"\nimport {Nullable} from \"../../types/interfaces\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {hasOwnProperty} from \"../../utils/helpers.types\";\nimport {prepareIconFormat} from \"../gov-icon/helpers\";\nimport {AttributeObserver, Attributes} from \"../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../helpers/Accessibility/accessibility\";\n\n\n@Component({\n\ttag: \"gov-tabs\",\n})\nexport class GovTabs {\n\tprivate h: GovHost\n\tprivate triggerRefs: Record<string, HTMLButtonElement | HTMLGovChipElement> = {}\n\tprivate attributeObserver: AttributeObserver\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovTabsElement\n\t/**\n\t * Tabs type\n\t */\n\t@Prop() readonly type: TabType = \"text\"\n\t/**\n\t * Tabs size.\n\t */\n\t@Prop() readonly size?: TabSizeType = 'm'\n\t/**\n\t * Style variation of the tab chips.\n\t */\n\t@Prop() readonly color?: ColorType = \"primary\"\n\t/**\n\t * Tabs orientation\n\t */\n\t@Prop() readonly orientation: TabOrientationType = \"horizontal\"\n\t/**\n\t * Icon and description display direction\n\t */\n\t@Prop({reflect: true}) readonly direction: 'row' | 'column' = 'row'\n\t/**\n\t * Emitted when the tab is changed.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<HTMLGovTabsItemElement>\n\n\t@Watch(\"type\")\n\tvalidateType(newValue: string): void {\n\t\tvalidateProp(TabTypes, newValue, TabsClass.root)\n\t}\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(TabColors, newValue, TabsClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(TabSizes, newValue, TabsClass.root)\n\t}\n\n\t@State() controllers: GovTabControllerItem[] = []\n\t@State() focusIndex = 0\n\t@State() inheritedAttributes: Attributes = {}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.prepareControllers()\n\t\tthis.validateSize(this.size)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver.stopObserving();\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tprivate prepareControllers(skipDefault = false): void {\n\t\tthis.controllers = []\n\t\tconst promises: Promise<GovTabControllerItem>[] = []\n\t\tthis.host.querySelectorAll(TabsItemClass.root).forEach((tab: HTMLGovTabsItemElement) => {\n\t\t\tconst controlItem = Promise.all([\n\t\t\t\ttab.getIdentifier(),\n\t\t\t\ttab.getTriggerIdentifier(),\n\t\t\t\ttab.getDisableState()\n\t\t\t]).then(([identifier, triggerIdentifier, disabled]) => {\n\t\t\t\tconst isDefault = typeof tab.getAttribute(\"default\") === \"string\"\n\t\t\t\tconst iconStart = prepareIconFormat(tab.getAttribute('icon-start'))\n\t\t\t\tconst iconEnd = prepareIconFormat(tab.getAttribute('icon-end'))\n\t\t\t\treturn {\n\t\t\t\t\tlabel: tab.getAttribute(\"label\"),\n\t\t\t\t\tdirection: tab.getAttribute(\"direction\"),\n\t\t\t\t\tcontentIdentifier: identifier,\n\t\t\t\t\tdisabled: disabled,\n\t\t\t\t\ttriggerIdentifier: triggerIdentifier,\n\t\t\t\t\telement: tab,\n\t\t\t\t\tactive: false,\n\t\t\t\t\tdefault: isDefault,\n\t\t\t\t\ticonStart,\n\t\t\t\t\ticonEnd\n\t\t\t\t}\n\t\t\t})\n\t\t\tpromises.push(controlItem)\n\t\t});\n\t\tPromise.all(promises).then(controllers => {\n\t\t\tif (skipDefault === false) {\n\t\t\t\tlet defaultTabIndex = controllers.findIndex(controller => controller.default)\n\t\t\t\tif (defaultTabIndex === -1) defaultTabIndex = 0\n\t\t\t\tthis.focusIndex = defaultTabIndex\n\t\t\t\tcontrollers[defaultTabIndex].active = true\n\t\t\t} else if (this.focusIndex > -1 && hasOwnProperty(controllers, this.focusIndex)) {\n\t\t\t\tcontrollers[this.focusIndex].active = true\n\t\t\t}\n\t\t\tconst isWrongCombination = controllers.findIndex((controller) => controller.active && controller.disabled)\n\t\t\tif (isWrongCombination > -1) {\n\t\t\t\tcontrollers[isWrongCombination].active = false;\n\t\t\t\tconst firstGoodTab = controllers.findIndex((controller) => !controller.disabled)\n\t\t\t\tif (firstGoodTab > -1) {\n\t\t\t\t\tcontrollers[firstGoodTab].active = true\n\t\t\t\t\tthis.focusIndex = firstGoodTab;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.controllers = [...controllers]\n\t\t\tthis.reRender()\n\t\t})\n\t}\n\n\tprivate setActiveByIdentifier(identifier: string) {\n\t\tconst temp = []\n\t\tthis.controllers.map(item => {\n\t\t\titem.active = identifier === item.triggerIdentifier || identifier === item.contentIdentifier\n\t\t\ttemp.push(item)\n\t\t})\n\t\tthis.controllers = [...temp]\n\t}\n\n\tprivate reRender() {\n\t\tthis.controllers.map(control => {\n\t\t\tcontrol.element.setActiveStatus(control.active).catch()\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={this.h.classes(TabsClass.root)}\n\t\t\t\tsize={this.size}\n\t\t\t\tcolor={this.color}\n\t\t\t\ttype={this.type}\n\t\t\t\tdirection={this.direction}\n\t\t\t\tonKeyDown={this.onKeydownHandler.bind(this)}\n\t\t\t>\n\t\t\t\t<div class={TabsClass.tabs}\n\t\t\t\t\t role=\"tablist\"\n\t\t\t\t\t {...this.inheritedAttributes}>\n\t\t\t\t\t<ul class={TabsClass.list}>\n\t\t\t\t\t\t{this.controllers.map(control => (\n\t\t\t\t\t\t\t<li class={TabsClass.item}>\n\t\t\t\t\t\t\t\t{this.type == \"text\" ? (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclass={TabsClass.btn}\n\t\t\t\t\t\t\t\t\t\tid={control.triggerIdentifier}\n\t\t\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => this.onSelectHandler(control)}\n\t\t\t\t\t\t\t\t\t\tdisabled={control.disabled}\n\t\t\t\t\t\t\t\t\t\taria-disabled={toBoolAttr(control.disabled)}\n\t\t\t\t\t\t\t\t\t\taria-selected={toBoolAttr(control.active)}\n\t\t\t\t\t\t\t\t\t\taria-controls={control.contentIdentifier}\n\t\t\t\t\t\t\t\t\t\ttabindex={control.active && !control.disabled ? 0 : -1}\n\t\t\t\t\t\t\t\t\t\tref={el => (this.triggerRefs[control.triggerIdentifier] = el as HTMLButtonElement)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{control.iconStart ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconStart.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconStart.type}></gov-icon>) : null}\n\t\t\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t\t\t\t{control.iconEnd ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconEnd.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconEnd.type}></gov-icon>) : null}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<gov-chip\n\t\t\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\t\t\ttag={'button'}\n\t\t\t\t\t\t\t\t\t\tidentifier={control.triggerIdentifier}\n\t\t\t\t\t\t\t\t\t\taria-selected={booleanString(control.active)}\n\t\t\t\t\t\t\t\t\t\taria-controls={control.contentIdentifier}\n\t\t\t\t\t\t\t\t\t\tfocusable={control.active}\n\t\t\t\t\t\t\t\t\t\tdisabled={control.disabled}\n\t\t\t\t\t\t\t\t\t\tcolor={this.color}\n\t\t\t\t\t\t\t\t\t\tsize={this.size === \"xs\" ? \"xs\" : (this.size === \"s\" ? \"s\" : \"m\")}\n\t\t\t\t\t\t\t\t\t\ttype={control.active ? \"solid\" : \"outlined\"}\n\t\t\t\t\t\t\t\t\t\tref={el => (this.triggerRefs[control.triggerIdentifier] = el as HTMLGovChipElement)}\n\t\t\t\t\t\t\t\t\t\ton-gov-click={() => this.onSelectHandler(control)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{control.iconStart ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconStart.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconStart.type}\n\t\t\t\t\t\t\t\t\t\t\tslot=\"icon-start\"></gov-icon>) : null}\n\t\t\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t\t\t\t{control.iconEnd ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconEnd.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconEnd.type}\n\t\t\t\t\t\t\t\t\t\t\tslot=\"icon-end\"></gov-icon>) : null}\n\t\t\t\t\t\t\t\t\t</gov-chip>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate getCurrentTab(): GovTabControllerItem | null {\n\t\treturn this.controllers.find(control => control.active) || null\n\t}\n\n\tprivate onSelectHandler(control: GovTabControllerItem) {\n\t\tconst index = this.controllers.findIndex(t => t.triggerIdentifier === control.triggerIdentifier);\n\t\tthis.focusIndex = index\n\t\tthis.setActiveByIdentifier(control.triggerIdentifier)\n\t\tthis.reRender()\n\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t}\n\n\tprivate onKeydownHandler(e: KeyboardEvent) {\n\t\tconst keyCode = e.keyCode\n\n\t\te.stopPropagation()\n\t\tthis.goToPrevNext(keyCode)\n\t}\n\n\tprivate goToPrevNext(keyCode: number) {\n\t\tif ([37, 38, 39, 40].includes(keyCode)) {\n\t\t\tif (false === (this.focusIndex >= 0 && this.focusIndex <= this.controllers.length - 1)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.controllers[this.focusIndex].active = false\n\n\t\t\tif (keyCode === 39 || keyCode === 40) {\n\t\t\t\tthis.focusIndex++\n\t\t\t\tif (this.focusIndex >= this.controllers.length) {\n\t\t\t\t\tthis.focusIndex = 0\n\t\t\t\t}\n\t\t\t\tif (this.controllers[this.focusIndex].disabled) {\n\t\t\t\t\tthis.goToPrevNext(40)\n\t\t\t\t}\n\t\t\t} else if (keyCode === 37 || keyCode === 38) {\n\t\t\t\tthis.focusIndex--\n\t\t\t\tif (this.focusIndex < 0) {\n\t\t\t\t\tthis.focusIndex = this.controllers.length - 1\n\t\t\t\t}\n\t\t\t\tif (this.controllers[this.focusIndex].disabled) {\n\t\t\t\t\tthis.goToPrevNext(38)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.focusIndex >= 0 && this.focusIndex <= this.controllers.length - 1) {\n\t\t\t\tconst current = this.controllers[this.focusIndex]\n\t\t\t\tcurrent.active = true\n\t\t\t\tconst trigger = this.triggerRefs[current.triggerIdentifier]\n\t\t\t\tif (trigger.nodeName.toLowerCase() === 'gov-chip') {\n\t\t\t\t\t(this.triggerRefs[current.triggerIdentifier] as HTMLGovChipElement).setFocus()\n\t\t\t\t} else {\n\t\t\t\t\tthis.triggerRefs[current.triggerIdentifier].focus()\n\t\t\t\t}\n\n\t\t\t\tthis.controllers = [...this.controllers]\n\t\t\t\tthis.reRender()\n\t\t\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync refresh(): Promise<void> {\n\t\tthis.prepareControllers()\n\t}\n\n\t/**\n\t * Returns the currently selected tabs-item\n\t */\n\t@Method()\n\tasync currentTab(): Promise<Nullable<HTMLGovTabsItemElement>> {\n\t\treturn this.getCurrentTab().element || null\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync setActiveTab(identifier: string): Promise<void> {\n\t\tthis.setActiveByIdentifier(identifier)\n\t\tthis.reRender()\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync rerender(): Promise<void> {\n\t\tthis.prepareControllers(true);\n\t}\n}\n"],"mappings":"ycA2BaA,EAAO,MAKnB,WAAAC,CAAAC,G,gDAHQC,KAAAC,YAAsE,G,UAW7C,O,UAIK,I,WAID,U,iBAIc,a,eAIW,M,iBAqBf,G,gBACzB,E,yBACqB,GA9C1CD,KAAKE,EAAIC,EAAQH,KAAKI,K,CA8BvB,YAAAC,CAAaC,GACZC,EAAaC,EAAUF,EAAUG,EAAUC,K,CAI5C,aAAAC,CAAcL,GACbC,EAAaK,EAAWN,EAAUG,EAAUC,K,CAI7C,YAAAG,CAAaP,GACZC,EAAaO,EAAUR,EAAUG,EAAUC,K,CAO5C,gBAAAK,GACCf,KAAKgB,kBAAoB,IAAIC,EAAkBjB,KAAKI,MAAM,CAACc,EAAeZ,KACzEN,KAAKmB,sBAAsBD,EAAeZ,EAAS,IAGpDN,KAAKgB,kBAAkBI,eAAeC,E,CAGvC,iBAAAC,GACCtB,KAAKuB,qBACLvB,KAAKa,aAAab,KAAKwB,MACvBxB,KAAKyB,oBAAsBC,EAAsB1B,KAAKI,K,CAGvD,oBAAAuB,GACC3B,KAAKgB,kBAAkBY,e,CAGxB,qBAAAT,CAAsBD,EAAuBZ,GAC5CN,KAAKI,KAAKyB,gBAAgBX,GAC1BlB,KAAKyB,oBAAmBK,OAAAC,OAAAD,OAAAC,OAAA,GAAO/B,KAAKyB,qBAAmB,CAAEP,CAACA,GAAgBZ,G,CAGnE,kBAAAiB,CAAmBS,EAAc,OACxChC,KAAKiC,YAAc,GACnB,MAAMC,EAA4C,GAClDlC,KAAKI,KAAK+B,iBAAiBC,EAAc1B,MAAM2B,SAASC,IACvD,MAAMC,EAAcC,QAAQC,IAAI,CAC/BH,EAAII,gBACJJ,EAAIK,uBACJL,EAAIM,oBACFC,MAAK,EAAEC,EAAYC,EAAmBC,MACxC,MAAMC,SAAmBX,EAAIY,aAAa,aAAe,SACzD,MAAMC,EAAYC,EAAkBd,EAAIY,aAAa,eACrD,MAAMG,EAAUD,EAAkBd,EAAIY,aAAa,aACnD,MAAO,CACNI,MAAOhB,EAAIY,aAAa,SACxBK,UAAWjB,EAAIY,aAAa,aAC5BM,kBAAmBV,EACnBE,SAAUA,EACVD,kBAAmBA,EACnBU,QAASnB,EACToB,OAAQ,MACRC,QAASV,EACTE,YACAE,UACA,IAEFnB,EAAS0B,KAAKrB,EAAY,IAE3BC,QAAQC,IAAIP,GAAUW,MAAKZ,IAC1B,GAAID,IAAgB,MAAO,CAC1B,IAAI6B,EAAkB5B,EAAY6B,WAAUC,GAAcA,EAAWJ,UACrE,GAAIE,KAAqB,EAAGA,EAAkB,EAC9C7D,KAAKgE,WAAaH,EAClB5B,EAAY4B,GAAiBH,OAAS,I,MAChC,GAAI1D,KAAKgE,YAAc,GAAKC,EAAehC,EAAajC,KAAKgE,YAAa,CAChF/B,EAAYjC,KAAKgE,YAAYN,OAAS,I,CAEvC,MAAMQ,EAAqBjC,EAAY6B,WAAWC,GAAeA,EAAWL,QAAUK,EAAWf,WACjG,GAAIkB,GAAsB,EAAG,CAC5BjC,EAAYiC,GAAoBR,OAAS,MACzC,MAAMS,EAAelC,EAAY6B,WAAWC,IAAgBA,EAAWf,WACvE,GAAImB,GAAgB,EAAG,CACtBlC,EAAYkC,GAAcT,OAAS,KACnC1D,KAAKgE,WAAaG,C,EAGpBnE,KAAKiC,YAAc,IAAIA,GACvBjC,KAAKoE,UAAU,G,CAIT,qBAAAC,CAAsBvB,GAC7B,MAAMwB,EAAO,GACbtE,KAAKiC,YAAYsC,KAAIC,IACpBA,EAAKd,OAASZ,IAAe0B,EAAKzB,mBAAqBD,IAAe0B,EAAKhB,kBAC3Ec,EAAKV,KAAKY,EAAK,IAEhBxE,KAAKiC,YAAc,IAAIqC,E,CAGhB,QAAAF,GACPpE,KAAKiC,YAAYsC,KAAIE,IACpBA,EAAQhB,QAAQiB,gBAAgBD,EAAQf,QAAQiB,OAAO,G,CAIzD,MAAAC,GACC,OACC1E,EAAC2E,EAAI,CAAAC,IAAA,2CACJC,MAAO/E,KAAKE,EAAE8E,QAAQvE,EAAUC,MAChCc,KAAMxB,KAAKwB,KACXyD,MAAOjF,KAAKiF,MACZC,KAAMlF,KAAKkF,KACX3B,UAAWvD,KAAKuD,UAChB4B,UAAWnF,KAAKoF,iBAAiBC,KAAKrF,OAEtCE,EAAA,MAAA4B,OAAAC,OAAA,CAAA+C,IAAA,2CAAKC,MAAOtE,EAAU6E,KACpBC,KAAK,WACDvF,KAAKyB,qBACVvB,EAAA,MAAA4E,IAAA,2CAAIC,MAAOtE,EAAU+E,MACnBxF,KAAKiC,YAAYsC,KAAIE,GACrBvE,EAAA,MAAI6E,MAAOtE,EAAU+D,MACnBxE,KAAKkF,MAAQ,OACbhF,EAAA,UACC6E,MAAOtE,EAAUgF,IACjBC,GAAIjB,EAAQ1B,kBACZwC,KAAK,MACLI,QAAS,IAAM3F,KAAK4F,gBAAgBnB,GACpCzB,SAAUyB,EAAQzB,SAAQ,gBACX6C,EAAWpB,EAAQzB,UAAS,gBAC5B6C,EAAWpB,EAAQf,QAAO,gBAC1Be,EAAQjB,kBACvBsC,SAAUrB,EAAQf,SAAWe,EAAQzB,SAAW,GAAK,EACrD+C,IAAKC,GAAOhG,KAAKC,YAAYwE,EAAQ1B,mBAAqBiD,GAEzDvB,EAAQtB,UAAajD,EAAA,YACrB+F,KAAMxB,EAAQtB,UAAU8C,KACxBf,KAAMT,EAAQtB,UAAU+B,OAAqB,KAC7CT,EAAQnB,MACRmB,EAAQpB,QAAWnD,EAAA,YACnB+F,KAAMxB,EAAQpB,QAAQ4C,KACtBf,KAAMT,EAAQpB,QAAQ6B,OAAqB,MAG7ChF,EAAA,YACCqF,KAAK,MACLW,IAAK,SACLpD,WAAY2B,EAAQ1B,kBAAiB,gBACtBoD,EAAc1B,EAAQf,QAAO,gBAC7Be,EAAQjB,kBACvB4C,UAAW3B,EAAQf,OACnBV,SAAUyB,EAAQzB,SAClBiC,MAAOjF,KAAKiF,MACZzD,KAAMxB,KAAKwB,OAAS,KAAO,KAAQxB,KAAKwB,OAAS,IAAM,IAAM,IAC7D0D,KAAMT,EAAQf,OAAS,QAAU,WACjCqC,IAAKC,GAAOhG,KAAKC,YAAYwE,EAAQ1B,mBAAqBiD,EAAyB,eACrE,IAAMhG,KAAK4F,gBAAgBnB,IAExCA,EAAQtB,UAAajD,EAAA,YACrB+F,KAAMxB,EAAQtB,UAAU8C,KACxBf,KAAMT,EAAQtB,UAAU+B,KACxBmB,KAAK,eAA4B,KACjC5B,EAAQnB,MACRmB,EAAQpB,QAAWnD,EAAA,YACnB+F,KAAMxB,EAAQpB,QAAQ4C,KACtBf,KAAMT,EAAQpB,QAAQ6B,KACtBmB,KAAK,aAA0B,WAOtCnG,EAAA,QAAA4E,IAAA,6C,CAKK,aAAAwB,GACP,OAAOtG,KAAKiC,YAAYsE,MAAK9B,GAAWA,EAAQf,UAAW,I,CAGpD,eAAAkC,CAAgBnB,GACvB,MAAM+B,EAAQxG,KAAKiC,YAAY6B,WAAU2C,GAAKA,EAAE1D,oBAAsB0B,EAAQ1B,oBAC9E/C,KAAKgE,WAAawC,EAClBxG,KAAKqE,sBAAsBI,EAAQ1B,mBACnC/C,KAAKoE,WACLpE,KAAK0G,UAAUC,KAAK3G,KAAKsG,gBAAgB7C,Q,CAGlC,gBAAA2B,CAAiBwB,GACxB,MAAMC,EAAUD,EAAEC,QAElBD,EAAEE,kBACF9G,KAAK+G,aAAaF,E,CAGX,YAAAE,CAAaF,GACpB,GAAI,CAAC,GAAI,GAAI,GAAI,IAAIG,SAASH,GAAU,CACvC,GAAI,SAAW7G,KAAKgE,YAAc,GAAKhE,KAAKgE,YAAchE,KAAKiC,YAAYgF,OAAS,GAAI,CACvF,M,CAGDjH,KAAKiC,YAAYjC,KAAKgE,YAAYN,OAAS,MAE3C,GAAImD,IAAY,IAAMA,IAAY,GAAI,CACrC7G,KAAKgE,aACL,GAAIhE,KAAKgE,YAAchE,KAAKiC,YAAYgF,OAAQ,CAC/CjH,KAAKgE,WAAa,C,CAEnB,GAAIhE,KAAKiC,YAAYjC,KAAKgE,YAAYhB,SAAU,CAC/ChD,KAAK+G,aAAa,G,OAEb,GAAIF,IAAY,IAAMA,IAAY,GAAI,CAC5C7G,KAAKgE,aACL,GAAIhE,KAAKgE,WAAa,EAAG,CACxBhE,KAAKgE,WAAahE,KAAKiC,YAAYgF,OAAS,C,CAE7C,GAAIjH,KAAKiC,YAAYjC,KAAKgE,YAAYhB,SAAU,CAC/ChD,KAAK+G,aAAa,G,EAIpB,GAAI/G,KAAKgE,YAAc,GAAKhE,KAAKgE,YAAchE,KAAKiC,YAAYgF,OAAS,EAAG,CAC3E,MAAMC,EAAUlH,KAAKiC,YAAYjC,KAAKgE,YACtCkD,EAAQxD,OAAS,KACjB,MAAMyD,EAAUnH,KAAKC,YAAYiH,EAAQnE,mBACzC,GAAIoE,EAAQC,SAASC,gBAAkB,WAAY,CACjDrH,KAAKC,YAAYiH,EAAQnE,mBAA0CuE,U,KAC9D,CACNtH,KAAKC,YAAYiH,EAAQnE,mBAAmBwE,O,CAG7CvH,KAAKiC,YAAc,IAAIjC,KAAKiC,aAC5BjC,KAAKoE,WACLpE,KAAK0G,UAAUC,KAAK3G,KAAKsG,gBAAgB7C,Q,GAS5C,aAAM+D,GACLxH,KAAKuB,oB,CAON,gBAAMkG,GACL,OAAOzH,KAAKsG,gBAAgB7C,SAAW,I,CAOxC,kBAAMiE,CAAa5E,GAClB9C,KAAKqE,sBAAsBvB,GAC3B9C,KAAKoE,U,CAON,cAAMuD,GACL3H,KAAKuB,mBAAmB,K","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["GovTabs","constructor","hostRef","this","triggerRefs","h","govHost","host","validateType","newValue","validateProp","TabTypes","TabsClass","root","validateColor","TabColors","validateSize","TabSizes","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","componentWillLoad","prepareControllers","size","inheritedAttributes","inheritAriaAttributes","disconnectedCallback","stopObserving","removeAttribute","Object","assign","skipDefault","controllers","promises","querySelectorAll","TabsItemClass","forEach","tab","controlItem","Promise","all","getIdentifier","getTriggerIdentifier","getDisableState","then","identifier","triggerIdentifier","disabled","isDefault","getAttribute","iconStart","prepareIconFormat","iconEnd","label","direction","contentIdentifier","element","active","default","push","defaultTabIndex","findIndex","controller","focusIndex","hasOwnProperty","isWrongCombination","firstGoodTab","reRender","setActiveByIdentifier","temp","map","item","control","setActiveStatus","catch","render","Host","key","class","classes","color","type","onKeyDown","onKeydownHandler","bind","tabs","role","list","btn","id","onClick","onSelectHandler","toBoolAttr","tabindex","ref","el","name","tag","booleanString","focusable","slot","getCurrentTab","find","index","t","govChange","emit","e","keyCode","stopPropagation","goToPrevNext","includes","length","current","trigger","nodeName","toLowerCase","setFocus","focus","refresh","currentTab","setActiveTab","rerender"],"sources":["../../../packages/core/src/components/gov-tabs/gov-tabs.tsx"],"sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../helpers/Validate/props\"\nimport {\n\tColorType,\n\tTabColors,\n\tTabOrientationType,\n\tTabsClass,\n\tTabsItemClass,\n\tTabSizes,\n\tTabSizeType,\n\tTabType,\n\tTabTypes\n} from \"./constants\"\nimport {GovTabControllerItem} from \"./gov-tabs.types\"\nimport {booleanString, govHost, toBoolAttr} from \"../../helpers/Dom/template\"\nimport {Nullable} from \"../../types/interfaces\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {hasOwnProperty} from \"../../utils/helpers.types\";\nimport {prepareIconFormat} from \"../gov-icon/helpers\";\nimport {AttributeObserver, Attributes} from \"../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../helpers/Accessibility/accessibility\";\n\n\n@Component({\n\ttag: \"gov-tabs\",\n})\nexport class GovTabs {\n\tprivate h: GovHost\n\tprivate triggerRefs: Record<string, HTMLButtonElement | HTMLGovChipElement> = {}\n\tprivate attributeObserver: AttributeObserver\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovTabsElement\n\t/**\n\t * Tabs type\n\t */\n\t@Prop() readonly type: TabType = \"text\"\n\t/**\n\t * Tabs size.\n\t */\n\t@Prop() readonly size?: TabSizeType = 'm'\n\t/**\n\t * Style variation of the tab chips.\n\t */\n\t@Prop() readonly color?: ColorType = \"primary\"\n\t/**\n\t * Tabs orientation\n\t */\n\t@Prop() readonly orientation: TabOrientationType = \"horizontal\"\n\t/**\n\t * Icon and description display direction\n\t */\n\t@Prop({reflect: true}) readonly direction: 'row' | 'column' = 'row'\n\t/**\n\t * Emitted when the tab is changed.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<HTMLGovTabsItemElement>\n\n\t@Watch(\"type\")\n\tvalidateType(newValue: string): void {\n\t\tvalidateProp(TabTypes, newValue, TabsClass.root)\n\t}\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(TabColors, newValue, TabsClass.root)\n\t}\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(TabSizes, newValue, TabsClass.root)\n\t}\n\n\t@State() controllers: GovTabControllerItem[] = []\n\t@State() focusIndex = 0\n\t@State() inheritedAttributes: Attributes = {}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.prepareControllers()\n\t\tthis.validateSize(this.size)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver.stopObserving();\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tprivate prepareControllers(skipDefault = false): void {\n\t\tthis.controllers = []\n\t\tconst promises: Promise<GovTabControllerItem>[] = []\n\t\tthis.host.querySelectorAll(TabsItemClass.root).forEach((tab: HTMLGovTabsItemElement) => {\n\t\t\tconst controlItem = Promise.all([\n\t\t\t\ttab.getIdentifier(),\n\t\t\t\ttab.getTriggerIdentifier(),\n\t\t\t\ttab.getDisableState()\n\t\t\t]).then(([identifier, triggerIdentifier, disabled]) => {\n\t\t\t\tconst isDefault = typeof tab.getAttribute(\"default\") === \"string\"\n\t\t\t\tconst iconStart = prepareIconFormat(tab.getAttribute('icon-start'))\n\t\t\t\tconst iconEnd = prepareIconFormat(tab.getAttribute('icon-end'))\n\t\t\t\treturn {\n\t\t\t\t\tlabel: tab.getAttribute(\"label\"),\n\t\t\t\t\tdirection: tab.getAttribute(\"direction\"),\n\t\t\t\t\tcontentIdentifier: identifier,\n\t\t\t\t\tdisabled: disabled,\n\t\t\t\t\ttriggerIdentifier: triggerIdentifier,\n\t\t\t\t\telement: tab,\n\t\t\t\t\tactive: false,\n\t\t\t\t\tdefault: isDefault,\n\t\t\t\t\ticonStart,\n\t\t\t\t\ticonEnd\n\t\t\t\t}\n\t\t\t})\n\t\t\tpromises.push(controlItem)\n\t\t});\n\t\tPromise.all(promises).then(controllers => {\n\t\t\tif (skipDefault === false) {\n\t\t\t\tlet defaultTabIndex = controllers.findIndex(controller => controller.default)\n\t\t\t\tif (defaultTabIndex === -1) defaultTabIndex = 0\n\t\t\t\tthis.focusIndex = defaultTabIndex\n\t\t\t\tcontrollers[defaultTabIndex].active = true\n\t\t\t} else if (this.focusIndex > -1 && hasOwnProperty(controllers, this.focusIndex)) {\n\t\t\t\tcontrollers[this.focusIndex].active = true\n\t\t\t}\n\t\t\tconst isWrongCombination = controllers.findIndex((controller) => controller.active && controller.disabled)\n\t\t\tif (isWrongCombination > -1) {\n\t\t\t\tcontrollers[isWrongCombination].active = false;\n\t\t\t\tconst firstGoodTab = controllers.findIndex((controller) => !controller.disabled)\n\t\t\t\tif (firstGoodTab > -1) {\n\t\t\t\t\tcontrollers[firstGoodTab].active = true\n\t\t\t\t\tthis.focusIndex = firstGoodTab;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.controllers = [...controllers]\n\t\t\tthis.reRender()\n\t\t})\n\t}\n\n\tprivate setActiveByIdentifier(identifier: string) {\n\t\tconst temp = []\n\t\tthis.controllers.map(item => {\n\t\t\titem.active = identifier === item.triggerIdentifier || identifier === item.contentIdentifier\n\t\t\ttemp.push(item)\n\t\t})\n\t\tthis.controllers = [...temp]\n\t}\n\n\tprivate reRender() {\n\t\tthis.controllers.map(control => {\n\t\t\tcontrol.element.setActiveStatus(control.active).catch()\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={this.h.classes(TabsClass.root)}\n\t\t\t\tsize={this.size}\n\t\t\t\tcolor={this.color}\n\t\t\t\ttype={this.type}\n\t\t\t\tdirection={this.direction}\n\t\t\t\tonKeyDown={this.onKeydownHandler.bind(this)}\n\t\t\t>\n\t\t\t\t<div class={TabsClass.tabs}\n\t\t\t\t\t role=\"tablist\"\n\t\t\t\t\t {...this.inheritedAttributes}>\n\t\t\t\t\t<ul class={TabsClass.list}>\n\t\t\t\t\t\t{this.controllers.map(control => (\n\t\t\t\t\t\t\t<li class={TabsClass.item}>\n\t\t\t\t\t\t\t\t{this.type == \"text\" ? (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclass={TabsClass.btn}\n\t\t\t\t\t\t\t\t\t\tid={control.triggerIdentifier}\n\t\t\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => this.onSelectHandler(control)}\n\t\t\t\t\t\t\t\t\t\tdisabled={control.disabled}\n\t\t\t\t\t\t\t\t\t\taria-disabled={toBoolAttr(control.disabled)}\n\t\t\t\t\t\t\t\t\t\taria-selected={toBoolAttr(control.active)}\n\t\t\t\t\t\t\t\t\t\taria-controls={control.contentIdentifier}\n\t\t\t\t\t\t\t\t\t\ttabindex={control.active && !control.disabled ? 0 : -1}\n\t\t\t\t\t\t\t\t\t\tref={el => (this.triggerRefs[control.triggerIdentifier] = el as HTMLButtonElement)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{control.iconStart ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconStart.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconStart.type}></gov-icon>) : null}\n\t\t\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t\t\t\t{control.iconEnd ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconEnd.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconEnd.type}></gov-icon>) : null}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<gov-chip\n\t\t\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\t\t\ttag={'button'}\n\t\t\t\t\t\t\t\t\t\tidentifier={control.triggerIdentifier}\n\t\t\t\t\t\t\t\t\t\taria-selected={booleanString(control.active)}\n\t\t\t\t\t\t\t\t\t\taria-controls={control.contentIdentifier}\n\t\t\t\t\t\t\t\t\t\tfocusable={control.active}\n\t\t\t\t\t\t\t\t\t\tdisabled={control.disabled}\n\t\t\t\t\t\t\t\t\t\tcolor={this.color}\n\t\t\t\t\t\t\t\t\t\tsize={this.size === \"xs\" ? \"xs\" : (this.size === \"s\" ? \"s\" : \"m\")}\n\t\t\t\t\t\t\t\t\t\ttype={control.active ? \"solid\" : \"outlined\"}\n\t\t\t\t\t\t\t\t\t\tref={el => (this.triggerRefs[control.triggerIdentifier] = el as HTMLGovChipElement)}\n\t\t\t\t\t\t\t\t\t\ton-gov-click={() => this.onSelectHandler(control)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{control.iconStart ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconStart.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconStart.type}\n\t\t\t\t\t\t\t\t\t\t\tslot=\"icon-start\"></gov-icon>) : null}\n\t\t\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t\t\t\t{control.iconEnd ? (<gov-icon\n\t\t\t\t\t\t\t\t\t\t\tname={control.iconEnd.name}\n\t\t\t\t\t\t\t\t\t\t\ttype={control.iconEnd.type}\n\t\t\t\t\t\t\t\t\t\t\tslot=\"icon-end\"></gov-icon>) : null}\n\t\t\t\t\t\t\t\t\t</gov-chip>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate getCurrentTab(): GovTabControllerItem | null {\n\t\treturn this.controllers.find(control => control.active) || null\n\t}\n\n\tprivate onSelectHandler(control: GovTabControllerItem) {\n\t\tconst index = this.controllers.findIndex(t => t.triggerIdentifier === control.triggerIdentifier);\n\t\tthis.focusIndex = index\n\t\tthis.setActiveByIdentifier(control.triggerIdentifier)\n\t\tthis.reRender()\n\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t}\n\n\tprivate onKeydownHandler(e: KeyboardEvent) {\n\t\tconst keyCode = e.keyCode\n\n\t\te.stopPropagation()\n\t\tthis.goToPrevNext(keyCode)\n\t}\n\n\tprivate goToPrevNext(keyCode: number) {\n\t\tif ([37, 38, 39, 40].includes(keyCode)) {\n\t\t\tif (false === (this.focusIndex >= 0 && this.focusIndex <= this.controllers.length - 1)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.controllers[this.focusIndex].active = false\n\n\t\t\tif (keyCode === 39 || keyCode === 40) {\n\t\t\t\tthis.focusIndex++\n\t\t\t\tif (this.focusIndex >= this.controllers.length) {\n\t\t\t\t\tthis.focusIndex = 0\n\t\t\t\t}\n\t\t\t\tif (this.controllers[this.focusIndex].disabled) {\n\t\t\t\t\tthis.goToPrevNext(40)\n\t\t\t\t}\n\t\t\t} else if (keyCode === 37 || keyCode === 38) {\n\t\t\t\tthis.focusIndex--\n\t\t\t\tif (this.focusIndex < 0) {\n\t\t\t\t\tthis.focusIndex = this.controllers.length - 1\n\t\t\t\t}\n\t\t\t\tif (this.controllers[this.focusIndex].disabled) {\n\t\t\t\t\tthis.goToPrevNext(38)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.focusIndex >= 0 && this.focusIndex <= this.controllers.length - 1) {\n\t\t\t\tconst current = this.controllers[this.focusIndex]\n\t\t\t\tcurrent.active = true\n\t\t\t\tconst trigger = this.triggerRefs[current.triggerIdentifier]\n\t\t\t\tif (trigger.nodeName.toLowerCase() === 'gov-chip') {\n\t\t\t\t\t(this.triggerRefs[current.triggerIdentifier] as HTMLGovChipElement).setFocus()\n\t\t\t\t} else {\n\t\t\t\t\tthis.triggerRefs[current.triggerIdentifier].focus()\n\t\t\t\t}\n\n\t\t\t\tthis.controllers = [...this.controllers]\n\t\t\t\tthis.reRender()\n\t\t\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync refresh(): Promise<void> {\n\t\tthis.prepareControllers()\n\t}\n\n\t/**\n\t * Returns the currently selected tabs-item\n\t */\n\t@Method()\n\tasync currentTab(): Promise<Nullable<HTMLGovTabsItemElement>> {\n\t\treturn this.getCurrentTab().element || null\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync setActiveTab(identifier: string): Promise<void> {\n\t\tthis.setActiveByIdentifier(identifier)\n\t\tthis.reRender()\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync rerender(): Promise<void> {\n\t\tthis.prepareControllers(true);\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,d as i,h as s,a as e,g as o}from"./p-5fbde4f9.js";import{g as r,c as n}from"./p-ea7fdd2e.js";import{c}from"./p-cd6c2938.js";import{B as a}from"./p-3bbb77a0.js";import"./p-92f420cb.js";import"./p-5aad3497.js";import"./p-e0e2e9c1.js";const h={triggerEvents:"click",exclude:""};function d(t,i,s,e=h){const o=p(e);f(e).forEach((e=>{window.addEventListener(e,(e=>{l(e,t,i,s,o)}),false)}))}function l(t,i,s,e,o){const r=t.target;if(!s.contains(r)&&!u(r,o)){e.call(i)}}function f(t){if(t.triggerEvents){return t.triggerEvents.split(",").map((t=>t.trim()))}return["click"]}function p(t){if(t.exclude){try{return Array.from(document.querySelectorAll(t.exclude))}catch(i){console.warn(`@ClickOutside: Exclude: '${t.exclude}' will not be evaluated. Check your exclude selector syntax.`,i)}}return}function u(t,i){if(t&&i){for(let s of i){if(s.contains(t)){return true}}}return false}var g;(function(t){t["LEFT"]="left";t["RIGHT"]="right"})(g||(g={}));const v={root:"gov-dropdown",list:"gov-dropdown__list"};const m=class{constructor(s){t(this,s);this.govChange=i(this,"gov-change",7);this.identifier=undefined;this.open=false;this.position=g.LEFT;this.h=r(this.host);this.listId=c("GovDropdownList");this.controlId=c("GovDropdownControl")}watchOpen(){var t;(t=this.trigger)===null||t===void 0?void 0:t.setAttribute("aria-expanded",n(this.open))}get trigger(){return this.host.querySelector(`* > ${a.root}`)}get list(){return this.h.getSlot("list")}componentWillLoad(){var t;if(!this.trigger)return;this.trigger.setAttribute("aria-controls",this.listId);this.trigger.setAttribute("aria-haspopup",n(!!this.list));this.trigger.setAttribute("aria-expanded",n(this.open));this.trigger.setAttribute("identifier",(t=this.identifier)!==null&&t!==void 0?t:this.controlId);this.trigger.addEventListener("gov-click",(t=>{t.preventDefault();t.stopPropagation();this.open=!this.open;this.govChange.emit({component:v.root,originalEvent:t,open:this.open})}))}render(){return s(e,{key:"43c2a03dcb27ebe54f8dd00ca1120b848cac957c",class:this.h.classes([v.root]),open:this.open,position:this.position},s("slot",{key:"732c956fe37283578a95c843cf94ad590cd16402"}),s("div",{key:"c3934a0f7c8303950a5c7898574fcea2e14e1890",ref:t=>d(this,t,(()=>this.open=false)),class:v.list,id:this.listId,"aria-labelledby":this.controlId,"aria-hidden":n(!this.open),hidden:!this.open},s("slot",{key:"cb685039c57f9d32ae7c238fcb7457fe72b4c9c4",name:"list"})))}async getState(){return this.open}async toggle(){this.open=!this.open}get host(){return o(this)}static get watchers(){return{open:["watchOpen"]}}};export{m as gov_dropdown};
|
|
2
|
+
//# sourceMappingURL=p-eeee2325.entry.js.map
|