From 752da9abf716bd1fee99996ffa0b69003d19d101 Mon Sep 17 00:00:00 2001 From: Alina Visan Date: Thu, 12 Oct 2023 14:31:11 +0300 Subject: [PATCH] add delay to chromatic snapshots (#2599) Ag grid theme - add cypress tests (#2614) [Ag Grid Theme] test UITK theme (#2699) [Ag Grid Theme] Ag grid v30 - no sass (#2661) Co-authored-by: Josh Wooding <12938082+joshwooding@users.noreply.github.com> use content characteristic Create tasty-trains-cover.md Update tasty-trains-cover.md fixes AG Grid Theme site docs (#2796) Update build.mjs Update package.json Ag grid test range selection (#2827) Ag grid theme tooltip test (#2654) [AG Grid Theme] Update icons (#2849) fix editable cell bug Fixed missing padding and focus ring on focused editable cell. Fixed wrong background and missing corner flag when editable cell loses focus. Update salt-ag-grid-theme.css Update salt-ag-grid-theme.css --- .changeset/plenty-hotels-obey.md | 5 + .changeset/tasty-trains-cover.md | 5 + .github/workflows/chromatic.yml | 2 - cypress.config.ts | 7 + cypress/support/commands.tsx | 15 + package.json | 7 +- .../css/_export-salt-icons.module.scss | 7 - .../css/_export-uitk-icons.module.scss | 7 - .../css/_salt-ag-theme-default-params.scss | 22 - .../css/_salt-ag-theme-icon-font.scss | 115 --- .../css/_salt-ag-theme-mixin.scss | 755 --------------- .../css/_uitk-ag-theme-default-params.scss | 93 -- .../css/_uitk-ag-theme-icon-font.scss | 70 -- .../css/_uitk-ag-theme-mixin.scss | 869 ------------------ .../ag-grid-theme/css/salt-ag-grid-theme.css | 411 +++++++++ packages/ag-grid-theme/css/salt-ag-theme.scss | 630 ------------- packages/ag-grid-theme/css/salt-icons.css | 240 +++++ .../ag-grid-theme/css/uitk-ag-grid-theme.css | 400 ++++++++ packages/ag-grid-theme/css/uitk-ag-theme.scss | 444 --------- packages/ag-grid-theme/css/uitk-icons.css | 229 +++++ packages/ag-grid-theme/fonts/salt-icons.woff | Bin 62448 -> 62524 bytes packages/ag-grid-theme/package.json | 15 +- packages/ag-grid-theme/salt.css | 2 + packages/ag-grid-theme/scripts/build.mjs | 139 +-- .../__tests__/__e2e__/AgGridTheme-uitk.cy.tsx | 201 ++++ .../src/__tests__/__e2e__/AgGridTheme.cy.tsx | 214 +++++ ...ocused THEN should match screenshot #0.png | Bin 0 -> 7710 bytes ...t mode THEN should match screenshot #0.png | Bin 0 -> 9706 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 5071 bytes ...s open THEN should match screenshot #0.png | Bin 0 -> 16208 bytes ...ocused THEN should match screenshot #0.png | Bin 0 -> 3574 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 6555 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 13994 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 10937 bytes ...zontal THEN should match screenshot #0.png | Bin 0 -> 37431 bytes ...rtical THEN should match screenshot #0.png | Bin 0 -> 37968 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 7736 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 13086 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 10673 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 11118 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 17219 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 14401 bytes ...ocused THEN should match screenshot #0.png | Bin 0 -> 10346 bytes ...t mode THEN should match screenshot #0.png | Bin 0 -> 10720 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 5759 bytes ...s open THEN should match screenshot #0.png | Bin 0 -> 12134 bytes ...ocused THEN should match screenshot #0.png | Bin 0 -> 3832 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 6284 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 12262 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 7711 bytes ...zontal THEN should match screenshot #0.png | Bin 0 -> 37431 bytes ...rtical THEN should match screenshot #0.png | Bin 0 -> 37968 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 7800 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 11513 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 6635 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 10804 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 15176 bytes ...lected THEN should match screenshot #0.png | Bin 0 -> 9762 bytes .../dependencies/ThemeSwitcher.tsx | 12 +- .../changeDetectionExampleColumns.ts | 0 .../columnSpanningExampleColumns.ts | 0 .../customFilterExampleColumns.ts | 0 .../dependencies/dataGridExampleColumns.ts | 1 + .../dataGridExampleColumnsColoration.ts | 0 .../dataGridExampleColumnsWrap.ts | 0 .../dependencies/dataGridExampleData.ts | 0 .../dataGridExampleRowGroupPanel.ts | 0 .../dataGridExampleRowGrouping.ts | 0 .../dataGridInfiniteScrollExampleColumns.ts | 0 .../{stories => src}/dependencies/mac.png | Bin .../dependencies/masterDetailExampleData.ts | 0 .../dependencies/parentChildExampleColumns.ts | 0 .../dependencies/parentChildExampleData.ts | 0 .../dependencies/rowDragColumns.ts | 0 .../dependencies/useAgGridHelpers.ts | 6 +- .../{stories => src}/dependencies/windows.png | Bin .../examples/CheckboxSelection.tsx | 10 +- .../{stories => src}/examples/Coloration.tsx | 10 +- .../{stories => src}/examples/ColumnGroup.tsx | 10 +- .../examples/ColumnSpanning.tsx | 10 +- .../{stories => src}/examples/ContextMenu.tsx | 10 +- .../examples/CustomFilter.tsx | 11 +- .../{stories => src}/examples/Default.tsx | 12 +- .../examples/DragRowOrder.tsx | 10 +- .../examples/FloatingFilter.tsx | 10 +- .../{stories => src}/examples/HDCompact.tsx | 16 +- packages/ag-grid-theme/src/examples/Icons.css | 8 + packages/ag-grid-theme/src/examples/Icons.tsx | 79 ++ .../examples/InfiniteScroll.tsx | 10 +- .../examples/LoadingOverlay.tsx | 7 +- .../examples/MasterDetail.tsx | 30 +- .../examples/NoDataOverlay.tsx | 2 +- .../{stories => src}/examples/Pagination.tsx | 39 +- .../examples/ParentChildRows.tsx | 10 +- .../{stories => src}/examples/PinnedRows.tsx | 6 +- .../examples/RowGroupPanel.tsx | 10 +- .../{stories => src}/examples/RowGrouping.tsx | 10 +- .../examples/SortAndFilter.tsx | 0 .../{stories => src}/examples/StatusBar.tsx | 10 +- .../examples/VariantSecondary.tsx | 2 +- .../examples/VariantZebra.tsx | 2 +- .../{stories => src}/examples/WrappedCell.tsx | 0 .../examples/WrappedHeader.tsx | 10 +- .../{stories => src}/examples/index.ts | 0 ....stories.tsx => ag-grid-theme.stories.tsx} | 10 +- .../ag-grid-theme/stories/examples/Icons.css | 23 - .../ag-grid-theme/stories/examples/Icons.tsx | 49 - packages/ag-grid-theme/uitk.css | 2 + packages/theme/scripts/build.mjs | 2 +- site/docs/components/ag-grid-theme/index.mdx | 2 +- site/docs/components/ag-grid-theme/usage.mdx | 52 +- .../components/components/AGThemeProvider.tsx | 5 +- .../ag-grid-theme/CheckboxSelection.tsx | 1 + .../src/examples/ag-grid-theme/Coloration.tsx | 1 + .../examples/ag-grid-theme/ColumnGroup.tsx | 1 + .../examples/ag-grid-theme/ColumnSpanning.tsx | 1 + .../examples/ag-grid-theme/ContextMenu.tsx | 1 + .../examples/ag-grid-theme/CustomFilter.tsx | 5 +- site/src/examples/ag-grid-theme/Default.tsx | 55 +- .../examples/ag-grid-theme/DragRowOrder.tsx | 1 + .../examples/ag-grid-theme/FloatingFilter.tsx | 1 + site/src/examples/ag-grid-theme/HDCompact.tsx | 4 +- .../examples/ag-grid-theme/InfiniteScroll.tsx | 6 +- .../examples/ag-grid-theme/LoadingOverlay.tsx | 1 + .../examples/ag-grid-theme/MasterDetail.tsx | 29 + .../src/examples/ag-grid-theme/Pagination.tsx | 1 + .../ag-grid-theme/ParentChildRows.tsx | 3 + .../src/examples/ag-grid-theme/PinnedRows.tsx | 1 + .../examples/ag-grid-theme/RowGroupPanel.tsx | 1 + .../examples/ag-grid-theme/RowGrouping.tsx | 1 + site/src/examples/ag-grid-theme/StatusBar.tsx | 1 + site/src/examples/ag-grid-theme/Variants.tsx | 1 + .../examples/ag-grid-theme/WrappedHeader.tsx | 4 +- .../ag-grid-theme/data/defaultColumns.ts | 1 + .../ag-grid-theme/useAgGridHelpers.ts | 2 +- yarn.lock | 495 +++++++--- 136 files changed, 2563 insertions(+), 3467 deletions(-) create mode 100644 .changeset/plenty-hotels-obey.md create mode 100644 .changeset/tasty-trains-cover.md delete mode 100644 packages/ag-grid-theme/css/_export-salt-icons.module.scss delete mode 100644 packages/ag-grid-theme/css/_export-uitk-icons.module.scss delete mode 100644 packages/ag-grid-theme/css/_salt-ag-theme-default-params.scss delete mode 100644 packages/ag-grid-theme/css/_salt-ag-theme-icon-font.scss delete mode 100644 packages/ag-grid-theme/css/_salt-ag-theme-mixin.scss delete mode 100644 packages/ag-grid-theme/css/_uitk-ag-theme-default-params.scss delete mode 100644 packages/ag-grid-theme/css/_uitk-ag-theme-icon-font.scss delete mode 100644 packages/ag-grid-theme/css/_uitk-ag-theme-mixin.scss create mode 100644 packages/ag-grid-theme/css/salt-ag-grid-theme.css delete mode 100644 packages/ag-grid-theme/css/salt-ag-theme.scss create mode 100644 packages/ag-grid-theme/css/salt-icons.css create mode 100644 packages/ag-grid-theme/css/uitk-ag-grid-theme.css delete mode 100644 packages/ag-grid-theme/css/uitk-ag-theme.scss create mode 100644 packages/ag-grid-theme/css/uitk-icons.css create mode 100644 packages/ag-grid-theme/salt.css create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/AgGridTheme-uitk.cy.tsx create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/AgGridTheme.cy.tsx create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the CheckboxSelection story is mounted WHEN editable-cell is focused THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the CheckboxSelection story is mounted WHEN editable-cell is in edit mode THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the CheckboxSelection story is mounted WHEN number-cell column menu is open AND filter tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the ContextMenu story is mounted WHEN cell context menu is open THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the CustomFilter story is mounted WHEN custom filter is focused THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the Default story is mounted WHEN column menu is open AND columns tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the Default story is mounted WHEN column menu is open AND filter tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the Default story is mounted WHEN column menu is open AND general tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the Default story is mounted WHEN range selection AND selection horizontal THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the Default story is mounted WHEN range selection AND selection vertical THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the HDCompact story is mounted WHEN column menu is open AND columns tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the HDCompact story is mounted WHEN column menu is open AND filter tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the HDCompact story is mounted WHEN column menu is open AND general tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the HDCompactDark story is mounted WHEN column menu is open AND columns tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the HDCompactDark story is mounted WHEN column menu is open AND filter tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the HDCompactDark story is mounted WHEN column menu is open AND general tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the CheckboxSelection story is mounted WHEN editable-cell is focused THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the CheckboxSelection story is mounted WHEN editable-cell is in edit mode THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the CheckboxSelection story is mounted WHEN number-cell column menu is open AND filter tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the ContextMenu story is mounted WHEN cell context menu is open THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the CustomFilter story is mounted WHEN custom filter is focused THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the Default story is mounted WHEN column menu is open AND columns tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the Default story is mounted WHEN column menu is open AND filter tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the Default story is mounted WHEN column menu is open AND general tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the Default story is mounted WHEN range selection AND selection horizontal THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the Default story is mounted WHEN range selection AND selection vertical THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the HDCompact story is mounted WHEN column menu is open AND columns tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the HDCompact story is mounted WHEN column menu is open AND filter tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the HDCompact story is mounted WHEN column menu is open AND general tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the HDCompactDark story is mounted WHEN column menu is open AND columns tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the HDCompactDark story is mounted WHEN column menu is open AND filter tab is selected THEN should match screenshot #0.png create mode 100644 packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the HDCompactDark story is mounted WHEN column menu is open AND general tab is selected THEN should match screenshot #0.png rename packages/ag-grid-theme/{stories => src}/dependencies/ThemeSwitcher.tsx (69%) rename packages/ag-grid-theme/{stories => src}/dependencies/changeDetectionExampleColumns.ts (100%) rename packages/ag-grid-theme/{stories => src}/dependencies/columnSpanningExampleColumns.ts (100%) rename packages/ag-grid-theme/{stories => src}/dependencies/customFilterExampleColumns.ts (100%) rename packages/ag-grid-theme/{stories => src}/dependencies/dataGridExampleColumns.ts (99%) rename packages/ag-grid-theme/{stories => src}/dependencies/dataGridExampleColumnsColoration.ts (100%) rename packages/ag-grid-theme/{stories => src}/dependencies/dataGridExampleColumnsWrap.ts (100%) rename packages/ag-grid-theme/{stories => src}/dependencies/dataGridExampleData.ts (100%) rename packages/ag-grid-theme/{stories => src}/dependencies/dataGridExampleRowGroupPanel.ts (100%) rename packages/ag-grid-theme/{stories => src}/dependencies/dataGridExampleRowGrouping.ts (100%) rename packages/ag-grid-theme/{stories => src}/dependencies/dataGridInfiniteScrollExampleColumns.ts (100%) rename packages/ag-grid-theme/{stories => src}/dependencies/mac.png (100%) rename packages/ag-grid-theme/{stories => src}/dependencies/masterDetailExampleData.ts (100%) rename packages/ag-grid-theme/{stories => src}/dependencies/parentChildExampleColumns.ts (100%) rename packages/ag-grid-theme/{stories => src}/dependencies/parentChildExampleData.ts (100%) rename packages/ag-grid-theme/{stories => src}/dependencies/rowDragColumns.ts (100%) rename packages/ag-grid-theme/{stories => src}/dependencies/useAgGridHelpers.ts (96%) rename packages/ag-grid-theme/{stories => src}/dependencies/windows.png (100%) rename packages/ag-grid-theme/{stories => src}/examples/CheckboxSelection.tsx (74%) rename packages/ag-grid-theme/{stories => src}/examples/Coloration.tsx (74%) rename packages/ag-grid-theme/{stories => src}/examples/ColumnGroup.tsx (85%) rename packages/ag-grid-theme/{stories => src}/examples/ColumnSpanning.tsx (74%) rename packages/ag-grid-theme/{stories => src}/examples/ContextMenu.tsx (93%) rename packages/ag-grid-theme/{stories => src}/examples/CustomFilter.tsx (91%) rename packages/ag-grid-theme/{stories => src}/examples/Default.tsx (76%) rename packages/ag-grid-theme/{stories => src}/examples/DragRowOrder.tsx (74%) rename packages/ag-grid-theme/{stories => src}/examples/FloatingFilter.tsx (75%) rename packages/ag-grid-theme/{stories => src}/examples/HDCompact.tsx (80%) create mode 100644 packages/ag-grid-theme/src/examples/Icons.css create mode 100644 packages/ag-grid-theme/src/examples/Icons.tsx rename packages/ag-grid-theme/{stories => src}/examples/InfiniteScroll.tsx (88%) rename packages/ag-grid-theme/{stories => src}/examples/LoadingOverlay.tsx (82%) rename packages/ag-grid-theme/{stories => src}/examples/MasterDetail.tsx (69%) rename packages/ag-grid-theme/{stories => src}/examples/NoDataOverlay.tsx (96%) rename packages/ag-grid-theme/{stories => src}/examples/Pagination.tsx (64%) rename packages/ag-grid-theme/{stories => src}/examples/ParentChildRows.tsx (80%) rename packages/ag-grid-theme/{stories => src}/examples/PinnedRows.tsx (94%) rename packages/ag-grid-theme/{stories => src}/examples/RowGroupPanel.tsx (76%) rename packages/ag-grid-theme/{stories => src}/examples/RowGrouping.tsx (74%) rename packages/ag-grid-theme/{stories => src}/examples/SortAndFilter.tsx (100%) rename packages/ag-grid-theme/{stories => src}/examples/StatusBar.tsx (86%) rename packages/ag-grid-theme/{stories => src}/examples/VariantSecondary.tsx (95%) rename packages/ag-grid-theme/{stories => src}/examples/VariantZebra.tsx (95%) rename packages/ag-grid-theme/{stories => src}/examples/WrappedCell.tsx (100%) rename packages/ag-grid-theme/{stories => src}/examples/WrappedHeader.tsx (88%) rename packages/ag-grid-theme/{stories => src}/examples/index.ts (100%) rename packages/ag-grid-theme/stories/{ag-grid.stories.tsx => ag-grid-theme.stories.tsx} (88%) delete mode 100644 packages/ag-grid-theme/stories/examples/Icons.css delete mode 100644 packages/ag-grid-theme/stories/examples/Icons.tsx create mode 100644 packages/ag-grid-theme/uitk.css diff --git a/.changeset/plenty-hotels-obey.md b/.changeset/plenty-hotels-obey.md new file mode 100644 index 00000000000..2ef112de4d0 --- /dev/null +++ b/.changeset/plenty-hotels-obey.md @@ -0,0 +1,5 @@ +--- +"@salt-ds/core": patch +--- + +Fixed Tooltip breaking when used inside a Form Field with an invalid value passed to the `validationStatus` prop. diff --git a/.changeset/tasty-trains-cover.md b/.changeset/tasty-trains-cover.md new file mode 100644 index 00000000000..dce22f3d6dd --- /dev/null +++ b/.changeset/tasty-trains-cover.md @@ -0,0 +1,5 @@ +--- +"@salt-ds/ag-grid-theme": patch +--- + +AG Grid Theme is now supporting AG Grid v29 and v30. diff --git a/.github/workflows/chromatic.yml b/.github/workflows/chromatic.yml index 702d5aa83db..ba65bf89de2 100644 --- a/.github/workflows/chromatic.yml +++ b/.github/workflows/chromatic.yml @@ -23,8 +23,6 @@ jobs: cache: "yarn" - name: Install dependencies run: yarn - - name: Build ag grid theme - run: yarn build:ag-grid-theme - name: Bundle css run: yarn bundle:css # 👇 Adds Chromatic as a step in the workflow diff --git a/cypress.config.ts b/cypress.config.ts index 08603f2aa77..c1cfe7c05f7 100644 --- a/cypress.config.ts +++ b/cypress.config.ts @@ -9,6 +9,7 @@ import { version as reactVersion } from "react"; // @ts-ignore import installCoverageTask from "@cypress/code-coverage/task"; import { cssInline } from "css-inline-plugin"; +import { initPlugin } from "@frsource/cypress-plugin-visual-regression-diff/plugins"; let viteConfig: UserConfig = { plugins: [react(), tsconfigPaths(), IstanbulPlugin(), cssInline()], @@ -59,8 +60,13 @@ export default defineConfig({ viewportWidth: 1280, viewportHeight: 1024, video: false, + env: { + pluginVisualRegressionMaxDiffConfig: { threshold: 0.1 }, + pluginVisualRegressionDiffConfig: { threshold: 0.1 }, + }, component: { setupNodeEvents(on, config) { + initPlugin(on, config); installCoverageTask(on, config); //Setting up a log task to allow logging to the console during an axe test because console.log() does not work directly in a test on("task", { @@ -70,6 +76,7 @@ export default defineConfig({ return null; }, }); + return config; }, devServer: { diff --git a/cypress/support/commands.tsx b/cypress/support/commands.tsx index 7d42a491ece..8641106e842 100644 --- a/cypress/support/commands.tsx +++ b/cypress/support/commands.tsx @@ -7,6 +7,7 @@ import { PerformanceResult, PerformanceTester } from "./PerformanceTester"; import { ReactNode } from "react"; import { SaltProvider } from "@salt-ds/core"; import { AnnouncementListener } from "./AnnouncementListener"; +import "@frsource/cypress-plugin-visual-regression-diff"; const SupportedThemeModeValues = ["light", "dark"] as const; type SupportedThemeMode = (typeof SupportedThemeModeValues)[number]; @@ -153,6 +154,20 @@ Cypress.Commands.add("paste", { prevSubject: "element" }, (input, value) => { } }); +Cypress.Screenshot.defaults({ + onBeforeScreenshot($el) { + // turn off pointer events for everything in the body element + // @ts-ignore + document.querySelector("body").style.pointerEvents = "none"; + }, + + onAfterScreenshot($el, props) { + // restore default pointer event behavior + // @ts-ignore + document.querySelector("body").style.pointerEvents = "initial"; + }, +}); + // Workaround for an issue in Cypress, where ResizeObserver fails with the message // ResizeObserver loop limit exceeded // Seems to occur for us in Cypress but never in browser in normal use diff --git a/package.json b/package.json index bb35ea50c9b..9507d0cbef2 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ "@faker-js/faker": "^8.0.0", "@fontsource/open-sans": "^4.5.13", "@fontsource/pt-mono": "^5.0.12", + "@frsource/cypress-plugin-visual-regression-diff": "^3.3.10", "@mswjs/data": "^0.14.0", "@storybook/addon-a11y": "^7.4.5", "@storybook/addon-actions": "^7.4.5", @@ -81,9 +82,9 @@ "@typescript-eslint/eslint-plugin": "^6.6.0", "@typescript-eslint/parser": "^6.6.0", "@vitejs/plugin-react": "^4.1.0", - "ag-grid-community": "^28.2.1", - "ag-grid-enterprise": "^28.2.1", - "ag-grid-react": "^28.2.1", + "ag-grid-community": "^30.2.0", + "ag-grid-enterprise": "^30.2.0", + "ag-grid-react": "^30.2.0", "axe-core": "^4.9.0", "chromatic": "^10.2.0", "ci-info": "^3.3.1", diff --git a/packages/ag-grid-theme/css/_export-salt-icons.module.scss b/packages/ag-grid-theme/css/_export-salt-icons.module.scss deleted file mode 100644 index ba568b4d655..00000000000 --- a/packages/ag-grid-theme/css/_export-salt-icons.module.scss +++ /dev/null @@ -1,7 +0,0 @@ -@import "./salt-ag-theme-icon-font"; - -:export { - @each $key, $value in $icons { - #{unquote($key)}: $value; - } -} diff --git a/packages/ag-grid-theme/css/_export-uitk-icons.module.scss b/packages/ag-grid-theme/css/_export-uitk-icons.module.scss deleted file mode 100644 index 35b4951a899..00000000000 --- a/packages/ag-grid-theme/css/_export-uitk-icons.module.scss +++ /dev/null @@ -1,7 +0,0 @@ -@import "./uitk-ag-theme-icon-font"; - -:export { - @each $key, $value in $icons { - #{unquote($key)}: $value; - } -} diff --git a/packages/ag-grid-theme/css/_salt-ag-theme-default-params.scss b/packages/ag-grid-theme/css/_salt-ag-theme-default-params.scss deleted file mode 100644 index 26d6151c26e..00000000000 --- a/packages/ag-grid-theme/css/_salt-ag-theme-default-params.scss +++ /dev/null @@ -1,22 +0,0 @@ -@import "~ag-grid-community/src/styles/ag-theme-base/sass/ag-theme-base-default-params"; - -$salt-ag-theme-default-params: ( - row-hover-color: var(--agGrid-row-color-hover), - row-border-color: var(--agGrid-row-borderColor), - header-background-color: var(--salt-palette-neutral-primary-background), - header-column-separator: true, - header-column-separator-width: 1px, - header-column-separator-color: var(--agGrid-header-column-separator-color), - input-focus-border-color: var(--salt-editable-borderColor-hover), - // Fonts - font-family: - ( - "Open Sans", - sans-serif, - ), -); - -$salt-ag-theme-default-params: map-merge( - $ag-theme-base-default-params, - $salt-ag-theme-default-params -); diff --git a/packages/ag-grid-theme/css/_salt-ag-theme-icon-font.scss b/packages/ag-grid-theme/css/_salt-ag-theme-icon-font.scss deleted file mode 100644 index a2c02a10ddb..00000000000 --- a/packages/ag-grid-theme/css/_salt-ag-theme-icon-font.scss +++ /dev/null @@ -1,115 +0,0 @@ -$icons: ( - // key is CSS icon name, comment is Salt icon name - aggregation: "\ea2f", - // sum-solid - arrows: "\e9e7", - // move-all - asc: "\e954", - // arrow-up - cancel: "\e975", - // close - chart: "\e958", - // bar-chart - columns: "\e981", - // column-chooser - contracted: "\e96d", - // chevron-down - copy: "\e973", - //clone - cross: "\e975", - //close - cut: "\e98e", - // cut - csv: "\e98d", - // csv - desc: "\e951", - // arrow-down - excel: "\ea62", - // xls - expanded: "\e96f", - // chevron-right - eye-slash: "\e9c1", - // hidden - eye: "\ea5b", - // visible - filter: "\e9ab", - // filter-solid - filter-clear: "\e9ac", - // filter - first: "\e99b", - // double-chevron-left - group: "\ea68", - // group - last: "\e99c", - // double-chevron-right - left: "\e96e", - //chevron-left - linked: "\e9da", - //linked - loading: "\e9dc", - //loader - menu: "\e9e5", - // micro-menu - next: "\e96f", - // chevron-right - none: "\e9e9", - // move-vertical - not-allowed: "\e975", - // close - paste: "\e9f9", - // place-in - pin: "\e9f5", - // pin-solid - pivot: "\e9f8", - // pivot - previous: "\e96e", - // chevron-left - right: "\e96f", - // chevron-right - save: "\ea19", - // save - small-down: "\ea41", - // triangle-down - small-left: "\ea42", - // triangle-left - small-right: "\ea44", - // triangle-right - small-up: "\ea45", - //triangle-up - tick: "\ea2e", - //success-tick - tree-closed: "\e96f", - // chevron-right - tree-open: "\e96d", - // triangle-down - unlinked: "\ea47", - // unlinked -); - -@font-face { - font-family: "salt-icons"; - src: url("../fonts/salt-icons.woff") format("woff"); -} - -@each $name, $glyph in $icons { - [class^="ag-theme-salt"] .ag-icon-#{$name} { - font-family: "salt-icons"; - } - - [class^="ag-theme-salt"] .ag-icon-#{$name}::before { - content: $glyph; - } -} - -[class^="ag-theme-salt"] .ag-checkbox-input-wrapper::after { - font-family: "salt-icons"; - content: ""; -} - -[class^="ag-theme-salt"] .ag-checkbox-input-wrapper.ag-checked::after { - content: "\ea2e"; -} - -[class^="ag-theme-salt"] .ag-checkbox-input-wrapper.ag-indeterminate::after { - content: "\ea10"; -} diff --git a/packages/ag-grid-theme/css/_salt-ag-theme-mixin.scss b/packages/ag-grid-theme/css/_salt-ag-theme-mixin.scss deleted file mode 100644 index d83608671bf..00000000000 --- a/packages/ag-grid-theme/css/_salt-ag-theme-mixin.scss +++ /dev/null @@ -1,755 +0,0 @@ -@import "~ag-grid-community/src/styles/ag-theme-base/sass/ag-theme-base"; -@import "./salt-ag-theme-default-params"; - -@mixin ag-theme-salt($params: ()) { - @include ag-allow-color-param-access-with-ag-param(false); - - $params: ag-process-theme-variables($params, $salt-ag-theme-default-params); - @include ag-theme-base($params); - - .ag-root-wrapper { - border: none; - } - - // Because we are using a different border thickness on focus than default - // we have to adjust height on various elements either using the line-height or height - // properties. - .ag-ltr, - .ag-rtl { - .ag-cell-wrapper.ag-row-group { - align-items: center; - } - } - - .ag-ltr, - .ag-rtl { - .ag-row-focus .ag-cell-focus .ag-cell-wrapper.ag-row-group, - .ag-cell-focus .ag-drag-handle.ag-row-drag, - .ag-cell-focus - .ag-cell-wrapper - > :not(.ag-cell-value):not(.ag-group-value) { - height: calc( - min( - var(--ag-internal-calculated-line-height), - var(--ag-internal-padded-row-height) - ) + 1px - ); - } - } - - .ag-toggle-button-input-wrapper { - border-radius: 0; - border-width: 0; - background-color: var(--agGrid-toggle-button-background); - height: var(--agGrid-switch-height); - width: calc( - var(--agGrid-switch-height) * 2 - var(--agGrid-switch-borderWidth) - ); - &:focus-within:before { - border: 2px dotted var(--salt-focused-outlineColor); - } - &::before { - border-radius: 0; - border-width: var(--agGrid-switch-borderWidth); - border-color: var(--agGrid-toggle-button-background); - top: 0; - left: 0; - height: var(--agGrid-switch-height); - width: var(--agGrid-switch-height); - } - &.ag-checked { - border-color: var(--agGrid-toggle-background-checked); - background-color: var(--agGrid-toggle-background-checked); - &::before { - left: calc( - var(--agGrid-switch-height) - var(--agGrid-switch-borderWidth) - ); - border-color: var(--agGrid-toggle-background-checked); - display: flex; - font-family: jpmuitk-icons; - font-size: 12px; - content: "\e95b"; - color: var(--agGrid-toggle-background-checked); - background-color: white; - justify-content: center; - align-items: center; - } - } - } - - /* --- Menu styles --- */ - - .ag-menu { - background-color: var(--agGrid-background); - padding: var(--salt-spacing-100); - color: var(--agGrid-menu-color); - border-color: var(--agGrid-menu-borderColor); - } - - /** pop up shadow */ - .ag-popup-child:not(.ag-tooltip-custom) { - box-shadow: var(--agGrid-menu-shadow); - } - - .ag-menu .ag-tabs-body { - padding: 0; - } - - .ag-menu .ag-filter-body-wrapper { - padding: 0; - display: flex; - flex-direction: column; - gap: var(--salt-spacing-50); - } - - .ag-menu .ag-filter-body-wrapper > * { - margin: 0; - } - - .ag-menu-header { - background-color: var(--agGrid-background); - } - - .ag-menu-list { - padding: 0; - } - - .ag-menu-separator { - height: var(--salt-size-border); - } - - .ag-menu-option { - height: calc(var(--salt-size-base) + var(--salt-spacing-100)); - } - - .ag-column-select-header { - border: none; - } - - .ag-menu-column-select-wrapper { - height: 100%; - } - - .ag-column-select-list { - overflow: initial; - max-height: 256px; - } - - .ag-picker-field-wrapper { - border-radius: 0; - } - - .ag-picker-field-icon { - margin-right: var(--salt-spacing-100); - } - - .ag-select .ag-picker-field-display { - margin: 0; - padding-left: var(--salt-spacing-100); - } - - .ag-input-field-input[class^="ag-"][type="text"] { - font-size: var(--salt-text-fontSize); - font-family: var(--salt-text-fontFamily); - padding: 0; - } - - .ag-menu .ag-input-field-input[type="text"] { - height: var(--agGrid-input-height); - min-height: var(--agGrid-input-height); - line-height: var(--agGrid-input-height); - padding-left: var(--salt-spacing-100); - padding-right: var(--salt-spacing-100); - font-size: inherit; - - &:focus { - border-color: var(--agGrid-color-focus); - } - &::placeholder { - color: var(--agGrid-placeholder-color); - opacity: 1; - } - } - - .ag-menu .ag-input-field-input[type="text"] { - font-size: var(--salt-text-fontSize); - border-bottom: var(--salt-size-border) var(--salt-editable-borderStyle) - var(--salt-editable-borderColor); - } - - .ag-set-filter-list { - padding-top: 1px; - } - - .ag-set-filter-item { - margin: 0; - padding-left: var(--salt-spacing-100); - padding-right: var(--salt-spacing-100); - } - - .ag-mini-filter { - margin: 0; - padding-left: var(--salt-spacing-50); - padding-right: var(--salt-spacing-50); - } - - .ag-menu-option-part { - height: var(--salt-size-stackable); - line-height: var(--salt-text-lineHeight); - padding: 0 var(--salt-spacing-100); - font-size: var(--salt-text-fontSize); - } - - .ag-menu-option-text { - padding-left: var(--salt-spacing-100); - padding-right: var(--salt-spacing-100); - } - - .ag-list-item, - .ag-virtual-list-item { - height: var(--agGrid-list-item-height); - font-size: ag-param(font-size); - color: var(--agGrid-header-foreground); - } - - .ag-list-item:hover, - .ag-virtual-list-item:hover { - background-color: var(--agGrid-list-item-color-hover) !important; - } - - /* --- Tab styles --- */ - - .ag-tabs-header { - @include ag-border(primary, bottom); - min-width: 220px; - } - - .ag-tab { - margin: 0 var(--salt-spacing-100) 0 0; - padding: 0 var(--salt-spacing-100); - transition: color 0.4s; - flex: 1 1 auto; - height: var(--salt-size-stackable); - } - - .ag-tab:only-child { - margin: 0; - } - - .ag-tab-selected { - border-bottom: var(--salt-editable-borderStyle) - var(--salt-editable-borderWidth-active) - var(--agGrid-tab-borderColor-active); - } - - /* --- Status bar styles --- */ - - .ag-status-bar { - color: var(--salt-content-secondary-foreground); - height: var(--agGrid-row-height-default); - font-size: var(--salt-text-fontSize); - font-weight: var(--salt-text-label-fontWeight); - line-height: var(--salt-text-label-lineHeight); - padding: 0 var(--salt-spacing-100); - } - - .ag-status-panel { - align-items: center; - color: var(--salt-content-secondary-foreground); - padding: var(--salt-spacing-100) 0; - } - - .ag-status-name-value-value { - color: var(--salt-content-primary-foreground); - font-weight: var(--salt-text-fontWeight-strong); - } - - /* --- Header styles --- */ - - .ag-header { - border-color: var(--agGrid-header-borderColor); - } - - .ag-header-row { - color: var(--agGrid-header-foreground); - font-size: var(--agGrid-header-fontSize); - font-weight: var(--agGrid-header-fontWeight); - } - - .ag-header-icon { - color: var(--agGrid-header-foreground); - } - - .ag-header-cell:after, - .ag-header-group-cell:after { - height: var(--agGrid-column-separator-height); - top: var(--agGrid-column-separator-top); - } - - /** Move sort arrow towards menu icon */ - .ag-ltr - .ag-header-cell:not(.ag-right-aligned-header) - .ag-header-label-icon.ag-hidden - + .ag-sort-indicator-container { - margin-left: auto; - } - - .ag-ltr - .ag-header-cell.ag-right-aligned-header - .ag-header-label-icon.ag-hidden - + .ag-sort-indicator-container { - margin-right: auto; - } - - .ag-sort-indicator-container { - align-items: center; - } - - .ag-ltr .ag-header-cell.ag-right-aligned-header .ag-sort-indicator-icon { - padding-left: var(--salt-spacing-100); - } - - .ag-ltr - .ag-header-cell:not(.ag-right-aligned-header) - .ag-sort-indicator-icon { - padding-right: var(--salt-spacing-100); - } - - .ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-label-icon { - margin-right: auto; - padding-left: var(--salt-spacing-100); - } - - .ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon { - margin-left: auto; - padding-right: var(--salt-spacing-100); - } - - .ag-keyboard-focus .ag-header-cell:focus:after { - height: auto; - width: auto; - left: 0; - right: 0; - bottom: 0; - top: 0; - border: 2px dotted var(--agGrid-color-focus); - } - - .ag-header-cell, - .ag-header-group-cell { - padding: 0px calc(var(--salt-spacing-100)); - } - - /* --- General row styles --- */ - - .ag-row { - color: var(--agGrid-foreground); - } - - .ag-row-hover { - background-color: var(--agGrid-row-background-hover); - } - - .ag-row-selected { - background-color: var(--agGrid-row-background-selected); - border-color: var(--agGrid-row-borderColor-selected); - } - - &.ag-theme-salt-variant-zebra - .ag-row-even:not(.ag-row-hover, .ag-row-selected) { - background-color: var(--agGrid-zebraColor); - } - - &.ag-theme-salt-variant-secondary - .ag-row:not(.ag-row-hover, .ag-row-selected) { - background-color: var(--agGrid-row-background-secondary); - } - - &.ag-theme-salt-variant-secondary .ag-header { - background-color: var(--agGrid-row-background-secondary); - } - - .ag-row-selected.ag-row-hover::before, - .ag-row-selected::before { - content: ""; - height: 1px; - position: absolute; - top: -1px; - left: 0; - right: 0; - background-color: var(--agGrid-row-borderColor-selected); - background-image: none; - z-index: 1; - } - - /* --- General cell styles --- */ - - .ag-cell { - border: 0; - padding-left: var(--salt-spacing-100); - padding-right: var(--salt-spacing-100); - } - - .ag-ltr .ag-cell { - border: none; - line-height: calc( - min( - var(--ag-internal-calculated-line-height), - var(--ag-internal-padded-row-height) - ) + 1px - ); - } - - .ag-cell-label-container { - padding: var(--salt-spacing-100) 0; - } - - .editable-numeric-cell, - .ag-cell.numeric-cell { - text-align: right; - justify-content: flex-end; - } - - .editable-numeric-cell, - .ag-cell.editable-cell { - border: var(--salt-size-border) var(--salt-container-borderStyle) - var(--salt-editable-borderColor); - } - - .ag-ltr { - .ag-cell-range-single-cell, - .ag-cell-focus:not(.ag-cell-range-selected):focus-within { - outline: var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) - var(--salt-focused-outlineColor); - outline-offset: -2px; - border-color: transparent !important; - } - } - - .ag-ltr .ag-cell-focus.ag-cell-inline-editing:focus-within { - background-color: var(--salt-container-primary-background); - } - - .ag-cell.editable-numeric-cell.ag-cell-focus:focus, - .ag-cell.editable-cell.ag-cell-focus:focus, - .ag-cell.editable-cell.ag-cell-focus:focus-within, - .ag-cell.editable-cell.ag-cell-focus.ag-cell-inline-editing { - overflow: visible; - } - - .ag-cell.editable-numeric-cell.ag-cell-focus:focus:before, - .ag-cell.editable-cell.ag-cell-focus:focus:before, - .ag-cell.editable-cell.ag-cell-focus:focus-within:before, - .ag-cell.editable-cell.ag-cell-focus.ag-cell-inline-editing:before { - content: ""; - position: absolute; - top: 0; - left: 0; - transform: translate(-1px, -1px); - border-top: 0 solid transparent; - border-left: var(--agGrid-editableCell-cornerTag-size) solid - var(--salt-editable-borderColor-hover); - border-bottom: var(--agGrid-editableCell-cornerTag-size) solid transparent; - z-index: 2; - } - - .ag-cell.ag-cell-inline-editing { - padding: 0; - } - - .ag-cell-inline-editing input { - background-color: transparent; - } - - .ag-cell-inline-editing.numeric-cell input:not(:focus) { - text-align: right; - } - - .ag-cell-editor .ag-input-field-input[type="text"] { - padding-left: ag-param(cell-horizontal-padding); - padding-right: ag-param(cell-horizontal-padding); - } - - /* --- Cell range --- */ - - .ag-cell.ag-cell-range-selected:not( - .ag-cell-range-single-cell - ).ag-cell-range-left:before { - border-left: var(--salt-size-border) dotted - var(--agGrid-range-selection-borderColor); - content: ""; - height: 100%; - position: absolute; - left: 0; - top: 0; - width: 100%; - z-index: 1; - } - .ag-cell.ag-cell-range-selected:not( - .ag-cell-range-single-cell - ).ag-cell-range-right:before { - border-right: 2px dotted var(--agGrid-range-selection-borderColor); - content: ""; - height: 100%; - position: absolute; - right: 0; - top: 0; - width: 100%; - z-index: 1; - } - - .ag-cell.ag-cell-range-selected:not( - .ag-cell-range-single-cell - ).ag-cell-range-top:after { - border-top: 2px dotted var(--agGrid-range-selection-borderColor); - content: ""; - width: 100%; - position: absolute; - left: 0; - top: 0; - height: 100%; - z-index: 1; - } - .ag-cell.ag-cell-range-selected:not( - .ag-cell-range-single-cell - ).ag-cell-range-bottom:after { - border-bottom: 2px dotted var(--agGrid-range-selection-borderColor); - content: ""; - width: 100%; - position: absolute; - left: 0; - bottom: 0; - height: 100%; - z-index: 1; - } - - .ag-cell.ag-cell-range-selected-1:not(.ag-cell-focus), - .ag-root:not(.ag-context-menu-open) - .ag-body-viewport:not(.ag-has-focus) - .ag-cell-range-selected-1:not(.ag-cell-inline-editing) { - background: var(--agGrid-range-selection-background); - } - .ag-cell.ag-cell-highlight { - color: var(--agGrid-highlight-text-color); - background: var(--salt-focused-outlineColor) !important; - } - - /* --- Button styles --- */ - - .ag-side-buttons { - width: var(--salt-size-stackable); - } - - .ag-standard-button { - appearance: none; - -webkit-appearance: none; - background: var(--salt-actionable-secondary-background); - border-radius: ag-param(border-radius); - border: 1px transparent; - cursor: pointer; - height: var(--salt-size-base); - font-weight: 600; - color: var(--salt-actionable-secondary-foreground); - text-transform: uppercase; - font-size: var(--salt-text-fontSize); - padding: 0 var(--salt-spacing-100); - &:focus-visible { - outline-style: var(--salt-focused-outlineStyle); - outline-width: var(--salt-focused-outlineWidth); - outline-color: var(--salt-focused-outlineColor); - outline-offset: var(--salt-focused-outlineOffset); - background: var(--salt-actionable-secondary-background-hover); - } - &:hover { - background-color: var(--salt-actionable-secondary-background-hover); - } - &:active { - color: var(--salt-actionable-secondary-foreground-active); - background-color: var(--salt-actionable-secondary-background-active); - } - } - - .ag-ltr .ag-side-bar-right .ag-side-button-button { - &:focus-visible { - outline: 2px dotted var(--salt-focused-outlineColor); - outline-offset: -2px; - } - } - - .ag-ltr .ag-side-buttons .ag-selected .ag-side-button-button { - border-left-color: var(--salt-navigable-indicator-active); - border-left-style: solid !important; - font-weight: var(--salt-navigable-fontWeight-active); - } - - button.ag-side-button-button { - border-bottom: none; - border-top: none; - } - - .ag-pivot-mode-panel { - height: var(--salt-size-stackable); - } - - /* Checkbox for row selection styles */ - - .ag-selection-checkbox { - height: 100%; - } - - .ag-checkbox-input-wrapper { - height: var(--agGrid-checkbox-size); - width: var(--agGrid-checkbox-size); - border: var(--agGrid-checkbox-border); - background: var(--agGrid-checkbox-background); - border-radius: 0; - - &::after { - line-height: 1; - font-weight: 700; - font-size: calc(var(--agGrid-checkbox-size) - 2px); - color: var(--agGrid-checkbox-foreground); - } - } - - .ag-checkbox-input-wrapper.ag-checked { - border-color: var(--agGrid-checkbox-borderColor-selected); - background: var(--agGrid-checkbox-background-selected); - - &::after { - color: var(--agGrid-checkbox-foreground-selected); - } - } - - /* --- Paging styles --- */ - - .ag-paging-row-summary-panel { - display: none; - } - - .ag-paging-page-summary-panel { - font-size: var(--agGrid-paging-fontSize); - margin-top: 5px; - color: var(--agGrid-button-color); - } - - .ag-paging-number { - font-weight: normal; - } - - .ag-paging-button { - height: var(--agGrid-paging-button-width); - width: var(--agGrid-paging-button-width); - display: flex; - align-items: center; - justify-content: center; - margin: 0; - font-size: var(--agGrid-paging-fontSize); - & .ag-icon { - color: var(--agGrid-pagination-button-color); - } - &:hover { - background-color: var(--agGrid-paging-button-background-hover); - } - &.ag-disabled { - background-color: unset; - cursor: not-allowed; - & .ag-icon { - color: var(--agGrid-pagination-button-color-disabled); - } - } - } - - .ag-keyboard-focus .ag-paging-button:focus::after { - outline: dotted 2px var(--agGrid-color-focus); - outline-offset: -2px; - border: none; - } - - /* --- Floating filter styles --- */ - - .ag-input-field-input { - border: 0; - } - - .ag-floating-filter { - border: var(--salt-size-border) var(--salt-editable-borderStyle) - var(--salt-separable-tertiary-borderColor); - } - - .ag-ltr .ag-floating-filter-button { - margin: 0; - padding-left: var(--salt-spacing-100); - padding-right: var(--salt-spacing-100); - } - - .ag-floating-filter-button-button .ag-icon-filter:before { - color: var(--salt-content-secondary-foreground); - content: "\e9ac"; - } - - .ag-floating-filter-input { - color: var(--salt-content-secondary-foreground); - padding-left: var(--salt-spacing-100); - } - - .ag-header-cell.ag-floating-filter { - padding-left: 0; - padding-right: 1px; - } - - .ag-header-cell.ag-floating-filter:after { - content: none; - } - - .ag-header-cell.ag-floating-filter:focus-within { - outline: var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) - var(--salt-focused-outlineColor); - outline-offset: -2px; - } - - .ag-header-cell.ag-column-menu-visible { - background: var(--salt-actionable-secondary-background-active); - color: var(--salt-actionable-secondary-foreground-active); - } - - .ag-header-cell.ag-column-menu-visible .ag-icon { - color: var(--salt-actionable-secondary-foreground-active); - } - - /* We have to fake a border (below) to ensure alignment */ - .ag-pinned-right-header .ag-floating-filter { - border-left: 0px; - } - - .ag-pinned-right-header .ag-floating-filter:after { - background-color: var(--salt-separable-tertiary-borderColor); - content: ""; - height: 100%; - position: absolute; - left: -1px; - top: 0px; - width: 1px; - z-index: 1; - } - - /* Allows for the above :after to be seen */ - .ag-header-row-column-filter, - .ag-header-cell.ag-floating-filter, - .ag-pinned-right-header .ag-header-row { - overflow: unset; - } - - /* - * This react-container class is added as a wrapper for custom components. - * Adding styling for these components added in the status and tool bars. - */ - .ag-status-bar .ag-react-container, - .ag-floating-filter .ag-react-container { - display: flex; - align-items: center; - } - .ag-tool-panel-wrapper .ag-react-container { - width: 100%; - } -} diff --git a/packages/ag-grid-theme/css/_uitk-ag-theme-default-params.scss b/packages/ag-grid-theme/css/_uitk-ag-theme-default-params.scss deleted file mode 100644 index 3d920898ce8..00000000000 --- a/packages/ag-grid-theme/css/_uitk-ag-theme-default-params.scss +++ /dev/null @@ -1,93 +0,0 @@ -@import "~ag-grid-community/src/styles/ag-theme-base/sass/ag-theme-base-default-params"; - -$uitk-ag-theme-default-params: ( - grid-size: 8px, - icon-size: 18px, - header-height: ag-derived(grid-size, $times: 7), - row-height: ag-derived(grid-size, $times: 6), - cell-horizontal-padding: ag-derived(grid-size, $times: 3), - list-item-height: ag-derived(grid-size, $times: 4), - row-group-indent-size: ag-derived(grid-size, $times: 3, $plus: icon-size), - filter-tool-panel-sub-level-row-height: ag-derived(grid-size, $times: 4), - checkbox-border-radius: 2px, - toggle-button-switch-border-width: 2px, - toggle-button-height: ag-derived(icon-size), - widget-container-vertical-padding: ag-derived(grid-size, $times: 2), - widget-vertical-spacing: ag-derived(grid-size, $times: 1.75), - selected-tab-underline-width: 2px, - full-width-tabs: true, - data-color: ag-derived(foreground-color), - secondary-foreground-color: ag-derived(foreground-color), - header-foreground-color: var(--agGrid-header-foreground), - disabled-foreground-color: var(--agGrid-foreground-disabled), - header-background-color: null, - subheader-background-color: null, - subheader-toolbar-background-color: null, - control-panel-background-color: null, - selected-row-background-color: var(--agGrid-row-background-selected), - odd-row-background-color: null, - row-hover-color: var(--agGrid-row-color-hover), - column-hover-color: null, - range-selection-highlight-color: ag-derived(range-selection-border-color), - selected-tab-underline-color: ag-derived(range-selection-border-color), - selected-tab-underline-transition-speed: null, - header-cell-hover-background-color: null, - header-cell-moving-background-color: - ag-derived(header-cell-hover-background-color), - chip-background-color: null, - suppress-css-var-overrides: false, - // BORDERS - borders: false, - borders-critical: true, - borders-secondary: true, - borders-side-button: true, - side-bar-panel-width: 200px, - border-radius: 0px, - border-color: var(--agGrid-borderColor), - secondary-border-color: var(--agGrid-borderColor), - row-border-color: var(--agGrid-row-borderColor), - cell-horizontal-border: solid transparent, - header-column-separator: true, - header-column-separator-width: 1px, - header-column-separator-color: var(--agGrid-header-column-separator-color), - header-column-resize-handle: false, - header-column-resize-handle-height: 100%, - header-column-resize-handle-width: 1px, - header-column-resize-handle-color: var(--salt-color-gray-90), - // INPUTS - suppress-native-widget-styling: false, - input-border-color: null, - input-disabled-border-color: ag-derived(input-border-color, $opacity: 0.3), - input-disabled-background-color: null, - checkbox-background-color: null, - // checkbox-border-radius: ag-derived(border-radius), - checkbox-checked-color: ag-derived(background-color), - checkbox-unchecked-color: ag-derived(foreground-color), - checkbox-indeterminate-color: ag-derived(checkbox-unchecked-color), - toggle-button-off-border-color: ag-derived(checkbox-unchecked-color), - toggle-button-off-background-color: ag-derived(checkbox-unchecked-color), - toggle-button-on-border-color: ag-derived(checkbox-checked-color), - toggle-button-on-background-color: ag-derived(checkbox-checked-color), - toggle-button-switch-background-color: ag-derived(background-color), - toggle-button-switch-border-color: ag-derived(toggle-button-off-border-color), - toggle-button-border-width: 1px, - input-focus-box-shadow: null, - input-focus-border-color: null, - // CHART SETTINGS - minichart-selected-chart-color: ag-derived(checkbox-checked-color), - minichart-selected-page-color: ag-derived(checkbox-checked-color), - // Fonts - font-family: - ( - "Open Sans", - sans-serif, - ), - card-radius: ag-derived(border-radius), - card-shadow: none, - popup-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3), -); - -$uitk-ag-theme-default-params: map-merge( - $ag-theme-base-default-params, - $uitk-ag-theme-default-params -); diff --git a/packages/ag-grid-theme/css/_uitk-ag-theme-icon-font.scss b/packages/ag-grid-theme/css/_uitk-ag-theme-icon-font.scss deleted file mode 100644 index 530af077f28..00000000000 --- a/packages/ag-grid-theme/css/_uitk-ag-theme-icon-font.scss +++ /dev/null @@ -1,70 +0,0 @@ -$icons: ( - aggregation: "\e974", - arrows: "\e970", - asc: "\e940", - cancel: "\e90e", - chart: "\e904", - columns: "\e910", - contracted: "\e91b", - copy: "\e90d", - cross: "\e90e", - cut: "\e96d", - csv: "\e915", - desc: "\e93f", - excel: "\e91a", - expanded: "\e950", - eye-slash: "\e966", - eye: "\e965", - filter: "\e922", - first: "\e934", - last: "\e951", - left: "\e933", - linked: "\e935", - loading: "\e96f", - menu: "\e969", - next: "\e950", - none: "\e971", - not-allowed: "\e90e", - paste: "\e946", - pin: "\e944", - pivot: "\e979", - previous: "\e933", - right: "\e950", - save: "\e953", - small-down: "\e91b", - small-left: "\e981", - small-right: "\e980", - small-up: "\e982", - tick: "\e95b", - tree-closed: "\e950", - tree-open: "\e91b", - unlinked: "\e95e", -); - -@font-face { - font-family: "jpmuitk-icons"; - src: url("../fonts/jpmuitk-icons.woff") format("woff"); -} - -@each $name, $glyph in $icons { - [class^="ag-theme-uitk"] .ag-icon-#{$name} { - font-family: "jpmuitk-icons"; - } - - [class^="ag-theme-uitk"] .ag-icon-#{$name}::before { - content: $glyph; - } -} - -[class^="ag-theme-uitk"] .ag-checkbox-input-wrapper::after { - font-family: "jpmuitk-icons"; - content: ""; -} - -[class^="ag-theme-uitk"] .ag-checkbox-input-wrapper.ag-checked::after { - content: "\e95b"; -} - -[class^="ag-theme-uitk"] .ag-checkbox-input-wrapper.ag-indeterminate::after { - content: "\e94e"; -} diff --git a/packages/ag-grid-theme/css/_uitk-ag-theme-mixin.scss b/packages/ag-grid-theme/css/_uitk-ag-theme-mixin.scss deleted file mode 100644 index 264fa35f224..00000000000 --- a/packages/ag-grid-theme/css/_uitk-ag-theme-mixin.scss +++ /dev/null @@ -1,869 +0,0 @@ -@import "~ag-grid-community/src/styles/ag-theme-material/sass/ag-theme-material-mixin.scss"; -@import "./uitk-ag-theme-default-params"; - -@mixin ag-theme-uitk($params: ()) { - @include ag-allow-color-param-access-with-ag-param(false); - - $params: ag-process-theme-variables($params, $uitk-ag-theme-default-params); - @include ag-theme-material($params); - - .ag-filter-toolpanel-header, - .ag-filter-toolpanel-search, - .ag-status-bar, - .ag-header-row, - .ag-panel-title-bar-title, - .ag-multi-filter-group-title-bar { - font-weight: 600; - @include ag-color-property(color, header-foreground-color); - } - - .ag-ltr .ag-filter-toolpanel-header { - font-size: 12px; - padding-left: 8px; - } - - .ag-header-row { - font-size: var(--agGrid-header-fontSize); - } - - %ag-pinned-row-end { - content: ""; - position: absolute; - height: calc(100% - 20px); - top: 10px; - width: 1px; - @include ag-color-property(background-color, border-color); - } - - .ag-ltr { - .ag-pinned-right-header .ag-header-row::after { - @extend %ag-pinned-row-end; - right: 0; - } - } - - .ag-rtl { - .ag-pinned-left-header .ag-header-row::before { - @extend %ag-pinned-row-end; - left: 0; - } - } - - .ag-row { - font-size: ag-param(font-size); - } - - .ag-row-hover { - z-index: 3; - background-color: var(--agGrid-row-color-hover); - box-shadow: var(--agGrid-row-shadow-hover); - } - - .ag-row-selected { - z-index: 2; - border: transparent; - background-color: var(--agGrid-row-background-selected); - border-bottom: 0 solid var(--agGrid-row-borderColor-selected); - outline: 1px solid var(--agGrid-row-borderColor-selected); - } - - %ag-text-input { - min-height: ag-param(grid-size) * 4; - border-radius: ag-param(border-radius); - - @include ag-theme-rtl( - ( - padding-left: ag-param(grid-size), - ) - ); - } - - .ag-tab { - padding: ag-param(grid-size) * 1.5; - transition: color 0.4s; - flex: 1 1 auto; - height: 36px; - } - - .ag-tab-selected { - border-bottom: solid 2px var(--agGrid-tab-borderColor-active); - } - - .ag-menu { - background-color: var(--agGrid-background); - padding: var(--agGrid-menu-padding); - color: var(--agGrid-menu-color); - } - - .ag-menu .ag-tabs-body { - padding: 0; - padding-top: 8px; - } - - // start filter input - .ag-menu .ag-filter-body-wrapper { - padding: 0; - display: flex; - flex-direction: column; - gap: var(--uitk-size-unit); - } - - .ag-menu .ag-filter-body-wrapper > * { - margin: 0; - } - - .ag-picker-field-wrapper { - border-radius: 0; - } - - .ag-picker-field-icon { - margin-right: var(--uitk-size-unit); - } - - .ag-select .ag-picker-field-display { - margin: 0; - padding-left: var(--uitk-size-unit); - } - - // end filter input - - .ag-menu-header { - background-color: var(--agGrid-background); - padding-top: 1px; - } - - .ag-tabs-header { - @include ag-border(primary, bottom); - min-width: 220px; - } - - .ag-tabs-body { - padding: 4px 0; - } - - .ag-charts-settings-group-title-bar, - .ag-charts-data-group-title-bar, - .ag-charts-format-top-level-group-title-bar { - padding: ag-param(grid-size) ag-param(grid-size) * 2; - line-height: ag-param(icon-size) + ag-param(grid-size) - 2; - } - - .ag-chart-mini-thumbnail { - @include ag-color-property(background-color, background-color); - } - - .ag-chart-settings-nav-bar { - @include ag-border(secondary, top); - } - - .ag-group-title-bar-icon { - @include ag-theme-rtl( - ( - margin-right: ag-param(grid-size), - ) - ); - } - - .ag-charts-format-top-level-group-toolbar { - margin-top: ag-param(grid-size); - @include ag-theme-rtl( - ( - padding-left: ag-param(icon-size) * 0.5 + ag-param(grid-size) * 2, - ) - ); - } - - .ag-charts-format-sub-level-group { - border-left: dashed 1px; - @include ag-color-property(border-left-color, border-color); - padding-left: ag-param(grid-size); - margin-bottom: ag-param(grid-size) * 2; - } - - .ag-charts-format-sub-level-group-title-bar { - padding-top: 0; - padding-bottom: 0; - background: none; - font-weight: 700; - } - - .ag-charts-format-sub-level-group-container { - padding-bottom: 0; - } - - .ag-charts-format-sub-level-group-item:last-child { - margin-bottom: 0; - } - - &.ag-dnd-ghost { - font-size: 13px; - font-weight: 400; - color: ag-param(foreground-color); - background: ag-param(background-color); - border-radius: 2px; - box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), - 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12); - - overflow: hidden; - text-overflow: ellipsis; - z-index: 10; - height: 56px !important; - line-height: 56px; - margin: 0; - padding: 0 16px; - transform: translateY(16px); - border: none; - } - - .ag-dnd-ghost-icon { - margin-right: 8px; - color: var(--agGrid-ghost-icon-color); - } - - .ag-side-buttons { - width: 22px; - background-color: var(--agGrid-side-buttons-background); - } - - .ag-standard-button { - appearance: none; - -webkit-appearance: none; - border-radius: ag-param(border-radius); - border: 1px transparent; - height: var(--agGrid-button-height); - - @include ag-color-property(background-color, background-color); - font-weight: 600; - color: var(--agGrid-button-color); - text-transform: uppercase; - font-size: var(--agGrid-button-fontSize); - padding: 0 var(--agGrid-button-padding); - - &:hover { - background-color: var(--agGrid-button-background-hover); - } - - &:active { - } - - &:disabled { - } - } - - .ag-column-drop-vertical { - min-height: 150px; - padding-top: 8px; - .ag-icon { - height: 18px; - line-height: 18px; - } - } - - .ag-column-drop-vertical-icon { - margin-left: 2px; - margin-right: 2px; - } - - .ag-column-drop-vertical-empty-message { - padding-left: 34px; - padding-right: 8px; - font-size: 12px; - font-weight: 600; - color: rgba(0, 0, 0, 0.38); - margin-top: 8px; - margin-left: 2px; - margin-right: 2px; - } - - .ag-status-bar { - font-weight: normal; - } - - .ag-status-name-value-value { - font-weight: 700; - } - - .ag-paging-number, - .ag-paging-row-summary-panel-number { - font-weight: 700; - } - - .ag-column-drop-cell-button { - min-width: 32px; - margin: 0 4px; - - &:hover { - } - } - - .ag-column-drop.ag-column-drop-horizontal .ag-icon-group { - display: none; - } - - .ag-ltr .ag-column-select-column-drag-handle:not(:last-child) { - margin-right: 12px; - } - - .ag-column-drop-cell-drag-handle { - margin-left: 16px; - } - - .ag-column-drop-vertical-list { - padding-bottom: 8px; - padding-right: 8px; - padding-left: 8px; - } - - .ag-header-cell-menu-button, - .ag-side-button-button, - .ag-tab, - .ag-panel-title-bar-button, - .ag-header-expand-icon, - .ag-column-group-icons, - .ag-group-expanded .ag-icon, - .ag-group-contracted .ag-icon, - .ag-chart-settings-prev, - .ag-chart-settings-next, - .ag-group-title-bar-icon, - .ag-column-select-header-icon, - .ag-floating-filter-button-button, - .ag-filter-toolpanel-expand, - .ag-chart-menu-icon { - &:hover { - } - } - - .ag-floating-filter-button-button { - height: 18px; - width: 18px; - } - - .ag-ltr .ag-floating-filter-button { - margin: 3px; - } - - .ag-ltr - .ag-floating-filter-input - input.ag-input-field-input[type="text"]:focus { - height: 17px; - min-height: 17px; - } - - .ag-cell .ag-cell-wrapper .ag-group-contracted { - margin-right: 2px; - } - - .ag-header-cell-menu-button { - width: 18px; - } - - .ag-header-cell-label > .ag-header-icon { - margin-left: 2px; - margin-right: 2px; - } - - .ag-header-cell { - padding-left: 2px; - padding-right: 2px; - } - - .ag-header-select-all { - margin-left: 2px; - } - - .ag-keyboard-focus .ag-header-cell:focus:after { - height: auto; - width: auto; - left: 0; - right: 0; - bottom: 0; - top: 0; - border: 2px dotted var(--agGrid-color-focus); - } - - .ag-header-cell.ag-floating-filter::after { - display: none; - } - - .ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-label-icon { - margin-right: 8px; - } - - .ag-icon { - color: var(--agGrid-icon-color); - } - - .ag-header-cell-text { - margin-left: 3px; - margin-right: auto; - } - - .ag-header-icon { - color: var(--agGrid-header-icon-color); - } - - .ag-menu-header .ag-icon { - color: var(--agGrid-menu-header-icon-color); - } - - .ag-chart-settings-card-item.ag-not-selected:hover { - opacity: 0.35; - } - - .ag-panel-title-bar-button { - @include ag-theme-rtl( - ( - margin-left: ag-param(grid-size) * 2, - margin-right: ag-param(grid-size), - ) - ); - } - - .ag-filter-toolpanel-group-container { - padding-left: ag-param(grid-size); - } - - .ag-filter-toolpanel-group-level-0 { - border-top: none; - } - - .ag-filter-toolpanel-group-level-0-header { - height: 56px; - } - - .ag-filter-toolpanel-instance-filter { - border: none; - @include ag-color-property( - background-color, - control-panel-background-color - ); - border-left: dashed 1px; - @include ag-color-property(border-left-color, border-color); - margin-left: ag-param(icon-size) * 0.5; - padding-left: ag-param(icon-size) * 0.5; - margin-right: ag-param(grid-size) * 2; - } - - .ag-set-filter-list { - height: 192px; - } - - .ag-set-filter-item { - margin: 0 12px; - } - - .ag-layout-auto-height, - .ag-layout-print { - .ag-center-cols-clipper, - .ag-center-cols-container { - min-height: 150px; - } - } - - .ag-overlay-no-rows-wrapper.ag-layout-auto-height { - padding-top: 60px; - } - - .ag-date-time-list-page-entry-is-current { - } - - .ag-cell.editable-numeric-cell { - border: solid 1px var(--agGrid-cell-borderColor-editable); - text-align: right; - padding: 1px 3px; - } - - .ag-cell { - padding: 2px 4px; - line-height: ag-param(row-height) - 4px; - border-width: 0; - } - - .ag-ltr, - .ag-rtl { - .ag-has-focus .ag-cell-focus:not(.ag-cell-range-selected), - .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected), - .ag-has-focus .ag-full-width-row.ag-row-focus .ag-cell-wrapper.ag-row-group, - .ag-cell-range-single-cell, - .ag-cell-range-single-cell.ag-cell-range-handle { - border: 2px dotted var(--agGrid-color-focus); - padding: 0 2px; - } - } - - .ag-right-aligned-header .ag-header-cell-label { - flex-direction: row-reverse; - } - - .ag-checkbox-input-wrapper { - height: var(--agGrid-checkbox-size); - width: var(--agGrid-checkbox-size); - border: 1px solid var(--agGrid-checkbox-color); - border-radius: 0; - margin-left: 3px; - } - - .ag-checkbox-input-wrapper input { - opacity: 1; - } - - .ag-checkbox-input-wrapper.ag-checked { - border: none; - input:checked { - border: none; - background-color: var(--agGrid-checkbox-color); - } - &::after { - font-size: var(--agGrid-checkbox-size); - line-height: var(--agGrid-checkbox-size); - } - } - - .ag-menu .ag-input-field-input[type="text"] { - border-style: none; - height: var(--agGrid-input-height); - min-height: var(--agGrid-input-height); - line-height: var(--agGrid-input-height); - padding: 0 var(--salt-size-unit); - font-size: inherit; - border: dotted 2px transparent; - border-bottom-style: dotted !important; - - &:focus { - border-color: var(--agGrid-color-focus); - } - &::placeholder { - color: var(--agGrid-placeholder-color); - opacity: 1; - } - } - - .ag-ltr - .ag-column-select-header-filter-wrapper - input.ag-input-field-input[type="text"] { - border-style: none; - border-width: 0; - } - - .ag-column-select-header { - height: 56px; - padding: 0 12px; - // font-size: 13px; - font-size: ag-param(font-size); - border-bottom-color: var(--agGrid-borderColor); - } - - .ag-column-select { - border-bottom: solid 1px var(--agGrid-borderColor); - flex-grow: 3; - flex-shrink: 1; - flex-basis: 0; - } - - .ag-ltr .ag-column-select-header-checkbox, - .ag-ltr .ag-column-select-checkbox { - &:not(:last-child) { - margin-right: 12px; - } - } - - .ag-column-select-virtual-list-viewport { - padding: 8px 12px; - } - - .ag-column-select-virtual-list-item { - padding: 0; - } - - .ag-list-item, - .ag-virtual-list-item { - height: var(--agGrid-list-item-height); - font-size: ag-param(font-size); - color: var(--agGrid-header-foreground); - } - - .ag-list-item:hover, - .ag-virtual-list-item:hover { - background-color: var(--agGrid-list-item-color-hover) !important; - } - - .ag-keyboard-focus .ag-virtual-list-item:focus { - outline: none; - &:after { - top: 0; - left: 0; - width: 100%; - border: 2px dotted var(--agGrid-color-focus); - height: 100%; - } - } - - .ag-keyboard-focus .ag-column-drop-cell:focus::after { - border: none; - } - - .ag-keyboard-focus .ag-column-select-header:focus::after { - border: none; - } - - .ag-keyboard-focus .ag-checkbox .ag-input-wrapper:focus-within { - border: 2px dotted var(--agGrid-color-focus); - } - - .ag-keyboard-focus .ag-tab:focus:after { - border: 2px dotted var(--agGrid-color-focus); - } - - [class^="ag-"]:focus { - outline: none; - } - - .ag-set-filter-list .ag-virtual-list-viewport { - border-top: 1px solid var(--agGrid-filter-borderColor); - border-bottom: 1px solid var(--agGrid-filter-borderColor); - } - - .ag-filter-apply-panel { - justify-content: center; - padding: 16px 12px; - border-top: none; - } - - .ag-filter .ag-filter-apply-panel button { - height: 32px; - padding: 0 8px; - color: var(--agGrid-filter-apply-button-color); - font-size: 12px; - font-weight: 600; - cursor: pointer; - font-family: "Open Sans", sans-serif; - } - - .ag-ltr .ag-filter-apply-panel-button { - margin-left: 16px; - } - - .ag-cell input.ag-input-field-input[type="text"] { - &:focus { - outline: none; - } - } - - .ag-ltr .ag-pivot-mode-select { - margin-left: 12px; - } - - .ag-pivot-mode-panel { - height: 56px; - } - - .ag-toggle-button-input-wrapper { - border-radius: 0; - border-width: 0; - background-color: var(--agGrid-toggle-button-background); - height: var(--agGrid-switch-height); - width: calc( - var(--agGrid-switch-height) * 2 - var(--agGrid-switch-borderWidth) - ); - &:focus-within:before { - border: 2px dotted #2670a9; - } - &::before { - border-radius: 0; - border-width: var(--agGrid-switch-borderWidth); - border-color: var(--agGrid-toggle-button-background); - top: 0; - left: 0; - height: var(--agGrid-switch-height); - width: var(--agGrid-switch-height); - } - &.ag-checked { - border-color: var(--agGrid-toggle-background-checked); - background-color: var(--agGrid-toggle-background-checked); - &::before { - left: calc( - var(--agGrid-switch-height) - var(--agGrid-switch-borderWidth) - ); - border-color: var(--agGrid-toggle-background-checked); - display: flex; - font-family: jpmuitk-icons; - font-size: 12px; - content: "\e95b"; - color: var(--agGrid-toggle-background-checked); - background-color: white; - justify-content: center; - align-items: center; - } - } - } - - .ag-side-bar .ag-tool-panel-wrapper { - background: var(--agGrid-side-buttons-background); - } - - .ag-side-buttons { - padding-top: 0; - } - - .ag-column-drop-cell { - height: 32px; - font-size: ag-param(font-size); - background-color: var(--agGrid-background); - } - - .ag-ltr .ag-side-bar-right .ag-side-button-button { - border-left: 3px solid transparent; - &:focus { - border: 2px dotted #2d81bd; - outline: none; - } - } - - .ag-side-bar .ag-side-buttons .ag-side-button-label { - font-weight: 700; - margin-left: 2px; - } - - .ag-ltr .ag-side-buttons .ag-selected .ag-side-button-button { - border-left-color: var(--agGrid-tab-borderColor-active); - border-left-style: solid !important; - } - - button.ag-side-button-button { - border-bottom: none; - border-top: none; - font-size: inherit; - font-weight: inherit; - line-height: inherit; - width: 100%; - } - - button.ag-side-button-button { - padding: 16px 0 16px 0; - min-height: 144px; - } - - .ag-ltr .ag-filter-toolpanel-search { - padding-left: 8px; - height: 56px; - font-size: 12px; - } - - .ag-ltr .ag-filter-toolpanel-search-input { - margin-right: 8px; - height: 32px; - } - - .ag-mini-filter { - font-size: 13px; - margin: 16px 12px; - } - - // Selection checkbox - .ag-cell-wrapper > *:not(.ag-cell-value):not(.ag-group-value) { - // Needed to capitalize min, because it clashes with old versions of Sass - height: Min( - var(--ag-line-height, ag-param(row-height) - 4px), - ag-param(row-height) - 4px - ); - display: flex; - align-items: center; - flex: none; - } - - .ag-floating-filter-input input.ag-input-field-input[type="text"] { - border-width: 0; - } - - .ag-menu-option-part { - line-height: 18px; - padding: 10px 0; - font-size: 13px; - } - - .ag-menu-option-text { - padding-left: 16px; - padding-right: 16px; - } - - .ag-menu-separator { - height: 17px; - } - - .ag-menu-option-active { - background-color: var(--agGrid-menu-option-color-hover); - } - - .ag-column-drop-wrapper { - background: var(--agGrid-background); - } - - .ag-column-drop-horizontal { - background-color: var(--agGrid-background); - height: 48px; - } - - .ag-column-drop.ag-column-drop-horizontal .ag-column-drop-cell { - background-color: var(--agGrid-column-drop-cell-horizontal-background); - } - - .ag-column-drop-cell-text { - margin: 0 8px; - } - - .ag-ltr .ag-label-align-right .ag-label { - margin-left: 8px; - } - - .ag-ltr .ag-label { - margin-right: 8px; - } - - .ag-paging-row-summary-panel { - display: none; - } - - .ag-paging-page-summary-panel { - font-size: 14px; - margin-top: 5px; - color: var(--agGrid-button-color); - } - - .ag-paging-number { - font-weight: normal; - } - - .ag-paging-button { - height: var(--agGrid-paging-button-width); - width: var(--agGrid-paging-button-width); - display: flex; - align-items: center; - justify-content: center; - margin: 0; - font-size: 12px; - & .ag-icon { - color: var(--agGrid-pagination-button-color); - } - &:hover { - background-color: var(--agGrid-button-background-hover); - } - &.ag-disabled { - background-color: unset; - cursor: not-allowed; - & .ag-icon { - color: var(--agGrid-pagination-button-color-disabled); - } - } - } - - .ag-keyboard-focus .ag-paging-button:focus::after { - border: dotted 2px var(--agGrid-color-focus); - outline: none; - } - - input[class^="ag-"][type="text"] { - background-color: var(--agGrid-background); - } - - @include ag-allow-color-param-access-with-ag-param(true); -} diff --git a/packages/ag-grid-theme/css/salt-ag-grid-theme.css b/packages/ag-grid-theme/css/salt-ag-grid-theme.css new file mode 100644 index 00000000000..335074ef965 --- /dev/null +++ b/packages/ag-grid-theme/css/salt-ag-grid-theme.css @@ -0,0 +1,411 @@ +div[class*="ag-theme-salt"] { + --ag-background-color: var(--salt-palette-neutral-primary-background); + --ag-borders-secondary: var(--salt-size-border) var(--salt-separable-borderStyle); + --ag-cell-horizontal-padding: var(--salt-spacing-100); + --ag-checkbox-checked-color: var(--salt-selectable-primary-foreground-selected); + --ag-checkbox-border-radius: 0; + --ag-checkbox-indeterminate-color: var(--salt-content-primary-foreground); + --ag-chip-background-color: var(--salt-taggable-background); + --ag-data-color: var(--salt-content-primary-foreground); + --ag-font-size: var(--salt-text-fontSize); + --ag-font-family: var(--salt-typography-fontFamily); + --ag-foreground-color: var(--salt-content-primary-foreground); + --ag-grid-size: var(--salt-spacing-50); + --ag-header-background-color: var(--salt-container-primary-background); + --ag-header-cell-hover-background-color: var(--salt-container-primary-background); + --ag-header-column-separator-color: var(--salt-palette-neutral-secondary-separator); + --ag-header-column-separator-display: block; + --ag-header-column-separator-height: var(--salt-text-fontSize); + --ag-header-column-separator-width: var(--salt-size-border); + --ag-header-foreground-color: var(--salt-content-primary-foreground); + --ag-header-height: calc(var(--salt-size-base) + var(--salt-spacing-100)); + --ag-icon-size: var(--salt-icon-size-base); + --ag-input-focus-border-color: var(--salt-editable-borderColor-hover); + --ag-input-focus-box-shadow: none; + --ag-list-item-height: var(--salt-size-base); + --ag-material-primary-color: var(--salt-editable-borderColor); + --ag-range-selection-border-style: var(--salt-focused-outlineStyle); + --ag-range-selection-border-width: var(--salt-focused-outlineWidth); + --ag-row-group-indent-size: calc(var(--ag-grid-size) * 3 + var(--salt-spacing-100)); + --ag-row-hover-color: var(--salt-selectable-background-hover); + --ag-secondary-border-color: var(--salt-palette-neutral-tertiary-separator); + --ag-secondary-foreground-color: var(--salt-content-primary-foreground); + --ag-selected-row-background-color: var(--salt-selectable-background-selected); + --ag-selected-tab-underline-color: var(--salt-navigable-indicator-active); + --ag-selected-tab-underline-width: 2px; + --ag-subheader-background-color: var(--salt-palette-neutral-primary-background); + --ag-tooltip-background-color: var(--salt-container-primary-background); + --ag-widget-container-horizontal-padding: var(--salt-spacing-100); +} + +div[class*="ag-theme-salt"] .ag-root-wrapper { + border: none; +} + +/* HEADER */ + +div[class*="ag-theme-salt"] .ag-advanced-filter-header, +div[class*="ag-theme-salt"] .ag-header { + border-bottom: var(--salt-size-border) var(--salt-separable-borderStyle) var(--salt-separable-primary-borderColor); +} + +div[class*="ag-theme-salt"] .ag-header-row { + font-size: var(--salt-text-label-fontSize); + font-weight: var(--salt-typography-fontWeight-semiBold); +} + +div[class*="ag-theme-salt"] .ag-pinned-left-header { + border-right-color: var(--salt-separable-secondary-borderColor); +} +div[class*="ag-theme-salt"] .ag-pinned-right-header { + border-left-color: var(--salt-separable-secondary-borderColor); +} + +div[class*="ag-theme-salt"] .ag-header-row:not(:first-child) .ag-header-cell:not(.ag-header-span-height.ag-header-span-total) { + border-top-color: var(--salt-palette-neutral-primary-border); +} + +div[class*="ag-theme-salt"] .ag-header-row:not(:first-child) .ag-header-cell:not(.ag-header-span-height.ag-header-span-total):focus, +div[class*="ag-theme-salt"] .ag-header-row:not(:first-child) .ag-header-group-cell.ag-header-group-cell-with-group:focus { + border: var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) var(--salt-focused-outlineColor); +} + +div[class*="ag-theme-salt"] .ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon { + margin-left: auto; +} + +div[class*="ag-theme-salt"] .ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-label-icon { + margin-right: auto; +} + +/* MENU */ + +div[class*="ag-theme-salt"] .ag-menu { + padding: var(--salt-spacing-100); + border: var(--salt-size-border) var(--salt-container-borderStyle) var(--salt-palette-neutral-primary-border); +} + +div[class*="ag-theme-salt"] .ag-menu-header { + border-bottom: var(--salt-size-border) var(--salt-separable-borderStyle) var(--salt-palette-neutral-primary-border); + background-color: var(--salt-container-primary-background); +} + +div[class*="ag-theme-salt"] .ag-menu-body { + padding: 0; +} + +div[class*="ag-theme-salt"] .ag-menu-separator { + height: var(--salt-size-border); +} + +div[class*="ag-theme-salt"] .ag-menu-list { + padding: 0; +} + +div[class*="ag-theme-salt"] .ag-menu-option { + height: calc(var(--salt-size-base) + var(--salt-spacing-100)); +} + +div[class*="ag-theme-salt"] .ag-menu-option-icon { + padding: 0 var(--salt-spacing-100); +} + +div[class*="ag-theme-salt"] .ag-tab { + height: var(--salt-size-stackable); + flex: 1 1 auto; +} + +div[class*="ag-theme-salt"] .ag-column-select-header { + height: calc(var(--salt-size-base) + var(--salt-spacing-100)); + border: 0; +} + +/* ROW */ + +div[class*="ag-theme-salt"] .ag-row { + font-size: var(--salt-text-fontSize); +} + +div[class*="ag-theme-salt"] .ag-row-selected { + background-color: var(--salt-selectable-background-selected); + border-color: var(--salt-selectable-borderColor-selected); +} + +div[class*="ag-theme-salt"] .ag-row-selected:before { + background-color: var(--salt-selectable-borderColor-selected); + background-image: none; + height: var(--salt-size-border); + top: -1px; +} + +/* CELL */ + +div[class*="ag-theme-salt"] .ag-cell.ag-cell-last-left-pinned:not(.ag-cell-range-right):not(.ag-cell-range-single-cell) { + border-right-color: var(--salt-separable-secondary-borderColor); +} +div[class*="ag-theme-salt"] .ag-cell.ag-cell-first-right-pinned:not(.ag-cell-range-left):not(.ag-cell-range-single-cell) { + border-left-color: var(--salt-separable-secondary-borderColor); +} + +div[class*="ag-theme-salt"] .ag-ltr .ag-cell { + border: none; + line-height: calc(var(--ag-line-height) - 1px); + padding-left: var(--salt-spacing-100); + padding-right: var(--salt-spacing-100); + display: flex; + align-items: center; +} + +div[class*="ag-theme-salt"] .ag-cell.editable-cell, +div[class*="ag-theme-salt"] .ag-cell.editable-numeric-cell { + border: var(--salt-size-border) var(--salt-container-borderStyle) var(--salt-editable-borderColor); + justify-content: flex-end; +} +div[class*="ag-theme-salt"] .ag-cell.numeric-cell { + justify-content: flex-end; +} +div[class*="ag-theme-salt"] .ag-has-focus .ag-cell.editable-cell:focus, +div[class*="ag-theme-salt"] .ag-has-focus .editable-numeric-cell:focus { + border: var(--salt-size-border) var(--salt-container-borderStyle) transparent; +} +div[class*="ag-theme-salt"] .ag-has-focus .ag-cell.ag-cell-focus:not(.ag-cell-range-selected), +div[class*="ag-theme-salt"] .ag-context-menu-open .ag-cell.ag-cell-focus:not(.ag-cell-range-selected), +div[class*="ag-theme-salt"] .ag-cell-range-single-cell, +div[class*="ag-theme-salt"] .ag-cell-range-single-cell.ag-cell-range-handle, +div[class*="ag-theme-salt"] .ag-cell-focus:not(.ag-cell-range-selected):focus-within { + outline: var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) var(--salt-focused-outlineColor); + outline-offset: -2px; + border: var(--salt-size-border) var(--salt-container-borderStyle) transparent !important; +} + +div[class*="ag-theme-salt"] .ag-cell-wrapper.ag-row-group { + align-items: center; +} + +div[class*="ag-theme-salt"] .ag-cell.editable-cell.ag-cell-focus:focus, +div[class*="ag-theme-salt"] .editable-numeric-cell.ag-cell-focus:focus, +div[class*="ag-theme-salt"] .editable-cell.ag-cell-focus:focus-within { + overflow: visible; +} + +div[class*="ag-theme-salt"] .ag-cell.editable-cell.ag-cell-focus:focus:before, +div[class*="ag-theme-salt"] .ag-cell.editable-numeric-cell.ag-cell-focus:focus:before, +div[class*="ag-theme-salt"] .ag-cell.editable-cell.ag-cell-focus:focus-within:before, +div[class*="ag-theme-salt"] .editable-cell.ag-cell-inline-editing:before { + border-bottom: calc(var(--salt-size-adornment) + 4px) solid transparent; + border-left: calc(var(--salt-size-adornment) + 4px) solid var(--salt-editable-borderColor-hover); + border-top: 0 solid transparent; + content: ""; + left: 0px; + position: absolute; + top: 0px; + z-index: 2; + transform: translate(-1px, -1px); +} + +div[class*="ag-theme-salt"] .editable-cell.ag-cell-inline-editing { + padding: 0; +} +div[class*="ag-theme-salt"] .editable-cell.ag-cell-inline-editing:focus-within { + background: var(--salt-container-primary-background); +} + +div[class*="ag-theme-salt"] .editable-numeric-cell input, +div[class*="ag-theme-salt"] input[class^="ag-"][type="number"] { + padding: 0 var(--salt-spacing-100); + height: calc(var(--salt-size-base) + var(--salt-spacing-100)); +} +div[class*="ag-theme-salt"] .editable-cell input, +div[class*="ag-theme-salt"] .editable-numeric-cell input { + border: none; + background-color: transparent; +} + +/* INPUT */ + +div[class*="ag-theme-salt"] .ag-filter input[class^="ag-"][type="text"], +div[class*="ag-theme-salt"] .ag-filter input[class^="ag-"][type="number"], +div[class*="ag-theme-salt"] .ag-column-select input[class^="ag-"][type="text"], +div[class*="ag-theme-salt"] .ag-column-select input[class^="ag-"][type="number"] { + border: none; + border-bottom: var(--salt-size-border) var(--salt-editable-borderStyle) var(--salt-editable-borderColor); + height: calc(var(--salt-size-base) + var(--salt-spacing-100)); + padding: 0 var(--salt-spacing-100); +} + +div[class*="ag-theme-salt"] .ag-filter input[class^="ag-"][type="text"]::placeholder, +div[class*="ag-theme-salt"] .ag-filter input[class^="ag-"][type="number"]::placeholder, +div[class*="ag-theme-salt"] .ag-column-select input[class^="ag-"][type="text"]::placeholder, +div[class*="ag-theme-salt"] .ag-column-select input[class^="ag-"][type="number"]::placeholder { + color: var(--salt-content-secondary-foreground); + opacity: 1; +} + +div[class*="ag-theme-salt"] .ag-filter input[class^="ag-"][type="text"]:focus, +div[class*="ag-theme-salt"] .ag-filter input[class^="ag-"][type="number"]:focus, +div[class*="ag-theme-salt"] .ag-column-select input[class^="ag-"][type="text"]:focus, +div[class*="ag-theme-salt"] .ag-column-select input[class^="ag-"][type="number"]:focus { + outline: var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) var(--salt-focused-outlineColor); + outline-offset: -2px; +} + +div[class*="ag-theme-salt"] .ag-floating-filter-input input[class^="ag-"][type="text"], +div[class*="ag-theme-salt"] .ag-floating-filter-input input[class^="ag-"][type="number"] { + border: none; +} + +/* CHECKBOX */ + +div[class*="ag-theme-salt"] .ag-checkbox-input-wrapper { + border: var(--salt-size-border) var(--salt-selectable-borderStyle) var(--salt-selectable-borderColor); + height: var(--salt-size-selectable); + width: var(--salt-size-selectable); +} + +div[class*="ag-theme-salt"] .ag-checkbox-input-wrapper.ag-checked { + background: var(--salt-selectable-borderColor-selected); + border-color: var(--salt-selectable-borderColor-selected); +} + +/* BUTTON */ + +div[class*="ag-theme-salt"] .ag-standard-button { + background: var(--salt-actionable-secondary-background); + border: 0; + color: var(--salt-actionable-secondary-foreground); + font-size: var(--salt-text-fontSize); + font-weight: 600; + height: var(--salt-size-base); + padding: 0 var(--salt-spacing-100); + text-transform: uppercase; +} + +div[class*="ag-theme-salt"] .ag-standard-button:hover { + background-color: var(--salt-actionable-secondary-background-hover); +} + +div[class*="ag-theme-salt"] .ag-ltr .ag-filter-apply-panel-button { + margin-left: 8px; +} + +div[class*="ag-theme-salt"] .ag-floating-filter { + border: var(--salt-size-border) var(--salt-editable-borderStyle) var(--salt-separable-tertiary-borderColor); +} + +div[class*="ag-theme-salt"] .ag-floating-filter:focus-within { + outline: var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) var(--salt-focused-outlineColor); + outline-offset: -2px; +} + +div[class*="ag-theme-salt"] .ag-floating-filter:after { + width: 0; +} + +div[class*="ag-theme-salt"] .ag-keyboard-focus .ag-header-cell:focus:after { + border: 0; +} + +div[class*="ag-theme-salt"] .ag-floating-filter-button-button .ag-icon-filter:before { + color: var(--salt-content-secondary-foreground); + content: "\e973"; +} + +div[class*="ag-theme-salt"] .ag-ltr .ag-floating-filter-button { + margin-left: var(--salt-spacing-100); +} + +div[class*="ag-theme-salt"] button[class^="ag-"]:focus, +div[class*="ag-theme-salt"] input[class^="ag-"][type="button"]:focus { + box-shadow: none; + border: var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) var(--salt-focused-outlineColor); +} + +div[class*="ag-theme-salt"] .ag-select .ag-picker-field-wrapper { + border: var(--salt-size-border) var(--salt-separable-borderStyle) var(--salt-palette-neutral-primary-border); + border-radius: 0; +} + +div[class*="ag-theme-salt"] .ag-select .ag-picker-field-icon { + margin-right: var(--salt-spacing-100); +} + +div[class*="ag-theme-salt"] .ag-menu .ag-filter-body-wrapper { + display: flex; + flex-direction: column; + gap: 0; + padding: 0; + margin-top: var(--salt-spacing-100); +} + +div[class*="ag-theme-salt"] .ag-menu .ag-menu-column-select-wrapper { + margin-top: var(--salt-spacing-100); +} + +div[class*="ag-theme-salt"] .ag-simple-filter-body-wrapper > * { + margin-bottom: var(--salt-spacing-100); +} + +div[class*="ag-theme-salt"] .ag-mini-filter { + margin: 0; + padding-left: var(--salt-spacing-50); + padding-right: var(--salt-spacing-50); +} + +div[class*="ag-theme-salt"] .ag-set-filter-item { + margin: 0; + padding-left: var(--salt-spacing-100); + padding-right: var(--salt-spacing-100); +} + +div[class*="ag-theme-salt"] .ag-status-bar { + border: none; + border-top: var(--salt-size-border) var(--salt-separable-borderStyle) var(--salt-palette-neutral-primary-border); + color: var(--salt-content-secondary-foreground); + font-size: var(--salt-text-fontSize); + font-weight: var(--salt-text-label-fontWeight); + line-height: var(--salt-text-label-lineHeight); + height: var(--salt-size-base); + padding: 0 var(--salt-spacing-100); +} +div[class*="ag-theme-salt"] .ag-status-name-value { + padding: var(--salt-spacing-100) 0; + margin: 0 var(--salt-spacing-100); +} +div[class*="ag-theme-salt"] .ag-status-name-value-value { + font-weight: var(--salt-text-fontWeight-strong); + color: var(--salt-content-primary-foreground); +} + +div[class*="ag-theme-salt"] .ag-paging-panel { + border-color: var(--salt-separable-secondary-borderColor); +} + +div[class*="ag-theme-salt"] .ag-floating-bottom { + border-color: var(--salt-palette-neutral-primary-border); +} + +div[class*="ag-theme-salt"] .ag-column-drop-horizontal { + border-bottom: var(--salt-size-border) var(--salt-separable-borderStyle) var(--salt-palette-neutral-primary-border); + height: calc(var(--salt-size-base) + var(--salt-spacing-100)); +} + +div[class*="ag-theme-salt"] .ag-column-drop-cell { + border-radius: 0; +} + +.ag-theme-salt-variant-secondary .ag-header { + background-color: var(--salt-container-secondary-background); +} + +.ag-theme-salt-variant-secondary .ag-row { + background-color: var(--salt-container-secondary-background); + border-color: var(--salt-palette-neutral-tertiary-separator); +} + +.ag-theme-salt-variant-zebra .ag-row-even:not(.ag-row-hover, .ag-row-selected) { + background-color: var(--salt-container-secondary-background); +} + +.ag-theme-salt-variant-zebra .ag-row { + border-color: var(--salt-palette-neutral-tertiary-separator); +} diff --git a/packages/ag-grid-theme/css/salt-ag-theme.scss b/packages/ag-grid-theme/css/salt-ag-theme.scss deleted file mode 100644 index f94a0b81f3f..00000000000 --- a/packages/ag-grid-theme/css/salt-ag-theme.scss +++ /dev/null @@ -1,630 +0,0 @@ -@import "./salt-ag-theme-mixin"; - -div[class*="ag-theme-salt-touch"] { - --ag-list-item-height: 60px; - --agGrid-padding-default: 16px; - --agGrid-cornerTag-size-default: 14px; - --agGrid-column-separator-height: 20px; -} - -div[class*="ag-theme-salt-low"] { - --ag-list-item-height: 48px; - --agGrid-padding-default: 12px; - --agGrid-cornerTag-size-default: 12px; - --agGrid-column-separator-height: 16px; -} - -div[class*="ag-theme-salt-medium"] { - --ag-list-item-height: 36px; - --agGrid-padding-default: 8px; - --agGrid-cornerTag-size-default: 10px; - --agGrid-column-separator-height: 12px; -} - -div[class*="ag-theme-salt-high"] { - --ag-list-item-height: 24px; - --agGrid-padding-default: 8px; - --agGrid-cornerTag-size-default: 8px; - --agGrid-column-separator-height: 8px; -} - -div[class*="ag-theme-salt-high-compact"] { - --ag-list-item-height: 20px; - --salt-size-base: 16px; - /** - We have to define this because in deprecated.css size-selectable is defined - as size-base - (1.5 * size-unit) - (0.5 * size-basis-unit)) - which doesn't work for HDC- it has to be defined like in size.css - for HD as 12px rather than based on a calculation with the new size-base for HDC - **/ - - --salt-size-selectable: 12px; - - --agGrid-column-separator-height: 8px; - --agGrid-padding-default: 8px; - --agGrid-cornerTag-size-default: 8px; -} - -div[class*="ag-theme-salt"] { - --agGrid-range-selection-borderColor: var( - --salt-selectable-borderColor-selected - ); - --agGrid-column-separator-top: calc( - 50% - 0.5 * var(--agGrid-column-separator-height) - ); - --agGrid-input-height: var( - --saltAgGrid-input-height, - calc(var(--salt-size-base) + var(--salt-spacing-100)) - ); - --agGrid-row-height-default: calc( - var(--salt-size-base) + var(--salt-spacing-100) - ); - --agGrid-fontSize-default: var(--salt-text-fontSize); - --agGrid-header-fontSize-default: var(--salt-text-label-fontSize); - --agGrid-header-fontSize: var( - --saltAgGrid-header-fontSize, - var(--salt-text-label-fontSize) - ); - --agGrid-paging-fontSize: var( - --saltAgGrid-paging-fontSize, - var(--salt-text-label-fontSize) - ); - - --agGrid-background: var( - --saltAgGrid-background, - var(--salt-container-primary-background) - ); - --agGrid-foreground: var( - --saltAgGrid-foreground, - var(--salt-content-primary-foreground) - ); - --agGrid-foreground-disabled: var( - --saltAgGrid-foreground-disabled, - var(--salt-content-primary-foreground-disabled) - ); - - --agGrid-menu-color: var( - --saltAgGrid-menu-color, - var(--salt-content-primary-foreground) - ); - - --agGrid-menu-borderColor: var( - --saltAgGrid-menu-borderColor, - var(--salt-selectable-borderColor-selected) - ); - - --agGrid-menu-shadow: var( - --saltAgGrid-menu-shadow, - var(--salt-overlayable-shadow-popout) - ); - - --agGrid-row-color-hover: var( - --saltAgGrid-row-color-hover, - var(--salt-selectable-background-hover) - ); - - --agGrid-row-background-hover: var( - --saltAgGrid-row-color-hover, - var(--salt-selectable-background-hover) - ); - - --agGrid-row-background-secondary: var( - --saltAgGrid-row-color-secondary, - var(--salt-container-secondary-background) - ); - - --agGrid-color-focus: var( - --saltAgGrid-color-focus, - var(--salt-focused-outlineColor) - ); - - --agGrid-header-foreground: var( - --saltAgGrid-header-foreground, - var(--salt-content-secondary-foreground) - ); - - --agGrid-header-fontWeight: var( - --saltAgGrid-header-fontWeight, - var(--salt-text-label-fontWeight-strong) - ); - - --agGrid-row-background-selected: var( - --saltAgGrid-row-background-selected, - var(--salt-selectable-background-selected) - ); - - --agGrid-row-borderColor-selected: var( - --saltAgGrid-row-borderColor-selected, - var(--salt-selectable-borderColor-selected) - ); - --agGrid-row-borderColor: var( - --saltAgGrid-row-borderColor, - var(--salt-separable-tertiary-borderColor) - ); - --agGrid-header-borderColor: var( - --saltAgGrid-header-borderColor, - var(--salt-separable-primary-borderColor) - ); - --agGrid-header-column-separator-color: var( - --saltAgGrid-header-column-separator-color, - var(--salt-separable-tertiary-borderColor) - ); - --agGrid-cell-borderColor-editable: var( - --saltAgGrid-cell-borderColor-editable, - var(--salt-editable-borderColor) - ); - --agGrid-zebraColor: var( - --saltAgGrid-zebraColor, - var(--salt-container-secondary-background) - ); - --agGrid-borderColor: var( - --saltAgGrid-borderColor, - var(--separable-tertiary-borderColor) - ); -} - -.ag-theme-salt-high-compact-light, -.ag-theme-salt-high-light, -.ag-theme-salt-medium-light, -.ag-theme-salt-low-light, -.ag-theme-salt-touch-light { - --agGrid-range-selection-background: rgba(0, 0, 0, 0.15); - --agGrid-highlight-text-color: rgb(255, 255, 255); - --agGrid-tab-borderColor-active: var( - --saltAgGrid-tab-borderColor-active, - var(--salt-navigable-indicator-active) - ); - - --agGrid-button-color: var( - --saltAgGrid-button-color, - var(--salt-content-primary-foreground) - ); - --agGrid-button-background-hover: var( - --saltAgGrid-button-background-hover, - var(--salt-container-primary-background) - ); - - --agGrid-toggle-background-checked: var( - --saltAgGrid-toggle-background-checked, - var(--salt-selectable-background-selected) - ); - --agGrid-header-icon-color: var( - --saltAgGrid-header-icon-color, - var(--salt-content-secondary-foreground) - ); - --agGrid-menu-header-icon-color: var( - --saltAgGrid-menu-header-icon-color, - var(--salt-content-secondary-foreground) - ); - --agGrid-icon-color: var( - --saltAgGrid-icon-color, - var(--salt-content-primary-foreground) - ); - --agGrid-menu-option-color-hover: var( - --saltAgGrid-menu-option-color-hover, - #f2f4f6 - ); - --agGrid-side-buttons-background: var( - --saltAgGrid-side-buttons-background, - #f2f4f6 - ); - --agGrid-toggle-button-background: var( - --saltAgGrid-toggle-button-background, - var(--salt-selectable-borderColor) - ); - --agGrid-filter-borderColor: var(--saltAgGrid-filter-borderColor, #eaedef); - --agGrid-filter-apply-button-color: var( - --saltAgGrid-filter-apply-button-color, - #242526 - ); - --agGrid-list-item-color-hover: var( - --saltAgGrid-list-item-color-hover, - var(--salt-selectable-background-hover) - ); - - --agGrid-column-drop-cell-horizontal-background: var( - --saltAgGrid-column-drop-cell-horizontal-background, - #eaedef - ); - --agGrid-pagination-button-color: var( - --saltAgGrid-pagination-button-color, - #4c505b - ); - --agGrid-pagination-button-color-disabled: var( - --saltAgGrid-pagination-button-color-disabled, - rgba(22, 22, 22, 0.4) - ); - - --agGrid-placeholder-color: var( - --saltAgGrid-placeholder-color, - var(--salt-content-secondary-foreground) - ); - --agGrid-ghost-icon-color: var( - --saltAgGrid-ghost-icon-color, - rgba(0, 0, 0, 0.87) - ); -} - -.ag-theme-salt-high-compact-dark, -.ag-theme-salt-high-dark, -.ag-theme-salt-medium-dark, -.ag-theme-salt-low-dark, -.ag-theme-salt-touch-dark { - --agGrid-range-selection-background: rgba(255, 255, 255, 0.15); - --agGrid-highlight-text-color: rgb(22, 22, 22); - --agGrid-tab-borderColor-active: var( - --saltAgGrid-tab-borderColor-active, - var(--salt-navigable-indicator-active) - ); - - --agGrid-button-color: var(--saltAgGrid-button-color, white); - --agGrid-button-background-hover: var( - --saltAgGrid-button-background-hover, - #d9dde3 - ); - - --agGrid-toggle-background-checked: var( - --saltAgGrid-toggle-background-checked, - var(--salt-selectable-borderColor-selected) - ); - --agGrid-header-icon-color: var(--saltAgGrid-header-icon-color, white); - --agGrid-menu-header-icon-color: var( - --saltAgGrid-menu-header-icon-color, - white - ); - --agGrid-icon-color: var(--saltAgGrid-icon-color, white); - --agGrid-menu-option-color-hover: var( - --saltAgGrid-menu-option-color-hover, - #2f3136 - ); - --agGrid-side-buttons-background: var( - --saltAgGrid-side-buttons-background, - #2f3136 - ); - --agGrid-toggle-button-background: var( - --saltAgGrid-toggle-button-background, - #84878e - ); - - --agGrid-filter-borderColor: var(--saltAgGrid-filter-borderColor, #44484f); - --agGrid-filter-apply-button-color: var( - --saltAgGrid-filter-apply-button-color, - #eaedef - ); - --agGrid-list-item-color-hover: var( - --saltAgGrid-list-item-color-hover, - var(--salt-color-blue-900) - ); - - --agGrid-column-drop-cell-horizontal-background: var( - --saltAgGrid-column-drop-cell-horizontal-background, - #3b3f46 - ); - --agGrid-pagination-button-color: var( - --saltAgGrid-pagination-button-color, - #c5c9d0 - ); - --agGrid-pagination-button-color-disabled: var( - --saltAgGrid-pagination-button-color-disabled, - rgba(255, 255, 255, 0.4) - ); - - --agGrid-placeholder-color: var(--saltAgGrid-placeholder-color, white); - --agGrid-ghost-icon-color: var( - --saltAgGrid-ghost-icon-color, - rgba(0, 0, 0, 0.87) - ); -} - -// Do not delete these two hardcoded values -$ag-theme-salt-params-dark: ( - foreground-color: white, - background-color: #242526, -); -// Do not delete these two hardcoded values -$ag-theme-salt-params-light: ( - foreground-color: #2a2c2f, - background-color: white, -); - -$ag-theme-salt-params-high: map-merge( - $salt-ag-theme-default-params, - ( - row-height: 24px, - header-height: 24px, - font-size: 11px, - cell-horizontal-padding: 4px, - list-item-height: 24px, - icon-size: 12px, - ) -); - -$ag-theme-salt-params-high-light: map-merge( - $ag-theme-salt-params-high, - $ag-theme-salt-params-light -); - -$ag-theme-salt-params-high-dark: map-merge( - $ag-theme-salt-params-high, - $ag-theme-salt-params-dark -); - -$ag-theme-salt-params-high-compact: map-merge( - $salt-ag-theme-default-params, - ( - row-height: 20px, - header-height: 20px, - font-size: 11px, - cell-horizontal-padding: 4px, - list-item-height: 20px, - icon-size: 12px, - ) -); - -$ag-theme-salt-params-high-compact-light: map-merge( - $ag-theme-salt-params-high-compact, - $ag-theme-salt-params-light -); - -$ag-theme-salt-params-high-compact-dark: map-merge( - $ag-theme-salt-params-high-compact, - $ag-theme-salt-params-dark -); - -$ag-theme-salt-params-medium: map-merge( - $salt-ag-theme-default-params, - ( - row-height: 36px, - header-height: 36px, - font-size: 12px, - cell-horizontal-padding: 8px, - list-item-height: 36px, - icon-size: 12px, - ) -); - -$ag-theme-salt-params-medium-light: map-merge( - $ag-theme-salt-params-medium, - $ag-theme-salt-params-light -); - -$ag-theme-salt-params-medium-dark: map-merge( - $ag-theme-salt-params-medium, - $ag-theme-salt-params-dark -); - -$ag-theme-salt-params-low: map-merge( - $salt-ag-theme-default-params, - ( - row-height: 48px, - header-height: 48px, - font-size: 14px, - cell-horizontal-padding: 12px, - list-item-height: 48px, - icon-size: 12px, - ) -); - -$ag-theme-salt-params-low-light: map-merge( - $ag-theme-salt-params-low, - $ag-theme-salt-params-light -); - -$ag-theme-salt-params-low-dark: map-merge( - $ag-theme-salt-params-low, - $ag-theme-salt-params-dark -); - -$ag-theme-salt-params-touch: map-merge( - $salt-ag-theme-default-params, - ( - row-height: 60px, - header-height: 60px, - font-size: 16px, - cell-horizontal-padding: 16px, - list-item-height: 60px, - icon-size: 12px, - ) -); - -$ag-theme-salt-params-touch-light: map-merge( - $ag-theme-salt-params-touch, - $ag-theme-salt-params-light -); - -$ag-theme-salt-params-touch-dark: map-merge( - $ag-theme-salt-params-touch, - $ag-theme-salt-params-dark -); - -.ag-theme-salt-high-compact-dark, -.ag-theme-salt-touch-dark, -.ag-theme-salt-low-dark, -.ag-theme-salt-medium-dark, -.ag-theme-salt-high-dark { - color-scheme: dark; -} - -.ag-theme-salt-high-compact-light, -.ag-theme-salt-touch-light, -.ag-theme-salt-low-light, -.ag-theme-salt-medium-light, -.ag-theme-salt-high-light { - color-scheme: light; -} - -.ag-theme-salt-high-compact-dark, -.ag-theme-salt-high-compact-light { - --ag-list-item-height: 20px; - --agGrid-button-padding: var(--saltAgGrid-button-padding, 4px); - --agGrid-editableCell-cornerTag-size-default: 10px; - --agGrid-input-fontSize: var(--saltAgGrid-input-fontSize, 10px); - --agGrid-input-padding: var(--saltAgGrid-input-padding, 4px); - --agGrid-switch-borderWidth: var(--saltAgGrid-switch-borderWidth, 2px); - --agGrid-switch-height: var(--saltAgGrid-switch-height, 16px); -} - -.ag-theme-salt-high-compact-dark { - @include ag-theme-salt($ag-theme-salt-params-high-compact-dark); -} - -.ag-theme-salt-high-compact-light { - @include ag-theme-salt($ag-theme-salt-params-high-compact-light); -} - -.ag-theme-salt-high-dark, -.ag-theme-salt-high-light { - --agGrid-button-padding: var(--saltAgGrid-button-padding, 4px); - --agGrid-editableCell-cornerTag-size-default: 10px; - --agGrid-input-fontSize: var(--saltAgGrid-input-fontSize, 10px); - --agGrid-input-padding: var(--saltAgGrid-input-padding, 4px); - --agGrid-switch-borderWidth: var(--saltAgGrid-switch-borderWidth, 2px); - --agGrid-switch-height: var(--saltAgGrid-switch-height, 16px); -} - -.ag-theme-salt-high-dark { - @include ag-theme-salt($ag-theme-salt-params-high-dark); -} - -.ag-theme-salt-high-light { - @include ag-theme-salt($ag-theme-salt-params-high-light); -} - -.ag-theme-salt-medium-dark, -.ag-theme-salt-medium-light { - --ag-list-item-height: 36px; - --agGrid-button-padding: var(--saltAgGrid-button-padding, 8px); - --agGrid-editableCell-cornerTag-size-default: 12px; - --agGrid-input-fontSize: var(--saltAgGrid-input-fontSize, 12px); - --agGrid-input-padding: var(--saltAgGrid-input-padding, 8px); - --agGrid-switch-borderWidth: var(--saltAgGrid-switch-borderWidth, 2px); - --agGrid-switch-height: var(--saltAgGrid-switch-height, 18px); -} - -.ag-theme-salt-medium-dark { - @include ag-theme-salt($ag-theme-salt-params-medium-dark); -} - -.ag-theme-salt-medium-light { - @include ag-theme-salt($ag-theme-salt-params-medium-light); -} - -.ag-theme-salt-low-dark, -.ag-theme-salt-low-light { - --ag-list-item-height: 48px; - --agGrid-button-padding: var(--saltAgGrid-button-padding, 12px); - --agGrid-editableCell-cornerTag-size-default: 14px; - --agGrid-input-fontSize: var(--saltAgGrid-input-fontSize, 14px); - --agGrid-input-padding: var(--saltAgGrid-input-padding, 12px); - --agGrid-switch-borderWidth: var(--saltAgGrid-switch-borderWidth, 2px); - --agGrid-switch-height: var(--saltAgGrid-switch-height, 20px); -} - -.ag-theme-salt-low-dark { - @include ag-theme-salt($ag-theme-salt-params-low-dark); -} - -.ag-theme-salt-low-light { - @include ag-theme-salt($ag-theme-salt-params-low-light); -} - -.ag-theme-salt-touch-dark, -.ag-theme-salt-touch-light { - --ag-list-item-height: 60px; - --agGrid-button-padding: var(--saltAgGrid-button-padding, 14px); - --agGrid-editableCell-cornerTag-size-default: 16px; - --agGrid-input-fontSize: var(--saltAgGrid-input-fontSize, 14px); - --agGrid-input-padding: var(--saltAgGrid-input-padding, 8px); - --agGrid-switch-borderWidth: var(--saltAgGrid-switch-borderWidth, 3px); - --agGrid-switch-height: var(--saltAgGrid-switch-height, 24px); -} - -.ag-theme-salt-touch-light { - @include ag-theme-salt($ag-theme-salt-params-touch-light); -} - -.ag-theme-salt-touch-dark { - @include ag-theme-salt($ag-theme-salt-params-touch-dark); -} - -.ag-theme-salt-high-compact-dark, -.ag-theme-salt-high-compact-light, -.ag-theme-salt-touch-dark, -.ag-theme-salt-touch-light, -.ag-theme-salt-low-dark, -.ag-theme-salt-low-light, -.ag-theme-salt-medium-dark, -.ag-theme-salt-medium-light, -.ag-theme-salt-high-dark, -.ag-theme-salt-high-light { - --agGrid-button-fontSize: var( - --saltAgGrid-button-fontSize, - var(--salt-text-fontSize) - ); - --agGrid-button-height: var( - --saltAgGrid-button-height, - var(--salt-size-base) - ); - --agGrid-checkbox-size: var( - --saltAgGrid-checkbox-size, - var(--salt-size-selectable) - ); - --agGrid-list-item-fontSize: var(--saltAgGrid-list-item-fontSize, 13px); - --agGrid-paging-button-width: var( - --saltAgGrid-paging-button-width, - var(--salt-size-base) - ); - - --agGrid-checkbox-background: var( - --saltAgGrid-checkbox-background, - var(--salt-selectable-background) - ); - --agGrid-checkbox-background-selected: var( - --saltAgGrid-checkbox-background-selected, - var(--salt-selectable-borderColor-selected) - ); - --agGrid-checkbox-foreground: var( - --saltAgGrid-checkbox-foreground, - var(--salt-selectable-foreground) - ); - --agGrid-checkbox-foreground-selected: var( - --saltAgGrid-checkbox-foreground-selected, - var(--salt-actionable-primary-foreground-active) - ); - --_agGrid-checkbox-border: 1px var(--salt-selectable-borderStyle) - var(--salt-selectable-borderColor); - --agGrid-checkbox-border: var( - --saltAgGrid-checkbox-border, - var(--_agGrid-checkbox-border) - ); - --agGrid-checkbox-borderColor-selected: var( - --saltAgGrid-checkbox-borderColor-selected, - var(--salt-selectable-borderColor-selected) - ); - --agGrid-list-item-height: var( - --saltAgGrid-list-item-height, - var(--salt-size-stackable) - ); - --agGrid-paging-button-background-hover: var( - --salt-actionable-secondary-background-hover - ); - --agGrid-editableCell-cornerTag-size: var( - --saltAgGrid-editableCell-cornerTag-size, - var(--agGrid-editableCell-cornerTag-size-default) - ); - --agGrid-focused-borderColor: var( - --saltGrid-focused-borderColor, - var(--salt-focused-outlineColor) - ); - --agGrid-focused-borderWidth: var( - --saltGrid-focused-borderWidth, - var(--salt-focused-outlineWidth) - ); - --agGrid-focused-borderStyle: var( - --saltGrid-focused-borderStyle, - var(--salt-focused-outlineStyle) - ); -} - -// Import is here so the custom icons are injected after the default ag-grid icons. -@import "./salt-ag-theme-icon-font"; diff --git a/packages/ag-grid-theme/css/salt-icons.css b/packages/ag-grid-theme/css/salt-icons.css new file mode 100644 index 00000000000..20687913b5d --- /dev/null +++ b/packages/ag-grid-theme/css/salt-icons.css @@ -0,0 +1,240 @@ +@font-face { + font-family: "salt-icons"; + src: url(../fonts/salt-icons.woff) format("woff"); +} + +/* sum-solid */ +[class*="ag-theme-salt"] .ag-icon-aggregation:before { + font-family: "salt-icons"; + content: "\ea25"; +} +/* move-all */ +[class*="ag-theme-salt"] .ag-icon-arrows:before { + font-family: "salt-icons"; + content: "\e9c3"; +} +/* arrow-up */ +[class*="ag-theme-salt"] .ag-icon-asc:before { + font-family: "salt-icons"; + content: "\e90b"; +} +/* close */ +[class*="ag-theme-salt"] .ag-icon-cancel:before { + font-family: "salt-icons"; + content: "\e934"; +} +/* bar-chart */ +[class*="ag-theme-salt"] .ag-icon-chart:before { + font-family: "salt-icons"; + content: "\e911"; +} +/* column-chooser */ +[class*="ag-theme-salt"] .ag-icon-columns:before { + font-family: "salt-icons"; + content: "\e941"; +} +/* chevron-down */ +[class*="ag-theme-salt"] .ag-icon-contracted:before { + font-family: "salt-icons"; + content: "\e92c"; +} +/* clone */ +[class*="ag-theme-salt"] .ag-icon-copy:before { + font-family: "salt-icons"; + content: "\e932"; +} +/* close */ +[class*="ag-theme-salt"] .ag-icon-cross:before { + font-family: "salt-icons"; + content: "\e934"; +} + +[class*="ag-theme-salt"] .ag-icon-cut:before { + font-family: "salt-icons"; + content: "\e950"; +} + +[class*="ag-theme-salt"] .ag-icon-csv:before { + font-family: "salt-icons"; + content: "\e94f"; +} +/* arrow-down */ +[class*="ag-theme-salt"] .ag-icon-desc:before { + font-family: "salt-icons"; + content: "\e908"; +} +/* xls */ +[class*="ag-theme-salt"] .ag-icon-excel:before { + font-family: "salt-icons"; + content: "\ea68"; +} +/* chevron-right */ +[class*="ag-theme-salt"] .ag-icon-expanded:before { + font-family: "salt-icons"; + content: "\e92e"; +} +/* hidden */ +[class*="ag-theme-salt"] .ag-icon-eye-slash:before { + font-family: "salt-icons"; + content: "\e98b"; +} +/* visible */ +[class*="ag-theme-salt"] .ag-icon-eye:before { + font-family: "salt-icons"; + content: "\ea59"; +} +/* filter */ +[class*="ag-theme-salt"] .ag-icon-filter:before { + font-family: "salt-icons"; + content: "\e972"; +} +/* filter-solid */ +[class*="ag-theme-salt"] .ag-icon-filter-solid:before { + font-family: "salt-icons"; + content: "\e972"; +} +/* filter */ +[class*="ag-theme-salt"] .ag-icon-filter-clear:before { + font-family: "salt-icons"; + content: "\e973"; +} +/* double-chevron-left */ +[class*="ag-theme-salt"] .ag-icon-first:before { + font-family: "salt-icons"; + content: "\e961"; +} +/* drag-row */ +[class*="ag-theme-salt"] .ag-icon-grip:before { + font-family: "salt-icons"; + content: "\e900"; +} + +[class*="ag-theme-salt"] .ag-icon-group:before { + font-family: "salt-icons"; + content: "\e984"; +} +/* double-chevron-right */ +[class*="ag-theme-salt"] .ag-icon-last:before { + font-family: "salt-icons"; + content: "\e962"; +} +/* chevron-left */ +[class*="ag-theme-salt"] .ag-icon-left:before { + font-family: "salt-icons"; + content: "\e92d"; +} + +[class*="ag-theme-salt"] .ag-icon-linked:before { + font-family: "salt-icons"; + content: "\e9a8"; +} +/* loader */ +[class*="ag-theme-salt"] .ag-icon-loading:before { + font-family: "salt-icons"; + content: "\e9aa"; +} +/* micro-menu */ +[class*="ag-theme-salt"] .ag-icon-menu:before { + font-family: "salt-icons"; + content: "\e9bd"; +} +/* chevron-right */ +[class*="ag-theme-salt"] .ag-icon-next:before { + font-family: "salt-icons"; + content: "\e92e"; +} +/* move-vertical */ +[class*="ag-theme-salt"] .ag-icon-none:before { + font-family: "salt-icons"; + content: "\e9c5"; +} +/* close */ +[class*="ag-theme-salt"] .ag-icon-not-allowed:before { + font-family: "salt-icons"; + content: "\e934"; +} +/* place-in */ +[class*="ag-theme-salt"] .ag-icon-paste:before { + font-family: "salt-icons"; + content: "\e9d9"; +} +/* pin-solid */ +[class*="ag-theme-salt"] .ag-icon-pin:before { + font-family: "salt-icons"; + content: "\e9d5"; +} + +[class*="ag-theme-salt"] .ag-icon-pivot:before { + font-family: "salt-icons"; + content: "\e9d8"; +} +/* chevron-left */ +[class*="ag-theme-salt"] .ag-icon-previous:before { + font-family: "salt-icons"; + content: "\e92d"; +} +/* chevron-right */ +[class*="ag-theme-salt"] .ag-icon-right:before { + font-family: "salt-icons"; + content: "\e92e"; +} + +[class*="ag-theme-salt"] .ag-icon-save:before { + font-family: "salt-icons"; + content: "\e9ff"; +} +/* triangle-down */ +[class*="ag-theme-salt"] .ag-icon-small-down:before { + font-family: "salt-icons"; + content: "\ea39"; +} +/* triangle-left */ +[class*="ag-theme-salt"] .ag-icon-small-left:before { + font-family: "salt-icons"; + content: "\ea3a"; +} +/* triangle-right */ +[class*="ag-theme-salt"] .ag-icon-small-right:before { + font-family: "salt-icons"; + content: "\ea3c"; +} +/* triangle-up */ +[class*="ag-theme-salt"] .ag-icon-small-up:before { + font-family: "salt-icons"; + content: "\ea3d"; +} +/* success-tick */ +[class*="ag-theme-salt"] .ag-icon-tick:before { + font-family: "salt-icons"; + content: "\ea23"; +} +/* chevron-right */ +[class*="ag-theme-salt"] .ag-icon-tree-closed:before { + font-family: "salt-icons"; + content: "\e92e"; +} +/* chevron-down */ +[class*="ag-theme-salt"] .ag-icon-tree-open:before { + font-family: "salt-icons"; + content: "\e92c"; +} + +[class*="ag-theme-salt"] .ag-icon-unlinked:before { + font-family: "salt-icons"; + content: "\ea43"; +} + +[class*="ag-theme-salt"] .ag-checkbox-input-wrapper:after { + content: ""; + font-family: "salt-icons"; +} +/* success-tick */ +[class*="ag-theme-salt"] .ag-checkbox-input-wrapper.ag-checked:after { + content: "\ea23"; + font-family: "salt-icons"; +} +/* remove */ +[class*="ag-theme-salt"] .ag-checkbox-input-wrapper.ag-indeterminate:after { + content: "\e9f4"; + font-family: "salt-icons"; +} diff --git a/packages/ag-grid-theme/css/uitk-ag-grid-theme.css b/packages/ag-grid-theme/css/uitk-ag-grid-theme.css new file mode 100644 index 00000000000..63493769176 --- /dev/null +++ b/packages/ag-grid-theme/css/uitk-ag-grid-theme.css @@ -0,0 +1,400 @@ +div[class*="ag-theme-uitk"] { + --ag-background-color: var(--salt-palette-neutral-primary-background); + --ag-control-panel-background-color: var(--salt-container-primary-background); + --ag-border-color: #e2e2e2; + --ag-borders-secondary: var(--salt-size-border) var(--salt-separable-borderStyle); + --ag-cell-horizontal-padding: var(--salt-spacing-50); + --ag-checkbox-border-radius: 0; + --ag-checkbox-indeterminate-color: var(--salt-color-blue-500); + --ag-chip-background-color: var(--salt-taggable-background); + --ag-data-color: var(--salt-content-primary-foreground); + --ag-font-size: var(--salt-text-fontSize); + --ag-font-family: var(--salt-typography-fontFamily); + --ag-foreground-color: var(--salt-content-primary-foreground); + --ag-grid-size: var(--salt-spacing-50); + --ag-header-background-color: var(--salt-container-primary-background); + --ag-header-cell-hover-background-color: var(--salt-container-primary-background); + --ag-header-column-separator-color: var(--salt-palette-neutral-secondary-separator); + --ag-header-column-separator-display: block; + --ag-header-column-separator-height: var(--salt-text-fontSize); + --ag-header-column-separator-width: var(--salt-size-border); + --ag-header-foreground-color: var(--salt-content-primary-foreground); + --ag-header-height: calc(var(--salt-size-base) + var(--salt-spacing-100)); + --ag-icon-size: var(--salt-icon-size-base); + --ag-input-focus-box-shadow: none; + --ag-list-item-height: var(--salt-size-base); + --ag-material-primary-color: var(--salt-editable-borderColor); + --ag-range-selection-border-style: var(--salt-focused-outlineStyle); + --ag-range-selection-border-width: var(--salt-focused-outlineWidth); + --ag-row-group-indent-size: calc(var(--ag-grid-size) * 3 + var(--salt-spacing-100)); + --ag-secondary-border-color: var(--salt-palette-neutral-tertiary-separator); + --ag-secondary-foreground-color: var(--salt-content-primary-foreground); + --ag-selected-row-background-color: var(--salt-selectable-background-selected); + --ag-selected-tab-underline-color: var(--salt-navigable-indicator-active); + --ag-selected-tab-underline-width: 2px; + --ag-subheader-background-color: var(--salt-palette-neutral-primary-background); + --ag-tab-min-width: 260px; + --ag-widget-container-horizontal-padding: var(--salt-spacing-100); +} + +div[class*="ag-theme-uitk"][class*="light"] { + --ag-checkbox-checked-color: var(--salt-color-white); +} + +div[class*="ag-theme-uitk"][class*="dark"] { + --ag-checkbox-checked-color: var(--salt-color-blue-600); + --ag-row-border-color: #e2e2e2; +} + +div[class*="ag-theme-uitk"][class*="light"] .ag-icon { + color: #61656e; +} +div[class*="ag-theme-uitk"][class*="dark"] .ag-icon { + color: var(--salt-color-white); +} + +div[class*="ag-theme-uitk"] .ag-root-wrapper { + border: none; +} + +/* HEADER */ + +div[class*="ag-theme-uitk"] .ag-header-row { + font-weight: var(--salt-typography-fontWeight-semiBold); +} + +div[class*="ag-theme-uitk"] .ag-header-cell .ag-header-cell-label .ag-header-cell-text { + margin-right: auto; + margin-left: 2px; +} + +div[class*="ag-theme-uitk"] .ag-header-row:not(:first-child) .ag-header-cell:not(.ag-header-span-height.ag-header-span-total) { + border-top-color: var(--salt-palette-neutral-primary-border); +} + +div[class*="ag-theme-uitk"] .ag-header-row:not(:first-child) .ag-header-cell:not(.ag-header-span-height.ag-header-span-total):focus, +div[class*="ag-theme-uitk"] .ag-header-row:not(:first-child) .ag-header-group-cell.ag-header-group-cell-with-group:focus { + border: var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) var(--salt-focused-outlineColor); +} + +/* MENU */ + +div[class*="ag-theme-uitk"] .ag-menu { + padding: 20px 20px 0 20px; + border: none; + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); +} +div[class*="ag-theme-uitk"][class*="light"] .ag-menu { + color: var(--salt-palette-interact-foreground); +} +div[class*="ag-theme-uitk"][class*="dark"] .ag-menu { + color: var(--salt-color-white); +} + +div[class*="ag-theme-uitk"] .ag-menu-header { + background-color: var(--salt-container-primary-background); +} + +div[class*="ag-theme-uitk"] .ag-menu-body { + padding: 4px 0; +} + +div[class*="ag-theme-uitk"] .ag-menu-separator { + height: calc(var(--salt-size-border) + var(--salt-spacing-100) * 2); +} + +div[class*="ag-theme-uitk"] .ag-menu-separator:after { + content: ""; + display: block; + border-top: 1px solid #e2e2e2; +} + +div[class*="ag-theme-uitk"] .ag-menu-list { + padding: 8px 0; +} + +div[class*="ag-theme-uitk"] .ag-menu-option { + font-size: 13px; + height: calc(var(--salt-size-base) + var(--salt-spacing-100)); +} + +div[class*="ag-theme-uitk"] .ag-menu-option-active { + background: var(--salt-palette-navigate-secondary-background-hover); +} + +div[class*="ag-theme-uitk"] .ag-menu-option-icon { + padding-left: var(--salt-spacing-100); +} + +div[class*="ag-theme-uitk"] .ag-menu-option-text { + line-height: 18px; + padding: 10px 16px; +} + +div[class*="ag-theme-uitk"] .ag-tab { + height: var(--salt-size-stackable); + flex: 1 1 auto; +} + +div[class*="ag-theme-uitk"] .ag-column-select-header { + height: 56px; + border-color: #e2e2e2; +} + +div[class*="ag-theme-uitk"] .ag-set-filter-list { + height: 192px; +} + +div[class*="ag-theme-uitk"][class*="light"] .ag-virtual-list-viewport { + border-top: 1px solid #eaedef; + border-bottom: 1px solid #eaedef; +} +div[class*="ag-theme-uitk"][class*="dark"] .ag-virtual-list-viewport { + border-top: 1px solid #44484f; + border-bottom: 1px solid #44484f; +} + +/* ROW */ + +div[class*="ag-theme-uitk"] .ag-row { + font-size: var(--salt-text-fontSize); + background: var(--ag-background-color); +} + +div[class*="ag-theme-uitk"][class*="light"] .ag-row-selected { + background-color: var(--salt-color-blue-20); + border: 0; +} +div[class*="ag-theme-uitk"][class*="dark"] .ag-row-selected { + background-color: var(--salt-color-blue-600); + border: 0; + border-color: var(--salt-color-blue-400); +} + +div[class*="ag-theme-uitk"] .ag-row-hover { + box-shadow: 0 2px 5px 0 rgba(36, 37, 38, 0.2), 0 -1px 0 0 #b4b7be; + z-index: 3; +} +div[class*="ag-theme-uitk"][class*="dark"] .ag-row-hover { + background-color: #2f3136; +} + +/* CELL */ + +div[class*="ag-theme-uitk"] .ag-ltr .ag-cell { + border: none; + line-height: calc(var(--ag-line-height) - 1px); + padding-left: var(--salt-spacing-50); + padding-right: var(--salt-spacing-50); + display: flex; + align-items: center; +} + +div[class*="ag-theme-uitk"] .ag-cell.editable-cell, +div[class*="ag-theme-uitk"] .ag-cell.editable-numeric-cell { + border: var(--salt-size-border) var(--salt-container-borderStyle) var(--salt-editable-borderColor); + justify-content: flex-end; +} + +div[class*="ag-theme-uitk"] .ag-has-focus .ag-cell.ag-cell-focus:not(.ag-cell-range-selected), +div[class*="ag-theme-uitk"] .ag-context-menu-open .ag-cell.ag-cell-focus:not(.ag-cell-range-selected), +div[class*="ag-theme-uitk"] .ag-cell-range-single-cell, +div[class*="ag-theme-uitk"] .ag-cell-range-single-cell.ag-cell-range-handle, +div[class*="ag-theme-uitk"] .ag-cell-focus:not(.ag-cell-range-selected):focus-within { + outline: var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) var(--salt-focused-outlineColor); + outline-offset: -2px; + border: none; +} + +div[class*="ag-theme-uitk"] .ag-cell-wrapper.ag-row-group { + align-items: center; +} + +div[class*="ag-theme-uitk"] .ag-cell.editable-cell.ag-cell-focus:focus, +div[class*="ag-theme-uitk"] .editable-numeric-cell.ag-cell-focus:focus { + clip-path: inset(0, 0); + overflow: visible; +} + +div[class*="ag-theme-uitk"] .editable-cell input, +div[class*="ag-theme-uitk"] .numeric-cell input, +div[class*="ag-theme-uitk"] .editable-numeric-cell input { + border: var(--salt-size-border) var(--salt-editable-borderStyle) transparent; + padding: 0; + height: calc(var(--salt-size-base) + var(--salt-spacing-100)); +} +div[class*="ag-theme-uitk"] .editable-cell input:focus, +div[class*="ag-theme-uitk"] .numeric-cell input:focus, +div[class*="ag-theme-uitk"] .editable-numeric-cell input:focus, +div[class*="ag-theme-uitk"] input[class^="ag-"][type="number"]:focus { + border: none; +} + +/* INPUT */ + +div[class*="ag-theme-uitk"] .ag-filter input[class^="ag-"][type="text"], +div[class*="ag-theme-uitk"] .ag-filter input[class^="ag-"][type="number"], +div[class*="ag-theme-uitk"] .ag-column-select input[class^="ag-"][type="text"], +div[class*="ag-theme-uitk"] .ag-column-select input[class^="ag-"][type="number"] { + border: none; + height: calc(var(--salt-size-base)); + padding: 0; +} + +div[class*="ag-theme-uitk"] .ag-filter input[class^="ag-"][type="text"]::placeholder, +div[class*="ag-theme-uitk"] .ag-filter input[class^="ag-"][type="number"]::placeholder, +div[class*="ag-theme-uitk"] .ag-column-select input[class^="ag-"][type="text"]::placeholder, +div[class*="ag-theme-uitk"] .ag-column-select input[class^="ag-"][type="number"]::placeholder { + color: var(--salt-content-secondary-foreground); + opacity: 1; +} + +div[class*="ag-theme-uitk"] .ag-filter input[class^="ag-"][type="text"]:focus, +div[class*="ag-theme-uitk"] .ag-filter input[class^="ag-"][type="number"]:focus, +div[class*="ag-theme-uitk"] .ag-column-select input[class^="ag-"][type="text"]:focus, +div[class*="ag-theme-uitk"] .ag-column-select input[class^="ag-"][type="number"]:focus { + outline: var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) var(--salt-focused-outlineColor); + outline-offset: -2px; +} + +div[class*="ag-theme-uitk"] .ag-floating-filter-input input[class^="ag-"][type="text"], +div[class*="ag-theme-uitk"] .ag-floating-filter-input input[class^="ag-"][type="number"] { + border: none; +} +div[class*="ag-theme-uitk"][class*="light"] .ag-floating-filter-input input[class^="ag-"][type="text"]:focus, +div[class*="ag-theme-uitk"][class*="light"] .ag-floating-filter-input input[class^="ag-"][type="number"]:focus { + border: 2px dotted #2d81bd; +} +div[class*="ag-theme-uitk"][class*="dark"] .ag-floating-filter-input input[class^="ag-"][type="text"]:focus, +div[class*="ag-theme-uitk"][class*="dark"] .ag-floating-filter-input input[class^="ag-"][type="number"]:focus { + border: 2px dotted #64b1e4; +} + +/* CHECKBOX */ + +div[class*="ag-theme-uitk"] .ag-checkbox-input-wrapper { + border: var(--salt-size-border) var(--salt-selectable-borderStyle) var(--salt-selectable-borderColor); + height: var(--salt-size-selectable); + width: var(--salt-size-selectable); +} + +div[class*="ag-theme-uitk"][class*="light"] .ag-checkbox-input-wrapper.ag-checked { + background: var(--salt-color-black); + border-color: var(--salt-color-black); +} +div[class*="ag-theme-uitk"][class*="dark"] .ag-checkbox-input-wrapper.ag-checked { + background: var(--salt-color-white); + border-color: var(--salt-color-white); +} + +/* BUTTON */ + +div[class*="ag-theme-uitk"] .ag-standard-button { + background: var(--salt-actionable-secondary-background); + border: 0; + color: var(--salt-actionable-secondary-foreground); + font-size: var(--salt-text-fontSize); + font-weight: 600; + height: var(--salt-size-base); + padding: 0 var(--salt-spacing-100); + text-transform: uppercase; +} + +div[class*="ag-theme-uitk"] .ag-standard-button:hover { + background-color: var(--salt-actionable-secondary-background-hover); +} + +div[class*="ag-theme-uitk"] .ag-ltr .ag-filter-apply-panel-button { + margin-left: 8px; +} + +div[class*="ag-theme-uitk"] .ag-floating-filter:after { + width: 0; +} + +div[class*="ag-theme-uitk"] .ag-keyboard-focus .ag-header-cell:focus:after { + border: 0; +} + +div[class*="ag-theme-uitk"] .ag-ltr .ag-floating-filter-button { + margin-left: var(--salt-spacing-100); +} + +div[class*="ag-theme-uitk"] button[class^="ag-"]:focus, +div[class*="ag-theme-uitk"] input[class^="ag-"][type="button"]:focus { + box-shadow: none; + border: var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) var(--salt-focused-outlineColor); +} + +div[class*="ag-theme-uitk"] .ag-select .ag-picker-field-wrapper { + border: var(--salt-size-border) var(--salt-separable-borderStyle) var(--salt-palette-neutral-primary-border); + border-radius: 0; +} + +div[class*="ag-theme-uitk"] .ag-select .ag-picker-field-icon { + margin-right: var(--salt-spacing-100); +} + +div[class*="ag-theme-uitk"] .ag-menu .ag-filter-body-wrapper { + display: flex; + flex-direction: column; + gap: 0; + padding: 0; +} + +div[class*="ag-theme-uitk"] .ag-simple-filter-body-wrapper > * { + margin-bottom: var(--salt-spacing-100); +} + +div[class*="ag-theme-uitk"] .ag-mini-filter { + margin: var(--salt-spacing-200) var(--salt-spacing-150); +} + +div[class*="ag-theme-uitk"] .ag-set-filter-item { + margin: 0; + padding-left: var(--salt-spacing-100); + padding-right: var(--salt-spacing-100); +} + +div[class*="ag-theme-uitk"] .ag-status-bar { + border: none; + border-top: var(--salt-size-border) var(--salt-separable-borderStyle) var(--salt-palette-neutral-primary-border); + color: var(--salt-content-secondary-foreground); + font-size: var(--salt-text-fontSize); + font-weight: var(--salt-text-label-fontWeight); + line-height: var(--salt-text-label-lineHeight); + height: var(--salt-size-base); + padding: 0 var(--salt-spacing-100); +} +div[class*="ag-theme-uitk"] .ag-status-name-value { + padding: var(--salt-spacing-100) 0; + margin: 0 var(--salt-spacing-100); +} +div[class*="ag-theme-uitk"] .ag-status-name-value-value { + font-weight: var(--salt-text-fontWeight-strong); + color: var(--salt-content-primary-foreground); +} + +div[class*="ag-theme-uitk"] .ag-paging-panel { + border-color: var(--salt-separable-secondary-borderColor); +} + +div[class*="ag-theme-uitk"] .ag-floating-bottom { + border-color: var(--salt-palette-neutral-primary-border); +} + +div[class*="ag-theme-uitk"] .ag-column-drop-horizontal { + border-bottom: var(--salt-size-border) var(--salt-separable-borderStyle) var(--salt-palette-neutral-primary-border); + height: calc(var(--salt-size-base) + var(--salt-spacing-100)); +} + +div[class*="ag-theme-uitk"] .ag-column-drop-cell { + border-radius: 0; +} + +/* HD Compact */ + +div[class*="ag-theme-uitk-compact-light"] .ag-row, +div[class*="ag-theme-uitk-compact-dark"] .ag-row { + font-size: 10px; +} diff --git a/packages/ag-grid-theme/css/uitk-ag-theme.scss b/packages/ag-grid-theme/css/uitk-ag-theme.scss deleted file mode 100644 index c0c225d51d6..00000000000 --- a/packages/ag-grid-theme/css/uitk-ag-theme.scss +++ /dev/null @@ -1,444 +0,0 @@ -@import "./uitk-ag-theme-mixin"; - -div[class*="ag-theme-uitk-high"] { - --uitk-size-unit: 4px; -} -div[class*="ag-theme-uitk-medium"] { - --uitk-size-unit: 8px; -} -div[class*="ag-theme-uitk-low"] { - --uitk-size-unit: 12px; -} -div[class*="ag-theme-uitk-touch"] { - --uitk-size-unit: 16px; -} -div[class^="ag-theme-uitk"] { - --uitk-container-spacing: calc(var(--uitk-size-unit) * 2); -} - -.ag-theme-uitk-high-light, -.ag-theme-uitk-medium-light, -.ag-theme-uitk-low-light, -.ag-theme-uitk-touch-light { - --agGrid-menu-padding: var(--uitk-container-spacing); - - --agGrid-foreground: var(--saltAgGrid-foreground, #2a2c2f); - --agGrid-foreground-disabled: var(--saltAgGrid-foreground-disabled, #161616); - --agGrid-header-foreground: var(--saltAgGrid-header-foreground, #61656e); - --agGrid-background: var(--saltAgGrid-background, white); - --agGrid-row-background-selected: var( - --saltAgGrid-row-background-selected, - #b7def6 - ); - --agGrid-row-color-hover: var(--saltAgGrid-row-color-hover, white); - --agGrid-row-borderColor: var(--saltAgGrid-row-borderColor, #e2e2e2); - --agGrid-header-column-separator-color: var( - --saltAgGrid-header-column-separator-color, - #c5c9d0 - ); - --agGrid-cell-borderColor-editable: var( - --saltAgGrid-cell-borderColor-editable, - #84878e - ); - - --agGrid-row-shadow-hover: var( - --saltAgGrid-row-shadow-hover, - 0 2px 5px 0 #24252633, - 0 -1px 0 0 #b4b7be - ); - --agGrid-row-borderColor-selected: var( - --saltAgGrid-row-borderColor-selected, - transparent - ); - --agGrid-color-focus: var(--saltAgGrid-color-focus, #2d81bd); - - --agGrid-borderColor: var(--saltAgGrid-borderColor, #e2e2e2); - --agGrid-tab-borderColor-active: var( - --saltAgGrid-tab-borderColor-active, - #e06519 - ); - --agGrid-checkbox-color: var(--saltAgGrid-checkbox-color, black); - - --agGrid-button-color: var(--saltAgGrid-button-color, #161616); - --agGrid-button-background-hover: var( - --saltAgGrid-button-background-hover, - #d9dde3 - ); - - --agGrid-toggle-background-checked: var( - --saltAgGrid-toggle-background-checked, - #2670a9 - ); - --agGrid-header-icon-color: var(--saltAgGrid-header-icon-color, #61656e); - --agGrid-menu-header-icon-color: var( - --saltAgGrid-menu-header-icon-color, - #61656e - ); - --agGrid-icon-color: var(--saltAgGrid-icon-color, #61656e); - --agGrid-menu-option-color-hover: var( - --saltAgGrid-menu-option-color-hover, - #f2f4f6 - ); - --agGrid-side-buttons-background: var( - --saltAgGrid-side-buttons-background, - #f2f4f6 - ); - --agGrid-toggle-button-background: var( - --saltAgGrid-toggle-button-background, - #84878e - ); - --agGrid-menu-color: var(--saltAgGrid-menu-color, #61656e); - --agGrid-filter-borderColor: var(--saltAgGrid-filter-borderColor, #eaedef); - --agGrid-filter-apply-button-color: var( - --saltAgGrid-filter-apply-button-color, - #242526 - ); - --agGrid-list-item-color-hover: var( - --saltAgGrid-list-item-color-hover, - #b7def6 - ); - - --agGrid-column-drop-cell-horizontal-background: var( - --saltAgGrid-column-drop-cell-horizontal-background, - #eaedef - ); - --agGrid-pagination-button-color: var( - --saltAgGrid-pagination-button-color, - #4c505b - ); - --agGrid-pagination-button-color-disabled: var( - --saltAgGrid-pagination-button-color-disabled, - rgba(22, 22, 22, 0.4) - ); - - --agGrid-placeholder-color: var(--saltAgGrid-placeholder-color, #61656e); - --agGrid-ghost-icon-color: var( - --saltAgGrid-ghost-icon-color, - rgba(0, 0, 0, 0.87) - ); -} - -.ag-theme-uitk-high-dark, -.ag-theme-uitk-medium-dark, -.ag-theme-uitk-low-dark, -.ag-theme-uitk-touch-dark { - --agGrid-menu-padding: var(--uitk-container-spacing); - - --agGrid-foreground: var(--saltAgGrid-foreground, white); - --agGrid-foreground-disabled: var(--saltAgGrid-foreground-disabled, white); - --agGrid-header-foreground: var(--saltAgGrid-header-foreground, white); - --agGrid-background: var(--saltAgGrid-background, #242526); - --agGrid-row-background-selected: var( - --saltAgGrid-row-background-selected, - #155c93 - ); - --agGrid-row-color-hover: var(--saltAgGrid-row-color-hover, #2f3136); - --agGrid-row-borderColor: var(--saltAgGrid-row-borderColor, #e2e2e2); - --agGrid-header-column-separator-color: var( - --saltAgGrid-header-column-separator-color, - white - ); - --agGrid-cell-borderColor-editable: var( - --saltAgGrid-cell-borderColor-editable, - #74777f - ); - - --agGrid-row-shadow-hover: var( - --saltAgGrid-row-shadow-hover, - 0 2px 5px 0 #24252633, - 0 -1px 0 0 #b4b7be - ); - --agGrid-row-borderColor-selected: var( - --saltAgGrid-row-borderColor-selected, - #2d81bd - ); - --agGrid-color-focus: var(--saltAgGrid-color-focus, #2d81bd); - - --agGrid-borderColor: var(--saltAgGrid-borderColor, #e2e2e2); - --agGrid-tab-borderColor-active: var( - --saltAgGrid-tab-borderColor-active, - #e06519 - ); - --agGrid-checkbox-color: var(--saltAgGrid-checkbox-color, white); - - --agGrid-button-color: var(--saltAgGrid-button-color, white); - --agGrid-button-background-hover: var( - --saltAgGrid-button-background-hover, - #d9dde3 - ); - - --agGrid-toggle-background-checked: var( - --saltAgGrid-toggle-background-checked, - #2670a9 - ); - --agGrid-header-icon-color: var(--saltAgGrid-header-icon-color, white); - --agGrid-menu-header-icon-color: var( - --saltAgGrid-menu-header-icon-color, - white - ); - --agGrid-icon-color: var(--saltAgGrid-icon-color, white); - --agGrid-menu-option-color-hover: var( - --saltAgGrid-menu-option-color-hover, - #2f3136 - ); - --agGrid-side-buttons-background: var( - --saltAgGrid-side-buttons-background, - #2f3136 - ); - --agGrid-toggle-button-background: var( - --saltAgGrid-toggle-button-background, - #84878e - ); - - --agGrid-menu-color: var(--saltAgGrid-menu-color, white); - --agGrid-filter-borderColor: var(--saltAgGrid-filter-borderColor, #44484f); - --agGrid-filter-apply-button-color: var( - --saltAgGrid-filter-apply-button-color, - #eaedef - ); - --agGrid-list-item-color-hover: var( - --saltAgGrid-list-item-color-hover, - #233645 - ); - - --agGrid-column-drop-cell-horizontal-background: var( - --saltAgGrid-column-drop-cell-horizontal-background, - #3b3f46 - ); - --agGrid-pagination-button-color: var( - --saltAgGrid-pagination-button-color, - #c5c9d0 - ); - --agGrid-pagination-button-color-disabled: var( - --saltAgGrid-pagination-button-color-disabled, - rgba(255, 255, 255, 0.4) - ); - - --agGrid-placeholder-color: var(--saltAgGrid-placeholder-color, white); - --agGrid-ghost-icon-color: var( - --saltAgGrid-ghost-icon-color, - rgba(0, 0, 0, 0.87) - ); -} - -$ag-theme-uitk-params-dark: ( - foreground-color: white, - background-color: #242526, -); - -$ag-theme-uitk-params-light: ( - foreground-color: #2a2c2f, - background-color: white, -); - -$ag-theme-uitk-params-high: map-merge( - $uitk-ag-theme-default-params, - ( - row-height: 20px, - header-height: 20px, - font-size: 10px, - header-column-separator-height: 10px, - cell-horizontal-padding: 5px, - list-item-height: 24px, - icon-size: 12px, - ) -); - -$ag-theme-uitk-params-high-light: map-merge( - $ag-theme-uitk-params-high, - $ag-theme-uitk-params-light -); - -$ag-theme-uitk-params-high-dark: map-merge( - $ag-theme-uitk-params-high, - $ag-theme-uitk-params-dark -); - -$ag-theme-uitk-params-medium: map-merge( - $uitk-ag-theme-default-params, - ( - row-height: 24px, - header-height: 24px, - font-size: 12px, - header-column-separator-height: 10px, - cell-horizontal-padding: 6px, - list-item-height: 36px, - icon-size: 12px, - ) -); - -$ag-theme-uitk-params-medium-light: map-merge( - $ag-theme-uitk-params-medium, - $ag-theme-uitk-params-light -); - -$ag-theme-uitk-params-medium-dark: map-merge( - $ag-theme-uitk-params-medium, - $ag-theme-uitk-params-dark -); - -$ag-theme-uitk-params-low: map-merge( - $uitk-ag-theme-default-params, - ( - row-height: 32px, - header-height: 32px, - font-size: 14px, - header-column-separator-height: 10px, - cell-horizontal-padding: 6px, - list-item-height: 48px, - icon-size: 12px, - ) -); - -$ag-theme-uitk-params-low-light: map-merge( - $ag-theme-uitk-params-low, - $ag-theme-uitk-params-light -); - -$ag-theme-uitk-params-low-dark: map-merge( - $ag-theme-uitk-params-low, - $ag-theme-uitk-params-dark -); - -$ag-theme-uitk-params-touch: map-merge( - $uitk-ag-theme-default-params, - ( - row-height: 32px, - header-height: 32px, - font-size: 14px, - header-column-separator-height: 10px, - cell-horizontal-padding: 6px, - list-item-height: 60px, - icon-size: 12px, - ) -); - -$ag-theme-uitk-params-touch-light: map-merge( - $ag-theme-uitk-params-touch, - $ag-theme-uitk-params-light -); - -$ag-theme-uitk-params-touch-dark: map-merge( - $ag-theme-uitk-params-touch, - $ag-theme-uitk-params-dark -); - -.ag-theme-uitk-high-dark, -.ag-theme-uitk-high-light { - --agGrid-checkbox-size: var(--saltAgGrid-checkbox-size, 14px); - --agGrid-input-padding: var(--saltAgGrid-input-padding, 4px); - --agGrid-input-height: var(--saltAgGrid-input-height, 20px); - --agGrid-input-fontSize: var(--saltAgGrid-input-fontSize, 10px); - - --agGrid-button-fontSize: var(--saltAgGrid-button-fontSize, 11px); - --agGrid-button-height: var(--saltAgGrid-button-height, 20px); - --agGrid-button-padding: var(--saltAgGrid-button-padding, 4px); - - --agGrid-list-item-height: var(--saltAgGrid-list-item-height, 32px); - --agGrid-list-item-fontSize: var(--saltAgGrid-list-item-fontSize, 13px); - - --agGrid-switch-height: var(--saltAgGrid-switch-height, 18px); - --agGrid-switch-borderWidth: var(--saltAgGrid-switch-borderWidth, 1px); - - --agGrid-header-fontSize: var(--saltAgGrid-header-fontSize, 12px); - - --agGrid-paging-button-width: var(--saltAgGrid-paging-button-width, 20px); -} - -.ag-theme-uitk-high-dark { - @include ag-theme-uitk($ag-theme-uitk-params-high-dark); -} - -.ag-theme-uitk-high-light { - @include ag-theme-uitk($ag-theme-uitk-params-high-light); -} - -.ag-theme-uitk-medium-dark, -.ag-theme-uitk-medium-light { - --agGrid-checkbox-size: var(--saltAgGrid-checkbox-size, 14px); - --agGrid-input-padding: var(--saltAgGrid-input-padding, 8px); - --agGrid-input-height: var(--saltAgGrid-input-height, 28px); - --agGrid-input-fontSize: var(--saltAgGrid-input-fontSize, 12px); - - --agGrid-button-fontSize: var(--saltAgGrid-button-fontSize, 12px); - --agGrid-button-height: var(--saltAgGrid-button-height, 28px); - --agGrid-button-padding: var(--saltAgGrid-button-padding, 8px); - - --agGrid-list-item-height: var(--saltAgGrid-list-item-height, 32px); - --agGrid-list-item-fontSize: var(--saltAgGrid-list-item-fontSize, 13px); - - --agGrid-switch-height: var(--saltAgGrid-switch-height, 18px); - --agGrid-switch-borderWidth: var(--saltAgGrid-switch-borderWidth, 1px); - - --agGrid-header-fontSize: var(--saltAgGrid-header-fontSize, 12px); - --agGrid-paging-button-width: var(--saltAgGrid-paging-button-width, 28px); -} - -.ag-theme-uitk-medium-dark { - @include ag-theme-uitk($ag-theme-uitk-params-medium-dark); -} - -.ag-theme-uitk-medium-light { - @include ag-theme-uitk($ag-theme-uitk-params-medium-light); -} - -.ag-theme-uitk-low-dark, -.ag-theme-uitk-low-light { - --agGrid-checkbox-size: var(--saltAgGrid-checkbox-size, 14px); - --agGrid-input-padding: var(--saltAgGrid-input-padding, 12px); - --agGrid-input-height: var(--saltAgGrid-input-height, 36px); - --agGrid-input-fontSize: var(--saltAgGrid-input-fontSize, 14px); - - --agGrid-button-fontSize: var(--saltAgGrid-button-fontSize, 14px); - --agGrid-button-height: var(--saltAgGrid-button-height, 36px); - --agGrid-button-padding: var(--saltAgGrid-button-padding, 12px); - - --agGrid-list-item-height: var(--saltAgGrid-list-item-height, 32px); - --agGrid-list-item-fontSize: var(--saltAgGrid-list-item-fontSize, 13px); - - --agGrid-switch-height: var(--saltAgGrid-switch-height, 18px); - --agGrid-switch-borderWidth: var(--saltAgGrid-switch-borderWidth, 1px); - - --agGrid-header-fontSize: var(--saltAgGrid-header-fontSize, 12px); - --agGrid-paging-button-width: var(--saltAgGrid-paging-button-width, 36px); -} - -.ag-theme-uitk-low-dark { - @include ag-theme-uitk($ag-theme-uitk-params-low-dark); -} - -.ag-theme-uitk-low-light { - @include ag-theme-uitk($ag-theme-uitk-params-low-light); -} - -.ag-theme-uitk-touch-dark, -.ag-theme-uitk-touch-light { - --agGrid-checkbox-size: var(--saltAgGrid-checkbox-size, 14px); - --agGrid-input-padding: var(--saltAgGrid-input-padding, 8px); - --agGrid-input-height: var(--saltAgGrid-input-height, 28px); - --agGrid-input-fontSize: var(--saltAgGrid-input-fontSize, 14px); - - --agGrid-button-fontSize: var(--saltAgGrid-button-fontSize, 16px); - --agGrid-button-height: var(--saltAgGrid-button-height, 44px); - --agGrid-button-padding: var(--saltAgGrid-button-padding, 14px); - - --agGrid-list-item-height: var(--saltAgGrid-list-item-height, 32px); - --agGrid-list-item-fontSize: var(--saltAgGrid-list-item-fontSize, 13px); - - --agGrid-switch-height: var(--saltAgGrid-switch-height, 18px); - --agGrid-switch-borderWidth: var(--saltAgGrid-switch-borderWidth, 1px); - - --agGrid-header-fontSize: var(--saltAgGrid-header-fontSize, 12px); - --agGrid-paging-button-width: var(--saltAgGrid-paging-button-width, 44px); -} - -.ag-theme-uitk-touch-light { - @include ag-theme-uitk($ag-theme-uitk-params-touch-light); -} - -.ag-theme-uitk-touch-dark { - @include ag-theme-uitk($ag-theme-uitk-params-touch-dark); -} - -// Import is here so the custom icons are injected after the default ag-grid icons. -@import "./uitk-ag-theme-icon-font"; diff --git a/packages/ag-grid-theme/css/uitk-icons.css b/packages/ag-grid-theme/css/uitk-icons.css new file mode 100644 index 00000000000..a09dd4d2fb2 --- /dev/null +++ b/packages/ag-grid-theme/css/uitk-icons.css @@ -0,0 +1,229 @@ +@font-face { + font-family: "uitk-icons"; + src: url(../fonts/jpmuitk-icons.woff) format("woff"); +} + +[class*="ag-theme-uitk"] .ag-icon-aggregation:before { + font-family: "uitk-icons"; + content: "\e974"; +} + +[class*="ag-theme-uitk"] .ag-icon-arrows:before { + font-family: "uitk-icons"; + content: "\e970"; +} + +[class*="ag-theme-uitk"] .ag-icon-asc:before { + font-family: "uitk-icons"; + content: "\e940"; +} + +[class*="ag-theme-uitk"] .ag-icon-cancel:before { + font-family: "uitk-icons"; + content: "\e90e"; +} + +[class*="ag-theme-uitk"] .ag-icon-chart:before { + font-family: "uitk-icons"; + content: "\e904"; +} + +[class*="ag-theme-uitk"] .ag-icon-columns:before { + font-family: "uitk-icons"; + content: "\e910"; +} + +[class*="ag-theme-uitk"] .ag-icon-contracted:before { + font-family: "uitk-icons"; + content: "\e91b"; +} + +[class*="ag-theme-uitk"] .ag-icon-copy:before { + font-family: "uitk-icons"; + content: "\e90d"; +} + +[class*="ag-theme-uitk"] .ag-icon-cross:before { + font-family: "uitk-icons"; + content: "\e90e"; +} + +[class*="ag-theme-uitk"] .ag-icon-cut:before { + font-family: "uitk-icons"; + content: "\e96d"; +} + +[class*="ag-theme-uitk"] .ag-icon-csv:before { + font-family: "uitk-icons"; + content: "\e915"; +} + +[class*="ag-theme-uitk"] .ag-icon-desc:before { + font-family: "uitk-icons"; + content: "\e93f"; +} + +[class*="ag-theme-uitk"] .ag-icon-excel:before { + font-family: "uitk-icons"; + content: "\e91a"; +} + +[class*="ag-theme-uitk"] .ag-icon-expanded:before { + font-family: "uitk-icons"; + content: "\e950"; +} + +[class*="ag-theme-uitk"] .ag-icon-eye-slash:before { + font-family: "uitk-icons"; + content: "\e966"; +} + +[class*="ag-theme-uitk"] .ag-icon-eye:before { + font-family: "uitk-icons"; + content: "\e965"; +} + +[class*="ag-theme-uitk"] .ag-icon-filter:before { + font-family: "uitk-icons"; + content: "\e922"; +} + +/* [class*="ag-theme-uitk"] .ag-icon-filter-clear:before { + font-family: "uitk-icons"; + content: "\e9ac"; +} */ + +[class*="ag-theme-uitk"] .ag-icon-first:before { + font-family: "uitk-icons"; + content: "\e934"; +} + +/* [class*="ag-theme-uitk"] .ag-icon-group:before { + font-family: "uitk-icons"; + content: "\ea68"; +} */ + +[class*="ag-theme-uitk"] .ag-icon-last:before { + font-family: "uitk-icons"; + content: "\e951"; +} + +[class*="ag-theme-uitk"] .ag-icon-left:before { + font-family: "uitk-icons"; + content: "\e933"; +} + +[class*="ag-theme-uitk"] .ag-icon-linked:before { + font-family: "uitk-icons"; + content: "\e935"; +} + +[class*="ag-theme-uitk"] .ag-icon-loading:before { + font-family: "uitk-icons"; + content: "\e96f"; +} + +[class*="ag-theme-uitk"] .ag-icon-menu:before { + font-family: "uitk-icons"; + content: "\e969"; +} + +[class*="ag-theme-uitk"] .ag-icon-next:before { + font-family: "uitk-icons"; + content: "\e950"; +} + +[class*="ag-theme-uitk"] .ag-icon-none:before { + font-family: "uitk-icons"; + content: "\e971"; +} + +[class*="ag-theme-uitk"] .ag-icon-not-allowed:before { + font-family: "uitk-icons"; + content: "\e90e"; +} + +[class*="ag-theme-uitk"] .ag-icon-paste:before { + font-family: "uitk-icons"; + content: "\e946"; +} + +[class*="ag-theme-uitk"] .ag-icon-pin:before { + font-family: "uitk-icons"; + content: "\e944"; +} + +[class*="ag-theme-uitk"] .ag-icon-pivot:before { + font-family: "uitk-icons"; + content: "\e979"; +} + +[class*="ag-theme-uitk"] .ag-icon-previous:before { + font-family: "uitk-icons"; + content: "\e933"; +} + +[class*="ag-theme-uitk"] .ag-icon-right:before { + font-family: "uitk-icons"; + content: "\e950"; +} + +[class*="ag-theme-uitk"] .ag-icon-save:before { + font-family: "uitk-icons"; + content: "\e953"; +} + +[class*="ag-theme-uitk"] .ag-icon-small-down:before { + font-family: "uitk-icons"; + content: "\e91b"; +} + +[class*="ag-theme-uitk"] .ag-icon-small-left:before { + font-family: "uitk-icons"; + content: "\e981"; +} + +[class*="ag-theme-uitk"] .ag-icon-small-right:before { + font-family: "uitk-icons"; + content: "\e980"; +} + +[class*="ag-theme-uitk"] .ag-icon-small-up:before { + font-family: "uitk-icons"; + content: "\e982"; +} + +[class*="ag-theme-uitk"] .ag-icon-tick:before { + font-family: "uitk-icons"; + content: "\e95b"; +} + +[class*="ag-theme-uitk"] .ag-icon-tree-closed:before { + font-family: "uitk-icons"; + content: "\e950"; +} + +[class*="ag-theme-uitk"] .ag-icon-tree-open:before { + font-family: "uitk-icons"; + content: "\e91b"; +} + +[class*="ag-theme-uitk"] .ag-icon-unlinked:before { + font-family: "uitk-icons"; + content: "\e95e"; +} + +[class*="ag-theme-uitk"] .ag-checkbox-input-wrapper:after { + content: ""; + font-family: "uitk-icons"; +} + +[class*="ag-theme-uitk"] .ag-checkbox-input-wrapper.ag-checked:after { + content: "\e95b"; + font-family: "uitk-icons"; +} + +[class*="ag-theme-uitk"] .ag-checkbox-input-wrapper.ag-indeterminate:after { + content: "\e94e"; + font-family: "uitk-icons"; +} diff --git a/packages/ag-grid-theme/fonts/salt-icons.woff b/packages/ag-grid-theme/fonts/salt-icons.woff index a7cd1c30362095cc3b93b8cd498e573f9cb9825d..b5052a3e28cc2139e38e43fded55875ea861cb8c 100644 GIT binary patch delta 3995 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 { - const resultCSS = `/**** Auto generated by packages/ag-grid-theme/scripts/build.mjs ****/\n\n${optimizedResult.css}`; - - fs.mkdirSync(outputFolder, { recursive: true }); - fs.writeFileSync(path.join(__dirname, "..", outputFileName), resultCSS); - fs.writeFileSync(path.join(outputFolder, outputFileName), resultCSS); - - fs.copyFileSync( - path.resolve(__dirname, "../package.json"), - path.join(outputFolder, "package.json") - ); - }); -} - -const inputFolder = path.resolve(__dirname, "../css"); -const entries = fs - .readdirSync(inputFolder) - .filter((e) => !path.basename(e).match(/^_/)) - .map((x) => path.resolve(inputFolder, x)); - -function tryBuildStyles() { - try { - for (let entry of entries) { - buildStyles(entry); - } - console.log(`Done`); - } catch (exc) { - console.error(exc); - } -} - -tryBuildStyles(); - -let isWatch = false; -process.argv.forEach((p) => { - if (p === "--watch") { - isWatch = true; - } -}); - -if (isWatch) { - chokidar.watch(path.resolve(__dirname, "../css/")).on("change", (path) => { - for (let entry of entries) { - console.log(`"${path}" changed. Rebuilding "${entry}"`); - } - tryBuildStyles(); +const buildFolder = path.join(__dirname, "../../../dist/salt-ds-ag-grid-theme"); + +deleteSync([buildFolder], { force: true }); + +esbuild + .build({ + absWorkingDir: path.resolve(__dirname, ".."), + entryPoints: ["salt.css", "uitk.css"], + assetNames: "[dir]/[name]", + outdir: buildFolder, + loader: { + ".woff": "file", + }, + write: true, + bundle: true, + logLevel: "info", + }) + .then(() => { + // File destination.txt will be created or overwritten by default. + fs.copyFile( + path.resolve(__dirname, "../package.json"), + path.join(buildFolder, "package.json"), + (err) => { + if (err) throw err; + console.log( + `${path.relative( + process.cwd(), + path.resolve(__dirname, "../package.json") + )} copied to ${path.relative( + process.cwd(), + path.join(buildFolder, "package.json") + )}` + ); + } + ); }); -} diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/AgGridTheme-uitk.cy.tsx b/packages/ag-grid-theme/src/__tests__/__e2e__/AgGridTheme-uitk.cy.tsx new file mode 100644 index 00000000000..31f29a61c45 --- /dev/null +++ b/packages/ag-grid-theme/src/__tests__/__e2e__/AgGridTheme-uitk.cy.tsx @@ -0,0 +1,201 @@ +import { composeStories } from "@storybook/react"; +import * as agGridStories from "@stories/ag-grid-theme.stories"; + +const { + BasicGrid, + CheckboxSelection, + ContextMenu, + CustomFilter, + HDCompact, + HDCompactDark, +} = composeStories(agGridStories); + +describe("Given Ag Grid Theme - uitk", () => { + describe("WHEN the Default story is mounted", () => { + describe("WHEN column menu is open", () => { + describe("AND general tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + describe("AND filter tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get('[aria-label="filter"]').realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + describe("AND columns tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get('[aria-label="columns"]').realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + }); + describe("WHEN range selection", () => { + it("AND selection vertical THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + + cy.get(".ag-cell") + .eq(0) + .realMouseDown({ scrollBehavior: false }) + .should("have.class", "ag-cell-range-selected") + .realMouseMove(0, 100, { scrollBehavior: false }); + + cy.get(".ag-cell") + .eq(6) + .realMouseUp({ scrollBehavior: false }) + .realMouseWheel({ deltaY: -100 }); + + cy.get(".ag-cell-range-selected").should("have.length", 3); + + cy.wait(500); + + cy.get(".ag-theme-salt-light").matchImage({ maxDiffThreshold: 0.1 }); + }); + + it("AND selection horizontal THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + + cy.get(".ag-cell") + .eq(0) + .realMouseDown({ scrollBehavior: false }) + .should("have.class", "ag-cell-range-selected") + .realMouseMove(600, 0, { scrollBehavior: false }); + + cy.get(".ag-cell").eq(3).realMouseUp({ scrollBehavior: false }); + + cy.get(".ag-cell-range-selected").should("have.length", 3); + + cy.wait(500); + + cy.get(".ag-theme-salt-light").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + }); + describe("WHEN the CheckboxSelection story is mounted", () => { + describe("WHEN editable-cell is focused", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".editable-cell").realClick(); + cy.focused().parents(".ag-row").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + describe("WHEN editable-cell is in edit mode", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".editable-cell").realClick({ clickCount: 2 }); + cy.focused().parents(".ag-row").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + describe("WHEN number-cell column menu is open", () => { + describe("AND filter tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.contains("Population") + .parent() + .prev(".ag-header-cell-menu-button") + .realClick(); + cy.get('[aria-label="filter"]').realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + }); + }); + describe("WHEN the ContextMenu story is mounted", () => { + describe("WHEN cell context menu is open", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.findByText("Alabama").rightclick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + }); + describe("WHEN the CustomFilter story is mounted", () => { + describe("WHEN custom filter is focused", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-floating-filter-input").realClick(); + cy.focused() + .parents(".ag-header-row") + .matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + }); + describe("WHEN the HDCompact story is mounted", () => { + describe("WHEN column menu is open", () => { + describe("AND general tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + describe("AND filter tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get('[aria-label="filter"]').realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + describe("AND columns tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get('[aria-label="columns"]').realClick(); + cy.wait(500); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + }); + }); + describe("WHEN the HDCompactDark story is mounted", () => { + describe("WHEN column menu is open", () => { + describe("AND general tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + describe("AND filter tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get('[aria-label="filter"]').realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + describe("AND columns tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get('[aria-label="columns"]').realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + }); + }); +}); diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/AgGridTheme.cy.tsx b/packages/ag-grid-theme/src/__tests__/__e2e__/AgGridTheme.cy.tsx new file mode 100644 index 00000000000..6d7eb26f94f --- /dev/null +++ b/packages/ag-grid-theme/src/__tests__/__e2e__/AgGridTheme.cy.tsx @@ -0,0 +1,214 @@ +import { composeStories } from "@storybook/react"; +import * as agGridStories from "@stories/ag-grid-theme.stories"; + +const { + BasicGrid, + CheckboxSelection, + ContextMenu, + CustomFilter, + HDCompact, + HDCompactDark, +} = composeStories(agGridStories); + +describe("Given Ag Grid Theme", () => { + describe("WHEN the Default story is mounted", () => { + describe("WHEN column menu is open", () => { + describe("AND general tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + describe("AND filter tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get('[aria-label="filter"]').realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + describe("AND columns tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get('[aria-label="columns"]').realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + }); + describe("AND cell is hovered", () => { + it("THEN should show tooltip", () => { + cy.mount(); + cy.wait(500); + cy.findByText("Capital").realHover(); + cy.findAllByText("Capital").should("have.length", 2); + cy.get(".ag-tooltip").should( + "have.css", + "background-color", + "rgb(255, 255, 255)" + ); + }); + }); + describe("WHEN range selection", () => { + it("AND selection vertical THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + + cy.get(".ag-cell") + .eq(0) + .realMouseDown({ scrollBehavior: false }) + .should("have.class", "ag-cell-range-selected") + .realMouseMove(0, 100, { scrollBehavior: false }); + + cy.get(".ag-cell") + .eq(6) + .realMouseUp({ scrollBehavior: false }) + .realMouseWheel({ deltaY: -100 }); + + cy.get(".ag-cell-range-selected").should("have.length", 3); + + cy.wait(500); + + cy.get(".ag-root-wrapper").matchImage({ maxDiffThreshold: 0.1 }); + }); + + it("AND selection horizontal THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + + cy.get(".ag-cell") + .eq(0) + .realMouseDown({ scrollBehavior: false }) + .should("have.class", "ag-cell-range-selected") + .realMouseMove(600, 0, { scrollBehavior: false }); + + cy.get(".ag-cell").eq(3).realMouseUp({ scrollBehavior: false }); + + cy.get(".ag-cell-range-selected").should("have.length", 3); + + cy.wait(500); + + cy.get(".ag-root-wrapper").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + }); + describe("WHEN the CheckboxSelection story is mounted", () => { + describe("WHEN editable-cell is focused", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".editable-cell").realClick(); + cy.focused().parents(".ag-row").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + describe("WHEN editable-cell is in edit mode", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".editable-cell").realClick({ clickCount: 2 }); + cy.focused().parents(".ag-row").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + describe("WHEN number-cell column menu is open", () => { + describe("AND filter tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.contains("Population") + .parent() + .prev(".ag-header-cell-menu-button") + .realClick(); + cy.get('[aria-label="filter"]').realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + }); + }); + describe("WHEN the ContextMenu story is mounted", () => { + describe("WHEN cell context menu is open", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.findByText("Alabama").rightclick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + }); + describe("WHEN the CustomFilter story is mounted", () => { + describe("WHEN custom filter is focused", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-floating-filter-input").realClick(); + cy.focused() + .parents(".ag-floating-filter") + .matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + }); + describe("WHEN the HDCompact story is mounted", () => { + describe("WHEN column menu is open", () => { + describe("AND general tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + describe("AND filter tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get('[aria-label="filter"]').realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + describe("AND columns tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get('[aria-label="columns"]').realClick(); + cy.wait(500); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + }); + }); + describe("WHEN the HDCompactDark story is mounted", () => { + describe("WHEN column menu is open", () => { + describe("AND general tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + describe("AND filter tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get('[aria-label="filter"]').realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + describe("AND columns tab is selected", () => { + it("THEN should match screenshot", () => { + cy.mount(); + cy.wait(500); + cy.get(".ag-header-cell-menu-button").realClick(); + cy.get('[aria-label="columns"]').realClick(); + cy.get(".ag-menu").matchImage({ maxDiffThreshold: 0.1 }); + }); + }); + }); + }); +}); diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the CheckboxSelection story is mounted WHEN editable-cell is focused THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the CheckboxSelection story is mounted WHEN editable-cell is focused THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..c689991480255589fe769ec51d4b511cbe2c70fe GIT binary patch literal 7710 zcmV+(9^v7MP)GmUqet-W2JhXDr7TkFMvne)e4Gjs3Ud(J(3pS^#(oPCSjxOGQVQ*)qr zK=FXB@<2-Jb&HQdwLd_olvFk~R|TJ66s;^z1110NSY;~`o18AHsX0(Qpm@O6cp&ad zhHO0Ziwqexm7n-+=`pEho=%(2J(2-K$FSkMqE*4<6-6t{(?H3;bgOPfHePxrs;N0p zJfL{M)_7pkmknngNzcB+*zg_4)La!jeo?ftJPnlm zduG+G$R;c_)zlm)9#A}BV>}Rj`Gu_i;i2>!HlCmOZRs(oW{ytJCGyN8>D@ns4c~E0 z%~iqU7ey<}(?H3;XI9-5XfFUnP)*H&;sK?!6b~pMSlD?$f%d{gE9JDVn4ZrbN8bAo zpO|^JJab}lY~#De^NweI*SYu7s<41|41RO!8;QC4GRK2JSjPMT$M?#ihJ5D;V^1{|#O+6_%>mGH3^%rAvI;TiJ43$YbUe z+B1p2o<(_)Q(@wJh9snAuupV$ohmElCz~{N!+zpMx_n@Ha8Ak zer>%Y5|4Aa3|rd(?TS{Gr-7}}%AEW&fa8nl>>vGYxg`>N?UiO^7|!7{;YJqE#awx5 zR_DZDf6MXb9tY+E$M6h^H%*^Qcn#;vFb=fM*WVcDDgOFf_W7SYE6(9MoC6**H`e@V zRfs@4fcc!HQxg77n#5ksl&JGhIl&{AZI&(}(GDuZc*g|ANhh2lm0C|nU-p~X@$AKu~o&~#=%<+`jb*SIhxK44;+}Bx#Kdl8rUSQ z%*#I=Py@G(TenMwFNu+5M^cPn7|#-O<+)6W`BFlb#LDUucP0Kh&grs0gI?{KiQmbF zGrw|7rsDv1#QZHfcuB^u-zAeb9WXxM^vz$(%Hwx5$1vwBgV(J6{sEt7dcrp{bYY}~ zC24b>Z4{V!R>ORwzZnTfW#H`9vS9By&RK4qlOL@L1!%{^z;ar1`e!LtteCXwK8Tjh zhBJ?4`+bqFBWH-KS1VdYP{Lq1OpuWwc>N2h=ISoNVQVGnCo!4aY=xfVy5wxdtxp)P z*_^5|AOHw{gE4d>87KS73o-==Qy4-U|IL;kts>9;Mgwcq%B@nhZUfFA1cd_c783Hw z&uR2ltXfm-9m>ht(?64MaSXf*Vf(lL`-?Q~*wf%a&;T|JFbJ3!3iWJ(sCy!^*Ifqh z1)&cGGGW7B*>+bb)NvoIHFy#5UwBOP=nL0xat7BKJUpiBQ|sdyk5dsOYl4_#f(ON* zXmmb=VZiYi)?xN~)}lWU(p;xzlpF48iKv`agLcEbwhSC76)IH|FaI7=x}2i~j+t%r zQbnD6LXX~{u(k5n|NS2syJm+Z-Vo9m{DgB|LZ-?;{`OayyW@LJCa1iSzSF~{Y{g3A z*&$H81A5BhgUPb|>+4dtNeijnsF~Dh>?8HOeWgUnQsU{?Rg&(D^q&zf4&^IKQ~w@P zu3{yl;|F{>VCG6GS=xd3awz90J;%@2^b0{iy7hy0MJtQXzirYgul&;-Kd)2z=>LjUHt)|3Xdrh!h zqEu<)IJ%DwlU)x)2FzY1RchB4SFe_QwmMCkOVOeq6SwHmgs`MjQr@|$EdA=5H1h4l zdp2&{MM{<~BmRTN8T1jJH6qWmVmzQp=iyU~b7b#OR)#H(HqOJlXk}?W`@^7JXR7`) zBgCOXMG|i1vD-WcAkbsnT=8fXz=^^!fcdbU-_xUu5CfDnKne&jDq;)EbIsa%OatCX z4IqHb$Z?$x62S1QPTb`^z_2(63kZ|A?5h-dDkIN5Apl_bCi%InK6#&(75*Pbyr0B;V%i#Hu3}!9WA?I$S+;YrYP44=yC6Za(c>I<2->qnWp^Lu)(!S@hSK3)1q6TdIGE><49Lqiw+ zOpiZGPXs(B3-@2(eQ-~#M?FfT8^r+Ct54qJxR-yODzmqp;Quhzh;MJo>}|&>$-|~L&;ADgJ3|VpX2IuEP19xi$?J&Ne ztmf@LBX;(sN!uMiiA;+-BBjc}Xndd9m;=b67qpT2!XSeZ}A8OJlz|qd3kkb?Gq#FO;w^E#uekmYolTd|R@V1HEPV zKNR|q`5R>46XAdCO4{d$8d@`GSG2M`4Q!WIW_tR06;kQ#1{>EMYn=m`L8|AAvUUv?!+7`6qmC(>{uqD8c(IJCZ7&eg3&j zi9XD8z)GddJ96yk1LHGCt3n0Zp=hCWtJm|8;JNFhVGBPAn!H%H+|=@{U?nwZ(Vm2X zvIVhVje!Ykx_imGAATXwuHUSUxHM=YHQk#MOjfQ{j|v@=AD+*303J=+eL-sy0H=JV zs^Z?tU%HK+MUQcL=PFXIZbMmh{0=7;M26)B0|CtI*DsWeQ;UK%1wS~L}UB4lYCK?(Q+VR9(N=wx^rf0rFU3l(v%i3?@v zmsd%D02=Tf##Oz3BN+pamqB@2H)vP1vNR2Bmsa_w$G|C+cr%Nj8vTxnNDyb2Iviii zzyZ=WXgCcPIC$3o_^UXSchpj7(y}Dt+gsF2iw<0p`Mb|ZIp?Zo#*xHvXz7yavh|io zgXVtHe!wV#b$!Dr<_cbW=!=9jEw>#`U0^_X+YyPFyXyz)NYg&5x;B)lv0o9uyTG8h z`jY1`|A-9W8hsyNZd#$QLIc_{Q3y*Q{|Af#VhvfaL27$=lYw-Lt6_`w^yIGn{udGk z$Kz5mX?@|LVU2+>2%q3T0G95)9i>4FKN1T0N%>ue$;P$xx*xwIB}zGnOG8guM({9} zE?a@25d0Seg9i^xzxd!KDPE!^J@WJbS~+lkC#|k#YM%B89ki?T7)yh8DjWBf{_JDR%`6($P#j2&gK-Xn0QrmH zQ9Q3x^;(=8tbdFZ!Wx3|LvNt9R?v=yH4hm8CI9c@b_57efD87WqkI4@+V>wNZp}5B zT+5@W3|+K|ynx?up0w@}Oj!zkowoUFDmgev>U;ar0ClQXOT5|#YB{KeG$?&T80g+@ z)GPuC@K$lV5;V}@nOpJgP4Y8z2^1?*DRtUoPX-)5P@>!Jh!&NxV$iN=W%>EHU0UV8 z5tUKh^IEkP$YwZ*An*4-750yN!$FF3$m=im*=LO8?)*ih_vFQN&H&Vp3{Majw1_N8B5;WH!E6TlvGt2rID6wt`CzfrH~-hCJmp=SC(3U|no7zv)Yj?N-I zB^1vMj5&JMHre}|P>-6@3OE#f7vy3NMe?Lu+!68ZHI%tVV5mWJ)-b#Pg%4#OIC{1; zY}wwJFSKCac@ha8_zIP)GyH&w1Yqwwbs3on;1c1V@=jG`{f`gH^b7WyzYfgMf947j z2E=spX(K%+%;#^N={pUbNT!9iaB9q#JdYeP`!Z$8IC@^Nr6>1K6&~-P)tv1oxnM$9 zBr4EeP|{=0K9RFsvoK8`cck!FK== z0fWa=79$52a}7BQxQY9Bz$5y&p;z2nc98C4=diy>8vyN!Rt10tHc6{@$Uj2?0ytLS{jTIvhkzMC z9jTXaq}KBAW^@?f+0MQcGbx}epby}*K{^UD005}-8wb)Np~Jj8_N4O)-|@V-k7v8C z%$~p)2-wd(;di94l&~))VLMM#M-HC1o<@RcA8>#nPaPN(nHzdKHyZwn`9W%F^?HqS z&}zblB-!%_V<-%sc5G_A{DMlge5GodBKB!ZC60Wd_5()C{@*n#t3mU21krt`Etj&6 z&O8Up309HLydV?^hHwc4EIh(xohq>}c=O8Sa~=8xa|56Qte~$xQ)(=m20_5*Adg1Yj0ns9P_%g&2Ux>+TTa3fn&&cuyU)^aU)>VHeLKype;yi2kl4` zo4@CrOo-e|z75-0x*zwEZ59 z+jf?K!4u?A1^|2@0ku|&>xInRdW_z67z8km0lXm)5jMm|DhOhX4SjVDohfxaTM&qQ zv<~0~9tcsa#ijv0>6L)c#4+5b`4@e8FK$Tk4Uo>mCes)J*hfec-lSTMyk*G3D5lq8 z?6@Ae`@X$~$h7!x7{bLE2*N&abj(^oJB%O9H;h4qsj)W#Mj1l!$R~xea;jE`hG6Gm zlgMkJLtU?y60$T#N|Y)iwHx`+o7JjEFgH&lO%dL^x}L2hG$M|&8hwmivrTHcdmBUe zi15I3)uz`_@(GkJ(gMH>=y&+iSVn6gv)~~^1rDTI!2`DO!c*=`a`kLUg$v%|^;Qhp z6|F2!1KXul{_+nVcJ$L}*knE{Qi51KfqM!w382TW-N_0v$iqiIIOYe{(Ga1<|8YJ3 zgUEroap*c~*;m(yTV`(g&RFCCb6d8ev#}x$f&3kjacg(V=bsms@f-FK=b?>TzdKJK zwHx~o+z($I%@j|jUUDPw6Y62?E2!jBF9)sg47d&+{`^Wq7AVjTB0_N^)PejgZA02K zT6!av#gPyocCQKZrIBw(dhyCttSp1)t(Fral63!-IM;BM0ka|q=&QLlly-eX=sDc? zRHWC$1+>l((l6&!MS}BOw~`EtUDA495hfZ|8LTCY1APL}z}t^aA4NYdDl3jA%W)Bj z`0k3>**lPFtR1w!k5*V@U~~W{Se4uEy(JJ!`WXNWQ3%UFgDrw~tO?|iLr@{yh#Yf( zSB4xzXEK7d_pt_^tJHR*kb(yw{Aen3)v=QvWx&cfI&n8W!iWIv$Q$o8WTG5;F5>0i zo#9uct>F3zk^7jBK0W>$?j_mrKm*}R4qxR)9(XHY;6eG+YwF8}m-W2y%9T@#OCL)KPzhU2rH&LVa1&sjksb19xdq@c_O%vvRW{YH@gVC2DDSJ$&8 zWiKL^Fwg)HTK62xd{sD4pg_SNI0l{p-v*AF#V89Z5W({|f6p1QD_N48ov|TLFY_6n z_DXjC@>Y(#(!$x;oQBj%C}(V#o4@z0984F9ICfL)OP6Jl0!B;?)sL(ev@2R!oCdZ_ zt9)|Wkpgs6xIfOt4f~}YP$%Hok$R$SPR)|NkFz*d$Z_Z(d`GG8#%($q0Xe`sBE#m! z0elC2;vYPgIttMQ=m;DG9>iWPJgZ(A4aSXAwOTSK=>&Dmw!2!SdHL6Q`#@SXbL#h; zl~QHP%bJsSd2UY9N&dzL)u72snA)k+3QjDHW6Y}Ug#)ys!D_2ivmR4TFmbS^ARIAi zb|p)bDSJ;^L_#7=j>LWBW%ZjLE=>cv%fCMQCjmCDtya&29zj@@03irx3|$bVUDvjA z-s`4msWixy9XMwV4Frq_Ib%J>hLJcR96}u(28bZXW(MQs%doVqt%{m3i;CUNtBImzgMMY3O<`HwxK@$jjc(IEVDMBy} z!!{szJb4&=kMJip{h-tq!i-oeNDE^Xr6Z~GX|ZCmxPYAlN&S`FY#Y2edN{`rr;X-2j| ziF|0^6YaCa@O?o2~#pATze#%c3z4gAE&u$E=Q*eZRrrdM!!! zvlzxty!o6?fcbk*QE|`Newttd8Aj#K%_moHEYW~O7QYyTmZz_w*`F0w4O9EI}VJURcgMz&V2aM ztG63B$O6neySTCsJTJgM^wK~6{&%Kcc0#10d$4$S?8Vedqyqc(9hs|-9&`|6KP4Q! z@UA132y+fy3thV9)*E8ZoU}@yqpVP*#{gI$UlwU5;on?0mQ~a@K%m?X!Vt)9N0=TS zGi;QAhYk5iBbUcB?5}UEKuu4Sh6AW<(XBsoh(IV10HDO&b?~GkY{Hinq`YPd$k0U_ zSt^dZsjp>9$g()@+J<)yrH$ZKY!x_=VVckt2?RACx(daIZttg6JVQM2tRj^N);%mr z6>Vf0)~y!5M+xFCDTx4t#-qn4}|iNDg*kg{O&es*Q`@-rlIL| z+fm~kQ7d@d0bH=AuqGyLI$)@w`$U4KEFnOj7`cyNzxfyaSm6K$HFna&@I?p_YY}C# zkn@hbMU08-?CMLdUl7{D)0%i00|EhGz=07ksO~qXWE*`p8UCL^)Bz%eHVHwUMDn;fX_u z-uN^qXs!G&8v1~-2Stq%aFG3`FYB{b(5`4@`T4h9TA2au7x3AI>4|ok8h2`e6D`@^fOP$g__b9YLM;L1Ak& z*^!)Kq?0MF=Il6a#8Z~$wLj!($3((XjLr2%C_DhtDiDf6wU;fov^PpY=`&o;JS5s>n>WT9YAA z-2-otHDslpc2ijZn(91+PyKxux&Nz`;51{*CuhjkJ6RHQHM<-fX>B5RO|OA71v(<< zE5@HmeA;Vz&A=n^hW7(#=e4&Ua(wp@^42yio60n62knYhmY;vyq*eYUA0hi8$C2u+ z;|DZ63;u&Xb!ZTm;+sJ1emoz`Zqn7^SAc4$H)s$jQ7udt+lsz(TbHgE~eA-YT8U+Z?D>irdKw9>TAHbCJg** zZjETiv*`>v=DDv@>F>I(pX-kwL#pW#ST7z)406$tgXwRmL=1Iy=UgYM@_nkA|GZ)X0 zH`zyC8Kc!*)~?H&3Z<2o(_8Lw*aB!*w6gsC+a9g*FZoDpl?ywd8Ra^jTgPrDIt}B@ z`>gqoBex#Ro|~L=%6pp`Pn6-AwfnrQkL+{#>6^lWAI-d6Ni{VGiU$fi570Ytp8tRAF9EFg8IfN(S?wuUW3?Db7Tvk-5Q#$fOczWidKb*R!aVD zDuhje_5wfz)zlpP89bon6h7w$AC_votyN^Q?oh&sjle3bYphBB-Y3;7{X$i-u69A!W+a;Xh*OL`7GYJq? zD_C=YO?-IAgzjm_cO0|yxKvZLD$G0pc?Y=%`KKa{&k9XbpuGSPK{Yi8iU%wS+Q-Y9 z6L(qp0ZL4@f;9)A%i2>vNw5APZ1}EdWqGX40EnQPnghiH zmH_Qq{rsSTq4eMe4GNW@fg@EbpmWe8XfT_l$Dx{{l~wS-AcNc+7)m*)_K7?z6ngmo Y0k>pJKYPi{IsgCw07*qoM6N<$f(1#pa{vGU literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the CheckboxSelection story is mounted WHEN editable-cell is in edit mode THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the CheckboxSelection story is mounted WHEN editable-cell is in edit mode THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..b5c70d3f2992c167cb4c28eecb65132645a4b140 GIT binary patch literal 9706 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

;w9}B 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 sYOfiC!DDS}X{2^|Tc2`E*%pn!Cc7J89x zP!Oa?dM}~(dgHzKt#|KQ@ALa`=FH4q=d77ovwwU4clZ-+6gztTEu`` zAxY5e)ZezZ!3XbCx0&nHw2AJOJv?i=iU4fyaGt*fA#MY(psUnZAnk843IMT8ZV-az z|KAiS#1r;OHwV@EK%G4}B^_Y~LTqO|?lxrD!6ngCc3Mxc2xKWlZ{j8aV&dc7QPubBpAuUKriUR)n#h#OR6 zw{!4!$(uXy@2eWBO4?R?I2$Lud91ttz$RCSn>Qg$${as$tPWN=btE* zS@QBHuJyE#84Hf#iuHbW6JqOg61FV@8m=Esjm|t-X;TMX7+FASSNKYS_ffo|i#GGuIWB=TM$UOqS zR!dG|O2;nO9IL86&%|3XJ2x`ZmuJA4n`W{Y zYus1mJie}{0`7~r8BEuyA5df1;?E)xulUN@F8G(NinD+Cj6`K6E-N>em8<%C?Qsri zwQs$_l#rH~faoZU=&W);b1mf``S4DaXSVE>eL8Ps@8h2=69oBNTj1+B0KO#sa{-I?7Shq zmE};B9>OSO7a=AErAoXX5JW5Co+R$~UN|Bx5%Vm!FCTXtyuggjyd^#=9V*Ir(tyXE zOyD0x^K~uOq1qm_aLYDE0rqsCX@i3HKo~me)<69+=ffwaA>7?%wfFy`Qa8lA zLBeAEz>1~Lx!DeZ1xR@!U?-mi3 zf;Qi^{J4|Wz?kKT`dy#|FR4fy;%CNM1ZpH^II&wUZTKZUbi%3s`#|ci89X}JQ9PfG zNgk{#CKUEgt7E;JLP?3A2P!#qJ1*zvo79gQiE7=`ZcxiABV?@gm3>s4=B;D=rSgX zF_X3xn=iDUw9;Lp*R0E8qI4*~FT9!inW!c0cTw*B;-BeZR5B--_V{=c+qt&VI} zRJ}b*bMS~_C6n<4p9Y|kf@K|jzNM9#$%-}L?5NJFi1?y-g|Y7e^z4-^A@c^sactBn z-50B0kBf>+lwS-zb}S)~=b~3~279c4i3BH4M(770#@LZ40g+gPO?O#gaHSDLMjBO5 z%iC?PV@Es1KI{=Nwz3QCZHVuxU9%$%Uk zX@l!6jOZ(5p!B^PS|I5Rg)?Fq^+5mBxrH#!c`AR0_k2q&y)p)8R4ceg0dHFWl2eFU zJ4m-&IB_sAkiu<_28EdV^iNKP16fn!5#x>?9P(cFqlz4?A`&zHt`X3W3aKjZKPeGE z5=Zr$fwJ^I$m5o2ZY#!tewVVmvk9L=-TE9Zi7EnWx%>4s34VX;^Uixmn`nVNurmD6 znerd4c3~JZkT~mo1I~$sH?3A>EzpPAtI+zon3N_qW1M7OZ%VoWraQ@o{|db~m(@mt z4UHFp`i?7g8F~ut?z?tiT13e7;_S#l8dmZVK<~V^cP%T%evjq*U3_Z1zI7bPtIqZ_ zL#4a$YqsOPNq-j}?N3mL_#b8QY7?&j_VDPDNXiVzeKDqp#04IHC#vC*!TdVfRNR-M zFXKm%6-y$w8KMtizM~QCgOqHy%5UzIfGzELbd+^W;Zo~%K?(zV2M6CbP~1>wIS#s9 z#;DPDnl|I}`dHp?mI@aEJde1n;UiD zy_OkN-XjWA(4GvvjE5wT*9DK8n;Wf+Ji?6Mc~j}LNk&=t3O;D4bSPJgCnSwK`=wuq zhSpTxS@f^3&@ygopKUI;Rh)!{hYbc@-VvOHeP~katu-{!)xt?M?K8=Dl`bf$djY1T$xC6S)S%E|` zAzrSqi{qW@jY$W6^gRF-AMERlt07hEtEhpAbFwn36??(LF_YfG)m$w0! z$0F@E~0eTz(Ln{EhpqBgqZ1hVe zeN4-1IY^&C5k(+~kq6VFaF0g2l}w^UtP1{{!rt<>REV?nGVZH^RZu2iK|pl$jx2>Y zpoBDhOMjpapmP3S$=gjCc=QtG&psNM)TWkoa=_V{Zwh$M^{^q*$?o)bRpZhR2QeF2 ziaw2|lT-`2OF@b~O7nBAZyC)u1JVlnC`s;+Z!@3nEUkH{PShS@^2!z3j3x+u4NaXt zzyGKAaV$DDyMHlW7NqIbRk5o`w(duubRU`v1S*8Yo*?n^e~s7w6dK{EK;Bfax_ z4P4<_8#()AWL`TqfmV2`UnVTW&nV=kSCnu-b3Ir-{rS7@fj;Dgt&fO5tdT9;p-PsR zy5TX`_m!E)It!<^HpWgoy2$puJNAW`=eE9Pd)AMI*^D?4OgArA>6)bESc83>t#KH0`=5xIZ;RjX0e+X{{?a)hJNEbaXUD0;qwl2CnJgN+XqUQ& zKe)5jmvDC;B6#Y?*mWcA`fPCXQwX5&M_J%B@U!n5~{}^|Lq5{FL9# zG11vnm^ch*0JAkdf91?!r?Z6_`|>;FYA6kqL%haM(uS?@m%pz7;DpM|$v-o;c0E{r zji2Ofq8S0-bnuj?$Ei10IHLTA2ZHX1jP-RocTdYgl9gh_8u|PX!PQNOqv4U;JGP!Z ztRgRs`*>Yus($DkRJ`R7&vuaxiKHFp14C>aRi{uUIo}LJ6#(1xax4_pJ;6B=DucvF z+m<$hFJzO0aLZ~_cF#owv5|Bu)&&{IY#F@}8oIG9nN8o25&06)8zk3fnq}W>;scgk z9JO&I>~$EBON3gaE&m2hrYF4r@XS@$?0HmctT1z8amOm=&BOKa!tp`pd;@Y*8EE}C z*F!m^07Ehq3JopB{E-cdxl*MnsOlriP%rPdYGF0XpOjYv$)xnqBSJd&t1$jRi19Vk*ls8Y$qWjIF+1}H0?MFc)lJ`G=Qa1ohlf9pXMYv>KC~v4 zz@42fqW_|vU0y}oEF3E5wR)HFS$QO&Z&oeL5Rk*N79R#!lwl_Az%R%n!8fXp(h{Hh znoa&5BkO$=go+AlN~&@Hz<{mW*6~dp>edq3(=u4S0_TY1WXMz~Md&sC^I2wo%hQ_(QNxaj@J$e`uS0Foph+oTLiW;%Zn)L|41RJ9tABX4bAmD#Ve>{yV0oii=a{QG1ajODqky!7F&0&`)fu*54!+@l zy{e<@9@dX4-0V3E-2sh_jmfU)U$*gML^^3rf^E3U7nRZ&XsXsJjFc23 z5D61Y&IR)hzA~W}6>~mw26NY$fRX3KreA-#SOpk%(sFv{%8}H|IX&Vwo<1Amdh0&h zq4ytGAhw?y>+JSkp%N^hGtn2?0tXy~Y4jQUV<~v$Sh0iqg3=1cwWb6nKGJ`EX^^8$rvs5eqPv2p8V<9uN= z)#7e|6}X+%cVFte|Ap;isEVJN)=83MUkP589A*=}(6;zW?r%ss;oBOD-J`k>XNj(} zVVoRkMAKZUI!Bs{dn3Vd;`wvmWK5 UXK8;)s=<+|DQhd0AS^Kd0WycEZU6uP literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the ContextMenu story is mounted WHEN cell context menu is open THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the ContextMenu story is mounted WHEN cell context menu is open THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..c8ca637b917b628b9ec76db76ee579286fc10415 GIT binary patch literal 16208 zcmdU$Wl)rHyzie~y1Q{fKt;N{8F(H-ypLz* z&YU~<kDnAW&6N&;|eq_$|Z-8xwp9!%=Dl zUr1jo8opN2*3r<@mRGcp*VNZmu+Rs1CFmbJfj`A@S26Me06emPUl8DZ9yI_k0;&qK zx_)^F`A9dG=jqEx3*w@}*Gi;^EcEK(jQK2ihabKfKZxw%d>t5!T>Eu`(BD% z3iRBzkG2z8A0ukt8VmGvh?YNUcL|ule^?@(@aLr$hZ+AGnt-96Q8hb%2MvkQ{tb)= zpP6&HZJW-LdUMqhVo4om_5bUUW(*J#63SHmG2gy8>EWS@nuNNOvf>&abVboL9$qm# zesO($UHIlfbec90>7o8YUDo10^sAb)hRU<3ucvIrl+h@uQX&1|--p(nEq^h#cX#v} z6P#?@hhrua-(t=K$%P>{He?I!P?=JriKD>Zx9u9KiHp}i25PrFy;F^W8z@6pl6dwr zZni{DMph`_S5HU(5DOPVTpjq8waYbPMy>k-KJltW3LV3|?IQ=ct0=_Rep)+s@?(-`@2ry8+I1DJO_pG1(g6hLXlQfXl0DFL~U)%NHuJ(qoIKy z>|t8!?bpzuFZ&DI!O_vm+uXs^*PEAP3v<3k^eLoNHnoW=ZSlGoGB!a>n{GH!GJ6e6PN~~9{ zY=Y!>w1RGX7==4?villKE%%eH!w~J?r|34dATzVGkBUhO6ttgVqA;bj1AM**zkDI# z>~=KPs7#X5CC!?bebQEJ7#pZOUgvwNJ9N0v1X&K{0e>xQv0c*L0~xi~G;HNy_=HFC zBZZ~aT8SUUw{KoNf>nX)KPxNUk;R-*;@B~0WpTPt#sI_ptOI(Eq4O&N=BPLoz&rqF1 zk?)~Nh6y*^mRy9KUclk?+KKrwOcQ}VYVk5O#69wBazQVeSKw7ORKh19AXxz#Ro7Ac zcLw?L1y%*R47H`gqz<1o7M0u8LaQ6bRHN&&?+oO$A0vUK;9^UgBf=D>LK$~M{0*#H z`oKSRC#rl*eQ;nN`yBzd%5es=fwll(iS`Ht6rY1k)}Vq@(AbC zCMKqbNCg+Cq9iE3-^%}xROTV<3|fA_8VGS|vnNP+{&PJD;oEl%w8xJf8}c;yl)PjP zkkxOj9xK<-XByS{{g6$_+(_A~XAD!4;6wclg-FYl=1c_hqiu-5E=D84{4XLc8^{h0|*MF)$V2XCiawn>=Cm9MysNnLVH+ZX&$0QWo_CLU*en4k1 zG|t}QW~cmfG<{;{4rBYN;fx47G}J%oE;t{L`;=+dskpWXD2h!=(fA$vV|~3|I~l1p z01H)RP6FtY>!>sr5qEYe9MZ5vmF|x*XTv2ST&LIE?cMY3-{*;d^V)c+n>aJK|A$AL%icynr zz1EI^w%#M^*Dp>*(_>hBki04nuSSVuFbDKBT>4&oW zPez_xni!3zUUNq(nLX_8Z-+6LqMuqMyhc<kNw!_)X4k9m6aF42Y>*DWl9A=F8D@_YzZLyJQ z)645z{4la;s&{ESFWt;E~846mH2os^> zQ`da8Pk+Q7!r*dH7>Fn5;G?#H-^fZ^M3mNicRgKI@iJy~evsx+ z4}<#Wr5-XFsbhSHo1LxiaJ%hM@GtMIXMTm#r(Iv2xaEmt882F^;9We?DDFfjxW1o^+YY0&M8<6PYcqi2p71(%t>ycEYe>JGBb!P>t4r)~M*vxmnlQmHLcq4!NcJI|U_;y$Bid}Um zcQSZ+s5}8m>=n=y3@GWCS{oep!$Ga#SBV71{+OFj(a2cbGrqLl(&|wX5)v*h`h?%u z*ytGK==d(c4!sW}3A>`&CA2`eHB~OJytS<0^4AYe^dzOy^A9CWy3FX7N^YN8n=K6V zb>@LZ$<}LGG-pSbX_p$O$mx8^`ow7?6BC0(SAYK~35u8Q4(LPdpR>*=Dc`11$BmU# zmQ#W6UyrI)KC&Wv2uQ`0mFaItom|HUg3GhiK4ujAT~1zfeIh+|VUBKfpQ(g4PN>6c zoeBO)r-PkE|HO}NflIX5@Z6=~J{QFZMIKX`h%R#&4P9=L%d0U8C7T}NRXx4@!vLKL z77^&ap0d(__s=ZBvEOr6lgH8u!0}yVu?_e9+?4FkcDL(_rvCL}-Z8k=xza#?#apGd zDI6KmM2&4y?{0P(`Kd2E=%h%BhrrUr@gVD$>guk!Im|fI3UiL#-Q2+mO=;gZn5_7_ zF2j9H9|3`edU+pp2n|DUZJ15^0S{IvbgZ0OTjx2Q?V^@|JHw0q;)JA94C-f$+pE*U z0(*f=u2&{{X62>^TVmYWUo3P@)eptPm*h>9pSU=^a*a4RI6&e80X(a12+0c~{Bgbl zEHh6rrOK$46|LR&pX`-cHYcsWI1gA%L0wW**FphGL~?MN1_uYrwg_!vkGV&slE2kY zFORskMujbZE3U{Ypn0rul7}52qP!Ti@YV}>i&udTbT!ijw)FMc8Y}fEmG+9zOQN9@ z82JIufBt+qxc$&FG3B+-rDjb+`@;Uhch47ImDNba{{AOFbci23=-*?()7) zoEMU%uaiIn)+I5l9zcMF?~za zNd|r}5!#2{(WS^_7;e%D17LeJo@%~HDR*RIRtS7#OrC55Gnue1&Xyc=Kh8q|(t{(R^j()Zk>co^ z*-`i!Up!{(CN&gWR^E#Eh`i`|@(=abizk7lZ7KcB^YcUv4N0%n$T>*vON(s=KXfRc zi;M+!d+jLk62|=HVUbON6yo3#Mbj}MyP)o(sn393)L&Ign!||bBG^c`?S)^Vyf3DLjhpi;(M`%VDThplm&&8%n8+R&rL^+0B9D)TU-0YslPbxy6N96s z&*Q8%$lasIBb@1x{Yw!dyN5QcQKBR^M^MCIG<6uyp!$p8mha<#8z+Wp zbay|At{*mKn}|Y-{&p7ZjPaoGZts|WQL>#!%;!zE=_T&EOl2XXAcq7c$CrG^R%F8G z`=cKy#PgpPT^IA4Jd%=5sd&WvSnN8{HPyfCmzC}7``&r|$@=&QHYU_n9qfYu#aB+Q zNvPSz_f}7adremM8t6d>rH?Q2e0u6vcfz;7T%3D$bCPq6?hGET{jbMgd0)`JO~sc+ z<%VDy5QV&#{mY~v!v>KVn>oy#P21z%{BEF8!FeYY_Z-SDZcyuej&3h(k&~ZmP}bJy zdl|k%lkdkUve8to!Sf&nla`tu=P$;idV-XOdXKQCAhdcnAN7ZCZV$}d-7ldUM~vXG z4+o9sshp=L-pU9XU2I4;?xA_uaaof_3ueLecpu%>6&Ar^7O!Oe)#WA1k@RN!$uwfX z!o1YSlZ1&891$_`ywkthvM1Xrn<}$JMFq(uzDHOpFVEY(+z6|Rz~Xdsap^g@p5g(u zA^r593(PME3*^H0mqB#Lmv~XX)bgE>Oq{uF)LjLO<9%4WbjF!$^Wv=tdyD1B%t?-o zoS7%1jC_yHXUmK0q9P*+?s0KsOi6Egs4RMfmlq=#ZrAB*z0QGO@41M)%`Z6e0ZXEQ zy#m3Ot=5C+Yeyo&PfV??%dGP}0z6Hgk;N+{Vx#RbK0Kn{tia-8yXDq;MI@=6zWUhY zLRn@?a&m_7!v)_b!WN*t*BmmLGuIidA!LqL?ne|yp?z_49t+S^A^%{zzI}M2qS9@O z0cpm(OfIM`6Sd%$5rgCuyo+#}W`OsuXIdZcdcGK32z0;$_a|o7#wJZsB!TbIJp98D znhe#_)Of^5U1z68|5CZ{-?X%G-r8CZDRRJo!Qqvo!4O^UJiKr5Xr_Htu=4Ysr3FLd z@OBU3CG-UyXAD4<@a`k?OS>&P-DrSdW??8U(YT!;rE6c(b9n()R`wbi25P9#sHB9i zH4XXf=SU(NKOno23lk>eG`~lNA+w;PI?Ilo;P-+FaX=+EKZ8){^rsvX&Nc>jkMQ=rLb)e3&5 zKuy(pW~ZMFx@4su9wLtY;*Me?-rY|#erE657}}W``wtX<6D2MD6poC9X1oawTVWwa zb+IfX5Vc?LXHe+2w@pn=j_pt%;c4R@L&BE7#|@cPgVS(2TThPNSx@K-NW7$U zJ3hA`*Q&p#52Zb+MItX9bpZn1mll6EKmn+mEFYyj3+5GZaZhcxF{d#cws#9?-$tF_ z9XEq!{gf{;D`BlrQlp#%av`+2>khAhS}a6_7|gaUp$lAQFFTr&e650N&CI1#fa#L7G39Mx#<&u4)0E#NPkrL**%8P3yK86XKVVhK#ZJNDkPTzE2-Yih?^BnW){mG3E zKF^4g36_6P^E}d}sJKqCA{P1U7Rl>{7CcyY^xikMWo{zE#8CX~9I=)3){Q6AK$m^* zUz~Q^h~Zpex7}wHxV1%P>FYZU=kfJLW_Eh%c9ahjN{EYN(f)e>wFcFeWb1V{gbyFu z@4edT^$7Ctz|l7l+&V|kNl>U974Lh*(nEB&S?CxL!29#u-xtu{1irrsFK({aHd>yW z3#aqtuzX`3KQ++*7!J;}1&Q0Pr5|{oooLB7l9SaKPma%VFrU*=d9KXOiFYl`;ehjN z@Y~?vklx7R*d%UtV>M!b6OV}V0Yc9^Ut8bUT+v*`TANLz?Rs3)JwL4n&F@A4C-^+W z>3EI1M(es6ncNq5Jp4ewfb>7c z;afNCOoJ(E-RSLx@n$duRhO7rWY;7KEtNc9x|3pI`52yG`lPBf=7jaME(|L*Clgb) zc)UI@!$3jqgA^66dgBtBC8YVigD8$)9T;1)smcsrR+?2;Rk?s0BfKOXw~vQ+o_mQx zhN!5uQC1W)r7$l~UkNW@`7+{N78xfIL5j9#U5I<^)RXeE6)-e%aNH~MetmHp(M^yj zDZ)Yf)qIoA*{1rCr>LcYj0mkj7$Qq@P8!|HH^~%=nbh8#k;~oekEtE)qr|X$jf#?M zKOG5Gm-&9%4WIp$65usVQoo(yr=q9!Ac?X$5bJl2Td-Dzw!W?@#EK+^;1KN$%^%~@ zz+qBL066RP<|sO`Ung5iaGBnfej3=W8&Kk%Sz7Yns$+%b0KHZUBzu*kQET@ZI{caJ znr;JYlh@4Ks@OG=Em!o%mGHMIqk3z;?Xv^zVqQjx7IRvm-#!%~4+6(2e)07G_cbq~ z-Vpfm_cbDEG*`4aet*oj#=x=fQCV4;rKe}Q^bLM9!Ha@Jewlf(gXQd(M4^FBhgA(_ zXZY%LBar`!NtxFM>^nBpHr+cG1|96&aSQYe5(WbJ%)DD{fOz0FvECAnY?KSJ>7?t8 zj>8R^_9S7PV0&#_$dz7Y3OZ25Ao zu4tJ3M%*`-_aGPf5g~21aOC2|ibkH!N{DDX5OW?dgu#PvQv$V2Gezrkf)RCkh*RGE z${#qcIqL0pTT1?TvD|teiGMq4_IrhUfge$G>xnpmo+7~ah?IPthb3Rg>I?st#-d8& zl|u|kLYxk^g)V~ohu;0{@t+#)dQxBbbGQW;usgZMn?pz&J?eH_h>r^Ky?=URFt32p zc}tG!2&BCc5g;<t5(L=W`eKp1FSq%(b@v9>yHlaq{!Q0 zVV&nA;nF_AkUwru9Iv-@ZQPatu;f?l$P#V@usGy2?_>!*9B0R65)%BW)TO4XU+A- zoUc3m@o19{jl;pP7nE^&m$Hwalv`Q4Q*()LaRL4hdXBLOpC0QeJWN#o)xG&1b90lb zsMU#>_Dadh35)%OJw2VccuW={1T zS{EvOZ#f zluy-O#CR$wImRb|m%ny4CMrbK5Tt{6KQ7aMKfqNnCf@Ktdb%8$<52Gln}M&E9Gbr4 zK3j2o!`CaJ9vNQZIoDX*jP83l&l--{U8!mIiW{9^d?ZLF*JCs2c!3D=2{iLv;^H*cS_u#sxvAt_KAujQ1sCK*fP){$LbFTpIcZH>0HQ6|uD11a@x}HG`tdO#^dO9j|7PEx_U7holclTr zTY0}bridX$?##3-Jh0QK&wF1$AX}_e|7HA3*vBe7oZ-p(k-*sCJZ!K*QvKf1W~+`F z%E7_WH5BhBw`a`J83_n}n{dWNQ^k=4b#4m8v;F1HC%gG2q4&2|Fa3}PSP%b4FI;~w=WjFt=K z4QLdm?ZsN!zM7h1-9e6Zhc))~J?XItvbByX4YQUbJ|T){v-GbeH>bS*i(Ruff<-tcY;GrSNOs9!{;&>*xmjR|M7#p#KkAMU~GI= z&Gk!E5*|yr9UGJTEZv+@C@lLp2NO$qdp2&1_X8D>hTdCSqqr=e;8XPH{$HxCUMl zv#{$v9%v%%sOPQ*imUCZX_u0BGD5|&r<&lW{scE+@_aXZW$1Q-xmR96bCR*RHC1j< zhE7cf2j?=BRw!4H)4bF1DPGuBwB1}ZFH7s58~~LsVcfIrIL)sOo1JOX;lo}0HIJ;y z@?)5tnTZS}a(Q|V4?2>n6~x9;kgu+;D7SU)rJlA?(LVVc9Z(APjE3gsQ8C%c&l>4! zNML`_VL9S5rgD56v{GBMIk?Z1`GjPD2%E8PKnS^(jyJfgGoCy_?~(ybgNiCXE;{6V z=nK)DpD*p~vKoJ8R(Zy~yH*e3 zJ~ja-4Tuojk*FG`1jPKdbu)tn4ll)G>Z}B|t>l^}DgZs0#t6UD?Jas|fGOr#;ZtB0 zHn!;X`sAUF`sk3(kdF4ZPY_F+E*4lgfyx1-D1mD-|0_H&FdkscIVR(M9Nykr)utbh z6^gku`=>Os)WMSb_epEQ)c7Zh5B3qDfr{(Dy25M@xRM9udaJO9*@@YhS|7b)-co7H zt|)MFOIpxgWZ%%zqRPy{TE898wyW%w=nt?S?s`$9$;)X?KS{c@3@5=DkY=SHVtXBD zy?&BmKPe@_+dJ`ufm?j50NvDZKHS8E;&>ieI5r>B8O)x&baCI1%X@5sEPxlbly%*o z1>r~&{)j15ChxKcuua24WG`Y@=9a(Jl@%tmIZI39wKV~0lAC?7-0sF1>l=7EKi|}< z6lVL12*7|3U5?3P`;()EeO}}LdWrx`R84fohflKt-i)`cZ&F3HG-RZc`RSQq3A^U9 zOX87Uvyl8VH(-l8b~QAFo3GLPb?046yol*$;@MV7@5+3uh^d5^)tHl$lfb%|sG!=~ zF>61Q(bgt~j6d{3GoSa>E4r-pBh_|cn49e$RQSk{^#R83u^H(7`RKBYwf5&9u_rA= zXs;T5;OtE_cM*!vo6Y=zb7{!^=Aq5iO|lXFEjQ4CnRrhWx^^G3nT{K>o(D~_@Scz+ zs~Ej_8vCrv{H8dnRQ8b#jh&mZweLDs@*1Fa@*&sVBFYADxRw5|}7pIP4nCcUa zWlNRdG}ZQ@$;^?10ZbYSIwGM<*GUsA4W|C`w2dsiW}jO~W@P~7FxJhffp69rWYHq< z3Ab2HN(eQ$Fvb$NR|~4yN)BmhO|r&GRtVy(#D;T=wymwnCBM1c1_IR2RvIzx^#BN5YXePgFb^N)ItjGlCb@Fc|CyMmgMixn%6kG3f2^%6@k$>2=r7FnZ8EbZHO#wju}lGq)E0klAGe~Lex)5esA0&7{^+gy zn&;_~edf`fG<5AcWMA;*deD8Lhwo>+n%9E}=<3DkN1=E>vf%dQ@V!+6sG~(g3;}8->;LCt#0)qd z;FsR&;ThiPf&o1$|K$25qQ;^#dTL7F!O4mLs_Scpl;0O;>9Ais21>xO@Vt(W&dPYH zGBG8k&psIpM(E+;k(!g^w@*e!CeNVr&NI&HMVJ>7`26|v;NWPgDb03J4{w|ve9?=7ii|d=3 zbTr&v0Hma(MV*}t0<;9*gRZj^85E1Es|im}PY3A`X~3rZ{QH18!2*Si^h9V;n9U0Y z8k!1fXYvr0?HLO1c#zt6ami!bGIi3Fjvl z2-(>yG3UA2K|j#b({sE(%TF3QkisDE>dHkUlnfNrX=rHl{QgY}N)k8pxc_2tX{s=8^_1?IMto1+!nRr+`!d2{^p=#YlG#X%Zp)ErK9zhXc3 z`_g#!p3mzL8j6`LDTyl+5FqA{{`2S0^Dh6RKdMrBNA2b1Sf48^AF{LKMMuBZc^$$f zB8f!93sh16QFPJsE(8gm=Ozamj)$GKnT=mjKFGCcNyck2|0mg=$dXQUKF~hQ8Cg-0QEohNxwBT|#EkKbZai+} zvmF6_e!Jr?@+z7#;`;j+P*@F*j%EOsoA-Yz4S2-GpZ9k*H>*GyVUHhQKYsjpkRN`_ z$Iox|>ea69;X@V<+TVQUVDd!d?CQ!k4~FE7EF73jC53W!J_TPTCHb-F&ECNO^b|&x zeydb|+5;Q>!yh_w0q=&yKVy4QvZ_X7l_Rp)^s#~eh1zK7w_KvvKJ8kUG%y&37yFY} z8vm!L9-EeSaEA#7houySSRUs?5gT-JF5QdlV`G6FTrprAhK(B+{`q}Ch6C2tV_?;) zq)s~IE^pz!zh5aQHKFr0Rr%znSLsXyE zA_f=RKL(R-Y4l&sy<;<+{`*<2@978IypTJviy0goDLslI(Eirw!-gEpOXT^y`uo}L zY}(}cTad-{eF6CR`227Jg@t~AEy-hS_ri}KZ4J%-gj!gN{38BDQ!v#9JTLbTG!-FqLO&WA*V1Sl{utM$Ev zf)$p^@0i%wPd3gBKFKg1abco&M*i{J-wzmAtYpUcKUKI0H22$XEJy7**ppEI9m7VddT00K)vRoSG9pDq>qHi$_sGKY8z$f2PG zY)oRww92N|xRKEV-5`?Hw?PJFN)O|}v`_HsD77IwzG(988XBQ+ejo|&>Z9wp>GSr} z(<{dg4+EO7#d)WS z@2?&z=O@%Th3!K@LPpl+O5_ks4qv!R+1)1L0Q&IlZB}v$iu}(2f>p*Ph>SBvQKHO` ziz6<50)#}jtGV-tU6LXJ{Bz(ppO*s- zosp&?Ip@*Af&9zY^b5^4vdGY+!z)g&M<+3`gu3Q5(FY0*Zf-}KqwM&4lXQ(KCdelG!qx z0wU-0eGF2H+K4T{*OCfK8iODYbim?}L@uMS>>C7wG}C{tgf%B~?P!D-8-&sX-zYNKW|*NCHG#jWGO|(0MsW`F%Cl$1#PFCdk1%iHPSQ&LIy&iHD%X z?{8M@;Vzb^x`mLrDaU(5FsofK@p7vY%(r)+b0-Y7Vu{B1?>aVr;{tbgvyS(`s@Cz% z?y`ya+E3o$k89evaQ~T=wqC_2*jVMk?YBV(6}VJArlJtyXd_KsOf)ok%z5=|+Osn} zO%U7y;r21GSOU@6xq{S8Tw97i_1`-?LrUyJxBREuckuNLqSduAkfh!ysCD)=u+IZc^D$pjYWCLVmQ`Tjz%~+0MZzyGl5FPF z+S`M2EDR$XF1(EyU@$ax6N3%fW;z&qfHykQ%+#3g)lFbvAV}G3{G`YdM65CRd>)NX z%fLGWCX-C5Lu_>DZVsgH@WbUwGfyYfhl`7sg}*UR7go1(lZM84c!Sh6c0z0vNIkoI zoej+m$3FijxDHz+bgK>%S!JTNRNLL8?LEWr#7#e1fv zgbp%t4e;+|NnXyVSZUFKqar-l9`O4c4d2fjnMnh$5wLlAo_*YlR+fB}W=)+z0$9;| zdEtS)vj+$7)Sp|-yOV^P9}N^r9`EZqMW%=M=@-5`;ecy&p!(tJ#o)FG>M&b0F-c=A zU|`Qx%+AJ3#{fo#HCj+U!FP#B=33I!HdfsO+tuUBTss~CiDz3qum?0S8Z=Od7<1Kp z!NjApH#9XayV#r}Bqd$p1Zly4uAkG**%@9HsIPhQIeUtV>TTEXZ<04?u>322>-Dt- zbeZ#NBTRa0EsS;pS)SOUk+=}cydu~{|>dc#}EmQW4&q74hYA(WKaDy*9B9e0;p8+gXX;_$hpUkDoOJCM}^Elvh5WNdMu|1P5QuYLTt zfAv_UlP|06T7|MG!(g zHX0oKog@~Us@{B=hQUqIzJC2& z?4(HupL?eOAqzte?}Ip>9L;p6y&c}f1b=;UDWSE$UTGNEco$W)Bu#m&!$B?c{r2@k zEIh!*6BdfyHeMS!o^K#eIo)NrFg%nN;PZN(A!lCREQl;C3REC3I%XJ-$QFHu^%&{s zax;^ZwT>@|inYQwvwb#bxwXHs+K18vi9gX8+SXA26`G$xhNHT3$qjQV}Ns-dCn*C2%@VDvaXjK>o_@OE+W!FwM%`%a3bE+Yvy4{4D{ zqUxmYL6Vw4t*U7J%Y*r&MT(KX@d*L17>HI~3FlQrwieIx1pYtjKXJ=<>YUIdB_3EXYt4kU-=*iNtzf@HfI5uCMQ+>8S^09u_3~1 z6jC(K?6AFlxcn{rnw)Y*6Z_xIqJMe**EXU96&H=YuJ~u%oFN#~Zn-*Wq+9)byv()D zQ@gvLyI!!mENs#>E|HQ8)%+5~xJ~-&r ztLV8@*Z0UE#f2!9`g)(xgtq0nt7odeO4L;rU9%1J5p5=RnufY|?!QX;RdY$H7{TdL zTQ@x*dc;dFbJ6Sg_2lTYl6-O3!h!@&cuv4|eI^Av83vYF2znB7TXzA4R5c~_XKzd{ z07uz#WL!}gR9sub;|ot=qaBx=2n$Bs%LS#^8fNDZE4;$N8${>+m*o)jj1 z>EIA~IdJ4hyDaY$nP#()TufKuD!h7PJ(}`k^W%o?#|c%n(P-|F;0OOQ%~qFJuFPRn zs~z9JL%~~Ki2Xw>(3gS5k=7jJ)Zd?Z&_%(T*i;J{(y?b*=nEf27;NtTT~vH?BTw;1 z5s9aauWkZ>@C?|gUa&^21kXjFfqY<5fov#OK}!}hK4H?BSTySeK`ZP**A0e{5dPES z@7q={)YWy2y1!BVyW%L0q;M3Viui zQ(gu{(OJtwqwf~g`1^W#UNVFqlzb`KefDP~3Lnk-O-j3X|8;Y6NR3%1ku++BYQ6R0 zj7>ol@M3hht6`7G(%SPGub;PQz!MPv>7G1KlvM<|AQ|w^BqvBp$&cnX4SCGug33hB z*O%J`56lZ3--*^cyB>Uq#X;VcZ$lI$inrd>3sY`@jy%(#J6S;j*&In88+7`@<17lm zCIV6v-Js%+UhH#naO`+twFdDTq@FTmWFybb2g2f}_gc1q;}te;sEcd&=G0>j4z6@8 z#2y1Cd*yrn6JYXRuWIMhq4j70GqfcRNF^~yttl@@0fd^m7oi=Rfnp(gw! zpE#LFA7HV;=22V&#iJ;rmzkQ~1hpSl5;B3iGwOXSX8x{I1Nk234!Z>J(T$mNLnkoR#QI(k$D*bhFa>=5!2vy}X2{J@atQF0yOxVxec z!`^29gXh~jym*~rzqR#)Y-VY;xD&-k7>#Q$h|4$B{Sxh$KgYI5-{v+{>vc&zJ)LqU*r0 z_m+S6)0CW-SjU^@07b3w1|fCj1I@Woc0TpV^B#W%meE84h^_;#b&EwJ%Z*IL^^>_6 zvnw-Rv;_uEo>|Hf_gTJqqfPTm6L}6^bwSV(`|Kh|=xdbmsp<&r?YB~re%OQ?t$WqJ zFf)*=?PCplkMwum=1opc(mATRG*wH&BY=!GD@wsVtZ_p3VhNqxddUV~S)z&1NnL5opilOf3$})*TTy%aK+m~@vs>$Ik0R120 zYrbJyr2rzt7t1yK7ZA!&{t*VAVcY*=-zQ^!CtVP}q3TL*$qQbB2UHc+6{_Vd!~YkO CFk0LI literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the CustomFilter story is mounted WHEN custom filter is focused THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the CustomFilter story is mounted WHEN custom filter is focused THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..f53a0eee705f4a705a114f7f62b6f51a7a0a778c GIT binary patch literal 3574 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 literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the Default story is mounted WHEN column menu is open AND columns tab is selected THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the Default story is mounted WHEN column menu is open AND columns tab is selected THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..c589233762142dfb943ee68aef27255121c8bdf5 GIT binary patch literal 6555 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 a6K|?iWdFHLFWUbUfWD6LJ*1XH#D4%nig8*1 literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the Default story is mounted WHEN column menu is open AND filter tab is selected THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the Default story is mounted WHEN column menu is open AND filter tab is selected THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..f924e663387b8b901b83f667088ee5bac1bd59fd GIT binary patch literal 13994 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 CAFZ(f literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the Default story is mounted WHEN column menu is open AND general tab is selected THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the Default story is mounted WHEN column menu is open AND general tab is selected THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..4a277fe27c5796997bd4f9ebc9042c78a1f47cf5 GIT binary patch literal 10937 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 literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the Default story is mounted WHEN range selection AND selection horizontal THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the Default story is mounted WHEN range selection AND selection horizontal THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..8b802cb146203da7e76b2092f2186bfb9d6c7e15 GIT binary patch literal 37431 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 literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the HDCompact story is mounted WHEN column menu is open AND filter tab is selected THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the HDCompact story is mounted WHEN column menu is open AND filter tab is selected THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b8436376beacd7e9e8debb0965621003e9ceda GIT binary patch literal 13086 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 A{Qv*} literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the HDCompact story is mounted WHEN column menu is open AND general tab is selected THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme - uitk WHEN the HDCompact story is mounted WHEN column menu is open AND general tab is selected THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..749cc897dda7e1ee115a0b69d7b730a6ad9279ae GIT binary patch literal 10673 zcmcJ#WmKDS+wDow-~n13608(T(L&Ks+@VmUxJ#i(f#RA{q_|UxySrO(EiNhUP~3{! z+Iy1A*`SiZ$LlRb!wQjQh$-egW+dJf)vJ5^BB@PM-3cj4Iq#6p!6LjG3Ll7o# zzntN&13VBrOMP&bR(r3ap(Y_^DDh5HP0~;kg-e+Fxef3twu7v;6AB70$-mnZl;jk0 z6ci|moTQk#TgpMI)_dyVy1Y@9BwtP<9wH}!$9275)7?M3+p0zF>jUsW*hk*$BB&eq zAb}_u%#A291CTrRQR`*J^QDrJoThJ+%w|?g%voQH21|aG?CRN<>1iw7{{)K%$NElE z1%SoHpaJABKmlMh41cgm1{5rg_Y_?`*dP8D#PtpgqQk^NrR#qCUwTso!H=Imb;m7R zdFly{qGfPV+bU*fwIlD=K-bi6HP9$Re}2B#d~*8U>oJfG?NRZ$#l@GS)`s%K)nvFn zX*0r!WE{)=$H&2L#I!7+Cdm3w)0f+{np#)>$ns?ZJH$g41M`L`;_*{3Z;Yt= zq5_34oMv#HM)nq~%Vnz^T?f8}YQ>$T3wWxIq%^?!&hU22;VQtY}<^f7Ar;ZzgyX+23~ z)Ppp@O{VGTA?yVqEi5`T@g>u1da(-#o9ZO!oy$$jDO6ZaSj2hI$h+`pX?p1KzHij= zqSL$+6ACLtgK3p(HRhDMiph=+CdQbW zTWhQ?d>dl5@Vk0a_oR*^Zc+kDyCK!;c0GswtkPCRH}cmHjX?T=!C59|`B8b>0|f!k zhnQ}`35~mqJGI=wuSN{{cs3{=prPzml#*H-vGzIbM&R#s{TVjeTf zg-!ae>JJyHd%yJ_w&c&py6cYUsi0fBtoK63aytu{@=)~wU@VGv>pYyP6;5?ANHtrO_wZtvqI}%Q})%C2aU4zI2fN#r^U`!zw~yJ@1hv+~DymWM0H-?i7*p zkpK7`ZJWDfo{y)MwLU#+8V*0kkP3yrZTrG+el;;krA*QP2Jh>4KmihI5WU1KbjvUP z{`dUw|F;ryY70U&m~NZf93B}F6on*+@bKIYeEF3q+Pr(fY^IL`=hJJwZ`{)6f$_$FRZ{HLjen-yuVLWrSww`<8 zXsK0yjk^D5-|8%)9mFE&*qKXBU7skxB~Un+>@b71iblq+DeIx>FAylGe>4!rirapi zpSms95*QSu1k;moRVg1V7xU2{U0I3xdvQL%)*8UumvSbwcW@AU1nA&L3L&NRtC*}~ zDfCQ0Ed&JxrwxNUMB5%Ed~SzyeXe>G00}IRUY>?>2`I2@>AksKUtg~p5PB;p*c8{% z<>@!>*C~RPyZ;wMZn!@-=}LW;2uw#vEAsgo^>2aK&Z!1AUI^FbZbp`f%K5zvF*)VS z@y{&s!glJ5T-T$ChS5`Dsn)kWL&!DR5l3wKHQM$)lrQJ_F{#Z8@)7ZJW{NTUps+YV zeRJwAa`|I;;)76Ca%*cBe;`z=&Rm8Ds;Y^9MzPWnoy0`Nv7q&mtUWb(#kqZ#2EC%< zJBoU|I(#$mi`{|fk(UE>L%-ZsN>X0>aJrYSyV+;hx{)Ya*DvaOlc-nNvKnL0i{5ca z_m;Zu2DA8-NagsHAnM`aNj&MZpKM~rl@mzI1H)DWrnV=mbw=AQmD|tuWACvPrs`IHY~VzB4ei#bJKbMvSal#`%5~R$n=L5!pbk^g#;9xI&zNe1`^q zSP>2+hm!^*TXHb64H{#^tM7ohCVMy{V%^-9DaUtsJ(_2yaFkzVEw5XWp^J#?w|Hr=EJLX3 z2I^=sd!OkH<0>f+#fR;q7B+cn(TWy+);1@nrBz*mlcJN)9td433gQh~dItX$m^|=r zX}R+re1*kRw~}^2>gaM9&CoYERTm+Z@)AKWSC}xKhVWyNNSl)e^RjV^g@lj>m@+FD za<|_$VV)3vS1YEc1QAQVb;{l?`=01`b0hr{@d^{3BxS*eVf>0~dmmRs#CwoIGVDOU zXV+tF`B&WPT)3`v)A5CVYKzCYrg-PNxz_?tOX+iR-f{y(Zr%3wm6J4hpB7FW(0n=E z2qts`-J?NpI?sRBm#VrsPi;2U1fkfYOyV>LIW$}am~HKI)1ty9GcK+butWTyzmgnX zj)d3*lso*PPy=H^M{)2N=J2pCIN%cl$e(VU{d$N)b3)>S=`Vp>RLxSK2it1Ow}{@j zqiSq8Uw5BM+JMWW!^cmb_&&ZWwZ)Y_7mW|d!6Q+3jvS-cLG&<>flyIH>h**JRA;MR z_2)EmtkXe5K4Rw49uprcid$ON%a<41sCNw2AMH)~*yuJBM+HTuCubPTH*M0jqs=z- zs4OAM-wY}GdR!;7^fh0euaS}OIQoJET3k#Gz~BnWm3Pzn%U5DPiX0O>XQB-Rrw81? zFRwyA7mGL2iy(7Xvv&9Iij(LeF2fi@;caYGQtU03)XzUcd1N0b#=;^ZzWW|~HNjLK zdp=7(df#`(B|$lpViIfuwk@V4C*GIHXM zd1hwM`qS=v91E@*e6%B9Q7HH!XafUd#i-)|$x_mO#9q?+W3Y*AEdMj@O(b?4plaQ?=b)l%eOMpE z%!qwWSyG%X%3g~{CU#~<^FPn(h#rafm6l#SPGtnOtEOaMQ68cd>;=^rPaa>dIo)aA znI`?vZoMJ97rDcE6u>-vSoF=wJlfp8xfi*vJC+r@YR)(-zwphtR$Hr{J9wD#~4IM$e;6 z^~JITp=rX6@pa1o*n^fYfIPTAfB*h{OqvEXJbaiHar+|T{!}4;VsX)Qx9U;uObzr}L*z<8^!VpBF!e>~Qn**I4O?E({Q!vNJ1c&drgW*guPW8ZZ?m zJi9^Du%;@Xj$Bw^<*nt=i_oSy?P@vuSaxee8BNnC(>fi%+vPnjhu}mLFlY| zGn2q8EuVX*Vly)`S!v}=YIYbq2?@y>gqjJEhx?4hInVx=zv~N(*f39N_|@s#d{$!& z8w@WFIT9*@(Hqs=yR;8~W!XX~X-R>pG=W4S_Rl$-AzMSbg5HJRRU;T3hcuFXxw8M3 zg~g^l6LfN=#qEpO*jQbHa({CQoxKtKUUKeDrkq+4lDK2!+`u zkpfRQH%V^?*kEd!%d;Y2m{Cycn7sZ%ySKkfbaX)1dxkPOIY~@R%WEYoa z3KqZQ9uJI&U}w@h{Nwp$<3r&-D3}vjGPyNWH@LqCaiDx?fv)I`E58DPd7Hs>ki%vR zYipf*8VDqDX$h9-iJV6sIksNh#m2s$n4LaQBfWktEDctaf$6Zy$jj&6EJ*lFpaFw5(EXA^bs%QO+= zIqVGbehF`Q^MsB|?ejF{iKV5!%vHGVeK_(-=A`Y|1UDayUAwXQ-zo<0Tw`PsK?Y+z z*q!5Riepi;XrJEo*i3Gf9nxZlI`>~)14x{NN-?(aL*Uy6!g*6ZI*Lov>e?0 zzGnfUnE)o@Yu@@I?}izN*e7@->FrVEjcUde!@z6~kYOqs0U4p|K;LP4dgjO5yGin0 zqf>ru?|<_~h?yo;Umk4GR)u%)=j44%ECN}>%p{_s9G9jsf5^aUb@WFaZUo_qwr}=r zI1M)HZ_?Yh5j)2Ht_DXrxf&YMa#zhjAPmF%n+SqY-5%EBS)DSYwd&0+J78ZBf7OjI z+qz;>60#@8B1-4CFz6VCmD8rClDQoq4m74CZs?M{{K6w3oIDxP`!;RsbcFh?N*au$ z{M7?DjLY~G>syb!VY*WK^cDiiI4NmuLlCPHP5&2y|Cd z&}0!su`lI0#-^UIH>zmj_1hOZ%Cg|PmUHqqoHRg5Y zueGB)Vm3C-+;2UFpq)wZ3|coPU9T;SC-i`))597;!u>vWlnPzy9eV0)DbHWN&TMH- zNZ^ZwWaUy&RHBn3E$lh8gWwqmFK5h#M*HRI!f`@>*e{Lyuk@Sav6S)5EWCZ@gJbi^ z{H)cc>}UHhqpi!8j;?%bpHGl`h_F`{-k5hG{t%qgp_^gF9XJ83>D|4b>hpqvB`g?8 zDakRmLgJh8PB#@X@gQ`+R)@7D`1Hn4B_uq9!O~vQ{-a++mo<2}g;h ziI#jfaM-6;R_X3-A9-M4d`H(g5?WR{%lr=G8k%rHjw)P~U&n&hZBy-<5khAaLab0o z8SJ9d+X5|!e+m*WRsw&zCMx!ChZKJEk)kUh#dTS&+!%wjS^U}#aD1wb-FQVP$djzt=u`)!^5gD=yU<=FmdOw!0 z=S8gqB)NU8il4;i;Fo9njiIOOn{fMX-Fa6(1C$nVMIQFdP;&C03i(YiiiYIi;-7K@k*c)|e9JXER_e*Db~a^?s8P zid!{els?8|=XxQanHOQcd8n3cv{QKYJP?J>|76`bO_cBI1sQp&@J#e`^ZZgT&etW} zD*~uF7?^#so3%efF`sc=O8bqqG2)2Lo^O44?-Z)@aqN9y@E^v1s3_~(UavL! z9NOne@v11Ic*CN1qjXSAFiB!o9{Q-EPB8{~I8W8-v^w^gH#*lUjg{Cj;dee-;$7)6 zuzLj#y#3=RuVn3u?pg-E>_(6Kgkp;W8OcNB%ky zyh4rCv&zB8x6+A}qf6wduXcMc(n4VxG4(zicX23wDY4vp*en&dbJ-L2&}9noTo4&` zG%x8^giR;afV>q2hA3_wkw+f;_7A&`7`BY*BTZnywhsOuLCXJsvgB3={k?o}Rokwh zDT)QTRsObl82xZui`i|8v1&s#k0gfP+RP_uB+ zTRJ~ol8X7u9Sz`#7iEn$MJq+(3U3!(gplAW$K;IeP*7kS+iyYBD44H~jOs<{vBu5-bS zE(wkYomxCv220o1ltvGoJX_2^;P$ODFqA0E3}@rnzrr<&h6f^gdV80?CK@QxZ3ASe2|^OKQPd#_v8^r=|GyhhvT6K#;b zFUyv||4iu8(#H{*WFL|mc6$ehcmEtAr^l4j?TEM2(L#C81D|cq@bE|>Vo{`(Rf&h6 z-)srJR1B69dixt-{ap+fZ>&ds4O3I~cMa5_nvh5$^hNAQ>R0g$Ou1^_N12RyW`(9r z>l^zE3;^UxayrI20oFEvN)3f3mYa8N(X2t9GJVG0aXi}+Cc(tP1>5B^W&$MAA1Br@>Au*p$rkV8YhqYRDxe?61tp|H#d3iV} zf%%gMwBv1PJ;dlLj1!sNwbjM*asD1P$NP(hZ07kKNmZZi9Cae5ggwh5;?o2#y9jy+$hMPV>H*t|qeVWY+YK%Cyw z5Vv!lh+(y;eU_l<3Vuc#Zxsdw%qIwaa3Y(%#a{{LZ@p1J(K{_WJ3gC>zPedlzk3BB zYer_@@{cO=9%(5rYVq0^-*M63U`WXsKKeO-xh$~xx?+_;jINKlySz_QAnofps|mAd z-f;WD-5|GZMUY*mqPh={if>lw>8WEdc+uPOd4J{6p0m1pw zf+Ew32(askjUv4EH$KJ^W@}01nlH=+bK!gxd$Hj3j^LSg_8T|NTk&|ybfih#_h4o9 z`E7Q+g!Zuy?&mk93bY{90BKw}EaFCmUq<-XL01-W?x{|EO--GGj7(y3Uy$^3HaFX2 zynR{~J(DIuS0*^;UdiL|{AHE7Zp9CR#!=-cLS(3_9-3;vRg1S){sou$I6UenLW`oZ z4C~-~m|P6N?TSpXLL=k=YxAD8+kL1GN>QnVF;R`Pv9?*P`OqZ;IIHE&G$uxK03Ksm zQ_+5~-ctT}Yg{UaB|xE%*GSSZ9Zu z@INhHJXeN~>k&$~&_s_-D58m-oF?y0Lt5kscuuHkgQNU_btG%z(3})E2{<|%fRFt@Sd0CRblI<-d-ComqFr{A>*ECX+4NJ{+FO*< z=3W@}fVLyxf@|?3K?d=@4soX=Ubd7b+rf)p zzf&UGWfR>IH0ZLc`0YGZkTcxxuZuZc2GEBi;Z_DpP9nUzG$DpGlZ~FHOP4v($(2u9%`>7 zP@VZ&@#P~@V<0{!F?D=4lHGs4M*n8*`fg<^IY|%qcJ7Q>&;JitbDu%Urp<$pV?^7> zy84A=b$uOsA3rcqc&!nhwN9L#^f8bBmXgePgGS&40Q( zO?;^lDC7zOQ1xBnLeqO&slS$%(_Yl@qB(Uh@sLmgI};srhCm`~LNQO={LwfC{yY`s zS6$vW<&ei1%i5VZ(<6VA^+J>dD#J$yrljPlzrxRSE9UggPDg*Ykh}tc)^_7@6em&P z*;*|%iZdZlD`H}vsX^4Y%;T7Tsw_}OoyMQu_xIKs(C2g-6kzE$Zuoz!GODX}F~;Cs zYq_UQyrRB_Na*S~0WUXw75@5ED)E^m^;hFg4QUkRJ}{J#^Fb!kW+M_GX3ZYHBU8el zB!ZQJ<{n(og(0nDmhFB+$+Osx(^W=NN_(#y zt0p?`(_(2-aP9^L^cC*S(Sq%^b~rV=)zo#oijuQl3qk@=KX5hb+AeOdMyoP)TA>Y! zy(Jwr6n23%1h`NO3yWfW4f=XpoUiLKmzn?hc*NOf(M}I}j}ZcfiG`{*HEDhMp}{bR?+SUbVKQ18NRKIezBGP~;6*rO(uF29CHnu7h= zRXiDRYv&Chr>mY;c9kuhRX1({(2}^^G?c>jgk04yE)+YmZPc=Y79ec!SbYq>sx`*@ZzwRh@Mfpm(*f`9Qf^!<-u}}y_lLDwyvQ)GnrNMm5Kn+pmI#l{%+Mk2 z7ZQL-XDGXmms^mp&g#0U1jr{t6ciIXI_MIs^hR_WW(ZHqBpXOy9q@#*Ub`H>5R;W3 zNXQubFxz@mkz=v{H2okGxPUj=*9zCep1Q@)Kwh{FR2n80C#$U}l4z;_SC~*Dcl6f? z`v(~L{{)4fsK}ZLT>W)lco*6*?cqie2Xx1=6}D)aUmS_JG3t7unwyw(n$s>XPQEl< zU*AfyaCB4ywlXsS67uQj`mWjnrmK;h?NmmR8K`G$bMx{tO-`O2wnmUp3uv+mq0+1W zxOjc5j&c%_wgjUfCwDG&a+3sRH@R3+Qi^kkC=@c60fe!dzI}atx%Eiv;E4*)T>%b9sjkDRF6nmJ{p-ZLA%}mBib!iQRFZc6O_T;Sy4P z8%RW5(W%;mV{Ud=kqp%<>3@7~b9%4d+SkGYmQfJ?tT!zwB{!f)^o5Q)5tz*TL37y% z@WK^k983yI-(Kr4iV&0TM4fzAICeP@VC+*EE#eCd=nDlH;{S)xO}P77Y;R4SR85jG z@-nFCqXq1BbTQ}Mk>px30n!*x1|*u75SU9NY|S0`jO`VyDP{a`EeS({(^XUk5&$@D z?Fl$(REezIyo+yhmlyca%qljiA0;McXG`lKFpr`zjXnltprs;A^m4i4Up=MS^^5gG zDZW&>gRt+3eBEsj2mh(HQ2`SWbzN*s#pUE|7k$L=(=sLth&twXS2L|8GTK>C6UIq zg#J7ly_t!L0q5>6mBzg41<=U(v`A`(PA5E=xr;RNKtr236vkUPJl890V2|b+uz-mB z-GKieUZ%+65Xq_Gk0c_eWMJwWnrdrZ>~=b7$T0alfK5S7saEzzT2=|D8&%B;y#s1I zaxRB<1G9}hmwcEm>IH_42y8#R`YMe$Cg24L`5H zxPJLB`|3@_ES@BiMUPCMVLd|I{8J<5hM`R4r)pP;EpBB74~4#c=j9SWDdt!Id2d7{ zHo`_>XyM~UUoUgF=nHurojFCH-~D(DgDz@(fk@ib0(UXDSndI4;tt(=p z6Sz1)O|7p=`NS$VArurEsFR{b)0Ub-fq_hXbV>x&uw6%*?z4YlB|8}PGJYnQ&~B+n zQz6oW07CJTtw%;BS(Q54&5h*G%B#|Y=Sf&6?fry@qHZN&IjxJ1)vHUU8&kdTw;Q#< zvRk(|=x_eoa#TMK;(H!5H&h`RZ{Q&)g z{GxAxq^*jI%FsyX{po!A($$%qnI}NOiuGxTKkQZXi)&T3<$0>*Km!au}?KI&`bSH0l*J@VGI5S zMcODfCYI^N0)YZ6;mEi&cG+S>uCz0GadUnK3qn0JP2w#c^f|i}s<_E7YcXBVAizjZ zd(oO(Zaq!TSUEnf&~YDQ_mYr^#i3kF9@8vA?e5KIk-+5iDM_#@10vx(8OmU7tDLTG z@WL5`#VXm;T-s!D+7hFc3tD$IK`C%LYms%kf3fTLWDG8!5on}U-ydG9Mzq3&M^U1??$;Qm_RxS~ zv3ZrW{Om3@pPbCJP~cKrMTPzR!+GCKtB%*MJ$L_H`#OekW<<+}?T2Pjb)CXWwnwV( z--ZmXelPQkY>wRgUVaN6?OX?XhEU0w6L?%)6TS{}?UzR}1^m8ZMmZ-ShMi9!&A zi<$l0Zx9VrMo+v*?V+M2DwsRG=^5VZj%QXlDz7PFDD(QBA!3f0X!gN&1C1Bu<3=;h zb3Lx7x3}J>0(Tc!x~tZMp~&8Tq7cy+p;6*;S$KmOCDWua_#4=CXqQMZuoDU)vNuvK zmr1aA0fcK1LtHZJVGMW!75JMGLNJIC^9Z!VJtzRfKSl;_LZd^uL`sGZV#3glk;{7i zUb62JH~`)5SAhfzH|H5vK@ij`r?i9<(A4biT6nPS)y5>lP<3epxsS#>P4oWVmxJ zDbZB!{wCEKwJ}=DBj{3B)6FFy*Z;w4=BA#eDk!mPuuRqbcyr{D_tj}nwa-n(?x{<& z&&|OvRuNT^y5P%{nsaTaEknQtIWMPKJFL=jGCc1^|2Wdw5nfApyL6YatSso=T!VW^ zx9CN@{YTO-4tfS2f&$ zd2~B7DG_G{imm6E4`V!*(A3n`36ADGlOIyNA2RQN(9@&GGbk}Y-NNPXv_CowGdi8w zat&=hvz^RAi}~;&pTW0WC5pJR^hYCiU}fb~uLfsU5Ds+&=0mgn)zu!I8Xpl7cB2Sm zkz1=iYK#8#{Kpw`c3W`cm!Dhc4@k@|BgmN6)cpfZ%H=1- zWl2(bZQ)WOc*|810Zz$X`a0L9$)oBD32Z_3%Zw}d{=lN>wc}>>FTogi)a}E8XjF#D z0#+o-nWB;IN9)_KndyG5Z}M1hOYP^Oq~eNTfQUK#`}f*OLlB{V$S8iDlcroI zmm`A}`0O#7v6xaw#{B_c;M?Ed-#i52`A{LlCEgZKl(g;$e4EM-4=*Yr{bJMz;(6U? zk<=O=nyt3VGR62Lln3F1OR=fYIGF!lxr`uwp!{prLw{fKED{0^qlVDsPW70$)bQhD zr*vU=tinP@yQTJZeutgUW~WnGtwx%ehrd)ooq=dCMNvYiXm;qS$8~pv?82C6Qp^eW zO$i8GcaA!itg`(F%bbog8I>(wxGq1&BkZJ%FgSBx4(Qm%gv$(tz%)a=RJ8aFWx6=VG`UyAu<3gqWb&E zN}eMg#ZY6yCDgNE0fwL}c%8xyH|au2rJNiV8_N_M3-M2P=|PCm0A7XBL5F zdkZ%jDxp7eq&O`|O9F}(+j~pD_D&oaXK5i_VTFczx!7kC0+_N6SL|u zYvO~Ul_f!kvBaF7r<80uW%x&HeFGy)%j>4M{^%a12DB4(b3L)MxR~t4fvWwu1KKZE zgb*r_K#>!z@UoD?-rg8$RgE z*@g=a?!jGaZqn)O6k?&E2D~URLTy(}4gOvGo>S-@GJtOR@YxC# z-v*H-s&Ukm%sAUulA)Dc|dUJL2-_b?Y@w_UkvSqh+EKqP2Go z7z%~2vXlA86Y#Ha+TU;yA;?2UpU-ce-relCQSqX2xyRv=@nOlQxtb`?pkRA@5*0~n zN^Nq#N_e`~ukUZ*PUF$qUI?aTT3!BsSB| z(iwFp-{?%~jS!P^d(2lt&WNH3o0+(XOC0iC&uHzKN_R#Ujgq`cba^=P8+R_yg#!4n za-i-&h4NyFC2pi?IBTHm7ej!%(C~ruy1;MOwdwR;sH>`~VtL^3D=*a=AE^exeP^7F zNPU-_H%Ez|HS0?WgO1NUPZ80kZF1%#TU1HO?tYoP0b%N@01?d*V)v| z5Z0UKO5l%XBrXmC{;eYr98La9qN0~89BP$Jpk^*2^@7f~znWcU8IEZim^67Oi0<7ET##+IA8dgf5 zVlN^iD+N|KoUbZc{+NW#sI=-qH=m@WLf7fViByeS_Ti6*{dg1u{Cx;@oM|K zU#?W_&@yu}vEy|t#E#*w*p9Uxxs}Xfx4(PdQ%XOB5MANLgL?kvf@NM7k29FIF1?x> z$mF)ECc(S8MjgBedI!^K0*zR-o2_m|4^~}0_fYC>FVy+&Ccw}rMzw6lV19rRHWf)q zb0q4~F#7QJ7Fm!GDwXVD%q*-RB8j3G9>x9ZMY+bCMpU_U@(SVCL1@!1s@_VZCe<7hp1vs9xO| zD+d+DI1NJvI{6n`(WTj&wT@AF=fh{Vqj_YHSv7`jFt-K=%k^A8>((o~ctgrjcFMpw zCbdaCViE`{%_?&8r`CC7eom|_loJJwP85{>aZ5Qz_2~mBuQ*3xY#1|G^af7*8Vc{v;&VH5z{PIKvT-lnTf^Bf8YYo`XndiURx9%FIlrVS#3S zy~GL;58;4}Vxg8w%YS|SwCGuW1B8~l7>2^`|Z6Jsv7-v>RWogvsvK!&G|_&wxB1O`UP9cqKb-=vehCQA@OU6v(c{NaiukfiLK>eCu75P(^8JQBzV^-6+^uS;SG@fg$v=N8fijS-CSJ&>NZ7N6L z5euWC*1Q6jyC0o4C7HXL90n6Xwm~eKQNw2qtJK5J;Ap03fKrnRI1ni$vV57oMTYBq zw!M4nJ+e7f=xnhwm)pK&KtCj6>F>3D;wfW`L#f- zXX|hRKsd6S+)WCU4n}=?RVU<(Y2XJBLX5>BMOwwBojvE5%w(gVb)N?qA(ru@GkuYY zG^5AKgS{+1E%>bGP0nRN`N`l?xDO|2q!vrY64N<3EciQ9d z63qraHjaP#K>ue~f?@nwvZ7!YYlNo)^=(a|`gjBp9$niMYsNW(1V8LAgbRi2?!}zQt zfK|h7YvObGMtIJYfseW|58iy(B5?g_+1gt4^cA1{%ee*)XkMmp7+?$t&)4BJ-JI&< z+~(y)k_w+Y5TGzw9MGP(7v9zjlUMJLfmnCgRu{27bdl1U3M*_@B8R1nx+1) z-xJF<-+p~8AVBuhTfwBWKjU|^uh=K$v|s^8vxAcfm452Bn z$9AmAUrc%DcrZSE!*psUoQM!8zT&BPw<@r+f$xu2>qJFYmc&4}kQ>csGI>Z$%4wH% zdZDh8-cmAIad3U~<=dMP3pTw5X-w0Bk0Nf)E#iHTbF4;3R|{4|%h{!&(vVEo-Kof* z?~}4@n{P?^c5IG!CZBKPs_B~qx0qC7;e(<}f+4=exF0*scP$_;`g$(xi!Nu2>)^$e z?)cAoU&#G|R3GMjyrFu%dbKxHc=TZ7cOj2*hG0JYMseu1{myTDHp5iEc@bUGtJ7We z;eBRR!l5BvyW4B@K8Bb2V2QUN6=EOqZ}#>&%|4ATGIZt;%k>=N`7F<(1#%V zF3SdkZfb3BBeuy>x_TWlqGPhxyVB8XI{?bAflDP?a`!7HE3;Wl&}Ang)8`V?u-;`v zHQ)vVccEec*R(ISN{=V``j)7Vq1tvns>%C`Sr<%@_vzyxW3%~{%@kU*AJVQr zY}|ffL1ITyxue=JcuS)V%uiW~K+D;?56Z0658R8Y_uZ`eG6b7i%C!*!^0s|@8OfMg|#nd)O z%VL+H_`~HIc9SQbnokViaqpf>L{<1K_!I!IyFAz|F7=KumxmLwfm(e=2xvAyNk;$2 zXR&`HF)q|&|0@qH5ZDS016ERiVna;4i5&@T*k#cB z%wM&o4?h33>!#JKs4BFjSv2b+L|0#pz0^e=(&Sn6(Tj|d)}MGcJ5>3G$B?-DL{Jda z4Hq@>46e?V0<~sm*Y#e0Gw-z97=(_!*|^(68dHjq(WEoC1OLEuD0mNPmg;)h(@C?O z!DYUnUarwE_+Gg~+zi4TLu6f1MU_!dZ~3egrl>LY>GFiaGBR8Dh{STREcPR#A+j!1 zS4%T-AnJ25T75DT7p8rQZaqn^Tyw7fH;1U0P)lK~*caJhf#Q;7ed8_(S&7F@s>=-L zYiYJlzTIlCj=P_*(mluT@&BAF8>w}J{;kSNO!{Z|hhw)ddd_8@XYagDCtvH-IuI-8 zeKI@WCt$j?=Bl)wR7kRVWEh+wtd!Ca>BpLBJoBaVDp0vz*JJzrCDjUW$A+uMtbK>2bV0 zPZNYC63nb#P{a_Ro|~l}Lt26o0sl4?H9YW0f>{1YW=OXjozY}9d4s1vO^oKjBlaI7 zGT|(y!e`e<{0=Kjj~_pdO-u|XVb^D|hdq;MHx0q1_%wy>dvRp!lto2Bow&6Otcqb1wLuHaIokUAEEOW)U97c{d!a>0eUOp@6bwuzSZ{h#nH+ zb4^6oyz3({CHP6ddGwxXdz0t&aUn+qWe|kVcCLgxvR>>$`a^mUTak?1aF8{6)9s$>6i;yR6h0;876cV}GaqYuo@l z*X}3Xe>F`$e-iM=HUf5c8=a22=dfiW@%V}(F4roG<0=bp73gS-kxWdk!{za$rn#P} z3Ox8E+@%NZuZ!wO`HFbQdC%Dr@n=eQldqCzm2)euQ;)p+c_oEq z!b#eO^Phh+`-x@Ps*6}g$mRl4K^+s?TuDX2_qGJis&cV4#7m%ARRpRoEg&U{8Z4iL z8y36R%)0nDndK{lma3}Dn9OBz%WOYVZj^%23qM8yEaage?NwLUH}x%w_epF+#A)(i zY}uaoT>CmUa&p~o-bkXH?o0-Z6sXYhJyFJ#F1@$c0qg$TT??{dRHObGf(7w-OG&LE zp|q2x=@RP^hf(`fm6dbh*{8nLZ3hHkHH=+3Z_lBsTqER(19T5tF#zd9nP}np1iF$` zojbxCQ&1(`m(L2Rf^#%Cl&JV(A}F4{TR3?(H|W{G`w|T3iLbMP2M-xcM%Mby`)o5? zQhBY)Oco^*4o*h);-~zRWBfw981|;}*V*+NNNK#v5&~QN0&C0{VyB||U186%Z0b+l z?rxX?>pD@PlK0&Vn)CKp+oMNKU4_uDi=2Hr-hfzIxuO#N>`v;=Lt<8Z8k(>0(vtuO zJ|o{79L4mfn8113;Q<(`=P8eiXyhgBnk$B_2j~N@M_m&3?63k03kyk~x^dRI?!f`( zR`fBK2rCHx$B!Sj^Q?-|-6Os$pH)+#!l&n7zj52sFD)%qDnrg@%2&-xZuX@b2J=}N zRD5VKa49u(zXv^dRNm9#CoR#^LR&>8)1&$pogyxd({@gnh(!ael*ZR~c6TL0&il4x zHh6pDYp(X5s37+~P_5v1MNoPvB>ebpzpTk}s~vquj){p0;2f3D*-O(t>QbY|@QsaB zw;k*y!$FwrK z0Ki|)#i1y(=+mR8gu(%z9w@{#DGc^7p=HFu-?%e_J{IpXT}C3qr*JH1t8J89RZDHg zO9Y~*MT(@t*!4vU$bx)LV&+udK2-Bd7*I=!+0L|`Wst)ww~zm%z;amYbpfLqi@6Ft z5P5JW#MXBzEa^rBJZvviDAFY3v~srU8Z)dm={ov@*r1!Kwp`i0AC+}e9f=*k!I(cNaf3LrCV9PKTv6H;~w z8M8P~?)7Ide4;eDow4p}+Rwt15@hro(Cz?4$p5YCwOIU9&9inP`%^vi>m&bbahK_8 zo>y{&kQ1Dx(ZA3J1fSr z+33r#h*@VPu*A+hXJ$9C| zNT(k<6m(&P1{R0*1SXS?na9x21qB*7Q)jGBy%dp^lP#6*9%fnMzRch%f;oxpF@3pO<=sm>LyS~cz_ZMwa*dTKkQmf7xTW^TXMn<6wWl@O%%3aZ&n zoxb-d-n_iQSq_X(m`*&3g)a`nXR-MgW3BT}AARf(nh#cjd5xh)l8ZFUDV4R3yQS%3h@_ zkjLEKS0`-%NIm7*7_LgYonJBD)blEHVs=5y6sCYNTW=)9EBYo}oWK%wnDe(2zKd=O z;iAqp@1{SgCQE)tLc%(|?*;I7!@SH8is#*@L!yT;Dt(N=6T5y9fBMUfpcAUuM|7d%tou zl-pSu%`p*%GP)iIonb&zwTdh4280-5*qun=B8BHQl*>M!geWL<{EL1xmw88#*UaX~ zYm?b05Uk0ad0!+EBQJSO)4jPJMcLElmMB%);C z2jKfT(Ewr)KHTI(ZZIrHbAAzra#a=gghLMRg|v7e#odiJb!fM zxXx(;2yU$@*PYKlUu>>5Tq~#mk=k=vTlg9XA(ONN^PmyN*${zbt%TlEMjdX~N={Q*KtojbPsD%QGKEC0fcH#{0RdvN{-{>#;HE(1O zx<86sR?>)gJRL7JEJkK;3u9FI_-n}B;BH7xFdR}BySce}8Ti$>IUB3Bqv4GDqsJxL zE|%Br#ro72`R6K~+qMnaXIo>%H5QcppF@erTz7uA0)!1&yh21}S~d6tk^hNqU49%g z>j%Oi|G@!yaV8IfPD)m+^{IaKL8aP?7k65jTuB99ge`k07)nxGV6d*p9k<{*=AOXV z$kQpl_84ZbcKhL`p9@NPaXoYN{W%ddmM4i2xtbNd@$!&z9 zg9TS^$w8pLv=6LrQ>kk`vhbBErPMyB?K%Z$>q z#tFVZ#majPD%w?#-Y?M4)(I&7MZ z%s&|?;hz~wmw%Gd`ah-Gw1@G3^VV)74{_mc7t(9LY3hJ`JrBFzW4ZzpJ{5&+2Ku&Z zPfFTs78n2K#q`ikzhp%tHR@X-wdtWW(Yd;1LW4$yz}R=K6;KsJ(m`{Yo! z|6ALS6Y_OoLG&=d@)6Vf_xS0r=B2oUzc$~JE2Z(u0R_U1xf>aS1~-DRurQ|O?SgrF zWTPrQXAx>rq7v!Ht(oZ!4|au|2C=28f$|-`swm-DvE25$=NQZ1mIk-b>g7kFMS3`Z z{VzxebZLQ_?rwdD^4{uLRE8Rmuc?KF-~`X~&b+){_*mmF)n`1dtP7L@85zOkJmaZ=z z0KG$BSy@2HB!a>}?2Fww5}#~6Yk6Q;_gF-Ps!a}iqIY3qD0gF|CNr)x1z0)DlvY^3 zgny2VM=SbdYmB08jyg&r0F(>Z(j~N{3xCi{Sa$lG#g{1$Tlt%4DzT_&vAJ;LyR{m? z(n61mabJE%<=hWV2|v{MYFJQefyr&H z0~Bk$%b!Df;*DUrO4BZa_RMs28UwM*YKqn~dCcU1fiO*Y{ee|m0!U=41@A;^0#ty< zWJ>B5QJsrcGm4)s04g;rD<5z+f{)CxQ1Q)IC> zP*$A zbN`-m-nHI$z32RM77N(S-g~(AW?$d$r!FGYRpqcTNHIVl5VnH6v?d4yMg=~(U{K(d zDNlbY;2XZ1jGmjUrk0wHrj*PpDRo^<=~ucS4q}j*-8fFLdlby*?qjYwaO*5YzW=|+6AxNtJ!4{ear})+6X{j;5z)> zREm^B$RqOcGh^l6-rnlhGLdfsN;L*L6|_sd9z{z(^FNp|y*fUQ zAtjtoBJ-4#q#=505IN7{qj$T=iv4*#jYWN(S!Zjp#n+Gz1U@SeHT!!F-gz6oGqs=M zYd@av&8byXICBTwLz1~X*#?ui68_K+Z5(jDwi?S*O0XGQ>xIB-@u?B1AIJqGA<5j- za*S3@cJoOjK9zBKed>Bkt+MdTrHA|Od=U6XF`n&{l~2oy_wcbX>y05JZuePkQZZ9V zny722YKEu^2La>Qu7E3(&#ASb`!=CUy08qWT^DQh)u{_Hfx)$LNyVt+V&yyV^7n_k z=VbTg*f+Zlg|Ye}PW$r$vyBd9*f89JM+C1oPoB4Cx)&9FuC~UzTcTQ8-lS$@OV1f@ zhNOFY^dOHMO$rci){c&<3au-Cdx)8{f1@%VwY!W=x&fkSdgGFPq!GNt|YGC?s% zHY$J8VfHw7WjQdIkVN2fC=Nwe?=~9dpTzb;o8nw3A$K>p>Y8IT+cU*{KZlcL zHilni&QxuTM3Qh7=|#k)8ghezq+z@S)Z|}aD@oYj-SpA7e>KJ6!GSA6g_C>D;_*^5 zgw9qwbYBHYh2d&xyKzT_zt6tFXi;&aaK;oPs9dCXIz+rOR?J`qz2#i~WcS`_`_t!y8| zvTv--N37_Mg|&vp%l`NB(NTdJmMY!seZr6??EPLfO;lxLIHLgb3ESA#xYg!BQkC0o zr*mo5J<5+0?YGQoL!3+~FcXm=Wg*Kwddl9aO_J@rY&rUz_LT)@-GTCF&lz5w%yi(g zVBh_0dx|%4u!BYs!KovcKX?3E?$ZWXLRtL8T@ZijiJr0DD+ugyq1%fJ)?a~nX;M{E z1mfl5c}?}(Yb6mPWjKZXsi28X-Q;O=( zzAf%=QZm={wfJ`e`S>Eqbe0C_g#;7W+c5Wcf>oyn`7rI{0&=b2WUof1JGZO8u?nMfXKo?^|KUDHTCv zHf6o=$-!_*{}ca&#@cs{lZFfRY3mH$D*GUab{LE9>kcd7+~RcAnJ-(OPh51!-Sd|; zI4+H|APtSaxBEguHrJjMH#0Uz3-1hBbU6h%`oooT#|Li1 zrDmxL6>)Y14Kj1*ebofd6?sFWj`>dIE*%=f?uw%G$!S(8%aF!R{WtCQnIz_G?SlPc zHjO!(ogztZ#^b_2N+OendAb}dy)&bM!giAdu@htyey23d2kN2CJC_>6*ss*9RvxWs z=hNxDnNIa_Y*Yf{Ij`w8^6Ow)%lX#|BfcLNt?5-V{j#Q1&YEk@mNi{1GK~14U919o z=YJbcdP=T<^K-F4km5#jI=WlCObJzh&_Cv3RjAfXEV|>UW-jFLiV1x^%kcBT6VZ2N zVLQLC>v89C_c1TRZaVLNw>m#~;RwfAeY?K(`^G?ba`L<3=+>biU-RNuLcOuN*xqWb zdL7Y5{i1q6q1*(cP=2wh1SW13329xJf|1>pyZ<@Sw$G94PGf|(5pH6fg3%N2h{k<6 zoSzsP!RZ=X?hE53r9xskrDj)eza~z)&puf*y5QLsys|O!^!wIW8n0j!aK77E`b4~C ztTi+9U04rMXI%sQ=^81*?WK2moNID29x`md;iKVT+kwD)dZ2r#{bq6%y8=^7Qvo*-P@-Rb!}amNN>%vF4&7W_+} zVOnwT4&lJnt?33AgCuE6|dZvBo4` zRfeF`D7WpjFZavzL<@DK`ZphJpVLje!4$59*Q*|bA&i3TIVSgC~?W&s#mM2gQ0YF1pppc=oOO7~4-Y0)pmoWuy4O}w$N zuTv#5?=YX_kD8fT%df#~r+Z?8ggjU0-$8I~5`U*oE$PpnMNv>o!o!z-i4v)r%0Y|Ga? zHcCaTy^jr`vD5ky+?Ko2%$m7O{_5YUzv+GHgQQ+kjgw`_)L-V zOSARf^*8Ne4+`dkTQ_+c26vM*hql4k*fPyegY5mWCl0*b;P&1Ih)$Vt+P>IZNgmO| zoH%-=O4rxKpbbhwjz|ihj(m#UwaxWatKpmw?+tu88FJg68 zPu(~c-fy=>O%0nI;SZE^&pmU*B4PHvQolTZUew)4wzeA-^6IJ2$+x<~mlwv|T%v)t zlV4Sy+VOo%sKdRu*ZHcOQ@bbV^2TH#^xMSKLQLG}1~qTwl;XerCJE`)GAr_pG1jiO z=CB>FMR{h}9MmTu=)#S3eOYbafhW0EZVg2Rp@G0xe|x+kmJtmn>T7q*ooaqpcDuQEh4IczrSFAgYXW1!e1vc;468gn>-+Kp}`$s~LU z`KmDm`GW={^PMu>-hImZzqH0{waP^Oi@ZNfer9*%aG0nO_vit}?2wTZ10;I1}VM{TOX| zO`pu}%&b$U@#)}YC{erzmJr|I7lTOsAMs@U@vhIpKgzK_jlv)b*3)4S*q>J%9m zf!fE0OfLR(u@FU#M{o6So}ePMfkVgGgmZyL!yks^cw01<=k0aqW>dj3O!?W}iM^Cw z-3|`#GP4~Utq}h5Y^Uu8eqJo2!i?X3#gAi0FmjXQC%4LD*kCXHq&zN9@yOkoG9Z*c z{7+woMGpd}NMC}&Bz&a)z^hic0;fGu>abL~1LrQy=gnL3{V&b>g{UHxHW1tc+RZni z4*A8n?tC5F9R-&1(Bv}1&N-9(ZX1T;$G=)O_d{Jxn2Rn?tFl=AhSKte8i}foVM1Rl z>6H?0>~G#bQ)4v>&8j;)JIMWPkb}}=2J`WtI^yU}Ocl2D18YGVP zH-#|aW0y~lnE0117{;eQte;t>SRCPX(Ot~@-sz7QN?sj%(-v7P#^T4hL^PJ+2N6=s z;{|=LeJ&MSxy6R|T(qxK5~^OlMIB6v>8(CRWR<9@$TSfmslqfdX+;6&^^-{ZL)GIO zsZdHJGJPyd%o3^aBQbZKruS=>*&y~SBGU8I_i$1V1!h~___o0&?%gfi=aSEczfviw z(E?3oPxWe>7X$WM6MYQYGrJ=WYR7ns`WMS7ZvXf8voc7K;@5Bm3VAZ8!BN4U2%8>z zbkvTU|2pfGbt-U$A}xW>(+-OIqO~0wC6+6D|E%a^04DH0HYoScOM|;q3^a3)kDps? zlSALxM-l>*IbAuM1hW?G>52RG#R1A!!v@Z)%gaQ43ob7Ei}UmRuR6t=#k$|F_U3mD z3lIXRBs=|jOF<58I-WU=?mKaH2~WJeeMEWg_kTKKbQ~ttd3(oMXKLg}omEc?qy2Mj{{$8d3tb56@GDtSO+s6rsxR{Z__ivk|*xy^gvq}MkwCG_(P5u4D)}GBG>e0n z#G$#%$ep5xq^G(c6ez5RL8xoc*yk`z%+*5iz`)A(VDytiU=s4DprD>!J9*s#aNJ2|MA9WPu@Zavc$xG7w=1~Kt1_JqG!6o!I8IBsl1G-covdtXeGmc-m9ram||xD zWrME!$$UYg|5V@`C~WhJgS!U{4p7wz!aNlSga+mI?tIR1_cH%H=E|ruu~loWQTd@BvWyk=0%1^6}LWZm-}p86Lh@_C90D?Q*P>O)8#138!bHn-@L zAqSsG2->ZjW6WN-D2OuZ?$*Xh8nxwasOkHs={)%C5h^?tYO(=9Ayx#N;3^f|fb z!JaQV8YUx8nG*jDrl?goAFb`Y4CA$z&vD%t8r|eDD>TjN>dJZ)-F=v+H1($1 z|Hfms!j%!gP(2pQ#7LckMgPn6QlsxfwmS9a`y#%D4@j`z0S%pLOTA-Si9ZoG(*xFl;N`#v^6B{p!f{v5DLMuB05cOv4Zj;23CN(Cp zhbS^Wy|&tsn|C&|)m!A>5VjmTsgFMij_f{y_q}kUexAWBjFs5Bg~jthA?MZo8I{K^ z)%_8R4rQFOirE-3LiyACU&T|I5VWP77~PW0FDx&d`40>wR#U;L``2eX+-67dPy1E2?LhbKh_XQbM7i|B4EKhTcPiv~1)EVht_wl7^#WNJFaI>Sx__jfm2!1W(COqCj$g~{eY4BrzySEz7y{v2lvE&Z_3{??C5 z(4P42?m%peF$`xkt0U}+D-`A32f}q16);!|ni{;eTCv*g?fWLq;{A*)#pXF*zex|Z z-${p>cEE(-wNwiKR}q?bt#@<7-}|2lN5L^hkJqU*G&S*s$oiyvqSE*>?|n* zCS{sO=aOf@P15zVc{#rC*NbqHT-+z@^t}o{sRGQcI@nFkPnl*L-N^!Qtj9tM$k1`4 zGsDBF-R^JENVzOog%0EL`uPnHMrlK2V<@HWuFp31hFh|BLNMg3;>ZllR zfB*iyb(+K_Y{p@^s|O%dsQcb*RBOF|ie$&N%WHx!*zBA0d6jvBI1V10A3sYWh?nt)Ghu%6>ibYY6U4BZJOLT5i5b}hUxt$f#Ch<+b%^!ytuDUl{ zV-@=dX8mJW%v2If?s>Q_`(Ahtn2VOP-{imQ#v}MZ0-M=o+rwZyn;BWOhEl>2k~m;E zStN{tr~{3-mWUc~v5(%!1X!m6iiL!EODpjV8~KRgT+7Kym4WbZv5vWm)|LqV8#_p8X$(9k(9 zW#u@}4o`6Eel;b^-m;ZCxxgNX>9uca^sqcoDqJ1N_}JfZm&9t+<&R>RTxYFNV|UZ) zlvI;=HyQXw4SCpDCblXu+W+!e&X;IaCn{RCtFUA2g4Qz4J#&r>(TpSUzW5FQ(wNxn zj%ZWffz*J{j(8oPIQ)|!U^-wTzl9eoMy1?r(y(FBGfUyci^(Uo> z4?BsXmsdR=79eO!N=imbGecmyhbZrXel7rmWy)a!UwV3gw_!4A;p?7s8_ZoCXD$`FC0}w53m)q z0*NdX6WUKz`Ue)@4!nQ=85jW|Ef;TbA`^*Fzd3QozDF9O1|XQgQ{Y9)(+gaaO0AzY zFjWXU0)Q?9h36B+FB}D(4iQ93FMK8S^EJ@5;h%$p4!Pa$d@N0LNnz?zg1+Y^9FicRvH6Bagj8Z5 ziu#w=Kyfi*_lZHlLgTk+m^R{<;w~lwN=re z&9PbeK^HCEmLBP1YT^ia$J`rpT7PL!+0`0Ci36G>31Z%xJf2kWl%4^S` zCgho(Kb+Xx;&TVZCZ?}n0Qz-ew2=%8r(dkK#HZZX=Ubd0xH{D53efSnBDPZ;TRMiKjY*TS zK^XA#9~>*0PA)307JE>5E{zM4W_-c-qMk3z2{V-BMXBM6E4yD?dE3m-ceAy2Y6;I@ znUeCr8-fO}2J4nqvf7fkteAWznEDc)Q^{fQy;(E|LG*~&Y>Cs6gy%oreNe`Iu5AN> zCJ%6$m$3y)+|9Icx?LSx+U7$NXPUpRzt4ueRX=qk>WK#d|D`pr`dt^6catSw}64 z=x6$RX!v#xv(*+pZdfGZwvE0Ql*xh)q%B7Ud<_?J+8_`NV_!ML-{VV+g!X8rsgz)X z=m0-}Ahq(P(jI+8aU+C(L{OQG1Tl53i1qEyR6Sv2aP|j5vO)6o-wbM!7kzFh?xXhx zll|p!B=ecMm`k6(K=-J_S+Q^2fKgSm>72q#FBnZn1u!&CmYMM+ zYuS_~A^2u)r@vPjmDx2bSB3h5wPfXDelPk=Y>qaUDb{RPo2*FgS7hyyPXb-e0a*aKGmGJDPs)R&)NfAiyVD_6(Mou+34Nx;OGQ`wmB)1)Q z>zz|Gkkm!6G+21^>F%$T?a6P9T-coEvD8wko1AR|A5Vi(QW74upmaQFHdADb2Gc%; z$#q?W__^{Kk0@3H3K@!4HE56S<1Fg8blK@u7u@Bh@fR~Ns5+szj5oLAYg+&ms1(?!o|9a0z zw*UCdjaVePcrZ9n&*{Vd%PdB+DahEMLQuz`Zb=rgHgaIVm^R9%cvXYf^Meiy2g89M zzUd^i>yT@cPrRQ+zQM)(R3ei=%|-AH+AkEC_$C8sqF@wirEj_XSIjHo{oAP4YT1Gt zJc52d7uR1lxb*7A`I`C`+f@ZRst-3AL4_a3vjzV)>-0xdB3mKnfg2z<`?@y^YY!m& z&jsNcGFB38;-6sD2S71ad6WstM4m(V@mGKUPW(7C-k(xxcoj+V8H}GPX9w8E33EAe z;hU^5rdVm1w{pVD$Vvw}kvI}OWb47N3+_2Z8K*=T(NKxi*Pl5^dXw zlHLnUcDyvS2z+j!Fh4U21u$xPM{w-fCpA%1C$JD_C{;L?cr-?7r<&N^=dFqM1ih>v z%;3Mj4`B^~c`GHX>@WBlhJGk!8BFI2D>Z78wVNziVM39DT65j5_YzE+BZ)CfgH5}- zR8pj^BtU_{wI{N50JEmhpoUZ#iSd&`8ah|&SO6$H$49YND4FCU9+9tKzt;O=a~FzT z?edEmxMku9aENez|KZ)m5*NGp9f|h-GlSY}pbn2kCUN!3jBgf~wf-i-S`u{MTImR5 zEf31->HSpjKYyRp(p#tz6jqZt6^7_ftT2oEIy|B)-VlzEl=RV*?t~9y4qeyeV$zt&bwqX7=P}%?a1Ncv*K|H}mF3E!s0Y{8jQ2f~8hKyRk z;dt;-3)8V3HY0#wm4^Y3S%>1!`4Njt|DTQDIeD6Z1`Y~(GuMdqXR706v{#3QxJ2q) zJjl4N07l*9PNGaj9vx%W<_|&;i~6CSP%nS6wC~?lksIejaNRS7R_b+76F8uc+Lbr2 zuIc=xpOsn(U=2`hj(wPm>c9Y&v9uHU>46v$B7}CtafuU+dMoFaC9ey5%um^jKApc` zRT4}aj1jKuoIV@&P#-qHP4(A=1f%wEbAEpMGCHjqh%8KGnaSCXR?Bby1aLNj{+WR^ z0i()mOM0Tbkh7f&?UO9aXJ9liBo5a8-i>6$jL&wr+ihpA)}f%j-b)m{jRR-|9@EaN z-Q&O`Z#|qYqC6FCEM{xYtyM0ELm^AXn>!kvCX^IJQRx&zC6>{j75?Go+ub3t8YV4*)J0m{vH+MHMtzI6j zl8b;0htfs5H97$za>)LBb2Mk5DI5l_B13rkuMXDfp@v%gX7)K$|Dk=dGP#k#CEqh5 z0g?a=WdQh{-V*B~0>c-{k?b~O=78%!Sj7?igQ5e9l-ZkYb-TOfIX*sLSpiie@bFCJ z!RT_@NS9O~f&n0r&D(dFx8zASq9A@$I4T^t^*f^$h3h*?8$;=4j9oRcbRma*YrR^V z5BHbQDptqo^1#Js>ak(O{QKKAcEW4oA%UGV+G&WBP?zCU0VPVxbm0)|k#f8=5zlBI zIzU-TlQ;o)5CTmaMa7b&L@5ER>UXxS5j}3^_NVFr+D;p zYrJ3_@a4U1U3%m4Qa`nc&|uX2U14lI)m8=Ds)0~l2hp*#{xjBb3!qW;^$cLig+ko= zwmK^D989tew8|@G|s&O9lsH)@bhj7F`(zFfZBQ8NwDPYyebsP^~q=A zfsUkxC;4WRlbC6=Zv+UxBpv{DC#7}W`o1gs>S{WAb+Cq5n`ArH>Wi5{Xn3dIV!Qp| zU;dgpX#uJOPk+|bn&P?>tj7e=g)=)*Ex$l509%i%r@Q#Y<`nuLJYoBh@k>b$8WsB5 zFIqDg5&-G5qzFF^ml0vym)Mf(DgSw_YN?bz$AVb<%+>+O3LKxtD6re$nV`pXi(1{K@zikS>K(RX@X%rHc|fkX#|k@Sy`p%7vds20r28eYU+Jwbmzmj>7)>zH#W>Dpk%vx=ZbvjxBtp@3!9)IUBq7*jys0*G!Y$43 zbb2w!2X&R}o{0CT7(w~@L8gBO^k$naFh5k7q@<(>g`I3(Nd$&6nQe{boledjj8vF) z^Jjx{TtHo-V_XJhJ3Ohl#($JoaTH7D81f9ZY@Sv#H^BJYf?}2N815 zE`CvVq>gyi>Q`+)|q^m=4zveGWM6g4@;qdh)S{Zm{R#1X1PVntjZQy!Be>kT0;TypG~~2 zs?h#+KbODtZH9wAwmlcn3`@F~zcy(dh-Q`i=C(N|#MqxtvVy~jOdL>t_^&-tKVNRg zOHCJqWzHd2ohd^f9aUL6uZ@25#TCUxRNMYyjuv*p+LxK6)mt33 z|LNun37Ma?KyrO`$6y`X{(9m;hw3amNyro?vj{fH^l>?(2z5Q8c=$zVO%mqP|DNo3V<1d=Cs~E$TOUn>wbYese`U$fM-|tzqxg4wIlT`?_V~^Ni2a zbBs&Boe3ylj}W)5cmP!44@Kqxh}fo#tr6=lDgJ*0#R91R6BPe9Ci(Xz{r`r}n4gT@ zo#T{+Fpx0hCg&a#<|kAbDhx;_4MgYl3)FlzSmc4nRx-qn?X4JvrjA&spVNftehFS3 z(2v(B-NMu=v(q2_0H`+rCN_SRAR)l9=%-!M`yOY{J2P|hSG$hMwJhDD>gn;Z>5x?O z{Apt}#&Wy=qpYv|%?x;wL))An)RCLt?ysH5kR#mG93L6flKKq8Y`<^Kg@KUQ*ra0s z6}_5ON#->xh48aRqvO&r%~%ekDy*krb0736AG~boEvzOTI3qhuJEIY9u^vio7+A_Q z{y1byNDJJrnbp`89e0vL27>A@xBB=brpmx9wQBZRh zO^nHwmE|e}!*tpP3tb2sQ-FTC!F&fz)VjjZ9;)zbWRud!xeso5i;|9KuR`$pb)w26 zP@u2o#Yr}k>|cY+Q@rOZ8_H0i)QW`I%`O+Ipc`>Z%J;u|OHdmAdN!m@kK1n2KAN1A zhj*lkzvy;!bUe!HW~Z^G8%*JgX~0^U01TNcF7nzJWs7dhZQ%XhCjd6%b6m{T z$dUb2SBHyBg#*xAn+cDDMX6%lGRs;E0*~!t{^fbujER7F-gh? zi9&w-`=?T>7)XdK6blrxFCv*(b9F}}qrd)$?kgH55zTWdDkyp?`WME}Ur7m->T=s~8yg&#FL8yziMyns%{)+P+aGuqOBM8%V>FwQBSgZ3YR1TwlBPxZL z>|g^hp(g%Y5%B_=%t(1hR@TzxUfoh@DKbHkNNOqQ zU8uv{Q*Q3afK4Fyds0!XTX0w|wSX)AGMVQlmOLcd2*0p2PRh%|2ul9J74FjkW>gN( za%{beuOa9_$H^@k&v&*KvpcsJ^ggDuV-(-VZW~4T_c-lcyL%XJ(jl7B$y@+O?pFUx z6OA|8-ckVaQ;>}fnGN872}_L>s4-E9`h^tG6CsxQweFy6`fDuUFF{9CfbeTx^78^K1fsD$58O4f61$0Yabu~P`19YG2C5bj@aRm#_G*nVz(YK ziDo!V9f>Z~E5dJR@^y;STEJ~9e6!%gIgZE_$EP+AW(ziG#8MZJiAK#HQ$U&>Gq>Z@ z3y2~2^iVS6>CHlal;^i4T_nBby>oVA!x~TG$DR7&OdOv`dBJ)Il_JTDL}&?ry7@=~ z{fBFtAM~r_H)7-$g9drIY8A4oMVL$4@w$sQ$(P77Hj;RNP29 z0lU>5j5^LF0nwsbq4D>zur~13dC4g_7C=PKEF36l8 zrg#du`T3kx_}P!_Q3{ud$v?RKYLRdRyICQ$bk-P|@t>Ohh(NA>`6GD`LHmmz1{Nca zK@5P2e3#Z5j0{8qTDIi=Ca1QO^U59noB7KlZr>qt+h2_}8jTKrEnJ&pbJ54$XlR~) z3aJHs2!)&k7#Sz+K?JTJ9zV0$8nakCplUOWUhVE4`SDJHn~rlVvD@UwBqepV`IhE3 zAR&Hx^*voyR*nm?oVe&O8Fh{GK37Kk9~Rf+Z3HDI$FWri!=cE3r|=<>b8jrKe>X8x zC#*v?O)zTFn@{XwjZrlnwL5YEA@L51LY%}=A|8UIyq#}2DQQH_6qgS;-PFLq!1>eM`B%Km zEg^<7ZS!EsERS$mcDV>-z7cZ%jq1wVdNnzh%7=t0b;5&Z2|~H@uW?3fkb04u9REl_ z0%iT6Z8!d{Vvp?3q5zEPX(!#3@&PDGyUmp>Mc7@q22cTvv0}muxswe|PXs_8wn_>w2fOL?SeBGrwCv$s z&kC)ux%iJ`K&vG=rN~75sx|VB<_3r=h&#!mN8boKz>S1Zw1{@9zh3>V&yCjG{gF0D zpUGmiD~j;RlWuC!`wUV4P??wUton)tY8iiSB&D6#tA?kO@F+}R;4?-#O5clpsSKl* zzK@_#$hg(OvURpy-M;cdH2IJ6l@4z&NCmN$KYF2XL{Bj&kYVR97&YZkYBghh^<4r* zQPH4ND-MLl&+FqW4T?3_8na8}K;8px7DSF>I$9q}NB+wIH5L6=zWdIk#%+l{;dBu} zFl?y1MLLRHp=f8y^)((B_P3XH9IF1w+d|r3*Pfp4Kwxyp*bj|Zwv%8H=h5GxMe=#y zK^;fT;|BmJWk(^!;eYYWTJlPsCVBBWIk|PVO-c_CTv+(j zfEKpa$`*X3C^Nn~_}%K9QreQ`$>0moWXhBok>*|B$AIvgEW&2Q%j12gpDK=24**y< z1p+4V9`uj?_HQk_{~=i31pEIIaed-<#6z)uv;SrvgUW;cUFuVL1Cz+7K>G_nfy^)< z-Tu{aU0{Dc#7QSeAc2p%16X@pBUU_nmSx?oqe*f8905X4GNBzmv<`9fIKO5gA@K}I z+&Cg*$r`cpqYL8_-zWaM9h7rVFQN>tw34Cz%37m#2bvD`1ykGojYiejo#p2WE}l02 zxd3aGDSs#pUQg2^5bqIc#OgcxvM6~JN52I?ks|wRQ5}YJ>M>Av5ajXt+OkNSs8%b= zF3Xpp-b^pN*&0VR5#O`dx|W|g+@{$XTy+ew!-<`Q_i-(j8<{IL<}nMY3^A3}qsVSJ zK2%8)pIbGy$iN!1`(qb{R+IN;Ju@w-cnbg#q&!~o28SX_lFg{m!vdqW{!*XZ87YN_ z6J<<#Bay}HdrodUyDLT8i_r!qJQ%S{6!ykA;h+?B3y-D}8&Xy@F|}RDe|B{}$$`;| zMM>UnuWHsEwR({G3KOuKZ=6N^9CtUm*S`Hlcr`ndM*=f$)liS(>P}IRa*^H{^gK5nYsnJBY`OBUc?+0+uG32 z-{xvLEXZiW#w;kTPvV~uir5nJSWm|S1W!#Vfh}*OoE=#G;G_-|#Dh)F=9ifWz(Gm^ z5@s?1J}1w77z4l_t%->d%5@%lvpjzc{QzN(*t*oXMb>?L(oEN4q#h*_$Vo}3|I|xe-Pss`{@(chiYUn-sq3Pl)6jf_D(EYKH_~-=?VFJ zEb(a|HUsEk7Wgk68a`mot+=l8a*&pp~s$g-?ku@o-=~^wuK3^){cG z@CRChN4o&I;ICgF0la_`kQW(-GpyC)&gZAvQ&7-4Kpp@h+ z4;gvML!8>mK^NOw>pw3#k?b_@UD4Uuxl!QoK)>s)f{7MiTr)cJEhuyThAqYPLM(Ni zJBg;|WO*qh`sWA=5?LW8njz?(43?m$j-e3hYQ!cUKUk=X@pVr{mwUHt2N-2rfL2Ks z2phtVLjNoP@DQI>HODwJZ>!lFJHCWK5;%xppDGio4uLz&RDPkQB#*h_e|w86hXobq z@9Wi~BXZ|Us;%Y|AKSx)ySzvMw;Y^qaZMjBM*=`?Dg2;^#BaJ8?P9D@evJu84R_G6 zgyB+|u1vjIXgY!CsLXlnPN+Nma6*lcq2q9Nq|K2#I>W;!r3VWPz}*PK8g#KS7e~4w-~YRv(J{moB=9vfHjWM?Rrs-T zQ~u~cKdv@Qs$BOjiQdNnyfDGZ zu_$fj;Tpm6Vp#j{Myy7%i;-=iY}9d!QDRCExjJQS6`Ry`Y`YUhiP}h!o^$Xym13F1onGh(_ACy+@i%vM7LFqT7@wodHj03PYPL8F50Y${&2<+~ zYEvA8i6c{b6*~u_UrhNdy2?wA9uE~gLIC7Hk1XVGvM_yv7Ii+gsAc~OsL0;+*qe<& zP_u1Dq|%&{lBjoXuAdhq@op2?HwK-5rHB58h(&Y3=d7o{KSj90gB}yAVM>+JH&L0# zg8~^D8cZX-szZFw|JGZk!17P%RK?g3{eIBk)2ne^Aat6#o1WA+2?O(m@m<{Bp#aW6 zF7~C>H=JAJiWY9$wS>LiO>$yRlScJ_T)XsjL8pM9*M0YS`!hH&wtvRJRJYx>4Xnue z>*~F!atBsPp@{_nmWL(%|IhZbmzJ9T&u248l1fZ{C;NwN8)lB|XED>SEVgNjr+Onc zdfz`n=ml!cR5sK%YNDyE)`^?y(U~a<{t8gW7 zWS@L>etP5L?7Tj_J!p8c!Q(GG?#jiY#08f63EAI$J;Kzf%#K^bGyRVTf3#z^(^YrvTBDZCRlcYHUStn2-bEQn z5+zuS*2y@UNBjiSCP1WRD3A{WEg$11eba!_jK@X~Os0cda-3Lf1RE0eO_vBHjxl2wsdDW22-_Jx3)uq!FwTgZu#i42YP1ubou z%R>86``n{HduL>0m&xqq&H+~&V&g#6*wqM68Av{-_UnSds2tYSmoF>LpAM#_h}+oM z+){K_E@v24Sw0JRRqjMRm?V^-UvNmGtbxe?Nkv>u8;WHr=zr_JKla7fBKFUGtAC1w zTpBv5P`RN*46W&+@OA$u#@)o}7zdMb&MBxr$@s#2LtWU(@9WDOukL89k66g9p@pUa z7qrkfw}HM@Zd;XI*LuJ@1%ji+fJ5YWDXPxl;S90vuAdwc(Q@=^4E_4G_9Twzv|a%B zNXj7y7<^effRLmEo=EIhyE902a%B1JG6+#P2!t-|v@*LxJ3#E>&S7FB!@-XqS}riT zP##BeDqtURkZf0P4g7E@i)C7`Muuu7S`(E*@?-#FEBvhf|&}Q6)Yh z2=Mws;^uXU()9Qo-2>zILFNcb?203h)VysbW?R;G8hrl!Hm>y5cU2%g#}@>R?sbR| zi-31-y<(9BmC@bvIxG$hmD|;2c?L^K^wZGOzxz(h8Y<#<8LQwtDiqXxJbSj&Of?iU zLgts~BwubN;(Z*FhD&%wOzQV=cfp#E(%pHrDS#IwNvsM(-8!WSH5A=R>ty8*EwcD6&L4J4O~1IJtHGmxi}v!CubZv1@@|~Gz#CF`Ak66 zCMD{4b&>Qpa(ab*Yg!m&2?2Jb6e*LjYfnuY*+)ZO@@M(aTQH%<7I&v zN!q0M7@XCqC646E2}89I5pwS%?aTNM`lf=8N{5n@EnAt%cFJozb#8Ho`31SV(1iO; zMXgjK07VrwEaV=o@;IEvWMol#*j6ui*_NEMnGI2x^iFVV6}XAG>T@0xg?3YKCK$OR z>rDAWc0h%-4oh#`EK_6rK;myy`bb3|U%=E+^bn9Xt8n~PTq(RwFX^br*HLQWn6%&~ z>!a6;xOXG-=|<`dctM~x7CD#`(gKLj$2^*}=SNRfr2l=30?~6(JF9h~BmW>aImfD- zdV)jDN822lSNh8F^PbcYc%u-2#~hK!T4*VXl~BM6Bu&8gyap^GG92=V!!JOhy*;%s z#O(1?%}Cxi^YUVMw*I-NR^x3Fyp7rU1z7}Z%d<-O{1tdk)!a5mpZSsIJjF=sFDMq^PrHpy@?rh6$pnlCEw9!2&u=@*dLD-L~cji*(WRmYqfZ-irt zXDYW61jJZ|&5NESD+4YhMyldp(K=2LE?yo)^|v$sU)a73cyC2zE}i{E1NgreAO#s! K=~79Pp#K4IB-4+3H0KYSyBl2eI6 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 literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the CheckboxSelection story is mounted WHEN editable-cell is focused THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the CheckboxSelection story is mounted WHEN editable-cell is focused THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..df7d7a82e343f03fb714d08b905ad697b90cdb86 GIT binary patch literal 10346 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 bE&ieGXt=f4z6y>r#?#R-P_I?}C+a@{m&s6q literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the ContextMenu story is mounted WHEN cell context menu is open THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the ContextMenu story is mounted WHEN cell context menu is open THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..0696750e20cc9d1416173b48e57de50912d9dc4f GIT binary patch literal 12134 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 literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the CustomFilter story is mounted WHEN custom filter is focused THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the CustomFilter story is mounted WHEN custom filter is focused THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..d744eb5c43f171fd17064ae3cf67ad231b489e23 GIT binary patch literal 3832 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 Vn=BMA29)Nbs48hHR>)h0{4dIt36TH* literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the Default story is mounted WHEN column menu is open AND general tab is selected THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the Default story is mounted WHEN column menu is open AND general tab is selected THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..e8718fa5ea86fda97389f1ca3ff6ca82a942ffbc GIT binary patch literal 7711 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 literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the Default story is mounted WHEN range selection AND selection horizontal THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the Default story is mounted WHEN range selection AND selection horizontal THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..8b802cb146203da7e76b2092f2186bfb9d6c7e15 GIT binary patch literal 37431 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 DgtW`n literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the HDCompactDark story is mounted WHEN column menu is open AND columns tab is selected THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the HDCompactDark story is mounted WHEN column menu is open AND columns tab is selected THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..ab5d7c3ca5f75692bcd9c4b2ad6f29f9e1bb1e81 GIT binary patch literal 10804 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 b@?J8mJ4#@_JBSBp^h8mX*O04_u?YJwZIMa* literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the HDCompactDark story is mounted WHEN column menu is open AND filter tab is selected THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the HDCompactDark story is mounted WHEN column menu is open AND filter tab is selected THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..57bf9cb2fc785567bcdb4074ba80b49a94dd66d5 GIT binary patch literal 15176 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 literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the HDCompactDark story is mounted WHEN column menu is open AND general tab is selected THEN should match screenshot #0.png b/packages/ag-grid-theme/src/__tests__/__e2e__/__image_snapshots__/Given Ag Grid Theme WHEN the HDCompactDark story is mounted WHEN column menu is open AND general tab is selected THEN should match screenshot #0.png new file mode 100644 index 0000000000000000000000000000000000000000..8b5caa643736f13d377b2ae998b2fbb72a349335 GIT binary patch literal 9762 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 OLQs-Z2iD41g#8a8A`A}z literal 0 HcmV?d00001 diff --git a/packages/ag-grid-theme/stories/dependencies/ThemeSwitcher.tsx b/packages/ag-grid-theme/src/dependencies/ThemeSwitcher.tsx similarity index 69% rename from packages/ag-grid-theme/stories/dependencies/ThemeSwitcher.tsx rename to packages/ag-grid-theme/src/dependencies/ThemeSwitcher.tsx index b10689e0f95..7276bde74a4 100644 --- a/packages/ag-grid-theme/stories/dependencies/ThemeSwitcher.tsx +++ b/packages/ag-grid-theme/src/dependencies/ThemeSwitcher.tsx @@ -1,21 +1,25 @@ import { SyntheticEvent, useState } from "react"; import { ToggleButton, ToggleButtonGroup } from "@salt-ds/core"; -export const useAgGridThemeSwitcher = () => { - const [themeName, setThemeName] = useState("salt"); +export const useAgGridThemeSwitcher = (defaultTheme: string) => { + const [themeName, setThemeName] = useState(defaultTheme); return { - switcher: , + switcher: ( + + ), themeName, }; }; export const AgGridThemeSwitcher = ({ onThemeSelect, + themeName, }: { onThemeSelect: (themeName: string) => void; + themeName: string; }) => { - const [theme, setTheme] = useState("salt"); + const [theme, setTheme] = useState(themeName); const onChange = (event: SyntheticEvent) => { setTheme(event.currentTarget.value); diff --git a/packages/ag-grid-theme/stories/dependencies/changeDetectionExampleColumns.ts b/packages/ag-grid-theme/src/dependencies/changeDetectionExampleColumns.ts similarity index 100% rename from packages/ag-grid-theme/stories/dependencies/changeDetectionExampleColumns.ts rename to packages/ag-grid-theme/src/dependencies/changeDetectionExampleColumns.ts diff --git a/packages/ag-grid-theme/stories/dependencies/columnSpanningExampleColumns.ts b/packages/ag-grid-theme/src/dependencies/columnSpanningExampleColumns.ts similarity index 100% rename from packages/ag-grid-theme/stories/dependencies/columnSpanningExampleColumns.ts rename to packages/ag-grid-theme/src/dependencies/columnSpanningExampleColumns.ts diff --git a/packages/ag-grid-theme/stories/dependencies/customFilterExampleColumns.ts b/packages/ag-grid-theme/src/dependencies/customFilterExampleColumns.ts similarity index 100% rename from packages/ag-grid-theme/stories/dependencies/customFilterExampleColumns.ts rename to packages/ag-grid-theme/src/dependencies/customFilterExampleColumns.ts diff --git a/packages/ag-grid-theme/stories/dependencies/dataGridExampleColumns.ts b/packages/ag-grid-theme/src/dependencies/dataGridExampleColumns.ts similarity index 99% rename from packages/ag-grid-theme/stories/dependencies/dataGridExampleColumns.ts rename to packages/ag-grid-theme/src/dependencies/dataGridExampleColumns.ts index ebeb66478b0..7543bed5d8c 100644 --- a/packages/ag-grid-theme/stories/dependencies/dataGridExampleColumns.ts +++ b/packages/ag-grid-theme/src/dependencies/dataGridExampleColumns.ts @@ -5,6 +5,7 @@ const dataGridExampleColumns: ColDef[] = [ headerName: "", field: "on", width: 70, + flex: 1, checkboxSelection: true, headerCheckboxSelection: true, pinned: "left", diff --git a/packages/ag-grid-theme/stories/dependencies/dataGridExampleColumnsColoration.ts b/packages/ag-grid-theme/src/dependencies/dataGridExampleColumnsColoration.ts similarity index 100% rename from packages/ag-grid-theme/stories/dependencies/dataGridExampleColumnsColoration.ts rename to packages/ag-grid-theme/src/dependencies/dataGridExampleColumnsColoration.ts diff --git a/packages/ag-grid-theme/stories/dependencies/dataGridExampleColumnsWrap.ts b/packages/ag-grid-theme/src/dependencies/dataGridExampleColumnsWrap.ts similarity index 100% rename from packages/ag-grid-theme/stories/dependencies/dataGridExampleColumnsWrap.ts rename to packages/ag-grid-theme/src/dependencies/dataGridExampleColumnsWrap.ts diff --git a/packages/ag-grid-theme/stories/dependencies/dataGridExampleData.ts b/packages/ag-grid-theme/src/dependencies/dataGridExampleData.ts similarity index 100% rename from packages/ag-grid-theme/stories/dependencies/dataGridExampleData.ts rename to packages/ag-grid-theme/src/dependencies/dataGridExampleData.ts diff --git a/packages/ag-grid-theme/stories/dependencies/dataGridExampleRowGroupPanel.ts b/packages/ag-grid-theme/src/dependencies/dataGridExampleRowGroupPanel.ts similarity index 100% rename from packages/ag-grid-theme/stories/dependencies/dataGridExampleRowGroupPanel.ts rename to packages/ag-grid-theme/src/dependencies/dataGridExampleRowGroupPanel.ts diff --git a/packages/ag-grid-theme/stories/dependencies/dataGridExampleRowGrouping.ts b/packages/ag-grid-theme/src/dependencies/dataGridExampleRowGrouping.ts similarity index 100% rename from packages/ag-grid-theme/stories/dependencies/dataGridExampleRowGrouping.ts rename to packages/ag-grid-theme/src/dependencies/dataGridExampleRowGrouping.ts diff --git a/packages/ag-grid-theme/stories/dependencies/dataGridInfiniteScrollExampleColumns.ts b/packages/ag-grid-theme/src/dependencies/dataGridInfiniteScrollExampleColumns.ts similarity index 100% rename from packages/ag-grid-theme/stories/dependencies/dataGridInfiniteScrollExampleColumns.ts rename to packages/ag-grid-theme/src/dependencies/dataGridInfiniteScrollExampleColumns.ts diff --git a/packages/ag-grid-theme/stories/dependencies/mac.png b/packages/ag-grid-theme/src/dependencies/mac.png similarity index 100% rename from packages/ag-grid-theme/stories/dependencies/mac.png rename to packages/ag-grid-theme/src/dependencies/mac.png diff --git a/packages/ag-grid-theme/stories/dependencies/masterDetailExampleData.ts b/packages/ag-grid-theme/src/dependencies/masterDetailExampleData.ts similarity index 100% rename from packages/ag-grid-theme/stories/dependencies/masterDetailExampleData.ts rename to packages/ag-grid-theme/src/dependencies/masterDetailExampleData.ts diff --git a/packages/ag-grid-theme/stories/dependencies/parentChildExampleColumns.ts b/packages/ag-grid-theme/src/dependencies/parentChildExampleColumns.ts similarity index 100% rename from packages/ag-grid-theme/stories/dependencies/parentChildExampleColumns.ts rename to packages/ag-grid-theme/src/dependencies/parentChildExampleColumns.ts diff --git a/packages/ag-grid-theme/stories/dependencies/parentChildExampleData.ts b/packages/ag-grid-theme/src/dependencies/parentChildExampleData.ts similarity index 100% rename from packages/ag-grid-theme/stories/dependencies/parentChildExampleData.ts rename to packages/ag-grid-theme/src/dependencies/parentChildExampleData.ts diff --git a/packages/ag-grid-theme/stories/dependencies/rowDragColumns.ts b/packages/ag-grid-theme/src/dependencies/rowDragColumns.ts similarity index 100% rename from packages/ag-grid-theme/stories/dependencies/rowDragColumns.ts rename to packages/ag-grid-theme/src/dependencies/rowDragColumns.ts diff --git a/packages/ag-grid-theme/stories/dependencies/useAgGridHelpers.ts b/packages/ag-grid-theme/src/dependencies/useAgGridHelpers.ts similarity index 96% rename from packages/ag-grid-theme/stories/dependencies/useAgGridHelpers.ts rename to packages/ag-grid-theme/src/dependencies/useAgGridHelpers.ts index 344359199c1..3669cfffae7 100644 --- a/packages/ag-grid-theme/stories/dependencies/useAgGridHelpers.ts +++ b/packages/ag-grid-theme/src/dependencies/useAgGridHelpers.ts @@ -67,7 +67,7 @@ export function useAgGridHelpers({ } }, [density, agThemeName, compact]); - const className = `${agThemeName}-${density}${ + const className = `${agThemeName}${ compact && density === "high" ? `-compact` : `` }-${mode}`; @@ -86,8 +86,8 @@ export function useAgGridHelpers({ apiRef.current!.api.setFloatingFiltersHeight(rowHeight); // TODO how to set listItemHeight as the "ag-filter-virtual-list-item" height? Issue 2479 } - }, 0); - }, [rowHeight, isGridReady, agThemeName, listItemHeight]); + }); + }, [rowHeight, isGridReady, apiRef]); return { containerProps: { diff --git a/packages/ag-grid-theme/stories/dependencies/windows.png b/packages/ag-grid-theme/src/dependencies/windows.png similarity index 100% rename from packages/ag-grid-theme/stories/dependencies/windows.png rename to packages/ag-grid-theme/src/dependencies/windows.png diff --git a/packages/ag-grid-theme/stories/examples/CheckboxSelection.tsx b/packages/ag-grid-theme/src/examples/CheckboxSelection.tsx similarity index 74% rename from packages/ag-grid-theme/stories/examples/CheckboxSelection.tsx rename to packages/ag-grid-theme/src/examples/CheckboxSelection.tsx index a38e1abff22..545ac1c3623 100644 --- a/packages/ag-grid-theme/stories/examples/CheckboxSelection.tsx +++ b/packages/ag-grid-theme/src/examples/CheckboxSelection.tsx @@ -1,12 +1,13 @@ -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import { StackLayout } from "@salt-ds/core"; import dataGridExampleData from "../dependencies/dataGridExampleData"; import dataGridExampleColumns from "../dependencies/dataGridExampleColumns"; import { useAgGridHelpers } from "../dependencies/useAgGridHelpers"; import { useAgGridThemeSwitcher } from "../dependencies/ThemeSwitcher"; -const CheckboxSelection = (props: AgGridReactProps) => { - const { switcher, themeName } = useAgGridThemeSwitcher(); +const CheckboxSelection = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -17,7 +18,6 @@ const CheckboxSelection = (props: AgGridReactProps) => {

{ }; CheckboxSelection.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default CheckboxSelection; diff --git a/packages/ag-grid-theme/stories/examples/Coloration.tsx b/packages/ag-grid-theme/src/examples/Coloration.tsx similarity index 74% rename from packages/ag-grid-theme/stories/examples/Coloration.tsx rename to packages/ag-grid-theme/src/examples/Coloration.tsx index 4c1d6199441..97cf589834e 100644 --- a/packages/ag-grid-theme/stories/examples/Coloration.tsx +++ b/packages/ag-grid-theme/src/examples/Coloration.tsx @@ -1,12 +1,13 @@ import { StackLayout } from "@salt-ds/core"; -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import dataGridExampleData from "../dependencies/dataGridExampleData"; import dataGridExampleColumnsColoration from "../dependencies/dataGridExampleColumnsColoration"; import { useAgGridHelpers } from "../dependencies/useAgGridHelpers"; import { useAgGridThemeSwitcher } from "../dependencies/ThemeSwitcher"; -const Coloration = (props: AgGridReactProps) => { - const { themeName, switcher } = useAgGridThemeSwitcher(); +const Coloration = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -17,7 +18,6 @@ const Coloration = (props: AgGridReactProps) => {
@@ -27,7 +27,7 @@ const Coloration = (props: AgGridReactProps) => { }; Coloration.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default Coloration; diff --git a/packages/ag-grid-theme/stories/examples/ColumnGroup.tsx b/packages/ag-grid-theme/src/examples/ColumnGroup.tsx similarity index 85% rename from packages/ag-grid-theme/stories/examples/ColumnGroup.tsx rename to packages/ag-grid-theme/src/examples/ColumnGroup.tsx index 4c971915533..ffe202c19a8 100644 --- a/packages/ag-grid-theme/stories/examples/ColumnGroup.tsx +++ b/packages/ag-grid-theme/src/examples/ColumnGroup.tsx @@ -1,12 +1,13 @@ -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import { StackLayout } from "@salt-ds/core"; import dataGridExampleData from "../dependencies/dataGridExampleData"; import { useAgGridHelpers } from "../dependencies/useAgGridHelpers"; import { useAgGridThemeSwitcher } from "../dependencies/ThemeSwitcher"; import { ColDef, ColGroupDef } from "ag-grid-community"; -const ColumnGroup = (props: AgGridReactProps) => { - const { themeName, switcher } = useAgGridThemeSwitcher(); +const ColumnGroup = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -17,7 +18,6 @@ const ColumnGroup = (props: AgGridReactProps) => {
@@ -71,7 +71,7 @@ const columnsWithGrouping = ( ]; ColumnGroup.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default ColumnGroup; diff --git a/packages/ag-grid-theme/stories/examples/ColumnSpanning.tsx b/packages/ag-grid-theme/src/examples/ColumnSpanning.tsx similarity index 74% rename from packages/ag-grid-theme/stories/examples/ColumnSpanning.tsx rename to packages/ag-grid-theme/src/examples/ColumnSpanning.tsx index 3f2edda04c0..cf8b6829367 100644 --- a/packages/ag-grid-theme/stories/examples/ColumnSpanning.tsx +++ b/packages/ag-grid-theme/src/examples/ColumnSpanning.tsx @@ -1,12 +1,13 @@ -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import { StackLayout } from "@salt-ds/core"; import dataGridExampleData from "../dependencies/dataGridExampleData"; import columnSpanningExampleColumns from "../dependencies/columnSpanningExampleColumns"; import { useAgGridHelpers } from "../dependencies/useAgGridHelpers"; import { useAgGridThemeSwitcher } from "../dependencies/ThemeSwitcher"; -const ColumnSpanning = (props: AgGridReactProps) => { - const { themeName, switcher } = useAgGridThemeSwitcher(); +const ColumnSpanning = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -17,7 +18,6 @@ const ColumnSpanning = (props: AgGridReactProps) => {
@@ -27,7 +27,7 @@ const ColumnSpanning = (props: AgGridReactProps) => { }; ColumnSpanning.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default ColumnSpanning; diff --git a/packages/ag-grid-theme/stories/examples/ContextMenu.tsx b/packages/ag-grid-theme/src/examples/ContextMenu.tsx similarity index 93% rename from packages/ag-grid-theme/stories/examples/ContextMenu.tsx rename to packages/ag-grid-theme/src/examples/ContextMenu.tsx index a8c1712d803..db173f63c92 100644 --- a/packages/ag-grid-theme/stories/examples/ContextMenu.tsx +++ b/packages/ag-grid-theme/src/examples/ContextMenu.tsx @@ -1,5 +1,5 @@ import { GetContextMenuItemsParams } from "ag-grid-community"; -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import { StackLayout } from "@salt-ds/core"; import dataGridExampleData from "../dependencies/dataGridExampleData"; import dataGridExampleColumns from "../dependencies/dataGridExampleColumns"; @@ -8,8 +8,9 @@ import mac from "../dependencies/mac.png"; import { useAgGridHelpers } from "../dependencies/useAgGridHelpers"; import { useAgGridThemeSwitcher } from "../dependencies/ThemeSwitcher"; -const ContextMenu = (props: AgGridReactProps) => { - const { themeName, switcher } = useAgGridThemeSwitcher(); +const ContextMenu = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -154,7 +155,6 @@ const ContextMenu = (props: AgGridReactProps) => { columnDefs={dataGridExampleColumns} rowData={dataGridExampleData} {...agGridProps} - {...props} />
@@ -162,7 +162,7 @@ const ContextMenu = (props: AgGridReactProps) => { }; ContextMenu.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default ContextMenu; diff --git a/packages/ag-grid-theme/stories/examples/CustomFilter.tsx b/packages/ag-grid-theme/src/examples/CustomFilter.tsx similarity index 91% rename from packages/ag-grid-theme/stories/examples/CustomFilter.tsx rename to packages/ag-grid-theme/src/examples/CustomFilter.tsx index e5538b1f337..a0f76df8061 100644 --- a/packages/ag-grid-theme/stories/examples/CustomFilter.tsx +++ b/packages/ag-grid-theme/src/examples/CustomFilter.tsx @@ -2,13 +2,13 @@ import { useEffect, useState } from "react"; import { Button, FlowLayout, StackLayout } from "@salt-ds/core"; import dataGridExampleData from "../dependencies/dataGridExampleData"; import customFilterExampleColumns from "../dependencies/customFilterExampleColumns"; -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; -import "../../uitk-ag-theme.css"; +import { AgGridReact } from "ag-grid-react"; import { useAgGridHelpers } from "../dependencies/useAgGridHelpers"; import { useAgGridThemeSwitcher } from "../dependencies/ThemeSwitcher"; -const CustomFilter = (props: AgGridReactProps) => { - const { switcher, themeName } = useAgGridThemeSwitcher(); +const CustomFilter = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const [hasSavedState, setHasSavedState] = useState(true); const { api, isGridReady, agGridProps, containerProps } = useAgGridHelpers({ @@ -100,7 +100,6 @@ const CustomFilter = (props: AgGridReactProps) => { columnDefs={customFilterExampleColumns} rowData={dataGridExampleData} {...agGridProps} - {...props} />
@@ -108,7 +107,7 @@ const CustomFilter = (props: AgGridReactProps) => { }; CustomFilter.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default CustomFilter; diff --git a/packages/ag-grid-theme/stories/examples/Default.tsx b/packages/ag-grid-theme/src/examples/Default.tsx similarity index 76% rename from packages/ag-grid-theme/stories/examples/Default.tsx rename to packages/ag-grid-theme/src/examples/Default.tsx index bf963e81b87..574a729519e 100644 --- a/packages/ag-grid-theme/stories/examples/Default.tsx +++ b/packages/ag-grid-theme/src/examples/Default.tsx @@ -1,11 +1,12 @@ -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import { StackLayout } from "@salt-ds/core"; import dataGridExampleData from "../dependencies/dataGridExampleData"; import { useAgGridHelpers } from "../dependencies/useAgGridHelpers"; import { useAgGridThemeSwitcher } from "../dependencies/ThemeSwitcher"; -const Default = (props: AgGridReactProps) => { - const { themeName, switcher } = useAgGridThemeSwitcher(); +const Default = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -31,13 +32,14 @@ const Default = (props: AgGridReactProps) => { { headerName: "Capital", field: "capital", + tooltipField: "capital", + headerTooltip: "Capital", }, ]} rowData={dataGridExampleData} rowSelection="single" enableRangeSelection={true} {...agGridProps} - {...props} />
@@ -45,7 +47,7 @@ const Default = (props: AgGridReactProps) => { }; Default.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default Default; diff --git a/packages/ag-grid-theme/stories/examples/DragRowOrder.tsx b/packages/ag-grid-theme/src/examples/DragRowOrder.tsx similarity index 74% rename from packages/ag-grid-theme/stories/examples/DragRowOrder.tsx rename to packages/ag-grid-theme/src/examples/DragRowOrder.tsx index 8c0fc31eb90..da04b5992ff 100644 --- a/packages/ag-grid-theme/stories/examples/DragRowOrder.tsx +++ b/packages/ag-grid-theme/src/examples/DragRowOrder.tsx @@ -1,12 +1,13 @@ -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import { StackLayout } from "@salt-ds/core"; import dataGridExampleData from "../dependencies/dataGridExampleData"; import rowDragColumns from "../dependencies/rowDragColumns"; import { useAgGridHelpers } from "../dependencies/useAgGridHelpers"; import { useAgGridThemeSwitcher } from "../dependencies/ThemeSwitcher"; -const DragRowOrder = (props: AgGridReactProps) => { - const { switcher, themeName } = useAgGridThemeSwitcher(); +const DragRowOrder = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -19,7 +20,6 @@ const DragRowOrder = (props: AgGridReactProps) => { animateRows rowDragManaged {...agGridProps} - {...props} columnDefs={rowDragColumns} rowData={dataGridExampleData} /> @@ -29,7 +29,7 @@ const DragRowOrder = (props: AgGridReactProps) => { }; DragRowOrder.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default DragRowOrder; diff --git a/packages/ag-grid-theme/stories/examples/FloatingFilter.tsx b/packages/ag-grid-theme/src/examples/FloatingFilter.tsx similarity index 75% rename from packages/ag-grid-theme/stories/examples/FloatingFilter.tsx rename to packages/ag-grid-theme/src/examples/FloatingFilter.tsx index 62c26232d08..79cecb37881 100644 --- a/packages/ag-grid-theme/stories/examples/FloatingFilter.tsx +++ b/packages/ag-grid-theme/src/examples/FloatingFilter.tsx @@ -1,12 +1,13 @@ -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import { StackLayout } from "@salt-ds/core"; import dataGridExampleData from "../dependencies/dataGridExampleData"; import customFilterExampleColumns from "../dependencies/customFilterExampleColumns"; import { useAgGridHelpers } from "../dependencies/useAgGridHelpers"; import { useAgGridThemeSwitcher } from "../dependencies/ThemeSwitcher"; -const FloatingFilter = (props: AgGridReactProps) => { - const { switcher, themeName } = useAgGridThemeSwitcher(); +const FloatingFilter = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -20,7 +21,6 @@ const FloatingFilter = (props: AgGridReactProps) => { columnDefs={customFilterExampleColumns} rowData={dataGridExampleData} {...agGridProps} - {...props} />
@@ -28,7 +28,7 @@ const FloatingFilter = (props: AgGridReactProps) => { }; FloatingFilter.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default FloatingFilter; diff --git a/packages/ag-grid-theme/stories/examples/HDCompact.tsx b/packages/ag-grid-theme/src/examples/HDCompact.tsx similarity index 80% rename from packages/ag-grid-theme/stories/examples/HDCompact.tsx rename to packages/ag-grid-theme/src/examples/HDCompact.tsx index 9c74b48de15..7ba9a799082 100644 --- a/packages/ag-grid-theme/stories/examples/HDCompact.tsx +++ b/packages/ag-grid-theme/src/examples/HDCompact.tsx @@ -1,4 +1,4 @@ -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import { FlexLayout, SaltProvider, StackLayout } from "@salt-ds/core"; import dataGridExampleColumns from "../dependencies/dataGridExampleColumns"; import dataGridExampleData from "../dependencies/dataGridExampleData"; @@ -17,8 +17,9 @@ const statusBar = { ], }; -const HDCompact = (props: AgGridReactProps) => { - const { switcher, themeName } = useAgGridThemeSwitcher(); +const HDCompact = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, compact: true, @@ -36,7 +37,6 @@ const HDCompact = (props: AgGridReactProps) => { statusBar={statusBar} rowSelection="multiple" {...agGridProps} - {...props} enableRangeSelection={true} onFirstDataRendered={(params) => { params.api.forEachNode((node, index) => { @@ -55,7 +55,13 @@ const HDCompact = (props: AgGridReactProps) => { }; HDCompact.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default HDCompact; + +export const HDCompactUITK = () => ; + +HDCompactUITK.parameters = { + chromatic: { disableSnapshot: false, delay: 200 }, +}; diff --git a/packages/ag-grid-theme/src/examples/Icons.css b/packages/ag-grid-theme/src/examples/Icons.css new file mode 100644 index 00000000000..0e3c331e595 --- /dev/null +++ b/packages/ag-grid-theme/src/examples/Icons.css @@ -0,0 +1,8 @@ +div[class^="ag-icon"]:before { + margin-right: var(--salt-spacing-100); +} + +div[class*="ag-theme-salt"] .ag-icon-loading, +div[class*="ag-theme-uitk"] .ag-icon-loading { + animation: none; +} diff --git a/packages/ag-grid-theme/src/examples/Icons.tsx b/packages/ag-grid-theme/src/examples/Icons.tsx new file mode 100644 index 00000000000..4fc8acd4e23 --- /dev/null +++ b/packages/ag-grid-theme/src/examples/Icons.tsx @@ -0,0 +1,79 @@ +import { useComponentCssInjection } from "@salt-ds/styles"; +import { useWindow } from "@salt-ds/window"; +import { useAgGridThemeSwitcher } from "../dependencies/ThemeSwitcher"; +import { useAgGridHelpers } from "../dependencies/useAgGridHelpers"; + +import iconCss from "./Icons.css"; + +const Icons = (props: { defaultTheme: string }) => { + const targetWindow = useWindow(); + useComponentCssInjection({ + testId: "salt-ag-grid-icons", + css: iconCss, + window: targetWindow, + }); + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); + + const { + containerProps: { className }, + } = useAgGridHelpers({ + agThemeName: `ag-theme-${themeName}`, + }); + + return ( + <> + {switcher} +
+
aggregation
+
arrows
+
asc
+
cancel
+
chart
+
columns
+
contracted
+
copy
+
cross
+
cut
+
csv
+
desc
+
excel
+
expanded
+
eye-slash
+
eye
+
filter
+
filter-clear
+
first
+
group
+
last
+
left
+
linked
+
loading
+
menu
+
next
+
none
+
not-allowed
+
paste
+
pin
+
pivot
+
previous
+
right
+
save
+
small-down
+
small-left
+
small-right
+
small-up
+
tick
+
tree-closed
+
tree-open
+
unlinked
+
+ + ); +}; + +Icons.parameters = { + chromatic: { disableSnapshot: false, delay: 200 }, +}; + +export default Icons; diff --git a/packages/ag-grid-theme/stories/examples/InfiniteScroll.tsx b/packages/ag-grid-theme/src/examples/InfiniteScroll.tsx similarity index 88% rename from packages/ag-grid-theme/stories/examples/InfiniteScroll.tsx rename to packages/ag-grid-theme/src/examples/InfiniteScroll.tsx index adb96bbbab0..6dbc892ba47 100644 --- a/packages/ag-grid-theme/stories/examples/InfiniteScroll.tsx +++ b/packages/ag-grid-theme/src/examples/InfiniteScroll.tsx @@ -1,5 +1,5 @@ import { useEffect } from "react"; -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import { Spinner, StackLayout } from "@salt-ds/core"; import dataGridExampleData from "../dependencies/dataGridExampleData"; import dataGridInfiniteScrollExampleColumns from "../dependencies/dataGridInfiniteScrollExampleColumns"; @@ -22,8 +22,9 @@ const generateData = function generateData( const dataSourceRows = generateData(dataGridExampleData); -const InfiniteScroll = (props: AgGridReactProps) => { - const { switcher, themeName } = useAgGridThemeSwitcher(); +const InfiniteScroll = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { isGridReady, agGridProps, containerProps, api } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -51,7 +52,6 @@ const InfiniteScroll = (props: AgGridReactProps) => {
( ); -const LoadingOverlay = (props: AgGridReactProps) => { - const { switcher, themeName } = useAgGridThemeSwitcher(); +const LoadingOverlay = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -38,7 +39,7 @@ const LoadingOverlay = (props: AgGridReactProps) => { }; LoadingOverlay.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default LoadingOverlay; diff --git a/packages/ag-grid-theme/stories/examples/MasterDetail.tsx b/packages/ag-grid-theme/src/examples/MasterDetail.tsx similarity index 69% rename from packages/ag-grid-theme/stories/examples/MasterDetail.tsx rename to packages/ag-grid-theme/src/examples/MasterDetail.tsx index 993aff2d01d..f63b94b6327 100644 --- a/packages/ag-grid-theme/stories/examples/MasterDetail.tsx +++ b/packages/ag-grid-theme/src/examples/MasterDetail.tsx @@ -1,4 +1,4 @@ -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import { useCallback, useRef } from "react"; import { StackLayout } from "@salt-ds/core"; import columnDefs from "../dependencies/masterDetailExampleData"; @@ -6,8 +6,9 @@ import rowData from "../dependencies/dataGridExampleData"; import { useAgGridHelpers } from "../dependencies/useAgGridHelpers"; import { useAgGridThemeSwitcher } from "../dependencies/ThemeSwitcher"; -const MasterDetail = (props: AgGridReactProps) => { - const { switcher, themeName } = useAgGridThemeSwitcher(); +const MasterDetail = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -23,6 +24,19 @@ const MasterDetail = (props: AgGridReactProps) => { }); }, []); + const detailCellRenderer = () => ( +
+ +
+ ); + return ( {switcher} @@ -30,6 +44,7 @@ const MasterDetail = (props: AgGridReactProps) => { { detailRowHeight={300} rowData={rowData} {...agGridProps} - {...props} onFirstDataRendered={onFirstDataRendered} />
@@ -48,7 +62,13 @@ const MasterDetail = (props: AgGridReactProps) => { }; MasterDetail.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default MasterDetail; + +export const MasterDetailUITK = () => ; + +MasterDetailUITK.parameters = { + chromatic: { disableSnapshot: false, delay: 200 }, +}; diff --git a/packages/ag-grid-theme/stories/examples/NoDataOverlay.tsx b/packages/ag-grid-theme/src/examples/NoDataOverlay.tsx similarity index 96% rename from packages/ag-grid-theme/stories/examples/NoDataOverlay.tsx rename to packages/ag-grid-theme/src/examples/NoDataOverlay.tsx index 3ae2aa5f9cc..75bf5c95fbd 100644 --- a/packages/ag-grid-theme/stories/examples/NoDataOverlay.tsx +++ b/packages/ag-grid-theme/src/examples/NoDataOverlay.tsx @@ -53,7 +53,7 @@ const NoDataOverlay = (props: AgGridReactProps) => { }; NoDataOverlay.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default NoDataOverlay; diff --git a/packages/ag-grid-theme/stories/examples/Pagination.tsx b/packages/ag-grid-theme/src/examples/Pagination.tsx similarity index 64% rename from packages/ag-grid-theme/stories/examples/Pagination.tsx rename to packages/ag-grid-theme/src/examples/Pagination.tsx index b0882d0a8c0..7ed581c4a80 100644 --- a/packages/ag-grid-theme/stories/examples/Pagination.tsx +++ b/packages/ag-grid-theme/src/examples/Pagination.tsx @@ -1,4 +1,4 @@ -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import { StackLayout } from "@salt-ds/core"; import dataGridExampleData from "../dependencies/dataGridExampleData"; import dataGridExampleColumns from "../dependencies/dataGridExampleColumns"; @@ -15,8 +15,9 @@ const generateData = (states: typeof dataGridExampleData) => return [...result, ...data]; }, [] as typeof dataGridExampleData); -const PagedGrid = (props: AgGridReactProps) => { - const { switcher, themeName } = useAgGridThemeSwitcher(); +const PagedGrid = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -31,29 +32,31 @@ const PagedGrid = (props: AgGridReactProps) => { paginationPageSize={100} rowData={generateData(dataGridExampleData)} {...agGridProps} - {...props} /> ); }; -const Pagination = () => ( -
- -
-); +const Pagination = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + return ( +
+ +
+ ); +}; Pagination.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default Pagination; diff --git a/packages/ag-grid-theme/stories/examples/ParentChildRows.tsx b/packages/ag-grid-theme/src/examples/ParentChildRows.tsx similarity index 80% rename from packages/ag-grid-theme/stories/examples/ParentChildRows.tsx rename to packages/ag-grid-theme/src/examples/ParentChildRows.tsx index 7b4fdabde77..60ccacd54a0 100644 --- a/packages/ag-grid-theme/stories/examples/ParentChildRows.tsx +++ b/packages/ag-grid-theme/src/examples/ParentChildRows.tsx @@ -1,12 +1,13 @@ import { StackLayout } from "@salt-ds/core"; -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import parentChildExampleColumns from "../dependencies/parentChildExampleColumns"; import parentChildExampleData from "../dependencies/parentChildExampleData"; import { useAgGridHelpers } from "../dependencies/useAgGridHelpers"; import { useAgGridThemeSwitcher } from "../dependencies/ThemeSwitcher"; -const ParentChildRows = (props: AgGridReactProps) => { - const { switcher, themeName } = useAgGridThemeSwitcher(); +const ParentChildRows = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -19,7 +20,6 @@ const ParentChildRows = (props: AgGridReactProps) => { animateRows treeData {...agGridProps} - {...props} columnDefs={parentChildExampleColumns} // eslint-disable-next-line @typescript-eslint/no-explicit-any getDataPath={(data: any) => { @@ -35,7 +35,7 @@ const ParentChildRows = (props: AgGridReactProps) => { }; ParentChildRows.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default ParentChildRows; diff --git a/packages/ag-grid-theme/stories/examples/PinnedRows.tsx b/packages/ag-grid-theme/src/examples/PinnedRows.tsx similarity index 94% rename from packages/ag-grid-theme/stories/examples/PinnedRows.tsx rename to packages/ag-grid-theme/src/examples/PinnedRows.tsx index e540d897c04..1fb4034ca96 100644 --- a/packages/ag-grid-theme/stories/examples/PinnedRows.tsx +++ b/packages/ag-grid-theme/src/examples/PinnedRows.tsx @@ -34,6 +34,7 @@ const headerRow: any[] = [ ]; type PinnedRowsExampleProps = AgGridReactProps & { + defaultTheme?: string; aggregateColumn: string; aggregate: "sum" | "min" | "max"; showFooter: boolean; @@ -41,6 +42,7 @@ type PinnedRowsExampleProps = AgGridReactProps & { }; const PinnedRowsExample = function PinnedRowsExample({ + defaultTheme = "salt", aggregate = "sum", aggregateColumn = "population", columnDefs = dataGridExampleColumns, @@ -49,7 +51,7 @@ const PinnedRowsExample = function PinnedRowsExample({ showHeader = true, ...rest }: PinnedRowsExampleProps) { - const { switcher, themeName } = useAgGridThemeSwitcher(); + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -102,5 +104,5 @@ export default function PinnedRows(props: PinnedRowsExampleProps) { } PinnedRows.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; diff --git a/packages/ag-grid-theme/stories/examples/RowGroupPanel.tsx b/packages/ag-grid-theme/src/examples/RowGroupPanel.tsx similarity index 76% rename from packages/ag-grid-theme/stories/examples/RowGroupPanel.tsx rename to packages/ag-grid-theme/src/examples/RowGroupPanel.tsx index ab6b9c4df83..0fec0e26b1e 100644 --- a/packages/ag-grid-theme/stories/examples/RowGroupPanel.tsx +++ b/packages/ag-grid-theme/src/examples/RowGroupPanel.tsx @@ -1,12 +1,13 @@ import { StackLayout } from "@salt-ds/core"; -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import dataGridExampleData from "../dependencies/dataGridExampleData"; import dataGridExampleRowGroupPanel from "../dependencies/dataGridExampleRowGroupPanel"; import { useAgGridHelpers } from "../dependencies/useAgGridHelpers"; import { useAgGridThemeSwitcher } from "../dependencies/ThemeSwitcher"; -const RowGroupPanel = (props: AgGridReactProps) => { - const { switcher, themeName } = useAgGridThemeSwitcher(); +const RowGroupPanel = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -23,7 +24,6 @@ const RowGroupPanel = (props: AgGridReactProps) => { rowData={dataGridExampleData} rowGroupPanelShow="always" {...agGridProps} - {...props} /> @@ -31,7 +31,7 @@ const RowGroupPanel = (props: AgGridReactProps) => { }; RowGroupPanel.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default RowGroupPanel; diff --git a/packages/ag-grid-theme/stories/examples/RowGrouping.tsx b/packages/ag-grid-theme/src/examples/RowGrouping.tsx similarity index 74% rename from packages/ag-grid-theme/stories/examples/RowGrouping.tsx rename to packages/ag-grid-theme/src/examples/RowGrouping.tsx index 6206c37980e..72d9725bb5f 100644 --- a/packages/ag-grid-theme/stories/examples/RowGrouping.tsx +++ b/packages/ag-grid-theme/src/examples/RowGrouping.tsx @@ -1,12 +1,13 @@ import { StackLayout } from "@salt-ds/core"; -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import dataGridExampleData from "../dependencies/dataGridExampleData"; import dataGridExampleRowGrouping from "../dependencies/dataGridExampleRowGrouping"; import { useAgGridHelpers } from "../dependencies/useAgGridHelpers"; import { useAgGridThemeSwitcher } from "../dependencies/ThemeSwitcher"; -const RowGrouping = (props: AgGridReactProps) => { - const { switcher, themeName } = useAgGridThemeSwitcher(); +const RowGrouping = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -19,7 +20,6 @@ const RowGrouping = (props: AgGridReactProps) => { columnDefs={dataGridExampleRowGrouping} rowData={dataGridExampleData} {...agGridProps} - {...props} /> @@ -27,7 +27,7 @@ const RowGrouping = (props: AgGridReactProps) => { }; RowGrouping.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default RowGrouping; diff --git a/packages/ag-grid-theme/stories/examples/SortAndFilter.tsx b/packages/ag-grid-theme/src/examples/SortAndFilter.tsx similarity index 100% rename from packages/ag-grid-theme/stories/examples/SortAndFilter.tsx rename to packages/ag-grid-theme/src/examples/SortAndFilter.tsx diff --git a/packages/ag-grid-theme/stories/examples/StatusBar.tsx b/packages/ag-grid-theme/src/examples/StatusBar.tsx similarity index 86% rename from packages/ag-grid-theme/stories/examples/StatusBar.tsx rename to packages/ag-grid-theme/src/examples/StatusBar.tsx index c09db5781bd..f0c3df9cac8 100644 --- a/packages/ag-grid-theme/stories/examples/StatusBar.tsx +++ b/packages/ag-grid-theme/src/examples/StatusBar.tsx @@ -1,5 +1,5 @@ import { StackLayout, Text } from "@salt-ds/core"; -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import dataGridExampleData from "../dependencies/dataGridExampleData"; import dataGridExampleColumns from "../dependencies/dataGridExampleColumns"; import { useAgGridHelpers } from "../dependencies/useAgGridHelpers"; @@ -17,8 +17,9 @@ const statusBar = { ], }; -const StatusBar = (props: AgGridReactProps) => { - const { switcher, themeName } = useAgGridThemeSwitcher(); +const StatusBar = (props: { defaultTheme: string }) => { + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { agGridProps, containerProps } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, }); @@ -36,7 +37,6 @@ const StatusBar = (props: AgGridReactProps) => { columnDefs={dataGridExampleColumns} rowData={dataGridExampleData} {...agGridProps} - {...props} onFirstDataRendered={(params) => { params.api.forEachNode((node, index) => { // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access @@ -54,7 +54,7 @@ const StatusBar = (props: AgGridReactProps) => { }; StatusBar.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default StatusBar; diff --git a/packages/ag-grid-theme/stories/examples/VariantSecondary.tsx b/packages/ag-grid-theme/src/examples/VariantSecondary.tsx similarity index 95% rename from packages/ag-grid-theme/stories/examples/VariantSecondary.tsx rename to packages/ag-grid-theme/src/examples/VariantSecondary.tsx index 39570a1766e..56ad57085ad 100644 --- a/packages/ag-grid-theme/stories/examples/VariantSecondary.tsx +++ b/packages/ag-grid-theme/src/examples/VariantSecondary.tsx @@ -34,7 +34,7 @@ const VariantSecondary = (props: AgGridReactProps) => { }; VariantSecondary.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default VariantSecondary; diff --git a/packages/ag-grid-theme/stories/examples/VariantZebra.tsx b/packages/ag-grid-theme/src/examples/VariantZebra.tsx similarity index 95% rename from packages/ag-grid-theme/stories/examples/VariantZebra.tsx rename to packages/ag-grid-theme/src/examples/VariantZebra.tsx index 4b4fc38cff5..a279c2dc0de 100644 --- a/packages/ag-grid-theme/stories/examples/VariantZebra.tsx +++ b/packages/ag-grid-theme/src/examples/VariantZebra.tsx @@ -34,7 +34,7 @@ const VariantZebra = (props: AgGridReactProps) => { }; VariantZebra.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default VariantZebra; diff --git a/packages/ag-grid-theme/stories/examples/WrappedCell.tsx b/packages/ag-grid-theme/src/examples/WrappedCell.tsx similarity index 100% rename from packages/ag-grid-theme/stories/examples/WrappedCell.tsx rename to packages/ag-grid-theme/src/examples/WrappedCell.tsx diff --git a/packages/ag-grid-theme/stories/examples/WrappedHeader.tsx b/packages/ag-grid-theme/src/examples/WrappedHeader.tsx similarity index 88% rename from packages/ag-grid-theme/stories/examples/WrappedHeader.tsx rename to packages/ag-grid-theme/src/examples/WrappedHeader.tsx index 19e0f9f48a0..9e5a731cacd 100644 --- a/packages/ag-grid-theme/stories/examples/WrappedHeader.tsx +++ b/packages/ag-grid-theme/src/examples/WrappedHeader.tsx @@ -1,5 +1,5 @@ import { ChangeEvent, useEffect, useState } from "react"; -import { AgGridReact, AgGridReactProps } from "ag-grid-react"; +import { AgGridReact } from "ag-grid-react"; import { StackLayout, FlexItem, @@ -24,9 +24,10 @@ const statusBar = { ], }; -const WrappedHeader = (props: AgGridReactProps) => { +const WrappedHeader = (props: { defaultTheme: string }) => { const [compact, setCompact] = useState(false); - const { switcher, themeName } = useAgGridThemeSwitcher(); + const { defaultTheme = "salt" } = props; + const { themeName, switcher } = useAgGridThemeSwitcher(defaultTheme); const { api, agGridProps, containerProps, isGridReady } = useAgGridHelpers({ agThemeName: `ag-theme-${themeName}`, compact, @@ -70,7 +71,6 @@ const WrappedHeader = (props: AgGridReactProps) => { wrapHeaderText: true, }} {...restAgGridProps} - {...props} /> @@ -78,7 +78,7 @@ const WrappedHeader = (props: AgGridReactProps) => { }; WrappedHeader.parameters = { - chromatic: { disableSnapshot: false }, + chromatic: { disableSnapshot: false, delay: 200 }, }; export default WrappedHeader; diff --git a/packages/ag-grid-theme/stories/examples/index.ts b/packages/ag-grid-theme/src/examples/index.ts similarity index 100% rename from packages/ag-grid-theme/stories/examples/index.ts rename to packages/ag-grid-theme/src/examples/index.ts diff --git a/packages/ag-grid-theme/stories/ag-grid.stories.tsx b/packages/ag-grid-theme/stories/ag-grid-theme.stories.tsx similarity index 88% rename from packages/ag-grid-theme/stories/ag-grid.stories.tsx rename to packages/ag-grid-theme/stories/ag-grid-theme.stories.tsx index 1609ce27072..9f59568b8d5 100644 --- a/packages/ag-grid-theme/stories/ag-grid.stories.tsx +++ b/packages/ag-grid-theme/stories/ag-grid-theme.stories.tsx @@ -2,11 +2,9 @@ import { AgGridReact } from "ag-grid-react"; import { userEvent, within, expect } from "@storybook/test"; import type { StoryObj } from "@storybook/react"; import { Default } from "./examples"; - -import "ag-grid-community/dist/styles/ag-grid.css"; -import "ag-grid-community/dist/styles/ag-theme-material.css"; -import "../uitk-ag-theme.css"; -import "../salt-ag-theme.css"; +import "ag-grid-community/styles/ag-grid.css"; +import "../salt.css"; +import "../uitk.css"; export default { title: "Ag Grid/Ag Grid Theme", @@ -67,4 +65,4 @@ export { VariantZebra, WrappedCell, WrappedHeader, -} from "./examples"; +} from "../src/examples"; diff --git a/packages/ag-grid-theme/stories/examples/Icons.css b/packages/ag-grid-theme/stories/examples/Icons.css deleted file mode 100644 index e6212e2bfa9..00000000000 --- a/packages/ag-grid-theme/stories/examples/Icons.css +++ /dev/null @@ -1,23 +0,0 @@ -div[class^="ag-theme-salt"]:before { - font-family: "salt-icons"; -} - -div[class^="ag-theme-uitk"]:before { - font-family: "uitk-icons"; -} - -div[class^="ag-theme-salt"]:before, -div[class^="ag-theme-uitk"]:before { - content: var(--icon-content); - margin-right: var(--salt-spacing-100); -} - -@font-face { - font-family: "salt-icons"; - src: url(../../fonts/salt-icons.woff) format("woff"); -} - -@font-face { - font-family: "uitk-icons"; - src: url(../../fonts/jpmuitk-icons.woff) format("woff"); -} diff --git a/packages/ag-grid-theme/stories/examples/Icons.tsx b/packages/ag-grid-theme/stories/examples/Icons.tsx deleted file mode 100644 index 93fe25d1f75..00000000000 --- a/packages/ag-grid-theme/stories/examples/Icons.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import { useComponentCssInjection } from "@salt-ds/styles"; -import { useWindow } from "@salt-ds/window"; -import { useAgGridThemeSwitcher } from "../dependencies/ThemeSwitcher"; -import { useAgGridHelpers } from "../dependencies/useAgGridHelpers"; -import saltStyles from "../../css/_export-salt-icons.module.scss"; -import uitkStyles from "../../css/_export-uitk-icons.module.scss"; - -import iconCss from "./Icons.css"; -import { CSSProperties } from "react"; - -const Icons = () => { - const targetWindow = useWindow(); - useComponentCssInjection({ - testId: "salt-ag-grid-icons", - css: iconCss, - window: targetWindow, - }); - const { switcher, themeName } = useAgGridThemeSwitcher(); - - const { containerProps } = useAgGridHelpers({ - agThemeName: `ag-theme-${themeName}`, - }); - const styles = themeName === "salt" ? saltStyles : uitkStyles; - - return ( - <> - {switcher} - {Object.keys(styles).map((key) => { - if (styles[key].startsWith('"')) { - return ( -
- {key} -
- ); - } - })} - - ); -}; - -Icons.parameters = { - chromatic: { disableSnapshot: false }, -}; - -export default Icons; diff --git a/packages/ag-grid-theme/uitk.css b/packages/ag-grid-theme/uitk.css new file mode 100644 index 00000000000..6e16e2dbcb5 --- /dev/null +++ b/packages/ag-grid-theme/uitk.css @@ -0,0 +1,2 @@ +@import url(css/uitk-ag-grid-theme.css); +@import url(css/uitk-icons.css); diff --git a/packages/theme/scripts/build.mjs b/packages/theme/scripts/build.mjs index e848df40db2..751776c721a 100644 --- a/packages/theme/scripts/build.mjs +++ b/packages/theme/scripts/build.mjs @@ -5,7 +5,7 @@ import fs from "node:fs"; import { fileURLToPath } from "node:url"; const __dirname = path.dirname(fileURLToPath(import.meta.url)); -const buildFolder = path.join(__dirname, "../../../dist/salt-ds-theme"); +const buildFolder = path.join(__dirname, "../../../dist/salt-ds-ag-grid-theme"); deleteSync([buildFolder], { force: true }); diff --git a/site/docs/components/ag-grid-theme/index.mdx b/site/docs/components/ag-grid-theme/index.mdx index b7761727643..1bc4728701d 100644 --- a/site/docs/components/ag-grid-theme/index.mdx +++ b/site/docs/components/ag-grid-theme/index.mdx @@ -1,7 +1,7 @@ --- title: AG Grid theme data: - description: "AG Grid theme is a package that adds Salt theme styles to AG Grid. The package contains CSS files only, and works with AG Grid versions 25-28." + description: AG Grid Theme is a package that adds Salt theme styles to AG Grid. The package contains CSS files only, and works with AG Grid versions 29 and 30. sourceCodeUrl: "https://github.com/jpmorganchase/salt-ds/blob/main/packages/ag-grid-theme" package: name: "@salt-ds/ag-grid-theme" diff --git a/site/docs/components/ag-grid-theme/usage.mdx b/site/docs/components/ag-grid-theme/usage.mdx index c6c4031d5ee..2fb1ddcf08e 100644 --- a/site/docs/components/ag-grid-theme/usage.mdx +++ b/site/docs/components/ag-grid-theme/usage.mdx @@ -16,7 +16,7 @@ When you want to use the Salt theme with AG Grid. ### When not to use -When you want to use a component that is not related to AG Grid. Instead, use Grid. +When you want to use a component that is not related to AG Grid. ## Import @@ -37,8 +37,8 @@ npm install @salt-ds/ag-grid-theme To import the Salt AG Grid theme, use: ```js -import "ag-grid-community/dist/styles/ag-grid.css"; -import "@salt-ds/ag-grid-theme/salt-ag-theme.css"; +import "ag-grid-community/styles/ag-grid.css"; +import "@salt-ds/ag-grid-theme/salt.css"; ``` Then wrap your AG Grid with the corresponding class names shown below: @@ -52,29 +52,20 @@ Then wrap your AG Grid with the corresponding class names shown below: ``` -For light [mode](/salt/foundations/modes), use these CSS class names for each [density](/salt/foundations/density): +For light mode, use these CSS class name `.ag-theme-salt-light`. -```js -.ag-theme-salt-high-compact-light -.ag-theme-salt-high-light -.ag-theme-salt-medium-light -.ag-theme-salt-low-light -.ag-theme-salt-touch-light -``` +For dark mode, use these CSS class name `.ag-theme-salt-dark`. -For dark [mode](/salt/foundations/modes), use these CSS class names for each [density](/salt/foundations/density): +For `compact` version, use these CSS class names: -```js -.ag-theme-salt-high-compact-dark -.ag-theme-salt-high-dark -.ag-theme-salt-medium-dark -.ag-theme-salt-low-dark -.ag-theme-salt-touch-dark +``` +.ag-theme-salt-compact-light +.ag-theme-salt-compact-dark ``` -For variants, use these CSS class names: +For variants, which are available only on salt theme, use these CSS class names: -```js +``` .ag-theme-salt-variant-secondary .ag-theme-salt-variant-zebra ``` @@ -82,3 +73,24 @@ For variants, use these CSS class names: For editable fields, add the class name `.editable-cell` to the `cellClass` array in your column definition. For fields displaying numeric values, add the class name `.numeric-cell` to the `cellClass` array in your column definition. + +#### Import UITK AG Grid theme + +UITK AG Grid theme contains CSS files with a theme that resembles the Toolkit V1 Data Grid component; use this when you would like to keep the Toolkit V1 theme. + +To import the UITK AG Grid theme, use: + +```js +import "@salt-ds/ag-grid-theme/uitk.css"; +``` + +For light mode, use these CSS class name `.ag-theme-uitk-light`. + +For dark mode, use these CSS class name `.ag-theme-uitk-dark`. + +For `compact` version, use these CSS class names: + +```js +.ag-theme-uitk-compact-light +.ag-theme-uitk-compact-dark +``` diff --git a/site/src/components/components/AGThemeProvider.tsx b/site/src/components/components/AGThemeProvider.tsx index ab897d42826..3c56f7f6da5 100644 --- a/site/src/components/components/AGThemeProvider.tsx +++ b/site/src/components/components/AGThemeProvider.tsx @@ -1,8 +1,7 @@ import { FC, ReactNode } from "react"; -import "ag-grid-community/dist/styles/ag-grid.css"; -import "ag-grid-community/dist/styles/ag-theme-material.css"; -import "@salt-ds/ag-grid-theme/salt-ag-theme.css"; +import "ag-grid-community/styles/ag-grid.css"; +import "@salt-ds/ag-grid-theme/salt.css"; interface AGThemeProviderProps { children: ReactNode; diff --git a/site/src/examples/ag-grid-theme/CheckboxSelection.tsx b/site/src/examples/ag-grid-theme/CheckboxSelection.tsx index 2fb641b6369..b32a3e1e494 100644 --- a/site/src/examples/ag-grid-theme/CheckboxSelection.tsx +++ b/site/src/examples/ag-grid-theme/CheckboxSelection.tsx @@ -3,6 +3,7 @@ import { useAgGridHelpers } from "./useAgGridHelpers"; import { defaultColumns, defaultData } from "./data"; export const CheckboxSelection = () => { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { agGridProps, containerProps } = useAgGridHelpers(); return ( diff --git a/site/src/examples/ag-grid-theme/Coloration.tsx b/site/src/examples/ag-grid-theme/Coloration.tsx index a95dbc21811..5ade214033a 100644 --- a/site/src/examples/ag-grid-theme/Coloration.tsx +++ b/site/src/examples/ag-grid-theme/Coloration.tsx @@ -3,6 +3,7 @@ import { useAgGridHelpers } from "./useAgGridHelpers"; import { coloredColumns, defaultData } from "./data"; export const Coloration = (props: AgGridReactProps) => { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { containerProps, agGridProps } = useAgGridHelpers(); return ( diff --git a/site/src/examples/ag-grid-theme/ColumnGroup.tsx b/site/src/examples/ag-grid-theme/ColumnGroup.tsx index 9106b278c38..5f70f146633 100644 --- a/site/src/examples/ag-grid-theme/ColumnGroup.tsx +++ b/site/src/examples/ag-grid-theme/ColumnGroup.tsx @@ -3,6 +3,7 @@ import { defaultData, groupedColumns } from "./data"; import { useAgGridHelpers } from "./useAgGridHelpers"; export const ColumnGroup = (props: AgGridReactProps) => { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { containerProps, agGridProps } = useAgGridHelpers(); return ( diff --git a/site/src/examples/ag-grid-theme/ColumnSpanning.tsx b/site/src/examples/ag-grid-theme/ColumnSpanning.tsx index 03c6c18baa3..7aae846da4e 100644 --- a/site/src/examples/ag-grid-theme/ColumnSpanning.tsx +++ b/site/src/examples/ag-grid-theme/ColumnSpanning.tsx @@ -3,6 +3,7 @@ import { defaultData, spannedColumns } from "./data"; import { useAgGridHelpers } from "./useAgGridHelpers"; export const ColumnSpanning = (props: AgGridReactProps) => { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { containerProps, agGridProps } = useAgGridHelpers(); return ( diff --git a/site/src/examples/ag-grid-theme/ContextMenu.tsx b/site/src/examples/ag-grid-theme/ContextMenu.tsx index f0af914573b..40ee0f1d9e4 100644 --- a/site/src/examples/ag-grid-theme/ContextMenu.tsx +++ b/site/src/examples/ag-grid-theme/ContextMenu.tsx @@ -4,6 +4,7 @@ import { defaultData, defaultColumns } from "./data"; import { useAgGridHelpers } from "./useAgGridHelpers"; export const ContextMenu = (props: AgGridReactProps) => { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { containerProps, agGridProps } = useAgGridHelpers(); const getContextMenuItems = (params: GetContextMenuItemsParams) => { diff --git a/site/src/examples/ag-grid-theme/CustomFilter.tsx b/site/src/examples/ag-grid-theme/CustomFilter.tsx index be843380048..cf4fd3b568a 100644 --- a/site/src/examples/ag-grid-theme/CustomFilter.tsx +++ b/site/src/examples/ag-grid-theme/CustomFilter.tsx @@ -6,13 +6,14 @@ import { useAgGridHelpers } from "./useAgGridHelpers"; export const CustomFilter = () => { const [hasSavedState, setHasSavedState] = useState(true); + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { api, isGridReady, agGridProps, containerProps } = useAgGridHelpers(); useEffect(() => { if (isGridReady) { api?.sizeColumnsToFit(); } - }, [isGridReady]); + }, [api, isGridReady]); const handlePopMt100kClick = () => { const popMt100kComponent = api!.getFilterInstance("population")!; @@ -55,11 +56,13 @@ export const CustomFilter = () => { }; const saveState = () => { + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any (window as any).filterState = api!.getFilterModel(); setHasSavedState(false); }; const restoreState = () => { + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any api!.setFilterModel((window as any).filterState); setHasSavedState(true); }; diff --git a/site/src/examples/ag-grid-theme/Default.tsx b/site/src/examples/ag-grid-theme/Default.tsx index ccd1ba51ad5..1d296bfbbe8 100644 --- a/site/src/examples/ag-grid-theme/Default.tsx +++ b/site/src/examples/ag-grid-theme/Default.tsx @@ -1,13 +1,55 @@ import { AgGridReact } from "ag-grid-react"; -import { ReactElement } from "react"; +import { ReactElement, useEffect, useMemo, useRef, useState } from "react"; +import { ColumnApi, GridApi, GridReadyEvent } from "ag-grid-community"; import { defaultData } from "./data"; -import { useAgGridHelpers } from "./useAgGridHelpers"; +import { useDensity, useTheme } from "@salt-ds/core"; + +import "ag-grid-community/styles/ag-grid.css"; +import "@salt-ds/ag-grid-theme/salt.css"; export const Default = (): ReactElement => { - const { containerProps, agGridProps } = useAgGridHelpers(); + const [isGridReady, setGridReady] = useState(false); + const { mode } = useTheme(); + const density = useDensity(); + + const apiRef = useRef<{ api: GridApi; columnApi: ColumnApi }>(); + const onGridReady = ({ api, columnApi }: GridReadyEvent) => { + apiRef.current = { api, columnApi }; + api.sizeColumnsToFit(); + setGridReady(true); + }; + + const rowHeight = useMemo(() => { + switch (density) { + case "high": + return 24; + case "medium": + return 36; + case "low": + return 48; + case "touch": + return 60; + default: + return 20; + } + }, [density]); + + useEffect(() => { + // setHeaderHeight doesn't work if not in setTimeout + setTimeout(() => { + if (isGridReady) { + apiRef.current?.api.resetRowHeights(); + apiRef.current!.api.setHeaderHeight(rowHeight); + apiRef.current!.api.setFloatingFiltersHeight(rowHeight); + } + }, 0); + }, [density, isGridReady, rowHeight]); return ( -
+
{ buttons: ["reset", "apply"], }, editable: false, + autoHeight: true, }, { headerName: "Code", @@ -29,7 +72,9 @@ export const Default = (): ReactElement => { ]} rowData={defaultData} rowSelection="single" - {...agGridProps} + enableRangeSelection={true} + onGridReady={onGridReady} + rowHeight={rowHeight} />
); diff --git a/site/src/examples/ag-grid-theme/DragRowOrder.tsx b/site/src/examples/ag-grid-theme/DragRowOrder.tsx index 63367c214b3..90ade38b1ee 100644 --- a/site/src/examples/ag-grid-theme/DragRowOrder.tsx +++ b/site/src/examples/ag-grid-theme/DragRowOrder.tsx @@ -3,6 +3,7 @@ import { defaultData, rowDragColumns } from "./data"; import { useAgGridHelpers } from "./useAgGridHelpers"; export const DragRowOrder = (props: AgGridReactProps) => { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { agGridProps, containerProps } = useAgGridHelpers(); return ( diff --git a/site/src/examples/ag-grid-theme/FloatingFilter.tsx b/site/src/examples/ag-grid-theme/FloatingFilter.tsx index 7a60fa5fdb2..c7ad39609d2 100644 --- a/site/src/examples/ag-grid-theme/FloatingFilter.tsx +++ b/site/src/examples/ag-grid-theme/FloatingFilter.tsx @@ -3,6 +3,7 @@ import { useAgGridHelpers } from "./useAgGridHelpers"; import { customFilterColumns, defaultData } from "./data"; export const FloatingFilter = () => { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { agGridProps, containerProps } = useAgGridHelpers(); return ( diff --git a/site/src/examples/ag-grid-theme/HDCompact.tsx b/site/src/examples/ag-grid-theme/HDCompact.tsx index ae4bb9283d2..f8295da5334 100644 --- a/site/src/examples/ag-grid-theme/HDCompact.tsx +++ b/site/src/examples/ag-grid-theme/HDCompact.tsx @@ -1,9 +1,6 @@ -import { ChangeEvent, useEffect, useState } from "react"; import { AgGridReact } from "ag-grid-react"; import { StackLayout, - Checkbox, - useDensity, useTheme, SaltProvider, Banner, @@ -26,6 +23,7 @@ const statusBar = { const HDCompactGrid = () => { const { mode } = useTheme(); + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { containerProps, agGridProps } = useAgGridHelpers(true); const className = `ag-theme-salt-high-compact-${mode}`; diff --git a/site/src/examples/ag-grid-theme/InfiniteScroll.tsx b/site/src/examples/ag-grid-theme/InfiniteScroll.tsx index 58962e35295..82c7ea90c6f 100644 --- a/site/src/examples/ag-grid-theme/InfiniteScroll.tsx +++ b/site/src/examples/ag-grid-theme/InfiniteScroll.tsx @@ -21,6 +21,7 @@ const generateData = function generateData( const dataSourceRows = generateData(defaultData); export const InfiniteScroll = (props: AgGridReactProps) => { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { isGridReady, agGridProps, containerProps, api } = useAgGridHelpers(); useEffect(() => { @@ -38,7 +39,7 @@ export const InfiniteScroll = (props: AgGridReactProps) => { }, }); } - }, [isGridReady]); + }, [api, isGridReady]); return (
@@ -55,8 +56,11 @@ export const InfiniteScroll = (props: AgGridReactProps) => { }; const infiniteScrollComponents = { + // eslint-disable-next-line @typescript-eslint/no-explicit-any loadingRenderer(params: any) { + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access if (params.value !== undefined) { + // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access return params.value; } else { return ; diff --git a/site/src/examples/ag-grid-theme/LoadingOverlay.tsx b/site/src/examples/ag-grid-theme/LoadingOverlay.tsx index db9680212c5..3f485325349 100644 --- a/site/src/examples/ag-grid-theme/LoadingOverlay.tsx +++ b/site/src/examples/ag-grid-theme/LoadingOverlay.tsx @@ -15,6 +15,7 @@ const CustomOverlay = () => ( ); export const LoadingOverlay = () => { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { agGridProps, containerProps } = useAgGridHelpers(); return ( diff --git a/site/src/examples/ag-grid-theme/MasterDetail.tsx b/site/src/examples/ag-grid-theme/MasterDetail.tsx index 209eebd0224..b4a949f5512 100644 --- a/site/src/examples/ag-grid-theme/MasterDetail.tsx +++ b/site/src/examples/ag-grid-theme/MasterDetail.tsx @@ -1,14 +1,42 @@ +import { useCallback, useRef } from "react"; import { AgGridReact, AgGridReactProps } from "ag-grid-react"; import { useAgGridHelpers } from "./useAgGridHelpers"; import { defaultData, masterDetailColumns } from "./data"; export const MasterDetail = (props: AgGridReactProps) => { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { agGridProps, containerProps } = useAgGridHelpers(); + const gridRef = useRef(null); + + const onFirstDataRendered = useCallback(() => { + requestAnimationFrame(function () { + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + const node = gridRef.current?.api.getDisplayedRowAtIndex(0); + // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access + node?.setExpanded(true); + }); + }, []); + + const detailCellRenderer = () => ( +
+ +
+ ); + return (
{ rowData={defaultData} {...agGridProps} {...props} + onFirstDataRendered={onFirstDataRendered} />
); diff --git a/site/src/examples/ag-grid-theme/Pagination.tsx b/site/src/examples/ag-grid-theme/Pagination.tsx index 30d98d7b12a..80714593dd6 100644 --- a/site/src/examples/ag-grid-theme/Pagination.tsx +++ b/site/src/examples/ag-grid-theme/Pagination.tsx @@ -13,6 +13,7 @@ const generateData = (states: typeof defaultData) => }, [] as typeof defaultData); const PagedGrid = (props: AgGridReactProps) => { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { agGridProps, containerProps } = useAgGridHelpers(); return ( diff --git a/site/src/examples/ag-grid-theme/ParentChildRows.tsx b/site/src/examples/ag-grid-theme/ParentChildRows.tsx index 25e9460909b..552d7122795 100644 --- a/site/src/examples/ag-grid-theme/ParentChildRows.tsx +++ b/site/src/examples/ag-grid-theme/ParentChildRows.tsx @@ -3,6 +3,7 @@ import { parentChildColumns, parentChildData } from "./data"; import { useAgGridHelpers } from "./useAgGridHelpers"; export const ParentChildRows = (props: AgGridReactProps) => { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { agGridProps, containerProps } = useAgGridHelpers(); return ( @@ -13,7 +14,9 @@ export const ParentChildRows = (props: AgGridReactProps) => { {...agGridProps} {...props} columnDefs={parentChildColumns} + // eslint-disable-next-line @typescript-eslint/no-explicit-any getDataPath={(data: any) => { + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-return return data.orgHierarchy; }} groupDefaultExpanded={-1} diff --git a/site/src/examples/ag-grid-theme/PinnedRows.tsx b/site/src/examples/ag-grid-theme/PinnedRows.tsx index f58b5af9cac..03c3d5f0858 100644 --- a/site/src/examples/ag-grid-theme/PinnedRows.tsx +++ b/site/src/examples/ag-grid-theme/PinnedRows.tsx @@ -49,6 +49,7 @@ export const PinnedRows = function PinnedRowsExample({ showHeader = true, ...rest }: PinnedRowsExampleProps) { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { agGridProps, containerProps } = useAgGridHelpers(); const getColumnData = () => { diff --git a/site/src/examples/ag-grid-theme/RowGroupPanel.tsx b/site/src/examples/ag-grid-theme/RowGroupPanel.tsx index 945f52fc92b..477d77a781a 100644 --- a/site/src/examples/ag-grid-theme/RowGroupPanel.tsx +++ b/site/src/examples/ag-grid-theme/RowGroupPanel.tsx @@ -3,6 +3,7 @@ import { defaultData, rowGroupPanelColumns } from "./data"; import { useAgGridHelpers } from "./useAgGridHelpers"; export const RowGroupPanel = (props: AgGridReactProps) => { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { agGridProps, containerProps } = useAgGridHelpers(); return ( diff --git a/site/src/examples/ag-grid-theme/RowGrouping.tsx b/site/src/examples/ag-grid-theme/RowGrouping.tsx index 9918196122b..85b4a9d5684 100644 --- a/site/src/examples/ag-grid-theme/RowGrouping.tsx +++ b/site/src/examples/ag-grid-theme/RowGrouping.tsx @@ -3,6 +3,7 @@ import { defaultData, rowGroupColumns } from "./data"; import { useAgGridHelpers } from "./useAgGridHelpers"; export const RowGrouping = (props: AgGridReactProps) => { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { agGridProps, containerProps } = useAgGridHelpers(); return ( diff --git a/site/src/examples/ag-grid-theme/StatusBar.tsx b/site/src/examples/ag-grid-theme/StatusBar.tsx index 3f78a6c1621..92fa3e280ac 100644 --- a/site/src/examples/ag-grid-theme/StatusBar.tsx +++ b/site/src/examples/ag-grid-theme/StatusBar.tsx @@ -16,6 +16,7 @@ const statusBar = { }; export const StatusBar = (props: AgGridReactProps) => { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { agGridProps, containerProps } = useAgGridHelpers(); return ( diff --git a/site/src/examples/ag-grid-theme/Variants.tsx b/site/src/examples/ag-grid-theme/Variants.tsx index a7e32655cf2..ef93679d2ae 100644 --- a/site/src/examples/ag-grid-theme/Variants.tsx +++ b/site/src/examples/ag-grid-theme/Variants.tsx @@ -13,6 +13,7 @@ import { useAgGridHelpers } from "./useAgGridHelpers"; export const Variants = (props: AgGridReactProps) => { const [selected, setSelected] = useState("primary"); + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { agGridProps, containerProps } = useAgGridHelpers(); const onChange = (event: SyntheticEvent) => { diff --git a/site/src/examples/ag-grid-theme/WrappedHeader.tsx b/site/src/examples/ag-grid-theme/WrappedHeader.tsx index f99b214232e..932ab2c7113 100644 --- a/site/src/examples/ag-grid-theme/WrappedHeader.tsx +++ b/site/src/examples/ag-grid-theme/WrappedHeader.tsx @@ -17,6 +17,7 @@ const statusBar = { }; export const WrappedHeader = (props: AgGridReactProps) => { + // We've created a local custom hook to set the rows and column sizes. For complete example check the `Default` example. const { api, agGridProps, containerProps, isGridReady } = useAgGridHelpers(); const { defaultColDef: propsColDefs, ...restAgGridProps } = agGridProps; @@ -24,7 +25,7 @@ export const WrappedHeader = (props: AgGridReactProps) => { if (isGridReady) { api?.sizeColumnsToFit(); } - }, [isGridReady]); + }, [api, isGridReady]); return (
@@ -36,6 +37,7 @@ export const WrappedHeader = (props: AgGridReactProps) => { defaultColDef={{ ...propsColDefs, autoHeaderHeight: true, + wrapHeaderText: true, }} {...restAgGridProps} {...props} diff --git a/site/src/examples/ag-grid-theme/data/defaultColumns.ts b/site/src/examples/ag-grid-theme/data/defaultColumns.ts index 7e67cad33a6..deb53b792f8 100644 --- a/site/src/examples/ag-grid-theme/data/defaultColumns.ts +++ b/site/src/examples/ag-grid-theme/data/defaultColumns.ts @@ -5,6 +5,7 @@ export const defaultColumns: ColDef[] = [ headerName: "", field: "on", width: 70, + flex: 1, checkboxSelection: true, headerCheckboxSelection: true, pinned: "left", diff --git a/site/src/examples/ag-grid-theme/useAgGridHelpers.ts b/site/src/examples/ag-grid-theme/useAgGridHelpers.ts index bcdc86c1d5d..152b4679a0b 100644 --- a/site/src/examples/ag-grid-theme/useAgGridHelpers.ts +++ b/site/src/examples/ag-grid-theme/useAgGridHelpers.ts @@ -37,7 +37,7 @@ export function useAgGridHelpers(compact = false): { } }, [density, compact]); - const className = `ag-theme-salt-${density}${ + const className = `ag-theme-salt-${ compact && density === "high" ? `-compact` : `` }-${mode}`; diff --git a/yarn.lock b/yarn.lock index cab8492b6aa..51b1b4d3920 100644 --- a/yarn.lock +++ b/yarn.lock @@ -679,6 +679,16 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.22.13": + version: 7.22.13 + resolution: "@babel/code-frame@npm:7.22.13" + dependencies: + "@babel/highlight": "npm:^7.22.13" + chalk: "npm:^2.4.2" + checksum: 10/bf6ae6ba3a510adfda6a211b4a89b0f1c98ca1352b745c077d113f3b568141e0d44ce750b9ac2a80143ba5c8c4080c50fcfc1aa11d86e194ea6785f62520eb5a + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.22.20, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9, @babel/compat-data@npm:^7.23.5": version: 7.23.5 resolution: "@babel/compat-data@npm:7.23.5" @@ -686,7 +696,30 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.1.0, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.15.5, @babel/core@npm:^7.16.0, @babel/core@npm:^7.18.5, @babel/core@npm:^7.20.12, @babel/core@npm:^7.22.20, @babel/core@npm:^7.22.9, @babel/core@npm:^7.23.9, @babel/core@npm:^7.7.5": +"@babel/core@npm:^7.1.0, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.15.5, @babel/core@npm:^7.16.0, @babel/core@npm:^7.18.5, @babel/core@npm:^7.20.12, @babel/core@npm:^7.22.20, @babel/core@npm:^7.22.9, @babel/core@npm:^7.7.5": + version: 7.23.0 + resolution: "@babel/core@npm:7.23.0" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.22.13" + "@babel/generator": "npm:^7.23.0" + "@babel/helper-compilation-targets": "npm:^7.22.15" + "@babel/helper-module-transforms": "npm:^7.23.0" + "@babel/helpers": "npm:^7.23.0" + "@babel/parser": "npm:^7.23.0" + "@babel/template": "npm:^7.22.15" + "@babel/traverse": "npm:^7.23.0" + "@babel/types": "npm:^7.23.0" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10/dd8f988e9ea82b449aaeb3f0c510e39839d9af61ca99391c7d7d06cd1005f21b93cc8d18ee1f3b929a2a37fbda1ee4b0d9304574f02cc365dc327edc6d0348ef + languageName: node + linkType: hard + +"@babel/core@npm:^7.23.9": version: 7.24.0 resolution: "@babel/core@npm:7.24.0" dependencies: @@ -721,6 +754,18 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/generator@npm:7.23.0" + dependencies: + "@babel/types": "npm:^7.23.0" + "@jridgewell/gen-mapping": "npm:^0.3.2" + "@jridgewell/trace-mapping": "npm:^0.3.17" + jsesc: "npm:^2.5.1" + checksum: 10/bd1598bd356756065d90ce26968dd464ac2b915c67623f6f071fb487da5f9eb454031a380e20e7c9a7ce5c4a49d23be6cb9efde404952b0b3f3c0c3a9b73d68a + languageName: node + linkType: hard + "@babel/helper-annotate-as-pure@npm:^7.16.0, @babel/helper-annotate-as-pure@npm:^7.18.6, @babel/helper-annotate-as-pure@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-annotate-as-pure@npm:7.22.5" @@ -752,7 +797,26 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.17.6, @babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.21.0, @babel/helper-create-class-features-plugin@npm:^7.22.11, @babel/helper-create-class-features-plugin@npm:^7.22.15, @babel/helper-create-class-features-plugin@npm:^7.22.5": +"@babel/helper-create-class-features-plugin@npm:^7.17.6, @babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.22.11, @babel/helper-create-class-features-plugin@npm:^7.22.15, @babel/helper-create-class-features-plugin@npm:^7.22.5": + version: 7.22.15 + resolution: "@babel/helper-create-class-features-plugin@npm:7.22.15" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-environment-visitor": "npm:^7.22.5" + "@babel/helper-function-name": "npm:^7.22.5" + "@babel/helper-member-expression-to-functions": "npm:^7.22.15" + "@babel/helper-optimise-call-expression": "npm:^7.22.5" + "@babel/helper-replace-supers": "npm:^7.22.9" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/000d29f1df397b7fdcb97ad0e9a442781787e5cb0456a9b8da690d13e03549a716bf74348029d3bd3fa4837b35d143a535cad1006f9d552063799ecdd96df672 + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.21.0": version: 7.23.9 resolution: "@babel/helper-create-class-features-plugin@npm:7.23.9" dependencies: @@ -943,6 +1007,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-string-parser@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-string-parser@npm:7.22.5" + checksum: 10/7f275a7f1a9504da06afc33441e219796352a4a3d0288a961bc14d1e30e06833a71621b33c3e60ee3ac1ff3c502d55e392bcbc0665f6f9d2629809696fab7cdd + languageName: node + linkType: hard + "@babel/helper-string-parser@npm:^7.23.4": version: 7.23.4 resolution: "@babel/helper-string-parser@npm:7.23.4" @@ -975,6 +1046,17 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.23.0": + version: 7.23.1 + resolution: "@babel/helpers@npm:7.23.1" + dependencies: + "@babel/template": "npm:^7.22.15" + "@babel/traverse": "npm:^7.23.0" + "@babel/types": "npm:^7.23.0" + checksum: 10/f0802d1bd88fe752c32e3f6f54c3873b926ab8ada22cf1df23ec0829f4836a65ad3625d4a29cefb59786060439c538de6be6a690e069a05c00c3802de8e52fea + languageName: node + linkType: hard + "@babel/helpers@npm:^7.24.0": version: 7.24.0 resolution: "@babel/helpers@npm:7.24.0" @@ -997,6 +1079,17 @@ __metadata: languageName: node linkType: hard +"@babel/highlight@npm:^7.22.13": + version: 7.22.20 + resolution: "@babel/highlight@npm:7.22.20" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.22.20" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + checksum: 10/1aabc95b2cb7f67adc26c7049554306f1435bfedb76b9731c36ff3d7cdfcb32bd65a6dd06985644124eb2100bd911721d9e5c4f5ac40b7f0da2995a61bf8da92 + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.0": version: 7.24.0 resolution: "@babel/parser@npm:7.24.0" @@ -1006,6 +1099,15 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/parser@npm:7.23.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10/201641e068f8cca1ff12b141fcba32d7ccbabc586961bd1b85ae89d9695867f84d57fc2e1176dc4981fd28e5e97ca0e7c32cd688bd5eabb641a302abc0cb5040 + languageName: node + linkType: hard + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.22.15": version: 7.22.15 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.22.15" @@ -2275,7 +2377,18 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5, @babel/template@npm:^7.24.0, @babel/template@npm:^7.3.3": +"@babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5, @babel/template@npm:^7.3.3": + version: 7.22.15 + resolution: "@babel/template@npm:7.22.15" + dependencies: + "@babel/code-frame": "npm:^7.22.13" + "@babel/parser": "npm:^7.22.15" + "@babel/types": "npm:^7.22.15" + checksum: 10/21e768e4eed4d1da2ce5d30aa51db0f4d6d8700bc1821fec6292587df7bba2fe1a96451230de8c64b989740731888ebf1141138bfffb14cacccf4d05c66ad93f + languageName: node + linkType: hard + +"@babel/template@npm:^7.24.0": version: 7.24.0 resolution: "@babel/template@npm:7.24.0" dependencies: @@ -2304,7 +2417,36 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.4, @babel/types@npm:^7.19.0, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.24.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": +"@babel/traverse@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/traverse@npm:7.23.0" + dependencies: + "@babel/code-frame": "npm:^7.22.13" + "@babel/generator": "npm:^7.23.0" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-hoist-variables": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/parser": "npm:^7.23.0" + "@babel/types": "npm:^7.23.0" + debug: "npm:^4.1.0" + globals: "npm:^11.1.0" + checksum: 10/dfa970f2e3dfc2d443f092f5a80752d44c6f38705162d1b5b69ebd8a6ff657351ff269a888556be5d921b3392c6c031c33d2bc52e2fba442f602a5a21d769ed4 + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.4, @babel/types@npm:^7.19.0, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.23.0 + resolution: "@babel/types@npm:7.23.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.22.5" + "@babel/helper-validator-identifier": "npm:^7.22.20" + to-fast-properties: "npm:^2.0.0" + checksum: 10/ca5b896a26c91c5672254725c4c892a35567d2122afc47bd5331d1611a7f9230c19fc9ef591a5a6f80bf0d80737e104a9ac205c96447c74bee01d4319db58001 + languageName: node + linkType: hard + +"@babel/types@npm:^7.23.6, @babel/types@npm:^7.24.0": version: 7.24.0 resolution: "@babel/types@npm:7.24.0" dependencies: @@ -3636,6 +3778,30 @@ __metadata: languageName: node linkType: hard +"@frsource/base64@npm:1.0.17": + version: 1.0.17 + resolution: "@frsource/base64@npm:1.0.17" + checksum: 10/a01689ef785516ff0b7460f55792685fc782f8507518768396acb9283270d50a8149774f3acd5fa690ccd5a48b5ec4ace90a491458ffdd9e9f591c6b23eb5da5 + languageName: node + linkType: hard + +"@frsource/cypress-plugin-visual-regression-diff@npm:^3.3.10": + version: 3.3.10 + resolution: "@frsource/cypress-plugin-visual-regression-diff@npm:3.3.10" + dependencies: + "@frsource/base64": "npm:1.0.17" + glob: "npm:8.1.0" + meta-png: "npm:1.0.6" + move-file: "npm:2.1.0" + pixelmatch: "npm:5.3.0" + pngjs: "npm:7.0.0" + sharp: "npm:0.32.1" + peerDependencies: + cypress: ">=4.5.0" + checksum: 10/4b7f74f02505c34cad27808c08c77bf7f27ed52978743966f44ed4b2d2375d49aa1f00bd11041bb6752a5883993b12ec59597f16ad6820544df8bd1276782361 + languageName: node + linkType: hard + "@gar/promisify@npm:^1.0.1, @gar/promisify@npm:^1.1.3": version: 1.1.3 resolution: "@gar/promisify@npm:1.1.3" @@ -6136,13 +6302,7 @@ __metadata: version: 0.0.0-use.local resolution: "@salt-ds/ag-grid-theme@workspace:packages/ag-grid-theme" dependencies: - chokidar: "npm:^3.5.3" - cssnano: "npm:^5.1.13" del: "npm:^7.0.0" - fs-extra: "npm:^11.1.0" - postcss: "npm:^8.4.14" - postcss-url: "npm:^10.1.3" - sass: "npm:^1.51.0" languageName: unknown linkType: soft @@ -6253,6 +6413,7 @@ __metadata: "@faker-js/faker": "npm:^8.0.0" "@fontsource/open-sans": "npm:^4.5.13" "@fontsource/pt-mono": "npm:^5.0.12" + "@frsource/cypress-plugin-visual-regression-diff": "npm:^3.3.10" "@mswjs/data": "npm:^0.14.0" "@storybook/addon-a11y": "npm:^7.4.5" "@storybook/addon-actions": "npm:^7.4.5" @@ -6280,9 +6441,9 @@ __metadata: "@typescript-eslint/eslint-plugin": "npm:^6.6.0" "@typescript-eslint/parser": "npm:^6.6.0" "@vitejs/plugin-react": "npm:^4.1.0" - ag-grid-community: "npm:^28.2.1" - ag-grid-enterprise: "npm:^28.2.1" - ag-grid-react: "npm:^28.2.1" + ag-grid-community: "npm:^30.2.0" + ag-grid-enterprise: "npm:^30.2.0" + ag-grid-react: "npm:^30.2.0" axe-core: "npm:^4.9.0" chromatic: "npm:^10.2.0" ci-info: "npm:^3.3.1" @@ -9172,10 +9333,10 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:1.0.5, @types/estree@npm:^1.0.0": - version: 1.0.5 - resolution: "@types/estree@npm:1.0.5" - checksum: 10/7de6d928dd4010b0e20c6919e1a6c27b61f8d4567befa89252055fad503d587ecb9a1e3eab1b1901f923964d7019796db810b7fd6430acb26c32866d126fd408 +"@types/estree@npm:*, @types/estree@npm:^1.0.0": + version: 1.0.0 + resolution: "@types/estree@npm:1.0.0" + checksum: 10/9ec366ea3b94db26a45262d7161456c9ee25fd04f3a0da482f6e97dbf90c0c8603053c311391a877027cc4ee648340f988cd04f11287886cdf8bc23366291ef9 languageName: node linkType: hard @@ -9186,6 +9347,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:1.0.5": + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: 10/7de6d928dd4010b0e20c6919e1a6c27b61f8d4567befa89252055fad503d587ecb9a1e3eab1b1901f923964d7019796db810b7fd6430acb26c32866d126fd408 + languageName: node + linkType: hard + "@types/estree@npm:^0.0.51": version: 0.0.51 resolution: "@types/estree@npm:0.0.51" @@ -10609,7 +10777,16 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.10.0, acorn@npm:^8.11.3, acorn@npm:^8.2.4, acorn@npm:^8.5.0, acorn@npm:^8.7.1, acorn@npm:^8.9.0": +"acorn@npm:^8.0.0, acorn@npm:^8.10.0, acorn@npm:^8.2.4, acorn@npm:^8.5.0, acorn@npm:^8.7.1, acorn@npm:^8.9.0": + version: 8.10.0 + resolution: "acorn@npm:8.10.0" + bin: + acorn: bin/acorn + checksum: 10/522310c20fdc3c271caed3caf0f06c51d61cb42267279566edd1d58e83dbc12eebdafaab666a0f0be1b7ad04af9c6bc2a6f478690a9e6391c3c8b165ada917dd + languageName: node + linkType: hard + +"acorn@npm:^8.11.3": version: 8.11.3 resolution: "acorn@npm:8.11.3" bin: @@ -10635,30 +10812,30 @@ __metadata: languageName: node linkType: hard -"ag-grid-community@npm:^28.2.1": - version: 28.2.1 - resolution: "ag-grid-community@npm:28.2.1" - checksum: 10/32de9e6cb547b57d2fa89d9fffed70d445e0542c70ace5a3b6fc92f9547b2d5a97caeaab3ae1c21f2f5a58c0669857427a79ea1a0bd97a8273a0f571f56c20bf +"ag-grid-community@npm:^30.2.0": + version: 30.2.0 + resolution: "ag-grid-community@npm:30.2.0" + checksum: 10/b2c4de8e9d2b563c22c6217b2650944573845686b5d32b48eab037ef4de24d1360f74a66753cc8db33642b6acae7088be4cc292bf21dd72b119d6c30c92795a9 languageName: node linkType: hard -"ag-grid-enterprise@npm:^28.2.1": - version: 28.2.1 - resolution: "ag-grid-enterprise@npm:28.2.1" - checksum: 10/6bb113eca7cc86f7d603f6f7ed9e26cb01f1af85c3bf37747fa86e903d77f231ca4ed5df1126efe283a9dc7dab26bd7e58e0a63176aabae3e955ec36a734dabc +"ag-grid-enterprise@npm:^30.2.0": + version: 30.2.0 + resolution: "ag-grid-enterprise@npm:30.2.0" + checksum: 10/b786ce2e88746aefc10669359cc26c95c7d5126ee448b2c5da8951c30820015450de3b5d9ba05fd74bb846e33ef8b49e708947e7914c7f459288394b18597210 languageName: node linkType: hard -"ag-grid-react@npm:^28.2.1": - version: 28.2.1 - resolution: "ag-grid-react@npm:28.2.1" +"ag-grid-react@npm:^30.2.0": + version: 30.2.0 + resolution: "ag-grid-react@npm:30.2.0" dependencies: prop-types: "npm:^15.8.1" peerDependencies: - ag-grid-community: ~28.2.1 + ag-grid-community: ~30.2.0 react: ^16.3.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.3.0 || ^17.0.0 || ^18.0.0 - checksum: 10/5f494d1c7032c50b91020cb3b3e5ea6c34651ff01ff6e52009c729f96c83615013eb00930af02af8696420bca75626fcd0f36a5a8b0fca7c1f5d45634e7bf52c + checksum: 10/ef4c53a430eedca3c5dc65c76d4daf235508bf4019374bf0040a7e3fecd0ae3f4c95be55c4baead14d28bba9a8ee72410b3efd0c7ba6b12db395d6bc944b600a languageName: node linkType: hard @@ -10762,7 +10939,19 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.0, ajv@npm:^8.0.1, ajv@npm:^8.10.0, ajv@npm:^8.11.0, ajv@npm:^8.8.0": +"ajv@npm:^8.0.0, ajv@npm:^8.0.1, ajv@npm:^8.8.0": + version: 8.10.0 + resolution: "ajv@npm:8.10.0" + dependencies: + fast-deep-equal: "npm:^3.1.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + uri-js: "npm:^4.2.2" + checksum: 10/19f265a0895d1156cb13cb22a973cfce5587718b56c7e0141d8d60c1e7a016eb698aecffca158e06d2bac6d199d86c803a7ad686ba61a38e50a9e2e93894209b + languageName: node + linkType: hard + +"ajv@npm:^8.10.0, ajv@npm:^8.11.0": version: 8.12.0 resolution: "ajv@npm:8.12.0" dependencies: @@ -10956,7 +11145,7 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:5.1.3": +"aria-query@npm:5.1.3, aria-query@npm:^5.0.0, aria-query@npm:^5.1.3": version: 5.1.3 resolution: "aria-query@npm:5.1.3" dependencies: @@ -10965,7 +11154,7 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:5.3.0, aria-query@npm:^5.0.0, aria-query@npm:^5.1.3": +"aria-query@npm:5.3.0": version: 5.3.0 resolution: "aria-query@npm:5.3.0" dependencies: @@ -12867,13 +13056,23 @@ __metadata: languageName: node linkType: hard -"color-name@npm:~1.1.4": +"color-name@npm:^1.0.0, color-name@npm:~1.1.4": version: 1.1.4 resolution: "color-name@npm:1.1.4" checksum: 10/b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 languageName: node linkType: hard +"color-string@npm:^1.9.0": + version: 1.9.1 + resolution: "color-string@npm:1.9.1" + dependencies: + color-name: "npm:^1.0.0" + simple-swizzle: "npm:^0.2.2" + checksum: 10/72aa0b81ee71b3f4fb1ac9cd839cdbd7a011a7d318ef58e6cb13b3708dca75c7e45029697260488709f1b1c7ac4e35489a87e528156c1e365917d1c4ccb9b9cd + languageName: node + linkType: hard + "color-support@npm:^1.1.2, color-support@npm:^1.1.3": version: 1.1.3 resolution: "color-support@npm:1.1.3" @@ -12883,6 +13082,16 @@ __metadata: languageName: node linkType: hard +"color@npm:^4.2.3": + version: 4.2.3 + resolution: "color@npm:4.2.3" + dependencies: + color-convert: "npm:^2.0.1" + color-string: "npm:^1.9.0" + checksum: 10/b23f5e500a79ea22428db43d1a70642d983405c0dd1f95ef59dbdb9ba66afbb4773b334fa0b75bb10b0552fd7534c6b28d4db0a8b528f91975976e70973c0152 + languageName: node + linkType: hard + "colord@npm:^2.9.1, colord@npm:^2.9.3": version: 2.9.3 resolution: "colord@npm:2.9.3" @@ -13675,7 +13884,7 @@ __metadata: languageName: node linkType: hard -"cssnano@npm:^5.0.1, cssnano@npm:^5.0.6, cssnano@npm:^5.1.13": +"cssnano@npm:^5.0.1, cssnano@npm:^5.0.6": version: 5.1.14 resolution: "cssnano@npm:5.1.14" dependencies: @@ -13769,13 +13978,6 @@ __metadata: languageName: node linkType: hard -"cuint@npm:^0.2.2": - version: 0.2.2 - resolution: "cuint@npm:0.2.2" - checksum: 10/c1b98971f4a1b32ce71ec82eac87df87b54ee85d982e3967a6dd89f19ffd3ebbbdb82e3738e489f475611b6ed126c0deba05ed9ecffea0a721a4d43773ce0670 - languageName: node - linkType: hard - "cypress-axe@npm:^1.5.0": version: 1.5.0 resolution: "cypress-axe@npm:1.5.0" @@ -14216,13 +14418,20 @@ __metadata: languageName: node linkType: hard -"dayjs@npm:1.11.10, dayjs@npm:^1.10.4": +"dayjs@npm:1.11.10": version: 1.11.10 resolution: "dayjs@npm:1.11.10" checksum: 10/27e8f5bc01c0a76f36c656e62ab7f08c2e7b040b09e613cd4844abf03fb258e0350f0a83b02c887b84d771c1f11e092deda0beef8c6df2a1afbc3f6c1fade279 languageName: node linkType: hard +"dayjs@npm:^1.10.4": + version: 1.11.5 + resolution: "dayjs@npm:1.11.5" + checksum: 10/cee1c2ed5f74ba31eb30ea985e36eb8f0e10c2afedb8d480a316776bd6655c731aa9d21766c44d64c3e04eb30983b40fec9566902af832768e94335306da9485 + languageName: node + linkType: hard + "debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.0, debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" @@ -14592,7 +14801,7 @@ __metadata: languageName: node linkType: hard -"detect-libc@npm:^2.0.0": +"detect-libc@npm:^2.0.0, detect-libc@npm:^2.0.1": version: 2.0.2 resolution: "detect-libc@npm:2.0.2" checksum: 10/6118f30c0c425b1e56b9d2609f29bec50d35a6af0b762b6ad127271478f3bbfda7319ce869230cf1a351f2b219f39332cde290858553336d652c77b970f15de8 @@ -17888,6 +18097,19 @@ __metadata: languageName: node linkType: hard +"glob@npm:8.1.0, glob@npm:^8.0.0, glob@npm:^8.0.1": + version: 8.1.0 + resolution: "glob@npm:8.1.0" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^5.0.1" + once: "npm:^1.3.0" + checksum: 10/9aab1c75eb087c35dbc41d1f742e51d0507aa2b14c910d96fb8287107a10a22f4bbdce26fc0a3da4c69a20f7b26d62f1640b346a4f6e6becfff47f335bb1dc5e + languageName: node + linkType: hard + "glob@npm:^10.0.0, glob@npm:^10.3.7": version: 10.3.10 resolution: "glob@npm:10.3.10" @@ -17917,19 +18139,6 @@ __metadata: languageName: node linkType: hard -"glob@npm:^8.0.0, glob@npm:^8.0.1": - version: 8.1.0 - resolution: "glob@npm:8.1.0" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^5.0.1" - once: "npm:^1.3.0" - checksum: 10/9aab1c75eb087c35dbc41d1f742e51d0507aa2b14c910d96fb8287107a10a22f4bbdce26fc0a3da4c69a20f7b26d62f1640b346a4f6e6becfff47f335bb1dc5e - languageName: node - linkType: hard - "glob@npm:^9.2.0": version: 9.3.2 resolution: "glob@npm:9.3.2" @@ -19116,6 +19325,13 @@ __metadata: languageName: node linkType: hard +"is-arrayish@npm:^0.3.1": + version: 0.3.2 + resolution: "is-arrayish@npm:0.3.2" + checksum: 10/81a78d518ebd8b834523e25d102684ee0f7e98637136d3bdc93fd09636350fa06f1d8ca997ea28143d4d13cb1b69c0824f082db0ac13e1ab3311c10ffea60ade + languageName: node + linkType: hard + "is-async-function@npm:^2.0.0": version: 2.0.0 resolution: "is-async-function@npm:2.0.0" @@ -21463,7 +21679,7 @@ __metadata: languageName: node linkType: hard -"make-dir@npm:^3.0.0, make-dir@npm:^3.0.2, make-dir@npm:~3.1.0": +"make-dir@npm:^3.0.0, make-dir@npm:^3.0.2": version: 3.1.0 resolution: "make-dir@npm:3.1.0" dependencies: @@ -22089,6 +22305,13 @@ __metadata: languageName: node linkType: hard +"meta-png@npm:1.0.6": + version: 1.0.6 + resolution: "meta-png@npm:1.0.6" + checksum: 10/aed14b3b53189c9d32002d76c40926bd93dd9d439bae3ad23ffb2645c375c9772c160879aa8af59ac85a2f43ae8bbe06b9648a53fe27815f4aeab238f4e9b79d + languageName: node + linkType: hard + "methods@npm:~1.1.2": version: 1.1.2 resolution: "methods@npm:1.1.2" @@ -22630,15 +22853,6 @@ __metadata: languageName: node linkType: hard -"mime@npm:~2.5.2": - version: 2.5.2 - resolution: "mime@npm:2.5.2" - bin: - mime: cli.js - checksum: 10/904b4b5927451a9f0a4f4d838a9fb5ab658dec0caef0f750ec73c41df2eb4a7c34e35dd2e2378e04c129e18b779c1205278cb6d1f94b5728adfd91de51808138 - languageName: node - linkType: hard - "mimic-fn@npm:^2.1.0": version: 2.1.0 resolution: "mimic-fn@npm:2.1.0" @@ -22744,15 +22958,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:~3.0.4": - version: 3.0.8 - resolution: "minimatch@npm:3.0.8" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10/6df5373cb1ea79020beb6887ff5576c58cfabcfd32c5a65c2cf58f326e4ee8eae84f129e5fa50b8a4347fa1d1e583f931285c9fb3040d984bdfb5109ef6607ec - languageName: node - linkType: hard - "minimist-options@npm:^4.0.2": version: 4.1.0 resolution: "minimist-options@npm:4.1.0" @@ -23206,6 +23411,15 @@ __metadata: languageName: node linkType: hard +"move-file@npm:2.1.0": + version: 2.1.0 + resolution: "move-file@npm:2.1.0" + dependencies: + path-exists: "npm:^4.0.0" + checksum: 10/0bd9d7af82784344f742e14d369d806271275fa441a0e62b59dd4cf794497a7f3a1c3e2f70f75a2c7d0318340e7f22fa76aa626195840da4bedaac21285031b8 + languageName: node + linkType: hard + "mri@npm:^1.1.0, mri@npm:^1.1.5, mri@npm:^1.2.0": version: 1.2.0 resolution: "mri@npm:1.2.0" @@ -23528,6 +23742,15 @@ __metadata: languageName: node linkType: hard +"node-addon-api@npm:^6.1.0": + version: 6.1.0 + resolution: "node-addon-api@npm:6.1.0" + dependencies: + node-gyp: "npm:latest" + checksum: 10/8eea1d4d965930a177a0508695beb0d89b4c1d80bf330646a035357a1e8fc31e0d09686e2374996e96e757b947a7ece319f98ede3146683f162597c0bcb4df90 + languageName: node + linkType: hard + "node-cookie@npm:^2.1.2": version: 2.1.2 resolution: "node-cookie@npm:2.1.2" @@ -24926,6 +25149,17 @@ __metadata: languageName: node linkType: hard +"pixelmatch@npm:5.3.0": + version: 5.3.0 + resolution: "pixelmatch@npm:5.3.0" + dependencies: + pngjs: "npm:^6.0.0" + bin: + pixelmatch: bin/pixelmatch + checksum: 10/10778aaa432211253ab0ae9160233d8aa56769ab6312b6bf8375100b67aaa126821626a0c3b433fb2a977864a8d2d145d754d4afa9ac14b84fcb1a0bdf98a4ae + languageName: node + linkType: hard + "pkg-dir@npm:^3.0.0": version: 3.0.0 resolution: "pkg-dir@npm:3.0.0" @@ -24980,6 +25214,20 @@ __metadata: languageName: node linkType: hard +"pngjs@npm:7.0.0": + version: 7.0.0 + resolution: "pngjs@npm:7.0.0" + checksum: 10/e843ebbb0df092ee0f3a3e7dbd91ff87a239a4e4c4198fff202916bfb33b67622f4b83b3c29f3ccae94fcb97180c289df06068624554f61686fe6b9a4811f7db + languageName: node + linkType: hard + +"pngjs@npm:^6.0.0": + version: 6.0.0 + resolution: "pngjs@npm:6.0.0" + checksum: 10/692751ccd5e762623103900922caac982caa90258d9c6c04a6e2bc3397b1dedbaf9db826fc0fa068a29d607cad3df1d1eded0dec2ee35a0015c65cb5ef33ad18 + languageName: node + linkType: hard + "pnp-webpack-plugin@npm:1.7.0": version: 1.7.0 resolution: "pnp-webpack-plugin@npm:1.7.0" @@ -25817,20 +26065,6 @@ __metadata: languageName: node linkType: hard -"postcss-url@npm:^10.1.3": - version: 10.1.3 - resolution: "postcss-url@npm:10.1.3" - dependencies: - make-dir: "npm:~3.1.0" - mime: "npm:~2.5.2" - minimatch: "npm:~3.0.4" - xxhashjs: "npm:~0.2.2" - peerDependencies: - postcss: ^8.0.0 - checksum: 10/7cfd287a9f754099191fc78b68153b35b9cdb6e9db3f06234543c0545656eb11ba61a7c6f4f02cd6de3d82d9dfec47ff1f5cd2879b030b821b580822054b8387 - languageName: node - linkType: hard - "postcss-value-parser@npm:^4.0.2, postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": version: 4.2.0 resolution: "postcss-value-parser@npm:4.2.0" @@ -25870,7 +26104,29 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.1.0, postcss@npm:^8.2.14, postcss@npm:^8.3.5, postcss@npm:^8.4.14, postcss@npm:^8.4.27, postcss@npm:^8.4.32, postcss@npm:^8.4.38, postcss@npm:^8.4.7": +"postcss@npm:^8.1.0, postcss@npm:^8.2.14, postcss@npm:^8.3.5, postcss@npm:^8.4.27, postcss@npm:^8.4.7": + version: 8.4.29 + resolution: "postcss@npm:8.4.29" + dependencies: + nanoid: "npm:^3.3.6" + picocolors: "npm:^1.0.0" + source-map-js: "npm:^1.0.2" + checksum: 10/cfde0096125a9d962d7acc4380922b4cf6af87b98cca78e89fdaa8da92d687b34344c6410d42723bcc154b5c66cc496aed8005c3884cea55a773a1cbc4774e70 + languageName: node + linkType: hard + +"postcss@npm:^8.4.32": + version: 8.4.32 + resolution: "postcss@npm:8.4.32" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.0.0" + source-map-js: "npm:^1.0.2" + checksum: 10/28084864122f29148e1f632261c408444f5ead0e0b9ea9bd9729d0468818ebe73fe5dc0075acd50c1365dbe639b46a79cba27d355ec857723a24bc9af0f18525 + languageName: node + linkType: hard + +"postcss@npm:^8.4.38": version: 8.4.38 resolution: "postcss@npm:8.4.38" dependencies: @@ -27075,7 +27331,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^4.0.0, readable-stream@npm:^4.1.0": +"readable-stream@npm:^4.0.0": version: 4.4.2 resolution: "readable-stream@npm:4.4.2" dependencies: @@ -27088,6 +27344,18 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:^4.1.0": + version: 4.2.0 + resolution: "readable-stream@npm:4.2.0" + dependencies: + abort-controller: "npm:^3.0.0" + buffer: "npm:^6.0.3" + events: "npm:^3.3.0" + process: "npm:^0.11.10" + checksum: 10/59c59e6b652e4fb2828da1bbbafdbbb2d7bebe0e8104cf696f6fd9bda40e9e9da5e743595b2a0084e1fee9a4c35c784673fd37487dfb7aae2dabcd445a6256c2 + languageName: node + linkType: hard + "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -28197,7 +28465,7 @@ __metadata: languageName: node linkType: hard -"sass@npm:^1.51.0, sass@npm:^1.52.3": +"sass@npm:^1.52.3": version: 1.54.4 resolution: "sass@npm:1.54.4" dependencies: @@ -28327,7 +28595,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.x, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.3, semver@npm:^7.5.4": +"semver@npm:7.x, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.0, semver@npm:^7.5.3, semver@npm:^7.5.4": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: @@ -28510,6 +28778,23 @@ __metadata: languageName: node linkType: hard +"sharp@npm:0.32.1": + version: 0.32.1 + resolution: "sharp@npm:0.32.1" + dependencies: + color: "npm:^4.2.3" + detect-libc: "npm:^2.0.1" + node-addon-api: "npm:^6.1.0" + node-gyp: "npm:latest" + prebuild-install: "npm:^7.1.1" + semver: "npm:^7.5.0" + simple-get: "npm:^4.0.1" + tar-fs: "npm:^2.1.1" + tunnel-agent: "npm:^0.6.0" + checksum: 10/07df854f3d69b1ae95ab82ce5416abdea9b8d5c295965a96a9664767c7541a99cb3df7e56171e200425fd555a2853155817ffa9e945af41eef1762c72e7e1670 + languageName: node + linkType: hard + "shebang-command@npm:^1.2.0": version: 1.2.0 resolution: "shebang-command@npm:1.2.0" @@ -28641,7 +28926,7 @@ __metadata: languageName: node linkType: hard -"simple-get@npm:^4.0.0": +"simple-get@npm:^4.0.0, simple-get@npm:^4.0.1": version: 4.0.1 resolution: "simple-get@npm:4.0.1" dependencies: @@ -28652,6 +28937,15 @@ __metadata: languageName: node linkType: hard +"simple-swizzle@npm:^0.2.2": + version: 0.2.2 + resolution: "simple-swizzle@npm:0.2.2" + dependencies: + is-arrayish: "npm:^0.3.1" + checksum: 10/c6dffff17aaa383dae7e5c056fbf10cf9855a9f79949f20ee225c04f06ddde56323600e0f3d6797e82d08d006e93761122527438ee9531620031c08c9e0d73cc + languageName: node + linkType: hard + "simple-update-notifier@npm:^2.0.0": version: 2.0.0 resolution: "simple-update-notifier@npm:2.0.0" @@ -32342,15 +32636,6 @@ __metadata: languageName: node linkType: hard -"xxhashjs@npm:~0.2.2": - version: 0.2.2 - resolution: "xxhashjs@npm:0.2.2" - dependencies: - cuint: "npm:^0.2.2" - checksum: 10/974dba1b7dd10f550714456366135fc70ba809e6e4db26e18a760a1f57e18dbc7fa6732738abc3f8fee27bb6a28d185240356ff4a57d7ce54282049e1da99886 - languageName: node - linkType: hard - "y18n@npm:^4.0.0": version: 4.0.3 resolution: "y18n@npm:4.0.3"