@carbon/web-components 2.58.1 → 2.59.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +186 -40
- package/es/components/accordion/accordion.scss.js +1 -1
- package/es/components/ai-label/ai-label.scss.js +1 -1
- package/es/components/ai-label/ai-label.scss.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
- package/es/components/button/button.d.ts +2 -2
- package/es/components/button/button.d.ts.map +1 -1
- package/es/components/button/button.js +2 -2
- package/es/components/button/button.js.map +1 -1
- package/es/components/button/button.scss.js +1 -1
- package/es/components/button/button.scss.js.map +1 -1
- package/es/components/chat-button/chat-button.scss.js +1 -1
- package/es/components/chat-button/chat-button.scss.js.map +1 -1
- package/es/components/checkbox/checkbox-group.d.ts +1 -1
- package/es/components/checkbox/checkbox.d.ts +1 -1
- package/es/components/checkbox/checkbox.scss.js +1 -1
- package/es/components/code-snippet/code-snippet.d.ts +1 -1
- package/es/components/code-snippet/code-snippet.scss.js +1 -1
- package/es/components/combo-box/combo-box.scss.js +1 -1
- package/es/components/combo-box/combo-box.scss.js.map +1 -1
- package/es/components/combo-button/combo-button.scss.js +1 -1
- package/es/components/contained-list/contained-list.scss.js +1 -1
- package/es/components/contained-list/contained-list.scss.js.map +1 -1
- package/es/components/content-switcher/content-switcher-item.d.ts +1 -1
- package/es/components/content-switcher/content-switcher.scss.js +1 -1
- package/es/components/copy-button/copy-button.scss.js +1 -1
- package/es/components/copy-button/copy-button.scss.js.map +1 -1
- package/es/components/data-table/data-table.scss.js +1 -1
- package/es/components/data-table/table-header-cell.d.ts +1 -1
- package/es/components/data-table/table-toolbar-search.d.ts +1 -1
- package/es/components/date-picker/date-picker-input.d.ts +1 -1
- package/es/components/date-picker/date-picker.scss.js +1 -1
- package/es/components/dialog/dialog.scss.js +1 -1
- package/es/components/dropdown/dropdown.d.ts +1 -1
- package/es/components/dropdown/dropdown.scss.js +1 -1
- package/es/components/file-uploader/file-uploader-button.d.ts +1 -0
- package/es/components/file-uploader/file-uploader-button.d.ts.map +1 -1
- package/es/components/file-uploader/file-uploader-button.js +10 -11
- package/es/components/file-uploader/file-uploader-button.js.map +1 -1
- package/es/components/file-uploader/file-uploader-drop-container.d.ts +1 -0
- package/es/components/file-uploader/file-uploader-drop-container.d.ts.map +1 -1
- package/es/components/file-uploader/file-uploader-drop-container.js +6 -5
- package/es/components/file-uploader/file-uploader-drop-container.js.map +1 -1
- package/es/components/file-uploader/file-uploader.scss.js +1 -1
- package/es/components/file-uploader/file-uploader.scss.js.map +1 -1
- package/es/components/floating-menu/floating-menu.d.ts +1 -1
- package/es/components/floating-menu/floating-menu.js +1 -1
- package/es/components/floating-menu/floating-menu.js.map +1 -1
- package/es/components/fluid-combo-box/fluid-combo-box.scss.js +1 -1
- package/es/components/fluid-combo-box/fluid-combo-box.scss.js.map +1 -1
- package/es/components/fluid-dropdown/fluid-dropdown.scss.js +1 -1
- package/es/components/fluid-dropdown/fluid-dropdown.scss.js.map +1 -1
- package/es/components/fluid-multi-select/fluid-multi-select.scss.js +1 -1
- package/es/components/fluid-multi-select/fluid-multi-select.scss.js.map +1 -1
- package/es/components/fluid-number-input/fluid-number-input.scss.js +1 -1
- package/es/components/fluid-number-input/fluid-number-input.scss.js.map +1 -1
- package/es/components/fluid-password-input/fluid-password-input.scss.js +1 -1
- package/es/components/fluid-password-input/fluid-password-input.scss.js.map +1 -1
- package/es/components/fluid-search/fluid-search.scss.js +1 -1
- package/es/components/fluid-search/fluid-search.scss.js.map +1 -1
- package/es/components/fluid-select/fluid-select.scss.js +1 -1
- package/es/components/fluid-select/fluid-select.scss.js.map +1 -1
- package/es/components/fluid-text-input/fluid-text-input.scss.js +1 -1
- package/es/components/fluid-text-input/fluid-text-input.scss.js.map +1 -1
- package/es/components/fluid-textarea/fluid-textarea.scss.js +1 -1
- package/es/components/fluid-textarea/fluid-textarea.scss.js.map +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker.scss.js +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker.scss.js.map +1 -1
- package/es/components/icon-button/icon-button.d.ts +1 -1
- package/es/components/icon-button/icon-button.d.ts.map +1 -1
- package/es/components/icon-button/icon-button.js.map +1 -1
- package/es/components/icon-button/icon-button.scss.js +1 -1
- package/es/components/icon-button/icon-button.scss.js.map +1 -1
- package/es/components/icon-indicator/icon-indicator.d.ts +20 -1
- package/es/components/icon-indicator/icon-indicator.d.ts.map +1 -1
- package/es/components/icon-indicator/icon-indicator.js +30 -2
- package/es/components/icon-indicator/icon-indicator.js.map +1 -1
- package/es/components/icon-indicator/icon-indicator.scss.js +1 -1
- package/es/components/icon-indicator/icon-indicator.scss.js.map +1 -1
- package/es/components/layout/layout.scss.js +1 -1
- package/es/components/layout/layout.scss.js.map +1 -1
- package/es/components/link/link.d.ts +1 -1
- package/es/components/menu/menu-item-selectable.d.ts +1 -1
- package/es/components/menu/menu-item.scss.js +1 -1
- package/es/components/menu/menu-item.scss.js.map +1 -1
- package/es/components/menu/menu.scss.js +1 -1
- package/es/components/menu-button/menu-button.scss.js +1 -1
- package/es/components/modal/modal-close-button.d.ts +1 -1
- package/es/components/modal/modal.scss.js +1 -1
- package/es/components/multi-select/multi-select.scss.js +1 -1
- package/es/components/notification/actionable-notification.d.ts.map +1 -1
- package/es/components/notification/actionable-notification.js +5 -2
- package/es/components/notification/actionable-notification.js.map +1 -1
- package/es/components/notification/actionable-notification.scss.js +1 -1
- package/es/components/notification/actionable-notification.scss.js.map +1 -1
- package/es/components/notification/inline-notification.scss.js +1 -1
- package/es/components/notification/inline-notification.scss.js.map +1 -1
- package/es/components/notification/toast-notification.scss.js +1 -1
- package/es/components/notification/toast-notification.scss.js.map +1 -1
- package/es/components/number-input/number-input.d.ts +1 -1
- package/es/components/number-input/number-input.scss.js +1 -1
- package/es/components/overflow-menu/overflow-menu-body.d.ts +1 -1
- package/es/components/overflow-menu/overflow-menu-body.d.ts.map +1 -1
- package/es/components/overflow-menu/overflow-menu-body.js +2 -2
- package/es/components/overflow-menu/overflow-menu-body.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu-item.d.ts +1 -1
- package/es/components/overflow-menu/overflow-menu.d.ts +8 -1
- package/es/components/overflow-menu/overflow-menu.d.ts.map +1 -1
- package/es/components/overflow-menu/overflow-menu.js +47 -3
- package/es/components/overflow-menu/overflow-menu.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu.scss.js +1 -1
- package/es/components/overflow-menu/overflow-menu.scss.js.map +1 -1
- package/es/components/pagination/pagination.d.ts +1 -1
- package/es/components/pagination/pagination.scss.js +1 -1
- package/es/components/pagination/pagination.scss.js.map +1 -1
- package/es/components/pagination-nav/pagination-nav.scss.js +1 -1
- package/es/components/pagination-nav/pagination-nav.scss.js.map +1 -1
- package/es/components/password-input/password-input.d.ts +1 -1
- package/es/components/password-input/password-input.scss.js +1 -1
- package/es/components/password-input/password-input.scss.js.map +1 -1
- package/es/components/popover/popover.scss.js +1 -1
- package/es/components/popover/popover.scss.js.map +1 -1
- package/es/components/progress-bar/progress-bar.scss.js +1 -1
- package/es/components/progress-indicator/progress-indicator.scss.js +1 -1
- package/es/components/progress-indicator/progress-step.d.ts +1 -1
- package/es/components/radio-button/radio-button.d.ts +1 -1
- package/es/components/radio-button/radio-button.scss.js +1 -1
- package/es/components/search/search.d.ts +9 -1
- package/es/components/search/search.d.ts.map +1 -1
- package/es/components/search/search.js +7 -6
- package/es/components/search/search.js.map +1 -1
- package/es/components/search/search.scss.js +1 -1
- package/es/components/select/select.d.ts +1 -1
- package/es/components/select/select.scss.js +1 -1
- package/es/components/select/select.scss.js.map +1 -1
- package/es/components/shape-indicator/shape-indicator.d.ts +20 -1
- package/es/components/shape-indicator/shape-indicator.d.ts.map +1 -1
- package/es/components/shape-indicator/shape-indicator.js +32 -4
- package/es/components/shape-indicator/shape-indicator.js.map +1 -1
- package/es/components/shape-indicator/shape-indicator.scss.js +1 -1
- package/es/components/shape-indicator/shape-indicator.scss.js.map +1 -1
- package/es/components/skip-to-content/skip-to-content.d.ts +1 -1
- package/es/components/skip-to-content/skip-to-content.scss.js +1 -1
- package/es/components/slider/slider-input.d.ts +2 -1
- package/es/components/slider/slider-input.d.ts.map +1 -1
- package/es/components/slider/slider-input.js +2 -1
- package/es/components/slider/slider-input.js.map +1 -1
- package/es/components/slider/slider.d.ts +2 -1
- package/es/components/slider/slider.d.ts.map +1 -1
- package/es/components/slider/slider.js +5 -5
- package/es/components/slider/slider.js.map +1 -1
- package/es/components/slider/slider.scss.js +1 -1
- package/es/components/slider/slider.scss.js.map +1 -1
- package/es/components/slug/slug.scss.js +1 -1
- package/es/components/slug/slug.scss.js.map +1 -1
- package/es/components/structured-list/structured-list.d.ts +1 -1
- package/es/components/structured-list/structured-list.scss.js +1 -1
- package/es/components/tabs/tabs-vertical.d.ts +4 -0
- package/es/components/tabs/tabs-vertical.d.ts.map +1 -1
- package/es/components/tabs/tabs-vertical.js +3 -2
- package/es/components/tabs/tabs-vertical.js.map +1 -1
- package/es/components/tabs/tabs.scss.js +1 -1
- package/es/components/tabs/tabs.scss.js.map +1 -1
- package/es/components/tag/operational-tag.d.ts +1 -1
- package/es/components/tag/operational-tag.d.ts.map +1 -1
- package/es/components/tag/operational-tag.js +3 -3
- package/es/components/tag/operational-tag.js.map +1 -1
- package/es/components/tag/selectable-tag.d.ts +1 -1
- package/es/components/tag/selectable-tag.d.ts.map +1 -1
- package/es/components/tag/selectable-tag.js +3 -3
- package/es/components/tag/selectable-tag.js.map +1 -1
- package/es/components/tag/tag.d.ts +1 -0
- package/es/components/tag/tag.d.ts.map +1 -1
- package/es/components/tag/tag.js +3 -3
- package/es/components/tag/tag.js.map +1 -1
- package/es/components/tag/tag.scss.js +1 -1
- package/es/components/text-input/text-input.d.ts +1 -1
- package/es/components/text-input/text-input.scss.js +1 -1
- package/es/components/text-input/text-input.scss.js.map +1 -1
- package/es/components/textarea/textarea.d.ts +1 -1
- package/es/components/textarea/textarea.scss.js +1 -1
- package/es/components/textarea/textarea.scss.js.map +1 -1
- package/es/components/tile/selectable-tile.d.ts +1 -1
- package/es/components/tile/tile.scss.js +1 -1
- package/es/components/tile/tile.scss.js.map +1 -1
- package/es/components/time-picker/time-picker-select.d.ts +1 -1
- package/es/components/time-picker/time-picker.d.ts +1 -1
- package/es/components/time-picker/time-picker.scss.js +1 -1
- package/es/components/time-picker/time-picker.scss.js.map +1 -1
- package/es/components/toggle-tip/toggletip.d.ts +13 -1
- package/es/components/toggle-tip/toggletip.d.ts.map +1 -1
- package/es/components/toggle-tip/toggletip.js +10 -14
- package/es/components/toggle-tip/toggletip.js.map +1 -1
- package/es/components/toggle-tip/toggletip.scss.js +1 -1
- package/es/components/tooltip/definition-tooltip.d.ts +4 -2
- package/es/components/tooltip/definition-tooltip.d.ts.map +1 -1
- package/es/components/tooltip/definition-tooltip.js +23 -12
- package/es/components/tooltip/definition-tooltip.js.map +1 -1
- package/es/components/tooltip/tooltip.scss.js +1 -1
- package/es/components/tooltip/tooltip.scss.js.map +1 -1
- package/es/components/ui-shell/header-global-action.d.ts +1 -1
- package/es/components/ui-shell/header-menu-button.d.ts +1 -1
- package/es/components/ui-shell/header-menu.d.ts +1 -1
- package/es/components/ui-shell/header-name.d.ts +1 -1
- package/es/components/ui-shell/header-nav-item.d.ts +1 -1
- package/es/components/ui-shell/header-panel.d.ts +1 -1
- package/es/components/ui-shell/header.scss.js +1 -1
- package/es/components/ui-shell/side-nav-link.d.ts +1 -1
- package/es/components/ui-shell/side-nav-menu-item.d.ts +1 -1
- package/es/components/ui-shell/side-nav-menu.d.ts +1 -1
- package/es/components/ui-shell/switcher-item.d.ts +1 -1
- package/es/components/ui-shell/switcher.d.ts +1 -1
- package/es-custom/components/accordion/accordion.scss.js +1 -1
- package/es-custom/components/ai-label/ai-label.scss.js +1 -1
- package/es-custom/components/ai-label/ai-label.scss.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
- package/es-custom/components/button/button.d.ts +2 -2
- package/es-custom/components/button/button.d.ts.map +1 -1
- package/es-custom/components/button/button.js +2 -2
- package/es-custom/components/button/button.js.map +1 -1
- package/es-custom/components/button/button.scss.js +1 -1
- package/es-custom/components/button/button.scss.js.map +1 -1
- package/es-custom/components/chat-button/chat-button.scss.js +1 -1
- package/es-custom/components/chat-button/chat-button.scss.js.map +1 -1
- package/es-custom/components/checkbox/checkbox-group.d.ts +1 -1
- package/es-custom/components/checkbox/checkbox.d.ts +1 -1
- package/es-custom/components/checkbox/checkbox.scss.js +1 -1
- package/es-custom/components/code-snippet/code-snippet.d.ts +1 -1
- package/es-custom/components/code-snippet/code-snippet.scss.js +1 -1
- package/es-custom/components/combo-box/combo-box.scss.js +1 -1
- package/es-custom/components/combo-box/combo-box.scss.js.map +1 -1
- package/es-custom/components/combo-button/combo-button.scss.js +1 -1
- package/es-custom/components/contained-list/contained-list.scss.js +1 -1
- package/es-custom/components/contained-list/contained-list.scss.js.map +1 -1
- package/es-custom/components/content-switcher/content-switcher-item.d.ts +1 -1
- package/es-custom/components/content-switcher/content-switcher.scss.js +1 -1
- package/es-custom/components/copy-button/copy-button.scss.js +1 -1
- package/es-custom/components/copy-button/copy-button.scss.js.map +1 -1
- package/es-custom/components/data-table/data-table.scss.js +1 -1
- package/es-custom/components/data-table/table-header-cell.d.ts +1 -1
- package/es-custom/components/data-table/table-toolbar-search.d.ts +1 -1
- package/es-custom/components/date-picker/date-picker-input.d.ts +1 -1
- package/es-custom/components/date-picker/date-picker.scss.js +1 -1
- package/es-custom/components/dialog/dialog.scss.js +1 -1
- package/es-custom/components/dropdown/dropdown.d.ts +1 -1
- package/es-custom/components/dropdown/dropdown.scss.js +1 -1
- package/es-custom/components/file-uploader/file-uploader-button.d.ts +1 -0
- package/es-custom/components/file-uploader/file-uploader-button.d.ts.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-button.js +10 -11
- package/es-custom/components/file-uploader/file-uploader-button.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-drop-container.d.ts +1 -0
- package/es-custom/components/file-uploader/file-uploader-drop-container.d.ts.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-drop-container.js +6 -5
- package/es-custom/components/file-uploader/file-uploader-drop-container.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader.scss.js +1 -1
- package/es-custom/components/file-uploader/file-uploader.scss.js.map +1 -1
- package/es-custom/components/floating-menu/floating-menu.d.ts +1 -1
- package/es-custom/components/floating-menu/floating-menu.js +1 -1
- package/es-custom/components/floating-menu/floating-menu.js.map +1 -1
- package/es-custom/components/fluid-combo-box/fluid-combo-box.scss.js +1 -1
- package/es-custom/components/fluid-combo-box/fluid-combo-box.scss.js.map +1 -1
- package/es-custom/components/fluid-dropdown/fluid-dropdown.scss.js +1 -1
- package/es-custom/components/fluid-dropdown/fluid-dropdown.scss.js.map +1 -1
- package/es-custom/components/fluid-multi-select/fluid-multi-select.scss.js +1 -1
- package/es-custom/components/fluid-multi-select/fluid-multi-select.scss.js.map +1 -1
- package/es-custom/components/fluid-number-input/fluid-number-input.scss.js +1 -1
- package/es-custom/components/fluid-number-input/fluid-number-input.scss.js.map +1 -1
- package/es-custom/components/fluid-password-input/fluid-password-input.scss.js +1 -1
- package/es-custom/components/fluid-password-input/fluid-password-input.scss.js.map +1 -1
- package/es-custom/components/fluid-search/fluid-search.scss.js +1 -1
- package/es-custom/components/fluid-search/fluid-search.scss.js.map +1 -1
- package/es-custom/components/fluid-select/fluid-select.scss.js +1 -1
- package/es-custom/components/fluid-select/fluid-select.scss.js.map +1 -1
- package/es-custom/components/fluid-text-input/fluid-text-input.scss.js +1 -1
- package/es-custom/components/fluid-text-input/fluid-text-input.scss.js.map +1 -1
- package/es-custom/components/fluid-textarea/fluid-textarea.scss.js +1 -1
- package/es-custom/components/fluid-textarea/fluid-textarea.scss.js.map +1 -1
- package/es-custom/components/fluid-time-picker/fluid-time-picker.scss.js +1 -1
- package/es-custom/components/fluid-time-picker/fluid-time-picker.scss.js.map +1 -1
- package/es-custom/components/icon-button/icon-button.d.ts +1 -1
- package/es-custom/components/icon-button/icon-button.d.ts.map +1 -1
- package/es-custom/components/icon-button/icon-button.js.map +1 -1
- package/es-custom/components/icon-button/icon-button.scss.js +1 -1
- package/es-custom/components/icon-button/icon-button.scss.js.map +1 -1
- package/es-custom/components/icon-indicator/icon-indicator.d.ts +20 -1
- package/es-custom/components/icon-indicator/icon-indicator.d.ts.map +1 -1
- package/es-custom/components/icon-indicator/icon-indicator.js +30 -2
- package/es-custom/components/icon-indicator/icon-indicator.js.map +1 -1
- package/es-custom/components/icon-indicator/icon-indicator.scss.js +1 -1
- package/es-custom/components/icon-indicator/icon-indicator.scss.js.map +1 -1
- package/es-custom/components/layout/layout.scss.js +1 -1
- package/es-custom/components/layout/layout.scss.js.map +1 -1
- package/es-custom/components/link/link.d.ts +1 -1
- package/es-custom/components/menu/menu-item-selectable.d.ts +1 -1
- package/es-custom/components/menu/menu-item.scss.js +1 -1
- package/es-custom/components/menu/menu-item.scss.js.map +1 -1
- package/es-custom/components/menu/menu.scss.js +1 -1
- package/es-custom/components/menu-button/menu-button.scss.js +1 -1
- package/es-custom/components/modal/modal-close-button.d.ts +1 -1
- package/es-custom/components/modal/modal.scss.js +1 -1
- package/es-custom/components/multi-select/multi-select.scss.js +1 -1
- package/es-custom/components/notification/actionable-notification.d.ts.map +1 -1
- package/es-custom/components/notification/actionable-notification.js +5 -2
- package/es-custom/components/notification/actionable-notification.js.map +1 -1
- package/es-custom/components/notification/actionable-notification.scss.js +1 -1
- package/es-custom/components/notification/actionable-notification.scss.js.map +1 -1
- package/es-custom/components/notification/inline-notification.scss.js +1 -1
- package/es-custom/components/notification/inline-notification.scss.js.map +1 -1
- package/es-custom/components/notification/toast-notification.scss.js +1 -1
- package/es-custom/components/notification/toast-notification.scss.js.map +1 -1
- package/es-custom/components/number-input/number-input.d.ts +1 -1
- package/es-custom/components/number-input/number-input.scss.js +1 -1
- package/es-custom/components/overflow-menu/overflow-menu-body.d.ts +1 -1
- package/es-custom/components/overflow-menu/overflow-menu-body.d.ts.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu-body.js +2 -2
- package/es-custom/components/overflow-menu/overflow-menu-body.js.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu-item.d.ts +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.d.ts +8 -1
- package/es-custom/components/overflow-menu/overflow-menu.d.ts.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.js +47 -3
- package/es-custom/components/overflow-menu/overflow-menu.js.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.scss.js +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.scss.js.map +1 -1
- package/es-custom/components/pagination/pagination.d.ts +1 -1
- package/es-custom/components/pagination/pagination.scss.js +1 -1
- package/es-custom/components/pagination/pagination.scss.js.map +1 -1
- package/es-custom/components/pagination-nav/pagination-nav.scss.js +1 -1
- package/es-custom/components/pagination-nav/pagination-nav.scss.js.map +1 -1
- package/es-custom/components/password-input/password-input.d.ts +1 -1
- package/es-custom/components/password-input/password-input.scss.js +1 -1
- package/es-custom/components/password-input/password-input.scss.js.map +1 -1
- package/es-custom/components/popover/popover.scss.js +1 -1
- package/es-custom/components/popover/popover.scss.js.map +1 -1
- package/es-custom/components/progress-bar/progress-bar.scss.js +1 -1
- package/es-custom/components/progress-indicator/progress-indicator.scss.js +1 -1
- package/es-custom/components/progress-indicator/progress-step.d.ts +1 -1
- package/es-custom/components/radio-button/radio-button.d.ts +1 -1
- package/es-custom/components/radio-button/radio-button.scss.js +1 -1
- package/es-custom/components/search/search.d.ts +9 -1
- package/es-custom/components/search/search.d.ts.map +1 -1
- package/es-custom/components/search/search.js +7 -6
- package/es-custom/components/search/search.js.map +1 -1
- package/es-custom/components/search/search.scss.js +1 -1
- package/es-custom/components/select/select.d.ts +1 -1
- package/es-custom/components/select/select.scss.js +1 -1
- package/es-custom/components/select/select.scss.js.map +1 -1
- package/es-custom/components/shape-indicator/shape-indicator.d.ts +20 -1
- package/es-custom/components/shape-indicator/shape-indicator.d.ts.map +1 -1
- package/es-custom/components/shape-indicator/shape-indicator.js +32 -4
- package/es-custom/components/shape-indicator/shape-indicator.js.map +1 -1
- package/es-custom/components/shape-indicator/shape-indicator.scss.js +1 -1
- package/es-custom/components/shape-indicator/shape-indicator.scss.js.map +1 -1
- package/es-custom/components/skip-to-content/skip-to-content.d.ts +1 -1
- package/es-custom/components/skip-to-content/skip-to-content.scss.js +1 -1
- package/es-custom/components/slider/slider-input.d.ts +2 -1
- package/es-custom/components/slider/slider-input.d.ts.map +1 -1
- package/es-custom/components/slider/slider-input.js +2 -1
- package/es-custom/components/slider/slider-input.js.map +1 -1
- package/es-custom/components/slider/slider.d.ts +2 -1
- package/es-custom/components/slider/slider.d.ts.map +1 -1
- package/es-custom/components/slider/slider.js +5 -5
- package/es-custom/components/slider/slider.js.map +1 -1
- package/es-custom/components/slider/slider.scss.js +1 -1
- package/es-custom/components/slider/slider.scss.js.map +1 -1
- package/es-custom/components/slug/slug.scss.js +1 -1
- package/es-custom/components/slug/slug.scss.js.map +1 -1
- package/es-custom/components/structured-list/structured-list.d.ts +1 -1
- package/es-custom/components/structured-list/structured-list.scss.js +1 -1
- package/es-custom/components/tabs/tabs-vertical.d.ts +4 -0
- package/es-custom/components/tabs/tabs-vertical.d.ts.map +1 -1
- package/es-custom/components/tabs/tabs-vertical.js +3 -2
- package/es-custom/components/tabs/tabs-vertical.js.map +1 -1
- package/es-custom/components/tabs/tabs.scss.js +1 -1
- package/es-custom/components/tabs/tabs.scss.js.map +1 -1
- package/es-custom/components/tag/operational-tag.d.ts +1 -1
- package/es-custom/components/tag/operational-tag.d.ts.map +1 -1
- package/es-custom/components/tag/operational-tag.js +3 -3
- package/es-custom/components/tag/operational-tag.js.map +1 -1
- package/es-custom/components/tag/selectable-tag.d.ts +1 -1
- package/es-custom/components/tag/selectable-tag.d.ts.map +1 -1
- package/es-custom/components/tag/selectable-tag.js +3 -3
- package/es-custom/components/tag/selectable-tag.js.map +1 -1
- package/es-custom/components/tag/tag.d.ts +1 -0
- package/es-custom/components/tag/tag.d.ts.map +1 -1
- package/es-custom/components/tag/tag.js +3 -3
- package/es-custom/components/tag/tag.js.map +1 -1
- package/es-custom/components/tag/tag.scss.js +1 -1
- package/es-custom/components/text-input/text-input.d.ts +1 -1
- package/es-custom/components/text-input/text-input.scss.js +1 -1
- package/es-custom/components/text-input/text-input.scss.js.map +1 -1
- package/es-custom/components/textarea/textarea.d.ts +1 -1
- package/es-custom/components/textarea/textarea.scss.js +1 -1
- package/es-custom/components/textarea/textarea.scss.js.map +1 -1
- package/es-custom/components/tile/selectable-tile.d.ts +1 -1
- package/es-custom/components/tile/tile.scss.js +1 -1
- package/es-custom/components/tile/tile.scss.js.map +1 -1
- package/es-custom/components/time-picker/time-picker-select.d.ts +1 -1
- package/es-custom/components/time-picker/time-picker.d.ts +1 -1
- package/es-custom/components/time-picker/time-picker.scss.js +1 -1
- package/es-custom/components/time-picker/time-picker.scss.js.map +1 -1
- package/es-custom/components/toggle-tip/toggletip.d.ts +13 -1
- package/es-custom/components/toggle-tip/toggletip.d.ts.map +1 -1
- package/es-custom/components/toggle-tip/toggletip.js +10 -14
- package/es-custom/components/toggle-tip/toggletip.js.map +1 -1
- package/es-custom/components/toggle-tip/toggletip.scss.js +1 -1
- package/es-custom/components/tooltip/definition-tooltip.d.ts +4 -2
- package/es-custom/components/tooltip/definition-tooltip.d.ts.map +1 -1
- package/es-custom/components/tooltip/definition-tooltip.js +23 -12
- package/es-custom/components/tooltip/definition-tooltip.js.map +1 -1
- package/es-custom/components/tooltip/tooltip.scss.js +1 -1
- package/es-custom/components/tooltip/tooltip.scss.js.map +1 -1
- package/es-custom/components/ui-shell/header-global-action.d.ts +1 -1
- package/es-custom/components/ui-shell/header-menu-button.d.ts +1 -1
- package/es-custom/components/ui-shell/header-menu.d.ts +1 -1
- package/es-custom/components/ui-shell/header-name.d.ts +1 -1
- package/es-custom/components/ui-shell/header-nav-item.d.ts +1 -1
- package/es-custom/components/ui-shell/header-panel.d.ts +1 -1
- package/es-custom/components/ui-shell/header.scss.js +1 -1
- package/es-custom/components/ui-shell/side-nav-link.d.ts +1 -1
- package/es-custom/components/ui-shell/side-nav-menu-item.d.ts +1 -1
- package/es-custom/components/ui-shell/side-nav-menu.d.ts +1 -1
- package/es-custom/components/ui-shell/switcher-item.d.ts +1 -1
- package/es-custom/components/ui-shell/switcher.d.ts +1 -1
- package/lib/components/button/button.d.ts +2 -2
- package/lib/components/button/button.d.ts.map +1 -1
- package/lib/components/checkbox/checkbox-group.d.ts +1 -1
- package/lib/components/checkbox/checkbox.d.ts +1 -1
- package/lib/components/code-snippet/code-snippet.d.ts +1 -1
- package/lib/components/content-switcher/content-switcher-item.d.ts +1 -1
- package/lib/components/data-table/table-header-cell.d.ts +1 -1
- package/lib/components/data-table/table-toolbar-search.d.ts +1 -1
- package/lib/components/date-picker/date-picker-input.d.ts +1 -1
- package/lib/components/dropdown/dropdown.d.ts +1 -1
- package/lib/components/file-uploader/file-uploader-button.d.ts +1 -0
- package/lib/components/file-uploader/file-uploader-button.d.ts.map +1 -1
- package/lib/components/file-uploader/file-uploader-drop-container.d.ts +1 -0
- package/lib/components/file-uploader/file-uploader-drop-container.d.ts.map +1 -1
- package/lib/components/floating-menu/floating-menu.d.ts +1 -1
- package/lib/components/icon-button/icon-button.d.ts +1 -1
- package/lib/components/icon-button/icon-button.d.ts.map +1 -1
- package/lib/components/icon-indicator/icon-indicator.d.ts +20 -1
- package/lib/components/icon-indicator/icon-indicator.d.ts.map +1 -1
- package/lib/components/link/link.d.ts +1 -1
- package/lib/components/menu/menu-item-selectable.d.ts +1 -1
- package/lib/components/modal/modal-close-button.d.ts +1 -1
- package/lib/components/notification/actionable-notification.d.ts.map +1 -1
- package/lib/components/number-input/number-input.d.ts +1 -1
- package/lib/components/overflow-menu/overflow-menu-body.d.ts +1 -1
- package/lib/components/overflow-menu/overflow-menu-body.d.ts.map +1 -1
- package/lib/components/overflow-menu/overflow-menu-item.d.ts +1 -1
- package/lib/components/overflow-menu/overflow-menu.d.ts +8 -1
- package/lib/components/overflow-menu/overflow-menu.d.ts.map +1 -1
- package/lib/components/pagination/pagination.d.ts +1 -1
- package/lib/components/password-input/password-input.d.ts +1 -1
- package/lib/components/progress-indicator/progress-step.d.ts +1 -1
- package/lib/components/radio-button/radio-button.d.ts +1 -1
- package/lib/components/search/search.d.ts +9 -1
- package/lib/components/search/search.d.ts.map +1 -1
- package/lib/components/select/select.d.ts +1 -1
- package/lib/components/shape-indicator/shape-indicator.d.ts +20 -1
- package/lib/components/shape-indicator/shape-indicator.d.ts.map +1 -1
- package/lib/components/skip-to-content/skip-to-content.d.ts +1 -1
- package/lib/components/slider/slider-input.d.ts +2 -1
- package/lib/components/slider/slider-input.d.ts.map +1 -1
- package/lib/components/slider/slider.d.ts +2 -1
- package/lib/components/slider/slider.d.ts.map +1 -1
- package/lib/components/structured-list/structured-list.d.ts +1 -1
- package/lib/components/tabs/tabs-vertical.d.ts +4 -0
- package/lib/components/tabs/tabs-vertical.d.ts.map +1 -1
- package/lib/components/tag/operational-tag.d.ts +1 -1
- package/lib/components/tag/operational-tag.d.ts.map +1 -1
- package/lib/components/tag/selectable-tag.d.ts +1 -1
- package/lib/components/tag/selectable-tag.d.ts.map +1 -1
- package/lib/components/tag/tag.d.ts +1 -0
- package/lib/components/tag/tag.d.ts.map +1 -1
- package/lib/components/text-input/text-input.d.ts +1 -1
- package/lib/components/textarea/textarea.d.ts +1 -1
- package/lib/components/tile/selectable-tile.d.ts +1 -1
- package/lib/components/time-picker/time-picker-select.d.ts +1 -1
- package/lib/components/time-picker/time-picker.d.ts +1 -1
- package/lib/components/toggle-tip/toggletip.d.ts +13 -1
- package/lib/components/toggle-tip/toggletip.d.ts.map +1 -1
- package/lib/components/tooltip/definition-tooltip.d.ts +4 -2
- package/lib/components/tooltip/definition-tooltip.d.ts.map +1 -1
- package/lib/components/ui-shell/header-global-action.d.ts +1 -1
- package/lib/components/ui-shell/header-menu-button.d.ts +1 -1
- package/lib/components/ui-shell/header-menu.d.ts +1 -1
- package/lib/components/ui-shell/header-name.d.ts +1 -1
- package/lib/components/ui-shell/header-nav-item.d.ts +1 -1
- package/lib/components/ui-shell/header-panel.d.ts +1 -1
- package/lib/components/ui-shell/side-nav-link.d.ts +1 -1
- package/lib/components/ui-shell/side-nav-menu-item.d.ts +1 -1
- package/lib/components/ui-shell/side-nav-menu.d.ts +1 -1
- package/lib/components/ui-shell/switcher-item.d.ts +1 -1
- package/lib/components/ui-shell/switcher.d.ts +1 -1
- package/package.json +8 -7
- package/scss/components/ai-label/ai-label.scss +1 -1
- package/scss/components/button/button.scss +2 -1
- package/scss/components/chat-button/chat-button.scss +1 -1
- package/scss/components/combo-box/combo-box.scss +1 -1
- package/scss/components/contained-list/contained-list.scss +4 -1
- package/scss/components/copy-button/copy-button.scss +1 -1
- package/scss/components/data-table/_table-action.scss +0 -1
- package/scss/components/file-uploader/file-uploader.scss +3 -1
- package/scss/components/fluid-combo-box/fluid-combo-box.scss +1 -1
- package/scss/components/fluid-dropdown/fluid-dropdown.scss +1 -1
- package/scss/components/fluid-multi-select/fluid-multi-select.scss +1 -1
- package/scss/components/fluid-number-input/fluid-number-input.scss +1 -1
- package/scss/components/fluid-password-input/fluid-password-input.scss +1 -1
- package/scss/components/fluid-search/fluid-search.scss +1 -1
- package/scss/components/fluid-select/fluid-select.scss +1 -1
- package/scss/components/fluid-text-input/fluid-text-input.scss +1 -1
- package/scss/components/fluid-textarea/fluid-textarea.scss +1 -1
- package/scss/components/fluid-time-picker/fluid-time-picker.scss +1 -1
- package/scss/components/icon-button/icon-button.scss +1 -1
- package/scss/components/icon-indicator/icon-indicator.scss +19 -1
- package/scss/components/layout/layout.scss +1 -1
- package/scss/components/menu/menu-item.scss +4 -0
- package/scss/components/notification/actionable-notification.scss +1 -1
- package/scss/components/notification/inline-notification.scss +1 -1
- package/scss/components/notification/toast-notification.scss +1 -1
- package/scss/components/overflow-menu/overflow-menu.scss +13 -39
- package/scss/components/pagination/pagination.scss +1 -1
- package/scss/components/pagination-nav/pagination-nav.scss +3 -1
- package/scss/components/password-input/password-input.scss +3 -1
- package/scss/components/popover/popover.scss +3 -1
- package/scss/components/select/select.scss +1 -1
- package/scss/components/shape-indicator/shape-indicator.scss +19 -1
- package/scss/components/slider/slider.scss +1 -1
- package/scss/components/slug/slug.scss +1 -1
- package/scss/components/tabs/tabs.scss +4 -1
- package/scss/components/text-input/text-input.scss +3 -1
- package/scss/components/textarea/textarea.scss +1 -1
- package/scss/components/tile/tile.scss +1 -1
- package/scss/components/time-picker/time-picker.scss +1 -1
- package/scss/components/tooltip/tooltip.scss +15 -2
- package/telemetry.yml +4 -234
|
@@ -12,7 +12,7 @@ import iconLoader from "../../globals/internal/icon-loader.js";
|
|
|
12
12
|
import FocusMixin from "../../globals/mixins/focus.js";
|
|
13
13
|
import slider_default from "./slider.scss.js";
|
|
14
14
|
import { LitElement, html } from "lit";
|
|
15
|
-
import { property } from "lit/decorators.js";
|
|
15
|
+
import { property, query } from "lit/decorators.js";
|
|
16
16
|
import { classMap } from "lit/directives/class-map.js";
|
|
17
17
|
import { ifDefined } from "lit/directives/if-defined.js";
|
|
18
18
|
import WarningFilled16 from "@carbon/icons/es/warning--filled/16.js";
|
|
@@ -186,6 +186,7 @@ let CDSSliderInput = class CDSSliderInput extends FocusMixin(LitElement) {
|
|
|
186
186
|
this.styles = slider_default;
|
|
187
187
|
}
|
|
188
188
|
};
|
|
189
|
+
__decorate([query("input")], CDSSliderInput.prototype, "_inputNode", void 0);
|
|
189
190
|
__decorate([property({
|
|
190
191
|
type: Boolean,
|
|
191
192
|
reflect: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider-input.js","names":["styles","customElement"],"sources":["../../../src/components/slider/slider-input.ts"],"sourcesContent":["/**\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 { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { prefix } from '../../globals/settings';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport FocusMixin from '../../globals/mixins/focus';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport styles from './slider.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * The `<input>` box for slider.\n *\n * @element cds-slider-input\n * @fires cds-slider-input-changed - The custom event fired after the value is changed by user gesture.\n */\n@customElement(`${prefix}-slider-input`)\nclass CDSSliderInput extends 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 * Handles `change` event to fire a normalized custom event.\n */\n private _handleChange({ target }: Event) {\n const min = Number(this.min);\n const max = Number(this.max);\n const intermediate = this.value;\n const newValue = (target as HTMLInputElement).value;\n const newValueNumber = Number(newValue);\n if (newValueNumber >= min && newValueNumber <= max && newValue !== '') {\n this.value = newValueNumber;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSliderInput).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate,\n },\n }\n )\n );\n } else {\n this.invalid = newValue === '';\n this.warn =\n (newValueNumber < min || newValueNumber > max) && newValue !== '';\n const intermediate = this.value;\n if (newValue !== '') {\n this.value = newValueNumber < min ? min : max;\n } else {\n this.value = '';\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSliderInput).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate,\n },\n }\n )\n );\n }\n }\n\n /**\n * Handles `input` event to fire a normalized custom event.\n */\n private _handleInput({ target }: Event) {\n const newValue = (target as HTMLInputElement).value;\n if (newValue) {\n this.value = Number(newValue);\n this.invalid = false;\n if (this.value >= Number(this.min) && this.value <= Number(this.max)) {\n this.warn = false;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSliderInput).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: true,\n },\n }\n )\n );\n }\n }\n }\n\n /**\n * `true` if the input should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * true to specify if the control is invalid.\n */\n @property({ type: Boolean, reflect: true })\n invalid = false;\n\n /**\n * true to specify if the control should display warn icon and text.\n */\n @property({ type: Boolean, reflect: true })\n warn = false;\n\n /**\n * true to specify if the control should display warn icon and text.\n */\n @property({ type: Boolean })\n hideTextInput = false;\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 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 * The type of the `<input>`.\n */\n @property()\n type = 'number';\n\n /**\n * The value.\n */\n @property({ type: Number })\n value;\n\n /**\n * true` if the input should be readonly.\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n render() {\n const {\n disabled,\n hideTextInput,\n max,\n min,\n readonly,\n step,\n type,\n value,\n invalid,\n warn,\n _handleChange: handleChange,\n _handleInput: handleInput,\n } = this;\n\n const isInteractive = !readonly && !disabled;\n\n const normalizedProps: {\n invalid: boolean;\n warn: boolean;\n } = {\n invalid: isInteractive && invalid,\n warn: isInteractive && !invalid && warn,\n };\n\n const classes = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--slider-text-input`]: true,\n [`${prefix}--text-input--invalid`]: normalizedProps.invalid,\n [`${prefix}--slider-text-input--warn`]: normalizedProps.warn,\n });\n\n const invalidIcon = iconLoader(WarningFilled16, {\n class: `${prefix}--slider__invalid-icon`,\n });\n\n const warnIcon = iconLoader(WarningAltFilled16, {\n class: `${prefix}--slider__invalid-icon ${prefix}--slider__invalid-icon--warning`,\n });\n return html`\n <input\n ?disabled=\"${disabled}\"\n ?data-invalid=\"${normalizedProps.invalid}\"\n type=\"${hideTextInput ? 'hidden' : ifDefined(type)}\"\n class=\"${classes}\"\n max=\"${max}\"\n min=\"${min}\"\n ?readonly=\"${ifDefined(readonly)}\"\n step=\"${step}\"\n .value=\"${value}\"\n @change=\"${handleChange}\"\n @input=\"${handleInput}\" />\n ${!hideTextInput && normalizedProps.invalid ? html`${invalidIcon}` : null}\n ${!hideTextInput && normalizedProps.warn ? html`${warnIcon}` : null}\n `;\n }\n\n /**\n * A selector that will return the parent slider.\n */\n static get selectorParent() {\n return `${prefix}-slider`;\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-input-changed`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSSliderInput;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slider-input.js","names":["styles","customElement"],"sources":["../../../src/components/slider/slider-input.ts"],"sourcesContent":["/**\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 { classMap } from 'lit/directives/class-map.js';\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { prefix } from '../../globals/settings';\nimport { iconLoader } from '../../globals/internal/icon-loader';\nimport FocusMixin from '../../globals/mixins/focus';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport styles from './slider.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\n\n/**\n * The `<input>` box for slider.\n *\n * @element cds-slider-input\n * @fires cds-slider-input-changed - The custom event fired after the value is changed by user gesture.\n */\n@customElement(`${prefix}-slider-input`)\nclass CDSSliderInput extends FocusMixin(LitElement) {\n @query('input')\n _inputNode!: HTMLInputElement | null;\n\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 * Handles `change` event to fire a normalized custom event.\n */\n private _handleChange({ target }: Event) {\n const min = Number(this.min);\n const max = Number(this.max);\n const intermediate = this.value;\n const newValue = (target as HTMLInputElement).value;\n const newValueNumber = Number(newValue);\n if (newValueNumber >= min && newValueNumber <= max && newValue !== '') {\n this.value = newValueNumber;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSliderInput).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate,\n },\n }\n )\n );\n } else {\n this.invalid = newValue === '';\n this.warn =\n (newValueNumber < min || newValueNumber > max) && newValue !== '';\n const intermediate = this.value;\n if (newValue !== '') {\n this.value = newValueNumber < min ? min : max;\n } else {\n this.value = '';\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSliderInput).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate,\n },\n }\n )\n );\n }\n }\n\n /**\n * Handles `input` event to fire a normalized custom event.\n */\n private _handleInput({ target }: Event) {\n const newValue = (target as HTMLInputElement).value;\n if (newValue) {\n this.value = Number(newValue);\n this.invalid = false;\n if (this.value >= Number(this.min) && this.value <= Number(this.max)) {\n this.warn = false;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSliderInput).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: true,\n },\n }\n )\n );\n }\n }\n }\n\n /**\n * `true` if the input should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * true to specify if the control is invalid.\n */\n @property({ type: Boolean, reflect: true })\n invalid = false;\n\n /**\n * true to specify if the control should display warn icon and text.\n */\n @property({ type: Boolean, reflect: true })\n warn = false;\n\n /**\n * true to specify if the control should display warn icon and text.\n */\n @property({ type: Boolean })\n hideTextInput = false;\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 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 * The type of the `<input>`.\n */\n @property()\n type = 'number';\n\n /**\n * The value.\n */\n @property({ type: Number })\n value;\n\n /**\n * true` if the input should be readonly.\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n render() {\n const {\n disabled,\n hideTextInput,\n max,\n min,\n readonly,\n step,\n type,\n value,\n invalid,\n warn,\n _handleChange: handleChange,\n _handleInput: handleInput,\n } = this;\n\n const isInteractive = !readonly && !disabled;\n\n const normalizedProps: {\n invalid: boolean;\n warn: boolean;\n } = {\n invalid: isInteractive && invalid,\n warn: isInteractive && !invalid && warn,\n };\n\n const classes = classMap({\n [`${prefix}--text-input`]: true,\n [`${prefix}--slider-text-input`]: true,\n [`${prefix}--text-input--invalid`]: normalizedProps.invalid,\n [`${prefix}--slider-text-input--warn`]: normalizedProps.warn,\n });\n\n const invalidIcon = iconLoader(WarningFilled16, {\n class: `${prefix}--slider__invalid-icon`,\n });\n\n const warnIcon = iconLoader(WarningAltFilled16, {\n class: `${prefix}--slider__invalid-icon ${prefix}--slider__invalid-icon--warning`,\n });\n return html`\n <input\n ?disabled=\"${disabled}\"\n ?data-invalid=\"${normalizedProps.invalid}\"\n type=\"${hideTextInput ? 'hidden' : ifDefined(type)}\"\n class=\"${classes}\"\n max=\"${max}\"\n min=\"${min}\"\n ?readonly=\"${ifDefined(readonly)}\"\n step=\"${step}\"\n .value=\"${value}\"\n @change=\"${handleChange}\"\n @input=\"${handleInput}\" />\n ${!hideTextInput && normalizedProps.invalid ? html`${invalidIcon}` : null}\n ${!hideTextInput && normalizedProps.warn ? html`${warnIcon}` : null}\n `;\n }\n\n /**\n * A selector that will return the parent slider.\n */\n static get selectorParent() {\n return `${prefix}-slider`;\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-input-changed`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSSliderInput;\n"],"mappings":"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"}
|
|
@@ -99,6 +99,7 @@ declare class CDSSlider extends CDSSlider_base {
|
|
|
99
99
|
* The DOM element of the track.
|
|
100
100
|
*/
|
|
101
101
|
private _trackNode;
|
|
102
|
+
private _sliderFilledTrack;
|
|
102
103
|
/**
|
|
103
104
|
* Handles `click` event on the `<label>` to focus on the thumb.
|
|
104
105
|
*/
|
|
@@ -260,7 +261,7 @@ declare class CDSSlider extends CDSSlider_base {
|
|
|
260
261
|
static shadowRootOptions: {
|
|
261
262
|
delegatesFocus: boolean;
|
|
262
263
|
clonable?: boolean;
|
|
263
|
-
customElementRegistry?: CustomElementRegistry;
|
|
264
|
+
customElementRegistry?: CustomElementRegistry | null;
|
|
264
265
|
mode: ShadowRootMode;
|
|
265
266
|
serializable?: boolean;
|
|
266
267
|
slotAssignment?: SlotAssignmentMode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../src/components/slider/slider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAUvC,OAAO,kBAAkB,CAAC;;;;;;;;;;uBAM1B,CAAC;;;;;;;;;;;;AAqBD;;;;;;;;;;GAUG;AACH,cACM,SAAU,SAAQ,cAAoD;IAC1E,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,YAAY,CAAkB;IACtC;;OAEG;IACH,OAAO,CAAC,IAAI,CAAS;IAErB;;OAEG;IACH,OAAO,CAAC,IAAI,CAAO;IAEnB;;OAEG;IACH,OAAO,CAAC,KAAK,CAAO;IAEpB;;OAEG;IACH,OAAO,CAAC,eAAe,CAAO;IAE9B;;OAEG;IACH,OAAO,CAAC,+BAA+B,CAEvB;IAEhB;;OAEG;IACH,OAAO,CAAC,SAAS,CAAS;IAC1B;;OAEG;IACH,OAAO,CAAC,cAAc,CAAS;IAE/B;;OAEG;IAEH,mBAAmB,MAAC;IAEpB;;;OAGG;IACH,OAAO,KAAK,KAAK,GAahB;IAED,OAAO,KAAK,KAAK,QAShB;IACD;;;OAGG;IACH,OAAO,KAAK,UAAU,GAarB;IAED,OAAO,KAAK,UAAU,QASrB;IAED;;OAEG;IAEH,OAAO,CAAC,UAAU,CAAkB;IACpC;;OAEG;IAEH,OAAO,CAAC,eAAe,CAAkB;IAEzC;;OAEG;IAEH,OAAO,CAAC,UAAU,CAAkB;
|
|
1
|
+
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../src/components/slider/slider.ts"],"names":[],"mappings":"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"}
|
|
@@ -108,7 +108,7 @@ let CDSSlider = class CDSSlider extends HostListenerMixin(FormMixin(FocusMixin(L
|
|
|
108
108
|
};
|
|
109
109
|
this._handleChangeInput = (event) => {
|
|
110
110
|
const input = event.target;
|
|
111
|
-
const inputElement = input.
|
|
111
|
+
const inputElement = input._inputNode;
|
|
112
112
|
this.isValid = input.tagName === "CDS-SLIDER-INPUT" ? this._getInputValidity(input) : this.isValid;
|
|
113
113
|
this.warn = this._getInputWarnigState(inputElement);
|
|
114
114
|
const eventContainer = event.target.id;
|
|
@@ -380,7 +380,7 @@ let CDSSlider = class CDSSlider extends HostListenerMixin(FormMixin(FocusMixin(L
|
|
|
380
380
|
this.requestUpdate("stepMultiplier", oldstepMultiplier);
|
|
381
381
|
}
|
|
382
382
|
_getInputValidity(input) {
|
|
383
|
-
const inputElement = input?.
|
|
383
|
+
const inputElement = input?._inputNode;
|
|
384
384
|
if (this.invalid) return false;
|
|
385
385
|
if (input?.invalid) return false;
|
|
386
386
|
if (inputElement?.valueAsNumber > Number(this.max) || inputElement?.valueAsNumber < Number(this.min)) return false;
|
|
@@ -403,9 +403,8 @@ let CDSSlider = class CDSSlider extends HostListenerMixin(FormMixin(FocusMixin(L
|
|
|
403
403
|
super.disconnectedCallback();
|
|
404
404
|
}
|
|
405
405
|
updated() {
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
else sliderfilledTrack.style.transform = this.unstable_valueUpper ? `translate(${this._rate * 100}%, -50%) scaleX(${this._rateUpper - this._rate})` : `translate(0%, -50%) scaleX(${this._rate})`;
|
|
406
|
+
if (this._sliderFilledTrack) if (this.unstable_valueUpper || this.unstable_valueUpper === "") this._sliderFilledTrack.style.transform = this.unstable_valueUpper ? `translate(${this._rate * 100}%, -50%) scaleX(${this._rateUpper - this._rate})` : `translate(0%, -50%) scaleX(${this._rate})`;
|
|
407
|
+
else this._sliderFilledTrack.style.transform = this.unstable_valueUpper ? `translate(${this._rate * 100}%, -50%) scaleX(${this._rateUpper - this._rate})` : `translate(0%, -50%) scaleX(${this._rate})`;
|
|
409
408
|
}
|
|
410
409
|
shouldUpdate(changedProperties) {
|
|
411
410
|
this.querySelectorAll(this.constructor.selectorInput).forEach((input, index) => {
|
|
@@ -717,6 +716,7 @@ __decorate([property({
|
|
|
717
716
|
__decorate([query("#thumb")], CDSSlider.prototype, "_thumbNode", void 0);
|
|
718
717
|
__decorate([query("#thumb-upper")], CDSSlider.prototype, "_thumbNodeUpper", void 0);
|
|
719
718
|
__decorate([query("#track")], CDSSlider.prototype, "_trackNode", void 0);
|
|
719
|
+
__decorate([query(`.cds--slider__filled-track`)], CDSSlider.prototype, "_sliderFilledTrack", void 0);
|
|
720
720
|
__decorate([HostListener("document:pointermove")], CDSSlider.prototype, "_handlePointermove", void 0);
|
|
721
721
|
__decorate([HostListener("eventChangeInput")], CDSSlider.prototype, "_handleChangeInput", void 0);
|
|
722
722
|
__decorate([property({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.js","names":["styles","customElement"],"sources":["../../../src/components/slider/slider.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\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, 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 '../tooltip/index';\nimport styles from './slider.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\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 * Minimum time between processed \"drag\" events.\n */\nconst EVENT_THROTTLE = 16; // ms\n\n/**\n * Slider.\n *\n * @element cds-slider\n * @fires cds-slider-input-changed\n * The name of the custom event fired after the value is changed in `<cds-slider-input>` by user gesture.\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 private _cachedRateUpper: number = 1;\n private _cachedRate: number = 0;\n private dragCooldownTimeout: number | null = null;\n private dragCoolDown: boolean = false;\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 * `true` if dragging of thumb upper is in progress.\n */\n private _draggingUpper = false;\n\n /**\n * The upper bound when there are two handles..\n */\n @property({ type: Number, attribute: 'value-upper' })\n unstable_valueUpper;\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 if (value || value === 0) {\n const rate =\n (Math.min(Number(max), Math.max(Number(min), Number(value))) -\n Number(min)) /\n (Number(max) - Number(min));\n this._cachedRate = rate;\n return rate;\n } else {\n return this._cachedRate;\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 * The rate of the upper thumb position in the track.\n * When we try to set a new value for upper input, we adjust the value considering `step` property.\n */\n private get _rateUpper() {\n const { max, min, unstable_valueUpper } = this;\n // Copes with out-of-range value coming programmatically or from `<cds-slider-input>`\n if (unstable_valueUpper) {\n const rateUpper =\n (Math.min(Number(max), Math.max(Number(min), unstable_valueUpper)) -\n Number(min)) /\n (Number(max) - Number(min));\n this._cachedRateUpper = rateUpper;\n return rateUpper;\n } else {\n return this._cachedRateUpper;\n }\n }\n\n private set _rateUpper(rateUpper: number) {\n const { max, min, step } = this;\n this.unstable_valueUpper =\n Number(min) +\n Math.round(\n ((Number(max) - Number(min)) * Math.min(1, Math.max(0, rateUpper))) /\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 * The DOM element of the thumb upper.\n */\n @query('#thumb-upper')\n private _thumbNodeUpper!: 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 private _setThumbTooltipOpen(thumb: HTMLElement | null, open: boolean) {\n if (!this.hideTextInput || !thumb) {\n return;\n }\n const tooltip = thumb.closest(`${prefix}-tooltip`) as\n | (HTMLElement & { open: boolean })\n | null;\n if (tooltip) {\n tooltip.open = open;\n }\n }\n\n _handleFormdata(event: FormDataEvent) {\n const { formData } = event;\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(event: KeyboardEvent) {\n const eventContainer = (event.target as HTMLElement).id;\n const { key, shiftKey } = event;\n if (!this.disabled && !this.readonly) {\n if (key in THUMB_DIRECTION) {\n const {\n max: rawMax,\n min: rawMin,\n step: rawStep,\n stepMultiplier: rawstepMultiplier,\n value,\n unstable_valueUpper,\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 // Snaps to next\n if (eventContainer == 'thumb-upper') {\n const stepCount = (unstable_valueUpper + diff) / step;\n const position = Math.min(\n max,\n Math.max(\n min,\n (diff >= 0 ? Math.floor(stepCount) : Math.ceil(stepCount)) * step\n )\n );\n if (position >= this.value) {\n this.unstable_valueUpper = position;\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSlider).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.unstable_valueUpper,\n intermediate: false,\n },\n }\n )\n );\n } else {\n const stepCount = (value + diff) / step;\n const position = Math.min(\n max,\n Math.max(\n min,\n (diff >= 0 ? Math.floor(stepCount) : Math.ceil(stepCount)) * step\n )\n );\n if (\n !this.unstable_valueUpper ||\n position <= this.unstable_valueUpper\n ) {\n this.value = position;\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSlider).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: false,\n },\n }\n )\n );\n }\n }\n }\n }\n\n /**\n * Throttles calls to `this._onDrag` by limiting events to being processed at\n * most once every `EVENT_THROTTLE` milliseconds.\n */\n onDrag = throttle(this._startDrag, EVENT_THROTTLE, {\n leading: true,\n trailing: false,\n });\n\n /**\n * Handles `pointerdown` event on the thumb to start dragging.\n */\n private _startDrag(event: PointerEvent) {\n if (!this.readonly && !this.disabled) {\n let eventContainer = (event.target as HTMLElement).id;\n if (!eventContainer) {\n const thumb = (event.target as HTMLElement).closest(\n `.${prefix}--slider__thumb`\n ) as HTMLElement | null;\n eventContainer = thumb?.id ?? '';\n }\n if (eventContainer === 'thumb') {\n this._dragging = true;\n this._thumbNode.style.touchAction = 'none';\n this._setThumbTooltipOpen(this._thumbNode, true);\n } else if (eventContainer === 'thumb-upper') {\n this._draggingUpper = true;\n this._thumbNodeUpper.style.touchAction = 'none';\n this._setThumbTooltipOpen(this._thumbNodeUpper, true);\n }\n }\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 let eventContainer = (event.target as HTMLInputElement).id;\n if (!eventContainer) {\n const thumb = (event.target as HTMLElement).closest(\n `.${prefix}--slider__thumb`\n ) as HTMLElement | null;\n eventContainer = thumb?.id ?? '';\n }\n if (!this.disabled && !this.readonly) {\n const { _trackNode: trackNode } = this;\n const isRtl =\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\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 if (eventContainer === 'thumb-upper') {\n this._rateUpper =\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.unstable_valueUpper,\n },\n })\n );\n } else {\n if (!this.unstable_valueUpper) {\n this._rate =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSlider).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n }\n )\n );\n } else {\n if (!this.dragCoolDown) {\n const position =\n ((isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) /\n trackWidth) *\n 100;\n const differenceValue =\n position > this.value\n ? position - this.value\n : this.value - position;\n const differenceValueUpper =\n position > this.unstable_valueUpper\n ? position - this.unstable_valueUpper\n : this.unstable_valueUpper - position;\n if (differenceValue > differenceValueUpper) {\n this._rateUpper = position / 100;\n } else if (differenceValue < differenceValueUpper) {\n this._rate = position / 100;\n } else if (\n !this._dragging &&\n !this._draggingUpper &&\n differenceValue === differenceValueUpper\n ) {\n if (Math.round(position) > this.unstable_valueUpper) {\n this._rateUpper = position / 100;\n } else {\n this._rate = position / 100;\n }\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSlider).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n }\n )\n );\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 // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\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 {\n disabled,\n _dragging: dragging,\n _draggingUpper: draggingUpper,\n } = this;\n if (!disabled && (dragging || draggingUpper)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\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 {\n disabled,\n _dragging: dragging,\n _trackNode: trackNode,\n _draggingUpper: draggingUpper,\n } = this;\n if (!disabled) {\n const isRtl =\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\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 if (dragging) {\n this._setThumbTooltipOpen(this._thumbNode, true);\n const position =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n if (\n !this.unstable_valueUpper ||\n position * 100 <= this.unstable_valueUpper\n ) {\n this._rate = position;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSlider).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: true,\n },\n }\n )\n );\n }\n } else if (draggingUpper) {\n this._setThumbTooltipOpen(this._thumbNodeUpper, true);\n const position =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n if (position * 100 >= this.value) {\n this._rateUpper = position;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSlider).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.unstable_valueUpper,\n intermediate: true,\n },\n }\n )\n );\n }\n }\n }\n }\n\n /**\n * Handles `pointerup` and `pointerleave` event to finishing dragging.\n */\n private _endDrag = () => {\n const wasDragging = this._dragging;\n const wasDraggingUpper = this._draggingUpper;\n if (this._dragging || this._draggingUpper) {\n this.dragCoolDown = true;\n } else {\n this.dragCoolDown = false;\n }\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 } else if (this._draggingUpper) {\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.unstable_valueUpper,\n },\n })\n );\n this._draggingUpper = false;\n this._thumbNodeUpper.style.touchAction = '';\n }\n if (wasDragging) {\n const shouldKeepOpen =\n this._thumbNode?.matches(':hover') ||\n this.shadowRoot?.activeElement === this._thumbNode;\n if (!shouldKeepOpen) {\n this._setThumbTooltipOpen(this._thumbNode, false);\n }\n } else if (wasDraggingUpper) {\n const shouldKeepOpen =\n this._thumbNodeUpper?.matches(':hover') ||\n this.shadowRoot?.activeElement === this._thumbNodeUpper;\n if (!shouldKeepOpen) {\n this._setThumbTooltipOpen(this._thumbNodeUpper, false);\n }\n }\n if (this._dragging || this._draggingUpper) {\n this.dragCooldownTimeout = window.setTimeout(() => {\n this.dragCoolDown = false;\n }, 100);\n }\n };\n\n /**\n * Handles `${prefix}-slider-input-changed` event to update the value.\n */\n @HostListener('eventChangeInput')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleChangeInput = (event: CustomEvent) => {\n const input = event.target as HTMLElement;\n const inputElement = input.shadowRoot?.querySelector('input');\n this.isValid =\n input.tagName === 'CDS-SLIDER-INPUT'\n ? this._getInputValidity(input)\n : this.isValid;\n this.warn = this._getInputWarnigState(inputElement);\n const eventContainer = (event.target as HTMLElement).id;\n const { detail } = event;\n const { intermediate, value } = detail;\n this.warnText = intermediate\n ? `The inputted value ${intermediate} was corrected to the nearest allowed digit`\n : '';\n if (intermediate !== value) {\n if (eventContainer === 'upper') {\n this.unstable_valueUpper = value;\n } else {\n this.value = value;\n }\n }\n const valueMain =\n eventContainer === 'upper' ? this.unstable_valueUpper : this.value;\n if (valueMain !== '') {\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: valueMain,\n intermediate,\n },\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 * Specify whether you want the underlying label to be visually hidden\n */\n @property({ attribute: 'hide-label', type: Boolean, reflect: true })\n hideLabel = false;\n\n /**\n * The callback to format the label associated with the minimum/maximum value\n * and the value tooltip when hideTextInput is true.\n */\n @property({ attribute: false })\n formatLabel = (value: number, label: string | undefined) =>\n `${value}${label ?? ''}`;\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 this.formatLabel(Number(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 this.formatLabel(Number(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, reflect: true })\n invalid = false;\n\n /**\n * Message which is displayed if the value is invalid.\n */\n @property({ attribute: 'invalid-text' })\n invalidText = '';\n\n /**\n * true to specify if the control should display warn icon and text.\n */\n @property({ type: Boolean, reflect: true })\n warn = false;\n\n /**\n * Provide the text that is displayed when the control is in warning state\n */\n @property({ attribute: 'warn-text' })\n warnText = '';\n\n /**\n * Checks whether the input field is hidden or not\n */\n @property({ type: Boolean, attribute: 'hide-text-input', reflect: true })\n hideTextInput = 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 /**\n * is slide input valid\n */\n @property({ type: Boolean })\n isValid;\n _getInputValidity(input) {\n const inputElement = input?.shadowRoot?.querySelector('input');\n if (this.invalid) {\n return false;\n }\n if (input?.invalid) {\n return false;\n }\n if (\n inputElement?.valueAsNumber > Number(this.max) ||\n inputElement?.valueAsNumber < Number(this.min)\n ) {\n return false;\n }\n return true;\n }\n\n _getInputWarnigState(input) {\n if (\n input?.valueAsNumber > Number(input.max) ||\n input?.valueAsNumber < Number(input.min)\n ) {\n return true;\n }\n return false;\n }\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 clearTimeout(this.dragCooldownTimeout as number);\n super.disconnectedCallback();\n }\n updated() {\n const sliderfilledTrack = this?.shadowRoot?.querySelector(\n `.${prefix}--slider__filled-track`\n ) as HTMLElement;\n if (sliderfilledTrack) {\n if (this.unstable_valueUpper || this.unstable_valueUpper === '') {\n sliderfilledTrack.style.transform = this.unstable_valueUpper\n ? `translate(${this._rate * 100}%, -50%) scaleX(${this._rateUpper - this._rate})`\n : `translate(0%, -50%) scaleX(${this._rate})`;\n } else {\n sliderfilledTrack.style.transform = this.unstable_valueUpper\n ? `translate(${this._rate * 100}%, -50%) scaleX(${this._rateUpper - this._rate})`\n : `translate(0%, -50%) scaleX(${this._rate})`;\n }\n }\n }\n shouldUpdate(changedProperties) {\n const inputs = this.querySelectorAll(\n (this.constructor as typeof CDSSlider).selectorInput\n ) as NodeListOf<CDSSliderInput>;\n inputs.forEach((input, index) => {\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 (changedProperties.has('invalid')) {\n input.invalid = this.invalid;\n }\n if (changedProperties.has('warn')) {\n input.warn = this.warn;\n }\n if (changedProperties.has('hideTextInput')) {\n input.hideTextInput = this.hideTextInput;\n }\n if (input) {\n if (\n (this.unstable_valueUpper || this.unstable_valueUpper === '') &&\n index > 0\n ) {\n ['max', 'min', 'step', 'unstable_valueUpper'].forEach((name) => {\n if (name === 'unstable_valueUpper') {\n input.value = this.unstable_valueUpper;\n } else if (name === 'min') {\n input[name] = this.value;\n } else {\n input[name] = this[name];\n }\n });\n } else {\n ['max', 'min', 'step', 'value'].forEach((name) => {\n if (this.unstable_valueUpper && name === 'max') {\n input[name] = this.unstable_valueUpper;\n } else {\n input[name] = this[name];\n }\n });\n }\n if (\n changedProperties.has('value') ||\n changedProperties.has('invalid') ||\n changedProperties.has('warn') ||\n changedProperties.has('readonly')\n ) {\n this.isValid = this._getInputValidity(input);\n if (!this.readonly && !this.isValid) {\n input.invalid = true;\n } else {\n input.invalid = false;\n }\n }\n }\n });\n return true;\n }\n\n render() {\n const {\n disabled,\n formatLabel,\n formatMaxText,\n formatMinText,\n labelText,\n hideLabel,\n hideTextInput,\n max,\n min,\n maxLabel,\n minLabel,\n readonly,\n invalidText,\n isValid,\n warn,\n warnText,\n value,\n unstable_valueUpper,\n _rate: rate,\n _rateUpper: rateUpper,\n _handleClickLabel: handleClickLabel,\n _handleKeydown: handleKeydown,\n _handleClick: handleClick,\n onDrag,\n _endDrag: endDrag,\n } = this;\n\n const isInteractive = !readonly && !disabled;\n\n const normalizedProps: {\n invalid: boolean;\n warn: boolean;\n } = {\n invalid: isInteractive && !isValid,\n warn: isInteractive && isValid && warn,\n };\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\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 const thumbLowerWrapperClasses = classMap({\n [`${prefix}--icon-tooltip`]: true,\n [`${prefix}--slider__thumb-wrapper`]: true,\n [`${prefix}--slider__thumb-wrapper--lower`]:\n unstable_valueUpper || unstable_valueUpper === '',\n });\n const thumbLowerClasses = classMap({\n [`${prefix}--slider__thumb`]: true,\n [`${prefix}--slider__thumb--lower`]:\n unstable_valueUpper || unstable_valueUpper === '',\n [`${prefix}--slider__thumb-disabled`]: disabled,\n });\n const thumbUpperWrapperClasses = classMap({\n [`${prefix}--icon-tooltip`]: true,\n [`${prefix}--slider__thumb-wrapper`]: true,\n [`${prefix}--slider__thumb-wrapper--upper`]: true,\n });\n const thumbUpperClasses = classMap({\n [`${prefix}--slider__thumb`]: true,\n [`${prefix}--slider__thumb--upper`]: true,\n [`${prefix}--slider__thumb-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 ${unstable_valueUpper || unstable_valueUpper === ''\n ? html` <slot name=\"lower-input\"></slot>`\n : ''}\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 ${hideTextInput\n ? html`\n <cds-tooltip\n class=\"${thumbLowerWrapperClasses}\"\n style=\"left: ${rate * 100}%\"\n align=\"top\"\n .dropShadow=${false}>\n <div\n id=\"thumb\"\n class=\"${thumbLowerClasses}\"\n role=\"slider\"\n tabindex=\"${!readonly ? 0 : -1}\"\n aria-valuemax=\"${max}\"\n aria-valuemin=\"${min}\"\n aria-valuenow=\"${value}\"\n aria-valuetext=\"${formatLabel(Number(value), undefined)}\"\n @pointerdown=\"${onDrag}\">\n ${unstable_valueUpper || unstable_valueUpper === ''\n ? html`\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 24\"\n class=\"${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower\">\n <path\n d=\"M15.08 6.46H16v11.08h-.92zM4.46 17.54c-.25 0-.46-.21-.46-.46V6.92a.465.465 0 0 1 .69-.4l8.77 5.08a.46.46 0 0 1 0 .8l-8.77 5.08c-.07.04-.15.06-.23.06Z\"></path>\n <path fill=\"none\" d=\"M-4 0h24v24H-4z\"></path>\n </svg>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 24\"\n class=\"${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower cds--slider__thumb-icon--focus\">\n <path\n d=\"M15.08 6.46H16v11.08h-.92zM4.46 17.54c-.25 0-.46-.21-.46-.46V6.92a.465.465 0 0 1 .69-.4l8.77 5.08a.46.46 0 0 1 0 .8l-8.77 5.08c-.07.04-.15.06-.23.06Z\"></path>\n <path fill=\"none\" d=\"M-4 0h24v24H-4z\"></path>\n <path d=\"M15.08 0H16v6.46h-.92z\"></path>\n <path d=\"M0 0h.92v24H0zM15.08 0H16v24h-.92z\"></path>\n <path d=\"M0 .92V0h16v.92zM0 24v-.92h16V24z\"></path>\n </svg>\n `\n : ``}\n </div>\n <cds-tooltip-content>\n ${formatLabel(Number(value), undefined)}\n </cds-tooltip-content>\n </cds-tooltip>\n `\n : html`\n <div\n class=\"${thumbLowerWrapperClasses}\"\n style=\"left: ${rate * 100}%\">\n <div\n id=\"thumb\"\n class=\"${thumbLowerClasses}\"\n role=\"slider\"\n tabindex=\"${!readonly ? 0 : -1}\"\n aria-valuemax=\"${max}\"\n aria-valuemin=\"${min}\"\n aria-valuenow=\"${value}\"\n aria-valuetext=\"${formatLabel(Number(value), undefined)}\"\n @pointerdown=\"${onDrag}\">\n ${unstable_valueUpper || unstable_valueUpper === ''\n ? html`\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 24\"\n class=\"${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower\">\n <path\n d=\"M15.08 6.46H16v11.08h-.92zM4.46 17.54c-.25 0-.46-.21-.46-.46V6.92a.465.465 0 0 1 .69-.4l8.77 5.08a.46.46 0 0 1 0 .8l-8.77 5.08c-.07.04-.15.06-.23.06Z\"></path>\n <path fill=\"none\" d=\"M-4 0h24v24H-4z\"></path>\n </svg>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 24\"\n class=\"${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower cds--slider__thumb-icon--focus\">\n <path\n d=\"M15.08 6.46H16v11.08h-.92zM4.46 17.54c-.25 0-.46-.21-.46-.46V6.92a.465.465 0 0 1 .69-.4l8.77 5.08a.46.46 0 0 1 0 .8l-8.77 5.08c-.07.04-.15.06-.23.06Z\"></path>\n <path fill=\"none\" d=\"M-4 0h24v24H-4z\"></path>\n <path d=\"M15.08 0H16v6.46h-.92z\"></path>\n <path d=\"M0 0h.92v24H0zM15.08 0H16v24h-.92z\"></path>\n <path d=\"M0 .92V0h16v.92zM0 24v-.92h16V24z\"></path>\n </svg>\n `\n : ``}\n </div>\n </div>\n `}\n ${unstable_valueUpper || unstable_valueUpper === ''\n ? hideTextInput\n ? html`\n <cds-tooltip\n class=\"${thumbUpperWrapperClasses}\"\n style=\"left: ${rateUpper * 100}%\"\n align=\"top\"\n .dropShadow=${false}>\n <div\n id=\"thumb-upper\"\n class=\"${thumbUpperClasses}\"\n role=\"slider\"\n tabindex=\"${!readonly ? 0 : -1}\"\n aria-valuemax=\"${max}\"\n aria-valuemin=\"${min}\"\n aria-valuenow=\"${unstable_valueUpper}\"\n aria-valuetext=\"${formatLabel(\n Number(unstable_valueUpper),\n undefined\n )}\"\n @pointerdown=\"${onDrag}\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 24\"\n class=\"${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper\">\n <path\n d=\"M0 6.46h.92v11.08H0zM11.54 6.46c.25 0 .46.21.46.46v10.15a.465.465 0 0 1-.69.4L2.54 12.4a.46.46 0 0 1 0-.8l8.77-5.08c.07-.04.15-.06.23-.06Z\"></path>\n <path fill=\"none\" d=\"M-4 0h24v24H-4z\"></path>\n </svg>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 24\"\n class=\"${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper cds--slider__thumb-icon--focus\">\n <path\n d=\"M0 6.46h.92v11.08H0zM11.54 6.46c.25 0 .46.21.46.46v10.15a.465.465 0 0 1-.69.4L2.54 12.4a.46.46 0 0 1 0-.8l8.77-5.08c.07-.04.15-.06.23-.06Z\"></path>\n <path fill=\"none\" d=\"M-4 0h24v24H-4z\"></path>\n <path d=\"M.92 24H0v-6.46h.92z\"></path>\n <path d=\"M16 24h-.92V0H16zM.92 24H0V0h.92z\"></path>\n <path d=\"M16 23.08V24H0v-.92zM16 0v.92H0V0z\"></path>\n </svg>\n </div>\n <cds-tooltip-content>\n ${formatLabel(Number(unstable_valueUpper), undefined)}\n </cds-tooltip-content>\n </cds-tooltip>\n `\n : html`\n <div\n class=\"${thumbUpperWrapperClasses}\"\n style=\"left: ${rateUpper * 100}%\">\n <div\n id=\"thumb-upper\"\n class=\"${thumbUpperClasses}\"\n role=\"slider\"\n tabindex=\"${!readonly ? 0 : -1}\"\n aria-valuemax=\"${max}\"\n aria-valuemin=\"${min}\"\n aria-valuenow=\"${unstable_valueUpper}\"\n aria-valuetext=\"${formatLabel(\n Number(unstable_valueUpper),\n undefined\n )}\"\n @pointerdown=\"${onDrag}\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 24\"\n class=\"${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper\">\n <path\n d=\"M0 6.46h.92v11.08H0zM11.54 6.46c.25 0 .46.21.46.46v10.15a.465.465 0 0 1-.69.4L2.54 12.4a.46.46 0 0 1 0-.8l8.77-5.08c.07-.04.15-.06.23-.06Z\"></path>\n <path fill=\"none\" d=\"M-4 0h24v24H-4z\"></path>\n </svg>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 24\"\n class=\"${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper cds--slider__thumb-icon--focus\">\n <path\n d=\"M0 6.46h.92v11.08H0zM11.54 6.46c.25 0 .46.21.46.46v10.15a.465.465 0 0 1-.69.4L2.54 12.4a.46.46 0 0 1 0-.8l8.77-5.08c.07-.04.15-.06.23-.06Z\"></path>\n <path fill=\"none\" d=\"M-4 0h24v24H-4z\"></path>\n <path d=\"M.92 24H0v-6.46h.92z\"></path>\n <path d=\"M16 24h-.92V0H16zM.92 24H0V0h.92z\"></path>\n <path d=\"M16 23.08V24H0v-.92zM16 0v.92H0V0z\"></path>\n </svg>\n </div>\n </div>\n `\n : html``}\n <div id=\"track\" class=\"${prefix}--slider__track\"></div>\n ${unstable_valueUpper || unstable_valueUpper === ''\n ? html` <div class=\"${prefix}--slider__filled-track\"></div> `\n : html` <div class=\"${prefix}-ce--slider__filled-track-container\">\n <div class=\"${prefix}--slider__filled-track\"></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 ${normalizedProps.invalid\n ? html`\n <div\n class=\"${prefix}--slider__validation-msg ${prefix}--slider__validation-msg--invalid ${prefix}--form-requirement\">\n ${invalidText}\n </div>\n `\n : null}\n ${normalizedProps.warn\n ? html`<div\n class=\"${prefix}--slider__validation-msg ${prefix}--form-requirement\">\n ${warnText}\n </div>`\n : null}\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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"}
|
|
1
|
+
{"version":3,"file":"slider.js","names":["styles","customElement"],"sources":["../../../src/components/slider/slider.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2026\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, 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 '../tooltip/index';\nimport styles from './slider.scss?lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\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 * Minimum time between processed \"drag\" events.\n */\nconst EVENT_THROTTLE = 16; // ms\n\n/**\n * Slider.\n *\n * @element cds-slider\n * @fires cds-slider-input-changed\n * The name of the custom event fired after the value is changed in `<cds-slider-input>` by user gesture.\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 private _cachedRateUpper: number = 1;\n private _cachedRate: number = 0;\n private dragCooldownTimeout: number | null = null;\n private dragCoolDown: boolean = false;\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 * `true` if dragging of thumb upper is in progress.\n */\n private _draggingUpper = false;\n\n /**\n * The upper bound when there are two handles..\n */\n @property({ type: Number, attribute: 'value-upper' })\n unstable_valueUpper;\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 if (value || value === 0) {\n const rate =\n (Math.min(Number(max), Math.max(Number(min), Number(value))) -\n Number(min)) /\n (Number(max) - Number(min));\n this._cachedRate = rate;\n return rate;\n } else {\n return this._cachedRate;\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 * The rate of the upper thumb position in the track.\n * When we try to set a new value for upper input, we adjust the value considering `step` property.\n */\n private get _rateUpper() {\n const { max, min, unstable_valueUpper } = this;\n // Copes with out-of-range value coming programmatically or from `<cds-slider-input>`\n if (unstable_valueUpper) {\n const rateUpper =\n (Math.min(Number(max), Math.max(Number(min), unstable_valueUpper)) -\n Number(min)) /\n (Number(max) - Number(min));\n this._cachedRateUpper = rateUpper;\n return rateUpper;\n } else {\n return this._cachedRateUpper;\n }\n }\n\n private set _rateUpper(rateUpper: number) {\n const { max, min, step } = this;\n this.unstable_valueUpper =\n Number(min) +\n Math.round(\n ((Number(max) - Number(min)) * Math.min(1, Math.max(0, rateUpper))) /\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 * The DOM element of the thumb upper.\n */\n @query('#thumb-upper')\n private _thumbNodeUpper!: HTMLDivElement;\n\n /**\n * The DOM element of the track.\n */\n @query('#track')\n private _trackNode!: HTMLDivElement;\n\n @query(`.${prefix}--slider__filled-track`)\n private _sliderFilledTrack!: HTMLDivElement | null;\n\n /**\n * Handles `click` event on the `<label>` to focus on the thumb.\n */\n _handleClickLabel() {\n this._thumbNode?.focus();\n }\n\n private _setThumbTooltipOpen(thumb: HTMLElement | null, open: boolean) {\n if (!this.hideTextInput || !thumb) {\n return;\n }\n const tooltip = thumb.closest(`${prefix}-tooltip`) as\n | (HTMLElement & { open: boolean })\n | null;\n if (tooltip) {\n tooltip.open = open;\n }\n }\n\n _handleFormdata(event: FormDataEvent) {\n const { formData } = event;\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(event: KeyboardEvent) {\n const eventContainer = (event.target as HTMLElement).id;\n const { key, shiftKey } = event;\n if (!this.disabled && !this.readonly) {\n if (key in THUMB_DIRECTION) {\n const {\n max: rawMax,\n min: rawMin,\n step: rawStep,\n stepMultiplier: rawstepMultiplier,\n value,\n unstable_valueUpper,\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 // Snaps to next\n if (eventContainer == 'thumb-upper') {\n const stepCount = (unstable_valueUpper + diff) / step;\n const position = Math.min(\n max,\n Math.max(\n min,\n (diff >= 0 ? Math.floor(stepCount) : Math.ceil(stepCount)) * step\n )\n );\n if (position >= this.value) {\n this.unstable_valueUpper = position;\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSlider).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.unstable_valueUpper,\n intermediate: false,\n },\n }\n )\n );\n } else {\n const stepCount = (value + diff) / step;\n const position = Math.min(\n max,\n Math.max(\n min,\n (diff >= 0 ? Math.floor(stepCount) : Math.ceil(stepCount)) * step\n )\n );\n if (\n !this.unstable_valueUpper ||\n position <= this.unstable_valueUpper\n ) {\n this.value = position;\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSlider).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: false,\n },\n }\n )\n );\n }\n }\n }\n }\n\n /**\n * Throttles calls to `this._onDrag` by limiting events to being processed at\n * most once every `EVENT_THROTTLE` milliseconds.\n */\n onDrag = throttle(this._startDrag, EVENT_THROTTLE, {\n leading: true,\n trailing: false,\n });\n\n /**\n * Handles `pointerdown` event on the thumb to start dragging.\n */\n private _startDrag(event: PointerEvent) {\n if (!this.readonly && !this.disabled) {\n let eventContainer = (event.target as HTMLElement).id;\n if (!eventContainer) {\n const thumb = (event.target as HTMLElement).closest(\n `.${prefix}--slider__thumb`\n ) as HTMLElement | null;\n eventContainer = thumb?.id ?? '';\n }\n if (eventContainer === 'thumb') {\n this._dragging = true;\n this._thumbNode.style.touchAction = 'none';\n this._setThumbTooltipOpen(this._thumbNode, true);\n } else if (eventContainer === 'thumb-upper') {\n this._draggingUpper = true;\n this._thumbNodeUpper.style.touchAction = 'none';\n this._setThumbTooltipOpen(this._thumbNodeUpper, true);\n }\n }\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 let eventContainer = (event.target as HTMLInputElement).id;\n if (!eventContainer) {\n const thumb = (event.target as HTMLElement).closest(\n `.${prefix}--slider__thumb`\n ) as HTMLElement | null;\n eventContainer = thumb?.id ?? '';\n }\n if (!this.disabled && !this.readonly) {\n const { _trackNode: trackNode } = this;\n const isRtl =\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\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 if (eventContainer === 'thumb-upper') {\n this._rateUpper =\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.unstable_valueUpper,\n },\n })\n );\n } else {\n if (!this.unstable_valueUpper) {\n this._rate =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSlider).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n }\n )\n );\n } else {\n if (!this.dragCoolDown) {\n const position =\n ((isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) /\n trackWidth) *\n 100;\n const differenceValue =\n position > this.value\n ? position - this.value\n : this.value - position;\n const differenceValueUpper =\n position > this.unstable_valueUpper\n ? position - this.unstable_valueUpper\n : this.unstable_valueUpper - position;\n if (differenceValue > differenceValueUpper) {\n this._rateUpper = position / 100;\n } else if (differenceValue < differenceValueUpper) {\n this._rate = position / 100;\n } else if (\n !this._dragging &&\n !this._draggingUpper &&\n differenceValue === differenceValueUpper\n ) {\n if (Math.round(position) > this.unstable_valueUpper) {\n this._rateUpper = position / 100;\n } else {\n this._rate = position / 100;\n }\n }\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSlider).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n },\n }\n )\n );\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 // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\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 {\n disabled,\n _dragging: dragging,\n _draggingUpper: draggingUpper,\n } = this;\n if (!disabled && (dragging || draggingUpper)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\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 {\n disabled,\n _dragging: dragging,\n _trackNode: trackNode,\n _draggingUpper: draggingUpper,\n } = this;\n if (!disabled) {\n const isRtl =\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\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 if (dragging) {\n this._setThumbTooltipOpen(this._thumbNode, true);\n const position =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n if (\n !this.unstable_valueUpper ||\n position * 100 <= this.unstable_valueUpper\n ) {\n this._rate = position;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSlider).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.value,\n intermediate: true,\n },\n }\n )\n );\n }\n } else if (draggingUpper) {\n this._setThumbTooltipOpen(this._thumbNodeUpper, true);\n const position =\n (isRtl\n ? trackLeft + trackWidth - thumbPosition\n : thumbPosition - trackLeft) / trackWidth;\n if (position * 100 >= this.value) {\n this._rateUpper = position;\n this.dispatchEvent(\n new CustomEvent(\n (this.constructor as typeof CDSSlider).eventChange,\n {\n bubbles: true,\n composed: true,\n detail: {\n value: this.unstable_valueUpper,\n intermediate: true,\n },\n }\n )\n );\n }\n }\n }\n }\n\n /**\n * Handles `pointerup` and `pointerleave` event to finishing dragging.\n */\n private _endDrag = () => {\n const wasDragging = this._dragging;\n const wasDraggingUpper = this._draggingUpper;\n if (this._dragging || this._draggingUpper) {\n this.dragCoolDown = true;\n } else {\n this.dragCoolDown = false;\n }\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 } else if (this._draggingUpper) {\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: this.unstable_valueUpper,\n },\n })\n );\n this._draggingUpper = false;\n this._thumbNodeUpper.style.touchAction = '';\n }\n if (wasDragging) {\n const shouldKeepOpen =\n this._thumbNode?.matches(':hover') ||\n this.shadowRoot?.activeElement === this._thumbNode;\n if (!shouldKeepOpen) {\n this._setThumbTooltipOpen(this._thumbNode, false);\n }\n } else if (wasDraggingUpper) {\n const shouldKeepOpen =\n this._thumbNodeUpper?.matches(':hover') ||\n this.shadowRoot?.activeElement === this._thumbNodeUpper;\n if (!shouldKeepOpen) {\n this._setThumbTooltipOpen(this._thumbNodeUpper, false);\n }\n }\n if (this._dragging || this._draggingUpper) {\n this.dragCooldownTimeout = window.setTimeout(() => {\n this.dragCoolDown = false;\n }, 100);\n }\n };\n\n /**\n * Handles `${prefix}-slider-input-changed` event to update the value.\n */\n @HostListener('eventChangeInput')\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleChangeInput = (event: CustomEvent) => {\n const input = event.target as CDSSliderInput;\n const inputElement = input._inputNode;\n this.isValid =\n input.tagName === 'CDS-SLIDER-INPUT'\n ? this._getInputValidity(input)\n : this.isValid;\n this.warn = this._getInputWarnigState(inputElement);\n const eventContainer = (event.target as HTMLElement).id;\n const { detail } = event;\n const { intermediate, value } = detail;\n this.warnText = intermediate\n ? `The inputted value ${intermediate} was corrected to the nearest allowed digit`\n : '';\n if (intermediate !== value) {\n if (eventContainer === 'upper') {\n this.unstable_valueUpper = value;\n } else {\n this.value = value;\n }\n }\n const valueMain =\n eventContainer === 'upper' ? this.unstable_valueUpper : this.value;\n if (valueMain !== '') {\n this.dispatchEvent(\n new CustomEvent((this.constructor as typeof CDSSlider).eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n value: valueMain,\n intermediate,\n },\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 * Specify whether you want the underlying label to be visually hidden\n */\n @property({ attribute: 'hide-label', type: Boolean, reflect: true })\n hideLabel = false;\n\n /**\n * The callback to format the label associated with the minimum/maximum value\n * and the value tooltip when hideTextInput is true.\n */\n @property({ attribute: false })\n formatLabel = (value: number, label: string | undefined) =>\n `${value}${label ?? ''}`;\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 this.formatLabel(Number(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 this.formatLabel(Number(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, reflect: true })\n invalid = false;\n\n /**\n * Message which is displayed if the value is invalid.\n */\n @property({ attribute: 'invalid-text' })\n invalidText = '';\n\n /**\n * true to specify if the control should display warn icon and text.\n */\n @property({ type: Boolean, reflect: true })\n warn = false;\n\n /**\n * Provide the text that is displayed when the control is in warning state\n */\n @property({ attribute: 'warn-text' })\n warnText = '';\n\n /**\n * Checks whether the input field is hidden or not\n */\n @property({ type: Boolean, attribute: 'hide-text-input', reflect: true })\n hideTextInput = 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 /**\n * is slide input valid\n */\n @property({ type: Boolean })\n isValid;\n _getInputValidity(input) {\n const inputElement = input?._inputNode;\n if (this.invalid) {\n return false;\n }\n if (input?.invalid) {\n return false;\n }\n if (\n inputElement?.valueAsNumber > Number(this.max) ||\n inputElement?.valueAsNumber < Number(this.min)\n ) {\n return false;\n }\n return true;\n }\n\n _getInputWarnigState(input) {\n if (\n input?.valueAsNumber > Number(input.max) ||\n input?.valueAsNumber < Number(input.min)\n ) {\n return true;\n }\n return false;\n }\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 clearTimeout(this.dragCooldownTimeout as number);\n super.disconnectedCallback();\n }\n updated() {\n if (this._sliderFilledTrack) {\n if (this.unstable_valueUpper || this.unstable_valueUpper === '') {\n this._sliderFilledTrack.style.transform = this.unstable_valueUpper\n ? `translate(${this._rate * 100}%, -50%) scaleX(${this._rateUpper - this._rate})`\n : `translate(0%, -50%) scaleX(${this._rate})`;\n } else {\n this._sliderFilledTrack.style.transform = this.unstable_valueUpper\n ? `translate(${this._rate * 100}%, -50%) scaleX(${this._rateUpper - this._rate})`\n : `translate(0%, -50%) scaleX(${this._rate})`;\n }\n }\n }\n shouldUpdate(changedProperties) {\n // Slider inputs are light-DOM children and must be synchronized before the\n // initial render, when queries based on rendered slots are not available.\n const inputs = this.querySelectorAll(\n (this.constructor as typeof CDSSlider).selectorInput\n ) as NodeListOf<CDSSliderInput>;\n inputs.forEach((input, index) => {\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 (changedProperties.has('invalid')) {\n input.invalid = this.invalid;\n }\n if (changedProperties.has('warn')) {\n input.warn = this.warn;\n }\n if (changedProperties.has('hideTextInput')) {\n input.hideTextInput = this.hideTextInput;\n }\n if (input) {\n if (\n (this.unstable_valueUpper || this.unstable_valueUpper === '') &&\n index > 0\n ) {\n ['max', 'min', 'step', 'unstable_valueUpper'].forEach((name) => {\n if (name === 'unstable_valueUpper') {\n input.value = this.unstable_valueUpper;\n } else if (name === 'min') {\n input[name] = this.value;\n } else {\n input[name] = this[name];\n }\n });\n } else {\n ['max', 'min', 'step', 'value'].forEach((name) => {\n if (this.unstable_valueUpper && name === 'max') {\n input[name] = this.unstable_valueUpper;\n } else {\n input[name] = this[name];\n }\n });\n }\n if (\n changedProperties.has('value') ||\n changedProperties.has('invalid') ||\n changedProperties.has('warn') ||\n changedProperties.has('readonly')\n ) {\n this.isValid = this._getInputValidity(input);\n if (!this.readonly && !this.isValid) {\n input.invalid = true;\n } else {\n input.invalid = false;\n }\n }\n }\n });\n return true;\n }\n\n render() {\n const {\n disabled,\n formatLabel,\n formatMaxText,\n formatMinText,\n labelText,\n hideLabel,\n hideTextInput,\n max,\n min,\n maxLabel,\n minLabel,\n readonly,\n invalidText,\n isValid,\n warn,\n warnText,\n value,\n unstable_valueUpper,\n _rate: rate,\n _rateUpper: rateUpper,\n _handleClickLabel: handleClickLabel,\n _handleKeydown: handleKeydown,\n _handleClick: handleClick,\n onDrag,\n _endDrag: endDrag,\n } = this;\n\n const isInteractive = !readonly && !disabled;\n\n const normalizedProps: {\n invalid: boolean;\n warn: boolean;\n } = {\n invalid: isInteractive && !isValid,\n warn: isInteractive && isValid && warn,\n };\n\n const labelClasses = classMap({\n [`${prefix}--label`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\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 const thumbLowerWrapperClasses = classMap({\n [`${prefix}--icon-tooltip`]: true,\n [`${prefix}--slider__thumb-wrapper`]: true,\n [`${prefix}--slider__thumb-wrapper--lower`]:\n unstable_valueUpper || unstable_valueUpper === '',\n });\n const thumbLowerClasses = classMap({\n [`${prefix}--slider__thumb`]: true,\n [`${prefix}--slider__thumb--lower`]:\n unstable_valueUpper || unstable_valueUpper === '',\n [`${prefix}--slider__thumb-disabled`]: disabled,\n });\n const thumbUpperWrapperClasses = classMap({\n [`${prefix}--icon-tooltip`]: true,\n [`${prefix}--slider__thumb-wrapper`]: true,\n [`${prefix}--slider__thumb-wrapper--upper`]: true,\n });\n const thumbUpperClasses = classMap({\n [`${prefix}--slider__thumb`]: true,\n [`${prefix}--slider__thumb--upper`]: true,\n [`${prefix}--slider__thumb-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 ${unstable_valueUpper || unstable_valueUpper === ''\n ? html` <slot name=\"lower-input\"></slot>`\n : ''}\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 ${hideTextInput\n ? html`\n <cds-tooltip\n class=\"${thumbLowerWrapperClasses}\"\n style=\"left: ${rate * 100}%\"\n align=\"top\"\n .dropShadow=${false}>\n <div\n id=\"thumb\"\n class=\"${thumbLowerClasses}\"\n role=\"slider\"\n tabindex=\"${!readonly ? 0 : -1}\"\n aria-valuemax=\"${max}\"\n aria-valuemin=\"${min}\"\n aria-valuenow=\"${value}\"\n aria-valuetext=\"${formatLabel(Number(value), undefined)}\"\n @pointerdown=\"${onDrag}\">\n ${unstable_valueUpper || unstable_valueUpper === ''\n ? html`\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 24\"\n class=\"${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower\">\n <path\n d=\"M15.08 6.46H16v11.08h-.92zM4.46 17.54c-.25 0-.46-.21-.46-.46V6.92a.465.465 0 0 1 .69-.4l8.77 5.08a.46.46 0 0 1 0 .8l-8.77 5.08c-.07.04-.15.06-.23.06Z\"></path>\n <path fill=\"none\" d=\"M-4 0h24v24H-4z\"></path>\n </svg>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 24\"\n class=\"${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower cds--slider__thumb-icon--focus\">\n <path\n d=\"M15.08 6.46H16v11.08h-.92zM4.46 17.54c-.25 0-.46-.21-.46-.46V6.92a.465.465 0 0 1 .69-.4l8.77 5.08a.46.46 0 0 1 0 .8l-8.77 5.08c-.07.04-.15.06-.23.06Z\"></path>\n <path fill=\"none\" d=\"M-4 0h24v24H-4z\"></path>\n <path d=\"M15.08 0H16v6.46h-.92z\"></path>\n <path d=\"M0 0h.92v24H0zM15.08 0H16v24h-.92z\"></path>\n <path d=\"M0 .92V0h16v.92zM0 24v-.92h16V24z\"></path>\n </svg>\n `\n : ``}\n </div>\n <cds-tooltip-content>\n ${formatLabel(Number(value), undefined)}\n </cds-tooltip-content>\n </cds-tooltip>\n `\n : html`\n <div\n class=\"${thumbLowerWrapperClasses}\"\n style=\"left: ${rate * 100}%\">\n <div\n id=\"thumb\"\n class=\"${thumbLowerClasses}\"\n role=\"slider\"\n tabindex=\"${!readonly ? 0 : -1}\"\n aria-valuemax=\"${max}\"\n aria-valuemin=\"${min}\"\n aria-valuenow=\"${value}\"\n aria-valuetext=\"${formatLabel(Number(value), undefined)}\"\n @pointerdown=\"${onDrag}\">\n ${unstable_valueUpper || unstable_valueUpper === ''\n ? html`\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 24\"\n class=\"${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower\">\n <path\n d=\"M15.08 6.46H16v11.08h-.92zM4.46 17.54c-.25 0-.46-.21-.46-.46V6.92a.465.465 0 0 1 .69-.4l8.77 5.08a.46.46 0 0 1 0 .8l-8.77 5.08c-.07.04-.15.06-.23.06Z\"></path>\n <path fill=\"none\" d=\"M-4 0h24v24H-4z\"></path>\n </svg>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 24\"\n class=\"${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower cds--slider__thumb-icon--focus\">\n <path\n d=\"M15.08 6.46H16v11.08h-.92zM4.46 17.54c-.25 0-.46-.21-.46-.46V6.92a.465.465 0 0 1 .69-.4l8.77 5.08a.46.46 0 0 1 0 .8l-8.77 5.08c-.07.04-.15.06-.23.06Z\"></path>\n <path fill=\"none\" d=\"M-4 0h24v24H-4z\"></path>\n <path d=\"M15.08 0H16v6.46h-.92z\"></path>\n <path d=\"M0 0h.92v24H0zM15.08 0H16v24h-.92z\"></path>\n <path d=\"M0 .92V0h16v.92zM0 24v-.92h16V24z\"></path>\n </svg>\n `\n : ``}\n </div>\n </div>\n `}\n ${unstable_valueUpper || unstable_valueUpper === ''\n ? hideTextInput\n ? html`\n <cds-tooltip\n class=\"${thumbUpperWrapperClasses}\"\n style=\"left: ${rateUpper * 100}%\"\n align=\"top\"\n .dropShadow=${false}>\n <div\n id=\"thumb-upper\"\n class=\"${thumbUpperClasses}\"\n role=\"slider\"\n tabindex=\"${!readonly ? 0 : -1}\"\n aria-valuemax=\"${max}\"\n aria-valuemin=\"${min}\"\n aria-valuenow=\"${unstable_valueUpper}\"\n aria-valuetext=\"${formatLabel(\n Number(unstable_valueUpper),\n undefined\n )}\"\n @pointerdown=\"${onDrag}\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 24\"\n class=\"${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper\">\n <path\n d=\"M0 6.46h.92v11.08H0zM11.54 6.46c.25 0 .46.21.46.46v10.15a.465.465 0 0 1-.69.4L2.54 12.4a.46.46 0 0 1 0-.8l8.77-5.08c.07-.04.15-.06.23-.06Z\"></path>\n <path fill=\"none\" d=\"M-4 0h24v24H-4z\"></path>\n </svg>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 24\"\n class=\"${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper cds--slider__thumb-icon--focus\">\n <path\n d=\"M0 6.46h.92v11.08H0zM11.54 6.46c.25 0 .46.21.46.46v10.15a.465.465 0 0 1-.69.4L2.54 12.4a.46.46 0 0 1 0-.8l8.77-5.08c.07-.04.15-.06.23-.06Z\"></path>\n <path fill=\"none\" d=\"M-4 0h24v24H-4z\"></path>\n <path d=\"M.92 24H0v-6.46h.92z\"></path>\n <path d=\"M16 24h-.92V0H16zM.92 24H0V0h.92z\"></path>\n <path d=\"M16 23.08V24H0v-.92zM16 0v.92H0V0z\"></path>\n </svg>\n </div>\n <cds-tooltip-content>\n ${formatLabel(Number(unstable_valueUpper), undefined)}\n </cds-tooltip-content>\n </cds-tooltip>\n `\n : html`\n <div\n class=\"${thumbUpperWrapperClasses}\"\n style=\"left: ${rateUpper * 100}%\">\n <div\n id=\"thumb-upper\"\n class=\"${thumbUpperClasses}\"\n role=\"slider\"\n tabindex=\"${!readonly ? 0 : -1}\"\n aria-valuemax=\"${max}\"\n aria-valuemin=\"${min}\"\n aria-valuenow=\"${unstable_valueUpper}\"\n aria-valuetext=\"${formatLabel(\n Number(unstable_valueUpper),\n undefined\n )}\"\n @pointerdown=\"${onDrag}\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 24\"\n class=\"${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper\">\n <path\n d=\"M0 6.46h.92v11.08H0zM11.54 6.46c.25 0 .46.21.46.46v10.15a.465.465 0 0 1-.69.4L2.54 12.4a.46.46 0 0 1 0-.8l8.77-5.08c.07-.04.15-.06.23-.06Z\"></path>\n <path fill=\"none\" d=\"M-4 0h24v24H-4z\"></path>\n </svg>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 24\"\n class=\"${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper cds--slider__thumb-icon--focus\">\n <path\n d=\"M0 6.46h.92v11.08H0zM11.54 6.46c.25 0 .46.21.46.46v10.15a.465.465 0 0 1-.69.4L2.54 12.4a.46.46 0 0 1 0-.8l8.77-5.08c.07-.04.15-.06.23-.06Z\"></path>\n <path fill=\"none\" d=\"M-4 0h24v24H-4z\"></path>\n <path d=\"M.92 24H0v-6.46h.92z\"></path>\n <path d=\"M16 24h-.92V0H16zM.92 24H0V0h.92z\"></path>\n <path d=\"M16 23.08V24H0v-.92zM16 0v.92H0V0z\"></path>\n </svg>\n </div>\n </div>\n `\n : html``}\n <div id=\"track\" class=\"${prefix}--slider__track\"></div>\n ${unstable_valueUpper || unstable_valueUpper === ''\n ? html` <div class=\"${prefix}--slider__filled-track\"></div> `\n : html` <div class=\"${prefix}-ce--slider__filled-track-container\">\n <div class=\"${prefix}--slider__filled-track\"></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 ${normalizedProps.invalid\n ? html`\n <div\n class=\"${prefix}--slider__validation-msg ${prefix}--slider__validation-msg--invalid ${prefix}--form-requirement\">\n ${invalidText}\n </div>\n `\n : null}\n ${normalizedProps.warn\n ? html`<div\n class=\"${prefix}--slider__validation-msg ${prefix}--form-requirement\">\n ${warnText}\n </div>`\n : null}\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,MAAM,kBAAkB;CACtB,MAAM;CACN,WAAW;CACX,IAAI;CACJ,SAAS;CACT,OAAO;CACP,YAAY;CACZ,MAAM;CACN,WAAW;AACb;;;;AAKA,MAAM,iBAAiB;;;;;;;;;;;;AAavB,IAAA,YAAA,MACM,kBAAkB,kBAAkB,UAAU,WAAW,UAAU,CAAC,CAAC,CAAC,CAAC;;;0BACxC;qBACL;6BACe;sBACb;cAIjB;cAKA;eAKC;yBAKU;yCAOf;mBAKS;wBAIK;gBAwMhB,SAAS,KAAK,YAAY,gBAAgB;GACjD,SAAS;GACT,UAAU;EACZ,CAAC;6BAwI6B,UAAwB;GACpD,MAAM,EACJ,UACA,WAAW,UACX,gBAAgB,kBACd;GACJ,IAAI,CAAC,aAAa,YAAY,gBAE5B,KAAK,gCAAiC,KAAK;EAE/C;wBA6EyB;GACvB,MAAM,cAAc,KAAK;GACzB,MAAM,mBAAmB,KAAK;GAC9B,IAAI,KAAK,aAAa,KAAK,gBACzB,KAAK,eAAe;QAEpB,KAAK,eAAe;GAEtB,IAAI,KAAK,WAAW;IAClB,KAAK,cACH,IAAI,YAAa,KAAK,YAAiC,aAAa;KAClE,SAAS;KACT,UAAU;KACV,QAAQ,EACN,OAAO,KAAK,MACd;IACF,CAAC,CACH;IACA,KAAK,YAAY;IACjB,KAAK,WAAW,MAAM,cAAc;GACtC,OAAO,IAAI,KAAK,gBAAgB;IAC9B,KAAK,cACH,IAAI,YAAa,KAAK,YAAiC,aAAa;KAClE,SAAS;KACT,UAAU;KACV,QAAQ,EACN,OAAO,KAAK,oBACd;IACF,CAAC,CACH;IACA,KAAK,iBAAiB;IACtB,KAAK,gBAAgB,MAAM,cAAc;GAC3C;GACA,IAAI;QAIE,EAFF,KAAK,YAAY,QAAQ,QAAQ,KACjC,KAAK,YAAY,kBAAkB,KAAK,aAExC,KAAK,qBAAqB,KAAK,YAAY,KAAK;GAAA,OAE7C,IAAI;QAIL,EAFF,KAAK,iBAAiB,QAAQ,QAAQ,KACtC,KAAK,YAAY,kBAAkB,KAAK,kBAExC,KAAK,qBAAqB,KAAK,iBAAiB,KAAK;GAAA;GAGzD,IAAI,KAAK,aAAa,KAAK,gBACzB,KAAK,sBAAsB,OAAO,iBAAiB;IACjD,KAAK,eAAe;GACtB,GAAG,GAAG;EAEV;6BAQ8B,UAAuB;GACnD,MAAM,QAAQ,MAAM;GACpB,MAAM,eAAe,MAAM;GAC3B,KAAK,UACH,MAAM,YAAY,qBACd,KAAK,kBAAkB,KAAK,IAC5B,KAAK;GACX,KAAK,OAAO,KAAK,qBAAqB,YAAY;GAClD,MAAM,iBAAkB,MAAM,OAAuB;GACrD,MAAM,EAAE,WAAW;GACnB,MAAM,EAAE,cAAc,UAAU;GAChC,KAAK,WAAW,eACZ,sBAAsB,aAAa,+CACnC;GACJ,IAAI,iBAAiB,OACnB,IAAI,mBAAmB,SACrB,KAAK,sBAAsB;QAE3B,KAAK,QAAQ;GAGjB,MAAM,YACJ,mBAAmB,UAAU,KAAK,sBAAsB,KAAK;GAC/D,IAAI,cAAc,IAChB,KAAK,cACH,IAAI,YAAa,KAAK,YAAiC,aAAa;IAClE,SAAS;IACT,UAAU;IACV,QAAQ;KACN,OAAO;KACP;IACF;GACF,CAAC,CACH;EAEJ;kBAMW;kBAMA;kBAMA;mBAMC;kBAMD;kBAMA;mBAMC;sBAOG,OAAe,UAC5B,GAAG,QAAQ,SAAS;wBAOL,KAAa,aAC5B,KAAK,YAAY,OAAO,GAAG,GAAG,QAAQ;wBAOvB,KAAa,aAC5B,KAAK,YAAY,OAAO,GAAG,GAAG,QAAQ;iBAwC9B;qBAMI;cAMP;kBAMI;uBAMK;;;;;;CAhoBhB,IAAY,QAAQ;EAClB,MAAM,EAAE,KAAK,KAAK,UAAU;EAE5B,IAAI,SAAS,UAAU,GAAG;GACxB,MAAM,QACH,KAAK,IAAI,OAAO,GAAG,GAAG,KAAK,IAAI,OAAO,GAAG,GAAG,OAAO,KAAK,CAAC,CAAC,IACzD,OAAO,GAAG,MACX,OAAO,GAAG,IAAI,OAAO,GAAG;GAC3B,KAAK,cAAc;GACnB,OAAO;EACT,OACE,OAAO,KAAK;CAEhB;CAEA,IAAY,MAAM,MAAc;EAC9B,MAAM,EAAE,KAAK,KAAK,SAAS;EAC3B,KAAK,QACH,OAAO,GAAG,IACV,KAAK,OACD,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC,IAC1D,OAAO,IAAI,CACf,IACE,OAAO,IAAI;CACjB;;;;;CAKA,IAAY,aAAa;EACvB,MAAM,EAAE,KAAK,KAAK,wBAAwB;EAE1C,IAAI,qBAAqB;GACvB,MAAM,aACH,KAAK,IAAI,OAAO,GAAG,GAAG,KAAK,IAAI,OAAO,GAAG,GAAG,mBAAmB,CAAC,IAC/D,OAAO,GAAG,MACX,OAAO,GAAG,IAAI,OAAO,GAAG;GAC3B,KAAK,mBAAmB;GACxB,OAAO;EACT,OACE,OAAO,KAAK;CAEhB;CAEA,IAAY,WAAW,WAAmB;EACxC,MAAM,EAAE,KAAK,KAAK,SAAS;EAC3B,KAAK,sBACH,OAAO,GAAG,IACV,KAAK,OACD,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,SAAS,CAAC,IAC/D,OAAO,IAAI,CACf,IACE,OAAO,IAAI;CACjB;;;;CAyBA,oBAAoB;EAClB,KAAK,YAAY,MAAM;CACzB;CAEA,qBAA6B,OAA2B,MAAe;EACrE,IAAI,CAAC,KAAK,iBAAiB,CAAC,OAC1B;EAEF,MAAM,UAAU,MAAM,QAAQ,aAAmB;EAGjD,IAAI,SACF,QAAQ,OAAO;CAEnB;CAEA,gBAAgB,OAAsB;EACpC,MAAM,EAAE,aAAa;EACrB,MAAM,EAAE,UAAU,MAAM,UAAU;EAClC,IAAI,CAAC,UACH,SAAS,OAAO,MAAM,OAAO,KAAK,CAAC;CAEvC;;;;CAKA,eAAuB,OAAsB;EAC3C,MAAM,iBAAkB,MAAM,OAAuB;EACrD,MAAM,EAAE,KAAK,aAAa;EAC1B,IAAI,CAAC,KAAK,YAAY,CAAC,KAAK;OACtB,OAAO,iBAAiB;IAC1B,MAAM,EACJ,KAAK,QACL,KAAK,QACL,MAAM,SACN,gBAAgB,mBAChB,OACA,wBACE;IACJ,MAAM,MAAM,OAAO,MAAM;IACzB,MAAM,MAAM,OAAO,MAAM;IACzB,MAAM,OAAO,OAAO,OAAO;IAC3B,MAAM,iBAAiB,OAAO,iBAAiB;IAC/C,MAAM,QACH,CAAC,WAAW,QAAQ,MAAM,OAAO,kBAClC,gBAAgB;IAElB,IAAI,kBAAkB,eAAe;KACnC,MAAM,aAAa,sBAAsB,QAAQ;KACjD,MAAM,WAAW,KAAK,IACpB,KACA,KAAK,IACH,MACC,QAAQ,IAAI,KAAK,MAAM,SAAS,IAAI,KAAK,KAAK,SAAS,KAAK,IAC/D,CACF;KACA,IAAI,YAAY,KAAK,OACnB,KAAK,sBAAsB;KAE7B,KAAK,cACH,IAAI,YACD,KAAK,YAAiC,aACvC;MACE,SAAS;MACT,UAAU;MACV,QAAQ;OACN,OAAO,KAAK;OACZ,cAAc;MAChB;KACF,CACF,CACF;IACF,OAAO;KACL,MAAM,aAAa,QAAQ,QAAQ;KACnC,MAAM,WAAW,KAAK,IACpB,KACA,KAAK,IACH,MACC,QAAQ,IAAI,KAAK,MAAM,SAAS,IAAI,KAAK,KAAK,SAAS,KAAK,IAC/D,CACF;KACA,IACE,CAAC,KAAK,uBACN,YAAY,KAAK,qBAEjB,KAAK,QAAQ;KAEf,KAAK,cACH,IAAI,YACD,KAAK,YAAiC,aACvC;MACE,SAAS;MACT,UAAU;MACV,QAAQ;OACN,OAAO,KAAK;OACZ,cAAc;MAChB;KACF,CACF,CACF;IACF;GACF;;CAEJ;;;;CAcA,WAAmB,OAAqB;EACtC,IAAI,CAAC,KAAK,YAAY,CAAC,KAAK,UAAU;GACpC,IAAI,iBAAkB,MAAM,OAAuB;GACnD,IAAI,CAAC,gBAIH,iBAHe,MAAM,OAAuB,QAC1C,qBAEmB,CAAC,EAAE,MAAM;GAEhC,IAAI,mBAAmB,SAAS;IAC9B,KAAK,YAAY;IACjB,KAAK,WAAW,MAAM,cAAc;IACpC,KAAK,qBAAqB,KAAK,YAAY,IAAI;GACjD,OAAO,IAAI,mBAAmB,eAAe;IAC3C,KAAK,iBAAiB;IACtB,KAAK,gBAAgB,MAAM,cAAc;IACzC,KAAK,qBAAqB,KAAK,iBAAiB,IAAI;GACtD;EACF;CACF;;;;CAKA,aAAqB,OAAqB;EACxC,IAAI,iBAAkB,MAAM,OAA4B;EACxD,IAAI,CAAC,gBAIH,iBAHe,MAAM,OAAuB,QAC1C,qBAEmB,CAAC,EAAE,MAAM;EAEhC,IAAI,CAAC,KAAK,YAAY,CAAC,KAAK,UAAU;GACpC,MAAM,EAAE,YAAY,cAAc;GAClC,MAAM,QAEJ,UACG,cAAe,YAAa,iBAAiB,SAAS,CAAC,CACvD,iBAAiB,WAAW,MAAM;GACvC,MAAM,gBAAgB,MAAM;GAC5B,MAAM,EAAE,MAAM,WAAW,OAAO,eAC9B,UAAU,sBAAsB;GAClC,IAAI,mBAAmB,eAAe;IACpC,KAAK,cACF,QACG,YAAY,aAAa,gBACzB,gBAAgB,aAAa;IACnC,KAAK,cACH,IAAI,YAAa,KAAK,YAAiC,aAAa;KAClE,SAAS;KACT,UAAU;KACV,QAAQ,EACN,OAAO,KAAK,oBACd;IACF,CAAC,CACH;GACF,OACE,IAAI,CAAC,KAAK,qBAAqB;IAC7B,KAAK,SACF,QACG,YAAY,aAAa,gBACzB,gBAAgB,aAAa;IACnC,KAAK,cACH,IAAI,YACD,KAAK,YAAiC,aACvC;KACE,SAAS;KACT,UAAU;KACV,QAAQ,EACN,OAAO,KAAK,MACd;IACF,CACF,CACF;GACF,OACE,IAAI,CAAC,KAAK,cAAc;IACtB,MAAM,YACF,QACE,YAAY,aAAa,gBACzB,gBAAgB,aAClB,aACF;IACF,MAAM,kBACJ,WAAW,KAAK,QACZ,WAAW,KAAK,QAChB,KAAK,QAAQ;IACnB,MAAM,uBACJ,WAAW,KAAK,sBACZ,WAAW,KAAK,sBAChB,KAAK,sBAAsB;IACjC,IAAI,kBAAkB,sBACpB,KAAK,aAAa,WAAW;SACxB,IAAI,kBAAkB,sBAC3B,KAAK,QAAQ,WAAW;SACnB,IACL,CAAC,KAAK,aACN,CAAC,KAAK,kBACN,oBAAoB,sBAEpB,IAAI,KAAK,MAAM,QAAQ,IAAI,KAAK,qBAC9B,KAAK,aAAa,WAAW;SAE7B,KAAK,QAAQ,WAAW;IAG5B,KAAK,cACH,IAAI,YACD,KAAK,YAAiC,aACvC;KACE,SAAS;KACT,UAAU;KACV,QAAQ,EACN,OAAO,KAAK,MACd;IACF,CACF,CACF;GACF;EAGN;CACF;;;;;;CA2BA,uBAA+B,OAAqB;EAClD,MAAM,EACJ,UACA,WAAW,UACX,YAAY,WACZ,gBAAgB,kBACd;EACJ,IAAI,CAAC,UAAU;GACb,MAAM,QAEJ,UACG,cAAe,YAAa,iBAAiB,SAAS,CAAC,CACvD,iBAAiB,WAAW,MAAM;GACvC,MAAM,gBAAgB,MAAM;GAC5B,MAAM,EAAE,MAAM,WAAW,OAAO,eAC9B,KAAK,WAAW,sBAAsB;GACxC,IAAI,UAAU;IACZ,KAAK,qBAAqB,KAAK,YAAY,IAAI;IAC/C,MAAM,YACH,QACG,YAAY,aAAa,gBACzB,gBAAgB,aAAa;IACnC,IACE,CAAC,KAAK,uBACN,WAAW,OAAO,KAAK,qBACvB;KACA,KAAK,QAAQ;KACb,KAAK,cACH,IAAI,YACD,KAAK,YAAiC,aACvC;MACE,SAAS;MACT,UAAU;MACV,QAAQ;OACN,OAAO,KAAK;OACZ,cAAc;MAChB;KACF,CACF,CACF;IACF;GACF,OAAO,IAAI,eAAe;IACxB,KAAK,qBAAqB,KAAK,iBAAiB,IAAI;IACpD,MAAM,YACH,QACG,YAAY,aAAa,gBACzB,gBAAgB,aAAa;IACnC,IAAI,WAAW,OAAO,KAAK,OAAO;KAChC,KAAK,aAAa;KAClB,KAAK,cACH,IAAI,YACD,KAAK,YAAiC,aACvC;MACE,SAAS;MACT,UAAU;MACV,QAAQ;OACN,OAAO,KAAK;OACZ,cAAc;MAChB;KACF,CACF,CACF;IACF;GACF;EACF;CACF;;;;CA4KA,IACI,MAAM;EACR,OAAO,KAAK,KAAK,SAAS;CAC5B;CAEA,IAAI,IAAI,OAAO;EACb,MAAM,EAAE,KAAK,WAAW;EACxB,KAAK,OAAO;EACZ,KAAK,cAAc,OAAO,MAAM;CAClC;;;;CAKA,IACI,MAAM;EACR,OAAO,KAAK,KAAK,SAAS;CAC5B;CAEA,IAAI,IAAI,OAAO;EACb,MAAM,EAAE,KAAK,WAAW;EACxB,KAAK,OAAO;EACZ,KAAK,cAAc,OAAO,MAAM;CAClC;;;;CAyCA,IACI,OAAO;EACT,OAAO,KAAK,MAAM,SAAS;CAC7B;CAEA,IAAI,KAAK,OAAO;EACd,MAAM,EAAE,MAAM,YAAY;EAC1B,KAAK,QAAQ;EACb,KAAK,cAAc,QAAQ,OAAO;CACpC;;;;;CAMA,IACI,iBAAiB;EACnB,OAAO,KAAK,gBAAgB,SAAS;CACvC;CAEA,IAAI,eAAe,OAAO;EACxB,MAAM,EAAE,gBAAgB,sBAAsB;EAC9C,KAAK,kBAAkB;EACvB,KAAK,cAAc,kBAAkB,iBAAiB;CACxD;CAaA,kBAAkB,OAAO;EACvB,MAAM,eAAe,OAAO;EAC5B,IAAI,KAAK,SACP,OAAO;EAET,IAAI,OAAO,SACT,OAAO;EAET,IACE,cAAc,gBAAgB,OAAO,KAAK,GAAG,KAC7C,cAAc,gBAAgB,OAAO,KAAK,GAAG,GAE7C,OAAO;EAET,OAAO;CACT;CAEA,qBAAqB,OAAO;EAC1B,IACE,OAAO,gBAAgB,OAAO,MAAM,GAAG,KACvC,OAAO,gBAAgB,OAAO,MAAM,GAAG,GAEvC,OAAO;EAET,OAAO;CACT;CAEA,oBAAoB;EAClB,MAAM,kBAAkB;EACxB,IAAI,CAAC,KAAK,iCACR,KAAK,kCAAkC,SACrC,KAAK,wBACL,EACF;CAEJ;CAEA,uBAAuB;EACrB,IAAI,KAAK,iCAAiC;GACxC,KAAK,gCAAgC,OAAO;GAC5C,KAAK,kCAAkC;EACzC;EACA,aAAa,KAAK,mBAA6B;EAC/C,MAAM,qBAAqB;CAC7B;CACA,UAAU;EACR,IAAI,KAAK,oBACP,IAAI,KAAK,uBAAuB,KAAK,wBAAwB,IAC3D,KAAK,mBAAmB,MAAM,YAAY,KAAK,sBAC3C,aAAa,KAAK,QAAQ,IAAI,kBAAkB,KAAK,aAAa,KAAK,MAAM,KAC7E,8BAA8B,KAAK,MAAM;OAE7C,KAAK,mBAAmB,MAAM,YAAY,KAAK,sBAC3C,aAAa,KAAK,QAAQ,IAAI,kBAAkB,KAAK,aAAa,KAAK,MAAM,KAC7E,8BAA8B,KAAK,MAAM;CAGnD;CACA,aAAa,mBAAmB;EAM9B,KAHoB,iBACjB,KAAK,YAAiC,aAEpC,CAAC,CAAC,SAAS,OAAO,UAAU;GAC/B,IAAI,kBAAkB,IAAI,UAAU,GAAG;IACrC,IAAI,OACF,MAAM,WAAW,KAAK;IAExB,IAAI,KAAK,UACP,KAAK,YAAY;GAErB;GACA,IAAI,kBAAkB,IAAI,UAAU,GAAG;IACrC,IAAI,OACF,MAAM,WAAW,KAAK;IAExB,IAAI,KAAK,UACP,KAAK,YAAY;GAErB;GACA,IAAI,kBAAkB,IAAI,SAAS,GACjC,MAAM,UAAU,KAAK;GAEvB,IAAI,kBAAkB,IAAI,MAAM,GAC9B,MAAM,OAAO,KAAK;GAEpB,IAAI,kBAAkB,IAAI,eAAe,GACvC,MAAM,gBAAgB,KAAK;GAE7B,IAAI,OAAO;IACT,KACG,KAAK,uBAAuB,KAAK,wBAAwB,OAC1D,QAAQ,GAER;KAAC;KAAO;KAAO;KAAQ;IAAqB,CAAC,CAAC,SAAS,SAAS;KAC9D,IAAI,SAAS,uBACX,MAAM,QAAQ,KAAK;UACd,IAAI,SAAS,OAClB,MAAM,QAAQ,KAAK;UAEnB,MAAM,QAAQ,KAAK;IAEvB,CAAC;SAED;KAAC;KAAO;KAAO;KAAQ;IAAO,CAAC,CAAC,SAAS,SAAS;KAChD,IAAI,KAAK,uBAAuB,SAAS,OACvC,MAAM,QAAQ,KAAK;UAEnB,MAAM,QAAQ,KAAK;IAEvB,CAAC;IAEH,IACE,kBAAkB,IAAI,OAAO,KAC7B,kBAAkB,IAAI,SAAS,KAC/B,kBAAkB,IAAI,MAAM,KAC5B,kBAAkB,IAAI,UAAU,GAChC;KACA,KAAK,UAAU,KAAK,kBAAkB,KAAK;KAC3C,IAAI,CAAC,KAAK,YAAY,CAAC,KAAK,SAC1B,MAAM,UAAU;UAEhB,MAAM,UAAU;IAEpB;GACF;EACF,CAAC;EACD,OAAO;CACT;CAEA,SAAS;EACP,MAAM,EACJ,UACA,aACA,eACA,eACA,WACA,WACA,eACA,KACA,KACA,UACA,UACA,UACA,aACA,SACA,MACA,UACA,OACA,qBACA,OAAO,MACP,YAAY,WACZ,mBAAmB,kBACnB,gBAAgB,eAChB,cAAc,aACd,QACA,UAAU,YACR;EAEJ,MAAM,gBAAgB,CAAC,YAAY,CAAC;EAEpC,MAAM,kBAGF;GACF,SAAS,iBAAiB,CAAC;GAC3B,MAAM,iBAAiB,WAAW;EACpC;EAEA,MAAM,eAAe,SAAS;IAC3B,eAAqB;IACrB,yBAA+B;IAC/B,yBAA+B;EAClC,CAAC;EACD,MAAM,gBAAgB,SAAS;IAC5B,gBAAsB;IACtB,0BAAgC;IAChC,0BAAgC;EACnC,CAAC;EACD,MAAM,2BAA2B,SAAS;IACvC,sBAA4B;IAC5B,+BAAqC;IACrC,sCACC,uBAAuB,wBAAwB;EACnD,CAAC;EACD,MAAM,oBAAoB,SAAS;IAChC,uBAA6B;IAC7B,8BACC,uBAAuB,wBAAwB;IAChD,gCAAsC;EACzC,CAAC;EACD,MAAM,2BAA2B,SAAS;IACvC,sBAA4B;IAC5B,+BAAqC;IACrC,sCAA4C;EAC/C,CAAC;EACD,MAAM,oBAAoB,SAAS;IAChC,uBAA6B;IAC7B,8BAAoC;IACpC,gCAAsC;EACzC,CAAC;EACD,OAAO,IAAI;sBACO,aAAa,YAAY,iBAAiB;kCAC9B,UAAU;;0BAEjB;UACjB,uBAAuB,wBAAwB,KAC7C,IAAI,sCACJ,GAAG;6BACe;kCACI,cAAc,KAAK,QAAQ,EAAE;;;sBAGzC,cAAc;oBAChB,YAAY;wBACR,QAAQ;2BACL,QAAQ;mBAChB,cAAc;;;YAGrB,gBACE,IAAI;;2BAES,yBAAyB;iCACnB,OAAO,IAAI;;gCAEZ,MAAM;;;6BAGT,kBAAkB;;gCAEf,CAAC,WAAW,IAAI,GAAG;qCACd,IAAI;qCACJ,IAAI;qCACJ,MAAM;sCACL,YAAY,OAAO,KAAK,GAAG,KAAA,CAAS,EAAE;oCACxC,OAAO;sBACrB,uBAAuB,wBAAwB,KAC7C,IAAI;;;;2CAIgB,uBAAA,MAA8B;;;;;;;;2CAQ9B,uBAAA,MAA8B;;;;;;;;4BASlD,GAAG;;;sBAGL,YAAY,OAAO,KAAK,GAAG,KAAA,CAAS,EAAE;;;kBAI9C,IAAI;;2BAES,yBAAyB;iCACnB,OAAO,IAAI;;;6BAGf,kBAAkB;;gCAEf,CAAC,WAAW,IAAI,GAAG;qCACd,IAAI;qCACJ,IAAI;qCACJ,MAAM;sCACL,YAAY,OAAO,KAAK,GAAG,KAAA,CAAS,EAAE;oCACxC,OAAO;sBACrB,uBAAuB,wBAAwB,KAC7C,IAAI;;;;2CAIgB,uBAAA,MAA8B;;;;;;;;2CAQ9B,uBAAA,MAA8B;;;;;;;;4BASlD,GAAG;;;gBAGX;YACJ,uBAAuB,wBAAwB,KAC7C,gBACE,IAAI;;6BAES,yBAAyB;mCACnB,YAAY,IAAI;;kCAEjB,MAAM;;;+BAGT,kBAAkB;;kCAEf,CAAC,WAAW,IAAI,GAAG;uCACd,IAAI;uCACJ,IAAI;uCACJ,oBAAoB;wCACnB,YAChB,OAAO,mBAAmB,GAC1B,KAAA,CACF,EAAE;sCACc,OAAO;;;;uCAIL,uBAAA,MAA8B;;;;;;;;uCAQ9B,uBAAA,MAA8B;;;;;;;;;;wBAU9C,YAAY,OAAO,mBAAmB,GAAG,KAAA,CAAS,EAAE;;;oBAI5D,IAAI;;6BAES,yBAAyB;mCACnB,YAAY,IAAI;;;+BAGpB,kBAAkB;;kCAEf,CAAC,WAAW,IAAI,GAAG;uCACd,IAAI;uCACJ,IAAI;uCACJ,oBAAoB;wCACnB,YAChB,OAAO,mBAAmB,GAC1B,KAAA,CACF,EAAE;sCACc,OAAO;;;;uCAIL,uBAAA,MAA8B;;;;;;;;uCAQ9B,uBAAA,MAA8B;;;;;;;;;;oBAWxD,IAAI,GAAG;yCACqB;YAC9B,uBAAuB,wBAAwB,KAC7C,IAAI,gBAAA,MAAuB,mCAC3B,IAAI,gBAAA,MAAuB;oCACJ;sBACf;;6BAEQ;kCACI,cAAc,KAAK,QAAQ,EAAE;;;;;QAKvD,gBAAgB,UACd,IAAI;;6BAEgB,2BAAA,MAAkC,oCAAA,MAA2C;gBAC3F,YAAY;;cAGlB,KAAK;QACP,gBAAgB,OACd,IAAI;2BACc,2BAAA,MAAkC;cAChD,SAAS;oBAEb,KAAK;;CAEb;;;;CAKA,WAAW,gBAAgB;EACzB,OAAO;CACT;;;;CAKA,WAAW,cAAc;EACvB,OAAO;CACT;;;;CAKA,WAAW,mBAAmB;EAC5B,OAAO;CACT;;2BAE2B;GACzB,GAAG,WAAW;GACd,gBAAgB;EAClB;;;gBACgBA;;AAClB;YAlnCG,SAAS;CAAE,MAAM;CAAQ,WAAW;AAAc,CAAC,CAAA,GAAA,UAAA,WAAA,uBAAA,KAAA,CAAA;YAiEnD,MAAM,QAAQ,CAAA,GAAA,UAAA,WAAA,cAAA,KAAA,CAAA;YAKd,MAAM,cAAc,CAAA,GAAA,UAAA,WAAA,mBAAA,KAAA,CAAA;YAMpB,MAAM,QAAQ,CAAA,GAAA,UAAA,WAAA,cAAA,KAAA,CAAA;YAGd,MAAM,4BAAkC,CAAA,GAAA,UAAA,WAAA,sBAAA,KAAA,CAAA;YA4PxC,aAAa,sBAAsB,CAAA,GAAA,UAAA,WAAA,sBAAA,KAAA,CAAA;YAoJnC,aAAa,kBAAkB,CAAA,GAAA,UAAA,WAAA,sBAAA,KAAA,CAAA;YA2C/B,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,UAAA,WAAA,YAAA,KAAA,CAAA;YAMzC,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,UAAA,WAAA,YAAA,KAAA,CAAA;YAMzC,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,UAAA,WAAA,YAAA,KAAA,CAAA;YAMzC,SAAS,EAAE,WAAW,aAAa,CAAC,CAAA,GAAA,UAAA,WAAA,aAAA,KAAA,CAAA;YAMpC,SAAS;CAAE,WAAW;CAAa,SAAS;AAAK,CAAC,CAAA,GAAA,UAAA,WAAA,YAAA,KAAA,CAAA;YAMlD,SAAS;CAAE,WAAW;CAAa,SAAS;AAAK,CAAC,CAAA,GAAA,UAAA,WAAA,YAAA,KAAA,CAAA;YAMlD,SAAS;CAAE,WAAW;CAAc,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,UAAA,WAAA,aAAA,KAAA,CAAA;YAOlE,SAAS,EAAE,WAAW,MAAM,CAAC,CAAA,GAAA,UAAA,WAAA,eAAA,KAAA,CAAA;YAQ7B,SAAS,EAAE,WAAW,MAAM,CAAC,CAAA,GAAA,UAAA,WAAA,iBAAA,KAAA,CAAA;YAQ7B,SAAS,EAAE,WAAW,MAAM,CAAC,CAAA,GAAA,UAAA,WAAA,iBAAA,KAAA,CAAA;YAO7B,SAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,UAAA,WAAA,OAAA,IAAA;YAcxC,SAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,UAAA,WAAA,OAAA,IAAA;YAcxC,SAAS,CAAA,GAAA,UAAA,WAAA,QAAA,KAAA,CAAA;YAMT,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,UAAA,WAAA,WAAA,KAAA,CAAA;YAMzC,SAAS,EAAE,WAAW,eAAe,CAAC,CAAA,GAAA,UAAA,WAAA,eAAA,KAAA,CAAA;YAMtC,SAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,UAAA,WAAA,QAAA,KAAA,CAAA;YAMzC,SAAS,EAAE,WAAW,YAAY,CAAC,CAAA,GAAA,UAAA,WAAA,YAAA,KAAA,CAAA;YAMnC,SAAS;CAAE,MAAM;CAAS,WAAW;CAAmB,SAAS;AAAK,CAAC,CAAA,GAAA,UAAA,WAAA,iBAAA,KAAA,CAAA;YAMvE,SAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,UAAA,WAAA,QAAA,IAAA;YAexC,SAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,WAAW;AAAkB,CAAC,CAAA,GAAA,UAAA,WAAA,kBAAA,IAAA;YActE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,UAAA,WAAA,SAAA,KAAA,CAAA;YAMzB,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,UAAA,WAAA,WAAA,KAAA,CAAA;wBA5tB5BC,cAAc,YAAkB,CAAA,GAAA,SAAA;AAiqCjC,IAAA,iBAAe"}
|