@carbon/web-components 2.0.0-beta.0 → 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +5128 -3232
- package/es/components/breadcrumb/breadcrumb-skeleton.d.ts.map +1 -1
- package/es/components/breadcrumb/breadcrumb-skeleton.js.map +1 -1
- package/es/components/button/button-set.d.ts +2 -2
- package/es/components/button/button-set.d.ts.map +1 -1
- package/es/components/button/button-set.js +4 -4
- package/es/components/button/button-set.js.map +1 -1
- package/es/components/button/button-skeleton.d.ts +3 -3
- package/es/components/button/button-skeleton.d.ts.map +1 -1
- package/es/components/button/button-skeleton.js +6 -6
- package/es/components/button/button-skeleton.js.map +1 -1
- package/es/components/button/button.css.js +1 -1
- package/es/components/button/button.d.ts +5 -5
- package/es/components/button/button.d.ts.map +1 -1
- package/es/components/button/button.js +6 -6
- package/es/components/button/button.js.map +1 -1
- package/es/components/button/button.rtl.css.js +1 -1
- package/es/components/{tooltip/tooltip-footer.d.ts → checkbox/checkbox-skeleton.d.ts} +4 -4
- package/es/components/checkbox/checkbox-skeleton.d.ts.map +1 -0
- package/es/components/{tooltip/tooltip-footer.js → checkbox/checkbox-skeleton.js} +15 -9
- package/es/components/checkbox/checkbox-skeleton.js.map +1 -0
- package/es/components/checkbox/checkbox.css.js +1 -1
- package/es/components/checkbox/checkbox.d.ts +21 -8
- package/es/components/checkbox/checkbox.d.ts.map +1 -1
- package/es/components/checkbox/checkbox.js +65 -17
- package/es/components/checkbox/checkbox.js.map +1 -1
- package/es/components/checkbox/checkbox.rtl.css.js +1 -1
- package/es/components/checkbox/index.d.ts +2 -1
- package/es/components/checkbox/index.d.ts.map +1 -1
- package/es/components/checkbox/index.js +2 -1
- package/es/components/checkbox/index.js.map +1 -1
- package/es/components/code-snippet/code-snippet.d.ts +0 -8
- package/es/components/code-snippet/code-snippet.d.ts.map +1 -1
- package/es/components/code-snippet/code-snippet.js +20 -56
- package/es/components/code-snippet/code-snippet.js.map +1 -1
- package/es/components/combo-box/combo-box-item.d.ts +3 -3
- package/es/components/combo-box/combo-box-item.d.ts.map +1 -1
- package/es/components/combo-box/combo-box-item.js +6 -6
- package/es/components/combo-box/combo-box-item.js.map +1 -1
- package/es/components/combo-box/combo-box.css.js +1 -1
- package/es/components/combo-box/combo-box.d.ts +11 -11
- package/es/components/combo-box/combo-box.d.ts.map +1 -1
- package/es/components/combo-box/combo-box.js +40 -19
- package/es/components/combo-box/combo-box.js.map +1 -1
- package/es/components/combo-box/combo-box.rtl.css.js +1 -1
- package/es/components/content-switcher/content-switcher.css.js +1 -1
- package/es/components/content-switcher/content-switcher.rtl.css.js +1 -1
- package/es/components/copy/copy.d.ts +49 -0
- package/es/components/copy/copy.d.ts.map +1 -0
- package/es/components/copy/copy.js +183 -0
- package/es/components/copy/copy.js.map +1 -0
- package/es/components/copy-button/copy-button.css.js +1 -1
- package/es/components/copy-button/copy-button.d.ts +8 -53
- package/es/components/copy-button/copy-button.d.ts.map +1 -1
- package/es/components/copy-button/copy-button.js +22 -150
- package/es/components/copy-button/copy-button.js.map +1 -1
- package/es/components/copy-button/copy-button.rtl.css.js +1 -1
- package/es/components/data-table/data-table.css.js +1 -1
- package/es/components/data-table/data-table.rtl.css.js +1 -1
- package/es/components/data-table/table-header-cell.d.ts.map +1 -1
- package/es/components/data-table/table-header-cell.js +2 -2
- package/es/components/data-table/table-header-cell.js.map +1 -1
- package/es/components/data-table/table-toolbar-search.d.ts +3 -3
- package/es/components/data-table/table-toolbar-search.d.ts.map +1 -1
- package/es/components/data-table/table-toolbar-search.js +3 -3
- package/es/components/data-table/table-toolbar-search.js.map +1 -1
- package/es/components/date-picker/date-picker-input-skeleton.d.ts +2 -2
- package/es/components/date-picker/date-picker-input-skeleton.d.ts.map +1 -1
- package/es/components/date-picker/date-picker-input-skeleton.js +4 -4
- package/es/components/date-picker/date-picker-input-skeleton.js.map +1 -1
- package/es/components/date-picker/date-picker-input.d.ts +38 -352
- package/es/components/date-picker/date-picker-input.d.ts.map +1 -1
- package/es/components/date-picker/date-picker-input.js +138 -97
- package/es/components/date-picker/date-picker-input.js.map +1 -1
- package/es/components/date-picker/date-picker.css.js +1 -1
- package/es/components/date-picker/date-picker.d.ts +23 -3
- package/es/components/date-picker/date-picker.d.ts.map +1 -1
- package/es/components/date-picker/date-picker.js +100 -24
- package/es/components/date-picker/date-picker.js.map +1 -1
- package/es/components/date-picker/date-picker.rtl.css.js +1 -1
- package/es/components/date-picker/defs.d.ts +1 -14
- package/es/components/date-picker/defs.d.ts.map +1 -1
- package/es/components/date-picker/defs.js +1 -10
- package/es/components/date-picker/defs.js.map +1 -1
- package/es/components/date-picker/fix-events-plugin.d.ts +6 -6
- package/es/components/date-picker/fix-events-plugin.d.ts.map +1 -1
- package/es/components/date-picker/fix-events-plugin.js +7 -7
- package/es/components/date-picker/fix-events-plugin.js.map +1 -1
- package/es/components/date-picker/focus-plugin.d.ts +9 -9
- package/es/components/date-picker/focus-plugin.d.ts.map +1 -1
- package/es/components/date-picker/focus-plugin.js +16 -16
- package/es/components/date-picker/focus-plugin.js.map +1 -1
- package/es/components/date-picker/shadow-dom-events-plugin.d.ts +2 -2
- package/es/components/date-picker/shadow-dom-events-plugin.d.ts.map +1 -1
- package/es/components/date-picker/shadow-dom-events-plugin.js +4 -4
- package/es/components/date-picker/shadow-dom-events-plugin.js.map +1 -1
- package/es/components/date-picker/state-handshake-plugin.d.ts +2 -2
- package/es/components/date-picker/state-handshake-plugin.d.ts.map +1 -1
- package/es/components/date-picker/state-handshake-plugin.js.map +1 -1
- package/es/components/dropdown/defs.d.ts +16 -3
- package/es/components/dropdown/defs.d.ts.map +1 -1
- package/es/components/dropdown/defs.js +11 -2
- package/es/components/dropdown/defs.js.map +1 -1
- package/es/components/dropdown/dropdown-item.d.ts +2 -2
- package/es/components/dropdown/dropdown-item.d.ts.map +1 -1
- package/es/components/dropdown/dropdown-item.js +4 -4
- package/es/components/dropdown/dropdown-item.js.map +1 -1
- package/es/components/dropdown/dropdown-skeleton.d.ts +2 -2
- package/es/components/dropdown/dropdown-skeleton.d.ts.map +1 -1
- package/es/components/dropdown/dropdown-skeleton.js +4 -4
- package/es/components/dropdown/dropdown-skeleton.js.map +1 -1
- package/es/components/dropdown/dropdown.css.js +1 -1
- package/es/components/dropdown/dropdown.d.ts +45 -20
- package/es/components/dropdown/dropdown.d.ts.map +1 -1
- package/es/components/dropdown/dropdown.js +156 -65
- package/es/components/dropdown/dropdown.js.map +1 -1
- package/es/components/dropdown/dropdown.rtl.css.js +1 -1
- package/es/components/file-uploader/file-uploader.css.js +1 -1
- package/es/components/file-uploader/file-uploader.rtl.css.js +1 -1
- package/es/components/icon-button/defs.d.ts +64 -0
- package/es/components/icon-button/defs.d.ts.map +1 -0
- package/es/components/icon-button/defs.js +34 -0
- package/es/components/icon-button/defs.js.map +1 -0
- package/es/components/icon-button/icon-button.css.js +12 -0
- package/es/components/icon-button/icon-button.d.ts +50 -0
- package/es/components/icon-button/icon-button.d.ts.map +1 -0
- package/es/components/icon-button/icon-button.js +176 -0
- package/es/components/icon-button/icon-button.js.map +1 -0
- package/es/components/icon-button/icon-button.rtl.css.js +12 -0
- package/es/components/icon-button/index.d.ts +11 -0
- package/es/components/icon-button/index.d.ts.map +1 -0
- package/es/components/icon-button/index.js +11 -0
- package/es/components/icon-button/index.js.map +1 -0
- package/es/components/inline-loading/inline-loading.d.ts +6 -2
- package/es/components/inline-loading/inline-loading.d.ts.map +1 -1
- package/es/components/inline-loading/inline-loading.js +20 -5
- package/es/components/inline-loading/inline-loading.js.map +1 -1
- package/es/components/input/defs.d.ts +1 -1
- package/es/components/input/defs.d.ts.map +1 -1
- package/es/components/input/defs.js +1 -1
- package/es/components/input/defs.js.map +1 -1
- package/es/components/input/input.d.ts +31 -7
- package/es/components/input/input.d.ts.map +1 -1
- package/es/components/input/input.js +88 -11
- package/es/components/input/input.js.map +1 -1
- package/es/components/layer/layer.css.js +1 -1
- package/es/components/layer/layer.rtl.css.js +1 -1
- package/es/components/list/list.css.js +1 -1
- package/es/components/list/list.rtl.css.js +1 -1
- package/es/components/list/ordered-list.d.ts +3 -3
- package/es/components/list/ordered-list.d.ts.map +1 -1
- package/es/components/list/ordered-list.js +6 -6
- package/es/components/list/ordered-list.js.map +1 -1
- package/es/components/list/unordered-list.d.ts +2 -2
- package/es/components/list/unordered-list.d.ts.map +1 -1
- package/es/components/list/unordered-list.js +5 -5
- package/es/components/list/unordered-list.js.map +1 -1
- package/es/components/loading/loading.css.js +1 -1
- package/es/components/loading/loading.d.ts +2 -2
- package/es/components/loading/loading.d.ts.map +1 -1
- package/es/components/loading/loading.js +4 -4
- package/es/components/loading/loading.js.map +1 -1
- package/es/components/loading/loading.rtl.css.js +1 -1
- package/es/components/modal/modal-footer-button.d.ts +3 -3
- package/es/components/modal/modal-footer-button.d.ts.map +1 -1
- package/es/components/modal/modal-footer-button.js +6 -6
- package/es/components/modal/modal-footer-button.js.map +1 -1
- package/es/components/modal/modal-footer.d.ts.map +1 -1
- package/es/components/modal/modal-footer.js +1 -1
- package/es/components/modal/modal-footer.js.map +1 -1
- package/es/components/modal/modal.css.js +1 -1
- package/es/components/modal/modal.d.ts.map +1 -1
- package/es/components/modal/modal.js +2 -2
- package/es/components/modal/modal.js.map +1 -1
- package/es/components/modal/modal.rtl.css.js +1 -1
- package/es/components/multi-select/multi-select-item.d.ts +3 -3
- package/es/components/multi-select/multi-select-item.d.ts.map +1 -1
- package/es/components/multi-select/multi-select-item.js +6 -6
- package/es/components/multi-select/multi-select-item.js.map +1 -1
- package/es/components/multi-select/multi-select.css.js +1 -1
- package/es/components/multi-select/multi-select.d.ts +9 -9
- package/es/components/multi-select/multi-select.d.ts.map +1 -1
- package/es/components/multi-select/multi-select.js +17 -17
- package/es/components/multi-select/multi-select.js.map +1 -1
- package/es/components/multi-select/multi-select.rtl.css.js +1 -1
- package/es/components/notification/actionable-notification-button.d.ts +21 -0
- package/es/components/notification/actionable-notification-button.d.ts.map +1 -0
- package/es/components/notification/actionable-notification-button.js +56 -0
- package/es/components/notification/actionable-notification-button.js.map +1 -0
- package/es/components/notification/actionable-notification.css.js +12 -0
- package/es/components/notification/actionable-notification.d.ts +370 -0
- package/es/components/notification/actionable-notification.d.ts.map +1 -0
- package/es/components/notification/actionable-notification.js +281 -0
- package/es/components/notification/actionable-notification.js.map +1 -0
- package/es/components/notification/actionable-notification.rtl.css.js +12 -0
- package/es/components/notification/defs.d.ts +17 -1
- package/es/components/notification/defs.d.ts.map +1 -1
- package/es/components/notification/defs.js +3 -0
- package/es/components/notification/defs.js.map +1 -1
- package/es/components/notification/index.d.ts +2 -0
- package/es/components/notification/index.d.ts.map +1 -1
- package/es/components/notification/index.js +2 -0
- package/es/components/notification/index.js.map +1 -1
- package/es/components/notification/inline-notification.css.js +1 -1
- package/es/components/notification/inline-notification.d.ts +8 -8
- package/es/components/notification/inline-notification.d.ts.map +1 -1
- package/es/components/notification/inline-notification.js +23 -18
- package/es/components/notification/inline-notification.js.map +1 -1
- package/es/components/notification/inline-notification.rtl.css.js +1 -1
- package/es/components/notification/toast-notification.css.js +1 -1
- package/es/components/notification/toast-notification.d.ts +4 -4
- package/es/components/notification/toast-notification.d.ts.map +1 -1
- package/es/components/notification/toast-notification.js +7 -7
- package/es/components/notification/toast-notification.js.map +1 -1
- package/es/components/notification/toast-notification.rtl.css.js +1 -1
- package/es/components/number-input/index.d.ts +2 -1
- package/es/components/number-input/index.d.ts.map +1 -1
- package/es/components/number-input/index.js +2 -1
- package/es/components/number-input/index.js.map +1 -1
- package/es/components/number-input/number-input-skeleton.d.ts +2 -2
- package/es/components/number-input/number-input-skeleton.d.ts.map +1 -1
- package/es/components/number-input/number-input-skeleton.js +4 -4
- package/es/components/number-input/number-input-skeleton.js.map +1 -1
- package/es/components/number-input/number-input.css.js +1 -1
- package/es/components/number-input/number-input.d.ts +12 -25
- package/es/components/number-input/number-input.d.ts.map +1 -1
- package/es/components/number-input/number-input.js +85 -106
- package/es/components/number-input/number-input.js.map +1 -1
- package/es/components/number-input/number-input.rtl.css.js +1 -1
- package/es/components/pagination/pagination.css.js +1 -1
- package/es/components/pagination/pagination.rtl.css.js +1 -1
- package/es/components/popover/defs.d.ts +63 -0
- package/es/components/popover/defs.d.ts.map +1 -0
- package/es/components/popover/defs.js +28 -0
- package/es/components/popover/defs.js.map +1 -0
- package/es/components/popover/index.d.ts +12 -0
- package/es/components/popover/index.d.ts.map +1 -0
- package/es/components/popover/index.js +12 -0
- package/es/components/popover/index.js.map +1 -0
- package/es/components/popover/popover-content.d.ts +45 -0
- package/es/components/popover/popover-content.d.ts.map +1 -0
- package/es/components/popover/popover-content.js +141 -0
- package/es/components/popover/popover-content.js.map +1 -0
- package/es/components/popover/popover.css.js +12 -0
- package/es/components/popover/popover.d.ts +54 -0
- package/es/components/popover/popover.d.ts.map +1 -0
- package/es/components/popover/popover.js +201 -0
- package/es/components/popover/popover.js.map +1 -0
- package/es/components/popover/popover.rtl.css.js +12 -0
- package/es/components/progress-indicator/progress-indicator.css.js +1 -1
- package/es/components/progress-indicator/progress-indicator.rtl.css.js +1 -1
- package/es/components/radio-button/radio-button.css.js +1 -1
- package/es/components/radio-button/radio-button.rtl.css.js +1 -1
- package/es/components/search/search-skeleton.d.ts +3 -3
- package/es/components/search/search-skeleton.d.ts.map +1 -1
- package/es/components/search/search-skeleton.js +6 -6
- package/es/components/search/search-skeleton.js.map +1 -1
- package/es/components/search/search.css.js +1 -1
- package/es/components/search/search.d.ts +361 -19
- package/es/components/search/search.d.ts.map +1 -1
- package/es/components/search/search.js +136 -29
- package/es/components/search/search.js.map +1 -1
- package/es/components/search/search.rtl.css.js +1 -1
- package/es/components/select/index.d.ts +2 -1
- package/es/components/select/index.d.ts.map +1 -1
- package/es/components/select/index.js +2 -1
- package/es/components/select/index.js.map +1 -1
- package/es/components/select/select-item-group.d.ts +2 -2
- package/es/components/select/select-item-group.d.ts.map +1 -1
- package/es/components/select/select-item-group.js +4 -4
- package/es/components/select/select-item-group.js.map +1 -1
- package/es/components/select/select-item.d.ts +2 -2
- package/es/components/select/select-item.d.ts.map +1 -1
- package/es/components/select/select-item.js +4 -4
- package/es/components/select/select-item.js.map +1 -1
- package/es/components/select/select-skeleton.d.ts +23 -0
- package/es/components/select/select-skeleton.d.ts.map +1 -0
- package/es/components/select/select-skeleton.js +72 -0
- package/es/components/select/select-skeleton.js.map +1 -0
- package/es/components/select/select.css.js +1 -1
- package/es/components/select/select.d.ts +29 -331
- package/es/components/select/select.d.ts.map +1 -1
- package/es/components/select/select.js +151 -74
- package/es/components/select/select.js.map +1 -1
- package/es/components/select/select.rtl.css.js +1 -1
- package/es/components/skeleton-placeholder/skeleton-placeholder.d.ts +2 -2
- package/es/components/skeleton-placeholder/skeleton-placeholder.d.ts.map +1 -1
- package/es/components/skeleton-placeholder/skeleton-placeholder.js +4 -4
- package/es/components/skeleton-placeholder/skeleton-placeholder.js.map +1 -1
- package/es/components/skeleton-text/defs.d.ts +2 -6
- package/es/components/skeleton-text/defs.d.ts.map +1 -1
- package/es/components/skeleton-text/defs.js +1 -2
- package/es/components/skeleton-text/defs.js.map +1 -1
- package/es/components/skeleton-text/skeleton-text.css.js +1 -1
- package/es/components/skeleton-text/skeleton-text.d.ts +2 -2
- package/es/components/skeleton-text/skeleton-text.d.ts.map +1 -1
- package/es/components/skeleton-text/skeleton-text.js +4 -4
- package/es/components/skeleton-text/skeleton-text.js.map +1 -1
- package/es/components/skeleton-text/skeleton-text.rtl.css.js +1 -1
- package/es/components/slider/slider-input.d.ts +11 -9
- package/es/components/slider/slider-input.d.ts.map +1 -1
- package/es/components/slider/slider-input.js +36 -18
- package/es/components/slider/slider-input.js.map +1 -1
- package/es/components/slider/slider-skeleton.d.ts +2 -2
- package/es/components/slider/slider-skeleton.d.ts.map +1 -1
- package/es/components/slider/slider-skeleton.js +4 -4
- package/es/components/slider/slider-skeleton.js.map +1 -1
- package/es/components/slider/slider.css.js +1 -1
- package/es/components/slider/slider.d.ts +38 -20
- package/es/components/slider/slider.d.ts.map +1 -1
- package/es/components/slider/slider.js +119 -54
- package/es/components/slider/slider.js.map +1 -1
- package/es/components/slider/slider.rtl.css.js +1 -1
- package/es/components/structured-list/structured-list.css.js +1 -1
- package/es/components/structured-list/structured-list.rtl.css.js +1 -1
- package/es/components/tabs/tabs.css.js +1 -1
- package/es/components/tabs/tabs.rtl.css.js +1 -1
- package/es/components/text-input/defs.d.ts +44 -0
- package/es/components/text-input/defs.d.ts.map +1 -0
- package/es/components/text-input/defs.js +36 -0
- package/es/components/text-input/defs.js.map +1 -0
- package/es/components/text-input/index.d.ts +12 -0
- package/es/components/text-input/index.d.ts.map +1 -0
- package/es/components/text-input/index.js +12 -0
- package/es/components/text-input/index.js.map +1 -0
- package/es/components/text-input/text-input-skeleton.d.ts +23 -0
- package/es/components/text-input/text-input-skeleton.d.ts.map +1 -0
- package/es/components/text-input/text-input-skeleton.js +72 -0
- package/es/components/text-input/text-input-skeleton.js.map +1 -0
- package/es/components/text-input/text-input.css.js +12 -0
- package/es/components/text-input/text-input.d.ts +786 -0
- package/es/components/text-input/text-input.d.ts.map +1 -0
- package/es/components/text-input/text-input.js +657 -0
- package/es/components/text-input/text-input.js.map +1 -0
- package/es/components/text-input/text-input.rtl.css.js +12 -0
- package/es/components/textarea/textarea-skeleton.d.ts +2 -2
- package/es/components/textarea/textarea-skeleton.d.ts.map +1 -1
- package/es/components/textarea/textarea-skeleton.js +4 -4
- package/es/components/textarea/textarea-skeleton.js.map +1 -1
- package/es/components/textarea/textarea.css.js +1 -1
- package/es/components/textarea/textarea.d.ts +6 -681
- package/es/components/textarea/textarea.d.ts.map +1 -1
- package/es/components/textarea/textarea.js +63 -197
- package/es/components/textarea/textarea.js.map +1 -1
- package/es/components/textarea/textarea.rtl.css.js +1 -1
- package/es/components/tile/expandable-tile.d.ts.map +1 -1
- package/es/components/tile/expandable-tile.js +4 -0
- package/es/components/tile/expandable-tile.js.map +1 -1
- package/es/components/tile/tile.css.js +1 -1
- package/es/components/tile/tile.rtl.css.js +1 -1
- package/es/components/toggle-tip/toggletip.d.ts +2 -2
- package/es/components/toggle-tip/toggletip.d.ts.map +1 -1
- package/es/components/toggle-tip/toggletip.js +2 -2
- package/es/components/toggle-tip/toggletip.js.map +1 -1
- package/es/components/tooltip/index.d.ts +1 -3
- package/es/components/tooltip/index.d.ts.map +1 -1
- package/es/components/tooltip/index.js +1 -3
- package/es/components/tooltip/index.js.map +1 -1
- package/es/components/tooltip/tooltip-content.d.ts +20 -0
- package/es/components/tooltip/tooltip-content.d.ts.map +1 -0
- package/es/components/tooltip/tooltip-content.js +62 -0
- package/es/components/tooltip/tooltip-content.js.map +1 -0
- package/es/components/tooltip/tooltip.css.js +1 -1
- package/es/components/tooltip/tooltip.d.ts +36 -25
- package/es/components/tooltip/tooltip.d.ts.map +1 -1
- package/es/components/tooltip/tooltip.js +111 -124
- package/es/components/tooltip/tooltip.js.map +1 -1
- package/es/components/tooltip/tooltip.rtl.css.js +1 -1
- package/es/components-react/button/button-set.js +1 -1
- package/es/components-react/button/button-skeleton.d.ts +2 -2
- package/es/components-react/button/button-skeleton.js +1 -1
- package/es/components-react/button/button.d.ts +2 -2
- package/es/components-react/button/button.js +1 -1
- package/es/components-react/checkbox/checkbox-skeleton.d.ts +15 -0
- package/es/components-react/checkbox/checkbox-skeleton.js +21 -0
- package/es/components-react/checkbox/checkbox.d.ts +2 -2
- package/es/components-react/combo-box/combo-box-item.d.ts +2 -2
- package/es/components-react/combo-box/combo-box.d.ts +2 -2
- package/es/components-react/combo-box/combo-box.js +1 -5
- package/es/components-react/copy/copy.d.ts +14 -0
- package/es/components-react/copy/copy.js +23 -0
- package/es/components-react/copy-button/copy-button.d.ts +2 -2
- package/es/components-react/date-picker/date-picker-input-skeleton.d.ts +2 -2
- package/es/components-react/date-picker/date-picker-input.d.ts +2 -2
- package/es/components-react/date-picker/date-picker-input.js +0 -1
- package/es/components-react/date-picker/date-picker.d.ts +2 -2
- package/es/components-react/dropdown/dropdown-item.d.ts +2 -2
- package/es/components-react/dropdown/dropdown-skeleton.d.ts +2 -2
- package/es/components-react/dropdown/dropdown.d.ts +2 -2
- package/es/components-react/dropdown/dropdown.js +1 -1
- package/es/components-react/icon-button/defs.js +9 -0
- package/es/components-react/{tooltip/tooltip-body.d.ts → icon-button/icon-button.d.ts} +3 -3
- package/es/components-react/icon-button/icon-button.js +24 -0
- package/es/components-react/{slider/defs.js → icon-button/index.js} +0 -1
- package/es/components-react/inline-loading/inline-loading.d.ts +2 -2
- package/es/components-react/input/input.d.ts +2 -2
- package/es/components-react/list/ordered-list.d.ts +2 -2
- package/es/components-react/list/unordered-list.d.ts +2 -2
- package/es/components-react/loading/loading.d.ts +2 -2
- package/es/components-react/modal/modal-footer-button.d.ts +2 -2
- package/es/components-react/multi-select/multi-select-item.d.ts +2 -2
- package/es/components-react/multi-select/multi-select.d.ts +2 -2
- package/es/components-react/multi-select/multi-select.js +1 -5
- package/es/components-react/notification/actionable-notification-button.d.ts +15 -0
- package/es/components-react/notification/actionable-notification-button.js +23 -0
- package/es/components-react/notification/actionable-notification.d.ts +14 -0
- package/es/components-react/notification/actionable-notification.js +23 -0
- package/es/components-react/notification/inline-notification.d.ts +2 -2
- package/es/components-react/notification/toast-notification.d.ts +2 -2
- package/es/components-react/number-input/number-input-skeleton.d.ts +2 -2
- package/es/components-react/number-input/number-input.d.ts +3 -3
- package/es/components-react/number-input/number-input.js +3 -6
- package/es/components-react/popover/defs.d.ts +14 -0
- package/es/components-react/{tooltip → popover}/defs.js +1 -1
- package/es/components-react/popover/index.d.ts +14 -0
- package/es/components-react/popover/index.js +8 -0
- package/es/components-react/popover/popover-content.d.ts +15 -0
- package/es/components-react/popover/popover-content.js +21 -0
- package/es/components-react/{tooltip/tooltip-footer.d.ts → popover/popover.d.ts} +2 -2
- package/es/components-react/{tooltip/tooltip-footer.js → popover/popover.js} +2 -2
- package/es/components-react/search/search-skeleton.d.ts +2 -2
- package/es/components-react/search/search.d.ts +2 -2
- package/es/components-react/search/search.js +0 -1
- package/es/components-react/select/select-item-group.d.ts +2 -2
- package/es/components-react/select/select-item.d.ts +2 -2
- package/es/components-react/select/select-skeleton.d.ts +15 -0
- package/es/components-react/select/select-skeleton.js +21 -0
- package/es/components-react/select/select.d.ts +2 -2
- package/es/components-react/select/select.js +0 -1
- package/es/components-react/skeleton-placeholder/skeleton-placeholder.d.ts +2 -2
- package/es/components-react/skeleton-text/skeleton-text.d.ts +2 -2
- package/es/components-react/slider/slider-input.d.ts +2 -2
- package/es/components-react/slider/slider-input.js +0 -1
- package/es/components-react/slider/slider-skeleton.d.ts +2 -2
- package/es/components-react/slider/slider.d.ts +2 -2
- package/es/components-react/text-input/defs.d.ts +14 -0
- package/es/components-react/text-input/defs.js +9 -0
- package/es/components-react/text-input/index.d.ts +14 -0
- package/es/components-react/text-input/index.js +8 -0
- package/es/components-react/text-input/text-input-skeleton.d.ts +15 -0
- package/es/components-react/text-input/text-input-skeleton.js +21 -0
- package/es/components-react/text-input/text-input.d.ts +15 -0
- package/es/components-react/text-input/text-input.js +22 -0
- package/es/components-react/textarea/textarea-skeleton.d.ts +2 -2
- package/es/components-react/textarea/textarea.d.ts +4 -5
- package/es/components-react/textarea/textarea.js +4 -3
- package/es/components-react/tooltip/tooltip-content.d.ts +14 -0
- package/es/components-react/tooltip/{tooltip-body.js → tooltip-content.js} +4 -4
- package/es/components-react/tooltip/tooltip.d.ts +4 -5
- package/es/components-react/tooltip/tooltip.js +4 -2
- package/es/globals/settings.d.ts.map +1 -1
- package/es/globals/settings.js +1 -1
- package/es/globals/settings.js.map +1 -1
- package/es/globals/wrappers/createReactCustomElementType.d.ts +3 -3
- package/es/globals/wrappers/createReactCustomElementType.d.ts.map +1 -1
- package/es/globals/wrappers/createReactCustomElementType.js +3 -3
- package/es/globals/wrappers/createReactCustomElementType.js.map +1 -1
- package/es/icons/add/16.js +1 -1
- package/es/icons/arrows/16.js +1 -1
- package/es/icons/arrows--vertical/16.js +1 -1
- package/es/icons/caret--down/16.js +1 -1
- package/es/icons/caret--up/16.js +1 -1
- package/es/icons/information/16.js +1 -1
- package/es/icons/information--filled/20.js +1 -1
- package/es/icons/information--square--filled/20.js +1 -1
- package/es/icons/subtract/16.js +1 -1
- package/es/icons/warning--alt--filled/16.js +1 -1
- package/es/icons/warning--alt--filled/20.js +1 -1
- package/es/index.d.ts +110 -108
- package/es/index.d.ts.map +1 -1
- package/es/index.js +110 -108
- package/es/index.js.map +1 -1
- package/lib/components/date-picker/defs.js +2 -11
- package/lib/components/date-picker/defs.js.map +1 -1
- package/lib/components/dropdown/defs.js +12 -3
- package/lib/components/dropdown/defs.js.map +1 -1
- package/lib/components/icon-button/defs.js +40 -0
- package/lib/components/icon-button/defs.js.map +1 -0
- package/lib/components/input/defs.js +1 -1
- package/lib/components/input/defs.js.map +1 -1
- package/lib/components/notification/defs.js +3 -0
- package/lib/components/notification/defs.js.map +1 -1
- package/lib/components/popover/defs.js +34 -0
- package/lib/components/popover/defs.js.map +1 -0
- package/lib/components/skeleton-text/defs.js +1 -2
- package/lib/components/skeleton-text/defs.js.map +1 -1
- package/lib/components/text-input/defs.js +47 -0
- package/lib/components/text-input/defs.js.map +1 -0
- package/lib/components-react-node/button/button-set.js +1 -1
- package/lib/components-react-node/button/button-skeleton.js +1 -1
- package/lib/components-react-node/button/button.js +1 -1
- package/lib/components-react-node/{tooltip/tooltip-body.js → checkbox/checkbox-skeleton.js} +3 -4
- package/lib/components-react-node/combo-box/combo-box.js +2 -8
- package/lib/components-react-node/copy/copy.js +37 -0
- package/lib/components-react-node/date-picker/date-picker-input.js +0 -6
- package/lib/components-react-node/dropdown/dropdown.js +2 -2
- package/lib/components-react-node/icon-button/defs.js +24 -0
- package/lib/components-react-node/icon-button/icon-button.js +50 -0
- package/lib/components-react-node/icon-button/index.js +9 -0
- package/lib/components-react-node/multi-select/multi-select.js +0 -6
- package/lib/components-react-node/notification/actionable-notification-button.js +37 -0
- package/lib/components-react-node/notification/actionable-notification.js +37 -0
- package/lib/components-react-node/number-input/number-input.js +3 -9
- package/lib/components-react-node/{slider → popover}/defs.js +1 -1
- package/lib/components-react-node/popover/index.js +9 -0
- package/lib/components-react-node/popover/popover-content.js +36 -0
- package/lib/components-react-node/{tooltip/tooltip-footer.js → popover/popover.js} +1 -1
- package/lib/components-react-node/search/search.js +0 -7
- package/lib/components-react-node/select/select-skeleton.js +36 -0
- package/lib/components-react-node/select/select.js +0 -7
- package/lib/components-react-node/slider/slider-input.js +0 -7
- package/lib/components-react-node/{tooltip → text-input}/defs.js +1 -1
- package/lib/components-react-node/text-input/index.js +9 -0
- package/lib/components-react-node/text-input/text-input-skeleton.js +36 -0
- package/lib/components-react-node/text-input/text-input.js +55 -0
- package/lib/components-react-node/textarea/textarea.js +3 -9
- package/lib/components-react-node/tooltip/tooltip-content.js +37 -0
- package/lib/components-react-node/tooltip/tooltip.js +3 -2
- package/lib/globals/settings.js +1 -1
- package/lib/globals/settings.js.map +1 -1
- package/lib/globals/wrappers/createReactCustomElementType.js +3 -3
- package/lib/globals/wrappers/createReactCustomElementType.js.map +1 -1
- package/package.json +5 -5
- package/scss/components/button/button.scss +5 -5
- package/scss/components/checkbox/checkbox.scss +9 -1
- package/scss/components/combo-box/combo-box.scss +51 -42
- package/scss/components/copy-button/copy-button.scss +20 -0
- package/scss/components/date-picker/date-picker.scss +28 -14
- package/scss/components/dropdown/dropdown.scss +87 -34
- package/scss/components/icon-button/icon-button.scss +14 -0
- package/scss/components/layer/layer.scss +0 -6
- package/scss/components/list/list.scss +0 -5
- package/scss/components/loading/loading.scss +1 -0
- package/scss/components/modal/modal.scss +2 -2
- package/scss/components/notification/actionable-notification.scss +170 -0
- package/scss/components/notification/inline-notification.scss +26 -0
- package/scss/components/notification/toast-notification.scss +26 -0
- package/scss/components/number-input/number-input.scss +13 -0
- package/scss/components/popover/popover.scss +122 -0
- package/scss/components/search/search.scss +54 -21
- package/scss/components/select/select.scss +20 -4
- package/scss/components/skeleton-text/skeleton-text.scss +4 -0
- package/scss/components/slider/slider.scss +9 -1
- package/scss/components/text-input/text-input.scss +38 -0
- package/scss/components/textarea/textarea.scss +7 -0
- package/scss/components/tile/tile.scss +4 -0
- package/scss/components/tooltip/tooltip.scss +5 -135
- package/es/components/slider/defs.d.ts +0 -11
- package/es/components/slider/defs.d.ts.map +0 -1
- package/es/components/slider/defs.js +0 -11
- package/es/components/slider/defs.js.map +0 -1
- package/es/components/tooltip/defs.d.ts +0 -84
- package/es/components/tooltip/defs.d.ts.map +0 -1
- package/es/components/tooltip/defs.js +0 -39
- package/es/components/tooltip/defs.js.map +0 -1
- package/es/components/tooltip/tooltip-body.d.ts +0 -40
- package/es/components/tooltip/tooltip-body.d.ts.map +0 -1
- package/es/components/tooltip/tooltip-body.js +0 -175
- package/es/components/tooltip/tooltip-body.js.map +0 -1
- package/es/components/tooltip/tooltip-footer.d.ts.map +0 -1
- package/es/components/tooltip/tooltip-footer.js.map +0 -1
- package/lib/components/slider/defs.js +0 -21
- package/lib/components/slider/defs.js.map +0 -1
- package/lib/components/tooltip/defs.js +0 -45
- package/lib/components/tooltip/defs.js.map +0 -1
- /package/es/components-react/{slider → icon-button}/defs.d.ts +0 -0
- /package/es/components-react/{tooltip/defs.d.ts → icon-button/index.d.ts} +0 -0
|
@@ -22,7 +22,6 @@ import FocusMixin from '../../globals/mixins/focus';
|
|
|
22
22
|
import FormMixin from '../../globals/mixins/form';
|
|
23
23
|
import HostListenerMixin from '../../globals/mixins/host-listener';
|
|
24
24
|
import HostListener from '../../globals/decorators/host-listener';
|
|
25
|
-
import ifNonEmpty from '../../globals/directives/if-non-empty';
|
|
26
25
|
import styles from "././slider.css.js";
|
|
27
26
|
/**
|
|
28
27
|
* The direction to move the thumb, associated with key symbols.
|
|
@@ -47,15 +46,15 @@ const THUMB_DIRECTION = {
|
|
|
47
46
|
* @slot min-text - The text for minimum value.
|
|
48
47
|
* @fires cds-slider-changed - The custom event fired after the value is changed by user gesture.
|
|
49
48
|
*/
|
|
50
|
-
let
|
|
51
|
-
class
|
|
49
|
+
let CDSSlider = _decorate([customElement(`${prefix}-slider`)], function (_initialize, _HostListenerMixin) {
|
|
50
|
+
class CDSSlider extends _HostListenerMixin {
|
|
52
51
|
constructor(...args) {
|
|
53
52
|
super(...args);
|
|
54
53
|
_initialize(this);
|
|
55
54
|
}
|
|
56
55
|
}
|
|
57
56
|
return {
|
|
58
|
-
F:
|
|
57
|
+
F: CDSSlider,
|
|
59
58
|
d: [{
|
|
60
59
|
kind: "field",
|
|
61
60
|
key: "_max",
|
|
@@ -76,7 +75,7 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
76
75
|
}
|
|
77
76
|
}, {
|
|
78
77
|
kind: "field",
|
|
79
|
-
key: "
|
|
78
|
+
key: "_stepMultiplier",
|
|
80
79
|
value() {
|
|
81
80
|
return '4';
|
|
82
81
|
}
|
|
@@ -109,7 +108,7 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
109
108
|
*/
|
|
110
109
|
|
|
111
110
|
/**
|
|
112
|
-
* The internal value of `
|
|
111
|
+
* The internal value of `stepMultiplier` property.
|
|
113
112
|
*/
|
|
114
113
|
|
|
115
114
|
/**
|
|
@@ -205,14 +204,14 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
205
204
|
max: rawMax,
|
|
206
205
|
min: rawMin,
|
|
207
206
|
step: rawStep,
|
|
208
|
-
|
|
207
|
+
stepMultiplier: rawstepMultiplier,
|
|
209
208
|
value
|
|
210
209
|
} = this;
|
|
211
210
|
const max = Number(rawMax);
|
|
212
211
|
const min = Number(rawMin);
|
|
213
212
|
const step = Number(rawStep);
|
|
214
|
-
const
|
|
215
|
-
const diff = (!shiftKey ? step : (max - min) /
|
|
213
|
+
const stepMultiplier = Number(rawstepMultiplier);
|
|
214
|
+
const diff = (!shiftKey ? step : (max - min) / stepMultiplier) * THUMB_DIRECTION[key];
|
|
216
215
|
const stepCount = (value + diff) / step;
|
|
217
216
|
// Snaps to next
|
|
218
217
|
this.value = Math.min(max, Math.max(min, (diff >= 0 ? Math.floor(stepCount) : Math.ceil(stepCount)) * step));
|
|
@@ -378,24 +377,22 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
378
377
|
}, {
|
|
379
378
|
kind: "field",
|
|
380
379
|
decorators: [property({
|
|
381
|
-
|
|
380
|
+
type: Boolean,
|
|
381
|
+
reflect: true
|
|
382
382
|
})],
|
|
383
|
-
key: "
|
|
383
|
+
key: "required",
|
|
384
384
|
value() {
|
|
385
|
-
return
|
|
386
|
-
max
|
|
387
|
-
}) => max;
|
|
385
|
+
return false;
|
|
388
386
|
}
|
|
389
387
|
}, {
|
|
390
388
|
kind: "field",
|
|
391
389
|
decorators: [property({
|
|
392
|
-
|
|
390
|
+
type: Boolean,
|
|
391
|
+
reflect: true
|
|
393
392
|
})],
|
|
394
|
-
key: "
|
|
393
|
+
key: "readonly",
|
|
395
394
|
value() {
|
|
396
|
-
return
|
|
397
|
-
min
|
|
398
|
-
}) => min;
|
|
395
|
+
return false;
|
|
399
396
|
}
|
|
400
397
|
}, {
|
|
401
398
|
kind: "field",
|
|
@@ -406,6 +403,44 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
406
403
|
value() {
|
|
407
404
|
return '';
|
|
408
405
|
}
|
|
406
|
+
}, {
|
|
407
|
+
kind: "field",
|
|
408
|
+
decorators: [property({
|
|
409
|
+
attribute: 'max-label',
|
|
410
|
+
reflect: true
|
|
411
|
+
})],
|
|
412
|
+
key: "maxLabel",
|
|
413
|
+
value() {
|
|
414
|
+
return '';
|
|
415
|
+
}
|
|
416
|
+
}, {
|
|
417
|
+
kind: "field",
|
|
418
|
+
decorators: [property({
|
|
419
|
+
attribute: 'min-label',
|
|
420
|
+
reflect: true
|
|
421
|
+
})],
|
|
422
|
+
key: "minLabel",
|
|
423
|
+
value() {
|
|
424
|
+
return '';
|
|
425
|
+
}
|
|
426
|
+
}, {
|
|
427
|
+
kind: "field",
|
|
428
|
+
decorators: [property({
|
|
429
|
+
attribute: false
|
|
430
|
+
})],
|
|
431
|
+
key: "formatMaxText",
|
|
432
|
+
value() {
|
|
433
|
+
return (max, maxLabel) => `${max}${maxLabel}`;
|
|
434
|
+
}
|
|
435
|
+
}, {
|
|
436
|
+
kind: "field",
|
|
437
|
+
decorators: [property({
|
|
438
|
+
attribute: false
|
|
439
|
+
})],
|
|
440
|
+
key: "formatMinText",
|
|
441
|
+
value() {
|
|
442
|
+
return (min, minLabel) => `${min}${minLabel}`;
|
|
443
|
+
}
|
|
409
444
|
}, {
|
|
410
445
|
kind: "get",
|
|
411
446
|
decorators: [property({
|
|
@@ -421,16 +456,28 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
421
456
|
* `true` if the check box should be disabled.
|
|
422
457
|
*/
|
|
423
458
|
/**
|
|
424
|
-
*
|
|
425
|
-
* Should be changed upon the locale the UI is rendered with.
|
|
459
|
+
* true to specify if the control is required.
|
|
426
460
|
*/
|
|
427
461
|
/**
|
|
428
|
-
*
|
|
429
|
-
* Should be changed upon the locale the UI is rendered with.
|
|
462
|
+
* Whether the slider should be read-only
|
|
430
463
|
*/
|
|
431
464
|
/**
|
|
432
465
|
* The label text.
|
|
433
466
|
*/
|
|
467
|
+
/**
|
|
468
|
+
* The label associated with the maximum value.
|
|
469
|
+
*/
|
|
470
|
+
/**
|
|
471
|
+
* The label associated with the minimum value.
|
|
472
|
+
*/
|
|
473
|
+
/**
|
|
474
|
+
* The formatter for the text for maximum value.
|
|
475
|
+
* Should be changed upon the locale the UI is rendered with.
|
|
476
|
+
*/
|
|
477
|
+
/**
|
|
478
|
+
* The formatter for the text for min/max value.
|
|
479
|
+
* Should be changed upon the locale the UI is rendered with.
|
|
480
|
+
*/
|
|
434
481
|
/**
|
|
435
482
|
* The maximum value.
|
|
436
483
|
*/
|
|
@@ -480,6 +527,15 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
480
527
|
decorators: [property()],
|
|
481
528
|
key: "name",
|
|
482
529
|
value: void 0
|
|
530
|
+
}, {
|
|
531
|
+
kind: "field",
|
|
532
|
+
decorators: [property({
|
|
533
|
+
type: Boolean
|
|
534
|
+
})],
|
|
535
|
+
key: "invalid",
|
|
536
|
+
value() {
|
|
537
|
+
return false;
|
|
538
|
+
}
|
|
483
539
|
}, {
|
|
484
540
|
kind: "get",
|
|
485
541
|
decorators: [property({
|
|
@@ -488,6 +544,9 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
488
544
|
})],
|
|
489
545
|
key: "step",
|
|
490
546
|
value:
|
|
547
|
+
/**
|
|
548
|
+
* true to specify if the control is invalid.
|
|
549
|
+
*/
|
|
491
550
|
/**
|
|
492
551
|
* The snapping step of the value.
|
|
493
552
|
*/
|
|
@@ -507,28 +566,28 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
507
566
|
|
|
508
567
|
/**
|
|
509
568
|
* A value determining how much the value should increase/decrease by Shift+arrow keys,
|
|
510
|
-
* which will be `(max - min) /
|
|
569
|
+
* which will be `(max - min) / stepMultiplier`.
|
|
511
570
|
*/
|
|
512
571
|
}, {
|
|
513
572
|
kind: "get",
|
|
514
573
|
decorators: [property({
|
|
515
574
|
type: Number,
|
|
516
575
|
reflect: true,
|
|
517
|
-
attribute: 'step-
|
|
576
|
+
attribute: 'step-multiplier'
|
|
518
577
|
})],
|
|
519
|
-
key: "
|
|
520
|
-
value: function
|
|
521
|
-
return this.
|
|
578
|
+
key: "stepMultiplier",
|
|
579
|
+
value: function stepMultiplier() {
|
|
580
|
+
return this._stepMultiplier.toString();
|
|
522
581
|
}
|
|
523
582
|
}, {
|
|
524
583
|
kind: "set",
|
|
525
|
-
key: "
|
|
526
|
-
value: function
|
|
584
|
+
key: "stepMultiplier",
|
|
585
|
+
value: function stepMultiplier(value) {
|
|
527
586
|
const {
|
|
528
|
-
|
|
587
|
+
stepMultiplier: oldstepMultiplier
|
|
529
588
|
} = this;
|
|
530
|
-
this.
|
|
531
|
-
this.requestUpdate('
|
|
589
|
+
this._stepMultiplier = value;
|
|
590
|
+
this.requestUpdate('stepMultiplier', oldstepMultiplier);
|
|
532
591
|
}
|
|
533
592
|
|
|
534
593
|
/**
|
|
@@ -540,14 +599,12 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
540
599
|
type: Number
|
|
541
600
|
})],
|
|
542
601
|
key: "value",
|
|
543
|
-
value
|
|
544
|
-
return 50;
|
|
545
|
-
}
|
|
602
|
+
value: void 0
|
|
546
603
|
}, {
|
|
547
604
|
kind: "method",
|
|
548
605
|
key: "connectedCallback",
|
|
549
606
|
value: function connectedCallback() {
|
|
550
|
-
_get(_getPrototypeOf(
|
|
607
|
+
_get(_getPrototypeOf(CDSSlider.prototype), "connectedCallback", this).call(this);
|
|
551
608
|
if (!this._throttledHandlePointermoveImpl) {
|
|
552
609
|
this._throttledHandlePointermoveImpl = throttle(this._handlePointermoveImpl, 10);
|
|
553
610
|
}
|
|
@@ -560,7 +617,7 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
560
617
|
this._throttledHandlePointermoveImpl.cancel();
|
|
561
618
|
this._throttledHandlePointermoveImpl = null;
|
|
562
619
|
}
|
|
563
|
-
_get(_getPrototypeOf(
|
|
620
|
+
_get(_getPrototypeOf(CDSSlider.prototype), "disconnectedCallback", this).call(this);
|
|
564
621
|
}
|
|
565
622
|
}, {
|
|
566
623
|
kind: "method",
|
|
@@ -575,12 +632,27 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
575
632
|
this._dragging = false;
|
|
576
633
|
}
|
|
577
634
|
}
|
|
635
|
+
if (changedProperties.has('readonly')) {
|
|
636
|
+
if (input) {
|
|
637
|
+
input.readonly = this.readonly;
|
|
638
|
+
}
|
|
639
|
+
if (this.readonly) {
|
|
640
|
+
this._dragging = false;
|
|
641
|
+
}
|
|
642
|
+
}
|
|
578
643
|
if (input) {
|
|
579
644
|
['max', 'min', 'step', 'value'].forEach(name => {
|
|
580
645
|
if (changedProperties.has(name)) {
|
|
581
646
|
input[name] = this[name];
|
|
582
647
|
}
|
|
583
648
|
});
|
|
649
|
+
if (changedProperties.has('value') || changedProperties.has('invalid')) {
|
|
650
|
+
if (this.value < this.min || this.value > this.max || this.invalid) {
|
|
651
|
+
input.invalid = true;
|
|
652
|
+
} else {
|
|
653
|
+
input.invalid = false;
|
|
654
|
+
}
|
|
655
|
+
}
|
|
584
656
|
}
|
|
585
657
|
return true;
|
|
586
658
|
}
|
|
@@ -595,8 +667,10 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
595
667
|
labelText,
|
|
596
668
|
max,
|
|
597
669
|
min,
|
|
598
|
-
|
|
670
|
+
maxLabel,
|
|
671
|
+
minLabel,
|
|
599
672
|
value,
|
|
673
|
+
readonly,
|
|
600
674
|
_rate: rate,
|
|
601
675
|
_handleClickLabel: handleClickLabel,
|
|
602
676
|
_handleKeydown: handleKeydown,
|
|
@@ -610,7 +684,8 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
610
684
|
});
|
|
611
685
|
const sliderClasses = classMap({
|
|
612
686
|
[`${prefix}--slider`]: true,
|
|
613
|
-
[`${prefix}--slider--disabled`]: disabled
|
|
687
|
+
[`${prefix}--slider--disabled`]: disabled,
|
|
688
|
+
[`${prefix}--slider--readonly`]: readonly
|
|
614
689
|
});
|
|
615
690
|
return html(_t || (_t = _`
|
|
616
691
|
<label class="${0}" @click="${0}">
|
|
@@ -626,12 +701,13 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
626
701
|
@pointerup="${0}"
|
|
627
702
|
@pointerleave="${0}"
|
|
628
703
|
class="${0}"
|
|
704
|
+
tabindex="-1"
|
|
629
705
|
role="presentation">
|
|
630
706
|
<div
|
|
631
707
|
id="thumb"
|
|
632
708
|
class="${0}--slider__thumb"
|
|
633
709
|
role="slider"
|
|
634
|
-
tabindex="0"
|
|
710
|
+
tabindex="${0}"
|
|
635
711
|
aria-valuemax="${0}"
|
|
636
712
|
aria-valuemin="${0}"
|
|
637
713
|
aria-valuenow="${0}"
|
|
@@ -643,24 +719,13 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
643
719
|
class="${0}--slider__filled-track"
|
|
644
720
|
style="transform: translate(0%, -50%) scaleX(${0})"></div>
|
|
645
721
|
</div>
|
|
646
|
-
<input
|
|
647
|
-
class="${0}--slider__input"
|
|
648
|
-
type="hidden"
|
|
649
|
-
name="${0}"
|
|
650
|
-
.value="${0}"
|
|
651
|
-
min="${0}"
|
|
652
|
-
max="${0}" />
|
|
653
722
|
</div>
|
|
654
723
|
<span class="${0}--slider__range-label">
|
|
655
724
|
<slot name="max-text">${0}</slot>
|
|
656
725
|
</span>
|
|
657
726
|
<slot></slot>
|
|
658
727
|
</div>
|
|
659
|
-
`), labelClasses, handleClickLabel, labelText, prefix, prefix, formatMinText(
|
|
660
|
-
min
|
|
661
|
-
}), handleKeydown, handleClick, endDrag, endDrag, sliderClasses, prefix, max, min, value, rate * 100, startDrag, prefix, prefix, prefix, rate, prefix, ifNonEmpty(name), value, ifNonEmpty(min), ifNonEmpty(max), prefix, formatMaxText({
|
|
662
|
-
max
|
|
663
|
-
}));
|
|
728
|
+
`), labelClasses, handleClickLabel, labelText, prefix, prefix, formatMinText(min, minLabel), handleKeydown, handleClick, endDrag, endDrag, sliderClasses, prefix, !readonly ? 0 : -1, max, min, value, rate * 100, startDrag, prefix, prefix, prefix, rate, prefix, formatMaxText(max, maxLabel));
|
|
664
729
|
}
|
|
665
730
|
|
|
666
731
|
/**
|
|
@@ -714,5 +779,5 @@ let BXSlider = _decorate([customElement(`${prefix}-slider`)], function (_initial
|
|
|
714
779
|
}]
|
|
715
780
|
};
|
|
716
781
|
}, HostListenerMixin(FormMixin(FocusMixin(LitElement))));
|
|
717
|
-
export default
|
|
782
|
+
export default CDSSlider;
|
|
718
783
|
//# sourceMappingURL=slider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.js","names":["LitElement","html","property","customElement","query","classMap","throttle","prefix","FocusMixin","FormMixin","HostListenerMixin","HostListener","ifNonEmpty","styles","THUMB_DIRECTION","Left","ArrowLeft","Up","ArrowUp","Right","ArrowRight","Down","ArrowDown","BXSlider","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","_rate","max","min","Math","Number","rate","step","round","decorators","_handleClickLabel","_this$_thumbNode","_thumbNode","focus","_handleFormdata","event","formData","disabled","name","append","String","_handleKeydown","shiftKey","rawMax","rawMin","rawStep","stepRatio","rawStepRatio","diff","stepCount","floor","ceil","dispatchEvent","CustomEvent","eventChange","bubbles","composed","detail","intermediate","_startDrag","_dragging","style","touchAction","_handleClick","_trackNode","trackNode","isRtl","ownerDocument","defaultView","getComputedStyle","getPropertyValue","thumbPosition","clientX","left","trackLeft","width","trackWidth","getBoundingClientRect","dragging","_throttledHandlePointermoveImpl","_handlePointermoveImpl","type","Boolean","reflect","attribute","_max","toString","oldMax","requestUpdate","_min","oldMin","_step","oldStep","_stepRatio","oldStepRatio","connectedCallback","_get","_getPrototypeOf","prototype","call","disconnectedCallback","cancel","shouldUpdate","changedProperties","input","querySelector","selectorInput","has","forEach","render","formatMaxText","formatMinText","labelText","handleClickLabel","handleKeydown","handleClick","startDrag","_endDrag","endDrag","labelClasses","sliderClasses","_t","_","static","eventChangeInput","_objectSpread","shadowRootOptions","delegatesFocus"],"sources":["components/slider/slider.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, customElement, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport throttle from 'lodash-es/throttle';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport FormMixin from '../../globals/mixins/form';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport ifNonEmpty from '../../globals/directives/if-non-empty';\nimport BXSliderInput from './slider-input';\nimport styles from './slider.scss';\n\ninterface Cancelable {\n cancel(): void;\n}\n\n/**\n * The direction to move the thumb, associated with key symbols.\n */\nconst THUMB_DIRECTION = {\n Left: -1,\n ArrowLeft: -1,\n Up: -1,\n ArrowUp: -1,\n Right: 1,\n ArrowRight: 1,\n Down: 1,\n ArrowDown: 1,\n};\n\n/**\n * Slider.\n *\n * @element cds-slider\n * @slot label-text - The label text.\n * @slot max-text - The text for maximum value.\n * @slot min-text - The text for minimum value.\n * @fires cds-slider-changed - The custom event fired after the value is changed by user gesture.\n */\n@customElement(`${prefix}-slider`)\nclass BXSlider extends HostListenerMixin(FormMixin(FocusMixin(LitElement))) {\n /**\n * The internal value of `max` property.\n */\n private _max = '100';\n\n /**\n * The internal value of `min` property.\n */\n private _min = '0';\n\n /**\n * The internal value of `step` property.\n */\n private _step = '1';\n\n /**\n * The internal value of `stepRatio` property.\n */\n private _stepRatio = '4';\n\n /**\n * The handle for the throttled listener of `pointermove` event.\n */\n private _throttledHandlePointermoveImpl:\n | (((event: PointerEvent) => void) & Cancelable)\n | null = null;\n\n /**\n * `true` if dragging of thumb is in progress.\n */\n private _dragging = false;\n\n /**\n * The rate of the thumb position in the track.\n * When we try to set a new value, we adjust the value considering `step` property.\n */\n private get _rate() {\n const { max, min, value } = this;\n // Copes with out-of-range value coming programmatically or from `<cds-slider-input>`\n return (\n (Math.min(Number(max), Math.max(Number(min), value)) - Number(min)) /\n (Number(max) - Number(min))\n );\n }\n\n private set _rate(rate: number) {\n const { max, min, step } = this;\n this.value =\n Number(min) +\n Math.round(\n ((Number(max) - Number(min)) * Math.min(1, Math.max(0, rate))) /\n Number(step)\n ) *\n Number(step);\n }\n\n /**\n * The DOM element of the thumb.\n */\n @query('#thumb')\n private _thumbNode!: HTMLDivElement;\n\n /**\n * The DOM element of the track.\n */\n @query('#track')\n private _trackNode!: HTMLDivElement;\n\n /**\n * Handles `click` event on the `<label>` to focus on the thumb.\n */\n _handleClickLabel() {\n this._thumbNode?.focus();\n }\n\n _handleFormdata(event: Event) {\n const { formData } = event as any; // TODO: Wait for `FormDataEvent` being available in `lib.dom.d.ts`\n const { disabled, name, value } = this;\n if (!disabled) {\n formData.append(name, String(value));\n }\n }\n\n /**\n * Handles `keydown` event on the thumb to increase/decrease the value.\n */\n private _handleKeydown({ key, shiftKey }: KeyboardEvent) {\n if (!this.disabled) {\n if (key in THUMB_DIRECTION) {\n const {\n max: rawMax,\n min: rawMin,\n step: rawStep,\n stepRatio: rawStepRatio,\n value,\n } = this;\n const max = Number(rawMax);\n const min = Number(rawMin);\n const step = Number(rawStep);\n const stepRatio = Number(rawStepRatio);\n const diff =\n (!shiftKey ? step : (max - min) / stepRatio) * THUMB_DIRECTION[key];\n const stepCount = (value + diff) / step;\n // Snaps to next\n this.value = Math.min(\n max,\n Math.max(\n min,\n (diff >= 0 ? Math.floor(stepCount) : Math.ceil(stepCount)) * step\n )\n );\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: false,\n },\n })\n );\n }\n }\n }\n\n /**\n * Handles `pointerdown` event on the thumb to start dragging.\n */\n private _startDrag() {\n this._dragging = true;\n this._thumbNode.style.touchAction = 'none';\n }\n\n /**\n * Handles `pointerdown` event on the track to update the thumb position and the value as necessary.\n */\n private _handleClick(event: PointerEvent) {\n if (!this.disabled) {\n const { _trackNode: trackNode } = this;\n const isRtl =\n trackNode\n .ownerDocument!.defaultView!.getComputedStyle(trackNode)\n .getPropertyValue('direction') === 'rtl';\n const thumbPosition = event.clientX;\n const { left: trackLeft, width: trackWidth } =\n trackNode.getBoundingClientRect();\n this._rate =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n })\n );\n }\n }\n\n /**\n * Handles `pointermove` to update the thumb position and the value as necessary.\n *\n * @param event The event.\n */\n @HostListener('document:pointermove')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handlePointermove = (event: PointerEvent) => {\n const { disabled, _dragging: dragging } = this;\n if (!disabled && dragging) {\n this._throttledHandlePointermoveImpl!(event);\n }\n };\n\n /**\n * Updates thumb position and value upon user's `pointermove` gesture.\n *\n * @param event The event.\n */\n private _handlePointermoveImpl(event: PointerEvent) {\n const { disabled, _dragging: dragging, _trackNode: trackNode } = this;\n if (!disabled && dragging) {\n const isRtl =\n trackNode\n .ownerDocument!.defaultView!.getComputedStyle(trackNode)\n .getPropertyValue('direction') === 'rtl';\n const thumbPosition = event.clientX;\n const { left: trackLeft, width: trackWidth } =\n this._trackNode.getBoundingClientRect();\n this._rate =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: true,\n },\n })\n );\n }\n }\n\n /**\n * Handles `pointerup` and `pointerleave` event to finishing dragging.\n */\n private _endDrag = () => {\n if (this._dragging) {\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n })\n );\n this._dragging = false;\n this._thumbNode.style.touchAction = '';\n }\n };\n\n /**\n * Handles `${prefix}-slider-input-changed` event to update the value.\n */\n @HostListener('eventChangeInput')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleChangeInput = ({ detail }: CustomEvent) => {\n const { intermediate, value } = detail;\n this.value = value;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof BXSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n intermediate,\n },\n })\n );\n };\n\n /**\n * `true` if the check box should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * The formatter for the text for maximum value.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatMaxText = ({ max }: { max: string }) => max;\n\n /**\n * The formatter for the text for minimum value.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatMinText = ({ min }: { min: string }) => min;\n\n /**\n * The label text.\n */\n @property({ attribute: 'label-text' })\n labelText = '';\n\n /**\n * The maximum value.\n */\n @property({ type: Number, reflect: true })\n get max() {\n return this._max.toString();\n }\n\n set max(value) {\n const { max: oldMax } = this;\n this._max = value;\n this.requestUpdate('max', oldMax);\n }\n\n /**\n * The minimum value.\n */\n @property({ type: Number, reflect: true })\n get min() {\n return this._min.toString();\n }\n\n set min(value) {\n const { min: oldMin } = this;\n this._min = value;\n this.requestUpdate('min', oldMin);\n }\n\n /**\n * The form name.\n */\n @property()\n name!: string;\n\n /**\n * The snapping step of the value.\n */\n @property({ type: Number, reflect: true })\n get step() {\n return this._step.toString();\n }\n\n set step(value) {\n const { step: oldStep } = this;\n this._step = value;\n this.requestUpdate('step', oldStep);\n }\n\n /**\n * A value determining how much the value should increase/decrease by Shift+arrow keys,\n * which will be `(max - min) / stepRatio`.\n */\n @property({ type: Number, reflect: true, attribute: 'step-ratio' })\n get stepRatio() {\n return this._stepRatio.toString();\n }\n\n set stepRatio(value) {\n const { stepRatio: oldStepRatio } = this;\n this._stepRatio = value;\n this.requestUpdate('stepRatio', oldStepRatio);\n }\n\n /**\n * The value.\n */\n @property({ type: Number })\n value = 50;\n\n connectedCallback() {\n super.connectedCallback();\n if (!this._throttledHandlePointermoveImpl) {\n this._throttledHandlePointermoveImpl = throttle(\n this._handlePointermoveImpl,\n 10\n );\n }\n }\n\n disconnectedCallback() {\n if (this._throttledHandlePointermoveImpl) {\n this._throttledHandlePointermoveImpl.cancel();\n this._throttledHandlePointermoveImpl = null;\n }\n super.disconnectedCallback();\n }\n\n shouldUpdate(changedProperties) {\n const input = this.querySelector(\n (this.constructor as typeof BXSlider).selectorInput\n ) as BXSliderInput;\n if (changedProperties.has('disabled')) {\n if (input) {\n input.disabled = this.disabled;\n }\n if (this.disabled) {\n this._dragging = false;\n }\n }\n if (input) {\n ['max', 'min', 'step', 'value'].forEach((name) => {\n if (changedProperties.has(name)) {\n input[name] = this[name];\n }\n });\n }\n return true;\n }\n\n render() {\n const {\n disabled,\n formatMaxText,\n formatMinText,\n labelText,\n max,\n min,\n name,\n value,\n _rate: rate,\n _handleClickLabel: handleClickLabel,\n _handleKeydown: handleKeydown,\n _handleClick: handleClick,\n _startDrag: startDrag,\n _endDrag: endDrag,\n } = this;\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: disabled,\n });\n const sliderClasses = classMap({\n [`${prefix}--slider`]: true,\n [`${prefix}--slider--disabled`]: disabled,\n });\n return html`\n <label class=\"${labelClasses}\" @click=\"${handleClickLabel}\">\n <slot name=\"label-text\">${labelText}</slot>\n </label>\n <div class=\"${prefix}--slider-container\">\n <span class=\"${prefix}--slider__range-label\">\n <slot name=\"min-text\">${formatMinText({ min })}</slot>\n </span>\n <div\n @keydown=\"${handleKeydown}\"\n @click=\"${handleClick}\"\n @pointerup=\"${endDrag}\"\n @pointerleave=\"${endDrag}\"\n class=\"${sliderClasses}\"\n role=\"presentation\">\n <div\n id=\"thumb\"\n class=\"${prefix}--slider__thumb\"\n role=\"slider\"\n tabindex=\"0\"\n aria-valuemax=\"${max}\"\n aria-valuemin=\"${min}\"\n aria-valuenow=\"${value}\"\n style=\"left: ${rate * 100}%\"\n @pointerdown=\"${startDrag}\"></div>\n <div id=\"track\" class=\"${prefix}--slider__track\"></div>\n <div class=\"${prefix}-ce--slider__filled-track-container\">\n <div\n class=\"${prefix}--slider__filled-track\"\n style=\"transform: translate(0%, -50%) scaleX(${rate})\"></div>\n </div>\n <input\n class=\"${prefix}--slider__input\"\n type=\"hidden\"\n name=\"${ifNonEmpty(name)}\"\n .value=\"${value}\"\n min=\"${ifNonEmpty(min)}\"\n max=\"${ifNonEmpty(max)}\" />\n </div>\n <span class=\"${prefix}--slider__range-label\">\n <slot name=\"max-text\">${formatMaxText({ max })}</slot>\n </span>\n <slot></slot>\n </div>\n `;\n }\n\n /**\n * A selector that will return the `<input>` box got entering the value directly.\n */\n static get selectorInput() {\n return `${prefix}-slider-input`;\n }\n\n /**\n * The name of the custom event fired after the value is changed by user gesture.\n */\n static get eventChange() {\n return `${prefix}-slider-changed`;\n }\n\n /**\n * The name of the custom event fired after the value is changed in `<cds-slider-input>` by user gesture.\n */\n static get eventChangeInput() {\n return `${prefix}-slider-input-changed`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default BXSlider;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slider.js","names":["LitElement","html","property","customElement","query","classMap","throttle","prefix","FocusMixin","FormMixin","HostListenerMixin","HostListener","styles","THUMB_DIRECTION","Left","ArrowLeft","Up","ArrowUp","Right","ArrowRight","Down","ArrowDown","CDSSlider","_decorate","_initialize","_HostListenerMixin","constructor","args","F","d","kind","key","value","_rate","max","min","Math","Number","rate","step","round","decorators","_handleClickLabel","_this$_thumbNode","_thumbNode","focus","_handleFormdata","event","formData","disabled","name","append","String","_handleKeydown","shiftKey","rawMax","rawMin","rawStep","stepMultiplier","rawstepMultiplier","diff","stepCount","floor","ceil","dispatchEvent","CustomEvent","eventChange","bubbles","composed","detail","intermediate","_startDrag","_dragging","style","touchAction","_handleClick","_trackNode","trackNode","isRtl","ownerDocument","defaultView","getComputedStyle","getPropertyValue","thumbPosition","clientX","left","trackLeft","width","trackWidth","getBoundingClientRect","dragging","_throttledHandlePointermoveImpl","_handlePointermoveImpl","type","Boolean","reflect","attribute","maxLabel","minLabel","_max","toString","oldMax","requestUpdate","_min","oldMin","_step","oldStep","_stepMultiplier","oldstepMultiplier","connectedCallback","_get","_getPrototypeOf","prototype","call","disconnectedCallback","cancel","shouldUpdate","changedProperties","input","querySelector","selectorInput","has","readonly","forEach","invalid","render","formatMaxText","formatMinText","labelText","handleClickLabel","handleKeydown","handleClick","startDrag","_endDrag","endDrag","labelClasses","sliderClasses","_t","_","static","eventChangeInput","_objectSpread","shadowRootOptions","delegatesFocus"],"sources":["components/slider/slider.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2019, 2023\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, customElement, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport throttle from 'lodash-es/throttle';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport FormMixin from '../../globals/mixins/form';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport HostListener from '../../globals/decorators/host-listener';\nimport CDSSliderInput from './slider-input';\nimport styles from './slider.scss';\n\ninterface Cancelable {\n cancel(): void;\n}\n\n/**\n * The direction to move the thumb, associated with key symbols.\n */\nconst THUMB_DIRECTION = {\n Left: -1,\n ArrowLeft: -1,\n Up: -1,\n ArrowUp: -1,\n Right: 1,\n ArrowRight: 1,\n Down: 1,\n ArrowDown: 1,\n};\n\n/**\n * Slider.\n *\n * @element cds-slider\n * @slot label-text - The label text.\n * @slot max-text - The text for maximum value.\n * @slot min-text - The text for minimum value.\n * @fires cds-slider-changed - The custom event fired after the value is changed by user gesture.\n */\n@customElement(`${prefix}-slider`)\nclass CDSSlider extends HostListenerMixin(FormMixin(FocusMixin(LitElement))) {\n /**\n * The internal value of `max` property.\n */\n private _max = '100';\n\n /**\n * The internal value of `min` property.\n */\n private _min = '0';\n\n /**\n * The internal value of `step` property.\n */\n private _step = '1';\n\n /**\n * The internal value of `stepMultiplier` property.\n */\n private _stepMultiplier = '4';\n\n /**\n * The handle for the throttled listener of `pointermove` event.\n */\n private _throttledHandlePointermoveImpl:\n | (((event: PointerEvent) => void) & Cancelable)\n | null = null;\n\n /**\n * `true` if dragging of thumb is in progress.\n */\n private _dragging = false;\n\n /**\n * The rate of the thumb position in the track.\n * When we try to set a new value, we adjust the value considering `step` property.\n */\n private get _rate() {\n const { max, min, value } = this;\n // Copes with out-of-range value coming programmatically or from `<cds-slider-input>`\n return (\n (Math.min(Number(max), Math.max(Number(min), value)) - Number(min)) /\n (Number(max) - Number(min))\n );\n }\n\n private set _rate(rate: number) {\n const { max, min, step } = this;\n this.value =\n Number(min) +\n Math.round(\n ((Number(max) - Number(min)) * Math.min(1, Math.max(0, rate))) /\n Number(step)\n ) *\n Number(step);\n }\n\n /**\n * The DOM element of the thumb.\n */\n @query('#thumb')\n private _thumbNode!: HTMLDivElement;\n\n /**\n * The DOM element of the track.\n */\n @query('#track')\n private _trackNode!: HTMLDivElement;\n\n /**\n * Handles `click` event on the `<label>` to focus on the thumb.\n */\n _handleClickLabel() {\n this._thumbNode?.focus();\n }\n\n _handleFormdata(event: Event) {\n const { formData } = event as any; // TODO: Wait for `FormDataEvent` being available in `lib.dom.d.ts`\n const { disabled, name, value } = this;\n if (!disabled) {\n formData.append(name, String(value));\n }\n }\n\n /**\n * Handles `keydown` event on the thumb to increase/decrease the value.\n */\n private _handleKeydown({ key, shiftKey }: KeyboardEvent) {\n if (!this.disabled) {\n if (key in THUMB_DIRECTION) {\n const {\n max: rawMax,\n min: rawMin,\n step: rawStep,\n stepMultiplier: rawstepMultiplier,\n value,\n } = this;\n const max = Number(rawMax);\n const min = Number(rawMin);\n const step = Number(rawStep);\n const stepMultiplier = Number(rawstepMultiplier);\n const diff =\n (!shiftKey ? step : (max - min) / stepMultiplier) *\n THUMB_DIRECTION[key];\n const stepCount = (value + diff) / step;\n // Snaps to next\n this.value = Math.min(\n max,\n Math.max(\n min,\n (diff >= 0 ? Math.floor(stepCount) : Math.ceil(stepCount)) * step\n )\n );\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: false,\n },\n })\n );\n }\n }\n }\n\n /**\n * Handles `pointerdown` event on the thumb to start dragging.\n */\n private _startDrag() {\n this._dragging = true;\n this._thumbNode.style.touchAction = 'none';\n }\n\n /**\n * Handles `pointerdown` event on the track to update the thumb position and the value as necessary.\n */\n private _handleClick(event: PointerEvent) {\n if (!this.disabled) {\n const { _trackNode: trackNode } = this;\n const isRtl =\n trackNode\n .ownerDocument!.defaultView!.getComputedStyle(trackNode)\n .getPropertyValue('direction') === 'rtl';\n const thumbPosition = event.clientX;\n const { left: trackLeft, width: trackWidth } =\n trackNode.getBoundingClientRect();\n this._rate =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n })\n );\n }\n }\n\n /**\n * Handles `pointermove` to update the thumb position and the value as necessary.\n *\n * @param event The event.\n */\n @HostListener('document:pointermove')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handlePointermove = (event: PointerEvent) => {\n const { disabled, _dragging: dragging } = this;\n if (!disabled && dragging) {\n this._throttledHandlePointermoveImpl!(event);\n }\n };\n\n /**\n * Updates thumb position and value upon user's `pointermove` gesture.\n *\n * @param event The event.\n */\n private _handlePointermoveImpl(event: PointerEvent) {\n const { disabled, _dragging: dragging, _trackNode: trackNode } = this;\n if (!disabled && dragging) {\n const isRtl =\n trackNode\n .ownerDocument!.defaultView!.getComputedStyle(trackNode)\n .getPropertyValue('direction') === 'rtl';\n const thumbPosition = event.clientX;\n const { left: trackLeft, width: trackWidth } =\n this._trackNode.getBoundingClientRect();\n this._rate =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: true,\n },\n })\n );\n }\n }\n\n /**\n * Handles `pointerup` and `pointerleave` event to finishing dragging.\n */\n private _endDrag = () => {\n if (this._dragging) {\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n })\n );\n this._dragging = false;\n this._thumbNode.style.touchAction = '';\n }\n };\n\n /**\n * Handles `${prefix}-slider-input-changed` event to update the value.\n */\n @HostListener('eventChangeInput')\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleChangeInput = ({ detail }: CustomEvent) => {\n const { intermediate, value } = detail;\n this.value = value;\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value,\n intermediate,\n },\n })\n );\n };\n\n /**\n * `true` if the check box should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * \ttrue to specify if the control is required.\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * \tWhether the slider should be read-only\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * The label text.\n */\n @property({ attribute: 'label-text' })\n labelText = '';\n\n /**\n * The label associated with the maximum value.\n */\n @property({ attribute: 'max-label', reflect: true })\n maxLabel = '';\n\n /**\n * The label associated with the minimum value.\n */\n @property({ attribute: 'min-label', reflect: true })\n minLabel = '';\n\n /**\n * The formatter for the text for maximum value.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatMaxText = (max: string, maxLabel: string | undefined) =>\n `${max}${maxLabel}`;\n\n /**\n * The formatter for the text for min/max value.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatMinText = (min: string, minLabel: string | undefined) =>\n `${min}${minLabel}`;\n\n /**\n * The maximum value.\n */\n @property({ type: Number, reflect: true })\n get max() {\n return this._max.toString();\n }\n\n set max(value) {\n const { max: oldMax } = this;\n this._max = value;\n this.requestUpdate('max', oldMax);\n }\n\n /**\n * The minimum value.\n */\n @property({ type: Number, reflect: true })\n get min() {\n return this._min.toString();\n }\n\n set min(value) {\n const { min: oldMin } = this;\n this._min = value;\n this.requestUpdate('min', oldMin);\n }\n\n /**\n * The form name.\n */\n @property()\n name!: string;\n\n /**\n * true to specify if the control is invalid.\n */\n @property({ type: Boolean })\n invalid = false;\n\n /**\n * The snapping step of the value.\n */\n @property({ type: Number, reflect: true })\n get step() {\n return this._step.toString();\n }\n\n set step(value) {\n const { step: oldStep } = this;\n this._step = value;\n this.requestUpdate('step', oldStep);\n }\n\n /**\n * A value determining how much the value should increase/decrease by Shift+arrow keys,\n * which will be `(max - min) / stepMultiplier`.\n */\n @property({ type: Number, reflect: true, attribute: 'step-multiplier' })\n get stepMultiplier() {\n return this._stepMultiplier.toString();\n }\n\n set stepMultiplier(value) {\n const { stepMultiplier: oldstepMultiplier } = this;\n this._stepMultiplier = value;\n this.requestUpdate('stepMultiplier', oldstepMultiplier);\n }\n\n /**\n * The value.\n */\n @property({ type: Number })\n value;\n\n connectedCallback() {\n super.connectedCallback();\n if (!this._throttledHandlePointermoveImpl) {\n this._throttledHandlePointermoveImpl = throttle(\n this._handlePointermoveImpl,\n 10\n );\n }\n }\n\n disconnectedCallback() {\n if (this._throttledHandlePointermoveImpl) {\n this._throttledHandlePointermoveImpl.cancel();\n this._throttledHandlePointermoveImpl = null;\n }\n super.disconnectedCallback();\n }\n\n shouldUpdate(changedProperties) {\n const input = this.querySelector(\n (this.constructor as typeof CDSSlider).selectorInput\n ) as CDSSliderInput;\n if (changedProperties.has('disabled')) {\n if (input) {\n input.disabled = this.disabled;\n }\n if (this.disabled) {\n this._dragging = false;\n }\n }\n if (changedProperties.has('readonly')) {\n if (input) {\n input.readonly = this.readonly;\n }\n if (this.readonly) {\n this._dragging = false;\n }\n }\n if (input) {\n ['max', 'min', 'step', 'value'].forEach((name) => {\n if (changedProperties.has(name)) {\n input[name] = this[name];\n }\n });\n\n if (changedProperties.has('value') || changedProperties.has('invalid')) {\n if (this.value < this.min || this.value > this.max || this.invalid) {\n input.invalid = true;\n } else {\n input.invalid = false;\n }\n }\n }\n return true;\n }\n\n render() {\n const {\n disabled,\n formatMaxText,\n formatMinText,\n labelText,\n max,\n min,\n maxLabel,\n minLabel,\n value,\n readonly,\n _rate: rate,\n _handleClickLabel: handleClickLabel,\n _handleKeydown: handleKeydown,\n _handleClick: handleClick,\n _startDrag: startDrag,\n _endDrag: endDrag,\n } = this;\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--label--disabled`]: disabled,\n });\n const sliderClasses = classMap({\n [`${prefix}--slider`]: true,\n [`${prefix}--slider--disabled`]: disabled,\n [`${prefix}--slider--readonly`]: readonly,\n });\n return html`\n <label class=\"${labelClasses}\" @click=\"${handleClickLabel}\">\n <slot name=\"label-text\">${labelText}</slot>\n </label>\n <div class=\"${prefix}--slider-container\">\n <span class=\"${prefix}--slider__range-label\">\n <slot name=\"min-text\">${formatMinText(min, minLabel)}</slot>\n </span>\n <div\n @keydown=\"${handleKeydown}\"\n @click=\"${handleClick}\"\n @pointerup=\"${endDrag}\"\n @pointerleave=\"${endDrag}\"\n class=\"${sliderClasses}\"\n tabindex=\"-1\"\n role=\"presentation\">\n <div\n id=\"thumb\"\n class=\"${prefix}--slider__thumb\"\n role=\"slider\"\n tabindex=\"${!readonly ? 0 : -1}\"\n aria-valuemax=\"${max}\"\n aria-valuemin=\"${min}\"\n aria-valuenow=\"${value}\"\n style=\"left: ${rate * 100}%\"\n @pointerdown=\"${startDrag}\"></div>\n <div id=\"track\" class=\"${prefix}--slider__track\"></div>\n <div class=\"${prefix}-ce--slider__filled-track-container\">\n <div\n class=\"${prefix}--slider__filled-track\"\n style=\"transform: translate(0%, -50%) scaleX(${rate})\"></div>\n </div>\n </div>\n <span class=\"${prefix}--slider__range-label\">\n <slot name=\"max-text\">${formatMaxText(max, maxLabel)}</slot>\n </span>\n <slot></slot>\n </div>\n `;\n }\n\n /**\n * A selector that will return the `<input>` box got entering the value directly.\n */\n static get selectorInput() {\n return `${prefix}-slider-input`;\n }\n\n /**\n * The name of the custom event fired after the value is changed by user gesture.\n */\n static get eventChange() {\n return `${prefix}-slider-changed`;\n }\n\n /**\n * The name of the custom event fired after the value is changed in `<cds-slider-input>` by user gesture.\n */\n static get eventChangeInput() {\n return `${prefix}-slider-input-changed`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSSlider;\n"],"mappings":"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"}
|