@govtechsg/sgds-web-component 2.1.0 → 2.1.2
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.js +0 -1
- package/base/card-element.js.map +1 -1
- package/base/card.js +0 -1
- package/base/card.js.map +1 -1
- package/base/dropdown-element.js +0 -1
- package/base/dropdown-element.js.map +1 -1
- package/base/dropdown-list-element.js +0 -1
- package/base/dropdown-list-element.js.map +1 -1
- package/base/form-check-element.js +6 -5
- package/base/form-check-element.js.map +1 -1
- package/base/link-element.js +0 -1
- package/base/link-element.js.map +1 -1
- package/base/sgds-element.js +0 -1
- package/base/sgds-element.js.map +1 -1
- package/base/sgds-element2.js +0 -1
- package/base/sgds-element2.js.map +1 -1
- package/components/Accordion/accordion-item.js +0 -1
- package/components/Accordion/accordion-item.js.map +1 -1
- package/components/Accordion/accordion.js +0 -1
- package/components/Accordion/accordion.js.map +1 -1
- package/components/Accordion/sgds-accordion-item.js +0 -1
- package/components/Accordion/sgds-accordion-item.js.map +1 -1
- package/components/Accordion/sgds-accordion.js +0 -1
- package/components/Accordion/sgds-accordion.js.map +1 -1
- package/components/ActionCard/action-card.js +0 -1
- package/components/ActionCard/action-card.js.map +1 -1
- package/components/ActionCard/index.umd.js +9 -7
- package/components/ActionCard/index.umd.js.map +1 -1
- package/components/ActionCard/sgds-action-card.js +0 -1
- package/components/ActionCard/sgds-action-card.js.map +1 -1
- package/components/Alert/alert-link.js +0 -1
- package/components/Alert/alert-link.js.map +1 -1
- package/components/Alert/alert.js +0 -1
- package/components/Alert/alert.js.map +1 -1
- package/components/Alert/sgds-alert-heading.js +0 -1
- package/components/Alert/sgds-alert-heading.js.map +1 -1
- package/components/Alert/sgds-alert-link.js +0 -1
- package/components/Alert/sgds-alert-link.js.map +1 -1
- package/components/Alert/sgds-alert.js +0 -1
- package/components/Alert/sgds-alert.js.map +1 -1
- package/components/Badge/badge.js +0 -1
- package/components/Badge/badge.js.map +1 -1
- package/components/Badge/sgds-badge.js +0 -1
- package/components/Badge/sgds-badge.js.map +1 -1
- package/components/Breadcrumb/breadcrumb-item.js +0 -1
- package/components/Breadcrumb/breadcrumb-item.js.map +1 -1
- package/components/Breadcrumb/breadcrumb.js +0 -1
- package/components/Breadcrumb/breadcrumb.js.map +1 -1
- package/components/Breadcrumb/sgds-breadcrumb-item.js +0 -1
- package/components/Breadcrumb/sgds-breadcrumb-item.js.map +1 -1
- package/components/Breadcrumb/sgds-breadcrumb.js +0 -1
- package/components/Breadcrumb/sgds-breadcrumb.js.map +1 -1
- package/components/Button/button.js +0 -1
- package/components/Button/button.js.map +1 -1
- package/components/Button/sgds-button.js +0 -1
- package/components/Button/sgds-button.js.map +1 -1
- package/components/Card/card.js +0 -1
- package/components/Card/card.js.map +1 -1
- package/components/Card/sgds-card.js +0 -1
- package/components/Card/sgds-card.js.map +1 -1
- package/components/Checkbox/checkbox.js +1 -2
- package/components/Checkbox/checkbox.js.map +1 -1
- package/components/Checkbox/index.umd.js +8 -6
- package/components/Checkbox/index.umd.js.map +1 -1
- package/components/Checkbox/sgds-checkbox.js +0 -1
- package/components/Checkbox/sgds-checkbox.js.map +1 -1
- package/components/ComboBox/combo-box.js +0 -1
- package/components/ComboBox/combo-box.js.map +1 -1
- package/components/ComboBox/index.umd.js +2 -2
- package/components/ComboBox/index.umd.js.map +1 -1
- package/components/ComboBox/sgds-combo-box.js +0 -1
- package/components/ComboBox/sgds-combo-box.js.map +1 -1
- package/components/Datepicker/datepicker-calendar.js +0 -1
- package/components/Datepicker/datepicker-calendar.js.map +1 -1
- package/components/Datepicker/datepicker-calendar2.js +0 -1
- package/components/Datepicker/datepicker-calendar2.js.map +1 -1
- package/components/Datepicker/datepicker-header.js +0 -1
- package/components/Datepicker/datepicker-header.js.map +1 -1
- package/components/Datepicker/datepicker-header2.js +0 -1
- package/components/Datepicker/datepicker-header2.js.map +1 -1
- package/components/Datepicker/datepicker-input.js +0 -1
- package/components/Datepicker/datepicker-input.js.map +1 -1
- package/components/Datepicker/datepicker-input2.js +0 -1
- package/components/Datepicker/datepicker-input2.js.map +1 -1
- package/components/Datepicker/datepicker.js +0 -1
- package/components/Datepicker/datepicker.js.map +1 -1
- package/components/Datepicker/index.umd.js +2 -2
- package/components/Datepicker/index.umd.js.map +1 -1
- package/components/Datepicker/sgds-datepicker.js +0 -1
- package/components/Datepicker/sgds-datepicker.js.map +1 -1
- package/components/Drawer/drawer.js +0 -1
- package/components/Drawer/drawer.js.map +1 -1
- package/components/Drawer/sgds-drawer.js +0 -1
- package/components/Drawer/sgds-drawer.js.map +1 -1
- package/components/Dropdown/dropdown.js +0 -1
- package/components/Dropdown/dropdown.js.map +1 -1
- package/components/Dropdown/sgds-dropdown-item.js +0 -1
- package/components/Dropdown/sgds-dropdown-item.js.map +1 -1
- package/components/Dropdown/sgds-dropdown.js +0 -1
- package/components/Dropdown/sgds-dropdown.js.map +1 -1
- package/components/FileUpload/file-upload.js +0 -1
- package/components/FileUpload/file-upload.js.map +1 -1
- package/components/FileUpload/sgds-file-upload.js +0 -1
- package/components/FileUpload/sgds-file-upload.js.map +1 -1
- package/components/Footer/footer.js +0 -1
- package/components/Footer/footer.js.map +1 -1
- package/components/Footer/sgds-footer.js +0 -1
- package/components/Footer/sgds-footer.js.map +1 -1
- package/components/Input/index.umd.js +2 -2
- package/components/Input/index.umd.js.map +1 -1
- package/components/Input/input.js +0 -1
- package/components/Input/input.js.map +1 -1
- package/components/Input/sgds-input.js +1 -2
- package/components/Input/sgds-input.js.map +1 -1
- package/components/Mainnav/mainnav-dropdown.js +0 -1
- package/components/Mainnav/mainnav-dropdown.js.map +1 -1
- package/components/Mainnav/mainnav-item.js +0 -1
- package/components/Mainnav/mainnav-item.js.map +1 -1
- package/components/Mainnav/mainnav.js +0 -1
- package/components/Mainnav/mainnav.js.map +1 -1
- package/components/Mainnav/sgds-mainnav-dropdown.js +0 -1
- package/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -1
- package/components/Mainnav/sgds-mainnav-item.js +0 -1
- package/components/Mainnav/sgds-mainnav-item.js.map +1 -1
- package/components/Mainnav/sgds-mainnav.js +0 -1
- package/components/Mainnav/sgds-mainnav.js.map +1 -1
- package/components/Masthead/masthead.js +0 -1
- package/components/Masthead/masthead.js.map +1 -1
- package/components/Masthead/sgds-masthead.js +0 -1
- package/components/Masthead/sgds-masthead.js.map +1 -1
- package/components/Modal/modal.js +0 -1
- package/components/Modal/modal.js.map +1 -1
- package/components/Modal/sgds-modal.js +0 -1
- package/components/Modal/sgds-modal.js.map +1 -1
- package/components/Pagination/pagination.js +0 -1
- package/components/Pagination/pagination.js.map +1 -1
- package/components/Pagination/sgds-pagination.js +0 -1
- package/components/Pagination/sgds-pagination.js.map +1 -1
- package/components/Progress/progress-bar.js +0 -1
- package/components/Progress/progress-bar.js.map +1 -1
- package/components/Progress/progress.js +0 -1
- package/components/Progress/progress.js.map +1 -1
- package/components/Progress/sgds-progress-bar.js +0 -1
- package/components/Progress/sgds-progress-bar.js.map +1 -1
- package/components/Progress/sgds-progress.js +0 -1
- package/components/Progress/sgds-progress.js.map +1 -1
- package/components/QuantityToggle/index.umd.js +2 -2
- package/components/QuantityToggle/index.umd.js.map +1 -1
- package/components/QuantityToggle/quantity-toggle.js +0 -1
- package/components/QuantityToggle/quantity-toggle.js.map +1 -1
- package/components/QuantityToggle/sgds-quantity-toggle.js +0 -1
- package/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -1
- package/components/Radio/index.umd.js +3 -3
- package/components/Radio/index.umd.js.map +1 -1
- package/components/Radio/radio-group.js +0 -1
- package/components/Radio/radio-group.js.map +1 -1
- package/components/Radio/radio.js +1 -2
- package/components/Radio/radio.js.map +1 -1
- package/components/Radio/sgds-radio-group.js +1 -2
- package/components/Radio/sgds-radio-group.js.map +1 -1
- package/components/Radio/sgds-radio.js +0 -1
- package/components/Radio/sgds-radio.js.map +1 -1
- package/components/Sidenav/sgds-sidenav-item.js +0 -1
- package/components/Sidenav/sgds-sidenav-item.js.map +1 -1
- package/components/Sidenav/sgds-sidenav-link.js +0 -1
- package/components/Sidenav/sgds-sidenav-link.js.map +1 -1
- package/components/Sidenav/sgds-sidenav.js +0 -1
- package/components/Sidenav/sgds-sidenav.js.map +1 -1
- package/components/Sidenav/sidenav-item.js +0 -1
- package/components/Sidenav/sidenav-item.js.map +1 -1
- package/components/Sidenav/sidenav-link.js +0 -1
- package/components/Sidenav/sidenav-link.js.map +1 -1
- package/components/Sidenav/sidenav.js +0 -1
- package/components/Sidenav/sidenav.js.map +1 -1
- package/components/Spinner/sgds-spinner.js +0 -1
- package/components/Spinner/sgds-spinner.js.map +1 -1
- package/components/Spinner/spinner.js +0 -1
- package/components/Spinner/spinner.js.map +1 -1
- package/components/Stepper/sgds-stepper.js +0 -1
- package/components/Stepper/sgds-stepper.js.map +1 -1
- package/components/Stepper/stepper.js +0 -1
- package/components/Stepper/stepper.js.map +1 -1
- package/components/Tab/sgds-tab-group.js +0 -1
- package/components/Tab/sgds-tab-group.js.map +1 -1
- package/components/Tab/sgds-tab-panel.js +0 -1
- package/components/Tab/sgds-tab-panel.js.map +1 -1
- package/components/Tab/sgds-tab.js +0 -1
- package/components/Tab/sgds-tab.js.map +1 -1
- package/components/Tab/tab-group.js +0 -1
- package/components/Tab/tab-group.js.map +1 -1
- package/components/Tab/tab-panel.js +0 -1
- package/components/Tab/tab-panel.js.map +1 -1
- package/components/Tab/tab.js +0 -1
- package/components/Tab/tab.js.map +1 -1
- package/components/Table/sgds-table.js +0 -1
- package/components/Table/sgds-table.js.map +1 -1
- package/components/Table/table.js +0 -1
- package/components/Table/table.js.map +1 -1
- package/components/Textarea/index.umd.js +2 -2
- package/components/Textarea/index.umd.js.map +1 -1
- package/components/Textarea/sgds-textarea.js +1 -2
- package/components/Textarea/sgds-textarea.js.map +1 -1
- package/components/Textarea/textarea.js +0 -1
- package/components/Textarea/textarea.js.map +1 -1
- package/components/Toast/sgds-toast-container.js +0 -1
- package/components/Toast/sgds-toast-container.js.map +1 -1
- package/components/Toast/sgds-toast.js +0 -1
- package/components/Toast/sgds-toast.js.map +1 -1
- package/components/Toast/toast-container.js +0 -1
- package/components/Toast/toast-container.js.map +1 -1
- package/components/Toast/toast.js +0 -1
- package/components/Toast/toast.js.map +1 -1
- package/components/Tooltip/sgds-tooltip.js +0 -1
- package/components/Tooltip/sgds-tooltip.js.map +1 -1
- package/components/Tooltip/tooltip.js +0 -1
- package/components/Tooltip/tooltip.js.map +1 -1
- package/components/index.umd.js +12 -10
- package/components/index.umd.js.map +1 -1
- package/index.umd.js +12 -10
- package/index.umd.js.map +1 -1
- package/internals/CloseButton/close-button.js +0 -1
- package/internals/CloseButton/close-button.js.map +1 -1
- package/internals/CloseButton/sgds-close-button.js +0 -1
- package/internals/CloseButton/sgds-close-button.js.map +1 -1
- package/package.json +1 -1
- package/react/accordion/index.cjs.js +1 -1
- package/react/accordion/index.js +1 -1
- package/react/accordion-item/index.cjs.js +1 -1
- package/react/accordion-item/index.js +1 -1
- package/react/action-card/index.cjs.js +1 -1
- package/react/action-card/index.js +1 -1
- package/react/alert/index.cjs.js +1 -1
- package/react/alert/index.js +1 -1
- package/react/alert-heading/index.cjs.js +1 -1
- package/react/alert-heading/index.js +1 -1
- package/react/alert-link/index.cjs.js +1 -1
- package/react/alert-link/index.js +1 -1
- package/react/badge/index.cjs.js +1 -1
- package/react/badge/index.js +1 -1
- package/react/base/card-element.cjs.js.map +1 -0
- package/react/base/card-element.js +26 -0
- package/react/base/card-element.js.map +1 -0
- package/react/base/card.js +7 -0
- package/react/base/card.js.map +1 -0
- package/react/base/dropdown-element.cjs.js.map +1 -0
- package/react/base/dropdown-element.js +174 -0
- package/react/base/dropdown-element.js.map +1 -0
- package/react/base/dropdown-list-element.cjs.js.map +1 -0
- package/react/base/dropdown-list-element.js +130 -0
- package/react/base/dropdown-list-element.js.map +1 -0
- package/{base → react/base}/form-check-element.cjs.js +6 -4
- package/react/base/form-check-element.cjs.js.map +1 -0
- package/react/base/form-check-element.js +169 -0
- package/react/base/form-check-element.js.map +1 -0
- package/react/base/link-element.cjs.js.map +1 -0
- package/react/base/link-element.js +53 -0
- package/react/base/link-element.js.map +1 -0
- package/react/base/sgds-element.cjs.js.map +1 -0
- package/react/base/sgds-element.js +24 -0
- package/react/base/sgds-element.js.map +1 -0
- package/react/base/sgds-element2.js +7 -0
- package/react/base/sgds-element2.js.map +1 -0
- package/react/breadcrumb/index.cjs.js +1 -1
- package/react/breadcrumb/index.js +1 -1
- package/react/breadcrumb-item/index.cjs.js +1 -1
- package/react/breadcrumb-item/index.js +1 -1
- package/react/button/index.cjs.js +1 -1
- package/react/button/index.js +1 -1
- package/react/card/index.cjs.js +1 -1
- package/react/card/index.js +1 -1
- package/react/checkbox/index.cjs.js +1 -1
- package/react/checkbox/index.js +1 -1
- package/react/combo-box/index.cjs.js +1 -1
- package/react/combo-box/index.js +1 -1
- package/react/components/Accordion/accordion-item.js +7 -0
- package/react/components/Accordion/accordion-item.js.map +1 -0
- package/react/components/Accordion/accordion.js +7 -0
- package/react/components/Accordion/accordion.js.map +1 -0
- package/react/components/Accordion/sgds-accordion-item.cjs.js.map +1 -0
- package/react/components/Accordion/sgds-accordion-item.js +204 -0
- package/react/components/Accordion/sgds-accordion-item.js.map +1 -0
- package/react/components/Accordion/sgds-accordion.cjs.js.map +1 -0
- package/react/components/Accordion/sgds-accordion.js +87 -0
- package/react/components/Accordion/sgds-accordion.js.map +1 -0
- package/react/components/ActionCard/action-card.js +7 -0
- package/react/components/ActionCard/action-card.js.map +1 -0
- package/react/components/ActionCard/sgds-action-card.cjs.js.map +1 -0
- package/react/components/ActionCard/sgds-action-card.js +155 -0
- package/react/components/ActionCard/sgds-action-card.js.map +1 -0
- package/react/components/Alert/alert-link.js +7 -0
- package/react/components/Alert/alert-link.js.map +1 -0
- package/react/components/Alert/alert.js +7 -0
- package/react/components/Alert/alert.js.map +1 -0
- package/react/components/Alert/sgds-alert-heading.cjs.js.map +1 -0
- package/react/components/Alert/sgds-alert-heading.js +33 -0
- package/react/components/Alert/sgds-alert-heading.js.map +1 -0
- package/react/components/Alert/sgds-alert-link.cjs.js.map +1 -0
- package/react/components/Alert/sgds-alert-link.js +32 -0
- package/react/components/Alert/sgds-alert-link.js.map +1 -0
- package/react/components/Alert/sgds-alert.cjs.js.map +1 -0
- package/react/components/Alert/sgds-alert.js +90 -0
- package/react/components/Alert/sgds-alert.js.map +1 -0
- package/react/components/Badge/badge.js +7 -0
- package/react/components/Badge/badge.js.map +1 -0
- package/react/components/Badge/sgds-badge.cjs.js.map +1 -0
- package/react/components/Badge/sgds-badge.js +53 -0
- package/react/components/Badge/sgds-badge.js.map +1 -0
- package/react/components/Breadcrumb/breadcrumb-item.js +7 -0
- package/react/components/Breadcrumb/breadcrumb-item.js.map +1 -0
- package/react/components/Breadcrumb/breadcrumb.js +7 -0
- package/react/components/Breadcrumb/breadcrumb.js.map +1 -0
- package/react/components/Breadcrumb/sgds-breadcrumb-item.cjs.js.map +1 -0
- package/react/components/Breadcrumb/sgds-breadcrumb-item.js +65 -0
- package/react/components/Breadcrumb/sgds-breadcrumb-item.js.map +1 -0
- package/react/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +1 -0
- package/react/components/Breadcrumb/sgds-breadcrumb.js +82 -0
- package/react/components/Breadcrumb/sgds-breadcrumb.js.map +1 -0
- package/react/components/Button/button.js +7 -0
- package/react/components/Button/button.js.map +1 -0
- package/react/components/Button/sgds-button.cjs.js.map +1 -0
- package/react/components/Button/sgds-button.js +166 -0
- package/react/components/Button/sgds-button.js.map +1 -0
- package/react/components/Card/card.js +7 -0
- package/react/components/Card/card.js.map +1 -0
- package/react/components/Card/sgds-card.cjs.js.map +1 -0
- package/react/components/Card/sgds-card.js +76 -0
- package/react/components/Card/sgds-card.js.map +1 -0
- package/react/components/Checkbox/checkbox.cjs.js +11 -0
- package/react/components/Checkbox/checkbox.js +7 -0
- package/react/components/Checkbox/checkbox.js.map +1 -0
- package/react/components/Checkbox/sgds-checkbox.cjs.js.map +1 -0
- package/react/components/Checkbox/sgds-checkbox.js +26 -0
- package/react/components/Checkbox/sgds-checkbox.js.map +1 -0
- package/react/components/ComboBox/combo-box.js +7 -0
- package/react/components/ComboBox/combo-box.js.map +1 -0
- package/react/components/ComboBox/sgds-combo-box.cjs.js.map +1 -0
- package/react/components/ComboBox/sgds-combo-box.js +194 -0
- package/react/components/ComboBox/sgds-combo-box.js.map +1 -0
- package/react/components/Datepicker/datepicker-calendar.cjs.js.map +1 -0
- package/react/components/Datepicker/datepicker-calendar.js +458 -0
- package/react/components/Datepicker/datepicker-calendar.js.map +1 -0
- package/react/components/Datepicker/datepicker-calendar2.js +7 -0
- package/react/components/Datepicker/datepicker-calendar2.js.map +1 -0
- package/react/components/Datepicker/datepicker-header.cjs.js.map +1 -0
- package/react/components/Datepicker/datepicker-header.js +227 -0
- package/react/components/Datepicker/datepicker-header.js.map +1 -0
- package/react/components/Datepicker/datepicker-header2.js +7 -0
- package/react/components/Datepicker/datepicker-header2.js.map +1 -0
- package/react/components/Datepicker/datepicker-input.cjs.js.map +1 -0
- package/react/components/Datepicker/datepicker-input.js +150 -0
- package/react/components/Datepicker/datepicker-input.js.map +1 -0
- package/react/components/Datepicker/datepicker-input2.js +7 -0
- package/react/components/Datepicker/datepicker-input2.js.map +1 -0
- package/react/components/Datepicker/datepicker.js +7 -0
- package/react/components/Datepicker/datepicker.js.map +1 -0
- package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -0
- package/react/components/Datepicker/sgds-datepicker.js +484 -0
- package/react/components/Datepicker/sgds-datepicker.js.map +1 -0
- package/react/components/Drawer/drawer.js +7 -0
- package/react/components/Drawer/drawer.js.map +1 -0
- package/react/components/Drawer/sgds-drawer.cjs.js.map +1 -0
- package/react/components/Drawer/sgds-drawer.js +413 -0
- package/react/components/Drawer/sgds-drawer.js.map +1 -0
- package/react/components/Dropdown/dropdown.js +7 -0
- package/react/components/Dropdown/dropdown.js.map +1 -0
- package/react/components/Dropdown/sgds-dropdown-item.cjs.js.map +1 -0
- package/react/components/Dropdown/sgds-dropdown-item.js +47 -0
- package/react/components/Dropdown/sgds-dropdown-item.js.map +1 -0
- package/react/components/Dropdown/sgds-dropdown.cjs.js.map +1 -0
- package/react/components/Dropdown/sgds-dropdown.js +117 -0
- package/react/components/Dropdown/sgds-dropdown.js.map +1 -0
- package/react/components/FileUpload/file-upload.js +7 -0
- package/react/components/FileUpload/file-upload.js.map +1 -0
- package/react/components/FileUpload/sgds-file-upload.cjs.js.map +1 -0
- package/react/components/FileUpload/sgds-file-upload.js +208 -0
- package/react/components/FileUpload/sgds-file-upload.js.map +1 -0
- package/react/components/Footer/footer.js +7 -0
- package/react/components/Footer/footer.js.map +1 -0
- package/react/components/Footer/sgds-footer.cjs.js.map +1 -0
- package/react/components/Footer/sgds-footer.js +155 -0
- package/react/components/Footer/sgds-footer.js.map +1 -0
- package/react/components/Input/input.js +7 -0
- package/react/components/Input/input.js.map +1 -0
- package/{components → react/components}/Input/sgds-input.cjs.js +1 -1
- package/react/components/Input/sgds-input.cjs.js.map +1 -0
- package/react/components/Input/sgds-input.js +262 -0
- package/react/components/Input/sgds-input.js.map +1 -0
- package/react/components/Mainnav/mainnav-dropdown.js +7 -0
- package/react/components/Mainnav/mainnav-dropdown.js.map +1 -0
- package/react/components/Mainnav/mainnav-item.js +7 -0
- package/react/components/Mainnav/mainnav-item.js.map +1 -0
- package/react/components/Mainnav/mainnav.js +7 -0
- package/react/components/Mainnav/mainnav.js.map +1 -0
- package/react/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +1 -0
- package/react/components/Mainnav/sgds-mainnav-dropdown.js +85 -0
- package/react/components/Mainnav/sgds-mainnav-dropdown.js.map +1 -0
- package/react/components/Mainnav/sgds-mainnav-item.cjs.js.map +1 -0
- package/react/components/Mainnav/sgds-mainnav-item.js +14 -0
- package/react/components/Mainnav/sgds-mainnav-item.js.map +1 -0
- package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -0
- package/react/components/Mainnav/sgds-mainnav.js +227 -0
- package/react/components/Mainnav/sgds-mainnav.js.map +1 -0
- package/react/components/Masthead/masthead.js +7 -0
- package/react/components/Masthead/masthead.js.map +1 -0
- package/react/components/Masthead/sgds-masthead.cjs.js.map +1 -0
- package/react/components/Masthead/sgds-masthead.js +182 -0
- package/react/components/Masthead/sgds-masthead.js.map +1 -0
- package/react/components/Modal/modal.js +7 -0
- package/react/components/Modal/modal.js.map +1 -0
- package/react/components/Modal/sgds-modal.cjs.js.map +1 -0
- package/react/components/Modal/sgds-modal.js +340 -0
- package/react/components/Modal/sgds-modal.js.map +1 -0
- package/react/components/Pagination/pagination.js +7 -0
- package/react/components/Pagination/pagination.js.map +1 -0
- package/react/components/Pagination/sgds-pagination.cjs.js.map +1 -0
- package/react/components/Pagination/sgds-pagination.js +364 -0
- package/react/components/Pagination/sgds-pagination.js.map +1 -0
- package/react/components/Progress/progress-bar.js +7 -0
- package/react/components/Progress/progress-bar.js.map +1 -0
- package/react/components/Progress/progress.js +7 -0
- package/react/components/Progress/progress.js.map +1 -0
- package/react/components/Progress/sgds-progress-bar.cjs.js.map +1 -0
- package/react/components/Progress/sgds-progress-bar.js +59 -0
- package/react/components/Progress/sgds-progress-bar.js.map +1 -0
- package/react/components/Progress/sgds-progress.cjs.js.map +1 -0
- package/react/components/Progress/sgds-progress.js +30 -0
- package/react/components/Progress/sgds-progress.js.map +1 -0
- package/react/components/QuantityToggle/quantity-toggle.js +7 -0
- package/react/components/QuantityToggle/quantity-toggle.js.map +1 -0
- package/react/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +1 -0
- package/react/components/QuantityToggle/sgds-quantity-toggle.js +210 -0
- package/react/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -0
- package/react/components/Radio/radio-group.js +7 -0
- package/react/components/Radio/radio-group.js.map +1 -0
- package/react/components/Radio/radio.cjs.js +11 -0
- package/react/components/Radio/radio.js +7 -0
- package/react/components/Radio/radio.js.map +1 -0
- package/{components → react/components}/Radio/sgds-radio-group.cjs.js +1 -1
- package/react/components/Radio/sgds-radio-group.cjs.js.map +1 -0
- package/react/components/Radio/sgds-radio-group.js +240 -0
- package/react/components/Radio/sgds-radio-group.js.map +1 -0
- package/react/components/Radio/sgds-radio.cjs.js.map +1 -0
- package/react/components/Radio/sgds-radio.js +138 -0
- package/react/components/Radio/sgds-radio.js.map +1 -0
- package/react/components/Sidenav/sgds-sidenav-item.cjs.js.map +1 -0
- package/react/components/Sidenav/sgds-sidenav-item.js +256 -0
- package/react/components/Sidenav/sgds-sidenav-item.js.map +1 -0
- package/react/components/Sidenav/sgds-sidenav-link.cjs.js.map +1 -0
- package/react/components/Sidenav/sgds-sidenav-link.js +18 -0
- package/react/components/Sidenav/sgds-sidenav-link.js.map +1 -0
- package/react/components/Sidenav/sgds-sidenav.cjs.js.map +1 -0
- package/react/components/Sidenav/sgds-sidenav.js +75 -0
- package/react/components/Sidenav/sgds-sidenav.js.map +1 -0
- package/react/components/Sidenav/sidenav-item.js +7 -0
- package/react/components/Sidenav/sidenav-item.js.map +1 -0
- package/react/components/Sidenav/sidenav-link.js +7 -0
- package/react/components/Sidenav/sidenav-link.js.map +1 -0
- package/react/components/Sidenav/sidenav.js +7 -0
- package/react/components/Sidenav/sidenav.js.map +1 -0
- package/react/components/Spinner/sgds-spinner.cjs.js.map +1 -0
- package/react/components/Spinner/sgds-spinner.js +38 -0
- package/react/components/Spinner/sgds-spinner.js.map +1 -0
- package/react/components/Spinner/spinner.js +8 -0
- package/react/components/Spinner/spinner.js.map +1 -0
- package/react/components/Stepper/sgds-stepper.cjs.js.map +1 -0
- package/react/components/Stepper/sgds-stepper.js +132 -0
- package/react/components/Stepper/sgds-stepper.js.map +1 -0
- package/react/components/Stepper/stepper.js +7 -0
- package/react/components/Stepper/stepper.js.map +1 -0
- package/react/components/Tab/sgds-tab-group.cjs.js.map +1 -0
- package/react/components/Tab/sgds-tab-group.js +233 -0
- package/react/components/Tab/sgds-tab-group.js.map +1 -0
- package/react/components/Tab/sgds-tab-panel.cjs.js.map +1 -0
- package/react/components/Tab/sgds-tab-panel.js +63 -0
- package/react/components/Tab/sgds-tab-panel.js.map +1 -0
- package/react/components/Tab/sgds-tab.cjs.js.map +1 -0
- package/react/components/Tab/sgds-tab.js +110 -0
- package/react/components/Tab/sgds-tab.js.map +1 -0
- package/react/components/Tab/tab-group.js +7 -0
- package/react/components/Tab/tab-group.js.map +1 -0
- package/react/components/Tab/tab-panel.js +7 -0
- package/react/components/Tab/tab-panel.js.map +1 -0
- package/react/components/Tab/tab.js +7 -0
- package/react/components/Tab/tab.js.map +1 -0
- package/react/components/Table/sgds-table.cjs.js.map +1 -0
- package/react/components/Table/sgds-table.js +267 -0
- package/react/components/Table/sgds-table.js.map +1 -0
- package/react/components/Table/table.js +7 -0
- package/react/components/Table/table.js.map +1 -0
- package/{components → react/components}/Textarea/sgds-textarea.cjs.js +1 -1
- package/react/components/Textarea/sgds-textarea.cjs.js.map +1 -0
- package/react/components/Textarea/sgds-textarea.js +252 -0
- package/react/components/Textarea/sgds-textarea.js.map +1 -0
- package/react/components/Textarea/textarea.js +7 -0
- package/react/components/Textarea/textarea.js.map +1 -0
- package/react/components/Toast/sgds-toast-container.cjs.js.map +1 -0
- package/react/components/Toast/sgds-toast-container.js +36 -0
- package/react/components/Toast/sgds-toast-container.js.map +1 -0
- package/react/components/Toast/sgds-toast.cjs.js.map +1 -0
- package/react/components/Toast/sgds-toast.js +152 -0
- package/react/components/Toast/sgds-toast.js.map +1 -0
- package/react/components/Toast/toast-container.js +7 -0
- package/react/components/Toast/toast-container.js.map +1 -0
- package/react/components/Toast/toast.js +7 -0
- package/react/components/Toast/toast.js.map +1 -0
- package/react/components/Tooltip/sgds-tooltip.cjs.js.map +1 -0
- package/react/components/Tooltip/sgds-tooltip.js +121 -0
- package/react/components/Tooltip/sgds-tooltip.js.map +1 -0
- package/react/components/Tooltip/tooltip.js +7 -0
- package/react/components/Tooltip/tooltip.js.map +1 -0
- package/react/datepicker/index.cjs.js +1 -1
- package/react/datepicker/index.js +1 -1
- package/react/drawer/index.cjs.js +1 -1
- package/react/drawer/index.js +1 -1
- package/react/dropdown/index.cjs.js +1 -1
- package/react/dropdown/index.js +1 -1
- package/react/dropdown-item/index.cjs.js +1 -1
- package/react/dropdown-item/index.js +1 -1
- package/react/file-upload/index.cjs.js +1 -1
- package/react/file-upload/index.js +1 -1
- package/react/footer/index.cjs.js +1 -1
- package/react/footer/index.js +1 -1
- package/react/input/index.cjs.js +1 -1
- package/react/input/index.js +1 -1
- package/react/internals/CloseButton/close-button.js +7 -0
- package/react/internals/CloseButton/close-button.js.map +1 -0
- package/react/internals/CloseButton/sgds-close-button.cjs.js.map +1 -0
- package/react/internals/CloseButton/sgds-close-button.js +55 -0
- package/react/internals/CloseButton/sgds-close-button.js.map +1 -0
- package/react/mainnav/index.cjs.js +1 -1
- package/react/mainnav/index.js +1 -1
- package/react/mainnav-dropdown/index.cjs.js +1 -1
- package/react/mainnav-dropdown/index.js +1 -1
- package/react/mainnav-item/index.cjs.js +1 -1
- package/react/mainnav-item/index.js +1 -1
- package/react/masthead/index.cjs.js +1 -1
- package/react/masthead/index.js +1 -1
- package/react/modal/index.cjs.js +1 -1
- package/react/modal/index.js +1 -1
- package/react/pagination/index.cjs.js +1 -1
- package/react/pagination/index.js +1 -1
- package/react/progress/index.cjs.js +1 -1
- package/react/progress/index.js +1 -1
- package/react/progress-bar/index.cjs.js +1 -1
- package/react/progress-bar/index.js +1 -1
- package/react/quantity-toggle/index.cjs.js +1 -1
- package/react/quantity-toggle/index.js +1 -1
- package/react/radio/index.cjs.js +1 -1
- package/react/radio/index.js +1 -1
- package/react/radio-group/index.cjs.js +1 -1
- package/react/radio-group/index.js +1 -1
- package/react/sidenav/index.cjs.js +1 -1
- package/react/sidenav/index.js +1 -1
- package/react/sidenav-item/index.cjs.js +1 -1
- package/react/sidenav-item/index.js +1 -1
- package/react/sidenav-link/index.cjs.js +1 -1
- package/react/sidenav-link/index.js +1 -1
- package/react/spinner/index.cjs.js +1 -1
- package/react/spinner/index.js +1 -1
- package/react/stepper/index.cjs.js +1 -1
- package/react/stepper/index.js +1 -1
- package/react/styles/anchor.js +7 -0
- package/react/styles/anchor.js.map +1 -0
- package/react/styles/bg-variants.js +7 -0
- package/react/styles/bg-variants.js.map +1 -0
- package/react/styles/border-variants.js +7 -0
- package/react/styles/border-variants.js.map +1 -0
- package/{styles → react/styles}/feedback.cjs.js +1 -1
- package/react/styles/feedback.js +7 -0
- package/react/styles/feedback.js.map +1 -0
- package/react/styles/form-hint.js +7 -0
- package/react/styles/form-hint.js.map +1 -0
- package/react/styles/form-label.js +7 -0
- package/react/styles/form-label.js.map +1 -0
- package/react/styles/header-class.js +7 -0
- package/react/styles/header-class.js.map +1 -0
- package/react/styles/paragraph.js +7 -0
- package/react/styles/paragraph.js.map +1 -0
- package/react/styles/svg.js +7 -0
- package/react/styles/svg.js.map +1 -0
- package/react/styles/text-variants.js +7 -0
- package/react/styles/text-variants.js.map +1 -0
- package/react/tab/index.cjs.js +1 -1
- package/react/tab/index.js +1 -1
- package/react/tab-group/index.cjs.js +1 -1
- package/react/tab-group/index.js +1 -1
- package/react/tab-panel/index.cjs.js +1 -1
- package/react/tab-panel/index.js +1 -1
- package/react/table/index.cjs.js +1 -1
- package/react/table/index.js +1 -1
- package/react/textarea/index.cjs.js +1 -1
- package/react/textarea/index.js +1 -1
- package/react/toast/index.cjs.js +1 -1
- package/react/toast/index.js +1 -1
- package/react/toast-container/index.cjs.js +1 -1
- package/react/toast-container/index.js +1 -1
- package/react/tooltip/index.cjs.js +1 -1
- package/react/tooltip/index.js +1 -1
- package/react/utils/animate.cjs.js.map +1 -0
- package/react/utils/animate.js +42 -0
- package/react/utils/animate.js.map +1 -0
- package/react/utils/animation-registry.cjs.js.map +1 -0
- package/react/utils/animation-registry.js +43 -0
- package/react/utils/animation-registry.js.map +1 -0
- package/react/utils/breakpoints.cjs.js.map +1 -0
- package/react/utils/breakpoints.js +9 -0
- package/react/utils/breakpoints.js.map +1 -0
- package/react/utils/defaultvalue.cjs.js.map +1 -0
- package/react/utils/defaultvalue.js +25 -0
- package/react/utils/defaultvalue.js.map +1 -0
- package/react/utils/event.cjs.js.map +1 -0
- package/react/utils/event.js +16 -0
- package/react/utils/event.js.map +1 -0
- package/react/utils/form.cjs.js.map +1 -0
- package/react/utils/form.js +133 -0
- package/react/utils/form.js.map +1 -0
- package/react/utils/generateId.cjs.js.map +1 -0
- package/react/utils/generateId.js +7 -0
- package/react/utils/generateId.js.map +1 -0
- package/react/utils/mergeDeep.cjs.js.map +1 -0
- package/react/utils/mergeDeep.js +26 -0
- package/react/utils/mergeDeep.js.map +1 -0
- package/react/utils/modal.cjs.js.map +1 -0
- package/react/utils/modal.js +56 -0
- package/react/utils/modal.js.map +1 -0
- package/react/utils/object.cjs.js.map +1 -0
- package/react/utils/object.js +7 -0
- package/react/utils/object.js.map +1 -0
- package/react/utils/scroll.cjs.js.map +1 -0
- package/react/utils/scroll.js +22 -0
- package/react/utils/scroll.js.map +1 -0
- package/react/utils/slot.cjs.js.map +1 -0
- package/react/utils/slot.js +53 -0
- package/react/utils/slot.js.map +1 -0
- package/react/utils/tabbable.cjs.js.map +1 -0
- package/react/utils/tabbable.js +69 -0
- package/react/utils/tabbable.js.map +1 -0
- package/react/utils/time.cjs.js.map +1 -0
- package/react/utils/time.js +75 -0
- package/react/utils/time.js.map +1 -0
- package/react/utils/watch.cjs.js.map +1 -0
- package/react/utils/watch.js +40 -0
- package/react/utils/watch.js.map +1 -0
- package/styles/anchor.js +0 -1
- package/styles/anchor.js.map +1 -1
- package/styles/bg-variants.js +0 -1
- package/styles/bg-variants.js.map +1 -1
- package/styles/border-variants.js +0 -1
- package/styles/border-variants.js.map +1 -1
- package/styles/feedback.js +1 -2
- package/styles/feedback.js.map +1 -1
- package/styles/form-hint.js +0 -1
- package/styles/form-hint.js.map +1 -1
- package/styles/form-label.js +0 -1
- package/styles/form-label.js.map +1 -1
- package/styles/header-class.js +0 -1
- package/styles/header-class.js.map +1 -1
- package/styles/paragraph.js +0 -1
- package/styles/paragraph.js.map +1 -1
- package/styles/svg.js +0 -1
- package/styles/svg.js.map +1 -1
- package/styles/text-variants.js +0 -1
- package/styles/text-variants.js.map +1 -1
- package/utils/animate.js +0 -1
- package/utils/animate.js.map +1 -1
- package/utils/animation-registry.js +0 -1
- package/utils/animation-registry.js.map +1 -1
- package/utils/breakpoints.js +0 -1
- package/utils/breakpoints.js.map +1 -1
- package/utils/defaultvalue.js +0 -1
- package/utils/defaultvalue.js.map +1 -1
- package/utils/event.js +0 -1
- package/utils/event.js.map +1 -1
- package/utils/form.js +0 -1
- package/utils/form.js.map +1 -1
- package/utils/generateId.js +0 -1
- package/utils/generateId.js.map +1 -1
- package/utils/mergeDeep.js +0 -1
- package/utils/mergeDeep.js.map +1 -1
- package/utils/modal.js +0 -1
- package/utils/modal.js.map +1 -1
- package/utils/object.js +0 -1
- package/utils/object.js.map +1 -1
- package/utils/scroll.js +0 -1
- package/utils/scroll.js.map +1 -1
- package/utils/slot.js +0 -1
- package/utils/slot.js.map +1 -1
- package/utils/tabbable.js +0 -1
- package/utils/tabbable.js.map +1 -1
- package/utils/time.js +0 -1
- package/utils/time.js.map +1 -1
- package/utils/watch.js +0 -1
- package/utils/watch.js.map +1 -1
- package/base/card-element.cjs.js.map +0 -1
- package/base/dropdown-element.cjs.js.map +0 -1
- package/base/dropdown-list-element.cjs.js.map +0 -1
- package/base/form-check-element.cjs.js.map +0 -1
- package/base/link-element.cjs.js.map +0 -1
- package/base/sgds-element.cjs.js.map +0 -1
- package/components/Accordion/sgds-accordion-item.cjs.js.map +0 -1
- package/components/Accordion/sgds-accordion.cjs.js.map +0 -1
- package/components/ActionCard/sgds-action-card.cjs.js.map +0 -1
- package/components/Alert/sgds-alert-heading.cjs.js.map +0 -1
- package/components/Alert/sgds-alert-link.cjs.js.map +0 -1
- package/components/Alert/sgds-alert.cjs.js.map +0 -1
- package/components/Badge/sgds-badge.cjs.js.map +0 -1
- package/components/Breadcrumb/sgds-breadcrumb-item.cjs.js.map +0 -1
- package/components/Breadcrumb/sgds-breadcrumb.cjs.js.map +0 -1
- package/components/Button/sgds-button.cjs.js.map +0 -1
- package/components/Card/sgds-card.cjs.js.map +0 -1
- package/components/Checkbox/checkbox.cjs.js +0 -11
- package/components/Checkbox/sgds-checkbox.cjs.js.map +0 -1
- package/components/ComboBox/sgds-combo-box.cjs.js.map +0 -1
- package/components/Datepicker/datepicker-calendar.cjs.js.map +0 -1
- package/components/Datepicker/datepicker-header.cjs.js.map +0 -1
- package/components/Datepicker/datepicker-input.cjs.js.map +0 -1
- package/components/Datepicker/sgds-datepicker.cjs.js.map +0 -1
- package/components/Drawer/sgds-drawer.cjs.js.map +0 -1
- package/components/Dropdown/sgds-dropdown-item.cjs.js.map +0 -1
- package/components/Dropdown/sgds-dropdown.cjs.js.map +0 -1
- package/components/FileUpload/sgds-file-upload.cjs.js.map +0 -1
- package/components/Footer/sgds-footer.cjs.js.map +0 -1
- package/components/Input/sgds-input.cjs.js.map +0 -1
- package/components/Mainnav/sgds-mainnav-dropdown.cjs.js.map +0 -1
- package/components/Mainnav/sgds-mainnav-item.cjs.js.map +0 -1
- package/components/Mainnav/sgds-mainnav.cjs.js.map +0 -1
- package/components/Masthead/sgds-masthead.cjs.js.map +0 -1
- package/components/Modal/sgds-modal.cjs.js.map +0 -1
- package/components/Pagination/sgds-pagination.cjs.js.map +0 -1
- package/components/Progress/sgds-progress-bar.cjs.js.map +0 -1
- package/components/Progress/sgds-progress.cjs.js.map +0 -1
- package/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +0 -1
- package/components/Radio/radio.cjs.js +0 -11
- package/components/Radio/sgds-radio-group.cjs.js.map +0 -1
- package/components/Radio/sgds-radio.cjs.js.map +0 -1
- package/components/Sidenav/sgds-sidenav-item.cjs.js.map +0 -1
- package/components/Sidenav/sgds-sidenav-link.cjs.js.map +0 -1
- package/components/Sidenav/sgds-sidenav.cjs.js.map +0 -1
- package/components/Spinner/sgds-spinner.cjs.js.map +0 -1
- package/components/Stepper/sgds-stepper.cjs.js.map +0 -1
- package/components/Tab/sgds-tab-group.cjs.js.map +0 -1
- package/components/Tab/sgds-tab-panel.cjs.js.map +0 -1
- package/components/Tab/sgds-tab.cjs.js.map +0 -1
- package/components/Table/sgds-table.cjs.js.map +0 -1
- package/components/Textarea/sgds-textarea.cjs.js.map +0 -1
- package/components/Toast/sgds-toast-container.cjs.js.map +0 -1
- package/components/Toast/sgds-toast.cjs.js.map +0 -1
- package/components/Tooltip/sgds-tooltip.cjs.js.map +0 -1
- package/internals/CloseButton/sgds-close-button.cjs.js.map +0 -1
- package/utils/animate.cjs.js.map +0 -1
- package/utils/animation-registry.cjs.js.map +0 -1
- package/utils/breakpoints.cjs.js.map +0 -1
- package/utils/defaultvalue.cjs.js.map +0 -1
- package/utils/event.cjs.js.map +0 -1
- package/utils/form.cjs.js.map +0 -1
- package/utils/generateId.cjs.js.map +0 -1
- package/utils/mergeDeep.cjs.js.map +0 -1
- package/utils/modal.cjs.js.map +0 -1
- package/utils/object.cjs.js.map +0 -1
- package/utils/scroll.cjs.js.map +0 -1
- package/utils/slot.cjs.js.map +0 -1
- package/utils/tabbable.cjs.js.map +0 -1
- package/utils/time.cjs.js.map +0 -1
- package/utils/watch.cjs.js.map +0 -1
- /package/{base → react/base}/card-element.cjs.js +0 -0
- /package/{base → react/base}/card.cjs.js +0 -0
- /package/{base → react/base}/card.cjs.js.map +0 -0
- /package/{base → react/base}/dropdown-element.cjs.js +0 -0
- /package/{base → react/base}/dropdown-list-element.cjs.js +0 -0
- /package/{base → react/base}/link-element.cjs.js +0 -0
- /package/{base → react/base}/sgds-element.cjs.js +0 -0
- /package/{base → react/base}/sgds-element.cjs2.js +0 -0
- /package/{base → react/base}/sgds-element.cjs2.js.map +0 -0
- /package/{components → react/components}/Accordion/accordion-item.cjs.js +0 -0
- /package/{components → react/components}/Accordion/accordion-item.cjs.js.map +0 -0
- /package/{components → react/components}/Accordion/accordion.cjs.js +0 -0
- /package/{components → react/components}/Accordion/accordion.cjs.js.map +0 -0
- /package/{components → react/components}/Accordion/sgds-accordion-item.cjs.js +0 -0
- /package/{components → react/components}/Accordion/sgds-accordion.cjs.js +0 -0
- /package/{components → react/components}/ActionCard/action-card.cjs.js +0 -0
- /package/{components → react/components}/ActionCard/action-card.cjs.js.map +0 -0
- /package/{components → react/components}/ActionCard/sgds-action-card.cjs.js +0 -0
- /package/{components → react/components}/Alert/alert-link.cjs.js +0 -0
- /package/{components → react/components}/Alert/alert-link.cjs.js.map +0 -0
- /package/{components → react/components}/Alert/alert.cjs.js +0 -0
- /package/{components → react/components}/Alert/alert.cjs.js.map +0 -0
- /package/{components → react/components}/Alert/sgds-alert-heading.cjs.js +0 -0
- /package/{components → react/components}/Alert/sgds-alert-link.cjs.js +0 -0
- /package/{components → react/components}/Alert/sgds-alert.cjs.js +0 -0
- /package/{components → react/components}/Badge/badge.cjs.js +0 -0
- /package/{components → react/components}/Badge/badge.cjs.js.map +0 -0
- /package/{components → react/components}/Badge/sgds-badge.cjs.js +0 -0
- /package/{components → react/components}/Breadcrumb/breadcrumb-item.cjs.js +0 -0
- /package/{components → react/components}/Breadcrumb/breadcrumb-item.cjs.js.map +0 -0
- /package/{components → react/components}/Breadcrumb/breadcrumb.cjs.js +0 -0
- /package/{components → react/components}/Breadcrumb/breadcrumb.cjs.js.map +0 -0
- /package/{components → react/components}/Breadcrumb/sgds-breadcrumb-item.cjs.js +0 -0
- /package/{components → react/components}/Breadcrumb/sgds-breadcrumb.cjs.js +0 -0
- /package/{components → react/components}/Button/button.cjs.js +0 -0
- /package/{components → react/components}/Button/button.cjs.js.map +0 -0
- /package/{components → react/components}/Button/sgds-button.cjs.js +0 -0
- /package/{components → react/components}/Card/card.cjs.js +0 -0
- /package/{components → react/components}/Card/card.cjs.js.map +0 -0
- /package/{components → react/components}/Card/sgds-card.cjs.js +0 -0
- /package/{components → react/components}/Checkbox/checkbox.cjs.js.map +0 -0
- /package/{components → react/components}/Checkbox/sgds-checkbox.cjs.js +0 -0
- /package/{components → react/components}/ComboBox/combo-box.cjs.js +0 -0
- /package/{components → react/components}/ComboBox/combo-box.cjs.js.map +0 -0
- /package/{components → react/components}/ComboBox/sgds-combo-box.cjs.js +0 -0
- /package/{components → react/components}/Datepicker/datepicker-calendar.cjs.js +0 -0
- /package/{components → react/components}/Datepicker/datepicker-calendar.cjs2.js +0 -0
- /package/{components → react/components}/Datepicker/datepicker-calendar.cjs2.js.map +0 -0
- /package/{components → react/components}/Datepicker/datepicker-header.cjs.js +0 -0
- /package/{components → react/components}/Datepicker/datepicker-header.cjs2.js +0 -0
- /package/{components → react/components}/Datepicker/datepicker-header.cjs2.js.map +0 -0
- /package/{components → react/components}/Datepicker/datepicker-input.cjs.js +0 -0
- /package/{components → react/components}/Datepicker/datepicker-input.cjs2.js +0 -0
- /package/{components → react/components}/Datepicker/datepicker-input.cjs2.js.map +0 -0
- /package/{components → react/components}/Datepicker/datepicker.cjs.js +0 -0
- /package/{components → react/components}/Datepicker/datepicker.cjs.js.map +0 -0
- /package/{components → react/components}/Datepicker/sgds-datepicker.cjs.js +0 -0
- /package/{components → react/components}/Drawer/drawer.cjs.js +0 -0
- /package/{components → react/components}/Drawer/drawer.cjs.js.map +0 -0
- /package/{components → react/components}/Drawer/sgds-drawer.cjs.js +0 -0
- /package/{components → react/components}/Dropdown/dropdown.cjs.js +0 -0
- /package/{components → react/components}/Dropdown/dropdown.cjs.js.map +0 -0
- /package/{components → react/components}/Dropdown/sgds-dropdown-item.cjs.js +0 -0
- /package/{components → react/components}/Dropdown/sgds-dropdown.cjs.js +0 -0
- /package/{components → react/components}/FileUpload/file-upload.cjs.js +0 -0
- /package/{components → react/components}/FileUpload/file-upload.cjs.js.map +0 -0
- /package/{components → react/components}/FileUpload/sgds-file-upload.cjs.js +0 -0
- /package/{components → react/components}/Footer/footer.cjs.js +0 -0
- /package/{components → react/components}/Footer/footer.cjs.js.map +0 -0
- /package/{components → react/components}/Footer/sgds-footer.cjs.js +0 -0
- /package/{components → react/components}/Input/input.cjs.js +0 -0
- /package/{components → react/components}/Input/input.cjs.js.map +0 -0
- /package/{components → react/components}/Mainnav/mainnav-dropdown.cjs.js +0 -0
- /package/{components → react/components}/Mainnav/mainnav-dropdown.cjs.js.map +0 -0
- /package/{components → react/components}/Mainnav/mainnav-item.cjs.js +0 -0
- /package/{components → react/components}/Mainnav/mainnav-item.cjs.js.map +0 -0
- /package/{components → react/components}/Mainnav/mainnav.cjs.js +0 -0
- /package/{components → react/components}/Mainnav/mainnav.cjs.js.map +0 -0
- /package/{components → react/components}/Mainnav/sgds-mainnav-dropdown.cjs.js +0 -0
- /package/{components → react/components}/Mainnav/sgds-mainnav-item.cjs.js +0 -0
- /package/{components → react/components}/Mainnav/sgds-mainnav.cjs.js +0 -0
- /package/{components → react/components}/Masthead/masthead.cjs.js +0 -0
- /package/{components → react/components}/Masthead/masthead.cjs.js.map +0 -0
- /package/{components → react/components}/Masthead/sgds-masthead.cjs.js +0 -0
- /package/{components → react/components}/Modal/modal.cjs.js +0 -0
- /package/{components → react/components}/Modal/modal.cjs.js.map +0 -0
- /package/{components → react/components}/Modal/sgds-modal.cjs.js +0 -0
- /package/{components → react/components}/Pagination/pagination.cjs.js +0 -0
- /package/{components → react/components}/Pagination/pagination.cjs.js.map +0 -0
- /package/{components → react/components}/Pagination/sgds-pagination.cjs.js +0 -0
- /package/{components → react/components}/Progress/progress-bar.cjs.js +0 -0
- /package/{components → react/components}/Progress/progress-bar.cjs.js.map +0 -0
- /package/{components → react/components}/Progress/progress.cjs.js +0 -0
- /package/{components → react/components}/Progress/progress.cjs.js.map +0 -0
- /package/{components → react/components}/Progress/sgds-progress-bar.cjs.js +0 -0
- /package/{components → react/components}/Progress/sgds-progress.cjs.js +0 -0
- /package/{components → react/components}/QuantityToggle/quantity-toggle.cjs.js +0 -0
- /package/{components → react/components}/QuantityToggle/quantity-toggle.cjs.js.map +0 -0
- /package/{components → react/components}/QuantityToggle/sgds-quantity-toggle.cjs.js +0 -0
- /package/{components → react/components}/Radio/radio-group.cjs.js +0 -0
- /package/{components → react/components}/Radio/radio-group.cjs.js.map +0 -0
- /package/{components → react/components}/Radio/radio.cjs.js.map +0 -0
- /package/{components → react/components}/Radio/sgds-radio.cjs.js +0 -0
- /package/{components → react/components}/Sidenav/sgds-sidenav-item.cjs.js +0 -0
- /package/{components → react/components}/Sidenav/sgds-sidenav-link.cjs.js +0 -0
- /package/{components → react/components}/Sidenav/sgds-sidenav.cjs.js +0 -0
- /package/{components → react/components}/Sidenav/sidenav-item.cjs.js +0 -0
- /package/{components → react/components}/Sidenav/sidenav-item.cjs.js.map +0 -0
- /package/{components → react/components}/Sidenav/sidenav-link.cjs.js +0 -0
- /package/{components → react/components}/Sidenav/sidenav-link.cjs.js.map +0 -0
- /package/{components → react/components}/Sidenav/sidenav.cjs.js +0 -0
- /package/{components → react/components}/Sidenav/sidenav.cjs.js.map +0 -0
- /package/{components → react/components}/Spinner/sgds-spinner.cjs.js +0 -0
- /package/{components → react/components}/Spinner/spinner.cjs.js +0 -0
- /package/{components → react/components}/Spinner/spinner.cjs.js.map +0 -0
- /package/{components → react/components}/Stepper/sgds-stepper.cjs.js +0 -0
- /package/{components → react/components}/Stepper/stepper.cjs.js +0 -0
- /package/{components → react/components}/Stepper/stepper.cjs.js.map +0 -0
- /package/{components → react/components}/Tab/sgds-tab-group.cjs.js +0 -0
- /package/{components → react/components}/Tab/sgds-tab-panel.cjs.js +0 -0
- /package/{components → react/components}/Tab/sgds-tab.cjs.js +0 -0
- /package/{components → react/components}/Tab/tab-group.cjs.js +0 -0
- /package/{components → react/components}/Tab/tab-group.cjs.js.map +0 -0
- /package/{components → react/components}/Tab/tab-panel.cjs.js +0 -0
- /package/{components → react/components}/Tab/tab-panel.cjs.js.map +0 -0
- /package/{components → react/components}/Tab/tab.cjs.js +0 -0
- /package/{components → react/components}/Tab/tab.cjs.js.map +0 -0
- /package/{components → react/components}/Table/sgds-table.cjs.js +0 -0
- /package/{components → react/components}/Table/table.cjs.js +0 -0
- /package/{components → react/components}/Table/table.cjs.js.map +0 -0
- /package/{components → react/components}/Textarea/textarea.cjs.js +0 -0
- /package/{components → react/components}/Textarea/textarea.cjs.js.map +0 -0
- /package/{components → react/components}/Toast/sgds-toast-container.cjs.js +0 -0
- /package/{components → react/components}/Toast/sgds-toast.cjs.js +0 -0
- /package/{components → react/components}/Toast/toast-container.cjs.js +0 -0
- /package/{components → react/components}/Toast/toast-container.cjs.js.map +0 -0
- /package/{components → react/components}/Toast/toast.cjs.js +0 -0
- /package/{components → react/components}/Toast/toast.cjs.js.map +0 -0
- /package/{components → react/components}/Tooltip/sgds-tooltip.cjs.js +0 -0
- /package/{components → react/components}/Tooltip/tooltip.cjs.js +0 -0
- /package/{components → react/components}/Tooltip/tooltip.cjs.js.map +0 -0
- /package/{internals → react/internals}/CloseButton/close-button.cjs.js +0 -0
- /package/{internals → react/internals}/CloseButton/close-button.cjs.js.map +0 -0
- /package/{internals → react/internals}/CloseButton/sgds-close-button.cjs.js +0 -0
- /package/{styles → react/styles}/anchor.cjs.js +0 -0
- /package/{styles → react/styles}/anchor.cjs.js.map +0 -0
- /package/{styles → react/styles}/bg-variants.cjs.js +0 -0
- /package/{styles → react/styles}/bg-variants.cjs.js.map +0 -0
- /package/{styles → react/styles}/border-variants.cjs.js +0 -0
- /package/{styles → react/styles}/border-variants.cjs.js.map +0 -0
- /package/{styles → react/styles}/feedback.cjs.js.map +0 -0
- /package/{styles → react/styles}/form-hint.cjs.js +0 -0
- /package/{styles → react/styles}/form-hint.cjs.js.map +0 -0
- /package/{styles → react/styles}/form-label.cjs.js +0 -0
- /package/{styles → react/styles}/form-label.cjs.js.map +0 -0
- /package/{styles → react/styles}/header-class.cjs.js +0 -0
- /package/{styles → react/styles}/header-class.cjs.js.map +0 -0
- /package/{styles → react/styles}/paragraph.cjs.js +0 -0
- /package/{styles → react/styles}/paragraph.cjs.js.map +0 -0
- /package/{styles → react/styles}/svg.cjs.js +0 -0
- /package/{styles → react/styles}/svg.cjs.js.map +0 -0
- /package/{styles → react/styles}/text-variants.cjs.js +0 -0
- /package/{styles → react/styles}/text-variants.cjs.js.map +0 -0
- /package/{utils → react/utils}/animate.cjs.js +0 -0
- /package/{utils → react/utils}/animation-registry.cjs.js +0 -0
- /package/{utils → react/utils}/breakpoints.cjs.js +0 -0
- /package/{utils → react/utils}/defaultvalue.cjs.js +0 -0
- /package/{utils → react/utils}/event.cjs.js +0 -0
- /package/{utils → react/utils}/form.cjs.js +0 -0
- /package/{utils → react/utils}/generateId.cjs.js +0 -0
- /package/{utils → react/utils}/mergeDeep.cjs.js +0 -0
- /package/{utils → react/utils}/modal.cjs.js +0 -0
- /package/{utils → react/utils}/object.cjs.js +0 -0
- /package/{utils → react/utils}/scroll.cjs.js +0 -0
- /package/{utils → react/utils}/slot.cjs.js +0 -0
- /package/{utils → react/utils}/tabbable.cjs.js +0 -0
- /package/{utils → react/utils}/time.cjs.js +0 -0
- /package/{utils → react/utils}/watch.cjs.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sgds-dropdown.cjs.js","sources":["../../../../src/components/Dropdown/sgds-dropdown.ts"],"sourcesContent":["import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { html } from \"lit\";\nimport { property, queryAsync } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { DropdownListElement } from \"../../base/dropdown-list-element\";\nimport genId from \"../../utils/generateId\";\nimport { SgdsButton } from \"../Button/sgds-button\";\nimport dropdownStyle from \"./dropdown.css\";\nexport type DropDirection = \"left\" | \"right\" | \"up\" | \"down\";\nexport type DropdownButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\";\n\n/**\n * @summary `SgdsDropdown` toggles contextual overlays for displaying lists of links.\n * @slot default - slot for sgds-dropdown-item passed into dropdown's menu\n *\n * @csspart menu - The dropdown's menu (ul element)\n *\n */\nexport class SgdsDropdown extends ScopedElementsMixin(DropdownListElement) {\n static styles = [...DropdownListElement.styles, dropdownStyle];\n /**@internal */\n static get scopedElements() {\n return {\n \"sgds-button\": SgdsButton\n };\n }\n constructor() {\n super();\n /**@internal */\n this.modifierOpt = [\n {\n name: \"offset\",\n options: {\n offset: [0, 10]\n }\n }\n ];\n }\n @property({ type: String })\n /** Forwards value to id attribute of toggle button of Dropdown. An unique id generated by default */\n togglerId: string = genId(\"dropdown\", \"button\");\n\n /** Sets the text content of Dropdown button */\n @property({ type: String })\n togglerText = \"\";\n\n /** Controls auto-flipping of menu */\n @property({ type: Boolean, reflect: true, state: false })\n noFlip = false;\n\n /** When true, aligns right edge of menu with right edge of button */\n @property({ type: Boolean, reflect: true, state: false })\n menuAlignRight = false;\n\n /** The drop position of menu relative to the toggle button */\n @property({ type: String, reflect: true, state: false })\n drop: DropDirection = \"down\";\n\n /** Sets color of Dropdown button */\n @property({ type: String, reflect: true })\n variant: DropdownButtonVariant = \"secondary\";\n\n /**@internal */\n @queryAsync(\"sgds-button\")\n private dropdownRef: Promise<SgdsButton>;\n\n async firstUpdated() {\n super.firstUpdated();\n if (this.menuIsOpen) {\n await this.dropdownRef;\n this.showMenu();\n }\n }\n render() {\n return html`\n <div>\n <sgds-button\n outlined\n role=\"button\"\n variant=${this.variant}\n ?disabled=${this.disabled}\n aria-expanded=\"${this.menuIsOpen}\"\n aria-haspopup=\"menu\"\n ${ref(this.myDropdown)}\n @click=${() => this.toggleMenu()}\n id=${this.togglerId}\n >\n ${this.togglerText}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-down\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </sgds-button>\n <div class=\"dropdown-menu\" role=\"menu\" part=\"menu\">\n <slot id=\"default\" @click=${this.handleSelectSlot}></slot>\n </div>\n </div>\n `;\n }\n}\n\nexport default SgdsDropdown;\n"],"names":["ScopedElementsMixin","DropdownListElement","SgdsButton","genId","html","ref","dropdownStyle","__decorate","property","queryAsync"],"mappings":"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"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { __decorate } from 'tslib';
|
|
3
|
+
import { ScopedElementsMixin } from '@open-wc/scoped-elements';
|
|
4
|
+
import { html } from 'lit';
|
|
5
|
+
import { property, queryAsync } from 'lit/decorators.js';
|
|
6
|
+
import { ref } from 'lit/directives/ref.js';
|
|
7
|
+
import { DropdownListElement } from '../../base/dropdown-list-element.js';
|
|
8
|
+
import genId from '../../utils/generateId.js';
|
|
9
|
+
import { SgdsButton } from '../Button/sgds-button.js';
|
|
10
|
+
import css_248z from './dropdown.js';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @summary `SgdsDropdown` toggles contextual overlays for displaying lists of links.
|
|
14
|
+
* @slot default - slot for sgds-dropdown-item passed into dropdown's menu
|
|
15
|
+
*
|
|
16
|
+
* @csspart menu - The dropdown's menu (ul element)
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
class SgdsDropdown extends ScopedElementsMixin(DropdownListElement) {
|
|
20
|
+
/**@internal */
|
|
21
|
+
static get scopedElements() {
|
|
22
|
+
return {
|
|
23
|
+
"sgds-button": SgdsButton
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
constructor() {
|
|
27
|
+
super();
|
|
28
|
+
this.togglerId = genId("dropdown", "button");
|
|
29
|
+
/** Sets the text content of Dropdown button */
|
|
30
|
+
this.togglerText = "";
|
|
31
|
+
/** Controls auto-flipping of menu */
|
|
32
|
+
this.noFlip = false;
|
|
33
|
+
/** When true, aligns right edge of menu with right edge of button */
|
|
34
|
+
this.menuAlignRight = false;
|
|
35
|
+
/** The drop position of menu relative to the toggle button */
|
|
36
|
+
this.drop = "down";
|
|
37
|
+
/** Sets color of Dropdown button */
|
|
38
|
+
this.variant = "secondary";
|
|
39
|
+
/**@internal */
|
|
40
|
+
this.modifierOpt = [
|
|
41
|
+
{
|
|
42
|
+
name: "offset",
|
|
43
|
+
options: {
|
|
44
|
+
offset: [0, 10]
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
];
|
|
48
|
+
}
|
|
49
|
+
async firstUpdated() {
|
|
50
|
+
super.firstUpdated();
|
|
51
|
+
if (this.menuIsOpen) {
|
|
52
|
+
await this.dropdownRef;
|
|
53
|
+
this.showMenu();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
render() {
|
|
57
|
+
return html `
|
|
58
|
+
<div>
|
|
59
|
+
<sgds-button
|
|
60
|
+
outlined
|
|
61
|
+
role="button"
|
|
62
|
+
variant=${this.variant}
|
|
63
|
+
?disabled=${this.disabled}
|
|
64
|
+
aria-expanded="${this.menuIsOpen}"
|
|
65
|
+
aria-haspopup="menu"
|
|
66
|
+
${ref(this.myDropdown)}
|
|
67
|
+
@click=${() => this.toggleMenu()}
|
|
68
|
+
id=${this.togglerId}
|
|
69
|
+
>
|
|
70
|
+
${this.togglerText}
|
|
71
|
+
<svg
|
|
72
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
73
|
+
width="16"
|
|
74
|
+
height="16"
|
|
75
|
+
fill="currentColor"
|
|
76
|
+
class="bi bi-chevron-down"
|
|
77
|
+
viewBox="0 0 16 16"
|
|
78
|
+
>
|
|
79
|
+
<path
|
|
80
|
+
fill-rule="evenodd"
|
|
81
|
+
d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"
|
|
82
|
+
/>
|
|
83
|
+
</svg>
|
|
84
|
+
</sgds-button>
|
|
85
|
+
<div class="dropdown-menu" role="menu" part="menu">
|
|
86
|
+
<slot id="default" @click=${this.handleSelectSlot}></slot>
|
|
87
|
+
</div>
|
|
88
|
+
</div>
|
|
89
|
+
`;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
SgdsDropdown.styles = [...DropdownListElement.styles, css_248z];
|
|
93
|
+
__decorate([
|
|
94
|
+
property({ type: String })
|
|
95
|
+
/** Forwards value to id attribute of toggle button of Dropdown. An unique id generated by default */
|
|
96
|
+
], SgdsDropdown.prototype, "togglerId", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
property({ type: String })
|
|
99
|
+
], SgdsDropdown.prototype, "togglerText", void 0);
|
|
100
|
+
__decorate([
|
|
101
|
+
property({ type: Boolean, reflect: true, state: false })
|
|
102
|
+
], SgdsDropdown.prototype, "noFlip", void 0);
|
|
103
|
+
__decorate([
|
|
104
|
+
property({ type: Boolean, reflect: true, state: false })
|
|
105
|
+
], SgdsDropdown.prototype, "menuAlignRight", void 0);
|
|
106
|
+
__decorate([
|
|
107
|
+
property({ type: String, reflect: true, state: false })
|
|
108
|
+
], SgdsDropdown.prototype, "drop", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
property({ type: String, reflect: true })
|
|
111
|
+
], SgdsDropdown.prototype, "variant", void 0);
|
|
112
|
+
__decorate([
|
|
113
|
+
queryAsync("sgds-button")
|
|
114
|
+
], SgdsDropdown.prototype, "dropdownRef", void 0);
|
|
115
|
+
|
|
116
|
+
export { SgdsDropdown, SgdsDropdown as default };
|
|
117
|
+
//# sourceMappingURL=sgds-dropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sgds-dropdown.js","sources":["../../../../src/components/Dropdown/sgds-dropdown.ts"],"sourcesContent":["import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { html } from \"lit\";\nimport { property, queryAsync } from \"lit/decorators.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { DropdownListElement } from \"../../base/dropdown-list-element\";\nimport genId from \"../../utils/generateId\";\nimport { SgdsButton } from \"../Button/sgds-button\";\nimport dropdownStyle from \"./dropdown.css\";\nexport type DropDirection = \"left\" | \"right\" | \"up\" | \"down\";\nexport type DropdownButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\";\n\n/**\n * @summary `SgdsDropdown` toggles contextual overlays for displaying lists of links.\n * @slot default - slot for sgds-dropdown-item passed into dropdown's menu\n *\n * @csspart menu - The dropdown's menu (ul element)\n *\n */\nexport class SgdsDropdown extends ScopedElementsMixin(DropdownListElement) {\n static styles = [...DropdownListElement.styles, dropdownStyle];\n /**@internal */\n static get scopedElements() {\n return {\n \"sgds-button\": SgdsButton\n };\n }\n constructor() {\n super();\n /**@internal */\n this.modifierOpt = [\n {\n name: \"offset\",\n options: {\n offset: [0, 10]\n }\n }\n ];\n }\n @property({ type: String })\n /** Forwards value to id attribute of toggle button of Dropdown. An unique id generated by default */\n togglerId: string = genId(\"dropdown\", \"button\");\n\n /** Sets the text content of Dropdown button */\n @property({ type: String })\n togglerText = \"\";\n\n /** Controls auto-flipping of menu */\n @property({ type: Boolean, reflect: true, state: false })\n noFlip = false;\n\n /** When true, aligns right edge of menu with right edge of button */\n @property({ type: Boolean, reflect: true, state: false })\n menuAlignRight = false;\n\n /** The drop position of menu relative to the toggle button */\n @property({ type: String, reflect: true, state: false })\n drop: DropDirection = \"down\";\n\n /** Sets color of Dropdown button */\n @property({ type: String, reflect: true })\n variant: DropdownButtonVariant = \"secondary\";\n\n /**@internal */\n @queryAsync(\"sgds-button\")\n private dropdownRef: Promise<SgdsButton>;\n\n async firstUpdated() {\n super.firstUpdated();\n if (this.menuIsOpen) {\n await this.dropdownRef;\n this.showMenu();\n }\n }\n render() {\n return html`\n <div>\n <sgds-button\n outlined\n role=\"button\"\n variant=${this.variant}\n ?disabled=${this.disabled}\n aria-expanded=\"${this.menuIsOpen}\"\n aria-haspopup=\"menu\"\n ${ref(this.myDropdown)}\n @click=${() => this.toggleMenu()}\n id=${this.togglerId}\n >\n ${this.togglerText}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-down\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </sgds-button>\n <div class=\"dropdown-menu\" role=\"menu\" part=\"menu\">\n <slot id=\"default\" @click=${this.handleSelectSlot}></slot>\n </div>\n </div>\n `;\n }\n}\n\nexport default SgdsDropdown;\n"],"names":["dropdownStyle"],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { css } from 'lit';
|
|
3
|
+
|
|
4
|
+
var css_248z = css`:host{--file-upload-left-icon-color:var(--sgds-success);--file-upload-remove-icon-color:var(--sgds-body-color);--file-upload-remove-icon-hover-color: }.fileupload-list-item{display:flex;gap:var(--sgds-spacer-2)}.fileupload-list-item span:not(:first-of-type){cursor:pointer}.fileupload-list-item span:first-of-type svg{color:var(--file-upload-left-icon-color)}.fileupload-list-item span:last-of-type svg{color:var(--file-upload-remove-icon-color)}.fileupload-list-item span:last-of-type svg:hover{color:var(--file-upload-remove-icon-hover-color)}.file-upload-label{align-items:center;display:flex;gap:var(--sgds-spacer-2)}ul{margin:0;padding:0}.sgds.fileupload-list{display:flex;flex-direction:column;gap:var(--sgds-spacer-3);list-style-type:none}.sgds.fileupload-list .fileupload-list-item .filename{color:var(--sgds-link);text-decoration:underline;text-underline-offset:.25rem}input{display:none}label,sgds-button{cursor:pointer}.fileupload-container{display:flex;flex-direction:column;gap:var(--sgds-spacer-3)}`;
|
|
5
|
+
|
|
6
|
+
export { css_248z as default };
|
|
7
|
+
//# sourceMappingURL=file-upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-upload.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sgds-file-upload.cjs.js","sources":["../../../../src/components/FileUpload/sgds-file-upload.ts"],"sourcesContent":["import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { createRef, ref } from \"lit/directives/ref.js\";\nimport { unsafeSVG } from \"lit/directives/unsafe-svg.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { SgdsButton, type ButtonVariant } from \"../Button/sgds-button\";\nimport fileUploadStyle from \"./file-upload.css\";\nimport genId from \"../../utils/generateId\";\nimport svgStyles from \"../../styles/svg.css\";\nimport formHintStyles from \"../../styles/form-hint.css\";\nexport type FileUploadButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\"\n | \"link\"\n | \"outline-primary\"\n | \"outline-secondary\"\n | \"outline-success\"\n | \"outline-danger\"\n | \"outline-warning\"\n | \"outline-info\"\n | \"outline-light\"\n | \"outline-dark\";\n\n/**\n * @summary Allows users to upload files of various sizes and formats\n * @slot default - Label for file upload button\n *\n * @event sgds-files-selected - Emitted when files are selected for uploading\n *\n * @cssproperty --file-upload-file-icon-color - Left icon color\n * @cssproperty --file-upload-remove-icon-color - Remove icon color\n * @cssproperty --file-upload-remove-icon-hover-color - Remove icon hover color\n */\n\nexport class SgdsFileUpload extends ScopedElementsMixin(SgdsElement) {\n static styles = [...SgdsElement.styles, svgStyles, formHintStyles, fileUploadStyle];\n /**@internal */\n static get scopedElements() {\n return {\n \"sgds-button\": SgdsButton\n };\n }\n /** The button's variant. */\n @property({ reflect: true }) variant: FileUploadButtonVariant = \"primary\";\n\n //** Disable the fileuploader button */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** Allows multiple files to be listed for uploading */\n @property({ type: Boolean, reflect: true })\n multiple = false;\n\n /** Specify the acceptable file type */\n @property({ type: String, reflect: true })\n accept = \"\";\n\n /** Specifies a large or small button */\n @property({ reflect: true }) size: \"sm\" | \"lg\";\n\n /** Customize the check icon with SVG */\n @property({ type: String })\n checkedIcon = \"\";\n\n /** Customize the cancel icon with SVG */\n @property({ type: String })\n cancelIcon = \"\";\n\n /** The input's hint text below the label */\n @property({ reflect: true }) hintText = \"\";\n\n /** @internal */\n @property({ type: Object, state: true })\n private files: FileList | undefined;\n\n /** @internal */\n @property({ type: Array })\n private selectedFiles: File[] = [];\n\n private _setFileList(files: FileList) {\n this.files = files;\n this.emit(\"sgds-files-selected\");\n //Possible to pass in the files\n }\n\n // Create a ref to the input element\n /** @internal */\n private inputRef = createRef<HTMLInputElement>();\n\n /** @internal */\n private handleClick(event: Event) {\n event.preventDefault();\n if (!this.disabled) {\n // Get a reference to the input element using the inputRef\n const inputElement = this.inputRef.value;\n // Do something with the input element\n inputElement.click();\n }\n }\n\n /** @internal */\n private handleInputChange(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n const files = inputElement.files as FileList;\n\n if (files.length > 0) {\n this.selectedFiles = Array.from(files);\n }\n // Trigger a re-render of the component to update the list of selected files\n this._setFileList(files);\n this.requestUpdate();\n }\n\n private _removeFileHandler(index: number) {\n const inputElement = this.inputRef.value;\n const attachments = inputElement.files;\n\n const fileBuffer = new DataTransfer();\n for (let i = 0; i < attachments.length; i++) {\n if (index !== i) fileBuffer.items.add(attachments[i]);\n }\n\n // Assign buffer to file input\n inputElement.files = fileBuffer.files;\n // Re-populate selected files to the lists\n this._setFileList(fileBuffer.files);\n this.selectedFiles = Array.from(fileBuffer.files);\n\n // Trigger a re-render of the component to update the list of selected files\n this.requestUpdate();\n }\n\n /**@internal */\n protected inputId: string = genId(\"input\", \"file\");\n\n protected _renderHintText() {\n const hintTextTemplate = html` <small id=\"${this.inputId}Help\" class=\"form-text\">${this.hintText}</small> `;\n return this.hintText && hintTextTemplate;\n }\n\n private _sanitizeVariant(variant: FileUploadButtonVariant) {\n return variant.replace(\"outline-\", \"\") as ButtonVariant;\n }\n render() {\n const getCheckedIcon = (checkedIcon: string) => {\n if (checkedIcon) {\n return html`${unsafeSVG(checkedIcon)}`;\n }\n return html` <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-check-lg\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z\"\n />\n </svg>`;\n };\n\n const getCancelIcon = (cancelIcon: string) => {\n if (cancelIcon) {\n return html`${unsafeSVG(cancelIcon)}`;\n }\n return html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-x-circle\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\" />\n <path\n d=\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>`;\n };\n\n const listItems = this.selectedFiles.map(\n (file, index) => html`\n <li key=${index} class=\"fileupload-list-item\">\n <span>${getCheckedIcon(this.checkedIcon)}</span>\n <span class=\"filename\">${file.name}</span>\n <span @click=${() => this._removeFileHandler(index)}>${getCancelIcon(this.cancelIcon)}</span>\n </li>\n `\n );\n\n return html`\n <input\n ${ref(this.inputRef)}\n type=\"file\"\n @change=${this.handleInputChange}\n ?multiple=${this.multiple}\n accept=${this.accept}\n id=${this.inputId}\n />\n <div class=\"fileupload-container\">\n <sgds-button\n size=${this.size}\n variant=${this._sanitizeVariant(this.variant)}\n ?outlined=${this.variant.includes(\"outline\")}\n ?disabled=${this.disabled}\n @click=${this.handleClick}\n >\n <label for=${this.inputId} class=\"file-upload-label\"><slot></slot></label>\n </sgds-button>\n ${this._renderHintText()}\n <ul class=\"sgds fileupload-list\">\n ${listItems}\n </ul>\n </div>\n `;\n }\n}\n\nexport default SgdsFileUpload;\n"],"names":["ScopedElementsMixin","SgdsElement","createRef","genId","SgdsButton","html","unsafeSVG","ref","svgStyles","formHintStyles","fileUploadStyle","__decorate","property"],"mappings":"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"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { __decorate } from 'tslib';
|
|
3
|
+
import { ScopedElementsMixin } from '@open-wc/scoped-elements';
|
|
4
|
+
import { html } from 'lit';
|
|
5
|
+
import { property } from 'lit/decorators.js';
|
|
6
|
+
import { createRef, ref } from 'lit/directives/ref.js';
|
|
7
|
+
import { unsafeSVG } from 'lit/directives/unsafe-svg.js';
|
|
8
|
+
import SgdsElement from '../../base/sgds-element.js';
|
|
9
|
+
import { SgdsButton } from '../Button/sgds-button.js';
|
|
10
|
+
import css_248z$2 from './file-upload.js';
|
|
11
|
+
import genId from '../../utils/generateId.js';
|
|
12
|
+
import css_248z from '../../styles/svg.js';
|
|
13
|
+
import css_248z$1 from '../../styles/form-hint.js';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @summary Allows users to upload files of various sizes and formats
|
|
17
|
+
* @slot default - Label for file upload button
|
|
18
|
+
*
|
|
19
|
+
* @event sgds-files-selected - Emitted when files are selected for uploading
|
|
20
|
+
*
|
|
21
|
+
* @cssproperty --file-upload-file-icon-color - Left icon color
|
|
22
|
+
* @cssproperty --file-upload-remove-icon-color - Remove icon color
|
|
23
|
+
* @cssproperty --file-upload-remove-icon-hover-color - Remove icon hover color
|
|
24
|
+
*/
|
|
25
|
+
class SgdsFileUpload extends ScopedElementsMixin(SgdsElement) {
|
|
26
|
+
constructor() {
|
|
27
|
+
super(...arguments);
|
|
28
|
+
/** The button's variant. */
|
|
29
|
+
this.variant = "primary";
|
|
30
|
+
//** Disable the fileuploader button */
|
|
31
|
+
this.disabled = false;
|
|
32
|
+
/** Allows multiple files to be listed for uploading */
|
|
33
|
+
this.multiple = false;
|
|
34
|
+
/** Specify the acceptable file type */
|
|
35
|
+
this.accept = "";
|
|
36
|
+
/** Customize the check icon with SVG */
|
|
37
|
+
this.checkedIcon = "";
|
|
38
|
+
/** Customize the cancel icon with SVG */
|
|
39
|
+
this.cancelIcon = "";
|
|
40
|
+
/** The input's hint text below the label */
|
|
41
|
+
this.hintText = "";
|
|
42
|
+
/** @internal */
|
|
43
|
+
this.selectedFiles = [];
|
|
44
|
+
// Create a ref to the input element
|
|
45
|
+
/** @internal */
|
|
46
|
+
this.inputRef = createRef();
|
|
47
|
+
/**@internal */
|
|
48
|
+
this.inputId = genId("input", "file");
|
|
49
|
+
}
|
|
50
|
+
/**@internal */
|
|
51
|
+
static get scopedElements() {
|
|
52
|
+
return {
|
|
53
|
+
"sgds-button": SgdsButton
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
_setFileList(files) {
|
|
57
|
+
this.files = files;
|
|
58
|
+
this.emit("sgds-files-selected");
|
|
59
|
+
//Possible to pass in the files
|
|
60
|
+
}
|
|
61
|
+
/** @internal */
|
|
62
|
+
handleClick(event) {
|
|
63
|
+
event.preventDefault();
|
|
64
|
+
if (!this.disabled) {
|
|
65
|
+
// Get a reference to the input element using the inputRef
|
|
66
|
+
const inputElement = this.inputRef.value;
|
|
67
|
+
// Do something with the input element
|
|
68
|
+
inputElement.click();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/** @internal */
|
|
72
|
+
handleInputChange(event) {
|
|
73
|
+
const inputElement = event.target;
|
|
74
|
+
const files = inputElement.files;
|
|
75
|
+
if (files.length > 0) {
|
|
76
|
+
this.selectedFiles = Array.from(files);
|
|
77
|
+
}
|
|
78
|
+
// Trigger a re-render of the component to update the list of selected files
|
|
79
|
+
this._setFileList(files);
|
|
80
|
+
this.requestUpdate();
|
|
81
|
+
}
|
|
82
|
+
_removeFileHandler(index) {
|
|
83
|
+
const inputElement = this.inputRef.value;
|
|
84
|
+
const attachments = inputElement.files;
|
|
85
|
+
const fileBuffer = new DataTransfer();
|
|
86
|
+
for (let i = 0; i < attachments.length; i++) {
|
|
87
|
+
if (index !== i)
|
|
88
|
+
fileBuffer.items.add(attachments[i]);
|
|
89
|
+
}
|
|
90
|
+
// Assign buffer to file input
|
|
91
|
+
inputElement.files = fileBuffer.files;
|
|
92
|
+
// Re-populate selected files to the lists
|
|
93
|
+
this._setFileList(fileBuffer.files);
|
|
94
|
+
this.selectedFiles = Array.from(fileBuffer.files);
|
|
95
|
+
// Trigger a re-render of the component to update the list of selected files
|
|
96
|
+
this.requestUpdate();
|
|
97
|
+
}
|
|
98
|
+
_renderHintText() {
|
|
99
|
+
const hintTextTemplate = html ` <small id="${this.inputId}Help" class="form-text">${this.hintText}</small> `;
|
|
100
|
+
return this.hintText && hintTextTemplate;
|
|
101
|
+
}
|
|
102
|
+
_sanitizeVariant(variant) {
|
|
103
|
+
return variant.replace("outline-", "");
|
|
104
|
+
}
|
|
105
|
+
render() {
|
|
106
|
+
const getCheckedIcon = (checkedIcon) => {
|
|
107
|
+
if (checkedIcon) {
|
|
108
|
+
return html `${unsafeSVG(checkedIcon)}`;
|
|
109
|
+
}
|
|
110
|
+
return html ` <svg
|
|
111
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
112
|
+
width="16"
|
|
113
|
+
height="16"
|
|
114
|
+
fill="currentColor"
|
|
115
|
+
class="bi bi-check-lg"
|
|
116
|
+
viewBox="0 0 16 16"
|
|
117
|
+
>
|
|
118
|
+
<path
|
|
119
|
+
d="M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z"
|
|
120
|
+
/>
|
|
121
|
+
</svg>`;
|
|
122
|
+
};
|
|
123
|
+
const getCancelIcon = (cancelIcon) => {
|
|
124
|
+
if (cancelIcon) {
|
|
125
|
+
return html `${unsafeSVG(cancelIcon)}`;
|
|
126
|
+
}
|
|
127
|
+
return html `<svg
|
|
128
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
129
|
+
width="16"
|
|
130
|
+
height="16"
|
|
131
|
+
fill="currentColor"
|
|
132
|
+
class="bi bi-x-circle"
|
|
133
|
+
viewBox="0 0 16 16"
|
|
134
|
+
>
|
|
135
|
+
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z" />
|
|
136
|
+
<path
|
|
137
|
+
d="M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"
|
|
138
|
+
/>
|
|
139
|
+
</svg>`;
|
|
140
|
+
};
|
|
141
|
+
const listItems = this.selectedFiles.map((file, index) => html `
|
|
142
|
+
<li key=${index} class="fileupload-list-item">
|
|
143
|
+
<span>${getCheckedIcon(this.checkedIcon)}</span>
|
|
144
|
+
<span class="filename">${file.name}</span>
|
|
145
|
+
<span @click=${() => this._removeFileHandler(index)}>${getCancelIcon(this.cancelIcon)}</span>
|
|
146
|
+
</li>
|
|
147
|
+
`);
|
|
148
|
+
return html `
|
|
149
|
+
<input
|
|
150
|
+
${ref(this.inputRef)}
|
|
151
|
+
type="file"
|
|
152
|
+
@change=${this.handleInputChange}
|
|
153
|
+
?multiple=${this.multiple}
|
|
154
|
+
accept=${this.accept}
|
|
155
|
+
id=${this.inputId}
|
|
156
|
+
/>
|
|
157
|
+
<div class="fileupload-container">
|
|
158
|
+
<sgds-button
|
|
159
|
+
size=${this.size}
|
|
160
|
+
variant=${this._sanitizeVariant(this.variant)}
|
|
161
|
+
?outlined=${this.variant.includes("outline")}
|
|
162
|
+
?disabled=${this.disabled}
|
|
163
|
+
@click=${this.handleClick}
|
|
164
|
+
>
|
|
165
|
+
<label for=${this.inputId} class="file-upload-label"><slot></slot></label>
|
|
166
|
+
</sgds-button>
|
|
167
|
+
${this._renderHintText()}
|
|
168
|
+
<ul class="sgds fileupload-list">
|
|
169
|
+
${listItems}
|
|
170
|
+
</ul>
|
|
171
|
+
</div>
|
|
172
|
+
`;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
SgdsFileUpload.styles = [...SgdsElement.styles, css_248z, css_248z$1, css_248z$2];
|
|
176
|
+
__decorate([
|
|
177
|
+
property({ reflect: true })
|
|
178
|
+
], SgdsFileUpload.prototype, "variant", void 0);
|
|
179
|
+
__decorate([
|
|
180
|
+
property({ type: Boolean, reflect: true })
|
|
181
|
+
], SgdsFileUpload.prototype, "disabled", void 0);
|
|
182
|
+
__decorate([
|
|
183
|
+
property({ type: Boolean, reflect: true })
|
|
184
|
+
], SgdsFileUpload.prototype, "multiple", void 0);
|
|
185
|
+
__decorate([
|
|
186
|
+
property({ type: String, reflect: true })
|
|
187
|
+
], SgdsFileUpload.prototype, "accept", void 0);
|
|
188
|
+
__decorate([
|
|
189
|
+
property({ reflect: true })
|
|
190
|
+
], SgdsFileUpload.prototype, "size", void 0);
|
|
191
|
+
__decorate([
|
|
192
|
+
property({ type: String })
|
|
193
|
+
], SgdsFileUpload.prototype, "checkedIcon", void 0);
|
|
194
|
+
__decorate([
|
|
195
|
+
property({ type: String })
|
|
196
|
+
], SgdsFileUpload.prototype, "cancelIcon", void 0);
|
|
197
|
+
__decorate([
|
|
198
|
+
property({ reflect: true })
|
|
199
|
+
], SgdsFileUpload.prototype, "hintText", void 0);
|
|
200
|
+
__decorate([
|
|
201
|
+
property({ type: Object, state: true })
|
|
202
|
+
], SgdsFileUpload.prototype, "files", void 0);
|
|
203
|
+
__decorate([
|
|
204
|
+
property({ type: Array })
|
|
205
|
+
], SgdsFileUpload.prototype, "selectedFiles", void 0);
|
|
206
|
+
|
|
207
|
+
export { SgdsFileUpload, SgdsFileUpload as default };
|
|
208
|
+
//# sourceMappingURL=sgds-file-upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sgds-file-upload.js","sources":["../../../../src/components/FileUpload/sgds-file-upload.ts"],"sourcesContent":["import { ScopedElementsMixin } from \"@open-wc/scoped-elements\";\nimport { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport { createRef, ref } from \"lit/directives/ref.js\";\nimport { unsafeSVG } from \"lit/directives/unsafe-svg.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { SgdsButton, type ButtonVariant } from \"../Button/sgds-button\";\nimport fileUploadStyle from \"./file-upload.css\";\nimport genId from \"../../utils/generateId\";\nimport svgStyles from \"../../styles/svg.css\";\nimport formHintStyles from \"../../styles/form-hint.css\";\nexport type FileUploadButtonVariant =\n | \"primary\"\n | \"secondary\"\n | \"success\"\n | \"danger\"\n | \"warning\"\n | \"info\"\n | \"light\"\n | \"dark\"\n | \"link\"\n | \"outline-primary\"\n | \"outline-secondary\"\n | \"outline-success\"\n | \"outline-danger\"\n | \"outline-warning\"\n | \"outline-info\"\n | \"outline-light\"\n | \"outline-dark\";\n\n/**\n * @summary Allows users to upload files of various sizes and formats\n * @slot default - Label for file upload button\n *\n * @event sgds-files-selected - Emitted when files are selected for uploading\n *\n * @cssproperty --file-upload-file-icon-color - Left icon color\n * @cssproperty --file-upload-remove-icon-color - Remove icon color\n * @cssproperty --file-upload-remove-icon-hover-color - Remove icon hover color\n */\n\nexport class SgdsFileUpload extends ScopedElementsMixin(SgdsElement) {\n static styles = [...SgdsElement.styles, svgStyles, formHintStyles, fileUploadStyle];\n /**@internal */\n static get scopedElements() {\n return {\n \"sgds-button\": SgdsButton\n };\n }\n /** The button's variant. */\n @property({ reflect: true }) variant: FileUploadButtonVariant = \"primary\";\n\n //** Disable the fileuploader button */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** Allows multiple files to be listed for uploading */\n @property({ type: Boolean, reflect: true })\n multiple = false;\n\n /** Specify the acceptable file type */\n @property({ type: String, reflect: true })\n accept = \"\";\n\n /** Specifies a large or small button */\n @property({ reflect: true }) size: \"sm\" | \"lg\";\n\n /** Customize the check icon with SVG */\n @property({ type: String })\n checkedIcon = \"\";\n\n /** Customize the cancel icon with SVG */\n @property({ type: String })\n cancelIcon = \"\";\n\n /** The input's hint text below the label */\n @property({ reflect: true }) hintText = \"\";\n\n /** @internal */\n @property({ type: Object, state: true })\n private files: FileList | undefined;\n\n /** @internal */\n @property({ type: Array })\n private selectedFiles: File[] = [];\n\n private _setFileList(files: FileList) {\n this.files = files;\n this.emit(\"sgds-files-selected\");\n //Possible to pass in the files\n }\n\n // Create a ref to the input element\n /** @internal */\n private inputRef = createRef<HTMLInputElement>();\n\n /** @internal */\n private handleClick(event: Event) {\n event.preventDefault();\n if (!this.disabled) {\n // Get a reference to the input element using the inputRef\n const inputElement = this.inputRef.value;\n // Do something with the input element\n inputElement.click();\n }\n }\n\n /** @internal */\n private handleInputChange(event: Event) {\n const inputElement = event.target as HTMLInputElement;\n const files = inputElement.files as FileList;\n\n if (files.length > 0) {\n this.selectedFiles = Array.from(files);\n }\n // Trigger a re-render of the component to update the list of selected files\n this._setFileList(files);\n this.requestUpdate();\n }\n\n private _removeFileHandler(index: number) {\n const inputElement = this.inputRef.value;\n const attachments = inputElement.files;\n\n const fileBuffer = new DataTransfer();\n for (let i = 0; i < attachments.length; i++) {\n if (index !== i) fileBuffer.items.add(attachments[i]);\n }\n\n // Assign buffer to file input\n inputElement.files = fileBuffer.files;\n // Re-populate selected files to the lists\n this._setFileList(fileBuffer.files);\n this.selectedFiles = Array.from(fileBuffer.files);\n\n // Trigger a re-render of the component to update the list of selected files\n this.requestUpdate();\n }\n\n /**@internal */\n protected inputId: string = genId(\"input\", \"file\");\n\n protected _renderHintText() {\n const hintTextTemplate = html` <small id=\"${this.inputId}Help\" class=\"form-text\">${this.hintText}</small> `;\n return this.hintText && hintTextTemplate;\n }\n\n private _sanitizeVariant(variant: FileUploadButtonVariant) {\n return variant.replace(\"outline-\", \"\") as ButtonVariant;\n }\n render() {\n const getCheckedIcon = (checkedIcon: string) => {\n if (checkedIcon) {\n return html`${unsafeSVG(checkedIcon)}`;\n }\n return html` <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-check-lg\"\n viewBox=\"0 0 16 16\"\n >\n <path\n d=\"M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z\"\n />\n </svg>`;\n };\n\n const getCancelIcon = (cancelIcon: string) => {\n if (cancelIcon) {\n return html`${unsafeSVG(cancelIcon)}`;\n }\n return html`<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-x-circle\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\" />\n <path\n d=\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>`;\n };\n\n const listItems = this.selectedFiles.map(\n (file, index) => html`\n <li key=${index} class=\"fileupload-list-item\">\n <span>${getCheckedIcon(this.checkedIcon)}</span>\n <span class=\"filename\">${file.name}</span>\n <span @click=${() => this._removeFileHandler(index)}>${getCancelIcon(this.cancelIcon)}</span>\n </li>\n `\n );\n\n return html`\n <input\n ${ref(this.inputRef)}\n type=\"file\"\n @change=${this.handleInputChange}\n ?multiple=${this.multiple}\n accept=${this.accept}\n id=${this.inputId}\n />\n <div class=\"fileupload-container\">\n <sgds-button\n size=${this.size}\n variant=${this._sanitizeVariant(this.variant)}\n ?outlined=${this.variant.includes(\"outline\")}\n ?disabled=${this.disabled}\n @click=${this.handleClick}\n >\n <label for=${this.inputId} class=\"file-upload-label\"><slot></slot></label>\n </sgds-button>\n ${this._renderHintText()}\n <ul class=\"sgds fileupload-list\">\n ${listItems}\n </ul>\n </div>\n `;\n }\n}\n\nexport default SgdsFileUpload;\n"],"names":["svgStyles","formHintStyles","fileUploadStyle"],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { css } from 'lit';
|
|
3
|
+
|
|
4
|
+
var css_248z = css`*,:after,:before{box-sizing:border-box}.sgds.footer .footer-header .title{color:var(--sgds-heading-color);font-size:calc(1.275rem + .3vw);font-weight:700;line-height:1.2;margin-bottom:.5rem;margin-top:0}@media (min-width:1200px){.sgds.footer .footer-header .title{font-size:1.5rem}}.sgds.footer .footer-header .title{line-height:1.33}.container-fluid{margin-left:auto;margin-right:auto;padding-left:var(--sgds-gutter-x,1.5rem);padding-right:var(--sgds-gutter-x,1.5rem);width:100%}.row{--sgds-gutter-x:1.5rem;--sgds-gutter-y:0;display:flex;flex-wrap:wrap;margin-left:calc(var(--sgds-gutter-x)*-.5);margin-right:calc(var(--sgds-gutter-x)*-.5);margin-top:calc(var(--sgds-gutter-y)*-1)}.row>*{flex-shrink:0;margin-top:var(--sgds-gutter-y);max-width:100%;padding-left:calc(var(--sgds-gutter-x)*.5);padding-right:calc(var(--sgds-gutter-x)*.5);width:100%}.col{flex:1 0 0%}@media (min-width:768px){.col-md-4{flex:0 0 auto;width:33.33333333%}}@media (min-width:1400px){.col-xxl-2{flex:0 0 auto;width:16.66666667%}}.sgds.footer .footer-contact-links ul,.sgds.footer .footer-items ul,.sgds.footer .footer-mandatory-links ul{margin:0;padding:0}.sgds.footer .footer-contact-links ul li,.sgds.footer .footer-items ul li,.sgds.footer .footer-mandatory-links ul li{font-size:1rem;line-height:1.5;list-style-type:none}.sgds.footer .footer-contact-links ul li+li,.sgds.footer .footer-items ul li+li,.sgds.footer .footer-mandatory-links ul li+li{margin-top:1rem}.sgds.footer .footer-contact-links ul li a,.sgds.footer .footer-items ul li a,.sgds.footer .footer-mandatory-links ul li a{color:#d0d5dd;text-decoration:none}.sgds.footer,.sgds.footer .footer-contact-links ul li a:hover,.sgds.footer .footer-items ul li a:hover,.sgds.footer .footer-mandatory-links ul li a:hover{color:#f7f7f7}.sgds.footer{height:auto}.sgds.footer .footer-top{background-color:#111;padding:3rem 0 1.5rem}.sgds.footer .footer-header{margin-bottom:1.5rem}.sgds.footer .footer-header .title{margin-bottom:1rem}.sgds.footer .footer-header .description{color:#d0d5dd}@media (max-width:575.98px){.sgds.footer .footer-items>div[class*=col]+div[class*=col]{margin-top:2rem}}.sgds.footer .footer-items .title{font-weight:700}.sgds.footer .footer-items .links{margin-top:1rem}.sgds.footer .footer-contact-links{margin-top:2rem}@media (min-width:992px){.sgds.footer .footer-contact-links ul li{display:inline-block}.sgds.footer .footer-contact-links ul li+li{margin-left:1rem}}.sgds.footer .footer-bottom{background-color:#111;padding:1.5rem 0}@media (min-width:992px){.sgds.footer .footer-mandatory-links ul li{display:inline-block}.sgds.footer .footer-mandatory-links ul li+li{margin-left:1rem}}@media (max-width:991.98px){.sgds.footer .footer-copyrights{margin-top:1rem}}.d-flex{display:flex!important}.text-end{text-align:right!important}@media (min-width:992px){.justify-content-lg-end{justify-content:flex-end!important}}`;
|
|
5
|
+
|
|
6
|
+
export { css_248z as default };
|
|
7
|
+
//# sourceMappingURL=footer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"footer.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sgds-footer.cjs.js","sources":["../../../../src/components/Footer/sgds-footer.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport footerStyle from \"./footer.css\";\nexport interface ColumnLinks {\n title: string;\n links: Links[];\n}\nexport interface Links {\n href: string;\n label: string;\n}\n\n/**\n * @summary The footer contains supporting information for your service at the bottom of your website. All .gov.sg digital services shall contain a Global Footer Bar across all pages. The Global Footer Bar should include the name of the digital service, contact information, a privacy statement and the terms of use.\n *\n * @csspart footer-top - The component's footer-top section container.\n * @csspart footer-bottom - The component's footer-bottom section container.\n *\n * @cssproperty footer-top - The component's footer-top section container.\n * @cssproperty footer-bottom - The component's footer-bottom section container.\n */\nexport class SgdsFooter extends SgdsElement {\n static styles = [...SgdsElement.styles, footerStyle];\n\n /**\n * \tSets title of SgdsFooter\n */\n @property({ type: String })\n title = \"\";\n\n /**\n * \tSets description of SgdsFooter\n */\n @property({ type: String })\n description = \"\";\n\n /**\n * \tSets copyrightLiner of SgdsFooter\n */\n @property({ type: String })\n copyrightLiner = \"Government of Singapore\";\n\n /**\n * Array of type\n *\n * `interface ColumnLinks { title: string; links : Links[] } interface Links { href: string; label: string; }`\n */\n @property({\n type: Array\n })\n links: ColumnLinks[] = [];\n\n /**\n * String date for last updated date\n */\n @property({ type: String })\n lastUpdatedDate = \"\";\n\n /**\n * \thref link for contacts\n */\n @property({ type: String })\n contactHref = \"#\";\n\n /**\n * \thref link for feedback\n */\n @property({ type: String })\n feedbackHref = \"#\";\n\n /**\n * \thref link for privacy statement\n */\n @property({ type: String })\n privacyHref = \"#\";\n\n /**\n * \thref link for terms of use\n */\n @property({ type: String })\n termsOfUseHref = \"#\";\n\n render() {\n // if description is defined\n const hasDescription = html` <div class=\"description\">${this.description}</div>`;\n\n return html`\n <footer class=\"sgds footer\">\n <section class=\"footer-top\" part=\"footer-top\">\n <div class=\"container-fluid\">\n <div class=\"row footer-header\">\n <div class=\"col col-lg-6 col-md-12\">\n <div class=\"title\">${this.title ? this.title : \"Footer title\"}</div>\n ${this.description ? hasDescription : undefined}\n </div>\n </div>\n <div class=\"row footer-items\">\n ${this.links.map(\n (item: ColumnLinks) =>\n html`\n <div class=\"col-xxl-2 col-md-4 mb-3\">\n <div class=\"title\">${item.title}</div>\n <ul class=\"links\">\n ${item.links.map((link: Links) => html` <li><a href=${link.href}>${link.label}</a></li> `)}\n </ul>\n </div>\n `\n )}\n </div>\n <div class=\"row footer-contact-links\">\n <div class=\"col\">\n <div class=\"d-flex justify-content-lg-end\">\n <ul>\n <li><a href=${this.contactHref}>Contact</a></li>\n <li><a href=${this.feedbackHref}>Feedback</a></li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </section>\n <section class=\"footer-bottom\" part=\"footer-bottom\">\n <div class=\"container-fluid\">\n <div class=\"row footer-mandatory-links\">\n <div class=\"col\">\n <ul>\n <li>\n <a href=\"https://tech.gov.sg/report_vulnerability\" target=\"_blank\" rel=\"noopener noreferrer\"\n >Report Vulnerability</a\n >\n </li>\n <li><a href=${this.privacyHref}>Privacy Statement</a></li>\n <li><a href=${this.termsOfUseHref}>Terms of use</a></li>\n </ul>\n </div>\n </div>\n <div class=\"row footer-copyrights\">\n <div class=\"col\">\n <div class=\"d-flex justify-content-lg-end text-end\">\n © ${new Date().getFullYear()} ${this.copyrightLiner}<br />\n Last Updated ${this.lastUpdatedDate}\n </div>\n </div>\n </div>\n </div>\n </section>\n </footer>\n `;\n }\n}\n\nexport default SgdsFooter;\n"],"names":["SgdsElement","html","footerStyle","__decorate","property"],"mappings":"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"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { __decorate } from 'tslib';
|
|
3
|
+
import { html } from 'lit';
|
|
4
|
+
import { property } from 'lit/decorators.js';
|
|
5
|
+
import SgdsElement from '../../base/sgds-element.js';
|
|
6
|
+
import css_248z from './footer.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @summary The footer contains supporting information for your service at the bottom of your website. All .gov.sg digital services shall contain a Global Footer Bar across all pages. The Global Footer Bar should include the name of the digital service, contact information, a privacy statement and the terms of use.
|
|
10
|
+
*
|
|
11
|
+
* @csspart footer-top - The component's footer-top section container.
|
|
12
|
+
* @csspart footer-bottom - The component's footer-bottom section container.
|
|
13
|
+
*
|
|
14
|
+
* @cssproperty footer-top - The component's footer-top section container.
|
|
15
|
+
* @cssproperty footer-bottom - The component's footer-bottom section container.
|
|
16
|
+
*/
|
|
17
|
+
class SgdsFooter extends SgdsElement {
|
|
18
|
+
constructor() {
|
|
19
|
+
super(...arguments);
|
|
20
|
+
/**
|
|
21
|
+
* Sets title of SgdsFooter
|
|
22
|
+
*/
|
|
23
|
+
this.title = "";
|
|
24
|
+
/**
|
|
25
|
+
* Sets description of SgdsFooter
|
|
26
|
+
*/
|
|
27
|
+
this.description = "";
|
|
28
|
+
/**
|
|
29
|
+
* Sets copyrightLiner of SgdsFooter
|
|
30
|
+
*/
|
|
31
|
+
this.copyrightLiner = "Government of Singapore";
|
|
32
|
+
/**
|
|
33
|
+
* Array of type
|
|
34
|
+
*
|
|
35
|
+
* `interface ColumnLinks { title: string; links : Links[] } interface Links { href: string; label: string; }`
|
|
36
|
+
*/
|
|
37
|
+
this.links = [];
|
|
38
|
+
/**
|
|
39
|
+
* String date for last updated date
|
|
40
|
+
*/
|
|
41
|
+
this.lastUpdatedDate = "";
|
|
42
|
+
/**
|
|
43
|
+
* href link for contacts
|
|
44
|
+
*/
|
|
45
|
+
this.contactHref = "#";
|
|
46
|
+
/**
|
|
47
|
+
* href link for feedback
|
|
48
|
+
*/
|
|
49
|
+
this.feedbackHref = "#";
|
|
50
|
+
/**
|
|
51
|
+
* href link for privacy statement
|
|
52
|
+
*/
|
|
53
|
+
this.privacyHref = "#";
|
|
54
|
+
/**
|
|
55
|
+
* href link for terms of use
|
|
56
|
+
*/
|
|
57
|
+
this.termsOfUseHref = "#";
|
|
58
|
+
}
|
|
59
|
+
render() {
|
|
60
|
+
// if description is defined
|
|
61
|
+
const hasDescription = html ` <div class="description">${this.description}</div>`;
|
|
62
|
+
return html `
|
|
63
|
+
<footer class="sgds footer">
|
|
64
|
+
<section class="footer-top" part="footer-top">
|
|
65
|
+
<div class="container-fluid">
|
|
66
|
+
<div class="row footer-header">
|
|
67
|
+
<div class="col col-lg-6 col-md-12">
|
|
68
|
+
<div class="title">${this.title ? this.title : "Footer title"}</div>
|
|
69
|
+
${this.description ? hasDescription : undefined}
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
<div class="row footer-items">
|
|
73
|
+
${this.links.map((item) => html `
|
|
74
|
+
<div class="col-xxl-2 col-md-4 mb-3">
|
|
75
|
+
<div class="title">${item.title}</div>
|
|
76
|
+
<ul class="links">
|
|
77
|
+
${item.links.map((link) => html ` <li><a href=${link.href}>${link.label}</a></li> `)}
|
|
78
|
+
</ul>
|
|
79
|
+
</div>
|
|
80
|
+
`)}
|
|
81
|
+
</div>
|
|
82
|
+
<div class="row footer-contact-links">
|
|
83
|
+
<div class="col">
|
|
84
|
+
<div class="d-flex justify-content-lg-end">
|
|
85
|
+
<ul>
|
|
86
|
+
<li><a href=${this.contactHref}>Contact</a></li>
|
|
87
|
+
<li><a href=${this.feedbackHref}>Feedback</a></li>
|
|
88
|
+
</ul>
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
</section>
|
|
94
|
+
<section class="footer-bottom" part="footer-bottom">
|
|
95
|
+
<div class="container-fluid">
|
|
96
|
+
<div class="row footer-mandatory-links">
|
|
97
|
+
<div class="col">
|
|
98
|
+
<ul>
|
|
99
|
+
<li>
|
|
100
|
+
<a href="https://tech.gov.sg/report_vulnerability" target="_blank" rel="noopener noreferrer"
|
|
101
|
+
>Report Vulnerability</a
|
|
102
|
+
>
|
|
103
|
+
</li>
|
|
104
|
+
<li><a href=${this.privacyHref}>Privacy Statement</a></li>
|
|
105
|
+
<li><a href=${this.termsOfUseHref}>Terms of use</a></li>
|
|
106
|
+
</ul>
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
<div class="row footer-copyrights">
|
|
110
|
+
<div class="col">
|
|
111
|
+
<div class="d-flex justify-content-lg-end text-end">
|
|
112
|
+
© ${new Date().getFullYear()} ${this.copyrightLiner}<br />
|
|
113
|
+
Last Updated ${this.lastUpdatedDate}
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
</section>
|
|
119
|
+
</footer>
|
|
120
|
+
`;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
SgdsFooter.styles = [...SgdsElement.styles, css_248z];
|
|
124
|
+
__decorate([
|
|
125
|
+
property({ type: String })
|
|
126
|
+
], SgdsFooter.prototype, "title", void 0);
|
|
127
|
+
__decorate([
|
|
128
|
+
property({ type: String })
|
|
129
|
+
], SgdsFooter.prototype, "description", void 0);
|
|
130
|
+
__decorate([
|
|
131
|
+
property({ type: String })
|
|
132
|
+
], SgdsFooter.prototype, "copyrightLiner", void 0);
|
|
133
|
+
__decorate([
|
|
134
|
+
property({
|
|
135
|
+
type: Array
|
|
136
|
+
})
|
|
137
|
+
], SgdsFooter.prototype, "links", void 0);
|
|
138
|
+
__decorate([
|
|
139
|
+
property({ type: String })
|
|
140
|
+
], SgdsFooter.prototype, "lastUpdatedDate", void 0);
|
|
141
|
+
__decorate([
|
|
142
|
+
property({ type: String })
|
|
143
|
+
], SgdsFooter.prototype, "contactHref", void 0);
|
|
144
|
+
__decorate([
|
|
145
|
+
property({ type: String })
|
|
146
|
+
], SgdsFooter.prototype, "feedbackHref", void 0);
|
|
147
|
+
__decorate([
|
|
148
|
+
property({ type: String })
|
|
149
|
+
], SgdsFooter.prototype, "privacyHref", void 0);
|
|
150
|
+
__decorate([
|
|
151
|
+
property({ type: String })
|
|
152
|
+
], SgdsFooter.prototype, "termsOfUseHref", void 0);
|
|
153
|
+
|
|
154
|
+
export { SgdsFooter, SgdsFooter as default };
|
|
155
|
+
//# sourceMappingURL=sgds-footer.js.map
|