@carbon/ibmdotcom-web-components 2.16.0-rc.1 → 2.16.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/custom-elements.json +38 -0
  2. package/dist/dotcom-shell.js +1 -1
  3. package/dist/dotcom-shell.min.js +1 -1
  4. package/dist/ibmdotcom-web-components-dotcom-shell.js +1 -1
  5. package/dist/ibmdotcom-web-components-dotcom-shell.min.js +1 -1
  6. package/dist/{index-9adbaa9d.js → index-7b01c58c.js} +8 -8
  7. package/dist/{index-8cac3be0.js → index-9db370ff.js} +8 -8
  8. package/dist/{left-nav-menu-53570549.js → left-nav-menu-303d0378.js} +1 -1
  9. package/dist/{left-nav-menu-8cd8b1e4.js → left-nav-menu-78b15285.js} +1 -1
  10. package/dist/{left-nav-menu-category-heading-73346ff2.js → left-nav-menu-category-heading-47a104b1.js} +1 -1
  11. package/dist/{left-nav-menu-category-heading-a1d47b2d.js → left-nav-menu-category-heading-d337e476.js} +1 -1
  12. package/dist/{left-nav-menu-item-424fbc38.js → left-nav-menu-item-0f8445a5.js} +1 -1
  13. package/dist/{left-nav-menu-item-eb3960f1.js → left-nav-menu-item-21850ed6.js} +1 -1
  14. package/dist/{left-nav-menu-section-11af02da.js → left-nav-menu-section-8c7e349b.js} +1 -1
  15. package/dist/{left-nav-menu-section-bb098a42.js → left-nav-menu-section-a9476892.js} +1 -1
  16. package/dist/{left-nav-overlay-7dc81ebd.js → left-nav-overlay-d2167380.js} +1 -1
  17. package/dist/{left-nav-overlay-c0fbd4e4.js → left-nav-overlay-ddd5be27.js} +1 -1
  18. package/dist/{megamenu-category-group-013b7ada.js → megamenu-category-group-5b5c265f.js} +1 -1
  19. package/dist/{megamenu-category-group-4c28432f.js → megamenu-category-group-ba20774b.js} +1 -1
  20. package/dist/{megamenu-category-group-copy-cea24421.js → megamenu-category-group-copy-255a8481.js} +1 -1
  21. package/dist/{megamenu-category-group-copy-3fefc47d.js → megamenu-category-group-copy-67540256.js} +1 -1
  22. package/dist/{megamenu-category-heading-1f25fc40.js → megamenu-category-heading-a8f9a212.js} +1 -1
  23. package/dist/{megamenu-category-heading-dd7dc85e.js → megamenu-category-heading-ba1eff54.js} +1 -1
  24. package/dist/{megamenu-category-link-bb3a8c97.js → megamenu-category-link-cd455946.js} +1 -1
  25. package/dist/{megamenu-category-link-128fbdda.js → megamenu-category-link-e840d032.js} +1 -1
  26. package/dist/{megamenu-category-link-group-7bfa5379.js → megamenu-category-link-group-c60932d0.js} +1 -1
  27. package/dist/{megamenu-category-link-group-1f3fe858.js → megamenu-category-link-group-e18a124c.js} +1 -1
  28. package/dist/{megamenu-left-navigation-38facd4c.js → megamenu-left-navigation-6bfb8bd3.js} +1 -1
  29. package/dist/{megamenu-left-navigation-078809ef.js → megamenu-left-navigation-74c721c1.js} +1 -1
  30. package/dist/{megamenu-overlay-5accfa0c.js → megamenu-overlay-a0e4cd53.js} +1 -1
  31. package/dist/{megamenu-overlay-a466a800.js → megamenu-overlay-be0b03f0.js} +1 -1
  32. package/dist/{megamenu-tab-e87a8e2c.js → megamenu-tab-7ff41f58.js} +1 -1
  33. package/dist/{megamenu-tab-ad5a23fa.js → megamenu-tab-d8435c6b.js} +1 -1
  34. package/es/components/back-to-top/__stories__/back-to-top.stories.css.js +1 -1
  35. package/es/components/button/button.d.ts +2 -1
  36. package/es/components/button/button.js +5 -4
  37. package/es/components/button/button.js.map +1 -1
  38. package/es/components/callout-with-media/callout-with-media.css.js +1 -1
  39. package/es/components/card/card.css.js +1 -1
  40. package/es/components/card/card.js +1 -1
  41. package/es/components/card/card.js.map +1 -1
  42. package/es/components/card-group/card-group.css.js +1 -1
  43. package/es/components/card-in-card/card-in-card.css.js +1 -1
  44. package/es/components/card-link/card-link.css.js +1 -1
  45. package/es/components/card-section-offset/card-section-offset.css.js +1 -1
  46. package/es/components/card-section-simple/card-section-simple.css.js +1 -1
  47. package/es/components/content-block/content-block.css.js +1 -1
  48. package/es/components/content-block-cards/content-block-cards.css.js +1 -1
  49. package/es/components/content-block-headlines/content-block-headlines.css.js +1 -1
  50. package/es/components/content-block-horizontal/content-block-horizontal.css.js +1 -1
  51. package/es/components/content-block-media/content-block-media.css.js +1 -1
  52. package/es/components/content-block-mixed/content-block-mixed.css.js +1 -1
  53. package/es/components/content-block-segmented/content-block-segmented.css.js +1 -1
  54. package/es/components/content-block-simple/content-block-simple.css.js +1 -1
  55. package/es/components/content-group/content-group.css.js +1 -1
  56. package/es/components/content-group-cards/content-group-cards.css.js +1 -1
  57. package/es/components/content-group-simple/content-group-simple.css.js +1 -1
  58. package/es/components/content-item-row/content-item-row-media.css.js +1 -1
  59. package/es/components/content-item-row/content-item-row.css.js +1 -1
  60. package/es/components/cta/cta.css.js +1 -1
  61. package/es/components/cta-block/cta-block.css.js +1 -1
  62. package/es/components/dotcom-shell/dotcom-shell.css.js +1 -1
  63. package/es/components/feature-card/feature-card.css.js +1 -1
  64. package/es/components/footer/footer.css.js +1 -1
  65. package/es/components/leadspace/leadspace.css.js +1 -1
  66. package/es/components/leadspace-block/leadspace-block.css.js +1 -1
  67. package/es/components/leadspace-with-search/leadspace-with-search.css.js +1 -1
  68. package/es/components/link-list/link-list.css.js +1 -1
  69. package/es/components/locale-modal/locale-modal.css.js +1 -1
  70. package/es/components/logo-grid/logo-grid.css.js +1 -1
  71. package/es/components/masthead/masthead.css.js +1 -1
  72. package/es/components/notice-choice/notice-choice.css.js +1 -1
  73. package/es/components/notice-choice/notice-choice.d.ts +8 -0
  74. package/es/components/notice-choice/notice-choice.js +209 -7
  75. package/es/components/notice-choice/notice-choice.js.map +1 -1
  76. package/es/components/notice-choice/services.d.ts +1 -1
  77. package/es/components/notice-choice/services.js +3 -2
  78. package/es/components/notice-choice/services.js.map +1 -1
  79. package/es/components/notice-choice/utils.js +4 -1
  80. package/es/components/notice-choice/utils.js.map +1 -1
  81. package/es/components/table-of-contents/__stories__/table-of-contents.stories.css.js +1 -1
  82. package/es/components/table-of-contents/table-of-contents-cdn.css.js +1 -1
  83. package/es/components/table-of-contents/table-of-contents.css.js +1 -1
  84. package/es/components/tabs-extended-media/tabs-extended-media.css.js +1 -1
  85. package/package.json +5 -5
  86. package/scss/components/table-of-contents/__stories__/table-of-contents.stories.scss +2 -2
@@ -7,11 +7,12 @@
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
9
  import CDSButton from '@carbon/web-components/es/components/button/button.js';
10
+ import { CTA_TYPE } from '../cta/defs';
10
11
  declare const C4DButton_base: {
11
12
  new (...args: any[]): {
12
13
  _linkNode: any;
13
14
  _handleClick(event: MouseEvent): void;
14
- ctaType: import("../cta/defs").CTA_TYPE;
15
+ ctaType: CTA_TYPE;
15
16
  disabled?: boolean;
16
17
  download?: string;
17
18
  href?: string;
@@ -16,15 +16,15 @@ function _superPropGet(t, e, r, o) { var p = _get(_getPrototypeOf(1 & o ? t.prot
16
16
  * LICENSE file in the root directory of this source tree.
17
17
  */
18
18
 
19
- import { LitElement, html } from 'lit';
19
+ import { html, LitElement } from 'lit';
20
20
  import { property, query } from 'lit/decorators.js';
21
21
  import settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';
22
22
  import styles from "././button.css.js";
23
23
  import StableSelectorMixin from "../../globals/mixins/stable-selector.js";
24
24
  import { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';
25
- import CTAMixin from "../../component-mixins/cta/cta.js";
25
+ import CTAMixin, { ariaLabels, icons } from "../../component-mixins/cta/cta.js";
26
26
  import CDSButton from '@carbon/web-components/es/components/button/button.js';
27
- import { ariaLabels, icons } from "../../component-mixins/cta/cta.js";
27
+ import { CTA_TYPE } from "../cta/defs.js";
28
28
  const {
29
29
  prefix,
30
30
  stablePrefix: c4dPrefix
@@ -135,7 +135,8 @@ let C4DButton = _decorate([customElement(`${c4dPrefix}-button`)], function (_ini
135
135
  key: "_handleVideoTitleUpdate",
136
136
  value() {
137
137
  return async event => {
138
- if (event) {
138
+ var _event$detail;
139
+ if (event && this.ctaType === CTA_TYPE.VIDEO && this.href === ((_event$detail = event.detail) === null || _event$detail === void 0 ? void 0 : _event$detail.videoId)) {
139
140
  var _this$textContent;
140
141
  const {
141
142
  videoDuration,
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","names":["LitElement","html","property","query","settings","styles","StableSelectorMixin","carbonElement","customElement","CTAMixin","CDSButton","ariaLabels","icons","prefix","stablePrefix","c4dPrefix","C4DButton","_decorate","_initialize","_CTAMixin","constructor","args","F","d","kind","decorators","key","value","type","Boolean","reflect","_handleDisabledClick","event","_superPropGet","_renderIconPrintStyles","_t","_","href","_renderButtonIcon","_icons","_icon","ctaType","icon","document","dir","strings","join","_this$textContent","videoDuration","videoName","detail","formatVideoDuration","formatVideoCaption","formattedVideoDuration","duration","videoTitle","name","textContent","trim","title","createTextNode","appendChild","connectedCallback","eventRequestAdditionalVideoData","addEventListener","_handleVideoTitleUpdate","disconnectedCallback","removeEventListener","updated","changedProperties","has","_iconDiv$querySelecto","_iconDiv$querySelecto2","iconDiv","_this$shadowRoot","shadowRoot","querySelector","remove","innerHTML","classList","add","static","_objectSpread","shadowRootOptions","delegatesFocus"],"sources":["components/button/button.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2024\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport styles from './button.scss';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\nimport CTAMixin from '../../component-mixins/cta/cta';\nimport CDSButton from '@carbon/web-components/es/components/button/button.js';\n\nimport { ariaLabels, icons } from '../../component-mixins/cta/cta';\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * Button.\n *\n * @element c4d-button\n * @csspart button - The button. Usage: `c4d-button::part(button)`\n * @csspart hidden-paragraph - The hidden paragraph that contains the link. Usage: `c4d-button::part(hidden-paragraph)`\n * @csspart hidden-icon-span - The span element inside the hidden paragraph. Usage: `c4d-button::part(hidden-icon-span)`\n * @csspart visually-hidden-span - The visually hidden span element for accessibility. Usage: `c4d-button::part(visually-hidden-span)`\n */\n@customElement(`${c4dPrefix}-button`)\n// @ts-ignore\nclass C4DButton extends CTAMixin(StableSelectorMixin(CDSButton)) {\n @query('a')\n _linkNode;\n\n @property()\n iconDiv;\n\n @property()\n span;\n\n /**\n * `true` if expressive theme enabled.\n */\n @property({ type: Boolean, reflect: true })\n isExpressive = true;\n\n _handleDisabledClick(event: Event) {\n super._handleClick(event as any);\n }\n\n /**\n * TODO: Due to the new render() logic coming from the CWC v2 button,\n * this function is currently unused. We'd need to dynamically add it.\n *\n * @returns The icon for the print styles\n */\n _renderIconPrintStyles() {\n return html`\n <p\n class=\"${prefix}--btn--hidden\"\n aria-hidden=\"true\"\n part=\"hidden-paragraph\">\n <span part=\"hidden-icon-span\">:</span> ${this.href}\n </p>\n <slot name=\"icon\"></slot>\n `;\n }\n\n /**\n * @returns The template for the icon.\n */\n _renderButtonIcon() {\n const { ctaType } = this;\n const icon = icons[`${ctaType}-${document.dir}`] ?? icons[ctaType];\n return `\n <span class=\"${prefix}--visually-hidden\" part=\"visually-hidden-span\">${\n ariaLabels[ctaType]\n }</span>\n ${icon?.()?.strings?.join()}\n `;\n }\n\n /**\n * Handles button video title\n *\n * @param event The event.\n */\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleVideoTitleUpdate = async (event) => {\n if (event) {\n const { videoDuration, videoName } = event.detail as any;\n const { formatVideoDuration, formatVideoCaption } = this;\n const formattedVideoDuration = formatVideoDuration({\n duration: !videoDuration ? videoDuration : videoDuration * 1000,\n });\n this.videoDuration ? null : (this.videoDuration = formattedVideoDuration);\n\n this.videoTitle = formatVideoCaption({\n duration: formattedVideoDuration,\n name: videoName,\n });\n\n if (this.textContent?.trim() === '') {\n const title = document.createTextNode(this.videoTitle);\n this.appendChild(title);\n }\n }\n };\n\n connectedCallback() {\n super.connectedCallback();\n const { eventRequestAdditionalVideoData } = this\n .constructor as typeof C4DButton;\n document.addEventListener(\n eventRequestAdditionalVideoData,\n this._handleVideoTitleUpdate\n );\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n const { eventRequestAdditionalVideoData } = this\n .constructor as typeof C4DButton;\n document.removeEventListener(\n eventRequestAdditionalVideoData,\n this._handleVideoTitleUpdate\n );\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n\n if (changedProperties.has('ctaType')) {\n if (!this.iconDiv) {\n this.iconDiv = this.shadowRoot?.querySelector(\"slot[name='icon']\");\n }\n\n const { iconDiv } = this;\n\n iconDiv.querySelector('svg')?.remove();\n iconDiv.innerHTML = this._renderButtonIcon();\n iconDiv\n ?.querySelector('svg')\n ?.classList.add(`${prefix}--card__cta`, `${c4dPrefix}-ce--cta__icon`);\n }\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--button`;\n }\n\n /**\n * The name of the custom event fired when there is a user gesture to run the action.\n */\n static get eventRequestAdditionalVideoData() {\n return `${c4dPrefix}-cta-request-additional-video-data`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default C4DButton;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"button.js","names":["html","LitElement","property","query","settings","styles","StableSelectorMixin","carbonElement","customElement","CTAMixin","ariaLabels","icons","CDSButton","CTA_TYPE","prefix","stablePrefix","c4dPrefix","C4DButton","_decorate","_initialize","_CTAMixin","constructor","args","F","d","kind","decorators","key","value","type","Boolean","reflect","_handleDisabledClick","event","_superPropGet","_renderIconPrintStyles","_t","_","href","_renderButtonIcon","_icons","_icon","ctaType","icon","document","dir","strings","join","_event$detail","VIDEO","detail","videoId","_this$textContent","videoDuration","videoName","formatVideoDuration","formatVideoCaption","formattedVideoDuration","duration","videoTitle","name","textContent","trim","title","createTextNode","appendChild","connectedCallback","eventRequestAdditionalVideoData","addEventListener","_handleVideoTitleUpdate","disconnectedCallback","removeEventListener","updated","changedProperties","has","_iconDiv$querySelecto","_iconDiv$querySelecto2","iconDiv","_this$shadowRoot","shadowRoot","querySelector","remove","innerHTML","classList","add","static","_objectSpread","shadowRootOptions","delegatesFocus"],"sources":["components/button/button.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2024\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 { html, LitElement } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport styles from './button.scss';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\nimport CTAMixin, { ariaLabels, icons } from '../../component-mixins/cta/cta';\nimport CDSButton from '@carbon/web-components/es/components/button/button.js';\nimport { CTA_TYPE } from '../cta/defs';\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * Button.\n *\n * @element c4d-button\n * @csspart button - The button. Usage: `c4d-button::part(button)`\n * @csspart hidden-paragraph - The hidden paragraph that contains the link. Usage: `c4d-button::part(hidden-paragraph)`\n * @csspart hidden-icon-span - The span element inside the hidden paragraph. Usage: `c4d-button::part(hidden-icon-span)`\n * @csspart visually-hidden-span - The visually hidden span element for accessibility. Usage: `c4d-button::part(visually-hidden-span)`\n */\n@customElement(`${c4dPrefix}-button`)\n// @ts-ignore\nclass C4DButton extends CTAMixin(StableSelectorMixin(CDSButton)) {\n @query('a')\n _linkNode;\n\n @property()\n iconDiv;\n\n @property()\n span;\n\n /**\n * `true` if expressive theme enabled.\n */\n @property({ type: Boolean, reflect: true })\n isExpressive = true;\n\n _handleDisabledClick(event: Event) {\n super._handleClick(event as any);\n }\n\n /**\n * TODO: Due to the new render() logic coming from the CWC v2 button,\n * this function is currently unused. We'd need to dynamically add it.\n *\n * @returns The icon for the print styles\n */\n _renderIconPrintStyles() {\n return html`\n <p\n class=\"${prefix}--btn--hidden\"\n aria-hidden=\"true\"\n part=\"hidden-paragraph\">\n <span part=\"hidden-icon-span\">:</span> ${this.href}\n </p>\n <slot name=\"icon\"></slot>\n `;\n }\n\n /**\n * @returns The template for the icon.\n */\n _renderButtonIcon() {\n const { ctaType } = this;\n const icon = icons[`${ctaType}-${document.dir}`] ?? icons[ctaType];\n return `\n <span class=\"${prefix}--visually-hidden\" part=\"visually-hidden-span\">${\n ariaLabels[ctaType]\n }</span>\n ${icon?.()?.strings?.join()}\n `;\n }\n\n /**\n * Handles button video title\n *\n * @param event The event.\n */\n // @ts-ignore: The decorator refers to this method but TS thinks this method is not referred to\n private _handleVideoTitleUpdate = async (event) => {\n if (\n event &&\n this.ctaType === CTA_TYPE.VIDEO &&\n this.href === event.detail?.videoId\n ) {\n const { videoDuration, videoName } = event.detail as any;\n const { formatVideoDuration, formatVideoCaption } = this;\n const formattedVideoDuration = formatVideoDuration({\n duration: !videoDuration ? videoDuration : videoDuration * 1000,\n });\n this.videoDuration ? null : (this.videoDuration = formattedVideoDuration);\n\n this.videoTitle = formatVideoCaption({\n duration: formattedVideoDuration,\n name: videoName,\n });\n\n if (this.textContent?.trim() === '') {\n const title = document.createTextNode(this.videoTitle);\n this.appendChild(title);\n }\n }\n };\n\n connectedCallback() {\n super.connectedCallback();\n const { eventRequestAdditionalVideoData } = this\n .constructor as typeof C4DButton;\n document.addEventListener(\n eventRequestAdditionalVideoData,\n this._handleVideoTitleUpdate\n );\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n const { eventRequestAdditionalVideoData } = this\n .constructor as typeof C4DButton;\n document.removeEventListener(\n eventRequestAdditionalVideoData,\n this._handleVideoTitleUpdate\n );\n }\n\n updated(changedProperties) {\n super.updated(changedProperties);\n\n if (changedProperties.has('ctaType')) {\n if (!this.iconDiv) {\n this.iconDiv = this.shadowRoot?.querySelector(\"slot[name='icon']\");\n }\n\n const { iconDiv } = this;\n\n iconDiv.querySelector('svg')?.remove();\n iconDiv.innerHTML = this._renderButtonIcon();\n iconDiv\n ?.querySelector('svg')\n ?.classList.add(`${prefix}--card__cta`, `${c4dPrefix}-ce--cta__icon`);\n }\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--button`;\n }\n\n /**\n * The name of the custom event fired when there is a user gesture to run the action.\n */\n static get eventRequestAdditionalVideoData() {\n return `${c4dPrefix}-cta-request-additional-video-data`;\n }\n\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default C4DButton;\n"],"mappings":"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","ignoreList":[]}