@carbon/web-components 2.45.0 → 2.46.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 +919 -101
- package/dist/{16-BBj-4U6O.js → 16-BXPirV4t.js} +3 -3
- package/dist/16-BiojhJb6.js +28 -0
- package/dist/{16-Fw7MQsgz.js → 16-BirbARgt.js} +3 -3
- package/dist/{16-CsB-3CrK.js → 16-CNObEOvs.js} +3 -3
- package/dist/{16-t_6d5Xg6.js → 16-DThcsE9v.js} +3 -3
- package/dist/{16-DOSrxpkh.js → 16-T0hLy__N.js} +3 -3
- package/dist/{16-BFG46iFc.js → 16-mUGLFymm.js} +3 -3
- package/dist/{20-Dz5R4rWy.js → 20-BSzLZNRY.js} +3 -3
- package/dist/accordion.min.js +3 -3
- package/dist/ai-label.min.js +3 -3
- package/dist/ai-skeleton.min.js +3 -3
- package/dist/badge-indicator.min.js +3 -3
- package/dist/breadcrumb.min.js +3 -3
- package/dist/{button-BINUfYkQ.js → button-3n7S6dfU.js} +5 -5
- package/dist/{button-skeleton-Ce4GOnYk.js → button-skeleton-DE9AxBek.js} +4 -4
- package/dist/button.min.js +3 -3
- package/dist/chat-button.min.js +3 -3
- package/dist/{checkbox-YpDgBEVJ.js → checkbox-CFU6bnOa.js} +3 -3
- package/dist/checkbox.min.js +6 -6
- package/dist/{class-map-DzlEdlET.js → class-map-BLvVLLRH.js} +3 -3
- package/dist/code-snippet.min.js +5 -5
- package/dist/combo-box.min.js +6 -6
- package/dist/combo-button.min.js +3 -3
- package/dist/contained-list.min.js +70 -0
- package/dist/{content-switcher-item-CTUxWE3X.js → content-switcher-item-CXc-BbRX.js} +3 -3
- package/dist/content-switcher.min.js +3 -3
- package/dist/copy-button.min.js +3 -3
- package/dist/data-table.min.js +5 -5
- package/dist/date-picker.min.js +3 -3
- package/dist/defs-CcLNpvSO.js +28 -0
- package/dist/dropdown-item-CSXYY4Up.js +100 -0
- package/dist/dropdown.min.js +5 -5
- package/dist/feature-flags.min.js +3 -3
- package/dist/file-uploader.min.js +3 -3
- package/dist/floating-controller-ClaZwDaj.js +28 -0
- package/dist/floating-menu.min.js +3 -3
- package/dist/fluid-number-input.min.js +28 -0
- package/dist/fluid-search.min.js +3 -3
- package/dist/fluid-select.min.js +3 -3
- package/dist/fluid-text-input.min.js +3 -3
- package/dist/fluid-textarea.min.js +3 -3
- package/dist/{focus-4hYY4Dyy.js → focus-DCv16lgz.js} +3 -3
- package/dist/{form-Bi7CmOIh.js → form-D0wM2t2A.js} +3 -3
- package/dist/form-group.min.js +3 -3
- package/dist/form.min.js +3 -3
- package/dist/grid.min.js +3 -3
- package/dist/heading.min.js +3 -3
- package/dist/{host-listener-DvFKBeEg.js → host-listener-maKckXVl.js} +3 -3
- package/dist/icon-button.min.js +3 -3
- package/dist/icon-indicator.min.js +3 -3
- package/dist/{icon-loader-C0ZqVK1W.js → icon-loader-BiaaiIZd.js} +3 -3
- package/dist/{icon-loader-utils-BR71i9XR.js → icon-loader-utils-Dw7YsY3n.js} +3 -3
- package/dist/icon.min.js +3 -3
- package/dist/{if-defined-CcLoN68A.js → if-defined-B342gMhK.js} +3 -3
- package/dist/{if-non-empty-B1wddvKZ.js → if-non-empty-BXM4sQkm.js} +3 -3
- package/dist/inline-loading.min.js +3 -3
- package/dist/layer.min.js +3 -3
- package/dist/link.min.js +3 -3
- package/dist/list.min.js +3 -3
- package/dist/{lit-element-DXoDLiKG.js → lit-element-W7dQy3wx.js} +4 -4
- package/dist/{loading-icon-BqRwBxw_.js → loading-icon-9dSwtpx9.js} +3 -3
- package/dist/loading.min.js +3 -3
- package/dist/menu-button.min.js +6 -6
- package/dist/menu.min.js +16 -16
- package/dist/modal.min.js +3 -3
- package/dist/multi-select.min.js +3 -3
- package/dist/notification.min.js +32 -32
- package/dist/number-input.min.js +32 -31
- package/dist/overflow-menu.min.js +3 -3
- package/dist/page-header.min.js +3 -3
- package/dist/pagination.min.js +3 -3
- package/dist/password-input.min.js +31 -30
- package/dist/popover.min.js +3 -3
- package/dist/progress-bar.min.js +3 -3
- package/dist/progress-indicator.min.js +3 -3
- package/dist/{property-uTgGvQPP.js → property-D8KHfsO7.js} +3 -3
- package/dist/{query-assigned-elements-DzwbMc--.js → query-assigned-elements-CuK851Xm.js} +3 -3
- package/dist/radio-button.min.js +6 -6
- package/dist/search-BpfBrZ_q.js +58 -0
- package/dist/search.min.js +4 -4
- package/dist/{select-DrnoHpZf.js → select-Bu-C3DEh.js} +3 -3
- package/dist/{select-item-XCdOkQFq.js → select-item-CY7ZCgDO.js} +3 -3
- package/dist/{select-skeleton-D_sk9gT-.js → select-skeleton-Bj1W9rv-.js} +3 -3
- package/dist/select.min.js +3 -3
- package/dist/shape-indicator.min.js +3 -3
- package/dist/side-panel.min.js +8 -8
- package/dist/skeleton-icon.min.js +3 -3
- package/dist/skeleton-placeholder.min.js +3 -3
- package/dist/skeleton-text.min.js +3 -3
- package/dist/skip-to-content.min.js +3 -3
- package/dist/slider.min.js +186 -100
- package/dist/slug.min.js +3 -3
- package/dist/stack.min.js +3 -3
- package/dist/{state-WaBTtiEK.js → state-DVnprZ3A.js} +3 -3
- package/dist/structured-list.min.js +3 -3
- package/dist/tabs.min.js +3 -3
- package/dist/tag.min.js +3 -3
- package/dist/tearsheet.min.js +3 -3
- package/dist/text-input-CMLDDQcE.js +95 -0
- package/dist/text-input.min.js +4 -4
- package/dist/textarea.min.js +6 -6
- package/dist/tile.min.js +3 -3
- package/dist/time-picker.min.js +3 -3
- package/dist/toggle-tip.min.js +3 -3
- package/dist/toggle.min.js +3 -3
- package/dist/{tooltip-content-qsyHhcSH.js → tooltip-content-eYgOs_c2.js} +3 -3
- package/dist/tooltip.min.js +3 -3
- package/dist/tree-view.min.js +3 -3
- package/dist/ui-shell.min.js +5 -5
- package/dist/{unsafe-html-DmB1txAP.js → unsafe-html-SGvBIOsG.js} +3 -3
- package/es/components/button/button.scss.js +1 -1
- package/es/components/chat-button/chat-button.scss.js +1 -1
- package/es/components/code-snippet/code-snippet.scss.js +1 -1
- package/es/components/combo-box/combo-box.d.ts +10 -3
- package/es/components/combo-box/combo-box.js +58 -7
- package/es/components/combo-box/combo-box.js.map +1 -1
- package/es/components/combo-box/combo-box.scss.js +1 -1
- package/es/components/contained-list/contained-list-description.d.ts +18 -0
- package/es/components/contained-list/contained-list-description.js +38 -0
- package/es/components/contained-list/contained-list-description.js.map +1 -0
- package/es/components/contained-list/contained-list-item.d.ts +43 -0
- package/es/components/contained-list/contained-list-item.js +135 -0
- package/es/components/contained-list/contained-list-item.js.map +1 -0
- package/es/components/contained-list/contained-list.d.ts +37 -0
- package/es/components/contained-list/contained-list.js +95 -0
- package/es/components/contained-list/contained-list.js.map +1 -0
- package/es/components/contained-list/contained-list.scss.js +13 -0
- package/es/components/contained-list/contained-list.scss.js.map +1 -0
- package/es/components/contained-list/index.d.ts +9 -0
- package/es/components/contained-list/index.js +11 -0
- package/es/components/contained-list/index.js.map +1 -0
- package/es/components/copy-button/copy-button.scss.js +1 -1
- package/es/components/data-table/data-table.scss.js +1 -1
- package/es/components/dropdown/dropdown.d.ts +25 -1
- package/es/components/dropdown/dropdown.js +72 -3
- package/es/components/dropdown/dropdown.js.map +1 -1
- package/es/components/dropdown/dropdown.scss.js +1 -1
- package/es/components/fluid-number-input/fluid-number-input-skeleton.d.ts +17 -0
- package/es/components/fluid-number-input/fluid-number-input-skeleton.js +38 -0
- package/es/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -0
- package/es/components/fluid-number-input/fluid-number-input.d.ts +19 -0
- package/es/components/fluid-number-input/fluid-number-input.js +53 -0
- package/es/components/fluid-number-input/fluid-number-input.js.map +1 -0
- package/es/components/fluid-number-input/fluid-number-input.scss.js +13 -0
- package/es/components/fluid-number-input/fluid-number-input.scss.js.map +1 -0
- package/es/components/fluid-number-input/index.d.ts +8 -0
- package/es/components/fluid-number-input/index.js +10 -0
- package/es/components/fluid-number-input/index.js.map +1 -0
- package/es/components/fluid-search/fluid-search.scss.js +1 -1
- package/es/components/fluid-text-input/fluid-text-input.scss.js +1 -1
- package/es/components/icon-button/icon-button.scss.js +1 -1
- package/es/components/menu/menu-item.d.ts +1 -0
- package/es/components/menu/menu-item.js +12 -2
- package/es/components/menu/menu-item.js.map +1 -1
- package/es/components/menu/menu.d.ts +4 -1
- package/es/components/menu/menu.js +28 -3
- package/es/components/menu/menu.js.map +1 -1
- package/es/components/menu/menu.scss.js +1 -1
- package/es/components/menu-button/menu-button.d.ts +5 -2
- package/es/components/menu-button/menu-button.js +77 -7
- package/es/components/menu-button/menu-button.js.map +1 -1
- package/es/components/multi-select/multi-select.scss.js +1 -1
- package/es/components/notification/callout-notification.d.ts +1 -1
- package/es/components/notification/callout-notification.js +8 -9
- package/es/components/notification/callout-notification.js.map +1 -1
- package/es/components/number-input/number-input.d.ts +4 -0
- package/es/components/number-input/number-input.js +28 -12
- package/es/components/number-input/number-input.js.map +1 -1
- package/es/components/number-input/number-input.scss.js +1 -1
- package/es/components/password-input/password-input.d.ts +5 -0
- package/es/components/password-input/password-input.js +14 -5
- package/es/components/password-input/password-input.js.map +1 -1
- package/es/components/password-input/password-input.scss.js +1 -1
- package/es/components/popover/popover.js.map +1 -1
- package/es/components/search/search.scss.js +1 -1
- package/es/components/slider/slider-input.js +14 -18
- package/es/components/slider/slider-input.js.map +1 -1
- package/es/components/slider/slider.d.ts +7 -0
- package/es/components/slider/slider.js +226 -83
- package/es/components/slider/slider.js.map +1 -1
- package/es/components/slider/slider.scss.js +1 -1
- package/es/components/text-input/text-input-skeleton.d.ts +1 -1
- package/es/components/text-input/text-input-skeleton.js +4 -3
- package/es/components/text-input/text-input-skeleton.js.map +1 -1
- package/es/components/text-input/text-input.scss.js +1 -1
- package/es/components/textarea/textarea-skeleton.d.ts +5 -1
- package/es/components/textarea/textarea-skeleton.js +16 -2
- package/es/components/textarea/textarea-skeleton.js.map +1 -1
- package/es/components/time-picker/time-picker.scss.js +1 -1
- package/es/components/toggle-tip/toggletip.js.map +1 -1
- package/es-custom/components/button/button.scss.js +1 -1
- package/es-custom/components/chat-button/chat-button.scss.js +1 -1
- package/es-custom/components/code-snippet/code-snippet.scss.js +1 -1
- package/es-custom/components/combo-box/combo-box.d.ts +10 -3
- package/es-custom/components/combo-box/combo-box.js +58 -7
- package/es-custom/components/combo-box/combo-box.js.map +1 -1
- package/es-custom/components/combo-box/combo-box.scss.js +1 -1
- package/es-custom/components/contained-list/contained-list-description.d.ts +18 -0
- package/es-custom/components/contained-list/contained-list-description.js +38 -0
- package/es-custom/components/contained-list/contained-list-description.js.map +1 -0
- package/es-custom/components/contained-list/contained-list-item.d.ts +43 -0
- package/es-custom/components/contained-list/contained-list-item.js +135 -0
- package/es-custom/components/contained-list/contained-list-item.js.map +1 -0
- package/es-custom/components/contained-list/contained-list.d.ts +37 -0
- package/es-custom/components/contained-list/contained-list.js +95 -0
- package/es-custom/components/contained-list/contained-list.js.map +1 -0
- package/es-custom/components/contained-list/contained-list.scss.js +13 -0
- package/es-custom/components/contained-list/contained-list.scss.js.map +1 -0
- package/es-custom/components/contained-list/index.d.ts +9 -0
- package/es-custom/components/contained-list/index.js +11 -0
- package/es-custom/components/contained-list/index.js.map +1 -0
- package/es-custom/components/copy-button/copy-button.scss.js +1 -1
- package/es-custom/components/data-table/data-table.scss.js +1 -1
- package/es-custom/components/dropdown/dropdown.d.ts +25 -1
- package/es-custom/components/dropdown/dropdown.js +72 -3
- package/es-custom/components/dropdown/dropdown.js.map +1 -1
- package/es-custom/components/dropdown/dropdown.scss.js +1 -1
- package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.d.ts +17 -0
- package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js +38 -0
- package/es-custom/components/fluid-number-input/fluid-number-input-skeleton.js.map +1 -0
- package/es-custom/components/fluid-number-input/fluid-number-input.d.ts +19 -0
- package/es-custom/components/fluid-number-input/fluid-number-input.js +53 -0
- package/es-custom/components/fluid-number-input/fluid-number-input.js.map +1 -0
- package/es-custom/components/fluid-number-input/fluid-number-input.scss.js +13 -0
- package/es-custom/components/fluid-number-input/fluid-number-input.scss.js.map +1 -0
- package/es-custom/components/fluid-number-input/index.d.ts +8 -0
- package/es-custom/components/fluid-number-input/index.js +10 -0
- package/es-custom/components/fluid-number-input/index.js.map +1 -0
- package/es-custom/components/fluid-search/fluid-search.scss.js +1 -1
- package/es-custom/components/fluid-text-input/fluid-text-input.scss.js +1 -1
- package/es-custom/components/icon-button/icon-button.scss.js +1 -1
- package/es-custom/components/menu/menu-item.d.ts +1 -0
- package/es-custom/components/menu/menu-item.js +12 -2
- package/es-custom/components/menu/menu-item.js.map +1 -1
- package/es-custom/components/menu/menu.d.ts +4 -1
- package/es-custom/components/menu/menu.js +28 -3
- package/es-custom/components/menu/menu.js.map +1 -1
- package/es-custom/components/menu/menu.scss.js +1 -1
- package/es-custom/components/menu-button/menu-button.d.ts +5 -2
- package/es-custom/components/menu-button/menu-button.js +77 -7
- package/es-custom/components/menu-button/menu-button.js.map +1 -1
- package/es-custom/components/multi-select/multi-select.scss.js +1 -1
- package/es-custom/components/notification/callout-notification.d.ts +1 -1
- package/es-custom/components/notification/callout-notification.js +8 -9
- package/es-custom/components/notification/callout-notification.js.map +1 -1
- package/es-custom/components/number-input/number-input.d.ts +4 -0
- package/es-custom/components/number-input/number-input.js +28 -12
- package/es-custom/components/number-input/number-input.js.map +1 -1
- package/es-custom/components/number-input/number-input.scss.js +1 -1
- package/es-custom/components/password-input/password-input.d.ts +5 -0
- package/es-custom/components/password-input/password-input.js +14 -5
- package/es-custom/components/password-input/password-input.js.map +1 -1
- package/es-custom/components/password-input/password-input.scss.js +1 -1
- package/es-custom/components/popover/popover.js.map +1 -1
- package/es-custom/components/search/search.scss.js +1 -1
- package/es-custom/components/slider/slider-input.js +14 -18
- package/es-custom/components/slider/slider-input.js.map +1 -1
- package/es-custom/components/slider/slider.d.ts +7 -0
- package/es-custom/components/slider/slider.js +226 -83
- package/es-custom/components/slider/slider.js.map +1 -1
- package/es-custom/components/slider/slider.scss.js +1 -1
- package/es-custom/components/text-input/text-input-skeleton.d.ts +1 -1
- package/es-custom/components/text-input/text-input-skeleton.js +4 -3
- package/es-custom/components/text-input/text-input-skeleton.js.map +1 -1
- package/es-custom/components/text-input/text-input.scss.js +1 -1
- package/es-custom/components/textarea/textarea-skeleton.d.ts +5 -1
- package/es-custom/components/textarea/textarea-skeleton.js +16 -2
- package/es-custom/components/textarea/textarea-skeleton.js.map +1 -1
- package/es-custom/components/time-picker/time-picker.scss.js +1 -1
- package/es-custom/components/toggle-tip/toggletip.js.map +1 -1
- package/lib/components/combo-box/combo-box.d.ts +10 -3
- package/lib/components/contained-list/contained-list-description.d.ts +18 -0
- package/lib/components/contained-list/contained-list-item.d.ts +43 -0
- package/lib/components/contained-list/contained-list.d.ts +37 -0
- package/lib/components/contained-list/index.d.ts +9 -0
- package/lib/components/dropdown/dropdown.d.ts +25 -1
- package/lib/components/fluid-number-input/fluid-number-input-skeleton.d.ts +17 -0
- package/lib/components/fluid-number-input/fluid-number-input.d.ts +19 -0
- package/lib/components/fluid-number-input/index.d.ts +8 -0
- package/lib/components/menu/menu-item.d.ts +1 -0
- package/lib/components/menu/menu.d.ts +4 -1
- package/lib/components/menu-button/menu-button.d.ts +5 -2
- package/lib/components/notification/callout-notification.d.ts +1 -1
- package/lib/components/number-input/number-input.d.ts +4 -0
- package/lib/components/password-input/password-input.d.ts +5 -0
- package/lib/components/slider/slider.d.ts +7 -0
- package/lib/components/text-input/text-input-skeleton.d.ts +1 -1
- package/lib/components/textarea/textarea-skeleton.d.ts +5 -1
- package/package.json +5 -6
- package/scss/components/combo-box/combo-box.scss +21 -0
- package/scss/components/contained-list/contained-list.scss +48 -0
- package/scss/components/fluid-number-input/fluid-number-input.scss +27 -0
- package/scss/components/menu/menu.scss +2 -0
- package/scss/components/number-input/number-input.scss +13 -0
- package/scss/components/password-input/password-input.scss +21 -17
- package/scss/components/search/search.scss +6 -0
- package/scss/components/slider/slider.scss +33 -5
- package/scss/components/text-input/text-input.scss +5 -2
- package/telemetry.yml +14 -8
- package/dist/16-BFl-qNrl.js +0 -28
- package/dist/dropdown-item-ALZ34_OA.js +0 -100
- package/dist/floating-controller-BO48DFk2.js +0 -28
- package/dist/search-DNdS00wP.js +0 -58
- package/dist/text-input-B9VDpl4N.js +0 -95
- package/dist/{16-Co6aAEol.js → 16-BcPXq4VE.js} +2 -2
- package/dist/{16-B7pwVoJF.js → 16-CCrV-EKs.js} +2 -2
- package/dist/{16-CGBcKyTF.js → 16-CsHohlYG.js} +2 -2
- package/dist/{16-CE0vhrU3.js → 16-D9rqeJJl.js} +2 -2
- package/dist/{16-Di-633li.js → 16-DEZ8LNs3.js} +2 -2
- package/dist/{20-BkqtasS4.js → 20-ZHgmfbqd.js} +2 -2
- package/dist/{carbon-element-C1z5CnbR.js → carbon-element-tFMTVffV.js} +2 -2
- package/dist/{collection-helpers-CpMBYTSn.js → collection-helpers-C8K_t6zj.js} +2 -2
- package/dist/{consume-CJ68u14F.js → consume-DNv3sWri.js} +2 -2
- package/dist/{directive-D38JskT2.js → directive-CwpJ03IP.js} +2 -2
- package/dist/{host-listener-C5X2a6BU.js → host-listener-BFnrKETa.js} +2 -2
- package/dist/{on-CHmODq20.js → on-Bh72-1o0.js} +2 -2
- package/dist/{query-ClymL-mj.js → query-DZZk85FD.js} +2 -2
- package/dist/{radio-group-manager-Cd-2cWQY.js → radio-group-manager-BbeUxJeN.js} +2 -2
- package/dist/{settings--npNF0B7.js → settings-CVGvqY8T.js} +2 -2
- package/dist/{shared-enums-DNTUOzm5.js → shared-enums-D2BNx9-N.js} +2 -2
- package/dist/{validity-WwpJqqG9.js → validity-CzCNnEZK.js} +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggletip.js","sources":["../../../src/components/toggle-tip/toggletip.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 { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport Information16 from '@carbon/icons/es/information/16.js';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { POPOVER_ALIGNMENT } from '../popover/defs';\nimport FloatingUIContoller from '../../globals/controllers/floating-controller';\nimport styles from './toggletip.scss?lit';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n\n/**\n * Definition tooltip.\n *\n * @element cds-custom-toggletip\n */\n@customElement(`${prefix}-toggletip`)\nclass CDSToggletip extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * Create popover controller instance\n */\n private popoverController = new FloatingUIContoller(this);\n\n /**\n * How the tooltip is aligned to the trigger button.\n */\n @property({ reflect: true })\n alignment = POPOVER_ALIGNMENT.TOP;\n\n /**\n * **Experimental:** Provide an offset value for alignment axis. Only takes effect when `autoalign` is enabled.\n */\n @property({ type: Number, attribute: 'alignment-axis-offset' })\n alignmentAxisOffset = 0;\n\n /**\n * Specify whether a auto align functionality should be applied\n */\n @property({ type: Boolean, reflect: true })\n autoalign = false;\n\n /**\n * The label for the toggle button\n */\n @property({ attribute: 'button-label' })\n buttonLabel = 'Show information';\n\n /**\n * Set whether toggletip is open\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * Set whether toggletip is open by default.\n */\n @property({ type: Boolean, attribute: 'default-open' })\n defaultOpen = false;\n\n connectedCallback() {\n super.connectedCallback();\n if (this.defaultOpen && !this.hasAttribute('open')) {\n this.open = true;\n }\n }\n\n /**\n * Handles `slotchange` event.\n */\n private _handleActionsSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement).assignedNodes();\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n hasContent\n ? this.setAttribute('has-actions', '')\n : this.removeAttribute('has-actions');\n }\n\n protected _handleClick() {\n this.open = !this.open;\n }\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('keydown')\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 protected _handleKeydown = async (event) => {\n if (event.key === 'Escape') {\n this.open = false;\n }\n };\n\n /**\n * Handles `blur` event handler on the document this element is in.\n *\n * @param event The event.\n */\n @HostListener('focusout')\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 protected _handleFocusOut(event: FocusEvent) {\n if (this.contains(event.relatedTarget as Node)) {\n return;\n }\n\n if (this._deepShadowContains(this, event.relatedTarget)) {\n return;\n }\n this.open = false;\n }\n\n private _deepShadowContains(root: Node, el: EventTarget | null): boolean {\n if (!(el instanceof Node)) {\n return false;\n }\n if (el === root) {\n return true;\n }\n\n return this._deepShadowContains(\n root,\n (el as HTMLElement).assignedSlot ||\n el.parentNode ||\n (el.getRootNode() as ShadowRoot).host ||\n null\n );\n }\n\n protected _renderToggleTipLabel = () => {\n return html`\n <span class=\"${prefix}--toggletip-label\">\n <slot></slot>\n </span>\n `;\n };\n\n protected _renderTooltipButton = () => {\n return html`\n <button\n aria-controls=\"${this.id}\"\n aria-label=\"${this.buttonLabel}\"\n class=\"${prefix}--toggletip-button\"\n @click=${this._handleClick}>\n <slot name=\"trigger\"\n >${iconLoader(Information16, { id: 'trigger' })}\n </slot>\n </button>\n `;\n };\n\n protected _renderTooltipContent = () => {\n return this.autoalign\n ? html`\n <span class=\"${prefix}--popover-content\">\n <div class=\"${prefix}--toggletip-content\">\n <slot name=\"body-text\"></slot>\n <div class=\"${prefix}--toggletip-actions\">\n <slot\n name=\"actions\"\n @slotchange=\"${this._handleActionsSlotChange}\"></slot>\n </div>\n </div>\n <span class=\"${prefix}--popover-caret\"></span>\n </span>\n `\n : html`\n <span class=\"${prefix}--popover\">\n <span class=\"${prefix}--popover-content\">\n <div class=\"${prefix}--toggletip-content\">\n <slot name=\"body-text\"></slot>\n <div class=\"${prefix}--toggletip-actions\">\n <slot\n name=\"actions\"\n @slotchange=\"${this._handleActionsSlotChange}\"></slot>\n </div>\n </div>\n </span>\n <span class=\"${prefix}--popover-caret\"></span>\n </span>\n `;\n };\n\n protected _renderInnerContent = () => {\n return html`\n ${this._renderTooltipButton()} ${this._renderTooltipContent()}\n `;\n };\n\n updated() {\n if (this.autoalign) {\n // auto align functionality with @floating-ui/dom library\n const button = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipButton\n );\n\n const tooltip = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipContent\n );\n const arrowElement = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipCaret\n );\n\n if (button && tooltip) {\n // Ensure toggletip is visible when rendered in a large scrollable container (storybook parity)\n button.scrollIntoView({ block: 'center', inline: 'center' });\n\n this.popoverController?.setPlacement({\n trigger: button as HTMLElement,\n target: tooltip as HTMLElement,\n arrowElement: arrowElement as HTMLElement,\n caret: true,\n flipArguments: { fallbackAxisSideDirection: 'start' },\n alignment: this.alignment,\n open: this.open,\n alignmentAxisOffset: this.alignmentAxisOffset,\n });\n }\n }\n }\n\n render() {\n const { alignment, open } = this;\n const classes = classMap({\n [`${prefix}--popover-container`]: true,\n [`${prefix}--popover--caret`]: true,\n [`${prefix}--popover--high-contrast`]: true,\n [`${prefix}--popover--open`]: open,\n [`${prefix}--popover--${alignment}`]: alignment,\n [`${prefix}--toggletip`]: true,\n [`${prefix}--toggletip--open`]: open,\n });\n return html`\n ${this._renderToggleTipLabel()}\n <span class=\"${classes}\"> ${this._renderInnerContent()} </span>\n `;\n }\n\n /**\n * A selector that will return the toggletip content.\n */\n static get selectorToggletipContent() {\n return `.${prefix}--popover-content`;\n }\n\n /**\n * A selector that will return the toggletip caret.\n */\n static get selectorToggletipCaret() {\n return `.${prefix}--popover-caret`;\n }\n\n /**\n * A selector that will return the trigger element.\n */\n static get selectorToggletipButton() {\n return `.${prefix}--toggletip-button`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n static styles = styles;\n}\n\nexport default CDSToggletip;\n"],"names":["FloatingUIContoller","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toggletip.js","sources":["../../../src/components/toggle-tip/toggletip.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 { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport Information16 from '@carbon/icons/es/information/16.js';\nimport HostListener from '../../globals/decorators/host-listener';\nimport HostListenerMixin from '../../globals/mixins/host-listener';\nimport FocusMixin from '../../globals/mixins/focus';\nimport { POPOVER_ALIGNMENT } from '../popover/defs';\nimport FloatingUIController from '../../globals/controllers/floating-controller';\nimport styles from './toggletip.scss?lit';\nimport { iconLoader } from '../../globals/internal/icon-loader';\n\n/**\n * Definition tooltip.\n *\n * @element cds-custom-toggletip\n */\n@customElement(`${prefix}-toggletip`)\nclass CDSToggletip extends HostListenerMixin(FocusMixin(LitElement)) {\n /**\n * Create popover controller instance\n */\n private popoverController = new FloatingUIController(this);\n\n /**\n * How the tooltip is aligned to the trigger button.\n */\n @property({ reflect: true })\n alignment = POPOVER_ALIGNMENT.TOP;\n\n /**\n * **Experimental:** Provide an offset value for alignment axis. Only takes effect when `autoalign` is enabled.\n */\n @property({ type: Number, attribute: 'alignment-axis-offset' })\n alignmentAxisOffset = 0;\n\n /**\n * Specify whether a auto align functionality should be applied\n */\n @property({ type: Boolean, reflect: true })\n autoalign = false;\n\n /**\n * The label for the toggle button\n */\n @property({ attribute: 'button-label' })\n buttonLabel = 'Show information';\n\n /**\n * Set whether toggletip is open\n */\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /**\n * Set whether toggletip is open by default.\n */\n @property({ type: Boolean, attribute: 'default-open' })\n defaultOpen = false;\n\n connectedCallback() {\n super.connectedCallback();\n if (this.defaultOpen && !this.hasAttribute('open')) {\n this.open = true;\n }\n }\n\n /**\n * Handles `slotchange` event.\n */\n private _handleActionsSlotChange({ target }: Event) {\n const hasContent = (target as HTMLSlotElement).assignedNodes();\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions -- https://github.com/carbon-design-system/carbon/issues/20452\n hasContent\n ? this.setAttribute('has-actions', '')\n : this.removeAttribute('has-actions');\n }\n\n protected _handleClick() {\n this.open = !this.open;\n }\n\n /**\n * Handles `keydown` event on this element.\n */\n @HostListener('keydown')\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 protected _handleKeydown = async (event) => {\n if (event.key === 'Escape') {\n this.open = false;\n }\n };\n\n /**\n * Handles `blur` event handler on the document this element is in.\n *\n * @param event The event.\n */\n @HostListener('focusout')\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 protected _handleFocusOut(event: FocusEvent) {\n if (this.contains(event.relatedTarget as Node)) {\n return;\n }\n\n if (this._deepShadowContains(this, event.relatedTarget)) {\n return;\n }\n this.open = false;\n }\n\n private _deepShadowContains(root: Node, el: EventTarget | null): boolean {\n if (!(el instanceof Node)) {\n return false;\n }\n if (el === root) {\n return true;\n }\n\n return this._deepShadowContains(\n root,\n (el as HTMLElement).assignedSlot ||\n el.parentNode ||\n (el.getRootNode() as ShadowRoot).host ||\n null\n );\n }\n\n protected _renderToggleTipLabel = () => {\n return html`\n <span class=\"${prefix}--toggletip-label\">\n <slot></slot>\n </span>\n `;\n };\n\n protected _renderTooltipButton = () => {\n return html`\n <button\n aria-controls=\"${this.id}\"\n aria-label=\"${this.buttonLabel}\"\n class=\"${prefix}--toggletip-button\"\n @click=${this._handleClick}>\n <slot name=\"trigger\"\n >${iconLoader(Information16, { id: 'trigger' })}\n </slot>\n </button>\n `;\n };\n\n protected _renderTooltipContent = () => {\n return this.autoalign\n ? html`\n <span class=\"${prefix}--popover-content\">\n <div class=\"${prefix}--toggletip-content\">\n <slot name=\"body-text\"></slot>\n <div class=\"${prefix}--toggletip-actions\">\n <slot\n name=\"actions\"\n @slotchange=\"${this._handleActionsSlotChange}\"></slot>\n </div>\n </div>\n <span class=\"${prefix}--popover-caret\"></span>\n </span>\n `\n : html`\n <span class=\"${prefix}--popover\">\n <span class=\"${prefix}--popover-content\">\n <div class=\"${prefix}--toggletip-content\">\n <slot name=\"body-text\"></slot>\n <div class=\"${prefix}--toggletip-actions\">\n <slot\n name=\"actions\"\n @slotchange=\"${this._handleActionsSlotChange}\"></slot>\n </div>\n </div>\n </span>\n <span class=\"${prefix}--popover-caret\"></span>\n </span>\n `;\n };\n\n protected _renderInnerContent = () => {\n return html`\n ${this._renderTooltipButton()} ${this._renderTooltipContent()}\n `;\n };\n\n updated() {\n if (this.autoalign) {\n // auto align functionality with @floating-ui/dom library\n const button = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipButton\n );\n\n const tooltip = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipContent\n );\n const arrowElement = this.shadowRoot?.querySelector(\n CDSToggletip.selectorToggletipCaret\n );\n\n if (button && tooltip) {\n // Ensure toggletip is visible when rendered in a large scrollable container (storybook parity)\n button.scrollIntoView({ block: 'center', inline: 'center' });\n\n this.popoverController?.setPlacement({\n trigger: button as HTMLElement,\n target: tooltip as HTMLElement,\n arrowElement: arrowElement as HTMLElement,\n caret: true,\n flipArguments: { fallbackAxisSideDirection: 'start' },\n alignment: this.alignment,\n open: this.open,\n alignmentAxisOffset: this.alignmentAxisOffset,\n });\n }\n }\n }\n\n render() {\n const { alignment, open } = this;\n const classes = classMap({\n [`${prefix}--popover-container`]: true,\n [`${prefix}--popover--caret`]: true,\n [`${prefix}--popover--high-contrast`]: true,\n [`${prefix}--popover--open`]: open,\n [`${prefix}--popover--${alignment}`]: alignment,\n [`${prefix}--toggletip`]: true,\n [`${prefix}--toggletip--open`]: open,\n });\n return html`\n ${this._renderToggleTipLabel()}\n <span class=\"${classes}\"> ${this._renderInnerContent()} </span>\n `;\n }\n\n /**\n * A selector that will return the toggletip content.\n */\n static get selectorToggletipContent() {\n return `.${prefix}--popover-content`;\n }\n\n /**\n * A selector that will return the toggletip caret.\n */\n static get selectorToggletipCaret() {\n return `.${prefix}--popover-caret`;\n }\n\n /**\n * A selector that will return the trigger element.\n */\n static get selectorToggletipButton() {\n return `.${prefix}--toggletip-button`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n static styles = styles;\n}\n\nexport default CDSToggletip;\n"],"names":["FloatingUIController","customElement"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2019,
|
|
2
|
+
* Copyright IBM Corp. 2019, 2026
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -57,10 +57,12 @@ declare class CDSComboBox extends CDSDropdown {
|
|
|
57
57
|
* @returns `true` if the given combo box item matches the given query text.
|
|
58
58
|
*/
|
|
59
59
|
protected _defaultItemMatches(item: CDSComboBoxItem, queryText: string): boolean;
|
|
60
|
+
connectedCallback(): void;
|
|
60
61
|
/**
|
|
61
62
|
* Handles `input` event on the `<input>` for filtering.
|
|
62
63
|
*/
|
|
63
|
-
protected _handleInput(): void;
|
|
64
|
+
protected _handleInput(event: InputEvent): void;
|
|
65
|
+
protected _removeAutoCompleteSuggestion(): void;
|
|
64
66
|
protected _filterItems(items: NodeListOf<Element>, queryText: string, rawQueryText: string): number;
|
|
65
67
|
protected _scrollItemIntoView(item: HTMLElement): void;
|
|
66
68
|
protected _getSelectedItem(): CDSComboBoxItem | null;
|
|
@@ -90,9 +92,14 @@ declare class CDSComboBox extends CDSDropdown {
|
|
|
90
92
|
*/
|
|
91
93
|
itemMatches: (item: CDSComboBoxItem, queryText: string) => boolean;
|
|
92
94
|
/**
|
|
93
|
-
* Provide custom filtering behavior.
|
|
95
|
+
* Provide custom filtering behavior. This attribute will be ignored if
|
|
96
|
+
* `typeahead` is enabled and will default to `true`
|
|
94
97
|
*/
|
|
95
98
|
shouldFilterItem: boolean | ShouldFilterItem;
|
|
99
|
+
/**
|
|
100
|
+
* **Experimental**: will enable autocomplete and typeahead for the input field.
|
|
101
|
+
*/
|
|
102
|
+
typeahead: boolean;
|
|
96
103
|
shouldUpdate(changedProperties: any): boolean;
|
|
97
104
|
protected _clearInputWithoutSelecting(focus?: boolean): void;
|
|
98
105
|
updated(changedProperties: any): void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2022, 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { LitElement } from 'lit';
|
|
8
|
+
/**
|
|
9
|
+
* Contained list description text.
|
|
10
|
+
*
|
|
11
|
+
* @element cds-contained-list-description
|
|
12
|
+
* @slot - The description text content
|
|
13
|
+
*/
|
|
14
|
+
declare class CDSContainedListDescription extends LitElement {
|
|
15
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
16
|
+
static styles: any;
|
|
17
|
+
}
|
|
18
|
+
export default CDSContainedListDescription;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2022, 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { LitElement } from 'lit';
|
|
8
|
+
/**
|
|
9
|
+
* Contained list item.
|
|
10
|
+
*
|
|
11
|
+
* @element cds-contained-list-item
|
|
12
|
+
* @slot - The content of the list item
|
|
13
|
+
* @slot icon - The icon slot for rendering an icon
|
|
14
|
+
* @slot action - The action slot for interactive elements
|
|
15
|
+
* @fires cds-contained-list-item-click - Fires when clickable item is clicked
|
|
16
|
+
*/
|
|
17
|
+
declare class CDSContainedListItem extends LitElement {
|
|
18
|
+
/**
|
|
19
|
+
* Whether this item is clickable
|
|
20
|
+
*/
|
|
21
|
+
clickable: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Whether this item is disabled.
|
|
24
|
+
*/
|
|
25
|
+
disabled: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Handles slot change for icon
|
|
28
|
+
*/
|
|
29
|
+
private _handleIconSlotChange;
|
|
30
|
+
private _hasIcon;
|
|
31
|
+
/**
|
|
32
|
+
* Handles click event
|
|
33
|
+
*/
|
|
34
|
+
private _handleClick;
|
|
35
|
+
connectedCallback(): void;
|
|
36
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
37
|
+
/**
|
|
38
|
+
* The name of the custom event fired when a clickable item is clicked
|
|
39
|
+
*/
|
|
40
|
+
static get eventClick(): string;
|
|
41
|
+
static styles: any;
|
|
42
|
+
}
|
|
43
|
+
export default CDSContainedListItem;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2022, 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { LitElement } from 'lit';
|
|
8
|
+
export type Variants = 'on-page' | 'disclosed';
|
|
9
|
+
/**
|
|
10
|
+
* Contained list.
|
|
11
|
+
*
|
|
12
|
+
* @element cds-contained-list
|
|
13
|
+
* @slot - The list items (cds-contained-list-item elements)
|
|
14
|
+
* @slot action - The action slot for interactive elements in header
|
|
15
|
+
* @slot label - The label text
|
|
16
|
+
*/
|
|
17
|
+
declare class CDSContainedList extends LitElement {
|
|
18
|
+
/**
|
|
19
|
+
* Specify whether the dividing lines in between list items should be inset.
|
|
20
|
+
*/
|
|
21
|
+
isInset: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* The kind of ContainedList you want to display
|
|
24
|
+
*/
|
|
25
|
+
kind: Variants;
|
|
26
|
+
/**
|
|
27
|
+
* A label describing the contained list.
|
|
28
|
+
*/
|
|
29
|
+
label: string;
|
|
30
|
+
/**
|
|
31
|
+
* Specify the size of the contained list.
|
|
32
|
+
*/
|
|
33
|
+
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
34
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
35
|
+
static styles: any;
|
|
36
|
+
}
|
|
37
|
+
export default CDSContainedList;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2022, 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import './contained-list';
|
|
8
|
+
import './contained-list-item';
|
|
9
|
+
import './contained-list-description';
|
|
@@ -1403,6 +1403,10 @@ declare class CDSDropdown extends CDSDropdown_base {
|
|
|
1403
1403
|
* Currently slotted AI decorator nodes (`cds-ai-label`/slug) with listeners attached.
|
|
1404
1404
|
*/
|
|
1405
1405
|
private _aiDecoratorNodes;
|
|
1406
|
+
/**
|
|
1407
|
+
* Floating UI controller instance for autoalign positioning.
|
|
1408
|
+
*/
|
|
1409
|
+
private _floatingController;
|
|
1406
1410
|
/**
|
|
1407
1411
|
* Handles interaction on an AI decorator while the menu is open.
|
|
1408
1412
|
*/
|
|
@@ -1421,6 +1425,14 @@ declare class CDSDropdown extends CDSDropdown_base {
|
|
|
1421
1425
|
* The list box `<div>` node.
|
|
1422
1426
|
*/
|
|
1423
1427
|
protected _listBoxNode: HTMLDivElement;
|
|
1428
|
+
/**
|
|
1429
|
+
* The menu body element.
|
|
1430
|
+
*/
|
|
1431
|
+
protected _menuBodyNode: HTMLDivElement;
|
|
1432
|
+
/**
|
|
1433
|
+
* The trigger button element.
|
|
1434
|
+
*/
|
|
1435
|
+
protected _triggerButtonNode: HTMLDivElement;
|
|
1424
1436
|
/**
|
|
1425
1437
|
* The `<slot>` element for the helper text in the shadow DOM.
|
|
1426
1438
|
*/
|
|
@@ -1553,6 +1565,10 @@ declare class CDSDropdown extends CDSDropdown_base {
|
|
|
1553
1565
|
* Specify the direction of the dropdown. Can be either top or bottom.
|
|
1554
1566
|
*/
|
|
1555
1567
|
direction: DROPDOWN_DIRECTION;
|
|
1568
|
+
/**
|
|
1569
|
+
* Specify whether auto align functionality should be applied
|
|
1570
|
+
*/
|
|
1571
|
+
autoalign: boolean;
|
|
1556
1572
|
/**
|
|
1557
1573
|
* `true` if this dropdown should be disabled.
|
|
1558
1574
|
*/
|
|
@@ -1638,7 +1654,15 @@ declare class CDSDropdown extends CDSDropdown_base {
|
|
|
1638
1654
|
*/
|
|
1639
1655
|
get toggleLabel(): string;
|
|
1640
1656
|
shouldUpdate(changedProperties: any): boolean;
|
|
1641
|
-
updated(
|
|
1657
|
+
updated(changedProperties: any): void;
|
|
1658
|
+
/**
|
|
1659
|
+
* Clears Floating UI styles when auto-align is off or the menu closes.
|
|
1660
|
+
*/
|
|
1661
|
+
private _resetFloatingStyles;
|
|
1662
|
+
/**
|
|
1663
|
+
* Runs Floating UI placement while auto-align is active.
|
|
1664
|
+
*/
|
|
1665
|
+
private _updateAutoAlignPlacement;
|
|
1642
1666
|
/**
|
|
1643
1667
|
* Normalizes validation props based on disabled and readOnly states
|
|
1644
1668
|
*/
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp.2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import CDSNumberInputSkeleton from '../number-input/number-input-skeleton';
|
|
8
|
+
/**
|
|
9
|
+
* Fluid number input.
|
|
10
|
+
*
|
|
11
|
+
* @element cds-fluid-number-input-skeleton
|
|
12
|
+
*/
|
|
13
|
+
declare class CDSFluidNumberInputSkeleton extends CDSNumberInputSkeleton {
|
|
14
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
15
|
+
static styles: any[];
|
|
16
|
+
}
|
|
17
|
+
export default CDSFluidNumberInputSkeleton;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp.2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import CDSNumberInput from '../number-input/number-input';
|
|
8
|
+
/**
|
|
9
|
+
* Fluid number input.
|
|
10
|
+
*
|
|
11
|
+
* @element cds-fluid-number-input
|
|
12
|
+
*/
|
|
13
|
+
declare class CDSFluidNumberInput extends CDSNumberInput {
|
|
14
|
+
connectedCallback(): void;
|
|
15
|
+
updated(): void;
|
|
16
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
17
|
+
static styles: any[];
|
|
18
|
+
}
|
|
19
|
+
export default CDSFluidNumberInput;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { LitElement, PropertyValues } from 'lit';
|
|
8
8
|
import { MENU_ITEM_KIND, MENU_SIZE } from './defs';
|
|
9
9
|
export { MENU_ITEM_KIND, MENU_SIZE };
|
|
10
|
+
export declare const MENU_CLOSE_ROOT_EVENT = "cds-menu-close-root-request";
|
|
10
11
|
declare const CDSmenuItem_base: {
|
|
11
12
|
new (...args: any[]): {
|
|
12
13
|
_handles: Set<import("../../globals/internal/handle").default>;
|
|
@@ -459,6 +459,7 @@ declare class CDSMenu extends CDSMenu_base {
|
|
|
459
459
|
static get eventOnOpen(): string;
|
|
460
460
|
updated(changedProperties: any): void;
|
|
461
461
|
connectedCallback(): void;
|
|
462
|
+
disconnectedCallback(): void;
|
|
462
463
|
firstUpdated(): Promise<void>;
|
|
463
464
|
render(): import("lit-html").TemplateResult<1>;
|
|
464
465
|
_handleKeyDown: (e: KeyboardEvent) => void;
|
|
@@ -469,7 +470,9 @@ declare class CDSMenu extends CDSMenu_base {
|
|
|
469
470
|
_getPosition: (x: number | (number | null | undefined)[]) => number[] | undefined;
|
|
470
471
|
_calculatePosition: () => number[];
|
|
471
472
|
_handleOpen: () => Promise<void>;
|
|
472
|
-
dispatchCloseEvent: (e
|
|
473
|
+
dispatchCloseEvent: (e?: Event) => void;
|
|
474
|
+
private _handleClose;
|
|
475
|
+
private _handleRootCloseRequest;
|
|
473
476
|
_newContextCreate: () => void;
|
|
474
477
|
_registerMenuItems: () => void;
|
|
475
478
|
_setActiveItems: () => void;
|
|
@@ -8,7 +8,6 @@ import { LitElement } from 'lit';
|
|
|
8
8
|
import '../button/index';
|
|
9
9
|
import '../menu/index';
|
|
10
10
|
import { POPOVER_ALIGNMENT } from '../popover/defs';
|
|
11
|
-
import CDSMenu from '../menu/menu';
|
|
12
11
|
import CDSButton from '../button/button';
|
|
13
12
|
import { MENU_BUTTON_KIND, MENU_BUTTON_SIZE } from './defs';
|
|
14
13
|
import { MENU_BACKGROUND_TOKEN } from '../menu/defs';
|
|
@@ -368,7 +367,6 @@ declare const CDSMenuButton_base: {
|
|
|
368
367
|
declare class CDSMenuButton extends CDSMenuButton_base {
|
|
369
368
|
private _menuController;
|
|
370
369
|
_triggerNode: CDSButton;
|
|
371
|
-
_menuNode: CDSMenu;
|
|
372
370
|
private _open;
|
|
373
371
|
/**
|
|
374
372
|
* Specify whether the MenuButton should be disabled, or not.
|
|
@@ -402,9 +400,14 @@ declare class CDSMenuButton extends CDSMenuButton_base {
|
|
|
402
400
|
*/
|
|
403
401
|
tabIndex: number;
|
|
404
402
|
private _handleClick;
|
|
403
|
+
private _handleMousedown;
|
|
405
404
|
private _handleBlur;
|
|
405
|
+
private _handleKeydown;
|
|
406
|
+
private _handleMenuClosed;
|
|
406
407
|
updated(changedProperties: any): void;
|
|
407
408
|
render(): import("lit-html").TemplateResult<1>;
|
|
408
409
|
static styles: any;
|
|
410
|
+
private _closeMenu;
|
|
411
|
+
private _focusTrigger;
|
|
409
412
|
}
|
|
410
413
|
export default CDSMenuButton;
|
|
@@ -23,7 +23,7 @@ declare class CDSCalloutNotification extends CDSActionableNotification {
|
|
|
23
23
|
* Specify the notification kind, Defaults to 'info'.
|
|
24
24
|
*/
|
|
25
25
|
kind: NOTIFICATION_KIND;
|
|
26
|
-
protected _renderIcon():
|
|
26
|
+
protected _renderIcon(): import("lit-html/directive").DirectiveResult<typeof import("lit-html/directives/unsafe-svg").UnsafeSVGDirective> | null | undefined;
|
|
27
27
|
protected _renderText(): import("lit-html").TemplateResult<1>;
|
|
28
28
|
protected _renderButton(): import("lit-html").TemplateResult<1>;
|
|
29
29
|
connectedCallback(): void;
|
|
@@ -93,6 +93,10 @@ declare class CDSNumberInput extends CDSTextInput {
|
|
|
93
93
|
* Specify if the wheel functionality for the input should be disabled, or not
|
|
94
94
|
*/
|
|
95
95
|
disableWheel: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Set to true to use the fluid variant.
|
|
98
|
+
*/
|
|
99
|
+
isFluid: boolean;
|
|
96
100
|
/**
|
|
97
101
|
* The input box size.
|
|
98
102
|
*/
|
|
@@ -18,6 +18,10 @@ export { INPUT_COLOR_SCHEME, INPUT_SIZE, INPUT_TOOLTIP_ALIGNMENT, INPUT_TOOLTIP_
|
|
|
18
18
|
* @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.
|
|
19
19
|
*/
|
|
20
20
|
declare class CDSPasswordInput extends CDSTextInput {
|
|
21
|
+
/**
|
|
22
|
+
* The Show/Hide Password tooltip
|
|
23
|
+
*/
|
|
24
|
+
private _passwordTooltip?;
|
|
21
25
|
/**
|
|
22
26
|
* Handles `oninput` event on the `input`.
|
|
23
27
|
*
|
|
@@ -52,6 +56,7 @@ declare class CDSPasswordInput extends CDSTextInput {
|
|
|
52
56
|
*/
|
|
53
57
|
private handleTogglePasswordVisibility;
|
|
54
58
|
render(): import("lit-html").TemplateResult<1>;
|
|
59
|
+
firstUpdated(): Promise<void>;
|
|
55
60
|
/**
|
|
56
61
|
* A selector that will return the slug item.
|
|
57
62
|
*
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import { LitElement } from 'lit';
|
|
8
|
+
import '../tooltip/index';
|
|
8
9
|
declare const CDSSlider_base: {
|
|
9
10
|
new (...args: any[]): {
|
|
10
11
|
_handles: Set<import("../../globals/internal/handle").default>;
|
|
@@ -1105,6 +1106,7 @@ declare class CDSSlider extends CDSSlider_base {
|
|
|
1105
1106
|
* Handles `click` event on the `<label>` to focus on the thumb.
|
|
1106
1107
|
*/
|
|
1107
1108
|
_handleClickLabel(): void;
|
|
1109
|
+
private _setThumbTooltipOpen;
|
|
1108
1110
|
_handleFormdata(event: FormDataEvent): void;
|
|
1109
1111
|
/**
|
|
1110
1112
|
* Handles `keydown` event on the thumb to increase/decrease the value.
|
|
@@ -1171,6 +1173,11 @@ declare class CDSSlider extends CDSSlider_base {
|
|
|
1171
1173
|
* Specify whether you want the underlying label to be visually hidden
|
|
1172
1174
|
*/
|
|
1173
1175
|
hideLabel: boolean;
|
|
1176
|
+
/**
|
|
1177
|
+
* The callback to format the label associated with the minimum/maximum value
|
|
1178
|
+
* and the value tooltip when hideTextInput is true.
|
|
1179
|
+
*/
|
|
1180
|
+
formatLabel: (value: number, label: string | undefined) => string;
|
|
1174
1181
|
/**
|
|
1175
1182
|
* The formatter for the text for maximum value.
|
|
1176
1183
|
* Should be changed upon the locale the UI is rendered with.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright IBM Corp. 2019,
|
|
2
|
+
* Copyright IBM Corp. 2019, 2025
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -11,6 +11,10 @@ import { LitElement } from 'lit';
|
|
|
11
11
|
* Skeleton of text area.
|
|
12
12
|
*/
|
|
13
13
|
declare class CDSTextareaSkeleton extends LitElement {
|
|
14
|
+
/**
|
|
15
|
+
* Specify whether the label should be hidden, or not
|
|
16
|
+
*/
|
|
17
|
+
hideLabel: boolean;
|
|
14
18
|
render(): import("lit-html").TemplateResult<1>;
|
|
15
19
|
static styles: any;
|
|
16
20
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carbon/web-components",
|
|
3
3
|
"description": "Web components for the Carbon Design System",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.46.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "es/index.js",
|
|
7
7
|
"module": "es/index.js",
|
|
@@ -67,19 +67,18 @@
|
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
69
|
"@carbon/icon-helpers": "10.47.0",
|
|
70
|
-
"@carbon/icons": "^11.
|
|
71
|
-
"@carbon/styles": "^1.
|
|
70
|
+
"@carbon/icons": "^11.73.0",
|
|
71
|
+
"@carbon/styles": "^1.98.0",
|
|
72
72
|
"@floating-ui/dom": "^1.6.3",
|
|
73
73
|
"@ibm/telemetry-js": "^1.10.2",
|
|
74
74
|
"@lit/context": "^1.1.3",
|
|
75
75
|
"flatpickr": "4.6.13",
|
|
76
76
|
"lit": "^3.1.0",
|
|
77
77
|
"lodash-es": "^4.17.21",
|
|
78
|
-
"storybook-addon-accessibility-checker": "^9.2.0-rc.3",
|
|
79
78
|
"tslib": "^2.6.3"
|
|
80
79
|
},
|
|
81
80
|
"devDependencies": {
|
|
82
|
-
"@carbon/layout": "^11.
|
|
81
|
+
"@carbon/layout": "^11.46.0",
|
|
83
82
|
"@carbon/motion": "^11.39.0",
|
|
84
83
|
"@juggle/resize-observer": "^3.4.0",
|
|
85
84
|
"@mordech/vite-lit-loader": "^0.37.0",
|
|
@@ -132,5 +131,5 @@
|
|
|
132
131
|
}
|
|
133
132
|
]
|
|
134
133
|
},
|
|
135
|
-
"gitHead": "
|
|
134
|
+
"gitHead": "ce7846aab8a3a1afe9b03d2d07d267af6cdb6ac2"
|
|
136
135
|
}
|
|
@@ -60,7 +60,28 @@ $css--plex: true !default;
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
:host(#{$prefix}-combo-box[warn]) {
|
|
64
|
+
.#{$prefix}--form__helper-text {
|
|
65
|
+
color: $text-primary;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
63
69
|
:host(#{$prefix}-combo-box[read-only]) {
|
|
70
|
+
.#{$prefix}--combo-box,
|
|
71
|
+
.#{$prefix}--combo-box:hover {
|
|
72
|
+
background-color: transparent;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.#{$prefix}--text-input {
|
|
76
|
+
border-block-end-color: $border-subtle;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.#{$prefix}--list-box__menu-icon,
|
|
80
|
+
.#{$prefix}--list-box__selection {
|
|
81
|
+
cursor: default;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.#{$prefix}--list-box__menu-icon svg,
|
|
64
85
|
.#{$prefix}--list-box__selection svg {
|
|
65
86
|
fill: $icon-disabled;
|
|
66
87
|
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright IBM Corp. 2025
|
|
3
|
+
//
|
|
4
|
+
// This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
// LICENSE file in the root directory of this source tree.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
$css--plex: true !default;
|
|
9
|
+
|
|
10
|
+
@use '@carbon/styles/scss/config' as *;
|
|
11
|
+
@use '@carbon/styles/scss/spacing' as *;
|
|
12
|
+
@use '@carbon/styles/scss/theme' as *;
|
|
13
|
+
@use '@carbon/styles/scss/type' as *;
|
|
14
|
+
@use '@carbon/styles/scss/layout' as *;
|
|
15
|
+
@use '@carbon/styles/scss/components/contained-list';
|
|
16
|
+
@use '@carbon/styles/scss/components/form' as *;
|
|
17
|
+
:host(#{$prefix}-contained-list) {
|
|
18
|
+
@include emit-layout-tokens();
|
|
19
|
+
|
|
20
|
+
// CSS custom properties for slotted search component
|
|
21
|
+
--cds-search-background: #{$background};
|
|
22
|
+
--cds-search-border-bottom: 1px solid #{$border-subtle};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
:host(#{$prefix}-contained-list-item) {
|
|
26
|
+
display: block;
|
|
27
|
+
}
|
|
28
|
+
:host(#{$prefix}-contained-list-description) {
|
|
29
|
+
@include type-style('label-01');
|
|
30
|
+
|
|
31
|
+
display: inline-block;
|
|
32
|
+
margin: 0;
|
|
33
|
+
color: $text-secondary;
|
|
34
|
+
font-weight: $input-label-weight;
|
|
35
|
+
line-height: 1rem;
|
|
36
|
+
vertical-align: baseline;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
:host(#{$prefix}-contained-list-item:not(:last-of-type)) {
|
|
40
|
+
.#{$prefix}--contained-list-item::before {
|
|
41
|
+
position: absolute;
|
|
42
|
+
background-color: $border-subtle;
|
|
43
|
+
block-size: 1px;
|
|
44
|
+
content: '';
|
|
45
|
+
inset-block-end: 0;
|
|
46
|
+
inset-inline: 0;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp.2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
$css--plex: true !default;
|
|
9
|
+
@use '@carbon/styles/scss/config' as *;
|
|
10
|
+
@use '@carbon/styles/scss/components/fluid-number-input/index';
|
|
11
|
+
@use '@carbon/styles/scss/components/fluid-text-input' as *;
|
|
12
|
+
@use '@carbon/styles/scss/layout' as *;
|
|
13
|
+
@use '@carbon/styles/scss/spacing' as *;
|
|
14
|
+
@use '@carbon/styles/scss/theme';
|
|
15
|
+
@use '@carbon/styles/scss/type' as *;
|
|
16
|
+
@use '@carbon/styles/scss/utilities/skeleton' as *;
|
|
17
|
+
@use '@carbon/styles/scss/components/number-input/index' as *;
|
|
18
|
+
|
|
19
|
+
:host(#{$prefix}-fluid-number-input) {
|
|
20
|
+
@include emit-layout-tokens();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
:host(#{$prefix}-fluid-number-input-skeleton) {
|
|
24
|
+
@extend .#{$prefix}--text-input--fluid__skeleton;
|
|
25
|
+
|
|
26
|
+
display: block;
|
|
27
|
+
}
|
|
@@ -17,6 +17,7 @@ $css--plex: true !default;
|
|
|
17
17
|
|
|
18
18
|
:host(#{$prefix}-menu) {
|
|
19
19
|
position: fixed;
|
|
20
|
+
z-index: z('modal');
|
|
20
21
|
--grid-template: 1fr max-content;
|
|
21
22
|
--display-icon-item: none;
|
|
22
23
|
--display-selection-icon: none;
|
|
@@ -27,6 +28,7 @@ $css--plex: true !default;
|
|
|
27
28
|
--display-icon-item: flex;
|
|
28
29
|
}
|
|
29
30
|
.#{$prefix}--menu--with-selectable-items {
|
|
31
|
+
--grid-template: #{$spacing-05} 1fr max-content;
|
|
30
32
|
--display-selection-icon: flex;
|
|
31
33
|
}
|
|
32
34
|
|