diff --git a/.yarn/cache/@carbon-colors-npm-11.26.0-94199303ec-b503f75e86.zip b/.yarn/cache/@carbon-colors-npm-11.27.1-be5eea32c7-088b9bd5fd.zip
similarity index 95%
rename from .yarn/cache/@carbon-colors-npm-11.26.0-94199303ec-b503f75e86.zip
rename to .yarn/cache/@carbon-colors-npm-11.27.1-be5eea32c7-088b9bd5fd.zip
index 871059f28df..0130df72753 100644
Binary files a/.yarn/cache/@carbon-colors-npm-11.26.0-94199303ec-b503f75e86.zip and b/.yarn/cache/@carbon-colors-npm-11.27.1-be5eea32c7-088b9bd5fd.zip differ
diff --git a/.yarn/cache/@carbon-grid-npm-11.27.0-8d68e0a159-fd9058e66d.zip b/.yarn/cache/@carbon-grid-npm-11.28.1-f4fb9907b0-b6f6e6092e.zip
similarity index 92%
rename from .yarn/cache/@carbon-grid-npm-11.27.0-8d68e0a159-fd9058e66d.zip
rename to .yarn/cache/@carbon-grid-npm-11.28.1-f4fb9907b0-b6f6e6092e.zip
index 8b51d63fdf5..192199cdf5c 100644
Binary files a/.yarn/cache/@carbon-grid-npm-11.27.0-8d68e0a159-fd9058e66d.zip and b/.yarn/cache/@carbon-grid-npm-11.28.1-f4fb9907b0-b6f6e6092e.zip differ
diff --git a/.yarn/cache/@carbon-icon-helpers-npm-10.52.0-a9b90a1b23-2693ce553c.zip b/.yarn/cache/@carbon-icon-helpers-npm-10.53.1-cba7372280-c009949b9f.zip
similarity index 90%
rename from .yarn/cache/@carbon-icon-helpers-npm-10.52.0-a9b90a1b23-2693ce553c.zip
rename to .yarn/cache/@carbon-icon-helpers-npm-10.53.1-cba7372280-c009949b9f.zip
index ba8a0d84292..8278e89d754 100644
Binary files a/.yarn/cache/@carbon-icon-helpers-npm-10.52.0-a9b90a1b23-2693ce553c.zip and b/.yarn/cache/@carbon-icon-helpers-npm-10.53.1-cba7372280-c009949b9f.zip differ
diff --git a/.yarn/cache/@carbon-icons-react-npm-11.51.0-9ccefcafa0-e35ec70afc.zip b/.yarn/cache/@carbon-icons-react-npm-11.51.0-9ccefcafa0-e35ec70afc.zip
new file mode 100644
index 00000000000..c564232ef5d
Binary files /dev/null and b/.yarn/cache/@carbon-icons-react-npm-11.51.0-9ccefcafa0-e35ec70afc.zip differ
diff --git a/.yarn/cache/@carbon-layout-npm-11.26.0-5464e1263f-853f5c99f0.zip b/.yarn/cache/@carbon-layout-npm-11.27.0-d0f1985f26-3357ba5a44.zip
similarity index 89%
rename from .yarn/cache/@carbon-layout-npm-11.26.0-5464e1263f-853f5c99f0.zip
rename to .yarn/cache/@carbon-layout-npm-11.27.0-d0f1985f26-3357ba5a44.zip
index c8b41babd66..b79242d0cc1 100644
Binary files a/.yarn/cache/@carbon-layout-npm-11.26.0-5464e1263f-853f5c99f0.zip and b/.yarn/cache/@carbon-layout-npm-11.27.0-d0f1985f26-3357ba5a44.zip differ
diff --git a/.yarn/cache/@carbon-layout-npm-11.27.1-99ec6cfb6b-cafdb13f01.zip b/.yarn/cache/@carbon-layout-npm-11.27.1-99ec6cfb6b-cafdb13f01.zip
new file mode 100644
index 00000000000..e8f4755936c
Binary files /dev/null and b/.yarn/cache/@carbon-layout-npm-11.27.1-99ec6cfb6b-cafdb13f01.zip differ
diff --git a/.yarn/cache/@carbon-pictograms-react-npm-11.67.0-1654ec7160-62e9744b68.zip b/.yarn/cache/@carbon-pictograms-react-npm-11.67.1-2260086983-a898615723.zip
similarity index 99%
rename from .yarn/cache/@carbon-pictograms-react-npm-11.67.0-1654ec7160-62e9744b68.zip
rename to .yarn/cache/@carbon-pictograms-react-npm-11.67.1-2260086983-a898615723.zip
index 903dc832e8d..c3a4347e233 100644
Binary files a/.yarn/cache/@carbon-pictograms-react-npm-11.67.0-1654ec7160-62e9744b68.zip and b/.yarn/cache/@carbon-pictograms-react-npm-11.67.1-2260086983-a898615723.zip differ
diff --git a/.yarn/cache/@carbon-themes-npm-11.41.1-a5d662faa8-52f2f80199.zip b/.yarn/cache/@carbon-themes-npm-11.41.1-a5d662faa8-52f2f80199.zip
new file mode 100644
index 00000000000..5ae4592fff2
Binary files /dev/null and b/.yarn/cache/@carbon-themes-npm-11.41.1-a5d662faa8-52f2f80199.zip differ
diff --git a/.yarn/cache/@carbon-themes-npm-11.40.0-ebe4ea1ed5-99a882f25e.zip b/.yarn/cache/@carbon-themes-npm-11.42.0-689c3ec8b4-7a3c87566e.zip
similarity index 53%
rename from .yarn/cache/@carbon-themes-npm-11.40.0-ebe4ea1ed5-99a882f25e.zip
rename to .yarn/cache/@carbon-themes-npm-11.42.0-689c3ec8b4-7a3c87566e.zip
index 3d5f6dd73fe..5de4b2c0c22 100644
Binary files a/.yarn/cache/@carbon-themes-npm-11.40.0-ebe4ea1ed5-99a882f25e.zip and b/.yarn/cache/@carbon-themes-npm-11.42.0-689c3ec8b4-7a3c87566e.zip differ
diff --git a/.yarn/cache/@carbon-type-npm-11.31.0-3461e2d010-4ed6162c12.zip b/.yarn/cache/@carbon-type-npm-11.32.1-ab3daafe19-679c2ed816.zip
similarity index 95%
rename from .yarn/cache/@carbon-type-npm-11.31.0-3461e2d010-4ed6162c12.zip
rename to .yarn/cache/@carbon-type-npm-11.32.1-ab3daafe19-679c2ed816.zip
index a8d4c54ce8d..637967bf8cf 100644
Binary files a/.yarn/cache/@carbon-type-npm-11.31.0-3461e2d010-4ed6162c12.zip and b/.yarn/cache/@carbon-type-npm-11.32.1-ab3daafe19-679c2ed816.zip differ
diff --git a/.yarn/cache/sass-npm-1.78.0-4aa9d2730a-a180135add.zip b/.yarn/cache/sass-npm-1.78.0-4aa9d2730a-a180135add.zip
deleted file mode 100644
index cb9386d14fa..00000000000
Binary files a/.yarn/cache/sass-npm-1.78.0-4aa9d2730a-a180135add.zip and /dev/null differ
diff --git a/docs/release-schedule.md b/docs/release-schedule.md
index 7ec81bacc59..32c2a6db5d2 100644
--- a/docs/release-schedule.md
+++ b/docs/release-schedule.md
@@ -3,12 +3,12 @@
This is a living document outlining the plan for previous, current, and future
major versions of the Carbon for IBM.com library.
-| Release | Status | Initial release | Begin Active | Begin Maintenance | End of life |
-| ------- | ----------- | --------------- | ------------ | ----------------- | ----------- |
-| `main` | unstable | unstable | unstable | unstable | unstable |
-| v1 | Maintenance | 2019-10-31 | 2019-10-31 | 2023-09-30 | 2025-03-31 |
-| v2 | Active | 2023-10-30 | 2023-11-30 | 2025-03-31 | 2027-03-31 |
-| v3 | Unreleased | 2024-06-30 | 2025-03-31 | 2027-03-31 | 2029-03-31 |
+| Release | Status | Initial release | Begin Active | Begin Maintenance | End of Support |
+| ------- | ----------- | --------------- | ------------ | ----------------- | -------------- |
+| `main` | unstable | unstable | unstable | unstable | unstable |
+| v1 | Maintenance | 2019-10-31 | 2019-10-31 | 2023-09-30 | 2025-03-31 |
+| v2 | Active | 2023-10-30 | 2023-11-30 | 2025-03-31 | 2027-03-31 |
+| v3 | Unreleased | 2024-06-30 | 2025-03-31 | 2027-03-31 | 2029-03-31 |
> Dates are subject to change
diff --git a/packages/services/CHANGELOG.md b/packages/services/CHANGELOG.md
index 59654bd85c2..6f1d7318f8e 100644
--- a/packages/services/CHANGELOG.md
+++ b/packages/services/CHANGELOG.md
@@ -3,6 +3,38 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [2.14.0](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-services@2.14.0-rc.2...@carbon/ibmdotcom-services@2.14.0) (2024-10-25)
+
+**Note:** Version bump only for package @carbon/ibmdotcom-services
+
+
+
+
+
+# [2.14.0-rc.2](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-services@2.14.0-rc.1...@carbon/ibmdotcom-services@2.14.0-rc.2) (2024-10-21)
+
+**Note:** Version bump only for package @carbon/ibmdotcom-services
+
+
+
+
+
+# [2.14.0-rc.1](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-services@2.14.0-rc.0...@carbon/ibmdotcom-services@2.14.0-rc.1) (2024-10-21)
+
+**Note:** Version bump only for package @carbon/ibmdotcom-services
+
+
+
+
+
+# [2.14.0-rc.0](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-services@2.13.1...@carbon/ibmdotcom-services@2.14.0-rc.0) (2024-10-15)
+
+**Note:** Version bump only for package @carbon/ibmdotcom-services
+
+
+
+
+
## [2.13.1](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-services@2.13.1-rc.0...@carbon/ibmdotcom-services@2.13.1) (2024-09-18)
**Note:** Version bump only for package @carbon/ibmdotcom-services
diff --git a/packages/services/README.md b/packages/services/README.md
index c5e65ae8961..30b335dc683 100644
--- a/packages/services/README.md
+++ b/packages/services/README.md
@@ -46,9 +46,9 @@ and our
## IBM Telemetry
-This package uses IBM Telemetry to collect metrics data. By installing this
-package as a dependency you are agreeing to telemetry collection. To opt out,
-see
+This package uses IBM Telemetry to collect de-identified and anonymized metrics
+data. By installing this package as a dependency you are agreeing to telemetry
+collection. To opt out, see
[Opting out of IBM Telemetry data collection](https://github.com/ibm-telemetry/telemetry-js/tree/main#opting-out-of-ibm-telemetry-data-collection).
For more information on the data being collected, please see the
[IBM Telemetry documentation](https://github.com/ibm-telemetry/telemetry-js/tree/main#ibm-telemetry-collection-basics).
diff --git a/packages/services/package.json b/packages/services/package.json
index 024c17b624d..8a556925593 100644
--- a/packages/services/package.json
+++ b/packages/services/package.json
@@ -1,7 +1,7 @@
{
"name": "@carbon/ibmdotcom-services",
"description": "Carbon for IBM.com Services",
- "version": "2.13.1",
+ "version": "2.14.0",
"license": "Apache-2.0",
"main": "lib/index.js",
"module": "es/index.js",
@@ -47,7 +47,7 @@
},
"dependencies": {
"@babel/runtime": "^7.16.3",
- "@carbon/ibmdotcom-utilities": "2.13.1",
+ "@carbon/ibmdotcom-utilities": "2.14.0",
"@ibm/telemetry-js": "^1.5.0",
"axios": "^1.6.8",
"marked": "^4.0.10",
diff --git a/packages/services/telemetry.yml b/packages/services/telemetry.yml
index 53bd15a8964..ca6dedb95ec 100644
--- a/packages/services/telemetry.yml
+++ b/packages/services/telemetry.yml
@@ -1,7 +1,7 @@
# yaml-language-server: $schema=https://unpkg.com/@ibm/telemetry-config-schema@v1/dist/config.schema.json
version: 1
projectId: e68866bc-10f8-4c87-81b1-a3776d4e801e
-endpoint: https://collector-prod.1am6wm210aow.us-south.codeengine.appdomain.cloud/v1/metrics
+endpoint: https://www-api.ibm.com/ibm-telemetry/v1/metrics
collect:
npm:
dependencies: null
diff --git a/packages/styles/CHANGELOG.md b/packages/styles/CHANGELOG.md
index 90b8613292e..e02934e097f 100644
--- a/packages/styles/CHANGELOG.md
+++ b/packages/styles/CHANGELOG.md
@@ -3,6 +3,42 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [2.14.0](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-styles@2.14.0-rc.2...@carbon/ibmdotcom-styles@2.14.0) (2024-10-25)
+
+
+### Bug Fixes
+
+* **conten-group-heading:** render h3 tag to light DOM ([#12074](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/12074)) ([cf153d0](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/commit/cf153d0556404b60bf9876348f52c1ee05725360))
+* **feature-card:** fix feature card broken styles and refactor ([#12082](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/12082)) ([465a022](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/commit/465a02296ad54b5c49b3e6a6620a8cc7c6433990))
+
+
+
+
+
+# [2.14.0-rc.2](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-styles@2.14.0-rc.1...@carbon/ibmdotcom-styles@2.14.0-rc.2) (2024-10-21)
+
+**Note:** Version bump only for package @carbon/ibmdotcom-styles
+
+
+
+
+
+# [2.14.0-rc.1](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-styles@2.14.0-rc.0...@carbon/ibmdotcom-styles@2.14.0-rc.1) (2024-10-21)
+
+**Note:** Version bump only for package @carbon/ibmdotcom-styles
+
+
+
+
+
+# [2.14.0-rc.0](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-styles@2.13.1...@carbon/ibmdotcom-styles@2.14.0-rc.0) (2024-10-15)
+
+**Note:** Version bump only for package @carbon/ibmdotcom-styles
+
+
+
+
+
## [2.13.1](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-styles@2.13.1-rc.0...@carbon/ibmdotcom-styles@2.13.1) (2024-09-18)
**Note:** Version bump only for package @carbon/ibmdotcom-styles
diff --git a/packages/styles/README.md b/packages/styles/README.md
index 1af73360294..1bd9db94108 100644
--- a/packages/styles/README.md
+++ b/packages/styles/README.md
@@ -63,9 +63,9 @@ and our
## IBM Telemetry
-This package uses IBM Telemetry to collect metrics data. By installing this
-package as a dependency you are agreeing to telemetry collection. To opt out,
-see
+This package uses IBM Telemetry to collect de-identified and anonymized metrics
+data. By installing this package as a dependency you are agreeing to telemetry
+collection. To opt out, see
[Opting out of IBM Telemetry data collection](https://github.com/ibm-telemetry/telemetry-js/tree/main#opting-out-of-ibm-telemetry-data-collection).
For more information on the data being collected, please see the
[IBM Telemetry documentation](https://github.com/ibm-telemetry/telemetry-js/tree/main#ibm-telemetry-collection-basics).
diff --git a/packages/styles/package.json b/packages/styles/package.json
index c0c51aa23de..5127c955a60 100644
--- a/packages/styles/package.json
+++ b/packages/styles/package.json
@@ -1,7 +1,7 @@
{
"name": "@carbon/ibmdotcom-styles",
"description": "Carbon for IBM.com Styles",
- "version": "2.13.1",
+ "version": "2.14.0",
"license": "Apache-2.0",
"main": "dist/ibm-dotcom-styles.min.css",
"module": "src/scss",
@@ -30,14 +30,14 @@
"upgrade-carbon": "yarn upgrade-interactive @carbon/layout @carbon/styles @carbon/themes @carbon/icons-react --latest --exact"
},
"dependencies": {
- "@carbon/icons-react": "11.49.0",
- "@carbon/layout": "11.26.0",
+ "@carbon/icons-react": "11.51.0",
+ "@carbon/layout": "11.27.0",
"@carbon/styles": "1.65.0",
- "@carbon/type": "11.31.0",
+ "@carbon/type": "11.32.1",
"@ibm/telemetry-js": "^1.5.0"
},
"devDependencies": {
- "@carbon/themes": "11.40.0",
+ "@carbon/themes": "11.42.0",
"del": "^6.0.0",
"gulp": "^4.0.2",
"gulp-autoprefixer": "^6.1.0",
diff --git a/packages/styles/scss/components/card-group/_card-group.scss b/packages/styles/scss/components/card-group/_card-group.scss
index 1d6ddf92ef2..07b5e161088 100644
--- a/packages/styles/scss/components/card-group/_card-group.scss
+++ b/packages/styles/scss/components/card-group/_card-group.scss
@@ -56,10 +56,42 @@
}
:host(#{$c4d-prefix}-card-group-item) {
+ display: contents;
+
.#{$prefix}--card {
+ display: grid;
border: 0;
+ grid-row: span 10;
+ grid-template-rows: subgrid;
+ margin-block-end: $spacing-07;
outline: 1px solid $border-tile-01;
outline-offset: 0;
+
+ .#{$prefix}--card__wrapper {
+ display: grid;
+ justify-content: revert;
+ grid-row: span 10;
+ grid-template-rows: subgrid;
+
+ &::before,
+ &::after {
+ content: revert;
+ }
+ }
+
+ .#{$prefix}--card__content {
+ display: grid;
+ grid-row: span 10;
+ grid-template-rows: subgrid;
+ row-gap: 0;
+ }
+
+ .#{$prefix}--card__copy {
+ display: grid;
+ grid-row: span 2;
+ grid-template-rows: subgrid;
+ row-gap: 0;
+ }
}
.#{$prefix}--image {
@@ -84,6 +116,30 @@
outline-offset: -1px;
}
}
+
+ &[grid-mode='narrow'] {
+ .#{$prefix}--card {
+ margin-block-end: $spacing-05;
+ }
+ }
+
+ &[grid-mode='condensed'] {
+ .#{$prefix}--card {
+ margin-block-end: 0;
+ }
+ }
+
+ ::slotted(#{$c4d-prefix}-card-footer) {
+ display: revert;
+ margin-block-start: revert;
+ }
+
+ // Selects elements that contain tags which are slotted into the default
+ // slot. Note that this does not work in Chrome at time of writing.
+ // @see https://developer.chrome.com/blog/has-m105/#performance_and_limitations
+ ::slotted(:not([slot]):has(#{$prefix}-tag, #{$c4d-prefix}-tag)) {
+ grid-row: -1;
+ }
}
:host(#{$c4d-prefix}-card-group-item[href='']) {
@@ -110,24 +166,24 @@
:host(#{$c4d-prefix}-card-group)[grid-mode='narrow'] {
@include breakpoint(sm) {
- gap: $spacing-03;
+ gap: 0 $spacing-03;
padding-block-start: $spacing-03;
}
@include breakpoint(md) {
- gap: $spacing-05;
+ gap: 0 $spacing-05;
padding-block-start: $spacing-05;
}
}
:host(#{$c4d-prefix}-card-group)[grid-mode='default'] {
@include breakpoint(sm) {
- gap: $spacing-07;
+ gap: 0 $spacing-07;
padding-block-start: $spacing-03;
}
@include breakpoint(md) {
- gap: $spacing-07;
+ gap: 0 $spacing-07;
padding-block-start: $spacing-05;
}
}
diff --git a/packages/styles/scss/components/card/_card.scss b/packages/styles/scss/components/card/_card.scss
index 0d9c2857e2b..71eaf089088 100644
--- a/packages/styles/scss/components/card/_card.scss
+++ b/packages/styles/scss/components/card/_card.scss
@@ -14,6 +14,7 @@
@use '@carbon/styles/scss/components/tag/index' as *;
@use '@carbon/styles/scss/components/tile/index' as *;
@use '@carbon/styles/scss/theme' as *;
+@use '@carbon/styles/scss/utilities/convert' as *;
@use '../../globals/vars' as *;
@use '../../globals/utils/content-width' as *;
@use '../../globals/utils/ratio-base' as *;
@@ -141,9 +142,13 @@
.#{$prefix}--card__heading,
.#{$prefix}--card__copy {
- @include content-width;
-
color: $text-primary;
+ max-inline-size: to-rem(640px);
+ padding-inline-end: 10%;
+
+ @include breakpoint(md) {
+ padding-inline-end: $spacing-07;
+ }
}
.#{$prefix}--card__copy:not([hidden]) {
@@ -185,6 +190,10 @@
}
}
+ .#{$prefix}--card__pictogram-wrapper {
+ display: flex;
+ }
+
&[pictogram] .#{$prefix}--card {
::slotted(#{$c4d-prefix}-card-heading) {
padding-block-start: 0;
@@ -417,6 +426,7 @@
:host(#{$c4d-prefix}-card-eyebrow),
.#{$prefix}--card__eyebrow {
+ display: block;
@include content-width;
@include type-style('label-02');
@@ -597,6 +607,7 @@
:host(#{$c4d-prefix}-card-heading),
:host(#{$c4d-prefix}-card-link-heading) {
+ display: block;
@include content-width;
color: $text-primary;
diff --git a/packages/styles/scss/components/feature-card/_feature-card.scss b/packages/styles/scss/components/feature-card/_feature-card.scss
index 230777f5133..631254a6034 100644
--- a/packages/styles/scss/components/feature-card/_feature-card.scss
+++ b/packages/styles/scss/components/feature-card/_feature-card.scss
@@ -22,58 +22,15 @@
@use '../../globals/utils/aspect-ratio' as *;
@use '../../globals/utils/hang' as *;
-$fcb-large-custom-bp-copy: 992px;
-$fcb-large-custom-bp-nocopy: 752px;
-$fcb-breakpoint-up--lg: map.get(map.get($grid-breakpoints, 'lg'), 'width') -
- to-rem(1px);
-
$feature-flags: (
enable-experimental-tile-contrast: true,
);
-@mixin card {
- @include breakpoint-down(md) {
- inset: 0;
- padding-block-start: 0;
- }
-
- @include breakpoint(md) {
- flex-direction: row;
- }
-
- .#{$prefix}--card__heading,
- ::slotted(#{$c4d-prefix}-card-heading) {
- margin-block-end: $spacing-07;
- }
-
- &:focus-within {
- outline: none;
- outline-offset: 0;
-
- &::before {
- position: absolute;
- z-index: 1;
- display: block;
- border: $spacing-01 solid $focus;
- content: '';
- inset: -1px;
- outline: 1px solid $focus-inset;
- outline-offset: -3px;
-
- @include breakpoint-down(md) {
- min-block-size: 292px;
- }
- }
- }
-}
-
@mixin feature-card {
- // all feature cards
+ // All feature cards.
:host(#{$c4d-prefix}-feature-card),
- :host(#{$c4d-prefix}-feature-cta),
- .#{$prefix}--feature-card-large,
- .#{$prefix}--feature-card {
- position: relative;
+ :host(#{$c4d-prefix}-feature-cta) {
+ display: block;
// breaks on Firefox with `rem` function
border-width: 1px;
border-style: solid;
@@ -94,203 +51,15 @@ $feature-flags: (
border-color: transparent;
}
- @include breakpoint-down(md) {
- @include make-row;
- }
-
- .#{$prefix}--card__content {
- transition: background-color $duration-moderate-01
- motion(standard, productive);
- }
-
- ::slotted([slot='image']),
- #{$c4d-prefix}-image,
- .#{$prefix}--image {
- block-size: aspect-ratio(2, 1);
- inline-size: 100%;
- @media screen and (prefers-reduced-motion: reduce) {
- &::before {
- position: absolute;
- z-index: 1;
- block-size: 100%;
- content: '';
- inline-size: 100%;
- inset-block-start: 0;
- inset-inline-start: 0;
- opacity: 0;
- transition: none;
- }
- }
-
- &::before {
- position: absolute;
- z-index: 1;
- block-size: 100%;
- content: '';
- inline-size: 100%;
- inset-block-start: 0;
- inset-inline-start: 0;
- opacity: 0;
- transition: opacity $duration-moderate-01 motion(standard, productive);
- }
- }
- }
-
- :host(#{$c4d-prefix}-feature-card),
- :host(#{$c4d-prefix}-feature-cta) {
- display: block;
- outline: none;
-
- @include breakpoint-down(md) {
- display: flex;
-
- .#{$prefix}--card__wrapper {
- display: flex;
- block-size: auto;
- min-block-size: 0;
-
- .#{$prefix}--card__content {
- padding: $spacing-05;
- block-size: 100%;
- }
- }
-
- .#{$prefix}--card--link {
- display: block;
- }
- }
- }
-
- // feature cards that are not size large
- .#{$prefix}--feature-card,
- :host(#{$c4d-prefix}-feature-card:not([size='large'])),
- :host(#{$c4d-prefix}-feature-cta:not([size='large'])) {
- @include breakpoint-down(md) {
- .#{$prefix}--card__content {
- justify-content: space-between;
- padding: $spacing-05;
- block-size: 100%;
- }
-
- #{$prefix}--card__heading {
- padding: $spacing-05;
- margin: 0;
- inline-size: 100%;
- padding-block-end: $spacing-07;
- padding-inline-end: 10%;
- }
-
- .#{$prefix}--card__footer {
- margin-block-start: -1 * $spacing-07;
- padding-block-start: 0;
- }
-
- .#{$prefix}--card__wrapper {
- display: flex;
- block-size: auto;
- min-block-size: 0;
- }
- .#{$prefix}--card {
- display: block;
- }
- }
-
.#{$prefix}--card {
- @include card;
-
- margin: 0;
- }
-
- .#{$prefix}--card__heading {
- margin-block-end: $spacing-07;
- }
-
- .#{$prefix}--card__wrapper {
- block-size: aspect-ratio(2, 1);
- inline-size: 100%;
-
- @include breakpoint(md) {
- block-size: auto;
- inline-size: 50%;
- }
-
- .#{$prefix}--card__content {
- block-size: auto;
- min-block-size: 100%;
+ @include breakpoint-down(md) {
+ display: block;
}
- }
-
- // image
-
- ::slotted([slot='image']),
- #{$c4d-prefix}-image,
- .#{$prefix}--image {
- z-index: 0;
@include breakpoint(md) {
- block-size: 100%;
- inline-size: 50%;
- padding-block-start: aspect-ratio(2, 1);
- }
- }
-
- // footer
-
- .#{$prefix}--feature-card__card .#{$prefix}--card__footer {
- flex-direction: row-reverse;
- @include breakpoint-down(md) {
flex-direction: row;
}
- svg {
- @include breakpoint(sm) {
- block-size: to-rem(20px);
- inline-size: to-rem(20px);
- }
-
- @include breakpoint(md) {
- block-size: $spacing-06;
- inline-size: $spacing-06;
- }
-
- @include breakpoint(max) {
- block-size: $spacing-07;
- inline-size: $spacing-07;
- }
- }
- }
-
- ::slotted(svg[slot='footer']) {
- margin-block-start: auto;
- margin-inline-start: auto;
- }
- }
-
- // feature cards that are size large
- :host(#{$c4d-prefix}-feature-card[size='large']),
- :host(#{$c4d-prefix}-feature-cta[size='large']) {
- position: relative;
- background-color: $layer-01;
- color: $text-primary;
- margin-block-end: $spacing-07;
- @include hang;
-
- @include breakpoint(md) {
- margin-block-end: $spacing-10;
- padding-block-start: aspect-ratio(2, 1);
- }
-
- @include breakpoint(lg) {
- margin-block-end: $spacing-12;
- }
-
- @include breakpoint(xlg) {
- padding-block-start: aspect-ratio(2, 1);
- }
-
- .#{$prefix}--card {
- block-size: 100%;
-
&:focus-within {
outline: none;
outline-offset: 0;
@@ -310,189 +79,112 @@ $feature-flags: (
}
}
}
-
- @include breakpoint(md) {
- position: absolute;
- flex-direction: row;
- inset: 0;
- }
-
- ::slotted([slot='image']),
- #{$c4d-prefix}-image,
- .#{$prefix}--image {
- z-index: 0;
-
- @include breakpoint(md) {
- block-size: 100%;
- inline-size: 50%;
- padding-block-start: aspect-ratio(2, 1);
- }
-
- @include breakpoint(xlg) {
- block-size: 100%;
- }
- }
-
- .#{$prefix}--image {
- overflow-y: hidden;
- }
}
+ .#{$prefix}--card__image-wrapper,
.#{$prefix}--card__wrapper {
- block-size: auto;
- min-block-size: 50%;
-
- &::before {
- padding-block-start: 0;
+ flex: 1 0 50%;
+ }
- @include breakpoint(md) {
- padding-block-start: 50%;
- }
+ .#{$prefix}--card__wrapper {
+ &::before,
+ &::after {
+ display: none;
}
+ }
- .#{$prefix}--card__eyebrow,
- .#{$prefix}--card__heading,
- .#{$prefix}--card__copy,
- ::slotted(#{$c4d-prefix}-card-eyebrow),
- ::slotted(#{$c4d-prefix}-card-heading) {
- inline-size: 100%;
- max-inline-size: to-rem(480px);
+ .#{$prefix}--card__content {
+ justify-content: space-between;
+ padding: $spacing-05;
+ aspect-ratio: 2 / 1;
+ transition: background-color $duration-moderate-01
+ motion(standard, productive);
- @include breakpoint(md) {
- inline-size: 90%;
- }
+ @include breakpoint(md) {
+ aspect-ratio: auto;
}
+ }
- .#{$prefix}--card__content {
- padding: $spacing-07 $spacing-05 $spacing-05;
+ .#{$prefix}--card__eyebrow-wrapper--empty,
+ .#{$prefix}--card__pictogram-wrapper--empty {
+ display: none;
+ }
- @include breakpoint(md) {
- padding: $spacing-05;
- }
+ .#{$prefix}--card__copy {
+ @include type-style('body-02');
- @include breakpoint(xlg) {
- padding: $spacing-07;
- }
+ @include breakpoint(md) {
+ @include type-style('body-01');
}
- .#{$prefix}--card__eyebrow,
- ::slotted(#{$c4d-prefix}-card-eyebrow) {
- margin: 0 0 $spacing-03 0;
+ @include breakpoint(lg) {
+ @include type-style('body-02');
}
+ }
- .#{$prefix}--card__heading,
- ::slotted(#{$c4d-prefix}-card-heading) {
- margin-block-end: $spacing-07;
-
- @include breakpoint(sm) {
- @include type-style('heading-03');
- }
+ ::slotted([slot='image']),
+ #{$c4d-prefix}-image {
+ z-index: 0;
- @include breakpoint(lg) {
- @include type-style('heading-04');
- }
+ // Opacity is adjusted on hover. See above.
+ &::before {
+ position: absolute;
+ z-index: 1;
+ block-size: 100%;
+ content: '';
+ inline-size: 100%;
+ inset-block-start: 0;
+ inset-inline-start: 0;
+ opacity: 0;
+ transition: opacity $duration-moderate-01 motion(standard, productive);
}
- .#{$prefix}--card__copy {
- @include type-style('body-02');
-
- @include breakpoint(md) {
- @include type-style('body-01');
- }
-
- @include breakpoint(lg) {
- @include type-style('body-02');
- }
-
- @include breakpoint-down(md) {
- margin-block-end: $spacing-07;
- }
-
- /* stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix */
- @include breakpoint-between(md, lg) {
- ::slotted(*) {
- display: -webkit-box;
- block-size: 100%;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 8;
- white-space: normal;
- word-break: break-word;
- }
+ @media screen and (prefers-reduced-motion: reduce) {
+ &::before {
+ transition: none;
}
- /* stylelint-enable value-no-vendor-prefix, property-no-vendor-prefix */
}
}
- .#{$prefix}--card__footer {
- flex-direction: row;
+ ::slotted(#{$c4d-prefix}-card-eyebrow),
+ ::slotted(#{$c4d-prefix}-card-heading) {
+ inline-size: 100%;
- @include breakpoint(xlg) {
- flex-direction: row-reverse;
+ @include breakpoint(md) {
+ inline-size: 90%;
}
}
- // special breakpoint for no copy present
- &.#{$prefix}--feature-card-large_no-copy-text {
- @include breakpoint($fcb-large-custom-bp-nocopy) {
- padding-block-start: aspect-ratio(2, 1);
- }
-
- .#{$prefix}--card {
- @include breakpoint($fcb-large-custom-bp-nocopy) {
- position: absolute;
- flex-direction: row;
- inset: 0;
-
- &__wrapper,
- .#{$prefix}--image {
- block-size: 100%;
- inline-size: 50%;
- }
- }
- }
+ ::slotted(#{$c4d-prefix}-card-heading) {
+ margin-block-end: $spacing-07;
}
- }
- :host(#{$c4d-prefix}-feature-card-footer)
- .#{$c4d-prefix}-ce--card__footer
- ::slotted(svg[slot='icon']),
- .#{$prefix}--feature-card-large
- .#{$prefix}--feature-card-large__card.#{$prefix}--tile
- .#{$prefix}--card__cta,
- .#{$prefix}--feature-card-large
- .#{$prefix}--feature-card-large__card.#{$prefix}--tile
- .#{$prefix}--card__cta:visited {
- float: none;
- margin-block-start: auto;
-
- @include breakpoint(sm) {
- block-size: to-rem(20px);
- inline-size: to-rem(20px);
+ ::slotted(#{$c4d-prefix}-card-eyebrow) {
+ margin-inline-end: $spacing-03;
}
+ }
- @include breakpoint(md) {
- block-size: $spacing-06;
- inline-size: $spacing-06;
+ // All large feature cards.
+ :host(#{$c4d-prefix}-feature-card)[size='large'],
+ :host(#{$c4d-prefix}-feature-cta)[size='large'] {
+ .#{$prefix}--card__content {
+ @include breakpoint(xlg) {
+ padding: $spacing-07;
+ }
}
- @include breakpoint(max) {
- block-size: $spacing-07;
- inline-size: $spacing-07;
+ ::slotted(#{$c4d-prefix}-card-heading) {
+ @include breakpoint(xlg) {
+ @include type-style('heading-04');
+ }
}
-
- @include type-style('productive-heading-05');
}
- // inverse color scheme
+ // Color changes for inverse color scheme.
:host(#{$c4d-prefix}-feature-card)[color-scheme='inverse'],
:host(#{$c4d-prefix}-feature-cta)[color-scheme='inverse'] {
border-color: $border-inverse;
- .#{$prefix}--card__heading,
- ::slotted(#{$c4d-prefix}-card-heading) {
- color: $icon-inverse;
- }
-
::slotted(#{$c4d-prefix}-card-heading) {
color: $focus-inset;
}
@@ -510,17 +202,13 @@ $feature-flags: (
}
}
- // feature cards that are not size large
+ // Feature cards that are not size large. Color changes.
:host(
#{$c4d-prefix}-feature-card:not([size='large'])
)[color-scheme='inverse'],
:host(
#{$c4d-prefix}-feature-cta:not([size='large'])
)[color-scheme='inverse'] {
- .#{$prefix}--card__heading {
- color: $icon-inverse;
- }
-
.#{$prefix}--card__wrapper {
background-color: $background-inverse;
}
@@ -535,14 +223,13 @@ $feature-flags: (
}
}
- // feature cards that are size large
+ // Feature cards that are size large. Color changes for inverse color scheme.
:host(#{$c4d-prefix}-feature-card[size='large'])[color-scheme='inverse'],
:host(#{$c4d-prefix}-feature-cta[size='large'])[color-scheme='inverse'] {
.#{$prefix}--card__wrapper {
background-color: $background-inverse;
.#{$prefix}--card__eyebrow,
- .#{$prefix}--card__heading,
.#{$prefix}--card__copy,
::slotted(#{$c4d-prefix}-card-eyebrow),
::slotted(#{$c4d-prefix}-card-heading) {
@@ -553,7 +240,6 @@ $feature-flags: (
color: $icon-inverse;
}
- .#{$prefix}--card__heading,
::slotted(#{$c4d-prefix}-card-heading) {
color: $icon-inverse;
}
diff --git a/packages/styles/scss/internal/content-group/_content-group.scss b/packages/styles/scss/internal/content-group/_content-group.scss
index 8ebd9329336..41506918c15 100644
--- a/packages/styles/scss/internal/content-group/_content-group.scss
+++ b/packages/styles/scss/internal/content-group/_content-group.scss
@@ -59,6 +59,11 @@
display: block;
margin-block-end: $spacing-07;
+
+ ::slotted(h3) {
+ // stylelint-disable-next-line declaration-no-important
+ font-size: inherit !important;
+ }
}
:host(#{$c4d-prefix}-content-group-heading),
diff --git a/packages/styles/telemetry.yml b/packages/styles/telemetry.yml
index af5bb0c883e..153d0aa5113 100644
--- a/packages/styles/telemetry.yml
+++ b/packages/styles/telemetry.yml
@@ -1,7 +1,7 @@
# yaml-language-server: $schema=https://unpkg.com/@ibm/telemetry-config-schema@v1/dist/config.schema.json
version: 1
projectId: 4a912794-62c0-4df0-936f-35aab853934a
-endpoint: https://collector-prod.1am6wm210aow.us-south.codeengine.appdomain.cloud/v1/metrics
+endpoint: https://www-api.ibm.com/ibm-telemetry/v1/metrics
collect:
npm:
dependencies: null
diff --git a/packages/utilities/CHANGELOG.md b/packages/utilities/CHANGELOG.md
index 9e81a815273..bf426fa6104 100644
--- a/packages/utilities/CHANGELOG.md
+++ b/packages/utilities/CHANGELOG.md
@@ -3,6 +3,38 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [2.14.0](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-utilities@2.14.0-rc.2...@carbon/ibmdotcom-utilities@2.14.0) (2024-10-25)
+
+**Note:** Version bump only for package @carbon/ibmdotcom-utilities
+
+
+
+
+
+# [2.14.0-rc.2](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-utilities@2.14.0-rc.1...@carbon/ibmdotcom-utilities@2.14.0-rc.2) (2024-10-21)
+
+**Note:** Version bump only for package @carbon/ibmdotcom-utilities
+
+
+
+
+
+# [2.14.0-rc.1](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-utilities@2.14.0-rc.0...@carbon/ibmdotcom-utilities@2.14.0-rc.1) (2024-10-21)
+
+**Note:** Version bump only for package @carbon/ibmdotcom-utilities
+
+
+
+
+
+# [2.14.0-rc.0](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-utilities@2.13.1...@carbon/ibmdotcom-utilities@2.14.0-rc.0) (2024-10-15)
+
+**Note:** Version bump only for package @carbon/ibmdotcom-utilities
+
+
+
+
+
## [2.13.1](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-utilities@2.13.1-rc.0...@carbon/ibmdotcom-utilities@2.13.1) (2024-09-18)
**Note:** Version bump only for package @carbon/ibmdotcom-utilities
diff --git a/packages/utilities/README.md b/packages/utilities/README.md
index 5e8b0ce8f0f..5864e01b559 100644
--- a/packages/utilities/README.md
+++ b/packages/utilities/README.md
@@ -46,9 +46,9 @@ and our
## IBM Telemetry
-This package uses IBM Telemetry to collect metrics data. By installing this
-package as a dependency you are agreeing to telemetry collection. To opt out,
-see
+This package uses IBM Telemetry to collect de-identified and anonymized metrics
+data. By installing this package as a dependency you are agreeing to telemetry
+collection. To opt out, see
[Opting out of IBM Telemetry data collection](https://github.com/ibm-telemetry/telemetry-js/tree/main#opting-out-of-ibm-telemetry-data-collection).
For more information on the data being collected, please see the
[IBM Telemetry documentation](https://github.com/ibm-telemetry/telemetry-js/tree/main#ibm-telemetry-collection-basics).
diff --git a/packages/utilities/package.json b/packages/utilities/package.json
index 9312be96bac..cb3514a3a36 100644
--- a/packages/utilities/package.json
+++ b/packages/utilities/package.json
@@ -1,7 +1,7 @@
{
"name": "@carbon/ibmdotcom-utilities",
"description": "Carbon for IBM.com Utilities",
- "version": "2.13.1",
+ "version": "2.14.0",
"license": "Apache-2.0",
"main": "lib/index.js",
"module": "es/index.js",
diff --git a/packages/utilities/src/utilities/settings/settings.js b/packages/utilities/src/utilities/settings/settings.js
index 4baedb7e8e0..6a205f6cbba 100644
--- a/packages/utilities/src/utilities/settings/settings.js
+++ b/packages/utilities/src/utilities/settings/settings.js
@@ -12,10 +12,10 @@
* @type {object} Settings object
* @property {string} [stablePrefix=c4d] stable prefix
* @property {string} [prefix=cds] core Carbon prefix
- * Carbon for IBM.com v2.13.1',
+ * Carbon for IBM.com v2.14.0',
*/
const settings = {
- version: 'Carbon for IBM.com v2.13.1',
+ version: 'Carbon for IBM.com v2.14.0',
stablePrefix: 'c4d',
prefix: 'cds',
};
diff --git a/packages/utilities/telemetry.yml b/packages/utilities/telemetry.yml
index 58490a67b6d..bdd9f1a5dd8 100644
--- a/packages/utilities/telemetry.yml
+++ b/packages/utilities/telemetry.yml
@@ -1,7 +1,7 @@
# yaml-language-server: $schema=https://unpkg.com/@ibm/telemetry-config-schema@v1/dist/config.schema.json
version: 1
projectId: 5e9fac66-dccd-412a-83ba-e98071dbd615
-endpoint: https://collector-prod.1am6wm210aow.us-south.codeengine.appdomain.cloud/v1/metrics
+endpoint: https://www-api.ibm.com/ibm-telemetry/v1/metrics
collect:
npm:
dependencies: null
diff --git a/packages/web-components/CHANGELOG.md b/packages/web-components/CHANGELOG.md
index c191a259316..94e49c92285 100644
--- a/packages/web-components/CHANGELOG.md
+++ b/packages/web-components/CHANGELOG.md
@@ -3,6 +3,54 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [2.14.0](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-web-components@2.14.0-rc.2...@carbon/ibmdotcom-web-components@2.14.0) (2024-10-25)
+
+
+### Bug Fixes
+
+* **conten-group-heading:** render h3 tag to light DOM ([#12074](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/12074)) ([cf153d0](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/commit/cf153d0556404b60bf9876348f52c1ee05725360))
+* **content-block-simple:** update footer spacing ([#12083](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/12083)) ([e221b3c](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/commit/e221b3cb505773640ce7e5f4da805e5ff4cede10))
+* **feature-card:** fix feature card broken styles and refactor ([#12082](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/12082)) ([465a022](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/commit/465a02296ad54b5c49b3e6a6620a8cc7c6433990))
+
+
+
+
+
+# [2.14.0-rc.2](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-web-components@2.14.0-rc.1...@carbon/ibmdotcom-web-components@2.14.0-rc.2) (2024-10-21)
+
+**Note:** Version bump only for package @carbon/ibmdotcom-web-components
+
+
+
+
+
+# [2.14.0-rc.1](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-web-components@2.14.0-rc.0...@carbon/ibmdotcom-web-components@2.14.0-rc.1) (2024-10-21)
+
+**Note:** Version bump only for package @carbon/ibmdotcom-web-components
+
+
+
+
+
+# [2.14.0-rc.0](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-web-components@2.13.1...@carbon/ibmdotcom-web-components@2.14.0-rc.0) (2024-10-15)
+
+
+### Bug Fixes
+
+* **card:** arrow direction on RTL ([#12068](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/12068)) ([48268fb](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/commit/48268fb975d19509c6442f13c8069c3cc88867f5))
+* **card:** component renders multiple headings ([#12030](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/12030)) ([e715924](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/commit/e715924889be0a360e65d648fb58c10f81a48b5e)), closes [#12000](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/12000)
+* **legal-nav:** fix adjunct links not showing ([#12064](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/12064)) ([f017f01](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/commit/f017f012149dee5e8e5944dccfea697c922f99b7)), closes [#12037](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/12037)
+* **masthead:** hide scroller buttons when there are no menuItems ([#12059](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/12059)) ([1760d41](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/commit/1760d419d54a1fc07e08a46bb2b3e59a80f704e2))
+
+
+### Features
+
+* **card:** fix video cta data ([#12069](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/12069)) ([ea8ea2d](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/commit/ea8ea2d78302ac58a4d9b152f6458f85c3ae2104))
+
+
+
+
+
## [2.13.1](https://github.com/carbon-design-system/carbon-for-ibm-dotcom/compare/@carbon/ibmdotcom-web-components@2.13.1-rc.0...@carbon/ibmdotcom-web-components@2.13.1) (2024-09-18)
**Note:** Version bump only for package @carbon/ibmdotcom-web-components
diff --git a/packages/web-components/README.md b/packages/web-components/README.md
index 7249f44af6b..80c1ed20d53 100644
--- a/packages/web-components/README.md
+++ b/packages/web-components/README.md
@@ -500,9 +500,9 @@ Can be found at [here](./docs/contributing-to-web-components.md).
## IBM Telemetry
-This package uses IBM Telemetry to collect metrics data. By installing this
-package as a dependency you are agreeing to telemetry collection. To opt out,
-see
+This package uses IBM Telemetry to collect de-identified and anonymized metrics
+data. By installing this package as a dependency you are agreeing to telemetry
+collection. To opt out, see
[Opting out of IBM Telemetry data collection](https://github.com/ibm-telemetry/telemetry-js/tree/main#opting-out-of-ibm-telemetry-data-collection).
For more information on the data being collected, please see the
[IBM Telemetry documentation](https://github.com/ibm-telemetry/telemetry-js/tree/main#ibm-telemetry-collection-basics).
diff --git a/packages/web-components/gulp-tasks/clean.js b/packages/web-components/gulp-tasks/clean.js
index 06c2a198e1f..4e5913b2a75 100644
--- a/packages/web-components/gulp-tasks/clean.js
+++ b/packages/web-components/gulp-tasks/clean.js
@@ -25,6 +25,7 @@ function _clean() {
del(config.cjsDestDir),
del(config.jsDestDir),
del(config.sassDestDir),
+ del(config.vendorSrcDirBase),
del('custom-elements.json'),
del('storybook-static'),
]);
diff --git a/packages/web-components/gulp-tasks/config.js b/packages/web-components/gulp-tasks/config.js
index 870e5f96363..fec23b14cc3 100644
--- a/packages/web-components/gulp-tasks/config.js
+++ b/packages/web-components/gulp-tasks/config.js
@@ -86,6 +86,10 @@ module.exports = {
),
'es'
),
+ servicesStoreVendorSrcDir: path.resolve(
+ __dirname,
+ '../src/internal/vendor/@carbon/ibmdotcom-services-store'
+ ),
servicesStoreVendorESDstDir: path.resolve(
__dirname,
'../es/internal/vendor/@carbon/ibmdotcom-services-store'
diff --git a/packages/web-components/gulp-tasks/vendor.js b/packages/web-components/gulp-tasks/vendor.js
index 5182f0d28e9..68bbc8a36c2 100644
--- a/packages/web-components/gulp-tasks/vendor.js
+++ b/packages/web-components/gulp-tasks/vendor.js
@@ -17,6 +17,7 @@ const {
servicesVendorESDstDir,
servicesStoreCJSSrcDir,
servicesStoreESSrcDir,
+ servicesStoreVendorSrcDir,
servicesStoreVendorCJSDstDir,
servicesStoreVendorESDstDir,
utilitiesCJSSrcDir,
@@ -41,6 +42,14 @@ const servicesVendorCJSDst = () =>
.src([`${servicesCJSSrcDir}/**/*`, '!**/*-{test,story}.js'])
.pipe(gulp.dest(servicesVendorCJSDstDir));
+/**
+ * Generates `src/internal/vendor` contents.
+ */
+const servicesStoreVendorSrc = () =>
+ gulp
+ .src([`${servicesStoreESSrcDir}/**/*`, '!**/*-{test,story}.js'])
+ .pipe(gulp.dest(servicesStoreVendorSrcDir));
+
/**
* Generate `es/internal/vendor` contents.
*/
@@ -84,7 +93,11 @@ gulp.task(
);
gulp.task(
'vendor:services-store',
- gulp.parallel(servicesStoreVendorCJSDst, servicesStoreVendorESDst)
+ gulp.parallel(
+ servicesStoreVendorSrc,
+ servicesStoreVendorCJSDst,
+ servicesStoreVendorESDst
+ )
);
gulp.task(
'vendor',
diff --git a/packages/web-components/package.json b/packages/web-components/package.json
index 3ccca95b8d0..456c36fcc57 100644
--- a/packages/web-components/package.json
+++ b/packages/web-components/package.json
@@ -1,6 +1,6 @@
{
"name": "@carbon/ibmdotcom-web-components",
- "version": "2.13.1",
+ "version": "2.14.0",
"description": "Carbon for IBM.com Web Components",
"license": "Apache-2.0",
"exports": {
@@ -91,10 +91,10 @@
"wca": "web-component-analyzer analyze src --outFile custom-elements.json"
},
"dependencies": {
- "@carbon/ibmdotcom-services": "2.13.1",
- "@carbon/ibmdotcom-styles": "2.13.1",
- "@carbon/ibmdotcom-utilities": "2.13.1",
- "@carbon/layout": "11.26.0",
+ "@carbon/ibmdotcom-services": "2.14.0",
+ "@carbon/ibmdotcom-styles": "2.14.0",
+ "@carbon/ibmdotcom-utilities": "2.14.0",
+ "@carbon/layout": "11.27.0",
"@carbon/motion": "11.22.0",
"@carbon/styles": "1.65.0",
"@carbon/web-components": "2.13.1",
@@ -131,12 +131,12 @@
"@babel/template": "~7.12.0",
"@babel/traverse": "~7.23.7",
"@carbon/ibmdotcom-services-store": "1.53.2",
- "@carbon/icon-helpers": "10.52.0",
+ "@carbon/icon-helpers": "10.53.0",
"@carbon/icons": "10.48.5",
"@carbon/icons-react": "^11.33.0",
- "@carbon/pictograms-react": "11.67.0",
+ "@carbon/pictograms-react": "11.67.1",
"@carbon/react": "1.66.0",
- "@carbon/type": "11.31.0",
+ "@carbon/type": "11.32.1",
"@open-wc/semantic-dom-diff": "~0.18.0",
"@percy-io/in-percy": "^0.1.11",
"@percy/cli": "^1.28.5",
diff --git a/packages/web-components/src/components/card-group/card-group-item.ts b/packages/web-components/src/components/card-group/card-group-item.ts
index 1304a6ca86d..bf557430406 100644
--- a/packages/web-components/src/components/card-group/card-group-item.ts
+++ b/packages/web-components/src/components/card-group/card-group-item.ts
@@ -12,6 +12,7 @@ import settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings
import { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';
import C4DCard from '../card/card';
import styles from './card-group.scss';
+import { GRID_MODE } from './defs';
const { stablePrefix: c4dPrefix } = settings;
@@ -23,16 +24,17 @@ const { stablePrefix: c4dPrefix } = settings;
@customElement(`${c4dPrefix}-card-group-item`)
class C4DCardGroupItem extends C4DCard {
/**
- * `true` if the card group is using border.
+ * `true` if the card group item is empty.
*/
@property({ type: Boolean, reflect: true })
- border = false;
+ empty = false;
/**
- * `true` if the card group item is empty.
+ * The inherited grid mode the card group item lives within.
+ * Condensed (1px) | Narrow (16px) | Default(32px).
*/
- @property({ type: Boolean, reflect: true })
- empty = false;
+ @property({ attribute: 'grid-mode', reflect: true })
+ gridMode = GRID_MODE.DEFAULT;
static get stableSelector() {
return `${c4dPrefix}--card-group-item`;
diff --git a/packages/web-components/src/components/card-group/card-group.ts b/packages/web-components/src/components/card-group/card-group.ts
index c111e335019..996b22cfde3 100644
--- a/packages/web-components/src/components/card-group/card-group.ts
+++ b/packages/web-components/src/components/card-group/card-group.ts
@@ -10,7 +10,6 @@
import { LitElement, html } from 'lit';
import { property, state } from 'lit/decorators.js';
import settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';
-import sameHeight from '@carbon/ibmdotcom-utilities/es/utilities/sameHeight/sameHeight.js';
import { GRID_MODE } from './defs';
import styles from './card-group.scss';
import StableSelectorMixin from '../../globals/mixins/stable-selector';
@@ -20,9 +19,6 @@ export { GRID_MODE };
const { stablePrefix: c4dPrefix } = settings;
-// tag constants used for same height calculations
-const headingBottomMargin = 64;
-
/**
* Card Group.
*
@@ -35,55 +31,6 @@ class C4DCardGroup extends StableSelectorMixin(LitElement) {
*/
private _childItems: any[] = [];
- /**
- * Array to hold the card-heading elements within child items.
- */
- private _childItemHeadings: any[] = [];
-
- /**
- * Array to hold the card-eyebrow elements within child items.
- */
- private _childItemEyebrows: any[] = [];
-
- /**
- * Array to hold the tag-group elements within child items.
- */
- private _childItemTagGroup: any[] = [];
-
- /**
- * Array to hold the paragraph elements within child items.
- */
- private _childItemParagraphs: any[] = [];
-
- /**
- * Array to hold the card-cta-footer elements within child items.
- */
- private _childItemFooters: any[] = [];
-
- /**
- * The observer for the resize of the viewport.
- */
- private _observerResizeRoot: any | null = null; // TODO: Wait for `.d.ts` update to support `ResizeObserver`
-
- /**
- * Cleans-up and creats the resize observer for the scrolling container.
- *
- * @param [options] The options.
- * @param [options.create] `true` to create the new resize observer.
- */
- private _cleanAndCreateObserverResize({ create }: { create?: boolean } = {}) {
- if (this._observerResizeRoot) {
- this._observerResizeRoot.disconnect();
- this._observerResizeRoot = null;
- }
- if (create) {
- // TODO: Wait for `.d.ts` update to support `ResizeObserver`
- // @ts-ignore
- this._observerResizeRoot = new ResizeObserver(this._resizeHandler);
- this._observerResizeRoot.observe(this.ownerDocument!.documentElement);
- }
- }
-
/**
* Handler for @slotchange, set the height of all headings to the tallest height.
*
@@ -98,37 +45,12 @@ class C4DCardGroup extends StableSelectorMixin(LitElement) {
)
);
- // retrieve item heading, eyebrows, and footers to set same height
+ // Retrieve item heading, eyebrows, and footers to set same height.
if (this._childItems) {
this._childItems.forEach((e) => {
if (!e.hasAttribute('href') && this.gridMode === GRID_MODE.CONDENSED) {
this.gridMode = GRID_MODE.DEFAULT;
}
- this._childItemEyebrows.push(
- (e as HTMLElement).querySelector(
- (this.constructor as typeof C4DCardGroup).selectorItemEyebrow
- )
- );
- this._childItemParagraphs.push(
- (e as HTMLElement).querySelector(
- (this.constructor as typeof C4DCardGroup).selectorItemParagraph
- )
- );
- this._childItemTagGroup.push(
- (e as HTMLElement).querySelector(
- (this.constructor as typeof C4DCardGroup).selectorItemTagGroup
- )
- );
- this._childItemHeadings.push(
- (e as HTMLElement).querySelector(
- (this.constructor as typeof C4DCardGroup).selectorItemHeading
- )
- );
- this._childItemFooters.push(
- (e as HTMLElement).querySelector(
- (this.constructor as typeof C4DCardGroup).selectorItemFooter
- )
- );
});
const { customPropertyCardsPerRow } = this
@@ -137,70 +59,9 @@ class C4DCardGroup extends StableSelectorMixin(LitElement) {
customPropertyCardsPerRow,
String(this.cardsPerRow)
);
-
- if (this.gridMode !== GRID_MODE.NARROW) {
- this._resizeHandler();
- }
}
}
- /**
- * The observer for the resize of the viewport, calls sameHeight utility function
- */
- private _resizeHandler = () => {
- if (!this.pictograms) {
- window.requestAnimationFrame(() => {
- this._setSameHeight();
- });
- }
- };
-
- private _setSameHeight = () => {
- // check if items are not null before using sameHeight
-
- sameHeight(
- this._childItemEyebrows.filter((item) => item !== null),
- 'md'
- );
- sameHeight(
- this._childItemHeadings.filter((item) => item !== null),
- 'md'
- );
- sameHeight(
- this._childItemParagraphs.filter((item) => item !== null),
- 'md'
- );
- sameHeight(
- this._childItemFooters.filter((item) => item !== null),
- 'md'
- );
-
- let tagGroupHeight = 0;
-
- // get tallest height of tag groups
- this._childItemTagGroup.forEach((item) => {
- if (item) {
- const groupHeight = (item as HTMLElement).offsetHeight;
- if (groupHeight > tagGroupHeight) {
- tagGroupHeight = groupHeight;
- }
- }
- });
-
- this._childItemHeadings.forEach((e) => {
- // add tag group height to heading to the cards lacking tag group
- if (
- e &&
- !e.parentElement.hasAttribute('link') &&
- !e.nextElementSibling?.matches(
- (this.constructor as typeof C4DCardGroup).selectorItemTagGroup
- )
- ) {
- e.style.marginBottom = `${tagGroupHeight + headingBottomMargin}px`;
- }
- });
- };
-
/**
* The number of columns per row. Min 2, max 4, default 3. Applies to >=`lg` breakpoint only.
*/
@@ -243,16 +104,6 @@ class C4DCardGroup extends StableSelectorMixin(LitElement) {
@property({ type: Boolean, reflect: true })
pictograms = false;
- connectedCallback() {
- super.connectedCallback();
- this._cleanAndCreateObserverResize({ create: true });
- }
-
- disconnectedCallback() {
- this._cleanAndCreateObserverResize();
- super.disconnectedCallback();
- }
-
firstUpdated() {
super.connectedCallback();
@@ -263,11 +114,14 @@ class C4DCardGroup extends StableSelectorMixin(LitElement) {
) {
this.setAttribute('with-card-in-card', '');
}
- this._cleanAndCreateObserverResize({ create: true });
}
- updated() {
- this._resizeHandler();
+ updated(changedProperties) {
+ super.updated(changedProperties);
+
+ if (changedProperties.has('gridMode')) {
+ this._childItems.forEach((e) => (e.gridMode = this.gridMode));
+ }
}
render() {
diff --git a/packages/web-components/src/components/card/card.ts b/packages/web-components/src/components/card/card.ts
index b1e0094df4c..05d2978c540 100644
--- a/packages/web-components/src/components/card/card.ts
+++ b/packages/web-components/src/components/card/card.ts
@@ -11,6 +11,7 @@ import { TemplateResult, html, LitElement } from 'lit';
import { property, query, state } from 'lit/decorators.js';
import { ifDefined } from 'lit/directives/if-defined.js';
import ArrowRight20 from '@carbon/web-components/es/icons/arrow--right/20.js';
+import ArrowLeft20 from '@carbon/web-components/es/icons/arrow--left/20.js';
import CDSLink from '@carbon/web-components/es/components/link/link.js';
import markdownToHtml from '@carbon/ibmdotcom-utilities/es/utilities/markdownToHtml/markdownToHtml.js';
import { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';
@@ -28,11 +29,13 @@ import CTAMixin from '../../component-mixins/cta/cta';
const { prefix, stablePrefix: c4dPrefix } = settings;
/**
- * The table mapping slot name with the private property name that indicates the existence of the slot content.
+ * The table mapping slot name with the private property name that indicates the
+ * existence of the slot content.
*/
const slotExistencePropertyNames = {
image: '_hasImage',
pictogram: '_hasPictogram',
+ eyebrow: '_hasEyebrow',
};
/**
@@ -78,17 +81,32 @@ class C4DCard extends CTAMixin(StableSelectorMixin(CDSLink)) {
@state()
protected _hasPictogram = false;
+ /**
+ * `true` if there is eyebrow content.
+ */
+ @state()
+ protected _hasEyebrow = false;
+
@property({ attribute: 'no-poster', type: Boolean })
noPoster;
/**
- * Handles `slotchange` event.
+ * Handles `slotchange` event for slots other than the copy slot.
*/
protected _handleSlotChange({ target }: Event) {
const { name } = target as HTMLSlotElement;
- const hasContent = Boolean(this.querySelector('p'));
- this[slotExistencePropertyNames[name]] = hasContent;
- this._hasCopy = hasContent;
+ this[slotExistencePropertyNames[name]] = (target as HTMLSlotElement)
+ .assignedNodes()
+ .some(
+ (node) => node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim()
+ );
+ }
+
+ /**
+ * Handles `slotchange` event for the copy slot.
+ */
+ protected _handleCopySlotChange() {
+ this._hasCopy = Boolean(this.querySelector('p'));
}
/**
@@ -102,9 +120,11 @@ class C4DCard extends CTAMixin(StableSelectorMixin(CDSLink)) {
formatVideoCaption: formatVideoCaptionInEffect,
} = this;
if (ctaType !== CTA_TYPE.VIDEO) {
- return html`