@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,110 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { __decorate } from 'tslib';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import { query, property } from 'lit/decorators.js';
|
|
5
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
6
|
+
import SgdsElement from '../../base/sgds-element.js';
|
|
7
|
+
import { watch } from '../../utils/watch.js';
|
|
8
|
+
import css_248z from './tab.js';
|
|
9
|
+
|
|
10
|
+
let id = 0;
|
|
11
|
+
/**
|
|
12
|
+
* @summary Tabs are used within tab group to activate the tab panels
|
|
13
|
+
*
|
|
14
|
+
* @slot default - The content of the tab. This is available when variant attribute of `sgds-tab-group` is not specified or when it is `tabs-basic-toggle`
|
|
15
|
+
*
|
|
16
|
+
* @slot icon - The slot to place svg icons. This is only available when variant attribute of `sgds-tab-group` is `tabs-info-toggle`
|
|
17
|
+
* @slot count - The slot for count. This is only available when variant attribute of `sgds-tab-group` is `tabs-info-toggle`
|
|
18
|
+
* @slot label - The slot for label of tab. This is only available when variant attribute of `sgds-tab-group` is `tabs-info-toggle`
|
|
19
|
+
*
|
|
20
|
+
* @csspart base - The base wrapper of tab
|
|
21
|
+
*
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
24
|
+
class SgdsTab extends SgdsElement {
|
|
25
|
+
constructor() {
|
|
26
|
+
super(...arguments);
|
|
27
|
+
/**@internal */
|
|
28
|
+
this.attrId = ++id;
|
|
29
|
+
/**@internal */
|
|
30
|
+
this.componentId = `sgds-tab-${this.attrId}`;
|
|
31
|
+
/** The name of the tab panel this tab is associated with. The panel must be located in the same tab group. */
|
|
32
|
+
this.panel = "";
|
|
33
|
+
/** Draws the tab in an active state. When used with tab group, this state is already managed. Use it to set the initial active tab on first load of page */
|
|
34
|
+
this.active = false;
|
|
35
|
+
/** Disables the tab and prevents selection. */
|
|
36
|
+
this.disabled = false;
|
|
37
|
+
}
|
|
38
|
+
connectedCallback() {
|
|
39
|
+
super.connectedCallback();
|
|
40
|
+
this.setAttribute("role", "tab");
|
|
41
|
+
}
|
|
42
|
+
/** Sets focus to the tab. */
|
|
43
|
+
focus(options) {
|
|
44
|
+
this.tab.focus(options);
|
|
45
|
+
}
|
|
46
|
+
/** Removes focus from the tab. */
|
|
47
|
+
blur() {
|
|
48
|
+
this.tab.blur();
|
|
49
|
+
}
|
|
50
|
+
/**@internal */
|
|
51
|
+
handleActiveChange() {
|
|
52
|
+
this.setAttribute("aria-selected", this.active ? "true" : "false");
|
|
53
|
+
}
|
|
54
|
+
/**@internal */
|
|
55
|
+
handleDisabledChange() {
|
|
56
|
+
this.setAttribute("aria-disabled", this.disabled ? "true" : "false");
|
|
57
|
+
if (this.disabled)
|
|
58
|
+
this.active = false;
|
|
59
|
+
}
|
|
60
|
+
render() {
|
|
61
|
+
// If the user didn't provide an ID, we'll set one so we can link tabs and tab panels with aria labels
|
|
62
|
+
this.id = this.id.length > 0 ? this.id : this.componentId;
|
|
63
|
+
const parentVariantAttr = this.closest("sgds-tab-group").getAttribute("variant");
|
|
64
|
+
const tabsInfo = html `
|
|
65
|
+
<div class="tabs-info-label">
|
|
66
|
+
<div><slot name="icon"></slot></div>
|
|
67
|
+
<div><slot name="label"></slot></div>
|
|
68
|
+
</div>
|
|
69
|
+
<div class="tabs-info-count"><slot name="count"></slot></div>
|
|
70
|
+
`;
|
|
71
|
+
return html `
|
|
72
|
+
<ul class="list-unstyled">
|
|
73
|
+
<li part="base" class="nav-item" tabindex=${this.disabled ? "-1" : "0"}>
|
|
74
|
+
<div
|
|
75
|
+
class="${classMap({
|
|
76
|
+
"nav-link": true,
|
|
77
|
+
[`${parentVariantAttr}`]: parentVariantAttr,
|
|
78
|
+
active: this.active,
|
|
79
|
+
disabled: this.disabled
|
|
80
|
+
})}"
|
|
81
|
+
>
|
|
82
|
+
${parentVariantAttr === "tabs-info-toggle" ? tabsInfo : html `<slot></slot>`}
|
|
83
|
+
</div>
|
|
84
|
+
</li>
|
|
85
|
+
</ul>
|
|
86
|
+
`;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
SgdsTab.styles = [css_248z];
|
|
90
|
+
__decorate([
|
|
91
|
+
query(".nav-item")
|
|
92
|
+
], SgdsTab.prototype, "tab", void 0);
|
|
93
|
+
__decorate([
|
|
94
|
+
property({ reflect: true })
|
|
95
|
+
], SgdsTab.prototype, "panel", void 0);
|
|
96
|
+
__decorate([
|
|
97
|
+
property({ type: Boolean, reflect: true })
|
|
98
|
+
], SgdsTab.prototype, "active", void 0);
|
|
99
|
+
__decorate([
|
|
100
|
+
property({ type: Boolean, reflect: true })
|
|
101
|
+
], SgdsTab.prototype, "disabled", void 0);
|
|
102
|
+
__decorate([
|
|
103
|
+
watch("active")
|
|
104
|
+
], SgdsTab.prototype, "handleActiveChange", null);
|
|
105
|
+
__decorate([
|
|
106
|
+
watch("disabled")
|
|
107
|
+
], SgdsTab.prototype, "handleDisabledChange", null);
|
|
108
|
+
|
|
109
|
+
export { SgdsTab, SgdsTab as default };
|
|
110
|
+
//# sourceMappingURL=sgds-tab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sgds-tab.js","sources":["../../../../src/components/Tab/sgds-tab.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { watch } from \"../../utils/watch\";\nimport tabStyle from \"./tab.css\";\n\nlet id = 0;\n/**\n * @summary Tabs are used within tab group to activate the tab panels\n *\n * @slot default - The content of the tab. This is available when variant attribute of `sgds-tab-group` is not specified or when it is `tabs-basic-toggle`\n *\n * @slot icon - The slot to place svg icons. This is only available when variant attribute of `sgds-tab-group` is `tabs-info-toggle`\n * @slot count - The slot for count. This is only available when variant attribute of `sgds-tab-group` is `tabs-info-toggle`\n * @slot label - The slot for label of tab. This is only available when variant attribute of `sgds-tab-group` is `tabs-info-toggle`\n *\n * @csspart base - The base wrapper of tab\n *\n *\n */\nexport class SgdsTab extends SgdsElement {\n static styles = [tabStyle];\n /**@internal */\n @query(\".nav-item\") tab: HTMLElement;\n /**@internal */\n private readonly attrId = ++id;\n /**@internal */\n private readonly componentId = `sgds-tab-${this.attrId}`;\n\n /** The name of the tab panel this tab is associated with. The panel must be located in the same tab group. */\n @property({ reflect: true }) panel = \"\";\n\n /** Draws the tab in an active state. When used with tab group, this state is already managed. Use it to set the initial active tab on first load of page */\n @property({ type: Boolean, reflect: true }) active = false;\n\n /** Disables the tab and prevents selection. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute(\"role\", \"tab\");\n }\n\n /** Sets focus to the tab. */\n public focus(options?: FocusOptions) {\n this.tab.focus(options);\n }\n\n /** Removes focus from the tab. */\n public blur() {\n this.tab.blur();\n }\n /**@internal */\n @watch(\"active\")\n handleActiveChange() {\n this.setAttribute(\"aria-selected\", this.active ? \"true\" : \"false\");\n }\n /**@internal */\n @watch(\"disabled\")\n handleDisabledChange() {\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n if (this.disabled) this.active = false;\n }\n\n render() {\n // If the user didn't provide an ID, we'll set one so we can link tabs and tab panels with aria labels\n this.id = this.id.length > 0 ? this.id : this.componentId;\n const parentVariantAttr = this.closest(\"sgds-tab-group\").getAttribute(\"variant\");\n const tabsInfo = html`\n <div class=\"tabs-info-label\">\n <div><slot name=\"icon\"></slot></div>\n <div><slot name=\"label\"></slot></div>\n </div>\n <div class=\"tabs-info-count\"><slot name=\"count\"></slot></div>\n `;\n return html`\n <ul class=\"list-unstyled\">\n <li part=\"base\" class=\"nav-item\" tabindex=${this.disabled ? \"-1\" : \"0\"}>\n <div\n class=\"${classMap({\n \"nav-link\": true,\n [`${parentVariantAttr}`]: parentVariantAttr,\n active: this.active,\n disabled: this.disabled\n })}\"\n >\n ${parentVariantAttr === \"tabs-info-toggle\" ? tabsInfo : html`<slot></slot>`}\n </div>\n </li>\n </ul>\n `;\n }\n}\n\nexport default SgdsTab;\n"],"names":["tabStyle"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-group.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tab-group.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { css } from 'lit';
|
|
3
|
+
|
|
4
|
+
var css_248z = css`.nav{display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.nav-tabs{border-bottom:none;gap:2rem}.sgds.nav-tabs[variant=tabs-basic-toggle]{gap:0}slot[name=nav][variant=tabs-basic-toggle]::slotted(sgds-tab){margin-left:-2px}`;
|
|
5
|
+
|
|
6
|
+
export { css_248z as default };
|
|
7
|
+
//# sourceMappingURL=tab-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab-group.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-panel.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tab-panel.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{--tab-panel-padding-y:1rem;display:block}.tab-panel{display:block;padding:var(--tab-panel-padding-y) 0}.tab-panel:not(.tab-panel--active){display:none}`;
|
|
5
|
+
|
|
6
|
+
export { css_248z as default };
|
|
7
|
+
//# sourceMappingURL=tab-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab-panel.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tab.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{display:inline-block}ul{margin-bottom:1rem;margin-top:0;padding-left:0}.list-unstyled{list-style:none}.nav-link{color:var(--sgds-body-color);cursor:pointer;display:block;padding:.5rem 1rem;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link.tabs-info-toggle{background-color:var(--sgds-body-bg);border:1px solid var(--sgds-gray-400);border-radius:.3125rem;min-width:11.875rem;padding:.75rem}.nav-link:not(.disabled).tabs-info-toggle.active,.nav-link:not(.disabled).tabs-info-toggle:hover{border-color:var(--sgds-primary);color:var(--sgds-primary);font-weight:700}.nav-link.tabs-info-toggle .tabs-info-label{display:flex;justify-content:space-between;text-align:right}.nav-link.tabs-info-toggle .tabs-info-count{text-align:right}.nav-link.tabs-basic-toggle{background-color:var(--sgds-body-bg);border:1px solid var(--sgds-gray-400);border-radius:0;padding:.5rem 1.5rem}.nav-link.tabs-basic-toggle slot{align-items:center;display:flex;gap:1rem}.nav-link:not(.disabled).tabs-basic-toggle.active,.nav-link:not(.disabled).tabs-basic-toggle:hover{background-color:var(--sgds-info);color:var(--sgds-white)}.nav-link.disabled{background-color:var(--sgds-gray-200);border-color:var(--sgds-gray-400);color:var(--sgds-gray-400);cursor:not-allowed}.nav-link:not(.tabs-basic-toggle):not(.tabs-info-toggle){background-color:transparent;border:none;padding-left:0;padding-right:0;padding-top:0}.nav-link:not(.disabled):not(.tabs-basic-toggle):not(.tabs-info-toggle).active,.nav-link:not(.disabled):not(.tabs-basic-toggle):not(.tabs-info-toggle):hover{background-color:transparent;border-bottom:.125rem solid var(--sgds-info);font-weight:700}.nav-link:not(.tabs-basic-toggle):not(.tabs-info-toggle).disabled{background-color:var(--sgds-gray-200);background-color:transparent;border-color:var(--sgds-gray-400);color:var(--sgds-gray-400);cursor:not-allowed}`;
|
|
5
|
+
|
|
6
|
+
export { css_248z as default };
|
|
7
|
+
//# sourceMappingURL=tab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sgds-table.cjs.js","sources":["../../../../src/components/Table/sgds-table.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport tableStyle from \"./table.css\";\n/**\n * @summary The use of a table is to organise a collections of data into readable rows\n *\n * @cssproperty --table-bg - Table's background color\n * @cssproperty --table-accent-bg - Table's accent background color\n * @cssproperty --table-striped-color - Text color for striped table\n * @cssproperty --table-striped-bg - Background color for striped table\n * @cssproperty --table-active-color - Active text color for hovered row\n * @cssproperty --table-active-bg - Active background color for hovered row\n * @cssproperty --table-hover-color - Hovered text color for hover table\n * @cssproperty --table-hover-bg - Hovered background color for hover table\n */\n\nexport class SgdsTable extends SgdsElement {\n static styles = [...SgdsElement.styles, tableStyle];\n\n /**\n * Adds zebra-striping using striped to table row within the <tbody>\n */\n @property({ type: Boolean, reflect: true }) striped = false;\n\n /**\n * Add borders to all sides of table and cells\n */\n @property({ type: Boolean, reflect: true }) bordered = false;\n\n /**\n * Remove all borders to table and cells\n */\n @property({ type: Boolean, reflect: true }) borderless = false;\n\n /**\n * Add hoverable state on table rows\n */\n @property({ type: Boolean, reflect: true }) hover = false;\n\n /**\n * Add <code>.table-sm</code> to make table more compact\n */\n @property({ type: String, reflect: true }) size: string;\n\n /**\n * Use contextual classes to add colors to table\n */\n @property({ type: String, reflect: true }) variant: string;\n\n /**\n * Sorting on a column is enabled by adding the sort property. The sorting algorithm is based on javascript array.sort() method. In ascending order from bottom, alphabets come first, followed by numbers, and then symbols. Similarly, in descending order from bottom, symbols come first, followed by numbers, and then alphabets.\n */\n @property({ type: Boolean, reflect: true }) sort = false;\n\n /**\n * When removableSort is present, the third click removes the sorting from the column.\n */\n @property({ type: Boolean, reflect: true }) removableSort = false;\n\n /**\n * Use responsive=\"sm\", responsive=\"md\" , responsive=\"lg\", or responsive=\"xl\" as needed to create responsive tables up to a particular breakpoint. From that breakpoint and up, the table will behave normally and not scroll horizontally. Use reponsive=\"always\" to let table be always responsive\n */\n @property({ type: String, reflect: true }) responsive: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"always\";\n\n /**\n * Populate header cells using Arrays\n */\n @property({ type: Array }) tableHeaders: string[] = [];\n\n /**\n * Populate data cells using Arrays\n */\n @property({ type: Array }) tableData: Array<(string | number)[]> = [];\n\n /** @internal */\n @state() sortColumn: number | null = null;\n\n /** @internal */\n @state() sortAsc = true;\n\n //TODO aria-sort\n\n /** @internal */\n @state() activeColumn: number | null = null;\n\n /** @internal */\n @state() sortClickCount = 0;\n\n /** @internal */\n @state() clickCount = 0;\n\n /** @internal */\n @state() originalTableData: Array<(string | number)[]> = [];\n\n connectedCallback() {\n super.connectedCallback();\n this.originalTableData = [...this.tableData];\n }\n\n handleHeaderClick(columnIndex: number) {\n if (this.sort) {\n if (this.sortColumn === columnIndex) {\n this.sortAsc = !this.sortAsc;\n } else {\n this.sortColumn = columnIndex;\n this.sortAsc = true;\n }\n\n this.tableData = [...this.tableData].sort((a, b) => {\n const aValue = a[columnIndex];\n const bValue = b[columnIndex];\n\n if (typeof aValue === \"string\" && typeof bValue === \"string\") {\n return this.sortAsc ? aValue.localeCompare(bValue) : bValue.localeCompare(aValue);\n } else {\n return this.sortAsc ? (aValue as number) - (bValue as number) : (bValue as number) - (aValue as number);\n }\n });\n\n // update the active column\n if (this.activeColumn === columnIndex) {\n this.clickCount++;\n if (this.clickCount === 3 && this.removableSort) {\n this.activeColumn = null;\n this.clickCount = 0;\n this.tableData = [...this.originalTableData];\n }\n } else {\n this.activeColumn = columnIndex;\n this.clickCount = 1;\n }\n\n // add the .active class to the clicked header cell\n const thElements = this.shadowRoot?.querySelectorAll(\"th\");\n thElements.forEach((thElement, index) => {\n if (index === columnIndex) {\n thElement.classList.add(\"active\");\n } else {\n thElement.classList.remove(\"active\");\n }\n });\n }\n }\n\n getIcon(columnIndex: number) {\n if (this.activeColumn !== columnIndex) {\n return html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-arrow-down-up ms-2 align-self-center\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M11.5 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L11 2.707V14.5a.5.5 0 0 0 .5.5zm-7-14a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V1.5a.5.5 0 0 1 .5-.5z\"\n />\n </svg>`;\n } else {\n return this.sortAsc\n ? html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-sort-up-alt ms-2 align-self-center\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M3.5 13.5a.5.5 0 0 1-1 0V4.707L1.354 5.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 4.707V13.5zm4-9.5a.5.5 0 0 1 0-1h1a.5.5 0 0 1 0 1h-1zm0 3a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1h-3zm0 3a.5.5 0 0 1 0-1h5a.5.5 0 0 1 0 1h-5zM7 12.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5z\"\n />\n </svg>`\n : html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-sort-down ms-2 align-self-center\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M3.5 2.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 11.293V2.5zm3.5 1a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"\n />\n </svg>`;\n }\n }\n\n render() {\n return html`\n <div\n class=${classMap({\n \"table-responsive\": this.responsive === \"always\",\n \"table-responsive-sm\": this.responsive === \"sm\",\n \"table-responsive-md\": this.responsive === \"md\",\n \"table-responsive-lg\": this.responsive === \"lg\",\n \"table-responsive-xl\": this.responsive === \"xl\"\n })}\n tabindex=\"0\"\n >\n <table\n class=\"table sgds ${classMap({\n [`table-striped`]: this.striped,\n [`table-bordered`]: this.bordered,\n [`table-borderless`]: this.borderless,\n [`table-hover`]: this.hover,\n [`table-${this.size}`]: this.size,\n [`table-${this.variant}`]: this.variant\n })}\"\n >\n <thead>\n <tr>\n ${this.tableHeaders.map(\n (header: string, index: number) => html`\n <th\n class=\"${classMap({\n \"sortable-header\": this.sort,\n active: this.activeColumn === index\n })}\"\n @click=${() => this.handleHeaderClick(index)}\n //TODO aria-sort \n >\n ${header} ${this.sort ? this.getIcon(index) : null}\n </th>\n `\n )}\n </tr>\n </thead>\n <tbody>\n ${this.tableData.map(\n row => html`\n <tr>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n </tbody>\n </table>\n </div>\n `;\n }\n}\n\nexport default SgdsTable;\n"],"names":["SgdsElement","html","classMap","tableStyle","__decorate","property","state"],"mappings":"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"}
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { __decorate } from 'tslib';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import { property, state } from 'lit/decorators.js';
|
|
5
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
6
|
+
import SgdsElement from '../../base/sgds-element.js';
|
|
7
|
+
import css_248z from './table.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @summary The use of a table is to organise a collections of data into readable rows
|
|
11
|
+
*
|
|
12
|
+
* @cssproperty --table-bg - Table's background color
|
|
13
|
+
* @cssproperty --table-accent-bg - Table's accent background color
|
|
14
|
+
* @cssproperty --table-striped-color - Text color for striped table
|
|
15
|
+
* @cssproperty --table-striped-bg - Background color for striped table
|
|
16
|
+
* @cssproperty --table-active-color - Active text color for hovered row
|
|
17
|
+
* @cssproperty --table-active-bg - Active background color for hovered row
|
|
18
|
+
* @cssproperty --table-hover-color - Hovered text color for hover table
|
|
19
|
+
* @cssproperty --table-hover-bg - Hovered background color for hover table
|
|
20
|
+
*/
|
|
21
|
+
class SgdsTable extends SgdsElement {
|
|
22
|
+
constructor() {
|
|
23
|
+
super(...arguments);
|
|
24
|
+
/**
|
|
25
|
+
* Adds zebra-striping using striped to table row within the <tbody>
|
|
26
|
+
*/
|
|
27
|
+
this.striped = false;
|
|
28
|
+
/**
|
|
29
|
+
* Add borders to all sides of table and cells
|
|
30
|
+
*/
|
|
31
|
+
this.bordered = false;
|
|
32
|
+
/**
|
|
33
|
+
* Remove all borders to table and cells
|
|
34
|
+
*/
|
|
35
|
+
this.borderless = false;
|
|
36
|
+
/**
|
|
37
|
+
* Add hoverable state on table rows
|
|
38
|
+
*/
|
|
39
|
+
this.hover = false;
|
|
40
|
+
/**
|
|
41
|
+
* Sorting on a column is enabled by adding the sort property. The sorting algorithm is based on javascript array.sort() method. In ascending order from bottom, alphabets come first, followed by numbers, and then symbols. Similarly, in descending order from bottom, symbols come first, followed by numbers, and then alphabets.
|
|
42
|
+
*/
|
|
43
|
+
this.sort = false;
|
|
44
|
+
/**
|
|
45
|
+
* When removableSort is present, the third click removes the sorting from the column.
|
|
46
|
+
*/
|
|
47
|
+
this.removableSort = false;
|
|
48
|
+
/**
|
|
49
|
+
* Populate header cells using Arrays
|
|
50
|
+
*/
|
|
51
|
+
this.tableHeaders = [];
|
|
52
|
+
/**
|
|
53
|
+
* Populate data cells using Arrays
|
|
54
|
+
*/
|
|
55
|
+
this.tableData = [];
|
|
56
|
+
/** @internal */
|
|
57
|
+
this.sortColumn = null;
|
|
58
|
+
/** @internal */
|
|
59
|
+
this.sortAsc = true;
|
|
60
|
+
//TODO aria-sort
|
|
61
|
+
/** @internal */
|
|
62
|
+
this.activeColumn = null;
|
|
63
|
+
/** @internal */
|
|
64
|
+
this.sortClickCount = 0;
|
|
65
|
+
/** @internal */
|
|
66
|
+
this.clickCount = 0;
|
|
67
|
+
/** @internal */
|
|
68
|
+
this.originalTableData = [];
|
|
69
|
+
}
|
|
70
|
+
connectedCallback() {
|
|
71
|
+
super.connectedCallback();
|
|
72
|
+
this.originalTableData = [...this.tableData];
|
|
73
|
+
}
|
|
74
|
+
handleHeaderClick(columnIndex) {
|
|
75
|
+
var _a;
|
|
76
|
+
if (this.sort) {
|
|
77
|
+
if (this.sortColumn === columnIndex) {
|
|
78
|
+
this.sortAsc = !this.sortAsc;
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
this.sortColumn = columnIndex;
|
|
82
|
+
this.sortAsc = true;
|
|
83
|
+
}
|
|
84
|
+
this.tableData = [...this.tableData].sort((a, b) => {
|
|
85
|
+
const aValue = a[columnIndex];
|
|
86
|
+
const bValue = b[columnIndex];
|
|
87
|
+
if (typeof aValue === "string" && typeof bValue === "string") {
|
|
88
|
+
return this.sortAsc ? aValue.localeCompare(bValue) : bValue.localeCompare(aValue);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
return this.sortAsc ? aValue - bValue : bValue - aValue;
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
// update the active column
|
|
95
|
+
if (this.activeColumn === columnIndex) {
|
|
96
|
+
this.clickCount++;
|
|
97
|
+
if (this.clickCount === 3 && this.removableSort) {
|
|
98
|
+
this.activeColumn = null;
|
|
99
|
+
this.clickCount = 0;
|
|
100
|
+
this.tableData = [...this.originalTableData];
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
this.activeColumn = columnIndex;
|
|
105
|
+
this.clickCount = 1;
|
|
106
|
+
}
|
|
107
|
+
// add the .active class to the clicked header cell
|
|
108
|
+
const thElements = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll("th");
|
|
109
|
+
thElements.forEach((thElement, index) => {
|
|
110
|
+
if (index === columnIndex) {
|
|
111
|
+
thElement.classList.add("active");
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
thElement.classList.remove("active");
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
getIcon(columnIndex) {
|
|
120
|
+
if (this.activeColumn !== columnIndex) {
|
|
121
|
+
return html `<svg
|
|
122
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
123
|
+
width="16"
|
|
124
|
+
height="16"
|
|
125
|
+
fill="currentColor"
|
|
126
|
+
class="bi bi-arrow-down-up ms-2 align-self-center"
|
|
127
|
+
viewBox="0 0 16 16"
|
|
128
|
+
>
|
|
129
|
+
<path
|
|
130
|
+
fill-rule="evenodd"
|
|
131
|
+
d="M11.5 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L11 2.707V14.5a.5.5 0 0 0 .5.5zm-7-14a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V1.5a.5.5 0 0 1 .5-.5z"
|
|
132
|
+
/>
|
|
133
|
+
</svg>`;
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
return this.sortAsc
|
|
137
|
+
? html `<svg
|
|
138
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
139
|
+
width="16"
|
|
140
|
+
height="16"
|
|
141
|
+
fill="currentColor"
|
|
142
|
+
class="bi bi-sort-up-alt ms-2 align-self-center"
|
|
143
|
+
viewBox="0 0 16 16"
|
|
144
|
+
>
|
|
145
|
+
<path
|
|
146
|
+
d="M3.5 13.5a.5.5 0 0 1-1 0V4.707L1.354 5.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 4.707V13.5zm4-9.5a.5.5 0 0 1 0-1h1a.5.5 0 0 1 0 1h-1zm0 3a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1h-3zm0 3a.5.5 0 0 1 0-1h5a.5.5 0 0 1 0 1h-5zM7 12.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5z"
|
|
147
|
+
/>
|
|
148
|
+
</svg>`
|
|
149
|
+
: html `<svg
|
|
150
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
151
|
+
width="16"
|
|
152
|
+
height="16"
|
|
153
|
+
fill="currentColor"
|
|
154
|
+
class="bi bi-sort-down ms-2 align-self-center"
|
|
155
|
+
viewBox="0 0 16 16"
|
|
156
|
+
>
|
|
157
|
+
<path
|
|
158
|
+
d="M3.5 2.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 11.293V2.5zm3.5 1a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z"
|
|
159
|
+
/>
|
|
160
|
+
</svg>`;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
render() {
|
|
164
|
+
return html `
|
|
165
|
+
<div
|
|
166
|
+
class=${classMap({
|
|
167
|
+
"table-responsive": this.responsive === "always",
|
|
168
|
+
"table-responsive-sm": this.responsive === "sm",
|
|
169
|
+
"table-responsive-md": this.responsive === "md",
|
|
170
|
+
"table-responsive-lg": this.responsive === "lg",
|
|
171
|
+
"table-responsive-xl": this.responsive === "xl"
|
|
172
|
+
})}
|
|
173
|
+
tabindex="0"
|
|
174
|
+
>
|
|
175
|
+
<table
|
|
176
|
+
class="table sgds ${classMap({
|
|
177
|
+
[`table-striped`]: this.striped,
|
|
178
|
+
[`table-bordered`]: this.bordered,
|
|
179
|
+
[`table-borderless`]: this.borderless,
|
|
180
|
+
[`table-hover`]: this.hover,
|
|
181
|
+
[`table-${this.size}`]: this.size,
|
|
182
|
+
[`table-${this.variant}`]: this.variant
|
|
183
|
+
})}"
|
|
184
|
+
>
|
|
185
|
+
<thead>
|
|
186
|
+
<tr>
|
|
187
|
+
${this.tableHeaders.map((header, index) => html `
|
|
188
|
+
<th
|
|
189
|
+
class="${classMap({
|
|
190
|
+
"sortable-header": this.sort,
|
|
191
|
+
active: this.activeColumn === index
|
|
192
|
+
})}"
|
|
193
|
+
@click=${() => this.handleHeaderClick(index)}
|
|
194
|
+
//TODO aria-sort
|
|
195
|
+
>
|
|
196
|
+
${header} ${this.sort ? this.getIcon(index) : null}
|
|
197
|
+
</th>
|
|
198
|
+
`)}
|
|
199
|
+
</tr>
|
|
200
|
+
</thead>
|
|
201
|
+
<tbody>
|
|
202
|
+
${this.tableData.map(row => html `
|
|
203
|
+
<tr>
|
|
204
|
+
${row.map((cell) => html `<td>${cell}</td>`)}
|
|
205
|
+
</tr>
|
|
206
|
+
`)}
|
|
207
|
+
</tbody>
|
|
208
|
+
</table>
|
|
209
|
+
</div>
|
|
210
|
+
`;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
SgdsTable.styles = [...SgdsElement.styles, css_248z];
|
|
214
|
+
__decorate([
|
|
215
|
+
property({ type: Boolean, reflect: true })
|
|
216
|
+
], SgdsTable.prototype, "striped", void 0);
|
|
217
|
+
__decorate([
|
|
218
|
+
property({ type: Boolean, reflect: true })
|
|
219
|
+
], SgdsTable.prototype, "bordered", void 0);
|
|
220
|
+
__decorate([
|
|
221
|
+
property({ type: Boolean, reflect: true })
|
|
222
|
+
], SgdsTable.prototype, "borderless", void 0);
|
|
223
|
+
__decorate([
|
|
224
|
+
property({ type: Boolean, reflect: true })
|
|
225
|
+
], SgdsTable.prototype, "hover", void 0);
|
|
226
|
+
__decorate([
|
|
227
|
+
property({ type: String, reflect: true })
|
|
228
|
+
], SgdsTable.prototype, "size", void 0);
|
|
229
|
+
__decorate([
|
|
230
|
+
property({ type: String, reflect: true })
|
|
231
|
+
], SgdsTable.prototype, "variant", void 0);
|
|
232
|
+
__decorate([
|
|
233
|
+
property({ type: Boolean, reflect: true })
|
|
234
|
+
], SgdsTable.prototype, "sort", void 0);
|
|
235
|
+
__decorate([
|
|
236
|
+
property({ type: Boolean, reflect: true })
|
|
237
|
+
], SgdsTable.prototype, "removableSort", void 0);
|
|
238
|
+
__decorate([
|
|
239
|
+
property({ type: String, reflect: true })
|
|
240
|
+
], SgdsTable.prototype, "responsive", void 0);
|
|
241
|
+
__decorate([
|
|
242
|
+
property({ type: Array })
|
|
243
|
+
], SgdsTable.prototype, "tableHeaders", void 0);
|
|
244
|
+
__decorate([
|
|
245
|
+
property({ type: Array })
|
|
246
|
+
], SgdsTable.prototype, "tableData", void 0);
|
|
247
|
+
__decorate([
|
|
248
|
+
state()
|
|
249
|
+
], SgdsTable.prototype, "sortColumn", void 0);
|
|
250
|
+
__decorate([
|
|
251
|
+
state()
|
|
252
|
+
], SgdsTable.prototype, "sortAsc", void 0);
|
|
253
|
+
__decorate([
|
|
254
|
+
state()
|
|
255
|
+
], SgdsTable.prototype, "activeColumn", void 0);
|
|
256
|
+
__decorate([
|
|
257
|
+
state()
|
|
258
|
+
], SgdsTable.prototype, "sortClickCount", void 0);
|
|
259
|
+
__decorate([
|
|
260
|
+
state()
|
|
261
|
+
], SgdsTable.prototype, "clickCount", void 0);
|
|
262
|
+
__decorate([
|
|
263
|
+
state()
|
|
264
|
+
], SgdsTable.prototype, "originalTableData", void 0);
|
|
265
|
+
|
|
266
|
+
export { SgdsTable, SgdsTable as default };
|
|
267
|
+
//# sourceMappingURL=sgds-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sgds-table.js","sources":["../../../../src/components/Table/sgds-table.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport tableStyle from \"./table.css\";\n/**\n * @summary The use of a table is to organise a collections of data into readable rows\n *\n * @cssproperty --table-bg - Table's background color\n * @cssproperty --table-accent-bg - Table's accent background color\n * @cssproperty --table-striped-color - Text color for striped table\n * @cssproperty --table-striped-bg - Background color for striped table\n * @cssproperty --table-active-color - Active text color for hovered row\n * @cssproperty --table-active-bg - Active background color for hovered row\n * @cssproperty --table-hover-color - Hovered text color for hover table\n * @cssproperty --table-hover-bg - Hovered background color for hover table\n */\n\nexport class SgdsTable extends SgdsElement {\n static styles = [...SgdsElement.styles, tableStyle];\n\n /**\n * Adds zebra-striping using striped to table row within the <tbody>\n */\n @property({ type: Boolean, reflect: true }) striped = false;\n\n /**\n * Add borders to all sides of table and cells\n */\n @property({ type: Boolean, reflect: true }) bordered = false;\n\n /**\n * Remove all borders to table and cells\n */\n @property({ type: Boolean, reflect: true }) borderless = false;\n\n /**\n * Add hoverable state on table rows\n */\n @property({ type: Boolean, reflect: true }) hover = false;\n\n /**\n * Add <code>.table-sm</code> to make table more compact\n */\n @property({ type: String, reflect: true }) size: string;\n\n /**\n * Use contextual classes to add colors to table\n */\n @property({ type: String, reflect: true }) variant: string;\n\n /**\n * Sorting on a column is enabled by adding the sort property. The sorting algorithm is based on javascript array.sort() method. In ascending order from bottom, alphabets come first, followed by numbers, and then symbols. Similarly, in descending order from bottom, symbols come first, followed by numbers, and then alphabets.\n */\n @property({ type: Boolean, reflect: true }) sort = false;\n\n /**\n * When removableSort is present, the third click removes the sorting from the column.\n */\n @property({ type: Boolean, reflect: true }) removableSort = false;\n\n /**\n * Use responsive=\"sm\", responsive=\"md\" , responsive=\"lg\", or responsive=\"xl\" as needed to create responsive tables up to a particular breakpoint. From that breakpoint and up, the table will behave normally and not scroll horizontally. Use reponsive=\"always\" to let table be always responsive\n */\n @property({ type: String, reflect: true }) responsive: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"always\";\n\n /**\n * Populate header cells using Arrays\n */\n @property({ type: Array }) tableHeaders: string[] = [];\n\n /**\n * Populate data cells using Arrays\n */\n @property({ type: Array }) tableData: Array<(string | number)[]> = [];\n\n /** @internal */\n @state() sortColumn: number | null = null;\n\n /** @internal */\n @state() sortAsc = true;\n\n //TODO aria-sort\n\n /** @internal */\n @state() activeColumn: number | null = null;\n\n /** @internal */\n @state() sortClickCount = 0;\n\n /** @internal */\n @state() clickCount = 0;\n\n /** @internal */\n @state() originalTableData: Array<(string | number)[]> = [];\n\n connectedCallback() {\n super.connectedCallback();\n this.originalTableData = [...this.tableData];\n }\n\n handleHeaderClick(columnIndex: number) {\n if (this.sort) {\n if (this.sortColumn === columnIndex) {\n this.sortAsc = !this.sortAsc;\n } else {\n this.sortColumn = columnIndex;\n this.sortAsc = true;\n }\n\n this.tableData = [...this.tableData].sort((a, b) => {\n const aValue = a[columnIndex];\n const bValue = b[columnIndex];\n\n if (typeof aValue === \"string\" && typeof bValue === \"string\") {\n return this.sortAsc ? aValue.localeCompare(bValue) : bValue.localeCompare(aValue);\n } else {\n return this.sortAsc ? (aValue as number) - (bValue as number) : (bValue as number) - (aValue as number);\n }\n });\n\n // update the active column\n if (this.activeColumn === columnIndex) {\n this.clickCount++;\n if (this.clickCount === 3 && this.removableSort) {\n this.activeColumn = null;\n this.clickCount = 0;\n this.tableData = [...this.originalTableData];\n }\n } else {\n this.activeColumn = columnIndex;\n this.clickCount = 1;\n }\n\n // add the .active class to the clicked header cell\n const thElements = this.shadowRoot?.querySelectorAll(\"th\");\n thElements.forEach((thElement, index) => {\n if (index === columnIndex) {\n thElement.classList.add(\"active\");\n } else {\n thElement.classList.remove(\"active\");\n }\n });\n }\n }\n\n getIcon(columnIndex: number) {\n if (this.activeColumn !== columnIndex) {\n return html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-arrow-down-up ms-2 align-self-center\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M11.5 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L11 2.707V14.5a.5.5 0 0 0 .5.5zm-7-14a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V1.5a.5.5 0 0 1 .5-.5z\"\n />\n </svg>`;\n } else {\n return this.sortAsc\n ? html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-sort-up-alt ms-2 align-self-center\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M3.5 13.5a.5.5 0 0 1-1 0V4.707L1.354 5.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 4.707V13.5zm4-9.5a.5.5 0 0 1 0-1h1a.5.5 0 0 1 0 1h-1zm0 3a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1h-3zm0 3a.5.5 0 0 1 0-1h5a.5.5 0 0 1 0 1h-5zM7 12.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5z\"\n />\n </svg>`\n : html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-sort-down ms-2 align-self-center\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M3.5 2.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 11.293V2.5zm3.5 1a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"\n />\n </svg>`;\n }\n }\n\n render() {\n return html`\n <div\n class=${classMap({\n \"table-responsive\": this.responsive === \"always\",\n \"table-responsive-sm\": this.responsive === \"sm\",\n \"table-responsive-md\": this.responsive === \"md\",\n \"table-responsive-lg\": this.responsive === \"lg\",\n \"table-responsive-xl\": this.responsive === \"xl\"\n })}\n tabindex=\"0\"\n >\n <table\n class=\"table sgds ${classMap({\n [`table-striped`]: this.striped,\n [`table-bordered`]: this.bordered,\n [`table-borderless`]: this.borderless,\n [`table-hover`]: this.hover,\n [`table-${this.size}`]: this.size,\n [`table-${this.variant}`]: this.variant\n })}\"\n >\n <thead>\n <tr>\n ${this.tableHeaders.map(\n (header: string, index: number) => html`\n <th\n class=\"${classMap({\n \"sortable-header\": this.sort,\n active: this.activeColumn === index\n })}\"\n @click=${() => this.handleHeaderClick(index)}\n //TODO aria-sort \n >\n ${header} ${this.sort ? this.getIcon(index) : null}\n </th>\n `\n )}\n </tr>\n </thead>\n <tbody>\n ${this.tableData.map(\n row => html`\n <tr>\n ${row.map((cell: string) => html`<td>${cell}</td>`)}\n </tr>\n `\n )}\n </tbody>\n </table>\n </div>\n `;\n }\n}\n\nexport default SgdsTable;\n"],"names":["tableStyle"],"mappings":";;;;;;;;AAKA;;;;;;;;;;;AAWG;AAEG,MAAO,SAAU,SAAQ,WAAW,CAAA;AAA1C,IAAA,WAAA,GAAA;;AAGE;;AAEG;QACyC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAE5D;;AAEG;QACyC,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAE7D;;AAEG;QACyC,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAE/D;;AAEG;QACyC,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;AAY1D;;AAEG;QACyC,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;AAEzD;;AAEG;QACyC,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AAOlE;;AAEG;QACwB,IAAY,CAAA,YAAA,GAAa,EAAE,CAAC;AAEvD;;AAEG;QACwB,IAAS,CAAA,SAAA,GAA+B,EAAE,CAAC;;QAG7D,IAAU,CAAA,UAAA,GAAkB,IAAI,CAAC;;QAGjC,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;;;QAKf,IAAY,CAAA,YAAA,GAAkB,IAAI,CAAC;;QAGnC,IAAc,CAAA,cAAA,GAAG,CAAC,CAAC;;QAGnB,IAAU,CAAA,UAAA,GAAG,CAAC,CAAC;;QAGf,IAAiB,CAAA,iBAAA,GAA+B,EAAE,CAAC;KAqJ7D;IAnJC,iBAAiB,GAAA;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;KAC9C;AAED,IAAA,iBAAiB,CAAC,WAAmB,EAAA;;AACnC,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;AACnC,gBAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;aAC9B;iBAAM;AACL,gBAAA,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;AAC9B,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACrB;AAED,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACjD,gBAAA,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;AAC9B,gBAAA,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;gBAE9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;oBAC5D,OAAO,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;iBACnF;qBAAM;AACL,oBAAA,OAAO,IAAI,CAAC,OAAO,GAAI,MAAiB,GAAI,MAAiB,GAAI,MAAiB,GAAI,MAAiB,CAAC;iBACzG;AACH,aAAC,CAAC,CAAC;;AAGH,YAAA,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;gBACrC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE;AAC/C,oBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,oBAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;oBACpB,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;iBAC9C;aACF;iBAAM;AACL,gBAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;AAChC,gBAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;aACrB;;YAGD,MAAM,UAAU,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC3D,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,KAAI;AACtC,gBAAA,IAAI,KAAK,KAAK,WAAW,EAAE;AACzB,oBAAA,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;iBACnC;qBAAM;AACL,oBAAA,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACtC;AACH,aAAC,CAAC,CAAC;SACJ;KACF;AAED,IAAA,OAAO,CAAC,WAAmB,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AACrC,YAAA,OAAO,IAAI,CAAA,CAAA;;;;;;;;;;;;aAYJ,CAAC;SACT;aAAM;YACL,OAAO,IAAI,CAAC,OAAO;kBACf,IAAI,CAAA,CAAA;;;;;;;;;;;AAWG,gBAAA,CAAA;kBACP,IAAI,CAAA,CAAA;;;;;;;;;;;iBAWG,CAAC;SACb;KACF;IAED,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAA,CAAA;;AAEC,cAAA,EAAA,QAAQ,CAAC;AACf,YAAA,kBAAkB,EAAE,IAAI,CAAC,UAAU,KAAK,QAAQ;AAChD,YAAA,qBAAqB,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI;AAC/C,YAAA,qBAAqB,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI;AAC/C,YAAA,qBAAqB,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI;AAC/C,YAAA,qBAAqB,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI;SAChD,CAAC,CAAA;;;;AAIoB,4BAAA,EAAA,QAAQ,CAAC;AAC3B,YAAA,CAAC,CAAe,aAAA,CAAA,GAAG,IAAI,CAAC,OAAO;AAC/B,YAAA,CAAC,CAAgB,cAAA,CAAA,GAAG,IAAI,CAAC,QAAQ;AACjC,YAAA,CAAC,CAAkB,gBAAA,CAAA,GAAG,IAAI,CAAC,UAAU;AACrC,YAAA,CAAC,CAAa,WAAA,CAAA,GAAG,IAAI,CAAC,KAAK;YAC3B,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI;YACjC,CAAC,CAAA,MAAA,EAAS,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO;SACxC,CAAC,CAAA;;;;AAII,cAAA,EAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CACrB,CAAC,MAAc,EAAE,KAAa,KAAK,IAAI,CAAA,CAAA;;AAE1B,2BAAA,EAAA,QAAQ,CAAC;YAChB,iBAAiB,EAAE,IAAI,CAAC,IAAI;AAC5B,YAAA,MAAM,EAAE,IAAI,CAAC,YAAY,KAAK,KAAK;SACpC,CAAC,CAAA;AACO,2BAAA,EAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;;;AAG1C,oBAAA,EAAA,MAAM,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;;iBAErD,CACF,CAAA;;;;cAID,IAAI,CAAC,SAAS,CAAC,GAAG,CAClB,GAAG,IAAI,IAAI,CAAA,CAAA;;AAEL,kBAAA,EAAA,GAAG,CAAC,GAAG,CAAC,CAAC,IAAY,KAAK,IAAI,CAAA,CAAO,IAAA,EAAA,IAAI,OAAO,CAAC,CAAA;;eAEtD,CACF,CAAA;;;;KAIR,CAAC;KACH;;AA/NM,SAAM,CAAA,MAAA,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAEA,QAAU,CAArC,CAAuC;AAKR,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAiB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKhB,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAkB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKjB,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAoB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKnB,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAe,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKf,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAc,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKb,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAiB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKf,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAc,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKb,UAAA,CAAA;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAuB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKvB,UAAA,CAAA;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAkD,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKjE,UAAA,CAAA;AAA1B,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAA6B,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAK5B,UAAA,CAAA;AAA1B,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAA4C,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG7D,UAAA,CAAA;AAAR,IAAA,KAAK,EAAE;AAAkC,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGjC,UAAA,CAAA;AAAR,IAAA,KAAK,EAAE;AAAgB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKf,UAAA,CAAA;AAAR,IAAA,KAAK,EAAE;AAAoC,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGnC,UAAA,CAAA;AAAR,IAAA,KAAK,EAAE;AAAoB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGnB,UAAA,CAAA;AAAR,IAAA,KAAK,EAAE;AAAgB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGf,UAAA,CAAA;AAAR,IAAA,KAAK,EAAE;AAAoD,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table.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{--table-bg:transparent;--table-accent-bg:transparent;--table-striped-color:var(--sgds-gray-600);--table-striped-bg:rgba(0,0,0,.05);--table-active-color:var(--sgds-gray-600);--table-active-bg:rgba(0,0,0,.1);--table-hover-color:var(--sgds-gray-600);--table-hover-bg:rgba(0,0,0,.075)}tbody,td,th,thead,tr{border:0 solid;border-color:inherit}th{text-align:-webkit-match-parent}table{border-collapse:collapse;caption-side:bottom}.table{--sgds-table-color-type:initial;--sgds-table-bg-type:initial;--sgds-table-color-state:initial;--sgds-table-bg-state:initial;--sgds-table-color:var(--sgds-emphasis-color);--sgds-table-bg:var(--table-bg);--sgds-table-border-color:var(--sgds-border-color);--sgds-table-accent-bg:var(--table-accent-bg);--sgds-table-striped-color:var(--table-striped-color);--sgds-table-striped-bg:var(--table-striped-bg);--sgds-table-active-color:var(--table-striped-color);--sgds-table-active-bg:rgba(0,0,0,.1);--sgds-table-hover-color:var(--table-striped-color);--sgds-table-hover-bg:rgba(0,0,0,.075);border-color:var(--sgds-table-border-color);margin-bottom:1rem;vertical-align:top;width:100%}.table>:not(caption)>*>*{background-color:var(--sgds-table-bg);border-bottom-width:var(--sgds-border-width);box-shadow:inset 0 0 0 9999px var(--sgds-table-bg-state,var(--sgds-table-bg-type,var(--sgds-table-accent-bg)));color:var(--sgds-table-color-state,var(--sgds-table-color-type,var(--sgds-table-color)));padding:1rem}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--sgds-border-width)*2) solid}.table-sm>:not(caption)>*>*{padding:.5rem}.table-bordered>:not(caption)>*{border-width:var(--sgds-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--sgds-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table>:not(:first-child){border-top:2px solid}.table-borderless>:not(:first-child){border-top-width:0}.table-striped-columns>:not(caption)>tr>:nth-child(2n),.table-striped>tbody>tr:nth-of-type(odd)>*{--sgds-table-color-type:var(--sgds-table-striped-color);--sgds-table-bg-type:var(--sgds-table-striped-bg)}.table-active{--sgds-table-color-state:var(--sgds-table-active-color);--sgds-table-bg-state:var(--sgds-table-active-bg)}.table-hover>tbody>tr:hover>*{--sgds-table-color-state:var(--sgds-table-hover-color);--sgds-table-bg-state:var(--sgds-table-hover-bg)}.table-light{--sgds-table-color:#000;--sgds-table-bg:#b1b1b1;--sgds-table-border-color:#9f9f9f;--sgds-table-striped-bg:#a8a8a8;--sgds-table-striped-color:#000;--sgds-table-active-bg:#9f9f9f;--sgds-table-active-color:#000;--sgds-table-hover-bg:#a4a4a4;--sgds-table-hover-color:#000}.table-dark,.table-light{border-color:var(--sgds-table-border-color);color:var(--sgds-table-color)}.table-dark{--sgds-table-color:#fff;--sgds-table-bg:#252525;--sgds-table-border-color:#3b3b3b;--sgds-table-striped-bg:#303030;--sgds-table-striped-color:#fff;--sgds-table-active-bg:#3b3b3b;--sgds-table-active-color:#fff;--sgds-table-hover-bg:#353535;--sgds-table-hover-color:#fff}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:1399.98px){.table-responsive-xxl{-webkit-overflow-scrolling:touch;overflow-x:auto}}.sgds.table{font-size:1rem}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}@media (min-width:576px){.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}}@media (min-width:768px){.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}}@media (min-width:992px){.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}}@media (min-width:1200px){.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}}@media (min-width:1400px){.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}}@media print{.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}}.sortable-header{cursor:pointer}`;
|
|
5
|
+
|
|
6
|
+
export { css_248z as default };
|
|
7
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sgds-textarea.cjs.js","sources":["../../../../src/components/Textarea/sgds-textarea.ts"],"sourcesContent":["import { property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { html } from \"lit/static-html.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { FormSubmitController, SgdsFormControl } from \"../../utils/form\";\nimport genId from \"../../utils/generateId\";\nimport { watch } from \"../../utils/watch\";\nimport textareaStyle from \"./textarea.css\";\nimport feedbackStyles from \"../../styles/feedback.css\";\nimport formLabelStyles from \"../../styles/form-label.css\";\nimport formHintStyles from \"../../styles/form-hint.css\";\n\n/**\n * @summary Text areas allow for the collection of input longer than a single line.\n *\n * @event sgds-change - Emitted when an alteration to the control's value is committed by the user.\n * @event sgds-input - Emitted when the control receives input and its value changes.\n * @event sgds-focus - Emitted when textarea is in focus.\n * @event sgds-blur - Emitted when textarea loses focus.\n */\nexport class SgdsTextarea extends SgdsElement implements SgdsFormControl {\n static styles = [...SgdsElement.styles, feedbackStyles, formHintStyles, formLabelStyles, textareaStyle];\n /**@internal */\n @query(\"textarea.form-control\") textarea: HTMLTextAreaElement;\n /**@internal */\n private readonly formSubmitController = new FormSubmitController(this);\n /**@internal */\n private resizeObserver: ResizeObserver;\n /**The textarea's label */\n @property({ type: String, reflect: true }) label = \"label\";\n /**The textarea's name attribute */\n @property({ type: String, reflect: true }) name: string;\n /**The textarea's value attribute. */\n @property({ type: String, reflect: true }) value = \"\";\n /**Sets the minimum length of the textarea */\n @property({ type: Number, reflect: true }) minlength: number;\n /**Sets the maximum length of the textarea */\n @property({ type: Number, reflect: true }) maxlength: number;\n /**Enables spell checking on the textarea */\n @property({ type: Boolean, reflect: true }) spellcheck = false;\n /** The number of rows to display by default. */\n @property({ type: Number }) rows = 4;\n /**The textarea's placeholder text. */\n @property({ type: String, reflect: true }) placeholder = \"Placeholder\";\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback = \"\";\n /**Autofocus the textarea */\n @property({ type: Boolean, reflect: true }) autofocus = false;\n /**Disables the textarea. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n /**Makes the textarea a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n /** Makes the textarea readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n /** Controls how the textarea can be resized. */\n @property({ type: String, reflect: true }) resize: \"none\" | \"vertical\" | \"auto\" = \"vertical\";\n /** The native textarea's inputmode attribute. It hints at the type of data that might be entered by the user while editing the element or its contents. This allows a browser to display an appropriate virtual keyboard. */\n @property({ type: String, reflect: true }) inputmode:\n | \"none\"\n | \"text\"\n | \"decimal\"\n | \"numeric\"\n | \"tel\"\n | \"search\"\n | \"email\"\n | \"url\";\n /** The native textarea's autocorrect attribute. */\n @property({ type: String, reflect: true }) autocorrect: string;\n /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue()\n defaultValue = \"\";\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n /** Marks the component as invalid. Replace the pseudo :invalid selector for absent in custom elements */\n @property({ type: Boolean, reflect: true }) invalid = false;\n\n /** @internal The textarea's unique id */\n private textareaId = genId(\"textarea\", \"input\");\n\n connectedCallback() {\n super.connectedCallback();\n this.resizeObserver = new ResizeObserver(() => this.setTextareaHeight());\n\n this.updateComplete.then(() => {\n this.setTextareaHeight();\n this.resizeObserver.observe(this.textarea);\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.resizeObserver.unobserve(this.textarea);\n }\n\n /** Sets focus on the textarea. */\n public focus(options?: FocusOptions) {\n this.textarea.focus(options);\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n public reportValidity() {\n return this.textarea.reportValidity();\n }\n /** Selects all the text in the textarea. */\n public select() {\n this.textarea.select();\n }\n handleInvalid(e: Event) {\n e.preventDefault();\n this.invalid = true;\n }\n\n handleChange(event: string) {\n this.value = this.textarea.value;\n this.emit(event);\n }\n\n handleFocus() {\n this.emit(\"sgds-focus\");\n }\n\n handleBlur() {\n this.emit(\"sgds-blur\");\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n\n // Pressing enter when focused on an input should submit the form like a native input, but we wait a tick before\n // submitting to allow users to cancel the keydown event if they need to\n if (event.key === \"Enter\" && !hasModifier) {\n setTimeout(() => {\n if (!event.defaultPrevented) {\n this.formSubmitController.submit();\n }\n });\n }\n }\n\n @watch(\"rows\", { waitUntilFirstUpdate: true })\n handleRowsChange() {\n this.setTextareaHeight();\n }\n\n setTextareaHeight() {\n if (this.resize === \"auto\") {\n this.textarea.style.height = \"auto\";\n this.textarea.style.height = `${this.textarea.scrollHeight}px`;\n } else {\n (this.textarea.style.height as string | undefined) = undefined;\n }\n }\n\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.textarea.disabled = this.disabled;\n this.invalid = !this.textarea.checkValidity();\n }\n\n @watch(\"value\", { waitUntilFirstUpdate: true })\n handleValueChange() {\n this.invalid = !this.textarea.checkValidity();\n this.updateComplete.then(() => this.setTextareaHeight());\n }\n\n render() {\n // if maxlength is defined\n const wordCount = html` <div class=\"form-text\">${this.value.length}/${this.maxlength}</div> `;\n\n return html`\n <div class=\"text-area-label-wrapper\">\n <label for=${this.textareaId} class=\"form-label\">${this.label}</label>\n ${this.maxlength > 0 ? wordCount : undefined}\n </div>\n\n <textarea\n class=${classMap({\n \"form-control\": true,\n \"is-invalid\": this.hasFeedback && this.invalid,\n \"textarea-resize-none\": this.resize === \"none\",\n \"textarea-resize-vertical\": this.resize === \"vertical\",\n \"textarea-resize-auto\": this.resize === \"auto\"\n })}\n id=${this.textareaId}\n name=${ifDefined(this.name)}\n rows=${ifDefined(this.rows)}\n placeholder=${ifDefined(this.placeholder)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n .value=${live(this.value)}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n spellcheck=${ifDefined(this.spellcheck)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n ?autofocus=${this.autofocus}\n autocorrect=${ifDefined(this.autocorrect)}\n inputmode=${ifDefined(this.inputmode)}\n @keyup=${this.handleValueChange}\n @input=${() => this.handleChange(\"sgds-input\")}\n @change=${() => this.handleChange(\"sgds-change\")}\n @invalid=${(e: Event) => this.handleInvalid(e)}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n >\n </textarea>\n\n ${this.hasFeedback\n ? html`<div id=\"${this.textareaId}-invalid\" class=\"invalid-feedback\">${this.invalidFeedback}</div>`\n : \"\"}\n `;\n }\n}\n\nexport default SgdsTextarea;\n"],"names":["SgdsElement","FormSubmitController","genId","html","classMap","ifDefined","live","feedbackStyles","formHintStyles","formLabelStyles","textareaStyle","__decorate","query","property","defaultValue","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAeA;;;;;;;AAOG;AACG,MAAO,YAAa,SAAQA,sBAAW,CAAA;AAA7C,IAAA,WAAA,GAAA;;;AAKmB,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAIC,yBAAoB,CAAC,IAAI,CAAC,CAAC;;QAI5B,IAAK,CAAA,KAAA,GAAG,OAAO,CAAC;;QAIhB,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;;QAMV,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;;QAEnC,IAAI,CAAA,IAAA,GAAG,CAAC,CAAC;;QAEM,IAAW,CAAA,WAAA,GAAG,aAAa,CAAC;;QAE5B,IAAe,CAAA,eAAA,GAAG,EAAE,CAAC;;QAEpB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;;QAElB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAEjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAEjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAGlB,IAAM,CAAA,MAAA,GAAiC,UAAU,CAAC;;QAe7F,IAAY,CAAA,YAAA,GAAG,EAAE,CAAC;;QAE0B,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;;QAGpB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;AAGpD,QAAA,IAAA,CAAA,UAAU,GAAGC,qBAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;KAwIjD;IAtIC,iBAAiB,GAAA;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAEzE,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAK;YAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7C,SAAC,CAAC,CAAC;KACJ;IAED,oBAAoB,GAAA;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC9C;;AAGM,IAAA,KAAK,CAAC,OAAsB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KAC9B;;IAGM,cAAc,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;KACvC;;IAEM,MAAM,GAAA;AACX,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;KACxB;AACD,IAAA,aAAa,CAAC,CAAQ,EAAA;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;AAED,IAAA,YAAY,CAAC,KAAa,EAAA;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAClB;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACzB;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACxB;AAED,IAAA,aAAa,CAAC,KAAoB,EAAA;AAChC,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC;;;QAIrF,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,WAAW,EAAE;YACzC,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;AAC3B,oBAAA,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC;iBACpC;AACH,aAAC,CAAC,CAAC;SACJ;KACF;IAGD,gBAAgB,GAAA;QACd,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;IAED,iBAAiB,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;YAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;AACpC,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAG,EAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC;SAChE;aAAM;YACJ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAA6B,GAAG,SAAS,CAAC;SAChE;KACF;IAGD,oBAAoB,GAAA;;QAElB,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;KAC/C;IAGD,iBAAiB,GAAA;QACf,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;AAC9C,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;KAC1D;IAED,MAAM,GAAA;;AAEJ,QAAA,MAAM,SAAS,GAAGC,kBAAI,CAAA,2BAA2B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAI,CAAA,EAAA,IAAI,CAAC,SAAS,SAAS,CAAC;AAE9F,QAAA,OAAOA,kBAAI,CAAA,CAAA;;AAEM,mBAAA,EAAA,IAAI,CAAC,UAAU,CAAuB,oBAAA,EAAA,IAAI,CAAC,KAAK,CAAA;UAC3D,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,CAAA;;;;AAIpC,cAAA,EAAAC,oBAAQ,CAAC;AACf,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,YAAY,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO;AAC9C,YAAA,sBAAsB,EAAE,IAAI,CAAC,MAAM,KAAK,MAAM;AAC9C,YAAA,0BAA0B,EAAE,IAAI,CAAC,MAAM,KAAK,UAAU;AACtD,YAAA,sBAAsB,EAAE,IAAI,CAAC,MAAM,KAAK,MAAM;SAC/C,CAAC,CAAA;AACG,WAAA,EAAA,IAAI,CAAC,UAAU,CAAA;AACb,aAAA,EAAAC,sBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACpB,aAAA,EAAAA,sBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACb,oBAAA,EAAAA,sBAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AAC7B,kBAAA,EAAAA,sBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACzB,kBAAA,EAAAA,sBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAC5B,eAAA,EAAAC,YAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;uBACV,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AACjC,mBAAA,EAAAD,sBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAC3B,kBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACb,kBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACb,kBAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACZ,mBAAA,EAAA,IAAI,CAAC,SAAS,CAAA;AACb,oBAAA,EAAAA,sBAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AAC7B,kBAAA,EAAAA,sBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAC5B,eAAA,EAAA,IAAI,CAAC,iBAAiB,CAAA;AACtB,eAAA,EAAA,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;AACpC,gBAAA,EAAA,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;mBACrC,CAAC,CAAQ,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;AACrC,eAAA,EAAA,IAAI,CAAC,WAAW,CAAA;AACjB,cAAA,EAAA,IAAI,CAAC,UAAU,CAAA;;;;AAIvB,MAAA,EAAA,IAAI,CAAC,WAAW;cACdF,kBAAI,CAAA,CAAY,SAAA,EAAA,IAAI,CAAC,UAAU,CAAsC,mCAAA,EAAA,IAAI,CAAC,eAAe,CAAQ,MAAA,CAAA;AACnG,cAAE,EAAE,CAAA;KACP,CAAC;KACH;;AAjMM,YAAA,CAAA,MAAM,GAAG,CAAC,GAAGH,sBAAW,CAAC,MAAM,EAAEO,mBAAc,EAAEC,mBAAc,EAAEC,oBAAe,EAAEC,mBAAa,CAAC,CAAC;AAExEC,gBAAA,CAAA;IAA/BC,mBAAK,CAAC,uBAAuB,CAAC;AAA+B,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAMnBD,gBAAA,CAAA;IAA1CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAiB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEhBF,gBAAA,CAAA;IAA1CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAc,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEbF,gBAAA,CAAA;IAA1CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAY,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEXF,gBAAA,CAAA;IAA1CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAmB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAElBF,gBAAA,CAAA;IAA1CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAmB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEjBF,gBAAA,CAAA;IAA3CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAoB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEnCF,gBAAA,CAAA;AAA3B,IAAAE,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAAU,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEMF,gBAAA,CAAA;IAA1CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAA6B,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAE5BF,gBAAA,CAAA;IAA1CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAsB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEpBF,gBAAA,CAAA;IAA3CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAmB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAElBF,gBAAA,CAAA;IAA3CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAkB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEjBF,gBAAA,CAAA;IAA3CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAkB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEjBF,gBAAA,CAAA;IAA3CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAkB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGlBF,gBAAA,CAAA;IAA1CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAmD,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAElDF,gBAAA,CAAA;IAA1CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAQhC,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAEiCF,gBAAA,CAAA;IAA1CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAqB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAG/DF,gBAAA,CAAA;AADC,IAAAG,yBAAY,EAAE;AACG,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAE0BH,gBAAA,CAAA;IAA3CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAqB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAGpBF,gBAAA,CAAA;IAA3CE,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAiB,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAkE5DF,gBAAA,CAAA;IADCI,WAAK,CAAC,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;AAG7C,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,IAAA,CAAA,CAAA;AAYDJ,gBAAA,CAAA;IADCI,WAAK,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;AAKjD,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,sBAAA,EAAA,IAAA,CAAA,CAAA;AAGDJ,gBAAA,CAAA;IADCI,WAAK,CAAC,OAAO,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;AAI9C,CAAA,EAAA,YAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,IAAA,CAAA;;;;;"}
|