@carbon/ibmdotcom-web-components 2.14.0-rc.2 → 2.14.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.
Files changed (74) hide show
  1. package/custom-elements.json +6 -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-5d7afdba.js → index-9dd5e6e3.js} +20 -16
  7. package/dist/{index-abc0d4e3.js → index-c138c96a.js} +51 -22
  8. package/dist/{left-nav-menu-2fc47939.js → left-nav-menu-2e0916af.js} +1 -1
  9. package/dist/{left-nav-menu-28e1bdb5.js → left-nav-menu-8e555d23.js} +1 -1
  10. package/dist/{left-nav-menu-category-heading-6d77a5e1.js → left-nav-menu-category-heading-1860e7fd.js} +1 -1
  11. package/dist/{left-nav-menu-category-heading-3bb72117.js → left-nav-menu-category-heading-2044ec21.js} +1 -1
  12. package/dist/{left-nav-menu-item-40dbd3b5.js → left-nav-menu-item-d11d809f.js} +1 -1
  13. package/dist/{left-nav-menu-item-1245d713.js → left-nav-menu-item-f14e72e6.js} +1 -1
  14. package/dist/{left-nav-menu-section-b4c1d780.js → left-nav-menu-section-7283b3fb.js} +1 -1
  15. package/dist/{left-nav-menu-section-231c62aa.js → left-nav-menu-section-9baa67a2.js} +1 -1
  16. package/dist/{left-nav-overlay-06a61a18.js → left-nav-overlay-14250cfc.js} +1 -1
  17. package/dist/{left-nav-overlay-1671fe40.js → left-nav-overlay-d2fa960a.js} +1 -1
  18. package/dist/{megamenu-category-group-23d970bf.js → megamenu-category-group-3a791e84.js} +1 -1
  19. package/dist/{megamenu-category-group-ce4d7b95.js → megamenu-category-group-3a7b8613.js} +1 -1
  20. package/dist/{megamenu-category-group-copy-7bfc7e66.js → megamenu-category-group-copy-675eb284.js} +1 -1
  21. package/dist/{megamenu-category-group-copy-2482f4b6.js → megamenu-category-group-copy-b4997af4.js} +1 -1
  22. package/dist/{megamenu-category-heading-4fe8f783.js → megamenu-category-heading-382bfb48.js} +1 -1
  23. package/dist/{megamenu-category-heading-70a85af3.js → megamenu-category-heading-7cb48868.js} +1 -1
  24. package/dist/{megamenu-category-link-21c056ab.js → megamenu-category-link-63b77444.js} +1 -1
  25. package/dist/{megamenu-category-link-cf6fdbc4.js → megamenu-category-link-87eb9e82.js} +5 -5
  26. package/dist/{megamenu-category-link-group-a091707c.js → megamenu-category-link-group-1729a266.js} +1 -1
  27. package/dist/{megamenu-category-link-group-b8c5dd52.js → megamenu-category-link-group-ffbd8d5b.js} +1 -1
  28. package/dist/{megamenu-left-navigation-f003806e.js → megamenu-left-navigation-055efc65.js} +1 -1
  29. package/dist/{megamenu-left-navigation-56fc8c71.js → megamenu-left-navigation-1aa67300.js} +1 -1
  30. package/dist/{megamenu-overlay-6f678d23.js → megamenu-overlay-77d8c8e0.js} +1 -1
  31. package/dist/{megamenu-overlay-3d38c275.js → megamenu-overlay-d8cd7ea5.js} +1 -1
  32. package/dist/{megamenu-tab-6bf27254.js → megamenu-tab-c528abd3.js} +1 -1
  33. package/dist/{megamenu-tab-3f211510.js → megamenu-tab-e774336c.js} +1 -1
  34. package/es/components/back-to-top/__stories__/back-to-top.stories.css.js +1 -1
  35. package/es/components/card/card.css.js +1 -1
  36. package/es/components/card/card.d.ts +9 -1
  37. package/es/components/card/card.js +44 -15
  38. package/es/components/card/card.js.map +1 -1
  39. package/es/components/card-group/card-group.css.js +1 -1
  40. package/es/components/card-in-card/card-in-card.css.js +1 -1
  41. package/es/components/card-link/card-link.css.js +1 -1
  42. package/es/components/card-section-offset/card-section-offset.css.js +1 -1
  43. package/es/components/card-section-simple/card-section-simple.css.js +1 -1
  44. package/es/components/content-block/content-block.css.js +1 -1
  45. package/es/components/content-block-cards/content-block-cards.css.js +1 -1
  46. package/es/components/content-block-horizontal/content-block-horizontal.css.js +1 -1
  47. package/es/components/content-block-media/content-block-media.css.js +1 -1
  48. package/es/components/content-block-mixed/content-block-mixed.css.js +1 -1
  49. package/es/components/content-block-segmented/content-block-segmented.css.js +1 -1
  50. package/es/components/content-block-simple/content-block-simple.css.js +1 -1
  51. package/es/components/content-group/content-group-heading.d.ts +6 -0
  52. package/es/components/content-group/content-group-heading.js +26 -5
  53. package/es/components/content-group/content-group-heading.js.map +1 -1
  54. package/es/components/content-group/content-group.css.js +1 -1
  55. package/es/components/content-group-cards/content-group-cards.css.js +1 -1
  56. package/es/components/content-group-simple/content-group-simple.css.js +1 -1
  57. package/es/components/content-item-row/content-item-row-media.css.js +1 -1
  58. package/es/components/content-item-row/content-item-row.css.js +1 -1
  59. package/es/components/cta/cta.css.js +1 -1
  60. package/es/components/cta/feature-cta.js +12 -9
  61. package/es/components/cta/feature-cta.js.map +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/in-page-banner/in-page-banner.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/masthead/masthead.css.js +1 -1
  71. package/es/components/tabs-extended-media/tabs-extended-media.css.js +1 -1
  72. package/es/components-react/content-group/content-group-heading.d.ts +1 -0
  73. package/package.json +5 -5
  74. package/scss/components/content-block-simple/content-block-simple.scss +4 -0
@@ -20,7 +20,7 @@ import { html } from 'lit';
20
20
  import { property } from 'lit/decorators.js';
21
21
  import settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';
22
22
  import { ifDefined } from 'lit/directives/if-defined.js';
23
- import PlayVideo from "../../icons/play-video.js";
23
+ import PlayFilled from '@carbon/web-components/es/icons/play--filled/32.js';
24
24
  import { formatVideoCaption, formatVideoDuration } from '@carbon/ibmdotcom-utilities/es/utilities/formatVideoCaption/formatVideoCaption.js';
25
25
  import C4DFeatureCard from "../feature-card/feature-card.js";
26
26
  import CTAMixin from "../../component-mixins/cta/cta-v1.js";
@@ -62,7 +62,8 @@ let C4DFeatureCTA = _decorate([customElement(`${c4dPrefix}-feature-cta`)], funct
62
62
  videoDuration,
63
63
  videoName,
64
64
  formatVideoCaption: formatCaptionInEffect,
65
- formatVideoDuration: formatDurationInEffect
65
+ formatVideoDuration: formatDurationInEffect,
66
+ _hasCopy: hasCopy
66
67
  } = this;
67
68
  if (ctaType !== CTA_TYPE.VIDEO) {
68
69
  return _superPropGet(C4DFeatureCTA, "_renderCopy", this, 3)([]);
@@ -75,10 +76,10 @@ let C4DFeatureCTA = _decorate([customElement(`${c4dPrefix}-feature-cta`)], funct
75
76
  });
76
77
  this.captionHeading = caption;
77
78
  return html(_t || (_t = _`
78
- <div class="${0}--card__copy" part="copy">
79
+ <div ?hidden="${0}" class="${0}--card__copy" part="copy">
79
80
  <slot @slotchange="${0}"></slot>
80
81
  </div>
81
- `), prefix, this._handleSlotChange);
82
+ `), !hasCopy, prefix, this._handleCopySlotChange);
82
83
  }
83
84
  }, {
84
85
  kind: "method",
@@ -98,14 +99,16 @@ let C4DFeatureCTA = _decorate([customElement(`${c4dPrefix}-feature-cta`)], funct
98
99
  slot="image">
99
100
  ${0}
100
101
  </c4d-image>
101
- `), ifDefined(videoName), ifDefined(thumbnail || videoThumbnailUrl), PlayVideo({
102
+ `), ifDefined(videoName), ifDefined(thumbnail || videoThumbnailUrl), PlayFilled({
102
103
  slot: 'icon'
103
104
  }));
104
105
  return noPoster ? undefined : html(_t3 || (_t3 = _`
105
- <slot name="image" @slotchange="${0}"
106
- >${0}</slot
107
- >
108
- `), this._handleSlotChange, image);
106
+ <div part="image-wrapper" class="${0}--card__image-wrapper">
107
+ <slot name="image" @slotchange="${0}">
108
+ ${0}
109
+ </slot>
110
+ </div>
111
+ `), prefix, this._handleSlotChange, image);
109
112
  }
110
113
 
111
114
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"feature-cta.js","names":["html","property","settings","ifDefined","PlayVideo","formatVideoCaption","formatVideoDuration","C4DFeatureCard","CTAMixin","VideoCTAMixin","CTA_TYPE","styles","carbonElement","customElement","prefix","stablePrefix","c4dPrefix","C4DFeatureCTA","_decorate","_initialize","_VideoCTAMixin","constructor","args","F","d","kind","key","value","_renderCopy","ctaType","videoDuration","videoName","formatCaptionInEffect","formatDurationInEffect","VIDEO","_superPropGet","caption","duration","name","captionHeading","_t","_","_handleSlotChange","_renderImage","noPoster","thumbnail","videoThumbnailUrl","image","undefined","_t2","slot","_t3","decorators","attribute","reflect","REGULAR","type","Boolean","Number","updated","changedProperties","selectorFooter","has","videoDescription","footer","querySelector","altAriaLabel","heading","selectorHeading","innerText","static","console","warn"],"sources":["components/cta/feature-cta.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// @ts-nocheck\n\nimport { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport PlayVideo from '@carbon/ibmdotcom-styles/icons/svg/play-video.svg';\nimport {\n formatVideoCaption,\n formatVideoDuration,\n} from '@carbon/ibmdotcom-utilities/es/utilities/formatVideoCaption/formatVideoCaption.js';\nimport C4DFeatureCard from '../feature-card/feature-card';\nimport CTAMixin from '../../component-mixins/cta/cta-v1';\nimport VideoCTAMixin from '../../component-mixins/cta/video';\nimport C4DFeatureCTAFooter from './feature-cta-footer';\nimport './feature-cta-footer';\nimport { CTA_TYPE } from './defs';\nimport styles from './cta.scss';\n\nimport '../card/card-eyebrow';\nimport '../card/card-heading';\nimport '../image/image';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nexport { CTA_TYPE };\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * Feature CTA.\n *\n * @element c4d-feature-cta\n * @csspart copy - The copy content. Usage: `c4d-feature-cta::part(copy)`\n */\n@customElement(`${c4dPrefix}-feature-cta`)\nclass C4DFeatureCTA extends VideoCTAMixin(CTAMixin(C4DFeatureCard)) {\n protected _renderCopy() {\n const {\n ctaType,\n videoDuration,\n videoName,\n formatVideoCaption: formatCaptionInEffect,\n formatVideoDuration: formatDurationInEffect,\n } = this;\n if (ctaType !== CTA_TYPE.VIDEO) {\n return super._renderCopy();\n }\n const caption = formatCaptionInEffect({\n duration: formatDurationInEffect({\n duration: !videoDuration ? videoDuration : videoDuration * 1000,\n }),\n name: videoName,\n });\n\n this.captionHeading = caption;\n\n return html`\n <div class=\"${prefix}--card__copy\" part=\"copy\">\n <slot @slotchange=\"${this._handleSlotChange}\"></slot>\n </div>\n `;\n }\n\n protected _renderImage() {\n const { ctaType, noPoster, thumbnail, videoName, videoThumbnailUrl } = this;\n const image =\n ctaType !== CTA_TYPE.VIDEO || noPoster\n ? undefined\n : html`\n <c4d-image\n alt=\"${ifDefined(videoName)}\"\n default-src=\"${ifDefined(thumbnail || videoThumbnailUrl)}\"\n slot=\"image\">\n ${PlayVideo({ slot: 'icon' })}\n </c4d-image>\n `;\n return noPoster\n ? undefined\n : html`\n <slot name=\"image\" @slotchange=\"${this._handleSlotChange}\"\n >${image}</slot\n >\n `;\n }\n\n /**\n * The video caption to replace the heading with.\n */\n @property({ attribute: false })\n captionHeading;\n\n /**\n * The CTA type.\n */\n @property({ reflect: true, attribute: 'cta-type' })\n ctaType = CTA_TYPE.REGULAR;\n\n /**\n * The formatter for the video caption, composed with the video name and the video duration.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatVideoCaption = formatVideoCaption;\n\n /**\n * The formatter for the video duration.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatVideoDuration = formatVideoDuration;\n\n /**\n * Set `true` if Poster Video Image should not be shown.\n */\n @property({ type: Boolean, reflect: true, attribute: 'no-poster' })\n noPoster = false;\n\n /**\n * Optional custom video thumbnail\n */\n @property({ reflect: true, attribute: 'thumbnail' })\n thumbnail?: '';\n\n /**\n * The video duration.\n */\n @property({ type: Number, attribute: 'video-duration' })\n videoDuration?: number;\n\n /**\n * The video name.\n */\n @property({ attribute: 'video-name' })\n videoName?: string;\n\n /**\n * The custom video description.\n */\n @property({ attribute: 'video-description' })\n videoDescription?: string;\n\n /**\n * The video thumbnail URL.\n */\n videoThumbnailUrl?: string;\n\n updated(changedProperties) {\n super.updated(changedProperties);\n const { selectorFooter } = this.constructor as typeof C4DFeatureCTA;\n if (\n changedProperties.has('ctaType') ||\n changedProperties.has('videoName') ||\n changedProperties.has('captionHeading')\n ) {\n const { ctaType, videoName, videoDescription } = this;\n const footer = this.querySelector(selectorFooter);\n if (footer) {\n (footer as C4DFeatureCTAFooter).ctaType = ctaType;\n (footer as C4DFeatureCTAFooter).altAriaLabel =\n this.videoName || this.captionHeading;\n (footer as C4DFeatureCTAFooter).videoName = videoName;\n (footer as C4DFeatureCTAFooter).videoDescription = videoDescription;\n }\n }\n if (changedProperties.has('captionHeading')) {\n const heading = this.querySelector(\n (this.constructor as typeof C4DFeatureCTA).selectorHeading\n ) as HTMLElement;\n\n if (heading) {\n heading!.innerText = this.captionHeading;\n }\n }\n }\n\n /**\n * A selector that will return the child heading.\n */\n static get selectorHeading() {\n return `${c4dPrefix}-card-heading`;\n }\n\n /**\n * A selector that will return the child footer.\n */\n static get selectorFooter() {\n return `${c4dPrefix}-feature-cta-footer`;\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--feature-cta`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nconsole.warn(\n `The c4d-feature-cta component has been deprecated. All its features have been absorbed into\n the base c4d-feature-card component. See migration guide for more information.`\n);\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default C4DFeatureCTA;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"feature-cta.js","names":["html","property","settings","ifDefined","PlayFilled","formatVideoCaption","formatVideoDuration","C4DFeatureCard","CTAMixin","VideoCTAMixin","CTA_TYPE","styles","carbonElement","customElement","prefix","stablePrefix","c4dPrefix","C4DFeatureCTA","_decorate","_initialize","_VideoCTAMixin","constructor","args","F","d","kind","key","value","_renderCopy","ctaType","videoDuration","videoName","formatCaptionInEffect","formatDurationInEffect","_hasCopy","hasCopy","VIDEO","_superPropGet","caption","duration","name","captionHeading","_t","_","_handleCopySlotChange","_renderImage","noPoster","thumbnail","videoThumbnailUrl","image","undefined","_t2","slot","_t3","_handleSlotChange","decorators","attribute","reflect","REGULAR","type","Boolean","Number","updated","changedProperties","selectorFooter","has","videoDescription","footer","querySelector","altAriaLabel","heading","selectorHeading","innerText","static","console","warn"],"sources":["components/cta/feature-cta.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// @ts-nocheck\n\nimport { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport PlayFilled from '@carbon/web-components/es/icons/play--filled/32.js';\nimport {\n formatVideoCaption,\n formatVideoDuration,\n} from '@carbon/ibmdotcom-utilities/es/utilities/formatVideoCaption/formatVideoCaption.js';\nimport C4DFeatureCard from '../feature-card/feature-card';\nimport CTAMixin from '../../component-mixins/cta/cta-v1';\nimport VideoCTAMixin from '../../component-mixins/cta/video';\nimport C4DFeatureCTAFooter from './feature-cta-footer';\nimport './feature-cta-footer';\nimport { CTA_TYPE } from './defs';\nimport styles from './cta.scss';\n\nimport '../card/card-eyebrow';\nimport '../card/card-heading';\nimport '../image/image';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\n\nexport { CTA_TYPE };\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\n/**\n * Feature CTA.\n *\n * @element c4d-feature-cta\n * @csspart copy - The copy content. Usage: `c4d-feature-cta::part(copy)`\n */\n@customElement(`${c4dPrefix}-feature-cta`)\nclass C4DFeatureCTA extends VideoCTAMixin(CTAMixin(C4DFeatureCard)) {\n protected _renderCopy() {\n const {\n ctaType,\n videoDuration,\n videoName,\n formatVideoCaption: formatCaptionInEffect,\n formatVideoDuration: formatDurationInEffect,\n _hasCopy: hasCopy,\n } = this;\n if (ctaType !== CTA_TYPE.VIDEO) {\n return super._renderCopy();\n }\n const caption = formatCaptionInEffect({\n duration: formatDurationInEffect({\n duration: !videoDuration ? videoDuration : videoDuration * 1000,\n }),\n name: videoName,\n });\n\n this.captionHeading = caption;\n\n return html`\n <div ?hidden=\"${!hasCopy}\" class=\"${prefix}--card__copy\" part=\"copy\">\n <slot @slotchange=\"${this._handleCopySlotChange}\"></slot>\n </div>\n `;\n }\n\n protected _renderImage() {\n const { ctaType, noPoster, thumbnail, videoName, videoThumbnailUrl } = this;\n const image =\n ctaType !== CTA_TYPE.VIDEO || noPoster\n ? undefined\n : html`\n <c4d-image\n alt=\"${ifDefined(videoName)}\"\n default-src=\"${ifDefined(thumbnail || videoThumbnailUrl)}\"\n slot=\"image\">\n ${PlayFilled({ slot: 'icon' })}\n </c4d-image>\n `;\n return noPoster\n ? undefined\n : html`\n <div part=\"image-wrapper\" class=\"${prefix}--card__image-wrapper\">\n <slot name=\"image\" @slotchange=\"${this._handleSlotChange}\">\n ${image}\n </slot>\n </div>\n `;\n }\n\n /**\n * The video caption to replace the heading with.\n */\n @property({ attribute: false })\n captionHeading;\n\n /**\n * The CTA type.\n */\n @property({ reflect: true, attribute: 'cta-type' })\n ctaType = CTA_TYPE.REGULAR;\n\n /**\n * The formatter for the video caption, composed with the video name and the video duration.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatVideoCaption = formatVideoCaption;\n\n /**\n * The formatter for the video duration.\n * Should be changed upon the locale the UI is rendered with.\n */\n @property({ attribute: false })\n formatVideoDuration = formatVideoDuration;\n\n /**\n * Set `true` if Poster Video Image should not be shown.\n */\n @property({ type: Boolean, reflect: true, attribute: 'no-poster' })\n noPoster = false;\n\n /**\n * Optional custom video thumbnail\n */\n @property({ reflect: true, attribute: 'thumbnail' })\n thumbnail?: '';\n\n /**\n * The video duration.\n */\n @property({ type: Number, attribute: 'video-duration' })\n videoDuration?: number;\n\n /**\n * The video name.\n */\n @property({ attribute: 'video-name' })\n videoName?: string;\n\n /**\n * The custom video description.\n */\n @property({ attribute: 'video-description' })\n videoDescription?: string;\n\n /**\n * The video thumbnail URL.\n */\n videoThumbnailUrl?: string;\n\n updated(changedProperties) {\n super.updated(changedProperties);\n const { selectorFooter } = this.constructor as typeof C4DFeatureCTA;\n if (\n changedProperties.has('ctaType') ||\n changedProperties.has('videoName') ||\n changedProperties.has('captionHeading')\n ) {\n const { ctaType, videoName, videoDescription } = this;\n const footer = this.querySelector(selectorFooter);\n if (footer) {\n (footer as C4DFeatureCTAFooter).ctaType = ctaType;\n (footer as C4DFeatureCTAFooter).altAriaLabel =\n this.videoName || this.captionHeading;\n (footer as C4DFeatureCTAFooter).videoName = videoName;\n (footer as C4DFeatureCTAFooter).videoDescription = videoDescription;\n }\n }\n if (changedProperties.has('captionHeading')) {\n const heading = this.querySelector(\n (this.constructor as typeof C4DFeatureCTA).selectorHeading\n ) as HTMLElement;\n\n if (heading) {\n heading!.innerText = this.captionHeading;\n }\n }\n }\n\n /**\n * A selector that will return the child heading.\n */\n static get selectorHeading() {\n return `${c4dPrefix}-card-heading`;\n }\n\n /**\n * A selector that will return the child footer.\n */\n static get selectorFooter() {\n return `${c4dPrefix}-feature-cta-footer`;\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--feature-cta`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\nconsole.warn(\n `The c4d-feature-cta component has been deprecated. All its features have been absorbed into\n the base c4d-feature-card component. See migration guide for more information.`\n);\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default C4DFeatureCTA;\n"],"mappings":"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","ignoreList":[]}