@cloudscape-design/chart-components 1.0.75 → 1.0.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/chart-api/chart-extra-context.js +2 -2
- package/core/chart-api/chart-extra-context.js.map +1 -1
- package/internal/environment.js +1 -1
- package/internal/environment.json +1 -1
- package/internal/generated/styles/tokens.d.ts +12 -0
- package/internal/generated/styles/tokens.js +12 -0
- package/internal/generated/theming/index.cjs +177 -1
- package/internal/generated/theming/index.cjs.d.ts +72 -0
- package/internal/generated/theming/index.d.ts +72 -0
- package/internal/generated/theming/index.js +177 -1
- package/internal/manifest.json +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
import { getChartSeries } from "../../internal/utils/chart-series";
|
|
4
4
|
import { getSeriesData } from "../../internal/utils/series-data";
|
|
5
|
-
import { getGroupRect,
|
|
5
|
+
import { getGroupRect, isSeriesStacked } from "../utils";
|
|
6
6
|
// The context is created when the chart component is rendered for the first time.
|
|
7
7
|
// On every subsequent render the settings and state are updated directly in the context object.
|
|
8
8
|
export function createChartContext() {
|
|
@@ -81,7 +81,7 @@ function computeDerivedState(chart) {
|
|
|
81
81
|
const familyPoints = [];
|
|
82
82
|
for (const x of Array.from(familyXSet).sort(compareX)) {
|
|
83
83
|
for (const member of family) {
|
|
84
|
-
const point = member.data.find((d) => d.x === x &&
|
|
84
|
+
const point = getSeriesData(member.data).find((d) => d.x === x && d.y !== null);
|
|
85
85
|
if (point && familyXSet.has(x)) {
|
|
86
86
|
familyPoints.push(point);
|
|
87
87
|
familyXSet.delete(x); // We ignore points that share X coordinate.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-extra-context.js","sourceRoot":"","sources":["../../../../src/core/chart-api/chart-extra-context.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type Highcharts from \"highcharts\";\n\nimport { NonCancelableEventHandler } from \"../../internal/events\";\nimport { getChartSeries } from \"../../internal/utils/chart-series\";\nimport { getSeriesData } from \"../../internal/utils/series-data\";\nimport { ChartLabels } from \"../i18n-utils\";\nimport { CoreChartProps, Rect } from \"../interfaces\";\nimport { getGroupRect, isPointVisible, isSeriesStacked } from \"../utils\";\n\n// Chart API context is used for dependency injection for chart utilities.\n// It is initialized on chart render, and includes the chart instance, consumer\n// settings and state, and derived state, which is computed from the chart instance\n// on each render, and reused across utilities to avoid duplicate work.\n\nexport interface ChartExtraContext {\n settings: ChartExtraContext.Settings;\n handlers: ChartExtraContext.Handlers;\n state: ChartExtraContext.State;\n derived: ChartExtraContext.DerivedState;\n chartOrNull: null | Highcharts.Chart;\n chart: () => Highcharts.Chart;\n}\n\nexport namespace ChartExtraContext {\n export interface Settings {\n chartId: string;\n noDataEnabled: boolean;\n legendEnabled: boolean;\n tooltipEnabled: boolean;\n keyboardNavigationEnabled: boolean;\n labels: ChartLabels;\n getItemOptions?: CoreChartProps.GetItemOptions;\n }\n\n export interface Handlers {\n onHighlight?: NonCancelableEventHandler<CoreChartProps.HighlightChangeDetail>;\n onClearHighlight?: NonCancelableEventHandler<CoreChartProps.HighlightClearDetail>;\n onVisibleItemsChange?: NonCancelableEventHandler<CoreChartProps.VisibleItemsChangeDetail>;\n }\n\n export interface State {\n visibleItems?: readonly string[];\n }\n\n export interface DerivedState {\n allX: number[];\n getPointsByX: (x: number) => Highcharts.Point[];\n getSeriesPoints: (series: Highcharts.Series) => Highcharts.Point[];\n groupRects: { group: Highcharts.Point[]; rect: Rect }[];\n }\n}\n\n// The context is created when the chart component is rendered for the first time.\n// On every subsequent render the settings and state are updated directly in the context object.\nexport function createChartContext(): ChartExtraContext {\n return {\n settings: {\n chartId: \"\",\n noDataEnabled: false,\n legendEnabled: false,\n tooltipEnabled: false,\n keyboardNavigationEnabled: false,\n labels: {},\n },\n handlers: {},\n state: {},\n chart: () => {\n // Before the first chart render there is no chart instance, which is required for most of the utilities.\n // Instead of doing null checks in each utility, an attempt to access the chart instance before it is ready\n // will cause an exception, indicating an logical error in the code.\n throw new Error(\"Invariant violation: using chart API before initialization.\");\n },\n chartOrNull: null,\n derived: { allX: [], getPointsByX: () => [], getSeriesPoints: () => [], groupRects: [] },\n };\n}\n\n// The update method is called on every chart render, before any other initialization code.\n// This ensures the context state is up to date and can be used for subsequent computations.\nexport function updateChartContext(context: ChartExtraContext, chart: Highcharts.Chart) {\n context.chart = () => chart;\n context.chartOrNull = chart;\n context.derived = computeDerivedState(chart);\n}\n\nfunction computeDerivedState(chart: Highcharts.Chart): ChartExtraContext.DerivedState {\n const allXSet = new Set<number>();\n const allXInSeries = new WeakMap<Highcharts.Series, number[]>();\n const pointsByX = new Map<number, Highcharts.Point[]>();\n const getXPoints = (x: number) => pointsByX.get(x) ?? [];\n const addPoint = (point: Highcharts.Point) => {\n const xPoints = getXPoints(point.x);\n xPoints.push(point);\n pointsByX.set(point.x, xPoints);\n };\n const compareX = (a: number, b: number) => a - b;\n\n for (const s of getChartSeries(chart.series)) {\n const seriesX = new Set<number>();\n if (s.visible) {\n for (const d of getSeriesData(s.data)) {\n // Points with y=null represent the absence of value, there is no need to include them and those\n // should have no impact on computed rects or navigation.\n\n // Although \"d\" can't be undefined according to Highcharts API, it does become undefined for chart containing more datapoints\n // than the cropThreshold for that series (specific cases of re-rendering the chart with updated options listening to setExteme updates)\n if (d.visible && d.y !== null) {\n seriesX.add(d.x);\n allXSet.add(d.x);\n addPoint(d);\n }\n }\n }\n allXInSeries.set(s, Array.from(seriesX));\n }\n for (const [, points] of pointsByX) {\n sortPoints(points);\n }\n const allX = Array.from(allXSet).sort(compareX);\n\n // For each series, compute the ordered list of points to navigate through. For a linked family\n // (primary + its linked children), all members share the same flat list: points sorted by X,\n // with family members interleaved in series order within the same X value.\n const seriesPointsMap = new WeakMap<Highcharts.Series, Highcharts.Point[]>();\n for (const s of getChartSeries(chart.series)) {\n if (seriesPointsMap.has(s)) {\n continue; // Already computed as part of a family.\n }\n const master = s.linkedParent ?? s;\n const family = [master, ...master.linkedSeries];\n const familyXSet = new Set(family.flatMap((m) => allXInSeries.get(m) ?? []));\n const familyPoints: Highcharts.Point[] = [];\n for (const x of Array.from(familyXSet).sort(compareX)) {\n for (const member of family) {\n const point = member.data.find((d) => d.x === x && isPointVisible(d) && d.y !== null);\n if (point && familyXSet.has(x)) {\n familyPoints.push(point);\n familyXSet.delete(x); // We ignore points that share X coordinate.\n }\n }\n }\n for (const member of family) {\n seriesPointsMap.set(member, familyPoints);\n }\n }\n return {\n allX,\n getPointsByX: (x) => pointsByX.get(x) ?? [],\n getSeriesPoints: (s) => seriesPointsMap.get(s) ?? [],\n // Group rects are computed for every available x coordinate, each including at least one point with matching x value.\n // They enclose all matching points of the group and are used to match hover position and place the tooltip or focus outline.\n groupRects: allX.map((x) => ({\n group: getXPoints(x),\n rect: getGroupRect(getXPoints(x)),\n })),\n };\n}\n\n// The points are sorted to ensure consistent navigation, including inverted chart orientation.\n// The order of series in grouped column charts is kept, while stacked series are sorted by their\n// respective positions in the plot.\nfunction sortPoints(group: Highcharts.Point[]) {\n const reversed = !!group[0]?.series.yAxis?.reversed;\n group.sort((a, b) => {\n const ay = a.plotY === undefined || (a.series.type === \"column\" && !isSeriesStacked(a.series)) ? 0 : a.plotY;\n const by = b.plotY === undefined || (b.series.type === \"column\" && !isSeriesStacked(b.series)) ? 0 : b.plotY;\n return !reversed ? ay - by : by - ay;\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"chart-extra-context.js","sourceRoot":"","sources":["../../../../src/core/chart-api/chart-extra-context.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type Highcharts from \"highcharts\";\n\nimport { NonCancelableEventHandler } from \"../../internal/events\";\nimport { getChartSeries } from \"../../internal/utils/chart-series\";\nimport { getSeriesData } from \"../../internal/utils/series-data\";\nimport { ChartLabels } from \"../i18n-utils\";\nimport { CoreChartProps, Rect } from \"../interfaces\";\nimport { getGroupRect, isSeriesStacked } from \"../utils\";\n\n// Chart API context is used for dependency injection for chart utilities.\n// It is initialized on chart render, and includes the chart instance, consumer\n// settings and state, and derived state, which is computed from the chart instance\n// on each render, and reused across utilities to avoid duplicate work.\n\nexport interface ChartExtraContext {\n settings: ChartExtraContext.Settings;\n handlers: ChartExtraContext.Handlers;\n state: ChartExtraContext.State;\n derived: ChartExtraContext.DerivedState;\n chartOrNull: null | Highcharts.Chart;\n chart: () => Highcharts.Chart;\n}\n\nexport namespace ChartExtraContext {\n export interface Settings {\n chartId: string;\n noDataEnabled: boolean;\n legendEnabled: boolean;\n tooltipEnabled: boolean;\n keyboardNavigationEnabled: boolean;\n labels: ChartLabels;\n getItemOptions?: CoreChartProps.GetItemOptions;\n }\n\n export interface Handlers {\n onHighlight?: NonCancelableEventHandler<CoreChartProps.HighlightChangeDetail>;\n onClearHighlight?: NonCancelableEventHandler<CoreChartProps.HighlightClearDetail>;\n onVisibleItemsChange?: NonCancelableEventHandler<CoreChartProps.VisibleItemsChangeDetail>;\n }\n\n export interface State {\n visibleItems?: readonly string[];\n }\n\n export interface DerivedState {\n allX: number[];\n getPointsByX: (x: number) => Highcharts.Point[];\n getSeriesPoints: (series: Highcharts.Series) => Highcharts.Point[];\n groupRects: { group: Highcharts.Point[]; rect: Rect }[];\n }\n}\n\n// The context is created when the chart component is rendered for the first time.\n// On every subsequent render the settings and state are updated directly in the context object.\nexport function createChartContext(): ChartExtraContext {\n return {\n settings: {\n chartId: \"\",\n noDataEnabled: false,\n legendEnabled: false,\n tooltipEnabled: false,\n keyboardNavigationEnabled: false,\n labels: {},\n },\n handlers: {},\n state: {},\n chart: () => {\n // Before the first chart render there is no chart instance, which is required for most of the utilities.\n // Instead of doing null checks in each utility, an attempt to access the chart instance before it is ready\n // will cause an exception, indicating an logical error in the code.\n throw new Error(\"Invariant violation: using chart API before initialization.\");\n },\n chartOrNull: null,\n derived: { allX: [], getPointsByX: () => [], getSeriesPoints: () => [], groupRects: [] },\n };\n}\n\n// The update method is called on every chart render, before any other initialization code.\n// This ensures the context state is up to date and can be used for subsequent computations.\nexport function updateChartContext(context: ChartExtraContext, chart: Highcharts.Chart) {\n context.chart = () => chart;\n context.chartOrNull = chart;\n context.derived = computeDerivedState(chart);\n}\n\nfunction computeDerivedState(chart: Highcharts.Chart): ChartExtraContext.DerivedState {\n const allXSet = new Set<number>();\n const allXInSeries = new WeakMap<Highcharts.Series, number[]>();\n const pointsByX = new Map<number, Highcharts.Point[]>();\n const getXPoints = (x: number) => pointsByX.get(x) ?? [];\n const addPoint = (point: Highcharts.Point) => {\n const xPoints = getXPoints(point.x);\n xPoints.push(point);\n pointsByX.set(point.x, xPoints);\n };\n const compareX = (a: number, b: number) => a - b;\n\n for (const s of getChartSeries(chart.series)) {\n const seriesX = new Set<number>();\n if (s.visible) {\n for (const d of getSeriesData(s.data)) {\n // Points with y=null represent the absence of value, there is no need to include them and those\n // should have no impact on computed rects or navigation.\n\n // Although \"d\" can't be undefined according to Highcharts API, it does become undefined for chart containing more datapoints\n // than the cropThreshold for that series (specific cases of re-rendering the chart with updated options listening to setExteme updates)\n if (d.visible && d.y !== null) {\n seriesX.add(d.x);\n allXSet.add(d.x);\n addPoint(d);\n }\n }\n }\n allXInSeries.set(s, Array.from(seriesX));\n }\n for (const [, points] of pointsByX) {\n sortPoints(points);\n }\n const allX = Array.from(allXSet).sort(compareX);\n\n // For each series, compute the ordered list of points to navigate through. For a linked family\n // (primary + its linked children), all members share the same flat list: points sorted by X,\n // with family members interleaved in series order within the same X value.\n const seriesPointsMap = new WeakMap<Highcharts.Series, Highcharts.Point[]>();\n for (const s of getChartSeries(chart.series)) {\n if (seriesPointsMap.has(s)) {\n continue; // Already computed as part of a family.\n }\n const master = s.linkedParent ?? s;\n const family = [master, ...master.linkedSeries];\n const familyXSet = new Set(family.flatMap((m) => allXInSeries.get(m) ?? []));\n const familyPoints: Highcharts.Point[] = [];\n for (const x of Array.from(familyXSet).sort(compareX)) {\n for (const member of family) {\n const point = getSeriesData(member.data).find((d) => d.x === x && d.y !== null);\n if (point && familyXSet.has(x)) {\n familyPoints.push(point);\n familyXSet.delete(x); // We ignore points that share X coordinate.\n }\n }\n }\n for (const member of family) {\n seriesPointsMap.set(member, familyPoints);\n }\n }\n return {\n allX,\n getPointsByX: (x) => pointsByX.get(x) ?? [],\n getSeriesPoints: (s) => seriesPointsMap.get(s) ?? [],\n // Group rects are computed for every available x coordinate, each including at least one point with matching x value.\n // They enclose all matching points of the group and are used to match hover position and place the tooltip or focus outline.\n groupRects: allX.map((x) => ({\n group: getXPoints(x),\n rect: getGroupRect(getXPoints(x)),\n })),\n };\n}\n\n// The points are sorted to ensure consistent navigation, including inverted chart orientation.\n// The order of series in grouped column charts is kept, while stacked series are sorted by their\n// respective positions in the plot.\nfunction sortPoints(group: Highcharts.Point[]) {\n const reversed = !!group[0]?.series.yAxis?.reversed;\n group.sort((a, b) => {\n const ay = a.plotY === undefined || (a.series.type === \"column\" && !isSeriesStacked(a.series)) ? 0 : a.plotY;\n const by = b.plotY === undefined || (b.series.type === \"column\" && !isSeriesStacked(b.series)) ? 0 : b.plotY;\n return !reversed ? ay - by : by - ay;\n });\n}\n"]}
|
package/internal/environment.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export var PACKAGE_SOURCE = "chart-components";
|
|
2
|
-
export var PACKAGE_VERSION = "1.0.0 (
|
|
2
|
+
export var PACKAGE_VERSION = "1.0.0 (538da2ab)";
|
|
3
3
|
export var THEME = "open-source-visual-refresh";
|
|
4
4
|
export var ALWAYS_VISUAL_REFRESH = true;
|
|
5
5
|
export var SYSTEM = "core";
|
|
@@ -306,6 +306,7 @@ export const colorBackgroundCodeEditorLoading: string;
|
|
|
306
306
|
export const colorBackgroundCodeEditorPaneItemHover: string;
|
|
307
307
|
export const colorBackgroundCodeEditorStatusBar: string;
|
|
308
308
|
export const colorBackgroundCard: string;
|
|
309
|
+
export const colorBackgroundItemCard: string;
|
|
309
310
|
export const colorBackgroundContainerContent: string;
|
|
310
311
|
export const colorBackgroundContainerHeader: string;
|
|
311
312
|
export const colorBackgroundControlChecked: string;
|
|
@@ -398,6 +399,8 @@ export const colorBorderCodeEditorDefault: string;
|
|
|
398
399
|
export const colorBorderCodeEditorPaneItemHover: string;
|
|
399
400
|
export const colorBorderCard: string;
|
|
400
401
|
export const colorBorderCardHighlighted: string;
|
|
402
|
+
export const colorBorderItemCard: string;
|
|
403
|
+
export const colorBorderItemCardHighlighted: string;
|
|
401
404
|
export const colorBorderContainerDivider: string;
|
|
402
405
|
export const colorBorderContainerTop: string;
|
|
403
406
|
export const colorBorderControlChecked: string;
|
|
@@ -631,6 +634,8 @@ export const borderRadiusCalendarDayFocusRing: string;
|
|
|
631
634
|
export const borderRadiusCodeEditor: string;
|
|
632
635
|
export const borderRadiusCardDefault: string;
|
|
633
636
|
export const borderRadiusCardEmbedded: string;
|
|
637
|
+
export const borderRadiusItemCardDefault: string;
|
|
638
|
+
export const borderRadiusItemCardEmbedded: string;
|
|
634
639
|
export const borderRadiusContainer: string;
|
|
635
640
|
export const borderRadiusControlCircularFocusRing: string;
|
|
636
641
|
export const borderRadiusControlDefaultFocusRing: string;
|
|
@@ -650,6 +655,8 @@ export const borderLinkFocusRingOutline: string;
|
|
|
650
655
|
export const borderLinkFocusRingShadowSpread: string;
|
|
651
656
|
export const borderWidthCard: string;
|
|
652
657
|
export const borderWidthCardHighlighted: string;
|
|
658
|
+
export const borderWidthItemCard: string;
|
|
659
|
+
export const borderWidthItemCardHighlighted: string;
|
|
653
660
|
export const borderWidthAlert: string;
|
|
654
661
|
export const borderWidthAlertBlockStart: string;
|
|
655
662
|
export const borderWidthAlertBlockEnd: string;
|
|
@@ -732,6 +739,10 @@ export const spaceCardHorizontalDefault: string;
|
|
|
732
739
|
export const spaceCardHorizontalEmbedded: string;
|
|
733
740
|
export const spaceCardVerticalDefault: string;
|
|
734
741
|
export const spaceCardVerticalEmbedded: string;
|
|
742
|
+
export const spaceItemCardHorizontalDefault: string;
|
|
743
|
+
export const spaceItemCardHorizontalEmbedded: string;
|
|
744
|
+
export const spaceItemCardVerticalDefault: string;
|
|
745
|
+
export const spaceItemCardVerticalEmbedded: string;
|
|
735
746
|
export const spaceCodeEditorStatusFocusOutlineGutter: string;
|
|
736
747
|
export const spaceContainerContentTop: string;
|
|
737
748
|
export const spaceContainerHeaderTop: string;
|
|
@@ -818,6 +829,7 @@ export const spaceXl: string;
|
|
|
818
829
|
export const spaceXxl: string;
|
|
819
830
|
export const spaceXxxl: string;
|
|
820
831
|
export const shadowCard: string;
|
|
832
|
+
export const shadowItemCard: string;
|
|
821
833
|
export const shadowContainer: string;
|
|
822
834
|
export const shadowContainerActive: string;
|
|
823
835
|
export const shadowDropdown: string;
|
|
@@ -306,6 +306,7 @@ export var colorBackgroundCodeEditorLoading = "var(--color-background-code-edito
|
|
|
306
306
|
export var colorBackgroundCodeEditorPaneItemHover = "var(--color-background-code-editor-pane-item-hover-z6k9mr, #ebebf0)";
|
|
307
307
|
export var colorBackgroundCodeEditorStatusBar = "var(--color-background-code-editor-status-bar-yjtxod, #f3f3f7)";
|
|
308
308
|
export var colorBackgroundCard = "var(--color-background-card-p5vrq0, #ffffff)";
|
|
309
|
+
export var colorBackgroundItemCard = "var(--color-background-item-card-ww2wfv, #ffffff)";
|
|
309
310
|
export var colorBackgroundContainerContent = "var(--color-background-container-content-6u8rvp, #ffffff)";
|
|
310
311
|
export var colorBackgroundContainerHeader = "var(--color-background-container-header-gs3mbe, #ffffff)";
|
|
311
312
|
export var colorBackgroundControlChecked = "var(--color-background-control-checked-ka7kc2, #006ce0)";
|
|
@@ -398,6 +399,8 @@ export var colorBorderCodeEditorDefault = "var(--color-border-code-editor-defaul
|
|
|
398
399
|
export var colorBorderCodeEditorPaneItemHover = "var(--color-border-code-editor-pane-item-hover-wvblek, #8c8c94)";
|
|
399
400
|
export var colorBorderCard = "var(--color-border-card-3n24fu, #c6c6cd)";
|
|
400
401
|
export var colorBorderCardHighlighted = "var(--color-border-card-highlighted-ygosod, #006ce0)";
|
|
402
|
+
export var colorBorderItemCard = "var(--color-border-item-card-fia23i, #c6c6cd)";
|
|
403
|
+
export var colorBorderItemCardHighlighted = "var(--color-border-item-card-highlighted-5l7rko, #006ce0)";
|
|
401
404
|
export var colorBorderContainerDivider = "var(--color-border-container-divider-9huz1a, transparent)";
|
|
402
405
|
export var colorBorderContainerTop = "var(--color-border-container-top-k3vmoz, transparent)";
|
|
403
406
|
export var colorBorderControlChecked = "var(--color-border-control-checked-bdv28l, #006ce0)";
|
|
@@ -631,6 +634,8 @@ export var borderRadiusCalendarDayFocusRing = "var(--border-radius-calendar-day-
|
|
|
631
634
|
export var borderRadiusCodeEditor = "var(--border-radius-code-editor-5palck, 8px)";
|
|
632
635
|
export var borderRadiusCardDefault = "var(--border-radius-card-default-d8ipr7, 16px)";
|
|
633
636
|
export var borderRadiusCardEmbedded = "var(--border-radius-card-embedded-fvclp8, 8px)";
|
|
637
|
+
export var borderRadiusItemCardDefault = "var(--border-radius-item-card-default-pi9u8q, 16px)";
|
|
638
|
+
export var borderRadiusItemCardEmbedded = "var(--border-radius-item-card-embedded-l0g6e3, 8px)";
|
|
634
639
|
export var borderRadiusContainer = "var(--border-radius-container-nsfwmm, 16px)";
|
|
635
640
|
export var borderRadiusControlCircularFocusRing = "var(--border-radius-control-circular-focus-ring-yjhscw, 4px)";
|
|
636
641
|
export var borderRadiusControlDefaultFocusRing = "var(--border-radius-control-default-focus-ring-1uabki, 4px)";
|
|
@@ -650,6 +655,8 @@ export var borderLinkFocusRingOutline = "var(--border-link-focus-ring-outline-1p
|
|
|
650
655
|
export var borderLinkFocusRingShadowSpread = "var(--border-link-focus-ring-shadow-spread-39uvxr, 2px)";
|
|
651
656
|
export var borderWidthCard = "var(--border-width-card-x24gzt, 1px)";
|
|
652
657
|
export var borderWidthCardHighlighted = "var(--border-width-card-highlighted-x17dhn, 2px)";
|
|
658
|
+
export var borderWidthItemCard = "var(--border-width-item-card-3wmyp3, 1px)";
|
|
659
|
+
export var borderWidthItemCardHighlighted = "var(--border-width-item-card-highlighted-jay4ll, 2px)";
|
|
653
660
|
export var borderWidthAlert = "var(--border-width-alert-tuifgy, 2px)";
|
|
654
661
|
export var borderWidthAlertBlockStart = "var(--border-width-alert-block-start-5wbfsk, 2px)";
|
|
655
662
|
export var borderWidthAlertBlockEnd = "var(--border-width-alert-block-end-q8rr42, 2px)";
|
|
@@ -732,6 +739,10 @@ export var spaceCardHorizontalDefault = "var(--space-card-horizontal-default-pih
|
|
|
732
739
|
export var spaceCardHorizontalEmbedded = "var(--space-card-horizontal-embedded-sasxhu, 12px)";
|
|
733
740
|
export var spaceCardVerticalDefault = "var(--space-card-vertical-default-e40tif, 16px)";
|
|
734
741
|
export var spaceCardVerticalEmbedded = "var(--space-card-vertical-embedded-30pnhg, 10px)";
|
|
742
|
+
export var spaceItemCardHorizontalDefault = "var(--space-item-card-horizontal-default-obq2ks, 20px)";
|
|
743
|
+
export var spaceItemCardHorizontalEmbedded = "var(--space-item-card-horizontal-embedded-e0vef5, 12px)";
|
|
744
|
+
export var spaceItemCardVerticalDefault = "var(--space-item-card-vertical-default-ppqfu4, 16px)";
|
|
745
|
+
export var spaceItemCardVerticalEmbedded = "var(--space-item-card-vertical-embedded-zuozef, 10px)";
|
|
735
746
|
export var spaceCodeEditorStatusFocusOutlineGutter = "var(--space-code-editor-status-focus-outline-gutter-o87hra, -7px)";
|
|
736
747
|
export var spaceContainerContentTop = "var(--space-container-content-top-1wtqrc, 4px)";
|
|
737
748
|
export var spaceContainerHeaderTop = "var(--space-container-header-top-am4vzw, 12px)";
|
|
@@ -818,6 +829,7 @@ export var spaceXl = "var(--space-xl-jfy3x4, 24px)";
|
|
|
818
829
|
export var spaceXxl = "var(--space-xxl-32srm4, 32px)";
|
|
819
830
|
export var spaceXxxl = "var(--space-xxxl-aut1u7, 40px)";
|
|
820
831
|
export var shadowCard = "var(--shadow-card-hmrw4q, none)";
|
|
832
|
+
export var shadowItemCard = "var(--shadow-item-card-282f8w, none)";
|
|
821
833
|
export var shadowContainer = "var(--shadow-container-53ltfv, 0px 0px 1px 1px #e9ebed, 0px 1px 8px 2px rgba(0, 7, 22, 0.12))";
|
|
822
834
|
export var shadowContainerActive = "var(--shadow-container-active-ypjjoc, 0px 1px 1px 1px #e9ebed, 0px 6px 36px #0007161a)";
|
|
823
835
|
export var shadowDropdown = "var(--shadow-dropdown-isf0w4, 0px 4px 20px 1px rgba(0, 7, 22, 0.10))";
|