@gov-design-system-ce/components 4.1.0-rc02 → 4.1.0-rc03
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 +3 -3
- package/dist/cjs/gov-attachments_3.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-backdrop.cjs.entry.js +1 -1
- package/dist/cjs/gov-breadcrumbs.cjs.entry.js +1 -1
- package/dist/cjs/gov-button.cjs.entry.js +3 -3
- package/dist/cjs/gov-card.cjs.entry.js +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-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-dropdown.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-form-autocomplete.cjs.entry.js +1 -1
- package/dist/cjs/gov-form-checkbox-group.cjs.entry.js +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 +4 -4
- package/dist/cjs/gov-form-label.cjs.entry.js +1 -1
- package/dist/cjs/gov-form-multi-select.cjs.entry.js +5 -5
- package/dist/cjs/gov-form-multi-select.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-password-power.cjs.entry.js +1 -1
- package/dist/cjs/gov-form-radio-group.cjs.entry.js +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-icon.cjs.entry.js +1 -1
- package/dist/cjs/gov-infobar.cjs.entry.js +2 -2
- package/dist/cjs/gov-infobar.cjs.entry.js.map +1 -1
- 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-loading.cjs.entry.js +1 -1
- package/dist/cjs/gov-message.cjs.entry.js +1 -1
- package/dist/cjs/gov-pagination.cjs.entry.js +1 -1
- package/dist/cjs/gov-pagination.cjs.entry.js.map +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 +1 -1
- package/dist/cjs/gov-theme-switch.cjs.entry.js +73 -0
- package/dist/cjs/gov-theme-switch.cjs.entry.js.map +1 -0
- 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-1af4880c.js +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +0 -1
- package/dist/collection/components/gov-attachments/gov-attachments-item.js +1 -1
- package/dist/collection/components/gov-attachments/gov-attachments-item.js.map +1 -1
- package/dist/collection/components/gov-attachments/gov-attachments.js +1 -1
- package/dist/collection/components/gov-backdrop/gov-backdrop.js +1 -1
- package/dist/collection/components/gov-breadcrumbs/gov-breadcrumbs.js +1 -1
- package/dist/collection/components/gov-button/button/gov-button.js +3 -3
- package/dist/collection/components/gov-button/dropdown/gov-dropdown.js +1 -1
- package/dist/collection/components/gov-card/gov-card.js +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-dialog/gov-dialog.js.map +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-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.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 +3 -3
- 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 +5 -5
- package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.js.map +1 -1
- 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-infobar/gov-infobar.js.map +1 -1
- 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-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-pagination/gov-pagination.js +1 -1
- package/dist/collection/components/gov-pagination/gov-pagination.js.map +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 +1 -1
- package/dist/collection/components/gov-theme-switch/gov-theme-switch.js +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/components/gov-accordion-item.js +1 -1
- package/dist/components/gov-attachments-item.js +1 -1
- package/dist/components/gov-attachments.js +1 -1
- package/dist/components/gov-backdrop.js +1 -1
- package/dist/components/gov-breadcrumbs.js +1 -1
- package/dist/components/gov-breadcrumbs.js.map +1 -1
- package/dist/components/gov-button.js +1 -1
- package/dist/components/gov-card.js +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-dialog.js.map +1 -1
- package/dist/components/gov-dropdown.js +1 -1
- package/dist/components/gov-dropdown.js.map +1 -1
- package/dist/components/gov-empty.js +1 -1
- package/dist/components/gov-error-code.js +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.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-message.js +1 -1
- package/dist/components/gov-form-multi-select.js +1 -1
- package/dist/components/gov-form-multi-select.js.map +1 -1
- package/dist/components/gov-form-password-power.js +1 -1
- package/dist/components/gov-form-password-power.js.map +1 -1
- package/dist/components/gov-form-radio-group.js +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-infobar.js.map +1 -1
- package/dist/components/gov-layout-column.js +1 -1
- package/dist/components/gov-layout.js +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-pagination.js.map +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-theme-switch.js +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-content.js.map +1 -1
- package/dist/components/gov-tooltip.js +1 -1
- package/dist/components/gov-wizard-item.js +1 -1
- package/dist/components/gov-wizard.js +1 -1
- package/dist/components/{p-736e4917.js → p-1e82b99e.js} +2 -2
- package/dist/components/{p-c9a15c52.js → p-3dece5f7.js} +2 -2
- package/dist/components/p-4a92317f.js +2 -0
- package/dist/components/{p-e9b35956.js.map → p-4a92317f.js.map} +1 -1
- package/dist/components/{p-ff0cf148.js → p-4ffeb83f.js} +2 -2
- package/dist/components/{p-5caf1fe1.js → p-a14f8877.js} +2 -2
- package/dist/components/p-a5975d22.js +2 -0
- package/dist/components/{p-6e19816b.js → p-a99d125a.js} +2 -2
- package/dist/components/{p-2da35aa8.js → p-c0bb26c2.js} +2 -2
- package/dist/components/{p-e20bb5dc.js → p-dd8d3279.js} +2 -2
- package/dist/components/p-de3103e8.js +2 -0
- package/dist/components/{p-fe1842da.js.map → p-de3103e8.js.map} +1 -1
- package/dist/components/p-de8656dd.js +2 -0
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/{p-0a952b3c.entry.js → p-0225a96a.entry.js} +2 -2
- package/dist/core/p-033bbbaa.entry.js +2 -0
- package/dist/core/{p-f456bd71.entry.js.map → p-033bbbaa.entry.js.map} +1 -1
- package/dist/core/p-0d7b9167.entry.js +2 -0
- package/dist/core/{p-aa8adc45.entry.js.map → p-0d7b9167.entry.js.map} +1 -1
- package/dist/core/p-111e1a63.entry.js +2 -0
- package/dist/core/{p-5dcbfca3.entry.js.map → p-111e1a63.entry.js.map} +1 -1
- package/dist/core/p-1638b12b.entry.js +2 -0
- package/dist/core/{p-f1be099b.entry.js → p-1bbc10c9.entry.js} +2 -2
- package/dist/core/{p-fc90bf06.entry.js → p-21bdd725.entry.js} +2 -2
- package/dist/core/p-235869e6.entry.js +2 -0
- package/dist/core/p-2ee0d589.entry.js +2 -0
- package/dist/core/{p-2ed3afef.entry.js → p-33ecbb38.entry.js} +2 -2
- package/dist/core/p-378e5294.entry.js +2 -0
- package/dist/core/{p-dc3fab19.entry.js.map → p-378e5294.entry.js.map} +1 -1
- package/dist/core/p-393a281e.entry.js +2 -0
- package/dist/core/{p-7cf554e6.entry.js.map → p-393a281e.entry.js.map} +1 -1
- package/dist/core/p-39d8e408.entry.js +2 -0
- package/dist/core/p-3a519b02.entry.js +2 -0
- package/dist/core/p-3db35bee.entry.js +2 -0
- package/dist/core/{p-17015e36.entry.js.map → p-3db35bee.entry.js.map} +1 -1
- package/dist/core/p-3ddfbc05.entry.js +2 -0
- package/dist/core/{p-fa7caad6.entry.js → p-3e8b94c2.entry.js} +2 -2
- package/dist/core/p-3f5f36e4.entry.js +2 -0
- package/dist/core/{p-83039b10.entry.js.map → p-3f5f36e4.entry.js.map} +1 -1
- package/dist/core/p-4898c95f.entry.js +2 -0
- package/dist/core/p-4e98412a.entry.js +2 -0
- package/dist/core/{p-db940455.entry.js.map → p-4e98412a.entry.js.map} +1 -1
- package/dist/core/p-59c4574a.entry.js +2 -0
- package/dist/core/{p-5dc0af54.entry.js.map → p-59c4574a.entry.js.map} +1 -1
- package/dist/core/p-5f776da7.entry.js +2 -0
- package/dist/core/{p-663d3db2.entry.js.map → p-5f776da7.entry.js.map} +1 -1
- package/dist/core/p-74e20474.entry.js +2 -0
- package/dist/core/{p-b838bb27.entry.js.map → p-74e20474.entry.js.map} +1 -1
- package/dist/core/{p-c214c202.entry.js → p-7cd2c877.entry.js} +2 -2
- package/dist/core/{p-3f2b803c.entry.js → p-8321da17.entry.js} +2 -2
- package/dist/core/{p-81b0848c.entry.js → p-899e504a.entry.js} +2 -2
- package/dist/core/p-9100d24f.entry.js +2 -0
- package/dist/core/p-964f1729.entry.js +2 -0
- package/dist/core/p-97927e2a.entry.js +2 -0
- package/dist/core/{p-5c88f415.entry.js.map → p-97927e2a.entry.js.map} +1 -1
- package/dist/core/p-98091397.entry.js +2 -0
- package/dist/core/{p-74e9ad9d.entry.js → p-987388fd.entry.js} +2 -2
- package/dist/core/p-9d0c3dee.entry.js +2 -0
- package/dist/core/{p-a5489b0e.entry.js → p-a42514f9.entry.js} +2 -2
- package/dist/core/{p-ab9ae7ba.entry.js → p-a4886f2d.entry.js} +2 -2
- package/dist/core/p-acff78c5.entry.js +2 -0
- package/dist/core/{p-b55fc943.entry.js.map → p-acff78c5.entry.js.map} +1 -1
- package/dist/core/{p-d2351924.entry.js → p-b215f99f.entry.js} +2 -2
- package/dist/core/p-bdf1864e.entry.js +2 -0
- package/dist/core/{p-6d772ff9.entry.js.map → p-bdf1864e.entry.js.map} +1 -1
- package/dist/core/p-c5375a8a.entry.js +2 -0
- package/dist/core/p-c5375a8a.entry.js.map +1 -0
- package/dist/core/{p-6b42a387.entry.js → p-c6431085.entry.js} +2 -2
- package/dist/core/p-ca093025.entry.js +2 -0
- package/dist/core/p-d56632e1.entry.js +2 -0
- package/dist/core/{p-6ed147a6.entry.js → p-e49b1737.entry.js} +2 -2
- package/dist/core/{p-6ed147a6.entry.js.map → p-e49b1737.entry.js.map} +1 -1
- package/dist/core/p-e5b95316.entry.js +2 -0
- package/dist/core/p-ea6cb030.entry.js +2 -0
- package/dist/core/{p-eeb9cb73.entry.js.map → p-ea6cb030.entry.js.map} +1 -1
- package/dist/core/{p-edc05eff.entry.js → p-eb2af67a.entry.js} +2 -2
- package/dist/core/p-f0781e29.entry.js +2 -0
- package/dist/core/{p-47e364bb.entry.js.map → p-f0781e29.entry.js.map} +1 -1
- package/dist/core/p-f4e04e98.entry.js +2 -0
- package/dist/core/p-fe147dbf.entry.js +2 -0
- package/dist/esm/core.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 +3 -3
- package/dist/esm/gov-card.entry.js +1 -1
- package/dist/esm/gov-chip.entry.js +2 -2
- package/dist/esm/gov-container.entry.js +1 -1
- package/dist/esm/gov-control-group.entry.js +1 -1
- package/dist/esm/gov-cookiebar.entry.js +1 -1
- package/dist/esm/gov-dialog.entry.js +1 -1
- package/dist/esm/gov-dialog.entry.js.map +1 -1
- package/dist/esm/gov-dropdown.entry.js +1 -1
- package/dist/esm/gov-empty.entry.js +1 -1
- package/dist/esm/gov-error-code.entry.js +1 -1
- package/dist/esm/gov-form-autocomplete.entry.js +1 -1
- package/dist/esm/gov-form-checkbox-group.entry.js +1 -1
- package/dist/esm/gov-form-control.entry.js +1 -1
- package/dist/esm/gov-form-file.entry.js +1 -1
- package/dist/esm/gov-form-group.entry.js +1 -1
- package/dist/esm/gov-form-input_2.entry.js +4 -4
- package/dist/esm/gov-form-label.entry.js +1 -1
- package/dist/esm/gov-form-multi-select.entry.js +5 -5
- package/dist/esm/gov-form-multi-select.entry.js.map +1 -1
- package/dist/esm/gov-form-password-power.entry.js +1 -1
- package/dist/esm/gov-form-radio-group.entry.js +1 -1
- package/dist/esm/gov-form-search.entry.js +1 -1
- package/dist/esm/gov-form-select.entry.js +2 -2
- package/dist/esm/gov-grid-item.entry.js +1 -1
- package/dist/esm/gov-grid.entry.js +1 -1
- package/dist/esm/gov-icon.entry.js +1 -1
- package/dist/esm/gov-infobar.entry.js +2 -2
- package/dist/esm/gov-infobar.entry.js.map +1 -1
- package/dist/esm/gov-layout-column.entry.js +1 -1
- package/dist/esm/gov-layout.entry.js +1 -1
- package/dist/esm/gov-loading.entry.js +1 -1
- package/dist/esm/gov-message.entry.js +1 -1
- package/dist/esm/gov-pagination.entry.js +1 -1
- package/dist/esm/gov-pagination.entry.js.map +1 -1
- package/dist/esm/gov-spacer.entry.js +1 -1
- package/dist/esm/gov-stepper-item.entry.js +1 -1
- package/dist/esm/gov-stepper.entry.js +1 -1
- package/dist/esm/gov-tabs-item.entry.js +1 -1
- package/dist/esm/gov-tabs.entry.js +1 -1
- package/dist/esm/gov-tag.entry.js +1 -1
- package/dist/esm/gov-theme-switch.entry.js +69 -0
- package/dist/esm/gov-theme-switch.entry.js.map +1 -0
- package/dist/esm/gov-tile.entry.js +1 -1
- package/dist/esm/gov-tiles.entry.js +1 -1
- package/dist/esm/gov-toast.entry.js +1 -1
- package/dist/esm/gov-tooltip-content.entry.js +1 -1
- package/dist/esm/gov-tooltip.entry.js +2 -2
- package/dist/esm/gov-wizard-item.entry.js +2 -2
- package/dist/esm/gov-wizard.entry.js +1 -1
- package/dist/esm/index-d8b4eb6c.js +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/hydrate/index.js +64 -9890
- package/dist/hydrate/index.mjs +64 -9890
- package/dist/types/components.d.ts +0 -13
- package/package.json +1 -1
- package/dist/cjs/gov-app_2.cjs.entry.js +0 -9891
- package/dist/cjs/gov-app_2.cjs.entry.js.map +0 -1
- package/dist/collection/components/gov-app/gov-app.css +0 -68
- package/dist/collection/components/gov-app/gov-app.js +0 -93
- package/dist/collection/components/gov-app/gov-app.js.map +0 -1
- package/dist/components/gov-app.d.ts +0 -11
- package/dist/components/gov-app.js +0 -2
- package/dist/components/gov-app.js.map +0 -1
- package/dist/components/p-ae7e6127.js +0 -2
- package/dist/components/p-e183a7c7.js +0 -2
- package/dist/components/p-e9b35956.js +0 -2
- package/dist/components/p-fe1842da.js +0 -2
- package/dist/core/p-006e52f1.entry.js +0 -2
- package/dist/core/p-17015e36.entry.js +0 -2
- package/dist/core/p-182189d2.entry.js +0 -2
- package/dist/core/p-2effdd60.entry.js +0 -2
- package/dist/core/p-477a5027.entry.js +0 -2
- package/dist/core/p-477a5027.entry.js.map +0 -1
- package/dist/core/p-47e364bb.entry.js +0 -2
- package/dist/core/p-5c88f415.entry.js +0 -2
- package/dist/core/p-5dc0af54.entry.js +0 -2
- package/dist/core/p-5dcbfca3.entry.js +0 -2
- package/dist/core/p-663d3db2.entry.js +0 -2
- package/dist/core/p-6d772ff9.entry.js +0 -2
- package/dist/core/p-7cf554e6.entry.js +0 -2
- package/dist/core/p-83039b10.entry.js +0 -2
- package/dist/core/p-904de5e6.entry.js +0 -2
- package/dist/core/p-91a9cd24.entry.js +0 -2
- package/dist/core/p-963f9fcd.entry.js +0 -2
- package/dist/core/p-9dde00d8.entry.js +0 -2
- package/dist/core/p-9ff8f059.entry.js +0 -2
- package/dist/core/p-a1ebb4da.entry.js +0 -2
- package/dist/core/p-a53a277a.entry.js +0 -2
- package/dist/core/p-a54f1db9.entry.js +0 -2
- package/dist/core/p-aa8adc45.entry.js +0 -2
- package/dist/core/p-b3acb156.entry.js +0 -2
- package/dist/core/p-b55fc943.entry.js +0 -2
- package/dist/core/p-b838bb27.entry.js +0 -2
- package/dist/core/p-c4c7cb24.entry.js +0 -2
- package/dist/core/p-db940455.entry.js +0 -2
- package/dist/core/p-dc3fab19.entry.js +0 -2
- package/dist/core/p-e134b123.entry.js +0 -2
- package/dist/core/p-e4978aab.entry.js +0 -2
- package/dist/core/p-eeb9cb73.entry.js +0 -2
- package/dist/core/p-f141ad5e.entry.js +0 -2
- package/dist/core/p-f456bd71.entry.js +0 -2
- package/dist/esm/gov-app_2.entry.js +0 -9886
- package/dist/esm/gov-app_2.entry.js.map +0 -1
- package/dist/types/components/gov-app/gov-app.d.ts +0 -37
- /package/dist/components/{p-736e4917.js.map → p-1e82b99e.js.map} +0 -0
- /package/dist/components/{p-c9a15c52.js.map → p-3dece5f7.js.map} +0 -0
- /package/dist/components/{p-ff0cf148.js.map → p-4ffeb83f.js.map} +0 -0
- /package/dist/components/{p-5caf1fe1.js.map → p-a14f8877.js.map} +0 -0
- /package/dist/components/{p-ae7e6127.js.map → p-a5975d22.js.map} +0 -0
- /package/dist/components/{p-6e19816b.js.map → p-a99d125a.js.map} +0 -0
- /package/dist/components/{p-2da35aa8.js.map → p-c0bb26c2.js.map} +0 -0
- /package/dist/components/{p-e20bb5dc.js.map → p-dd8d3279.js.map} +0 -0
- /package/dist/components/{p-e183a7c7.js.map → p-de8656dd.js.map} +0 -0
- /package/dist/core/{p-0a952b3c.entry.js.map → p-0225a96a.entry.js.map} +0 -0
- /package/dist/core/{p-a54f1db9.entry.js.map → p-1638b12b.entry.js.map} +0 -0
- /package/dist/core/{p-f1be099b.entry.js.map → p-1bbc10c9.entry.js.map} +0 -0
- /package/dist/core/{p-fc90bf06.entry.js.map → p-21bdd725.entry.js.map} +0 -0
- /package/dist/core/{p-b3acb156.entry.js.map → p-235869e6.entry.js.map} +0 -0
- /package/dist/core/{p-006e52f1.entry.js.map → p-2ee0d589.entry.js.map} +0 -0
- /package/dist/core/{p-2ed3afef.entry.js.map → p-33ecbb38.entry.js.map} +0 -0
- /package/dist/core/{p-f141ad5e.entry.js.map → p-39d8e408.entry.js.map} +0 -0
- /package/dist/core/{p-2effdd60.entry.js.map → p-3a519b02.entry.js.map} +0 -0
- /package/dist/core/{p-c4c7cb24.entry.js.map → p-3ddfbc05.entry.js.map} +0 -0
- /package/dist/core/{p-fa7caad6.entry.js.map → p-3e8b94c2.entry.js.map} +0 -0
- /package/dist/core/{p-904de5e6.entry.js.map → p-4898c95f.entry.js.map} +0 -0
- /package/dist/core/{p-c214c202.entry.js.map → p-7cd2c877.entry.js.map} +0 -0
- /package/dist/core/{p-3f2b803c.entry.js.map → p-8321da17.entry.js.map} +0 -0
- /package/dist/core/{p-81b0848c.entry.js.map → p-899e504a.entry.js.map} +0 -0
- /package/dist/core/{p-a1ebb4da.entry.js.map → p-9100d24f.entry.js.map} +0 -0
- /package/dist/core/{p-91a9cd24.entry.js.map → p-964f1729.entry.js.map} +0 -0
- /package/dist/core/{p-a53a277a.entry.js.map → p-98091397.entry.js.map} +0 -0
- /package/dist/core/{p-74e9ad9d.entry.js.map → p-987388fd.entry.js.map} +0 -0
- /package/dist/core/{p-963f9fcd.entry.js.map → p-9d0c3dee.entry.js.map} +0 -0
- /package/dist/core/{p-a5489b0e.entry.js.map → p-a42514f9.entry.js.map} +0 -0
- /package/dist/core/{p-ab9ae7ba.entry.js.map → p-a4886f2d.entry.js.map} +0 -0
- /package/dist/core/{p-d2351924.entry.js.map → p-b215f99f.entry.js.map} +0 -0
- /package/dist/core/{p-6b42a387.entry.js.map → p-c6431085.entry.js.map} +0 -0
- /package/dist/core/{p-9dde00d8.entry.js.map → p-ca093025.entry.js.map} +0 -0
- /package/dist/core/{p-e134b123.entry.js.map → p-d56632e1.entry.js.map} +0 -0
- /package/dist/core/{p-9ff8f059.entry.js.map → p-e5b95316.entry.js.map} +0 -0
- /package/dist/core/{p-edc05eff.entry.js.map → p-eb2af67a.entry.js.map} +0 -0
- /package/dist/core/{p-182189d2.entry.js.map → p-f4e04e98.entry.js.map} +0 -0
- /package/dist/core/{p-e4978aab.entry.js.map → p-fe147dbf.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ClickOutsideOptionsDefaults","triggerEvents","exclude","registerClickOutside","component","element","callback","opt","excludedNodes","getExcludedNodes","getTriggerEvents","forEach","triggerEvent","window","addEventListener","e","initClickOutside","event","target","contains","isExcluded","call","split","map","trim","Array","from","document","querySelectorAll","err","console","warn","excudedNodes","excludedNode","Position","DropdownClass","root","list","GovDropdown","proxyCustomElement","H","constructor","LEFT","this","h","govHost","host","listId","createID","controlId","watchOpen","_a","trigger","setAttribute","toBoolAttr","open","querySelector","ButtonClass","getSlot","componentWillLoad","identifier","preventDefault","stopPropagation","govChange","emit","originalEvent","render","Host","key","class","classes","position","ref","el","id","hidden","name","getState","toggle"],"sources":["../../../node_modules/stencil-click-outside/dist/esm/index.js","../../../packages/core/src/components/gov-button/dropdown/constants.ts","../../../packages/core/src/components/gov-button/dropdown/gov-dropdown.tsx"],"sourcesContent":["import { Build as BUILD, getElement } from '@stencil/core';\nconst ClickOutsideOptionsDefaults = {\n triggerEvents: \"click\",\n exclude: \"\"\n};\n/**\n * Call this function as soon as the click outside of annotated method's host is done.\n * @example\n```\n@ClickOutside()\ncallback() {\n // this will run when click outside of element (host component) is done.\n}\n```\n */\nexport function ClickOutside(opt = ClickOutsideOptionsDefaults) {\n return (proto, methodName) => {\n // this is to resolve the 'compiler optimization issue':\n // lifecycle events not being called when not explicitly declared in at least one of components from bundle\n BUILD.connectedCallback = true;\n BUILD.disconnectedCallback = true;\n const { connectedCallback, disconnectedCallback } = proto;\n proto.connectedCallback = function () {\n const host = getElement(this);\n const method = this[methodName];\n registerClickOutside(this, host, method, opt);\n return connectedCallback && connectedCallback.call(this);\n };\n proto.disconnectedCallback = function () {\n const host = getElement(this);\n const method = this[methodName];\n removeClickOutside(this, host, method, opt);\n return disconnectedCallback && disconnectedCallback.call(this);\n };\n };\n}\n/**\n * Register callback function for HTMLElement to be executed when user clicks outside of element.\n * @example\n```\n<span\n ref={spanEl => registerClickOutside(this, spanEl, () => this.test())}>\n Hello, World!\n</span>;\n```\n */\nexport function registerClickOutside(component, element, callback, opt = ClickOutsideOptionsDefaults) {\n const excludedNodes = getExcludedNodes(opt);\n getTriggerEvents(opt).forEach(triggerEvent => {\n window.addEventListener(triggerEvent, (e) => {\n initClickOutside(e, component, element, callback, excludedNodes);\n }, false);\n });\n}\n/**\n * Remove click outside callback function for HTMLElement.\n */\nexport function removeClickOutside(component, element, callback, opt = ClickOutsideOptionsDefaults) {\n getTriggerEvents(opt).forEach(triggerEvent => {\n window.removeEventListener(triggerEvent, (e) => {\n initClickOutside(e, component, element, callback);\n }, false);\n });\n}\nfunction initClickOutside(event, component, element, callback, excludedNodes) {\n const target = event.target;\n if (!element.contains(target) && !isExcluded(target, excludedNodes)) {\n callback.call(component);\n }\n}\nfunction getTriggerEvents(opt) {\n if (opt.triggerEvents) {\n return opt.triggerEvents.split(\",\").map(e => e.trim());\n }\n return [\"click\"];\n}\nfunction getExcludedNodes(opt) {\n if (opt.exclude) {\n try {\n return Array.from(document.querySelectorAll(opt.exclude));\n }\n catch (err) {\n console.warn(`@ClickOutside: Exclude: '${opt.exclude}' will not be evaluated. Check your exclude selector syntax.`, err);\n }\n }\n return;\n}\nfunction isExcluded(target, excudedNodes) {\n if (target && excudedNodes) {\n for (let excludedNode of excudedNodes) {\n if (excludedNode.contains(target)) {\n return true;\n }\n }\n }\n return false;\n}\n","import { ValueOf } from \"../../../types/interfaces\"\n\nexport enum Position {\n\tLEFT = 'left',\n\tRIGHT = 'right',\n}\n\nexport type PositionType = `${ValueOf<typeof Position>}`\n\nexport const DropdownClass = {\n\troot: 'gov-dropdown',\n\tlist: 'gov-dropdown__list'\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, Watch} from \"@stencil/core\"\nimport {registerClickOutside} from \"stencil-click-outside\"\nimport {govHost, toBoolAttr} from \"../../../helpers/Dom/template\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {Nullable} from \"../../../types/interfaces\"\nimport {createID} from \"../../../utils/string.utils\"\nimport {ButtonClass} from \"../button/constants\"\nimport {DropdownClass, Position, PositionType} from \"./constants\"\nimport {DropdownEvent} from \"./gov-dropdown.types\"\n\n@Component({\n\ttag: \"gov-dropdown\",\n})\nexport class GovDropdown {\n\tprivate h: GovHost\n\tprivate readonly listId: string\n\tprivate readonly controlId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.listId = createID(\"GovDropdownList\")\n\t\tthis.controlId = createID(\"GovDropdownControl\")\n\t}\n\n\t@Element() host: HTMLGovButtonElement\n\n\t/**\n\t * Custom trigger identifier\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\n\t/**\n\t * Dropdown state\n\t */\n\t@Prop({mutable: true}) open = false\n\t/**\n\t * Menu display position\n\t */\n\t@Prop() readonly position: PositionType = Position.LEFT\n\t/**\n\t * Emitted when the dropdown change state\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<DropdownEvent>\n\n\t@Watch('open')\n\twatchOpen() {\n\t\tthis.trigger?.setAttribute(\"aria-expanded\", toBoolAttr(this.open))\n\t}\n\n\tget trigger() {\n\t\treturn this.host.querySelector(`* > ${ButtonClass.root}`) as HTMLGovButtonElement\n\t}\n\n\tget list() {\n\t\treturn this.h.getSlot(\"list\") as Nullable<HTMLUListElement>\n\t}\n\n\tcomponentWillLoad() {\n\t\tif (!this.trigger) return;\n\n\t\tthis.trigger.setAttribute(\"aria-controls\", this.listId)\n\t\tthis.trigger.setAttribute(\"aria-haspopup\", toBoolAttr(!!this.list))\n\t\tthis.trigger.setAttribute(\"aria-expanded\", toBoolAttr(this.open))\n\t\tthis.trigger.setAttribute(\"identifier\", this.identifier ?? this.controlId)\n\n\t\tthis.trigger.addEventListener(\"gov-click\", (e) => {\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\t\t\tthis.open = !this.open\n\n\t\t\tthis.govChange.emit({\n\t\t\t\tcomponent: DropdownClass.root,\n\t\t\t\toriginalEvent: e,\n\t\t\t\topen: this.open,\n\t\t\t})\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes([DropdownClass.root])} open={this.open} position={this.position}>\n\t\t\t\t<slot></slot>\n\t\t\t\t<div\n\t\t\t\t\tref={el => registerClickOutside(this, el, () => this.open = false)}\n\t\t\t\t\tclass={DropdownClass.list}\n\t\t\t\t\tid={this.listId}\n\t\t\t\t\taria-labelledby={this.controlId}\n\t\t\t\t\taria-hidden={toBoolAttr(!this.open)}\n\t\t\t\t\thidden={!this.open}>\n\t\t\t\t\t<slot name=\"list\"></slot>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Returns the current state of the dropdown\n\t */\n\t@Method()\n\tasync getState() {\n\t\treturn this.open\n\t}\n\n\t/**\n\t * Toggle state of dropdown\n\t */\n\t@Method()\n\tasync toggle() {\n\t\tthis.open = !this.open\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ClickOutsideOptionsDefaults","triggerEvents","exclude","registerClickOutside","component","element","callback","opt","excludedNodes","getExcludedNodes","getTriggerEvents","forEach","triggerEvent","window","addEventListener","e","initClickOutside","event","target","contains","isExcluded","call","split","map","trim","Array","from","document","querySelectorAll","err","console","warn","excudedNodes","excludedNode","Position","DropdownClass","root","list","GovDropdown","proxyCustomElement","H","constructor","LEFT","this","h","govHost","host","listId","createID","controlId","watchOpen","_a","trigger","setAttribute","toBoolAttr","open","querySelector","ButtonClass","getSlot","componentWillLoad","identifier","preventDefault","stopPropagation","govChange","emit","originalEvent","render","Host","key","class","classes","position","ref","el","id","hidden","name","getState","toggle"],"sources":["../../../node_modules/stencil-click-outside/dist/esm/index.js","../../../packages/core/src/components/gov-button/dropdown/constants.ts","../../../packages/core/src/components/gov-button/dropdown/gov-dropdown.tsx"],"sourcesContent":["import { Build as BUILD, getElement } from '@stencil/core';\nconst ClickOutsideOptionsDefaults = {\n triggerEvents: \"click\",\n exclude: \"\"\n};\n/**\n * Call this function as soon as the click outside of annotated method's host is done.\n * @example\n```\n@ClickOutside()\ncallback() {\n // this will run when click outside of element (host component) is done.\n}\n```\n */\nexport function ClickOutside(opt = ClickOutsideOptionsDefaults) {\n return (proto, methodName) => {\n // this is to resolve the 'compiler optimization issue':\n // lifecycle events not being called when not explicitly declared in at least one of components from bundle\n BUILD.connectedCallback = true;\n BUILD.disconnectedCallback = true;\n const { connectedCallback, disconnectedCallback } = proto;\n proto.connectedCallback = function () {\n const host = getElement(this);\n const method = this[methodName];\n registerClickOutside(this, host, method, opt);\n return connectedCallback && connectedCallback.call(this);\n };\n proto.disconnectedCallback = function () {\n const host = getElement(this);\n const method = this[methodName];\n removeClickOutside(this, host, method, opt);\n return disconnectedCallback && disconnectedCallback.call(this);\n };\n };\n}\n/**\n * Register callback function for HTMLElement to be executed when user clicks outside of element.\n * @example\n```\n<span\n ref={spanEl => registerClickOutside(this, spanEl, () => this.test())}>\n Hello, World!\n</span>;\n```\n */\nexport function registerClickOutside(component, element, callback, opt = ClickOutsideOptionsDefaults) {\n const excludedNodes = getExcludedNodes(opt);\n getTriggerEvents(opt).forEach(triggerEvent => {\n window.addEventListener(triggerEvent, (e) => {\n initClickOutside(e, component, element, callback, excludedNodes);\n }, false);\n });\n}\n/**\n * Remove click outside callback function for HTMLElement.\n */\nexport function removeClickOutside(component, element, callback, opt = ClickOutsideOptionsDefaults) {\n getTriggerEvents(opt).forEach(triggerEvent => {\n window.removeEventListener(triggerEvent, (e) => {\n initClickOutside(e, component, element, callback);\n }, false);\n });\n}\nfunction initClickOutside(event, component, element, callback, excludedNodes) {\n const target = event.target;\n if (!element.contains(target) && !isExcluded(target, excludedNodes)) {\n callback.call(component);\n }\n}\nfunction getTriggerEvents(opt) {\n if (opt.triggerEvents) {\n return opt.triggerEvents.split(\",\").map(e => e.trim());\n }\n return [\"click\"];\n}\nfunction getExcludedNodes(opt) {\n if (opt.exclude) {\n try {\n return Array.from(document.querySelectorAll(opt.exclude));\n }\n catch (err) {\n console.warn(`@ClickOutside: Exclude: '${opt.exclude}' will not be evaluated. Check your exclude selector syntax.`, err);\n }\n }\n return;\n}\nfunction isExcluded(target, excudedNodes) {\n if (target && excudedNodes) {\n for (let excludedNode of excudedNodes) {\n if (excludedNode.contains(target)) {\n return true;\n }\n }\n }\n return false;\n}\n","import { ValueOf } from \"../../../types/interfaces\"\n\nexport enum Position {\n\tLEFT = 'left',\n\tRIGHT = 'right',\n}\n\nexport type PositionType = `${ValueOf<typeof Position>}`\n\nexport const DropdownClass = {\n\troot: 'gov-dropdown',\n\tlist: 'gov-dropdown__list'\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, Watch} from \"@stencil/core\"\nimport {registerClickOutside} from \"stencil-click-outside\"\nimport {govHost, toBoolAttr} from \"../../../helpers/Dom/template\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {Nullable} from \"../../../types/interfaces\"\nimport {createID} from \"../../../utils/string.utils\"\nimport {ButtonClass} from \"../button/constants\"\nimport {DropdownClass, Position, PositionType} from \"./constants\"\nimport {DropdownEvent} from \"./gov-dropdown.types\"\n\n@Component({\n\ttag: \"gov-dropdown\",\n})\nexport class GovDropdown {\n\tprivate h: GovHost\n\tprivate readonly listId: string\n\tprivate readonly controlId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.listId = createID(\"GovDropdownList\")\n\t\tthis.controlId = createID(\"GovDropdownControl\")\n\t}\n\n\t@Element() host: HTMLGovButtonElement\n\n\t/**\n\t * Custom trigger identifier\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\n\t/**\n\t * Dropdown state\n\t */\n\t@Prop({mutable: true}) open = false\n\t/**\n\t * Menu display position\n\t */\n\t@Prop() readonly position: PositionType = Position.LEFT\n\t/**\n\t * Emitted when the dropdown change state\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<DropdownEvent>\n\n\t@Watch('open')\n\twatchOpen() {\n\t\tthis.trigger?.setAttribute(\"aria-expanded\", toBoolAttr(this.open))\n\t}\n\n\tget trigger() {\n\t\treturn this.host.querySelector(`* > ${ButtonClass.root}`) as HTMLGovButtonElement\n\t}\n\n\tget list() {\n\t\treturn this.h.getSlot(\"list\") as Nullable<HTMLUListElement>\n\t}\n\n\tcomponentWillLoad() {\n\t\tif (!this.trigger) return;\n\n\t\tthis.trigger.setAttribute(\"aria-controls\", this.listId)\n\t\tthis.trigger.setAttribute(\"aria-haspopup\", toBoolAttr(!!this.list))\n\t\tthis.trigger.setAttribute(\"aria-expanded\", toBoolAttr(this.open))\n\t\tthis.trigger.setAttribute(\"identifier\", this.identifier ?? this.controlId)\n\n\t\tthis.trigger.addEventListener(\"gov-click\", (e) => {\n\t\t\te.preventDefault()\n\t\t\te.stopPropagation()\n\t\t\tthis.open = !this.open\n\n\t\t\tthis.govChange.emit({\n\t\t\t\tcomponent: DropdownClass.root,\n\t\t\t\toriginalEvent: e,\n\t\t\t\topen: this.open,\n\t\t\t})\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes([DropdownClass.root])} open={this.open} position={this.position}>\n\t\t\t\t<slot></slot>\n\t\t\t\t<div\n\t\t\t\t\tref={el => registerClickOutside(this, el, () => this.open = false)}\n\t\t\t\t\tclass={DropdownClass.list}\n\t\t\t\t\tid={this.listId}\n\t\t\t\t\taria-labelledby={this.controlId}\n\t\t\t\t\taria-hidden={toBoolAttr(!this.open)}\n\t\t\t\t\thidden={!this.open}>\n\t\t\t\t\t<slot name=\"list\"></slot>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Returns the current state of the dropdown\n\t */\n\t@Method()\n\tasync getState() {\n\t\treturn this.open\n\t}\n\n\t/**\n\t * Toggle state of dropdown\n\t */\n\t@Method()\n\tasync toggle() {\n\t\tthis.open = !this.open\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as t,h as s,d as
|
|
1
|
+
import{p as e,H as t,h as s,d as a}from"./p-ae3dada7.js";import{p as o}from"./p-e0e2e9c1.js";import{S as c}from"./p-92f420cb.js";import{g as i}from"./p-0075138f.js";import{v as n}from"./p-19c681a3.js";import{A as f,a as r}from"./p-d4509899.js";o(c,["_S","_M","_L"]);const m={root:"gov-empty",content:"gov-empty__content"};const d=e(class e extends t{constructor(){super();this.__registerHost();this.size="m";this.h=i(this.host)}validateSize(e){n(r,e,f.root)}componentWillLoad(){this.validateSize(this.size)}render(){return s(a,{key:"25d3813acc796b96c6e51aec4a55fc2efa725aa6",class:this.h.classes(m.root),size:this.size},this.h.hasSlot("icon")&&s("slot",{key:"7fccad0fe25b57219f06cfbcf18a2f2bff19c905",name:"icon"}),s("div",{key:"a4cffd5e7175ba9273a5ea74ba622e2a577ba0fe",class:m.content},s("slot",{key:"53fd435d43baa4841ecb5e3d5817efcb57433eab",name:"headline"}),s("slot",{key:"314e7a0fd7a381dbc4a85da4df2082ce4946b7b5"})))}get host(){return this}static get watchers(){return{size:["validateSize"]}}},[4,"gov-empty",{size:[1]},undefined,{size:["validateSize"]}]);function p(){if(typeof customElements==="undefined"){return}const e=["gov-empty"];e.forEach((e=>{switch(e){case"gov-empty":if(!customElements.get(e)){customElements.define(e,d)}break}}))}p();const b=d;const l=p;export{b as GovEmpty,l as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=gov-empty.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as o,h as
|
|
1
|
+
import{p as e,H as o,h as t,d as c}from"./p-ae3dada7.js";import{g as s}from"./p-0075138f.js";const r={root:"gov-error-code",content:"gov-error-code__content"};const a=e(class e extends o{constructor(){super();this.__registerHost();this.h=s(this.host)}render(){return t(c,{key:"90ebeeb8f2e7ed539e7069a876aa1fe3027873fc",class:this.h.classes(r.root),align:"center"},this.h.hasSlot("icon")&&t("slot",{key:"a31a15dd5276be32288c691d5bb7b8cf9d6615ab",name:"icon"}),t("div",{key:"0dfc7905d1e515a7ecc1eba1dd3912cd32774ca3",class:r.content},t("slot",{key:"238e3ab94cf05880567e2ac2c54c9f9c572ff014",name:"headline"}),t("slot",{key:"56519d70f3ab7b162e9e9a78bf7bfabef89a9b2d"})))}get host(){return this}},[4,"gov-error-code"]);function n(){if(typeof customElements==="undefined"){return}const e=["gov-error-code"];e.forEach((e=>{switch(e){case"gov-error-code":if(!customElements.get(e)){customElements.define(e,a)}break}}))}n();const d=a;const f=n;export{d as GovErrorCode,f as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=gov-error-code.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{G as
|
|
1
|
+
import{G as o,d as s}from"./p-c0bb26c2.js";const c=o;const t=s;export{c as GovFormAutocomplete,t as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=gov-form-autocomplete.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as o,H as r,c as a,h as g,d as e}from"./p-ae3dada7.js";import{F as i,a as t,b as p,c as n}from"./p-e44a0fee.js";import{g as s}from"./p-0075138f.js";import{v as m}from"./p-19c681a3.js";import{t as
|
|
1
|
+
import{p as o,H as r,c as a,h as g,d as e}from"./p-ae3dada7.js";import{F as i,a as t,b as p,c as n}from"./p-e44a0fee.js";import{g as s}from"./p-0075138f.js";import{v as m}from"./p-19c681a3.js";import{t as f}from"./p-26618322.js";import{p as l}from"./p-ded281e6.js";const v=".gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}gov-form-group,.gov-form-group,gov-form-radio-group,.gov-form-radio-group,gov-form-checkbox-group,.gov-form-checkbox-group{margin-top:0;margin-bottom:0;position:relative;display:flex;width:100%;flex-direction:column;align-items:flex-start}gov-form-group .gov-form-label__label,.gov-form-group .gov-form-label__label,gov-form-radio-group .gov-form-label__label,.gov-form-radio-group .gov-form-label__label,gov-form-checkbox-group .gov-form-label__label,.gov-form-checkbox-group .gov-form-label__label{margin:0}gov-form-group[orientation=horizontal],.gov-form-group[orientation=horizontal],gov-form-radio-group[orientation=horizontal],.gov-form-radio-group[orientation=horizontal],gov-form-checkbox-group[orientation=horizontal],.gov-form-checkbox-group[orientation=horizontal]{flex-direction:row;flex-wrap:wrap}gov-form-group[orientation=horizontal] .gov-form-label__label,.gov-form-group[orientation=horizontal] .gov-form-label__label,gov-form-radio-group[orientation=horizontal] .gov-form-label__label,.gov-form-radio-group[orientation=horizontal] .gov-form-label__label,gov-form-checkbox-group[orientation=horizontal] .gov-form-label__label,.gov-form-checkbox-group[orientation=horizontal] .gov-form-label__label{white-space:nowrap}gov-form-group[gap=xs],.gov-form-group[gap=xs],gov-form-radio-group[gap=xs],.gov-form-radio-group[gap=xs],gov-form-checkbox-group[gap=xs],.gov-form-checkbox-group[gap=xs]{gap:var(--gap, var(--spacing-xs-nudge))}gov-form-group[gap=s],.gov-form-group[gap=s],gov-form-radio-group[gap=s],.gov-form-radio-group[gap=s],gov-form-checkbox-group[gap=s],.gov-form-checkbox-group[gap=s]{gap:var(--gap, var(--spacing-s))}gov-form-group[gap=m],.gov-form-group[gap=m],gov-form-radio-group[gap=m],.gov-form-radio-group[gap=m],gov-form-checkbox-group[gap=m],.gov-form-checkbox-group[gap=m]{gap:var(--gap, var(--spacing-s-nudge))}gov-form-group[gap=l],.gov-form-group[gap=l],gov-form-radio-group[gap=l],.gov-form-radio-group[gap=l],gov-form-checkbox-group[gap=l],.gov-form-checkbox-group[gap=l]{gap:var(--gap, var(--spacing-m))}gov-form-group[gap=xl],.gov-form-group[gap=xl],gov-form-radio-group[gap=xl],.gov-form-radio-group[gap=xl],gov-form-checkbox-group[gap=xl],.gov-form-checkbox-group[gap=xl]{gap:var(--gap, var(--spacing-m-nudge))}";const c=v;const u=o(class o extends r{constructor(){super();this.__registerHost();this.govChange=a(this,"gov-change",7);this.handleChange=o=>{var r;o.stopPropagation();const a=l(this.value);if(!Array.isArray(a))return;if(o.detail.checked){this.value=[...a,o.detail.value]}else{this.value=(r=a.filter((r=>r!==o.detail.value)))!==null&&r!==void 0?r:[]}this.govChange.emit({value:this.value,component:i.root})};this.gap=undefined;this.orientation="vertical";this.value=undefined;this.h=s(this.host)}validateGap(o){if(o){m(p,o,t.root)}}validateOrientation(o){if(o){m(n,o,t.root)}}componentWillLoad(){this.validateGap(this.gap);this.validateOrientation(this.orientation);this.value=l(this.value)}componentDidRender(){f((()=>this.rerenderComponent()))}rerenderComponent(){this.host.querySelectorAll("gov-form-checkbox").forEach((o=>{if(!o.hasAttribute("listener-attached")){o.addEventListener("gov-change",this.handleChange)}o.setAttribute("listener-attached","true");o.checked=this.value.includes(o.value)}))}render(){return g(e,{key:"bd69f3bc458ab723d5de635bf593aa842eaa5dff",gap:this.gap,class:this.h.classes(t.root),value:this.value},g("slot",{key:"adaf1968dc50ebaed444552f498af1bd584ddea6"}))}get host(){return this}static get watchers(){return{gap:["validateGap"],orientation:["validateOrientation"]}}static get style(){return c}},[4,"gov-form-checkbox-group",{gap:[1],orientation:[1],value:[1025]},undefined,{gap:["validateGap"],orientation:["validateOrientation"]}]);function h(){if(typeof customElements==="undefined"){return}const o=["gov-form-checkbox-group"];o.forEach((o=>{switch(o){case"gov-form-checkbox-group":if(!customElements.get(o)){customElements.define(o,u)}break}}))}h();const d=u;const b=h;export{d as GovFormCheckboxGroup,b as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=gov-form-checkbox-group.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as t,H as i,c as s,h as e,d as h}from"./p-ae3dada7.js";import{c as a}from"./p-95d41a3b.js";import{v as n}from"./p-19c681a3.js";import{g as o,d as r,e as c}from"./p-255d0471.js";import{g as d,c as l,t as m}from"./p-0075138f.js";import{F as u}from"./p-1c1d0bbe.js";import{i as f,A as p,a as b}from"./p-33d5d1ed.js";import{d as v}from"./p-
|
|
1
|
+
import{p as t,H as i,c as s,h as e,d as h}from"./p-ae3dada7.js";import{c as a}from"./p-95d41a3b.js";import{v as n}from"./p-19c681a3.js";import{g as o,d as r,e as c}from"./p-255d0471.js";import{g as d,c as l,t as m}from"./p-0075138f.js";import{F as u}from"./p-1c1d0bbe.js";import{i as f,A as p,a as b}from"./p-33d5d1ed.js";import{d as v}from"./p-a14f8877.js";const g=t(class t extends i{constructor(){super();this.__registerHost();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.checked=false;this.required=false;this.disabled=false;this.indeterminate=false;this.name=undefined;this.size="m";this.identifier=undefined;this.noLabel=false;this.invalid=undefined;this.inheritedAttributes={};this.checkboxId=a("GovCheckbox");this.h=d(this.host);this.f=o(this.h)}validateSize(t){n(c,t,r.root)}watchControlAttrs(){this.passControlAttrs()}passControlAttrs(){this.f.passAttrToControl("size",this.size);this.f.passAttrToControl("disabled",l(this.disabled));this.f.passAttrToControl("invalid",l(this.invalid));this.f.passAttrToControl("type","checkbox")}componentWillLoad(){this.passControlAttrs();this.inheritedAttributes=f(this.host)}componentDidLoad(){this.attributeObserver=new p(this.host,((t,i)=>{this.onAriaAttributeChange(t,i)}));this.attributeObserver.startObserving(b)}async componentDidRender(){this.f.passAttrToLabel("identifier",this.identifier||this.checkboxId);this.f.passAttrToLabel("required",String(this.required));this.passControlAttrs()}connectedCallback(){this.hydrated=true}disconnectedCallback(){this.attributeObserver.stopObserving()}onAriaAttributeChange(t,i){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:i})}render(){const t=t=>{if(this.noLabel){return e("label",{class:r.label},t)}return t};return e(h,{class:r.root,hydrated:this.hydrated,checked:this.checked,size:this.size,invalid:m(this.invalid)},t(e(u,null,e("input",Object.assign({id:this.identifier||this.checkboxId,type:"checkbox",value:this.value,name:this.name,checked:this.checked,onClick:this.onClickHandler.bind(this),onChange:this.onChangeHandler.bind(this),onFocus:this.onFocusHandler.bind(this),onBlur:this.onBlurHandler.bind(this),required:this.required,disabled:this.disabled,indeterminate:this.indeterminate,ref:t=>this.inputRef=t},this.inheritedAttributes,{"aria-checked":l(this.checked),"aria-required":m(this.required),"aria-invalid":m(this.invalid),"aria-disabled":m(this.disabled)})),e("span",null,e("slot",{name:"label"}),e("gov-icon",{class:r.check,name:"check-lg"}),e("gov-icon",{class:r.indeterminate,name:"dash-lg"})))))}onFocusHandler(t){t.stopPropagation();this.govFocus.emit({component:r.root,value:this.value,checked:this.checked,originalEvent:t})}onBlurHandler(t){t.stopPropagation();this.govBlur.emit({component:r.root,value:this.value,checked:this.checked,originalEvent:t})}onClickHandler(t){t.stopPropagation()}onChangeHandler(t){this.checked=t.target.checked;t.stopPropagation();this.govChange.emit({component:r.root,value:this.value,checked:this.checked,originalEvent:t})}async getRef(){return this.inputRef}get host(){return this}static get watchers(){return{size:["validateSize","watchControlAttrs"],disabled:["watchControlAttrs"],invalid:["watchControlAttrs"]}}},[4,"gov-form-checkbox",{value:[1],checked:[1540],required:[4],disabled:[4],indeterminate:[516],name:[1],size:[1],identifier:[1],noLabel:[4,"no-label"],invalid:[4],inheritedAttributes:[32],getRef:[64]},undefined,{size:["validateSize","watchControlAttrs"],disabled:["watchControlAttrs"],invalid:["watchControlAttrs"]}]);function k(){if(typeof customElements==="undefined"){return}const t=["gov-form-checkbox","gov-icon"];t.forEach((t=>{switch(t){case"gov-form-checkbox":if(!customElements.get(t)){customElements.define(t,g)}break;case"gov-icon":if(!customElements.get(t)){v()}break}}))}k();const C=g;const A=k;export{C as GovFormCheckbox,A as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=gov-form-checkbox.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as s,H as e,h as t,d as i}from"./p-ae3dada7.js";import{g as o,f as
|
|
1
|
+
import{p as s,H as e,h as t,d as i}from"./p-ae3dada7.js";import{g as o,f as a}from"./p-255d0471.js";import{g as c}from"./p-0075138f.js";import{s as r}from"./p-95d41a3b.js";const d=s(class s extends e{constructor(){super();this.__registerHost();this.identifier=undefined;this.invalid=false;this.disabled=false;this.success=false;this.fieldset=false;this.size="m";this.h=c(this.host);this.f=o(this.h)}componentDidRender(){this.syncControlMessages();this.formElementDescriptionControl()}disconnectedCallback(){var s;(s=this.observer)===null||s===void 0?void 0:s.disconnect()}formElementDescriptionControl(){const s=this.host.querySelector("."+a.bottom);if(!s)return;this.observer=new MutationObserver(function(){this.syncControlMessages()}.bind(this));this.observer.observe(s,{childList:true})}syncControlMessages(){Promise.all(this.f.messageElements.map((s=>s.identifier()))).then((s=>{this.f.mainElementsInControl.forEach((e=>{const t=r(e.getAttribute("aria-describedby"));e.removeAttribute("aria-describedby");if(Array.isArray(t)){t.forEach((e=>e.indexOf("GovFormMessage")===-1?s.push(e):null))}if(s.length){e.setAttribute("aria-describedby",s.join(" "))}}))}))}render(){const s=this.fieldset?"fieldset":"div";return t(i,{key:"2037f2c033d26035fc576af50163d72ddf33c8b6",size:this.size,class:this.h.classes(a.root)},t(s,{key:"8f913f3d0cecc153db7e217770c3e13ff3ff10a9",class:a.holder},this.h.hasSlot("top")&&t("slot",{key:"70ca0a5f95e40d3c88f34ba1521b40a561ae510a",name:"top"}),t("slot",{key:"9043f4197b78a1678fda7643879c61cbb3d09302"}),this.h.hasSlot("bottom")&&t("div",{key:"a67a85b8edec4a262e3e8291e7b939d8a8f8c10d",class:a.bottom},t("slot",{key:"94958915a9be8406e6f81ce2603e0b8bf3c3d0dd",name:"bottom"}))))}get host(){return this}},[4,"gov-form-control",{identifier:[1],invalid:[516],disabled:[516],success:[516],fieldset:[4],size:[1]}]);function n(){if(typeof customElements==="undefined"){return}const s=["gov-form-control"];s.forEach((s=>{switch(s){case"gov-form-control":if(!customElements.get(s)){customElements.define(s,d)}break}}))}n();const f=d;const l=n;export{f as GovFormControl,l as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=gov-form-control.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as t,H as e,c as s,h as i,d as
|
|
1
|
+
import{p as t,H as e,c as s,h as i,d as o}from"./p-ae3dada7.js";import{c as a}from"./p-95d41a3b.js";import{g as n,c as h,t as r}from"./p-0075138f.js";import{g as l}from"./p-255d0471.js";import{A as c,a as d,i as f}from"./p-33d5d1ed.js";import{d as m}from"./p-1e82b99e.js";import{d as u}from"./p-de3103e8.js";import{d as g}from"./p-dd8d3279.js";import{d as p}from"./p-a5975d22.js";import{d as v}from"./p-a14f8877.js";const b={root:"gov-form-file",area:"gov-form-file__area",input:"gov-form-file__input",attachments:"gov-form-file__attachments"};function y(t){const e=["bytes","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"];let s=0,i=parseInt(t,10)||0;while(i>=1024&&++s){i=i/1024}return i.toFixed(i<10&&s>0?1:0)+" "+e[s]}function E(t,e){if(typeof e==="string"&&e.length){return e.replace(/\s/g,"").split(",").filter((e=>new RegExp(e.replace("*",".*")).test(t.type))).length>0}else{return true}}function A(t,e){const s=Math.round(t.size);return s<=e}const k=t(class t extends e{constructor(){super();this.__registerHost();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.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.attachmentsLabel="Přílohy";this.accessibleRemoveLabel="Odebrat soubor {FILE_NAME}";this.accessibleAttachmentsLabel="Přílohy";this.files=[];this.inheritedAttributes={};this.fileId=a("GovInputFile");this.h=n(this.host);this.f=l(this.h)}watchControlAttrs(){this.passControlAttrs()}passControlAttrs(){this.f.passAttrToControl("invalid",h(this.invalid));this.f.passAttrToControl("disabled",h(this.disabled));this.f.passAttrToControl("type","File")}registerListeners(){function t(){this.areaRef.classList.add("highlight")}function e(){this.areaRef.classList.remove("highlight")}this.inputRef.addEventListener("change",(t=>{t.preventDefault();t.stopPropagation();const e=t.target.files;if(this.resetAfterPick){if(e.length){this.validateFiles(e)}}else{this.validateFiles(e)}}),false);if(this.expanded){const s=["dragover","dragleave"];const i=["dragenter","dragover","mouseenter"];const o=["dragleave","drop","mouseleave"];s.map((t=>this.inputRef.addEventListener(t,this.preventDefaults.bind(this),false)));i.map((e=>this.inputRef.addEventListener(e,t.bind(this),false)));o.forEach((t=>this.inputRef.addEventListener(t,e.bind(this),false)));this.areaRef.addEventListener("drop",this.handleDrop.bind(this),false)}}preventDefaults(t){t.preventDefault();t.stopPropagation()}handleDrop(t){const e=t.dataTransfer;this.validateFiles(e.files)}validateFiles(t){let e=[];Array.from(t).map((t=>{const s=this.files.find((e=>e.file.name===t.name&&e.file.size===t.size))||null;if(s===null||this.ignoreFileDuplicationCheck){const s=typeof this.maxFileSize==="number"&&this.maxFileSize>0?A(t,this.maxFileSize):true;const i=E(t,this.accept);const o={id:a("GovFormFile"),file:t,acceptValid:i,sizeValid:s};if(this.displayAttachments){this.files=[...this.files,o]}else{e=[...e,o]}this.govAddFile.emit({component:b.root,file:o})}}));this.govFiles.emit({component:b.root,files:e.length?e:this.files});if(this.resetAfterPick){this.reset().finally()}}componentDidLoad(){this.attributeObserver=new c(this.host,((t,e)=>{this.onAriaAttributeChange(t,e)}));this.attributeObserver.startObserving(d)}componentWillLoad(){this.f.passAttrToLabel("required",String(this.required));this.passControlAttrs();this.inheritedAttributes=f(this.host)}async componentDidRender(){this.registerListeners()}disconnectedCallback(){this.attributeObserver.stopObserving()}onAriaAttributeChange(t,e){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:e})}render(){return i(o,{key:"2df963d49d08bbb6f0ca9041537476932f4d6f60",class:this.h.classes([b.root]),invalid:r(this.invalid),expanded:r(this.expanded)},i("div",{key:"a717c9e31dd719ed2c30c5ea169045df4867bddb",class:b.area,ref:t=>this.areaRef=t},i("slot",{key:"9abd5561667dac90bd8554403250685b1ed54b65"}),i("input",Object.assign({key:"2494399376b69a75eb136cad01568de49b8819a8",class:b.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:b.attachments},i("slot",{name:"attachments"})):null,this.files.length&&this.displayAttachments?i("div",{class:b.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"}),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"}),this.errorSize.replace("{FILE_SIZE}",y(this.maxFileSize))):null,i("span",{slot:"info"},"(",y(t.file.size),")")))))):null)}onRemoveFileHandler(t){const e=this.files.findIndex((e=>e.id===t.id));if(e!==-1){const t=this.files;const s=this.files[e];t.splice(e,1);this.files=[...t];this.govRemoveFile.emit({component:b.root,file:s});this.govFiles.emit({component:b.root,files:t})}}onFocusHandler(t){t.stopPropagation();this.govFocus.emit({component:b.root,originalEvent:t})}onBlurHandler(t){t.stopPropagation();this.govBlur.emit({component:b.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 this}static get watchers(){return{disabled:["watchControlAttrs"],invalid:["watchControlAttrs"]}}},[4,"gov-form-file",{expanded:[4],required:[4],disabled:[4],resetAfterPick:[4,"reset-after-pick"],ignoreFileDuplicationCheck:[4,"ignore-file-duplication-check"],displayAttachments:[4,"display-attachments"],name:[1],accept:[1],multiple:[4],maxFileSize:[2,"max-file-size"],identifier:[1],invalid:[4],errorSize:[1,"error-size"],errorAccept:[1,"error-accept"],attachmentsLabel:[1,"attachments-label"],accessibleRemoveLabel:[1,"accessible-remove-label"],accessibleAttachmentsLabel:[1,"accessible-attachments-label"],files:[32],inheritedAttributes:[32],getRef:[64],getAreaRef:[64],reset:[64]},undefined,{disabled:["watchControlAttrs"],invalid:["watchControlAttrs"]}]);function j(){if(typeof customElements==="undefined"){return}const t=["gov-form-file","gov-attachments","gov-attachments-item","gov-button","gov-form-message","gov-icon"];t.forEach((t=>{switch(t){case"gov-form-file":if(!customElements.get(t)){customElements.define(t,k)}break;case"gov-attachments":if(!customElements.get(t)){m()}break;case"gov-attachments-item":if(!customElements.get(t)){u()}break;case"gov-button":if(!customElements.get(t)){g()}break;case"gov-form-message":if(!customElements.get(t)){p()}break;case"gov-icon":if(!customElements.get(t)){v()}break}}))}j();const F=k;const C=j;export{F as GovFormFile,C as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=gov-form-file.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FormFileClass","root","area","input","attachments","formatBytes","bytes","units","l","n","parseInt","toFixed","fileAcceptValidation","file","accept","length","replace","split","filter","RegExp","test","type","fileSizeValidation","maxSize","fileSize","Math","round","size","GovFormFile","proxyCustomElement","H","constructor","this","fileId","createID","h","govHost","host","f","govForm","watchControlAttrs","passControlAttrs","passAttrToControl","toBoolAttr","invalid","disabled","registerListeners","highlight","areaRef","classList","add","unhighlight","remove","inputRef","addEventListener","e","preventDefault","stopPropagation","files","target","resetAfterPick","validateFiles","expanded","events","inEvents","outEvents","map","eventName","preventDefaults","bind","forEach","handleDrop","dataTransfer","filesBuffer","Array","from","isFile","find","item","name","ignoreFileDuplicationCheck","isSizeValid","maxFileSize","isAcceptValid","newFile","id","acceptValid","sizeValid","displayAttachments","govAddFile","emit","component","govFiles","reset","finally","componentDidLoad","attributeObserver","AttributeObserver","attributeName","newValue","onAriaAttributeChange","startObserving","ariaAttributes","componentWillLoad","passAttrToLabel","String","required","inheritedAttributes","inheritAriaAttributes","componentDidRender","disconnectedCallback","stopObserving","removeAttribute","Object","assign","render","Host","key","class","classes","toBoolAttrIfDefined","ref","el","identifier","multiple","onChange","onChangeHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","hasSlot","label","accessibleAttachmentsLabel","onRemoveFileHandler","accessibleRemoveLabel","slot","color","errorAccept","errorSize","index","findIndex","removeFile","splice","govRemoveFile","govFocus","originalEvent","govBlur","getRef","getAreaRef","value"],"sources":["../../../packages/core/src/components/gov-form/file/constants.ts","../../../packages/core/src/utils/file.utils.ts","../../../packages/core/src/components/gov-form/file/gov-form-file.tsx"],"sourcesContent":["export const FormFileClass = {\n\troot: 'gov-form-file',\n\tarea: 'gov-form-file__area',\n\tinput: 'gov-form-file__input',\n\tattachments: 'gov-form-file__attachments',\n}\n","export function formatBytes(bytes: any): string {\n\tconst units = ['bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']\n\tlet l = 0,\n\t\tn = parseInt(bytes, 10) || 0\n\n\twhile (n >= 1024 && ++l) {\n\t\tn = n / 1024\n\t}\n\n\treturn n.toFixed(n < 10 && l > 0 ? 1 : 0) + ' ' + units[l]\n}\n\nexport function fileAcceptValidation(file: File, accept: string): boolean {\n\tif (typeof accept === 'string' && accept.length) {\n\t\treturn (\n\t\t\taccept\n\t\t\t\t.replace(/\\s/g, '')\n\t\t\t\t.split(',')\n\t\t\t\t.filter(accept => {\n\t\t\t\t\treturn new RegExp(accept.replace('*', '.*')).test(file.type)\n\t\t\t\t}).length > 0\n\t\t)\n\t} else {\n\t\treturn true\n\t}\n}\n\nexport function fileSizeValidation(file: File, maxSize: number): boolean {\n\tconst fileSize = Math.round(file.size)\n\treturn fileSize <= maxSize\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {createID} from \"../../../utils/string.utils\"\nimport {FormFileClass} from \"./constants\"\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from \"../../../helpers/Dom/template\"\nimport {fileAcceptValidation, fileSizeValidation, formatBytes} from \"../../../utils/file.utils\"\nimport {GovForm} from \"../../../helpers/Dom/form.types\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {govForm} from \"../../../helpers/Dom/form\"\nimport {GovFormFileEvent, GovFormFileItem} from \"./gov-form-file.types\"\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\n\n@Component({\n\ttag: \"gov-form-file\",\n})\nexport class GovFormFile {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\n\tprivate areaRef?: HTMLDivElement\n\tprivate inputRef?: HTMLInputElement\n\tprivate readonly fileId: string\n\tprivate attributeObserver: AttributeObserver\n\n\tconstructor() {\n\t\tthis.fileId = createID(\"GovInputFile\")\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormFileElement\n\t/**\n\t * Expands the file input to fill 100% of the container width.\n\t */\n\t@Prop() readonly expanded: boolean = false\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 * Makes the File component disabled.\n\t * This prevents users from being able to interact with the File, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean = false\n\t/**\n\t * After selecting the files, the main input element will be reset.\n\t * The propagation of the event with the selected files will not be affected.\n\t */\n\t@Prop({attribute: \"reset-after-pick\"}) readonly resetAfterPick: boolean = false\n\t/**\n\t * Selected files will not be checked for duplicates based on name and size.\n\t */\n\t@Prop({attribute: \"ignore-file-duplication-check\"}) readonly ignoreFileDuplicationCheck: boolean = false\n\t/**\n\t * Show list of attachments\n\t */\n\t@Prop({attribute: \"display-attachments\"}) readonly displayAttachments: boolean = true\n\t/**\n\t * Name of the input.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept\n\t */\n\t@Prop() readonly accept: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/multiple\n\t */\n\t@Prop() readonly multiple: boolean = false\n\t/**\n\t * Maximum embedded file size\n\t */\n\t@Prop({attribute: \"max-file-size\"}) readonly maxFileSize: number = -1\n\t/**\n\t * Custom File identifier.\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\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 * Error message when the maximum file size is exceeded\n\t */\n\t@Prop({attribute: \"error-size\"}) readonly errorSize: string = \"Soubor je větší než povolená velikost {FILE_SIZE}\"\n\t/**\n\t * Insert unsupported file error message\n\t */\n\t@Prop({attribute: \"error-accept\"}) readonly errorAccept: string = \"Soubor tohoto typu není povolen\"\n\t/**\n\t * Description of the list of attachments\n\t */\n\t@Prop({attribute: \"attachments-label\"}) readonly attachmentsLabel: string = \"Přílohy\"\n\t/**\n\t * Adds accessible label for the remove button that is only shown for screen readers.\n\t */\n\t@Prop({attribute: \"accessible-remove-label\"}) readonly accessibleRemoveLabel: string = \"Odebrat soubor {FILE_NAME}\"\n\t/**\n\t * Adds accessible label for the list of attachments.\n\t */\n\t@Prop({attribute: \"accessible-attachments-label\"}) readonly accessibleAttachmentsLabel: string = \"Přílohy\"\n\t/**\n\t * Emitted when the File has focus.\n\t */\n\t@Event({eventName: \"gov-focus\"}) govFocus: EventEmitter<GovFormFileEvent>\n\t/**\n\t * Emitted when the File loses focus.\n\t */\n\t@Event({eventName: \"gov-blur\"}) govBlur: EventEmitter<GovFormFileEvent>\n\t/**\n\t * Called when the list of inserted files is changed\n\t */\n\t@Event({eventName: \"gov-files\"}) govFiles: EventEmitter<GovFormFileEvent>\n\t/**\n\t * Called when a new file is added\n\t */\n\t@Event({eventName: \"gov-add-file\"}) govAddFile: EventEmitter<GovFormFileEvent>\n\t/**\n\t * Called when a file is removed from the list\n\t */\n\t@Event({eventName: \"gov-remove-file\"}) govRemoveFile: EventEmitter<GovFormFileEvent>\n\n\n\t@Watch(\"disabled\")\n\t@Watch(\"invalid\")\n\twatchControlAttrs(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\t@State() files: GovFormFileItem[] = []\n\t@State() inheritedAttributes: Attributes = {}\n\n\n\n\tprivate passControlAttrs() {\n\t\tthis.f.passAttrToControl(\"invalid\", toBoolAttr(this.invalid))\n\t\tthis.f.passAttrToControl(\"disabled\", toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl(\"type\", \"File\")\n\t}\n\n\n\tprivate registerListeners() {\n\t\tfunction highlight() {\n\t\t\tthis.areaRef.classList.add(\"highlight\")\n\t\t}\n\n\t\tfunction unhighlight() {\n\t\t\tthis.areaRef.classList.remove(\"highlight\")\n\t\t}\n\n\t\tthis.inputRef.addEventListener(\n\t\t\t\"change\",\n\t\t\te => {\n\t\t\t\te.preventDefault()\n\t\t\t\te.stopPropagation()\n\t\t\t\tconst files = (e.target as HTMLInputElement).files\n\t\t\t\tif (this.resetAfterPick) {\n\t\t\t\t\tif (files.length) {\n\t\t\t\t\t\tthis.validateFiles(files)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.validateFiles(files)\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse,\n\t\t)\n\n\t\tif (this.expanded) {\n\t\t\tconst events = [\"dragover\", \"dragleave\"]\n\t\t\tconst inEvents = [\"dragenter\", \"dragover\", \"mouseenter\"]\n\t\t\tconst outEvents = [\"dragleave\", \"drop\", \"mouseleave\"]\n\n\t\t\tevents.map(eventName => this.inputRef.addEventListener(eventName, this.preventDefaults.bind(this), false))\n\t\t\tinEvents.map(eventName => this.inputRef.addEventListener(eventName, highlight.bind(this), false))\n\t\t\toutEvents.forEach(eventName => this.inputRef.addEventListener(eventName, unhighlight.bind(this), false))\n\n\t\t\tthis.areaRef.addEventListener(\"drop\", this.handleDrop.bind(this), false)\n\t\t}\n\t}\n\n\tpreventDefaults(e) {\n\t\te.preventDefault()\n\t\te.stopPropagation()\n\t}\n\n\thandleDrop(e: DragEvent) {\n\t\tconst dataTransfer = e.dataTransfer\n\t\tthis.validateFiles(dataTransfer.files)\n\t}\n\n\tprivate validateFiles(files: FileList) {\n\t\tlet filesBuffer: GovFormFileItem[] = []\n\t\tArray.from(files).map(file => {\n\t\t\tconst isFile = this.files.find(item => item.file.name === file.name && item.file.size === file.size) || null\n\t\t\tif (isFile === null || this.ignoreFileDuplicationCheck) {\n\t\t\t\tconst isSizeValid = typeof this.maxFileSize === \"number\" && this.maxFileSize > 0 ? fileSizeValidation(file, this.maxFileSize) : true\n\t\t\t\tconst isAcceptValid = fileAcceptValidation(file, this.accept)\n\t\t\t\tconst newFile = {\n\t\t\t\t\tid: createID(\"GovFormFile\"),\n\t\t\t\t\tfile,\n\t\t\t\t\tacceptValid: isAcceptValid,\n\t\t\t\t\tsizeValid: isSizeValid,\n\t\t\t\t}\n\t\t\t\tif (this.displayAttachments) {\n\t\t\t\t\tthis.files = [...this.files, newFile]\n\t\t\t\t} else {\n\t\t\t\t\tfilesBuffer = [...filesBuffer, newFile]\n\t\t\t\t}\n\t\t\t\tthis.govAddFile.emit({\n\t\t\t\t\tcomponent: FormFileClass.root,\n\t\t\t\t\tfile: newFile,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\tthis.govFiles.emit({\n\t\t\tcomponent: FormFileClass.root,\n\t\t\tfiles: filesBuffer.length ? filesBuffer : this.files,\n\t\t})\n\n\t\tif (this.resetAfterPick) {\n\t\t\tthis.reset().finally()\n\t\t}\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\tcomponentWillLoad() {\n\t\tthis.f.passAttrToLabel(\"required\", String(this.required))\n\t\tthis.passControlAttrs()\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.registerListeners()\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\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes([FormFileClass.root])}\n\t\t\t\t invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t expanded={toBoolAttrIfDefined(this.expanded)}>\n\t\t\t\t<div class={FormFileClass.area} ref={el => (this.areaRef = el as HTMLDivElement)}>\n\t\t\t\t\t<slot/>\n\t\t\t\t\t<input\n\t\t\t\t\t\tclass={FormFileClass.input}\n\t\t\t\t\t\tref={el => (this.inputRef = el as HTMLInputElement)}\n\t\t\t\t\t\tid={this.identifier || this.fileId}\n\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\taccept={this.accept}\n\t\t\t\t\t\tmultiple={this.multiple}\n\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\tonFocus={this.onFocusHandler.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\tdisabled={this.disabled}\n\t\t\t\t\t\t{...this.inheritedAttributes}\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\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t{this.h.hasSlot(\"attachments\") ? (\n\t\t\t\t\t<div class={FormFileClass.attachments}>\n\t\t\t\t\t\t<slot name={\"attachments\"}/>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\n\t\t\t\t{this.files.length && this.displayAttachments ? (\n\t\t\t\t\t<div class={FormFileClass.attachments}>\n\t\t\t\t\t\t<gov-attachments label={this.accessibleAttachmentsLabel}\n\t\t\t\t\t\t\t\t\t\t accessible-label={this.accessibleAttachmentsLabel}>\n\t\t\t\t\t\t\t{this.files.map(item => (\n\t\t\t\t\t\t\t\t<gov-attachments-item accessible-remove-labelledby={item.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\t on-gov-remove={() => this.onRemoveFileHandler(item)}>\n\t\t\t\t\t\t\t\t\t<span class={\"sr-only\"} id={item.id}>\n\t\t\t\t\t\t\t\t\t\t{this.accessibleRemoveLabel.replace(\"{FILE_NAME}\", item.file.name)}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{item.file.name}\n\t\t\t\t\t\t\t\t\t{item.acceptValid === false ? (\n\t\t\t\t\t\t\t\t\t\t<gov-form-message slot=\"message\" color=\"error\">\n\t\t\t\t\t\t\t\t\t\t\t<gov-icon slot=\"icon\" name=\"exclamation-triangle-fill\"></gov-icon>\n\t\t\t\t\t\t\t\t\t\t\t{item.acceptValid === false ? this.errorAccept : null}\n\t\t\t\t\t\t\t\t\t\t</gov-form-message>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t{item.sizeValid === false ? (\n\t\t\t\t\t\t\t\t\t\t<gov-form-message slot=\"message\" color=\"error\">\n\t\t\t\t\t\t\t\t\t\t\t<gov-icon slot=\"icon\" name=\"exclamation-triangle-fill\"></gov-icon>\n\t\t\t\t\t\t\t\t\t\t\t{this.errorSize.replace(\"{FILE_SIZE}\", formatBytes(this.maxFileSize))}\n\t\t\t\t\t\t\t\t\t\t</gov-form-message>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t<span slot=\"info\">({formatBytes(item.file.size)})</span>\n\t\t\t\t\t\t\t\t</gov-attachments-item>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</gov-attachments>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onRemoveFileHandler(file: GovFormFileItem) {\n\t\tconst index = this.files.findIndex(item => item.id === file.id)\n\t\tif (index !== -1) {\n\t\t\tconst files = this.files\n\t\t\tconst removeFile = this.files[index]\n\t\t\tfiles.splice(index, 1)\n\t\t\tthis.files = [...files]\n\t\t\tthis.govRemoveFile.emit({\n\t\t\t\tcomponent: FormFileClass.root,\n\t\t\t\tfile: removeFile,\n\t\t\t})\n\t\t\tthis.govFiles.emit({\n\t\t\t\tcomponent: FormFileClass.root,\n\t\t\t\tfiles,\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormFileClass.root,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormFileClass.root,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\te.stopPropagation()\n\t}\n\n\t/**\n\t * Returns the reference of the native element\n\t */\n\t@Method()\n\tasync getRef(): Promise<HTMLInputElement> {\n\t\treturn this.inputRef\n\t}\n\n\t/**\n\t * Returns the reference of the native area element\n\t */\n\t@Method()\n\tasync getAreaRef(): Promise<HTMLDivElement> {\n\t\treturn this.areaRef\n\t}\n\n\t/**\n\t * Remove all files from component state\n\t */\n\t@Method()\n\tasync reset(): Promise<void> {\n\t\tthis.files = []\n\t\tthis.inputRef.value = '';\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["FormFileClass","root","area","input","attachments","formatBytes","bytes","units","l","n","parseInt","toFixed","fileAcceptValidation","file","accept","length","replace","split","filter","RegExp","test","type","fileSizeValidation","maxSize","fileSize","Math","round","size","GovFormFile","proxyCustomElement","H","constructor","this","fileId","createID","h","govHost","host","f","govForm","watchControlAttrs","passControlAttrs","passAttrToControl","toBoolAttr","invalid","disabled","registerListeners","highlight","areaRef","classList","add","unhighlight","remove","inputRef","addEventListener","e","preventDefault","stopPropagation","files","target","resetAfterPick","validateFiles","expanded","events","inEvents","outEvents","map","eventName","preventDefaults","bind","forEach","handleDrop","dataTransfer","filesBuffer","Array","from","isFile","find","item","name","ignoreFileDuplicationCheck","isSizeValid","maxFileSize","isAcceptValid","newFile","id","acceptValid","sizeValid","displayAttachments","govAddFile","emit","component","govFiles","reset","finally","componentDidLoad","attributeObserver","AttributeObserver","attributeName","newValue","onAriaAttributeChange","startObserving","ariaAttributes","componentWillLoad","passAttrToLabel","String","required","inheritedAttributes","inheritAriaAttributes","componentDidRender","disconnectedCallback","stopObserving","removeAttribute","Object","assign","render","Host","key","class","classes","toBoolAttrIfDefined","ref","el","identifier","multiple","onChange","onChangeHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","hasSlot","label","accessibleAttachmentsLabel","onRemoveFileHandler","accessibleRemoveLabel","slot","color","errorAccept","errorSize","index","findIndex","removeFile","splice","govRemoveFile","govFocus","originalEvent","govBlur","getRef","getAreaRef","value"],"sources":["../../../packages/core/src/components/gov-form/file/constants.ts","../../../packages/core/src/utils/file.utils.ts","../../../packages/core/src/components/gov-form/file/gov-form-file.tsx"],"sourcesContent":["export const FormFileClass = {\n\troot: 'gov-form-file',\n\tarea: 'gov-form-file__area',\n\tinput: 'gov-form-file__input',\n\tattachments: 'gov-form-file__attachments',\n}\n","export function formatBytes(bytes: any): string {\n\tconst units = ['bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']\n\tlet l = 0,\n\t\tn = parseInt(bytes, 10) || 0\n\n\twhile (n >= 1024 && ++l) {\n\t\tn = n / 1024\n\t}\n\n\treturn n.toFixed(n < 10 && l > 0 ? 1 : 0) + ' ' + units[l]\n}\n\nexport function fileAcceptValidation(file: File, accept: string): boolean {\n\tif (typeof accept === 'string' && accept.length) {\n\t\treturn (\n\t\t\taccept\n\t\t\t\t.replace(/\\s/g, '')\n\t\t\t\t.split(',')\n\t\t\t\t.filter(accept => {\n\t\t\t\t\treturn new RegExp(accept.replace('*', '.*')).test(file.type)\n\t\t\t\t}).length > 0\n\t\t)\n\t} else {\n\t\treturn true\n\t}\n}\n\nexport function fileSizeValidation(file: File, maxSize: number): boolean {\n\tconst fileSize = Math.round(file.size)\n\treturn fileSize <= maxSize\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {createID} from \"../../../utils/string.utils\"\nimport {FormFileClass} from \"./constants\"\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from \"../../../helpers/Dom/template\"\nimport {fileAcceptValidation, fileSizeValidation, formatBytes} from \"../../../utils/file.utils\"\nimport {GovForm} from \"../../../helpers/Dom/form.types\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {govForm} from \"../../../helpers/Dom/form\"\nimport {GovFormFileEvent, GovFormFileItem} from \"./gov-form-file.types\"\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\n\n@Component({\n\ttag: \"gov-form-file\",\n})\nexport class GovFormFile {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\n\tprivate areaRef?: HTMLDivElement\n\tprivate inputRef?: HTMLInputElement\n\tprivate readonly fileId: string\n\tprivate attributeObserver: AttributeObserver\n\n\tconstructor() {\n\t\tthis.fileId = createID(\"GovInputFile\")\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormFileElement\n\t/**\n\t * Expands the file input to fill 100% of the container width.\n\t */\n\t@Prop() readonly expanded: boolean = false\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 * Makes the File component disabled.\n\t * This prevents users from being able to interact with the File, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop() readonly disabled: boolean = false\n\t/**\n\t * After selecting the files, the main input element will be reset.\n\t * The propagation of the event with the selected files will not be affected.\n\t */\n\t@Prop({attribute: \"reset-after-pick\"}) readonly resetAfterPick: boolean = false\n\t/**\n\t * Selected files will not be checked for duplicates based on name and size.\n\t */\n\t@Prop({attribute: \"ignore-file-duplication-check\"}) readonly ignoreFileDuplicationCheck: boolean = false\n\t/**\n\t * Show list of attachments\n\t */\n\t@Prop({attribute: \"display-attachments\"}) readonly displayAttachments: boolean = true\n\t/**\n\t * Name of the input.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept\n\t */\n\t@Prop() readonly accept: string\n\t/**\n\t * Same as original parameter\n\t * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/multiple\n\t */\n\t@Prop() readonly multiple: boolean = false\n\t/**\n\t * Maximum embedded file size\n\t */\n\t@Prop({attribute: \"max-file-size\"}) readonly maxFileSize: number = -1\n\t/**\n\t * Custom File identifier.\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\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 * Error message when the maximum file size is exceeded\n\t */\n\t@Prop({attribute: \"error-size\"}) readonly errorSize: string = \"Soubor je větší než povolená velikost {FILE_SIZE}\"\n\t/**\n\t * Insert unsupported file error message\n\t */\n\t@Prop({attribute: \"error-accept\"}) readonly errorAccept: string = \"Soubor tohoto typu není povolen\"\n\t/**\n\t * Description of the list of attachments\n\t */\n\t@Prop({attribute: \"attachments-label\"}) readonly attachmentsLabel: string = \"Přílohy\"\n\t/**\n\t * Adds accessible label for the remove button that is only shown for screen readers.\n\t */\n\t@Prop({attribute: \"accessible-remove-label\"}) readonly accessibleRemoveLabel: string = \"Odebrat soubor {FILE_NAME}\"\n\t/**\n\t * Adds accessible label for the list of attachments.\n\t */\n\t@Prop({attribute: \"accessible-attachments-label\"}) readonly accessibleAttachmentsLabel: string = \"Přílohy\"\n\t/**\n\t * Emitted when the File has focus.\n\t */\n\t@Event({eventName: \"gov-focus\"}) govFocus: EventEmitter<GovFormFileEvent>\n\t/**\n\t * Emitted when the File loses focus.\n\t */\n\t@Event({eventName: \"gov-blur\"}) govBlur: EventEmitter<GovFormFileEvent>\n\t/**\n\t * Called when the list of inserted files is changed\n\t */\n\t@Event({eventName: \"gov-files\"}) govFiles: EventEmitter<GovFormFileEvent>\n\t/**\n\t * Called when a new file is added\n\t */\n\t@Event({eventName: \"gov-add-file\"}) govAddFile: EventEmitter<GovFormFileEvent>\n\t/**\n\t * Called when a file is removed from the list\n\t */\n\t@Event({eventName: \"gov-remove-file\"}) govRemoveFile: EventEmitter<GovFormFileEvent>\n\n\n\t@Watch(\"disabled\")\n\t@Watch(\"invalid\")\n\twatchControlAttrs(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\t@State() files: GovFormFileItem[] = []\n\t@State() inheritedAttributes: Attributes = {}\n\n\n\n\tprivate passControlAttrs() {\n\t\tthis.f.passAttrToControl(\"invalid\", toBoolAttr(this.invalid))\n\t\tthis.f.passAttrToControl(\"disabled\", toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl(\"type\", \"File\")\n\t}\n\n\n\tprivate registerListeners() {\n\t\tfunction highlight() {\n\t\t\tthis.areaRef.classList.add(\"highlight\")\n\t\t}\n\n\t\tfunction unhighlight() {\n\t\t\tthis.areaRef.classList.remove(\"highlight\")\n\t\t}\n\n\t\tthis.inputRef.addEventListener(\n\t\t\t\"change\",\n\t\t\te => {\n\t\t\t\te.preventDefault()\n\t\t\t\te.stopPropagation()\n\t\t\t\tconst files = (e.target as HTMLInputElement).files\n\t\t\t\tif (this.resetAfterPick) {\n\t\t\t\t\tif (files.length) {\n\t\t\t\t\t\tthis.validateFiles(files)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.validateFiles(files)\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse,\n\t\t)\n\n\t\tif (this.expanded) {\n\t\t\tconst events = [\"dragover\", \"dragleave\"]\n\t\t\tconst inEvents = [\"dragenter\", \"dragover\", \"mouseenter\"]\n\t\t\tconst outEvents = [\"dragleave\", \"drop\", \"mouseleave\"]\n\n\t\t\tevents.map(eventName => this.inputRef.addEventListener(eventName, this.preventDefaults.bind(this), false))\n\t\t\tinEvents.map(eventName => this.inputRef.addEventListener(eventName, highlight.bind(this), false))\n\t\t\toutEvents.forEach(eventName => this.inputRef.addEventListener(eventName, unhighlight.bind(this), false))\n\n\t\t\tthis.areaRef.addEventListener(\"drop\", this.handleDrop.bind(this), false)\n\t\t}\n\t}\n\n\tpreventDefaults(e) {\n\t\te.preventDefault()\n\t\te.stopPropagation()\n\t}\n\n\thandleDrop(e: DragEvent) {\n\t\tconst dataTransfer = e.dataTransfer\n\t\tthis.validateFiles(dataTransfer.files)\n\t}\n\n\tprivate validateFiles(files: FileList) {\n\t\tlet filesBuffer: GovFormFileItem[] = []\n\t\tArray.from(files).map(file => {\n\t\t\tconst isFile = this.files.find(item => item.file.name === file.name && item.file.size === file.size) || null\n\t\t\tif (isFile === null || this.ignoreFileDuplicationCheck) {\n\t\t\t\tconst isSizeValid = typeof this.maxFileSize === \"number\" && this.maxFileSize > 0 ? fileSizeValidation(file, this.maxFileSize) : true\n\t\t\t\tconst isAcceptValid = fileAcceptValidation(file, this.accept)\n\t\t\t\tconst newFile = {\n\t\t\t\t\tid: createID(\"GovFormFile\"),\n\t\t\t\t\tfile,\n\t\t\t\t\tacceptValid: isAcceptValid,\n\t\t\t\t\tsizeValid: isSizeValid,\n\t\t\t\t}\n\t\t\t\tif (this.displayAttachments) {\n\t\t\t\t\tthis.files = [...this.files, newFile]\n\t\t\t\t} else {\n\t\t\t\t\tfilesBuffer = [...filesBuffer, newFile]\n\t\t\t\t}\n\t\t\t\tthis.govAddFile.emit({\n\t\t\t\t\tcomponent: FormFileClass.root,\n\t\t\t\t\tfile: newFile,\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\tthis.govFiles.emit({\n\t\t\tcomponent: FormFileClass.root,\n\t\t\tfiles: filesBuffer.length ? filesBuffer : this.files,\n\t\t})\n\n\t\tif (this.resetAfterPick) {\n\t\t\tthis.reset().finally()\n\t\t}\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\tcomponentWillLoad() {\n\t\tthis.f.passAttrToLabel(\"required\", String(this.required))\n\t\tthis.passControlAttrs()\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.registerListeners()\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\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes([FormFileClass.root])}\n\t\t\t\t invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t expanded={toBoolAttrIfDefined(this.expanded)}>\n\t\t\t\t<div class={FormFileClass.area} ref={el => (this.areaRef = el as HTMLDivElement)}>\n\t\t\t\t\t<slot/>\n\t\t\t\t\t<input\n\t\t\t\t\t\tclass={FormFileClass.input}\n\t\t\t\t\t\tref={el => (this.inputRef = el as HTMLInputElement)}\n\t\t\t\t\t\tid={this.identifier || this.fileId}\n\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\taccept={this.accept}\n\t\t\t\t\t\tmultiple={this.multiple}\n\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\tonFocus={this.onFocusHandler.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\tdisabled={this.disabled}\n\t\t\t\t\t\t{...this.inheritedAttributes}\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\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t{this.h.hasSlot(\"attachments\") ? (\n\t\t\t\t\t<div class={FormFileClass.attachments}>\n\t\t\t\t\t\t<slot name={\"attachments\"}/>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\n\t\t\t\t{this.files.length && this.displayAttachments ? (\n\t\t\t\t\t<div class={FormFileClass.attachments}>\n\t\t\t\t\t\t<gov-attachments label={this.accessibleAttachmentsLabel}\n\t\t\t\t\t\t\t\t\t\t accessible-label={this.accessibleAttachmentsLabel}>\n\t\t\t\t\t\t\t{this.files.map(item => (\n\t\t\t\t\t\t\t\t<gov-attachments-item accessible-remove-labelledby={item.id}\n\t\t\t\t\t\t\t\t\t\t\t\t\t on-gov-remove={() => this.onRemoveFileHandler(item)}>\n\t\t\t\t\t\t\t\t\t<span class={\"sr-only\"} id={item.id}>\n\t\t\t\t\t\t\t\t\t\t{this.accessibleRemoveLabel.replace(\"{FILE_NAME}\", item.file.name)}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{item.file.name}\n\t\t\t\t\t\t\t\t\t{item.acceptValid === false ? (\n\t\t\t\t\t\t\t\t\t\t<gov-form-message slot=\"message\" color=\"error\">\n\t\t\t\t\t\t\t\t\t\t\t<gov-icon slot=\"icon\" name=\"exclamation-triangle-fill\"></gov-icon>\n\t\t\t\t\t\t\t\t\t\t\t{item.acceptValid === false ? this.errorAccept : null}\n\t\t\t\t\t\t\t\t\t\t</gov-form-message>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t{item.sizeValid === false ? (\n\t\t\t\t\t\t\t\t\t\t<gov-form-message slot=\"message\" color=\"error\">\n\t\t\t\t\t\t\t\t\t\t\t<gov-icon slot=\"icon\" name=\"exclamation-triangle-fill\"></gov-icon>\n\t\t\t\t\t\t\t\t\t\t\t{this.errorSize.replace(\"{FILE_SIZE}\", formatBytes(this.maxFileSize))}\n\t\t\t\t\t\t\t\t\t\t</gov-form-message>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t<span slot=\"info\">({formatBytes(item.file.size)})</span>\n\t\t\t\t\t\t\t\t</gov-attachments-item>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</gov-attachments>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onRemoveFileHandler(file: GovFormFileItem) {\n\t\tconst index = this.files.findIndex(item => item.id === file.id)\n\t\tif (index !== -1) {\n\t\t\tconst files = this.files\n\t\t\tconst removeFile = this.files[index]\n\t\t\tfiles.splice(index, 1)\n\t\t\tthis.files = [...files]\n\t\t\tthis.govRemoveFile.emit({\n\t\t\t\tcomponent: FormFileClass.root,\n\t\t\t\tfile: removeFile,\n\t\t\t})\n\t\t\tthis.govFiles.emit({\n\t\t\t\tcomponent: FormFileClass.root,\n\t\t\t\tfiles,\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormFileClass.root,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormFileClass.root,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\te.stopPropagation()\n\t}\n\n\t/**\n\t * Returns the reference of the native element\n\t */\n\t@Method()\n\tasync getRef(): Promise<HTMLInputElement> {\n\t\treturn this.inputRef\n\t}\n\n\t/**\n\t * Returns the reference of the native area element\n\t */\n\t@Method()\n\tasync getAreaRef(): Promise<HTMLDivElement> {\n\t\treturn this.areaRef\n\t}\n\n\t/**\n\t * Remove all files from component state\n\t */\n\t@Method()\n\tasync reset(): Promise<void> {\n\t\tthis.files = []\n\t\tthis.inputRef.value = '';\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as t,H as e,h as a,d as i}from"./p-ae3dada7.js";import{a as s,b as o,c as r}from"./p-e44a0fee.js";import{g as n}from"./p-0075138f.js";import{v as
|
|
1
|
+
import{p as t,H as e,h as a,d as i}from"./p-ae3dada7.js";import{a as s,b as o,c as r}from"./p-e44a0fee.js";import{g as n}from"./p-0075138f.js";import{v as f}from"./p-19c681a3.js";const d=t(class t extends e{constructor(){super();this.__registerHost();this.gap=undefined;this.orientation="vertical";this.h=n(this.host)}validateGap(t){if(t){f(o,t,s.root)}}validateOrientation(t){if(t){f(r,t,s.root)}}componentWillLoad(){this.validateGap(this.gap);this.validateOrientation(this.orientation)}render(){return a(i,{key:"ffaed68014e833458faab71b22f44cea5b0e62b0",gap:this.gap,class:this.h.classes(s.root)},a("slot",{key:"445fb49f6d1d4982fbf37d44fc6b66b030d5de6a"}))}get host(){return this}static get watchers(){return{gap:["validateGap"],orientation:["validateOrientation"]}}},[4,"gov-form-group",{gap:[1],orientation:[1]},undefined,{gap:["validateGap"],orientation:["validateOrientation"]}]);function p(){if(typeof customElements==="undefined"){return}const t=["gov-form-group"];t.forEach((t=>{switch(t){case"gov-form-group":if(!customElements.get(t)){customElements.define(t,d)}break}}))}p();const c=d;const m=p;export{c as GovFormGroup,m as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=gov-form-group.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{G as o,d as s}from"./p-
|
|
1
|
+
import{G as o,d as s}from"./p-4a92317f.js";const t=o;const a=s;export{t as GovFormInput,a as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=gov-form-input.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as
|
|
1
|
+
import{p as e,H as s,c as t,h as a,d as c}from"./p-ae3dada7.js";import{F as o}from"./p-7ba4daf4.js";const i=e(class e extends s{constructor(){super();this.__registerHost();this.govClick=t(this,"gov-click",7);this.identifier=undefined;this.size="m";this.required=false;this.legend=false}render(){const e=this.legend?"legend":"label";return a(c,{key:"682f49b6cf73faa43772639cb7af8081f1309325",class:o.root,size:this.size},a(e,{key:"568cec8ecbd6608debbb9ccaae2ae2de09f38fb1",class:o.label,htmlFor:this.identifier,onClick:()=>this.govClick.emit()},a("slot",{key:"a976e327c5d0f3ff0aa1e81ba34a708ef0bc6773"}),this.required?a("span",{class:"gov-color--error-500"}," *"):null))}},[4,"gov-form-label",{identifier:[1],size:[1],required:[4],legend:[4]}]);function f(){if(typeof customElements==="undefined"){return}const e=["gov-form-label"];e.forEach((e=>{switch(e){case"gov-form-label":if(!customElements.get(e)){customElements.define(e,i)}break}}))}f();const l=i;const r=f;export{l as GovFormLabel,r as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=gov-form-label.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{G as o,d as s}from"./p-
|
|
1
|
+
import{G as o,d as s}from"./p-a5975d22.js";const t=o;const a=s;export{t as GovFormMessage,a as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=gov-form-message.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as t,H as s,c as i,h as e,d as o}from"./p-ae3dada7.js";import{g as
|
|
1
|
+
import{p as t,H as s,c as i,h as e,d as o}from"./p-ae3dada7.js";import{g as n,h as a,i as h}from"./p-255d0471.js";import{g as r,c as l,t as c}from"./p-0075138f.js";import{v as d}from"./p-19c681a3.js";import{c as u,r as f}from"./p-95d41a3b.js";import{p as m}from"./p-ded281e6.js";import{t as v}from"./p-26618322.js";import{A as p,a as b}from"./p-33d5d1ed.js";import{d as g}from"./p-dd8d3279.js";import{d as y}from"./p-c0bb26c2.js";import{d as k}from"./p-4a92317f.js";import{d as w}from"./p-a14f8877.js";import{d as A}from"./p-a99d125a.js";const j=t(class t extends s{constructor(){super();this.__registerHost();this.govFocus=i(this,"gov-focus",7);this.govBlur=i(this,"gov-blur",7);this.govChange=i(this,"gov-change",7);this.govSelect=i(this,"gov-select",7);this.govRemove=i(this,"gov-remove",7);this.value=undefined;this.options=undefined;this.identifier=undefined;this.placeholder=undefined;this.size="m";this.name=undefined;this.hideSelectedList=false;this.required=false;this.disabled=false;this.invalid=undefined;this.success=undefined;this.messageEmpty="Nebyly nalezeny žádné výsledky";this.messageLoading="Načítám...";this.focused=undefined;this.valueState=undefined;this.selectedOptionsState=[];this.optionsState=[];this.inheritedAttributes={};this.selectId=u("GovSelect");this.listId=u("GovMultiList");this.h=r(this.host);this.f=n(this.h)}validateSize(t){d(h,t,a.root)}watchOptions(t){this.optionsState=m(t)}watchValue(t){this.selectedOptionsState=m(t)}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("success",l(this.success))}componentDidLoad(){this.attributeObserver=new p(this.host,((t,s)=>{this.onAriaAttributeChange(t,s)}));this.attributeObserver.startObserving(b);this.initAutocomplete()}componentWillLoad(){this.validateSize(this.size);this.optionsState=m(this.options);this.selectedOptionsState=m(this.value)}disconnectedCallback(){this.attributeObserver.stopObserving()}onAriaAttributeChange(t,s){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:s})}getAvailableOptions(t=false){if(Array.isArray(this.optionsState)&&this.optionsState.length){if(t){return this.optionsState}return this.optionsState.filter((t=>{const s=this.selectedValueIndex(t.value);return s!==-1||(t===null||t===void 0?void 0:t.disabled)?false:true})).map((t=>{var s;return{name:(s=t.label)!==null&&s!==void 0?s:t.value,value:t.value}}))}return Array.from(this.selectRef.querySelectorAll("option")).filter((s=>{if(t){return true}const i=this.selectedValueIndex(s.value);return!(s.disabled||s.selected||i>-1)})).map((t=>({name:t.textContent,value:t.value})))}initAutocomplete(){var t,s,i,e,o;(t=this.autocompleteRef)===null||t===void 0?void 0:t.addEventListener("gov-select",this.onSelectHandler.bind(this));(s=this.autocompleteRef)===null||s===void 0?void 0:s.addEventListener("gov-input",this.onInputHandler.bind(this));(i=this.autocompleteRef)===null||i===void 0?void 0:i.addEventListener("gov-focus",this.onFocusHandler.bind(this));(e=this.autocompleteRef)===null||e===void 0?void 0:e.addEventListener("gov-blur",this.onBlurHandler.bind(this));(o=this.autocompleteRef)===null||o===void 0?void 0:o.setSearchCallback((t=>new Promise((s=>{const i=this.getAvailableOptions();if(String(t).length===0){return s(i)}s(i.filter((({label:s,value:i})=>{if(!s)s=i;return f(s).toLowerCase().indexOf(f(t).toLowerCase())>-1})))})))).finally()}selectedValueIndex(t){return this.selectedOptionsState.findIndex((s=>s===t))}getOptionElement(t){return this.selectRef.querySelector('option[value="'+t+'"]')}getOption(t){var s;return(s=this.getAvailableOptions(true).find((s=>s.value===t)))!==null&&s!==void 0?s:null}selectOption(t,s=true){const i=this.selectedValueIndex(t);if(i===-1){this.selectedOptionsState=[...this.selectedOptionsState,t];this.value=this.selectedOptionsState;if(s){this.govChange.emit({component:a.root,value:this.selectedOptionsState});this.govSelect.emit({component:a.root,value:this.selectedOptionsState})}const i=this.getOptionElement(t);if(i){i.selected=true}}}removeOption(t,s=true){const i=this.selectedValueIndex(t);if(i!==-1){this.selectedOptionsState.splice(i,1);this.selectedOptionsState=[...this.selectedOptionsState];this.value=this.selectedOptionsState;if(s){this.govChange.emit({component:a.root,value:this.selectedOptionsState});this.govRemove.emit({component:a.root,value:this.selectedOptionsState})}const e=this.getOptionElement(t);if(e){e.selected=false}}}async componentDidRender(){this.passControlAttrs();this.f.passAttrToLabel("required",String(this.required));v((()=>{this.selectRef.querySelectorAll("option").forEach((t=>{if(t.selected){this.selectOption(t.value,false)}}))}))}render(){return e(o,{key:"7530ebc63cbb545a79b68e29b34ba67399b4d7b7",class:a.root,size:this.size},e("div",{key:"bc099012c714fe05f3eb7feff8659ff0b34e2c44",class:a.wrap},this.h.hasSlot("prefix")&&e("slot",{key:"351998b94371c3fcc8260d16c5d3d62e66cee804",name:"prefix"}),e("gov-form-autocomplete",{key:"b43f33cea28819bd5c78dce3795370b605623f40",value:this.valueState,disabled:this.disabled,identifier:this.identifier||this.selectId,required:false,size:this.size,placeholder:this.placeholder,"message-empty":this.messageEmpty,"message-loading":this.messageLoading,ref:t=>this.autocompleteRef=t,minlength:0,"aria-owns":this.listId},e("gov-icon",{key:"7c5bedd16af7c544df80d73b914d0d86d1d22c0a",slot:"right-icon",class:"icon-arrow",name:"chevron-down"}),this.h.hasSlot("right-icon")&&!(this.success||this.invalid)&&e("slot",{key:"2be0d08ed1bb6e996009b075c70e244d87134fd4",name:"right-icon"}),this.success&&e("gov-icon",{key:"1edc0d6d227b8ab3f8b2e0e482c1857c2e65bb19",slot:"validation-icon",class:"icon-validation",name:"check-lg"}),this.invalid&&e("gov-icon",{key:"270fffb27579aa18a5d7fbba3d62f09ed376b2cb",slot:"validation-icon",class:"icon-validation",name:"exclamation-lg"})),e("select",Object.assign({key:"8bd1280cf86f152080637e99e944dd7b500f2827",hidden:true,class:"hidden-select-list","aria-hidden":l(true),multiple:true,required:this.required,name:this.name,disabled:this.disabled,ref:t=>this.selectRef=t},this.inheritedAttributes,{"aria-disabled":c(this.disabled),"aria-required":c(this.required),"aria-invalid":c(this.invalid)}),e("slot",{key:"c85e0c93c37cacaba635c3fb410ed1d34dd93ca2"}),Array.isArray(this.optionsState)&&this.optionsState.map((t=>{var s;const i=this.selectedValueIndex(t.value);return e("option",{value:t.value,selected:i>-1,disabled:t===null||t===void 0?void 0:t.disabled},(s=t.label)!==null&&s!==void 0?s:t.value)}))),this.h.hasSlot("sufix")&&e("slot",{key:"4b7380c2741c4319f208c7c1fcc67b4697e49212",name:"sufix"})),this.hideSelectedList===false?e("ul",{role:"listbox",id:this.listId,class:a.list},Array.isArray(this.selectedOptionsState)&&this.selectedOptionsState.map((t=>{var s,i;const o=this.getOption(t);if(!o)return null;return e("li",{class:a.item,role:"option"},(s=o.label)!==null&&s!==void 0?s:o.value,e("gov-button",{"aria-label":(i="Odebrat vybranou položku "+o.label)!==null&&i!==void 0?i:o.value,color:"primary",type:"base",size:this.size,"on-gov-click":()=>this.onTagRemove(t)},e("gov-icon",{name:"x-lg"})))}))):null)}onFocusHandler(t){t.stopPropagation();this.focused=true;this.govFocus.emit({component:a.root,originalEvent:t,value:this.selectedOptionsState})}onBlurHandler(t){t.stopPropagation();t.stopPropagation();this.focused=false;this.govBlur.emit({component:a.root,originalEvent:t,value:this.selectedOptionsState})}onInputHandler(t){this.valueState=t.detail.value;t.stopPropagation()}onSelectHandler(t){t.stopPropagation();const s=t.detail.selected;this.selectOption(s.value);this.valueState="";this.autocompleteRef.clearValue().finally();this.autocompleteRef.focus()}onTagRemove(t){this.removeOption(t)}async setFocus(t){return this.selectRef.focus(t)}async setValue(t){this.valueState=t}async getRef(){return this.selectRef}get host(){return this}static get watchers(){return{size:["validateSize","watchControlAttrs"],options:["watchOptions"],value:["watchValue"],disabled:["watchControlAttrs"],invalid:["watchControlAttrs"],success:["watchControlAttrs"]}}},[4,"gov-form-multi-select",{value:[1537],options:[1537],identifier:[1],placeholder:[1],size:[1],name:[1],hideSelectedList:[4,"hide-selected-list"],required:[4],disabled:[4],invalid:[4],success:[4],messageEmpty:[1,"message-empty"],messageLoading:[1,"message-loading"],focused:[32],valueState:[32],selectedOptionsState:[32],optionsState:[32],inheritedAttributes:[32],setFocus:[64],setValue:[64],getRef:[64]},undefined,{size:["validateSize","watchControlAttrs"],options:["watchOptions"],value:["watchValue"],disabled:["watchControlAttrs"],invalid:["watchControlAttrs"],success:["watchControlAttrs"]}]);function O(){if(typeof customElements==="undefined"){return}const t=["gov-form-multi-select","gov-button","gov-form-autocomplete","gov-form-input","gov-icon","gov-skeleton"];t.forEach((t=>{switch(t){case"gov-form-multi-select":if(!customElements.get(t)){customElements.define(t,j)}break;case"gov-button":if(!customElements.get(t)){g()}break;case"gov-form-autocomplete":if(!customElements.get(t)){y()}break;case"gov-form-input":if(!customElements.get(t)){k()}break;case"gov-icon":if(!customElements.get(t)){w()}break;case"gov-skeleton":if(!customElements.get(t)){A()}break}}))}O();const C=j;const E=O;export{C as GovFormMultiSelect,E as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=gov-form-multi-select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GovFormMultiSelect","proxyCustomElement","H","constructor","this","selectId","createID","listId","h","govHost","host","f","govForm","validateSize","newValue","validateProp","FormMultiselectSizes","FormMultiSelectClass","root","watchOptions","optionsState","propsValueToArray","watchValue","selectedOptionsState","watchControlAttrs","passControlAttrs","passAttrToControl","size","toBoolAttr","invalid","disabled","success","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","initAutocomplete","componentWillLoad","options","value","disconnectedCallback","stopObserving","removeAttribute","inheritedAttributes","Object","assign","getAvailableOptions","ignoreFilter","Array","isArray","length","filter","option","selectedIndex","selectedValueIndex","map","_a","name","label","from","selectRef","querySelectorAll","selected","textContent","autocompleteRef","addEventListener","onSelectHandler","bind","_b","onInputHandler","_c","onFocusHandler","_d","onBlurHandler","_e","setSearchCallback","searchString","Promise","resolve","data","String","removeDiacritics","toLowerCase","indexOf","finally","findIndex","getOptionElement","querySelector","getOption","find","selectOption","newOption","notify","index","govChange","emit","component","govSelect","removeOption","splice","govRemove","componentDidRender","passAttrToLabel","required","tick","forEach","render","Host","key","class","wrap","hasSlot","valueState","identifier","placeholder","messageEmpty","messageLoading","ref","el","minlength","slot","hidden","multiple","toBoolAttrIfDefined","selectedOption","hideSelectedList","role","id","list","item","color","type","onTagRemove","e","stopPropagation","focused","govFocus","originalEvent","govBlur","detail","clearValue","focus","setFocus","setValue","getRef"],"sources":["../../../packages/core/src/components/gov-form/multiselect/gov-form-multi-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 {Nullable} from '../../../types/interfaces'\nimport {createID, removeDiacritics} from '../../../utils/string.utils'\nimport {FormAutocompleteEvent} from '../autocomplete/gov-form-autocomplete.types'\nimport {FormMultiSelectClass, FormMultiselectSizes, FormMultiselectSizesType,} from './constants'\nimport {\n\tFormMultiselectEvent,\n\tGovFormMultiSelectItem,\n\tGovFormMultiSelectSelectedItem\n} from './gov-form-multi-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\";\n\n@Component({\n\ttag: 'gov-form-multi-select',\n})\nexport class GovFormMultiSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\n\tprivate selectRef?: HTMLSelectElement\n\tprivate autocompleteRef?: HTMLGovFormAutocompleteElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly selectId: string\n\tprivate readonly listId: string\n\n\tconstructor() {\n\t\tthis.selectId = createID('GovSelect')\n\t\tthis.listId = createID('GovMultiList')\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormSelectElement\n\t/**\n\t * Value of multi-select\n\t */\n\t@Prop({reflect: true, mutable: true}) value: string | GovFormMultiSelectSelectedItem[]\n\t/**\n\t * Options of multi-select\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | GovFormMultiSelectItem[]\n\t/**\n\t * Custom select identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Custom select placeholder.\n\t */\n\t@Prop({attribute: 'placeholder'}) readonly placeholder: string\n\t/**\n\t * Select’s size.\n\t */\n\t@Prop() readonly size?: FormMultiselectSizesType = 'm'\n\t/**\n\t * Name of the select.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Option to hide the list of selected items\n\t */\n\t@Prop({attribute: 'hide-selected-list'}) readonly hideSelectedList: boolean = false\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 * 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() 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 * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop() readonly success: boolean\n\t/**\n\t * Custom message for when there is a blank sheet\n\t */\n\t@Prop({attribute: 'message-empty'}) readonly messageEmpty: string = 'Nebyly nalezeny žádné výsledky'\n\t/**\n\t * Custom message for when data is loaded\n\t */\n\t@Prop({attribute: 'message-loading'}) readonly messageLoading: string = 'Načítám...'\n\t/**\n\t * Emitted when the select has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when the select loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when the select change value.\n\t */\n\t@Event({eventName: 'gov-change'}) govChange: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when an item is selected\n\t */\n\t@Event({eventName: 'gov-select'}) govSelect: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when an item is removed\n\t */\n\t@Event({eventName: 'gov-remove'}) govRemove: EventEmitter<FormMultiselectEvent>\n\n\t@State() focused: boolean\n\t@State() valueState: string\n\t@State() selectedOptionsState: GovFormMultiSelectSelectedItem[] = []\n\t@State() optionsState: GovFormMultiSelectItem[] = []\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormMultiselectSizes, newValue, FormMultiSelectClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | GovFormMultiSelectItem[]): void {\n\t\tthis.optionsState = propsValueToArray(newValue)\n\t}\n\n\t@Watch('value')\n\twatchValue(newValue: string | GovFormMultiSelectItem[]): void {\n\t\tthis.selectedOptionsState = 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@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('disabled', toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl('success', toBoolAttr(this.success))\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\tthis.initAutocomplete()\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\t\tthis.optionsState = propsValueToArray(this.options)\n\t\tthis.selectedOptionsState = propsValueToArray(this.value)\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 getAvailableOptions(ignoreFilter = false): GovFormMultiSelectItem[] {\n\t\tif (Array.isArray(this.optionsState) && this.optionsState.length) {\n\t\t\tif (ignoreFilter) {\n\t\t\t\treturn this.optionsState;\n\t\t\t}\n\t\t\treturn this.optionsState.filter((option) => {\n\t\t\t\tconst selectedIndex = this.selectedValueIndex(option.value)\n\t\t\t\treturn (selectedIndex !== -1 || option?.disabled) ? false : true\n\t\t\t}).map((option) => ({name: option.label ?? option.value, value: option.value}))\n\t\t}\n\t\treturn Array.from(this.selectRef.querySelectorAll('option'))\n\t\t\t.filter((option: HTMLOptionElement) => {\n\t\t\t\tif (ignoreFilter) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tconst selectedIndex = this.selectedValueIndex(option.value)\n\t\t\t\treturn !(option.disabled || option.selected || selectedIndex > -1)\n\t\t\t})\n\t\t\t.map((option: HTMLOptionElement) => ({name: option.textContent, value: option.value}))\n\t}\n\n\tprivate initAutocomplete() {\n\t\tthis.autocompleteRef?.addEventListener('gov-select', this.onSelectHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-input', this.onInputHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-focus', this.onFocusHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-blur', this.onBlurHandler.bind(this))\n\t\tthis.autocompleteRef\n\t\t\t?.setSearchCallback(searchString => {\n\t\t\t\treturn new Promise(resolve => {\n\t\t\t\t\tconst data = this.getAvailableOptions()\n\t\t\t\t\tif (String(searchString).length === 0) {\n\t\t\t\t\t\treturn resolve(data)\n\t\t\t\t\t}\n\t\t\t\t\tresolve(\n\t\t\t\t\t\tdata.filter(({label, value}) => {\n\t\t\t\t\t\t\tif (!label) label = value;\n\t\t\t\t\t\t\treturn removeDiacritics(label).toLowerCase().indexOf(removeDiacritics(searchString).toLowerCase()) > -1\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t})\n\t\t\t})\n\t\t\t.finally()\n\t}\n\n\tprivate selectedValueIndex(value: GovFormMultiSelectSelectedItem) {\n\t\treturn this.selectedOptionsState.findIndex((selected) => selected === value)\n\t}\n\n\tprivate getOptionElement(value: GovFormMultiSelectSelectedItem): Nullable<HTMLOptionElement> {\n\t\treturn this.selectRef.querySelector('option[value=\"' + value + '\"]') as HTMLOptionElement\n\t}\n\n\tprivate getOption(value: GovFormMultiSelectSelectedItem): GovFormMultiSelectItem | null {\n\t\treturn this.getAvailableOptions(true).find((option) => option.value === value) ?? null;\n\t}\n\n\tprivate selectOption(newOption: GovFormMultiSelectSelectedItem, notify = true) {\n\t\tconst index = this.selectedValueIndex(newOption)\n\t\tif (index === -1) {\n\t\t\tthis.selectedOptionsState = [...this.selectedOptionsState, newOption]\n\t\t\tthis.value = this.selectedOptionsState;\n\t\t\tif (notify) {\n\t\t\t\tthis.govChange.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t\tthis.govSelect.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t}\n\t\t\tconst option = this.getOptionElement(newOption)\n\t\t\tif (option) {\n\t\t\t\toption.selected = true\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate removeOption(removeOption: GovFormMultiSelectSelectedItem, notify = true) {\n\t\tconst index = this.selectedValueIndex(removeOption)\n\t\tif (index !== -1) {\n\t\t\tthis.selectedOptionsState.splice(index, 1)\n\t\t\tthis.selectedOptionsState = [...this.selectedOptionsState]\n\t\t\tthis.value = this.selectedOptionsState;\n\t\t\tif (notify) {\n\t\t\t\tthis.govChange.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t\tthis.govRemove.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t}\n\t\t\tconst option = this.getOptionElement(removeOption)\n\t\t\tif (option) {\n\t\t\t\toption.selected = false\n\t\t\t}\n\t\t}\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.passControlAttrs()\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\n\t\ttick(() => {\n\t\t\tthis.selectRef.querySelectorAll('option').forEach((option: HTMLOptionElement) => {\n\t\t\t\tif (option.selected) {\n\t\t\t\t\tthis.selectOption(option.value, false)\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormMultiSelectClass.root} size={this.size}>\n\t\t\t\t<div class={FormMultiSelectClass.wrap}>\n\t\t\t\t\t{this.h.hasSlot('prefix') && <slot name=\"prefix\"></slot>}\n\t\t\t\t\t<gov-form-autocomplete\n\t\t\t\t\t\tvalue={this.valueState}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tidentifier={this.identifier || this.selectId}\n\t\t\t\t\t\trequired={false}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\tmessage-empty={this.messageEmpty}\n\t\t\t\t\t\tmessage-loading={this.messageLoading}\n\t\t\t\t\t\tref={el => (this.autocompleteRef = el as HTMLGovFormAutocompleteElement)}\n\t\t\t\t\t\tminlength={0}\n\t\t\t\t\t\taria-owns={this.listId}\n\t\t\t\t\t>\n\t\t\t\t\t\t<gov-icon slot=\"right-icon\" class=\"icon-arrow\" name=\"chevron-down\"></gov-icon>\n\t\t\t\t\t\t{this.h.hasSlot('right-icon') && !(this.success || this.invalid) && <slot name=\"right-icon\"/>}\n\t\t\t\t\t\t{this.success &&\n\t\t\t\t\t\t\t<gov-icon slot=\"validation-icon\" class=\"icon-validation\" name=\"check-lg\"></gov-icon>}\n\t\t\t\t\t\t{this.invalid &&\n\t\t\t\t\t\t\t<gov-icon slot=\"validation-icon\" class=\"icon-validation\" name=\"exclamation-lg\"></gov-icon>}\n\t\t\t\t\t</gov-form-autocomplete>\n\t\t\t\t\t<select\n\t\t\t\t\t\thidden\n\t\t\t\t\t\tclass={'hidden-select-list'}\n\t\t\t\t\t\taria-hidden={toBoolAttr(true)}\n\t\t\t\t\t\tmultiple\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></slot>\n\t\t\t\t\t\t{Array.isArray(this.optionsState) && this.optionsState.map((option) => {\n\t\t\t\t\t\t\tconst selectedOption = this.selectedValueIndex(option.value);\n\t\t\t\t\t\t\treturn (<option value={option.value} selected={selectedOption > -1}\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.h.hasSlot('sufix') && <slot name=\"sufix\"></slot>}\n\t\t\t\t</div>\n\t\t\t\t{this.hideSelectedList === false ? (\n\t\t\t\t\t<ul role=\"listbox\" id={this.listId} class={FormMultiSelectClass.list}>\n\t\t\t\t\t\t{Array.isArray(this.selectedOptionsState) && this.selectedOptionsState.map(selected => {\n\t\t\t\t\t\t\tconst option = this.getOption(selected);\n\t\t\t\t\t\t\tif (!option) return null\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<li class={FormMultiSelectClass.item} role=\"option\">\n\t\t\t\t\t\t\t\t\t{option.label ?? option.value}\n\t\t\t\t\t\t\t\t\t<gov-button\n\t\t\t\t\t\t\t\t\t\taccessible-label={'Odebrat vybranou položku ' + option.label ?? option.value}\n\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\t\t\t\ttype=\"base\"\n\t\t\t\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\t\t\t\ton-gov-click={() => this.onTagRemove(selected)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<gov-icon name=\"x-lg\"></gov-icon>\n\t\t\t\t\t\t\t\t\t</gov-button>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</ul>\n\t\t\t\t) : null}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.focused = true\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.selectedOptionsState,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\te.stopPropagation()\n\t\tthis.focused = false\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.selectedOptionsState,\n\t\t})\n\t}\n\n\tprivate onInputHandler(e: CustomEvent<FormAutocompleteEvent>) {\n\t\tthis.valueState = e.detail.value\n\t\te.stopPropagation()\n\t}\n\n\tprivate onSelectHandler(e: CustomEvent<FormAutocompleteEvent>) {\n\t\te.stopPropagation()\n\t\tconst value = e.detail.selected\n\t\tthis.selectOption(value.value)\n\t\tthis.valueState = ''\n\t\tthis.autocompleteRef.clearValue().finally()\n\t\tthis.autocompleteRef.focus()\n\t}\n\n\tprivate onTagRemove(removeOption: GovFormMultiSelectSelectedItem) {\n\t\tthis.removeOption(removeOption)\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 * Sets the ordered value of the element\n\t */\n\t@Method()\n\tasync setValue(value: string): Promise<void> {\n\t\tthis.valueState = value\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":["GovFormMultiSelect","proxyCustomElement","H","constructor","this","selectId","createID","listId","h","govHost","host","f","govForm","validateSize","newValue","validateProp","FormMultiselectSizes","FormMultiSelectClass","root","watchOptions","optionsState","propsValueToArray","watchValue","selectedOptionsState","watchControlAttrs","passControlAttrs","passAttrToControl","size","toBoolAttr","invalid","disabled","success","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","initAutocomplete","componentWillLoad","options","value","disconnectedCallback","stopObserving","removeAttribute","inheritedAttributes","Object","assign","getAvailableOptions","ignoreFilter","Array","isArray","length","filter","option","selectedIndex","selectedValueIndex","map","_a","name","label","from","selectRef","querySelectorAll","selected","textContent","autocompleteRef","addEventListener","onSelectHandler","bind","_b","onInputHandler","_c","onFocusHandler","_d","onBlurHandler","_e","setSearchCallback","searchString","Promise","resolve","data","String","removeDiacritics","toLowerCase","indexOf","finally","findIndex","getOptionElement","querySelector","getOption","find","selectOption","newOption","notify","index","govChange","emit","component","govSelect","removeOption","splice","govRemove","componentDidRender","passAttrToLabel","required","tick","forEach","render","Host","key","class","wrap","hasSlot","valueState","identifier","placeholder","messageEmpty","messageLoading","ref","el","minlength","slot","hidden","multiple","toBoolAttrIfDefined","selectedOption","hideSelectedList","role","id","list","item","color","type","onTagRemove","e","stopPropagation","focused","govFocus","originalEvent","govBlur","detail","clearValue","focus","setFocus","setValue","getRef"],"sources":["../../../packages/core/src/components/gov-form/multiselect/gov-form-multi-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 {Nullable} from '../../../types/interfaces'\nimport {createID, removeDiacritics} from '../../../utils/string.utils'\nimport {FormAutocompleteEvent} from '../autocomplete/gov-form-autocomplete.types'\nimport {FormMultiSelectClass, FormMultiselectSizes, FormMultiselectSizesType,} from './constants'\nimport {\n\tFormMultiselectEvent,\n\tGovFormMultiSelectItem,\n\tGovFormMultiSelectSelectedItem\n} from './gov-form-multi-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\";\n\n@Component({\n\ttag: 'gov-form-multi-select',\n})\nexport class GovFormMultiSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\n\tprivate selectRef?: HTMLSelectElement\n\tprivate autocompleteRef?: HTMLGovFormAutocompleteElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly selectId: string\n\tprivate readonly listId: string\n\n\tconstructor() {\n\t\tthis.selectId = createID('GovSelect')\n\t\tthis.listId = createID('GovMultiList')\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormSelectElement\n\t/**\n\t * Value of multi-select\n\t */\n\t@Prop({reflect: true, mutable: true}) value: string | GovFormMultiSelectSelectedItem[]\n\t/**\n\t * Options of multi-select\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | GovFormMultiSelectItem[]\n\t/**\n\t * Custom select identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Custom select placeholder.\n\t */\n\t@Prop({attribute: 'placeholder'}) readonly placeholder: string\n\t/**\n\t * Select’s size.\n\t */\n\t@Prop() readonly size?: FormMultiselectSizesType = 'm'\n\t/**\n\t * Name of the select.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Option to hide the list of selected items\n\t */\n\t@Prop({attribute: 'hide-selected-list'}) readonly hideSelectedList: boolean = false\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 * 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() 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 * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop() readonly success: boolean\n\t/**\n\t * Custom message for when there is a blank sheet\n\t */\n\t@Prop({attribute: 'message-empty'}) readonly messageEmpty: string = 'Nebyly nalezeny žádné výsledky'\n\t/**\n\t * Custom message for when data is loaded\n\t */\n\t@Prop({attribute: 'message-loading'}) readonly messageLoading: string = 'Načítám...'\n\t/**\n\t * Emitted when the select has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when the select loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when the select change value.\n\t */\n\t@Event({eventName: 'gov-change'}) govChange: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when an item is selected\n\t */\n\t@Event({eventName: 'gov-select'}) govSelect: EventEmitter<FormMultiselectEvent>\n\t/**\n\t * Emitted when an item is removed\n\t */\n\t@Event({eventName: 'gov-remove'}) govRemove: EventEmitter<FormMultiselectEvent>\n\n\t@State() focused: boolean\n\t@State() valueState: string\n\t@State() selectedOptionsState: GovFormMultiSelectSelectedItem[] = []\n\t@State() optionsState: GovFormMultiSelectItem[] = []\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormMultiselectSizes, newValue, FormMultiSelectClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | GovFormMultiSelectItem[]): void {\n\t\tthis.optionsState = propsValueToArray(newValue)\n\t}\n\n\t@Watch('value')\n\twatchValue(newValue: string | GovFormMultiSelectItem[]): void {\n\t\tthis.selectedOptionsState = 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@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('disabled', toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl('success', toBoolAttr(this.success))\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\tthis.initAutocomplete()\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\t\tthis.optionsState = propsValueToArray(this.options)\n\t\tthis.selectedOptionsState = propsValueToArray(this.value)\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 getAvailableOptions(ignoreFilter = false): GovFormMultiSelectItem[] {\n\t\tif (Array.isArray(this.optionsState) && this.optionsState.length) {\n\t\t\tif (ignoreFilter) {\n\t\t\t\treturn this.optionsState;\n\t\t\t}\n\t\t\treturn this.optionsState.filter((option) => {\n\t\t\t\tconst selectedIndex = this.selectedValueIndex(option.value)\n\t\t\t\treturn (selectedIndex !== -1 || option?.disabled) ? false : true\n\t\t\t}).map((option) => ({name: option.label ?? option.value, value: option.value}))\n\t\t}\n\t\treturn Array.from(this.selectRef.querySelectorAll('option'))\n\t\t\t.filter((option: HTMLOptionElement) => {\n\t\t\t\tif (ignoreFilter) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tconst selectedIndex = this.selectedValueIndex(option.value)\n\t\t\t\treturn !(option.disabled || option.selected || selectedIndex > -1)\n\t\t\t})\n\t\t\t.map((option: HTMLOptionElement) => ({name: option.textContent, value: option.value}))\n\t}\n\n\tprivate initAutocomplete() {\n\t\tthis.autocompleteRef?.addEventListener('gov-select', this.onSelectHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-input', this.onInputHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-focus', this.onFocusHandler.bind(this))\n\t\tthis.autocompleteRef?.addEventListener('gov-blur', this.onBlurHandler.bind(this))\n\t\tthis.autocompleteRef\n\t\t\t?.setSearchCallback(searchString => {\n\t\t\t\treturn new Promise(resolve => {\n\t\t\t\t\tconst data = this.getAvailableOptions()\n\t\t\t\t\tif (String(searchString).length === 0) {\n\t\t\t\t\t\treturn resolve(data)\n\t\t\t\t\t}\n\t\t\t\t\tresolve(\n\t\t\t\t\t\tdata.filter(({label, value}) => {\n\t\t\t\t\t\t\tif (!label) label = value;\n\t\t\t\t\t\t\treturn removeDiacritics(label).toLowerCase().indexOf(removeDiacritics(searchString).toLowerCase()) > -1\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t})\n\t\t\t})\n\t\t\t.finally()\n\t}\n\n\tprivate selectedValueIndex(value: GovFormMultiSelectSelectedItem) {\n\t\treturn this.selectedOptionsState.findIndex((selected) => selected === value)\n\t}\n\n\tprivate getOptionElement(value: GovFormMultiSelectSelectedItem): Nullable<HTMLOptionElement> {\n\t\treturn this.selectRef.querySelector('option[value=\"' + value + '\"]') as HTMLOptionElement\n\t}\n\n\tprivate getOption(value: GovFormMultiSelectSelectedItem): GovFormMultiSelectItem | null {\n\t\treturn this.getAvailableOptions(true).find((option) => option.value === value) ?? null;\n\t}\n\n\tprivate selectOption(newOption: GovFormMultiSelectSelectedItem, notify = true) {\n\t\tconst index = this.selectedValueIndex(newOption)\n\t\tif (index === -1) {\n\t\t\tthis.selectedOptionsState = [...this.selectedOptionsState, newOption]\n\t\t\tthis.value = this.selectedOptionsState;\n\t\t\tif (notify) {\n\t\t\t\tthis.govChange.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t\tthis.govSelect.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t}\n\t\t\tconst option = this.getOptionElement(newOption)\n\t\t\tif (option) {\n\t\t\t\toption.selected = true\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate removeOption(removeOption: GovFormMultiSelectSelectedItem, notify = true) {\n\t\tconst index = this.selectedValueIndex(removeOption)\n\t\tif (index !== -1) {\n\t\t\tthis.selectedOptionsState.splice(index, 1)\n\t\t\tthis.selectedOptionsState = [...this.selectedOptionsState]\n\t\t\tthis.value = this.selectedOptionsState;\n\t\t\tif (notify) {\n\t\t\t\tthis.govChange.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t\tthis.govRemove.emit({\n\t\t\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\t\t\tvalue: this.selectedOptionsState,\n\t\t\t\t})\n\t\t\t}\n\t\t\tconst option = this.getOptionElement(removeOption)\n\t\t\tif (option) {\n\t\t\t\toption.selected = false\n\t\t\t}\n\t\t}\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.passControlAttrs()\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\n\t\ttick(() => {\n\t\t\tthis.selectRef.querySelectorAll('option').forEach((option: HTMLOptionElement) => {\n\t\t\t\tif (option.selected) {\n\t\t\t\t\tthis.selectOption(option.value, false)\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormMultiSelectClass.root} size={this.size}>\n\t\t\t\t<div class={FormMultiSelectClass.wrap}>\n\t\t\t\t\t{this.h.hasSlot('prefix') && <slot name=\"prefix\"></slot>}\n\t\t\t\t\t<gov-form-autocomplete\n\t\t\t\t\t\tvalue={this.valueState}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tidentifier={this.identifier || this.selectId}\n\t\t\t\t\t\trequired={false}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\tplaceholder={this.placeholder}\n\t\t\t\t\t\tmessage-empty={this.messageEmpty}\n\t\t\t\t\t\tmessage-loading={this.messageLoading}\n\t\t\t\t\t\tref={el => (this.autocompleteRef = el as HTMLGovFormAutocompleteElement)}\n\t\t\t\t\t\tminlength={0}\n\t\t\t\t\t\taria-owns={this.listId}\n\t\t\t\t\t>\n\t\t\t\t\t\t<gov-icon slot=\"right-icon\" class=\"icon-arrow\" name=\"chevron-down\"></gov-icon>\n\t\t\t\t\t\t{this.h.hasSlot('right-icon') && !(this.success || this.invalid) && <slot name=\"right-icon\"/>}\n\t\t\t\t\t\t{this.success &&\n\t\t\t\t\t\t\t<gov-icon slot=\"validation-icon\" class=\"icon-validation\" name=\"check-lg\"></gov-icon>}\n\t\t\t\t\t\t{this.invalid &&\n\t\t\t\t\t\t\t<gov-icon slot=\"validation-icon\" class=\"icon-validation\" name=\"exclamation-lg\"></gov-icon>}\n\t\t\t\t\t</gov-form-autocomplete>\n\t\t\t\t\t<select\n\t\t\t\t\t\thidden\n\t\t\t\t\t\tclass={'hidden-select-list'}\n\t\t\t\t\t\taria-hidden={toBoolAttr(true)}\n\t\t\t\t\t\tmultiple\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></slot>\n\t\t\t\t\t\t{Array.isArray(this.optionsState) && this.optionsState.map((option) => {\n\t\t\t\t\t\t\tconst selectedOption = this.selectedValueIndex(option.value);\n\t\t\t\t\t\t\treturn (<option value={option.value} selected={selectedOption > -1}\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.h.hasSlot('sufix') && <slot name=\"sufix\"></slot>}\n\t\t\t\t</div>\n\t\t\t\t{this.hideSelectedList === false ? (\n\t\t\t\t\t<ul role=\"listbox\" id={this.listId} class={FormMultiSelectClass.list}>\n\t\t\t\t\t\t{Array.isArray(this.selectedOptionsState) && this.selectedOptionsState.map(selected => {\n\t\t\t\t\t\t\tconst option = this.getOption(selected);\n\t\t\t\t\t\t\tif (!option) return null\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<li class={FormMultiSelectClass.item} role=\"option\">\n\t\t\t\t\t\t\t\t\t{option.label ?? option.value}\n\t\t\t\t\t\t\t\t\t<gov-button\n\t\t\t\t\t\t\t\t\t\taria-label={'Odebrat vybranou položku ' + option.label ?? option.value}\n\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\t\t\t\ttype=\"base\"\n\t\t\t\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\t\t\t\ton-gov-click={() => this.onTagRemove(selected)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<gov-icon name=\"x-lg\"></gov-icon>\n\t\t\t\t\t\t\t\t\t</gov-button>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</ul>\n\t\t\t\t) : null}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.focused = true\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.selectedOptionsState,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\te.stopPropagation()\n\t\tthis.focused = false\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormMultiSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.selectedOptionsState,\n\t\t})\n\t}\n\n\tprivate onInputHandler(e: CustomEvent<FormAutocompleteEvent>) {\n\t\tthis.valueState = e.detail.value\n\t\te.stopPropagation()\n\t}\n\n\tprivate onSelectHandler(e: CustomEvent<FormAutocompleteEvent>) {\n\t\te.stopPropagation()\n\t\tconst value = e.detail.selected\n\t\tthis.selectOption(value.value)\n\t\tthis.valueState = ''\n\t\tthis.autocompleteRef.clearValue().finally()\n\t\tthis.autocompleteRef.focus()\n\t}\n\n\tprivate onTagRemove(removeOption: GovFormMultiSelectSelectedItem) {\n\t\tthis.removeOption(removeOption)\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 * Sets the ordered value of the element\n\t */\n\t@Method()\n\tasync setValue(value: string): Promise<void> {\n\t\tthis.valueState = value\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,2 +1,2 @@
|
|
|
1
|
-
import{p as e,H as s,h as
|
|
1
|
+
import{p as e,H as s,h as o,d}from"./p-ae3dada7.js";const f={root:"gov-form-password-power",bar:"gov-form-password-power__bar",text:"gov-form-password-power__text"};const r=e(class e extends s{constructor(){super();this.__registerHost();this.power=undefined}render(){return o(d,{key:"47ec3fec069cf454df63db947100fd7427377345",class:f.root},o("span",{key:"66cbb7214a5d7a0c42b238b00118570bddb5a133",class:f.bar},o("span",{key:"8ebb64daf1f7dc03d21703fcf81e78d82ab7dd91"}),o("span",{key:"45e94fe48cf152982558f8729b6dfac4f07d2f81"}),o("span",{key:"85d205def5affb8d9cb04cf9a06222263d25ef56"})),o("span",{key:"64e74e3e63456f303ef94d7893c71a32200f5d29",class:f.text},o("slot",{key:"244d847ae3bddb07f33f3fc0b8d5133ede98c542"})))}},[4,"gov-form-password-power",{power:[514]}]);function a(){if(typeof customElements==="undefined"){return}const e=["gov-form-password-power"];e.forEach((e=>{switch(e){case"gov-form-password-power":if(!customElements.get(e)){customElements.define(e,r)}break}}))}a();const c=r;const t=a;export{c as GovFormPasswordPower,t as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=gov-form-password-power.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FormPasswordPowerClass","root","bar","text","GovFormPasswordPower","proxyCustomElement","H","render","h","Host","key","class"],"sources":["../../../packages/core/src/components/gov-form/password-power/constants.ts","../../../packages/core/src/components/gov-form/password-power/gov-form-password-power.tsx"],"sourcesContent":["export const FormPasswordPowerClass = {\n\troot: 'gov-form-password-power',\n bar: 'gov-form-password-power__bar',\n text: 'gov-form-password-power__text',\n}\n","import {Component, h, Host, Prop} from '@stencil/core'\nimport {FormPasswordPowerClass} from './constants'\n\n@Component({\n\ttag: 'gov-form-password-power',\n})\nexport class GovFormPasswordPower {\n\t/**\n\t * Password power: 0 - none, 1 - weak, 2 - medium, 3 - strong\n\t */\n\t@Prop({reflect: true}) readonly power: number\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormPasswordPowerClass.root}>\n\t\t\t\t\t<span class={FormPasswordPowerClass.bar}>\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span class={FormPasswordPowerClass.text}>\n\t\t\t\t\t\t\t<slot/>\n\t\t\t\t\t</span>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["FormPasswordPowerClass","root","bar","text","GovFormPasswordPower","proxyCustomElement","H","render","h","Host","key","class"],"sources":["../../../packages/core/src/components/gov-form/password-power/constants.ts","../../../packages/core/src/components/gov-form/password-power/gov-form-password-power.tsx"],"sourcesContent":["export const FormPasswordPowerClass = {\n\troot: 'gov-form-password-power',\n bar: 'gov-form-password-power__bar',\n text: 'gov-form-password-power__text',\n}\n","import {Component, h, Host, Prop} from '@stencil/core'\nimport {FormPasswordPowerClass} from './constants'\n\n@Component({\n\ttag: 'gov-form-password-power',\n})\nexport class GovFormPasswordPower {\n\t/**\n\t * Password power: 0 - none, 1 - weak, 2 - medium, 3 - strong\n\t */\n\t@Prop({reflect: true}) readonly power: number\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormPasswordPowerClass.root}>\n\t\t\t\t\t<span class={FormPasswordPowerClass.bar}>\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span class={FormPasswordPowerClass.text}>\n\t\t\t\t\t\t\t<slot/>\n\t\t\t\t\t</span>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"mappings":"oDAAO,MAAMA,EAAyB,CACrCC,KAAM,0BACHC,IAAK,+BACLC,KAAM,iC,MCGGC,EAAoBC,EAAA,MAAAD,UAAAE,E,iEAMhC,MAAAC,GACC,OACCC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAOX,EAAuBC,MAClCO,EAAA,QAAAE,IAAA,2CAAMC,MAAOX,EAAuBE,KAClCM,EAAA,QAAAE,IAAA,6CACAF,EAAA,QAAAE,IAAA,6CACAF,EAAA,QAAAE,IAAA,8CAEFF,EAAA,QAAAE,IAAA,2CAAMC,MAAOX,EAAuBG,MAClCK,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
|