@gov-design-system-ce/components 0.0.13 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{constants-245999e7.js → constants-adc8268f.js} +2 -2
- package/dist/cjs/constants-adc8268f.js.map +1 -0
- package/dist/cjs/core.cjs.js +2 -2
- package/dist/cjs/gov-accordion-item.cjs.entry.js +2 -2
- package/dist/cjs/gov-accordion-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-accordion.cjs.entry.js +2 -2
- package/dist/cjs/gov-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-alert.cjs.entry.js +2 -2
- package/dist/cjs/gov-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-app.cjs.entry.js +54 -2
- package/dist/cjs/gov-app.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-attachments_3.cjs.entry.js +4 -4
- package/dist/cjs/gov-attachments_3.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/gov-backdrop.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-badge.cjs.entry.js +3 -3
- package/dist/cjs/gov-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-breadcrumbs.cjs.entry.js +2 -2
- package/dist/cjs/gov-breadcrumbs.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-button.cjs.entry.js +3 -3
- package/dist/cjs/gov-button.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-card.cjs.entry.js +2 -2
- package/dist/cjs/gov-card.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-container.cjs.entry.js +2 -2
- package/dist/cjs/gov-container.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-cookiebar.cjs.entry.js +2 -2
- package/dist/cjs/gov-cookiebar.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-empty.cjs.entry.js +2 -2
- package/dist/cjs/gov-empty.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-error-code.cjs.entry.js +2 -2
- package/dist/cjs/gov-error-code.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-autocomplete.cjs.entry.js +2 -2
- package/dist/cjs/gov-form-autocomplete.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/gov-form-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-control.cjs.entry.js +2 -2
- package/dist/cjs/gov-form-control.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-file.cjs.entry.js +2 -2
- package/dist/cjs/gov-form-file.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-group.cjs.entry.js +2 -2
- package/dist/cjs/gov-form-group.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-input.cjs.entry.js +2 -2
- package/dist/cjs/gov-form-input.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-label.cjs.entry.js +2 -2
- package/dist/cjs/gov-form-label.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-multi-select.cjs.entry.js +2 -2
- 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-password-power.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-radio.cjs.entry.js +2 -2
- package/dist/cjs/gov-form-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-search.cjs.entry.js +2 -2
- package/dist/cjs/gov-form-search.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-select.cjs.entry.js +2 -2
- package/dist/cjs/gov-form-select.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-form-switch.cjs.entry.js +2 -2
- package/dist/cjs/gov-form-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-grid-item.cjs.entry.js +2 -2
- package/dist/cjs/gov-grid-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-grid.cjs.entry.js +2 -2
- package/dist/cjs/gov-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-icon.cjs.entry.js +3 -3
- package/dist/cjs/gov-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-layout-column.cjs.entry.js +2 -2
- package/dist/cjs/gov-layout-column.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-layout.cjs.entry.js +2 -2
- package/dist/cjs/gov-layout.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-loading.cjs.entry.js +2 -2
- package/dist/cjs/gov-loading.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-message.cjs.entry.js +2 -2
- package/dist/cjs/gov-message.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-modal.cjs.entry.js +2 -2
- package/dist/cjs/gov-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-nav-item.cjs.entry.js +2 -2
- package/dist/cjs/gov-nav-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-nav.cjs.entry.js +2 -2
- package/dist/cjs/gov-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-pagination.cjs.entry.js +2 -2
- package/dist/cjs/gov-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-prompt.cjs.entry.js +2 -2
- package/dist/cjs/gov-prompt.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-side-nav-item.cjs.entry.js +2 -2
- package/dist/cjs/gov-side-nav-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-side-nav.cjs.entry.js +2 -2
- package/dist/cjs/gov-side-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-skeleton.cjs.entry.js +117 -0
- package/dist/cjs/gov-skeleton.cjs.entry.js.map +1 -0
- package/dist/cjs/gov-spacer.cjs.entry.js +2 -2
- package/dist/cjs/gov-spacer.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-statsbar-item.cjs.entry.js +2 -2
- package/dist/cjs/gov-statsbar-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-statsbar.cjs.entry.js +2 -2
- package/dist/cjs/gov-statsbar.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-stepper-item.cjs.entry.js +2 -2
- package/dist/cjs/gov-stepper-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-stepper.cjs.entry.js +2 -2
- package/dist/cjs/gov-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-tabs-item.cjs.entry.js +2 -2
- package/dist/cjs/gov-tabs-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-tabs.cjs.entry.js +2 -2
- package/dist/cjs/gov-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-tile.cjs.entry.js +2 -2
- package/dist/cjs/gov-tile.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-tiles.cjs.entry.js +2 -2
- package/dist/cjs/gov-tiles.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-toast.cjs.entry.js +2 -2
- package/dist/cjs/gov-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-tooltip-content.cjs.entry.js +2 -2
- package/dist/cjs/gov-tooltip-content.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/gov-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-wizzard-item.cjs.entry.js +2 -2
- package/dist/cjs/gov-wizzard-item.cjs.entry.js.map +1 -1
- package/dist/cjs/gov-wizzard.cjs.entry.js +2 -2
- package/dist/cjs/gov-wizzard.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-356717ae.js → index-29ac07f6.js} +64 -2
- package/dist/cjs/index-29ac07f6.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/gov-accordion/gov-accordion-item.css +19 -0
- package/dist/collection/components/gov-accordion/gov-accordion.css +19 -0
- package/dist/collection/components/gov-alert/gov-alert.css +19 -0
- package/dist/collection/components/gov-app/gov-app.css +19 -0
- package/dist/collection/components/gov-attachments/gov-attachments-item.css +19 -0
- package/dist/collection/components/gov-attachments/gov-attachments.css +19 -0
- package/dist/collection/components/gov-backdrop/gov-backdrop.css +19 -0
- package/dist/collection/components/gov-badge/gov-badge.css +19 -0
- package/dist/collection/components/gov-badge/gov-badge.js +1 -1
- package/dist/collection/components/gov-breadcrumbs/gov-breadcrumbs.css +19 -0
- package/dist/collection/components/gov-button/constants.js +1 -1
- package/dist/collection/components/gov-button/constants.js.map +1 -1
- package/dist/collection/components/gov-button/gov-button.css +19 -0
- package/dist/collection/components/gov-button/gov-button.js +1 -1
- package/dist/collection/components/gov-card/gov-card.css +19 -0
- package/dist/collection/components/gov-container/gov-container.css +19 -0
- package/dist/collection/components/gov-cookiebar/gov-cookiebar.css +19 -0
- package/dist/collection/components/gov-empty/gov-empty.css +19 -0
- package/dist/collection/components/gov-error-code/gov-error-code.css +19 -0
- package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.css +19 -0
- package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.css +19 -0
- package/dist/collection/components/gov-form/control/gov-form-control.css +19 -0
- package/dist/collection/components/gov-form/file/gov-form-file.css +19 -0
- package/dist/collection/components/gov-form/group/gov-form-group.css +19 -0
- package/dist/collection/components/gov-form/input/gov-form-input.css +19 -0
- package/dist/collection/components/gov-form/label/gov-form-label.css +19 -0
- package/dist/collection/components/gov-form/message/gov-form-message.css +19 -0
- package/dist/collection/components/gov-form/message/gov-form-message.js +1 -1
- package/dist/collection/components/gov-form/message/gov-form-message.js.map +1 -1
- package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.css +19 -0
- package/dist/collection/components/gov-form/password-power/gov-form-password-power.css +19 -0
- package/dist/collection/components/gov-form/radio/gov-form-radio.css +19 -0
- package/dist/collection/components/gov-form/search/gov-form-search.css +22 -3
- package/dist/collection/components/gov-form/select/gov-form-select.css +19 -0
- package/dist/collection/components/gov-form/switch/gov-form-switch.css +19 -0
- package/dist/collection/components/gov-grid/gov-grid-item.css +19 -0
- package/dist/collection/components/gov-grid/gov-grid.css +19 -0
- package/dist/collection/components/gov-icon/gov-icon.css +19 -0
- package/dist/collection/components/gov-layout/gov-layout-column.css +19 -0
- package/dist/collection/components/gov-layout/gov-layout.css +19 -0
- package/dist/collection/components/gov-loading/loading/constants.js.map +1 -0
- package/dist/collection/components/gov-loading/{gov-loading.css → loading/gov-loading.css} +19 -0
- package/dist/collection/components/gov-loading/{gov-loading.js → loading/gov-loading.js} +1 -1
- package/dist/collection/components/gov-loading/loading/gov-loading.js.map +1 -0
- package/dist/collection/components/gov-loading/skeleton/constants.js +20 -0
- package/dist/collection/components/gov-loading/skeleton/constants.js.map +1 -0
- package/dist/collection/components/gov-loading/skeleton/gov-skeleton.css +290 -0
- package/dist/collection/components/gov-loading/skeleton/gov-skeleton.js +267 -0
- package/dist/collection/components/gov-loading/skeleton/gov-skeleton.js.map +1 -0
- package/dist/collection/components/gov-message/gov-message.css +19 -0
- package/dist/collection/components/gov-modal/gov-modal.css +19 -0
- package/dist/collection/components/gov-nav/gov-nav-item.css +19 -0
- package/dist/collection/components/gov-nav/gov-nav.css +19 -0
- package/dist/collection/components/gov-pagination/gov-pagination.css +19 -0
- package/dist/collection/components/gov-promp/gov-prompt.css +19 -0
- package/dist/collection/components/gov-side-nav/gov-side-nav-item.css +19 -0
- package/dist/collection/components/gov-side-nav/gov-side-nav.css +19 -0
- package/dist/collection/components/gov-spacer/gov-spacer.css +19 -0
- package/dist/collection/components/gov-statsbar/gov-statsbar-item.css +19 -0
- package/dist/collection/components/gov-statsbar/gov-statsbar.css +19 -0
- package/dist/collection/components/gov-stepper/gov-stepper-item.css +19 -0
- package/dist/collection/components/gov-stepper/gov-stepper.css +19 -0
- package/dist/collection/components/gov-tabs/gov-tabs-item.css +19 -0
- package/dist/collection/components/gov-tabs/gov-tabs.css +19 -0
- package/dist/collection/components/gov-tile/container/gov-tiles.css +19 -0
- package/dist/collection/components/gov-tile/gov-tile.css +19 -0
- package/dist/collection/components/gov-toast/gov-toast.css +19 -0
- package/dist/collection/components/gov-tooltip/gov-tooltip-content.css +19 -0
- package/dist/collection/components/gov-tooltip/gov-tooltip.css +19 -0
- package/dist/collection/components/gov-wizzard/gov-wizzard-item.css +19 -0
- package/dist/collection/components/gov-wizzard/gov-wizzard.css +19 -0
- package/dist/collection/pages/Loading.js +52 -0
- package/dist/collection/pages/Loading.js.map +1 -1
- package/dist/components/constants3.js +1 -1
- package/dist/components/constants3.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-accordion.js.map +1 -1
- package/dist/components/gov-alert.js +1 -1
- package/dist/components/gov-alert.js.map +1 -1
- package/dist/components/gov-app.js +53 -1
- package/dist/components/gov-app.js.map +1 -1
- package/dist/components/gov-attachments-item2.js +1 -1
- package/dist/components/gov-attachments-item2.js.map +1 -1
- package/dist/components/gov-attachments2.js +1 -1
- package/dist/components/gov-attachments2.js.map +1 -1
- package/dist/components/gov-backdrop2.js +1 -1
- package/dist/components/gov-backdrop2.js.map +1 -1
- package/dist/components/gov-badge2.js +1 -1
- package/dist/components/gov-badge2.js.map +1 -1
- package/dist/components/gov-breadcrumbs.js +1 -1
- package/dist/components/gov-breadcrumbs.js.map +1 -1
- package/dist/components/gov-button2.js +1 -1
- package/dist/components/gov-button2.js.map +1 -1
- package/dist/components/gov-card.js +1 -1
- package/dist/components/gov-card.js.map +1 -1
- package/dist/components/gov-container.js +1 -1
- package/dist/components/gov-container.js.map +1 -1
- package/dist/components/gov-cookiebar.js +1 -1
- package/dist/components/gov-cookiebar.js.map +1 -1
- package/dist/components/gov-empty.js +1 -1
- package/dist/components/gov-empty.js.map +1 -1
- package/dist/components/gov-error-code.js +1 -1
- package/dist/components/gov-error-code.js.map +1 -1
- package/dist/components/gov-form-autocomplete2.js +1 -1
- package/dist/components/gov-form-autocomplete2.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-control.js.map +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-group.js.map +1 -1
- package/dist/components/gov-form-input2.js +1 -1
- package/dist/components/gov-form-input2.js.map +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-message2.js +1 -1
- package/dist/components/gov-form-message2.js.map +1 -1
- package/dist/components/gov-form-multi-select.js +1 -1
- package/dist/components/gov-form-multi-select.js.map +1 -1
- package/dist/components/gov-form-password-power.js +1 -1
- package/dist/components/gov-form-password-power.js.map +1 -1
- package/dist/components/gov-form-radio.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-search.js.map +1 -1
- package/dist/components/gov-form-select2.js +1 -1
- package/dist/components/gov-form-select2.js.map +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-item.js.map +1 -1
- package/dist/components/gov-grid.js +1 -1
- package/dist/components/gov-grid.js.map +1 -1
- package/dist/components/gov-icon2.js +2 -2
- package/dist/components/gov-icon2.js.map +1 -1
- package/dist/components/gov-layout-column.js +1 -1
- package/dist/components/gov-layout-column.js.map +1 -1
- package/dist/components/gov-layout.js +1 -1
- package/dist/components/gov-layout.js.map +1 -1
- package/dist/components/gov-loading.js +1 -1
- package/dist/components/gov-loading.js.map +1 -1
- package/dist/components/gov-message.js +1 -1
- package/dist/components/gov-message.js.map +1 -1
- package/dist/components/gov-modal.js +1 -1
- package/dist/components/gov-modal.js.map +1 -1
- package/dist/components/gov-nav-item.js +1 -1
- package/dist/components/gov-nav-item.js.map +1 -1
- package/dist/components/gov-nav.js +1 -1
- package/dist/components/gov-nav.js.map +1 -1
- package/dist/components/gov-pagination.js +1 -1
- package/dist/components/gov-pagination.js.map +1 -1
- package/dist/components/gov-prompt.js +1 -1
- package/dist/components/gov-prompt.js.map +1 -1
- package/dist/components/gov-side-nav-item.js +1 -1
- package/dist/components/gov-side-nav-item.js.map +1 -1
- package/dist/components/gov-side-nav.js +1 -1
- package/dist/components/gov-side-nav.js.map +1 -1
- package/dist/components/gov-skeleton.d.ts +11 -0
- package/dist/components/gov-skeleton.js +138 -0
- package/dist/components/gov-skeleton.js.map +1 -0
- package/dist/components/gov-spacer.js +1 -1
- package/dist/components/gov-spacer.js.map +1 -1
- package/dist/components/gov-statsbar-item.js +1 -1
- package/dist/components/gov-statsbar-item.js.map +1 -1
- package/dist/components/gov-statsbar.js +1 -1
- package/dist/components/gov-statsbar.js.map +1 -1
- package/dist/components/gov-stepper-item.js +1 -1
- package/dist/components/gov-stepper-item.js.map +1 -1
- package/dist/components/gov-stepper.js +1 -1
- package/dist/components/gov-stepper.js.map +1 -1
- package/dist/components/gov-tabs-item.js +1 -1
- package/dist/components/gov-tabs-item.js.map +1 -1
- package/dist/components/gov-tabs.js +1 -1
- package/dist/components/gov-tabs.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-tiles.js.map +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-tooltip.js.map +1 -1
- package/dist/components/gov-wizzard-item.js +1 -1
- package/dist/components/gov-wizzard-item.js.map +1 -1
- package/dist/components/gov-wizzard.js +1 -1
- package/dist/components/gov-wizzard.js.map +1 -1
- package/dist/components/index.d.ts +2 -1
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/core/core.css +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/p-0272ffa0.entry.js +2 -0
- package/dist/core/{p-5b4e3bdf.entry.js.map → p-0272ffa0.entry.js.map} +1 -1
- package/dist/core/p-042d5b20.entry.js +2 -0
- package/dist/core/{p-1bb5184f.entry.js.map → p-042d5b20.entry.js.map} +1 -1
- package/dist/core/p-0874a5ec.entry.js +2 -0
- package/dist/core/p-0874a5ec.entry.js.map +1 -0
- package/dist/core/p-0f0564e8.entry.js +2 -0
- package/dist/core/{p-c0d3d3e0.entry.js.map → p-0f0564e8.entry.js.map} +1 -1
- package/dist/core/p-131c50d1.entry.js +2 -0
- package/dist/core/{p-e86bffd0.entry.js.map → p-131c50d1.entry.js.map} +1 -1
- package/dist/core/p-1c877e8e.entry.js +2 -0
- package/dist/core/{p-f48fd266.entry.js.map → p-1c877e8e.entry.js.map} +1 -1
- package/dist/core/p-1def0eb2.entry.js +2 -0
- package/dist/core/{p-733bd593.entry.js.map → p-1def0eb2.entry.js.map} +1 -1
- package/dist/core/p-2426fa82.entry.js +2 -0
- package/dist/core/{p-9d51ea56.entry.js.map → p-2426fa82.entry.js.map} +1 -1
- package/dist/core/p-24877419.entry.js +2 -0
- package/dist/core/{p-9ca0a11c.entry.js.map → p-24877419.entry.js.map} +1 -1
- package/dist/core/p-2f88b6d9.entry.js +2 -0
- package/dist/core/{p-a6c8d474.entry.js.map → p-2f88b6d9.entry.js.map} +1 -1
- package/dist/core/p-30b162df.entry.js +2 -0
- package/dist/core/p-30b162df.entry.js.map +1 -0
- package/dist/core/p-337fb136.entry.js +2 -0
- package/dist/core/{p-4e12d6e3.entry.js.map → p-337fb136.entry.js.map} +1 -1
- package/dist/core/p-3f92f3bf.entry.js +2 -0
- package/dist/core/{p-4b375a4d.entry.js.map → p-3f92f3bf.entry.js.map} +1 -1
- package/dist/core/p-402c2751.entry.js +2 -0
- package/dist/core/{p-9658b6ef.entry.js.map → p-402c2751.entry.js.map} +1 -1
- package/dist/core/p-405fc50f.entry.js +2 -0
- package/dist/core/{p-c9948e57.entry.js.map → p-405fc50f.entry.js.map} +1 -1
- package/dist/core/p-42636ddf.entry.js +2 -0
- package/dist/core/{p-fc9d66ae.entry.js.map → p-42636ddf.entry.js.map} +1 -1
- package/dist/core/p-429850b9.entry.js +2 -0
- package/dist/core/p-429850b9.entry.js.map +1 -0
- package/dist/core/p-471c0863.entry.js +2 -0
- package/dist/core/{p-7684f6d0.entry.js.map → p-471c0863.entry.js.map} +1 -1
- package/dist/core/p-4af5e4f4.js +3 -0
- package/dist/core/p-4af5e4f4.js.map +1 -0
- package/dist/core/p-52dc68aa.entry.js +2 -0
- package/dist/core/{p-f531f5c4.entry.js.map → p-52dc68aa.entry.js.map} +1 -1
- package/dist/core/p-540e79c4.entry.js +2 -0
- package/dist/core/{p-01bdd4a4.entry.js.map → p-540e79c4.entry.js.map} +1 -1
- package/dist/core/p-5a1c8d48.entry.js +2 -0
- package/dist/core/{p-68d968ac.entry.js.map → p-5a1c8d48.entry.js.map} +1 -1
- package/dist/core/p-5d348765.entry.js +2 -0
- package/dist/core/{p-8a8d846c.entry.js.map → p-5d348765.entry.js.map} +1 -1
- package/dist/core/p-5e4cf9a2.entry.js +2 -0
- package/dist/core/{p-8dacc8dc.entry.js.map → p-5e4cf9a2.entry.js.map} +1 -1
- package/dist/core/p-61103476.entry.js +2 -0
- package/dist/core/{p-533bd158.entry.js.map → p-61103476.entry.js.map} +1 -1
- package/dist/core/p-67006730.entry.js +2 -0
- package/dist/core/{p-ac33c5ef.entry.js.map → p-67006730.entry.js.map} +1 -1
- package/dist/core/p-6aa31f02.entry.js +2 -0
- package/dist/core/{p-7be3abb5.entry.js.map → p-6aa31f02.entry.js.map} +1 -1
- package/dist/core/p-732f74fe.entry.js +2 -0
- package/dist/core/{p-49853c5a.entry.js.map → p-732f74fe.entry.js.map} +1 -1
- package/dist/core/p-76e2aa52.entry.js +2 -0
- package/dist/core/{p-e57d250f.entry.js.map → p-76e2aa52.entry.js.map} +1 -1
- package/dist/core/p-7bfa06b1.entry.js +2 -0
- package/dist/core/{p-4d73d70e.entry.js.map → p-7bfa06b1.entry.js.map} +1 -1
- package/dist/core/p-8204070b.entry.js +2 -0
- package/dist/core/{p-b37ca132.entry.js.map → p-8204070b.entry.js.map} +1 -1
- package/dist/core/p-8bebbcc7.entry.js +2 -0
- package/dist/core/{p-63d2e8ec.entry.js.map → p-8bebbcc7.entry.js.map} +1 -1
- package/dist/core/p-93edcce2.entry.js +2 -0
- package/dist/core/{p-b5284ce3.entry.js.map → p-93edcce2.entry.js.map} +1 -1
- package/dist/core/p-9bdce72b.entry.js +2 -0
- package/dist/core/{p-8d5c9030.entry.js.map → p-9bdce72b.entry.js.map} +1 -1
- package/dist/core/p-a4d23e73.entry.js +2 -0
- package/dist/core/{p-25380da6.entry.js.map → p-a4d23e73.entry.js.map} +1 -1
- package/dist/core/p-a89c27c1.entry.js +2 -0
- package/dist/core/{p-3e9ba1c1.entry.js.map → p-a89c27c1.entry.js.map} +1 -1
- package/dist/core/p-aba39622.entry.js +2 -0
- package/dist/core/{p-a5e34e93.entry.js.map → p-aba39622.entry.js.map} +1 -1
- package/dist/core/p-b2275b3d.js +2 -0
- package/dist/core/p-b2275b3d.js.map +1 -0
- package/dist/core/p-b7587525.entry.js +2 -0
- package/dist/core/{p-ae3e2d60.entry.js.map → p-b7587525.entry.js.map} +1 -1
- package/dist/core/{p-7670f834.entry.js → p-bce96aac.entry.js} +2 -2
- package/dist/core/p-bce96aac.entry.js.map +1 -0
- package/dist/core/p-c836f7cd.entry.js +2 -0
- package/dist/core/{p-d2d8998d.entry.js.map → p-c836f7cd.entry.js.map} +1 -1
- package/dist/core/p-c91928ed.entry.js +2 -0
- package/dist/core/{p-5b2e8e04.entry.js.map → p-c91928ed.entry.js.map} +1 -1
- package/dist/core/p-d2f6053f.entry.js +2 -0
- package/dist/core/{p-595a2301.entry.js.map → p-d2f6053f.entry.js.map} +1 -1
- package/dist/core/p-d389c001.entry.js +2 -0
- package/dist/core/{p-f1fe9358.entry.js.map → p-d389c001.entry.js.map} +1 -1
- package/dist/core/p-d5c2db32.entry.js +2 -0
- package/dist/core/{p-9ba104c3.entry.js.map → p-d5c2db32.entry.js.map} +1 -1
- package/dist/core/p-d8def432.entry.js +2 -0
- package/dist/core/{p-72f16a95.entry.js.map → p-d8def432.entry.js.map} +1 -1
- package/dist/core/p-d90a2718.entry.js +2 -0
- package/dist/core/{p-24cde59e.entry.js.map → p-d90a2718.entry.js.map} +1 -1
- package/dist/core/p-d9b4bc20.entry.js +2 -0
- package/dist/core/{p-84fda9dd.entry.js.map → p-d9b4bc20.entry.js.map} +1 -1
- package/dist/core/p-dc94a1da.entry.js +2 -0
- package/dist/core/{p-cf6576fd.entry.js.map → p-dc94a1da.entry.js.map} +1 -1
- package/dist/core/p-e1e4c8f8.entry.js +2 -0
- package/dist/core/{p-99155ec0.entry.js.map → p-e1e4c8f8.entry.js.map} +1 -1
- package/dist/core/p-e3141382.entry.js +2 -0
- package/dist/core/{p-b966062a.entry.js.map → p-e3141382.entry.js.map} +1 -1
- package/dist/core/p-e4bb6100.entry.js +2 -0
- package/dist/core/{p-16608a87.entry.js.map → p-e4bb6100.entry.js.map} +1 -1
- package/dist/core/p-e4bb6114.entry.js +2 -0
- package/dist/core/{p-9d30e79e.entry.js.map → p-e4bb6114.entry.js.map} +1 -1
- package/dist/core/p-e6b8c610.entry.js +2 -0
- package/dist/core/{p-ef095a1f.entry.js.map → p-e6b8c610.entry.js.map} +1 -1
- package/dist/core/p-ef393836.entry.js +2 -0
- package/dist/core/{p-833ab414.entry.js.map → p-ef393836.entry.js.map} +1 -1
- package/dist/core/p-f0a4439e.entry.js +2 -0
- package/dist/core/{p-b308500e.entry.js.map → p-f0a4439e.entry.js.map} +1 -1
- package/dist/core/p-f644cad5.entry.js +2 -0
- package/dist/core/{p-fac1c202.entry.js.map → p-f644cad5.entry.js.map} +1 -1
- package/dist/core/p-f6e2f2f0.entry.js +2 -0
- package/dist/core/{p-00e1e600.entry.js.map → p-f6e2f2f0.entry.js.map} +1 -1
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +1 -1
- package/dist/custom-elements/index.js.map +1 -1
- package/dist/esm/{constants-45f6db4c.js → constants-089b3fdd.js} +2 -2
- package/dist/esm/constants-089b3fdd.js.map +1 -0
- package/dist/esm/core.js +2 -2
- package/dist/esm/gov-accordion-item.entry.js +2 -2
- package/dist/esm/gov-accordion-item.entry.js.map +1 -1
- package/dist/esm/gov-accordion.entry.js +2 -2
- package/dist/esm/gov-accordion.entry.js.map +1 -1
- package/dist/esm/gov-alert.entry.js +2 -2
- package/dist/esm/gov-alert.entry.js.map +1 -1
- package/dist/esm/gov-app.entry.js +54 -2
- package/dist/esm/gov-app.entry.js.map +1 -1
- package/dist/esm/gov-attachments_3.entry.js +4 -4
- package/dist/esm/gov-attachments_3.entry.js.map +1 -1
- package/dist/esm/gov-backdrop.entry.js +2 -2
- package/dist/esm/gov-backdrop.entry.js.map +1 -1
- package/dist/esm/gov-badge.entry.js +3 -3
- package/dist/esm/gov-badge.entry.js.map +1 -1
- package/dist/esm/gov-breadcrumbs.entry.js +2 -2
- package/dist/esm/gov-breadcrumbs.entry.js.map +1 -1
- package/dist/esm/gov-button.entry.js +3 -3
- package/dist/esm/gov-button.entry.js.map +1 -1
- package/dist/esm/gov-card.entry.js +2 -2
- package/dist/esm/gov-card.entry.js.map +1 -1
- package/dist/esm/gov-container.entry.js +2 -2
- package/dist/esm/gov-container.entry.js.map +1 -1
- package/dist/esm/gov-cookiebar.entry.js +2 -2
- package/dist/esm/gov-cookiebar.entry.js.map +1 -1
- package/dist/esm/gov-empty.entry.js +2 -2
- package/dist/esm/gov-empty.entry.js.map +1 -1
- package/dist/esm/gov-error-code.entry.js +2 -2
- package/dist/esm/gov-error-code.entry.js.map +1 -1
- package/dist/esm/gov-form-autocomplete.entry.js +2 -2
- package/dist/esm/gov-form-autocomplete.entry.js.map +1 -1
- package/dist/esm/gov-form-checkbox.entry.js +2 -2
- package/dist/esm/gov-form-checkbox.entry.js.map +1 -1
- package/dist/esm/gov-form-control.entry.js +2 -2
- package/dist/esm/gov-form-control.entry.js.map +1 -1
- package/dist/esm/gov-form-file.entry.js +2 -2
- package/dist/esm/gov-form-file.entry.js.map +1 -1
- package/dist/esm/gov-form-group.entry.js +2 -2
- package/dist/esm/gov-form-group.entry.js.map +1 -1
- package/dist/esm/gov-form-input.entry.js +2 -2
- package/dist/esm/gov-form-input.entry.js.map +1 -1
- package/dist/esm/gov-form-label.entry.js +2 -2
- package/dist/esm/gov-form-label.entry.js.map +1 -1
- package/dist/esm/gov-form-multi-select.entry.js +2 -2
- 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-password-power.entry.js.map +1 -1
- package/dist/esm/gov-form-radio.entry.js +2 -2
- package/dist/esm/gov-form-radio.entry.js.map +1 -1
- package/dist/esm/gov-form-search.entry.js +2 -2
- package/dist/esm/gov-form-search.entry.js.map +1 -1
- package/dist/esm/gov-form-select.entry.js +2 -2
- package/dist/esm/gov-form-select.entry.js.map +1 -1
- package/dist/esm/gov-form-switch.entry.js +2 -2
- package/dist/esm/gov-form-switch.entry.js.map +1 -1
- package/dist/esm/gov-grid-item.entry.js +2 -2
- package/dist/esm/gov-grid-item.entry.js.map +1 -1
- package/dist/esm/gov-grid.entry.js +2 -2
- package/dist/esm/gov-grid.entry.js.map +1 -1
- package/dist/esm/gov-icon.entry.js +3 -3
- package/dist/esm/gov-icon.entry.js.map +1 -1
- package/dist/esm/gov-layout-column.entry.js +2 -2
- package/dist/esm/gov-layout-column.entry.js.map +1 -1
- package/dist/esm/gov-layout.entry.js +2 -2
- package/dist/esm/gov-layout.entry.js.map +1 -1
- package/dist/esm/gov-loading.entry.js +2 -2
- package/dist/esm/gov-loading.entry.js.map +1 -1
- package/dist/esm/gov-message.entry.js +2 -2
- package/dist/esm/gov-message.entry.js.map +1 -1
- package/dist/esm/gov-modal.entry.js +2 -2
- package/dist/esm/gov-modal.entry.js.map +1 -1
- package/dist/esm/gov-nav-item.entry.js +2 -2
- package/dist/esm/gov-nav-item.entry.js.map +1 -1
- package/dist/esm/gov-nav.entry.js +2 -2
- package/dist/esm/gov-nav.entry.js.map +1 -1
- package/dist/esm/gov-pagination.entry.js +2 -2
- package/dist/esm/gov-pagination.entry.js.map +1 -1
- package/dist/esm/gov-prompt.entry.js +2 -2
- package/dist/esm/gov-prompt.entry.js.map +1 -1
- package/dist/esm/gov-side-nav-item.entry.js +2 -2
- package/dist/esm/gov-side-nav-item.entry.js.map +1 -1
- package/dist/esm/gov-side-nav.entry.js +2 -2
- package/dist/esm/gov-side-nav.entry.js.map +1 -1
- package/dist/esm/gov-skeleton.entry.js +113 -0
- package/dist/esm/gov-skeleton.entry.js.map +1 -0
- package/dist/esm/gov-spacer.entry.js +2 -2
- package/dist/esm/gov-spacer.entry.js.map +1 -1
- package/dist/esm/gov-statsbar-item.entry.js +2 -2
- package/dist/esm/gov-statsbar-item.entry.js.map +1 -1
- package/dist/esm/gov-statsbar.entry.js +2 -2
- package/dist/esm/gov-statsbar.entry.js.map +1 -1
- package/dist/esm/gov-stepper-item.entry.js +2 -2
- package/dist/esm/gov-stepper-item.entry.js.map +1 -1
- package/dist/esm/gov-stepper.entry.js +2 -2
- package/dist/esm/gov-stepper.entry.js.map +1 -1
- package/dist/esm/gov-tabs-item.entry.js +2 -2
- package/dist/esm/gov-tabs-item.entry.js.map +1 -1
- package/dist/esm/gov-tabs.entry.js +2 -2
- package/dist/esm/gov-tabs.entry.js.map +1 -1
- package/dist/esm/gov-tile.entry.js +2 -2
- package/dist/esm/gov-tile.entry.js.map +1 -1
- package/dist/esm/gov-tiles.entry.js +2 -2
- package/dist/esm/gov-tiles.entry.js.map +1 -1
- package/dist/esm/gov-toast.entry.js +2 -2
- package/dist/esm/gov-toast.entry.js.map +1 -1
- package/dist/esm/gov-tooltip-content.entry.js +2 -2
- package/dist/esm/gov-tooltip-content.entry.js.map +1 -1
- package/dist/esm/gov-tooltip.entry.js +2 -2
- package/dist/esm/gov-tooltip.entry.js.map +1 -1
- package/dist/esm/gov-wizzard-item.entry.js +2 -2
- package/dist/esm/gov-wizzard-item.entry.js.map +1 -1
- package/dist/esm/gov-wizzard.entry.js +2 -2
- package/dist/esm/gov-wizzard.entry.js.map +1 -1
- package/dist/esm/{index-00e9a0d5.js → index-b010bfb4.js} +64 -2
- package/dist/esm/index-b010bfb4.js.map +1 -0
- package/dist/esm/loader.js +2 -2
- package/dist/hydrate/index.js +246 -68
- package/dist/stencil.config.js +9 -0
- package/dist/stencil.config.js.map +1 -1
- package/dist/types/components/gov-button/constants.d.ts +1 -1
- package/dist/types/components/gov-form/message/gov-form-message.d.ts +1 -1
- package/dist/types/components/gov-loading/skeleton/constants.d.ts +20 -0
- package/dist/types/components/gov-loading/skeleton/gov-skeleton.d.ts +52 -0
- package/dist/types/components.d.ts +76 -2
- package/package.json +1 -1
- package/dist/cjs/constants-245999e7.js.map +0 -1
- package/dist/cjs/index-356717ae.js.map +0 -1
- package/dist/collection/components/gov-loading/constants.js.map +0 -1
- package/dist/collection/components/gov-loading/gov-loading.js.map +0 -1
- package/dist/core/p-00e1e600.entry.js +0 -2
- package/dist/core/p-01bdd4a4.entry.js +0 -2
- package/dist/core/p-16608a87.entry.js +0 -2
- package/dist/core/p-1bb5184f.entry.js +0 -2
- package/dist/core/p-24cde59e.entry.js +0 -2
- package/dist/core/p-25380da6.entry.js +0 -2
- package/dist/core/p-3e9ba1c1.entry.js +0 -2
- package/dist/core/p-49853c5a.entry.js +0 -2
- package/dist/core/p-4b375a4d.entry.js +0 -2
- package/dist/core/p-4d73d70e.entry.js +0 -2
- package/dist/core/p-4e12d6e3.entry.js +0 -2
- package/dist/core/p-533bd158.entry.js +0 -2
- package/dist/core/p-595a2301.entry.js +0 -2
- package/dist/core/p-5b2e8e04.entry.js +0 -2
- package/dist/core/p-5b4e3bdf.entry.js +0 -2
- package/dist/core/p-63d2e8ec.entry.js +0 -2
- package/dist/core/p-682c7cc6.js +0 -3
- package/dist/core/p-682c7cc6.js.map +0 -1
- package/dist/core/p-68d968ac.entry.js +0 -2
- package/dist/core/p-71e57780.entry.js +0 -2
- package/dist/core/p-71e57780.entry.js.map +0 -1
- package/dist/core/p-72f16a95.entry.js +0 -2
- package/dist/core/p-733bd593.entry.js +0 -2
- package/dist/core/p-7670f834.entry.js.map +0 -1
- package/dist/core/p-7684f6d0.entry.js +0 -2
- package/dist/core/p-7be3abb5.entry.js +0 -2
- package/dist/core/p-833ab414.entry.js +0 -2
- package/dist/core/p-84fda9dd.entry.js +0 -2
- package/dist/core/p-8a8d846c.entry.js +0 -2
- package/dist/core/p-8d5c9030.entry.js +0 -2
- package/dist/core/p-8dacc8dc.entry.js +0 -2
- package/dist/core/p-9658b6ef.entry.js +0 -2
- package/dist/core/p-99155ec0.entry.js +0 -2
- package/dist/core/p-9ba104c3.entry.js +0 -2
- package/dist/core/p-9ca0a11c.entry.js +0 -2
- package/dist/core/p-9d30e79e.entry.js +0 -2
- package/dist/core/p-9d51ea56.entry.js +0 -2
- package/dist/core/p-9dd1bbdd.entry.js +0 -2
- package/dist/core/p-9dd1bbdd.entry.js.map +0 -1
- package/dist/core/p-a5e34e93.entry.js +0 -2
- package/dist/core/p-a6c8d474.entry.js +0 -2
- package/dist/core/p-ac33c5ef.entry.js +0 -2
- package/dist/core/p-ae3e2d60.entry.js +0 -2
- package/dist/core/p-b308500e.entry.js +0 -2
- package/dist/core/p-b37ca132.entry.js +0 -2
- package/dist/core/p-b5284ce3.entry.js +0 -2
- package/dist/core/p-b966062a.entry.js +0 -2
- package/dist/core/p-c0d3d3e0.entry.js +0 -2
- package/dist/core/p-c9948e57.entry.js +0 -2
- package/dist/core/p-cd869237.js +0 -2
- package/dist/core/p-cd869237.js.map +0 -1
- package/dist/core/p-cf6576fd.entry.js +0 -2
- package/dist/core/p-d2d8998d.entry.js +0 -2
- package/dist/core/p-e57d250f.entry.js +0 -2
- package/dist/core/p-e86bffd0.entry.js +0 -2
- package/dist/core/p-ef095a1f.entry.js +0 -2
- package/dist/core/p-f1fe9358.entry.js +0 -2
- package/dist/core/p-f48fd266.entry.js +0 -2
- package/dist/core/p-f531f5c4.entry.js +0 -2
- package/dist/core/p-fac1c202.entry.js +0 -2
- package/dist/core/p-fc9d66ae.entry.js +0 -2
- package/dist/esm/constants-45f6db4c.js.map +0 -1
- package/dist/esm/index-00e9a0d5.js.map +0 -1
- /package/dist/collection/components/gov-loading/{constants.js → loading/constants.js} +0 -0
- /package/dist/types/components/gov-loading/{constants.d.ts → loading/constants.d.ts} +0 -0
- /package/dist/types/components/gov-loading/{gov-loading.d.ts → loading/gov-loading.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../packages/core/src/components/gov-form/password-power/constants.ts","../../../packages/core/src/components/gov-form/password-power/gov-form-password-power.scss?tag=gov-form-password-power","../../../packages/core/src/components/gov-form/password-power/gov-form-password-power.tsx"],"names":["FormPasswordPowerClass","root","bar","text","govFormPasswordPowerCss","GovFormPasswordPower","[object Object]","h","Host","class"],"mappings":"kDAAO,MAAMA,EAAyB,CACrCC,KAAM,0BACHC,IAAK,+BACLC,KAAM,iCCHV,MAAMC,EAA0B,
|
|
1
|
+
{"version":3,"sources":["../../../packages/core/src/components/gov-form/password-power/constants.ts","../../../packages/core/src/components/gov-form/password-power/gov-form-password-power.scss?tag=gov-form-password-power","../../../packages/core/src/components/gov-form/password-power/gov-form-password-power.tsx"],"names":["FormPasswordPowerClass","root","bar","text","govFormPasswordPowerCss","GovFormPasswordPower","[object Object]","h","Host","class"],"mappings":"kDAAO,MAAMA,EAAyB,CACrCC,KAAM,0BACHC,IAAK,+BACLC,KAAM,iCCHV,MAAMC,EAA0B,o4DCOnBC,EAAoB,oDAMhCC,SACC,OACCC,EAACC,EAAI,CAACC,MAAOT,EAAuBC,MACvBM,EAAA,OAAA,CAAME,MAAOT,EAAuBE,KAChCK,EAAA,OAAA,MACAA,EAAA,OAAA,MACAA,EAAA,OAAA,OAEJA,EAAA,OAAA,CAAME,MAAOT,EAAuBG,MAChCI,EAAA,OAAA","sourcesContent":["export const FormPasswordPowerClass = {\n\troot: 'gov-form-password-power',\n bar: 'gov-form-password-power__bar',\n text: 'gov-form-password-power__text',\n}\n","$class: \".gov-form-password-power\";\n\n#{$class} {\n display: flex;\n align-items: center;\n gap: rem-calc(24);\n height: rem-calc(24);\n &__bar {\n display: flex;\n gap: rem-calc(4);\n width: 100%;\n span {\n display: inline-block;\n width: 100%;\n height: $form-password-power-height;\n border-radius: $form-password-power-radius;\n background-color: $form-password-power-color;\n }\n }\n &__text {\n @include typography($font-size-s);\n text-align: right;\n flex-basis: rem-calc(56);\n }\n\n // STATES\n &[power=\"1\"] {\n color: $form-password-power-color-weak;\n #{$class}__bar {\n span:nth-child(1) {\n background-color: $form-password-power-color-weak;\n }\n }\n }\n &[power=\"2\"] {\n color: $form-password-power-color-medium;\n #{$class}__bar {\n span:nth-child(1),\n span:nth-child(2) {\n background-color: $form-password-power-color-medium;\n }\n }\n }\n &[power=\"3\"] {\n color: $form-password-power-color-strong;\n #{$class}__bar {\n span {\n background-color: $form-password-power-color-strong;\n }\n }\n }\n}","import { Component, h, Host, Prop } from '@stencil/core'\nimport { FormPasswordPowerClass } from './constants'\n\n@Component({\n\ttag: 'gov-form-password-power',\n\tstyleUrl: 'gov-form-password-power.scss',\n})\nexport class GovFormPasswordPower {\n /**\n\t * Password power: 0 - none, 1 - weak, 2 - medium, 3 - strong\n\t */\n\t@Prop() readonly power: number\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormPasswordPowerClass.root}>\n <span class={FormPasswordPowerClass.bar}>\n <span></span>\n <span></span>\n <span></span>\n </span>\n <span class={FormPasswordPowerClass.text}>\n <slot />\n </span>\n\t\t\t</Host>\n\t\t)\n\t}\n}"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as o,h as r,H as a,g as e}from"./p-4af5e4f4.js";import{v as s}from"./p-26acf964.js";import{T as i,a as n,b as c,c as v}from"./p-80e30702.js";import{g as l,a as g}from"./p-3f37ddb6.js";import{c as b,v as d}from"./p-364b4792.js";import{c as h}from"./p-c20102ff.js";import{d as m,t as p}from"./p-03990da5.js";import{c as f}from"./p-24636c53.js";import"./p-561fa17b.js";import"./p-ff7365ae.js";const y=".gov-tabs__list{margin:0;padding:0}.gov-tabs__list>.gov-tabs__item{margin:0;padding:0;background:none}.gov-tabs__list>.gov-tabs__item::before{display:none}.gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}.gov-tabs{position:relative;display:block;width:100%}.gov-tabs__list{display:flex;flex-wrap:wrap;margin:0rem 0rem 1.25rem}.gov-tabs__list>.gov-tabs__item{display:flex;margin:0}.gov-tabs__btn{font-weight:var(--gov-text-s-font-weight);font-size:var(--gov-text-s-font-size);line-height:var(--gov-text-s-line-height);letter-spacing:var(--gov-text-s-letter-spacing);display:inline-flex;vertical-align:middle;justify-content:center;align-items:center;border:0;background-color:transparent;text-align:center;text-decoration:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:0.75rem 0rem 0.625rem;border-bottom:0.125rem solid transparent;font-weight:700;text-align:center;text-transform:uppercase;transition:150ms linear color, 150ms linear border-color}.gov-tabs__btn:focus{outline:none}.gov-tabs__btn:focus{outline:none}.gov-tabs__btn:focus-visible{border-radius:var(--gov-border-radius, 0.1875rem);outline:var(--gov-outline-width, 0.125rem) solid var(--gov-color-focus-base);outline-offset:0}.gov-tabs[type=text] .gov-tabs__list{gap:0.5rem 2rem;border-bottom:var(--gov-tabs-list-border-width, 0.0625rem solid var(--gov-color-secondary-500))}.gov-tabs[type=badge] .gov-tabs__list{gap:0.5rem 1rem}.gov-tabs[variant=primary][type=text] .gov-tabs__btn{color:var(--gov-tabs-primary-color, var(--gov-color-primary))}@media not all and (pointer: coarse){.gov-tabs[variant=primary][type=text] .gov-tabs__btn:hover{color:var(--gov-tabs-primary-color-hover, var(--gov-color-primary-800))}}.gov-tabs[variant=primary][type=text] .gov-tabs__btn[aria-selected=true]{border-bottom-color:cmake-var(tabs-primary-color-active, var(--gov-color-primary-800));color:cmake-var(tabs-primary-color-active, var(--gov-color-primary-800))}.gov-tabs[variant=secondary][type=text] .gov-tabs__btn{color:var(--gov-tabs-secondary-color, var(--gov-color-secondary-700))}@media not all and (pointer: coarse){.gov-tabs[variant=secondary][type=text] .gov-tabs__btn:hover{color:var(--gov-tabs-secondary-color-hover, var(--gov-color-secondary-900))}}.gov-tabs[variant=secondary][type=text] .gov-tabs__btn[aria-selected=true]{border-bottom-color:cmake-var(tabs-secondary-color-active, var(--gov-color-secondary-900));color:cmake-var(tabs-secondary-color-active, var(--gov-color-secondary-900))}.gov-tabs[variant=success][type=text] .gov-tabs__btn{color:var(--gov-tabs-success-color, var(--gov-color-success-500))}@media not all and (pointer: coarse){.gov-tabs[variant=success][type=text] .gov-tabs__btn:hover{color:var(--gov-tabs-success-color-hover, var(--gov-color-success-700))}}.gov-tabs[variant=success][type=text] .gov-tabs__btn[aria-selected=true]{border-bottom-color:cmake-var(tabs-success-color-active, var(--gov-color-success-700));color:cmake-var(tabs-success-color-active, var(--gov-color-success-700))}.gov-tabs[variant=warning][type=text] .gov-tabs__btn{color:var(--gov-tabs-warning-color, var(--gov-color-warning-500))}@media not all and (pointer: coarse){.gov-tabs[variant=warning][type=text] .gov-tabs__btn:hover{color:var(--gov-tabs-warning-color-hover, var(--gov-color-warning-700))}}.gov-tabs[variant=warning][type=text] .gov-tabs__btn[aria-selected=true]{border-bottom-color:cmake-var(tabs-warning-color-active, var(--gov-color-warning-700));color:cmake-var(tabs-warning-color-active, var(--gov-color-warning-700))}.gov-tabs[variant=error][type=text] .gov-tabs__btn{color:var(--gov-tabs-error-color, var(--gov-color-error-400))}@media not all and (pointer: coarse){.gov-tabs[variant=error][type=text] .gov-tabs__btn:hover{color:var(--gov-tabs-error-color-hover, var(--gov-color-error-600))}}.gov-tabs[variant=error][type=text] .gov-tabs__btn[aria-selected=true]{border-bottom-color:cmake-var(tabs-error-color-active, var(--gov-color-error-600));color:cmake-var(tabs-error-color-active, var(--gov-color-error-600))}.gov-tabs[orientation=vertical] .gov-tabs__btn{text-align:left}@media (min-width: 75em){.gov-tabs[orientation=vertical]{display:flex;flex-direction:row}.gov-tabs[orientation=vertical] .gov-tabs__list{flex-wrap:nowrap;flex-direction:column;width:-moz-max-content;width:max-content;max-width:30vw;margin-right:1.25rem;padding:0rem 0.5rem;border-bottom:none;border-right:var(--gov-tabs-list-border-width, 0.0625rem solid var(--gov-color-secondary-500))}.gov-tabs[orientation=vertical] .gov-tabs__item{justify-content:flex-end}.gov-tabs[orientation=vertical] .gov-tabs__btn{padding:0.5rem 0.75rem;text-align:right}}";const u=class{constructor(r){t(this,r);this.govChange=o(this,"gov-change",7);this.triggerRefs={};this.controller=[];this.focusIndex=0;this.compactControls=false;this.type="text";this.variant="primary";this.orientation="horizontal";this.wcagLabel=undefined;this.wcagSelectLabel=undefined;this.wcagLabelledBy=undefined;this.h=l(this.host);this.formSelectId=f("GovForSelect")}validateType(t){s(c,t,n.root)}validateVariant(t){s(v,t,n.root)}componentWillLoad(){this.prepareDataSource()}async componentDidRender(){if(h()){await m(500);await this.validateWcag()}this.resizeObserver()}prepareDataSource(){this.controller=[];const t=[];this.host.querySelectorAll(i.root).forEach((o=>{const r=Promise.all([o.getIdentifier(),o.getTriggerIdentifier()]).then((([t,r])=>{const a=typeof o.getAttribute("default")==="string";return{label:o.getAttribute("label"),contentIdentifier:t,triggerIdentifier:r,element:o,active:false,default:a}}));t.push(r)}));Promise.all(t).then((t=>{let o=t.findIndex((t=>t.default));if(o===-1)o=0;this.focusIndex=o;t[o].active=true;this.controller=[...t];this.reRender()}))}setActiveByIdentifier(t){const o=[];this.controller.map((r=>{r.active=t===r.triggerIdentifier||t===r.contentIdentifier;o.push(r)}));this.controller=[...o]}reRender(){this.controller.map((t=>{t.element.setActiveStatus(t.active)}))}resizeObserver(){const t=new ResizeObserver(p((()=>{}),200));t.observe(this.tabsRef)}render(){return r(a,{class:this.h.classes(n.root),variant:this.variant,type:this.type,role:"tablist",ref:t=>this.tabsRef=t,"aria-label":this.wcagLabel,"aria-labelledby":this.wcagLabelledBy,onKeyDown:this.onKeydownHandler.bind(this)},r("div",{class:n.tabs,"aria-hidden":g(this.compactControls)},r("ul",{class:n.list},this.controller.map(((t,o)=>r("li",{class:n.item},this.type=="text"?r("button",{class:n.btn,id:t.triggerIdentifier,role:"tab",onClick:()=>this.onSelectHandler(t,o),"aria-selected":g(t.active),"aria-controls":t.contentIdentifier,tabindex:t.active?-1:0,ref:o=>this.triggerRefs[t.triggerIdentifier]=o},t.label):r("gov-badge",{variant:this.variant,type:g(t.active)=="true"?"solid":"outlined","on-gov-click":()=>this.onSelectHandler(t,o)},t.label)))))),r("span",{id:this.formSelectId,hidden:true},this.wcagSelectLabel),this.compactControls?r("gov-form-select",{"wcag-labelled-by":this.formSelectId,"onGov-change":this.onChangeHandler.bind(this)},this.controller.map((t=>r("option",{value:t.triggerIdentifier,selected:t.active},t.label)))):null,r("slot",null))}getCurrentTab(){return this.controller.find((t=>t.active))||null}onSelectHandler(t,o){this.focusIndex=o;this.setActiveByIdentifier(t.triggerIdentifier);this.reRender();this.govChange.emit(this.getCurrentTab().element)}onChangeHandler(t){const o=t.target.value;t.stopPropagation();this.setActiveByIdentifier(o);this.reRender();this.govChange.emit(this.getCurrentTab().element)}onKeydownHandler(t){const o=t.keyCode;t.stopPropagation();if(o===39||o===37){if(false===(this.focusIndex>=0&&this.focusIndex<=this.controller.length-1)){return}this.controller[this.focusIndex].active=false;if(o===39){this.focusIndex++;if(this.focusIndex>=this.controller.length){this.focusIndex=0}}else if(o===37){this.focusIndex--;if(this.focusIndex<0){this.focusIndex=this.controller.length-1}}if(this.focusIndex>=0&&this.focusIndex<=this.controller.length-1){const t=this.controller[this.focusIndex];t.active=true;this.triggerRefs[t.triggerIdentifier].focus();this.controller=[...this.controller];this.reRender();this.govChange.emit(this.getCurrentTab().element)}}}async refresh(){this.prepareDataSource()}async currentTab(){return this.getCurrentTab().element||null}async setActiveTab(t){this.setActiveByIdentifier(t);this.reRender()}async validateWcag(){b(this.wcagSelectLabel,"wcag-select-label",n.root);d(this.wcagLabel,this.wcagLabelledBy,n.root)}get host(){return e(this)}static get watchers(){return{type:["validateType"],variant:["validateVariant"]}}};u.style=y;export{u as gov_tabs};
|
|
2
|
+
//# sourceMappingURL=p-f6e2f2f0.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../packages/core/src/components/gov-tabs/gov-tabs.scss?tag=gov-tabs","../../../packages/core/src/components/gov-tabs/gov-tabs.tsx"],"names":["govTabsCss","GovTabs","[object Object]","hostRef","this","triggerRefs","h","govHost","host","formSelectId","createID","newValue","validateProp","TabTypes","TabsClass","root","TabVariants","prepareDataSource","canValidateWcagOnRender","delay","validateWcag","resizeObserver","controller","promises","querySelectorAll","TabsItemClass","forEach","tab","controlItem","Promise","all","getIdentifier","getTriggerIdentifier","then","identifier","triggerIdentifier","isDefault","getAttribute","label","contentIdentifier","element","active","default","push","controllers","defaultTab","findIndex","focusIndex","reRender","temp","map","item","control","setActiveStatus","ResizeObserver","throttle","observe","tabsRef","Host","class","classes","variant","type","role","ref","el","aria-label","wcagLabel","aria-labelledby","wcagLabelledBy","onKeyDown","onKeydownHandler","bind","tabs","aria-hidden","toBoolAttr","compactControls","list","index","btn","id","onClick","onSelectHandler","aria-selected","aria-controls","tabindex","on-gov-click","hidden","wcagSelectLabel","wcag-labelled-by","onGov-change","onChangeHandler","value","selected","find","setActiveByIdentifier","govChange","emit","getCurrentTab","e","triggerId","target","stopPropagation","keyCode","length","current","focus","validateWcagProp","validateWcagLabel"],"mappings":"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","sourcesContent":["/*\n * Tabs\n */\n\n$class: \".gov-tabs\";\n\n#{$class} {\n\t@include base();\n\t&__list {\n\t\t@extend %reset-ul;\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tmargin: rem-calc(0 0 20);\n\t}\n\t&__list > &__item {\n\t\t@extend %reset-ul-li;\n\t\tdisplay: flex;\n\t\tmargin: 0;\n\t}\n\t&__btn {\n\t\t@include typography($font-size-s);\n\t\t@include button-core();\n\t\t@include focus-outline();\n\t\tmargin: 0;\n\t\tpadding: rem-calc(12 0 10);\n\t\tborder-bottom: rem-calc(2) solid transparent;\n\t\tfont-weight: 700;\n\t\ttext-align: center;\n\t\ttext-transform: uppercase;\n\t\ttransition: $t linear color, $t linear border-color;\n\t}\n\n\t// VARIANTS\n\t@each $type, $definitions in $tabs-types {\n\t\t&[type=\"#{$type}\"] {\n\t\t\t#{$class} {\n\t\t\t\t&__list {\n\t\t\t\t\tgap: get(\"item-spacing\", $definitions);\n\t\t\t\t\t@if deep-map-check($definitions, \"border\") {\n\t\t\t\t\t\tborder-bottom: $tabs-list-border;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t@each $variant, $definitions in $tabs-variants {\n\t\t&[variant=\"#{$variant}\"][type=\"text\"] {\n\t\t\t#{$class} {\n\t\t\t\t&__btn {\n\t\t\t\t\tcolor: get(\"color\", $definitions);\n\t\t\t\t\t@include hover() {\n\t\t\t\t\t\tcolor: get(\"color-hover\", $definitions);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// STATES\n\t\t\t\t&__btn[aria-selected=\"true\"] {\n\t\t\t\t\tborder-bottom-color: get(\"color-active\", $definitions);\n\t\t\t\t\tcolor: get(\"color-active\", $definitions);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t&[orientation=\"vertical\"] {\n\t\t#{$class}__btn {\n\t\t\ttext-align: left;\n\t\t}\n\t}\n\n\t// MQ\n\t@include mq($from: xl) {\n\t\t&[orientation=\"vertical\"] {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\n\t\t\t#{$class}__list {\n\t\t\t\tflex-wrap: nowrap;\n\t\t\t\tflex-direction: column;\n\t\t\t\twidth: max-content;\n\t\t\t\tmax-width: 30vw;\n\t\t\t\tmargin-right: rem-calc(20);\n\t\t\t\tpadding: rem-calc(0 8);\n\t\t\t\tborder-bottom: none;\n\t\t\t\tborder-right: $tabs-list-border;\n\t\t\t}\n\n\t\t\t#{$class}__item {\n\t\t\t\tjustify-content: flex-end;\n\t\t\t}\n\n\t\t\t#{$class}__btn {\n\t\t\t\tpadding: rem-calc(8 12);\n\t\t\t\ttext-align: right;\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Component, Element, Host, h, State, Method, Event, EventEmitter, Prop, Watch } from '@stencil/core'\nimport { validateProp } from '../../helpers/Validate/props'\nimport { TabsItemClass, TabVariants, VariantType } from './constants'\nimport { GovTabControllerItem } from './gov-tabs.types'\nimport { govHost, toBoolAttr } from '../../helpers/Dom/template'\nimport { validateWcagLabel, validateWcagProp } from '../../helpers/Validate/wcag'\nimport { TabsClass, TabType, TabTypes, TabOrientationType } from './constants'\nimport { canValidateWcagOnRender } from '../../helpers/Dom/win'\nimport { delay, throttle } from '../../utils/utils'\nimport { createID } from '../../utils/string.utils'\nimport { Nullable } from '../../types/interfaces'\nimport { GovHost } from '../../helpers/Dom/template.types'\n\n@Component({\n\ttag: 'gov-tabs',\n\tstyleUrl: 'gov-tabs.scss',\n})\nexport class GovTabs {\n\tprivate h: GovHost\n\tprivate triggerRefs: { [key: string]: HTMLButtonElement } = {}\n\tprivate tabsRef?: HTMLDivElement\n\n\tprivate readonly formSelectId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.formSelectId = createID('GovForSelect')\n\t}\n\n\t@Element() host: HTMLGovTabsElement\n\t@State() controller: GovTabControllerItem[] = []\n\t@State() focusIndex = 0\n\t@State() compactControls = false\n\t/**\n\t * Tabs type\n\t */\n\t@Prop() readonly type: TabType = 'text'\n\t/**\n\t * Style variation of the tab badges.\n\t */\n\t@Prop() readonly variant?: VariantType = 'primary'\n\t/**\n\t * Tabs orientation\n\t */\n\t@Prop() readonly orientation: TabOrientationType = 'horizontal'\n\t/**\n\t * Adds accessible label for the tabs that is only shown for screen readers.\n\t */\n\t@Prop({ attribute: 'wcag-label' }) readonly wcagLabel: string\n\t/**\n\t * Adds accessible label for the tabs select\n\t */\n\t@Prop({ attribute: 'wcag-select-label' }) readonly wcagSelectLabel: string\n\t/**\n\t * Indicates the id of a component that labels the tabs.\n\t */\n\t@Prop({ attribute: 'wcag-labelled-by' }) readonly wcagLabelledBy: string\n\t/**\n\t * Emitted when the tab is changed.\n\t */\n\t@Event({ eventName: 'gov-change' }) govChange: EventEmitter<HTMLGovTabsItemElement>\n\n\t@Watch('type')\n\tvalidateType(newValue: string): void {\n\t\tvalidateProp(TabTypes, newValue, TabsClass.root)\n\t}\n\t@Watch('variant')\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(TabVariants, newValue, TabsClass.root)\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.prepareDataSource()\n\t}\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\n\t\tthis.resizeObserver()\n\t}\n\n\tprivate prepareDataSource(): void {\n\t\tthis.controller = []\n\t\tconst promises: Promise<GovTabControllerItem>[] = []\n\t\tthis.host.querySelectorAll(TabsItemClass.root).forEach((tab: HTMLGovTabsItemElement) => {\n\t\t\tconst controlItem = Promise.all([tab.getIdentifier(), tab.getTriggerIdentifier()]).then(([identifier, triggerIdentifier]) => {\n\t\t\t\tconst isDefault = typeof tab.getAttribute('default') === 'string'\n\t\t\t\treturn {\n\t\t\t\t\tlabel: tab.getAttribute('label'),\n\t\t\t\t\tcontentIdentifier: identifier,\n\t\t\t\t\ttriggerIdentifier: triggerIdentifier,\n\t\t\t\t\telement: tab,\n\t\t\t\t\tactive: false,\n\t\t\t\t\tdefault: isDefault,\n\t\t\t\t}\n\t\t\t})\n\t\t\tpromises.push(controlItem)\n\t\t})\n\t\tPromise.all(promises).then(controllers => {\n\t\t\tlet defaultTab = controllers.findIndex(controller => controller.default)\n\t\t\tif (defaultTab === -1) defaultTab = 0\n\t\t\tthis.focusIndex = defaultTab\n\t\t\tcontrollers[defaultTab].active = true\n\t\t\tthis.controller = [...controllers]\n\t\t\tthis.reRender()\n\t\t})\n\t}\n\n\tprivate setActiveByIdentifier(identifier: string) {\n\t\tconst temp = []\n\t\tthis.controller.map(item => {\n\t\t\titem.active = identifier === item.triggerIdentifier || identifier === item.contentIdentifier\n\t\t\ttemp.push(item)\n\t\t})\n\t\tthis.controller = [...temp]\n\t}\n\n\tprivate reRender() {\n\t\tthis.controller.map(control => {\n\t\t\tcontrol.element.setActiveStatus(control.active)\n\t\t})\n\t}\n\n\t/*\n\tprivate evaluateControls() {\n\t\tthis.compactControls = false\n\t\tlet sumOfWidth = this.tabsRef.querySelector(\"ul\").offsetWidth\n\t\tthis.compactControls = this.tabsRef.offsetWidth < sumOfWidth\n\t}\n\t*/\n\n\tprivate resizeObserver() {\n\t\tconst resizeObserver = new ResizeObserver(\n\t\t\tthrottle(() => {\n\t\t\t\t// this.evaluateControls()\n\t\t\t}, 200)\n\t\t)\n\n\t\tresizeObserver.observe(this.tabsRef)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={this.h.classes(TabsClass.root)}\n\t\t\t\tvariant={this.variant}\n\t\t\t\ttype={this.type}\n\t\t\t\trole=\"tablist\"\n\t\t\t\tref={el => (this.tabsRef = el as HTMLDivElement)}\n\t\t\t\taria-label={this.wcagLabel}\n\t\t\t\taria-labelledby={this.wcagLabelledBy}\n\t\t\t\tonKeyDown={this.onKeydownHandler.bind(this)}\n\t\t\t>\n\t\t\t\t<div class={TabsClass.tabs} aria-hidden={toBoolAttr(this.compactControls)}>\n\t\t\t\t\t<ul class={TabsClass.list}>\n\t\t\t\t\t\t{this.controller.map((control, index) => (\n\t\t\t\t\t\t\t<li class={TabsClass.item}>\n\t\t\t\t\t\t\t\t{this.type == 'text' ? (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclass={TabsClass.btn}\n\t\t\t\t\t\t\t\t\t\tid={control.triggerIdentifier}\n\t\t\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => this.onSelectHandler(control, index)}\n\t\t\t\t\t\t\t\t\t\taria-selected={toBoolAttr(control.active)}\n\t\t\t\t\t\t\t\t\t\taria-controls={control.contentIdentifier}\n\t\t\t\t\t\t\t\t\t\ttabindex={control.active ? -1 : 0}\n\t\t\t\t\t\t\t\t\t\tref={el => (this.triggerRefs[control.triggerIdentifier] = el as HTMLInputElement)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<gov-badge\n\t\t\t\t\t\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\t\t\t\t\t\ttype={toBoolAttr(control.active) == 'true' ? 'solid' : 'outlined'}\n\t\t\t\t\t\t\t\t\t\ton-gov-click={() => this.onSelectHandler(control, index)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t\t\t</gov-badge>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\n\t\t\t\t<span id={this.formSelectId} hidden>\n\t\t\t\t\t{this.wcagSelectLabel}\n\t\t\t\t</span>\n\t\t\t\t{this.compactControls ? (\n\t\t\t\t\t<gov-form-select wcag-labelled-by={this.formSelectId} onGov-change={this.onChangeHandler.bind(this)}>\n\t\t\t\t\t\t{this.controller.map(control => (\n\t\t\t\t\t\t\t<option value={control.triggerIdentifier} selected={control.active}>\n\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</gov-form-select>\n\t\t\t\t) : null}\n\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate getCurrentTab(): GovTabControllerItem | null {\n\t\treturn this.controller.find(control => control.active) || null\n\t}\n\n\tprivate onSelectHandler(control: GovTabControllerItem, index: number) {\n\t\tthis.focusIndex = index\n\t\tthis.setActiveByIdentifier(control.triggerIdentifier)\n\t\tthis.reRender()\n\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t}\n\n\tprivate onChangeHandler(e: CustomEvent) {\n\t\tconst triggerId = (e.target as HTMLSelectElement).value\n\t\te.stopPropagation()\n\t\tthis.setActiveByIdentifier(triggerId)\n\t\tthis.reRender()\n\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t}\n\n\tprivate onKeydownHandler(e: KeyboardEvent) {\n\t\tconst keyCode = e.keyCode\n\t\te.stopPropagation()\n\t\tif (keyCode === 39 || keyCode === 37) {\n\t\t\tif (false === (this.focusIndex >= 0 && this.focusIndex <= this.controller.length - 1)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.controller[this.focusIndex].active = false\n\t\t\tif (keyCode === 39) {\n\t\t\t\tthis.focusIndex++\n\t\t\t\tif (this.focusIndex >= this.controller.length) {\n\t\t\t\t\tthis.focusIndex = 0\n\t\t\t\t}\n\t\t\t} else if (keyCode === 37) {\n\t\t\t\tthis.focusIndex--\n\t\t\t\tif (this.focusIndex < 0) {\n\t\t\t\t\tthis.focusIndex = this.controller.length - 1\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this.focusIndex >= 0 && this.focusIndex <= this.controller.length - 1) {\n\t\t\t\tconst current = this.controller[this.focusIndex]\n\t\t\t\tcurrent.active = true\n\t\t\t\tthis.triggerRefs[current.triggerIdentifier].focus()\n\t\t\t\tthis.controller = [...this.controller]\n\t\t\t\tthis.reRender()\n\t\t\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync refresh(): Promise<void> {\n\t\tthis.prepareDataSource()\n\t}\n\n\t/**\n\t * Returns the currently selected tabs-item\n\t */\n\t@Method()\n\tasync currentTab(): Promise<Nullable<HTMLGovTabsItemElement>> {\n\t\treturn this.getCurrentTab().element || null\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync setActiveTab(identifier: string): Promise<void> {\n\t\tthis.setActiveByIdentifier(identifier)\n\t\tthis.reRender()\n\t}\n\n\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagProp(this.wcagSelectLabel, 'wcag-select-label', TabsClass.root)\n\t\tvalidateWcagLabel(this.wcagLabel, this.wcagLabelledBy, TabsClass.root)\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../packages/core/src/components/gov-tabs/gov-tabs.scss?tag=gov-tabs","../../../packages/core/src/components/gov-tabs/gov-tabs.tsx"],"names":["govTabsCss","GovTabs","[object Object]","hostRef","this","triggerRefs","h","govHost","host","formSelectId","createID","newValue","validateProp","TabTypes","TabsClass","root","TabVariants","prepareDataSource","canValidateWcagOnRender","delay","validateWcag","resizeObserver","controller","promises","querySelectorAll","TabsItemClass","forEach","tab","controlItem","Promise","all","getIdentifier","getTriggerIdentifier","then","identifier","triggerIdentifier","isDefault","getAttribute","label","contentIdentifier","element","active","default","push","controllers","defaultTab","findIndex","focusIndex","reRender","temp","map","item","control","setActiveStatus","ResizeObserver","throttle","observe","tabsRef","Host","class","classes","variant","type","role","ref","el","aria-label","wcagLabel","aria-labelledby","wcagLabelledBy","onKeyDown","onKeydownHandler","bind","tabs","aria-hidden","toBoolAttr","compactControls","list","index","btn","id","onClick","onSelectHandler","aria-selected","aria-controls","tabindex","on-gov-click","hidden","wcagSelectLabel","wcag-labelled-by","onGov-change","onChangeHandler","value","selected","find","setActiveByIdentifier","govChange","emit","getCurrentTab","e","triggerId","target","stopPropagation","keyCode","length","current","focus","validateWcagProp","validateWcagLabel"],"mappings":"sZAAA,MAAMA,EAAa,41JCiBNC,EAAO,MAOnBC,YAAAC,mDALQC,KAAAC,YAAoD,mBAWd,mBACxB,uBACK,gBAIM,oBAIQ,2BAIU,mGAnBlDD,KAAKE,EAAIC,EAAQH,KAAKI,MACtBJ,KAAKK,aAAeC,EAAS,gBAqC9BR,aAAaS,GACZC,EAAaC,EAAUF,EAAUG,EAAUC,MAG5Cb,gBAAgBS,GACfC,EAAaI,EAAaL,EAAUG,EAAUC,MAG/Cb,oBACCE,KAAKa,oBAGNf,2BACC,GAAIgB,IAA2B,OACxBC,EAAM,WACNf,KAAKgB,eAGZhB,KAAKiB,iBAGEnB,oBACPE,KAAKkB,WAAa,GAClB,MAAMC,EAA4C,GAClDnB,KAAKI,KAAKgB,iBAAiBC,EAAcV,MAAMW,SAASC,IACvD,MAAMC,EAAcC,QAAQC,IAAI,CAACH,EAAII,gBAAiBJ,EAAIK,yBAAyBC,MAAK,EAAEC,EAAYC,MACrG,MAAMC,SAAmBT,EAAIU,aAAa,aAAe,SACzD,MAAO,CACNC,MAAOX,EAAIU,aAAa,SACxBE,kBAAmBL,EACnBC,kBAAmBA,EACnBK,QAASb,EACTc,OAAQ,MACRC,QAASN,MAGXb,EAASoB,KAAKf,MAEfC,QAAQC,IAAIP,GAAUU,MAAKW,IAC1B,IAAIC,EAAaD,EAAYE,WAAUxB,GAAcA,EAAWoB,UAChE,GAAIG,KAAgB,EAAGA,EAAa,EACpCzC,KAAK2C,WAAaF,EAClBD,EAAYC,GAAYJ,OAAS,KACjCrC,KAAKkB,WAAa,IAAIsB,GACtBxC,KAAK4C,cAIC9C,sBAAsBgC,GAC7B,MAAMe,EAAO,GACb7C,KAAKkB,WAAW4B,KAAIC,IACnBA,EAAKV,OAASP,IAAeiB,EAAKhB,mBAAqBD,IAAeiB,EAAKZ,kBAC3EU,EAAKN,KAAKQ,MAEX/C,KAAKkB,WAAa,IAAI2B,GAGf/C,WACPE,KAAKkB,WAAW4B,KAAIE,IACnBA,EAAQZ,QAAQa,gBAAgBD,EAAQX,WAYlCvC,iBACP,MAAMmB,EAAiB,IAAIiC,eAC1BC,GAAS,QAEN,MAGJlC,EAAemC,QAAQpD,KAAKqD,SAG7BvD,SACC,OACCI,EAACoD,EAAI,CACJC,MAAOvD,KAAKE,EAAEsD,QAAQ9C,EAAUC,MAChC8C,QAASzD,KAAKyD,QACdC,KAAM1D,KAAK0D,KACXC,KAAK,UACLC,IAAKC,GAAO7D,KAAKqD,QAAUQ,EAAqBC,aACpC9D,KAAK+D,UAASC,kBACThE,KAAKiE,eACtBC,UAAWlE,KAAKmE,iBAAiBC,KAAKpE,OAEtCE,EAAA,MAAA,CAAKqD,MAAO7C,EAAU2D,KAAIC,cAAeC,EAAWvE,KAAKwE,kBACxDtE,EAAA,KAAA,CAAIqD,MAAO7C,EAAU+D,MACnBzE,KAAKkB,WAAW4B,KAAI,CAACE,EAAS0B,IAC9BxE,EAAA,KAAA,CAAIqD,MAAO7C,EAAUqC,MACnB/C,KAAK0D,MAAQ,OACbxD,EAAA,SAAA,CACCqD,MAAO7C,EAAUiE,IACjBC,GAAI5B,EAAQjB,kBACZ4B,KAAK,MACLkB,QAAS,IAAM7E,KAAK8E,gBAAgB9B,EAAS0B,GAAMK,gBACpCR,EAAWvB,EAAQX,QAAO2C,gBAC1BhC,EAAQb,kBACvB8C,SAAUjC,EAAQX,QAAU,EAAI,EAChCuB,IAAKC,GAAO7D,KAAKC,YAAY+C,EAAQjB,mBAAqB8B,GAEzDb,EAAQd,OAGVhC,EAAA,YAAA,CACCuD,QAASzD,KAAKyD,QACdC,KAAMa,EAAWvB,EAAQX,SAAW,OAAS,QAAU,WAAU6C,eACnD,IAAMlF,KAAK8E,gBAAgB9B,EAAS0B,IAEjD1B,EAAQd,YAQfhC,EAAA,OAAA,CAAM0E,GAAI5E,KAAKK,aAAc8E,OAAM,MACjCnF,KAAKoF,iBAENpF,KAAKwE,gBACLtE,EAAA,kBAAA,CAAAmF,mBAAmCrF,KAAKK,aAAYiF,eAAgBtF,KAAKuF,gBAAgBnB,KAAKpE,OAC5FA,KAAKkB,WAAW4B,KAAIE,GACpB9C,EAAA,SAAA,CAAQsF,MAAOxC,EAAQjB,kBAAmB0D,SAAUzC,EAAQX,QAC1DW,EAAQd,UAIT,KAEJhC,EAAA,OAAA,OAKKJ,gBACP,OAAOE,KAAKkB,WAAWwE,MAAK1C,GAAWA,EAAQX,UAAW,KAGnDvC,gBAAgBkD,EAA+B0B,GACtD1E,KAAK2C,WAAa+B,EAClB1E,KAAK2F,sBAAsB3C,EAAQjB,mBACnC/B,KAAK4C,WACL5C,KAAK4F,UAAUC,KAAK7F,KAAK8F,gBAAgB1D,SAGlCtC,gBAAgBiG,GACvB,MAAMC,EAAaD,EAAEE,OAA6BT,MAClDO,EAAEG,kBACFlG,KAAK2F,sBAAsBK,GAC3BhG,KAAK4C,WACL5C,KAAK4F,UAAUC,KAAK7F,KAAK8F,gBAAgB1D,SAGlCtC,iBAAiBiG,GACxB,MAAMI,EAAUJ,EAAEI,QAClBJ,EAAEG,kBACF,GAAIC,IAAY,IAAMA,IAAY,GAAI,CACrC,GAAI,SAAWnG,KAAK2C,YAAc,GAAK3C,KAAK2C,YAAc3C,KAAKkB,WAAWkF,OAAS,GAAI,CACtF,OAEDpG,KAAKkB,WAAWlB,KAAK2C,YAAYN,OAAS,MAC1C,GAAI8D,IAAY,GAAI,CACnBnG,KAAK2C,aACL,GAAI3C,KAAK2C,YAAc3C,KAAKkB,WAAWkF,OAAQ,CAC9CpG,KAAK2C,WAAa,QAEb,GAAIwD,IAAY,GAAI,CAC1BnG,KAAK2C,aACL,GAAI3C,KAAK2C,WAAa,EAAG,CACxB3C,KAAK2C,WAAa3C,KAAKkB,WAAWkF,OAAS,GAG7C,GAAIpG,KAAK2C,YAAc,GAAK3C,KAAK2C,YAAc3C,KAAKkB,WAAWkF,OAAS,EAAG,CAC1E,MAAMC,EAAUrG,KAAKkB,WAAWlB,KAAK2C,YACrC0D,EAAQhE,OAAS,KACjBrC,KAAKC,YAAYoG,EAAQtE,mBAAmBuE,QAC5CtG,KAAKkB,WAAa,IAAIlB,KAAKkB,YAC3BlB,KAAK4C,WACL5C,KAAK4F,UAAUC,KAAK7F,KAAK8F,gBAAgB1D,WAS5CtC,gBACCE,KAAKa,oBAONf,mBACC,OAAOE,KAAK8F,gBAAgB1D,SAAW,KAOxCtC,mBAAmBgC,GAClB9B,KAAK2F,sBAAsB7D,GAC3B9B,KAAK4C,WAON9C,qBACCyG,EAAiBvG,KAAKoF,gBAAiB,oBAAqB1E,EAAUC,MACtE6F,EAAkBxG,KAAK+D,UAAW/D,KAAKiE,eAAgBvD,EAAUC","sourcesContent":["/*\n * Tabs\n */\n\n$class: \".gov-tabs\";\n\n#{$class} {\n\t@include base();\n\t&__list {\n\t\t@extend %reset-ul;\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tmargin: rem-calc(0 0 20);\n\t}\n\t&__list > &__item {\n\t\t@extend %reset-ul-li;\n\t\tdisplay: flex;\n\t\tmargin: 0;\n\t}\n\t&__btn {\n\t\t@include typography($font-size-s);\n\t\t@include button-core();\n\t\t@include focus-outline();\n\t\tmargin: 0;\n\t\tpadding: rem-calc(12 0 10);\n\t\tborder-bottom: rem-calc(2) solid transparent;\n\t\tfont-weight: 700;\n\t\ttext-align: center;\n\t\ttext-transform: uppercase;\n\t\ttransition: $t linear color, $t linear border-color;\n\t}\n\n\t// VARIANTS\n\t@each $type, $definitions in $tabs-types {\n\t\t&[type=\"#{$type}\"] {\n\t\t\t#{$class} {\n\t\t\t\t&__list {\n\t\t\t\t\tgap: get(\"item-spacing\", $definitions);\n\t\t\t\t\t@if deep-map-check($definitions, \"border\") {\n\t\t\t\t\t\tborder-bottom: $tabs-list-border;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t@each $variant, $definitions in $tabs-variants {\n\t\t&[variant=\"#{$variant}\"][type=\"text\"] {\n\t\t\t#{$class} {\n\t\t\t\t&__btn {\n\t\t\t\t\tcolor: get(\"color\", $definitions);\n\t\t\t\t\t@include hover() {\n\t\t\t\t\t\tcolor: get(\"color-hover\", $definitions);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// STATES\n\t\t\t\t&__btn[aria-selected=\"true\"] {\n\t\t\t\t\tborder-bottom-color: get(\"color-active\", $definitions);\n\t\t\t\t\tcolor: get(\"color-active\", $definitions);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t&[orientation=\"vertical\"] {\n\t\t#{$class}__btn {\n\t\t\ttext-align: left;\n\t\t}\n\t}\n\n\t// MQ\n\t@include mq($from: xl) {\n\t\t&[orientation=\"vertical\"] {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\n\t\t\t#{$class}__list {\n\t\t\t\tflex-wrap: nowrap;\n\t\t\t\tflex-direction: column;\n\t\t\t\twidth: max-content;\n\t\t\t\tmax-width: 30vw;\n\t\t\t\tmargin-right: rem-calc(20);\n\t\t\t\tpadding: rem-calc(0 8);\n\t\t\t\tborder-bottom: none;\n\t\t\t\tborder-right: $tabs-list-border;\n\t\t\t}\n\n\t\t\t#{$class}__item {\n\t\t\t\tjustify-content: flex-end;\n\t\t\t}\n\n\t\t\t#{$class}__btn {\n\t\t\t\tpadding: rem-calc(8 12);\n\t\t\t\ttext-align: right;\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Component, Element, Host, h, State, Method, Event, EventEmitter, Prop, Watch } from '@stencil/core'\nimport { validateProp } from '../../helpers/Validate/props'\nimport { TabsItemClass, TabVariants, VariantType } from './constants'\nimport { GovTabControllerItem } from './gov-tabs.types'\nimport { govHost, toBoolAttr } from '../../helpers/Dom/template'\nimport { validateWcagLabel, validateWcagProp } from '../../helpers/Validate/wcag'\nimport { TabsClass, TabType, TabTypes, TabOrientationType } from './constants'\nimport { canValidateWcagOnRender } from '../../helpers/Dom/win'\nimport { delay, throttle } from '../../utils/utils'\nimport { createID } from '../../utils/string.utils'\nimport { Nullable } from '../../types/interfaces'\nimport { GovHost } from '../../helpers/Dom/template.types'\n\n@Component({\n\ttag: 'gov-tabs',\n\tstyleUrl: 'gov-tabs.scss',\n})\nexport class GovTabs {\n\tprivate h: GovHost\n\tprivate triggerRefs: { [key: string]: HTMLButtonElement } = {}\n\tprivate tabsRef?: HTMLDivElement\n\n\tprivate readonly formSelectId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.formSelectId = createID('GovForSelect')\n\t}\n\n\t@Element() host: HTMLGovTabsElement\n\t@State() controller: GovTabControllerItem[] = []\n\t@State() focusIndex = 0\n\t@State() compactControls = false\n\t/**\n\t * Tabs type\n\t */\n\t@Prop() readonly type: TabType = 'text'\n\t/**\n\t * Style variation of the tab badges.\n\t */\n\t@Prop() readonly variant?: VariantType = 'primary'\n\t/**\n\t * Tabs orientation\n\t */\n\t@Prop() readonly orientation: TabOrientationType = 'horizontal'\n\t/**\n\t * Adds accessible label for the tabs that is only shown for screen readers.\n\t */\n\t@Prop({ attribute: 'wcag-label' }) readonly wcagLabel: string\n\t/**\n\t * Adds accessible label for the tabs select\n\t */\n\t@Prop({ attribute: 'wcag-select-label' }) readonly wcagSelectLabel: string\n\t/**\n\t * Indicates the id of a component that labels the tabs.\n\t */\n\t@Prop({ attribute: 'wcag-labelled-by' }) readonly wcagLabelledBy: string\n\t/**\n\t * Emitted when the tab is changed.\n\t */\n\t@Event({ eventName: 'gov-change' }) govChange: EventEmitter<HTMLGovTabsItemElement>\n\n\t@Watch('type')\n\tvalidateType(newValue: string): void {\n\t\tvalidateProp(TabTypes, newValue, TabsClass.root)\n\t}\n\t@Watch('variant')\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(TabVariants, newValue, TabsClass.root)\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.prepareDataSource()\n\t}\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\n\t\tthis.resizeObserver()\n\t}\n\n\tprivate prepareDataSource(): void {\n\t\tthis.controller = []\n\t\tconst promises: Promise<GovTabControllerItem>[] = []\n\t\tthis.host.querySelectorAll(TabsItemClass.root).forEach((tab: HTMLGovTabsItemElement) => {\n\t\t\tconst controlItem = Promise.all([tab.getIdentifier(), tab.getTriggerIdentifier()]).then(([identifier, triggerIdentifier]) => {\n\t\t\t\tconst isDefault = typeof tab.getAttribute('default') === 'string'\n\t\t\t\treturn {\n\t\t\t\t\tlabel: tab.getAttribute('label'),\n\t\t\t\t\tcontentIdentifier: identifier,\n\t\t\t\t\ttriggerIdentifier: triggerIdentifier,\n\t\t\t\t\telement: tab,\n\t\t\t\t\tactive: false,\n\t\t\t\t\tdefault: isDefault,\n\t\t\t\t}\n\t\t\t})\n\t\t\tpromises.push(controlItem)\n\t\t})\n\t\tPromise.all(promises).then(controllers => {\n\t\t\tlet defaultTab = controllers.findIndex(controller => controller.default)\n\t\t\tif (defaultTab === -1) defaultTab = 0\n\t\t\tthis.focusIndex = defaultTab\n\t\t\tcontrollers[defaultTab].active = true\n\t\t\tthis.controller = [...controllers]\n\t\t\tthis.reRender()\n\t\t})\n\t}\n\n\tprivate setActiveByIdentifier(identifier: string) {\n\t\tconst temp = []\n\t\tthis.controller.map(item => {\n\t\t\titem.active = identifier === item.triggerIdentifier || identifier === item.contentIdentifier\n\t\t\ttemp.push(item)\n\t\t})\n\t\tthis.controller = [...temp]\n\t}\n\n\tprivate reRender() {\n\t\tthis.controller.map(control => {\n\t\t\tcontrol.element.setActiveStatus(control.active)\n\t\t})\n\t}\n\n\t/*\n\tprivate evaluateControls() {\n\t\tthis.compactControls = false\n\t\tlet sumOfWidth = this.tabsRef.querySelector(\"ul\").offsetWidth\n\t\tthis.compactControls = this.tabsRef.offsetWidth < sumOfWidth\n\t}\n\t*/\n\n\tprivate resizeObserver() {\n\t\tconst resizeObserver = new ResizeObserver(\n\t\t\tthrottle(() => {\n\t\t\t\t// this.evaluateControls()\n\t\t\t}, 200)\n\t\t)\n\n\t\tresizeObserver.observe(this.tabsRef)\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={this.h.classes(TabsClass.root)}\n\t\t\t\tvariant={this.variant}\n\t\t\t\ttype={this.type}\n\t\t\t\trole=\"tablist\"\n\t\t\t\tref={el => (this.tabsRef = el as HTMLDivElement)}\n\t\t\t\taria-label={this.wcagLabel}\n\t\t\t\taria-labelledby={this.wcagLabelledBy}\n\t\t\t\tonKeyDown={this.onKeydownHandler.bind(this)}\n\t\t\t>\n\t\t\t\t<div class={TabsClass.tabs} aria-hidden={toBoolAttr(this.compactControls)}>\n\t\t\t\t\t<ul class={TabsClass.list}>\n\t\t\t\t\t\t{this.controller.map((control, index) => (\n\t\t\t\t\t\t\t<li class={TabsClass.item}>\n\t\t\t\t\t\t\t\t{this.type == 'text' ? (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclass={TabsClass.btn}\n\t\t\t\t\t\t\t\t\t\tid={control.triggerIdentifier}\n\t\t\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => this.onSelectHandler(control, index)}\n\t\t\t\t\t\t\t\t\t\taria-selected={toBoolAttr(control.active)}\n\t\t\t\t\t\t\t\t\t\taria-controls={control.contentIdentifier}\n\t\t\t\t\t\t\t\t\t\ttabindex={control.active ? -1 : 0}\n\t\t\t\t\t\t\t\t\t\tref={el => (this.triggerRefs[control.triggerIdentifier] = el as HTMLInputElement)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<gov-badge\n\t\t\t\t\t\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\t\t\t\t\t\ttype={toBoolAttr(control.active) == 'true' ? 'solid' : 'outlined'}\n\t\t\t\t\t\t\t\t\t\ton-gov-click={() => this.onSelectHandler(control, index)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t\t\t</gov-badge>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\n\t\t\t\t<span id={this.formSelectId} hidden>\n\t\t\t\t\t{this.wcagSelectLabel}\n\t\t\t\t</span>\n\t\t\t\t{this.compactControls ? (\n\t\t\t\t\t<gov-form-select wcag-labelled-by={this.formSelectId} onGov-change={this.onChangeHandler.bind(this)}>\n\t\t\t\t\t\t{this.controller.map(control => (\n\t\t\t\t\t\t\t<option value={control.triggerIdentifier} selected={control.active}>\n\t\t\t\t\t\t\t\t{control.label}\n\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</gov-form-select>\n\t\t\t\t) : null}\n\n\t\t\t\t<slot></slot>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate getCurrentTab(): GovTabControllerItem | null {\n\t\treturn this.controller.find(control => control.active) || null\n\t}\n\n\tprivate onSelectHandler(control: GovTabControllerItem, index: number) {\n\t\tthis.focusIndex = index\n\t\tthis.setActiveByIdentifier(control.triggerIdentifier)\n\t\tthis.reRender()\n\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t}\n\n\tprivate onChangeHandler(e: CustomEvent) {\n\t\tconst triggerId = (e.target as HTMLSelectElement).value\n\t\te.stopPropagation()\n\t\tthis.setActiveByIdentifier(triggerId)\n\t\tthis.reRender()\n\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t}\n\n\tprivate onKeydownHandler(e: KeyboardEvent) {\n\t\tconst keyCode = e.keyCode\n\t\te.stopPropagation()\n\t\tif (keyCode === 39 || keyCode === 37) {\n\t\t\tif (false === (this.focusIndex >= 0 && this.focusIndex <= this.controller.length - 1)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.controller[this.focusIndex].active = false\n\t\t\tif (keyCode === 39) {\n\t\t\t\tthis.focusIndex++\n\t\t\t\tif (this.focusIndex >= this.controller.length) {\n\t\t\t\t\tthis.focusIndex = 0\n\t\t\t\t}\n\t\t\t} else if (keyCode === 37) {\n\t\t\t\tthis.focusIndex--\n\t\t\t\tif (this.focusIndex < 0) {\n\t\t\t\t\tthis.focusIndex = this.controller.length - 1\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this.focusIndex >= 0 && this.focusIndex <= this.controller.length - 1) {\n\t\t\t\tconst current = this.controller[this.focusIndex]\n\t\t\t\tcurrent.active = true\n\t\t\t\tthis.triggerRefs[current.triggerIdentifier].focus()\n\t\t\t\tthis.controller = [...this.controller]\n\t\t\t\tthis.reRender()\n\t\t\t\tthis.govChange.emit(this.getCurrentTab().element)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync refresh(): Promise<void> {\n\t\tthis.prepareDataSource()\n\t}\n\n\t/**\n\t * Returns the currently selected tabs-item\n\t */\n\t@Method()\n\tasync currentTab(): Promise<Nullable<HTMLGovTabsItemElement>> {\n\t\treturn this.getCurrentTab().element || null\n\t}\n\n\t/**\n\t * Regenerate tabs controllers\n\t */\n\t@Method()\n\tasync setActiveTab(identifier: string): Promise<void> {\n\t\tthis.setActiveByIdentifier(identifier)\n\t\tthis.reRender()\n\t}\n\n\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagProp(this.wcagSelectLabel, 'wcag-select-label', TabsClass.root)\n\t\tvalidateWcagLabel(this.wcagLabel, this.wcagLabelledBy, TabsClass.root)\n\t}\n}\n"]}
|
|
@@ -260,6 +260,12 @@ export const GovSideNavItem: {
|
|
|
260
260
|
new (): GovSideNavItem;
|
|
261
261
|
};
|
|
262
262
|
|
|
263
|
+
interface GovSkeleton extends Components.GovSkeleton, HTMLElement {}
|
|
264
|
+
export const GovSkeleton: {
|
|
265
|
+
prototype: GovSkeleton;
|
|
266
|
+
new (): GovSkeleton;
|
|
267
|
+
};
|
|
268
|
+
|
|
263
269
|
interface GovSpacer extends Components.GovSpacer, HTMLElement {}
|
|
264
270
|
export const GovSpacer: {
|
|
265
271
|
prototype: GovSpacer;
|