@carbon/web-components 2.47.0 → 2.48.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 +963 -145
- package/es/components/accordion/accordion-item.d.ts +28 -12
- package/es/components/accordion/accordion-item.js +7 -5
- package/es/components/accordion/accordion-item.js.map +1 -1
- package/es/components/accordion/accordion-skeleton.d.ts +1 -1
- package/es/components/accordion/accordion-skeleton.js +7 -5
- package/es/components/accordion/accordion-skeleton.js.map +1 -1
- package/es/components/accordion/accordion.d.ts +1 -1
- package/es/components/accordion/accordion.js +7 -5
- package/es/components/accordion/accordion.js.map +1 -1
- package/es/components/ai-label/ai-label.d.ts +1 -1
- package/es/components/ai-label/ai-label.js +6 -5
- package/es/components/ai-label/ai-label.js.map +1 -1
- package/es/components/button/button.d.ts +56 -22
- package/es/components/checkbox/checkbox-group.d.ts +2 -0
- package/es/components/checkbox/checkbox.d.ts +57 -23
- package/es/components/checkbox/checkbox.js +7 -5
- package/es/components/checkbox/checkbox.js.map +1 -1
- package/es/components/code-snippet/code-snippet.d.ts +29 -11
- package/es/components/code-snippet/code-snippet.js +15 -14
- package/es/components/code-snippet/code-snippet.js.map +1 -1
- package/es/components/combo-box/combo-box.scss.js +1 -1
- package/es/components/combo-button/combo-button.d.ts +27 -11
- package/es/components/content-switcher/content-switcher-item.d.ts +29 -11
- package/es/components/copy-button/copy-button.d.ts +27 -11
- package/es/components/data-table/table-expanded-row.d.ts +28 -12
- package/es/components/data-table/table-expanded-row.js +7 -5
- package/es/components/data-table/table-expanded-row.js.map +1 -1
- package/es/components/data-table/table-header-cell.d.ts +29 -11
- package/es/components/data-table/table-row.d.ts +54 -22
- package/es/components/data-table/table-toolbar-search.d.ts +29 -11
- package/es/components/data-table/table.d.ts +28 -12
- package/es/components/data-table/table.js +9 -8
- package/es/components/data-table/table.js.map +1 -1
- package/es/components/date-picker/date-picker-input.d.ts +29 -11
- package/es/components/date-picker/date-picker.d.ts +54 -22
- package/es/components/dropdown/dropdown.d.ts +110 -44
- package/es/components/dropdown/dropdown.js +8 -6
- package/es/components/dropdown/dropdown.js.map +1 -1
- package/es/components/file-uploader/file-uploader-button.d.ts +27 -11
- package/es/components/file-uploader/file-uploader-drop-container.d.ts +27 -11
- package/es/components/floating-menu/floating-menu.d.ts +56 -22
- package/es/components/fluid-select/fluid-select.d.ts +5 -0
- package/es/components/fluid-select/fluid-select.js +50 -1
- package/es/components/fluid-select/fluid-select.js.map +1 -1
- package/es/components/fluid-textarea/fluid-textarea-skeleton.d.ts +3 -3
- package/es/components/fluid-textarea/fluid-textarea-skeleton.js +3 -3
- package/es/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
- package/es/components/fluid-time-picker/fluid-time-picker-select.d.ts +21 -0
- package/es/components/fluid-time-picker/fluid-time-picker-select.js +53 -0
- package/es/components/fluid-time-picker/fluid-time-picker-select.js.map +1 -0
- package/es/components/fluid-time-picker/fluid-time-picker-skeleton.d.ts +23 -0
- package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js +63 -0
- package/es/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -0
- package/es/components/fluid-time-picker/fluid-time-picker.d.ts +32 -0
- package/es/components/fluid-time-picker/fluid-time-picker.js +239 -0
- package/es/components/fluid-time-picker/fluid-time-picker.js.map +1 -0
- package/es/components/fluid-time-picker/fluid-time-picker.scss.js +13 -0
- package/es/components/fluid-time-picker/fluid-time-picker.scss.js.map +1 -0
- package/es/components/fluid-time-picker/index.d.ts +9 -0
- package/es/components/fluid-time-picker/index.js +11 -0
- package/es/components/fluid-time-picker/index.js.map +1 -0
- package/es/components/grid/column.d.ts +3 -1
- package/es/components/grid/column.js +6 -0
- package/es/components/grid/column.js.map +1 -1
- package/es/components/icon-button/icon-button.d.ts +1 -1
- package/es/components/icon-button/icon-button.js +6 -5
- package/es/components/icon-button/icon-button.js.map +1 -1
- package/es/components/link/link.d.ts +29 -11
- package/es/components/menu/menu-item-selectable.d.ts +5 -3
- package/es/components/menu/menu-item-selectable.js +3 -3
- package/es/components/menu/menu-item-selectable.js.map +1 -1
- package/es/components/menu/menu-item.d.ts +68 -23
- package/es/components/menu/menu-item.js +37 -2
- package/es/components/menu/menu-item.js.map +1 -1
- package/es/components/menu/menu.d.ts +27 -11
- package/es/components/menu-button/menu-button.d.ts +27 -11
- package/es/components/modal/modal-close-button.d.ts +29 -11
- package/es/components/modal/modal.d.ts +27 -11
- package/es/components/modal/modal.js +6 -4
- package/es/components/modal/modal.js.map +1 -1
- package/es/components/multi-select/multi-select.js +12 -8
- package/es/components/multi-select/multi-select.js.map +1 -1
- package/es/components/notification/actionable-notification.d.ts +27 -11
- package/es/components/notification/actionable-notification.scss.js +1 -1
- package/es/components/notification/inline-notification.d.ts +27 -11
- package/es/components/notification/inline-notification.scss.js +1 -1
- package/es/components/notification/toast-notification.scss.js +1 -1
- package/es/components/number-input/number-input.d.ts +2 -0
- package/es/components/overflow-menu/overflow-menu-item.d.ts +29 -11
- package/es/components/overflow-menu/overflow-menu.d.ts +54 -22
- package/es/components/pagination/pagination.d.ts +56 -22
- package/es/components/pagination-nav/defs.d.ts +61 -0
- package/es/components/pagination-nav/defs.js +74 -0
- package/es/components/pagination-nav/defs.js.map +1 -0
- package/es/components/pagination-nav/index.d.ts +7 -0
- package/es/components/pagination-nav/index.js +9 -0
- package/es/components/pagination-nav/index.js.map +1 -0
- package/es/components/pagination-nav/pagination-nav.d.ts +109 -0
- package/es/components/pagination-nav/pagination-nav.js +427 -0
- package/es/components/pagination-nav/pagination-nav.js.map +1 -0
- package/es/components/pagination-nav/pagination-nav.scss.js +13 -0
- package/es/components/pagination-nav/pagination-nav.scss.js.map +1 -0
- package/es/components/password-input/password-input.d.ts +2 -0
- package/es/components/popover/popover.d.ts +27 -11
- package/es/components/popover/popover.js +1 -1
- package/es/components/popover/popover.js.map +1 -1
- package/es/components/progress-indicator/progress-step.d.ts +29 -11
- package/es/components/radio-button/radio-button-group.d.ts +54 -22
- package/es/components/radio-button/radio-button.d.ts +57 -23
- package/es/components/radio-button/radio-button.js +7 -5
- package/es/components/radio-button/radio-button.js.map +1 -1
- package/es/components/search/search.d.ts +83 -33
- package/es/components/select/select.d.ts +29 -11
- package/es/components/side-panel/side-panel.d.ts +27 -11
- package/es/components/skip-to-content/skip-to-content.d.ts +29 -11
- package/es/components/slider/slider-input.d.ts +29 -11
- package/es/components/slider/slider.d.ts +84 -34
- package/es/components/slider/slider.js +9 -7
- package/es/components/slider/slider.js.map +1 -1
- package/es/components/slug/slug.d.ts +1 -1
- package/es/components/slug/slug.js +6 -4
- package/es/components/slug/slug.js.map +1 -1
- package/es/components/structured-list/structured-list-row.d.ts +27 -11
- package/es/components/structured-list/structured-list.d.ts +30 -12
- package/es/components/structured-list/structured-list.js +7 -5
- package/es/components/structured-list/structured-list.js.map +1 -1
- package/es/components/tabs/tabs.d.ts +27 -11
- package/es/components/tag/dismissible-tag.d.ts +54 -22
- package/es/components/tag/operational-tag.d.ts +54 -22
- package/es/components/tag/selectable-tag.d.ts +54 -22
- package/es/components/tag/tag.d.ts +54 -22
- package/es/components/tearsheet/tearsheet.d.ts +27 -11
- package/es/components/text-input/text-input.d.ts +56 -22
- package/es/components/textarea/textarea.d.ts +2 -0
- package/es/components/tile/expandable-tile.d.ts +54 -22
- package/es/components/tile/selectable-tile.d.ts +56 -22
- package/es/components/tile/tile-group.d.ts +27 -11
- package/es/components/time-picker/time-picker-select.d.ts +29 -11
- package/es/components/time-picker/time-picker.d.ts +56 -22
- package/es/components/toggle/toggle.d.ts +27 -11
- package/es/components/toggle-tip/toggletip.d.ts +57 -23
- package/es/components/toggle-tip/toggletip.js +7 -5
- package/es/components/toggle-tip/toggletip.js.map +1 -1
- package/es/components/tooltip/tooltip.d.ts +28 -12
- package/es/components/tooltip/tooltip.js +7 -5
- package/es/components/tooltip/tooltip.js.map +1 -1
- package/es/components/tree-view/tree-view.d.ts +28 -12
- package/es/components/tree-view/tree-view.js +7 -5
- package/es/components/tree-view/tree-view.js.map +1 -1
- package/es/components/ui-shell/header-global-action.d.ts +2 -0
- package/es/components/ui-shell/header-menu-button.d.ts +29 -11
- package/es/components/ui-shell/header-menu.d.ts +56 -22
- package/es/components/ui-shell/header-name.d.ts +29 -11
- package/es/components/ui-shell/header-nav-item.d.ts +29 -11
- package/es/components/ui-shell/header-panel.d.ts +2 -0
- package/es/components/ui-shell/side-nav-link.d.ts +29 -11
- package/es/components/ui-shell/side-nav-menu-item.d.ts +29 -11
- package/es/components/ui-shell/side-nav-menu.d.ts +29 -11
- package/es/components/ui-shell/side-nav.d.ts +27 -11
- package/es/components/ui-shell/switcher-item.d.ts +29 -11
- package/es/components/ui-shell/switcher.d.ts +2 -0
- package/es/globals/mixins/focus.d.ts +27 -11
- package/es/globals/mixins/form.d.ts +27 -11
- package/es/globals/mixins/host-listener.d.ts +27 -11
- package/es/globals/mixins/validity.d.ts +27 -11
- package/es-custom/components/accordion/accordion-item.d.ts +28 -12
- package/es-custom/components/accordion/accordion-item.js +7 -5
- package/es-custom/components/accordion/accordion-item.js.map +1 -1
- package/es-custom/components/accordion/accordion-skeleton.d.ts +1 -1
- package/es-custom/components/accordion/accordion-skeleton.js +7 -5
- package/es-custom/components/accordion/accordion-skeleton.js.map +1 -1
- package/es-custom/components/accordion/accordion.d.ts +1 -1
- package/es-custom/components/accordion/accordion.js +7 -5
- package/es-custom/components/accordion/accordion.js.map +1 -1
- package/es-custom/components/ai-label/ai-label.d.ts +1 -1
- package/es-custom/components/ai-label/ai-label.js +6 -5
- package/es-custom/components/ai-label/ai-label.js.map +1 -1
- package/es-custom/components/button/button.d.ts +56 -22
- package/es-custom/components/checkbox/checkbox-group.d.ts +2 -0
- package/es-custom/components/checkbox/checkbox.d.ts +57 -23
- package/es-custom/components/checkbox/checkbox.js +7 -5
- package/es-custom/components/checkbox/checkbox.js.map +1 -1
- package/es-custom/components/code-snippet/code-snippet.d.ts +29 -11
- package/es-custom/components/code-snippet/code-snippet.js +15 -14
- package/es-custom/components/code-snippet/code-snippet.js.map +1 -1
- package/es-custom/components/combo-box/combo-box.scss.js +1 -1
- package/es-custom/components/combo-button/combo-button.d.ts +27 -11
- package/es-custom/components/content-switcher/content-switcher-item.d.ts +29 -11
- package/es-custom/components/copy-button/copy-button.d.ts +27 -11
- package/es-custom/components/data-table/table-expanded-row.d.ts +28 -12
- package/es-custom/components/data-table/table-expanded-row.js +7 -5
- package/es-custom/components/data-table/table-expanded-row.js.map +1 -1
- package/es-custom/components/data-table/table-header-cell.d.ts +29 -11
- package/es-custom/components/data-table/table-row.d.ts +54 -22
- package/es-custom/components/data-table/table-toolbar-search.d.ts +29 -11
- package/es-custom/components/data-table/table.d.ts +28 -12
- package/es-custom/components/data-table/table.js +9 -8
- package/es-custom/components/data-table/table.js.map +1 -1
- package/es-custom/components/date-picker/date-picker-input.d.ts +29 -11
- package/es-custom/components/date-picker/date-picker.d.ts +54 -22
- package/es-custom/components/dropdown/dropdown.d.ts +110 -44
- package/es-custom/components/dropdown/dropdown.js +8 -6
- package/es-custom/components/dropdown/dropdown.js.map +1 -1
- package/es-custom/components/file-uploader/file-uploader-button.d.ts +27 -11
- package/es-custom/components/file-uploader/file-uploader-drop-container.d.ts +27 -11
- package/es-custom/components/floating-menu/floating-menu.d.ts +56 -22
- package/es-custom/components/fluid-select/fluid-select.d.ts +5 -0
- package/es-custom/components/fluid-select/fluid-select.js +50 -1
- package/es-custom/components/fluid-select/fluid-select.js.map +1 -1
- package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.d.ts +3 -3
- package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js +3 -3
- package/es-custom/components/fluid-textarea/fluid-textarea-skeleton.js.map +1 -1
- package/es-custom/components/fluid-time-picker/fluid-time-picker-select.d.ts +21 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js +53 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker-select.js.map +1 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.d.ts +23 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.js +63 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker-skeleton.js.map +1 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker.d.ts +32 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker.js +239 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker.js.map +1 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker.scss.js +13 -0
- package/es-custom/components/fluid-time-picker/fluid-time-picker.scss.js.map +1 -0
- package/es-custom/components/fluid-time-picker/index.d.ts +9 -0
- package/es-custom/components/fluid-time-picker/index.js +11 -0
- package/es-custom/components/fluid-time-picker/index.js.map +1 -0
- package/es-custom/components/grid/column.d.ts +3 -1
- package/es-custom/components/grid/column.js +6 -0
- package/es-custom/components/grid/column.js.map +1 -1
- package/es-custom/components/icon-button/icon-button.d.ts +1 -1
- package/es-custom/components/icon-button/icon-button.js +6 -5
- package/es-custom/components/icon-button/icon-button.js.map +1 -1
- package/es-custom/components/link/link.d.ts +29 -11
- package/es-custom/components/menu/menu-item-selectable.d.ts +5 -3
- package/es-custom/components/menu/menu-item-selectable.js +3 -3
- package/es-custom/components/menu/menu-item-selectable.js.map +1 -1
- package/es-custom/components/menu/menu-item.d.ts +68 -23
- package/es-custom/components/menu/menu-item.js +37 -2
- package/es-custom/components/menu/menu-item.js.map +1 -1
- package/es-custom/components/menu/menu.d.ts +27 -11
- package/es-custom/components/menu-button/menu-button.d.ts +27 -11
- package/es-custom/components/modal/modal-close-button.d.ts +29 -11
- package/es-custom/components/modal/modal.d.ts +27 -11
- package/es-custom/components/modal/modal.js +6 -4
- package/es-custom/components/modal/modal.js.map +1 -1
- package/es-custom/components/multi-select/multi-select.js +12 -8
- package/es-custom/components/multi-select/multi-select.js.map +1 -1
- package/es-custom/components/notification/actionable-notification.d.ts +27 -11
- package/es-custom/components/notification/actionable-notification.scss.js +1 -1
- package/es-custom/components/notification/inline-notification.d.ts +27 -11
- package/es-custom/components/notification/inline-notification.scss.js +1 -1
- package/es-custom/components/notification/toast-notification.scss.js +1 -1
- package/es-custom/components/number-input/number-input.d.ts +2 -0
- package/es-custom/components/overflow-menu/overflow-menu-item.d.ts +29 -11
- package/es-custom/components/overflow-menu/overflow-menu.d.ts +54 -22
- package/es-custom/components/pagination/pagination.d.ts +56 -22
- package/es-custom/components/pagination-nav/defs.d.ts +61 -0
- package/es-custom/components/pagination-nav/defs.js +74 -0
- package/es-custom/components/pagination-nav/defs.js.map +1 -0
- package/es-custom/components/pagination-nav/index.d.ts +7 -0
- package/es-custom/components/pagination-nav/index.js +9 -0
- package/es-custom/components/pagination-nav/index.js.map +1 -0
- package/es-custom/components/pagination-nav/pagination-nav.d.ts +109 -0
- package/es-custom/components/pagination-nav/pagination-nav.js +427 -0
- package/es-custom/components/pagination-nav/pagination-nav.js.map +1 -0
- package/es-custom/components/pagination-nav/pagination-nav.scss.js +13 -0
- package/es-custom/components/pagination-nav/pagination-nav.scss.js.map +1 -0
- package/es-custom/components/password-input/password-input.d.ts +2 -0
- package/es-custom/components/popover/popover.d.ts +27 -11
- package/es-custom/components/popover/popover.js +1 -1
- package/es-custom/components/popover/popover.js.map +1 -1
- package/es-custom/components/progress-indicator/progress-step.d.ts +29 -11
- package/es-custom/components/radio-button/radio-button-group.d.ts +54 -22
- package/es-custom/components/radio-button/radio-button.d.ts +57 -23
- package/es-custom/components/radio-button/radio-button.js +7 -5
- package/es-custom/components/radio-button/radio-button.js.map +1 -1
- package/es-custom/components/search/search.d.ts +83 -33
- package/es-custom/components/select/select.d.ts +29 -11
- package/es-custom/components/side-panel/side-panel.d.ts +27 -11
- package/es-custom/components/skip-to-content/skip-to-content.d.ts +29 -11
- package/es-custom/components/slider/slider-input.d.ts +29 -11
- package/es-custom/components/slider/slider.d.ts +84 -34
- package/es-custom/components/slider/slider.js +9 -7
- package/es-custom/components/slider/slider.js.map +1 -1
- package/es-custom/components/slug/slug.d.ts +1 -1
- package/es-custom/components/slug/slug.js +6 -4
- package/es-custom/components/slug/slug.js.map +1 -1
- package/es-custom/components/structured-list/structured-list-row.d.ts +27 -11
- package/es-custom/components/structured-list/structured-list.d.ts +30 -12
- package/es-custom/components/structured-list/structured-list.js +7 -5
- package/es-custom/components/structured-list/structured-list.js.map +1 -1
- package/es-custom/components/tabs/tabs.d.ts +27 -11
- package/es-custom/components/tag/dismissible-tag.d.ts +54 -22
- package/es-custom/components/tag/operational-tag.d.ts +54 -22
- package/es-custom/components/tag/selectable-tag.d.ts +54 -22
- package/es-custom/components/tag/tag.d.ts +54 -22
- package/es-custom/components/tearsheet/tearsheet.d.ts +27 -11
- package/es-custom/components/text-input/text-input.d.ts +56 -22
- package/es-custom/components/textarea/textarea.d.ts +2 -0
- package/es-custom/components/tile/expandable-tile.d.ts +54 -22
- package/es-custom/components/tile/selectable-tile.d.ts +56 -22
- package/es-custom/components/tile/tile-group.d.ts +27 -11
- package/es-custom/components/time-picker/time-picker-select.d.ts +29 -11
- package/es-custom/components/time-picker/time-picker.d.ts +56 -22
- package/es-custom/components/toggle/toggle.d.ts +27 -11
- package/es-custom/components/toggle-tip/toggletip.d.ts +57 -23
- package/es-custom/components/toggle-tip/toggletip.js +7 -5
- package/es-custom/components/toggle-tip/toggletip.js.map +1 -1
- package/es-custom/components/tooltip/tooltip.d.ts +28 -12
- package/es-custom/components/tooltip/tooltip.js +7 -5
- package/es-custom/components/tooltip/tooltip.js.map +1 -1
- package/es-custom/components/tree-view/tree-view.d.ts +28 -12
- package/es-custom/components/tree-view/tree-view.js +7 -5
- package/es-custom/components/tree-view/tree-view.js.map +1 -1
- package/es-custom/components/ui-shell/header-global-action.d.ts +2 -0
- package/es-custom/components/ui-shell/header-menu-button.d.ts +29 -11
- package/es-custom/components/ui-shell/header-menu.d.ts +56 -22
- package/es-custom/components/ui-shell/header-name.d.ts +29 -11
- package/es-custom/components/ui-shell/header-nav-item.d.ts +29 -11
- package/es-custom/components/ui-shell/header-panel.d.ts +2 -0
- package/es-custom/components/ui-shell/side-nav-link.d.ts +29 -11
- package/es-custom/components/ui-shell/side-nav-menu-item.d.ts +29 -11
- package/es-custom/components/ui-shell/side-nav-menu.d.ts +29 -11
- package/es-custom/components/ui-shell/side-nav.d.ts +27 -11
- package/es-custom/components/ui-shell/switcher-item.d.ts +29 -11
- package/es-custom/components/ui-shell/switcher.d.ts +2 -0
- package/es-custom/globals/mixins/focus.d.ts +27 -11
- package/es-custom/globals/mixins/form.d.ts +27 -11
- package/es-custom/globals/mixins/host-listener.d.ts +27 -11
- package/es-custom/globals/mixins/validity.d.ts +27 -11
- package/lib/components/accordion/accordion-item.d.ts +28 -12
- package/lib/components/accordion/accordion-skeleton.d.ts +1 -1
- package/lib/components/accordion/accordion.d.ts +1 -1
- package/lib/components/ai-label/ai-label.d.ts +1 -1
- package/lib/components/button/button.d.ts +56 -22
- package/lib/components/checkbox/checkbox-group.d.ts +2 -0
- package/lib/components/checkbox/checkbox.d.ts +57 -23
- package/lib/components/code-snippet/code-snippet.d.ts +29 -11
- package/lib/components/combo-button/combo-button.d.ts +27 -11
- package/lib/components/content-switcher/content-switcher-item.d.ts +29 -11
- package/lib/components/copy-button/copy-button.d.ts +27 -11
- package/lib/components/data-table/table-expanded-row.d.ts +28 -12
- package/lib/components/data-table/table-header-cell.d.ts +29 -11
- package/lib/components/data-table/table-row.d.ts +54 -22
- package/lib/components/data-table/table-toolbar-search.d.ts +29 -11
- package/lib/components/data-table/table.d.ts +28 -12
- package/lib/components/date-picker/date-picker-input.d.ts +29 -11
- package/lib/components/date-picker/date-picker.d.ts +54 -22
- package/lib/components/dropdown/dropdown.d.ts +110 -44
- package/lib/components/file-uploader/file-uploader-button.d.ts +27 -11
- package/lib/components/file-uploader/file-uploader-drop-container.d.ts +27 -11
- package/lib/components/floating-menu/floating-menu.d.ts +56 -22
- package/lib/components/fluid-select/fluid-select.d.ts +5 -0
- package/lib/components/fluid-textarea/fluid-textarea-skeleton.d.ts +3 -3
- package/lib/components/fluid-time-picker/fluid-time-picker-select.d.ts +21 -0
- package/lib/components/fluid-time-picker/fluid-time-picker-skeleton.d.ts +23 -0
- package/lib/components/fluid-time-picker/fluid-time-picker.d.ts +32 -0
- package/lib/components/fluid-time-picker/index.d.ts +9 -0
- package/lib/components/grid/column.d.ts +3 -1
- package/lib/components/icon-button/icon-button.d.ts +1 -1
- package/lib/components/link/link.d.ts +29 -11
- package/lib/components/menu/menu-item-selectable.d.ts +5 -3
- package/lib/components/menu/menu-item.d.ts +68 -23
- package/lib/components/menu/menu.d.ts +27 -11
- package/lib/components/menu-button/menu-button.d.ts +27 -11
- package/lib/components/modal/modal-close-button.d.ts +29 -11
- package/lib/components/modal/modal.d.ts +27 -11
- package/lib/components/notification/actionable-notification.d.ts +27 -11
- package/lib/components/notification/inline-notification.d.ts +27 -11
- package/lib/components/number-input/number-input.d.ts +2 -0
- package/lib/components/overflow-menu/overflow-menu-item.d.ts +29 -11
- package/lib/components/overflow-menu/overflow-menu.d.ts +54 -22
- package/lib/components/pagination/pagination.d.ts +56 -22
- package/lib/components/pagination-nav/defs.d.ts +61 -0
- package/lib/components/pagination-nav/defs.js +74 -0
- package/lib/components/pagination-nav/defs.js.map +1 -0
- package/lib/components/pagination-nav/index.d.ts +7 -0
- package/lib/components/pagination-nav/pagination-nav.d.ts +109 -0
- package/lib/components/password-input/password-input.d.ts +2 -0
- package/lib/components/popover/popover.d.ts +27 -11
- package/lib/components/progress-indicator/progress-step.d.ts +29 -11
- package/lib/components/radio-button/radio-button-group.d.ts +54 -22
- package/lib/components/radio-button/radio-button.d.ts +57 -23
- package/lib/components/search/search.d.ts +83 -33
- package/lib/components/select/select.d.ts +29 -11
- package/lib/components/side-panel/side-panel.d.ts +27 -11
- package/lib/components/skip-to-content/skip-to-content.d.ts +29 -11
- package/lib/components/slider/slider-input.d.ts +29 -11
- package/lib/components/slider/slider.d.ts +84 -34
- package/lib/components/slug/slug.d.ts +1 -1
- package/lib/components/structured-list/structured-list-row.d.ts +27 -11
- package/lib/components/structured-list/structured-list.d.ts +30 -12
- package/lib/components/tabs/tabs.d.ts +27 -11
- package/lib/components/tag/dismissible-tag.d.ts +54 -22
- package/lib/components/tag/operational-tag.d.ts +54 -22
- package/lib/components/tag/selectable-tag.d.ts +54 -22
- package/lib/components/tag/tag.d.ts +54 -22
- package/lib/components/tearsheet/tearsheet.d.ts +27 -11
- package/lib/components/text-input/text-input.d.ts +56 -22
- package/lib/components/textarea/textarea.d.ts +2 -0
- package/lib/components/tile/expandable-tile.d.ts +54 -22
- package/lib/components/tile/selectable-tile.d.ts +56 -22
- package/lib/components/tile/tile-group.d.ts +27 -11
- package/lib/components/time-picker/time-picker-select.d.ts +29 -11
- package/lib/components/time-picker/time-picker.d.ts +56 -22
- package/lib/components/toggle/toggle.d.ts +27 -11
- package/lib/components/toggle-tip/toggletip.d.ts +57 -23
- package/lib/components/tooltip/tooltip.d.ts +28 -12
- package/lib/components/tree-view/tree-view.d.ts +28 -12
- package/lib/components/ui-shell/header-global-action.d.ts +2 -0
- package/lib/components/ui-shell/header-menu-button.d.ts +29 -11
- package/lib/components/ui-shell/header-menu.d.ts +56 -22
- package/lib/components/ui-shell/header-name.d.ts +29 -11
- package/lib/components/ui-shell/header-nav-item.d.ts +29 -11
- package/lib/components/ui-shell/header-panel.d.ts +2 -0
- package/lib/components/ui-shell/side-nav-link.d.ts +29 -11
- package/lib/components/ui-shell/side-nav-menu-item.d.ts +29 -11
- package/lib/components/ui-shell/side-nav-menu.d.ts +29 -11
- package/lib/components/ui-shell/side-nav.d.ts +27 -11
- package/lib/components/ui-shell/switcher-item.d.ts +29 -11
- package/lib/components/ui-shell/switcher.d.ts +2 -0
- package/lib/globals/mixins/focus.d.ts +27 -11
- package/lib/globals/mixins/form.d.ts +27 -11
- package/lib/globals/mixins/host-listener.d.ts +27 -11
- package/lib/globals/mixins/validity.d.ts +27 -11
- package/package.json +7 -7
- package/scss/components/combo-box/combo-box.scss +1 -1
- package/scss/components/fluid-time-picker/fluid-time-picker.scss +198 -0
- package/scss/components/pagination-nav/pagination-nav.scss +29 -0
- package/telemetry.yml +16 -8
|
@@ -20,7 +20,7 @@ import { carbonElement } from '../../globals/decorators/carbon-element.js';
|
|
|
20
20
|
import { iconLoader } from '../../globals/internal/icon-loader.js';
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
|
-
* Copyright IBM Corp. 2019,
|
|
23
|
+
* Copyright IBM Corp. 2019, 2026
|
|
24
24
|
*
|
|
25
25
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
26
26
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -145,10 +145,12 @@ let CDSCheckbox = class CDSCheckbox extends FocusMixin(FormMixin(LitElement)) {
|
|
|
145
145
|
}
|
|
146
146
|
updated() {
|
|
147
147
|
const { _hasAILabel: hasAILabel } = this;
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
148
|
+
if (hasAILabel) {
|
|
149
|
+
this.setAttribute('ai-label', '');
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
this.removeAttribute('ai-label');
|
|
153
|
+
}
|
|
152
154
|
}
|
|
153
155
|
connectedCallback() {
|
|
154
156
|
super.connectedCallback();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sources":["../../../src/components/checkbox/checkbox.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2025\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 { ifDefined } from 'lit/directives/if-defined.js';\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport FormMixin from '../../globals/mixins/form';\nimport styles from './checkbox.scss?lit';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n\n/**\n * Check box.\n *\n * @element cds-custom-checkbox\n * @fires cds-custom-checkbox-changed - The custom event fired after this changebox changes its checked state.\n * @csspart input The checkbox.\n * @csspart label The label.\n */\n@customElement(`${prefix}-checkbox`)\nclass CDSCheckbox extends FocusMixin(FormMixin(LitElement)) {\n @query('input')\n protected _checkboxNode!: HTMLInputElement;\n\n /**\n * Handles `click` event on the `<input>` in the shadow DOM.\n */\n protected _handleChange() {\n const { checked, indeterminate } = this._checkboxNode;\n this.checked = checked;\n this.indeterminate = indeterminate;\n const { eventChange } = this.constructor as typeof CDSCheckbox;\n this.dispatchEvent(\n new CustomEvent(eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n checked,\n indeterminate,\n },\n })\n );\n }\n\n /**\n * Prevent checkbox state from updating when readonly\n */\n private _handleClick(event: MouseEvent) {\n if (this.readonly) {\n event.preventDefault();\n }\n }\n\n _handleFormdata(event: FormDataEvent) {\n const { formData } = event;\n const { checked, disabled, name, value = 'on' } = this;\n if (!disabled && checked) {\n formData.append(name, value);\n }\n }\n\n /**\n * Specify whether the underlying input should be checked\n */\n @property({ type: Boolean, reflect: true, attribute: 'checked' })\n checked = false;\n\n /**\n * Specify if checkbox is being used in a data table\n */\n @property({ type: Boolean, reflect: true, attribute: 'data-table' })\n dataTable = false;\n\n /**\n * Specify whether the Checkbox should be disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Provide text for the form group for additional help\n */\n @property({ type: String, reflect: true, attribute: 'helper-text' })\n helperText;\n\n /**\n * Specify whether the checkbox should be present in the DOM,\n * but invisible and uninteractable. Used for data-table purposes.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-checkbox' })\n hideCheckbox = false;\n\n /**\n * Specify whether the label should be hidden, or not\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n /**\n * Specify a custom id for the checkbox\n */\n @property({ reflect: true })\n id = 'checkbox';\n\n /**\n * Specify whether the Checkbox is in an indeterminate state\n */\n @property({ type: Boolean, reflect: true })\n indeterminate = false;\n\n /**\n * Provide a label to provide a description of the Checkbox input that you are\n * exposing to the user\n */\n @property({ attribute: 'label-text' })\n labelText = '';\n\n /**\n * The form name.\n */\n @property()\n name!: string;\n\n /**\n * Specify whether the Checkbox is read-only\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * Specify whether the Checkbox is currently invalid\n */\n @property({ type: Boolean })\n invalid = false;\n\n /**\n * Provide the text that is displayed when the Checkbox is in an invalid state\n */\n @property({ type: String, attribute: 'invalid-text' })\n invalidText;\n\n /**\n * Specify a title for the node for the Checkbox\n */\n @property({ attribute: 'title' })\n title = '';\n\n /**\n * The value.\n */\n @property()\n value!: string;\n\n /**\n * Specify whether the Checkbox is in a warn state\n */\n @property({ type: Boolean })\n warn = false;\n\n /**\n * Provide the text that is displayed when the Checkbox is in a warn state\n */\n @property({ type: String, attribute: 'warn-text' })\n warnText = false;\n\n /**\n * Specify whether the underlying input should be checked by default\n */\n @property({ type: Boolean, attribute: 'default-checked' })\n defaultChecked;\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches !== undefined\n ? (elem as HTMLElement).matches(\n (this.constructor as typeof CDSCheckbox).aiLabelItem\n ) ||\n // remove slug reference in v12\n (elem as HTMLElement).matches(\n (this.constructor as typeof CDSCheckbox).slugItem\n )\n : false\n );\n\n this._hasAILabel = Boolean(hasContent);\n const type = (hasContent[0] as HTMLElement).getAttribute('kind');\n (hasContent[0] as HTMLElement).setAttribute(\n 'size',\n type === 'inline' ? 'md' : 'mini'\n );\n this.requestUpdate();\n }\n\n /**\n * `true` if there is an AI Label.\n */\n protected _hasAILabel = false;\n\n updated() {\n const { _hasAILabel: hasAILabel } = this;\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n hasAILabel\n ? this.setAttribute('ai-label', '')\n : this.removeAttribute('ai-label');\n }\n connectedCallback() {\n super.connectedCallback();\n if (this.defaultChecked) {\n this.checked = this.defaultChecked;\n }\n }\n\n render() {\n const {\n checked,\n disabled,\n helperText,\n hideLabel,\n id,\n indeterminate,\n invalid,\n invalidText,\n labelText,\n name,\n readonly,\n title,\n value,\n warn,\n warnText,\n defaultChecked,\n _handleChange: handleChange,\n _handleClick: handleClick,\n } = this;\n\n const showWarning = !readonly && !invalid && warn;\n const showHelper = !invalid && !warn;\n\n const helper = helperText\n ? html` <div class=\"${prefix}--form__helper-text\">${helperText}</div>`\n : null;\n\n const labelClasses = classMap({\n [`${prefix}--checkbox-label`]: true,\n });\n const labelTextClasses = classMap({\n [`${prefix}--checkbox-label-text`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n return html`\n <input\n id=\"${ifDefined(id)}\"\n type=\"checkbox\"\n part=\"input\"\n class=\"${`${prefix}--checkbox`}\"\n aria-readonly=\"${String(Boolean(readonly))}\"\n .checked=\"${checked}\"\n ?data-invalid=\"${invalid}\"\n ?disabled=\"${disabled}\"\n ?defaultChecked=\"${defaultChecked}\"\n .indeterminate=\"${indeterminate}\"\n name=\"${ifDefined(name)}\"\n value=\"${ifDefined(value)}\"\n @change=\"${handleChange}\"\n @click=\"${handleClick}\" />\n <label\n for=\"${ifDefined(id)}\"\n part=\"label\"\n class=\"${labelClasses}\"\n title=\"${ifDefined(title)}\">\n <span class=\"${labelTextClasses}\"\n >${labelText ? labelText : html`<slot></slot>`}</span\n >\n </label>\n <slot name=\"ai-label\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <slot name=\"decorator\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <slot name=\"slug\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <div class=\"${prefix}--checkbox__validation-msg\">\n ${!readonly && invalid\n ? html`\n ${iconLoader(WarningFilled16, {\n class: `${prefix}--checkbox__invalid-icon`,\n })}\n <div class=\"${prefix}--form-requirement\">${invalidText}</div>\n `\n : null}\n ${showWarning\n ? html`\n ${iconLoader(WarningAltFilled16, {\n class: `${prefix}--checkbox__invalid-icon ${prefix}--checkbox__invalid-icon--warning`,\n })}\n <div class=\"${prefix}--form-requirement\">${warnText}</div>\n `\n : null}\n </div>\n ${showHelper ? helper : null}\n `;\n }\n\n /**\n * The name of the custom event fired after this changebox changes its checked state.\n */\n static get eventChange() {\n return `${prefix}-checkbox-changed`;\n }\n\n /**\n * A selector that will return the slug item.\n *\n * Remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * A selector that will return the ai-label item.\n */\n static get aiLabelItem() {\n return `${prefix}-ai-label`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSCheckbox;\n"],"names":["customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checkbox.js","sources":["../../../src/components/checkbox/checkbox.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 { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport FocusMixin from '../../globals/mixins/focus';\nimport FormMixin from '../../globals/mixins/form';\nimport styles from './checkbox.scss?lit';\nimport WarningFilled16 from '@carbon/icons/es/warning--filled/16.js';\nimport WarningAltFilled16 from '@carbon/icons/es/warning--alt--filled/16.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n\n/**\n * Check box.\n *\n * @element cds-custom-checkbox\n * @fires cds-custom-checkbox-changed - The custom event fired after this changebox changes its checked state.\n * @csspart input The checkbox.\n * @csspart label The label.\n */\n@customElement(`${prefix}-checkbox`)\nclass CDSCheckbox extends FocusMixin(FormMixin(LitElement)) {\n @query('input')\n protected _checkboxNode!: HTMLInputElement;\n\n /**\n * Handles `click` event on the `<input>` in the shadow DOM.\n */\n protected _handleChange() {\n const { checked, indeterminate } = this._checkboxNode;\n this.checked = checked;\n this.indeterminate = indeterminate;\n const { eventChange } = this.constructor as typeof CDSCheckbox;\n this.dispatchEvent(\n new CustomEvent(eventChange, {\n bubbles: true,\n composed: true,\n detail: {\n checked,\n indeterminate,\n },\n })\n );\n }\n\n /**\n * Prevent checkbox state from updating when readonly\n */\n private _handleClick(event: MouseEvent) {\n if (this.readonly) {\n event.preventDefault();\n }\n }\n\n _handleFormdata(event: FormDataEvent) {\n const { formData } = event;\n const { checked, disabled, name, value = 'on' } = this;\n if (!disabled && checked) {\n formData.append(name, value);\n }\n }\n\n /**\n * Specify whether the underlying input should be checked\n */\n @property({ type: Boolean, reflect: true, attribute: 'checked' })\n checked = false;\n\n /**\n * Specify if checkbox is being used in a data table\n */\n @property({ type: Boolean, reflect: true, attribute: 'data-table' })\n dataTable = false;\n\n /**\n * Specify whether the Checkbox should be disabled\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Provide text for the form group for additional help\n */\n @property({ type: String, reflect: true, attribute: 'helper-text' })\n helperText;\n\n /**\n * Specify whether the checkbox should be present in the DOM,\n * but invisible and uninteractable. Used for data-table purposes.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-checkbox' })\n hideCheckbox = false;\n\n /**\n * Specify whether the label should be hidden, or not\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-label' })\n hideLabel = false;\n\n /**\n * Specify a custom id for the checkbox\n */\n @property({ reflect: true })\n id = 'checkbox';\n\n /**\n * Specify whether the Checkbox is in an indeterminate state\n */\n @property({ type: Boolean, reflect: true })\n indeterminate = false;\n\n /**\n * Provide a label to provide a description of the Checkbox input that you are\n * exposing to the user\n */\n @property({ attribute: 'label-text' })\n labelText = '';\n\n /**\n * The form name.\n */\n @property()\n name!: string;\n\n /**\n * Specify whether the Checkbox is read-only\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * Specify whether the Checkbox is currently invalid\n */\n @property({ type: Boolean })\n invalid = false;\n\n /**\n * Provide the text that is displayed when the Checkbox is in an invalid state\n */\n @property({ type: String, attribute: 'invalid-text' })\n invalidText;\n\n /**\n * Specify a title for the node for the Checkbox\n */\n @property({ attribute: 'title' })\n title = '';\n\n /**\n * The value.\n */\n @property()\n value!: string;\n\n /**\n * Specify whether the Checkbox is in a warn state\n */\n @property({ type: Boolean })\n warn = false;\n\n /**\n * Provide the text that is displayed when the Checkbox is in a warn state\n */\n @property({ type: String, attribute: 'warn-text' })\n warnText = false;\n\n /**\n * Specify whether the underlying input should be checked by default\n */\n @property({ type: Boolean, attribute: 'default-checked' })\n defaultChecked;\n\n /**\n * Handles `slotchange` event.\n */\n protected _handleSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .filter((elem) =>\n (elem as HTMLElement).matches !== undefined\n ? (elem as HTMLElement).matches(\n (this.constructor as typeof CDSCheckbox).aiLabelItem\n ) ||\n // remove slug reference in v12\n (elem as HTMLElement).matches(\n (this.constructor as typeof CDSCheckbox).slugItem\n )\n : false\n );\n\n this._hasAILabel = Boolean(hasContent);\n const type = (hasContent[0] as HTMLElement).getAttribute('kind');\n (hasContent[0] as HTMLElement).setAttribute(\n 'size',\n type === 'inline' ? 'md' : 'mini'\n );\n this.requestUpdate();\n }\n\n /**\n * `true` if there is an AI Label.\n */\n protected _hasAILabel = false;\n\n updated() {\n const { _hasAILabel: hasAILabel } = this;\n if (hasAILabel) {\n this.setAttribute('ai-label', '');\n } else {\n this.removeAttribute('ai-label');\n }\n }\n connectedCallback() {\n super.connectedCallback();\n if (this.defaultChecked) {\n this.checked = this.defaultChecked;\n }\n }\n\n render() {\n const {\n checked,\n disabled,\n helperText,\n hideLabel,\n id,\n indeterminate,\n invalid,\n invalidText,\n labelText,\n name,\n readonly,\n title,\n value,\n warn,\n warnText,\n defaultChecked,\n _handleChange: handleChange,\n _handleClick: handleClick,\n } = this;\n\n const showWarning = !readonly && !invalid && warn;\n const showHelper = !invalid && !warn;\n\n const helper = helperText\n ? html` <div class=\"${prefix}--form__helper-text\">${helperText}</div>`\n : null;\n\n const labelClasses = classMap({\n [`${prefix}--checkbox-label`]: true,\n });\n const labelTextClasses = classMap({\n [`${prefix}--checkbox-label-text`]: true,\n [`${prefix}--visually-hidden`]: hideLabel,\n });\n return html`\n <input\n id=\"${ifDefined(id)}\"\n type=\"checkbox\"\n part=\"input\"\n class=\"${`${prefix}--checkbox`}\"\n aria-readonly=\"${String(Boolean(readonly))}\"\n .checked=\"${checked}\"\n ?data-invalid=\"${invalid}\"\n ?disabled=\"${disabled}\"\n ?defaultChecked=\"${defaultChecked}\"\n .indeterminate=\"${indeterminate}\"\n name=\"${ifDefined(name)}\"\n value=\"${ifDefined(value)}\"\n @change=\"${handleChange}\"\n @click=\"${handleClick}\" />\n <label\n for=\"${ifDefined(id)}\"\n part=\"label\"\n class=\"${labelClasses}\"\n title=\"${ifDefined(title)}\">\n <span class=\"${labelTextClasses}\"\n >${labelText ? labelText : html`<slot></slot>`}</span\n >\n </label>\n <slot name=\"ai-label\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <slot name=\"decorator\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <slot name=\"slug\" @slotchange=\"${this._handleSlotChange}\"></slot>\n <div class=\"${prefix}--checkbox__validation-msg\">\n ${!readonly && invalid\n ? html`\n ${iconLoader(WarningFilled16, {\n class: `${prefix}--checkbox__invalid-icon`,\n })}\n <div class=\"${prefix}--form-requirement\">${invalidText}</div>\n `\n : null}\n ${showWarning\n ? html`\n ${iconLoader(WarningAltFilled16, {\n class: `${prefix}--checkbox__invalid-icon ${prefix}--checkbox__invalid-icon--warning`,\n })}\n <div class=\"${prefix}--form-requirement\">${warnText}</div>\n `\n : null}\n </div>\n ${showHelper ? helper : null}\n `;\n }\n\n /**\n * The name of the custom event fired after this changebox changes its checked state.\n */\n static get eventChange() {\n return `${prefix}-checkbox-changed`;\n }\n\n /**\n * A selector that will return the slug item.\n *\n * Remove in v12\n */\n static get slugItem() {\n return `${prefix}-slug`;\n }\n\n /**\n * A selector that will return the ai-label item.\n */\n static get aiLabelItem() {\n return `${prefix}-ai-label`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSCheckbox;\n"],"names":["customElement"],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ declare const CDSCodeSnippet_base: {
|
|
|
10
10
|
accessKey: string;
|
|
11
11
|
readonly accessKeyLabel: string;
|
|
12
12
|
autocapitalize: string;
|
|
13
|
+
autocorrect: boolean;
|
|
13
14
|
dir: string;
|
|
14
15
|
draggable: boolean;
|
|
15
16
|
hidden: boolean;
|
|
@@ -31,13 +32,14 @@ declare const CDSCodeSnippet_base: {
|
|
|
31
32
|
click(): void;
|
|
32
33
|
hidePopover(): void;
|
|
33
34
|
showPopover(): void;
|
|
34
|
-
togglePopover(
|
|
35
|
+
togglePopover(options?: boolean): boolean;
|
|
35
36
|
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
36
37
|
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
37
38
|
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
38
39
|
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
39
40
|
readonly attributes: NamedNodeMap;
|
|
40
|
-
|
|
41
|
+
get classList(): DOMTokenList;
|
|
42
|
+
set classList(value: string);
|
|
41
43
|
className: string;
|
|
42
44
|
readonly clientHeight: number;
|
|
43
45
|
readonly clientLeft: number;
|
|
@@ -52,7 +54,8 @@ declare const CDSCodeSnippet_base: {
|
|
|
52
54
|
onfullscreenerror: ((this: Element, ev: Event) => any) | null;
|
|
53
55
|
outerHTML: string;
|
|
54
56
|
readonly ownerDocument: Document;
|
|
55
|
-
|
|
57
|
+
get part(): DOMTokenList;
|
|
58
|
+
set part(value: string);
|
|
56
59
|
readonly prefix: string | null;
|
|
57
60
|
readonly scrollHeight: number;
|
|
58
61
|
scrollLeft: number;
|
|
@@ -115,6 +118,8 @@ declare const CDSCodeSnippet_base: {
|
|
|
115
118
|
setPointerCapture(pointerId: number): void;
|
|
116
119
|
toggleAttribute(qualifiedName: string, force?: boolean): boolean;
|
|
117
120
|
webkitMatchesSelector(selectors: string): boolean;
|
|
121
|
+
get textContent(): string;
|
|
122
|
+
set textContent(value: string | null);
|
|
118
123
|
readonly baseURI: string;
|
|
119
124
|
readonly childNodes: NodeListOf<ChildNode>;
|
|
120
125
|
readonly firstChild: ChildNode | null;
|
|
@@ -127,9 +132,8 @@ declare const CDSCodeSnippet_base: {
|
|
|
127
132
|
readonly parentElement: HTMLElement | null;
|
|
128
133
|
readonly parentNode: ParentNode | null;
|
|
129
134
|
readonly previousSibling: ChildNode | null;
|
|
130
|
-
textContent: string | null;
|
|
131
135
|
appendChild<T extends Node>(node: T): T;
|
|
132
|
-
cloneNode(
|
|
136
|
+
cloneNode(subtree?: boolean): Node;
|
|
133
137
|
compareDocumentPosition(other: Node): number;
|
|
134
138
|
contains(other: Node | null): boolean;
|
|
135
139
|
getRootNode(options?: GetRootNodeOptions): Node;
|
|
@@ -162,6 +166,7 @@ declare const CDSCodeSnippet_base: {
|
|
|
162
166
|
readonly DOCUMENT_POSITION_CONTAINED_BY: 16;
|
|
163
167
|
readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32;
|
|
164
168
|
dispatchEvent(event: Event): boolean;
|
|
169
|
+
ariaActiveDescendantElement: Element | null;
|
|
165
170
|
ariaAtomic: string | null;
|
|
166
171
|
ariaAutoComplete: string | null;
|
|
167
172
|
ariaBrailleLabel: string | null;
|
|
@@ -172,25 +177,33 @@ declare const CDSCodeSnippet_base: {
|
|
|
172
177
|
ariaColIndex: string | null;
|
|
173
178
|
ariaColIndexText: string | null;
|
|
174
179
|
ariaColSpan: string | null;
|
|
180
|
+
ariaControlsElements: ReadonlyArray<Element> | null;
|
|
175
181
|
ariaCurrent: string | null;
|
|
182
|
+
ariaDescribedByElements: ReadonlyArray<Element> | null;
|
|
176
183
|
ariaDescription: string | null;
|
|
184
|
+
ariaDetailsElements: ReadonlyArray<Element> | null;
|
|
177
185
|
ariaDisabled: string | null;
|
|
186
|
+
ariaErrorMessageElements: ReadonlyArray<Element> | null;
|
|
178
187
|
ariaExpanded: string | null;
|
|
188
|
+
ariaFlowToElements: ReadonlyArray<Element> | null;
|
|
179
189
|
ariaHasPopup: string | null;
|
|
180
190
|
ariaHidden: string | null;
|
|
181
191
|
ariaInvalid: string | null;
|
|
182
192
|
ariaKeyShortcuts: string | null;
|
|
183
193
|
ariaLabel: string | null;
|
|
194
|
+
ariaLabelledByElements: ReadonlyArray<Element> | null;
|
|
184
195
|
ariaLevel: string | null;
|
|
185
196
|
ariaLive: string | null;
|
|
186
197
|
ariaModal: string | null;
|
|
187
198
|
ariaMultiLine: string | null;
|
|
188
199
|
ariaMultiSelectable: string | null;
|
|
189
200
|
ariaOrientation: string | null;
|
|
201
|
+
ariaOwnsElements: ReadonlyArray<Element> | null;
|
|
190
202
|
ariaPlaceholder: string | null;
|
|
191
203
|
ariaPosInSet: string | null;
|
|
192
204
|
ariaPressed: string | null;
|
|
193
205
|
ariaReadOnly: string | null;
|
|
206
|
+
ariaRelevant: string | null;
|
|
194
207
|
ariaRequired: string | null;
|
|
195
208
|
ariaRoleDescription: string | null;
|
|
196
209
|
ariaRowCount: string | null;
|
|
@@ -232,7 +245,8 @@ declare const CDSCodeSnippet_base: {
|
|
|
232
245
|
replaceChildren(...nodes: (Node | string)[]): void;
|
|
233
246
|
readonly assignedSlot: HTMLSlotElement | null;
|
|
234
247
|
readonly attributeStyleMap: StylePropertyMap;
|
|
235
|
-
|
|
248
|
+
get style(): CSSStyleDeclaration;
|
|
249
|
+
set style(cssText: string);
|
|
236
250
|
contentEditable: string;
|
|
237
251
|
enterKeyHint: string;
|
|
238
252
|
inputMode: string;
|
|
@@ -242,18 +256,19 @@ declare const CDSCodeSnippet_base: {
|
|
|
242
256
|
onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
|
|
243
257
|
onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
|
|
244
258
|
onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null;
|
|
245
|
-
onauxclick: ((this: GlobalEventHandlers, ev:
|
|
259
|
+
onauxclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
|
|
246
260
|
onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null;
|
|
247
|
-
|
|
261
|
+
onbeforematch: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
262
|
+
onbeforetoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;
|
|
248
263
|
onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null;
|
|
249
264
|
oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
250
265
|
oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
251
266
|
oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
252
267
|
onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
253
|
-
onclick: ((this: GlobalEventHandlers, ev:
|
|
268
|
+
onclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
|
|
254
269
|
onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
255
270
|
oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
256
|
-
oncontextmenu: ((this: GlobalEventHandlers, ev:
|
|
271
|
+
oncontextmenu: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
|
|
257
272
|
oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
258
273
|
oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null;
|
|
259
274
|
oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
@@ -301,6 +316,7 @@ declare const CDSCodeSnippet_base: {
|
|
|
301
316
|
onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
|
|
302
317
|
onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
|
|
303
318
|
onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
|
|
319
|
+
onpointerrawupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
304
320
|
onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null;
|
|
305
321
|
onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null;
|
|
306
322
|
onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
@@ -319,7 +335,7 @@ declare const CDSCodeSnippet_base: {
|
|
|
319
335
|
onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null;
|
|
320
336
|
onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
321
337
|
ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null;
|
|
322
|
-
ontoggle: ((this: GlobalEventHandlers, ev:
|
|
338
|
+
ontoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null;
|
|
323
339
|
ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
|
|
324
340
|
ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
|
|
325
341
|
ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined;
|
|
@@ -454,6 +470,8 @@ declare class CDSCodeSnippet extends CDSCodeSnippet_base {
|
|
|
454
470
|
render(): import("lit-html").TemplateResult<1>;
|
|
455
471
|
static shadowRootOptions: {
|
|
456
472
|
delegatesFocus: boolean;
|
|
473
|
+
clonable?: boolean;
|
|
474
|
+
customElementRegistry?: CustomElementRegistry;
|
|
457
475
|
mode: ShadowRootMode;
|
|
458
476
|
serializable?: boolean;
|
|
459
477
|
slotAssignment?: SlotAssignmentMode;
|
|
@@ -259,20 +259,21 @@ let CDSCodeSnippet = class CDSCodeSnippet extends FocusMixin(LitElement) {
|
|
|
259
259
|
render() {
|
|
260
260
|
const { disabled, feedback, feedbackTimeout, hideCopyButton, maxExpandedNumberOfRows, minExpandedNumberOfRows, maxCollapsedNumberOfRows, minCollapsedNumberOfRows, type, wrapText, tooltipContent, showMoreText, showLessText, _expandedCode: expandedCode, _handleCopyClick: handleCopyClick, _handleScroll: handleScroll, _hasRightOverflow: hasRightOverflow, _hasLeftOverflow: hasLeftOverflow, _rowHeightInPixels: rowHeightInPixels, _shouldShowMoreLessBtn: shouldShowMoreLessBtn, } = this;
|
|
261
261
|
let classes = `${prefix}--snippet`;
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
type !== 'inline' && disabled
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
262
|
+
if (type) {
|
|
263
|
+
classes += ` ${prefix}--snippet--${type}`;
|
|
264
|
+
}
|
|
265
|
+
if (type !== 'inline' && disabled) {
|
|
266
|
+
classes += ` ${prefix}--snippet--disabled`;
|
|
267
|
+
}
|
|
268
|
+
if (hideCopyButton) {
|
|
269
|
+
classes += ` ${prefix}--snippet--no-copy`;
|
|
270
|
+
}
|
|
271
|
+
if (wrapText) {
|
|
272
|
+
classes += ` ${prefix}--snippet--wraptext`;
|
|
273
|
+
}
|
|
274
|
+
if (type == 'multi' && hasRightOverflow) {
|
|
275
|
+
classes += ` ${prefix}--snippet--has-right-overflow`;
|
|
276
|
+
}
|
|
276
277
|
const expandButtonClass = `${prefix}--snippet-btn--expand`;
|
|
277
278
|
const disabledCopyButtonClasses = disabled
|
|
278
279
|
? `${prefix}--snippet--disabled`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-snippet.js","sources":["../../../src/components/code-snippet/code-snippet.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2025\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/** eslint-disable @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452 */\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport ChevronDown16 from '@carbon/icons/es/chevron--down/16.js';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { CODE_SNIPPET_COLOR_SCHEME, CODE_SNIPPET_TYPE } from './defs';\nimport styles from './code-snippet.scss?lit';\nimport Handle from '../../globals/internal/handle';\nimport '../copy-button/index';\nimport '../copy/copy';\nimport '../button/button';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n\nexport { CODE_SNIPPET_COLOR_SCHEME, CODE_SNIPPET_TYPE };\n\n/**\n * Observes resize of the given element with the given resize observer.\n *\n * @param observer The resize observer.\n * @param elem The element to observe the resize.\n */\nconst observeResize = (observer: ResizeObserver, elem: Element) => {\n if (!elem) {\n return null;\n }\n observer.observe(elem);\n return {\n release() {\n observer.unobserve(elem);\n return null;\n },\n } as Handle;\n};\n\n/**\n * Basic code snippet.\n *\n * @element cds-custom-code-snippet\n */\n@customElement(`${prefix}-code-snippet`)\nclass CDSCodeSnippet extends FocusMixin(LitElement) {\n /**\n * `true` to expand multi-line variant of code snippet.\n */\n private _expandedCode = false;\n\n /**\n * The handle for observing resize of the parent element of this element.\n */\n private _hObserveResize: Handle | null = null;\n\n /**\n * Row height in pixels\n */\n private _rowHeightInPixels = 16;\n\n /**\n * `true` if code-snippet has right overflow\n */\n private _hasRightOverflow = true;\n\n /**\n * `true` if code-snippet has left overflow\n */\n private _hasLeftOverflow = false;\n\n /**\n * `true` if show more or show less btn is visible\n */\n private _shouldShowMoreLessBtn = false;\n\n /**\n * Handles `click` event on the copy button.\n */\n private _handleCopyClick() {\n const { ownerDocument: doc } = this;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const selection = doc!.defaultView!.getSelection();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.removeAllRanges();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const code = doc!.createElement('code');\n code.className = `${prefix}--visually-hidden`;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const pre = doc!.createElement('pre');\n const text = Array.from(this.childNodes).filter(\n (node) => node.nodeType === Node.TEXT_NODE\n );\n pre.textContent = this.copyText || text[0].textContent;\n code.appendChild(pre);\n // Using `<code>` in shadow DOM seems to lose the LFs in some browsers\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.body.appendChild(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const range = doc!.createRange();\n range.selectNodeContents(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.addRange(range);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.execCommand('copy');\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.body.removeChild(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.removeAllRanges();\n }\n\n private _getCodeRefDimensions(ref) {\n const {\n clientWidth: codeClientWidth,\n scrollLeft: codeScrollLeft,\n scrollWidth: codeScrollWidth,\n } = ref;\n\n return {\n horizontalOverflow: codeScrollWidth > codeClientWidth,\n codeClientWidth,\n codeScrollWidth,\n codeScrollLeft,\n };\n }\n /**\n * Handles `scroll` event.\n */\n private _handleScroll() {\n if (this) {\n const codeContainerRef = this?.shadowRoot?.querySelector(\n `.${prefix}--snippet-container`\n );\n const codeContentRef = codeContainerRef?.querySelector('pre');\n if (\n this.type === CODE_SNIPPET_TYPE.INLINE ||\n (this.type === CODE_SNIPPET_TYPE.SINGLE && !codeContainerRef) ||\n (this.type === CODE_SNIPPET_TYPE.MULTI && !codeContentRef)\n ) {\n return;\n }\n\n const {\n horizontalOverflow,\n codeClientWidth,\n codeScrollWidth,\n codeScrollLeft,\n } =\n this.type === CODE_SNIPPET_TYPE.SINGLE\n ? this._getCodeRefDimensions(codeContainerRef)\n : this._getCodeRefDimensions(codeContentRef);\n\n this._hasLeftOverflow = horizontalOverflow && !!codeScrollLeft;\n this._hasRightOverflow =\n horizontalOverflow &&\n codeScrollLeft + codeClientWidth !== codeScrollWidth;\n this.requestUpdate();\n }\n }\n\n /**\n * Handles `click` event on the show more or show less button.\n */\n private _handleClickExpanded() {\n this._expandedCode = !this._expandedCode;\n this.requestUpdate();\n }\n\n /**\n * The `ResizeObserver` instance for observing element resizes for re-positioning floating menu position.\n */\n // TODO: Wait for `.d.ts` update to support `ResizeObserver`\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _resizeObserver = new ResizeObserver(() => {\n const codeContainerRef = this.shadowRoot?.querySelector(\n `.${prefix}--snippet-container`\n );\n const codeContentRef = codeContainerRef?.querySelector('code'); // PRE?\n const {\n type,\n maxCollapsedNumberOfRows,\n maxExpandedNumberOfRows,\n minExpandedNumberOfRows,\n _rowHeightInPixels: rowHeightInPixels,\n _handleScroll: handleScroll,\n } = this;\n if (codeContentRef && type === CODE_SNIPPET_TYPE.MULTI) {\n const { height } = codeContentRef.getBoundingClientRect();\n if (\n maxCollapsedNumberOfRows > 0 &&\n (maxExpandedNumberOfRows <= 0 ||\n maxExpandedNumberOfRows > maxCollapsedNumberOfRows) &&\n height > maxCollapsedNumberOfRows * rowHeightInPixels\n ) {\n this._shouldShowMoreLessBtn = true;\n } else {\n this._shouldShowMoreLessBtn = false;\n }\n if (\n this._expandedCode &&\n minExpandedNumberOfRows > 0 &&\n height <= minExpandedNumberOfRows * rowHeightInPixels\n ) {\n this._expandedCode = false;\n }\n }\n if (\n (codeContentRef && type === CODE_SNIPPET_TYPE.MULTI) ||\n (codeContainerRef && type === CODE_SNIPPET_TYPE.SINGLE)\n ) {\n handleScroll();\n }\n this.requestUpdate();\n });\n\n /**\n * Optional text to copy. If not specified, the `children` node's `innerText`\n * will be used as the copy value.\n */\n @property({ attribute: 'copy-text' })\n copyText = '';\n\n /**\n * `true` if the button should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Specify the string displayed when the snippet is copied\n */\n @property()\n feedback = 'Copied!';\n\n /**\n * Specify the time it takes for the feedback message to timeout\n */\n @property({ type: Number, attribute: 'feedback-timeout' })\n feedbackTimeout = 2000;\n\n /**\n * Specify whether or not a copy button should be used/rendered.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-copy-button' })\n hideCopyButton = false;\n\n /**\n * Specify the maximum number of rows to be shown when in collapsed view\n */\n @property()\n maxCollapsedNumberOfRows = 15;\n\n /**\n * Specify the maximum number of rows to be shown when in expanded view\n */\n @property()\n maxExpandedNumberOfRows = 0;\n\n /**\n * Specify the minimum number of rows to be shown when in collapsed view\n */\n @property()\n minCollapsedNumberOfRows = 3;\n\n /**\n * Specify the minimum number of rows to be shown when in expanded view\n */\n @property()\n minExpandedNumberOfRows = 16;\n\n /**\n * Specify a string that is displayed when the Code Snippet has been\n * interacted with to show less lines\n */\n @property({ attribute: 'show-less-text' })\n showLessText = 'Show less';\n\n /**\n * Specify a string that is displayed when the Code Snippet text is more\n * than 15 lines\n */\n @property({ attribute: 'show-more-text' })\n showMoreText = 'Show more';\n\n /**\n * Tooltip content for the copy button.\n */\n @property({ attribute: 'tooltip-content' })\n tooltipContent = 'Copy to clipboard';\n\n /**\n * `true` if the button should be disabled.\n */\n @property({ type: Boolean, reflect: true, attribute: 'wrap-text' })\n wrapText = false;\n\n /**\n * The type of code snippet.\n */\n @property({ reflect: true })\n type = CODE_SNIPPET_TYPE.SINGLE;\n\n connectedCallback() {\n super.connectedCallback();\n if (this._hObserveResize) {\n this._hObserveResize = this._hObserveResize.release();\n }\n this._hObserveResize = observeResize(this._resizeObserver, this);\n }\n\n disconnectedCallback() {\n if (this._hObserveResize) {\n this._hObserveResize = this._hObserveResize.release();\n }\n }\n\n updated() {\n if (this._expandedCode) {\n this.setAttribute('expanded-code', '');\n } else {\n this.removeAttribute('expanded-code');\n }\n }\n\n render() {\n const {\n disabled,\n feedback,\n feedbackTimeout,\n hideCopyButton,\n maxExpandedNumberOfRows,\n minExpandedNumberOfRows,\n maxCollapsedNumberOfRows,\n minCollapsedNumberOfRows,\n type,\n wrapText,\n tooltipContent,\n showMoreText,\n showLessText,\n _expandedCode: expandedCode,\n _handleCopyClick: handleCopyClick,\n _handleScroll: handleScroll,\n _hasRightOverflow: hasRightOverflow,\n _hasLeftOverflow: hasLeftOverflow,\n _rowHeightInPixels: rowHeightInPixels,\n _shouldShowMoreLessBtn: shouldShowMoreLessBtn,\n } = this;\n\n let classes = `${prefix}--snippet`;\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n type ? (classes += ` ${prefix}--snippet--${type}`) : '';\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n type !== 'inline' && disabled\n ? (classes += ` ${prefix}--snippet--disabled`)\n : '';\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n hideCopyButton ? (classes += ` ${prefix}--snippet--no-copy`) : '';\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n wrapText ? (classes += ` ${prefix}--snippet--wraptext`) : '';\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n type == 'multi' && hasRightOverflow\n ? (classes += ` ${prefix}--snippet--has-right-overflow`)\n : '';\n\n const expandButtonClass = `${prefix}--snippet-btn--expand`;\n\n const disabledCopyButtonClasses = disabled\n ? `${prefix}--snippet--disabled`\n : '';\n\n const expandCodeBtnText = expandedCode ? showLessText : showMoreText;\n\n if (type === CODE_SNIPPET_TYPE.INLINE) {\n // Ensures no extra whitespace text node\n // prettier-ignore\n return html`\n <cds-custom-copy ?disabled=${disabled} button-class-name=\"${classes}\" @click=\"${handleCopyClick}\">\n <code slot=\"icon\"><slot></slot></code>\n <span slot=\"tooltip-content\">${tooltipContent}</span>\n </cds-custom-copy>\n `;\n }\n\n const styles = {};\n if (type === 'multi') {\n if (expandedCode) {\n if (maxExpandedNumberOfRows > 0) {\n styles['max-height'] =\n maxExpandedNumberOfRows * rowHeightInPixels + 'px';\n }\n if (minExpandedNumberOfRows > 0) {\n styles['min-height'] =\n minExpandedNumberOfRows * rowHeightInPixels + 'px';\n }\n } else {\n if (maxCollapsedNumberOfRows > 0) {\n styles['max-height'] =\n maxCollapsedNumberOfRows * rowHeightInPixels + 'px';\n }\n if (minCollapsedNumberOfRows > 0) {\n styles['min-height'] =\n minCollapsedNumberOfRows * rowHeightInPixels + 'px';\n }\n }\n }\n\n return html`\n <div\n role=\"${type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI\n ? 'textbox'\n : null}\"\n tabindex=\"${(type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI) &&\n !disabled\n ? 0\n : null}\"\n class=\"${prefix}--snippet-container\"\n aria-label=\"${'code-snippet'}\"\n aria-readonly=\"${type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI\n ? true\n : null}\"\n aria-multiline=\"${type === CODE_SNIPPET_TYPE.MULTI ? true : null}\"\n @scroll=\"${(type === CODE_SNIPPET_TYPE.SINGLE && handleScroll) || null}\"\n style=${styleMap(styles)}>\n <pre\n @scroll=\"${(type === CODE_SNIPPET_TYPE.MULTI && handleScroll) ||\n null}\"><code><slot></slot></code></pre>\n </div>\n\n ${hasLeftOverflow\n ? html`\n <div class=\"${prefix}--snippet__overflow-indicator--left\"></div>\n `\n : ``}\n ${hasRightOverflow && type !== CODE_SNIPPET_TYPE.MULTI\n ? html`\n <div class=\"${prefix}--snippet__overflow-indicator--right\"></div>\n `\n : ``}\n ${hideCopyButton\n ? ``\n : html`\n <cds-custom-copy-button\n ?disabled=${disabled}\n button-class-name=${disabledCopyButtonClasses}\n feedback=${feedback}\n feedback-timeout=${feedbackTimeout}\n @click=\"${handleCopyClick}\">\n ${tooltipContent}\n </cds-custom-copy-button>\n `}\n ${shouldShowMoreLessBtn\n ? html`\n <cds-custom-button\n kind=\"ghost\"\n size=\"sm\"\n button-class-name=${expandButtonClass}\n ?disabled=${disabled}\n @click=${() => this._handleClickExpanded()}>\n <span class=\"${prefix}--snippet-btn--text\">\n ${expandCodeBtnText}\n </span>\n ${iconLoader(ChevronDown16, {\n class: `${prefix}--icon-chevron--down ${prefix}--snippet__icon`,\n role: 'img',\n slot: 'icon',\n })}\n </cds-custom-button>\n `\n : ``}\n `;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSCodeSnippet;\n"],"names":["customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"code-snippet.js","sources":["../../../src/components/code-snippet/code-snippet.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/** eslint-disable @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452 */\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { prefix } from '../../globals/settings';\nimport ChevronDown16 from '@carbon/icons/es/chevron--down/16.js';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { CODE_SNIPPET_COLOR_SCHEME, CODE_SNIPPET_TYPE } from './defs';\nimport styles from './code-snippet.scss?lit';\nimport Handle from '../../globals/internal/handle';\nimport '../copy-button/index';\nimport '../copy/copy';\nimport '../button/button';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n\nexport { CODE_SNIPPET_COLOR_SCHEME, CODE_SNIPPET_TYPE };\n\n/**\n * Observes resize of the given element with the given resize observer.\n *\n * @param observer The resize observer.\n * @param elem The element to observe the resize.\n */\nconst observeResize = (observer: ResizeObserver, elem: Element) => {\n if (!elem) {\n return null;\n }\n observer.observe(elem);\n return {\n release() {\n observer.unobserve(elem);\n return null;\n },\n } as Handle;\n};\n\n/**\n * Basic code snippet.\n *\n * @element cds-custom-code-snippet\n */\n@customElement(`${prefix}-code-snippet`)\nclass CDSCodeSnippet extends FocusMixin(LitElement) {\n /**\n * `true` to expand multi-line variant of code snippet.\n */\n private _expandedCode = false;\n\n /**\n * The handle for observing resize of the parent element of this element.\n */\n private _hObserveResize: Handle | null = null;\n\n /**\n * Row height in pixels\n */\n private _rowHeightInPixels = 16;\n\n /**\n * `true` if code-snippet has right overflow\n */\n private _hasRightOverflow = true;\n\n /**\n * `true` if code-snippet has left overflow\n */\n private _hasLeftOverflow = false;\n\n /**\n * `true` if show more or show less btn is visible\n */\n private _shouldShowMoreLessBtn = false;\n\n /**\n * Handles `click` event on the copy button.\n */\n private _handleCopyClick() {\n const { ownerDocument: doc } = this;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const selection = doc!.defaultView!.getSelection();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.removeAllRanges();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const code = doc!.createElement('code');\n code.className = `${prefix}--visually-hidden`;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const pre = doc!.createElement('pre');\n const text = Array.from(this.childNodes).filter(\n (node) => node.nodeType === Node.TEXT_NODE\n );\n pre.textContent = this.copyText || text[0].textContent;\n code.appendChild(pre);\n // Using `<code>` in shadow DOM seems to lose the LFs in some browsers\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.body.appendChild(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n const range = doc!.createRange();\n range.selectNodeContents(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.addRange(range);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.execCommand('copy');\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n doc!.body.removeChild(code);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- https://github.com/carbon-design-system/carbon/issues/20452\n selection!.removeAllRanges();\n }\n\n private _getCodeRefDimensions(ref) {\n const {\n clientWidth: codeClientWidth,\n scrollLeft: codeScrollLeft,\n scrollWidth: codeScrollWidth,\n } = ref;\n\n return {\n horizontalOverflow: codeScrollWidth > codeClientWidth,\n codeClientWidth,\n codeScrollWidth,\n codeScrollLeft,\n };\n }\n /**\n * Handles `scroll` event.\n */\n private _handleScroll() {\n if (this) {\n const codeContainerRef = this?.shadowRoot?.querySelector(\n `.${prefix}--snippet-container`\n );\n const codeContentRef = codeContainerRef?.querySelector('pre');\n if (\n this.type === CODE_SNIPPET_TYPE.INLINE ||\n (this.type === CODE_SNIPPET_TYPE.SINGLE && !codeContainerRef) ||\n (this.type === CODE_SNIPPET_TYPE.MULTI && !codeContentRef)\n ) {\n return;\n }\n\n const {\n horizontalOverflow,\n codeClientWidth,\n codeScrollWidth,\n codeScrollLeft,\n } =\n this.type === CODE_SNIPPET_TYPE.SINGLE\n ? this._getCodeRefDimensions(codeContainerRef)\n : this._getCodeRefDimensions(codeContentRef);\n\n this._hasLeftOverflow = horizontalOverflow && !!codeScrollLeft;\n this._hasRightOverflow =\n horizontalOverflow &&\n codeScrollLeft + codeClientWidth !== codeScrollWidth;\n this.requestUpdate();\n }\n }\n\n /**\n * Handles `click` event on the show more or show less button.\n */\n private _handleClickExpanded() {\n this._expandedCode = !this._expandedCode;\n this.requestUpdate();\n }\n\n /**\n * The `ResizeObserver` instance for observing element resizes for re-positioning floating menu position.\n */\n // TODO: Wait for `.d.ts` update to support `ResizeObserver`\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment -- https://github.com/carbon-design-system/carbon/issues/20452\n // @ts-ignore\n private _resizeObserver = new ResizeObserver(() => {\n const codeContainerRef = this.shadowRoot?.querySelector(\n `.${prefix}--snippet-container`\n );\n const codeContentRef = codeContainerRef?.querySelector('code'); // PRE?\n const {\n type,\n maxCollapsedNumberOfRows,\n maxExpandedNumberOfRows,\n minExpandedNumberOfRows,\n _rowHeightInPixels: rowHeightInPixels,\n _handleScroll: handleScroll,\n } = this;\n if (codeContentRef && type === CODE_SNIPPET_TYPE.MULTI) {\n const { height } = codeContentRef.getBoundingClientRect();\n if (\n maxCollapsedNumberOfRows > 0 &&\n (maxExpandedNumberOfRows <= 0 ||\n maxExpandedNumberOfRows > maxCollapsedNumberOfRows) &&\n height > maxCollapsedNumberOfRows * rowHeightInPixels\n ) {\n this._shouldShowMoreLessBtn = true;\n } else {\n this._shouldShowMoreLessBtn = false;\n }\n if (\n this._expandedCode &&\n minExpandedNumberOfRows > 0 &&\n height <= minExpandedNumberOfRows * rowHeightInPixels\n ) {\n this._expandedCode = false;\n }\n }\n if (\n (codeContentRef && type === CODE_SNIPPET_TYPE.MULTI) ||\n (codeContainerRef && type === CODE_SNIPPET_TYPE.SINGLE)\n ) {\n handleScroll();\n }\n this.requestUpdate();\n });\n\n /**\n * Optional text to copy. If not specified, the `children` node's `innerText`\n * will be used as the copy value.\n */\n @property({ attribute: 'copy-text' })\n copyText = '';\n\n /**\n * `true` if the button should be disabled.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Specify the string displayed when the snippet is copied\n */\n @property()\n feedback = 'Copied!';\n\n /**\n * Specify the time it takes for the feedback message to timeout\n */\n @property({ type: Number, attribute: 'feedback-timeout' })\n feedbackTimeout = 2000;\n\n /**\n * Specify whether or not a copy button should be used/rendered.\n */\n @property({ type: Boolean, reflect: true, attribute: 'hide-copy-button' })\n hideCopyButton = false;\n\n /**\n * Specify the maximum number of rows to be shown when in collapsed view\n */\n @property()\n maxCollapsedNumberOfRows = 15;\n\n /**\n * Specify the maximum number of rows to be shown when in expanded view\n */\n @property()\n maxExpandedNumberOfRows = 0;\n\n /**\n * Specify the minimum number of rows to be shown when in collapsed view\n */\n @property()\n minCollapsedNumberOfRows = 3;\n\n /**\n * Specify the minimum number of rows to be shown when in expanded view\n */\n @property()\n minExpandedNumberOfRows = 16;\n\n /**\n * Specify a string that is displayed when the Code Snippet has been\n * interacted with to show less lines\n */\n @property({ attribute: 'show-less-text' })\n showLessText = 'Show less';\n\n /**\n * Specify a string that is displayed when the Code Snippet text is more\n * than 15 lines\n */\n @property({ attribute: 'show-more-text' })\n showMoreText = 'Show more';\n\n /**\n * Tooltip content for the copy button.\n */\n @property({ attribute: 'tooltip-content' })\n tooltipContent = 'Copy to clipboard';\n\n /**\n * `true` if the button should be disabled.\n */\n @property({ type: Boolean, reflect: true, attribute: 'wrap-text' })\n wrapText = false;\n\n /**\n * The type of code snippet.\n */\n @property({ reflect: true })\n type = CODE_SNIPPET_TYPE.SINGLE;\n\n connectedCallback() {\n super.connectedCallback();\n if (this._hObserveResize) {\n this._hObserveResize = this._hObserveResize.release();\n }\n this._hObserveResize = observeResize(this._resizeObserver, this);\n }\n\n disconnectedCallback() {\n if (this._hObserveResize) {\n this._hObserveResize = this._hObserveResize.release();\n }\n }\n\n updated() {\n if (this._expandedCode) {\n this.setAttribute('expanded-code', '');\n } else {\n this.removeAttribute('expanded-code');\n }\n }\n\n render() {\n const {\n disabled,\n feedback,\n feedbackTimeout,\n hideCopyButton,\n maxExpandedNumberOfRows,\n minExpandedNumberOfRows,\n maxCollapsedNumberOfRows,\n minCollapsedNumberOfRows,\n type,\n wrapText,\n tooltipContent,\n showMoreText,\n showLessText,\n _expandedCode: expandedCode,\n _handleCopyClick: handleCopyClick,\n _handleScroll: handleScroll,\n _hasRightOverflow: hasRightOverflow,\n _hasLeftOverflow: hasLeftOverflow,\n _rowHeightInPixels: rowHeightInPixels,\n _shouldShowMoreLessBtn: shouldShowMoreLessBtn,\n } = this;\n\n let classes = `${prefix}--snippet`;\n\n if (type) {\n classes += ` ${prefix}--snippet--${type}`;\n }\n\n if (type !== 'inline' && disabled) {\n classes += ` ${prefix}--snippet--disabled`;\n }\n\n if (hideCopyButton) {\n classes += ` ${prefix}--snippet--no-copy`;\n }\n\n if (wrapText) {\n classes += ` ${prefix}--snippet--wraptext`;\n }\n\n if (type == 'multi' && hasRightOverflow) {\n classes += ` ${prefix}--snippet--has-right-overflow`;\n }\n\n const expandButtonClass = `${prefix}--snippet-btn--expand`;\n\n const disabledCopyButtonClasses = disabled\n ? `${prefix}--snippet--disabled`\n : '';\n\n const expandCodeBtnText = expandedCode ? showLessText : showMoreText;\n\n if (type === CODE_SNIPPET_TYPE.INLINE) {\n // Ensures no extra whitespace text node\n // prettier-ignore\n return html`\n <cds-custom-copy ?disabled=${disabled} button-class-name=\"${classes}\" @click=\"${handleCopyClick}\">\n <code slot=\"icon\"><slot></slot></code>\n <span slot=\"tooltip-content\">${tooltipContent}</span>\n </cds-custom-copy>\n `;\n }\n\n const styles = {};\n if (type === 'multi') {\n if (expandedCode) {\n if (maxExpandedNumberOfRows > 0) {\n styles['max-height'] =\n maxExpandedNumberOfRows * rowHeightInPixels + 'px';\n }\n if (minExpandedNumberOfRows > 0) {\n styles['min-height'] =\n minExpandedNumberOfRows * rowHeightInPixels + 'px';\n }\n } else {\n if (maxCollapsedNumberOfRows > 0) {\n styles['max-height'] =\n maxCollapsedNumberOfRows * rowHeightInPixels + 'px';\n }\n if (minCollapsedNumberOfRows > 0) {\n styles['min-height'] =\n minCollapsedNumberOfRows * rowHeightInPixels + 'px';\n }\n }\n }\n\n return html`\n <div\n role=\"${type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI\n ? 'textbox'\n : null}\"\n tabindex=\"${(type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI) &&\n !disabled\n ? 0\n : null}\"\n class=\"${prefix}--snippet-container\"\n aria-label=\"${'code-snippet'}\"\n aria-readonly=\"${type === CODE_SNIPPET_TYPE.SINGLE ||\n type === CODE_SNIPPET_TYPE.MULTI\n ? true\n : null}\"\n aria-multiline=\"${type === CODE_SNIPPET_TYPE.MULTI ? true : null}\"\n @scroll=\"${(type === CODE_SNIPPET_TYPE.SINGLE && handleScroll) || null}\"\n style=${styleMap(styles)}>\n <pre\n @scroll=\"${(type === CODE_SNIPPET_TYPE.MULTI && handleScroll) ||\n null}\"><code><slot></slot></code></pre>\n </div>\n\n ${hasLeftOverflow\n ? html`\n <div class=\"${prefix}--snippet__overflow-indicator--left\"></div>\n `\n : ``}\n ${hasRightOverflow && type !== CODE_SNIPPET_TYPE.MULTI\n ? html`\n <div class=\"${prefix}--snippet__overflow-indicator--right\"></div>\n `\n : ``}\n ${hideCopyButton\n ? ``\n : html`\n <cds-custom-copy-button\n ?disabled=${disabled}\n button-class-name=${disabledCopyButtonClasses}\n feedback=${feedback}\n feedback-timeout=${feedbackTimeout}\n @click=\"${handleCopyClick}\">\n ${tooltipContent}\n </cds-custom-copy-button>\n `}\n ${shouldShowMoreLessBtn\n ? html`\n <cds-custom-button\n kind=\"ghost\"\n size=\"sm\"\n button-class-name=${expandButtonClass}\n ?disabled=${disabled}\n @click=${() => this._handleClickExpanded()}>\n <span class=\"${prefix}--snippet-btn--text\">\n ${expandCodeBtnText}\n </span>\n ${iconLoader(ChevronDown16, {\n class: `${prefix}--icon-chevron--down ${prefix}--snippet__icon`,\n role: 'img',\n slot: 'icon',\n })}\n </cds-custom-button>\n `\n : ``}\n `;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles;\n}\n\nexport default CDSCodeSnippet;\n"],"names":["customElement"],"mappings":"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"}
|