@govtechsg/sgds-web-component 3.0.0-rc.1 → 3.0.0-rc.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/README.md +5 -5
- package/base/button.js +1 -1
- package/base/form-control-element.d.ts +4 -11
- package/base/form-control-element.js +13 -23
- package/base/form-control-element.js.map +1 -1
- package/components/Accordion/accordion-item.js +1 -1
- package/components/Accordion/index.umd.js +7 -19
- package/components/Accordion/index.umd.js.map +1 -1
- package/components/Accordion/sgds-accordion-item.d.ts +3 -7
- package/components/Accordion/sgds-accordion-item.js +6 -18
- package/components/Accordion/sgds-accordion-item.js.map +1 -1
- package/components/ActionCard/index.umd.js +407 -329
- package/components/ActionCard/index.umd.js.map +1 -1
- package/components/Alert/alert.js +1 -1
- package/components/Alert/index.umd.js +553 -485
- package/components/Alert/index.umd.js.map +1 -1
- package/components/Alert/sgds-alert.d.ts +2 -2
- package/components/Alert/sgds-alert.js +6 -13
- package/components/Alert/sgds-alert.js.map +1 -1
- package/components/Badge/badge.js +1 -1
- package/components/Badge/index.umd.js +8 -9
- package/components/Badge/index.umd.js.map +1 -1
- package/components/Badge/sgds-badge.d.ts +4 -5
- package/components/Badge/sgds-badge.js +5 -6
- package/components/Badge/sgds-badge.js.map +1 -1
- package/components/Button/index.umd.js +8 -81
- package/components/Button/index.umd.js.map +1 -1
- package/components/Button/sgds-button.js +1 -1
- package/components/Button/sgds-button.js.map +1 -1
- package/components/Checkbox/checkbox.js +1 -1
- package/components/Checkbox/index.umd.js +541 -475
- package/components/Checkbox/index.umd.js.map +1 -1
- package/components/Checkbox/sgds-checkbox-group.d.ts +7 -1
- package/components/Checkbox/sgds-checkbox-group.js +15 -4
- package/components/Checkbox/sgds-checkbox-group.js.map +1 -1
- package/components/Checkbox/sgds-checkbox.d.ts +30 -21
- package/components/Checkbox/sgds-checkbox.js +77 -60
- package/components/Checkbox/sgds-checkbox.js.map +1 -1
- package/components/ComboBox/index.umd.js +385 -216
- package/components/ComboBox/index.umd.js.map +1 -1
- package/components/Datepicker/datepicker-input.d.ts +4 -2
- package/components/Datepicker/datepicker-input.js +24 -7
- package/components/Datepicker/datepicker-input.js.map +1 -1
- package/components/Datepicker/index.umd.js +433 -244
- package/components/Datepicker/index.umd.js.map +1 -1
- package/components/Datepicker/sgds-datepicker.d.ts +1 -1
- package/components/Datepicker/sgds-datepicker.js.map +1 -1
- package/components/Drawer/index.umd.js +2 -2
- package/components/Drawer/index.umd.js.map +1 -1
- package/components/Dropdown/index.umd.js +8 -81
- package/components/Dropdown/index.umd.js.map +1 -1
- package/components/FileUpload/file-upload.js +1 -1
- package/components/FileUpload/index.umd.js +579 -272
- package/components/FileUpload/index.umd.js.map +1 -1
- package/components/FileUpload/sgds-file-upload.d.ts +42 -30
- package/components/FileUpload/sgds-file-upload.js +147 -103
- package/components/FileUpload/sgds-file-upload.js.map +1 -1
- package/components/Footer/footer-item.js +6 -0
- package/components/Footer/footer-item.js.map +1 -0
- package/components/Footer/footer.js +1 -1
- package/components/Footer/index.d.ts +2 -0
- package/components/Footer/index.js +2 -0
- package/components/Footer/index.js.map +1 -1
- package/components/Footer/index.umd.js +93 -94
- package/components/Footer/index.umd.js.map +1 -1
- package/components/Footer/sgds-footer-item.d.ts +13 -0
- package/components/Footer/sgds-footer-item.js +27 -0
- package/components/Footer/sgds-footer-item.js.map +1 -0
- package/components/Footer/sgds-footer.d.ts +9 -30
- package/components/Footer/sgds-footer.js +65 -90
- package/components/Footer/sgds-footer.js.map +1 -1
- package/components/Icon/icon.js +6 -0
- package/components/Icon/icon.js.map +1 -0
- package/components/Icon/index.d.ts +6 -0
- package/components/Icon/index.js +4 -0
- package/components/Icon/index.js.map +1 -0
- package/components/Icon/index.umd.js +4389 -0
- package/components/Icon/index.umd.js.map +1 -0
- package/components/Icon/sgds-icon.d.ts +21 -0
- package/components/Icon/sgds-icon.js +64 -0
- package/components/Icon/sgds-icon.js.map +1 -0
- package/components/IconButton/icon-button.js +1 -1
- package/components/IconButton/index.umd.js +6 -9
- package/components/IconButton/index.umd.js.map +1 -1
- package/components/IconButton/sgds-icon-button.d.ts +2 -2
- package/components/IconButton/sgds-icon-button.js +4 -9
- package/components/IconButton/sgds-icon-button.js.map +1 -1
- package/components/Input/index.umd.js +1734 -1376
- package/components/Input/index.umd.js.map +1 -1
- package/components/Input/sgds-input.d.ts +41 -21
- package/components/Input/sgds-input.js +103 -66
- package/components/Input/sgds-input.js.map +1 -1
- package/components/Modal/index.umd.js +2 -2
- package/components/Modal/index.umd.js.map +1 -1
- package/components/QuantityToggle/index.umd.js +894 -316
- package/components/QuantityToggle/index.umd.js.map +1 -1
- package/components/QuantityToggle/sgds-quantity-toggle.d.ts +42 -15
- package/components/QuantityToggle/sgds-quantity-toggle.js +129 -62
- package/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -1
- package/components/Radio/index.umd.js +516 -203
- package/components/Radio/index.umd.js.map +1 -1
- package/components/Radio/sgds-radio-group.d.ts +38 -27
- package/components/Radio/sgds-radio-group.js +100 -84
- package/components/Radio/sgds-radio-group.js.map +1 -1
- package/components/Radio/sgds-radio.js +1 -1
- package/components/Radio/sgds-radio.js.map +1 -1
- package/components/Stepper/index.umd.js +1 -0
- package/components/Stepper/index.umd.js.map +1 -1
- package/components/Stepper/sgds-stepper.d.ts +1 -0
- package/components/Stepper/sgds-stepper.js +1 -0
- package/components/Stepper/sgds-stepper.js.map +1 -1
- package/components/Switch/index.umd.js +21 -321
- package/components/Switch/index.umd.js.map +1 -1
- package/components/Switch/sgds-switch.js +1 -2
- package/components/Switch/sgds-switch.js.map +1 -1
- package/components/Textarea/index.umd.js +1554 -1336
- package/components/Textarea/index.umd.js.map +1 -1
- package/components/Textarea/sgds-textarea.d.ts +33 -22
- package/components/Textarea/sgds-textarea.js +78 -75
- package/components/Textarea/sgds-textarea.js.map +1 -1
- package/components/Textarea/textarea.js +1 -1
- package/components/Toast/index.umd.js +9 -21
- package/components/Toast/index.umd.js.map +1 -1
- package/components/Toast/sgds-toast.d.ts +2 -1
- package/components/Toast/sgds-toast.js +6 -18
- package/components/Toast/sgds-toast.js.map +1 -1
- package/components/Toast/toast.js +1 -1
- package/components/Tooltip/index.umd.js +14 -14
- package/components/Tooltip/index.umd.js.map +1 -1
- package/components/Tooltip/sgds-tooltip.d.ts +4 -7
- package/components/Tooltip/sgds-tooltip.js +14 -14
- package/components/Tooltip/sgds-tooltip.js.map +1 -1
- package/components/index.d.ts +1 -0
- package/components/index.js +1 -0
- package/components/index.js.map +1 -1
- package/components/index.umd.js +1318 -1124
- package/components/index.umd.js.map +1 -1
- package/icons/arrow-bar-down.svg +3 -0
- package/icons/arrow-bar-left.svg +3 -0
- package/icons/arrow-bar-right.svg +3 -0
- package/icons/arrow-bar-up.svg +3 -0
- package/icons/arrow-clockwise.svg +3 -0
- package/icons/arrow-down.svg +3 -0
- package/icons/arrow-left.svg +3 -0
- package/icons/arrow-repeat.svg +3 -0
- package/icons/arrow-right.svg +3 -0
- package/icons/arrow-up.svg +3 -0
- package/icons/bank-fill.svg +3 -0
- package/icons/bell-slash.svg +3 -0
- package/icons/bell.svg +3 -0
- package/icons/bi-funnel.svg +3 -0
- package/icons/bookmark-fill.svg +3 -0
- package/icons/bookmark.svg +3 -0
- package/icons/box-arrow-up-right.svg +3 -0
- package/icons/box-seam.svg +3 -0
- package/icons/building.svg +3 -0
- package/icons/calculator.svg +3 -0
- package/icons/calendar-check.svg +4 -0
- package/icons/calendar-x.svg +4 -0
- package/icons/calendar.svg +3 -0
- package/icons/camera.svg +3 -0
- package/icons/chat-left-text.svg +3 -0
- package/icons/check-circle-fill.svg +3 -0
- package/icons/check-circle.svg +3 -0
- package/icons/check.svg +3 -0
- package/icons/chevron-down.svg +3 -0
- package/icons/chevron-left.svg +3 -0
- package/icons/chevron-right.svg +3 -0
- package/icons/chevron-up .svg +3 -0
- package/icons/clock.svg +4 -0
- package/icons/cloud-check.svg +4 -0
- package/icons/cloud-download.svg +3 -0
- package/icons/cloud-upload.svg +3 -0
- package/icons/cloud.svg +3 -0
- package/icons/compass.svg +4 -0
- package/icons/cross.svg +3 -0
- package/icons/cursor-fill.svg +3 -0
- package/icons/cursor.svg +3 -0
- package/icons/dash-circle.svg +3 -0
- package/icons/dash-square.svg +3 -0
- package/icons/dash.svg +3 -0
- package/icons/download.svg +3 -0
- package/icons/exclamation-circle-fill.svg +3 -0
- package/icons/exclamation-circle.svg +4 -0
- package/icons/exclamation-triangle-fill.svg +3 -0
- package/icons/exclamation-triangle.svg +4 -0
- package/icons/exclamation.svg +4 -0
- package/icons/eye-fill.svg +3 -0
- package/icons/eye-slash-fill.svg +4 -0
- package/icons/eye-slash.svg +3 -0
- package/icons/eye.svg +3 -0
- package/icons/facebook.svg +3 -0
- package/icons/file-earmark-text.svg +3 -0
- package/icons/file-pdf.svg +4 -0
- package/icons/file-plus.svg +4 -0
- package/icons/file-text.svg +3 -0
- package/icons/file.svg +3 -0
- package/icons/files.svg +4 -0
- package/icons/folder-check.svg +4 -0
- package/icons/folder-minus.svg +4 -0
- package/icons/folder-plus.svg +4 -0
- package/icons/folder.svg +3 -0
- package/icons/gear.svg +3 -0
- package/icons/geo-alt.svg +4 -0
- package/icons/geo-fill.svg +4 -0
- package/icons/geo.svg +4 -0
- package/icons/google.svg +3 -0
- package/icons/grid-fill.svg +3 -0
- package/icons/hand-thumbs-down.svg +3 -0
- package/icons/hand-thumbs-up.svg +3 -0
- package/icons/hdd.svg +3 -0
- package/icons/house-door.svg +3 -0
- package/icons/house.svg +3 -0
- package/icons/image.svg +3 -0
- package/icons/inbox.svg +3 -0
- package/icons/info-circle-fill.svg +3 -0
- package/icons/info-circle.svg +4 -0
- package/icons/instagram.svg +3 -0
- package/icons/layers.svg +3 -0
- package/icons/layout-text-window-reverse.svg +3 -0
- package/icons/layout-text-window.svg +3 -0
- package/icons/layout.svg +3 -0
- package/icons/link.svg +3 -0
- package/icons/linkedin.svg +3 -0
- package/icons/list.svg +3 -0
- package/icons/lock-fill.svg +3 -0
- package/icons/lock.svg +3 -0
- package/icons/mail.svg +3 -0
- package/icons/map.svg +3 -0
- package/icons/paperclip.svg +3 -0
- package/icons/pencil.svg +3 -0
- package/icons/pending-circle.svg +3 -0
- package/icons/person-dash.svg +3 -0
- package/icons/person-plus.svg +3 -0
- package/icons/person-x.svg +3 -0
- package/icons/person.svg +3 -0
- package/icons/pin-map-fill.svg +3 -0
- package/icons/pin.svg +3 -0
- package/icons/placeholder.svg +3 -0
- package/icons/plus-circle.svg +3 -0
- package/icons/plus-square.svg +3 -0
- package/icons/plus.svg +3 -0
- package/icons/printer.svg +3 -0
- package/icons/question-circle.svg +4 -0
- package/icons/save.svg +3 -0
- package/icons/search.svg +3 -0
- package/icons/share.svg +3 -0
- package/icons/slash-circle.svg +3 -0
- package/icons/sliders.svg +3 -0
- package/icons/speedometer.svg +3 -0
- package/icons/star-fill.svg +3 -0
- package/icons/star.svg +3 -0
- package/icons/stoplights.svg +4 -0
- package/icons/telephone.svg +3 -0
- package/icons/three-dots-vertical.svg +3 -0
- package/icons/three-dots.svg +3 -0
- package/icons/toggle-off.svg +3 -0
- package/icons/toggle-on.svg +3 -0
- package/icons/trash.svg +3 -0
- package/icons/twitter-x.svg +3 -0
- package/icons/unlock.svg +3 -0
- package/icons/upload.svg +3 -0
- package/icons/window-dash.svg +4 -0
- package/icons/window-desktop.svg +4 -0
- package/icons/window-dock.svg +4 -0
- package/icons/window-fullscreen.svg +3 -0
- package/icons/window-plus.svg +4 -0
- package/icons/window-sidebar.svg +3 -0
- package/icons/window-split.svg +3 -0
- package/icons/window-stack.svg +3 -0
- package/icons/window-x.svg +4 -0
- package/icons/window.svg +3 -0
- package/icons/x-circle-fill.svg +3 -0
- package/icons/x-circle.svg +3 -0
- package/icons/youtube.svg +3 -0
- package/icons/zoom-in.svg +3 -0
- package/icons/zoom-out.svg +3 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/index.umd.js +1338 -1119
- package/index.umd.js.map +1 -1
- package/internals/CloseButton/close-button.js +1 -1
- package/internals/CloseButton/sgds-close-button.js +1 -1
- package/internals/CloseButton/sgds-close-button.js.map +1 -1
- package/package.json +1 -1
- package/react/base/button.cjs.js +1 -1
- package/react/base/button.js +1 -1
- package/react/base/form-control-element.cjs.js +13 -23
- package/react/base/form-control-element.cjs.js.map +1 -1
- package/react/base/form-control-element.js +13 -23
- package/react/base/form-control-element.js.map +1 -1
- package/react/checkbox/index.cjs.js +2 -0
- package/react/checkbox/index.cjs.js.map +1 -1
- package/react/checkbox/index.d.ts +2 -0
- package/react/checkbox/index.js +2 -0
- package/react/checkbox/index.js.map +1 -1
- package/react/components/Accordion/accordion-item.cjs.js +1 -1
- package/react/components/Accordion/accordion-item.js +1 -1
- package/react/components/Accordion/sgds-accordion-item.cjs.js +6 -18
- package/react/components/Accordion/sgds-accordion-item.cjs.js.map +1 -1
- package/react/components/Accordion/sgds-accordion-item.js +6 -18
- package/react/components/Accordion/sgds-accordion-item.js.map +1 -1
- package/react/components/Alert/alert.cjs.js +1 -1
- package/react/components/Alert/alert.js +1 -1
- package/react/components/Alert/sgds-alert.cjs.js +5 -12
- package/react/components/Alert/sgds-alert.cjs.js.map +1 -1
- package/react/components/Alert/sgds-alert.js +6 -13
- package/react/components/Alert/sgds-alert.js.map +1 -1
- package/react/components/Badge/badge.cjs.js +1 -1
- package/react/components/Badge/badge.js +1 -1
- package/react/components/Badge/sgds-badge.cjs.js +5 -6
- package/react/components/Badge/sgds-badge.cjs.js.map +1 -1
- package/react/components/Badge/sgds-badge.js +5 -6
- package/react/components/Badge/sgds-badge.js.map +1 -1
- package/react/components/Button/sgds-button.cjs.js +2 -2
- package/react/components/Button/sgds-button.cjs.js.map +1 -1
- package/react/components/Button/sgds-button.js +1 -1
- package/react/components/Button/sgds-button.js.map +1 -1
- package/react/components/Checkbox/checkbox.cjs.js +1 -1
- package/react/components/Checkbox/checkbox.js +1 -1
- package/react/components/Checkbox/sgds-checkbox-group.cjs.js +15 -4
- package/react/components/Checkbox/sgds-checkbox-group.cjs.js.map +1 -1
- package/react/components/Checkbox/sgds-checkbox-group.js +15 -4
- package/react/components/Checkbox/sgds-checkbox-group.js.map +1 -1
- package/react/components/Checkbox/sgds-checkbox.cjs.js +77 -60
- package/react/components/Checkbox/sgds-checkbox.cjs.js.map +1 -1
- package/react/components/Checkbox/sgds-checkbox.js +77 -60
- package/react/components/Checkbox/sgds-checkbox.js.map +1 -1
- package/react/components/Datepicker/datepicker-input.cjs.js +24 -7
- package/react/components/Datepicker/datepicker-input.cjs.js.map +1 -1
- package/react/components/Datepicker/datepicker-input.js +24 -7
- package/react/components/Datepicker/datepicker-input.js.map +1 -1
- package/react/components/Datepicker/sgds-datepicker.cjs.js.map +1 -1
- package/react/components/Datepicker/sgds-datepicker.js.map +1 -1
- package/react/components/FileUpload/file-upload.cjs.js +1 -1
- package/react/components/FileUpload/file-upload.js +1 -1
- package/react/components/FileUpload/sgds-file-upload.cjs.js +145 -101
- package/react/components/FileUpload/sgds-file-upload.cjs.js.map +1 -1
- package/react/components/FileUpload/sgds-file-upload.js +147 -103
- package/react/components/FileUpload/sgds-file-upload.js.map +1 -1
- package/react/components/Footer/footer-item.cjs.js +11 -0
- package/react/components/Footer/footer-item.cjs.js.map +1 -0
- package/react/components/Footer/footer-item.js +7 -0
- package/react/components/Footer/footer-item.js.map +1 -0
- package/react/components/Footer/footer.cjs.js +1 -1
- package/react/components/Footer/footer.js +1 -1
- package/react/components/Footer/sgds-footer-item.cjs.js +33 -0
- package/react/components/Footer/sgds-footer-item.cjs.js.map +1 -0
- package/react/components/Footer/sgds-footer-item.js +28 -0
- package/react/components/Footer/sgds-footer-item.js.map +1 -0
- package/react/components/Footer/sgds-footer.cjs.js +65 -90
- package/react/components/Footer/sgds-footer.cjs.js.map +1 -1
- package/react/components/Footer/sgds-footer.js +65 -90
- package/react/components/Footer/sgds-footer.js.map +1 -1
- package/react/components/Icon/icon.cjs.js +11 -0
- package/react/components/Icon/icon.cjs.js.map +1 -0
- package/react/components/Icon/icon.js +7 -0
- package/react/components/Icon/icon.js.map +1 -0
- package/react/components/Icon/sgds-icon.cjs.js +70 -0
- package/react/components/Icon/sgds-icon.cjs.js.map +1 -0
- package/react/components/Icon/sgds-icon.js +65 -0
- package/react/components/Icon/sgds-icon.js.map +1 -0
- package/react/components/IconButton/icon-button.cjs.js +1 -1
- package/react/components/IconButton/icon-button.js +1 -1
- package/react/components/IconButton/sgds-icon-button.cjs.js +4 -9
- package/react/components/IconButton/sgds-icon-button.cjs.js.map +1 -1
- package/react/components/IconButton/sgds-icon-button.js +4 -9
- package/react/components/IconButton/sgds-icon-button.js.map +1 -1
- package/react/components/Input/sgds-input.cjs.js +101 -64
- package/react/components/Input/sgds-input.cjs.js.map +1 -1
- package/react/components/Input/sgds-input.js +103 -66
- package/react/components/Input/sgds-input.js.map +1 -1
- package/react/components/QuantityToggle/sgds-quantity-toggle.cjs.js +128 -61
- package/react/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +1 -1
- package/react/components/QuantityToggle/sgds-quantity-toggle.js +129 -62
- package/react/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -1
- package/react/components/Radio/sgds-radio-group.cjs.js +99 -83
- package/react/components/Radio/sgds-radio-group.cjs.js.map +1 -1
- package/react/components/Radio/sgds-radio-group.js +100 -84
- package/react/components/Radio/sgds-radio-group.js.map +1 -1
- package/react/components/Radio/sgds-radio.cjs.js +1 -1
- package/react/components/Radio/sgds-radio.cjs.js.map +1 -1
- package/react/components/Radio/sgds-radio.js +1 -1
- package/react/components/Radio/sgds-radio.js.map +1 -1
- package/react/components/Stepper/sgds-stepper.cjs.js +1 -0
- package/react/components/Stepper/sgds-stepper.cjs.js.map +1 -1
- package/react/components/Stepper/sgds-stepper.js +1 -0
- package/react/components/Stepper/sgds-stepper.js.map +1 -1
- package/react/components/Switch/sgds-switch.cjs.js +1 -2
- package/react/components/Switch/sgds-switch.cjs.js.map +1 -1
- package/react/components/Switch/sgds-switch.js +1 -2
- package/react/components/Switch/sgds-switch.js.map +1 -1
- package/react/components/Textarea/sgds-textarea.cjs.js +76 -73
- package/react/components/Textarea/sgds-textarea.cjs.js.map +1 -1
- package/react/components/Textarea/sgds-textarea.js +78 -75
- package/react/components/Textarea/sgds-textarea.js.map +1 -1
- package/react/components/Textarea/textarea.cjs.js +1 -1
- package/react/components/Textarea/textarea.js +1 -1
- package/react/components/Toast/sgds-toast.cjs.js +6 -18
- package/react/components/Toast/sgds-toast.cjs.js.map +1 -1
- package/react/components/Toast/sgds-toast.js +6 -18
- package/react/components/Toast/sgds-toast.js.map +1 -1
- package/react/components/Toast/toast.cjs.js +1 -1
- package/react/components/Toast/toast.js +1 -1
- package/react/components/Tooltip/sgds-tooltip.cjs.js +14 -14
- package/react/components/Tooltip/sgds-tooltip.cjs.js.map +1 -1
- package/react/components/Tooltip/sgds-tooltip.js +14 -14
- package/react/components/Tooltip/sgds-tooltip.js.map +1 -1
- package/react/footer-item/index.cjs.js +39 -0
- package/react/footer-item/index.cjs.js.map +1 -0
- package/react/footer-item/index.d.ts +3 -0
- package/react/footer-item/index.js +15 -0
- package/react/footer-item/index.js.map +1 -0
- package/react/icon/index.cjs.js +42 -0
- package/react/icon/index.cjs.js.map +1 -0
- package/react/icon/index.d.ts +6 -0
- package/react/icon/index.js +18 -0
- package/react/icon/index.js.map +1 -0
- package/react/index.cjs.js +64 -60
- package/react/index.cjs.js.map +1 -1
- package/react/index.d.ts +2 -0
- package/react/index.js +2 -0
- package/react/index.js.map +1 -1
- package/react/input/index.cjs.js +3 -1
- package/react/input/index.cjs.js.map +1 -1
- package/react/input/index.d.ts +2 -0
- package/react/input/index.js +3 -1
- package/react/input/index.js.map +1 -1
- package/react/internals/CloseButton/close-button.cjs.js +1 -1
- package/react/internals/CloseButton/close-button.js +1 -1
- package/react/internals/CloseButton/sgds-close-button.cjs.js +1 -1
- package/react/internals/CloseButton/sgds-close-button.cjs.js.map +1 -1
- package/react/internals/CloseButton/sgds-close-button.js +1 -1
- package/react/internals/CloseButton/sgds-close-button.js.map +1 -1
- package/react/styles/form-hint.cjs.js +1 -1
- package/react/styles/form-hint.js +1 -1
- package/react/styles/form-label.cjs.js +1 -1
- package/react/styles/form-label.js +1 -1
- package/react/utils/formSubmitController.cjs.js +64 -0
- package/react/utils/formSubmitController.cjs.js.map +1 -0
- package/react/utils/formSubmitController.js +60 -0
- package/react/utils/formSubmitController.js.map +1 -0
- package/react/utils/inputValidationController.cjs.js +130 -0
- package/react/utils/inputValidationController.cjs.js.map +1 -0
- package/react/utils/inputValidationController.js +126 -0
- package/react/utils/inputValidationController.js.map +1 -0
- package/react/utils/validatorMixin.cjs.js +108 -0
- package/react/utils/validatorMixin.cjs.js.map +1 -0
- package/react/utils/validatorMixin.js +104 -0
- package/react/utils/validatorMixin.js.map +1 -0
- package/styles/form-hint.js +1 -1
- package/styles/form-label.js +1 -1
- package/themes/day.css +1 -1
- package/themes/night.css +3 -2
- package/themes/root.css +1 -0
- package/utils/{form.d.ts → formSubmitController.d.ts} +10 -20
- package/utils/formSubmitController.js +59 -0
- package/utils/formSubmitController.js.map +1 -0
- package/utils/inputValidationController.d.ts +70 -0
- package/utils/inputValidationController.js +125 -0
- package/utils/inputValidationController.js.map +1 -0
- package/utils/validatorMixin.d.ts +24 -0
- package/utils/validatorMixin.js +103 -0
- package/utils/validatorMixin.js.map +1 -0
- package/base/form-check-element.d.ts +0 -50
- package/base/form-check-element.js +0 -169
- package/base/form-check-element.js.map +0 -1
- package/react/base/form-check-element.cjs.js +0 -175
- package/react/base/form-check-element.cjs.js.map +0 -1
- package/react/base/form-check-element.js +0 -170
- package/react/base/form-check-element.js.map +0 -1
- package/react/utils/form.cjs.js +0 -137
- package/react/utils/form.cjs.js.map +0 -1
- package/react/utils/form.js +0 -133
- package/react/utils/form.js.map +0 -1
- package/utils/form.js +0 -132
- package/utils/form.js.map +0 -1
|
@@ -12,10 +12,15 @@ var formLabel = require('../../styles/form-label.cjs.js');
|
|
|
12
12
|
var checkboxGroup = require('./checkbox-group.cjs.js');
|
|
13
13
|
var formHint = require('../../styles/form-hint.cjs.js');
|
|
14
14
|
|
|
15
|
+
/**
|
|
16
|
+
* @summary CheckboxGroup is the container that group multiple checkboxes under a single question field.
|
|
17
|
+
* It handles the display of validation feedback of its checkboxes children.
|
|
18
|
+
*
|
|
19
|
+
* @slot default - Pass in `sgds-checkbox` into the default slot
|
|
20
|
+
*/
|
|
15
21
|
class SgdsCheckboxGroup extends sgdsElement["default"] {
|
|
16
22
|
constructor() {
|
|
17
23
|
super();
|
|
18
|
-
/**@internal */
|
|
19
24
|
this.hasInvalidCheckbox = false;
|
|
20
25
|
/** The checkbox group's label */
|
|
21
26
|
this.label = "";
|
|
@@ -27,6 +32,7 @@ class SgdsCheckboxGroup extends sgdsElement["default"] {
|
|
|
27
32
|
this.hintText = "";
|
|
28
33
|
this.addEventListener("sgds-validity-change", (e) => {
|
|
29
34
|
this.hasInvalidCheckbox = e.detail.invalid;
|
|
35
|
+
this.validationMessage = e.detail.validationMessage;
|
|
30
36
|
});
|
|
31
37
|
}
|
|
32
38
|
_checkInvalidState() {
|
|
@@ -54,7 +60,7 @@ class SgdsCheckboxGroup extends sgdsElement["default"] {
|
|
|
54
60
|
${this._renderHintText()}
|
|
55
61
|
</div>
|
|
56
62
|
<div class="checkbox-container">
|
|
57
|
-
<slot
|
|
63
|
+
<slot></slot>
|
|
58
64
|
</div>
|
|
59
65
|
${this.hasInvalidCheckbox && this.hasFeedback
|
|
60
66
|
? lit.html `
|
|
@@ -65,7 +71,9 @@ class SgdsCheckboxGroup extends sgdsElement["default"] {
|
|
|
65
71
|
fill="#B90000"
|
|
66
72
|
/>
|
|
67
73
|
</svg>
|
|
68
|
-
<div id="checkbox-feedback" tabindex="0" class="invalid-feedback"
|
|
74
|
+
<div id="checkbox-feedback" tabindex="0" class="invalid-feedback">
|
|
75
|
+
${this.invalidFeedback ? this.invalidFeedback : this.validationMessage}
|
|
76
|
+
</div>
|
|
69
77
|
</div>
|
|
70
78
|
`
|
|
71
79
|
: lit.nothing}
|
|
@@ -75,11 +83,14 @@ class SgdsCheckboxGroup extends sgdsElement["default"] {
|
|
|
75
83
|
}
|
|
76
84
|
SgdsCheckboxGroup.styles = [...sgdsElement["default"].styles, feedback["default"], formLabel["default"], checkboxGroup["default"], formHint["default"]];
|
|
77
85
|
tslib.__decorate([
|
|
78
|
-
decorators_js.queryAssignedElements({
|
|
86
|
+
decorators_js.queryAssignedElements({ flatten: true })
|
|
79
87
|
], SgdsCheckboxGroup.prototype, "checkboxes", void 0);
|
|
80
88
|
tslib.__decorate([
|
|
81
89
|
decorators_js.state()
|
|
82
90
|
], SgdsCheckboxGroup.prototype, "hasInvalidCheckbox", void 0);
|
|
91
|
+
tslib.__decorate([
|
|
92
|
+
decorators_js.state()
|
|
93
|
+
], SgdsCheckboxGroup.prototype, "validationMessage", void 0);
|
|
83
94
|
tslib.__decorate([
|
|
84
95
|
decorators_js.property({ reflect: true })
|
|
85
96
|
], SgdsCheckboxGroup.prototype, "label", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sgds-checkbox-group.cjs.js","sources":["../../../../src/components/Checkbox/sgds-checkbox-group.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { queryAssignedElements, state, property } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport feedbackStyles from \"../../styles/feedback.css\";\nimport formLabelStyles from \"../../styles/form-label.css\";\nimport checkboxGroupStyles from \"./checkbox-group.css\";\nimport formHintStyles from \"../../styles/form-hint.css\";\nimport SgdsCheckbox from \"./sgds-checkbox\";\n\nexport class SgdsCheckboxGroup extends SgdsElement {\n static styles = [...SgdsElement.styles, feedbackStyles, formLabelStyles, checkboxGroupStyles, formHintStyles];\n /**@internal */\n @queryAssignedElements({
|
|
1
|
+
{"version":3,"file":"sgds-checkbox-group.cjs.js","sources":["../../../../src/components/Checkbox/sgds-checkbox-group.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { queryAssignedElements, state, property } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport feedbackStyles from \"../../styles/feedback.css\";\nimport formLabelStyles from \"../../styles/form-label.css\";\nimport checkboxGroupStyles from \"./checkbox-group.css\";\nimport formHintStyles from \"../../styles/form-hint.css\";\nimport SgdsCheckbox from \"./sgds-checkbox\";\n/**\n * @summary CheckboxGroup is the container that group multiple checkboxes under a single question field.\n * It handles the display of validation feedback of its checkboxes children.\n *\n * @slot default - Pass in `sgds-checkbox` into the default slot\n */\nexport class SgdsCheckboxGroup extends SgdsElement {\n static styles = [...SgdsElement.styles, feedbackStyles, formLabelStyles, checkboxGroupStyles, formHintStyles];\n /**@internal */\n @queryAssignedElements({ flatten: true }) private checkboxes!: NodeListOf<SgdsCheckbox>;\n @state() private hasInvalidCheckbox = false;\n @state() private validationMessage: string;\n\n /** The checkbox group's label */\n @property({ reflect: true }) label = \"\";\n\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback = \"\";\n\n /** Allows invalidFeedback, invalid styles to be visible. When SgdsCheckboxGroup is used, it overrides the value of hasFeedback on SgdsCheckbox with its own value. */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n /** The checkbox group's hint text */\n @property({ reflect: true }) hintText = \"\";\n\n constructor() {\n super();\n this.addEventListener(\"sgds-validity-change\", (e: CustomEvent) => {\n this.hasInvalidCheckbox = e.detail.invalid;\n this.validationMessage = e.detail.validationMessage;\n });\n }\n\n private _checkInvalidState() {\n this.hasInvalidCheckbox = Array.from(this.checkboxes).some(checkbox => checkbox.invalid);\n }\n /** Overrides hasFeedback from individual SgdsCheckbox */\n private _forwardHasFeedback() {\n Array.from(this.checkboxes).forEach(checkbox => (checkbox.hasFeedback = this.hasFeedback));\n }\n\n protected _renderHintText() {\n const hintTextTemplate = html` <div class=\"form-text\">${this.hintText}</div> `;\n return this.hintText && hintTextTemplate;\n }\n\n firstUpdated() {\n this._forwardHasFeedback();\n }\n updated() {\n this._checkInvalidState();\n }\n render() {\n return html`\n <fieldset>\n <div class=\"label-hint-container\">\n <label class=\"form-label\">${this.label}</label>\n ${this._renderHintText()}\n </div>\n <div class=\"checkbox-container\">\n <slot></slot>\n </div>\n ${this.hasInvalidCheckbox && this.hasFeedback\n ? html`\n <div class=\"invalid-feedback-container\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M17.5 10C17.5 14.1421 14.1421 17.5 10 17.5C5.85786 17.5 2.5 14.1421 2.5 10C2.5 5.85786 5.85786 2.5 10 2.5C14.1421 2.5 17.5 5.85786 17.5 10ZM10 6.25C9.49805 6.25 9.10584 6.68339 9.15578 7.18285L9.48461 10.4711C9.51109 10.7359 9.7339 10.9375 10 10.9375C10.2661 10.9375 10.4889 10.7359 10.5154 10.4711L10.8442 7.18285C10.8942 6.68339 10.5019 6.25 10 6.25ZM10.0014 11.875C9.48368 11.875 9.06394 12.2947 9.06394 12.8125C9.06394 13.3303 9.48368 13.75 10.0014 13.75C10.5192 13.75 10.9389 13.3303 10.9389 12.8125C10.9389 12.2947 10.5192 11.875 10.0014 11.875Z\"\n fill=\"#B90000\"\n />\n </svg>\n <div id=\"checkbox-feedback\" tabindex=\"0\" class=\"invalid-feedback\">\n ${this.invalidFeedback ? this.invalidFeedback : this.validationMessage}\n </div>\n </div>\n `\n : nothing}\n </fieldset>\n `;\n }\n}\n\nexport default SgdsCheckboxGroup;\n"],"names":["SgdsElement","html","nothing","feedbackStyles","formLabelStyles","checkboxGroupStyles","formHintStyles","__decorate","queryAssignedElements","state","property"],"mappings":"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"}
|
|
@@ -8,10 +8,15 @@ import css_248z$1 from '../../styles/form-label.js';
|
|
|
8
8
|
import css_248z$2 from './checkbox-group.js';
|
|
9
9
|
import css_248z$3 from '../../styles/form-hint.js';
|
|
10
10
|
|
|
11
|
+
/**
|
|
12
|
+
* @summary CheckboxGroup is the container that group multiple checkboxes under a single question field.
|
|
13
|
+
* It handles the display of validation feedback of its checkboxes children.
|
|
14
|
+
*
|
|
15
|
+
* @slot default - Pass in `sgds-checkbox` into the default slot
|
|
16
|
+
*/
|
|
11
17
|
class SgdsCheckboxGroup extends SgdsElement {
|
|
12
18
|
constructor() {
|
|
13
19
|
super();
|
|
14
|
-
/**@internal */
|
|
15
20
|
this.hasInvalidCheckbox = false;
|
|
16
21
|
/** The checkbox group's label */
|
|
17
22
|
this.label = "";
|
|
@@ -23,6 +28,7 @@ class SgdsCheckboxGroup extends SgdsElement {
|
|
|
23
28
|
this.hintText = "";
|
|
24
29
|
this.addEventListener("sgds-validity-change", (e) => {
|
|
25
30
|
this.hasInvalidCheckbox = e.detail.invalid;
|
|
31
|
+
this.validationMessage = e.detail.validationMessage;
|
|
26
32
|
});
|
|
27
33
|
}
|
|
28
34
|
_checkInvalidState() {
|
|
@@ -50,7 +56,7 @@ class SgdsCheckboxGroup extends SgdsElement {
|
|
|
50
56
|
${this._renderHintText()}
|
|
51
57
|
</div>
|
|
52
58
|
<div class="checkbox-container">
|
|
53
|
-
<slot
|
|
59
|
+
<slot></slot>
|
|
54
60
|
</div>
|
|
55
61
|
${this.hasInvalidCheckbox && this.hasFeedback
|
|
56
62
|
? html `
|
|
@@ -61,7 +67,9 @@ class SgdsCheckboxGroup extends SgdsElement {
|
|
|
61
67
|
fill="#B90000"
|
|
62
68
|
/>
|
|
63
69
|
</svg>
|
|
64
|
-
<div id="checkbox-feedback" tabindex="0" class="invalid-feedback"
|
|
70
|
+
<div id="checkbox-feedback" tabindex="0" class="invalid-feedback">
|
|
71
|
+
${this.invalidFeedback ? this.invalidFeedback : this.validationMessage}
|
|
72
|
+
</div>
|
|
65
73
|
</div>
|
|
66
74
|
`
|
|
67
75
|
: nothing}
|
|
@@ -71,11 +79,14 @@ class SgdsCheckboxGroup extends SgdsElement {
|
|
|
71
79
|
}
|
|
72
80
|
SgdsCheckboxGroup.styles = [...SgdsElement.styles, css_248z, css_248z$1, css_248z$2, css_248z$3];
|
|
73
81
|
__decorate([
|
|
74
|
-
queryAssignedElements({
|
|
82
|
+
queryAssignedElements({ flatten: true })
|
|
75
83
|
], SgdsCheckboxGroup.prototype, "checkboxes", void 0);
|
|
76
84
|
__decorate([
|
|
77
85
|
state()
|
|
78
86
|
], SgdsCheckboxGroup.prototype, "hasInvalidCheckbox", void 0);
|
|
87
|
+
__decorate([
|
|
88
|
+
state()
|
|
89
|
+
], SgdsCheckboxGroup.prototype, "validationMessage", void 0);
|
|
79
90
|
__decorate([
|
|
80
91
|
property({ reflect: true })
|
|
81
92
|
], SgdsCheckboxGroup.prototype, "label", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sgds-checkbox-group.js","sources":["../../../../src/components/Checkbox/sgds-checkbox-group.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { queryAssignedElements, state, property } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport feedbackStyles from \"../../styles/feedback.css\";\nimport formLabelStyles from \"../../styles/form-label.css\";\nimport checkboxGroupStyles from \"./checkbox-group.css\";\nimport formHintStyles from \"../../styles/form-hint.css\";\nimport SgdsCheckbox from \"./sgds-checkbox\";\n\nexport class SgdsCheckboxGroup extends SgdsElement {\n static styles = [...SgdsElement.styles, feedbackStyles, formLabelStyles, checkboxGroupStyles, formHintStyles];\n /**@internal */\n @queryAssignedElements({
|
|
1
|
+
{"version":3,"file":"sgds-checkbox-group.js","sources":["../../../../src/components/Checkbox/sgds-checkbox-group.ts"],"sourcesContent":["import { html, nothing } from \"lit\";\nimport { queryAssignedElements, state, property } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport feedbackStyles from \"../../styles/feedback.css\";\nimport formLabelStyles from \"../../styles/form-label.css\";\nimport checkboxGroupStyles from \"./checkbox-group.css\";\nimport formHintStyles from \"../../styles/form-hint.css\";\nimport SgdsCheckbox from \"./sgds-checkbox\";\n/**\n * @summary CheckboxGroup is the container that group multiple checkboxes under a single question field.\n * It handles the display of validation feedback of its checkboxes children.\n *\n * @slot default - Pass in `sgds-checkbox` into the default slot\n */\nexport class SgdsCheckboxGroup extends SgdsElement {\n static styles = [...SgdsElement.styles, feedbackStyles, formLabelStyles, checkboxGroupStyles, formHintStyles];\n /**@internal */\n @queryAssignedElements({ flatten: true }) private checkboxes!: NodeListOf<SgdsCheckbox>;\n @state() private hasInvalidCheckbox = false;\n @state() private validationMessage: string;\n\n /** The checkbox group's label */\n @property({ reflect: true }) label = \"\";\n\n /**Feedback text for error state when validated */\n @property({ type: String, reflect: true }) invalidFeedback = \"\";\n\n /** Allows invalidFeedback, invalid styles to be visible. When SgdsCheckboxGroup is used, it overrides the value of hasFeedback on SgdsCheckbox with its own value. */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n /** The checkbox group's hint text */\n @property({ reflect: true }) hintText = \"\";\n\n constructor() {\n super();\n this.addEventListener(\"sgds-validity-change\", (e: CustomEvent) => {\n this.hasInvalidCheckbox = e.detail.invalid;\n this.validationMessage = e.detail.validationMessage;\n });\n }\n\n private _checkInvalidState() {\n this.hasInvalidCheckbox = Array.from(this.checkboxes).some(checkbox => checkbox.invalid);\n }\n /** Overrides hasFeedback from individual SgdsCheckbox */\n private _forwardHasFeedback() {\n Array.from(this.checkboxes).forEach(checkbox => (checkbox.hasFeedback = this.hasFeedback));\n }\n\n protected _renderHintText() {\n const hintTextTemplate = html` <div class=\"form-text\">${this.hintText}</div> `;\n return this.hintText && hintTextTemplate;\n }\n\n firstUpdated() {\n this._forwardHasFeedback();\n }\n updated() {\n this._checkInvalidState();\n }\n render() {\n return html`\n <fieldset>\n <div class=\"label-hint-container\">\n <label class=\"form-label\">${this.label}</label>\n ${this._renderHintText()}\n </div>\n <div class=\"checkbox-container\">\n <slot></slot>\n </div>\n ${this.hasInvalidCheckbox && this.hasFeedback\n ? html`\n <div class=\"invalid-feedback-container\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M17.5 10C17.5 14.1421 14.1421 17.5 10 17.5C5.85786 17.5 2.5 14.1421 2.5 10C2.5 5.85786 5.85786 2.5 10 2.5C14.1421 2.5 17.5 5.85786 17.5 10ZM10 6.25C9.49805 6.25 9.10584 6.68339 9.15578 7.18285L9.48461 10.4711C9.51109 10.7359 9.7339 10.9375 10 10.9375C10.2661 10.9375 10.4889 10.7359 10.5154 10.4711L10.8442 7.18285C10.8942 6.68339 10.5019 6.25 10 6.25ZM10.0014 11.875C9.48368 11.875 9.06394 12.2947 9.06394 12.8125C9.06394 13.3303 9.48368 13.75 10.0014 13.75C10.5192 13.75 10.9389 13.3303 10.9389 12.8125C10.9389 12.2947 10.5192 11.875 10.0014 11.875Z\"\n fill=\"#B90000\"\n />\n </svg>\n <div id=\"checkbox-feedback\" tabindex=\"0\" class=\"invalid-feedback\">\n ${this.invalidFeedback ? this.invalidFeedback : this.validationMessage}\n </div>\n </div>\n `\n : nothing}\n </fieldset>\n `;\n }\n}\n\nexport default SgdsCheckboxGroup;\n"],"names":["feedbackStyles","formLabelStyles","checkboxGroupStyles","formHintStyles"],"mappings":"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"}
|
|
@@ -4,17 +4,16 @@
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
6
|
var tslib = require('tslib');
|
|
7
|
-
var formCheckElement = require('../../base/form-check-element.cjs.js');
|
|
8
|
-
var generateId = require('../../utils/generateId.cjs.js');
|
|
9
|
-
var checkbox = require('./checkbox.cjs.js');
|
|
10
|
-
var form = require('../../utils/form.cjs.js');
|
|
11
|
-
var sgdsElement = require('../../base/sgds-element.cjs.js');
|
|
12
|
-
var decorators_js = require('lit/decorators.js');
|
|
13
|
-
var defaultvalue = require('../../utils/defaultvalue.cjs.js');
|
|
14
|
-
var watch = require('../../utils/watch.cjs.js');
|
|
15
7
|
var lit = require('lit');
|
|
8
|
+
var decorators_js = require('lit/decorators.js');
|
|
16
9
|
var classMap_js = require('lit/directives/class-map.js');
|
|
17
10
|
var ifDefined_js = require('lit/directives/if-defined.js');
|
|
11
|
+
var live_js = require('lit/directives/live.js');
|
|
12
|
+
var formControlElement = require('../../base/form-control-element.cjs.js');
|
|
13
|
+
var defaultvalue = require('../../utils/defaultvalue.cjs.js');
|
|
14
|
+
var validatorMixin = require('../../utils/validatorMixin.cjs.js');
|
|
15
|
+
var watch = require('../../utils/watch.cjs.js');
|
|
16
|
+
var checkbox = require('./checkbox.cjs.js');
|
|
18
17
|
|
|
19
18
|
/**
|
|
20
19
|
* @summary Checkbox component is used when you require users to select multiple items from a list.
|
|
@@ -22,36 +21,29 @@ var ifDefined_js = require('lit/directives/if-defined.js');
|
|
|
22
21
|
* @slot default - The label of checkbox.
|
|
23
22
|
*
|
|
24
23
|
* @event sgds-change - Emitted when the checked state changes.
|
|
24
|
+
* @event sgds-blur - Emitted when input is not in focus.
|
|
25
|
+
* @event sgds-focus - Emitted when input is in focus.
|
|
25
26
|
* @event sgds-validity-change - Emitted when the invalid state changes. This event is used by sgds-checkbox-group to check the invalid state change of its children
|
|
26
27
|
*/
|
|
27
|
-
class SgdsCheckbox extends
|
|
28
|
+
class SgdsCheckbox extends validatorMixin.SgdsFormValidatorMixin(formControlElement["default"]) {
|
|
28
29
|
constructor() {
|
|
29
30
|
super(...arguments);
|
|
30
|
-
/**@internal */
|
|
31
|
-
this.formSubmitController = new form.FormSubmitController(this, {
|
|
32
|
-
value: (control) => (control.checked ? control.value : undefined),
|
|
33
|
-
defaultValue: (control) => control.defaultChecked,
|
|
34
|
-
setValue: (control, checked) => (control.checked = checked)
|
|
35
|
-
});
|
|
36
|
-
/** Makes the checkbox a required field. */
|
|
37
|
-
this.required = false;
|
|
38
31
|
/** Draws the checkbox in a checked state. */
|
|
39
32
|
this.checked = false;
|
|
40
|
-
/** Disables the checkbox (so the user can't check / uncheck it). */
|
|
41
|
-
this.disabled = false;
|
|
42
33
|
/** Allows invalidFeedback, invalid and valid styles to be visible with the input */
|
|
43
34
|
this.hasFeedback = false;
|
|
44
35
|
/** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */
|
|
45
36
|
this.defaultChecked = false;
|
|
46
|
-
/** Marks the checkbox input as invalid. Replace the pseudo :invalid selector for absent in custom elements */
|
|
47
|
-
this.invalid = false;
|
|
48
37
|
/** Marks the checkbox input as indeterminate , with indeterminate logo */
|
|
49
38
|
this.indeterminate = false;
|
|
50
|
-
/**
|
|
51
|
-
this.
|
|
39
|
+
/** Makes the checkbox a required field. */
|
|
40
|
+
this.required = false;
|
|
41
|
+
this._isTouched = false;
|
|
52
42
|
}
|
|
53
43
|
_handleInvalidChange() {
|
|
54
|
-
this.emit("sgds-validity-change", {
|
|
44
|
+
this.emit("sgds-validity-change", {
|
|
45
|
+
detail: { invalid: this.invalid, validationMessage: this.input.validationMessage }
|
|
46
|
+
});
|
|
55
47
|
}
|
|
56
48
|
/** Simulates a click on the checkbox. */
|
|
57
49
|
click() {
|
|
@@ -65,19 +57,13 @@ class SgdsCheckbox extends sgdsElement["default"] {
|
|
|
65
57
|
blur() {
|
|
66
58
|
this.input.blur();
|
|
67
59
|
}
|
|
68
|
-
|
|
69
|
-
reportValidity() {
|
|
70
|
-
if (!this.input.reportValidity()) {
|
|
71
|
-
this.invalid = !this.input.checkValidity();
|
|
72
|
-
}
|
|
73
|
-
return this.input.reportValidity();
|
|
74
|
-
}
|
|
75
|
-
_handleChange() {
|
|
60
|
+
_handleChange(e) {
|
|
76
61
|
if (this.indeterminate) {
|
|
77
62
|
this.indeterminate = !this.indeterminate;
|
|
78
63
|
}
|
|
79
64
|
this.checked = !this.checked;
|
|
80
65
|
this.value = this.input.value;
|
|
66
|
+
super._mixinHandleChange(e);
|
|
81
67
|
this.emit("sgds-change", { detail: { checked: this.checked, value: this.value } });
|
|
82
68
|
}
|
|
83
69
|
_handleKeyDown(event) {
|
|
@@ -86,6 +72,13 @@ class SgdsCheckbox extends sgdsElement["default"] {
|
|
|
86
72
|
this.click();
|
|
87
73
|
}
|
|
88
74
|
}
|
|
75
|
+
_handleBlur() {
|
|
76
|
+
this._isTouched = true;
|
|
77
|
+
this.emit("sgds-blur");
|
|
78
|
+
}
|
|
79
|
+
_handleFocus() {
|
|
80
|
+
this.emit("sgds-focus");
|
|
81
|
+
}
|
|
89
82
|
_handleInvalid(e) {
|
|
90
83
|
e.preventDefault();
|
|
91
84
|
this.invalid = true;
|
|
@@ -93,12 +86,43 @@ class SgdsCheckbox extends sgdsElement["default"] {
|
|
|
93
86
|
/** @internal */
|
|
94
87
|
_handleDisabledChange() {
|
|
95
88
|
// Disabled form controls are always valid, so we need to recheck validity when the state changes
|
|
96
|
-
this.
|
|
97
|
-
this.invalid = !this.input.checkValidity();
|
|
89
|
+
this.setInvalid(false);
|
|
98
90
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
91
|
+
_handleIsTouched() {
|
|
92
|
+
if (this._isTouched) {
|
|
93
|
+
this.invalid = !this.input.checkValidity();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
_mixinResetFormControl() {
|
|
97
|
+
this._isTouched = false;
|
|
98
|
+
this.checked = this.input.checked = this.defaultChecked;
|
|
99
|
+
this.input.dispatchEvent(new InputEvent("reset"));
|
|
100
|
+
this._mixinResetValidity(this.input);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Checks for validity. Under the hood, HTMLFormElement's reportValidity method calls this method to check for component's validity state
|
|
104
|
+
* Note that the native error popup is prevented for SGDS form components by default. Instead the validation message shows up in the feedback container of SgdsInput
|
|
105
|
+
*/
|
|
106
|
+
reportValidity() {
|
|
107
|
+
return this._mixinReportValidity();
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Checks for validity without any native error popup message
|
|
111
|
+
*/
|
|
112
|
+
checkValidity() {
|
|
113
|
+
return this._mixinCheckValidity();
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Returns the ValidityState object
|
|
117
|
+
*/
|
|
118
|
+
get validity() {
|
|
119
|
+
return this._mixinGetValidity();
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Returns the validation message based on the ValidityState
|
|
123
|
+
*/
|
|
124
|
+
get validationMessage() {
|
|
125
|
+
return this._mixinGetValidationMessage();
|
|
102
126
|
}
|
|
103
127
|
render() {
|
|
104
128
|
return lit.html `
|
|
@@ -110,45 +134,35 @@ class SgdsCheckbox extends sgdsElement["default"] {
|
|
|
110
134
|
"is-invalid": this.hasFeedback && this.invalid
|
|
111
135
|
})}
|
|
112
136
|
type="checkbox"
|
|
113
|
-
id=${this.
|
|
137
|
+
id=${this._controlId}
|
|
114
138
|
aria-invalid=${this.invalid ? "true" : "false"}
|
|
115
139
|
name=${ifDefined_js.ifDefined(this.name)}
|
|
116
|
-
value=${ifDefined_js.ifDefined(this.value)}
|
|
117
|
-
?checked=${this.checked}
|
|
118
140
|
?indeterminate=${this.indeterminate}
|
|
119
|
-
?disabled=${this.disabled}
|
|
120
141
|
?required=${this.required}
|
|
121
142
|
aria-disabled=${this.disabled ? "true" : "false"}
|
|
122
143
|
aria-checked=${this.checked ? "true" : "false"}
|
|
123
|
-
@change=${this._handleChange}
|
|
144
|
+
@change=${(e) => this._handleChange(e)}
|
|
124
145
|
@keydown=${this._handleKeyDown}
|
|
125
146
|
@invalid=${(e) => this._handleInvalid(e)}
|
|
147
|
+
.checked=${live_js.live(this.checked)}
|
|
148
|
+
.disabled=${this.disabled}
|
|
149
|
+
.required=${this.required}
|
|
150
|
+
@blur=${this._handleBlur}
|
|
151
|
+
@focus=${this._handleFocus}
|
|
126
152
|
/>
|
|
127
153
|
</div>
|
|
128
|
-
<label for="${this.
|
|
154
|
+
<label for="${this._controlId}" class="form-check-label" id="${this._labelId}"><slot></slot></label>
|
|
129
155
|
</div>
|
|
130
156
|
`;
|
|
131
157
|
}
|
|
132
158
|
}
|
|
133
|
-
SgdsCheckbox.styles = [...
|
|
134
|
-
tslib.__decorate([
|
|
135
|
-
decorators_js.query('input[type="checkbox"]')
|
|
136
|
-
], SgdsCheckbox.prototype, "input", void 0);
|
|
137
|
-
tslib.__decorate([
|
|
138
|
-
decorators_js.property({ type: String, reflect: true })
|
|
139
|
-
], SgdsCheckbox.prototype, "name", void 0);
|
|
159
|
+
SgdsCheckbox.styles = [...formControlElement["default"].styles, checkbox["default"]];
|
|
140
160
|
tslib.__decorate([
|
|
141
161
|
decorators_js.property({ type: String, reflect: true })
|
|
142
162
|
], SgdsCheckbox.prototype, "value", void 0);
|
|
143
|
-
tslib.__decorate([
|
|
144
|
-
decorators_js.property({ type: Boolean, reflect: true })
|
|
145
|
-
], SgdsCheckbox.prototype, "required", void 0);
|
|
146
163
|
tslib.__decorate([
|
|
147
164
|
decorators_js.property({ type: Boolean, reflect: true })
|
|
148
165
|
], SgdsCheckbox.prototype, "checked", void 0);
|
|
149
|
-
tslib.__decorate([
|
|
150
|
-
decorators_js.property({ type: Boolean, reflect: true })
|
|
151
|
-
], SgdsCheckbox.prototype, "disabled", void 0);
|
|
152
166
|
tslib.__decorate([
|
|
153
167
|
decorators_js.property({ type: Boolean, reflect: true })
|
|
154
168
|
], SgdsCheckbox.prototype, "hasFeedback", void 0);
|
|
@@ -157,10 +171,13 @@ tslib.__decorate([
|
|
|
157
171
|
], SgdsCheckbox.prototype, "defaultChecked", void 0);
|
|
158
172
|
tslib.__decorate([
|
|
159
173
|
decorators_js.property({ type: Boolean, reflect: true })
|
|
160
|
-
], SgdsCheckbox.prototype, "
|
|
174
|
+
], SgdsCheckbox.prototype, "indeterminate", void 0);
|
|
161
175
|
tslib.__decorate([
|
|
162
176
|
decorators_js.property({ type: Boolean, reflect: true })
|
|
163
|
-
], SgdsCheckbox.prototype, "
|
|
177
|
+
], SgdsCheckbox.prototype, "required", void 0);
|
|
178
|
+
tslib.__decorate([
|
|
179
|
+
decorators_js.state()
|
|
180
|
+
], SgdsCheckbox.prototype, "_isTouched", void 0);
|
|
164
181
|
tslib.__decorate([
|
|
165
182
|
watch.watch("invalid", { waitUntilFirstUpdate: true })
|
|
166
183
|
], SgdsCheckbox.prototype, "_handleInvalidChange", null);
|
|
@@ -168,8 +185,8 @@ tslib.__decorate([
|
|
|
168
185
|
watch.watch("disabled", { waitUntilFirstUpdate: true })
|
|
169
186
|
], SgdsCheckbox.prototype, "_handleDisabledChange", null);
|
|
170
187
|
tslib.__decorate([
|
|
171
|
-
watch.watch("
|
|
172
|
-
], SgdsCheckbox.prototype, "
|
|
188
|
+
watch.watch("_isTouched", { waitUntilFirstUpdate: true })
|
|
189
|
+
], SgdsCheckbox.prototype, "_handleIsTouched", null);
|
|
173
190
|
|
|
174
191
|
exports.SgdsCheckbox = SgdsCheckbox;
|
|
175
192
|
exports["default"] = SgdsCheckbox;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sgds-checkbox.cjs.js","sources":["../../../../src/components/Checkbox/sgds-checkbox.ts"],"sourcesContent":["import FormCheckElement from \"../../base/form-check-element\";\nimport genId from \"../../utils/generateId\";\nimport checkboxStyle from \"./checkbox.css\";\nimport { FormSubmitController, SgdsFormControl } from \"../../utils/form\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport { property, query } from \"lit/decorators.js\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { watch } from \"../../utils/watch\";\nimport { html } from \"lit\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\n\n/**\n * @summary Checkbox component is used when you require users to select multiple items from a list.\n *\n * @slot default - The label of checkbox.\n *\n * @event sgds-change - Emitted when the checked state changes.\n * @event sgds-validity-change - Emitted when the invalid state changes. This event is used by sgds-checkbox-group to check the invalid state change of its children\n */\nexport class SgdsCheckbox extends SgdsElement implements SgdsFormControl {\n static styles = [...FormCheckElement.styles, checkboxStyle];\n /**@internal */\n @query('input[type=\"checkbox\"]') input: HTMLInputElement;\n /**@internal */\n private readonly formSubmitController = new FormSubmitController(this, {\n value: (control: FormCheckElement) => (control.checked ? control.value : undefined),\n defaultValue: (control: FormCheckElement) => control.defaultChecked,\n setValue: (control: FormCheckElement, checked: boolean) => (control.checked = checked)\n });\n /** Name of the HTML form control. Submitted with the form as part of a name/value pair. */\n @property({ type: String, reflect: true }) name: string;\n\n /** Value of the HTML form control. Primarily used to differentiate a list of related checkboxes that have the same name. */\n @property({ type: String, reflect: true }) value: string;\n\n /** Makes the checkbox a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** Draws the checkbox in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** Disables the checkbox (so the user can't check / uncheck it). */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue(\"checked\")\n defaultChecked = false;\n /** Marks the checkbox input as invalid. Replace the pseudo :invalid selector for absent in custom elements */\n @property({ type: Boolean, reflect: true }) invalid = false;\n\n /** Marks the checkbox input as indeterminate , with indeterminate logo */\n @property({ type: Boolean, reflect: true }) indeterminate = false;\n\n @watch(\"invalid\", { waitUntilFirstUpdate: true })\n _handleInvalidChange() {\n this.emit(\"sgds-validity-change\", { detail: { invalid: this.invalid } });\n }\n\n /** Simulates a click on the checkbox. */\n public click() {\n this.input.click();\n }\n /** Sets focus on the checkbox. */\n public focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the checkbox. */\n public blur() {\n this.input.blur();\n }\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n public reportValidity() {\n if (!this.input.reportValidity()) {\n this.invalid = !this.input.checkValidity();\n }\n return this.input.reportValidity();\n }\n\n private _handleChange() {\n if (this.indeterminate) {\n this.indeterminate = !this.indeterminate;\n }\n\n this.checked = !this.checked;\n this.value = this.input.value;\n this.emit(\"sgds-change\", { detail: { checked: this.checked, value: this.value } });\n }\n\n private _handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n if (event.key === \"Enter\" && !hasModifier) {\n this.click();\n }\n }\n\n private _handleInvalid(e: Event) {\n e.preventDefault();\n this.invalid = true;\n }\n /** @internal For Id/For pair of the HTML form control and label. */\n private _inputId = genId(\"checkbox\");\n\n /** @internal */\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n _handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.input.disabled = this.disabled;\n this.invalid = !this.input.checkValidity();\n }\n /** @internal */\n @watch(\"checked\", { waitUntilFirstUpdate: true })\n _handleStateChange() {\n this.invalid = !this.input.checkValidity();\n }\n\n render() {\n return html`\n <div class=\"form-check\">\n <div class=\"form-check-input-container\">\n <input\n class=${classMap({\n \"form-check-input\": true,\n \"is-invalid\": this.hasFeedback && this.invalid\n })}\n type=\"checkbox\"\n id=${this._inputId}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n ?checked=${this.checked}\n ?indeterminate=${this.indeterminate}\n ?disabled=${this.disabled}\n ?required=${this.required}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n aria-checked=${this.checked ? \"true\" : \"false\"}\n @change=${this._handleChange}\n @keydown=${this._handleKeyDown}\n @invalid=${(e: Event) => this._handleInvalid(e)}\n />\n </div>\n <label for=\"${this._inputId}\" class=\"form-check-label\"><slot></slot></label>\n </div>\n `;\n }\n}\n\nexport default SgdsCheckbox;\n"],"names":["SgdsElement","FormSubmitController","genId","html","classMap","ifDefined","FormCheckElement","checkboxStyle","__decorate","query","property","defaultValue","watch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sgds-checkbox.cjs.js","sources":["../../../../src/components/Checkbox/sgds-checkbox.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport FormControlElement from \"../../base/form-control-element\";\nimport { defaultValue } from \"../../utils/defaultvalue\";\nimport { SgdsFormControl } from \"../../utils/formSubmitController\";\nimport { SgdsFormValidatorMixin } from \"../../utils/validatorMixin\";\nimport { watch } from \"../../utils/watch\";\nimport checkboxStyle from \"./checkbox.css\";\n\n/**\n * @summary Checkbox component is used when you require users to select multiple items from a list.\n *\n * @slot default - The label of checkbox.\n *\n * @event sgds-change - Emitted when the checked state changes.\n * @event sgds-blur - Emitted when input is not in focus.\n * @event sgds-focus - Emitted when input is in focus.\n * @event sgds-validity-change - Emitted when the invalid state changes. This event is used by sgds-checkbox-group to check the invalid state change of its children\n */\nexport class SgdsCheckbox extends SgdsFormValidatorMixin(FormControlElement) implements SgdsFormControl {\n static styles = [...FormControlElement.styles, checkboxStyle];\n\n /** Value of the HTML form control. Primarily used to differentiate a list of related checkboxes that have the same name. */\n @property({ type: String, reflect: true }) value: string;\n\n /** Draws the checkbox in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** Allows invalidFeedback, invalid and valid styles to be visible with the input */\n @property({ type: Boolean, reflect: true }) hasFeedback = false;\n\n /** Gets or sets the default value used to reset this element. The initial value corresponds to the one originally specified in the HTML that created this element. */\n @defaultValue(\"checked\")\n defaultChecked = false;\n\n /** Marks the checkbox input as indeterminate , with indeterminate logo */\n @property({ type: Boolean, reflect: true }) indeterminate = false;\n\n /** Makes the checkbox a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n @state() private _isTouched = false;\n\n @watch(\"invalid\", { waitUntilFirstUpdate: true })\n _handleInvalidChange() {\n this.emit(\"sgds-validity-change\", {\n detail: { invalid: this.invalid, validationMessage: this.input.validationMessage }\n });\n }\n\n /** Simulates a click on the checkbox. */\n public click() {\n this.input.click();\n }\n /** Sets focus on the checkbox. */\n public focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the checkbox. */\n public blur() {\n this.input.blur();\n }\n\n private _handleChange(e: Event) {\n if (this.indeterminate) {\n this.indeterminate = !this.indeterminate;\n }\n\n this.checked = !this.checked;\n this.value = this.input.value;\n super._mixinHandleChange(e);\n this.emit(\"sgds-change\", { detail: { checked: this.checked, value: this.value } });\n }\n\n private _handleKeyDown(event: KeyboardEvent) {\n const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n if (event.key === \"Enter\" && !hasModifier) {\n this.click();\n }\n }\n\n private _handleBlur() {\n this._isTouched = true;\n this.emit(\"sgds-blur\");\n }\n\n private _handleFocus() {\n this.emit(\"sgds-focus\");\n }\n\n private _handleInvalid(e: Event) {\n e.preventDefault();\n this.invalid = true;\n }\n\n /** @internal */\n @watch(\"disabled\", { waitUntilFirstUpdate: true })\n _handleDisabledChange() {\n // Disabled form controls are always valid, so we need to recheck validity when the state changes\n this.setInvalid(false);\n }\n\n @watch(\"_isTouched\", { waitUntilFirstUpdate: true })\n _handleIsTouched() {\n if (this._isTouched) {\n this.invalid = !this.input.checkValidity();\n }\n }\n private _mixinResetFormControl() {\n this._isTouched = false;\n this.checked = this.input.checked = this.defaultChecked;\n this.input.dispatchEvent(new InputEvent(\"reset\"));\n this._mixinResetValidity(this.input);\n }\n /**\n * Checks for validity. Under the hood, HTMLFormElement's reportValidity method calls this method to check for component's validity state\n * Note that the native error popup is prevented for SGDS form components by default. Instead the validation message shows up in the feedback container of SgdsInput\n */\n public reportValidity(): boolean {\n return this._mixinReportValidity();\n }\n /**\n * Checks for validity without any native error popup message\n */\n public checkValidity(): boolean {\n return this._mixinCheckValidity();\n }\n /**\n * Returns the ValidityState object\n */\n public get validity(): ValidityState {\n return this._mixinGetValidity();\n }\n /**\n * Returns the validation message based on the ValidityState\n */\n public get validationMessage() {\n return this._mixinGetValidationMessage();\n }\n\n render() {\n return html`\n <div class=\"form-check\">\n <div class=\"form-check-input-container\">\n <input\n class=${classMap({\n \"form-check-input\": true,\n \"is-invalid\": this.hasFeedback && this.invalid\n })}\n type=\"checkbox\"\n id=${this._controlId}\n aria-invalid=${this.invalid ? \"true\" : \"false\"}\n name=${ifDefined(this.name)}\n ?indeterminate=${this.indeterminate}\n ?required=${this.required}\n aria-disabled=${this.disabled ? \"true\" : \"false\"}\n aria-checked=${this.checked ? \"true\" : \"false\"}\n @change=${(e: Event) => this._handleChange(e)}\n @keydown=${this._handleKeyDown}\n @invalid=${(e: Event) => this._handleInvalid(e)}\n .checked=${live(this.checked)}\n .disabled=${this.disabled}\n .required=${this.required}\n @blur=${this._handleBlur}\n @focus=${this._handleFocus}\n />\n </div>\n <label for=\"${this._controlId}\" class=\"form-check-label\" id=\"${this._labelId}\"><slot></slot></label>\n </div>\n `;\n }\n}\n\nexport default SgdsCheckbox;\n"],"names":["SgdsFormValidatorMixin","FormControlElement","html","classMap","ifDefined","live","checkboxStyle","__decorate","property","defaultValue","state","watch"],"mappings":"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"}
|