@govtechsg/sgds-web-component 2.0.1 → 2.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/package.json +1 -1
- package/react/accordion/index.cjs.js +2 -1
- package/react/accordion/index.cjs.js.map +1 -1
- package/react/accordion/index.js +2 -1
- package/react/accordion/index.js.map +1 -1
- package/react/accordion-item/index.cjs.js +2 -1
- package/react/accordion-item/index.cjs.js.map +1 -1
- package/react/accordion-item/index.js +2 -1
- package/react/accordion-item/index.js.map +1 -1
- package/react/action-card/index.cjs.js +2 -1
- package/react/action-card/index.cjs.js.map +1 -1
- package/react/action-card/index.js +2 -1
- package/react/action-card/index.js.map +1 -1
- package/react/alert/index.cjs.js +2 -1
- package/react/alert/index.cjs.js.map +1 -1
- package/react/alert/index.js +2 -1
- package/react/alert/index.js.map +1 -1
- package/react/alert-heading/index.cjs.js +2 -1
- package/react/alert-heading/index.cjs.js.map +1 -1
- package/react/alert-heading/index.js +2 -1
- package/react/alert-heading/index.js.map +1 -1
- package/react/alert-link/index.cjs.js +2 -1
- package/react/alert-link/index.cjs.js.map +1 -1
- package/react/alert-link/index.js +2 -1
- package/react/alert-link/index.js.map +1 -1
- package/react/badge/index.cjs.js +2 -1
- package/react/badge/index.cjs.js.map +1 -1
- package/react/badge/index.js +2 -1
- package/react/badge/index.js.map +1 -1
- package/{base → react/base}/card-element.cjs.js +1 -0
- package/react/base/card-element.cjs.js.map +1 -0
- package/react/base/card-element.js +26 -0
- package/react/base/card-element.js.map +1 -0
- package/{base → react/base}/card.cjs.js +1 -0
- package/{components/Card → react/base}/card.cjs.js.map +1 -1
- package/react/base/card.js +7 -0
- package/react/base/card.js.map +1 -0
- package/{base → react/base}/dropdown-element.cjs.js +1 -0
- package/react/base/dropdown-element.cjs.js.map +1 -0
- package/react/base/dropdown-element.js +174 -0
- package/react/base/dropdown-element.js.map +1 -0
- package/{base → react/base}/dropdown-list-element.cjs.js +1 -0
- package/react/base/dropdown-list-element.cjs.js.map +1 -0
- package/react/base/dropdown-list-element.js +130 -0
- package/react/base/dropdown-list-element.js.map +1 -0
- package/{base → react/base}/form-check-element.cjs.js +1 -0
- package/react/base/form-check-element.cjs.js.map +1 -0
- package/react/base/form-check-element.js +167 -0
- package/react/base/form-check-element.js.map +1 -0
- package/{base → react/base}/link-element.cjs.js +1 -0
- package/react/base/link-element.cjs.js.map +1 -0
- package/react/base/link-element.js +53 -0
- package/react/base/link-element.js.map +1 -0
- package/{base → react/base}/sgds-element.cjs.js +1 -0
- package/react/base/sgds-element.cjs.js.map +1 -0
- package/{base → react/base}/sgds-element.cjs2.js +1 -0
- package/{base → react/base}/sgds-element.cjs2.js.map +1 -1
- package/react/base/sgds-element.js +24 -0
- package/react/base/sgds-element.js.map +1 -0
- package/react/base/sgds-element2.js +7 -0
- package/react/base/sgds-element2.js.map +1 -0
- package/react/breadcrumb/index.cjs.js +2 -1
- package/react/breadcrumb/index.cjs.js.map +1 -1
- package/react/breadcrumb/index.js +2 -1
- package/react/breadcrumb/index.js.map +1 -1
- package/react/breadcrumb-item/index.cjs.js +2 -1
- package/react/breadcrumb-item/index.cjs.js.map +1 -1
- package/react/breadcrumb-item/index.js +2 -1
- package/react/breadcrumb-item/index.js.map +1 -1
- package/react/button/index.cjs.js +2 -1
- package/react/button/index.cjs.js.map +1 -1
- package/react/button/index.js +2 -1
- package/react/button/index.js.map +1 -1
- package/react/card/index.cjs.js +2 -1
- package/react/card/index.cjs.js.map +1 -1
- package/react/card/index.js +2 -1
- package/react/card/index.js.map +1 -1
- package/react/checkbox/index.cjs.js +2 -1
- package/react/checkbox/index.cjs.js.map +1 -1
- package/react/checkbox/index.js +2 -1
- package/react/checkbox/index.js.map +1 -1
- package/react/combo-box/index.cjs.js +2 -1
- package/react/combo-box/index.cjs.js.map +1 -1
- package/react/combo-box/index.js +2 -1
- package/react/combo-box/index.js.map +1 -1
- package/{components → react/components}/Accordion/accordion-item.cjs.js +1 -0
- package/{components → react/components}/Accordion/accordion-item.cjs.js.map +1 -1
- package/react/components/Accordion/accordion-item.js +7 -0
- package/react/components/Accordion/accordion-item.js.map +1 -0
- package/{components → react/components}/Accordion/accordion.cjs.js +1 -0
- package/{components → react/components}/Accordion/accordion.cjs.js.map +1 -1
- package/react/components/Accordion/accordion.js +7 -0
- package/react/components/Accordion/accordion.js.map +1 -0
- package/{components → react/components}/Accordion/sgds-accordion-item.cjs.js +1 -0
- package/react/components/Accordion/sgds-accordion-item.cjs.js.map +1 -0
- package/react/components/Accordion/sgds-accordion-item.js +204 -0
- package/react/components/Accordion/sgds-accordion-item.js.map +1 -0
- package/{components → react/components}/Accordion/sgds-accordion.cjs.js +1 -0
- package/react/components/Accordion/sgds-accordion.cjs.js.map +1 -0
- package/react/components/Accordion/sgds-accordion.js +87 -0
- package/react/components/Accordion/sgds-accordion.js.map +1 -0
- package/{components → react/components}/ActionCard/action-card.cjs.js +1 -0
- package/{components → react/components}/ActionCard/action-card.cjs.js.map +1 -1
- package/react/components/ActionCard/action-card.js +7 -0
- package/react/components/ActionCard/action-card.js.map +1 -0
- package/{components → react/components}/ActionCard/sgds-action-card.cjs.js +1 -0
- package/react/components/ActionCard/sgds-action-card.cjs.js.map +1 -0
- package/react/components/ActionCard/sgds-action-card.js +155 -0
- package/react/components/ActionCard/sgds-action-card.js.map +1 -0
- package/{components → react/components}/Alert/alert-link.cjs.js +1 -0
- package/{components → react/components}/Alert/alert-link.cjs.js.map +1 -1
- package/react/components/Alert/alert-link.js +7 -0
- package/react/components/Alert/alert-link.js.map +1 -0
- package/{components → react/components}/Alert/alert.cjs.js +1 -0
- package/{components → react/components}/Alert/alert.cjs.js.map +1 -1
- package/react/components/Alert/alert.js +7 -0
- package/react/components/Alert/alert.js.map +1 -0
- package/{components → react/components}/Alert/sgds-alert-heading.cjs.js +1 -0
- package/react/components/Alert/sgds-alert-heading.cjs.js.map +1 -0
- package/react/components/Alert/sgds-alert-heading.js +33 -0
- package/react/components/Alert/sgds-alert-heading.js.map +1 -0
- package/{components → react/components}/Alert/sgds-alert-link.cjs.js +1 -0
- package/react/components/Alert/sgds-alert-link.cjs.js.map +1 -0
- package/react/components/Alert/sgds-alert-link.js +32 -0
- package/react/components/Alert/sgds-alert-link.js.map +1 -0
- package/{components → react/components}/Alert/sgds-alert.cjs.js +1 -0
- package/react/components/Alert/sgds-alert.cjs.js.map +1 -0
- package/react/components/Alert/sgds-alert.js +90 -0
- package/react/components/Alert/sgds-alert.js.map +1 -0
- package/{components → react/components}/Badge/badge.cjs.js +1 -0
- package/{components → react/components}/Badge/badge.cjs.js.map +1 -1
- package/react/components/Badge/badge.js +7 -0
- package/react/components/Badge/badge.js.map +1 -0
- package/{components → react/components}/Badge/sgds-badge.cjs.js +1 -0
- package/react/components/Badge/sgds-badge.cjs.js.map +1 -0
- package/react/components/Badge/sgds-badge.js +53 -0
- package/react/components/Badge/sgds-badge.js.map +1 -0
- package/{components → react/components}/Breadcrumb/breadcrumb-item.cjs.js +1 -0
- package/{components → react/components}/Breadcrumb/breadcrumb-item.cjs.js.map +1 -1
- package/react/components/Breadcrumb/breadcrumb-item.js +7 -0
- package/react/components/Breadcrumb/breadcrumb-item.js.map +1 -0
- package/{components → react/components}/Breadcrumb/breadcrumb.cjs.js +1 -0
- package/{components → react/components}/Breadcrumb/breadcrumb.cjs.js.map +1 -1
- package/react/components/Breadcrumb/breadcrumb.js +7 -0
- package/react/components/Breadcrumb/breadcrumb.js.map +1 -0
- package/{components → react/components}/Breadcrumb/sgds-breadcrumb-item.cjs.js +1 -0
- package/react/components/Breadcrumb/sgds-breadcrumb-item.cjs.js.map +1 -0
- package/react/components/Breadcrumb/sgds-breadcrumb-item.js +65 -0
- package/react/components/Breadcrumb/sgds-breadcrumb-item.js.map +1 -0
- package/{components → react/components}/Breadcrumb/sgds-breadcrumb.cjs.js +1 -0
- package/react/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +1 -0
- package/react/components/Breadcrumb/sgds-breadcrumb.js +82 -0
- package/react/components/Breadcrumb/sgds-breadcrumb.js.map +1 -0
- package/{components → react/components}/Button/button.cjs.js +1 -0
- package/{components → react/components}/Button/button.cjs.js.map +1 -1
- package/react/components/Button/button.js +7 -0
- package/react/components/Button/button.js.map +1 -0
- package/{components → react/components}/Button/sgds-button.cjs.js +1 -0
- package/react/components/Button/sgds-button.cjs.js.map +1 -0
- package/react/components/Button/sgds-button.js +166 -0
- package/react/components/Button/sgds-button.js.map +1 -0
- package/{components → react/components}/Card/card.cjs.js +1 -0
- package/{base → react/components/Card}/card.cjs.js.map +1 -1
- package/react/components/Card/card.js +7 -0
- package/react/components/Card/card.js.map +1 -0
- package/{components → react/components}/Card/sgds-card.cjs.js +1 -0
- package/react/components/Card/sgds-card.cjs.js.map +1 -0
- package/react/components/Card/sgds-card.js +76 -0
- package/react/components/Card/sgds-card.js.map +1 -0
- package/{components → react/components}/Checkbox/checkbox.cjs.js +1 -0
- package/{components → react/components}/Checkbox/checkbox.cjs.js.map +1 -1
- package/react/components/Checkbox/checkbox.js +7 -0
- package/react/components/Checkbox/checkbox.js.map +1 -0
- package/{components → react/components}/Checkbox/sgds-checkbox.cjs.js +1 -0
- package/react/components/Checkbox/sgds-checkbox.cjs.js.map +1 -0
- package/react/components/Checkbox/sgds-checkbox.js +26 -0
- package/react/components/Checkbox/sgds-checkbox.js.map +1 -0
- package/{components → react/components}/ComboBox/combo-box.cjs.js +1 -0
- package/{components → react/components}/ComboBox/combo-box.cjs.js.map +1 -1
- package/react/components/ComboBox/combo-box.js +7 -0
- package/react/components/ComboBox/combo-box.js.map +1 -0
- package/{components → react/components}/ComboBox/sgds-combo-box.cjs.js +1 -0
- package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -0
- package/react/components/ComboBox/sgds-combo-box.js +194 -0
- package/react/components/ComboBox/sgds-combo-box.js.map +1 -0
- package/{components → react/components}/Datepicker/datepicker-calendar.cjs.js +1 -0
- package/react/components/Datepicker/datepicker-calendar.cjs.js.map +1 -0
- package/{components → react/components}/Datepicker/datepicker-calendar.cjs2.js +1 -0
- package/{components → react/components}/Datepicker/datepicker-calendar.cjs2.js.map +1 -1
- package/react/components/Datepicker/datepicker-calendar.js +458 -0
- package/react/components/Datepicker/datepicker-calendar.js.map +1 -0
- package/react/components/Datepicker/datepicker-calendar2.js +7 -0
- package/react/components/Datepicker/datepicker-calendar2.js.map +1 -0
- package/{components → react/components}/Datepicker/datepicker-header.cjs.js +1 -0
- package/react/components/Datepicker/datepicker-header.cjs.js.map +1 -0
- package/{components → react/components}/Datepicker/datepicker-header.cjs2.js +1 -0
- package/{components → react/components}/Datepicker/datepicker-header.cjs2.js.map +1 -1
- package/react/components/Datepicker/datepicker-header.js +227 -0
- package/react/components/Datepicker/datepicker-header.js.map +1 -0
- package/react/components/Datepicker/datepicker-header2.js +7 -0
- package/react/components/Datepicker/datepicker-header2.js.map +1 -0
- package/{components → react/components}/Datepicker/datepicker-input.cjs.js +1 -0
- package/react/components/Datepicker/datepicker-input.cjs.js.map +1 -0
- package/{components → react/components}/Datepicker/datepicker-input.cjs2.js +1 -0
- package/{components → react/components}/Datepicker/datepicker-input.cjs2.js.map +1 -1
- package/react/components/Datepicker/datepicker-input.js +150 -0
- package/react/components/Datepicker/datepicker-input.js.map +1 -0
- package/react/components/Datepicker/datepicker-input2.js +7 -0
- package/react/components/Datepicker/datepicker-input2.js.map +1 -0
- package/{components → react/components}/Datepicker/datepicker.cjs.js +1 -0
- package/{components → react/components}/Datepicker/datepicker.cjs.js.map +1 -1
- package/react/components/Datepicker/datepicker.js +7 -0
- package/react/components/Datepicker/datepicker.js.map +1 -0
- package/{components → react/components}/Datepicker/sgds-datepicker.cjs.js +1 -0
- package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -0
- package/react/components/Datepicker/sgds-datepicker.js +484 -0
- package/react/components/Datepicker/sgds-datepicker.js.map +1 -0
- package/{components → react/components}/Drawer/drawer.cjs.js +1 -0
- package/{components → react/components}/Drawer/drawer.cjs.js.map +1 -1
- package/react/components/Drawer/drawer.js +7 -0
- package/react/components/Drawer/drawer.js.map +1 -0
- package/{components → react/components}/Drawer/sgds-drawer.cjs.js +1 -0
- package/react/components/Drawer/sgds-drawer.cjs.js.map +1 -0
- package/react/components/Drawer/sgds-drawer.js +413 -0
- package/react/components/Drawer/sgds-drawer.js.map +1 -0
- package/{components → react/components}/Dropdown/dropdown.cjs.js +1 -0
- package/{components → react/components}/Dropdown/dropdown.cjs.js.map +1 -1
- package/react/components/Dropdown/dropdown.js +7 -0
- package/react/components/Dropdown/dropdown.js.map +1 -0
- package/{components → react/components}/Dropdown/sgds-dropdown-item.cjs.js +1 -0
- package/react/components/Dropdown/sgds-dropdown-item.cjs.js.map +1 -0
- package/react/components/Dropdown/sgds-dropdown-item.js +47 -0
- package/react/components/Dropdown/sgds-dropdown-item.js.map +1 -0
- package/{components → react/components}/Dropdown/sgds-dropdown.cjs.js +1 -0
- package/react/components/Dropdown/sgds-dropdown.cjs.js.map +1 -0
- package/react/components/Dropdown/sgds-dropdown.js +117 -0
- package/react/components/Dropdown/sgds-dropdown.js.map +1 -0
- package/{components → react/components}/FileUpload/file-upload.cjs.js +1 -0
- package/{components → react/components}/FileUpload/file-upload.cjs.js.map +1 -1
- package/react/components/FileUpload/file-upload.js +7 -0
- package/react/components/FileUpload/file-upload.js.map +1 -0
- package/{components → react/components}/FileUpload/sgds-file-upload.cjs.js +1 -0
- package/react/components/FileUpload/sgds-file-upload.cjs.js.map +1 -0
- package/react/components/FileUpload/sgds-file-upload.js +208 -0
- package/react/components/FileUpload/sgds-file-upload.js.map +1 -0
- package/{components → react/components}/Footer/footer.cjs.js +1 -0
- package/{components → react/components}/Footer/footer.cjs.js.map +1 -1
- package/react/components/Footer/footer.js +7 -0
- package/react/components/Footer/footer.js.map +1 -0
- package/{components → react/components}/Footer/sgds-footer.cjs.js +1 -0
- package/react/components/Footer/sgds-footer.cjs.js.map +1 -0
- package/react/components/Footer/sgds-footer.js +155 -0
- package/react/components/Footer/sgds-footer.js.map +1 -0
- package/{components → react/components}/Input/input.cjs.js +1 -0
- package/{components → react/components}/Input/input.cjs.js.map +1 -1
- package/react/components/Input/input.js +7 -0
- package/react/components/Input/input.js.map +1 -0
- package/{components → react/components}/Input/sgds-input.cjs.js +1 -0
- package/react/components/Input/sgds-input.cjs.js.map +1 -0
- package/react/components/Input/sgds-input.js +262 -0
- package/react/components/Input/sgds-input.js.map +1 -0
- package/{components → react/components}/Mainnav/mainnav-dropdown.cjs.js +1 -0
- package/{components → react/components}/Mainnav/mainnav-dropdown.cjs.js.map +1 -1
- package/react/components/Mainnav/mainnav-dropdown.js +7 -0
- package/react/components/Mainnav/mainnav-dropdown.js.map +1 -0
- package/{components → react/components}/Mainnav/mainnav-item.cjs.js +1 -0
- package/{components → react/components}/Mainnav/mainnav-item.cjs.js.map +1 -1
- package/react/components/Mainnav/mainnav-item.js +7 -0
- package/react/components/Mainnav/mainnav-item.js.map +1 -0
- package/{components → react/components}/Mainnav/mainnav.cjs.js +1 -0
- package/{components → react/components}/Mainnav/mainnav.cjs.js.map +1 -1
- package/react/components/Mainnav/mainnav.js +7 -0
- package/react/components/Mainnav/mainnav.js.map +1 -0
- package/{components → react/components}/Mainnav/sgds-mainnav-dropdown.cjs.js +1 -0
- package/react/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +1 -0
- package/react/components/Mainnav/sgds-mainnav-dropdown.js +85 -0
- package/react/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -0
- package/{components → react/components}/Mainnav/sgds-mainnav-item.cjs.js +1 -0
- package/react/components/Mainnav/sgds-mainnav-item.cjs.js.map +1 -0
- package/react/components/Mainnav/sgds-mainnav-item.js +14 -0
- package/react/components/Mainnav/sgds-mainnav-item.js.map +1 -0
- package/{components → react/components}/Mainnav/sgds-mainnav.cjs.js +1 -0
- package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -0
- package/react/components/Mainnav/sgds-mainnav.js +227 -0
- package/react/components/Mainnav/sgds-mainnav.js.map +1 -0
- package/{components → react/components}/Masthead/masthead.cjs.js +1 -0
- package/{components → react/components}/Masthead/masthead.cjs.js.map +1 -1
- package/react/components/Masthead/masthead.js +7 -0
- package/react/components/Masthead/masthead.js.map +1 -0
- package/{components → react/components}/Masthead/sgds-masthead.cjs.js +1 -0
- package/react/components/Masthead/sgds-masthead.cjs.js.map +1 -0
- package/react/components/Masthead/sgds-masthead.js +182 -0
- package/react/components/Masthead/sgds-masthead.js.map +1 -0
- package/{components → react/components}/Modal/modal.cjs.js +1 -0
- package/{components → react/components}/Modal/modal.cjs.js.map +1 -1
- package/react/components/Modal/modal.js +7 -0
- package/react/components/Modal/modal.js.map +1 -0
- package/{components → react/components}/Modal/sgds-modal.cjs.js +1 -0
- package/react/components/Modal/sgds-modal.cjs.js.map +1 -0
- package/react/components/Modal/sgds-modal.js +340 -0
- package/react/components/Modal/sgds-modal.js.map +1 -0
- package/{components → react/components}/Pagination/pagination.cjs.js +1 -0
- package/{components → react/components}/Pagination/pagination.cjs.js.map +1 -1
- package/react/components/Pagination/pagination.js +7 -0
- package/react/components/Pagination/pagination.js.map +1 -0
- package/{components → react/components}/Pagination/sgds-pagination.cjs.js +1 -0
- package/react/components/Pagination/sgds-pagination.cjs.js.map +1 -0
- package/react/components/Pagination/sgds-pagination.js +364 -0
- package/react/components/Pagination/sgds-pagination.js.map +1 -0
- package/{components → react/components}/Progress/progress-bar.cjs.js +1 -0
- package/{components → react/components}/Progress/progress-bar.cjs.js.map +1 -1
- package/react/components/Progress/progress-bar.js +7 -0
- package/react/components/Progress/progress-bar.js.map +1 -0
- package/{components → react/components}/Progress/progress.cjs.js +1 -0
- package/{components → react/components}/Progress/progress.cjs.js.map +1 -1
- package/react/components/Progress/progress.js +7 -0
- package/react/components/Progress/progress.js.map +1 -0
- package/{components → react/components}/Progress/sgds-progress-bar.cjs.js +1 -0
- package/react/components/Progress/sgds-progress-bar.cjs.js.map +1 -0
- package/react/components/Progress/sgds-progress-bar.js +59 -0
- package/react/components/Progress/sgds-progress-bar.js.map +1 -0
- package/{components → react/components}/Progress/sgds-progress.cjs.js +1 -0
- package/react/components/Progress/sgds-progress.cjs.js.map +1 -0
- package/react/components/Progress/sgds-progress.js +30 -0
- package/react/components/Progress/sgds-progress.js.map +1 -0
- package/{components → react/components}/QuantityToggle/quantity-toggle.cjs.js +1 -0
- package/{components → react/components}/QuantityToggle/quantity-toggle.cjs.js.map +1 -1
- package/react/components/QuantityToggle/quantity-toggle.js +7 -0
- package/react/components/QuantityToggle/quantity-toggle.js.map +1 -0
- package/{components → react/components}/QuantityToggle/sgds-quantity-toggle.cjs.js +1 -0
- package/react/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +1 -0
- package/react/components/QuantityToggle/sgds-quantity-toggle.js +210 -0
- package/react/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -0
- package/{components → react/components}/Radio/radio-group.cjs.js +1 -0
- package/{components → react/components}/Radio/radio-group.cjs.js.map +1 -1
- package/react/components/Radio/radio-group.js +7 -0
- package/react/components/Radio/radio-group.js.map +1 -0
- package/{components → react/components}/Radio/radio.cjs.js +1 -0
- package/{components → react/components}/Radio/radio.cjs.js.map +1 -1
- package/react/components/Radio/radio.js +7 -0
- package/react/components/Radio/radio.js.map +1 -0
- package/{components → react/components}/Radio/sgds-radio-group.cjs.js +1 -0
- package/react/components/Radio/sgds-radio-group.cjs.js.map +1 -0
- package/react/components/Radio/sgds-radio-group.js +240 -0
- package/react/components/Radio/sgds-radio-group.js.map +1 -0
- package/{components → react/components}/Radio/sgds-radio.cjs.js +1 -0
- package/react/components/Radio/sgds-radio.cjs.js.map +1 -0
- package/react/components/Radio/sgds-radio.js +138 -0
- package/react/components/Radio/sgds-radio.js.map +1 -0
- package/{components → react/components}/Sidenav/sgds-sidenav-item.cjs.js +1 -0
- package/react/components/Sidenav/sgds-sidenav-item.cjs.js.map +1 -0
- package/react/components/Sidenav/sgds-sidenav-item.js +256 -0
- package/react/components/Sidenav/sgds-sidenav-item.js.map +1 -0
- package/{components → react/components}/Sidenav/sgds-sidenav-link.cjs.js +1 -0
- package/react/components/Sidenav/sgds-sidenav-link.cjs.js.map +1 -0
- package/react/components/Sidenav/sgds-sidenav-link.js +18 -0
- package/react/components/Sidenav/sgds-sidenav-link.js.map +1 -0
- package/{components → react/components}/Sidenav/sgds-sidenav.cjs.js +1 -0
- package/react/components/Sidenav/sgds-sidenav.cjs.js.map +1 -0
- package/react/components/Sidenav/sgds-sidenav.js +75 -0
- package/react/components/Sidenav/sgds-sidenav.js.map +1 -0
- package/{components → react/components}/Sidenav/sidenav-item.cjs.js +1 -0
- package/{components → react/components}/Sidenav/sidenav-item.cjs.js.map +1 -1
- package/react/components/Sidenav/sidenav-item.js +7 -0
- package/react/components/Sidenav/sidenav-item.js.map +1 -0
- package/{components → react/components}/Sidenav/sidenav-link.cjs.js +1 -0
- package/{components → react/components}/Sidenav/sidenav-link.cjs.js.map +1 -1
- package/react/components/Sidenav/sidenav-link.js +7 -0
- package/react/components/Sidenav/sidenav-link.js.map +1 -0
- package/{components → react/components}/Sidenav/sidenav.cjs.js +1 -0
- package/{components → react/components}/Sidenav/sidenav.cjs.js.map +1 -1
- package/react/components/Sidenav/sidenav.js +7 -0
- package/react/components/Sidenav/sidenav.js.map +1 -0
- package/{components → react/components}/Spinner/sgds-spinner.cjs.js +1 -0
- package/react/components/Spinner/sgds-spinner.cjs.js.map +1 -0
- package/react/components/Spinner/sgds-spinner.js +38 -0
- package/react/components/Spinner/sgds-spinner.js.map +1 -0
- package/{components → react/components}/Spinner/spinner.cjs.js +1 -0
- package/{components → react/components}/Spinner/spinner.cjs.js.map +1 -1
- package/react/components/Spinner/spinner.js +8 -0
- package/react/components/Spinner/spinner.js.map +1 -0
- package/{components → react/components}/Stepper/sgds-stepper.cjs.js +1 -0
- package/react/components/Stepper/sgds-stepper.cjs.js.map +1 -0
- package/react/components/Stepper/sgds-stepper.js +132 -0
- package/react/components/Stepper/sgds-stepper.js.map +1 -0
- package/{components → react/components}/Stepper/stepper.cjs.js +1 -0
- package/{components → react/components}/Stepper/stepper.cjs.js.map +1 -1
- package/react/components/Stepper/stepper.js +7 -0
- package/react/components/Stepper/stepper.js.map +1 -0
- package/{components → react/components}/Tab/sgds-tab-group.cjs.js +1 -0
- package/react/components/Tab/sgds-tab-group.cjs.js.map +1 -0
- package/react/components/Tab/sgds-tab-group.js +233 -0
- package/react/components/Tab/sgds-tab-group.js.map +1 -0
- package/{components → react/components}/Tab/sgds-tab-panel.cjs.js +1 -0
- package/react/components/Tab/sgds-tab-panel.cjs.js.map +1 -0
- package/react/components/Tab/sgds-tab-panel.js +63 -0
- package/react/components/Tab/sgds-tab-panel.js.map +1 -0
- package/{components → react/components}/Tab/sgds-tab.cjs.js +1 -0
- package/react/components/Tab/sgds-tab.cjs.js.map +1 -0
- package/react/components/Tab/sgds-tab.js +110 -0
- package/react/components/Tab/sgds-tab.js.map +1 -0
- package/{components → react/components}/Tab/tab-group.cjs.js +1 -0
- package/{components → react/components}/Tab/tab-group.cjs.js.map +1 -1
- package/react/components/Tab/tab-group.js +7 -0
- package/react/components/Tab/tab-group.js.map +1 -0
- package/{components → react/components}/Tab/tab-panel.cjs.js +1 -0
- package/{components → react/components}/Tab/tab-panel.cjs.js.map +1 -1
- package/react/components/Tab/tab-panel.js +7 -0
- package/react/components/Tab/tab-panel.js.map +1 -0
- package/{components → react/components}/Tab/tab.cjs.js +1 -0
- package/{components → react/components}/Tab/tab.cjs.js.map +1 -1
- package/react/components/Tab/tab.js +7 -0
- package/react/components/Tab/tab.js.map +1 -0
- package/{components → react/components}/Table/sgds-table.cjs.js +1 -0
- package/react/components/Table/sgds-table.cjs.js.map +1 -0
- package/react/components/Table/sgds-table.js +267 -0
- package/react/components/Table/sgds-table.js.map +1 -0
- package/{components → react/components}/Table/table.cjs.js +1 -0
- package/{components → react/components}/Table/table.cjs.js.map +1 -1
- package/react/components/Table/table.js +7 -0
- package/react/components/Table/table.js.map +1 -0
- package/{components → react/components}/Textarea/sgds-textarea.cjs.js +1 -0
- package/react/components/Textarea/sgds-textarea.cjs.js.map +1 -0
- package/react/components/Textarea/sgds-textarea.js +252 -0
- package/react/components/Textarea/sgds-textarea.js.map +1 -0
- package/{components → react/components}/Textarea/textarea.cjs.js +1 -0
- package/{components → react/components}/Textarea/textarea.cjs.js.map +1 -1
- package/react/components/Textarea/textarea.js +7 -0
- package/react/components/Textarea/textarea.js.map +1 -0
- package/{components → react/components}/Toast/sgds-toast-container.cjs.js +1 -0
- package/react/components/Toast/sgds-toast-container.cjs.js.map +1 -0
- package/react/components/Toast/sgds-toast-container.js +36 -0
- package/react/components/Toast/sgds-toast-container.js.map +1 -0
- package/{components → react/components}/Toast/sgds-toast.cjs.js +1 -0
- package/react/components/Toast/sgds-toast.cjs.js.map +1 -0
- package/react/components/Toast/sgds-toast.js +152 -0
- package/react/components/Toast/sgds-toast.js.map +1 -0
- package/{components → react/components}/Toast/toast-container.cjs.js +1 -0
- package/{components → react/components}/Toast/toast-container.cjs.js.map +1 -1
- package/react/components/Toast/toast-container.js +7 -0
- package/react/components/Toast/toast-container.js.map +1 -0
- package/{components → react/components}/Toast/toast.cjs.js +1 -0
- package/{components → react/components}/Toast/toast.cjs.js.map +1 -1
- package/react/components/Toast/toast.js +7 -0
- package/react/components/Toast/toast.js.map +1 -0
- package/{components → react/components}/Tooltip/sgds-tooltip.cjs.js +1 -0
- package/react/components/Tooltip/sgds-tooltip.cjs.js.map +1 -0
- package/react/components/Tooltip/sgds-tooltip.js +121 -0
- package/react/components/Tooltip/sgds-tooltip.js.map +1 -0
- package/{components → react/components}/Tooltip/tooltip.cjs.js +1 -0
- package/{components → react/components}/Tooltip/tooltip.cjs.js.map +1 -1
- package/react/components/Tooltip/tooltip.js +7 -0
- package/react/components/Tooltip/tooltip.js.map +1 -0
- package/react/datepicker/index.cjs.js +2 -1
- package/react/datepicker/index.cjs.js.map +1 -1
- package/react/datepicker/index.js +2 -1
- package/react/datepicker/index.js.map +1 -1
- package/react/drawer/index.cjs.js +2 -1
- package/react/drawer/index.cjs.js.map +1 -1
- package/react/drawer/index.js +2 -1
- package/react/drawer/index.js.map +1 -1
- package/react/dropdown/index.cjs.js +2 -1
- package/react/dropdown/index.cjs.js.map +1 -1
- package/react/dropdown/index.js +2 -1
- package/react/dropdown/index.js.map +1 -1
- package/react/dropdown-item/index.cjs.js +2 -1
- package/react/dropdown-item/index.cjs.js.map +1 -1
- package/react/dropdown-item/index.js +2 -1
- package/react/dropdown-item/index.js.map +1 -1
- package/react/file-upload/index.cjs.js +2 -1
- package/react/file-upload/index.cjs.js.map +1 -1
- package/react/file-upload/index.js +2 -1
- package/react/file-upload/index.js.map +1 -1
- package/react/footer/index.cjs.js +2 -1
- package/react/footer/index.cjs.js.map +1 -1
- package/react/footer/index.js +2 -1
- package/react/footer/index.js.map +1 -1
- package/react/index.cjs.js +1 -0
- package/react/index.cjs.js.map +1 -1
- package/react/index.js +1 -0
- package/react/index.js.map +1 -1
- package/react/input/index.cjs.js +2 -1
- package/react/input/index.cjs.js.map +1 -1
- package/react/input/index.js +2 -1
- package/react/input/index.js.map +1 -1
- package/{internals → react/internals}/CloseButton/close-button.cjs.js +1 -0
- package/{internals → react/internals}/CloseButton/close-button.cjs.js.map +1 -1
- package/react/internals/CloseButton/close-button.js +7 -0
- package/react/internals/CloseButton/close-button.js.map +1 -0
- package/{internals → react/internals}/CloseButton/sgds-close-button.cjs.js +1 -0
- package/react/internals/CloseButton/sgds-close-button.cjs.js.map +1 -0
- package/react/internals/CloseButton/sgds-close-button.js +55 -0
- package/react/internals/CloseButton/sgds-close-button.js.map +1 -0
- package/react/mainnav/index.cjs.js +2 -1
- package/react/mainnav/index.cjs.js.map +1 -1
- package/react/mainnav/index.js +2 -1
- package/react/mainnav/index.js.map +1 -1
- package/react/mainnav-dropdown/index.cjs.js +2 -1
- package/react/mainnav-dropdown/index.cjs.js.map +1 -1
- package/react/mainnav-dropdown/index.js +2 -1
- package/react/mainnav-dropdown/index.js.map +1 -1
- package/react/mainnav-item/index.cjs.js +2 -1
- package/react/mainnav-item/index.cjs.js.map +1 -1
- package/react/mainnav-item/index.js +2 -1
- package/react/mainnav-item/index.js.map +1 -1
- package/react/masthead/index.cjs.js +2 -1
- package/react/masthead/index.cjs.js.map +1 -1
- package/react/masthead/index.js +2 -1
- package/react/masthead/index.js.map +1 -1
- package/react/modal/index.cjs.js +2 -1
- package/react/modal/index.cjs.js.map +1 -1
- package/react/modal/index.js +2 -1
- package/react/modal/index.js.map +1 -1
- package/react/pagination/index.cjs.js +2 -1
- package/react/pagination/index.cjs.js.map +1 -1
- package/react/pagination/index.js +2 -1
- package/react/pagination/index.js.map +1 -1
- package/react/progress/index.cjs.js +2 -1
- package/react/progress/index.cjs.js.map +1 -1
- package/react/progress/index.js +2 -1
- package/react/progress/index.js.map +1 -1
- package/react/progress-bar/index.cjs.js +2 -1
- package/react/progress-bar/index.cjs.js.map +1 -1
- package/react/progress-bar/index.js +2 -1
- package/react/progress-bar/index.js.map +1 -1
- package/react/quantity-toggle/index.cjs.js +2 -1
- package/react/quantity-toggle/index.cjs.js.map +1 -1
- package/react/quantity-toggle/index.js +2 -1
- package/react/quantity-toggle/index.js.map +1 -1
- package/react/radio/index.cjs.js +2 -1
- package/react/radio/index.cjs.js.map +1 -1
- package/react/radio/index.js +2 -1
- package/react/radio/index.js.map +1 -1
- package/react/radio-group/index.cjs.js +2 -1
- package/react/radio-group/index.cjs.js.map +1 -1
- package/react/radio-group/index.js +2 -1
- package/react/radio-group/index.js.map +1 -1
- package/react/sidenav/index.cjs.js +2 -1
- package/react/sidenav/index.cjs.js.map +1 -1
- package/react/sidenav/index.js +2 -1
- package/react/sidenav/index.js.map +1 -1
- package/react/sidenav-item/index.cjs.js +2 -1
- package/react/sidenav-item/index.cjs.js.map +1 -1
- package/react/sidenav-item/index.js +2 -1
- package/react/sidenav-item/index.js.map +1 -1
- package/react/sidenav-link/index.cjs.js +2 -1
- package/react/sidenav-link/index.cjs.js.map +1 -1
- package/react/sidenav-link/index.js +2 -1
- package/react/sidenav-link/index.js.map +1 -1
- package/react/spinner/index.cjs.js +2 -1
- package/react/spinner/index.cjs.js.map +1 -1
- package/react/spinner/index.js +2 -1
- package/react/spinner/index.js.map +1 -1
- package/react/stepper/index.cjs.js +2 -1
- package/react/stepper/index.cjs.js.map +1 -1
- package/react/stepper/index.js +2 -1
- package/react/stepper/index.js.map +1 -1
- package/{styles → react/styles}/anchor.cjs.js +1 -0
- package/{styles → react/styles}/anchor.cjs.js.map +1 -1
- package/react/styles/anchor.js +7 -0
- package/react/styles/anchor.js.map +1 -0
- package/{styles → react/styles}/bg-variants.cjs.js +1 -0
- package/{styles → react/styles}/bg-variants.cjs.js.map +1 -1
- package/react/styles/bg-variants.js +7 -0
- package/react/styles/bg-variants.js.map +1 -0
- package/{styles → react/styles}/border-variants.cjs.js +1 -0
- package/{styles → react/styles}/border-variants.cjs.js.map +1 -1
- package/react/styles/border-variants.js +7 -0
- package/react/styles/border-variants.js.map +1 -0
- package/{styles → react/styles}/feedback.cjs.js +1 -0
- package/{styles → react/styles}/feedback.cjs.js.map +1 -1
- package/react/styles/feedback.js +7 -0
- package/react/styles/feedback.js.map +1 -0
- package/{styles → react/styles}/form-hint.cjs.js +1 -0
- package/{styles → react/styles}/form-hint.cjs.js.map +1 -1
- package/react/styles/form-hint.js +7 -0
- package/react/styles/form-hint.js.map +1 -0
- package/{styles → react/styles}/form-label.cjs.js +1 -0
- package/{styles → react/styles}/form-label.cjs.js.map +1 -1
- package/react/styles/form-label.js +7 -0
- package/react/styles/form-label.js.map +1 -0
- package/{styles → react/styles}/header-class.cjs.js +1 -0
- package/{styles → react/styles}/header-class.cjs.js.map +1 -1
- package/react/styles/header-class.js +7 -0
- package/react/styles/header-class.js.map +1 -0
- package/{styles → react/styles}/paragraph.cjs.js +1 -0
- package/{styles → react/styles}/paragraph.cjs.js.map +1 -1
- package/react/styles/paragraph.js +7 -0
- package/react/styles/paragraph.js.map +1 -0
- package/{styles → react/styles}/svg.cjs.js +1 -0
- package/{styles → react/styles}/svg.cjs.js.map +1 -1
- package/react/styles/svg.js +7 -0
- package/react/styles/svg.js.map +1 -0
- package/{styles → react/styles}/text-variants.cjs.js +1 -0
- package/{styles → react/styles}/text-variants.cjs.js.map +1 -1
- package/react/styles/text-variants.js +7 -0
- package/react/styles/text-variants.js.map +1 -0
- package/react/tab/index.cjs.js +2 -1
- package/react/tab/index.cjs.js.map +1 -1
- package/react/tab/index.js +2 -1
- package/react/tab/index.js.map +1 -1
- package/react/tab-group/index.cjs.js +2 -1
- package/react/tab-group/index.cjs.js.map +1 -1
- package/react/tab-group/index.js +2 -1
- package/react/tab-group/index.js.map +1 -1
- package/react/tab-panel/index.cjs.js +2 -1
- package/react/tab-panel/index.cjs.js.map +1 -1
- package/react/tab-panel/index.js +2 -1
- package/react/tab-panel/index.js.map +1 -1
- package/react/table/index.cjs.js +2 -1
- package/react/table/index.cjs.js.map +1 -1
- package/react/table/index.js +2 -1
- package/react/table/index.js.map +1 -1
- package/react/textarea/index.cjs.js +2 -1
- package/react/textarea/index.cjs.js.map +1 -1
- package/react/textarea/index.js +2 -1
- package/react/textarea/index.js.map +1 -1
- package/react/toast/index.cjs.js +2 -1
- package/react/toast/index.cjs.js.map +1 -1
- package/react/toast/index.js +2 -1
- package/react/toast/index.js.map +1 -1
- package/react/toast-container/index.cjs.js +2 -1
- package/react/toast-container/index.cjs.js.map +1 -1
- package/react/toast-container/index.js +2 -1
- package/react/toast-container/index.js.map +1 -1
- package/react/tooltip/index.cjs.js +2 -1
- package/react/tooltip/index.cjs.js.map +1 -1
- package/react/tooltip/index.js +2 -1
- package/react/tooltip/index.js.map +1 -1
- package/{utils → react/utils}/animate.cjs.js +1 -0
- package/react/utils/animate.cjs.js.map +1 -0
- package/react/utils/animate.js +42 -0
- package/react/utils/animate.js.map +1 -0
- package/{utils → react/utils}/animation-registry.cjs.js +1 -0
- package/react/utils/animation-registry.cjs.js.map +1 -0
- package/react/utils/animation-registry.js +43 -0
- package/react/utils/animation-registry.js.map +1 -0
- package/{utils → react/utils}/breakpoints.cjs.js +1 -0
- package/react/utils/breakpoints.cjs.js.map +1 -0
- package/react/utils/breakpoints.js +9 -0
- package/react/utils/breakpoints.js.map +1 -0
- package/{utils → react/utils}/defaultvalue.cjs.js +1 -0
- package/react/utils/defaultvalue.cjs.js.map +1 -0
- package/react/utils/defaultvalue.js +25 -0
- package/react/utils/defaultvalue.js.map +1 -0
- package/{utils → react/utils}/event.cjs.js +1 -0
- package/react/utils/event.cjs.js.map +1 -0
- package/react/utils/event.js +16 -0
- package/react/utils/event.js.map +1 -0
- package/{utils → react/utils}/form.cjs.js +1 -0
- package/react/utils/form.cjs.js.map +1 -0
- package/react/utils/form.js +133 -0
- package/react/utils/form.js.map +1 -0
- package/{utils → react/utils}/generateId.cjs.js +1 -0
- package/react/utils/generateId.cjs.js.map +1 -0
- package/react/utils/generateId.js +7 -0
- package/react/utils/generateId.js.map +1 -0
- package/{utils → react/utils}/mergeDeep.cjs.js +1 -0
- package/react/utils/mergeDeep.cjs.js.map +1 -0
- package/react/utils/mergeDeep.js +26 -0
- package/react/utils/mergeDeep.js.map +1 -0
- package/{utils → react/utils}/modal.cjs.js +1 -0
- package/react/utils/modal.cjs.js.map +1 -0
- package/react/utils/modal.js +56 -0
- package/react/utils/modal.js.map +1 -0
- package/{utils → react/utils}/object.cjs.js +1 -0
- package/react/utils/object.cjs.js.map +1 -0
- package/react/utils/object.js +7 -0
- package/react/utils/object.js.map +1 -0
- package/{utils → react/utils}/scroll.cjs.js +1 -0
- package/react/utils/scroll.cjs.js.map +1 -0
- package/react/utils/scroll.js +22 -0
- package/react/utils/scroll.js.map +1 -0
- package/{utils → react/utils}/slot.cjs.js +1 -0
- package/react/utils/slot.cjs.js.map +1 -0
- package/react/utils/slot.js +53 -0
- package/react/utils/slot.js.map +1 -0
- package/{utils → react/utils}/tabbable.cjs.js +1 -0
- package/react/utils/tabbable.cjs.js.map +1 -0
- package/react/utils/tabbable.js +69 -0
- package/react/utils/tabbable.js.map +1 -0
- package/{utils → react/utils}/time.cjs.js +1 -0
- package/react/utils/time.cjs.js.map +1 -0
- package/react/utils/time.js +75 -0
- package/react/utils/time.js.map +1 -0
- package/{utils → react/utils}/watch.cjs.js +1 -0
- package/react/utils/watch.cjs.js.map +1 -0
- package/react/utils/watch.js +40 -0
- package/react/utils/watch.js.map +1 -0
- package/base/card-element.cjs.js.map +0 -1
- package/base/dropdown-element.cjs.js.map +0 -1
- package/base/dropdown-list-element.cjs.js.map +0 -1
- package/base/form-check-element.cjs.js.map +0 -1
- package/base/link-element.cjs.js.map +0 -1
- package/base/sgds-element.cjs.js.map +0 -1
- package/components/Accordion/sgds-accordion-item.cjs.js.map +0 -1
- package/components/Accordion/sgds-accordion.cjs.js.map +0 -1
- package/components/ActionCard/sgds-action-card.cjs.js.map +0 -1
- package/components/Alert/sgds-alert-heading.cjs.js.map +0 -1
- package/components/Alert/sgds-alert-link.cjs.js.map +0 -1
- package/components/Alert/sgds-alert.cjs.js.map +0 -1
- package/components/Badge/sgds-badge.cjs.js.map +0 -1
- package/components/Breadcrumb/sgds-breadcrumb-item.cjs.js.map +0 -1
- package/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +0 -1
- package/components/Button/sgds-button.cjs.js.map +0 -1
- package/components/Card/sgds-card.cjs.js.map +0 -1
- package/components/Checkbox/sgds-checkbox.cjs.js.map +0 -1
- package/components/ComboBox/sgds-combo-box.cjs.js.map +0 -1
- package/components/Datepicker/datepicker-calendar.cjs.js.map +0 -1
- package/components/Datepicker/datepicker-header.cjs.js.map +0 -1
- package/components/Datepicker/datepicker-input.cjs.js.map +0 -1
- package/components/Datepicker/sgds-datepicker.cjs.js.map +0 -1
- package/components/Drawer/sgds-drawer.cjs.js.map +0 -1
- package/components/Dropdown/sgds-dropdown-item.cjs.js.map +0 -1
- package/components/Dropdown/sgds-dropdown.cjs.js.map +0 -1
- package/components/FileUpload/sgds-file-upload.cjs.js.map +0 -1
- package/components/Footer/sgds-footer.cjs.js.map +0 -1
- package/components/Input/sgds-input.cjs.js.map +0 -1
- package/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +0 -1
- package/components/Mainnav/sgds-mainnav-item.cjs.js.map +0 -1
- package/components/Mainnav/sgds-mainnav.cjs.js.map +0 -1
- package/components/Masthead/sgds-masthead.cjs.js.map +0 -1
- package/components/Modal/sgds-modal.cjs.js.map +0 -1
- package/components/Pagination/sgds-pagination.cjs.js.map +0 -1
- package/components/Progress/sgds-progress-bar.cjs.js.map +0 -1
- package/components/Progress/sgds-progress.cjs.js.map +0 -1
- package/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +0 -1
- package/components/Radio/sgds-radio-group.cjs.js.map +0 -1
- package/components/Radio/sgds-radio.cjs.js.map +0 -1
- package/components/Sidenav/sgds-sidenav-item.cjs.js.map +0 -1
- package/components/Sidenav/sgds-sidenav-link.cjs.js.map +0 -1
- package/components/Sidenav/sgds-sidenav.cjs.js.map +0 -1
- package/components/Spinner/sgds-spinner.cjs.js.map +0 -1
- package/components/Stepper/sgds-stepper.cjs.js.map +0 -1
- package/components/Tab/sgds-tab-group.cjs.js.map +0 -1
- package/components/Tab/sgds-tab-panel.cjs.js.map +0 -1
- package/components/Tab/sgds-tab.cjs.js.map +0 -1
- package/components/Table/sgds-table.cjs.js.map +0 -1
- package/components/Textarea/sgds-textarea.cjs.js.map +0 -1
- package/components/Toast/sgds-toast-container.cjs.js.map +0 -1
- package/components/Toast/sgds-toast.cjs.js.map +0 -1
- package/components/Tooltip/sgds-tooltip.cjs.js.map +0 -1
- package/internals/CloseButton/sgds-close-button.cjs.js.map +0 -1
- package/utils/animate.cjs.js.map +0 -1
- package/utils/animation-registry.cjs.js.map +0 -1
- package/utils/breakpoints.cjs.js.map +0 -1
- package/utils/defaultvalue.cjs.js.map +0 -1
- package/utils/event.cjs.js.map +0 -1
- package/utils/form.cjs.js.map +0 -1
- package/utils/generateId.cjs.js.map +0 -1
- package/utils/mergeDeep.cjs.js.map +0 -1
- package/utils/modal.cjs.js.map +0 -1
- package/utils/object.cjs.js.map +0 -1
- package/utils/scroll.cjs.js.map +0 -1
- package/utils/slot.cjs.js.map +0 -1
- package/utils/tabbable.cjs.js.map +0 -1
- package/utils/time.cjs.js.map +0 -1
- package/utils/watch.cjs.js.map +0 -1
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { __decorate } from 'tslib';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import { property, state } from 'lit/decorators.js';
|
|
5
|
+
import SgdsElement from '../../base/sgds-element.js';
|
|
6
|
+
import css_248z$2 from './masthead.js';
|
|
7
|
+
import css_248z from '../../styles/svg.js';
|
|
8
|
+
import css_248z$1 from '../../styles/anchor.js';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @summary All .gov.sg digital services shall adopt The Official Government Banner for every page in the digital service and be placed at the top of the page.
|
|
12
|
+
*
|
|
13
|
+
* @cssproperty --masthead-mobile-font-size - Sets the padding left and right for viewport width 1024px and below
|
|
14
|
+
* @cssproperty --masthead-mobile-padding-x - Sets the font size for viewport width 1024px and below
|
|
15
|
+
* @cssproperty --masthead-fluid-padding-x - Sets the container-fluid padding left and right for viewport width 1024px and above
|
|
16
|
+
*/
|
|
17
|
+
class SgdsMasthead extends SgdsElement {
|
|
18
|
+
constructor() {
|
|
19
|
+
super(...arguments);
|
|
20
|
+
/**
|
|
21
|
+
* Sets the masthead container width to 100% for all breakpoints
|
|
22
|
+
*/
|
|
23
|
+
this.fluid = false;
|
|
24
|
+
/** @internal */
|
|
25
|
+
this.toggleVisibility = false;
|
|
26
|
+
}
|
|
27
|
+
/** @internal */
|
|
28
|
+
_toggleVisibility() {
|
|
29
|
+
this.toggleVisibility = !this.toggleVisibility;
|
|
30
|
+
}
|
|
31
|
+
render() {
|
|
32
|
+
return html `
|
|
33
|
+
<div id="sgds-masthead" class="sgds-masthead" aria-label="A Singapore Government Agency Website" role="banner">
|
|
34
|
+
<div class="${this.fluid ? "container-fluid" : "container"}">
|
|
35
|
+
<div class="row">
|
|
36
|
+
<div class="col">
|
|
37
|
+
<div class="masthead-layout">
|
|
38
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
|
39
|
+
<path
|
|
40
|
+
d="M5.17419 8.41308C5.17419 8.41308 4.54237 9.33755 5.36993 10.533C5.36993 10.533 5.50042 9.92422 6.80735 9.92422H8.37592C9.85727 9.92422 10.9678 8.45858 10.2707 6.94674C10.2707 6.94674 11.316 7.0598 11.6655 6.38282C12.0137 5.70652 11.6436 5.43559 11.1209 5.43559H8.48511C8.48511 5.92092 7.5923 5.98848 7.5923 5.43559H6.11094C6.11094 5.43559 4.99976 5.43559 4.97845 6.40557C4.97845 6.40557 5.22945 6.2477 5.47912 6.22564V6.48416C5.47912 6.48416 5.17419 6.54069 5.03238 6.61997C4.89124 6.69856 4.68418 6.91296 4.88058 7.46585C5.07632 8.01805 5.15289 8.20971 5.15289 8.20971C5.15289 8.20971 5.46913 7.92705 5.98112 7.92705H6.58032C7.64689 7.92705 7.45115 8.99837 6.38391 8.99837C5.31667 8.99837 5.17552 8.41239 5.17552 8.41239L5.17419 8.41308Z"
|
|
41
|
+
fill="#DB0000"
|
|
42
|
+
/>
|
|
43
|
+
<path
|
|
44
|
+
d="M10.7394 7.29696C10.7394 7.29696 11.0989 7.31971 11.3599 7.08325C11.3599 7.08325 13.7234 8.98942 10.2168 12.8231C6.70947 16.6575 9.42118 19.1393 9.42118 19.1393C9.42118 19.1393 8.79002 19.7701 9.14888 21C9.14888 21 7.69016 20.1472 6.57432 18.6988C4.9618 16.6058 3.97645 13.4036 8.40454 10.8494C8.40454 10.8494 11.3273 9.32722 10.7394 7.29696Z"
|
|
45
|
+
fill="#DB0000"
|
|
46
|
+
/>
|
|
47
|
+
<path
|
|
48
|
+
d="M7.12702 5.07507C7.12702 5.07507 7.59906 4.20299 8.69493 4.20299C9.55911 4.20299 9.75618 3.74385 9.75618 3.74385C9.75618 3.74385 10.133 3 12.0358 3C13.7795 3 14.9546 3.60184 15.9053 4.40567C15.9053 4.40567 13.3421 2.7594 10.8154 5.07507H7.12702Z"
|
|
49
|
+
fill="#DB0000"
|
|
50
|
+
/>
|
|
51
|
+
<path
|
|
52
|
+
d="M17.7861 10.5936C17.7135 7.87188 15.6803 4.95507 11.3094 5.12052C15.5791 1.37644 22.9852 9.736 16.8853 14.1281C16.8853 14.1281 17.906 12.6204 17.7861 10.5936Z"
|
|
53
|
+
fill="#DB0000"
|
|
54
|
+
/>
|
|
55
|
+
<path
|
|
56
|
+
d="M11.9632 5.42114C17.2927 5.25568 19.1955 11.8718 15.7534 14.8493L12.2974 16.5789C12.2974 16.5789 11.8473 15.0754 13.5178 13.3154C15.1882 11.5567 16.7994 8.2635 12.1822 6.09812C12.1822 6.09812 12.2694 5.64726 11.9645 5.42182L11.9632 5.42114Z"
|
|
57
|
+
fill="#DB0000"
|
|
58
|
+
/>
|
|
59
|
+
<path
|
|
60
|
+
d="M11.6869 6.90954C11.6869 6.90954 11.9485 6.65377 12.0358 6.44351C15.9998 8.15734 15.376 11.0604 13.0085 13.496C11.5564 15.0444 12.0065 16.7141 12.0065 16.7141C12.0065 16.7141 10.2355 17.8564 9.62498 18.8491C9.62498 18.8491 7.0604 16.5879 10.6123 12.8349C14.0977 9.15075 11.6869 6.90954 11.6869 6.90954Z"
|
|
61
|
+
fill="#DB0000"
|
|
62
|
+
/>
|
|
63
|
+
</svg>
|
|
64
|
+
<span>A Singapore Government Agency Website</span>
|
|
65
|
+
<div
|
|
66
|
+
class="sgds-masthead-button"
|
|
67
|
+
id="sgds-masthead-identify"
|
|
68
|
+
role="button"
|
|
69
|
+
aria-expanded="${this.toggleVisibility}"
|
|
70
|
+
aria-controls="sgds-masthead-content"
|
|
71
|
+
@click=${() => this._toggleVisibility()}
|
|
72
|
+
>
|
|
73
|
+
<span class="sgds-masthead-button-text">How to identify</span>
|
|
74
|
+
<svg
|
|
75
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
76
|
+
width="20"
|
|
77
|
+
height="20"
|
|
78
|
+
viewBox="0 0 20 20"
|
|
79
|
+
fill="currentColor"
|
|
80
|
+
class="sgds-masthead-identify-icon ${!this.toggleVisibility ? null : "show"}"
|
|
81
|
+
>
|
|
82
|
+
<path
|
|
83
|
+
d="M8.65188 6.85L8.64813 6.84625L10.0031 5.49125L17.0744 12.5625L15.7194 13.9175L10.0075 8.20562L4.2875 13.9256L2.9325 12.5706L8.6525 6.85062L8.65188 6.85Z"
|
|
84
|
+
fill="currentColor"
|
|
85
|
+
></path>
|
|
86
|
+
</svg>
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
|
|
93
|
+
<div
|
|
94
|
+
id="sgds-masthead-content"
|
|
95
|
+
class="container sgds-masthead-content ${this.toggleVisibility ? "show" : null}"
|
|
96
|
+
>
|
|
97
|
+
<div class="row">
|
|
98
|
+
<div class="col">
|
|
99
|
+
<div class="content-grid">
|
|
100
|
+
<div class="wrapper">
|
|
101
|
+
<div class="icon">
|
|
102
|
+
<svg
|
|
103
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
104
|
+
width="17"
|
|
105
|
+
height="17"
|
|
106
|
+
viewBox="0 0 17 17"
|
|
107
|
+
fill="none"
|
|
108
|
+
class="banner-icon"
|
|
109
|
+
>
|
|
110
|
+
<path
|
|
111
|
+
d="M0.166016 5.6665V9.00067H0.999349V13.9998H0.166016V16.4998H0.999349H3.49935H5.16602H7.66601H9.33268H11.8327H13.4993L15.9993 16.5007V16.4998H16.8327V13.9998H15.9993V9.00067H16.8327V5.6665L8.49935 0.666504L0.166016 5.6665ZM3.49935 13.9998V9.00067H5.16602V13.9998H3.49935ZM7.66601 13.9998V9.00067H9.33268V13.9998H7.66601ZM13.4993 13.9998H11.8327V9.00067H13.4993V13.9998ZM10.166 5.6665C10.166 6.58651 9.41935 7.33317 8.49935 7.33317C7.57935 7.33317 6.83268 6.58651 6.83268 5.6665C6.83268 4.7465 7.57935 3.99984 8.49935 3.99984C9.41935 3.99984 10.166 4.7465 10.166 5.6665Z"
|
|
112
|
+
fill="#242425"
|
|
113
|
+
></path>
|
|
114
|
+
</svg>
|
|
115
|
+
</div>
|
|
116
|
+
<div class="content">
|
|
117
|
+
<div class="title">Official website links end with .gov.sg</div>
|
|
118
|
+
<article>
|
|
119
|
+
Government agencies communicate via .gov.sg websites (e.g. go.gov.sg/open).<a
|
|
120
|
+
href="https://www.gov.sg/trusted-sites#govsites"
|
|
121
|
+
class="trusted-websites-link"
|
|
122
|
+
rel="noreferrer"
|
|
123
|
+
target="_blank"
|
|
124
|
+
>Trusted websites</a
|
|
125
|
+
>
|
|
126
|
+
</article>
|
|
127
|
+
</div>
|
|
128
|
+
</div>
|
|
129
|
+
<div class="wrapper">
|
|
130
|
+
<div class="icon">
|
|
131
|
+
<svg
|
|
132
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
133
|
+
width="15"
|
|
134
|
+
height="18"
|
|
135
|
+
viewBox="0 0 15 18"
|
|
136
|
+
fill="none"
|
|
137
|
+
class="banner-icon"
|
|
138
|
+
>
|
|
139
|
+
<path
|
|
140
|
+
d="M14.1663 9.00008C14.1663 8.08091 13.4188 7.33342 12.4997 7.33342H11.6663V4.83342C11.6663 2.53591 9.79717 0.666748 7.49967 0.666748C5.20217 0.666748 3.33301 2.53591 3.33301 4.83342V7.33342H2.49967C1.58051 7.33342 0.833008 8.08091 0.833008 9.00008V15.6667C0.833008 16.5859 1.58051 17.3334 2.49967 17.3334H12.4997C13.4188 17.3334 14.1663 16.5859 14.1663 15.6667V9.00008ZM4.99967 4.83342C4.99967 3.45508 6.12134 2.33341 7.49967 2.33341C8.87801 2.33341 9.99967 3.45508 9.99967 4.83342V7.33342H4.99967V4.83342Z"
|
|
141
|
+
fill="#242425"
|
|
142
|
+
></path>
|
|
143
|
+
</svg>
|
|
144
|
+
</div>
|
|
145
|
+
<div class="content">
|
|
146
|
+
<div class="title">Secure websites use HTTPS</div>
|
|
147
|
+
<article>
|
|
148
|
+
Look for a<b> lock </b>(<svg
|
|
149
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
150
|
+
width="15"
|
|
151
|
+
height="18"
|
|
152
|
+
viewBox="0 0 15 18"
|
|
153
|
+
fill="none"
|
|
154
|
+
class="banner-icon-inline"
|
|
155
|
+
>
|
|
156
|
+
<path
|
|
157
|
+
d="M14.1663 9.00008C14.1663 8.08091 13.4188 7.33342 12.4997 7.33342H11.6663V4.83342C11.6663 2.53591 9.79717 0.666748 7.49967 0.666748C5.20217 0.666748 3.33301 2.53591 3.33301 4.83342V7.33342H2.49967C1.58051 7.33342 0.833008 8.08091 0.833008 9.00008V15.6667C0.833008 16.5859 1.58051 17.3334 2.49967 17.3334H12.4997C13.4188 17.3334 14.1663 16.5859 14.1663 15.6667V9.00008ZM4.99967 4.83342C4.99967 3.45508 6.12134 2.33341 7.49967 2.33341C8.87801 2.33341 9.99967 3.45508 9.99967 4.83342V7.33342H4.99967V4.83342Z"
|
|
158
|
+
fill="#242425"
|
|
159
|
+
></path></svg
|
|
160
|
+
>) or https:// as an added precaution. Share sensitive information only on official, secure
|
|
161
|
+
websites.
|
|
162
|
+
</article>
|
|
163
|
+
</div>
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
</div>
|
|
168
|
+
</div>
|
|
169
|
+
</div>
|
|
170
|
+
`;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
SgdsMasthead.styles = [...SgdsElement.styles, css_248z, css_248z$1, css_248z$2];
|
|
174
|
+
__decorate([
|
|
175
|
+
property({ type: Boolean, reflect: true })
|
|
176
|
+
], SgdsMasthead.prototype, "fluid", void 0);
|
|
177
|
+
__decorate([
|
|
178
|
+
state()
|
|
179
|
+
], SgdsMasthead.prototype, "toggleVisibility", void 0);
|
|
180
|
+
|
|
181
|
+
export { SgdsMasthead, SgdsMasthead as default };
|
|
182
|
+
//# sourceMappingURL=sgds-masthead.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sgds-masthead.js","sources":["../../../../src/components/Masthead/sgds-masthead.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport mastheadStyle from \"./masthead.css\";\nimport svgStyles from \"../../styles/svg.css\";\nimport anchorStyles from \"../../styles/anchor.css\";\n\n/**\n * @summary All .gov.sg digital services shall adopt The Official Government Banner for every page in the digital service and be placed at the top of the page.\n *\n * @cssproperty --masthead-mobile-font-size - Sets the padding left and right for viewport width 1024px and below\n * @cssproperty --masthead-mobile-padding-x - Sets the font size for viewport width 1024px and below\n * @cssproperty --masthead-fluid-padding-x - Sets the container-fluid padding left and right for viewport width 1024px and above\n */\nexport class SgdsMasthead extends SgdsElement {\n static styles = [...SgdsElement.styles, svgStyles, anchorStyles, mastheadStyle];\n\n /**\n * Sets the masthead container width to 100% for all breakpoints\n */\n @property({ type: Boolean, reflect: true })\n fluid = false;\n\n /** @internal */\n @state()\n toggleVisibility = false;\n\n /** @internal */\n private _toggleVisibility() {\n this.toggleVisibility = !this.toggleVisibility;\n }\n\n render() {\n return html`\n <div id=\"sgds-masthead\" class=\"sgds-masthead\" aria-label=\"A Singapore Government Agency Website\" role=\"banner\">\n <div class=\"${this.fluid ? \"container-fluid\" : \"container\"}\">\n <div class=\"row\">\n <div class=\"col\">\n <div class=\"masthead-layout\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path\n d=\"M5.17419 8.41308C5.17419 8.41308 4.54237 9.33755 5.36993 10.533C5.36993 10.533 5.50042 9.92422 6.80735 9.92422H8.37592C9.85727 9.92422 10.9678 8.45858 10.2707 6.94674C10.2707 6.94674 11.316 7.0598 11.6655 6.38282C12.0137 5.70652 11.6436 5.43559 11.1209 5.43559H8.48511C8.48511 5.92092 7.5923 5.98848 7.5923 5.43559H6.11094C6.11094 5.43559 4.99976 5.43559 4.97845 6.40557C4.97845 6.40557 5.22945 6.2477 5.47912 6.22564V6.48416C5.47912 6.48416 5.17419 6.54069 5.03238 6.61997C4.89124 6.69856 4.68418 6.91296 4.88058 7.46585C5.07632 8.01805 5.15289 8.20971 5.15289 8.20971C5.15289 8.20971 5.46913 7.92705 5.98112 7.92705H6.58032C7.64689 7.92705 7.45115 8.99837 6.38391 8.99837C5.31667 8.99837 5.17552 8.41239 5.17552 8.41239L5.17419 8.41308Z\"\n fill=\"#DB0000\"\n />\n <path\n d=\"M10.7394 7.29696C10.7394 7.29696 11.0989 7.31971 11.3599 7.08325C11.3599 7.08325 13.7234 8.98942 10.2168 12.8231C6.70947 16.6575 9.42118 19.1393 9.42118 19.1393C9.42118 19.1393 8.79002 19.7701 9.14888 21C9.14888 21 7.69016 20.1472 6.57432 18.6988C4.9618 16.6058 3.97645 13.4036 8.40454 10.8494C8.40454 10.8494 11.3273 9.32722 10.7394 7.29696Z\"\n fill=\"#DB0000\"\n />\n <path\n d=\"M7.12702 5.07507C7.12702 5.07507 7.59906 4.20299 8.69493 4.20299C9.55911 4.20299 9.75618 3.74385 9.75618 3.74385C9.75618 3.74385 10.133 3 12.0358 3C13.7795 3 14.9546 3.60184 15.9053 4.40567C15.9053 4.40567 13.3421 2.7594 10.8154 5.07507H7.12702Z\"\n fill=\"#DB0000\"\n />\n <path\n d=\"M17.7861 10.5936C17.7135 7.87188 15.6803 4.95507 11.3094 5.12052C15.5791 1.37644 22.9852 9.736 16.8853 14.1281C16.8853 14.1281 17.906 12.6204 17.7861 10.5936Z\"\n fill=\"#DB0000\"\n />\n <path\n d=\"M11.9632 5.42114C17.2927 5.25568 19.1955 11.8718 15.7534 14.8493L12.2974 16.5789C12.2974 16.5789 11.8473 15.0754 13.5178 13.3154C15.1882 11.5567 16.7994 8.2635 12.1822 6.09812C12.1822 6.09812 12.2694 5.64726 11.9645 5.42182L11.9632 5.42114Z\"\n fill=\"#DB0000\"\n />\n <path\n d=\"M11.6869 6.90954C11.6869 6.90954 11.9485 6.65377 12.0358 6.44351C15.9998 8.15734 15.376 11.0604 13.0085 13.496C11.5564 15.0444 12.0065 16.7141 12.0065 16.7141C12.0065 16.7141 10.2355 17.8564 9.62498 18.8491C9.62498 18.8491 7.0604 16.5879 10.6123 12.8349C14.0977 9.15075 11.6869 6.90954 11.6869 6.90954Z\"\n fill=\"#DB0000\"\n />\n </svg>\n <span>A Singapore Government Agency Website</span>\n <div\n class=\"sgds-masthead-button\"\n id=\"sgds-masthead-identify\"\n role=\"button\"\n aria-expanded=\"${this.toggleVisibility}\"\n aria-controls=\"sgds-masthead-content\"\n @click=${() => this._toggleVisibility()}\n >\n <span class=\"sgds-masthead-button-text\">How to identify</span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n class=\"sgds-masthead-identify-icon ${!this.toggleVisibility ? null : \"show\"}\"\n >\n <path\n d=\"M8.65188 6.85L8.64813 6.84625L10.0031 5.49125L17.0744 12.5625L15.7194 13.9175L10.0075 8.20562L4.2875 13.9256L2.9325 12.5706L8.6525 6.85062L8.65188 6.85Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div\n id=\"sgds-masthead-content\"\n class=\"container sgds-masthead-content ${this.toggleVisibility ? \"show\" : null}\"\n >\n <div class=\"row\">\n <div class=\"col\">\n <div class=\"content-grid\">\n <div class=\"wrapper\">\n <div class=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"17\"\n height=\"17\"\n viewBox=\"0 0 17 17\"\n fill=\"none\"\n class=\"banner-icon\"\n >\n <path\n d=\"M0.166016 5.6665V9.00067H0.999349V13.9998H0.166016V16.4998H0.999349H3.49935H5.16602H7.66601H9.33268H11.8327H13.4993L15.9993 16.5007V16.4998H16.8327V13.9998H15.9993V9.00067H16.8327V5.6665L8.49935 0.666504L0.166016 5.6665ZM3.49935 13.9998V9.00067H5.16602V13.9998H3.49935ZM7.66601 13.9998V9.00067H9.33268V13.9998H7.66601ZM13.4993 13.9998H11.8327V9.00067H13.4993V13.9998ZM10.166 5.6665C10.166 6.58651 9.41935 7.33317 8.49935 7.33317C7.57935 7.33317 6.83268 6.58651 6.83268 5.6665C6.83268 4.7465 7.57935 3.99984 8.49935 3.99984C9.41935 3.99984 10.166 4.7465 10.166 5.6665Z\"\n fill=\"#242425\"\n ></path>\n </svg>\n </div>\n <div class=\"content\">\n <div class=\"title\">Official website links end with .gov.sg</div>\n <article>\n Government agencies communicate via .gov.sg websites (e.g. go.gov.sg/open).<a\n href=\"https://www.gov.sg/trusted-sites#govsites\"\n class=\"trusted-websites-link\"\n rel=\"noreferrer\"\n target=\"_blank\"\n >Trusted websites</a\n >\n </article>\n </div>\n </div>\n <div class=\"wrapper\">\n <div class=\"icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"15\"\n height=\"18\"\n viewBox=\"0 0 15 18\"\n fill=\"none\"\n class=\"banner-icon\"\n >\n <path\n d=\"M14.1663 9.00008C14.1663 8.08091 13.4188 7.33342 12.4997 7.33342H11.6663V4.83342C11.6663 2.53591 9.79717 0.666748 7.49967 0.666748C5.20217 0.666748 3.33301 2.53591 3.33301 4.83342V7.33342H2.49967C1.58051 7.33342 0.833008 8.08091 0.833008 9.00008V15.6667C0.833008 16.5859 1.58051 17.3334 2.49967 17.3334H12.4997C13.4188 17.3334 14.1663 16.5859 14.1663 15.6667V9.00008ZM4.99967 4.83342C4.99967 3.45508 6.12134 2.33341 7.49967 2.33341C8.87801 2.33341 9.99967 3.45508 9.99967 4.83342V7.33342H4.99967V4.83342Z\"\n fill=\"#242425\"\n ></path>\n </svg>\n </div>\n <div class=\"content\">\n <div class=\"title\">Secure websites use HTTPS</div>\n <article>\n Look for a<b> lock </b>(<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"15\"\n height=\"18\"\n viewBox=\"0 0 15 18\"\n fill=\"none\"\n class=\"banner-icon-inline\"\n >\n <path\n d=\"M14.1663 9.00008C14.1663 8.08091 13.4188 7.33342 12.4997 7.33342H11.6663V4.83342C11.6663 2.53591 9.79717 0.666748 7.49967 0.666748C5.20217 0.666748 3.33301 2.53591 3.33301 4.83342V7.33342H2.49967C1.58051 7.33342 0.833008 8.08091 0.833008 9.00008V15.6667C0.833008 16.5859 1.58051 17.3334 2.49967 17.3334H12.4997C13.4188 17.3334 14.1663 16.5859 14.1663 15.6667V9.00008ZM4.99967 4.83342C4.99967 3.45508 6.12134 2.33341 7.49967 2.33341C8.87801 2.33341 9.99967 3.45508 9.99967 4.83342V7.33342H4.99967V4.83342Z\"\n fill=\"#242425\"\n ></path></svg\n >) or https:// as an added precaution. Share sensitive information only on official, secure\n websites.\n </article>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n `;\n }\n}\n\nexport default SgdsMasthead;\n"],"names":["svgStyles","anchorStyles","mastheadStyle"],"mappings":";;;;;;;;;AAOA;;;;;;AAMG;AACG,MAAO,YAAa,SAAQ,WAAW,CAAA;AAA7C,IAAA,WAAA,GAAA;;AAGE;;AAEG;QAEH,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;;QAId,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;KAoJ1B;;IAjJS,iBAAiB,GAAA;AACvB,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;KAChD;IAED,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAA,CAAA;;sBAEO,IAAI,CAAC,KAAK,GAAG,iBAAiB,GAAG,WAAW,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmC/B,iCAAA,EAAA,IAAI,CAAC,gBAAgB,CAAA;;AAE7B,yBAAA,EAAA,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;;;;;;;;;yDASA,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,MAAM,CAAA;;;;;;;;;;;;;;;mDAe5C,IAAI,CAAC,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2EnF,CAAC;KACH;;AA7JM,YAAA,CAAA,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAEA,QAAS,EAAEC,UAAY,EAAEC,UAAa,CAAC,CAAC;AAMhF,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7B,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAId,UAAA,CAAA;AADC,IAAA,KAAK,EAAE;AACiB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"modal.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { css } from 'lit';
|
|
3
|
+
|
|
4
|
+
var css_248z = css`:host{--modal-panel-padding:var(--sgds-spacer-4);--modal-panel-z-index:105500;--modal-panel-width:35rem;--modal-panel-height:auto;--modal-panel-bg:var(--sgds-body-bg);--modal-panel-border-radius:var(--sgds-border-radius);--modal-header-border-bottom:var(--sgds-border-width) solid var(--sgds-border-color);--modal-overlay-bg:rgba(0,0,0,.5);display:contents}.modal{align-items:start;bottom:0;display:flex;font-family:var(--sgds-body-font-family);justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--modal-panel-z-index)}.modal.centered .modal-panel{margin:auto}.modal-panel{background-color:var(--modal-panel-bg);border-radius:var(--modal-panel-border-radius);display:flex;flex-direction:column;height:var(--modal-panel-height);margin-top:1.75rem;max-height:calc(100% - 2.25rem);max-width:calc(100% - 2.25rem);width:var(--modal-panel-width);z-index:var(--modal-panel-z-index)}.modal-panel:focus{outline:none}@media screen and (max-width:420px){.modal-panel{max-height:80vh}}.modal--open .modal-panel{display:flex;opacity:1;transform:none}.modal-header{align-items:center;border-bottom:var(--modal-header-border-bottom);display:flex;flex:0 0 auto;font-size:calc(1.275rem + .3vw);font-weight:700;line-height:1.33;margin-bottom:.5rem;margin-top:0;padding:var(--modal-panel-padding)}.modal-header.centered{border-bottom:0;margin-bottom:0;padding-bottom:0}.modal-title{align-items:center;display:flex;flex:1 1 auto;gap:1rem}.modal-title.centered{flex-direction:column;justify-content:center;margin-left:3rem;text-align:center}.modal-close{align-items:center;display:flex;flex:0 0 auto}.modal-close.centered{align-self:flex-start;margin-top:-.5rem}.modal-body{-webkit-overflow-scrolling:touch;flex:1 1 auto;overflow:auto;padding:var(--modal-panel-padding)}.modal-body.centered{text-align:center}.modal-footer{flex:0 0 auto;padding:var(--modal-panel-padding);padding-top:0;text-align:right}.modal-footer.centered{justify-content:center;text-align:center}.modal-footer ::slotted(sgds-button){margin-inline-start:.5rem}.modal:not(.modal--has-footer) .modal-footer{display:none}.modal-overlay{background-color:var(--modal-overlay-bg);bottom:0;left:0;position:fixed;right:0;top:0}[hidden]{display:none}`;
|
|
5
|
+
|
|
6
|
+
export { css_248z as default };
|
|
7
|
+
//# sourceMappingURL=modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sgds-modal.cjs.js","sources":["../../../../src/components/Modal/sgds-modal.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { unsafeSVG } from \"lit/directives/unsafe-svg.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { animateTo, stopAnimations } from \"../../utils/animate\";\nimport { getAnimation, setDefaultAnimation } from \"../../utils/animation-registry\";\nimport { waitForEvent } from \"../../utils/event\";\nimport Modal from \"../../utils/modal\";\nimport { lockBodyScrolling, unlockBodyScrolling } from \"../../utils/scroll\";\nimport { HasSlotController } from \"../../utils/slot\";\nimport { watch } from \"../../utils/watch\";\nimport modalStyle from \"./modal.css\";\nimport { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport SgdsCloseButton from \"../../internals/CloseButton/sgds-close-button\";\nimport headerStyles from \"../../styles/header-class.css\";\nimport svgStyles from \"../../styles/svg.css\";\n/**\n * @summary The modal component inform users about a specific task and may contain critical information which users then have to make a decision.\n *\n * @slot default - The content of the Modal's body.\n * @slot footer - The content of the Modal's footer, typically used to pass in buttons for call to action.\n *\n * @event sgds-close - Emitted when the modal is called to close via mouseclick of close button, overlay or via keyboard esc key\n * @event sgds-show - Emitted when the modal opens\n * @event sgds-hide - Emitted when the modal closes\n * @event sgds-after-show - Emitted after modal opens and the animations has completed\n * @event sgds-after-hide - Emitted after modal closes and the animations has completed\n *\n * @csspart base - The component's base wrapper\n * @csspart overlay - The overlay that covers the screen behind the dialog\n * @csspart panel - The modal's dialog panel\n * @csspart header - The modal's header that wraps the title, titleIcon and close button\n * @csspart title - The h3 element wrapping title and titleIcon\n * @csspart body - The modal's body where the content lies\n * @csspart footers - The modal's footer\n *\n * @cssproperty --modal-panel-padding - The general modal padding of modal component. Applied to body, footer and header.\n * @cssproperty --modal-panel-z-index - The z-index of modal panel\n * @cssproperty --modal-panel-width - The width of modal panel.\n * @cssproperty --modal-panel-height - The height of modal panel.\n * @cssproperty --modal-panel-bg - The background color of modal panel\n * @cssproperty --modal-panel-border-radius - The border radius of modal panel\n * @cssproperty --modal-header-border-bottom - The bottom border of header\n * @cssproperty --modal-overlay-bg - The overlay's background color\n */\nexport class SgdsModal extends ScopedElementsMixin(SgdsElement) {\n static styles = [...SgdsElement.styles, headerStyles, svgStyles, modalStyle];\n /**@internal */\n static get scopedElements() {\n return {\n \"sgds-close-button\": SgdsCloseButton\n };\n }\n /**@internal */\n @query(\".modal\") dialog: HTMLElement;\n /**@internal */\n @query(\".modal-panel\") panel: HTMLElement;\n /**@internal */\n @query(\".modal-overlay\") overlay: HTMLElement;\n /**@internal */\n @query(\".modal-title\") heading: HTMLElement;\n /**@internal */\n private readonly hasSlotController = new HasSlotController(this, \"footer\");\n /**@internal */\n private modal: Modal;\n /**@internal */\n private originalTrigger: HTMLElement | null;\n\n /**Indicates whether or not the modal is open. You can use this in lieu of the show/hide methods. */\n @property({ type: Boolean, reflect: true }) open = false;\n /**The modal's title as displayed in the header */\n @property({ reflect: true }) title = \"\";\n /**The modal's icon as displayed in the header. Pass in SVG format icons as string directly */\n @property({ reflect: true }) titleIcon = \"\";\n /** Disables the header. This will also remove the default close button */\n @property({ type: Boolean, reflect: true }) noHeader = false;\n /** Centers the modal vertically in page */\n @property({ type: Boolean, reflect: true }) centered = false;\n /** Centers the contents inside the modal */\n @property({ type: Boolean, reflect: true }) centeredAlignVariant = false;\n /** Removes the default animation when opening and closing of modal */\n @property({ type: Boolean, reflect: true }) noAnimation = false;\n /** Removes the close button from modal header */\n @property({ type: Boolean, reflect: true }) noCloseButton = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.modal = new Modal(this);\n }\n\n firstUpdated() {\n this.dialog.hidden = !this.open;\n\n if (this.open) {\n this.addOpenListeners();\n this.modal.activate();\n lockBodyScrolling(this);\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n unlockBodyScrolling(this);\n }\n\n /** Shows the dialog. */\n public async show() {\n if (this.open) {\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, \"sgds-after-show\");\n }\n\n /** Hides the dialog */\n public async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, \"sgds-after-hide\");\n }\n\n private requestClose(source: \"close-button\" | \"keyboard\" | \"overlay\") {\n const sgdsRequestClose = this.emit(\"sgds-close\", {\n cancelable: true,\n detail: { source }\n });\n\n if (sgdsRequestClose.defaultPrevented) {\n const animation = getAnimation(this, \"modal.denyClose\");\n animateTo(this.panel, animation.keyframes);\n return;\n }\n\n this.hide();\n }\n\n addOpenListeners() {\n document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n }\n\n removeOpenListeners() {\n document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n }\n\n handleDocumentKeyDown(event: KeyboardEvent) {\n if (this.open && event.key === \"Escape\") {\n event.stopPropagation();\n this.requestClose(\"keyboard\");\n }\n }\n\n @watch(\"open\", { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open) {\n // Show\n this.emit(\"sgds-show\");\n this.addOpenListeners();\n this.originalTrigger = document.activeElement as HTMLElement;\n this.modal.activate();\n\n lockBodyScrolling(this);\n\n await Promise.all([stopAnimations(this.dialog), stopAnimations(this.overlay)]);\n this.dialog.hidden = false;\n\n const panelAnimation = getAnimation(this, \"modal.show\");\n const overlayAnimation = getAnimation(this, \"modal.overlay.show\");\n !this.noAnimation &&\n (await Promise.all([\n animateTo(this.panel, panelAnimation.keyframes, panelAnimation.options),\n animateTo(this.overlay, overlayAnimation.keyframes, overlayAnimation.options)\n ]));\n\n this.emit(\"sgds-after-show\");\n\n // Add focus on modal heading after opening it\n this.heading.focus();\n } else {\n // Hide\n this.emit(\"sgds-hide\");\n this.removeOpenListeners();\n this.modal.deactivate();\n\n await Promise.all([stopAnimations(this.dialog), stopAnimations(this.overlay)]);\n const panelAnimation = getAnimation(this, \"modal.hide\");\n const overlayAnimation = getAnimation(this, \"modal.overlay.hide\");\n\n // Animate the overlay and the panel at the same time. Because animation durations might be different, we need to\n // hide each one individually when the animation finishes, otherwise the first one that finishes will reappear\n // unexpectedly. We'll unhide them after all animations have completed.\n !this.noAnimation &&\n (await Promise.all([\n animateTo(this.overlay, overlayAnimation.keyframes, overlayAnimation.options).then(() => {\n this.overlay.hidden = true;\n }),\n animateTo(this.panel, panelAnimation.keyframes, panelAnimation.options).then(() => {\n this.panel.hidden = true;\n })\n ]));\n\n this.dialog.hidden = true;\n\n // Now that the dialog is hidden, restore the overlay and panel for next time\n this.overlay.hidden = false;\n this.panel.hidden = false;\n\n unlockBodyScrolling(this);\n\n // Restore focus to the original trigger\n const trigger = this.originalTrigger;\n if (typeof trigger?.focus === \"function\") {\n setTimeout(() => trigger.focus());\n }\n\n this.emit(\"sgds-after-hide\");\n }\n }\n\n render() {\n const withLabelIcon = html`${unsafeSVG(this.titleIcon)}`;\n return html`\n <div\n part=\"base\"\n class=${classMap({\n modal: true,\n \"modal--open\": this.open,\n \"modal--has-footer\": this.hasSlotController.test(\"footer\"),\n centered: this.centered\n })}\n >\n <div part=\"overlay\" class=\"modal-overlay\" @click=${() => this.requestClose(\"overlay\")}></div>\n\n <div\n part=\"panel\"\n class=\"modal-panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden=${this.open ? \"false\" : \"true\"}\n aria-label=${ifDefined(this.noHeader ? this.title : undefined)}\n aria-labelledby=${ifDefined(!this.noHeader ? \"title\" : undefined)}\n tabindex=\"-1\"\n >\n ${!this.noHeader\n ? html`\n <div\n part=\"header\"\n class=${classMap({\n \"modal-header\": true,\n centered: this.centeredAlignVariant\n })}\n >\n <h3\n part=\"title\"\n class=${classMap({\n \"modal-title\": true,\n centered: this.centeredAlignVariant\n })}\n id=\"title\"\n tabindex=\"-1\"\n >\n ${this.titleIcon ? withLabelIcon : \"\"} ${this.title}\n </h3>\n ${this.noCloseButton\n ? nothing\n : html`<sgds-close-button\n class=${classMap({\n \"modal-close\": true,\n centered: this.centeredAlignVariant\n })}\n @click=\"${() => this.requestClose(\"close-button\")}\"\n ariaLabel=\"close modal\"\n ></sgds-close-button>`}\n </div>\n `\n : \"\"}\n\n <div\n part=\"body\"\n class=${classMap({\n \"modal-body\": true,\n centered: this.centeredAlignVariant\n })}\n >\n <slot></slot>\n </div>\n\n <footer\n part=\"footer\"\n class=${classMap({\n \"modal-footer\": true,\n centered: this.centeredAlignVariant\n })}\n >\n <slot name=\"footer\"></slot>\n </footer>\n </div>\n </div>\n `;\n }\n}\n\nsetDefaultAnimation(\"modal.show\", {\n keyframes: [\n { opacity: 0, transform: \"scale(1) translate(0, -100%)\" },\n { opacity: 1, transform: \"scale(1) translate(0, 0%)\" }\n ],\n options: { duration: 400, easing: \"ease\" }\n});\n\nsetDefaultAnimation(\"modal.hide\", {\n keyframes: [\n { opacity: 1, transform: \"scale(1) translate(0, 0)\" },\n { opacity: 0, transform: \"scale(1) translate(0, -100%)\" }\n ],\n options: { duration: 400, easing: \"ease\" }\n});\n\nsetDefaultAnimation(\"modal.denyClose\", {\n keyframes: [{ transform: \"scale(1)\" }, { transform: \"scale(1.02)\" }, { transform: \"scale(1)\" }],\n options: { duration: 400 }\n});\n\nsetDefaultAnimation(\"modal.overlay.show\", {\n keyframes: [{ opacity: 0 }, { opacity: 1 }],\n options: { duration: 400 }\n});\n\nsetDefaultAnimation(\"modal.overlay.hide\", {\n keyframes: [{ opacity: 1 }, { opacity: 0 }],\n options: { duration: 400 }\n});\n\nexport default SgdsModal;\n"],"names":["ScopedElementsMixin","SgdsElement","HasSlotController","SgdsCloseButton","Modal","lockBodyScrolling","unlockBodyScrolling","waitForEvent","getAnimation","animateTo","stopAnimations","html","unsafeSVG","classMap","ifDefined","nothing","headerStyles","svgStyles","modalStyle","__decorate","query","property","watch","setDefaultAnimation"],"mappings":"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"}
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { __decorate } from 'tslib';
|
|
3
|
+
import { html, nothing } from 'lit';
|
|
4
|
+
import { query, property } from 'lit/decorators.js';
|
|
5
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
6
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
7
|
+
import { unsafeSVG } from 'lit/directives/unsafe-svg.js';
|
|
8
|
+
import SgdsElement from '../../base/sgds-element.js';
|
|
9
|
+
import { animateTo, stopAnimations } from '../../utils/animate.js';
|
|
10
|
+
import { getAnimation, setDefaultAnimation } from '../../utils/animation-registry.js';
|
|
11
|
+
import { waitForEvent } from '../../utils/event.js';
|
|
12
|
+
import Modal from '../../utils/modal.js';
|
|
13
|
+
import { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll.js';
|
|
14
|
+
import { HasSlotController } from '../../utils/slot.js';
|
|
15
|
+
import { watch } from '../../utils/watch.js';
|
|
16
|
+
import css_248z$2 from './modal.js';
|
|
17
|
+
import { ScopedElementsMixin } from '@open-wc/scoped-elements';
|
|
18
|
+
import { SgdsCloseButton } from '../../internals/CloseButton/sgds-close-button.js';
|
|
19
|
+
import css_248z from '../../styles/header-class.js';
|
|
20
|
+
import css_248z$1 from '../../styles/svg.js';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @summary The modal component inform users about a specific task and may contain critical information which users then have to make a decision.
|
|
24
|
+
*
|
|
25
|
+
* @slot default - The content of the Modal's body.
|
|
26
|
+
* @slot footer - The content of the Modal's footer, typically used to pass in buttons for call to action.
|
|
27
|
+
*
|
|
28
|
+
* @event sgds-close - Emitted when the modal is called to close via mouseclick of close button, overlay or via keyboard esc key
|
|
29
|
+
* @event sgds-show - Emitted when the modal opens
|
|
30
|
+
* @event sgds-hide - Emitted when the modal closes
|
|
31
|
+
* @event sgds-after-show - Emitted after modal opens and the animations has completed
|
|
32
|
+
* @event sgds-after-hide - Emitted after modal closes and the animations has completed
|
|
33
|
+
*
|
|
34
|
+
* @csspart base - The component's base wrapper
|
|
35
|
+
* @csspart overlay - The overlay that covers the screen behind the dialog
|
|
36
|
+
* @csspart panel - The modal's dialog panel
|
|
37
|
+
* @csspart header - The modal's header that wraps the title, titleIcon and close button
|
|
38
|
+
* @csspart title - The h3 element wrapping title and titleIcon
|
|
39
|
+
* @csspart body - The modal's body where the content lies
|
|
40
|
+
* @csspart footers - The modal's footer
|
|
41
|
+
*
|
|
42
|
+
* @cssproperty --modal-panel-padding - The general modal padding of modal component. Applied to body, footer and header.
|
|
43
|
+
* @cssproperty --modal-panel-z-index - The z-index of modal panel
|
|
44
|
+
* @cssproperty --modal-panel-width - The width of modal panel.
|
|
45
|
+
* @cssproperty --modal-panel-height - The height of modal panel.
|
|
46
|
+
* @cssproperty --modal-panel-bg - The background color of modal panel
|
|
47
|
+
* @cssproperty --modal-panel-border-radius - The border radius of modal panel
|
|
48
|
+
* @cssproperty --modal-header-border-bottom - The bottom border of header
|
|
49
|
+
* @cssproperty --modal-overlay-bg - The overlay's background color
|
|
50
|
+
*/
|
|
51
|
+
class SgdsModal extends ScopedElementsMixin(SgdsElement) {
|
|
52
|
+
constructor() {
|
|
53
|
+
super(...arguments);
|
|
54
|
+
/**@internal */
|
|
55
|
+
this.hasSlotController = new HasSlotController(this, "footer");
|
|
56
|
+
/**Indicates whether or not the modal is open. You can use this in lieu of the show/hide methods. */
|
|
57
|
+
this.open = false;
|
|
58
|
+
/**The modal's title as displayed in the header */
|
|
59
|
+
this.title = "";
|
|
60
|
+
/**The modal's icon as displayed in the header. Pass in SVG format icons as string directly */
|
|
61
|
+
this.titleIcon = "";
|
|
62
|
+
/** Disables the header. This will also remove the default close button */
|
|
63
|
+
this.noHeader = false;
|
|
64
|
+
/** Centers the modal vertically in page */
|
|
65
|
+
this.centered = false;
|
|
66
|
+
/** Centers the contents inside the modal */
|
|
67
|
+
this.centeredAlignVariant = false;
|
|
68
|
+
/** Removes the default animation when opening and closing of modal */
|
|
69
|
+
this.noAnimation = false;
|
|
70
|
+
/** Removes the close button from modal header */
|
|
71
|
+
this.noCloseButton = false;
|
|
72
|
+
}
|
|
73
|
+
/**@internal */
|
|
74
|
+
static get scopedElements() {
|
|
75
|
+
return {
|
|
76
|
+
"sgds-close-button": SgdsCloseButton
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
connectedCallback() {
|
|
80
|
+
super.connectedCallback();
|
|
81
|
+
this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);
|
|
82
|
+
this.modal = new Modal(this);
|
|
83
|
+
}
|
|
84
|
+
firstUpdated() {
|
|
85
|
+
this.dialog.hidden = !this.open;
|
|
86
|
+
if (this.open) {
|
|
87
|
+
this.addOpenListeners();
|
|
88
|
+
this.modal.activate();
|
|
89
|
+
lockBodyScrolling(this);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
disconnectedCallback() {
|
|
93
|
+
super.disconnectedCallback();
|
|
94
|
+
unlockBodyScrolling(this);
|
|
95
|
+
}
|
|
96
|
+
/** Shows the dialog. */
|
|
97
|
+
async show() {
|
|
98
|
+
if (this.open) {
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
this.open = true;
|
|
102
|
+
return waitForEvent(this, "sgds-after-show");
|
|
103
|
+
}
|
|
104
|
+
/** Hides the dialog */
|
|
105
|
+
async hide() {
|
|
106
|
+
if (!this.open) {
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
this.open = false;
|
|
110
|
+
return waitForEvent(this, "sgds-after-hide");
|
|
111
|
+
}
|
|
112
|
+
requestClose(source) {
|
|
113
|
+
const sgdsRequestClose = this.emit("sgds-close", {
|
|
114
|
+
cancelable: true,
|
|
115
|
+
detail: { source }
|
|
116
|
+
});
|
|
117
|
+
if (sgdsRequestClose.defaultPrevented) {
|
|
118
|
+
const animation = getAnimation(this, "modal.denyClose");
|
|
119
|
+
animateTo(this.panel, animation.keyframes);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
this.hide();
|
|
123
|
+
}
|
|
124
|
+
addOpenListeners() {
|
|
125
|
+
document.addEventListener("keydown", this.handleDocumentKeyDown);
|
|
126
|
+
}
|
|
127
|
+
removeOpenListeners() {
|
|
128
|
+
document.removeEventListener("keydown", this.handleDocumentKeyDown);
|
|
129
|
+
}
|
|
130
|
+
handleDocumentKeyDown(event) {
|
|
131
|
+
if (this.open && event.key === "Escape") {
|
|
132
|
+
event.stopPropagation();
|
|
133
|
+
this.requestClose("keyboard");
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
async handleOpenChange() {
|
|
137
|
+
if (this.open) {
|
|
138
|
+
// Show
|
|
139
|
+
this.emit("sgds-show");
|
|
140
|
+
this.addOpenListeners();
|
|
141
|
+
this.originalTrigger = document.activeElement;
|
|
142
|
+
this.modal.activate();
|
|
143
|
+
lockBodyScrolling(this);
|
|
144
|
+
await Promise.all([stopAnimations(this.dialog), stopAnimations(this.overlay)]);
|
|
145
|
+
this.dialog.hidden = false;
|
|
146
|
+
const panelAnimation = getAnimation(this, "modal.show");
|
|
147
|
+
const overlayAnimation = getAnimation(this, "modal.overlay.show");
|
|
148
|
+
!this.noAnimation &&
|
|
149
|
+
(await Promise.all([
|
|
150
|
+
animateTo(this.panel, panelAnimation.keyframes, panelAnimation.options),
|
|
151
|
+
animateTo(this.overlay, overlayAnimation.keyframes, overlayAnimation.options)
|
|
152
|
+
]));
|
|
153
|
+
this.emit("sgds-after-show");
|
|
154
|
+
// Add focus on modal heading after opening it
|
|
155
|
+
this.heading.focus();
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
// Hide
|
|
159
|
+
this.emit("sgds-hide");
|
|
160
|
+
this.removeOpenListeners();
|
|
161
|
+
this.modal.deactivate();
|
|
162
|
+
await Promise.all([stopAnimations(this.dialog), stopAnimations(this.overlay)]);
|
|
163
|
+
const panelAnimation = getAnimation(this, "modal.hide");
|
|
164
|
+
const overlayAnimation = getAnimation(this, "modal.overlay.hide");
|
|
165
|
+
// Animate the overlay and the panel at the same time. Because animation durations might be different, we need to
|
|
166
|
+
// hide each one individually when the animation finishes, otherwise the first one that finishes will reappear
|
|
167
|
+
// unexpectedly. We'll unhide them after all animations have completed.
|
|
168
|
+
!this.noAnimation &&
|
|
169
|
+
(await Promise.all([
|
|
170
|
+
animateTo(this.overlay, overlayAnimation.keyframes, overlayAnimation.options).then(() => {
|
|
171
|
+
this.overlay.hidden = true;
|
|
172
|
+
}),
|
|
173
|
+
animateTo(this.panel, panelAnimation.keyframes, panelAnimation.options).then(() => {
|
|
174
|
+
this.panel.hidden = true;
|
|
175
|
+
})
|
|
176
|
+
]));
|
|
177
|
+
this.dialog.hidden = true;
|
|
178
|
+
// Now that the dialog is hidden, restore the overlay and panel for next time
|
|
179
|
+
this.overlay.hidden = false;
|
|
180
|
+
this.panel.hidden = false;
|
|
181
|
+
unlockBodyScrolling(this);
|
|
182
|
+
// Restore focus to the original trigger
|
|
183
|
+
const trigger = this.originalTrigger;
|
|
184
|
+
if (typeof (trigger === null || trigger === void 0 ? void 0 : trigger.focus) === "function") {
|
|
185
|
+
setTimeout(() => trigger.focus());
|
|
186
|
+
}
|
|
187
|
+
this.emit("sgds-after-hide");
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
render() {
|
|
191
|
+
const withLabelIcon = html `${unsafeSVG(this.titleIcon)}`;
|
|
192
|
+
return html `
|
|
193
|
+
<div
|
|
194
|
+
part="base"
|
|
195
|
+
class=${classMap({
|
|
196
|
+
modal: true,
|
|
197
|
+
"modal--open": this.open,
|
|
198
|
+
"modal--has-footer": this.hasSlotController.test("footer"),
|
|
199
|
+
centered: this.centered
|
|
200
|
+
})}
|
|
201
|
+
>
|
|
202
|
+
<div part="overlay" class="modal-overlay" @click=${() => this.requestClose("overlay")}></div>
|
|
203
|
+
|
|
204
|
+
<div
|
|
205
|
+
part="panel"
|
|
206
|
+
class="modal-panel"
|
|
207
|
+
role="dialog"
|
|
208
|
+
aria-modal="true"
|
|
209
|
+
aria-hidden=${this.open ? "false" : "true"}
|
|
210
|
+
aria-label=${ifDefined(this.noHeader ? this.title : undefined)}
|
|
211
|
+
aria-labelledby=${ifDefined(!this.noHeader ? "title" : undefined)}
|
|
212
|
+
tabindex="-1"
|
|
213
|
+
>
|
|
214
|
+
${!this.noHeader
|
|
215
|
+
? html `
|
|
216
|
+
<div
|
|
217
|
+
part="header"
|
|
218
|
+
class=${classMap({
|
|
219
|
+
"modal-header": true,
|
|
220
|
+
centered: this.centeredAlignVariant
|
|
221
|
+
})}
|
|
222
|
+
>
|
|
223
|
+
<h3
|
|
224
|
+
part="title"
|
|
225
|
+
class=${classMap({
|
|
226
|
+
"modal-title": true,
|
|
227
|
+
centered: this.centeredAlignVariant
|
|
228
|
+
})}
|
|
229
|
+
id="title"
|
|
230
|
+
tabindex="-1"
|
|
231
|
+
>
|
|
232
|
+
${this.titleIcon ? withLabelIcon : ""} ${this.title}
|
|
233
|
+
</h3>
|
|
234
|
+
${this.noCloseButton
|
|
235
|
+
? nothing
|
|
236
|
+
: html `<sgds-close-button
|
|
237
|
+
class=${classMap({
|
|
238
|
+
"modal-close": true,
|
|
239
|
+
centered: this.centeredAlignVariant
|
|
240
|
+
})}
|
|
241
|
+
@click="${() => this.requestClose("close-button")}"
|
|
242
|
+
ariaLabel="close modal"
|
|
243
|
+
></sgds-close-button>`}
|
|
244
|
+
</div>
|
|
245
|
+
`
|
|
246
|
+
: ""}
|
|
247
|
+
|
|
248
|
+
<div
|
|
249
|
+
part="body"
|
|
250
|
+
class=${classMap({
|
|
251
|
+
"modal-body": true,
|
|
252
|
+
centered: this.centeredAlignVariant
|
|
253
|
+
})}
|
|
254
|
+
>
|
|
255
|
+
<slot></slot>
|
|
256
|
+
</div>
|
|
257
|
+
|
|
258
|
+
<footer
|
|
259
|
+
part="footer"
|
|
260
|
+
class=${classMap({
|
|
261
|
+
"modal-footer": true,
|
|
262
|
+
centered: this.centeredAlignVariant
|
|
263
|
+
})}
|
|
264
|
+
>
|
|
265
|
+
<slot name="footer"></slot>
|
|
266
|
+
</footer>
|
|
267
|
+
</div>
|
|
268
|
+
</div>
|
|
269
|
+
`;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
SgdsModal.styles = [...SgdsElement.styles, css_248z, css_248z$1, css_248z$2];
|
|
273
|
+
__decorate([
|
|
274
|
+
query(".modal")
|
|
275
|
+
], SgdsModal.prototype, "dialog", void 0);
|
|
276
|
+
__decorate([
|
|
277
|
+
query(".modal-panel")
|
|
278
|
+
], SgdsModal.prototype, "panel", void 0);
|
|
279
|
+
__decorate([
|
|
280
|
+
query(".modal-overlay")
|
|
281
|
+
], SgdsModal.prototype, "overlay", void 0);
|
|
282
|
+
__decorate([
|
|
283
|
+
query(".modal-title")
|
|
284
|
+
], SgdsModal.prototype, "heading", void 0);
|
|
285
|
+
__decorate([
|
|
286
|
+
property({ type: Boolean, reflect: true })
|
|
287
|
+
], SgdsModal.prototype, "open", void 0);
|
|
288
|
+
__decorate([
|
|
289
|
+
property({ reflect: true })
|
|
290
|
+
], SgdsModal.prototype, "title", void 0);
|
|
291
|
+
__decorate([
|
|
292
|
+
property({ reflect: true })
|
|
293
|
+
], SgdsModal.prototype, "titleIcon", void 0);
|
|
294
|
+
__decorate([
|
|
295
|
+
property({ type: Boolean, reflect: true })
|
|
296
|
+
], SgdsModal.prototype, "noHeader", void 0);
|
|
297
|
+
__decorate([
|
|
298
|
+
property({ type: Boolean, reflect: true })
|
|
299
|
+
], SgdsModal.prototype, "centered", void 0);
|
|
300
|
+
__decorate([
|
|
301
|
+
property({ type: Boolean, reflect: true })
|
|
302
|
+
], SgdsModal.prototype, "centeredAlignVariant", void 0);
|
|
303
|
+
__decorate([
|
|
304
|
+
property({ type: Boolean, reflect: true })
|
|
305
|
+
], SgdsModal.prototype, "noAnimation", void 0);
|
|
306
|
+
__decorate([
|
|
307
|
+
property({ type: Boolean, reflect: true })
|
|
308
|
+
], SgdsModal.prototype, "noCloseButton", void 0);
|
|
309
|
+
__decorate([
|
|
310
|
+
watch("open", { waitUntilFirstUpdate: true })
|
|
311
|
+
], SgdsModal.prototype, "handleOpenChange", null);
|
|
312
|
+
setDefaultAnimation("modal.show", {
|
|
313
|
+
keyframes: [
|
|
314
|
+
{ opacity: 0, transform: "scale(1) translate(0, -100%)" },
|
|
315
|
+
{ opacity: 1, transform: "scale(1) translate(0, 0%)" }
|
|
316
|
+
],
|
|
317
|
+
options: { duration: 400, easing: "ease" }
|
|
318
|
+
});
|
|
319
|
+
setDefaultAnimation("modal.hide", {
|
|
320
|
+
keyframes: [
|
|
321
|
+
{ opacity: 1, transform: "scale(1) translate(0, 0)" },
|
|
322
|
+
{ opacity: 0, transform: "scale(1) translate(0, -100%)" }
|
|
323
|
+
],
|
|
324
|
+
options: { duration: 400, easing: "ease" }
|
|
325
|
+
});
|
|
326
|
+
setDefaultAnimation("modal.denyClose", {
|
|
327
|
+
keyframes: [{ transform: "scale(1)" }, { transform: "scale(1.02)" }, { transform: "scale(1)" }],
|
|
328
|
+
options: { duration: 400 }
|
|
329
|
+
});
|
|
330
|
+
setDefaultAnimation("modal.overlay.show", {
|
|
331
|
+
keyframes: [{ opacity: 0 }, { opacity: 1 }],
|
|
332
|
+
options: { duration: 400 }
|
|
333
|
+
});
|
|
334
|
+
setDefaultAnimation("modal.overlay.hide", {
|
|
335
|
+
keyframes: [{ opacity: 1 }, { opacity: 0 }],
|
|
336
|
+
options: { duration: 400 }
|
|
337
|
+
});
|
|
338
|
+
|
|
339
|
+
export { SgdsModal, SgdsModal as default };
|
|
340
|
+
//# sourceMappingURL=sgds-modal.js.map
|