@govtechsg/sgds-web-component 2.0.1 → 2.1.0
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/base/card-element.cjs.js +1 -0
- package/base/card-element.cjs.js.map +1 -1
- package/base/card-element.js +1 -0
- package/base/card-element.js.map +1 -1
- package/base/card.cjs.js +1 -0
- package/base/card.cjs.js.map +1 -1
- package/base/card.js +1 -0
- package/base/card.js.map +1 -1
- package/base/dropdown-element.cjs.js +1 -0
- package/base/dropdown-element.cjs.js.map +1 -1
- package/base/dropdown-element.js +1 -0
- package/base/dropdown-element.js.map +1 -1
- package/base/dropdown-list-element.cjs.js +1 -0
- package/base/dropdown-list-element.cjs.js.map +1 -1
- package/base/dropdown-list-element.js +1 -0
- package/base/dropdown-list-element.js.map +1 -1
- package/base/form-check-element.cjs.js +1 -0
- package/base/form-check-element.cjs.js.map +1 -1
- package/base/form-check-element.js +1 -0
- package/base/form-check-element.js.map +1 -1
- package/base/link-element.cjs.js +1 -0
- package/base/link-element.cjs.js.map +1 -1
- package/base/link-element.js +1 -0
- package/base/link-element.js.map +1 -1
- package/base/sgds-element.cjs.js +1 -0
- package/base/sgds-element.cjs.js.map +1 -1
- package/base/sgds-element.cjs2.js +1 -0
- package/base/sgds-element.cjs2.js.map +1 -1
- package/base/sgds-element.js +1 -0
- package/base/sgds-element.js.map +1 -1
- package/base/sgds-element2.js +1 -0
- package/base/sgds-element2.js.map +1 -1
- package/components/Accordion/accordion-item.cjs.js +1 -0
- package/components/Accordion/accordion-item.cjs.js.map +1 -1
- package/components/Accordion/accordion-item.js +1 -0
- package/components/Accordion/accordion-item.js.map +1 -1
- package/components/Accordion/accordion.cjs.js +1 -0
- package/components/Accordion/accordion.cjs.js.map +1 -1
- package/components/Accordion/accordion.js +1 -0
- package/components/Accordion/accordion.js.map +1 -1
- package/components/Accordion/sgds-accordion-item.cjs.js +1 -0
- package/components/Accordion/sgds-accordion-item.cjs.js.map +1 -1
- package/components/Accordion/sgds-accordion-item.js +1 -0
- package/components/Accordion/sgds-accordion-item.js.map +1 -1
- package/components/Accordion/sgds-accordion.cjs.js +1 -0
- package/components/Accordion/sgds-accordion.cjs.js.map +1 -1
- package/components/Accordion/sgds-accordion.js +1 -0
- package/components/Accordion/sgds-accordion.js.map +1 -1
- package/components/ActionCard/action-card.cjs.js +1 -0
- package/components/ActionCard/action-card.cjs.js.map +1 -1
- package/components/ActionCard/action-card.js +1 -0
- package/components/ActionCard/action-card.js.map +1 -1
- package/components/ActionCard/sgds-action-card.cjs.js +1 -0
- package/components/ActionCard/sgds-action-card.cjs.js.map +1 -1
- package/components/ActionCard/sgds-action-card.js +1 -0
- package/components/ActionCard/sgds-action-card.js.map +1 -1
- package/components/Alert/alert-link.cjs.js +1 -0
- package/components/Alert/alert-link.cjs.js.map +1 -1
- package/components/Alert/alert-link.js +1 -0
- package/components/Alert/alert-link.js.map +1 -1
- package/components/Alert/alert.cjs.js +1 -0
- package/components/Alert/alert.cjs.js.map +1 -1
- package/components/Alert/alert.js +1 -0
- package/components/Alert/alert.js.map +1 -1
- package/components/Alert/sgds-alert-heading.cjs.js +1 -0
- package/components/Alert/sgds-alert-heading.cjs.js.map +1 -1
- package/components/Alert/sgds-alert-heading.js +1 -0
- package/components/Alert/sgds-alert-heading.js.map +1 -1
- package/components/Alert/sgds-alert-link.cjs.js +1 -0
- package/components/Alert/sgds-alert-link.cjs.js.map +1 -1
- package/components/Alert/sgds-alert-link.js +1 -0
- package/components/Alert/sgds-alert-link.js.map +1 -1
- package/components/Alert/sgds-alert.cjs.js +1 -0
- package/components/Alert/sgds-alert.cjs.js.map +1 -1
- package/components/Alert/sgds-alert.js +1 -0
- package/components/Alert/sgds-alert.js.map +1 -1
- package/components/Badge/badge.cjs.js +1 -0
- package/components/Badge/badge.cjs.js.map +1 -1
- package/components/Badge/badge.js +1 -0
- package/components/Badge/badge.js.map +1 -1
- package/components/Badge/sgds-badge.cjs.js +1 -0
- package/components/Badge/sgds-badge.cjs.js.map +1 -1
- package/components/Badge/sgds-badge.js +1 -0
- package/components/Badge/sgds-badge.js.map +1 -1
- package/components/Breadcrumb/breadcrumb-item.cjs.js +1 -0
- package/components/Breadcrumb/breadcrumb-item.cjs.js.map +1 -1
- package/components/Breadcrumb/breadcrumb-item.js +1 -0
- package/components/Breadcrumb/breadcrumb-item.js.map +1 -1
- package/components/Breadcrumb/breadcrumb.cjs.js +1 -0
- package/components/Breadcrumb/breadcrumb.cjs.js.map +1 -1
- package/components/Breadcrumb/breadcrumb.js +1 -0
- package/components/Breadcrumb/breadcrumb.js.map +1 -1
- package/components/Breadcrumb/sgds-breadcrumb-item.cjs.js +1 -0
- package/components/Breadcrumb/sgds-breadcrumb-item.cjs.js.map +1 -1
- package/components/Breadcrumb/sgds-breadcrumb-item.js +1 -0
- package/components/Breadcrumb/sgds-breadcrumb-item.js.map +1 -1
- package/components/Breadcrumb/sgds-breadcrumb.cjs.js +1 -0
- package/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +1 -1
- package/components/Breadcrumb/sgds-breadcrumb.js +1 -0
- package/components/Breadcrumb/sgds-breadcrumb.js.map +1 -1
- package/components/Button/button.cjs.js +1 -0
- package/components/Button/button.cjs.js.map +1 -1
- package/components/Button/button.js +1 -0
- package/components/Button/button.js.map +1 -1
- package/components/Button/sgds-button.cjs.js +1 -0
- package/components/Button/sgds-button.cjs.js.map +1 -1
- package/components/Button/sgds-button.js +1 -0
- package/components/Button/sgds-button.js.map +1 -1
- package/components/Card/card.cjs.js +1 -0
- package/components/Card/card.cjs.js.map +1 -1
- package/components/Card/card.js +1 -0
- package/components/Card/card.js.map +1 -1
- package/components/Card/sgds-card.cjs.js +1 -0
- package/components/Card/sgds-card.cjs.js.map +1 -1
- package/components/Card/sgds-card.js +1 -0
- package/components/Card/sgds-card.js.map +1 -1
- package/components/Checkbox/checkbox.cjs.js +1 -0
- package/components/Checkbox/checkbox.cjs.js.map +1 -1
- package/components/Checkbox/checkbox.js +1 -0
- package/components/Checkbox/checkbox.js.map +1 -1
- package/components/Checkbox/sgds-checkbox.cjs.js +1 -0
- package/components/Checkbox/sgds-checkbox.cjs.js.map +1 -1
- package/components/Checkbox/sgds-checkbox.js +1 -0
- package/components/Checkbox/sgds-checkbox.js.map +1 -1
- package/components/ComboBox/combo-box.cjs.js +1 -0
- package/components/ComboBox/combo-box.cjs.js.map +1 -1
- package/components/ComboBox/combo-box.js +1 -0
- package/components/ComboBox/combo-box.js.map +1 -1
- package/components/ComboBox/sgds-combo-box.cjs.js +1 -0
- package/components/ComboBox/sgds-combo-box.cjs.js.map +1 -1
- package/components/ComboBox/sgds-combo-box.js +1 -0
- package/components/ComboBox/sgds-combo-box.js.map +1 -1
- package/components/Datepicker/datepicker-calendar.cjs.js +1 -0
- package/components/Datepicker/datepicker-calendar.cjs.js.map +1 -1
- package/components/Datepicker/datepicker-calendar.cjs2.js +1 -0
- package/components/Datepicker/datepicker-calendar.cjs2.js.map +1 -1
- package/components/Datepicker/datepicker-calendar.js +1 -0
- package/components/Datepicker/datepicker-calendar.js.map +1 -1
- package/components/Datepicker/datepicker-calendar2.js +1 -0
- package/components/Datepicker/datepicker-calendar2.js.map +1 -1
- package/components/Datepicker/datepicker-header.cjs.js +1 -0
- package/components/Datepicker/datepicker-header.cjs.js.map +1 -1
- package/components/Datepicker/datepicker-header.cjs2.js +1 -0
- package/components/Datepicker/datepicker-header.cjs2.js.map +1 -1
- package/components/Datepicker/datepicker-header.js +1 -0
- package/components/Datepicker/datepicker-header.js.map +1 -1
- package/components/Datepicker/datepicker-header2.js +1 -0
- package/components/Datepicker/datepicker-header2.js.map +1 -1
- package/components/Datepicker/datepicker-input.cjs.js +1 -0
- package/components/Datepicker/datepicker-input.cjs.js.map +1 -1
- package/components/Datepicker/datepicker-input.cjs2.js +1 -0
- package/components/Datepicker/datepicker-input.cjs2.js.map +1 -1
- package/components/Datepicker/datepicker-input.js +1 -0
- package/components/Datepicker/datepicker-input.js.map +1 -1
- package/components/Datepicker/datepicker-input2.js +1 -0
- package/components/Datepicker/datepicker-input2.js.map +1 -1
- package/components/Datepicker/datepicker.cjs.js +1 -0
- package/components/Datepicker/datepicker.cjs.js.map +1 -1
- package/components/Datepicker/datepicker.js +1 -0
- package/components/Datepicker/datepicker.js.map +1 -1
- package/components/Datepicker/sgds-datepicker.cjs.js +1 -0
- package/components/Datepicker/sgds-datepicker.cjs.js.map +1 -1
- package/components/Datepicker/sgds-datepicker.js +1 -0
- package/components/Datepicker/sgds-datepicker.js.map +1 -1
- package/components/Drawer/drawer.cjs.js +1 -0
- package/components/Drawer/drawer.cjs.js.map +1 -1
- package/components/Drawer/drawer.js +1 -0
- package/components/Drawer/drawer.js.map +1 -1
- package/components/Drawer/sgds-drawer.cjs.js +1 -0
- package/components/Drawer/sgds-drawer.cjs.js.map +1 -1
- package/components/Drawer/sgds-drawer.js +1 -0
- package/components/Drawer/sgds-drawer.js.map +1 -1
- package/components/Dropdown/dropdown.cjs.js +1 -0
- package/components/Dropdown/dropdown.cjs.js.map +1 -1
- package/components/Dropdown/dropdown.js +1 -0
- package/components/Dropdown/dropdown.js.map +1 -1
- package/components/Dropdown/sgds-dropdown-item.cjs.js +1 -0
- package/components/Dropdown/sgds-dropdown-item.cjs.js.map +1 -1
- package/components/Dropdown/sgds-dropdown-item.js +1 -0
- package/components/Dropdown/sgds-dropdown-item.js.map +1 -1
- package/components/Dropdown/sgds-dropdown.cjs.js +1 -0
- package/components/Dropdown/sgds-dropdown.cjs.js.map +1 -1
- package/components/Dropdown/sgds-dropdown.js +1 -0
- package/components/Dropdown/sgds-dropdown.js.map +1 -1
- package/components/FileUpload/file-upload.cjs.js +1 -0
- package/components/FileUpload/file-upload.cjs.js.map +1 -1
- package/components/FileUpload/file-upload.js +1 -0
- package/components/FileUpload/file-upload.js.map +1 -1
- package/components/FileUpload/sgds-file-upload.cjs.js +1 -0
- package/components/FileUpload/sgds-file-upload.cjs.js.map +1 -1
- package/components/FileUpload/sgds-file-upload.js +1 -0
- package/components/FileUpload/sgds-file-upload.js.map +1 -1
- package/components/Footer/footer.cjs.js +1 -0
- package/components/Footer/footer.cjs.js.map +1 -1
- package/components/Footer/footer.js +1 -0
- package/components/Footer/footer.js.map +1 -1
- package/components/Footer/sgds-footer.cjs.js +1 -0
- package/components/Footer/sgds-footer.cjs.js.map +1 -1
- package/components/Footer/sgds-footer.js +1 -0
- package/components/Footer/sgds-footer.js.map +1 -1
- package/components/Input/input.cjs.js +1 -0
- package/components/Input/input.cjs.js.map +1 -1
- package/components/Input/input.js +1 -0
- package/components/Input/input.js.map +1 -1
- package/components/Input/sgds-input.cjs.js +1 -0
- package/components/Input/sgds-input.cjs.js.map +1 -1
- package/components/Input/sgds-input.js +1 -0
- package/components/Input/sgds-input.js.map +1 -1
- package/components/Mainnav/mainnav-dropdown.cjs.js +1 -0
- package/components/Mainnav/mainnav-dropdown.cjs.js.map +1 -1
- package/components/Mainnav/mainnav-dropdown.js +1 -0
- package/components/Mainnav/mainnav-dropdown.js.map +1 -1
- package/components/Mainnav/mainnav-item.cjs.js +1 -0
- package/components/Mainnav/mainnav-item.cjs.js.map +1 -1
- package/components/Mainnav/mainnav-item.js +1 -0
- package/components/Mainnav/mainnav-item.js.map +1 -1
- package/components/Mainnav/mainnav.cjs.js +1 -0
- package/components/Mainnav/mainnav.cjs.js.map +1 -1
- package/components/Mainnav/mainnav.js +1 -0
- package/components/Mainnav/mainnav.js.map +1 -1
- package/components/Mainnav/sgds-mainnav-dropdown.cjs.js +1 -0
- package/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +1 -1
- package/components/Mainnav/sgds-mainnav-dropdown.js +1 -0
- package/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -1
- package/components/Mainnav/sgds-mainnav-item.cjs.js +1 -0
- package/components/Mainnav/sgds-mainnav-item.cjs.js.map +1 -1
- package/components/Mainnav/sgds-mainnav-item.js +1 -0
- package/components/Mainnav/sgds-mainnav-item.js.map +1 -1
- package/components/Mainnav/sgds-mainnav.cjs.js +1 -0
- package/components/Mainnav/sgds-mainnav.cjs.js.map +1 -1
- package/components/Mainnav/sgds-mainnav.js +1 -0
- package/components/Mainnav/sgds-mainnav.js.map +1 -1
- package/components/Masthead/masthead.cjs.js +1 -0
- package/components/Masthead/masthead.cjs.js.map +1 -1
- package/components/Masthead/masthead.js +1 -0
- package/components/Masthead/masthead.js.map +1 -1
- package/components/Masthead/sgds-masthead.cjs.js +1 -0
- package/components/Masthead/sgds-masthead.cjs.js.map +1 -1
- package/components/Masthead/sgds-masthead.js +1 -0
- package/components/Masthead/sgds-masthead.js.map +1 -1
- package/components/Modal/modal.cjs.js +1 -0
- package/components/Modal/modal.cjs.js.map +1 -1
- package/components/Modal/modal.js +1 -0
- package/components/Modal/modal.js.map +1 -1
- package/components/Modal/sgds-modal.cjs.js +1 -0
- package/components/Modal/sgds-modal.cjs.js.map +1 -1
- package/components/Modal/sgds-modal.js +1 -0
- package/components/Modal/sgds-modal.js.map +1 -1
- package/components/Pagination/pagination.cjs.js +1 -0
- package/components/Pagination/pagination.cjs.js.map +1 -1
- package/components/Pagination/pagination.js +1 -0
- package/components/Pagination/pagination.js.map +1 -1
- package/components/Pagination/sgds-pagination.cjs.js +1 -0
- package/components/Pagination/sgds-pagination.cjs.js.map +1 -1
- package/components/Pagination/sgds-pagination.js +1 -0
- package/components/Pagination/sgds-pagination.js.map +1 -1
- package/components/Progress/progress-bar.cjs.js +1 -0
- package/components/Progress/progress-bar.cjs.js.map +1 -1
- package/components/Progress/progress-bar.js +1 -0
- package/components/Progress/progress-bar.js.map +1 -1
- package/components/Progress/progress.cjs.js +1 -0
- package/components/Progress/progress.cjs.js.map +1 -1
- package/components/Progress/progress.js +1 -0
- package/components/Progress/progress.js.map +1 -1
- package/components/Progress/sgds-progress-bar.cjs.js +1 -0
- package/components/Progress/sgds-progress-bar.cjs.js.map +1 -1
- package/components/Progress/sgds-progress-bar.js +1 -0
- package/components/Progress/sgds-progress-bar.js.map +1 -1
- package/components/Progress/sgds-progress.cjs.js +1 -0
- package/components/Progress/sgds-progress.cjs.js.map +1 -1
- package/components/Progress/sgds-progress.js +1 -0
- package/components/Progress/sgds-progress.js.map +1 -1
- package/components/QuantityToggle/quantity-toggle.cjs.js +1 -0
- package/components/QuantityToggle/quantity-toggle.cjs.js.map +1 -1
- package/components/QuantityToggle/quantity-toggle.js +1 -0
- package/components/QuantityToggle/quantity-toggle.js.map +1 -1
- package/components/QuantityToggle/sgds-quantity-toggle.cjs.js +1 -0
- package/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +1 -1
- package/components/QuantityToggle/sgds-quantity-toggle.js +1 -0
- package/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -1
- package/components/Radio/radio-group.cjs.js +1 -0
- package/components/Radio/radio-group.cjs.js.map +1 -1
- package/components/Radio/radio-group.js +1 -0
- package/components/Radio/radio-group.js.map +1 -1
- package/components/Radio/radio.cjs.js +1 -0
- package/components/Radio/radio.cjs.js.map +1 -1
- package/components/Radio/radio.js +1 -0
- package/components/Radio/radio.js.map +1 -1
- package/components/Radio/sgds-radio-group.cjs.js +1 -0
- package/components/Radio/sgds-radio-group.cjs.js.map +1 -1
- package/components/Radio/sgds-radio-group.js +1 -0
- package/components/Radio/sgds-radio-group.js.map +1 -1
- package/components/Radio/sgds-radio.cjs.js +1 -0
- package/components/Radio/sgds-radio.cjs.js.map +1 -1
- package/components/Radio/sgds-radio.js +1 -0
- package/components/Radio/sgds-radio.js.map +1 -1
- package/components/Sidenav/sgds-sidenav-item.cjs.js +1 -0
- package/components/Sidenav/sgds-sidenav-item.cjs.js.map +1 -1
- package/components/Sidenav/sgds-sidenav-item.js +1 -0
- package/components/Sidenav/sgds-sidenav-item.js.map +1 -1
- package/components/Sidenav/sgds-sidenav-link.cjs.js +1 -0
- package/components/Sidenav/sgds-sidenav-link.cjs.js.map +1 -1
- package/components/Sidenav/sgds-sidenav-link.js +1 -0
- package/components/Sidenav/sgds-sidenav-link.js.map +1 -1
- package/components/Sidenav/sgds-sidenav.cjs.js +1 -0
- package/components/Sidenav/sgds-sidenav.cjs.js.map +1 -1
- package/components/Sidenav/sgds-sidenav.js +1 -0
- package/components/Sidenav/sgds-sidenav.js.map +1 -1
- package/components/Sidenav/sidenav-item.cjs.js +1 -0
- package/components/Sidenav/sidenav-item.cjs.js.map +1 -1
- package/components/Sidenav/sidenav-item.js +1 -0
- package/components/Sidenav/sidenav-item.js.map +1 -1
- package/components/Sidenav/sidenav-link.cjs.js +1 -0
- package/components/Sidenav/sidenav-link.cjs.js.map +1 -1
- package/components/Sidenav/sidenav-link.js +1 -0
- package/components/Sidenav/sidenav-link.js.map +1 -1
- package/components/Sidenav/sidenav.cjs.js +1 -0
- package/components/Sidenav/sidenav.cjs.js.map +1 -1
- package/components/Sidenav/sidenav.js +1 -0
- package/components/Sidenav/sidenav.js.map +1 -1
- package/components/Spinner/sgds-spinner.cjs.js +1 -0
- package/components/Spinner/sgds-spinner.cjs.js.map +1 -1
- package/components/Spinner/sgds-spinner.js +1 -0
- package/components/Spinner/sgds-spinner.js.map +1 -1
- package/components/Spinner/spinner.cjs.js +1 -0
- package/components/Spinner/spinner.cjs.js.map +1 -1
- package/components/Spinner/spinner.js +1 -0
- package/components/Spinner/spinner.js.map +1 -1
- package/components/Stepper/sgds-stepper.cjs.js +1 -0
- package/components/Stepper/sgds-stepper.cjs.js.map +1 -1
- package/components/Stepper/sgds-stepper.js +1 -0
- package/components/Stepper/sgds-stepper.js.map +1 -1
- package/components/Stepper/stepper.cjs.js +1 -0
- package/components/Stepper/stepper.cjs.js.map +1 -1
- package/components/Stepper/stepper.js +1 -0
- package/components/Stepper/stepper.js.map +1 -1
- package/components/Tab/sgds-tab-group.cjs.js +1 -0
- package/components/Tab/sgds-tab-group.cjs.js.map +1 -1
- package/components/Tab/sgds-tab-group.js +1 -0
- package/components/Tab/sgds-tab-group.js.map +1 -1
- package/components/Tab/sgds-tab-panel.cjs.js +1 -0
- package/components/Tab/sgds-tab-panel.cjs.js.map +1 -1
- package/components/Tab/sgds-tab-panel.js +1 -0
- package/components/Tab/sgds-tab-panel.js.map +1 -1
- package/components/Tab/sgds-tab.cjs.js +1 -0
- package/components/Tab/sgds-tab.cjs.js.map +1 -1
- package/components/Tab/sgds-tab.js +1 -0
- package/components/Tab/sgds-tab.js.map +1 -1
- package/components/Tab/tab-group.cjs.js +1 -0
- package/components/Tab/tab-group.cjs.js.map +1 -1
- package/components/Tab/tab-group.js +1 -0
- package/components/Tab/tab-group.js.map +1 -1
- package/components/Tab/tab-panel.cjs.js +1 -0
- package/components/Tab/tab-panel.cjs.js.map +1 -1
- package/components/Tab/tab-panel.js +1 -0
- package/components/Tab/tab-panel.js.map +1 -1
- package/components/Tab/tab.cjs.js +1 -0
- package/components/Tab/tab.cjs.js.map +1 -1
- package/components/Tab/tab.js +1 -0
- package/components/Tab/tab.js.map +1 -1
- package/components/Table/sgds-table.cjs.js +1 -0
- package/components/Table/sgds-table.cjs.js.map +1 -1
- package/components/Table/sgds-table.js +1 -0
- package/components/Table/sgds-table.js.map +1 -1
- package/components/Table/table.cjs.js +1 -0
- package/components/Table/table.cjs.js.map +1 -1
- package/components/Table/table.js +1 -0
- package/components/Table/table.js.map +1 -1
- package/components/Textarea/sgds-textarea.cjs.js +1 -0
- package/components/Textarea/sgds-textarea.cjs.js.map +1 -1
- package/components/Textarea/sgds-textarea.js +1 -0
- package/components/Textarea/sgds-textarea.js.map +1 -1
- package/components/Textarea/textarea.cjs.js +1 -0
- package/components/Textarea/textarea.cjs.js.map +1 -1
- package/components/Textarea/textarea.js +1 -0
- package/components/Textarea/textarea.js.map +1 -1
- package/components/Toast/sgds-toast-container.cjs.js +1 -0
- package/components/Toast/sgds-toast-container.cjs.js.map +1 -1
- package/components/Toast/sgds-toast-container.js +1 -0
- package/components/Toast/sgds-toast-container.js.map +1 -1
- package/components/Toast/sgds-toast.cjs.js +1 -0
- package/components/Toast/sgds-toast.cjs.js.map +1 -1
- package/components/Toast/sgds-toast.js +1 -0
- package/components/Toast/sgds-toast.js.map +1 -1
- package/components/Toast/toast-container.cjs.js +1 -0
- package/components/Toast/toast-container.cjs.js.map +1 -1
- package/components/Toast/toast-container.js +1 -0
- package/components/Toast/toast-container.js.map +1 -1
- package/components/Toast/toast.cjs.js +1 -0
- package/components/Toast/toast.cjs.js.map +1 -1
- package/components/Toast/toast.js +1 -0
- package/components/Toast/toast.js.map +1 -1
- package/components/Tooltip/sgds-tooltip.cjs.js +1 -0
- package/components/Tooltip/sgds-tooltip.cjs.js.map +1 -1
- package/components/Tooltip/sgds-tooltip.js +1 -0
- package/components/Tooltip/sgds-tooltip.js.map +1 -1
- package/components/Tooltip/tooltip.cjs.js +1 -0
- package/components/Tooltip/tooltip.cjs.js.map +1 -1
- package/components/Tooltip/tooltip.js +1 -0
- package/components/Tooltip/tooltip.js.map +1 -1
- package/internals/CloseButton/close-button.cjs.js +1 -0
- package/internals/CloseButton/close-button.cjs.js.map +1 -1
- package/internals/CloseButton/close-button.js +1 -0
- package/internals/CloseButton/close-button.js.map +1 -1
- package/internals/CloseButton/sgds-close-button.cjs.js +1 -0
- package/internals/CloseButton/sgds-close-button.cjs.js.map +1 -1
- package/internals/CloseButton/sgds-close-button.js +1 -0
- package/internals/CloseButton/sgds-close-button.js.map +1 -1
- package/package.json +1 -1
- package/react/accordion/index.cjs.js +1 -0
- package/react/accordion/index.cjs.js.map +1 -1
- package/react/accordion/index.js +1 -0
- package/react/accordion/index.js.map +1 -1
- package/react/accordion-item/index.cjs.js +1 -0
- package/react/accordion-item/index.cjs.js.map +1 -1
- package/react/accordion-item/index.js +1 -0
- package/react/accordion-item/index.js.map +1 -1
- package/react/action-card/index.cjs.js +1 -0
- package/react/action-card/index.cjs.js.map +1 -1
- package/react/action-card/index.js +1 -0
- package/react/action-card/index.js.map +1 -1
- package/react/alert/index.cjs.js +1 -0
- package/react/alert/index.cjs.js.map +1 -1
- package/react/alert/index.js +1 -0
- package/react/alert/index.js.map +1 -1
- package/react/alert-heading/index.cjs.js +1 -0
- package/react/alert-heading/index.cjs.js.map +1 -1
- package/react/alert-heading/index.js +1 -0
- package/react/alert-heading/index.js.map +1 -1
- package/react/alert-link/index.cjs.js +1 -0
- package/react/alert-link/index.cjs.js.map +1 -1
- package/react/alert-link/index.js +1 -0
- package/react/alert-link/index.js.map +1 -1
- package/react/badge/index.cjs.js +1 -0
- package/react/badge/index.cjs.js.map +1 -1
- package/react/badge/index.js +1 -0
- package/react/badge/index.js.map +1 -1
- package/react/breadcrumb/index.cjs.js +1 -0
- package/react/breadcrumb/index.cjs.js.map +1 -1
- package/react/breadcrumb/index.js +1 -0
- package/react/breadcrumb/index.js.map +1 -1
- package/react/breadcrumb-item/index.cjs.js +1 -0
- package/react/breadcrumb-item/index.cjs.js.map +1 -1
- package/react/breadcrumb-item/index.js +1 -0
- package/react/breadcrumb-item/index.js.map +1 -1
- package/react/button/index.cjs.js +1 -0
- package/react/button/index.cjs.js.map +1 -1
- package/react/button/index.js +1 -0
- package/react/button/index.js.map +1 -1
- package/react/card/index.cjs.js +1 -0
- package/react/card/index.cjs.js.map +1 -1
- package/react/card/index.js +1 -0
- package/react/card/index.js.map +1 -1
- package/react/checkbox/index.cjs.js +1 -0
- package/react/checkbox/index.cjs.js.map +1 -1
- package/react/checkbox/index.js +1 -0
- package/react/checkbox/index.js.map +1 -1
- package/react/combo-box/index.cjs.js +1 -0
- package/react/combo-box/index.cjs.js.map +1 -1
- package/react/combo-box/index.js +1 -0
- package/react/combo-box/index.js.map +1 -1
- package/react/datepicker/index.cjs.js +1 -0
- package/react/datepicker/index.cjs.js.map +1 -1
- package/react/datepicker/index.js +1 -0
- package/react/datepicker/index.js.map +1 -1
- package/react/drawer/index.cjs.js +1 -0
- package/react/drawer/index.cjs.js.map +1 -1
- package/react/drawer/index.js +1 -0
- package/react/drawer/index.js.map +1 -1
- package/react/dropdown/index.cjs.js +1 -0
- package/react/dropdown/index.cjs.js.map +1 -1
- package/react/dropdown/index.js +1 -0
- package/react/dropdown/index.js.map +1 -1
- package/react/dropdown-item/index.cjs.js +1 -0
- package/react/dropdown-item/index.cjs.js.map +1 -1
- package/react/dropdown-item/index.js +1 -0
- package/react/dropdown-item/index.js.map +1 -1
- package/react/file-upload/index.cjs.js +1 -0
- package/react/file-upload/index.cjs.js.map +1 -1
- package/react/file-upload/index.js +1 -0
- package/react/file-upload/index.js.map +1 -1
- package/react/footer/index.cjs.js +1 -0
- package/react/footer/index.cjs.js.map +1 -1
- package/react/footer/index.js +1 -0
- 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 +1 -0
- package/react/input/index.cjs.js.map +1 -1
- package/react/input/index.js +1 -0
- package/react/input/index.js.map +1 -1
- package/react/mainnav/index.cjs.js +1 -0
- package/react/mainnav/index.cjs.js.map +1 -1
- package/react/mainnav/index.js +1 -0
- package/react/mainnav/index.js.map +1 -1
- package/react/mainnav-dropdown/index.cjs.js +1 -0
- package/react/mainnav-dropdown/index.cjs.js.map +1 -1
- package/react/mainnav-dropdown/index.js +1 -0
- package/react/mainnav-dropdown/index.js.map +1 -1
- package/react/mainnav-item/index.cjs.js +1 -0
- package/react/mainnav-item/index.cjs.js.map +1 -1
- package/react/mainnav-item/index.js +1 -0
- package/react/mainnav-item/index.js.map +1 -1
- package/react/masthead/index.cjs.js +1 -0
- package/react/masthead/index.cjs.js.map +1 -1
- package/react/masthead/index.js +1 -0
- package/react/masthead/index.js.map +1 -1
- package/react/modal/index.cjs.js +1 -0
- package/react/modal/index.cjs.js.map +1 -1
- package/react/modal/index.js +1 -0
- package/react/modal/index.js.map +1 -1
- package/react/pagination/index.cjs.js +1 -0
- package/react/pagination/index.cjs.js.map +1 -1
- package/react/pagination/index.js +1 -0
- package/react/pagination/index.js.map +1 -1
- package/react/progress/index.cjs.js +1 -0
- package/react/progress/index.cjs.js.map +1 -1
- package/react/progress/index.js +1 -0
- package/react/progress/index.js.map +1 -1
- package/react/progress-bar/index.cjs.js +1 -0
- package/react/progress-bar/index.cjs.js.map +1 -1
- package/react/progress-bar/index.js +1 -0
- package/react/progress-bar/index.js.map +1 -1
- package/react/quantity-toggle/index.cjs.js +1 -0
- package/react/quantity-toggle/index.cjs.js.map +1 -1
- package/react/quantity-toggle/index.js +1 -0
- package/react/quantity-toggle/index.js.map +1 -1
- package/react/radio/index.cjs.js +1 -0
- package/react/radio/index.cjs.js.map +1 -1
- package/react/radio/index.js +1 -0
- package/react/radio/index.js.map +1 -1
- package/react/radio-group/index.cjs.js +1 -0
- package/react/radio-group/index.cjs.js.map +1 -1
- package/react/radio-group/index.js +1 -0
- package/react/radio-group/index.js.map +1 -1
- package/react/sidenav/index.cjs.js +1 -0
- package/react/sidenav/index.cjs.js.map +1 -1
- package/react/sidenav/index.js +1 -0
- package/react/sidenav/index.js.map +1 -1
- package/react/sidenav-item/index.cjs.js +1 -0
- package/react/sidenav-item/index.cjs.js.map +1 -1
- package/react/sidenav-item/index.js +1 -0
- package/react/sidenav-item/index.js.map +1 -1
- package/react/sidenav-link/index.cjs.js +1 -0
- package/react/sidenav-link/index.cjs.js.map +1 -1
- package/react/sidenav-link/index.js +1 -0
- package/react/sidenav-link/index.js.map +1 -1
- package/react/spinner/index.cjs.js +1 -0
- package/react/spinner/index.cjs.js.map +1 -1
- package/react/spinner/index.js +1 -0
- package/react/spinner/index.js.map +1 -1
- package/react/stepper/index.cjs.js +1 -0
- package/react/stepper/index.cjs.js.map +1 -1
- package/react/stepper/index.js +1 -0
- package/react/stepper/index.js.map +1 -1
- package/react/tab/index.cjs.js +1 -0
- package/react/tab/index.cjs.js.map +1 -1
- package/react/tab/index.js +1 -0
- package/react/tab/index.js.map +1 -1
- package/react/tab-group/index.cjs.js +1 -0
- package/react/tab-group/index.cjs.js.map +1 -1
- package/react/tab-group/index.js +1 -0
- package/react/tab-group/index.js.map +1 -1
- package/react/tab-panel/index.cjs.js +1 -0
- package/react/tab-panel/index.cjs.js.map +1 -1
- package/react/tab-panel/index.js +1 -0
- package/react/tab-panel/index.js.map +1 -1
- package/react/table/index.cjs.js +1 -0
- package/react/table/index.cjs.js.map +1 -1
- package/react/table/index.js +1 -0
- package/react/table/index.js.map +1 -1
- package/react/textarea/index.cjs.js +1 -0
- package/react/textarea/index.cjs.js.map +1 -1
- package/react/textarea/index.js +1 -0
- package/react/textarea/index.js.map +1 -1
- package/react/toast/index.cjs.js +1 -0
- package/react/toast/index.cjs.js.map +1 -1
- package/react/toast/index.js +1 -0
- package/react/toast/index.js.map +1 -1
- package/react/toast-container/index.cjs.js +1 -0
- package/react/toast-container/index.cjs.js.map +1 -1
- package/react/toast-container/index.js +1 -0
- package/react/toast-container/index.js.map +1 -1
- package/react/tooltip/index.cjs.js +1 -0
- package/react/tooltip/index.cjs.js.map +1 -1
- package/react/tooltip/index.js +1 -0
- package/react/tooltip/index.js.map +1 -1
- package/styles/anchor.cjs.js +1 -0
- package/styles/anchor.cjs.js.map +1 -1
- package/styles/anchor.js +1 -0
- package/styles/anchor.js.map +1 -1
- package/styles/bg-variants.cjs.js +1 -0
- package/styles/bg-variants.cjs.js.map +1 -1
- package/styles/bg-variants.js +1 -0
- package/styles/bg-variants.js.map +1 -1
- package/styles/border-variants.cjs.js +1 -0
- package/styles/border-variants.cjs.js.map +1 -1
- package/styles/border-variants.js +1 -0
- package/styles/border-variants.js.map +1 -1
- package/styles/feedback.cjs.js +1 -0
- package/styles/feedback.cjs.js.map +1 -1
- package/styles/feedback.js +1 -0
- package/styles/feedback.js.map +1 -1
- package/styles/form-hint.cjs.js +1 -0
- package/styles/form-hint.cjs.js.map +1 -1
- package/styles/form-hint.js +1 -0
- package/styles/form-hint.js.map +1 -1
- package/styles/form-label.cjs.js +1 -0
- package/styles/form-label.cjs.js.map +1 -1
- package/styles/form-label.js +1 -0
- package/styles/form-label.js.map +1 -1
- package/styles/header-class.cjs.js +1 -0
- package/styles/header-class.cjs.js.map +1 -1
- package/styles/header-class.js +1 -0
- package/styles/header-class.js.map +1 -1
- package/styles/paragraph.cjs.js +1 -0
- package/styles/paragraph.cjs.js.map +1 -1
- package/styles/paragraph.js +1 -0
- package/styles/paragraph.js.map +1 -1
- package/styles/svg.cjs.js +1 -0
- package/styles/svg.cjs.js.map +1 -1
- package/styles/svg.js +1 -0
- package/styles/svg.js.map +1 -1
- package/styles/text-variants.cjs.js +1 -0
- package/styles/text-variants.cjs.js.map +1 -1
- package/styles/text-variants.js +1 -0
- package/styles/text-variants.js.map +1 -1
- package/utils/animate.cjs.js +1 -0
- package/utils/animate.cjs.js.map +1 -1
- package/utils/animate.js +1 -0
- package/utils/animate.js.map +1 -1
- package/utils/animation-registry.cjs.js +1 -0
- package/utils/animation-registry.cjs.js.map +1 -1
- package/utils/animation-registry.js +1 -0
- package/utils/animation-registry.js.map +1 -1
- package/utils/breakpoints.cjs.js +1 -0
- package/utils/breakpoints.cjs.js.map +1 -1
- package/utils/breakpoints.js +1 -0
- package/utils/breakpoints.js.map +1 -1
- package/utils/defaultvalue.cjs.js +1 -0
- package/utils/defaultvalue.cjs.js.map +1 -1
- package/utils/defaultvalue.js +1 -0
- package/utils/defaultvalue.js.map +1 -1
- package/utils/event.cjs.js +1 -0
- package/utils/event.cjs.js.map +1 -1
- package/utils/event.js +1 -0
- package/utils/event.js.map +1 -1
- package/utils/form.cjs.js +1 -0
- package/utils/form.cjs.js.map +1 -1
- package/utils/form.js +1 -0
- package/utils/form.js.map +1 -1
- package/utils/generateId.cjs.js +1 -0
- package/utils/generateId.cjs.js.map +1 -1
- package/utils/generateId.js +1 -0
- package/utils/generateId.js.map +1 -1
- package/utils/mergeDeep.cjs.js +1 -0
- package/utils/mergeDeep.cjs.js.map +1 -1
- package/utils/mergeDeep.js +1 -0
- package/utils/mergeDeep.js.map +1 -1
- package/utils/modal.cjs.js +1 -0
- package/utils/modal.cjs.js.map +1 -1
- package/utils/modal.js +1 -0
- package/utils/modal.js.map +1 -1
- package/utils/object.cjs.js +1 -0
- package/utils/object.cjs.js.map +1 -1
- package/utils/object.js +1 -0
- package/utils/object.js.map +1 -1
- package/utils/scroll.cjs.js +1 -0
- package/utils/scroll.cjs.js.map +1 -1
- package/utils/scroll.js +1 -0
- package/utils/scroll.js.map +1 -1
- package/utils/slot.cjs.js +1 -0
- package/utils/slot.cjs.js.map +1 -1
- package/utils/slot.js +1 -0
- package/utils/slot.js.map +1 -1
- package/utils/tabbable.cjs.js +1 -0
- package/utils/tabbable.cjs.js.map +1 -1
- package/utils/tabbable.js +1 -0
- package/utils/tabbable.js.map +1 -1
- package/utils/time.cjs.js +1 -0
- package/utils/time.cjs.js.map +1 -1
- package/utils/time.js +1 -0
- package/utils/time.js.map +1 -1
- package/utils/watch.cjs.js +1 -0
- package/utils/watch.cjs.js.map +1 -1
- package/utils/watch.js +1 -0
- package/utils/watch.js.map +1 -1
package/utils/scroll.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.cjs.js","sources":["../../src/utils/scroll.ts"],"sourcesContent":["import { getOffset } from \"./offset\";\n\nconst locks = new Set();\n\n/**\n * Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\n * without premature unlocking.\n */\nexport function lockBodyScrolling(lockingEl: HTMLElement) {\n locks.add(lockingEl);\n document.body.classList.add(\"sl-scroll-lock\");\n}\n\n/**\n * Scrolls an element into view of its container. If the element is already in view, nothing will happen.\n */\nexport function scrollIntoView(\n element: HTMLElement,\n container: HTMLElement,\n direction: \"horizontal\" | \"vertical\" | \"both\" = \"vertical\",\n behavior: \"smooth\" | \"auto\" = \"smooth\"\n) {\n const offset = getOffset(element, container);\n const offsetTop = offset.top + container.scrollTop;\n const offsetLeft = offset.left + container.scrollLeft;\n const minX = container.scrollLeft;\n const maxX = container.scrollLeft + container.offsetWidth;\n const minY = container.scrollTop;\n const maxY = container.scrollTop + container.offsetHeight;\n\n if (direction === \"horizontal\" || direction === \"both\") {\n if (offsetLeft < minX) {\n container.scrollTo({ left: offsetLeft, behavior });\n } else if (offsetLeft + element.clientWidth > maxX) {\n container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });\n }\n }\n\n if (direction === \"vertical\" || direction === \"both\") {\n if (offsetTop < minY) {\n container.scrollTo({ top: offsetTop, behavior });\n } else if (offsetTop + element.clientHeight > maxY) {\n container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });\n }\n }\n}\n\n/**\n * Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.\n */\nexport function unlockBodyScrolling(lockingEl: HTMLElement) {\n locks.delete(lockingEl);\n\n if (locks.size === 0) {\n document.body.classList.remove(\"sl-scroll-lock\");\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scroll.cjs.js","sources":["../../src/utils/scroll.ts"],"sourcesContent":["import { getOffset } from \"./offset\";\n\nconst locks = new Set();\n\n/**\n * Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\n * without premature unlocking.\n */\nexport function lockBodyScrolling(lockingEl: HTMLElement) {\n locks.add(lockingEl);\n document.body.classList.add(\"sl-scroll-lock\");\n}\n\n/**\n * Scrolls an element into view of its container. If the element is already in view, nothing will happen.\n */\nexport function scrollIntoView(\n element: HTMLElement,\n container: HTMLElement,\n direction: \"horizontal\" | \"vertical\" | \"both\" = \"vertical\",\n behavior: \"smooth\" | \"auto\" = \"smooth\"\n) {\n const offset = getOffset(element, container);\n const offsetTop = offset.top + container.scrollTop;\n const offsetLeft = offset.left + container.scrollLeft;\n const minX = container.scrollLeft;\n const maxX = container.scrollLeft + container.offsetWidth;\n const minY = container.scrollTop;\n const maxY = container.scrollTop + container.offsetHeight;\n\n if (direction === \"horizontal\" || direction === \"both\") {\n if (offsetLeft < minX) {\n container.scrollTo({ left: offsetLeft, behavior });\n } else if (offsetLeft + element.clientWidth > maxX) {\n container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });\n }\n }\n\n if (direction === \"vertical\" || direction === \"both\") {\n if (offsetTop < minY) {\n container.scrollTo({ top: offsetTop, behavior });\n } else if (offsetTop + element.clientHeight > maxY) {\n container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });\n }\n }\n}\n\n/**\n * Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.\n */\nexport function unlockBodyScrolling(lockingEl: HTMLElement) {\n locks.delete(lockingEl);\n\n if (locks.size === 0) {\n document.body.classList.remove(\"sl-scroll-lock\");\n }\n}\n"],"names":[],"mappings":";;;;;AAEA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;AAExB;;;AAGG;AACG,SAAU,iBAAiB,CAAC,SAAsB,EAAA;AACtD,IAAA,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAChD,CAAC;AAoCD;;AAEG;AACG,SAAU,mBAAmB,CAAC,SAAsB,EAAA;AACxD,IAAA,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAExB,IAAA,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE;QACpB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;KAClD;AACH;;;;;"}
|
package/utils/scroll.js
CHANGED
package/utils/scroll.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.js","sources":["../../src/utils/scroll.ts"],"sourcesContent":["import { getOffset } from \"./offset\";\n\nconst locks = new Set();\n\n/**\n * Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\n * without premature unlocking.\n */\nexport function lockBodyScrolling(lockingEl: HTMLElement) {\n locks.add(lockingEl);\n document.body.classList.add(\"sl-scroll-lock\");\n}\n\n/**\n * Scrolls an element into view of its container. If the element is already in view, nothing will happen.\n */\nexport function scrollIntoView(\n element: HTMLElement,\n container: HTMLElement,\n direction: \"horizontal\" | \"vertical\" | \"both\" = \"vertical\",\n behavior: \"smooth\" | \"auto\" = \"smooth\"\n) {\n const offset = getOffset(element, container);\n const offsetTop = offset.top + container.scrollTop;\n const offsetLeft = offset.left + container.scrollLeft;\n const minX = container.scrollLeft;\n const maxX = container.scrollLeft + container.offsetWidth;\n const minY = container.scrollTop;\n const maxY = container.scrollTop + container.offsetHeight;\n\n if (direction === \"horizontal\" || direction === \"both\") {\n if (offsetLeft < minX) {\n container.scrollTo({ left: offsetLeft, behavior });\n } else if (offsetLeft + element.clientWidth > maxX) {\n container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });\n }\n }\n\n if (direction === \"vertical\" || direction === \"both\") {\n if (offsetTop < minY) {\n container.scrollTo({ top: offsetTop, behavior });\n } else if (offsetTop + element.clientHeight > maxY) {\n container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });\n }\n }\n}\n\n/**\n * Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.\n */\nexport function unlockBodyScrolling(lockingEl: HTMLElement) {\n locks.delete(lockingEl);\n\n if (locks.size === 0) {\n document.body.classList.remove(\"sl-scroll-lock\");\n }\n}\n"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;AAExB;;;AAGG;AACG,SAAU,iBAAiB,CAAC,SAAsB,EAAA;AACtD,IAAA,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAChD,CAAC;AAoCD;;AAEG;AACG,SAAU,mBAAmB,CAAC,SAAsB,EAAA;AACxD,IAAA,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAExB,IAAA,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE;QACpB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;KAClD;AACH;;;;"}
|
|
1
|
+
{"version":3,"file":"scroll.js","sources":["../../src/utils/scroll.ts"],"sourcesContent":["import { getOffset } from \"./offset\";\n\nconst locks = new Set();\n\n/**\n * Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\n * without premature unlocking.\n */\nexport function lockBodyScrolling(lockingEl: HTMLElement) {\n locks.add(lockingEl);\n document.body.classList.add(\"sl-scroll-lock\");\n}\n\n/**\n * Scrolls an element into view of its container. If the element is already in view, nothing will happen.\n */\nexport function scrollIntoView(\n element: HTMLElement,\n container: HTMLElement,\n direction: \"horizontal\" | \"vertical\" | \"both\" = \"vertical\",\n behavior: \"smooth\" | \"auto\" = \"smooth\"\n) {\n const offset = getOffset(element, container);\n const offsetTop = offset.top + container.scrollTop;\n const offsetLeft = offset.left + container.scrollLeft;\n const minX = container.scrollLeft;\n const maxX = container.scrollLeft + container.offsetWidth;\n const minY = container.scrollTop;\n const maxY = container.scrollTop + container.offsetHeight;\n\n if (direction === \"horizontal\" || direction === \"both\") {\n if (offsetLeft < minX) {\n container.scrollTo({ left: offsetLeft, behavior });\n } else if (offsetLeft + element.clientWidth > maxX) {\n container.scrollTo({ left: offsetLeft - container.offsetWidth + element.clientWidth, behavior });\n }\n }\n\n if (direction === \"vertical\" || direction === \"both\") {\n if (offsetTop < minY) {\n container.scrollTo({ top: offsetTop, behavior });\n } else if (offsetTop + element.clientHeight > maxY) {\n container.scrollTo({ top: offsetTop - container.offsetHeight + element.clientHeight, behavior });\n }\n }\n}\n\n/**\n * Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.\n */\nexport function unlockBodyScrolling(lockingEl: HTMLElement) {\n locks.delete(lockingEl);\n\n if (locks.size === 0) {\n document.body.classList.remove(\"sl-scroll-lock\");\n }\n}\n"],"names":[],"mappings":";AAEA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;AAExB;;;AAGG;AACG,SAAU,iBAAiB,CAAC,SAAsB,EAAA;AACtD,IAAA,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAChD,CAAC;AAoCD;;AAEG;AACG,SAAU,mBAAmB,CAAC,SAAsB,EAAA;AACxD,IAAA,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAExB,IAAA,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE;QACpB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;KAClD;AACH;;;;"}
|
package/utils/slot.cjs.js
CHANGED
package/utils/slot.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slot.cjs.js","sources":["../../src/utils/slot.ts"],"sourcesContent":["import type { ReactiveController, ReactiveControllerHost } from \"lit\";\n\nexport class HasSlotController implements ReactiveController {\n host: ReactiveControllerHost & Element;\n slotNames: string[] = [];\n\n constructor(host: ReactiveControllerHost & Element, ...slotNames: string[]) {\n (this.host = host).addController(this);\n this.slotNames = slotNames;\n this.handleSlotChange = this.handleSlotChange.bind(this);\n }\n\n private hasDefaultSlot() {\n return [...this.host.childNodes].some(node => {\n if (node.nodeType === node.TEXT_NODE && node.textContent?.trim() !== \"\") {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n const tagName = el.tagName.toLowerCase();\n\n // Ignore visually hidden elements since they aren't rendered\n if (tagName === \"sl-visually-hidden\") {\n return false;\n }\n\n // If it doesn't have a slot attribute, it's part of the default slot\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n\n return false;\n });\n }\n\n private hasNamedSlot(name: string) {\n return this.host.querySelector(`:scope > [slot=\"${name}\"]`) !== null;\n }\n\n test(slotName: string) {\n return slotName === \"[default]\" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);\n }\n\n hostConnected() {\n this.host.shadowRoot?.addEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n hostDisconnected() {\n this.host.shadowRoot?.removeEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n handleSlotChange(event: Event) {\n const slot = event.target as HTMLSlotElement;\n\n if ((this.slotNames.includes(\"[default]\") && !slot.name) || (slot.name && this.slotNames.includes(slot.name))) {\n this.host.requestUpdate();\n }\n }\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned element and text nodes and returns the concatenated\n * HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.\n */\nexport function getInnerHTML(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let html = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n html += (node as HTMLElement).outerHTML;\n }\n\n if (node.nodeType === Node.TEXT_NODE) {\n html += node.textContent;\n }\n });\n\n return html;\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n * string. This is useful because we can't use slot.textContent as an alternative.\n */\nexport function getTextContent(slot: HTMLSlotElement | undefined | null): string {\n if (!slot) {\n return \"\";\n }\n const nodes = slot.assignedNodes({ flatten: true });\n let text = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n\n return text;\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"slot.cjs.js","sources":["../../src/utils/slot.ts"],"sourcesContent":["import type { ReactiveController, ReactiveControllerHost } from \"lit\";\n\nexport class HasSlotController implements ReactiveController {\n host: ReactiveControllerHost & Element;\n slotNames: string[] = [];\n\n constructor(host: ReactiveControllerHost & Element, ...slotNames: string[]) {\n (this.host = host).addController(this);\n this.slotNames = slotNames;\n this.handleSlotChange = this.handleSlotChange.bind(this);\n }\n\n private hasDefaultSlot() {\n return [...this.host.childNodes].some(node => {\n if (node.nodeType === node.TEXT_NODE && node.textContent?.trim() !== \"\") {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n const tagName = el.tagName.toLowerCase();\n\n // Ignore visually hidden elements since they aren't rendered\n if (tagName === \"sl-visually-hidden\") {\n return false;\n }\n\n // If it doesn't have a slot attribute, it's part of the default slot\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n\n return false;\n });\n }\n\n private hasNamedSlot(name: string) {\n return this.host.querySelector(`:scope > [slot=\"${name}\"]`) !== null;\n }\n\n test(slotName: string) {\n return slotName === \"[default]\" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);\n }\n\n hostConnected() {\n this.host.shadowRoot?.addEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n hostDisconnected() {\n this.host.shadowRoot?.removeEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n handleSlotChange(event: Event) {\n const slot = event.target as HTMLSlotElement;\n\n if ((this.slotNames.includes(\"[default]\") && !slot.name) || (slot.name && this.slotNames.includes(slot.name))) {\n this.host.requestUpdate();\n }\n }\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned element and text nodes and returns the concatenated\n * HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.\n */\nexport function getInnerHTML(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let html = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n html += (node as HTMLElement).outerHTML;\n }\n\n if (node.nodeType === Node.TEXT_NODE) {\n html += node.textContent;\n }\n });\n\n return html;\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n * string. This is useful because we can't use slot.textContent as an alternative.\n */\nexport function getTextContent(slot: HTMLSlotElement | undefined | null): string {\n if (!slot) {\n return \"\";\n }\n const nodes = slot.assignedNodes({ flatten: true });\n let text = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n\n return text;\n}\n"],"names":[],"mappings":";;;;;MAEa,iBAAiB,CAAA;IAI5B,WAAY,CAAA,IAAsC,EAAE,GAAG,SAAmB,EAAA;QAF1E,IAAS,CAAA,SAAA,GAAa,EAAE,CAAC;QAGvB,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1D;IAEO,cAAc,GAAA;AACpB,QAAA,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,IAAG;;AAC3C,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,CAAA,MAAA,IAAI,CAAC,WAAW,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,MAAK,EAAE,EAAE;AACvE,gBAAA,OAAO,IAAI,CAAC;aACb;YAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;gBACvC,MAAM,EAAE,GAAG,IAAmB,CAAC;gBAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;;AAGzC,gBAAA,IAAI,OAAO,KAAK,oBAAoB,EAAE;AACpC,oBAAA,OAAO,KAAK,CAAC;iBACd;;gBAGD,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;AAC5B,oBAAA,OAAO,IAAI,CAAC;iBACb;aACF;AAED,YAAA,OAAO,KAAK,CAAC;AACf,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,YAAY,CAAC,IAAY,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAmB,gBAAA,EAAA,IAAI,CAAI,EAAA,CAAA,CAAC,KAAK,IAAI,CAAC;KACtE;AAED,IAAA,IAAI,CAAC,QAAgB,EAAA;AACnB,QAAA,OAAO,QAAQ,KAAK,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;KACvF;IAED,aAAa,GAAA;;AACX,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC7E;IAED,gBAAgB,GAAA;;AACd,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAChF;AAED,IAAA,gBAAgB,CAAC,KAAY,EAAA;AAC3B,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAC;AAE7C,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;AAC7G,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;SAC3B;KACF;AACF;;;;"}
|
package/utils/slot.js
CHANGED
package/utils/slot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slot.js","sources":["../../src/utils/slot.ts"],"sourcesContent":["import type { ReactiveController, ReactiveControllerHost } from \"lit\";\n\nexport class HasSlotController implements ReactiveController {\n host: ReactiveControllerHost & Element;\n slotNames: string[] = [];\n\n constructor(host: ReactiveControllerHost & Element, ...slotNames: string[]) {\n (this.host = host).addController(this);\n this.slotNames = slotNames;\n this.handleSlotChange = this.handleSlotChange.bind(this);\n }\n\n private hasDefaultSlot() {\n return [...this.host.childNodes].some(node => {\n if (node.nodeType === node.TEXT_NODE && node.textContent?.trim() !== \"\") {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n const tagName = el.tagName.toLowerCase();\n\n // Ignore visually hidden elements since they aren't rendered\n if (tagName === \"sl-visually-hidden\") {\n return false;\n }\n\n // If it doesn't have a slot attribute, it's part of the default slot\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n\n return false;\n });\n }\n\n private hasNamedSlot(name: string) {\n return this.host.querySelector(`:scope > [slot=\"${name}\"]`) !== null;\n }\n\n test(slotName: string) {\n return slotName === \"[default]\" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);\n }\n\n hostConnected() {\n this.host.shadowRoot?.addEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n hostDisconnected() {\n this.host.shadowRoot?.removeEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n handleSlotChange(event: Event) {\n const slot = event.target as HTMLSlotElement;\n\n if ((this.slotNames.includes(\"[default]\") && !slot.name) || (slot.name && this.slotNames.includes(slot.name))) {\n this.host.requestUpdate();\n }\n }\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned element and text nodes and returns the concatenated\n * HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.\n */\nexport function getInnerHTML(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let html = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n html += (node as HTMLElement).outerHTML;\n }\n\n if (node.nodeType === Node.TEXT_NODE) {\n html += node.textContent;\n }\n });\n\n return html;\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n * string. This is useful because we can't use slot.textContent as an alternative.\n */\nexport function getTextContent(slot: HTMLSlotElement | undefined | null): string {\n if (!slot) {\n return \"\";\n }\n const nodes = slot.assignedNodes({ flatten: true });\n let text = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n\n return text;\n}\n"],"names":[],"mappings":"MAEa,iBAAiB,CAAA;IAI5B,WAAY,CAAA,IAAsC,EAAE,GAAG,SAAmB,EAAA;QAF1E,IAAS,CAAA,SAAA,GAAa,EAAE,CAAC;QAGvB,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1D;IAEO,cAAc,GAAA;AACpB,QAAA,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,IAAG;;AAC3C,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,CAAA,MAAA,IAAI,CAAC,WAAW,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,MAAK,EAAE,EAAE;AACvE,gBAAA,OAAO,IAAI,CAAC;aACb;YAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;gBACvC,MAAM,EAAE,GAAG,IAAmB,CAAC;gBAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;;AAGzC,gBAAA,IAAI,OAAO,KAAK,oBAAoB,EAAE;AACpC,oBAAA,OAAO,KAAK,CAAC;iBACd;;gBAGD,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;AAC5B,oBAAA,OAAO,IAAI,CAAC;iBACb;aACF;AAED,YAAA,OAAO,KAAK,CAAC;AACf,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,YAAY,CAAC,IAAY,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAmB,gBAAA,EAAA,IAAI,CAAI,EAAA,CAAA,CAAC,KAAK,IAAI,CAAC;KACtE;AAED,IAAA,IAAI,CAAC,QAAgB,EAAA;AACnB,QAAA,OAAO,QAAQ,KAAK,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;KACvF;IAED,aAAa,GAAA;;AACX,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC7E;IAED,gBAAgB,GAAA;;AACd,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAChF;AAED,IAAA,gBAAgB,CAAC,KAAY,EAAA;AAC3B,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAC;AAE7C,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;AAC7G,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;SAC3B;KACF;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"slot.js","sources":["../../src/utils/slot.ts"],"sourcesContent":["import type { ReactiveController, ReactiveControllerHost } from \"lit\";\n\nexport class HasSlotController implements ReactiveController {\n host: ReactiveControllerHost & Element;\n slotNames: string[] = [];\n\n constructor(host: ReactiveControllerHost & Element, ...slotNames: string[]) {\n (this.host = host).addController(this);\n this.slotNames = slotNames;\n this.handleSlotChange = this.handleSlotChange.bind(this);\n }\n\n private hasDefaultSlot() {\n return [...this.host.childNodes].some(node => {\n if (node.nodeType === node.TEXT_NODE && node.textContent?.trim() !== \"\") {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n const tagName = el.tagName.toLowerCase();\n\n // Ignore visually hidden elements since they aren't rendered\n if (tagName === \"sl-visually-hidden\") {\n return false;\n }\n\n // If it doesn't have a slot attribute, it's part of the default slot\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n\n return false;\n });\n }\n\n private hasNamedSlot(name: string) {\n return this.host.querySelector(`:scope > [slot=\"${name}\"]`) !== null;\n }\n\n test(slotName: string) {\n return slotName === \"[default]\" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);\n }\n\n hostConnected() {\n this.host.shadowRoot?.addEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n hostDisconnected() {\n this.host.shadowRoot?.removeEventListener(\"slotchange\", this.handleSlotChange);\n }\n\n handleSlotChange(event: Event) {\n const slot = event.target as HTMLSlotElement;\n\n if ((this.slotNames.includes(\"[default]\") && !slot.name) || (slot.name && this.slotNames.includes(slot.name))) {\n this.host.requestUpdate();\n }\n }\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned element and text nodes and returns the concatenated\n * HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.\n */\nexport function getInnerHTML(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let html = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n html += (node as HTMLElement).outerHTML;\n }\n\n if (node.nodeType === Node.TEXT_NODE) {\n html += node.textContent;\n }\n });\n\n return html;\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n * string. This is useful because we can't use slot.textContent as an alternative.\n */\nexport function getTextContent(slot: HTMLSlotElement | undefined | null): string {\n if (!slot) {\n return \"\";\n }\n const nodes = slot.assignedNodes({ flatten: true });\n let text = \"\";\n\n [...nodes].forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n text += node.textContent;\n }\n });\n\n return text;\n}\n"],"names":[],"mappings":";MAEa,iBAAiB,CAAA;IAI5B,WAAY,CAAA,IAAsC,EAAE,GAAG,SAAmB,EAAA;QAF1E,IAAS,CAAA,SAAA,GAAa,EAAE,CAAC;QAGvB,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1D;IAEO,cAAc,GAAA;AACpB,QAAA,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,IAAG;;AAC3C,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,CAAA,MAAA,IAAI,CAAC,WAAW,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE,MAAK,EAAE,EAAE;AACvE,gBAAA,OAAO,IAAI,CAAC;aACb;YAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;gBACvC,MAAM,EAAE,GAAG,IAAmB,CAAC;gBAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;;AAGzC,gBAAA,IAAI,OAAO,KAAK,oBAAoB,EAAE;AACpC,oBAAA,OAAO,KAAK,CAAC;iBACd;;gBAGD,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;AAC5B,oBAAA,OAAO,IAAI,CAAC;iBACb;aACF;AAED,YAAA,OAAO,KAAK,CAAC;AACf,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,YAAY,CAAC,IAAY,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAmB,gBAAA,EAAA,IAAI,CAAI,EAAA,CAAA,CAAC,KAAK,IAAI,CAAC;KACtE;AAED,IAAA,IAAI,CAAC,QAAgB,EAAA;AACnB,QAAA,OAAO,QAAQ,KAAK,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;KACvF;IAED,aAAa,GAAA;;AACX,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC7E;IAED,gBAAgB,GAAA;;AACd,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAChF;AAED,IAAA,gBAAgB,CAAC,KAAY,EAAA;AAC3B,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAC;AAE7C,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;AAC7G,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;SAC3B;KACF;AACF;;;;"}
|
package/utils/tabbable.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabbable.cjs.js","sources":["../../src/utils/tabbable.ts"],"sourcesContent":["/** Determines if the specified element is tabbable using heuristics inspired by https://github.com/focus-trap/tabbable */\nfunction isTabbable(el: HTMLElement) {\n const tag = el.tagName.toLowerCase();\n\n // Elements with a -1 tab index are not tabbable\n if (el.getAttribute(\"tabindex\") === \"-1\") {\n return false;\n }\n\n // Elements with a disabled attribute are not tabbable\n if (el.hasAttribute(\"disabled\")) {\n return false;\n }\n\n // Elements with aria-disabled are not tabbable\n if (el.hasAttribute(\"aria-disabled\") && el.getAttribute(\"aria-disabled\") !== \"false\") {\n return false;\n }\n\n // Radios without a checked attribute are not tabbable\n if (tag === \"input\" && el.getAttribute(\"type\") === \"radio\" && !el.hasAttribute(\"checked\")) {\n return false;\n }\n\n // Elements that are hidden have no offsetParent and are not tabbable\n if (el.offsetParent === null) {\n return false;\n }\n\n // Elements without visibility are not tabbable\n if (window.getComputedStyle(el).visibility === \"hidden\") {\n return false;\n }\n\n // Audio and video elements with the controls attribute are tabbable\n if ((tag === \"audio\" || tag === \"video\") && el.hasAttribute(\"controls\")) {\n return true;\n }\n\n // Elements with a tabindex other than -1 are tabbable\n if (el.hasAttribute(\"tabindex\")) {\n return true;\n }\n\n // Elements with a contenteditable attribute are tabbable\n if (el.hasAttribute(\"contenteditable\") && el.getAttribute(\"contenteditable\") !== \"false\") {\n return true;\n }\n\n // At this point, the following elements are considered tabbable\n return [\"button\", \"input\", \"select\", \"textarea\", \"a\", \"audio\", \"video\", \"summary\"].includes(tag);\n}\n\n/**\n * Returns the first and last bounding elements that are tabbable. This is more performant than checking every single\n * element because it short-circuits after finding the first and last ones.\n */\nexport function getTabbableBoundary(root: HTMLElement | ShadowRoot) {\n const allElements: HTMLElement[] = [];\n\n function walk(el: HTMLElement | ShadowRoot) {\n if (el instanceof HTMLElement) {\n allElements.push(el);\n\n if (el.shadowRoot !== null && el.shadowRoot.mode === \"open\") {\n walk(el.shadowRoot);\n }\n }\n\n [...el.children].forEach((e: HTMLElement) => walk(e));\n }\n\n // Collect all elements including the root\n walk(root);\n\n // Find the first and last tabbable elements\n const start = allElements.find(el => isTabbable(el)) ?? null;\n const end = allElements.reverse().find(el => isTabbable(el)) ?? null;\n\n return { start, end };\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tabbable.cjs.js","sources":["../../src/utils/tabbable.ts"],"sourcesContent":["/** Determines if the specified element is tabbable using heuristics inspired by https://github.com/focus-trap/tabbable */\nfunction isTabbable(el: HTMLElement) {\n const tag = el.tagName.toLowerCase();\n\n // Elements with a -1 tab index are not tabbable\n if (el.getAttribute(\"tabindex\") === \"-1\") {\n return false;\n }\n\n // Elements with a disabled attribute are not tabbable\n if (el.hasAttribute(\"disabled\")) {\n return false;\n }\n\n // Elements with aria-disabled are not tabbable\n if (el.hasAttribute(\"aria-disabled\") && el.getAttribute(\"aria-disabled\") !== \"false\") {\n return false;\n }\n\n // Radios without a checked attribute are not tabbable\n if (tag === \"input\" && el.getAttribute(\"type\") === \"radio\" && !el.hasAttribute(\"checked\")) {\n return false;\n }\n\n // Elements that are hidden have no offsetParent and are not tabbable\n if (el.offsetParent === null) {\n return false;\n }\n\n // Elements without visibility are not tabbable\n if (window.getComputedStyle(el).visibility === \"hidden\") {\n return false;\n }\n\n // Audio and video elements with the controls attribute are tabbable\n if ((tag === \"audio\" || tag === \"video\") && el.hasAttribute(\"controls\")) {\n return true;\n }\n\n // Elements with a tabindex other than -1 are tabbable\n if (el.hasAttribute(\"tabindex\")) {\n return true;\n }\n\n // Elements with a contenteditable attribute are tabbable\n if (el.hasAttribute(\"contenteditable\") && el.getAttribute(\"contenteditable\") !== \"false\") {\n return true;\n }\n\n // At this point, the following elements are considered tabbable\n return [\"button\", \"input\", \"select\", \"textarea\", \"a\", \"audio\", \"video\", \"summary\"].includes(tag);\n}\n\n/**\n * Returns the first and last bounding elements that are tabbable. This is more performant than checking every single\n * element because it short-circuits after finding the first and last ones.\n */\nexport function getTabbableBoundary(root: HTMLElement | ShadowRoot) {\n const allElements: HTMLElement[] = [];\n\n function walk(el: HTMLElement | ShadowRoot) {\n if (el instanceof HTMLElement) {\n allElements.push(el);\n\n if (el.shadowRoot !== null && el.shadowRoot.mode === \"open\") {\n walk(el.shadowRoot);\n }\n }\n\n [...el.children].forEach((e: HTMLElement) => walk(e));\n }\n\n // Collect all elements including the root\n walk(root);\n\n // Find the first and last tabbable elements\n const start = allElements.find(el => isTabbable(el)) ?? null;\n const end = allElements.reverse().find(el => isTabbable(el)) ?? null;\n\n return { start, end };\n}\n"],"names":[],"mappings":"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"}
|
package/utils/tabbable.js
CHANGED
package/utils/tabbable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabbable.js","sources":["../../src/utils/tabbable.ts"],"sourcesContent":["/** Determines if the specified element is tabbable using heuristics inspired by https://github.com/focus-trap/tabbable */\nfunction isTabbable(el: HTMLElement) {\n const tag = el.tagName.toLowerCase();\n\n // Elements with a -1 tab index are not tabbable\n if (el.getAttribute(\"tabindex\") === \"-1\") {\n return false;\n }\n\n // Elements with a disabled attribute are not tabbable\n if (el.hasAttribute(\"disabled\")) {\n return false;\n }\n\n // Elements with aria-disabled are not tabbable\n if (el.hasAttribute(\"aria-disabled\") && el.getAttribute(\"aria-disabled\") !== \"false\") {\n return false;\n }\n\n // Radios without a checked attribute are not tabbable\n if (tag === \"input\" && el.getAttribute(\"type\") === \"radio\" && !el.hasAttribute(\"checked\")) {\n return false;\n }\n\n // Elements that are hidden have no offsetParent and are not tabbable\n if (el.offsetParent === null) {\n return false;\n }\n\n // Elements without visibility are not tabbable\n if (window.getComputedStyle(el).visibility === \"hidden\") {\n return false;\n }\n\n // Audio and video elements with the controls attribute are tabbable\n if ((tag === \"audio\" || tag === \"video\") && el.hasAttribute(\"controls\")) {\n return true;\n }\n\n // Elements with a tabindex other than -1 are tabbable\n if (el.hasAttribute(\"tabindex\")) {\n return true;\n }\n\n // Elements with a contenteditable attribute are tabbable\n if (el.hasAttribute(\"contenteditable\") && el.getAttribute(\"contenteditable\") !== \"false\") {\n return true;\n }\n\n // At this point, the following elements are considered tabbable\n return [\"button\", \"input\", \"select\", \"textarea\", \"a\", \"audio\", \"video\", \"summary\"].includes(tag);\n}\n\n/**\n * Returns the first and last bounding elements that are tabbable. This is more performant than checking every single\n * element because it short-circuits after finding the first and last ones.\n */\nexport function getTabbableBoundary(root: HTMLElement | ShadowRoot) {\n const allElements: HTMLElement[] = [];\n\n function walk(el: HTMLElement | ShadowRoot) {\n if (el instanceof HTMLElement) {\n allElements.push(el);\n\n if (el.shadowRoot !== null && el.shadowRoot.mode === \"open\") {\n walk(el.shadowRoot);\n }\n }\n\n [...el.children].forEach((e: HTMLElement) => walk(e));\n }\n\n // Collect all elements including the root\n walk(root);\n\n // Find the first and last tabbable elements\n const start = allElements.find(el => isTabbable(el)) ?? null;\n const end = allElements.reverse().find(el => isTabbable(el)) ?? null;\n\n return { start, end };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tabbable.js","sources":["../../src/utils/tabbable.ts"],"sourcesContent":["/** Determines if the specified element is tabbable using heuristics inspired by https://github.com/focus-trap/tabbable */\nfunction isTabbable(el: HTMLElement) {\n const tag = el.tagName.toLowerCase();\n\n // Elements with a -1 tab index are not tabbable\n if (el.getAttribute(\"tabindex\") === \"-1\") {\n return false;\n }\n\n // Elements with a disabled attribute are not tabbable\n if (el.hasAttribute(\"disabled\")) {\n return false;\n }\n\n // Elements with aria-disabled are not tabbable\n if (el.hasAttribute(\"aria-disabled\") && el.getAttribute(\"aria-disabled\") !== \"false\") {\n return false;\n }\n\n // Radios without a checked attribute are not tabbable\n if (tag === \"input\" && el.getAttribute(\"type\") === \"radio\" && !el.hasAttribute(\"checked\")) {\n return false;\n }\n\n // Elements that are hidden have no offsetParent and are not tabbable\n if (el.offsetParent === null) {\n return false;\n }\n\n // Elements without visibility are not tabbable\n if (window.getComputedStyle(el).visibility === \"hidden\") {\n return false;\n }\n\n // Audio and video elements with the controls attribute are tabbable\n if ((tag === \"audio\" || tag === \"video\") && el.hasAttribute(\"controls\")) {\n return true;\n }\n\n // Elements with a tabindex other than -1 are tabbable\n if (el.hasAttribute(\"tabindex\")) {\n return true;\n }\n\n // Elements with a contenteditable attribute are tabbable\n if (el.hasAttribute(\"contenteditable\") && el.getAttribute(\"contenteditable\") !== \"false\") {\n return true;\n }\n\n // At this point, the following elements are considered tabbable\n return [\"button\", \"input\", \"select\", \"textarea\", \"a\", \"audio\", \"video\", \"summary\"].includes(tag);\n}\n\n/**\n * Returns the first and last bounding elements that are tabbable. This is more performant than checking every single\n * element because it short-circuits after finding the first and last ones.\n */\nexport function getTabbableBoundary(root: HTMLElement | ShadowRoot) {\n const allElements: HTMLElement[] = [];\n\n function walk(el: HTMLElement | ShadowRoot) {\n if (el instanceof HTMLElement) {\n allElements.push(el);\n\n if (el.shadowRoot !== null && el.shadowRoot.mode === \"open\") {\n walk(el.shadowRoot);\n }\n }\n\n [...el.children].forEach((e: HTMLElement) => walk(e));\n }\n\n // Collect all elements including the root\n walk(root);\n\n // Find the first and last tabbable elements\n const start = allElements.find(el => isTabbable(el)) ?? null;\n const end = allElements.reverse().find(el => isTabbable(el)) ?? null;\n\n return { start, end };\n}\n"],"names":[],"mappings":"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"}
|
package/utils/time.cjs.js
CHANGED
package/utils/time.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.cjs.js","sources":["../../src/utils/time.ts"],"sourcesContent":["import { getDaysInMonth, isLastDayOfMonth, lastDayOfMonth } from \"date-fns\";\n\nexport const DATE_PATTERNS = {\n \"DD/MM/YYYY\": {\n imPattern: \"`dd{/}`mm{/}`yyyy\",\n imRangePattern: \"`dd{/}`mm{/}`yyyy - `DD{/}`MM{/}`YYYY\",\n fnsPattern: \"dd/MM/yyyy\"\n },\n \"MM/DD/YYYY\": {\n imPattern: \"`mm{/}`dd{/}`yyyy\",\n imRangePattern: \"`mm{/}`dd{/}`yyyy - `MM{/}`DD{/}`YYYY\",\n fnsPattern: \"MM/dd/yyyy\"\n },\n \"YYYY/MM/DD\": {\n imPattern: \"`yyyy{/}`mm{/}`dd\",\n imRangePattern: \"`yyyy{/}`mm{/}`dd - `YYYY{/}`MM{/}`DD\",\n fnsPattern: \"yyyy/MM/dd\"\n }\n};\n\n/**\n * @description - creates calendar's year view years array with context of\n * datepicker's displayDate and current year\n * Fixes current year to the start of array\n */\nexport const createYearViewArray = (displayDate: Date, currentYear: number) => {\n // keeping the year range position to be always fixed by setting current year to the first element of the calendar\n const displayYear = displayDate.getFullYear();\n const remainder = (displayYear - currentYear) % 12;\n const yearsPosition = remainder < 0 ? 12 + remainder : remainder;\n\n const yearArray = [];\n const startLimit = displayYear - yearsPosition;\n const endLimit = displayYear - yearsPosition + 12 - 1; // -1 to match the index of the years (index starts from 0)\n\n for (let i = startLimit; i < endLimit + 1; i++) {\n yearArray.push(i);\n }\n\n return yearArray;\n};\nexport const sanitizedNextMonth = (d: Date) => {\n const month = d.getMonth();\n const year = d.getFullYear();\n const date = d.getDate();\n const nextMonthDate = new Date(year, month + 1);\n const numberOfDaysNextMonth = getDaysInMonth(nextMonthDate);\n\n if (isLastDayOfMonth(d) && numberOfDaysNextMonth < date) {\n return lastDayOfMonth(nextMonthDate);\n } else {\n return new Date(year, month + 1, date);\n }\n};\nexport const sanitizedPreviousMonth = (d: Date) => {\n const month = d.getMonth();\n const year = d.getFullYear();\n const date = d.getDate();\n const prevMonthDate = new Date(year, month - 1);\n const numberOfDaysPrevMonth = getDaysInMonth(prevMonthDate);\n if (isLastDayOfMonth(d) && numberOfDaysPrevMonth < date) {\n return lastDayOfMonth(prevMonthDate);\n } else {\n return new Date(year, month - 1, date);\n }\n};\nexport const setTimeToNoon = (date: Date): Date => {\n const newDate = new Date(date);\n newDate.setHours(12);\n newDate.setMinutes(0);\n newDate.setSeconds(0);\n newDate.setMilliseconds(0);\n return newDate;\n};\n\nexport const sortAscDates = (dates: Date[]) => {\n return dates.sort((a, b) => a.getTime() - b.getTime());\n};\n"],"names":["getDaysInMonth","isLastDayOfMonth","lastDayOfMonth"],"mappings":"
|
|
1
|
+
{"version":3,"file":"time.cjs.js","sources":["../../src/utils/time.ts"],"sourcesContent":["import { getDaysInMonth, isLastDayOfMonth, lastDayOfMonth } from \"date-fns\";\n\nexport const DATE_PATTERNS = {\n \"DD/MM/YYYY\": {\n imPattern: \"`dd{/}`mm{/}`yyyy\",\n imRangePattern: \"`dd{/}`mm{/}`yyyy - `DD{/}`MM{/}`YYYY\",\n fnsPattern: \"dd/MM/yyyy\"\n },\n \"MM/DD/YYYY\": {\n imPattern: \"`mm{/}`dd{/}`yyyy\",\n imRangePattern: \"`mm{/}`dd{/}`yyyy - `MM{/}`DD{/}`YYYY\",\n fnsPattern: \"MM/dd/yyyy\"\n },\n \"YYYY/MM/DD\": {\n imPattern: \"`yyyy{/}`mm{/}`dd\",\n imRangePattern: \"`yyyy{/}`mm{/}`dd - `YYYY{/}`MM{/}`DD\",\n fnsPattern: \"yyyy/MM/dd\"\n }\n};\n\n/**\n * @description - creates calendar's year view years array with context of\n * datepicker's displayDate and current year\n * Fixes current year to the start of array\n */\nexport const createYearViewArray = (displayDate: Date, currentYear: number) => {\n // keeping the year range position to be always fixed by setting current year to the first element of the calendar\n const displayYear = displayDate.getFullYear();\n const remainder = (displayYear - currentYear) % 12;\n const yearsPosition = remainder < 0 ? 12 + remainder : remainder;\n\n const yearArray = [];\n const startLimit = displayYear - yearsPosition;\n const endLimit = displayYear - yearsPosition + 12 - 1; // -1 to match the index of the years (index starts from 0)\n\n for (let i = startLimit; i < endLimit + 1; i++) {\n yearArray.push(i);\n }\n\n return yearArray;\n};\nexport const sanitizedNextMonth = (d: Date) => {\n const month = d.getMonth();\n const year = d.getFullYear();\n const date = d.getDate();\n const nextMonthDate = new Date(year, month + 1);\n const numberOfDaysNextMonth = getDaysInMonth(nextMonthDate);\n\n if (isLastDayOfMonth(d) && numberOfDaysNextMonth < date) {\n return lastDayOfMonth(nextMonthDate);\n } else {\n return new Date(year, month + 1, date);\n }\n};\nexport const sanitizedPreviousMonth = (d: Date) => {\n const month = d.getMonth();\n const year = d.getFullYear();\n const date = d.getDate();\n const prevMonthDate = new Date(year, month - 1);\n const numberOfDaysPrevMonth = getDaysInMonth(prevMonthDate);\n if (isLastDayOfMonth(d) && numberOfDaysPrevMonth < date) {\n return lastDayOfMonth(prevMonthDate);\n } else {\n return new Date(year, month - 1, date);\n }\n};\nexport const setTimeToNoon = (date: Date): Date => {\n const newDate = new Date(date);\n newDate.setHours(12);\n newDate.setMinutes(0);\n newDate.setSeconds(0);\n newDate.setMilliseconds(0);\n return newDate;\n};\n\nexport const sortAscDates = (dates: Date[]) => {\n return dates.sort((a, b) => a.getTime() - b.getTime());\n};\n"],"names":["getDaysInMonth","isLastDayOfMonth","lastDayOfMonth"],"mappings":"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"}
|
package/utils/time.js
CHANGED
package/utils/time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sources":["../../src/utils/time.ts"],"sourcesContent":["import { getDaysInMonth, isLastDayOfMonth, lastDayOfMonth } from \"date-fns\";\n\nexport const DATE_PATTERNS = {\n \"DD/MM/YYYY\": {\n imPattern: \"`dd{/}`mm{/}`yyyy\",\n imRangePattern: \"`dd{/}`mm{/}`yyyy - `DD{/}`MM{/}`YYYY\",\n fnsPattern: \"dd/MM/yyyy\"\n },\n \"MM/DD/YYYY\": {\n imPattern: \"`mm{/}`dd{/}`yyyy\",\n imRangePattern: \"`mm{/}`dd{/}`yyyy - `MM{/}`DD{/}`YYYY\",\n fnsPattern: \"MM/dd/yyyy\"\n },\n \"YYYY/MM/DD\": {\n imPattern: \"`yyyy{/}`mm{/}`dd\",\n imRangePattern: \"`yyyy{/}`mm{/}`dd - `YYYY{/}`MM{/}`DD\",\n fnsPattern: \"yyyy/MM/dd\"\n }\n};\n\n/**\n * @description - creates calendar's year view years array with context of\n * datepicker's displayDate and current year\n * Fixes current year to the start of array\n */\nexport const createYearViewArray = (displayDate: Date, currentYear: number) => {\n // keeping the year range position to be always fixed by setting current year to the first element of the calendar\n const displayYear = displayDate.getFullYear();\n const remainder = (displayYear - currentYear) % 12;\n const yearsPosition = remainder < 0 ? 12 + remainder : remainder;\n\n const yearArray = [];\n const startLimit = displayYear - yearsPosition;\n const endLimit = displayYear - yearsPosition + 12 - 1; // -1 to match the index of the years (index starts from 0)\n\n for (let i = startLimit; i < endLimit + 1; i++) {\n yearArray.push(i);\n }\n\n return yearArray;\n};\nexport const sanitizedNextMonth = (d: Date) => {\n const month = d.getMonth();\n const year = d.getFullYear();\n const date = d.getDate();\n const nextMonthDate = new Date(year, month + 1);\n const numberOfDaysNextMonth = getDaysInMonth(nextMonthDate);\n\n if (isLastDayOfMonth(d) && numberOfDaysNextMonth < date) {\n return lastDayOfMonth(nextMonthDate);\n } else {\n return new Date(year, month + 1, date);\n }\n};\nexport const sanitizedPreviousMonth = (d: Date) => {\n const month = d.getMonth();\n const year = d.getFullYear();\n const date = d.getDate();\n const prevMonthDate = new Date(year, month - 1);\n const numberOfDaysPrevMonth = getDaysInMonth(prevMonthDate);\n if (isLastDayOfMonth(d) && numberOfDaysPrevMonth < date) {\n return lastDayOfMonth(prevMonthDate);\n } else {\n return new Date(year, month - 1, date);\n }\n};\nexport const setTimeToNoon = (date: Date): Date => {\n const newDate = new Date(date);\n newDate.setHours(12);\n newDate.setMinutes(0);\n newDate.setSeconds(0);\n newDate.setMilliseconds(0);\n return newDate;\n};\n\nexport const sortAscDates = (dates: Date[]) => {\n return dates.sort((a, b) => a.getTime() - b.getTime());\n};\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"time.js","sources":["../../src/utils/time.ts"],"sourcesContent":["import { getDaysInMonth, isLastDayOfMonth, lastDayOfMonth } from \"date-fns\";\n\nexport const DATE_PATTERNS = {\n \"DD/MM/YYYY\": {\n imPattern: \"`dd{/}`mm{/}`yyyy\",\n imRangePattern: \"`dd{/}`mm{/}`yyyy - `DD{/}`MM{/}`YYYY\",\n fnsPattern: \"dd/MM/yyyy\"\n },\n \"MM/DD/YYYY\": {\n imPattern: \"`mm{/}`dd{/}`yyyy\",\n imRangePattern: \"`mm{/}`dd{/}`yyyy - `MM{/}`DD{/}`YYYY\",\n fnsPattern: \"MM/dd/yyyy\"\n },\n \"YYYY/MM/DD\": {\n imPattern: \"`yyyy{/}`mm{/}`dd\",\n imRangePattern: \"`yyyy{/}`mm{/}`dd - `YYYY{/}`MM{/}`DD\",\n fnsPattern: \"yyyy/MM/dd\"\n }\n};\n\n/**\n * @description - creates calendar's year view years array with context of\n * datepicker's displayDate and current year\n * Fixes current year to the start of array\n */\nexport const createYearViewArray = (displayDate: Date, currentYear: number) => {\n // keeping the year range position to be always fixed by setting current year to the first element of the calendar\n const displayYear = displayDate.getFullYear();\n const remainder = (displayYear - currentYear) % 12;\n const yearsPosition = remainder < 0 ? 12 + remainder : remainder;\n\n const yearArray = [];\n const startLimit = displayYear - yearsPosition;\n const endLimit = displayYear - yearsPosition + 12 - 1; // -1 to match the index of the years (index starts from 0)\n\n for (let i = startLimit; i < endLimit + 1; i++) {\n yearArray.push(i);\n }\n\n return yearArray;\n};\nexport const sanitizedNextMonth = (d: Date) => {\n const month = d.getMonth();\n const year = d.getFullYear();\n const date = d.getDate();\n const nextMonthDate = new Date(year, month + 1);\n const numberOfDaysNextMonth = getDaysInMonth(nextMonthDate);\n\n if (isLastDayOfMonth(d) && numberOfDaysNextMonth < date) {\n return lastDayOfMonth(nextMonthDate);\n } else {\n return new Date(year, month + 1, date);\n }\n};\nexport const sanitizedPreviousMonth = (d: Date) => {\n const month = d.getMonth();\n const year = d.getFullYear();\n const date = d.getDate();\n const prevMonthDate = new Date(year, month - 1);\n const numberOfDaysPrevMonth = getDaysInMonth(prevMonthDate);\n if (isLastDayOfMonth(d) && numberOfDaysPrevMonth < date) {\n return lastDayOfMonth(prevMonthDate);\n } else {\n return new Date(year, month - 1, date);\n }\n};\nexport const setTimeToNoon = (date: Date): Date => {\n const newDate = new Date(date);\n newDate.setHours(12);\n newDate.setMinutes(0);\n newDate.setSeconds(0);\n newDate.setMilliseconds(0);\n return newDate;\n};\n\nexport const sortAscDates = (dates: Date[]) => {\n return dates.sort((a, b) => a.getTime() - b.getTime());\n};\n"],"names":[],"mappings":"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"}
|
package/utils/watch.cjs.js
CHANGED
package/utils/watch.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.cjs.js","sources":["../../src/utils/watch.ts"],"sourcesContent":["// @watch decorator\n//\n// Runs when an observed property changes, e.g. @property or @state, but before the component updates.\n//\n// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start\n// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n//\n// Usage:\n//\n// @watch('propName')\n// handlePropChange(oldValue, newValue) {\n// ...\n// }\n\nimport type { LitElement } from \"lit\";\n\ntype UpdateHandler = (prev?: unknown, next?: unknown) => void;\n\ntype NonUndefined<A> = A extends undefined ? never : A;\n\ntype UpdateHandlerFunctionKeys<T extends object> = {\n [K in keyof T]-?: NonUndefined<T[K]> extends UpdateHandler ? K : never;\n}[keyof T];\n\ninterface WatchOptions {\n /**\n * If true, will only start watching after the initial update/render\n */\n waitUntilFirstUpdate?: boolean;\n}\n\nexport function watch(propName: string, options?: WatchOptions) {\n const resolvedOptions: Required<WatchOptions> = {\n waitUntilFirstUpdate: false,\n ...options\n };\n return <ElemClass extends LitElement>(\n proto: ElemClass,\n decoratedFnName: UpdateHandlerFunctionKeys<ElemClass>\n ): void => {\n // @ts-expect-error -- update is a protected property\n const { update } = proto;\n if (propName in proto) {\n const propNameKey = propName as keyof ElemClass;\n // @ts-expect-error -- update is a protected property\n proto.update = function (this: ElemClass, changedProps: Map<keyof ElemClass, ElemClass[keyof ElemClass]>) {\n if (changedProps.has(propNameKey)) {\n const oldValue = changedProps.get(propNameKey);\n const newValue = this[propNameKey];\n\n if (oldValue !== newValue) {\n if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {\n (this[decoratedFnName] as unknown as UpdateHandler)(oldValue, newValue);\n }\n }\n }\n\n update.call(this, changedProps);\n };\n }\n };\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"watch.cjs.js","sources":["../../src/utils/watch.ts"],"sourcesContent":["// @watch decorator\n//\n// Runs when an observed property changes, e.g. @property or @state, but before the component updates.\n//\n// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start\n// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n//\n// Usage:\n//\n// @watch('propName')\n// handlePropChange(oldValue, newValue) {\n// ...\n// }\n\nimport type { LitElement } from \"lit\";\n\ntype UpdateHandler = (prev?: unknown, next?: unknown) => void;\n\ntype NonUndefined<A> = A extends undefined ? never : A;\n\ntype UpdateHandlerFunctionKeys<T extends object> = {\n [K in keyof T]-?: NonUndefined<T[K]> extends UpdateHandler ? K : never;\n}[keyof T];\n\ninterface WatchOptions {\n /**\n * If true, will only start watching after the initial update/render\n */\n waitUntilFirstUpdate?: boolean;\n}\n\nexport function watch(propName: string, options?: WatchOptions) {\n const resolvedOptions: Required<WatchOptions> = {\n waitUntilFirstUpdate: false,\n ...options\n };\n return <ElemClass extends LitElement>(\n proto: ElemClass,\n decoratedFnName: UpdateHandlerFunctionKeys<ElemClass>\n ): void => {\n // @ts-expect-error -- update is a protected property\n const { update } = proto;\n if (propName in proto) {\n const propNameKey = propName as keyof ElemClass;\n // @ts-expect-error -- update is a protected property\n proto.update = function (this: ElemClass, changedProps: Map<keyof ElemClass, ElemClass[keyof ElemClass]>) {\n if (changedProps.has(propNameKey)) {\n const oldValue = changedProps.get(propNameKey);\n const newValue = this[propNameKey];\n\n if (oldValue !== newValue) {\n if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {\n (this[decoratedFnName] as unknown as UpdateHandler)(oldValue, newValue);\n }\n }\n }\n\n update.call(this, changedProps);\n };\n }\n };\n}\n"],"names":[],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAmBgB,SAAA,KAAK,CAAC,QAAgB,EAAE,OAAsB,EAAA;IAC5D,MAAM,eAAe,mBACnB,oBAAoB,EAAE,KAAK,EACxB,EAAA,OAAO,CACX,CAAC;AACF,IAAA,OAAO,CACL,KAAgB,EAChB,eAAqD,KAC7C;;AAER,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,QAAQ,IAAI,KAAK,EAAE;YACrB,MAAM,WAAW,GAAG,QAA2B,CAAC;;AAEhD,YAAA,KAAK,CAAC,MAAM,GAAG,UAA2B,YAA8D,EAAA;AACtG,gBAAA,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oBACjC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC/C,oBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;AAEnC,oBAAA,IAAI,QAAQ,KAAK,QAAQ,EAAE;wBACzB,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,IAAI,CAAC,UAAU,EAAE;4BAC3D,IAAI,CAAC,eAAe,CAA8B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;yBACzE;qBACF;iBACF;AAED,gBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAClC,aAAC,CAAC;SACH;AACH,KAAC,CAAC;AACJ;;;;"}
|
package/utils/watch.js
CHANGED
package/utils/watch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sources":["../../src/utils/watch.ts"],"sourcesContent":["// @watch decorator\n//\n// Runs when an observed property changes, e.g. @property or @state, but before the component updates.\n//\n// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start\n// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n//\n// Usage:\n//\n// @watch('propName')\n// handlePropChange(oldValue, newValue) {\n// ...\n// }\n\nimport type { LitElement } from \"lit\";\n\ntype UpdateHandler = (prev?: unknown, next?: unknown) => void;\n\ntype NonUndefined<A> = A extends undefined ? never : A;\n\ntype UpdateHandlerFunctionKeys<T extends object> = {\n [K in keyof T]-?: NonUndefined<T[K]> extends UpdateHandler ? K : never;\n}[keyof T];\n\ninterface WatchOptions {\n /**\n * If true, will only start watching after the initial update/render\n */\n waitUntilFirstUpdate?: boolean;\n}\n\nexport function watch(propName: string, options?: WatchOptions) {\n const resolvedOptions: Required<WatchOptions> = {\n waitUntilFirstUpdate: false,\n ...options\n };\n return <ElemClass extends LitElement>(\n proto: ElemClass,\n decoratedFnName: UpdateHandlerFunctionKeys<ElemClass>\n ): void => {\n // @ts-expect-error -- update is a protected property\n const { update } = proto;\n if (propName in proto) {\n const propNameKey = propName as keyof ElemClass;\n // @ts-expect-error -- update is a protected property\n proto.update = function (this: ElemClass, changedProps: Map<keyof ElemClass, ElemClass[keyof ElemClass]>) {\n if (changedProps.has(propNameKey)) {\n const oldValue = changedProps.get(propNameKey);\n const newValue = this[propNameKey];\n\n if (oldValue !== newValue) {\n if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {\n (this[decoratedFnName] as unknown as UpdateHandler)(oldValue, newValue);\n }\n }\n }\n\n update.call(this, changedProps);\n };\n }\n };\n}\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAmBgB,SAAA,KAAK,CAAC,QAAgB,EAAE,OAAsB,EAAA;IAC5D,MAAM,eAAe,mBACnB,oBAAoB,EAAE,KAAK,EACxB,EAAA,OAAO,CACX,CAAC;AACF,IAAA,OAAO,CACL,KAAgB,EAChB,eAAqD,KAC7C;;AAER,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,QAAQ,IAAI,KAAK,EAAE;YACrB,MAAM,WAAW,GAAG,QAA2B,CAAC;;AAEhD,YAAA,KAAK,CAAC,MAAM,GAAG,UAA2B,YAA8D,EAAA;AACtG,gBAAA,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oBACjC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC/C,oBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;AAEnC,oBAAA,IAAI,QAAQ,KAAK,QAAQ,EAAE;wBACzB,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,IAAI,CAAC,UAAU,EAAE;4BAC3D,IAAI,CAAC,eAAe,CAA8B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;yBACzE;qBACF;iBACF;AAED,gBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAClC,aAAC,CAAC;SACH;AACH,KAAC,CAAC;AACJ;;;;"}
|
|
1
|
+
{"version":3,"file":"watch.js","sources":["../../src/utils/watch.ts"],"sourcesContent":["// @watch decorator\n//\n// Runs when an observed property changes, e.g. @property or @state, but before the component updates.\n//\n// To wait for an update to complete after a change occurs, use `await this.updateComplete` in the handler. To start\n// watching after the initial update/render, use `{ waitUntilFirstUpdate: true }` or `this.hasUpdated` in the handler.\n//\n// Usage:\n//\n// @watch('propName')\n// handlePropChange(oldValue, newValue) {\n// ...\n// }\n\nimport type { LitElement } from \"lit\";\n\ntype UpdateHandler = (prev?: unknown, next?: unknown) => void;\n\ntype NonUndefined<A> = A extends undefined ? never : A;\n\ntype UpdateHandlerFunctionKeys<T extends object> = {\n [K in keyof T]-?: NonUndefined<T[K]> extends UpdateHandler ? K : never;\n}[keyof T];\n\ninterface WatchOptions {\n /**\n * If true, will only start watching after the initial update/render\n */\n waitUntilFirstUpdate?: boolean;\n}\n\nexport function watch(propName: string, options?: WatchOptions) {\n const resolvedOptions: Required<WatchOptions> = {\n waitUntilFirstUpdate: false,\n ...options\n };\n return <ElemClass extends LitElement>(\n proto: ElemClass,\n decoratedFnName: UpdateHandlerFunctionKeys<ElemClass>\n ): void => {\n // @ts-expect-error -- update is a protected property\n const { update } = proto;\n if (propName in proto) {\n const propNameKey = propName as keyof ElemClass;\n // @ts-expect-error -- update is a protected property\n proto.update = function (this: ElemClass, changedProps: Map<keyof ElemClass, ElemClass[keyof ElemClass]>) {\n if (changedProps.has(propNameKey)) {\n const oldValue = changedProps.get(propNameKey);\n const newValue = this[propNameKey];\n\n if (oldValue !== newValue) {\n if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {\n (this[decoratedFnName] as unknown as UpdateHandler)(oldValue, newValue);\n }\n }\n }\n\n update.call(this, changedProps);\n };\n }\n };\n}\n"],"names":[],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAmBgB,SAAA,KAAK,CAAC,QAAgB,EAAE,OAAsB,EAAA;IAC5D,MAAM,eAAe,mBACnB,oBAAoB,EAAE,KAAK,EACxB,EAAA,OAAO,CACX,CAAC;AACF,IAAA,OAAO,CACL,KAAgB,EAChB,eAAqD,KAC7C;;AAER,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,QAAQ,IAAI,KAAK,EAAE;YACrB,MAAM,WAAW,GAAG,QAA2B,CAAC;;AAEhD,YAAA,KAAK,CAAC,MAAM,GAAG,UAA2B,YAA8D,EAAA;AACtG,gBAAA,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oBACjC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC/C,oBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;AAEnC,oBAAA,IAAI,QAAQ,KAAK,QAAQ,EAAE;wBACzB,IAAI,CAAC,eAAe,CAAC,oBAAoB,IAAI,IAAI,CAAC,UAAU,EAAE;4BAC3D,IAAI,CAAC,eAAe,CAA8B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;yBACzE;qBACF;iBACF;AAED,gBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAClC,aAAC,CAAC;SACH;AACH,KAAC,CAAC;AACJ;;;;"}
|