@gov-design-system-ce/components 4.1.0-rc1 → 4.1.1
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/{colors-976f6dff.js → colors-f7c8eadd.js} +7 -9
- package/dist/cjs/colors-f7c8eadd.js.map +1 -0
- package/dist/cjs/{constants-e2807da6.js → constants-49f0efa6.js} +2 -2
- package/dist/cjs/{constants-e2807da6.js.map → constants-49f0efa6.js.map} +1 -1
- package/dist/cjs/{constants-43c0c51b.js → constants-4dfa23e3.js} +2 -2
- package/dist/cjs/{constants-43c0c51b.js.map → constants-4dfa23e3.js.map} +1 -1
- package/dist/cjs/{constants-441d1af4.js → constants-82929d01.js} +2 -2
- package/dist/cjs/{constants-441d1af4.js.map → constants-82929d01.js.map} +1 -1
- package/dist/cjs/{constants-bd0d66ac.js → constants-b9fece07.js} +2 -2
- package/dist/cjs/{constants-bd0d66ac.js.map → constants-b9fece07.js.map} +1 -1
- package/dist/cjs/{constants-5037cdc9.js → constants-c0886404.js} +2 -2
- package/dist/cjs/{constants-5037cdc9.js.map → constants-c0886404.js.map} +1 -1
- package/dist/cjs/{constants-861428a4.js → constants-f464dc4c.js} +2 -2
- package/dist/cjs/{constants-861428a4.js.map → constants-f464dc4c.js.map} +1 -1
- package/dist/cjs/core.cjs.js +2 -2
- package/dist/cjs/{form-c1aec07a.js → form-4e66039a.js} +4 -3
- package/dist/cjs/form-4e66039a.js.map +1 -0
- package/dist/cjs/gov-accordion-item.cjs.entry.js +11 -9
- package/dist/cjs/gov-accordion-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-accordion.cjs.entry.js +4 -5
- package/dist/cjs/gov-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-attachments_3.cjs.entry.js +14 -15
- package/dist/cjs/gov-attachments_3.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-backdrop.cjs.entry.js +7 -8
- package/dist/cjs/gov-backdrop.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-breadcrumbs.cjs.entry.js +7 -8
- package/dist/cjs/gov-breadcrumbs.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-button.cjs.entry.js +12 -13
- package/dist/cjs/gov-button.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-card.cjs.entry.js +7 -8
- package/dist/cjs/gov-card.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-chip.cjs.entry.js +13 -14
- package/dist/cjs/gov-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-container.cjs.entry.js +3 -11
- package/dist/cjs/gov-container.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-control-group.cjs.entry.js +6 -7
- package/dist/cjs/gov-control-group.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-cookiebar.cjs.entry.js +3 -3
- package/dist/cjs/gov-dialog.cjs.entry.js +7 -8
- package/dist/cjs/gov-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-dropdown.cjs.entry.js +6 -6
- package/dist/cjs/gov-empty.cjs.entry.js +5 -6
- package/dist/cjs/gov-empty.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-error-code.cjs.entry.js +3 -3
- package/dist/cjs/gov-flex_4.cjs.entry.js +339 -0
- package/dist/cjs/gov-flex_4.cjs.entry.js.map +1 -0
- package/dist/cjs/gov-form-autocomplete.cjs.entry.js +6 -8
- package/dist/cjs/gov-form-autocomplete.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-checkbox-group.cjs.entry.js +6 -7
- package/dist/cjs/gov-form-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-checkbox.cjs.entry.js +9 -10
- package/dist/cjs/gov-form-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-control.cjs.entry.js +7 -7
- package/dist/cjs/gov-form-file.cjs.entry.js +13 -10
- package/dist/cjs/gov-form-file.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-group.cjs.entry.js +5 -6
- package/dist/cjs/gov-form-group.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-input_2.cjs.entry.js +14 -13
- package/dist/cjs/gov-form-input_2.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-multi-select.cjs.entry.js +13 -29
- package/dist/cjs/gov-form-multi-select.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-password-power.cjs.entry.js +2 -2
- package/dist/cjs/gov-form-radio-group.cjs.entry.js +6 -7
- package/dist/cjs/gov-form-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-radio.cjs.entry.js +8 -9
- package/dist/cjs/gov-form-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-search.cjs.entry.js +3 -3
- package/dist/cjs/gov-form-select.cjs.entry.js +10 -11
- package/dist/cjs/gov-form-select.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-switch.cjs.entry.js +9 -10
- package/dist/cjs/gov-form-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-grid-item.cjs.entry.js +3 -3
- package/dist/cjs/gov-grid.cjs.entry.js +3 -3
- package/dist/cjs/gov-infobar.cjs.entry.js +7 -8
- package/dist/cjs/gov-infobar.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-layout-column.cjs.entry.js +3 -3
- package/dist/cjs/gov-layout.cjs.entry.js +3 -3
- package/dist/cjs/gov-lifecycle.cjs.entry.js +47 -0
- package/dist/cjs/gov-lifecycle.cjs.entry.js.map +1 -0
- package/dist/cjs/gov-link.cjs.entry.js +51 -0
- package/dist/cjs/gov-link.cjs.entry.js.map +1 -0
- package/dist/cjs/gov-loading.cjs.entry.js +5 -6
- package/dist/cjs/gov-loading.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-message.cjs.entry.js +6 -7
- package/dist/cjs/gov-message.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-pagination.cjs.entry.js +8 -9
- package/dist/cjs/gov-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-spacer.cjs.entry.js +5 -6
- package/dist/cjs/gov-spacer.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-stepper-item.cjs.entry.js +8 -9
- package/dist/cjs/gov-stepper-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-stepper.cjs.entry.js +7 -8
- package/dist/cjs/gov-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-tabs-item.cjs.entry.js +6 -6
- package/dist/cjs/gov-tabs.cjs.entry.js +7 -8
- package/dist/cjs/gov-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-tag.cjs.entry.js +11 -12
- package/dist/cjs/gov-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-tile.cjs.entry.js +3 -3
- package/dist/cjs/gov-tile.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-tiles.cjs.entry.js +3 -3
- package/dist/cjs/gov-toast.cjs.entry.js +10 -11
- package/dist/cjs/gov-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-tooltip-content.cjs.entry.js +5 -5
- package/dist/cjs/gov-tooltip-content.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-tooltip.cjs.entry.js +12 -13
- package/dist/cjs/gov-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-wizard-item.cjs.entry.js +10 -11
- package/dist/cjs/gov-wizard-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-wizard.cjs.entry.js +10 -11
- package/dist/cjs/gov-wizard.cjs.entry.js.map +1 -1
- package/dist/cjs/{win-587f4614.js → gov.log-bfea3151.js} +16 -4
- package/dist/cjs/gov.log-bfea3151.js.map +1 -0
- package/dist/cjs/{index-1af4880c.js → index-7ff4447c.js} +20 -12
- package/dist/cjs/index-7ff4447c.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{props-b8a955b2.js → props-d189860c.js} +2 -2
- package/dist/cjs/{props-b8a955b2.js.map → props-d189860c.js.map} +1 -1
- package/dist/cjs/{string.utils-2335838f.js → string.utils-b84c81cf.js} +2 -1
- package/dist/cjs/string.utils-b84c81cf.js.map +1 -0
- package/dist/cjs/{template-b070338f.js → template-39939fd6.js} +1 -20
- package/dist/cjs/template-39939fd6.js.map +1 -0
- package/dist/cjs/{wcag-31089f70.js → wcag-2927ff73.js} +5 -6
- package/dist/cjs/wcag-2927ff73.js.map +1 -0
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/gov-accordion/gov-accordion-item.js +8 -5
- package/dist/collection/components/gov-accordion/gov-accordion-item.js.map +1 -1
- package/dist/collection/components/gov-attachments/gov-attachments-item.css +6 -35
- 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-breadcrumbs/gov-breadcrumbs.js.map +1 -1
- package/dist/collection/components/gov-button/button/gov-button.js +9 -9
- package/dist/collection/components/gov-button/button/gov-button.js.map +1 -1
- 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-card/gov-card.js.map +1 -1
- package/dist/collection/components/gov-chip/gov-chip.js +16 -16
- package/dist/collection/components/gov-chip/gov-chip.js.map +1 -1
- package/dist/collection/components/gov-container/gov-container.js +2 -38
- package/dist/collection/components/gov-container/gov-container.js.map +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-flex/constants.js +4 -0
- package/dist/collection/components/gov-flex/constants.js.map +1 -0
- package/dist/collection/components/gov-flex/gov-flex.js +127 -0
- package/dist/collection/components/gov-flex/gov-flex.js.map +1 -0
- package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.js +2 -21
- package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.js.map +1 -1
- package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.js +3 -3
- package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.js.map +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 +8 -23
- package/dist/collection/components/gov-form/file/gov-form-file.js.map +1 -1
- package/dist/collection/components/gov-form/group/gov-form-checkbox-group.js +1 -1
- package/dist/collection/components/gov-form/group/gov-form-group.css +7 -36
- 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/constants.js +1 -0
- package/dist/collection/components/gov-form/input/constants.js.map +1 -1
- package/dist/collection/components/gov-form/input/gov-form-input.js +5 -3
- package/dist/collection/components/gov-form/input/gov-form-input.js.map +1 -1
- 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 +6 -30
- 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/radio/gov-form-radio.js +1 -1
- package/dist/collection/components/gov-form/radio/gov-form-radio.js.map +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 +4 -4
- package/dist/collection/components/gov-form/select/gov-form-select.js.map +1 -1
- package/dist/collection/components/gov-form/switch/constants.js +1 -1
- package/dist/collection/components/gov-form/switch/constants.js.map +1 -1
- package/dist/collection/components/gov-form/switch/gov-form-switch.js +4 -4
- package/dist/collection/components/gov-form/switch/gov-form-switch.js.map +1 -1
- 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-icon/constants.js +8 -7
- package/dist/collection/components/gov-icon/constants.js.map +1 -1
- package/dist/collection/components/gov-icon/gov-icon.js +41 -10
- package/dist/collection/components/gov-icon/gov-icon.js.map +1 -1
- package/dist/collection/components/gov-icon/list.js +43 -151
- package/dist/collection/components/gov-icon/list.js.map +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-lifecycle-tester/gov-lifecycle-tester.js +39 -0
- package/dist/collection/components/gov-lifecycle-tester/gov-lifecycle-tester.js.map +1 -0
- package/dist/collection/components/gov-link/constants.js +7 -0
- package/dist/collection/components/gov-link/constants.js.map +1 -0
- package/dist/collection/components/gov-link/gov-link.js +129 -0
- package/dist/collection/components/gov-link/gov-link.js.map +1 -0
- package/dist/collection/components/gov-loading/loading/gov-loading.js +1 -1
- package/dist/collection/components/gov-loading/loading/gov-loading.js.map +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 +2 -2
- 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-tabs/gov-tabs.js.map +1 -1
- package/dist/collection/components/gov-tag/gov-tag.js +9 -9
- package/dist/collection/components/gov-tag/gov-tag.js.map +1 -1
- package/dist/collection/components/gov-theme-switch/constants.js +9 -1
- package/dist/collection/components/gov-theme-switch/constants.js.map +1 -1
- package/dist/collection/components/gov-theme-switch/gov-theme-switch.js +134 -10
- package/dist/collection/components/gov-theme-switch/gov-theme-switch.js.map +1 -1
- package/dist/collection/components/gov-tile/container/gov-tiles.js +1 -1
- package/dist/collection/components/gov-tile/gov-tile.js +7 -7
- package/dist/collection/components/gov-tile/gov-tile.js.map +1 -1
- package/dist/collection/components/gov-toast/constants.js +1 -0
- package/dist/collection/components/gov-toast/constants.js.map +1 -1
- package/dist/collection/components/gov-toast/gov-toast.js +3 -4
- package/dist/collection/components/gov-toast/gov-toast.js.map +1 -1
- package/dist/collection/components/gov-tooltip/gov-tooltip-content.js +1 -1
- package/dist/collection/components/gov-tooltip/gov-tooltip-content.js.map +1 -1
- package/dist/collection/components/gov-tooltip/gov-tooltip.js +2 -2
- package/dist/collection/components/gov-wizard/gov-wizard-item.js +3 -3
- package/dist/collection/components/gov-wizard/gov-wizard-item.js.map +1 -1
- package/dist/collection/components/gov-wizard/gov-wizard.js +1 -1
- package/dist/collection/core/constants/colors.js +6 -8
- package/dist/collection/core/constants/colors.js.map +1 -1
- package/dist/collection/data/color-definitions.js +359 -172
- package/dist/collection/helpers/Dom/document.js +46 -0
- package/dist/collection/helpers/Dom/document.js.map +1 -0
- package/dist/collection/helpers/Dom/template.js +0 -18
- package/dist/collection/helpers/Dom/template.js.map +1 -1
- package/dist/collection/helpers/Dom/template.types.js.map +1 -1
- package/dist/collection/pages/Accordion.js +30 -30
- package/dist/collection/pages/Accordion.js.map +1 -1
- package/dist/collection/pages/Button.js +383 -383
- package/dist/collection/pages/Button.js.map +1 -1
- package/dist/collection/pages/Chip.js +53 -53
- package/dist/collection/pages/Chip.js.map +1 -1
- package/dist/collection/pages/ControlGroup.js +18 -18
- package/dist/collection/pages/ControlGroup.js.map +1 -1
- package/dist/collection/pages/Dialog.js +1 -1
- package/dist/collection/pages/Dialog.js.map +1 -1
- package/dist/collection/pages/Forms.js +206 -196
- package/dist/collection/pages/Forms.js.map +1 -1
- package/dist/collection/pages/Grid.js +1 -1
- package/dist/collection/pages/Grid.js.map +1 -1
- package/dist/collection/pages/Icon.js +10 -0
- package/dist/collection/pages/Icon.js.map +1 -1
- package/dist/collection/pages/Infobar.js +16 -16
- package/dist/collection/pages/Infobar.js.map +1 -1
- package/dist/collection/pages/Message.js +20 -20
- package/dist/collection/pages/Message.js.map +1 -1
- package/dist/collection/pages/Spacer.js +1 -1
- package/dist/collection/pages/Spacer.js.map +1 -1
- package/dist/collection/pages/Stepper.js +15 -15
- package/dist/collection/pages/Stepper.js.map +1 -1
- package/dist/collection/pages/Tag.js +135 -160
- package/dist/collection/pages/Tag.js.map +1 -1
- package/dist/collection/pages/ToastMessage.js +4 -4
- package/dist/collection/pages/ToastMessage.js.map +1 -1
- package/dist/collection/pages/ToastMessageCountdown.js +4 -4
- package/dist/collection/pages/ToastMessageCountdown.js.map +1 -1
- package/dist/collection/pages/Tooltip.js +2 -2
- package/dist/collection/pages/Tooltip.js.map +1 -1
- package/dist/collection/pages/Typography.js +20 -0
- package/dist/collection/pages/Typography.js.map +1 -1
- package/dist/collection/pages/Wizard.js +2 -2
- package/dist/collection/pages/Wizard.js.map +1 -1
- package/dist/collection/utils/string.utils.js +1 -1
- package/dist/collection/utils/string.utils.js.map +1 -1
- package/dist/components/gov-accordion-item.js +1 -1
- package/dist/components/gov-accordion-item.js.map +1 -1
- package/dist/components/gov-accordion.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-card.js.map +1 -1
- package/dist/components/gov-chip.js +1 -1
- package/dist/components/gov-container.js +1 -1
- package/dist/components/gov-container.js.map +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-app.d.ts → gov-flex.d.ts} +4 -4
- package/dist/components/gov-flex.js +2 -0
- package/dist/components/gov-flex.js.map +1 -0
- package/dist/components/gov-form-autocomplete.js +1 -1
- package/dist/components/gov-form-checkbox-group.js +1 -1
- package/dist/components/gov-form-checkbox-group.js.map +1 -1
- package/dist/components/gov-form-checkbox.js +1 -1
- package/dist/components/gov-form-checkbox.js.map +1 -1
- package/dist/components/gov-form-control.js +1 -1
- package/dist/components/gov-form-file.js +1 -1
- package/dist/components/gov-form-file.js.map +1 -1
- package/dist/components/gov-form-group.js +1 -1
- package/dist/components/gov-form-input.js +1 -1
- package/dist/components/gov-form-label.js +1 -1
- package/dist/components/gov-form-label.js.map +1 -1
- package/dist/components/gov-form-message.js +1 -1
- package/dist/components/gov-form-multi-select.js +1 -1
- package/dist/components/gov-form-multi-select.js.map +1 -1
- package/dist/components/gov-form-password-power.js +1 -1
- package/dist/components/gov-form-radio-group.js +1 -1
- package/dist/components/gov-form-radio-group.js.map +1 -1
- package/dist/components/gov-form-radio.js +1 -1
- package/dist/components/gov-form-radio.js.map +1 -1
- package/dist/components/gov-form-search.js +1 -1
- package/dist/components/gov-form-select.js +1 -1
- package/dist/components/gov-form-switch.js +1 -1
- package/dist/components/gov-form-switch.js.map +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-lifecycle.d.ts +11 -0
- package/dist/components/gov-lifecycle.js +2 -0
- package/dist/components/gov-lifecycle.js.map +1 -0
- package/dist/components/gov-link.d.ts +11 -0
- package/dist/components/gov-link.js +2 -0
- package/dist/components/gov-link.js.map +1 -0
- 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-tabs.js.map +1 -1
- package/dist/components/gov-tag.js +1 -1
- package/dist/components/gov-tag.js.map +1 -1
- package/dist/components/gov-theme-switch.js +1 -1
- package/dist/components/gov-theme-switch.js.map +1 -1
- package/dist/components/gov-tile.js +1 -1
- package/dist/components/gov-tile.js.map +1 -1
- package/dist/components/gov-tiles.js +1 -1
- package/dist/components/gov-toast.js +1 -1
- package/dist/components/gov-toast.js.map +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-item.js.map +1 -1
- package/dist/components/gov-wizard.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/p-0b3574c2.js +2 -0
- package/dist/components/p-1eb9c053.js +2 -0
- package/dist/components/p-1eb9c053.js.map +1 -0
- package/dist/components/p-283b66c3.js +2 -0
- package/dist/components/p-283b66c3.js.map +1 -0
- package/dist/components/p-318d89bd.js +2 -0
- package/dist/components/{p-1366ed8d.js.map → p-318d89bd.js.map} +1 -1
- package/dist/components/p-3d7a21b5.js +2 -0
- package/dist/components/p-3d7a21b5.js.map +1 -0
- package/dist/components/{p-ae3dada7.js → p-42200001.js} +3 -3
- package/dist/components/p-42200001.js.map +1 -0
- package/dist/components/p-44a8a668.js +2 -0
- package/dist/components/p-46c567fd.js +2 -0
- package/dist/components/p-46c567fd.js.map +1 -0
- package/dist/components/p-5aad3497.js +2 -0
- package/dist/components/p-5aad3497.js.map +1 -0
- package/dist/components/p-68a1aaec.js +2 -0
- package/dist/components/p-68a1aaec.js.map +1 -0
- package/dist/components/p-73938936.js +2 -0
- package/dist/components/p-76d604c6.js +2 -0
- package/dist/components/p-7be2301a.js +2 -0
- package/dist/components/p-7f3becc5.js +2 -0
- package/dist/components/p-80dad64b.js +2 -0
- package/dist/components/{p-9a93146e.js.map → p-80dad64b.js.map} +1 -1
- package/dist/components/{p-7f8a24a7.js → p-860520b0.js} +2 -2
- package/dist/components/p-880743a5.js.map +1 -1
- package/dist/components/p-9908b9f0.js +2 -0
- package/dist/components/p-9908b9f0.js.map +1 -0
- package/dist/components/{p-59737af9.js → p-a521c59a.js} +2 -2
- package/dist/components/p-a6b7a6c2.js +2 -0
- package/dist/components/p-a6be4769.js +2 -0
- package/dist/components/p-a6be4769.js.map +1 -0
- package/dist/components/{p-6e19816b.js → p-ac359044.js} +2 -2
- package/dist/components/p-b95ebe8c.js +2 -0
- package/dist/components/{p-dbae2385.js.map → p-b95ebe8c.js.map} +1 -1
- package/dist/components/{p-0c93dd39.js → p-c61a5830.js} +2 -2
- package/dist/components/{p-95d41a3b.js → p-cd6c2938.js} +2 -2
- package/dist/components/p-cd6c2938.js.map +1 -0
- package/dist/components/p-e8ec030e.js +2 -0
- package/dist/components/p-e8ec030e.js.map +1 -0
- package/dist/components/p-ea7fdd2e.js +2 -0
- package/dist/components/p-ea7fdd2e.js.map +1 -0
- package/dist/core/core.css +8256 -7340
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/p-00d153bf.entry.js +2 -0
- package/dist/core/p-019e967c.entry.js +2 -0
- package/dist/core/{p-eeb9cb73.entry.js.map → p-019e967c.entry.js.map} +1 -1
- package/dist/core/p-04fa0ab5.entry.js +2 -0
- package/dist/core/{p-db940455.entry.js.map → p-04fa0ab5.entry.js.map} +1 -1
- package/dist/core/p-0b3574c2.js +2 -0
- package/dist/core/p-0be19b89.entry.js +2 -0
- package/dist/core/p-0fdd8929.entry.js +2 -0
- package/dist/core/{p-7cf554e6.entry.js.map → p-0fdd8929.entry.js.map} +1 -1
- package/dist/core/p-1200a32d.entry.js +2 -0
- package/dist/core/p-1200a32d.entry.js.map +1 -0
- package/dist/core/p-22fa411d.entry.js +2 -0
- package/dist/core/p-2739fa61.entry.js +2 -0
- package/dist/core/p-2739fa61.entry.js.map +1 -0
- package/dist/core/p-29ac15d2.js +2 -0
- package/dist/core/{p-28a7d3f7.js.map → p-29ac15d2.js.map} +1 -1
- package/dist/core/p-30eaeeec.entry.js +2 -0
- package/dist/core/p-3bbb77a0.js +2 -0
- package/dist/core/p-3cb36bae.entry.js +2 -0
- package/dist/core/p-3cb36bae.entry.js.map +1 -0
- package/dist/core/p-3d6edb09.entry.js +2 -0
- package/dist/core/p-3d6edb09.entry.js.map +1 -0
- package/dist/core/p-3f6a2d20.entry.js +2 -0
- package/dist/core/p-3f6a2d20.entry.js.map +1 -0
- package/dist/core/p-41c6b262.entry.js +2 -0
- package/dist/core/{p-e4978aab.entry.js.map → p-41c6b262.entry.js.map} +1 -1
- package/dist/core/p-432c3875.entry.js +2 -0
- package/dist/core/p-432c3875.entry.js.map +1 -0
- package/dist/core/p-439b66a5.entry.js +2 -0
- package/dist/core/{p-a53a277a.entry.js.map → p-439b66a5.entry.js.map} +1 -1
- package/dist/core/p-4b90fbc4.entry.js +2 -0
- package/dist/core/{p-17015e36.entry.js.map → p-4b90fbc4.entry.js.map} +1 -1
- package/dist/core/p-4c5f6299.entry.js +2 -0
- package/dist/core/p-4c5f6299.entry.js.map +1 -0
- package/dist/core/p-535316b4.entry.js +2 -0
- package/dist/core/p-5396935e.entry.js +2 -0
- package/dist/core/p-561718cd.entry.js +2 -0
- package/dist/core/{p-dc3fab19.entry.js.map → p-561718cd.entry.js.map} +1 -1
- package/dist/core/p-56dc370d.entry.js +2 -0
- package/dist/core/{p-6d772ff9.entry.js.map → p-56dc370d.entry.js.map} +1 -1
- package/dist/core/{p-42d9924c.js → p-56efd4a2.js} +2 -2
- package/dist/core/p-5aad3497.js +2 -0
- package/dist/core/p-5aad3497.js.map +1 -0
- package/dist/core/p-5b2131c1.entry.js +2 -0
- package/dist/core/p-5c9e6275.entry.js +2 -0
- package/dist/core/{p-f456bd71.entry.js.map → p-5c9e6275.entry.js.map} +1 -1
- package/dist/core/{p-60658ae9.js → p-5f1000da.js} +2 -2
- package/dist/core/p-65e67731.entry.js +2 -0
- package/dist/core/p-65e67731.entry.js.map +1 -0
- package/dist/core/p-6bb37fe2.entry.js +2 -0
- package/dist/core/{p-f1be099b.entry.js.map → p-6bb37fe2.entry.js.map} +1 -1
- package/dist/core/p-6e457b3d.entry.js +2 -0
- package/dist/core/{p-5dcbfca3.entry.js.map → p-6e457b3d.entry.js.map} +1 -1
- package/dist/core/p-72130a8f.entry.js +2 -0
- package/dist/core/p-72130a8f.entry.js.map +1 -0
- package/dist/core/p-76d604c6.js +2 -0
- package/dist/core/{p-a21dc94f.js.map → p-76d604c6.js.map} +1 -1
- package/dist/core/p-7b7e502b.entry.js +2 -0
- package/dist/core/p-7ba4daf4.js +2 -0
- package/dist/core/p-7e04730a.entry.js +2 -0
- package/dist/core/{p-182189d2.entry.js.map → p-7e04730a.entry.js.map} +1 -1
- package/dist/core/p-7f3becc5.js +2 -0
- package/dist/core/{p-a1e95a5f.js → p-8506b611.js} +3 -3
- package/dist/core/p-8506b611.js.map +1 -0
- package/dist/core/{p-e9a6cd71.js → p-860520b0.js} +2 -2
- package/dist/core/p-880743a5.js.map +1 -1
- package/dist/core/p-97a9725d.entry.js +2 -0
- package/dist/core/{p-9b41ac88.entry.js.map → p-97a9725d.entry.js.map} +1 -1
- package/dist/core/p-9c2c5447.entry.js +2 -0
- package/dist/core/p-9c2c5447.entry.js.map +1 -0
- package/dist/core/p-9fe35463.entry.js +2 -0
- package/dist/core/p-9fe35463.entry.js.map +1 -0
- package/dist/core/p-a521c59a.js +2 -0
- package/dist/core/p-b7cfe254.entry.js +2 -0
- package/dist/core/{p-963f9fcd.entry.js.map → p-b7cfe254.entry.js.map} +1 -1
- package/dist/core/p-b923a8d9.entry.js +2 -0
- package/dist/core/p-b923a8d9.entry.js.map +1 -0
- package/dist/core/p-bc966c46.entry.js +2 -0
- package/dist/core/{p-83039b10.entry.js.map → p-bc966c46.entry.js.map} +1 -1
- package/dist/core/p-bcb45a18.entry.js +2 -0
- package/dist/core/{p-2ed3afef.entry.js.map → p-bcb45a18.entry.js.map} +1 -1
- package/dist/core/p-bdc51179.entry.js +2 -0
- package/dist/core/p-bdc51179.entry.js.map +1 -0
- package/dist/core/p-c054f955.entry.js +2 -0
- package/dist/core/{p-663d3db2.entry.js.map → p-c054f955.entry.js.map} +1 -1
- package/dist/core/{p-c990d746.js → p-c61a5830.js} +2 -2
- package/dist/core/p-c916d0d2.entry.js +2 -0
- package/dist/core/p-c916d0d2.entry.js.map +1 -0
- package/dist/core/p-ccec8019.entry.js +2 -0
- package/dist/core/p-ccec8019.entry.js.map +1 -0
- package/dist/core/p-cd2d335d.entry.js +2 -0
- package/dist/core/{p-b3acb156.entry.js.map → p-cd2d335d.entry.js.map} +1 -1
- package/dist/core/{p-95d41a3b.js → p-cd6c2938.js} +2 -2
- package/dist/core/p-cd6c2938.js.map +1 -0
- package/dist/core/p-d65cef62.entry.js +2 -0
- package/dist/core/{p-aa8adc45.entry.js.map → p-d65cef62.entry.js.map} +1 -1
- package/dist/core/p-d836fcde.entry.js +2 -0
- package/dist/core/{p-b55fc943.entry.js.map → p-d836fcde.entry.js.map} +1 -1
- package/dist/core/p-da1db6fd.js +2 -0
- package/dist/core/p-da1db6fd.js.map +1 -0
- package/dist/core/p-da7f1e11.entry.js +2 -0
- package/dist/core/p-da7f1e11.entry.js.map +1 -0
- package/dist/core/p-dea64896.entry.js +2 -0
- package/dist/core/{p-ab9ae7ba.entry.js.map → p-dea64896.entry.js.map} +1 -1
- package/dist/core/{p-45a30859.js → p-e0e2e9c1.js} +2 -2
- package/dist/core/p-e44a0fee.js +2 -0
- package/dist/core/p-e61aa53b.entry.js +2 -0
- package/dist/core/{p-d2351924.entry.js.map → p-e61aa53b.entry.js.map} +1 -1
- package/dist/core/p-e834ee73.entry.js +2 -0
- package/dist/core/p-e834ee73.entry.js.map +1 -0
- package/dist/core/p-e8ec030e.js +2 -0
- package/dist/core/p-e8ec030e.js.map +1 -0
- package/dist/core/p-ea44d447.entry.js +2 -0
- package/dist/core/p-ea44d447.entry.js.map +1 -0
- package/dist/core/p-ea7fdd2e.js +2 -0
- package/dist/core/p-ea7fdd2e.js.map +1 -0
- package/dist/core/p-ed833334.entry.js +2 -0
- package/dist/core/p-ed833334.entry.js.map +1 -0
- package/dist/core/p-ed8fc183.entry.js +2 -0
- package/dist/core/p-ed8fc183.entry.js.map +1 -0
- package/dist/core/p-f4bcf817.entry.js +2 -0
- package/dist/core/p-f4bcf817.entry.js.map +1 -0
- package/dist/core/p-f4dac942.entry.js +2 -0
- package/dist/core/{p-9ff8f059.entry.js.map → p-f4dac942.entry.js.map} +1 -1
- package/dist/core/p-f7a4da9d.entry.js +2 -0
- package/dist/core/{p-a5489b0e.entry.js.map → p-f7a4da9d.entry.js.map} +1 -1
- package/dist/esm/{colors-02c1ea96.js → colors-4cf64720.js} +7 -9
- package/dist/esm/colors-4cf64720.js.map +1 -0
- package/dist/esm/{constants-6d727976.js → constants-085f9943.js} +2 -2
- package/dist/esm/{constants-6d727976.js.map → constants-085f9943.js.map} +1 -1
- package/dist/esm/{constants-990365f1.js → constants-372455eb.js} +3 -3
- package/dist/esm/{constants-990365f1.js.map → constants-372455eb.js.map} +1 -1
- package/dist/esm/{constants-d6418889.js → constants-3ab65c42.js} +2 -2
- package/dist/esm/{constants-d6418889.js.map → constants-3ab65c42.js.map} +1 -1
- package/dist/esm/{constants-48177684.js → constants-3b914c35.js} +3 -3
- package/dist/esm/{constants-48177684.js.map → constants-3b914c35.js.map} +1 -1
- package/dist/esm/{constants-d42abf99.js → constants-43f10674.js} +2 -2
- package/dist/esm/{constants-d42abf99.js.map → constants-43f10674.js.map} +1 -1
- package/dist/esm/{constants-501eb756.js → constants-4da2b3c0.js} +2 -2
- package/dist/esm/{constants-501eb756.js.map → constants-4da2b3c0.js.map} +1 -1
- package/dist/esm/{constants-c716fa44.js → constants-51f51588.js} +3 -3
- package/dist/esm/{constants-c716fa44.js.map → constants-51f51588.js.map} +1 -1
- package/dist/esm/{constants-f4e4ede6.js → constants-8429b68f.js} +3 -3
- package/dist/esm/{constants-f4e4ede6.js.map → constants-8429b68f.js.map} +1 -1
- package/dist/esm/{constants-47e20524.js → constants-9177ea52.js} +3 -3
- package/dist/esm/{constants-47e20524.js.map → constants-9177ea52.js.map} +1 -1
- package/dist/esm/{constants-7307438d.js → constants-bc210662.js} +3 -3
- package/dist/esm/{constants-7307438d.js.map → constants-bc210662.js.map} +1 -1
- package/dist/esm/core.js +3 -3
- package/dist/esm/{form-472e078d.js → form-713f26fd.js} +7 -6
- package/dist/esm/form-713f26fd.js.map +1 -0
- package/dist/esm/gov-accordion-item.entry.js +13 -11
- package/dist/esm/gov-accordion-item.entry.js.map +1 -1
- package/dist/esm/gov-accordion.entry.js +6 -7
- package/dist/esm/gov-accordion.entry.js.map +1 -1
- package/dist/esm/gov-attachments_3.entry.js +13 -14
- package/dist/esm/gov-attachments_3.entry.js.map +1 -1
- package/dist/esm/gov-backdrop.entry.js +7 -8
- package/dist/esm/gov-backdrop.entry.js.map +1 -1
- package/dist/esm/gov-breadcrumbs.entry.js +7 -8
- package/dist/esm/gov-breadcrumbs.entry.js.map +1 -1
- package/dist/esm/gov-button.entry.js +12 -13
- package/dist/esm/gov-button.entry.js.map +1 -1
- package/dist/esm/gov-card.entry.js +7 -8
- package/dist/esm/gov-card.entry.js.map +1 -1
- package/dist/esm/gov-chip.entry.js +14 -15
- package/dist/esm/gov-chip.entry.js.map +1 -1
- package/dist/esm/gov-container.entry.js +3 -11
- package/dist/esm/gov-container.entry.js.map +1 -1
- package/dist/esm/gov-control-group.entry.js +7 -8
- package/dist/esm/gov-control-group.entry.js.map +1 -1
- package/dist/esm/gov-cookiebar.entry.js +3 -3
- package/dist/esm/gov-dialog.entry.js +7 -8
- package/dist/esm/gov-dialog.entry.js.map +1 -1
- package/dist/esm/gov-dropdown.entry.js +7 -7
- package/dist/esm/gov-empty.entry.js +7 -8
- package/dist/esm/gov-empty.entry.js.map +1 -1
- package/dist/esm/gov-error-code.entry.js +3 -3
- package/dist/esm/gov-flex_4.entry.js +332 -0
- package/dist/esm/gov-flex_4.entry.js.map +1 -0
- package/dist/esm/gov-form-autocomplete.entry.js +8 -10
- package/dist/esm/gov-form-autocomplete.entry.js.map +1 -1
- package/dist/esm/gov-form-checkbox-group.entry.js +8 -9
- package/dist/esm/gov-form-checkbox-group.entry.js.map +1 -1
- package/dist/esm/gov-form-checkbox.entry.js +12 -13
- package/dist/esm/gov-form-checkbox.entry.js.map +1 -1
- package/dist/esm/gov-form-control.entry.js +10 -10
- package/dist/esm/gov-form-file.entry.js +16 -13
- package/dist/esm/gov-form-file.entry.js.map +1 -1
- package/dist/esm/gov-form-group.entry.js +7 -8
- package/dist/esm/gov-form-group.entry.js.map +1 -1
- package/dist/esm/gov-form-input_2.entry.js +17 -16
- package/dist/esm/gov-form-input_2.entry.js.map +1 -1
- package/dist/esm/gov-form-multi-select.entry.js +16 -32
- package/dist/esm/gov-form-multi-select.entry.js.map +1 -1
- package/dist/esm/gov-form-password-power.entry.js +2 -2
- package/dist/esm/gov-form-radio-group.entry.js +8 -9
- package/dist/esm/gov-form-radio-group.entry.js.map +1 -1
- package/dist/esm/gov-form-radio.entry.js +11 -12
- package/dist/esm/gov-form-radio.entry.js.map +1 -1
- package/dist/esm/gov-form-search.entry.js +4 -4
- package/dist/esm/gov-form-select.entry.js +13 -14
- package/dist/esm/gov-form-select.entry.js.map +1 -1
- package/dist/esm/gov-form-switch.entry.js +12 -13
- package/dist/esm/gov-form-switch.entry.js.map +1 -1
- package/dist/esm/gov-grid-item.entry.js +3 -3
- package/dist/esm/gov-grid.entry.js +3 -3
- package/dist/esm/gov-infobar.entry.js +8 -9
- package/dist/esm/gov-infobar.entry.js.map +1 -1
- package/dist/esm/gov-layout-column.entry.js +3 -3
- package/dist/esm/gov-layout.entry.js +3 -3
- package/dist/esm/gov-lifecycle.entry.js +43 -0
- package/dist/esm/gov-lifecycle.entry.js.map +1 -0
- package/dist/esm/gov-link.entry.js +47 -0
- package/dist/esm/gov-link.entry.js.map +1 -0
- package/dist/esm/gov-loading.entry.js +6 -7
- package/dist/esm/gov-loading.entry.js.map +1 -1
- package/dist/esm/gov-message.entry.js +7 -8
- package/dist/esm/gov-message.entry.js.map +1 -1
- package/dist/esm/gov-pagination.entry.js +9 -10
- package/dist/esm/gov-pagination.entry.js.map +1 -1
- package/dist/esm/gov-spacer.entry.js +6 -7
- package/dist/esm/gov-spacer.entry.js.map +1 -1
- package/dist/esm/gov-stepper-item.entry.js +9 -10
- package/dist/esm/gov-stepper-item.entry.js.map +1 -1
- package/dist/esm/gov-stepper.entry.js +8 -9
- package/dist/esm/gov-stepper.entry.js.map +1 -1
- package/dist/esm/gov-tabs-item.entry.js +7 -7
- package/dist/esm/gov-tabs.entry.js +8 -9
- package/dist/esm/gov-tabs.entry.js.map +1 -1
- package/dist/esm/gov-tag.entry.js +12 -13
- package/dist/esm/gov-tag.entry.js.map +1 -1
- package/dist/esm/gov-tile.entry.js +4 -4
- package/dist/esm/gov-tile.entry.js.map +1 -1
- package/dist/esm/gov-tiles.entry.js +3 -3
- package/dist/esm/gov-toast.entry.js +11 -12
- package/dist/esm/gov-toast.entry.js.map +1 -1
- package/dist/esm/gov-tooltip-content.entry.js +6 -6
- package/dist/esm/gov-tooltip-content.entry.js.map +1 -1
- package/dist/esm/gov-tooltip.entry.js +10 -11
- package/dist/esm/gov-tooltip.entry.js.map +1 -1
- package/dist/esm/gov-wizard-item.entry.js +11 -12
- package/dist/esm/gov-wizard-item.entry.js.map +1 -1
- package/dist/esm/gov-wizard.entry.js +10 -11
- package/dist/esm/gov-wizard.entry.js.map +1 -1
- package/dist/esm/{win-cec370ad.js → gov.log-6b64cda6.js} +17 -3
- package/dist/esm/gov.log-6b64cda6.js.map +1 -0
- package/dist/esm/{index-d8b4eb6c.js → index-c263e031.js} +20 -12
- package/dist/esm/index-c263e031.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{props-c82e1abf.js → props-9d3c7ac1.js} +2 -2
- package/dist/esm/{props-c82e1abf.js.map → props-9d3c7ac1.js.map} +1 -1
- package/dist/esm/{string.utils-5ce3f551.js → string.utils-1da8f8fb.js} +2 -2
- package/dist/esm/string.utils-1da8f8fb.js.map +1 -0
- package/dist/esm/{template-3d84d705.js → template-7ecee4d1.js} +2 -20
- package/dist/esm/template-7ecee4d1.js.map +1 -0
- package/dist/esm/{utils-2b4ef320.js → utils-e10e994d.js} +2 -2
- package/dist/esm/{utils-2b4ef320.js.map → utils-e10e994d.js.map} +1 -1
- package/dist/esm/{wcag-fa5ce56c.js → wcag-253a4421.js} +3 -4
- package/dist/esm/wcag-253a4421.js.map +1 -0
- package/dist/hydrate/index.js +431 -10072
- package/dist/hydrate/index.mjs +431 -10072
- package/dist/stencil.config.js +9 -6
- package/dist/stencil.config.js.map +1 -1
- package/dist/types/components/gov-accordion/gov-accordion-item.d.ts +1 -0
- package/dist/types/components/gov-button/button/gov-button.d.ts +1 -1
- package/dist/types/components/gov-chip/gov-chip.d.ts +3 -3
- package/dist/types/components/gov-container/gov-container.d.ts +0 -6
- package/dist/types/components/gov-flex/constants.d.ts +3 -0
- package/dist/types/components/gov-flex/gov-flex.d.ts +33 -0
- package/dist/types/components/gov-form/autocomplete/gov-form-autocomplete.d.ts +0 -4
- package/dist/types/components/gov-form/file/gov-form-file.d.ts +1 -4
- package/dist/types/components/gov-form/input/constants.d.ts +1 -0
- package/dist/types/components/gov-form/multiselect/gov-form-multi-select.d.ts +0 -2
- package/dist/types/components/gov-form/switch/constants.d.ts +1 -1
- package/dist/types/components/gov-icon/constants.d.ts +4 -1
- package/dist/types/components/gov-icon/gov-icon.d.ts +8 -3
- package/dist/types/components/gov-icon/list.d.ts +1 -1
- package/dist/types/components/gov-lifecycle-tester/gov-lifecycle-tester.d.ts +14 -0
- package/dist/types/components/gov-link/constants.d.ts +7 -0
- package/dist/types/components/gov-link/gov-link.d.ts +30 -0
- package/dist/types/components/gov-tag/gov-tag.d.ts +2 -2
- package/dist/types/components/gov-theme-switch/constants.d.ts +9 -0
- package/dist/types/components/gov-theme-switch/gov-theme-switch.d.ts +26 -2
- package/dist/types/components/gov-tile/gov-tile.d.ts +1 -1
- package/dist/types/components/gov-toast/constants.d.ts +1 -0
- package/dist/types/components.d.ts +191 -50
- package/dist/types/core/constants/colors.d.ts +6 -8
- package/dist/types/helpers/Dom/document.d.ts +4 -0
- package/dist/types/helpers/Dom/template.d.ts +0 -1
- package/dist/types/helpers/Dom/template.types.d.ts +0 -1
- package/dist/types/utils/string.utils.d.ts +1 -0
- package/package.json +4 -4
- package/dist/cjs/colors-976f6dff.js.map +0 -1
- package/dist/cjs/form-c1aec07a.js.map +0 -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/cjs/gov-form-label.cjs.entry.js +0 -27
- package/dist/cjs/gov-form-label.cjs.entry.js.map +0 -1
- package/dist/cjs/gov-icon.cjs.entry.js +0 -161
- package/dist/cjs/gov-icon.cjs.entry.js.map +0 -1
- package/dist/cjs/gov.log-1e8bab6e.js +0 -21
- package/dist/cjs/gov.log-1e8bab6e.js.map +0 -1
- package/dist/cjs/index-1af4880c.js.map +0 -1
- package/dist/cjs/string.utils-2335838f.js.map +0 -1
- package/dist/cjs/template-b070338f.js.map +0 -1
- package/dist/cjs/wcag-31089f70.js.map +0 -1
- package/dist/cjs/win-587f4614.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.js +0 -2
- package/dist/components/gov-app.js.map +0 -1
- package/dist/components/p-0075138f.js +0 -2
- package/dist/components/p-0075138f.js.map +0 -1
- package/dist/components/p-08621bdf.js +0 -2
- package/dist/components/p-1366ed8d.js +0 -2
- package/dist/components/p-19c681a3.js +0 -2
- package/dist/components/p-1a0b3b4f.js +0 -2
- package/dist/components/p-1a0b3b4f.js.map +0 -1
- package/dist/components/p-255d0471.js +0 -2
- package/dist/components/p-255d0471.js.map +0 -1
- package/dist/components/p-565120d5.js +0 -2
- package/dist/components/p-736e4917.js +0 -2
- package/dist/components/p-7501abe8.js +0 -2
- package/dist/components/p-7501abe8.js.map +0 -1
- package/dist/components/p-778e3fff.js +0 -2
- package/dist/components/p-778e3fff.js.map +0 -1
- package/dist/components/p-7fd16831.js +0 -2
- package/dist/components/p-7fd16831.js.map +0 -1
- package/dist/components/p-95d41a3b.js.map +0 -1
- package/dist/components/p-9a93146e.js +0 -2
- package/dist/components/p-ae3dada7.js.map +0 -1
- package/dist/components/p-ae7e6127.js +0 -2
- package/dist/components/p-cc90a508.js +0 -2
- package/dist/components/p-cc90a508.js.map +0 -1
- package/dist/components/p-d5f25595.js +0 -2
- package/dist/components/p-d5f25595.js.map +0 -1
- package/dist/components/p-dbae2385.js +0 -2
- package/dist/components/p-dcaf0383.js +0 -2
- package/dist/components/p-dcaf0383.js.map +0 -1
- package/dist/components/p-e183a7c7.js +0 -2
- package/dist/components/p-e3aeaca0.js +0 -2
- package/dist/components/p-e3aeaca0.js.map +0 -1
- package/dist/components/p-edd1417b.js +0 -2
- package/dist/core/p-006e52f1.entry.js +0 -2
- package/dist/core/p-006e52f1.entry.js.map +0 -1
- package/dist/core/p-0075138f.js +0 -2
- package/dist/core/p-0075138f.js.map +0 -1
- package/dist/core/p-023787b3.entry.js +0 -2
- package/dist/core/p-023787b3.entry.js.map +0 -1
- package/dist/core/p-052cc573.js +0 -2
- package/dist/core/p-0a952b3c.entry.js +0 -2
- package/dist/core/p-0a952b3c.entry.js.map +0 -1
- package/dist/core/p-0ebc8365.entry.js +0 -2
- package/dist/core/p-0ebc8365.entry.js.map +0 -1
- package/dist/core/p-169b67af.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-2614044c.js +0 -2
- package/dist/core/p-28a7d3f7.js +0 -2
- package/dist/core/p-2ed3afef.entry.js +0 -2
- package/dist/core/p-2effdd60.entry.js +0 -2
- package/dist/core/p-2effdd60.entry.js.map +0 -1
- package/dist/core/p-35e66bef.entry.js +0 -2
- package/dist/core/p-35e66bef.entry.js.map +0 -1
- package/dist/core/p-3f2b803c.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-47e364bb.entry.js.map +0 -1
- package/dist/core/p-4bce896c.js +0 -2
- package/dist/core/p-5c88f415.entry.js +0 -2
- package/dist/core/p-5c88f415.entry.js.map +0 -1
- package/dist/core/p-5dc0af54.entry.js +0 -2
- package/dist/core/p-5dc0af54.entry.js.map +0 -1
- package/dist/core/p-5dcbfca3.entry.js +0 -2
- package/dist/core/p-663d3db2.entry.js +0 -2
- package/dist/core/p-69d56f17.js +0 -2
- package/dist/core/p-6aa40794.js +0 -2
- package/dist/core/p-6b42a387.entry.js +0 -2
- package/dist/core/p-6d772ff9.entry.js +0 -2
- package/dist/core/p-6ed147a6.entry.js +0 -2
- package/dist/core/p-6ed147a6.entry.js.map +0 -1
- package/dist/core/p-7cf554e6.entry.js +0 -2
- package/dist/core/p-81b0848c.entry.js +0 -2
- package/dist/core/p-81b0848c.entry.js.map +0 -1
- package/dist/core/p-83039b10.entry.js +0 -2
- package/dist/core/p-904de5e6.entry.js +0 -2
- package/dist/core/p-904de5e6.entry.js.map +0 -1
- package/dist/core/p-91a9cd24.entry.js +0 -2
- package/dist/core/p-95d41a3b.js.map +0 -1
- package/dist/core/p-963f9fcd.entry.js +0 -2
- package/dist/core/p-9b41ac88.entry.js +0 -2
- package/dist/core/p-9d0f20ec.entry.js +0 -2
- package/dist/core/p-9d0f20ec.entry.js.map +0 -1
- package/dist/core/p-9dde00d8.entry.js +0 -2
- package/dist/core/p-9dde00d8.entry.js.map +0 -1
- package/dist/core/p-9ff8f059.entry.js +0 -2
- package/dist/core/p-a16229c6.entry.js +0 -2
- package/dist/core/p-a16229c6.entry.js.map +0 -1
- package/dist/core/p-a1e95a5f.js.map +0 -1
- package/dist/core/p-a1ebb4da.entry.js +0 -2
- package/dist/core/p-a1ebb4da.entry.js.map +0 -1
- package/dist/core/p-a21dc94f.js +0 -2
- package/dist/core/p-a53a277a.entry.js +0 -2
- package/dist/core/p-a5489b0e.entry.js +0 -2
- package/dist/core/p-a54f1db9.entry.js +0 -2
- package/dist/core/p-a693ffbf.js +0 -2
- package/dist/core/p-a693ffbf.js.map +0 -1
- package/dist/core/p-aa8adc45.entry.js +0 -2
- package/dist/core/p-ab9ae7ba.entry.js +0 -2
- package/dist/core/p-b3acb156.entry.js +0 -2
- package/dist/core/p-b48a4aa0.js +0 -2
- package/dist/core/p-b48a4aa0.js.map +0 -1
- package/dist/core/p-b55fc943.entry.js +0 -2
- package/dist/core/p-b838bb27.entry.js +0 -2
- package/dist/core/p-c214c202.entry.js +0 -2
- package/dist/core/p-c214c202.entry.js.map +0 -1
- package/dist/core/p-c4c7cb24.entry.js +0 -2
- package/dist/core/p-d2351924.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-e0d428c9.js +0 -2
- package/dist/core/p-e0d428c9.js.map +0 -1
- package/dist/core/p-e134b123.entry.js +0 -2
- package/dist/core/p-e3aeaca0.js +0 -2
- package/dist/core/p-e3aeaca0.js.map +0 -1
- package/dist/core/p-e4978aab.entry.js +0 -2
- package/dist/core/p-edc05eff.entry.js +0 -2
- package/dist/core/p-edc05eff.entry.js.map +0 -1
- package/dist/core/p-eeb9cb73.entry.js +0 -2
- package/dist/core/p-f141ad5e.entry.js +0 -2
- package/dist/core/p-f1be099b.entry.js +0 -2
- package/dist/core/p-f456bd71.entry.js +0 -2
- package/dist/core/p-fa7caad6.entry.js +0 -2
- package/dist/core/p-fa7caad6.entry.js.map +0 -1
- package/dist/core/p-fc90bf06.entry.js +0 -2
- package/dist/core/p-fc90bf06.entry.js.map +0 -1
- package/dist/esm/colors-02c1ea96.js.map +0 -1
- package/dist/esm/form-472e078d.js.map +0 -1
- package/dist/esm/gov-app_2.entry.js +0 -9886
- package/dist/esm/gov-app_2.entry.js.map +0 -1
- package/dist/esm/gov-form-label.entry.js +0 -23
- package/dist/esm/gov-form-label.entry.js.map +0 -1
- package/dist/esm/gov-icon.entry.js +0 -157
- package/dist/esm/gov-icon.entry.js.map +0 -1
- package/dist/esm/gov.log-6e9faad2.js +0 -19
- package/dist/esm/gov.log-6e9faad2.js.map +0 -1
- package/dist/esm/index-d8b4eb6c.js.map +0 -1
- package/dist/esm/string.utils-5ce3f551.js.map +0 -1
- package/dist/esm/template-3d84d705.js.map +0 -1
- package/dist/esm/wcag-fa5ce56c.js.map +0 -1
- package/dist/esm/win-cec370ad.js.map +0 -1
- package/dist/types/components/gov-app/gov-app.d.ts +0 -37
- /package/dist/components/{p-19c681a3.js.map → p-0b3574c2.js.map} +0 -0
- /package/dist/components/{p-08621bdf.js.map → p-44a8a668.js.map} +0 -0
- /package/dist/components/{p-736e4917.js.map → p-73938936.js.map} +0 -0
- /package/dist/components/{p-565120d5.js.map → p-76d604c6.js.map} +0 -0
- /package/dist/components/{p-e183a7c7.js.map → p-7be2301a.js.map} +0 -0
- /package/dist/components/{p-edd1417b.js.map → p-7f3becc5.js.map} +0 -0
- /package/dist/components/{p-7f8a24a7.js.map → p-860520b0.js.map} +0 -0
- /package/dist/components/{p-59737af9.js.map → p-a521c59a.js.map} +0 -0
- /package/dist/components/{p-ae7e6127.js.map → p-a6b7a6c2.js.map} +0 -0
- /package/dist/components/{p-6e19816b.js.map → p-ac359044.js.map} +0 -0
- /package/dist/components/{p-0c93dd39.js.map → p-c61a5830.js.map} +0 -0
- /package/dist/core/{p-a54f1db9.entry.js.map → p-00d153bf.entry.js.map} +0 -0
- /package/dist/core/{p-169b67af.js.map → p-0b3574c2.js.map} +0 -0
- /package/dist/core/{p-3f2b803c.entry.js.map → p-0be19b89.entry.js.map} +0 -0
- /package/dist/core/{p-f141ad5e.entry.js.map → p-22fa411d.entry.js.map} +0 -0
- /package/dist/core/{p-b838bb27.entry.js.map → p-30eaeeec.entry.js.map} +0 -0
- /package/dist/core/{p-69d56f17.js.map → p-3bbb77a0.js.map} +0 -0
- /package/dist/core/{p-6b42a387.entry.js.map → p-535316b4.entry.js.map} +0 -0
- /package/dist/core/{p-91a9cd24.entry.js.map → p-5396935e.entry.js.map} +0 -0
- /package/dist/core/{p-42d9924c.js.map → p-56efd4a2.js.map} +0 -0
- /package/dist/core/{p-e134b123.entry.js.map → p-5b2131c1.entry.js.map} +0 -0
- /package/dist/core/{p-60658ae9.js.map → p-5f1000da.js.map} +0 -0
- /package/dist/core/{p-c4c7cb24.entry.js.map → p-7b7e502b.entry.js.map} +0 -0
- /package/dist/core/{p-2614044c.js.map → p-7ba4daf4.js.map} +0 -0
- /package/dist/core/{p-6aa40794.js.map → p-7f3becc5.js.map} +0 -0
- /package/dist/core/{p-e9a6cd71.js.map → p-860520b0.js.map} +0 -0
- /package/dist/core/{p-4bce896c.js.map → p-a521c59a.js.map} +0 -0
- /package/dist/core/{p-c990d746.js.map → p-c61a5830.js.map} +0 -0
- /package/dist/core/{p-45a30859.js.map → p-e0e2e9c1.js.map} +0 -0
- /package/dist/core/{p-052cc573.js.map → p-e44a0fee.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FlexClass","root","GovFlex","proxyCustomElement","H","constructor","this","h","govHost","host","render","Host","key","class","classes"],"sources":["../../../packages/core/src/components/gov-flex/constants.ts","../../../packages/core/src/components/gov-flex/gov-flex.tsx"],"sourcesContent":["export const FlexClass = {\n\troot: 'gov-flex',\n}\n\n","import {Component, Element, h, Host, Prop} from '@stencil/core'\nimport {FlexClass} from './constants'\nimport {govHost} from '../../helpers/Dom/template'\nimport {GovHost} from '../../helpers/Dom/template.types'\n\n@Component({\n\ttag: 'gov-flex',\n})\nexport class GovFlex {\n\tprivate h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovGridElement\n\n\t/**\n\t * Controls the flex direction of the container. Can be 'row', 'row-reverse', 'column', or 'column-reverse'.\n\t */\n\t@Prop() direction: 'row' | 'row-reverse' | 'column' | 'column-reverse' = 'row';\n\n\t/**\n\t * Defines how the browser distributes space between and around content items along the main axis.\n\t * Allowed values: 'flex-start', 'flex-end', 'center', 'space-between', 'space-around', 'space-evenly'.\n\t */\n\t@Prop({\n\t\tattribute: 'justify-content',\n\t\treflect: true\n\t}) justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';\n\n\t/**\n\t * Aligns flex items along the cross axis. Can be 'stretch', 'flex-start', 'flex-end', 'center', or 'baseline'.\n\t */\n\t@Prop({\n\t\tattribute: 'align-items', reflect: true\n\t}) alignItems?: 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline';\n\n\t/**\n\t * Controls whether the flex container is a single-line or multi-line flex container. Can be 'nowrap', 'wrap', or 'wrap-reverse'.\n\t */\n\t@Prop({reflect: true}) wrap?: 'nowrap' | 'wrap' | 'wrap-reverse';\n\n\t/**\n\t * Aligns the flex container's lines within when there is extra space in the cross-axis.\n\t * Allowed values: 'flex-start', 'flex-end', 'center', 'space-between', 'space-around', 'stretch'.\n\t */\n\t@Prop({\n\t\tattribute: 'align-content',\n\t\treflect: true\n\t}) alignContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'stretch';\n\n\t/**\n\t * Sets the alignment of the flex container’s children along the flex container’s cross axis, overriding the `align-items` property for individual flex items.\n\t * Allowed values: 'auto', 'flex-start', 'flex-end', 'center', 'baseline', 'stretch'.\n\t */\n\t@Prop({\n\t\tattribute: 'align-self',\n\t\treflect: true\n\t}) alignSelf?: 'auto' | 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch';\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes(FlexClass.root)}>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"mappings":"6FAAO,MAAMA,EAAY,CACxBC,KAAM,Y,MCOMC,EAAOC,EAAA,MAAAD,UAAAE,EAGnB,WAAAC,G,6CASyE,M,iIARxEC,KAAKC,EAAIC,EAAQF,KAAKG,K,CAiDvB,MAAAC,GACC,OACCH,EAACI,EAAI,CAAAC,IAAA,2CAACC,MAAOP,KAAKC,EAAEO,QAAQd,EAAUC,OACrCM,EAAA,QAAAK,IAAA,6C","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{G as o,d as s}from"./p-
|
|
1
|
+
import{G as o,d as s}from"./p-a6be4769.js";const t=o;const a=s;export{t as GovFormAutocomplete,a 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-
|
|
1
|
+
import{p as o,H as r,c as a,h as g,d as e}from"./p-42200001.js";import{F as t,a as i,b as p,c as n}from"./p-e44a0fee.js";import{g as m}from"./p-ea7fdd2e.js";import{v as f}from"./p-0b3574c2.js";import{t as l}from"./p-26618322.js";import{p as s}from"./p-ded281e6.js";const v=":root{--roboto:Roboto, sans-serif}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 !important;margin-bottom:0 !important;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=s(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:t.root})};this.gap=undefined;this.orientation="vertical";this.value=undefined;this.h=m(this.host)}validateGap(o){if(o){f(p,o,i.root)}}validateOrientation(o){if(o){f(n,o,i.root)}}componentWillLoad(){this.validateGap(this.gap);this.validateOrientation(this.orientation);this.value=s(this.value)}componentDidRender(){l((()=>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:"9f0b69dea278df308a3ad5dacf989d4a89687b2a",gap:this.gap,class:this.h.classes(i.root),value:this.value},g("slot",{key:"14abf79a5ef9bc899b2732f6ae159781afa51fe2"}))}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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["govFormGroupCss","GovFormCheckboxGroupStyle0","GovFormCheckboxGroup","proxyCustomElement","H","constructor","this","handleChange","event","stopPropagation","value","propsValueToArray","Array","isArray","detail","checked","_a","filter","val","govChange","emit","component","FormCheckboxGroupClass","root","undefined","h","govHost","host","validateGap","newValue","validateProp","FormGroupSizes","FormGroupClass","validateOrientation","FormGroupOrientation","componentWillLoad","gap","orientation","componentDidRender","tick","rerenderComponent","querySelectorAll","forEach","element","hasAttribute","addEventListener","setAttribute","includes","render","Host","key","class","classes"],"sources":["../../../packages/core/src/components/gov-form/group/gov-form-group.scss?tag=gov-form-checkbox-group","../../../packages/core/src/components/gov-form/group/gov-form-checkbox-group.tsx"],"sourcesContent":["/* Form Control */\n\n\ngov-form-group, .gov-form-group,\ngov-form-radio-group, .gov-form-radio-group,\ngov-form-checkbox-group, .gov-form-checkbox-group {\n\t// VARIABLES\n\t@import \"./gov-form-group-variables\";\n\n\t@include reset-margin();\n\t@include base(flex);\n\tflex-direction: column;\n\talign-items: flex-start;\n\t.gov-form-label__label {\n\t\tmargin: 0;\n\t}\n\n\t&[orientation=\"horizontal\"] {\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\t.gov-form-label__label {\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t// SIZES\n\t@each $size, $definitions in $form-group-gaps {\n\t\t&[gap=\"#{$size}\"] {\n\t\t\tgap: map-get($definitions, \"gap\");\n\t\t}\n\t}\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Prop, Watch} from \"@stencil/core\"\nimport {\n\tFormCheckboxGroupClass,\n\tFormGroupClass,\n\tFormGroupOrientation,\n\tFormGroupOrientationType,\n\tFormGroupSizes,\n\tFormGroupSizesType\n} from \"./constants\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {govHost} from \"../../../helpers/Dom/template\"\nimport {validateProp} from \"../../../helpers/Validate/props\"\nimport {FormCheckboxEvent} from \"../checkbox/gov-form-checkbox.types\"\nimport {FormCheckboxGroupEvent} from \"./gov-form-group.types\"\nimport {tick} from \"../../../utils/stencil.utils\"\nimport {propsValueToArray} from \"../../../utils/array.utils\"\n\n@Component({\n\ttag: \"gov-form-checkbox-group\",\n\tstyleUrl: \"gov-form-group.scss\",\n})\nexport class GovFormCheckboxGroup {\n\tprivate readonly h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovFormGroupElement\n\t/**\n\t * Gap's size.\n\t */\n\t@Prop() readonly gap?: FormGroupSizesType = undefined\n\t/**\n\t * Elements orientation\n\t */\n\t@Prop() readonly orientation?: FormGroupOrientationType = 'vertical'\n\t/**\n\t * Group's value\n\t */\n\t@Prop({attribute: \"value\", mutable: true}) value?: string | string[] = undefined\n\t/**\n /* Emitted when the checkbox change value.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<FormCheckboxGroupEvent>\n\n\t@Watch(\"gap\")\n\tvalidateGap(newValue: string): void {\n\t\tif (newValue) {\n\t\t\tvalidateProp(FormGroupSizes, newValue, FormGroupClass.root)\n\t\t}\n\t}\n\n\t@Watch(\"orientation\")\n\tvalidateOrientation(newValue: string): void {\n\t\tif (newValue) {\n\t\t\tvalidateProp(FormGroupOrientation, newValue, FormGroupClass.root)\n\t\t}\n\t}\n\n\thandleChange = (event: CustomEvent<FormCheckboxEvent>) => {\n\t\tevent.stopPropagation()\n\t\tconst value = propsValueToArray<string[]>(this.value);\n\t\tif (!Array.isArray(value)) return;\n\t\tif (event.detail.checked) {\n\t\t\tthis.value = [...value, event.detail.value]\n\t\t} else {\n\t\t\tthis.value = value.filter((val) => val !== event.detail.value) ?? []\n\t\t}\n\t\tthis.govChange.emit({\n\t\t\tvalue: this.value,\n\t\t\tcomponent: FormCheckboxGroupClass.root,\n\t\t})\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateGap(this.gap)\n\t\tthis.validateOrientation(this.orientation)\n\t\tthis.value = propsValueToArray(this.value)\n\t}\n\n\tcomponentDidRender(): void {\n\t\ttick(() => this.rerenderComponent())\n\t}\n\n\trerenderComponent(): void {\n\t\tthis.host.querySelectorAll('gov-form-checkbox').forEach((element) => {\n\t\t\tif (!element.hasAttribute('listener-attached')) {\n\t\t\t\telement.addEventListener('gov-change', this.handleChange)\n\t\t\t}\n\t\t\telement.setAttribute('listener-attached', 'true')\n\t\t\telement.checked = this.value.includes(element.value);\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host gap={this.gap} class={this.h.classes(FormGroupClass.root)} value={this.value}>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"mappings":"yQAAA,MAAMA,EAAkB,
|
|
1
|
+
{"version":3,"names":["govFormGroupCss","GovFormCheckboxGroupStyle0","GovFormCheckboxGroup","proxyCustomElement","H","constructor","this","handleChange","event","stopPropagation","value","propsValueToArray","Array","isArray","detail","checked","_a","filter","val","govChange","emit","component","FormCheckboxGroupClass","root","undefined","h","govHost","host","validateGap","newValue","validateProp","FormGroupSizes","FormGroupClass","validateOrientation","FormGroupOrientation","componentWillLoad","gap","orientation","componentDidRender","tick","rerenderComponent","querySelectorAll","forEach","element","hasAttribute","addEventListener","setAttribute","includes","render","Host","key","class","classes"],"sources":["../../../packages/core/src/components/gov-form/group/gov-form-group.scss?tag=gov-form-checkbox-group","../../../packages/core/src/components/gov-form/group/gov-form-checkbox-group.tsx"],"sourcesContent":["/* Form Control */\n\n\ngov-form-group, .gov-form-group,\ngov-form-radio-group, .gov-form-radio-group,\ngov-form-checkbox-group, .gov-form-checkbox-group {\n\t// VARIABLES\n\t@import \"./gov-form-group-variables\";\n\n\t@include reset-margin();\n\t@include base(flex);\n\tflex-direction: column;\n\talign-items: flex-start;\n\t.gov-form-label__label {\n\t\tmargin: 0;\n\t}\n\n\t&[orientation=\"horizontal\"] {\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\t.gov-form-label__label {\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t// SIZES\n\t@each $size, $definitions in $form-group-gaps {\n\t\t&[gap=\"#{$size}\"] {\n\t\t\tgap: map-get($definitions, \"gap\");\n\t\t}\n\t}\n}\n","import {Component, Element, Event, EventEmitter, h, Host, Prop, Watch} from \"@stencil/core\"\nimport {\n\tFormCheckboxGroupClass,\n\tFormGroupClass,\n\tFormGroupOrientation,\n\tFormGroupOrientationType,\n\tFormGroupSizes,\n\tFormGroupSizesType\n} from \"./constants\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {govHost} from \"../../../helpers/Dom/template\"\nimport {validateProp} from \"../../../helpers/Validate/props\"\nimport {FormCheckboxEvent} from \"../checkbox/gov-form-checkbox.types\"\nimport {FormCheckboxGroupEvent} from \"./gov-form-group.types\"\nimport {tick} from \"../../../utils/stencil.utils\"\nimport {propsValueToArray} from \"../../../utils/array.utils\"\n\n@Component({\n\ttag: \"gov-form-checkbox-group\",\n\tstyleUrl: \"gov-form-group.scss\",\n})\nexport class GovFormCheckboxGroup {\n\tprivate readonly h: GovHost\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t}\n\n\t@Element() host: HTMLGovFormGroupElement\n\t/**\n\t * Gap's size.\n\t */\n\t@Prop() readonly gap?: FormGroupSizesType = undefined\n\t/**\n\t * Elements orientation\n\t */\n\t@Prop() readonly orientation?: FormGroupOrientationType = 'vertical'\n\t/**\n\t * Group's value\n\t */\n\t@Prop({attribute: \"value\", mutable: true}) value?: string | string[] = undefined\n\t/**\n /* Emitted when the checkbox change value.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<FormCheckboxGroupEvent>\n\n\t@Watch(\"gap\")\n\tvalidateGap(newValue: string): void {\n\t\tif (newValue) {\n\t\t\tvalidateProp(FormGroupSizes, newValue, FormGroupClass.root)\n\t\t}\n\t}\n\n\t@Watch(\"orientation\")\n\tvalidateOrientation(newValue: string): void {\n\t\tif (newValue) {\n\t\t\tvalidateProp(FormGroupOrientation, newValue, FormGroupClass.root)\n\t\t}\n\t}\n\n\thandleChange = (event: CustomEvent<FormCheckboxEvent>) => {\n\t\tevent.stopPropagation()\n\t\tconst value = propsValueToArray<string[]>(this.value);\n\t\tif (!Array.isArray(value)) return;\n\t\tif (event.detail.checked) {\n\t\t\tthis.value = [...value, event.detail.value]\n\t\t} else {\n\t\t\tthis.value = value.filter((val) => val !== event.detail.value) ?? []\n\t\t}\n\t\tthis.govChange.emit({\n\t\t\tvalue: this.value,\n\t\t\tcomponent: FormCheckboxGroupClass.root,\n\t\t})\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateGap(this.gap)\n\t\tthis.validateOrientation(this.orientation)\n\t\tthis.value = propsValueToArray(this.value)\n\t}\n\n\tcomponentDidRender(): void {\n\t\ttick(() => this.rerenderComponent())\n\t}\n\n\trerenderComponent(): void {\n\t\tthis.host.querySelectorAll('gov-form-checkbox').forEach((element) => {\n\t\t\tif (!element.hasAttribute('listener-attached')) {\n\t\t\t\telement.addEventListener('gov-change', this.handleChange)\n\t\t\t}\n\t\t\telement.setAttribute('listener-attached', 'true')\n\t\t\telement.checked = this.value.includes(element.value);\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host gap={this.gap} class={this.h.classes(FormGroupClass.root)} value={this.value}>\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"mappings":"yQAAA,MAAMA,EAAkB,0wEACxB,MAAAC,EAAeD,E,MCoBFE,EAAoBC,EAAA,MAAAD,UAAAE,EAGhC,WAAAC,G,oEAoCAC,KAAAC,aAAgBC,I,MACfA,EAAMC,kBACN,MAAMC,EAAQC,EAA4BL,KAAKI,OAC/C,IAAKE,MAAMC,QAAQH,GAAQ,OAC3B,GAAIF,EAAMM,OAAOC,QAAS,CACzBT,KAAKI,MAAQ,IAAIA,EAAOF,EAAMM,OAAOJ,M,KAC/B,CACNJ,KAAKI,OAAQM,EAAAN,EAAMO,QAAQC,GAAQA,IAAQV,EAAMM,OAAOJ,WAAM,MAAAM,SAAA,EAAAA,EAAI,E,CAEnEV,KAAKa,UAAUC,KAAK,CACnBV,MAAOJ,KAAKI,MACZW,UAAWC,EAAuBC,MACjC,E,SAxCyCC,U,iBAIc,W,WAIaA,UAftElB,KAAKmB,EAAIC,EAAQpB,KAAKqB,K,CAsBvB,WAAAC,CAAYC,GACX,GAAIA,EAAU,CACbC,EAAaC,EAAgBF,EAAUG,EAAeT,K,EAKxD,mBAAAU,CAAoBJ,GACnB,GAAIA,EAAU,CACbC,EAAaI,EAAsBL,EAAUG,EAAeT,K,EAmB9D,iBAAAY,GACC7B,KAAKsB,YAAYtB,KAAK8B,KACtB9B,KAAK2B,oBAAoB3B,KAAK+B,aAC9B/B,KAAKI,MAAQC,EAAkBL,KAAKI,M,CAGrC,kBAAA4B,GACCC,GAAK,IAAMjC,KAAKkC,qB,CAGjB,iBAAAA,GACClC,KAAKqB,KAAKc,iBAAiB,qBAAqBC,SAASC,IACxD,IAAKA,EAAQC,aAAa,qBAAsB,CAC/CD,EAAQE,iBAAiB,aAAcvC,KAAKC,a,CAE7CoC,EAAQG,aAAa,oBAAqB,QAC1CH,EAAQ5B,QAAUT,KAAKI,MAAMqC,SAASJ,EAAQjC,MAAM,G,CAItD,MAAAsC,GACC,OACCvB,EAACwB,EAAI,CAAAC,IAAA,2CAACd,IAAK9B,KAAK8B,IAAKe,MAAO7C,KAAKmB,EAAE2B,QAAQpB,EAAeT,MAAOb,MAAOJ,KAAKI,OAC5Ee,EAAA,QAAAyB,IAAA,6C","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as t,H as
|
|
1
|
+
import{p as t,H as s,c as i,h as e,d as h}from"./p-42200001.js";import{c as n}from"./p-cd6c2938.js";import{v as o}from"./p-0b3574c2.js";import{g as a,d as c,e as r}from"./p-9908b9f0.js";import{g as d,c as l,t as m}from"./p-ea7fdd2e.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-46c567fd.js";const g=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.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=n("GovCheckbox");this.h=d(this.host);this.f=a(this.h)}validateSize(t){o(r,t,c.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,s)=>{this.onAriaAttributeChange(t,s)}));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,s){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:s})}render(){const t=t=>{if(this.noLabel){return e("label",{class:c.label},t)}return t};return e(h,{class:c.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:c.check,name:"check-lg",type:"components"}),e("gov-icon",{class:c.indeterminate,name:"dash-lg",type:"components"})))))}onFocusHandler(t){t.stopPropagation();this.govFocus.emit({component:c.root,value:this.value,checked:this.checked,originalEvent:t})}onBlurHandler(t){t.stopPropagation();this.govBlur.emit({component:c.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:c.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:[516],indeterminate:[516],name:[1],size:[513],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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GovFormCheckbox","proxyCustomElement","H","constructor","this","hydrated","checkboxId","createID","h","govHost","host","f","govForm","validateSize","newValue","validateProp","FormCheckboxSizes","FormCheckboxClass","root","watchControlAttrs","passControlAttrs","passAttrToControl","size","toBoolAttr","disabled","invalid","componentWillLoad","inheritedAttributes","inheritAriaAttributes","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","componentDidRender","passAttrToLabel","identifier","String","required","connectedCallback","disconnectedCallback","stopObserving","removeAttribute","Object","assign","render","wrapCheckbox","children","noLabel","class","label","Host","checked","toBoolAttrIfDefined","Fragment","id","type","value","name","onClick","onClickHandler","bind","onChange","onChangeHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","indeterminate","ref","el","inputRef","check","e","stopPropagation","govFocus","emit","component","originalEvent","govBlur","target","govChange","getRef"],"sources":["../../../packages/core/src/components/gov-form/checkbox/gov-form-checkbox.tsx"],"sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {createID} from \"../../../utils/string.utils\"\nimport {validateProp} from \"../../../helpers/Validate/props\"\nimport {FormCheckboxClass, FormCheckboxSizes, FormCheckboxSizesType} from \"./constants\"\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from \"../../../helpers/Dom/template\"\nimport {GovForm} from \"../../../helpers/Dom/form.types\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {govForm} from \"../../../helpers/Dom/form\"\nimport Fragment from \"../../../helpers/Fragment\"\nimport {FormCheckboxEvent} from \"./gov-form-checkbox.types\"\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: \"gov-form-checkbox\",\n})\nexport class GovFormCheckbox {\n\tprivate readonly h: GovHost\n\tprivate f: GovForm\n\tprivate inputRef?: HTMLInputElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly checkboxId: string\n\tprivate hydrated = false\n\n\tconstructor() {\n\t\tthis.checkboxId = createID(\"GovCheckbox\")\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormCheckboxElement\n\t/**\n\t * Value of checkbox\n\t */\n\t@Prop() readonly value: string\n\t/**\n\t * Checkbox button state\n\t */\n\t@Prop({reflect: true, mutable: true}) checked = 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 checkbox component disabled.\n\t */\n\t@Prop() readonly disabled: boolean = false\n\t/**\n\t * Same as original parameter (https://developer.mozilla.org/en-US/docs/Web/CSS/:indeterminate)\n\t */\n\t@Prop({reflect: true}) readonly indeterminate: boolean = false\n\t/**\n\t * Name of the checkbox.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Checkboxes size.\n\t */\n\t@Prop() readonly size?: FormCheckboxSizesType = \"m\"\n\t/**\n\t * Custom checkbox identifier.\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\n\t/**\n\t * When you can't use the form label.\n\t */\n\t@Prop({attribute: \"no-label\"}) readonly noLabel: boolean = false\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Emitted when the checkbox has focus.\n\t */\n\t@Event({eventName: \"gov-focus\"}) govFocus: EventEmitter<FormCheckboxEvent>\n\t/**\n\t * Emitted when the checkbox loses focus.\n\t */\n\t@Event({eventName: \"gov-blur\"}) govBlur: EventEmitter<FormCheckboxEvent>\n\t/**\n\t * Emitted when the checkbox change value.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<FormCheckboxEvent>\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormCheckboxSizes, newValue, FormCheckboxClass.root)\n\t}\n\n\t@Watch(\"disabled\")\n\t@Watch(\"invalid\")\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(\"disabled\", toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl(\"invalid\", toBoolAttr(this.invalid))\n\t\tthis.f.passAttrToControl(\"type\", \"checkbox\")\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.passControlAttrs()\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\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\tasync componentDidRender() {\n\t\tthis.f.passAttrToLabel(\"identifier\", this.identifier || this.checkboxId)\n\t\tthis.f.passAttrToLabel(\"required\", String(this.required))\n\t\tthis.passControlAttrs()\n\t}\n\n\tconnectedCallback() {\n\t\tthis.hydrated = true\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\tconst wrapCheckbox = (children) => {\n\t\t\tif (this.noLabel) {\n\t\t\t\treturn (\n\t\t\t\t\t<label class={FormCheckboxClass.label}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</label>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn children\n\t\t}\n\n\t\treturn (\n\t\t\t<Host class={FormCheckboxClass.root} hydrated={this.hydrated} checked={this.checked} size={this.size}\n\t\t\t\t\t\tinvalid={toBoolAttrIfDefined(this.invalid)}>\n\t\t\t\t{wrapCheckbox(\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid={this.identifier || this.checkboxId}\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tvalue={this.value}\n\t\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\t\tchecked={this.checked}\n\t\t\t\t\t\t\tonClick={this.onClickHandler.bind(this)}\n\t\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\tindeterminate={this.indeterminate}\n\t\t\t\t\t\t\tref={el => (this.inputRef = el as HTMLInputElement)}\n\t\t\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\t\t\taria-checked={toBoolAttr(this.checked)}\n\t\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<slot name=\"label\"/>\n\t\t\t\t\t\t\t<gov-icon class={FormCheckboxClass.check} name=\"check-lg\"></gov-icon>\n\t\t\t\t\t\t\t<gov-icon class={FormCheckboxClass.indeterminate} name=\"dash-lg\"></gov-icon>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</Fragment>,\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormCheckboxClass.root,\n\t\t\tvalue: this.value,\n\t\t\tchecked: this.checked,\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: FormCheckboxClass.root,\n\t\t\tvalue: this.value,\n\t\t\tchecked: this.checked,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tprivate onClickHandler(e: PointerEvent) {\n\t\te.stopPropagation()\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.checked = (e.target as HTMLInputElement).checked\n\t\te.stopPropagation()\n\t\tthis.govChange.emit({\n\t\t\tcomponent: FormCheckboxClass.root,\n\t\t\tvalue: this.value,\n\t\t\tchecked: this.checked,\n\t\t\toriginalEvent: e,\n\t\t})\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"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["GovFormCheckbox","proxyCustomElement","H","constructor","this","hydrated","checkboxId","createID","h","govHost","host","f","govForm","validateSize","newValue","validateProp","FormCheckboxSizes","FormCheckboxClass","root","watchControlAttrs","passControlAttrs","passAttrToControl","size","toBoolAttr","disabled","invalid","componentWillLoad","inheritedAttributes","inheritAriaAttributes","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","componentDidRender","passAttrToLabel","identifier","String","required","connectedCallback","disconnectedCallback","stopObserving","removeAttribute","Object","assign","render","wrapCheckbox","children","noLabel","class","label","Host","checked","toBoolAttrIfDefined","Fragment","id","type","value","name","onClick","onClickHandler","bind","onChange","onChangeHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","indeterminate","ref","el","inputRef","check","e","stopPropagation","govFocus","emit","component","originalEvent","govBlur","target","govChange","getRef"],"sources":["../../../packages/core/src/components/gov-form/checkbox/gov-form-checkbox.tsx"],"sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {createID} from \"../../../utils/string.utils\"\nimport {validateProp} from \"../../../helpers/Validate/props\"\nimport {FormCheckboxClass, FormCheckboxSizes, FormCheckboxSizesType} from \"./constants\"\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from \"../../../helpers/Dom/template\"\nimport {GovForm} from \"../../../helpers/Dom/form.types\"\nimport {GovHost} from \"../../../helpers/Dom/template.types\"\nimport {govForm} from \"../../../helpers/Dom/form\"\nimport Fragment from \"../../../helpers/Fragment\"\nimport {FormCheckboxEvent} from \"./gov-form-checkbox.types\"\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: \"gov-form-checkbox\",\n})\nexport class GovFormCheckbox {\n\tprivate readonly h: GovHost\n\tprivate f: GovForm\n\tprivate inputRef?: HTMLInputElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly checkboxId: string\n\tprivate hydrated = false\n\n\tconstructor() {\n\t\tthis.checkboxId = createID(\"GovCheckbox\")\n\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t}\n\n\t@Element() host: HTMLGovFormCheckboxElement\n\t/**\n\t * Value of checkbox\n\t */\n\t@Prop() readonly value: string\n\t/**\n\t * Checkbox button state\n\t */\n\t@Prop({reflect: true, mutable: true}) checked = 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 checkbox component disabled.\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Same as original parameter (https://developer.mozilla.org/en-US/docs/Web/CSS/:indeterminate)\n\t */\n\t@Prop({reflect: true}) readonly indeterminate: boolean = false\n\t/**\n\t * Name of the checkbox.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Checkboxes size.\n\t */\n\t@Prop({reflect: true}) readonly size?: FormCheckboxSizesType = \"m\"\n\t/**\n\t * Custom checkbox identifier.\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\n\t/**\n\t * When you can't use the form label.\n\t */\n\t@Prop({attribute: \"no-label\"}) readonly noLabel: boolean = false\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Emitted when the checkbox has focus.\n\t */\n\t@Event({eventName: \"gov-focus\"}) govFocus: EventEmitter<FormCheckboxEvent>\n\t/**\n\t * Emitted when the checkbox loses focus.\n\t */\n\t@Event({eventName: \"gov-blur\"}) govBlur: EventEmitter<FormCheckboxEvent>\n\t/**\n\t * Emitted when the checkbox change value.\n\t */\n\t@Event({eventName: \"gov-change\"}) govChange: EventEmitter<FormCheckboxEvent>\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormCheckboxSizes, newValue, FormCheckboxClass.root)\n\t}\n\n\t@Watch(\"disabled\")\n\t@Watch(\"invalid\")\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(\"disabled\", toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl(\"invalid\", toBoolAttr(this.invalid))\n\t\tthis.f.passAttrToControl(\"type\", \"checkbox\")\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.passControlAttrs()\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\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\tasync componentDidRender() {\n\t\tthis.f.passAttrToLabel(\"identifier\", this.identifier || this.checkboxId)\n\t\tthis.f.passAttrToLabel(\"required\", String(this.required))\n\t\tthis.passControlAttrs()\n\t}\n\n\tconnectedCallback() {\n\t\tthis.hydrated = true\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\tconst wrapCheckbox = (children) => {\n\t\t\tif (this.noLabel) {\n\t\t\t\treturn (\n\t\t\t\t\t<label class={FormCheckboxClass.label}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</label>\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn children\n\t\t}\n\n\t\treturn (\n\t\t\t<Host class={FormCheckboxClass.root}\n\t\t\t\t\t\thydrated={this.hydrated}\n\t\t\t\t\t\tchecked={this.checked}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\tinvalid={toBoolAttrIfDefined(this.invalid)}>\n\t\t\t\t{wrapCheckbox(\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tid={this.identifier || this.checkboxId}\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tvalue={this.value}\n\t\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\t\tchecked={this.checked}\n\t\t\t\t\t\t\tonClick={this.onClickHandler.bind(this)}\n\t\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\tindeterminate={this.indeterminate}\n\t\t\t\t\t\t\tref={el => (this.inputRef = el as HTMLInputElement)}\n\t\t\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\t\t\taria-checked={toBoolAttr(this.checked)}\n\t\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<slot name=\"label\"/>\n\t\t\t\t\t\t\t<gov-icon class={FormCheckboxClass.check} name=\"check-lg\" type=\"components\"></gov-icon>\n\t\t\t\t\t\t\t<gov-icon class={FormCheckboxClass.indeterminate} name=\"dash-lg\" type=\"components\"></gov-icon>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</Fragment>,\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\te.stopPropagation()\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormCheckboxClass.root,\n\t\t\tvalue: this.value,\n\t\t\tchecked: this.checked,\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: FormCheckboxClass.root,\n\t\t\tvalue: this.value,\n\t\t\tchecked: this.checked,\n\t\t\toriginalEvent: e,\n\t\t})\n\t}\n\n\tprivate onClickHandler(e: PointerEvent) {\n\t\te.stopPropagation()\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.checked = (e.target as HTMLInputElement).checked\n\t\te.stopPropagation()\n\t\tthis.govChange.emit({\n\t\t\tcomponent: FormCheckboxClass.root,\n\t\t\tvalue: this.value,\n\t\t\tchecked: this.checked,\n\t\t\toriginalEvent: e,\n\t\t})\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"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as s,H as e,h as t,d as i}from"./p-
|
|
1
|
+
import{p as s,H as e,h as t,d as i}from"./p-42200001.js";import{g as o,f as d}from"./p-9908b9f0.js";import{g as c}from"./p-ea7fdd2e.js";import{s as r}from"./p-cd6c2938.js";const a=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("."+d.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:"5d1b7313e297a68d4349290d98190e7a0e3039b2",size:this.size,class:this.h.classes(d.root)},t(s,{key:"d4af40d1dcd012c374e0cd43a6d6777945b8e7d7",class:d.holder},this.h.hasSlot("top")&&t("slot",{key:"d46ee92af80770af49c075387f534b9d538a7e39",name:"top"}),t("slot",{key:"ce46e5d88ca4a1069436d702b27ad0c5051e63b5"}),this.h.hasSlot("bottom")&&t("div",{key:"b9da32bf3ad735b0c8bc187fb32528c710e3383c",class:d.bottom},t("slot",{key:"06f43763e2e0a88a2919e33d730898dd2048dcd0",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,a)}break}}))}n();const f=a;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 o}from"./p-
|
|
1
|
+
import{p as t,H as e,c as s,h as i,d as o}from"./p-42200001.js";import{c as a}from"./p-cd6c2938.js";import{g as n,c as r,t as h}from"./p-ea7fdd2e.js";import{g as l}from"./p-9908b9f0.js";import{A as c,a as f,i as d}from"./p-33d5d1ed.js";import{d as m}from"./p-73938936.js";import{d as u}from"./p-b95ebe8c.js";import{d as p}from"./p-318d89bd.js";import{d as g}from"./p-a6b7a6c2.js";import{d as v}from"./p-46c567fd.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.eventsRegistered=false;this.expanded=false;this.required=false;this.disabled=false;this.resetAfterPick=false;this.ignoreFileDuplicationCheck=false;this.displayAttachments=true;this.name=undefined;this.accept=undefined;this.multiple=false;this.maxFileSize=-1;this.identifier=undefined;this.invalid=undefined;this.errorSize="Soubor je větší než povolená velikost {FILE_SIZE}";this.errorAccept="Soubor tohoto typu není povolen";this.accessibleRemoveLabel="Odebrat soubor {FILE_NAME}";this.accessibleAttachmentsLabel="Přílohy";this.files=[];this.inheritedAttributes={};this.fileId=a("GovInputFile");this.h=n(this.host);this.f=l(this.h)}watchControlAttrs(){this.passControlAttrs()}passControlAttrs(){this.f.passAttrToControl("invalid",r(this.invalid));this.f.passAttrToControl("disabled",r(this.disabled));this.f.passAttrToControl("type","File")}registerListeners(){if(this.eventsRegistered){return}this.eventsRegistered=true;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","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)))}}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(f)}componentWillLoad(){this.f.passAttrToLabel("required",String(this.required));this.passControlAttrs();this.inheritedAttributes=d(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:"30047bbc26c5d51b5e24a6e8ce33690b31fe3b1d",class:this.h.classes([b.root]),invalid:h(this.invalid),expanded:h(this.expanded)},i("div",{key:"f99d4ee71f9126f9fc72acb6adf2ea964410d738",class:b.area,ref:t=>this.areaRef=t},i("slot",{key:"a280d44c9b649aa8ccdc48356a0173e183dbd3ee"}),i("input",Object.assign({key:"2abf8d4c1f0d9086fbe63d86f71c9cdc3e0867c3",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":h(this.required),"aria-invalid":h(this.invalid),"aria-disabled":h(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",type:"components"}),t.acceptValid===false?this.errorAccept:null):null,t.sizeValid===false?i("gov-form-message",{slot:"message",color:"error"},i("gov-icon",{slot:"icon",name:"exclamation-triangle-fill",type:"components"}),this.errorSize.replace("{FILE_SIZE}",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:[516],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"],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)){p()}break;case"gov-form-message":if(!customElements.get(t)){g()}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","eventsRegistered","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\tprivate eventsRegistered = false\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({reflect: true}) 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 * 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\tif (this.eventsRegistered) {\n\t\t\treturn\n\t\t}\n\t\tthis.eventsRegistered = true\n\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\", \"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\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\" type=\"components\"></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\" type=\"components\"></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-
|
|
1
|
+
import{p as t,H as e,h as a,d as i}from"./p-42200001.js";import{a as s,b as o,c as r}from"./p-e44a0fee.js";import{g as n}from"./p-ea7fdd2e.js";import{v as c}from"./p-0b3574c2.js";const f=t(class t extends e{constructor(){super();this.__registerHost();this.gap=undefined;this.orientation="vertical";this.h=n(this.host)}validateGap(t){if(t){c(o,t,s.root)}}validateOrientation(t){if(t){c(r,t,s.root)}}componentWillLoad(){this.validateGap(this.gap);this.validateOrientation(this.orientation)}render(){return a(i,{key:"a6b2a022f3c8573fb1bb7424d6a5ac2dc54b101b",gap:this.gap,class:this.h.classes(s.root)},a("slot",{key:"e1b5f38d87e9f46f555e2fc3d247a9c3c10b5872"}))}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,f)}break}}))}p();const d=f;const m=p;export{d 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-1eb9c053.js";const t=o;const c=s;export{t as GovFormInput,c as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=gov-form-input.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{G as a,d as o}from"./p-68a1aaec.js";const s=a;const t=o;export{s as GovFormLabel,t as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=gov-form-label.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[
|
|
1
|
+
{"version":3,"names":[],"sources":[],"mappings":"","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{G as o,d as s}from"./p-
|
|
1
|
+
import{G as o,d as s}from"./p-a6b7a6c2.js";const a=o;const t=s;export{a as GovFormMessage,t as defineCustomElement};
|
|
2
2
|
//# sourceMappingURL=gov-form-message.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as t,H as
|
|
1
|
+
import{p as t,H as e,c as i,h as s,d as o}from"./p-42200001.js";import{g as n,h as a,i as h}from"./p-9908b9f0.js";import{g as l,c as r,t as c}from"./p-ea7fdd2e.js";import{v as d}from"./p-0b3574c2.js";import{c as u,r as f}from"./p-cd6c2938.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-318d89bd.js";import{d as y}from"./p-a6be4769.js";import{d as k}from"./p-1eb9c053.js";import{d as j}from"./p-46c567fd.js";import{d as w}from"./p-ac359044.js";const O=t(class t extends e{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=l(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)}componentDidLoad(){this.attributeObserver=new p(this.host,((t,e)=>{this.onAriaAttributeChange(t,e)}));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,e){this.host.removeAttribute(t);this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{[t]:e})}getAvailableOptions(t=false){if(Array.isArray(this.optionsState)&&this.optionsState.length){if(t){return this.optionsState}return this.optionsState.filter((t=>{const e=this.selectedValueIndex(t.value);return e!==-1||(t===null||t===void 0?void 0:t.disabled)?false:true})).map((t=>{var e;return{name:(e=t.label)!==null&&e!==void 0?e:t.value,value:t.value}}))}return Array.from(this.selectRef.querySelectorAll("option")).filter((e=>{if(t){return true}const i=this.selectedValueIndex(e.value);return!(e.disabled||e.selected||i>-1)})).map((t=>({name:t.textContent,value:t.value})))}initAutocomplete(){var t,e,i,s,o;(t=this.autocompleteRef)===null||t===void 0?void 0:t.addEventListener("gov-select",this.onSelectHandler.bind(this));(e=this.autocompleteRef)===null||e===void 0?void 0:e.addEventListener("gov-input",this.onInputHandler.bind(this));(i=this.autocompleteRef)===null||i===void 0?void 0:i.addEventListener("gov-focus",this.onFocusHandler.bind(this));(s=this.autocompleteRef)===null||s===void 0?void 0:s.addEventListener("gov-blur",this.onBlurHandler.bind(this));(o=this.autocompleteRef)===null||o===void 0?void 0:o.setSearchCallback((t=>new Promise((e=>{const i=this.getAvailableOptions();if(String(t).length===0){return e(i)}e(i.filter((({label:e,value:i})=>{if(!e)e=i;return f(e).toLowerCase().indexOf(f(t).toLowerCase())>-1})))})))).finally()}selectedValueIndex(t){return this.selectedOptionsState.findIndex((e=>e===t))}getOptionElement(t){return this.selectRef.querySelector('option[value="'+t+'"]')}getOption(t){var e;return(e=this.getAvailableOptions(true).find((e=>e.value===t)))!==null&&e!==void 0?e:null}selectOption(t,e=true){const i=this.selectedValueIndex(t);if(i===-1){this.selectedOptionsState=[...this.selectedOptionsState,t];this.value=this.selectedOptionsState;if(e){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,e=true){const i=this.selectedValueIndex(t);if(i!==-1){this.selectedOptionsState.splice(i,1);this.selectedOptionsState=[...this.selectedOptionsState];this.value=this.selectedOptionsState;if(e){this.govChange.emit({component:a.root,value:this.selectedOptionsState});this.govRemove.emit({component:a.root,value:this.selectedOptionsState})}const s=this.getOptionElement(t);if(s){s.selected=false}}}async componentDidRender(){this.f.passAttrToLabel("required",String(this.required));v((()=>{this.selectRef.querySelectorAll("option").forEach((t=>{if(t.selected){this.selectOption(t.value,false)}}))}))}render(){return s(o,{key:"11352c6950674badb00870e18c17a031c81235df",class:a.root,size:this.size},s("div",{key:"edd74cbfbbf116700dfdcd7d33307c6416e2ad8c",class:a.wrap},this.h.hasSlot("prefix")&&s("slot",{key:"6aa65aa9875527890bfecb2a1e6c56b2eb9ce827",name:"prefix"}),s("gov-form-autocomplete",{key:"60c5065ccb09073c2e1ca17c329f980cda52761f",value:this.valueState,disabled:this.disabled,identifier:this.identifier||this.selectId,required:false,invalid:this.invalid,success:this.success,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},this.success&&s("gov-icon",{key:"907aac2768a9bd5384326377fcad9e90795ff170",slot:"validation-icon",class:"validation-icon",name:"check-lg",type:"components"}),this.invalid&&s("gov-icon",{key:"7294050c2910097d6a316b37fdc1f571f3450f8a",slot:"validation-icon",class:"validation-icon",name:"exclamation-lg",type:"components"}),s("gov-icon",{key:"ac4474f517f8124831c22055e69d0eb45e6e2d4f",slot:"icon-end",class:"arrow-icon",name:"chevron-down",type:"components"})),s("select",Object.assign({key:"9437199c079132409bdbf0f932605474b885781e",hidden:true,class:"hidden-select-list","aria-hidden":r(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)}),s("slot",{key:"59f4071b90b40ed6291b9180b5caa29101b5e95a"}),Array.isArray(this.optionsState)&&this.optionsState.map((t=>{var e;const i=this.selectedValueIndex(t.value);return s("option",{value:t.value,selected:i>-1,disabled:t===null||t===void 0?void 0:t.disabled},(e=t.label)!==null&&e!==void 0?e:t.value)}))),this.h.hasSlot("sufix")&&s("slot",{key:"0620c4ab3b9d9d122456f91cc3dd5cefd85e8bba",name:"sufix"})),this.hideSelectedList===false?s("ul",{role:"listbox",id:this.listId,class:a.list},Array.isArray(this.selectedOptionsState)&&this.selectedOptionsState.map((t=>{var e,i;const o=this.getOption(t);if(!o)return null;return s("li",{class:a.item,role:"option"},(e=o.label)!==null&&e!==void 0?e:o.value,s("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)},s("gov-icon",{name:"x-lg",type:"components"})))}))):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 e=t.detail.selected;this.selectOption(e.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"],options:["watchOptions"],value:["watchValue"]}}},[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:[516],invalid:[516],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"],options:["watchOptions"],value:["watchValue"]}]);function E(){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,O)}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)){j()}break;case"gov-skeleton":if(!customElements.get(t)){w()}break}}))}E();const S=O;const x=E;export{S as GovFormMultiSelect,x 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","componentDidLoad","attributeObserver","AttributeObserver","attributeName","onAriaAttributeChange","startObserving","ariaAttributes","initAutocomplete","componentWillLoad","size","options","value","disconnectedCallback","stopObserving","removeAttribute","inheritedAttributes","Object","assign","getAvailableOptions","ignoreFilter","Array","isArray","length","filter","option","selectedIndex","selectedValueIndex","disabled","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","invalid","success","placeholder","messageEmpty","messageLoading","ref","el","minlength","slot","type","hidden","toBoolAttr","multiple","toBoolAttrIfDefined","selectedOption","hideSelectedList","role","id","list","item","color","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({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop({reflect:true}) 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@State() inheritedAttributes: Attributes = {}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t\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.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\tinvalid={this.invalid}\n\t\t\t\t\t\tsuccess={this.success}\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{this.success && <gov-icon slot=\"validation-icon\" class=\"validation-icon\" name=\"check-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t\t{this.invalid && <gov-icon slot=\"validation-icon\" class=\"validation-icon\" name=\"exclamation-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t\t<gov-icon slot=\"icon-end\" class=\"arrow-icon\" name=\"chevron-down\" type=\"components\"></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 />\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\" type=\"components\"></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":[]}
|