From 105ed0eaef232d30246b3ff10c5eb60cfba8e068 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 13 Jan 2025 10:57:27 -0500 Subject: [PATCH 1/4] deps(*): update node.js to v22.13.0 (#1065) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .tool-versions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.tool-versions b/.tool-versions index 4336d68d1..ba86bddc5 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -nodejs 22.12.0 +nodejs 22.13.0 yarn 1.22.5 From 3c27a056acfed113eff39761fc579bbc6159610b Mon Sep 17 00:00:00 2001 From: Pierre-Yves Lafleur Date: Mon, 13 Jan 2025 13:04:55 -0500 Subject: [PATCH 2/4] feat(Theme): add text tokens (#1051) --- .../react/src/themes/build-theme.test.ts.snap | 102 +++++++++ .../react/src/themes/tokens/alias-tokens.ts | 5 +- .../src/themes/tokens/alias/text-tokens.ts | 210 ++++++++++++++++++ .../react/src/themes/tokens/ref-tokens.ts | 3 + .../src/themes/tokens/ref/text-tokens.ts | 74 ++++++ 5 files changed, 393 insertions(+), 1 deletion(-) create mode 100644 packages/react/src/themes/tokens/alias/text-tokens.ts create mode 100644 packages/react/src/themes/tokens/ref/text-tokens.ts diff --git a/packages/react/src/themes/build-theme.test.ts.snap b/packages/react/src/themes/build-theme.test.ts.snap index cf0c02e88..3696a15c3 100644 --- a/packages/react/src/themes/build-theme.test.ts.snap +++ b/packages/react/src/themes/build-theme.test.ts.snap @@ -114,5 +114,107 @@ exports[`buildTheme should build the defaultAliasTokens theme with the customiza "color-menu-item-content-disabled": "#B7BBC2", "color-menu-item-content-hover": "#000000", "color-menu-item-subcontent": "green", + "text-action-medium-font-family": ""Open Sans", sans-serif", + "text-action-medium-font-size": "0.75rem", + "text-action-medium-font-weight": "700", + "text-action-medium-letter-spacing": "0.2px", + "text-action-medium-line-height": "1.5rem", + "text-action-medium-transform": "uppercase", + "text-action-small-font-family": ""Open Sans", sans-serif", + "text-action-small-font-size": "0.6875rem", + "text-action-small-font-weight": "700", + "text-action-small-letter-spacing": "0.2px", + "text-action-small-line-height": "1.5rem", + "text-action-small-transform": "uppercase", + "text-body-large-font-family": ""Open Sans", sans-serif", + "text-body-large-font-size": "1rem", + "text-body-large-font-weight": "400", + "text-body-large-letter-spacing": "0.2px", + "text-body-large-line-height": "1.5rem", + "text-body-large-transform": "none", + "text-body-medium-font-family": ""Open Sans", sans-serif", + "text-body-medium-font-size": "0.875rem", + "text-body-medium-font-weight": "400", + "text-body-medium-letter-spacing": "0.2px", + "text-body-medium-line-height": "1.5rem", + "text-body-medium-transform": "none", + "text-body-small-font-family": ""Open Sans", sans-serif", + "text-body-small-font-size": "0.75rem", + "text-body-small-font-weight": "400", + "text-body-small-letter-spacing": "0.2px", + "text-body-small-line-height": "1.25rem", + "text-body-small-transform": "none", + "text-caption-medium-font-family": ""Open Sans", sans-serif", + "text-caption-medium-font-size": "0.875rem", + "text-caption-medium-font-weight": "400", + "text-caption-medium-letter-spacing": "0.2px", + "text-caption-medium-line-height": "1.5rem", + "text-caption-medium-transform": "none", + "text-heading-large-font-family": ""Open Sans", sans-serif", + "text-heading-large-font-size": "1.5rem", + "text-heading-large-font-weight": "600", + "text-heading-large-letter-spacing": "0.2px", + "text-heading-large-line-height": "2rem", + "text-heading-large-transform": "none", + "text-heading-medium-font-family": ""Open Sans", sans-serif", + "text-heading-medium-font-size": "1.25rem", + "text-heading-medium-font-weight": "600", + "text-heading-medium-letter-spacing": "0.2px", + "text-heading-medium-line-height": "1.75rem", + "text-heading-medium-transform": "none", + "text-heading-small-font-family": ""Open Sans", sans-serif", + "text-heading-small-font-size": "1rem", + "text-heading-small-font-weight": "600", + "text-heading-small-letter-spacing": "0.2px", + "text-heading-small-line-height": "1.5rem", + "text-heading-small-transform": "none", + "text-heading-xlarge-font-family": ""Open Sans", sans-serif", + "text-heading-xlarge-font-size": "2rem", + "text-heading-xlarge-font-weight": "600", + "text-heading-xlarge-letter-spacing": "0.2px", + "text-heading-xlarge-line-height": "2.5rem", + "text-heading-xlarge-transform": "none", + "text-heading-xsmall-font-family": ""Open Sans", sans-serif", + "text-heading-xsmall-font-size": "0.875rem", + "text-heading-xsmall-font-weight": "600", + "text-heading-xsmall-letter-spacing": "0.2px", + "text-heading-xsmall-line-height": "1.25rem", + "text-heading-xsmall-transform": "none", + "text-highlight-large-font-family": ""Open Sans", sans-serif", + "text-highlight-large-font-size": "1.5rem", + "text-highlight-large-font-weight": "600", + "text-highlight-large-letter-spacing": "0.2px", + "text-highlight-large-line-height": "2rem", + "text-highlight-large-transform": "none", + "text-highlight-medium-font-family": ""Open Sans", sans-serif", + "text-highlight-medium-font-size": "1.25rem", + "text-highlight-medium-font-weight": "600", + "text-highlight-medium-letter-spacing": "0.2px", + "text-highlight-medium-line-height": "1.75rem", + "text-highlight-medium-transform": "none", + "text-highlight-small-font-family": ""Open Sans", sans-serif", + "text-highlight-small-font-size": "1rem", + "text-highlight-small-font-weight": "600", + "text-highlight-small-letter-spacing": "0.2px", + "text-highlight-small-line-height": "1.5rem", + "text-highlight-small-transform": "none", + "text-label-medium-font-family": ""Open Sans", sans-serif", + "text-label-medium-font-size": "0.875rem", + "text-label-medium-font-weight": "400", + "text-label-medium-letter-spacing": "0.2px", + "text-label-medium-line-height": "1.5rem", + "text-label-medium-transform": "none", + "text-label-small-font-family": ""Open Sans", sans-serif", + "text-label-small-font-size": "0.75rem", + "text-label-small-font-weight": "400", + "text-label-small-letter-spacing": "0.2px", + "text-label-small-line-height": "1.25rem", + "text-label-small-transform": "none", + "text-legend-small-font-family": ""Open Sans", sans-serif", + "text-legend-small-font-size": "0.75rem", + "text-legend-small-font-weight": "400", + "text-legend-small-letter-spacing": "0.2px", + "text-legend-small-line-height": "1.25rem", + "text-legend-small-transform": "none", } `; diff --git a/packages/react/src/themes/tokens/alias-tokens.ts b/packages/react/src/themes/tokens/alias-tokens.ts index 97c767291..e8107fd26 100644 --- a/packages/react/src/themes/tokens/alias-tokens.ts +++ b/packages/react/src/themes/tokens/alias-tokens.ts @@ -1,8 +1,11 @@ import { ColorAliasToken, defaultColorAliasTokens } from './alias/color-tokens'; +import { defaultTextAliasTokens, TextAliasToken } from './alias/text-tokens'; export type AliasToken = - | ColorAliasToken; + | ColorAliasToken + | TextAliasToken; export const defaultAliasTokens = { ...defaultColorAliasTokens, + ...defaultTextAliasTokens, }; diff --git a/packages/react/src/themes/tokens/alias/text-tokens.ts b/packages/react/src/themes/tokens/alias/text-tokens.ts new file mode 100644 index 000000000..21bb301aa --- /dev/null +++ b/packages/react/src/themes/tokens/alias/text-tokens.ts @@ -0,0 +1,210 @@ +import type { AliasTokenMap } from '../tokens'; + +export type TextAliasToken = + | 'text-heading-xlarge-font-family' + | 'text-heading-xlarge-font-weight' + | 'text-heading-xlarge-font-size' + | 'text-heading-xlarge-line-height' + | 'text-heading-xlarge-letter-spacing' + | 'text-heading-xlarge-transform' + | 'text-heading-large-font-family' + | 'text-heading-large-font-weight' + | 'text-heading-large-font-size' + | 'text-heading-large-line-height' + | 'text-heading-large-letter-spacing' + | 'text-heading-large-transform' + | 'text-heading-medium-font-family' + | 'text-heading-medium-font-weight' + | 'text-heading-medium-font-size' + | 'text-heading-medium-line-height' + | 'text-heading-medium-letter-spacing' + | 'text-heading-medium-transform' + | 'text-heading-small-font-family' + | 'text-heading-small-font-weight' + | 'text-heading-small-font-size' + | 'text-heading-small-line-height' + | 'text-heading-small-letter-spacing' + | 'text-heading-small-transform' + | 'text-heading-xsmall-font-family' + | 'text-heading-xsmall-font-weight' + | 'text-heading-xsmall-font-size' + | 'text-heading-xsmall-line-height' + | 'text-heading-xsmall-letter-spacing' + | 'text-heading-xsmall-transform' + | 'text-body-large-font-family' + | 'text-body-large-font-weight' + | 'text-body-large-font-size' + | 'text-body-large-line-height' + | 'text-body-large-letter-spacing' + | 'text-body-large-transform' + | 'text-body-medium-font-family' + | 'text-body-medium-font-weight' + | 'text-body-medium-font-size' + | 'text-body-medium-line-height' + | 'text-body-medium-letter-spacing' + | 'text-body-medium-transform' + | 'text-body-small-font-family' + | 'text-body-small-font-weight' + | 'text-body-small-font-size' + | 'text-body-small-line-height' + | 'text-body-small-letter-spacing' + | 'text-body-small-transform' + | 'text-highlight-large-font-family' + | 'text-highlight-large-font-weight' + | 'text-highlight-large-font-size' + | 'text-highlight-large-line-height' + | 'text-highlight-large-letter-spacing' + | 'text-highlight-large-transform' + | 'text-highlight-medium-font-family' + | 'text-highlight-medium-font-weight' + | 'text-highlight-medium-font-size' + | 'text-highlight-medium-line-height' + | 'text-highlight-medium-letter-spacing' + | 'text-highlight-medium-transform' + | 'text-highlight-small-font-family' + | 'text-highlight-small-font-weight' + | 'text-highlight-small-font-size' + | 'text-highlight-small-line-height' + | 'text-highlight-small-letter-spacing' + | 'text-highlight-small-transform' + | 'text-action-medium-font-family' + | 'text-action-medium-font-weight' + | 'text-action-medium-font-size' + | 'text-action-medium-line-height' + | 'text-action-medium-letter-spacing' + | 'text-action-medium-transform' + | 'text-action-small-font-family' + | 'text-action-small-font-weight' + | 'text-action-small-font-size' + | 'text-action-small-line-height' + | 'text-action-small-letter-spacing' + | 'text-action-small-transform' + | 'text-label-medium-font-family' + | 'text-label-medium-font-weight' + | 'text-label-medium-font-size' + | 'text-label-medium-line-height' + | 'text-label-medium-letter-spacing' + | 'text-label-medium-transform' + | 'text-label-small-font-family' + | 'text-label-small-font-weight' + | 'text-label-small-font-size' + | 'text-label-small-line-height' + | 'text-label-small-letter-spacing' + | 'text-label-small-transform' + | 'text-legend-small-font-family' + | 'text-legend-small-font-weight' + | 'text-legend-small-font-size' + | 'text-legend-small-line-height' + | 'text-legend-small-letter-spacing' + | 'text-legend-small-transform' + | 'text-caption-medium-font-family' + | 'text-caption-medium-font-weight' + | 'text-caption-medium-font-size' + | 'text-caption-medium-line-height' + | 'text-caption-medium-letter-spacing' + | 'text-caption-medium-transform'; + +export const defaultTextAliasTokens: AliasTokenMap = { + 'text-heading-xlarge-font-family': 'font-family-brand', + 'text-heading-xlarge-font-weight': 'font-weight-semibold', + 'text-heading-xlarge-font-size': 'font-size-800', + 'text-heading-xlarge-line-height': 'line-height-1000', + 'text-heading-xlarge-letter-spacing': 'letter-spacing-normal', + 'text-heading-xlarge-transform': 'font-transform-none', + 'text-heading-large-font-family': 'font-family-brand', + 'text-heading-large-font-weight': 'font-weight-semibold', + 'text-heading-large-font-size': 'font-size-600', + 'text-heading-large-line-height': 'line-height-800', + 'text-heading-large-letter-spacing': 'letter-spacing-normal', + 'text-heading-large-transform': 'font-transform-none', + 'text-heading-medium-font-family': 'font-family-brand', + 'text-heading-medium-font-weight': 'font-weight-semibold', + 'text-heading-medium-font-size': 'font-size-500', + 'text-heading-medium-line-height': 'line-height-700', + 'text-heading-medium-letter-spacing': 'letter-spacing-normal', + 'text-heading-medium-transform': 'font-transform-none', + 'text-heading-small-font-family': 'font-family-brand', + 'text-heading-small-font-weight': 'font-weight-semibold', + 'text-heading-small-font-size': 'font-size-400', + 'text-heading-small-line-height': 'line-height-600', + 'text-heading-small-letter-spacing': 'letter-spacing-normal', + 'text-heading-small-transform': 'font-transform-none', + 'text-heading-xsmall-font-family': 'font-family-brand', + 'text-heading-xsmall-font-weight': 'font-weight-semibold', + 'text-heading-xsmall-font-size': 'font-size-350', + 'text-heading-xsmall-line-height': 'line-height-500', + 'text-heading-xsmall-letter-spacing': 'letter-spacing-normal', + 'text-heading-xsmall-transform': 'font-transform-none', + 'text-body-large-font-family': 'font-family-sans', + 'text-body-large-font-weight': 'font-weight-regular', + 'text-body-large-font-size': 'font-size-400', + 'text-body-large-line-height': 'line-height-600', + 'text-body-large-letter-spacing': 'letter-spacing-normal', + 'text-body-large-transform': 'font-transform-none', + 'text-body-medium-font-family': 'font-family-sans', + 'text-body-medium-font-weight': 'font-weight-regular', + 'text-body-medium-font-size': 'font-size-350', + 'text-body-medium-line-height': 'line-height-600', + 'text-body-medium-letter-spacing': 'letter-spacing-normal', + 'text-body-medium-transform': 'font-transform-none', + 'text-body-small-font-family': 'font-family-sans', + 'text-body-small-font-weight': 'font-weight-regular', + 'text-body-small-font-size': 'font-size-300', + 'text-body-small-line-height': 'line-height-500', + 'text-body-small-letter-spacing': 'letter-spacing-normal', + 'text-body-small-transform': 'font-transform-none', + 'text-highlight-large-font-family': 'font-family-sans', + 'text-highlight-large-font-weight': 'text-heading-large-font-weight', + 'text-highlight-large-font-size': 'text-heading-large-font-size', + 'text-highlight-large-line-height': 'text-heading-large-line-height', + 'text-highlight-large-letter-spacing': 'text-heading-large-letter-spacing', + 'text-highlight-large-transform': 'text-heading-large-transform', + 'text-highlight-medium-font-family': 'font-family-sans', + 'text-highlight-medium-font-weight': 'text-heading-medium-font-weight', + 'text-highlight-medium-font-size': 'text-heading-medium-font-size', + 'text-highlight-medium-line-height': 'text-heading-medium-line-height', + 'text-highlight-medium-letter-spacing': 'text-heading-medium-letter-spacing', + 'text-highlight-medium-transform': 'text-heading-medium-transform', + 'text-highlight-small-font-family': 'font-family-sans', + 'text-highlight-small-font-weight': 'text-heading-small-font-weight', + 'text-highlight-small-font-size': 'text-heading-small-font-size', + 'text-highlight-small-line-height': 'text-heading-small-line-height', + 'text-highlight-small-letter-spacing': 'text-heading-small-letter-spacing', + 'text-highlight-small-transform': 'text-heading-small-transform', + 'text-action-medium-font-family': 'text-body-small-font-family', + 'text-action-medium-font-weight': 'font-weight-bold', + 'text-action-medium-font-size': 'text-body-small-font-size', + 'text-action-medium-line-height': 'line-height-600', + 'text-action-medium-letter-spacing': 'text-body-small-letter-spacing', + 'text-action-medium-transform': 'font-transform-uppercase', + 'text-action-small-font-family': 'text-body-small-font-family', + 'text-action-small-font-weight': 'font-weight-bold', + 'text-action-small-font-size': 'font-size-275', + 'text-action-small-line-height': 'line-height-600', + 'text-action-small-letter-spacing': 'text-body-small-letter-spacing', + 'text-action-small-transform': 'font-transform-uppercase', + 'text-label-medium-font-family': 'text-body-medium-font-family', + 'text-label-medium-font-weight': 'text-body-medium-font-weight', + 'text-label-medium-font-size': 'text-body-medium-font-size', + 'text-label-medium-line-height': 'text-body-medium-line-height', + 'text-label-medium-letter-spacing': 'text-body-medium-letter-spacing', + 'text-label-medium-transform': 'text-body-medium-transform', + 'text-label-small-font-family': 'text-body-small-font-family', + 'text-label-small-font-weight': 'text-body-small-font-weight', + 'text-label-small-font-size': 'text-body-small-font-size', + 'text-label-small-line-height': 'text-body-small-line-height', + 'text-label-small-letter-spacing': 'text-body-small-letter-spacing', + 'text-label-small-transform': 'text-body-small-transform', + 'text-legend-small-font-family': 'text-body-small-font-family', + 'text-legend-small-font-weight': 'text-body-small-font-weight', + 'text-legend-small-font-size': 'text-body-small-font-size', + 'text-legend-small-line-height': 'text-body-small-line-height', + 'text-legend-small-letter-spacing': 'text-body-small-letter-spacing', + 'text-legend-small-transform': 'text-body-small-transform', + 'text-caption-medium-font-family': 'text-body-medium-font-family', + 'text-caption-medium-font-weight': 'text-body-medium-font-weight', + 'text-caption-medium-font-size': 'text-body-medium-font-size', + 'text-caption-medium-line-height': 'text-body-medium-line-height', + 'text-caption-medium-letter-spacing': 'text-body-medium-letter-spacing', + 'text-caption-medium-transform': 'text-body-medium-transform', +}; diff --git a/packages/react/src/themes/tokens/ref-tokens.ts b/packages/react/src/themes/tokens/ref-tokens.ts index 6e3b6b400..07cfe20d9 100644 --- a/packages/react/src/themes/tokens/ref-tokens.ts +++ b/packages/react/src/themes/tokens/ref-tokens.ts @@ -1,11 +1,14 @@ import { defaultPaletteTokens, PaletteToken } from './ref/palette-tokens'; +import { defaultTextTokens, TextToken } from './ref/text-tokens'; import { defaultUtilityTokens, UtilityToken } from './ref/utility-tokens'; export type RefToken = | PaletteToken + | TextToken | UtilityToken; export const defaultRefTokens = { ...defaultPaletteTokens, + ...defaultTextTokens, ...defaultUtilityTokens, }; diff --git a/packages/react/src/themes/tokens/ref/text-tokens.ts b/packages/react/src/themes/tokens/ref/text-tokens.ts new file mode 100644 index 000000000..41351c6bf --- /dev/null +++ b/packages/react/src/themes/tokens/ref/text-tokens.ts @@ -0,0 +1,74 @@ +import type { RefTokenMap } from '../tokens'; + +export type TextToken = + | 'font-family-sans' + | 'font-family-brand' + | 'font-size-100' + | 'font-size-200' + | 'font-size-275' + | 'font-size-300' + | 'font-size-350' + | 'font-size-400' + | 'font-size-500' + | 'font-size-600' + | 'font-size-700' + | 'font-size-800' + | 'font-size-900' + | 'font-size-1000' + | 'font-size-1100' + | 'font-size-1200' + | 'font-weight-regular' + | 'font-weight-semibold' + | 'font-weight-bold' + | 'line-height-100' + | 'line-height-200' + | 'line-height-300' + | 'line-height-400' + | 'line-height-500' + | 'line-height-600' + | 'line-height-700' + | 'line-height-800' + | 'line-height-900' + | 'line-height-1000' + | 'line-height-1100' + | 'line-height-1200' + | 'letter-spacing-normal' + | 'font-transform-none' + | 'font-transform-uppercase'; + +export const defaultTextTokens: RefTokenMap = { + 'font-family-sans': '"Open Sans", sans-serif', + 'font-family-brand': '"Open Sans", sans-serif', + 'font-size-100': '0.25rem', + 'font-size-200': '0.5rem', + 'font-size-275': '0.6875rem', + 'font-size-300': '0.75rem', + 'font-size-350': '0.875rem', + 'font-size-400': '1rem', + 'font-size-500': '1.25rem', + 'font-size-600': '1.5rem', + 'font-size-700': '1.75rem', + 'font-size-800': '2rem', + 'font-size-900': '2.25rem', + 'font-size-1000': '2.5rem', + 'font-size-1100': '2.75rem', + 'font-size-1200': '3rem', + 'font-weight-regular': '400', + 'font-weight-semibold': '600', + 'font-weight-bold': '700', + 'line-height-100': '0.25rem', + 'line-height-200': '0.5rem', + 'line-height-300': '0.75rem', + 'line-height-400': '1rem', + 'line-height-500': '1.25rem', + 'line-height-600': '1.5rem', + 'line-height-700': '1.75rem', + 'line-height-800': '2rem', + 'line-height-900': '2.25rem', + 'line-height-1000': '2.5rem', + 'line-height-1100': '2.75rem', + 'line-height-1200': '3rem', + 'letter-spacing-normal': '0.2px', + 'font-transform-none': 'none', + 'font-transform-uppercase': 'uppercase', +}; From 736ad7e8d67359c046eb8e9c5c4a650e208940e7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 14 Jan 2025 09:12:28 -0500 Subject: [PATCH 3/4] deps(*): lock file maintenance (#1067) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 387 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 241 insertions(+), 146 deletions(-) diff --git a/yarn.lock b/yarn.lock index 003d443b7..28543a634 100644 --- a/yarn.lock +++ b/yarn.lock @@ -33,10 +33,10 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.2, @babel/compat-data@npm:^7.25.9, @babel/compat-data@npm:^7.26.0": - version: 7.26.3 - resolution: "@babel/compat-data@npm:7.26.3" - checksum: 10c0/d63e71845c34dfad8d7ff8c15b562e620dbf60e68e3abfa35681d24d612594e8e5ec9790d831a287ecd79ce00f48e7ffddc85c5ce94af7242d45917b9c1a5f90 +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.25.2, @babel/compat-data@npm:^7.26.0, @babel/compat-data@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/compat-data@npm:7.26.5" + checksum: 10c0/9d2b41f0948c3dfc5de44d9f789d2208c2ea1fd7eb896dfbb297fe955e696728d6f363c600cd211e7f58ccbc2d834fe516bb1e4cf883bbabed8a32b038afc1a0 languageName: node linkType: hard @@ -86,16 +86,16 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.25.0, @babel/generator@npm:^7.26.0, @babel/generator@npm:^7.26.3, @babel/generator@npm:^7.7.2": - version: 7.26.3 - resolution: "@babel/generator@npm:7.26.3" +"@babel/generator@npm:^7.25.0, @babel/generator@npm:^7.26.0, @babel/generator@npm:^7.26.5, @babel/generator@npm:^7.7.2": + version: 7.26.5 + resolution: "@babel/generator@npm:7.26.5" dependencies: - "@babel/parser": "npm:^7.26.3" - "@babel/types": "npm:^7.26.3" + "@babel/parser": "npm:^7.26.5" + "@babel/types": "npm:^7.26.5" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^3.0.2" - checksum: 10c0/54f260558e3e4ec8942da3cde607c35349bb983c3a7c5121243f96893fba3e8cd62e1f1773b2051f936f8c8a10987b758d5c7d76dbf2784e95bb63ab4843fa00 + checksum: 10c0/3be79e0aa03f38858a465d12ee2e468320b9122dc44fc85984713e32f16f4d77ce34a16a1a9505972782590e0b8d847b6f373621f9c6fafa1906d90f31416cb0 languageName: node linkType: hard @@ -109,15 +109,15 @@ __metadata: linkType: hard "@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.2, @babel/helper-compilation-targets@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-compilation-targets@npm:7.25.9" + version: 7.26.5 + resolution: "@babel/helper-compilation-targets@npm:7.26.5" dependencies: - "@babel/compat-data": "npm:^7.25.9" + "@babel/compat-data": "npm:^7.26.5" "@babel/helper-validator-option": "npm:^7.25.9" browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/a6b26a1e4222e69ef8e62ee19374308f060b007828bc11c65025ecc9e814aba21ff2175d6d3f8bf53c863edd728ee8f94ba7870f8f90a37d39552ad9933a8aaa + checksum: 10c0/9da5c77e5722f1a2fcb3e893049a01d414124522bbf51323bb1a0c9dcd326f15279836450fc36f83c9e8a846f3c40e88be032ed939c5a9840922bed6073edfb4 languageName: node linkType: hard @@ -208,10 +208,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.25.9 - resolution: "@babel/helper-plugin-utils@npm:7.25.9" - checksum: 10c0/483066a1ba36ff16c0116cd24f93de05de746a603a777cd695ac7a1b034928a65a4ecb35f255761ca56626435d7abdb73219eba196f9aa83b6c3c3169325599d +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.26.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.26.5 + resolution: "@babel/helper-plugin-utils@npm:7.26.5" + checksum: 10c0/cdaba71d4b891aa6a8dfbe5bac2f94effb13e5fa4c2c487667fdbaa04eae059b78b28d85a885071f45f7205aeb56d16759e1bed9c118b94b16e4720ef1ab0f65 languageName: node linkType: hard @@ -229,15 +229,15 @@ __metadata: linkType: hard "@babel/helper-replace-supers@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-replace-supers@npm:7.25.9" + version: 7.26.5 + resolution: "@babel/helper-replace-supers@npm:7.26.5" dependencies: "@babel/helper-member-expression-to-functions": "npm:^7.25.9" "@babel/helper-optimise-call-expression": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/traverse": "npm:^7.26.5" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/0b40d7d2925bd3ba4223b3519e2e4d2456d471ad69aa458f1c1d1783c80b522c61f8237d3a52afc9e47c7174129bbba650df06393a6787d5722f2ec7f223c3f4 + checksum: 10c0/b19b1245caf835207aaaaac3a494f03a16069ae55e76a2e1350b5acd560e6a820026997a8160e8ebab82ae873e8208759aa008eb8422a67a775df41f0a4633d4 languageName: node linkType: hard @@ -293,14 +293,14 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.3": - version: 7.26.3 - resolution: "@babel/parser@npm:7.26.3" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/parser@npm:7.26.5" dependencies: - "@babel/types": "npm:^7.26.3" + "@babel/types": "npm:^7.26.5" bin: parser: ./bin/babel-parser.js - checksum: 10c0/48f736374e61cfd10ddbf7b80678514ae1f16d0e88bc793d2b505d73d9b987ea786fc8c2f7ee8f8b8c467df062030eb07fd0eb2168f0f541ca1f542775852cad + checksum: 10c0/2e77dd99ee028ee3c10fa03517ae1169f2432751adf71315e4dc0d90b61639d51760d622f418f6ac665ae4ea65f8485232a112ea0e76f18e5900225d3d19a61e languageName: node linkType: hard @@ -642,13 +642,13 @@ __metadata: linkType: hard "@babel/plugin-transform-block-scoped-functions@npm:^7.24.7, @babel/plugin-transform-block-scoped-functions@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.9" + version: 7.26.5 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.26.5" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.26.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e92ba0e3d72c038513844d8fca1cc8437dcb35cd42778e97fd03cb8303380b201468611e7ecfdcae3de33473b2679fe2de1552c5f925d112c5693425cf851f10 + checksum: 10c0/2f3060800ead46b09971dd7bf830d66383b7bc61ced9945633b4ef9bf87787956ea83fcf49b387cecb377812588c6b81681714c760f9cf89ecba45edcbab1192 languageName: node linkType: hard @@ -937,13 +937,13 @@ __metadata: linkType: hard "@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.7, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.9" + version: 7.26.6 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.26.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.26.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/eb623db5be078a1c974afe7c7797b0309ba2ea9e9237c0b6831ade0f56d8248bb4ab3432ab34495ff8c877ec2fe412ff779d1e9b3c2b8139da18e1753d950bc3 + checksum: 10c0/574d6db7cbc5c092db5d1dece8ce26195e642b9c40dbfeaf3082058a78ad7959c1c333471cdd45f38b784ec488850548075d527b178c5010ee9bff7aa527cc7a languageName: node linkType: hard @@ -1216,17 +1216,17 @@ __metadata: linkType: hard "@babel/plugin-transform-typescript@npm:^7.25.9": - version: 7.26.3 - resolution: "@babel/plugin-transform-typescript@npm:7.26.3" + version: 7.26.5 + resolution: "@babel/plugin-transform-typescript@npm:7.26.5" dependencies: "@babel/helper-annotate-as-pure": "npm:^7.25.9" "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.26.5" "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" "@babel/plugin-syntax-typescript": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0a0509ec56666fab5b557d573254665956a377916fc1e7cee309c0711d11257338ba7ee678db03603a3985d2c6c0b210b788fb6b9616d8fc0595469e39089a8f + checksum: 10c0/64204b1f1c77d896142071cc174e7bb4fbc597bdc0ea73aec8de1a72d252755db381b9ed40342fc283c32387d7375d0803d0aed8262dd503633f5035148d47a0 languageName: node linkType: hard @@ -1529,28 +1529,28 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.25.2, @babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.4.5": - version: 7.26.4 - resolution: "@babel/traverse@npm:7.26.4" +"@babel/traverse@npm:^7.18.9, @babel/traverse@npm:^7.25.2, @babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.26.5, @babel/traverse@npm:^7.4.5": + version: 7.26.5 + resolution: "@babel/traverse@npm:7.26.5" dependencies: "@babel/code-frame": "npm:^7.26.2" - "@babel/generator": "npm:^7.26.3" - "@babel/parser": "npm:^7.26.3" + "@babel/generator": "npm:^7.26.5" + "@babel/parser": "npm:^7.26.5" "@babel/template": "npm:^7.25.9" - "@babel/types": "npm:^7.26.3" + "@babel/types": "npm:^7.26.5" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10c0/cf25d0eda9505daa0f0832ad786b9e28c9d967e823aaf7fbe425250ab198c656085495aa6bed678b27929e095c84eea9fd778b851a31803da94c9bc4bf4eaef7 + checksum: 10c0/0779059ecf63e31446564cf31adf170e701e8017ef02c819c57924a9a83d6b2ce41dbff3ef295589da9410497a3e575655bb8084ca470e0ab1bc193128afa9fe languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.3, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": - version: 7.26.3 - resolution: "@babel/types@npm:7.26.3" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.9, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": + version: 7.26.5 + resolution: "@babel/types@npm:7.26.5" dependencies: "@babel/helper-string-parser": "npm:^7.25.9" "@babel/helper-validator-identifier": "npm:^7.25.9" - checksum: 10c0/966c5242c5e55c8704bf7a7418e7be2703a0afa4d19a8480999d5a4ef13d095dd60686615fe5983cb7593b4b06ba3a7de8d6ca501c1d78bdd233a10d90be787b + checksum: 10c0/0278053b69d7c2b8573aa36dc5242cad95f0d965e1c0ed21ccacac6330092e59ba5949753448f6d6eccf6ad59baaef270295cc05218352e060ea8c68388638c4 languageName: node linkType: hard @@ -2214,21 +2214,21 @@ __metadata: linkType: hard "@floating-ui/core@npm:^1.6.0": - version: 1.6.8 - resolution: "@floating-ui/core@npm:1.6.8" + version: 1.6.9 + resolution: "@floating-ui/core@npm:1.6.9" dependencies: - "@floating-ui/utils": "npm:^0.2.8" - checksum: 10c0/d6985462aeccae7b55a2d3f40571551c8c42bf820ae0a477fc40ef462e33edc4f3f5b7f11b100de77c9b58ecb581670c5c3f46d0af82b5e30aa185c735257eb9 + "@floating-ui/utils": "npm:^0.2.9" + checksum: 10c0/77debdfc26bc36c6f5ae1f26ab3c15468215738b3f5682af4e1915602fa21ba33ad210273f31c9d2da1c531409929e1afb1138b1608c6b54a0f5853ee84c340d languageName: node linkType: hard "@floating-ui/dom@npm:^1.0.0": - version: 1.6.12 - resolution: "@floating-ui/dom@npm:1.6.12" + version: 1.6.13 + resolution: "@floating-ui/dom@npm:1.6.13" dependencies: "@floating-ui/core": "npm:^1.6.0" - "@floating-ui/utils": "npm:^0.2.8" - checksum: 10c0/c67b39862175b175c6ac299ea970f17a22c7482cfdf3b1bc79313407bf0880188b022b878953fa69d3ce166ff2bd9ae57c86043e5dd800c262b470d877591b7d + "@floating-ui/utils": "npm:^0.2.9" + checksum: 10c0/272242d2eb6238ffcee0cb1f3c66e0eafae804d5d7b449db5ecf904bc37d31ad96cf575a9e650b93c1190f64f49a684b1559d10e05ed3ec210628b19116991a9 languageName: node linkType: hard @@ -2258,10 +2258,10 @@ __metadata: languageName: node linkType: hard -"@floating-ui/utils@npm:^0.2.8": - version: 0.2.8 - resolution: "@floating-ui/utils@npm:0.2.8" - checksum: 10c0/a8cee5f17406c900e1c3ef63e3ca89b35e7a2ed645418459a73627b93b7377477fc888081011c6cd177cac45ec2b92a6cab018c14ea140519465498dddd2d3f9 +"@floating-ui/utils@npm:^0.2.8, @floating-ui/utils@npm:^0.2.9": + version: 0.2.9 + resolution: "@floating-ui/utils@npm:0.2.9" + checksum: 10c0/48bbed10f91cb7863a796cc0d0e917c78d11aeb89f98d03fc38d79e7eb792224a79f538ed8a2d5d5584511d4ca6354ef35f1712659fd569868e342df4398ad6f languageName: node linkType: hard @@ -2665,6 +2665,15 @@ __metadata: languageName: node linkType: hard +"@keyv/serialize@npm:^1.0.2": + version: 1.0.2 + resolution: "@keyv/serialize@npm:1.0.2" + dependencies: + buffer: "npm:^6.0.3" + checksum: 10c0/31c5cb0938d22ce890314befc4d00c248c4c9be9664885978d6449b1787993dbc91999041076d53437888bb5f4280233276fbc4c72f97955d111d7a6ccd4cd67 + languageName: node + linkType: hard + "@leichtgewicht/ip-codec@npm:^2.0.1": version: 2.0.5 resolution: "@leichtgewicht/ip-codec@npm:2.0.5" @@ -3790,14 +3799,14 @@ __metadata: linkType: hard "@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^5.0.0": - version: 5.0.3 - resolution: "@types/express-serve-static-core@npm:5.0.3" + version: 5.0.4 + resolution: "@types/express-serve-static-core@npm:5.0.4" dependencies: "@types/node": "npm:*" "@types/qs": "npm:*" "@types/range-parser": "npm:*" "@types/send": "npm:*" - checksum: 10c0/47cacb12d393f4272f46e5c95d7b06f9c32c528ba1cca31b7ee883f6f6ab7e8f40b92fac2333dea6c1f8130e098793f775441f048067514794662944e900189c + checksum: 10c0/e469d179a8815703f0be495f400713394ddccaf37d1fab90907d2ec0b19b03df4db20a6bbde026ba0d218a817ed22c3ef3934d429649b1ce66d26084f5105eae languageName: node linkType: hard @@ -3977,11 +3986,11 @@ __metadata: linkType: hard "@types/node@npm:*, @types/node@npm:^22.0.0": - version: 22.10.5 - resolution: "@types/node@npm:22.10.5" + version: 22.10.6 + resolution: "@types/node@npm:22.10.6" dependencies: undici-types: "npm:~6.20.0" - checksum: 10c0/6a0e7d1fe6a86ef6ee19c3c6af4c15542e61aea2f4cee655b6252efb356795f1f228bc8299921e82924e80ff8eca29b74d9dd0dd5cc1a90983f892f740b480df + checksum: 10c0/8b67affc211e5f9c74f7949cda04ca669721e50b83d71b8772a7bed7a4a3c41d663b3a794413f618e763ca6c5da8c234c25ffebcb0737983fc3e7415818ab9a7 languageName: node linkType: hard @@ -4016,9 +4025,9 @@ __metadata: linkType: hard "@types/qs@npm:*": - version: 6.9.17 - resolution: "@types/qs@npm:6.9.17" - checksum: 10c0/a183fa0b3464267f8f421e2d66d960815080e8aab12b9aadab60479ba84183b1cdba8f4eff3c06f76675a8e42fe6a3b1313ea76c74f2885c3e25d32499c17d1b + version: 6.9.18 + resolution: "@types/qs@npm:6.9.18" + checksum: 10c0/790b9091348e06dde2c8e4118b5771ab386a8c22a952139a2eb0675360a2070d0b155663bf6f75b23f258fd0a1f7ffc0ba0f059d99a719332c03c40d9e9cd63b languageName: node linkType: hard @@ -5248,6 +5257,13 @@ __metadata: languageName: node linkType: hard +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + languageName: node + linkType: hard + "batch@npm:0.6.1": version: 0.6.1 resolution: "batch@npm:0.6.1" @@ -5343,9 +5359,9 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.24.0, browserslist@npm:^4.24.2": - version: 4.24.3 - resolution: "browserslist@npm:4.24.3" +"browserslist@npm:^4.24.0, browserslist@npm:^4.24.3": + version: 4.24.4 + resolution: "browserslist@npm:4.24.4" dependencies: caniuse-lite: "npm:^1.0.30001688" electron-to-chromium: "npm:^1.5.73" @@ -5353,7 +5369,7 @@ __metadata: update-browserslist-db: "npm:^1.1.1" bin: browserslist: cli.js - checksum: 10c0/bab261ef7b6e1656a719a9fa31240ae7ce4d5ba68e479f6b11e348d819346ab4c0ff6f4821f43adcc9c193a734b186775a83b37979e70a69d182965909fe569a + checksum: 10c0/db7ebc1733cf471e0b490b4f47e3e2ea2947ce417192c9246644e92c667dd56a71406cc58f62ca7587caf828364892e9952904a02b7aead752bc65b62a37cfe9 languageName: node linkType: hard @@ -5382,6 +5398,16 @@ __metadata: languageName: node linkType: hard +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.2.1" + checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 + languageName: node + linkType: hard + "bundle-name@npm:^4.1.0": version: 4.1.0 resolution: "bundle-name@npm:4.1.0" @@ -5418,6 +5444,16 @@ __metadata: languageName: node linkType: hard +"cacheable@npm:^1.8.7": + version: 1.8.7 + resolution: "cacheable@npm:1.8.7" + dependencies: + hookified: "npm:^1.6.0" + keyv: "npm:^5.2.3" + checksum: 10c0/3403c2afe9f8bb804b2371e2aa45f10c1f817945ce20b3da2338d2f0b099c9a9d28e59939592e832ba0e6b1d932f8555cc0a0d815ca7bd68a086e1ad131ae40a + languageName: node + linkType: hard + "call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1": version: 1.0.1 resolution: "call-bind-apply-helpers@npm:1.0.1" @@ -5489,9 +5525,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001688": - version: 1.0.30001690 - resolution: "caniuse-lite@npm:1.0.30001690" - checksum: 10c0/646bd469032afa90400a84dec30a2b00a6eda62c03ead358117e3f884cda8aacec02ec058a6dbee5eaf9714f83e483b9b0eb4fb42febb8076569f5ca40f1d347 + version: 1.0.30001692 + resolution: "caniuse-lite@npm:1.0.30001692" + checksum: 10c0/fca5105561ea12f3de593f3b0f062af82f7d07519e8dbcb97f34e7fd23349bcef1b1622a9a6cd2164d98e3d2f20059ef7e271edae46567aef88caf4c16c7708a languageName: node linkType: hard @@ -6004,18 +6040,18 @@ __metadata: linkType: hard "core-js-compat@npm:^3.37.1, core-js-compat@npm:^3.38.0, core-js-compat@npm:^3.38.1": - version: 3.39.0 - resolution: "core-js-compat@npm:3.39.0" + version: 3.40.0 + resolution: "core-js-compat@npm:3.40.0" dependencies: - browserslist: "npm:^4.24.2" - checksum: 10c0/880579a3dab235e3b6350f1e324269c600753b48e891ea859331618d5051e68b7a95db6a03ad2f3cc7df4397318c25a5bc7740562ad39e94f56568638d09d414 + browserslist: "npm:^4.24.3" + checksum: 10c0/44f6e88726fe266a5be9581a79766800478a8d5c492885f2d4c2a4e2babd9b06bc1689d5340d3a61ae7332f990aff2e83b6203ff8773137a627cfedfbeefabeb languageName: node linkType: hard "core-js@npm:*, core-js@npm:^3.1.3, core-js@npm:^3.37.0": - version: 3.39.0 - resolution: "core-js@npm:3.39.0" - checksum: 10c0/f7602069b6afb2e3298eec612a5c1e0c3e6a458930fbfc7a4c5f9ac03426507f49ce395eecdd2d9bae9024f820e44582b67ffe16f2272395af26964f174eeb6b + version: 3.40.0 + resolution: "core-js@npm:3.40.0" + checksum: 10c0/db7946ada881e845d8b157061945b1187618fa45cf162f392a151e8a497962aed2da688c982eaa1d444c864be97a70f8be4d73385294b515d224dd164d19f1d4 languageName: node linkType: hard @@ -6222,7 +6258,7 @@ __metadata: languageName: node linkType: hard -"css-tree@npm:^3.0.1": +"css-tree@npm:^3.0.1, css-tree@npm:^3.1.0": version: 3.1.0 resolution: "css-tree@npm:3.1.0" dependencies: @@ -6785,9 +6821,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.5.73": - version: 1.5.78 - resolution: "electron-to-chromium@npm:1.5.78" - checksum: 10c0/6100dc52027ae53c26cebd13a9ea28790755496eb7fb3809dd6485999f65692090b961c15503e387abb04233a033d9064b8e6fd326c3c0609806acca016ec3a6 + version: 1.5.80 + resolution: "electron-to-chromium@npm:1.5.80" + checksum: 10c0/6aaf1891e1b05251efac6f4a63c0ddccf567f0f76506cf0cb284f11413762423fddd7786558066f74c3a95e2a533dad7a97bebe38779b46b7a799d8dd20cea53 languageName: node linkType: hard @@ -7151,11 +7187,11 @@ __metadata: linkType: hard "es-object-atoms@npm:^1.0.0": - version: 1.0.0 - resolution: "es-object-atoms@npm:1.0.0" + version: 1.0.1 + resolution: "es-object-atoms@npm:1.0.1" dependencies: es-errors: "npm:^1.3.0" - checksum: 10c0/1fed3d102eb27ab8d983337bb7c8b159dd2a1e63ff833ec54eea1311c96d5b08223b433060ba240541ca8adba9eee6b0a60cdbf2f80634b784febc9cc8b687b4 + checksum: 10c0/dde63dd195f96e12f583a14eacf99452e2d95abb4a689f68e37a06c1a8a1c988a230c6dfc16601b36da8d0002465320a1135e559350589085052dc4dc1c936f3 languageName: node linkType: hard @@ -7812,7 +7848,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.1, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.1, fast-glob@npm:^3.3.2, fast-glob@npm:^3.3.3": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" dependencies: @@ -7904,6 +7940,15 @@ __metadata: languageName: node linkType: hard +"file-entry-cache@npm:^10.0.5": + version: 10.0.5 + resolution: "file-entry-cache@npm:10.0.5" + dependencies: + flat-cache: "npm:^6.1.5" + checksum: 10c0/c7d9bd537d1862db5357ecc688a22dc9287c2590e9eba04e85e0601d6143905eaa5edc5534f1dd92e24713f230ee69d99e150d7b6120c6d940f40beccdd5caf3 + languageName: node + linkType: hard + "file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -7913,7 +7958,7 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^9.0.0, file-entry-cache@npm:^9.1.0": +"file-entry-cache@npm:^9.0.0": version: 9.1.0 resolution: "file-entry-cache@npm:9.1.0" dependencies: @@ -8034,6 +8079,17 @@ __metadata: languageName: node linkType: hard +"flat-cache@npm:^6.1.5": + version: 6.1.5 + resolution: "flat-cache@npm:6.1.5" + dependencies: + cacheable: "npm:^1.8.7" + flatted: "npm:^3.3.2" + hookified: "npm:^1.6.0" + checksum: 10c0/b107edc1c24a8fabe89645001fb8b1479016177d92be45dc6ba739e688131fe35fffbf13516d2f7bb3dc5c1256ff8721f16ec1858c4ee77e46f93c9093c53689 + languageName: node + linkType: hard + "flat@npm:^5.0.2": version: 5.0.2 resolution: "flat@npm:5.0.2" @@ -8043,7 +8099,7 @@ __metadata: languageName: node linkType: hard -"flatted@npm:^3.2.9, flatted@npm:^3.3.1": +"flatted@npm:^3.2.9, flatted@npm:^3.3.1, flatted@npm:^3.3.2": version: 3.3.2 resolution: "flatted@npm:3.3.2" checksum: 10c0/24cc735e74d593b6c767fe04f2ef369abe15b62f6906158079b9874bdb3ee5ae7110bb75042e70cd3f99d409d766f357caf78d5ecee9780206f5fdc5edbad334 @@ -8565,6 +8621,13 @@ __metadata: languageName: node linkType: hard +"hookified@npm:^1.6.0": + version: 1.6.0 + resolution: "hookified@npm:1.6.0" + checksum: 10c0/00ae9502315a21b559c2d057e02d1418a812e015df701b89f590ddbce135e422058e6e97b1047ef4b0b96477bf08e36f3f572fe247c8f3370a126555800ae46f + languageName: node + linkType: hard + "hosted-git-info@npm:^7.0.0": version: 7.0.2 resolution: "hosted-git-info@npm:7.0.2" @@ -8770,9 +8833,9 @@ __metadata: linkType: hard "http-parser-js@npm:>=0.5.1": - version: 0.5.8 - resolution: "http-parser-js@npm:0.5.8" - checksum: 10c0/4ed89f812c44f84c4ae5d43dd3a0c47942b875b63be0ed2ccecbe6b0018af867d806495fc6e12474aff868721163699c49246585bddea4f0ecc6d2b02e19faf1 + version: 0.5.9 + resolution: "http-parser-js@npm:0.5.9" + checksum: 10c0/25aac1096b5270e69b1f6c850c8d4363c1e8b5711f97109cf65d44ecf5dfe3438811036a9b4d4f432474a2519ac46e8feb1a7b6be6e292a956e63bdad12583fb languageName: node linkType: hard @@ -8917,6 +8980,13 @@ __metadata: languageName: node linkType: hard +"ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb + languageName: node + linkType: hard + "ignore@npm:^5.2.0, ignore@npm:^5.3.1, ignore@npm:^5.3.2": version: 5.3.2 resolution: "ignore@npm:5.3.2" @@ -8924,10 +8994,10 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^6.0.2": - version: 6.0.2 - resolution: "ignore@npm:6.0.2" - checksum: 10c0/9a38feac1861906a78ba0f03e8ef3cd6b0526dce2a1a84e1009324b557763afeb9c3ebcc04666b21f7bbf71adda45e76781bb9e2eaa0903d45dcaded634454f5 +"ignore@npm:^7.0.1": + version: 7.0.3 + resolution: "ignore@npm:7.0.3" + checksum: 10c0/8e21637513cbcd888a4873d34d5c651a2e24b3c4c9a6b159335a26bed348c3c386c51d6fab23577f59140e1b226323138fbd50e63882d4568fd12aa6c822029e languageName: node linkType: hard @@ -10279,6 +10349,15 @@ __metadata: languageName: node linkType: hard +"keyv@npm:^5.2.3": + version: 5.2.3 + resolution: "keyv@npm:5.2.3" + dependencies: + "@keyv/serialize": "npm:^1.0.2" + checksum: 10c0/76b87dd2c21a4c1c5c05e9ff3b85670beab98f153429aaa9aee544b72b65411a7d80d96c29f3fef3e9dcebb672c8268e7209d6f80beb5da939b4e019722948b4 + languageName: node + linkType: hard + "kind-of@npm:^6.0.2": version: 6.0.3 resolution: "kind-of@npm:6.0.3" @@ -10613,14 +10692,14 @@ __metadata: linkType: hard "memfs@npm:^4.6.0": - version: 4.15.3 - resolution: "memfs@npm:4.15.3" + version: 4.17.0 + resolution: "memfs@npm:4.17.0" dependencies: "@jsonjoy.com/json-pack": "npm:^1.0.3" "@jsonjoy.com/util": "npm:^1.3.0" tree-dump: "npm:^1.0.1" tslib: "npm:^2.0.0" - checksum: 10c0/95bab707edcc86ac5acdb3ca53b420be34aa04167d0f03398b702bfadb44b72a6a27198b93593e7d9094cf911d70a0d679301fbc0e309f7ac43fa04a676b1b60 + checksum: 10c0/2901f69e80e1fbefa8aafe994a253fff6f34eb176d8b80d57476311611e516a11ab4dd93f852c8739fe04f2b57d6a4ca7a1828fa0bd401ce631bcac214b3d58b languageName: node linkType: hard @@ -10884,7 +10963,7 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.7": +"nanoid@npm:^3.3.7, nanoid@npm:^3.3.8": version: 3.3.8 resolution: "nanoid@npm:3.3.8" bin: @@ -11490,7 +11569,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": +"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 @@ -11680,13 +11759,13 @@ __metadata: linkType: hard "postcss@npm:^8.4.32, postcss@npm:^8.4.33, postcss@npm:^8.4.35, postcss@npm:^8.4.41, postcss@npm:^8.4.49": - version: 8.4.49 - resolution: "postcss@npm:8.4.49" + version: 8.5.0 + resolution: "postcss@npm:8.5.0" dependencies: - nanoid: "npm:^3.3.7" + nanoid: "npm:^3.3.8" picocolors: "npm:^1.1.1" source-map-js: "npm:^1.2.1" - checksum: 10c0/f1b3f17aaf36d136f59ec373459f18129908235e65dbdc3aee5eef8eba0756106f52de5ec4682e29a2eab53eb25170e7e871b3e4b52a8f1de3d344a514306be3 + checksum: 10c0/ce4fb520808a932566a0fd97be905b43e219b55a3752fc8daa944082a35848fa8aff300b89b77dc52c8c3bb5cd53e77182ddb37addc6cacf586f1ef42a34ef45 languageName: node linkType: hard @@ -12247,15 +12326,15 @@ __metadata: linkType: hard "react-shadow@npm:^20.0.0": - version: 20.5.0 - resolution: "react-shadow@npm:20.5.0" + version: 20.6.0 + resolution: "react-shadow@npm:20.6.0" dependencies: humps: "npm:^2.0.1" peerDependencies: prop-types: ^15.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/662c98518b2ba5a76534f8fdfcbb44414535cd92f4cb2f1e76142672ac1f29ddc0f730d2bf846972aeb1205e4c7ff8c978832d7cecce8faba82b7a60e2844d45 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/29860a603977193babbbe3b0959cad4e6f6c6045219c4a2cf249178bddb8aeb09aba4e30ad325086ca8ac18d481436d2284ce4476815a1f1937e05651eb041fa languageName: node linkType: hard @@ -12364,9 +12443,9 @@ __metadata: linkType: hard "readdirp@npm:^4.0.1": - version: 4.0.2 - resolution: "readdirp@npm:4.0.2" - checksum: 10c0/a16ecd8ef3286dcd90648c3b103e3826db2b766cdb4a988752c43a83f683d01c7059158d623cbcd8bdfb39e65d302d285be2d208e7d9f34d022d912b929217dd + version: 4.1.1 + resolution: "readdirp@npm:4.1.1" + checksum: 10c0/a1afc90d0e57ce4caa28046875519453fd09663ade0d0c29fe0d6a117eca4596cfdf1a9ebb0859ad34cca7b9351d4f0d8d962a4363d40f3f37e57dba51ffb6b6 languageName: node linkType: hard @@ -12809,8 +12888,8 @@ __metadata: linkType: hard "sass@npm:^1.71.1": - version: 1.83.1 - resolution: "sass@npm:1.83.1" + version: 1.83.4 + resolution: "sass@npm:1.83.4" dependencies: "@parcel/watcher": "npm:^2.4.1" chokidar: "npm:^4.0.0" @@ -12821,7 +12900,7 @@ __metadata: optional: true bin: sass: sass.js - checksum: 10c0/9772506cd8290df7b5e800055098e91a8a65100840fd9e90c660deb74b248b3ddbbd1a274b8f7f09777d472d2c873575357bd87939a40fb5a80bdf654985486f + checksum: 10c0/6f27f0eebfeb50222b14baaeef548ef58a05daf8abd9797e6c499334ed7ad40541767056c8693780d06ca83d8836348ea7396a923d3be439b133507993ca78be languageName: node linkType: hard @@ -13825,8 +13904,8 @@ __metadata: linkType: hard "stylelint@npm:^16.2.1, stylelint@npm:^16.8.2": - version: 16.12.0 - resolution: "stylelint@npm:16.12.0" + version: 16.13.1 + resolution: "stylelint@npm:16.13.1" dependencies: "@csstools/css-parser-algorithms": "npm:^3.0.4" "@csstools/css-tokenizer": "npm:^3.0.3" @@ -13837,16 +13916,16 @@ __metadata: colord: "npm:^2.9.3" cosmiconfig: "npm:^9.0.0" css-functions-list: "npm:^3.2.3" - css-tree: "npm:^3.0.1" + css-tree: "npm:^3.1.0" debug: "npm:^4.3.7" - fast-glob: "npm:^3.3.2" + fast-glob: "npm:^3.3.3" fastest-levenshtein: "npm:^1.0.16" - file-entry-cache: "npm:^9.1.0" + file-entry-cache: "npm:^10.0.5" global-modules: "npm:^2.0.0" globby: "npm:^11.1.0" globjoin: "npm:^0.1.4" html-tags: "npm:^3.3.1" - ignore: "npm:^6.0.2" + ignore: "npm:^7.0.1" imurmurhash: "npm:^0.1.4" is-plain-object: "npm:^5.0.0" known-css-properties: "npm:^0.35.0" @@ -13868,7 +13947,7 @@ __metadata: write-file-atomic: "npm:^5.0.1" bin: stylelint: bin/stylelint.mjs - checksum: 10c0/d60bc6136f5bdc4e49ec22aee4d82130c4e9c94aa7d249da9dda315a862615e74acaefb24c560529b2102f8c27dde473b148ffcee861f5dab7b0225254765102 + checksum: 10c0/f6383c04478104a5a4b37b86e73f41f6982660cd7339b39fbcafeff3489601982bef1ccc277e8fe5b2a8cd001ffb16920042cbcdc055bacc0f8a7c1700c18fe5 languageName: node linkType: hard @@ -14194,7 +14273,7 @@ __metadata: languageName: node linkType: hard -"ts-loader@npm:9.5.1, ts-loader@npm:^9.4.2": +"ts-loader@npm:9.5.1": version: 9.5.1 resolution: "ts-loader@npm:9.5.1" dependencies: @@ -14210,6 +14289,22 @@ __metadata: languageName: node linkType: hard +"ts-loader@npm:^9.4.2": + version: 9.5.2 + resolution: "ts-loader@npm:9.5.2" + dependencies: + chalk: "npm:^4.1.0" + enhanced-resolve: "npm:^5.0.0" + micromatch: "npm:^4.0.0" + semver: "npm:^7.3.4" + source-map: "npm:^0.7.4" + peerDependencies: + typescript: "*" + webpack: ^5.0.0 + checksum: 10c0/d4f4e67f1365a8c4a929d26148611b6a82a9241bd988863386c9cc0c034eec8b14562206e09540fae38154595e0b3b9520b701b5c83c0e5d743c4016cd91d9f1 + languageName: node + linkType: hard + "ts-mockito@npm:^2.6.1": version: 2.6.1 resolution: "ts-mockito@npm:2.6.1" @@ -14312,9 +14407,9 @@ __metadata: linkType: hard "type-fest@npm:^4.6.0, type-fest@npm:^4.7.1": - version: 4.31.0 - resolution: "type-fest@npm:4.31.0" - checksum: 10c0/a5bb69e3b0f82e068af8c645ac3d50b1fa5c588ebc83735a6add4ef6dacf277bb3605801f66c72c069af20120ee7387a3ae6dd84e12c152f5982784c710b4051 + version: 4.32.0 + resolution: "type-fest@npm:4.32.0" + checksum: 10c0/e2e877055487d109eba99afc58211db4a480837ff7b243c7de0b3e2ac29fdce55ab55e201c64cb1a8b2aeffce7e8f60ae3ce3a2f7e6fb68261d62743e54288ba languageName: node linkType: hard @@ -14392,12 +14487,12 @@ __metadata: linkType: hard "typescript@npm:^5.3.3": - version: 5.7.2 - resolution: "typescript@npm:5.7.2" + version: 5.7.3 + resolution: "typescript@npm:5.7.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/a873118b5201b2ef332127ef5c63fb9d9c155e6fdbe211cbd9d8e65877283797cca76546bad742eea36ed7efbe3424a30376818f79c7318512064e8625d61622 + checksum: 10c0/b7580d716cf1824736cc6e628ab4cd8b51877408ba2be0869d2866da35ef8366dd6ae9eb9d0851470a39be17cbd61df1126f9e211d8799d764ea7431d5435afa languageName: node linkType: hard @@ -14412,12 +14507,12 @@ __metadata: linkType: hard "typescript@patch:typescript@npm%3A^5.3.3#optional!builtin": - version: 5.7.2 - resolution: "typescript@patch:typescript@npm%3A5.7.2#optional!builtin::version=5.7.2&hash=74658d" + version: 5.7.3 + resolution: "typescript@patch:typescript@npm%3A5.7.3#optional!builtin::version=5.7.3&hash=74658d" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/c891ccf04008bc1305ba34053db951f8a4584b4a1bf2f68fd972c4a354df3dc5e62c8bfed4f6ac2d12e5b3b1c49af312c83a651048f818cd5b4949d17baacd79 + checksum: 10c0/3b56d6afa03d9f6172d0b9cdb10e6b1efc9abc1608efd7a3d2f38773d5d8cfb9bbc68dfb72f0a7de5e8db04fc847f4e4baeddcd5ad9c9feda072234f0d788896 languageName: node linkType: hard @@ -14534,26 +14629,26 @@ __metadata: linkType: hard "unplugin@npm:^1.3.1": - version: 1.16.0 - resolution: "unplugin@npm:1.16.0" + version: 1.16.1 + resolution: "unplugin@npm:1.16.1" dependencies: acorn: "npm:^8.14.0" webpack-virtual-modules: "npm:^0.6.2" - checksum: 10c0/547f6bd5ec1dd7411533e68e73c60d5e9527e68d52aa326442650d084866ed3307ac68719068abae23ceab09db197cad43b382a7e69c2d8ca338b27802392fed + checksum: 10c0/dd5f8c5727d0135847da73cf03fb199107f1acf458167034886fda3405737dab871ad3926431b4f70e1e82cdac482ac1383cea4019d782a68515c8e3e611b6cc languageName: node linkType: hard "update-browserslist-db@npm:^1.1.1": - version: 1.1.1 - resolution: "update-browserslist-db@npm:1.1.1" + version: 1.1.2 + resolution: "update-browserslist-db@npm:1.1.2" dependencies: escalade: "npm:^3.2.0" - picocolors: "npm:^1.1.0" + picocolors: "npm:^1.1.1" peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10c0/536a2979adda2b4be81b07e311bd2f3ad5e978690987956bc5f514130ad50cac87cd22c710b686d79731e00fbee8ef43efe5fcd72baa241045209195d43dcc80 + checksum: 10c0/9cb353998d6d7d6ba1e46b8fa3db888822dd972212da4eda609d185eb5c3557a93fd59780ceb757afd4d84240518df08542736969e6a5d6d6ce2d58e9363aac6 languageName: node linkType: hard From ed442d6c6f03b567dcb621103aec2e1b38b0d927 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Lafleur Date: Mon, 20 Jan 2025 10:17:46 -0500 Subject: [PATCH 4/4] feat(DataTable): bind header checkbox to current page (#1068) --- .../react/src/components/table/table.test.tsx | 62 +------- packages/react/src/components/table/table.tsx | 27 +--- .../storybook/stories/data-table.stories.tsx | 150 +++++++++--------- 3 files changed, 86 insertions(+), 153 deletions(-) diff --git a/packages/react/src/components/table/table.test.tsx b/packages/react/src/components/table/table.test.tsx index 5f09ec82e..8884dc8c4 100644 --- a/packages/react/src/components/table/table.test.tsx +++ b/packages/react/src/components/table/table.test.tsx @@ -215,9 +215,8 @@ describe('Table', () => { expect(callback).toHaveBeenCalledTimes(1); }); - test('onSelectedRows callbacks are called when row-checkbox is checked', () => { + test('onSelectedRowIds is called when row-checkbox is checked', () => { const onSelectedRowIdsChange = jest.fn(); - const onSelectedRowsChange = jest.fn(); const wrapper = mountWithTheme( rowSelectionMode="multiple" @@ -225,19 +224,16 @@ describe('Table', () => { data={data} rowIdField="id" onSelectedRowIdsChange={onSelectedRowIdsChange} - onSelectedRowsChange={onSelectedRowsChange} />, ); getByTestId(wrapper, 'row-checkbox-0').find('input').simulate('change', { target: { checked: true } }); expect(onSelectedRowIdsChange).toHaveBeenCalledWith([data[0].id]); - expect(onSelectedRowsChange).toHaveBeenCalledWith([data[0]]); }); - test('onSelectedRows callbacks are called with all rows when row-checkbox-all is checked', () => { + test('onSelectedRowIds is called with all rows when row-checkbox-all is checked', () => { const onSelectedRowIdsChange = jest.fn(); - const onSelectedRowsChange = jest.fn(); const wrapper = mountWithTheme( rowSelectionMode="multiple" @@ -245,7 +241,6 @@ describe('Table', () => { data={data} rowIdField="id" onSelectedRowIdsChange={onSelectedRowIdsChange} - onSelectedRowsChange={onSelectedRowsChange} />, ); @@ -253,7 +248,6 @@ describe('Table', () => { .simulate('change', { target: { checked: true } }); expect(onSelectedRowIdsChange).toHaveBeenCalledWith(data.map((row) => row.id)); - expect(onSelectedRowsChange).toHaveBeenCalledWith(data); }); test('should hide select all checkbox', () => { @@ -503,56 +497,4 @@ describe('Table', () => { .find('input') .prop('checked')).toBe(true); }); - - test('should exclude group row from selectedRows callback', () => { - const onSelectedRowIdsChange = jest.fn(); - const onSelectedRowChange = jest.fn(); - const dataWithSubRows: TableData[] = [ - { - id: '0', - column1: 'Hello', - column2: 'World', - subRows: [ - { - id: '1', - column1: 'Hello', - column2: 'Planet', - }, - { - id: '2', - column1: 'Hello', - column2: 'Galaxy', - }, - ], - }, - ]; - const wrapper = mountWithTheme( - - rowSelectionMode="multiple" - columns={columns} - data={dataWithSubRows} - rowIdField="id" - excludeGroupsFromSelection - onSelectedRowIdsChange={onSelectedRowIdsChange} - onSelectedRowsChange={onSelectedRowChange} - expandChildrenOnRowSelection - />, - ); - - getByTestId(wrapper, 'row-checkbox-0') - .find('input') - .simulate('change', { target: { checked: true } }); - - expect(onSelectedRowIdsChange).toHaveBeenLastCalledWith(['1', '2']); - expect(onSelectedRowChange).toHaveBeenLastCalledWith(dataWithSubRows[0].subRows); - expect(getByTestId(wrapper, 'row-checkbox-0') - .find('input') - .prop('checked')).toBe(true); - expect(getByTestId(wrapper, 'row-checkbox-1') - .find('input') - .prop('checked')).toBe(true); - expect(getByTestId(wrapper, 'row-checkbox-2') - .find('input') - .prop('checked')).toBe(true); - }); }); diff --git a/packages/react/src/components/table/table.tsx b/packages/react/src/components/table/table.tsx index fe71cced4..3d76c490c 100644 --- a/packages/react/src/components/table/table.tsx +++ b/packages/react/src/components/table/table.tsx @@ -199,9 +199,9 @@ function getSelectionColumn( column.header = ({ table }) => ( ); } @@ -348,7 +348,6 @@ export interface TableProps { data: T[]; defaultSort?: ColumnSort; columns: TableColumn[]; - excludeGroupsFromSelection?: boolean; expandableRows?: 'single' | 'multiple'; expandChildrenOnRowSelection?: boolean; hideSelectAll?: boolean; @@ -380,9 +379,7 @@ export interface TableProps { onRowClick?(row: Row): void; - onSelectedRowIdsChange?(selectedRows: TableRowId[]): void; - - onSelectedRowsChange?(selectedRows: T[]): void; + onSelectedRowIdsChange?(selectedRowIds: TableRowId[]): void; onSort?(sort: ColumnSort | null): void; } @@ -394,7 +391,6 @@ export const Table = ({ rowIdField, defaultSort, columns: providedColumns, - excludeGroupsFromSelection = false, expandableRows, expandChildrenOnRowSelection, hideSelectAll = false, @@ -408,7 +404,6 @@ export const Table = ({ manualSort = false, onRowClick, onSelectedRowIdsChange, - onSelectedRowsChange, onSort, }: TableProps): ReactElement => { const { t } = useTranslation('table'); @@ -506,19 +501,7 @@ export const Table = ({ const currentTable = tableInstance.current; if (currentTable) { - const emittedRowIds = newSelectedRowIds.filter( - (rowId) => !excludeGroupsFromSelection || !currentTable.getRow(rowId).subRows.length, - ); - - onSelectedRowIdsChange?.(emittedRowIds); - - if (onSelectedRowsChange) { - const emittedSelectedRows = emittedRowIds - .map((rowId) => currentTable.getRow(rowId)) - .map((row) => row.original); - - onSelectedRowsChange(emittedSelectedRows); - } + onSelectedRowIdsChange?.(newSelectedRowIds); } }, }; diff --git a/packages/storybook/stories/data-table.stories.tsx b/packages/storybook/stories/data-table.stories.tsx index 32f6cb7a6..beba74fe9 100644 --- a/packages/storybook/stories/data-table.stories.tsx +++ b/packages/storybook/stories/data-table.stories.tsx @@ -666,32 +666,48 @@ export const MultipleSelectableRows: Story = { columns={columns} data={data} rowIdField="column1" - onSelectedRowsChange={console.info} + onSelectedRowIdsChange={console.info} /> ); }, }; +interface ExpandableData { + id: string; + name: string; +} + +const expandableDataColumns: TableColumn[] = [ + { + header: 'ID', + accessorKey: 'id', + }, + { + header: 'Name', + accessorKey: 'name', + }, +]; + +const ROWS_PER_PAGE = 5; + +function generateData(totalRows: number): TableData[] { + return new Array(totalRows).fill(null).map((_, index) => { + const page = Math.floor(index / ROWS_PER_PAGE) + 1; + return { + id: `${page}-${index}`, + name: `Row ${page}-${index}`, + subRows: [ + { id: `${page}-${index}.A`, name: `Row ${page}-${index}.A` }, + { id: `${page}-${index}.B`, name: `Row ${page}-${index}.B` }, + ], + }; + }); +} + export const MultipleSelectableExpandableSubRows: Story = { render() { - interface ExpandableData { - id: string; - name: string; - } - const [selectedRowIds, setSelectedRowIds] = useState([]); - const columns: TableColumn[] = [ - { - header: 'ID', - accessorKey: 'id', - }, - { - header: 'Name', - accessorKey: 'name', - }, - ]; - const data: TableData[] = [ { id: '1', @@ -715,7 +731,7 @@ export const MultipleSelectableExpandableSubRows: Story = { expandableRows="multiple" rowSelectionMode="multiple" - columns={columns} + columns={expandableDataColumns} data={data} rowIdField="id" selectedRowIds={selectedRowIds} @@ -727,6 +743,46 @@ export const MultipleSelectableExpandableSubRows: Story = { }, }; +export const PaginatedMultipleSelectableExpandableSubRows: Story = { + render() { + const TOTAL_PAGES = 3; + const data = useMemo(() => generateData(ROWS_PER_PAGE * TOTAL_PAGES), []); + + const [selectedRowIds, setSelectedRowIds] = useState([]); + const [currentPage, setCurrentPage] = useState(1); + + const currentData = useMemo( + () => data.slice((currentPage - 1) * ROWS_PER_PAGE, currentPage * ROWS_PER_PAGE), + [data, currentPage], + ); + + return ( + <> + + expandableRows="multiple" + rowSelectionMode="multiple" + columns={expandableDataColumns} + data={currentData} + rowIdField="id" + selectedRowIds={selectedRowIds} + onSelectedRowIdsChange={(ids: TableRowId[]) => { + console.info(ids); + setSelectedRowIds(ids); + }} + expandChildrenOnRowSelection + /> + setCurrentPage(page)} + pagesShown={5} + /> + + ); + }, +}; + export const SingleSelectableRows: Story = { render() { interface SelectableData { @@ -768,7 +824,7 @@ export const SingleSelectableRows: Story = { columns={columns} data={data} rowIdField="column1" - onSelectedRowsChange={console.info} + onSelectedRowIdsChange={console.info} ariaLabelledByColumnId="column2" /> ); @@ -777,22 +833,6 @@ export const SingleSelectableRows: Story = { export const ExpandableSubrowsMultiple: Story = { render() { - interface ExpandableData { - id: string; - name: string; - } - - const columns: TableColumn[] = [ - { - header: 'ID', - accessorKey: 'id', - }, - { - header: 'Name', - accessorKey: 'name', - }, - ]; - const data: TableData[] = [ { id: '1', @@ -813,7 +853,7 @@ export const ExpandableSubrowsMultiple: Story = { ]; return ( - columns={columns} + columns={expandableDataColumns} data={data} rowIdField="id" expandableRows="multiple" @@ -824,22 +864,6 @@ export const ExpandableSubrowsMultiple: Story = { export const ExpandableSubrowsSingle: Story = { render() { - interface ExpandableData { - id: string; - name: string; - } - - const columns: TableColumn[] = [ - { - header: 'ID', - accessorKey: 'id', - }, - { - header: 'Name', - accessorKey: 'name', - }, - ]; - const data: TableData[] = [ { id: '1', @@ -860,7 +884,7 @@ export const ExpandableSubrowsSingle: Story = { ]; return ( - columns={columns} + columns={expandableDataColumns} data={data} rowIdField="id" expandableRows="single" @@ -871,22 +895,6 @@ export const ExpandableSubrowsSingle: Story = { export const ExpandableSubContent: Story = { render() { - interface ExpandableData { - id: string; - name: string; - } - - const columns: TableColumn[] = [ - { - header: 'ID', - accessorKey: 'id', - }, - { - header: 'Name', - accessorKey: 'name', - }, - ]; - const data: TableData[] = [ { id: '1', @@ -908,7 +916,7 @@ export const ExpandableSubContent: Story = { return ( - columns={columns} + columns={expandableDataColumns} data={data} rowIdField="id" expandableRows="single" @@ -1537,7 +1545,7 @@ export const WithBackgroundColor: Story = { columns={columns} data={data} rowIdField="column1" - onSelectedRowsChange={console.info} + onSelectedRowIdsChange={console.info} /> );