@automattic/charts 4.9.0 → 4.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/TOKENS.md +7 -3
- package/dist/index.cjs +496 -774
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +66 -3
- package/dist/index.d.cts +65 -60
- package/dist/index.d.ts +65 -60
- package/dist/index.js +467 -726
- package/dist/index.js.map +1 -1
- package/dist/visx/group/index.js +1 -2
- package/dist/visx/legend/index.js +1 -2
- package/dist/visx/text/index.js +1 -2
- package/package.json +13 -12
- package/src/charts/area-chart/area-chart.tsx +2 -1
- package/src/charts/area-chart/test/area-chart.test.tsx +0 -8
- package/src/charts/area-chart/types.ts +0 -2
- package/src/charts/bar-chart/bar-chart.tsx +7 -2
- package/src/charts/bar-chart/test/bar-chart.test.tsx +0 -8
- package/src/charts/bar-chart/types.ts +0 -2
- package/src/charts/bar-list-chart/bar-list-chart.tsx +3 -0
- package/src/charts/conversion-funnel-chart/conversion-funnel-chart.module.scss +5 -0
- package/src/charts/conversion-funnel-chart/conversion-funnel-chart.tsx +23 -7
- package/src/charts/conversion-funnel-chart/test/conversion-funnel-chart.test.tsx +22 -0
- package/src/charts/conversion-funnel-chart/types.ts +1 -1
- package/src/charts/geo-chart/geo-chart.module.scss +27 -0
- package/src/charts/geo-chart/geo-chart.tsx +85 -45
- package/src/charts/geo-chart/private/use-tooltip-position.ts +106 -0
- package/src/charts/geo-chart/test/geo-chart.test.tsx +77 -46
- package/src/charts/geo-chart/test/use-tooltip-position.test.ts +43 -0
- package/src/charts/geo-chart/types.ts +1 -1
- package/src/charts/heatmap-chart/heatmap-chart.module.scss +3 -3
- package/src/charts/heatmap-chart/private/heatmap-scale.ts +48 -43
- package/src/charts/heatmap-chart/test/heatmap-chart.test.tsx +5 -11
- package/src/charts/heatmap-chart/test/heatmap-scale.test.ts +55 -27
- package/src/charts/heatmap-chart/types.ts +1 -3
- package/src/charts/leaderboard-chart/hooks/use-fitted-row-count.ts +2 -2
- package/src/charts/leaderboard-chart/leaderboard-chart.module.scss +6 -0
- package/src/charts/leaderboard-chart/leaderboard-chart.tsx +34 -19
- package/src/charts/leaderboard-chart/test/leaderboard-chart.test.tsx +35 -6
- package/src/charts/leaderboard-chart/types.ts +1 -0
- package/src/charts/line-chart/line-chart.tsx +3 -0
- package/src/charts/line-chart/test/line-chart.test.tsx +0 -8
- package/src/charts/line-chart/types.ts +0 -2
- package/src/charts/pie-chart/pie-chart.module.scss +3 -0
- package/src/charts/pie-chart/pie-chart.tsx +0 -5
- package/src/charts/pie-chart/test/pie-chart.test.tsx +4 -8
- package/src/charts/pie-semi-circle-chart/pie-semi-circle-chart.module.scss +3 -0
- package/src/charts/pie-semi-circle-chart/pie-semi-circle-chart.tsx +0 -5
- package/src/charts/private/pie-keyboard-navigation/pie-tooltip.tsx +8 -3
- package/src/charts/test/accessible-name.test.tsx +181 -0
- package/src/components/legend/hooks/test/use-chart-legend-items.test.tsx +63 -3
- package/src/components/legend/hooks/use-chart-legend-items.ts +63 -1
- package/src/components/legend/private/base-legend.module.scss +5 -0
- package/src/components/legend/private/base-legend.tsx +35 -17
- package/src/components/legend/test/legend.test.tsx +42 -0
- package/src/components/legend/types.ts +2 -0
- package/src/components/tooltip/_surface.scss +19 -0
- package/src/components/tooltip/private/bounded-tooltip.tsx +2 -2
- package/src/components/tooltip/tooltip-box.module.scss +3 -17
- package/src/hooks/test/use-xychart-theme.test.tsx +22 -0
- package/src/hooks/use-xychart-theme.ts +33 -2
- package/src/index.ts +1 -0
- package/src/styles/chart-scope.scss +6 -4
- package/src/styles/test/chart-scope.test.ts +6 -2
- package/src/types.ts +19 -1
- package/src/utils/resolve-font-size.ts +9 -10
- package/src/utils/test/resolve-font-size.test.ts +11 -2
package/dist/index.cjs
CHANGED
|
@@ -6,7 +6,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
6
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
7
|
var __getProtoOf = Object.getPrototypeOf;
|
|
8
8
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
-
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
9
|
+
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod, mod.exports), cb = null), mod.exports);
|
|
10
10
|
var __copyProps = (to, from, except, desc) => {
|
|
11
11
|
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
12
12
|
key = keys[i];
|
|
@@ -53,7 +53,6 @@ let react_google_charts = require("react-google-charts");
|
|
|
53
53
|
let dompurify = require("dompurify");
|
|
54
54
|
dompurify = __toESM(dompurify, 1);
|
|
55
55
|
require("@babel/runtime/helpers/esm/extends");
|
|
56
|
-
require("@babel/runtime/helpers/extends");
|
|
57
56
|
let _wordpress_icons = require("@wordpress/icons");
|
|
58
57
|
let _visx_shape = require("@visx/shape");
|
|
59
58
|
//#region src/charts/private/chart-instance-context/chart-instance-context.ts
|
|
@@ -671,16 +670,17 @@ function readCustomProperty(varName, styles) {
|
|
|
671
670
|
}
|
|
672
671
|
//#endregion
|
|
673
672
|
//#region src/utils/resolve-font-size.ts
|
|
673
|
+
const toFontSize = (size) => Number.isFinite(size) && size >= 0 ? size : void 0;
|
|
674
674
|
/**
|
|
675
675
|
* Resolve a theme `fontSize` value into a plain number suitable for
|
|
676
676
|
* canvas-based measurement (e.g. `getStringWidth`).
|
|
677
677
|
*
|
|
678
678
|
* Accepts:
|
|
679
|
-
* - A number — returned as-is
|
|
679
|
+
* - A finite, non-negative number — returned as-is
|
|
680
680
|
* - A pixel string like `"12px"` — parsed and returned as a number
|
|
681
681
|
*
|
|
682
|
-
* Returns `undefined` for any other input (missing value,
|
|
683
|
-
* relative units like `rem`/`em`/`%`/`vh`) so callers can fall back to
|
|
682
|
+
* Returns `undefined` for any other input (missing value, a non-finite or
|
|
683
|
+
* negative size, or relative units like `rem`/`em`/`%`/`vh`) so callers can fall back to
|
|
684
684
|
* their own default. Relative units are intentionally rejected because
|
|
685
685
|
* we cannot resolve them to absolute pixels here without a parent
|
|
686
686
|
* computed style, and silently returning the unitless prefix
|
|
@@ -690,12 +690,10 @@ function readCustomProperty(varName, styles) {
|
|
|
690
690
|
* @return Parsed numeric font size in pixels, or `undefined` when unresolvable
|
|
691
691
|
*/
|
|
692
692
|
const resolveFontSize = (val) => {
|
|
693
|
-
if (typeof val === "number") return
|
|
693
|
+
if (typeof val === "number") return toFontSize(val);
|
|
694
694
|
if (typeof val === "string") {
|
|
695
|
-
const match = val.trim().match(
|
|
696
|
-
|
|
697
|
-
const parsed = parseFloat(match[1]);
|
|
698
|
-
return isNaN(parsed) ? void 0 : parsed;
|
|
695
|
+
const match = val.trim().match(/^\+?((?:\d*\.)?\d+)(px)?$/);
|
|
696
|
+
return match ? toFontSize(parseFloat(match[1])) : void 0;
|
|
699
697
|
}
|
|
700
698
|
};
|
|
701
699
|
//#endregion
|
|
@@ -1574,6 +1572,20 @@ const useChartScopeElement = () => (0, react.useContext)(ChartScopeContext);
|
|
|
1574
1572
|
const useStandaloneScopeClass = () => (0, react.useContext)(GlobalChartsContext) ? void 0 : CHART_SCOPE_CLASS;
|
|
1575
1573
|
//#endregion
|
|
1576
1574
|
//#region src/hooks/use-xychart-theme.ts
|
|
1575
|
+
const STARTS_LIKE_A_NUMBER = /^[+-]?[\d.]/;
|
|
1576
|
+
const NON_NEGATIVE_CSS_NUMBER = /^\+?(?:\d*\.)?\d+(?:e[+-]?\d+)?(?:[a-z]+|%)?$/i;
|
|
1577
|
+
const isRenderableFontSize = (fontSize) => {
|
|
1578
|
+
if (typeof fontSize === "number") return resolveFontSize(fontSize) !== void 0;
|
|
1579
|
+
const value = fontSize.trim();
|
|
1580
|
+
if (!STARTS_LIKE_A_NUMBER.test(value)) return true;
|
|
1581
|
+
return NON_NEGATIVE_CSS_NUMBER.test(value) && Number.isFinite(parseFloat(value));
|
|
1582
|
+
};
|
|
1583
|
+
const withRenderableFontSize = (style) => {
|
|
1584
|
+
if (style?.fontSize === void 0 || isRenderableFontSize(style.fontSize)) return style;
|
|
1585
|
+
const rest = { ...style };
|
|
1586
|
+
delete rest.fontSize;
|
|
1587
|
+
return rest;
|
|
1588
|
+
};
|
|
1577
1589
|
const useXYChartTheme = (data) => {
|
|
1578
1590
|
const theme = useGlobalChartsTheme();
|
|
1579
1591
|
const scopeElement = useChartScopeElement();
|
|
@@ -1604,9 +1616,10 @@ const useXYChartTheme = (data) => {
|
|
|
1604
1616
|
yAxisLineStyles: { stroke: CATALOG_POINTERS.axisY },
|
|
1605
1617
|
yTickLineStyles: { stroke: CATALOG_POINTERS.tickY },
|
|
1606
1618
|
svgLabelSmall: {
|
|
1607
|
-
...theme.svgLabelSmall,
|
|
1619
|
+
...withRenderableFontSize(theme.svgLabelSmall),
|
|
1608
1620
|
fill: CATALOG_POINTERS.labelAxis
|
|
1609
|
-
}
|
|
1621
|
+
},
|
|
1622
|
+
svgLabelBig: withRenderableFontSize(theme.svgLabelBig)
|
|
1610
1623
|
});
|
|
1611
1624
|
}, [
|
|
1612
1625
|
theme,
|
|
@@ -2081,6 +2094,7 @@ function valueOrIdentityString(_) {
|
|
|
2081
2094
|
//#region src/components/legend/private/base-legend.module.scss
|
|
2082
2095
|
var base_legend_module_default = {
|
|
2083
2096
|
"legend": "a8ccharts-04TogW-legend",
|
|
2097
|
+
"legend--horizontal": "a8ccharts-04TogW-legend--horizontal",
|
|
2084
2098
|
"legend-item": "a8ccharts-04TogW-legend-item",
|
|
2085
2099
|
"legend-item--inactive": "a8ccharts-04TogW-legend-item--inactive",
|
|
2086
2100
|
"legend-item--interactive": "a8ccharts-04TogW-legend-item--interactive",
|
|
@@ -2119,7 +2133,7 @@ const getLegendItemAriaLabel = (text, value, visible, interactive) => {
|
|
|
2119
2133
|
if (visible) return;
|
|
2120
2134
|
return (0, _wordpress_i18n.sprintf)((0, _wordpress_i18n._x)("%s: hidden", "hidden non-interactive legend item", "jetpack-charts"), accessibleText);
|
|
2121
2135
|
};
|
|
2122
|
-
const BaseLegend = (0, react.forwardRef)(({ items, className, orientation = "horizontal", alignment = "center", shape = "rect", fill = valueOrIdentityString, size = valueOrIdentityString, labelFormat = valueOrIdentity, labelTransform, itemStyles, itemClassName, labelStyles, labelClassName, shapeStyles, render, interactive = false, chartId }, ref) => {
|
|
2136
|
+
const BaseLegend = (0, react.forwardRef)(({ items: allItems, className, orientation = "horizontal", alignment = "center", shape = "rect", fill = valueOrIdentityString, size = valueOrIdentityString, labelFormat = valueOrIdentity, labelTransform, itemStyles, itemClassName, labelStyles, labelClassName, shapeStyles, render, interactive = false, chartId }, ref) => {
|
|
2123
2137
|
const { margin: itemMargin = "0", flexDirection: itemDirection = "row" } = itemStyles ?? {};
|
|
2124
2138
|
const { justifyContent: labelJustifyContent = "flex-start", flex: labelFlex = "0 0 auto", margin: labelMargin = "0 4px", maxWidth, textOverflow = "wrap" } = labelStyles ?? {};
|
|
2125
2139
|
const { width: shapeWidth = 16, height: shapeHeight = 16, margin: shapeMargin = "2px 4px 2px 0" } = shapeStyles ?? {};
|
|
@@ -2127,6 +2141,16 @@ const BaseLegend = (0, react.forwardRef)(({ items, className, orientation = "hor
|
|
|
2127
2141
|
const context = (0, react.useContext)(GlobalChartsContext);
|
|
2128
2142
|
const chartInstanceContext = (0, react.useContext)(ChartInstanceContext);
|
|
2129
2143
|
const standaloneScopeClass = useStandaloneScopeClass();
|
|
2144
|
+
const isSeriesVisible = (0, react.useCallback)((seriesLabel) => {
|
|
2145
|
+
if (chartInstanceContext?.isSeriesVisible) return chartInstanceContext.isSeriesVisible(seriesLabel);
|
|
2146
|
+
if (!chartId || !context) return true;
|
|
2147
|
+
return context.isSeriesVisible(chartId, seriesLabel);
|
|
2148
|
+
}, [
|
|
2149
|
+
chartId,
|
|
2150
|
+
chartInstanceContext,
|
|
2151
|
+
context
|
|
2152
|
+
]);
|
|
2153
|
+
const items = (0, react.useMemo)(() => allItems.filter((item) => item.interactive !== false || !item.describesSeries || isSeriesVisible(item.describesSeries)), [allItems, isSeriesVisible]);
|
|
2130
2154
|
const domain = items.map((item) => item.label);
|
|
2131
2155
|
const legendScale = (0, _visx_scale.scaleOrdinal)({
|
|
2132
2156
|
domain,
|
|
@@ -2149,15 +2173,6 @@ const BaseLegend = (0, react.forwardRef)(({ items, className, orientation = "hor
|
|
|
2149
2173
|
chartId,
|
|
2150
2174
|
context
|
|
2151
2175
|
]);
|
|
2152
|
-
const isSeriesVisible = (0, react.useCallback)((seriesLabel) => {
|
|
2153
|
-
if (chartInstanceContext?.isSeriesVisible) return chartInstanceContext.isSeriesVisible(seriesLabel);
|
|
2154
|
-
if (!chartId || !context) return true;
|
|
2155
|
-
return context.isSeriesVisible(chartId, seriesLabel);
|
|
2156
|
-
}, [
|
|
2157
|
-
chartId,
|
|
2158
|
-
chartInstanceContext,
|
|
2159
|
-
context
|
|
2160
|
-
]);
|
|
2161
2176
|
const createClickHandler = (0, react.useCallback)((seriesLabels, itemInteractive) => {
|
|
2162
2177
|
if (!itemInteractive) return;
|
|
2163
2178
|
return () => handleLegendClick(seriesLabels);
|
|
@@ -2181,12 +2196,12 @@ const BaseLegend = (0, react.forwardRef)(({ items, className, orientation = "hor
|
|
|
2181
2196
|
children: (labels) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_wordpress_ui.Stack, {
|
|
2182
2197
|
ref,
|
|
2183
2198
|
direction: orientation === "vertical" ? "column" : "row",
|
|
2184
|
-
gap: orientation === "vertical" ? "sm" :
|
|
2199
|
+
gap: orientation === "vertical" ? "sm" : void 0,
|
|
2185
2200
|
align: orientation === "vertical" ? flexAlignment : void 0,
|
|
2186
2201
|
justify: orientation === "horizontal" ? flexAlignment : void 0,
|
|
2187
2202
|
wrap: orientation === "horizontal" ? "wrap" : void 0,
|
|
2188
2203
|
role: interactive ? void 0 : "list",
|
|
2189
|
-
className: (0, clsx.default)(standaloneScopeClass, base_legend_module_default.legend, className),
|
|
2204
|
+
className: (0, clsx.default)(standaloneScopeClass, base_legend_module_default.legend, orientation === "horizontal" && base_legend_module_default["legend--horizontal"], className),
|
|
2190
2205
|
style: theme.legend?.containerStyles,
|
|
2191
2206
|
children: labels.map((label, i) => {
|
|
2192
2207
|
const matchedItem = items[i];
|
|
@@ -2432,6 +2447,34 @@ function buildComparisonLegendItem(seriesData, items, label, getElementStyles, l
|
|
|
2432
2447
|
};
|
|
2433
2448
|
}
|
|
2434
2449
|
/**
|
|
2450
|
+
* Builds one static item per comparison series folded into another series' item, named after
|
|
2451
|
+
* that item and styled like the comparison series itself.
|
|
2452
|
+
* @param seriesData - The series data to search for comparison series
|
|
2453
|
+
* @param items - The legend items already built from the series
|
|
2454
|
+
* @param formatLabel - Names an item after the label of the item it was folded into
|
|
2455
|
+
* @param getElementStyles - Function to get element styles
|
|
2456
|
+
* @param legendShape - The shape type for legend items (string literal or React component)
|
|
2457
|
+
* @return The legend items, in series order
|
|
2458
|
+
*/
|
|
2459
|
+
function buildPerSeriesComparisonItems(seriesData, items, formatLabel, getElementStyles, legendShape) {
|
|
2460
|
+
return seriesData.flatMap((series, index) => {
|
|
2461
|
+
const owner = items.find((item) => item.seriesLabels?.includes(series.label));
|
|
2462
|
+
if (series.options?.type !== "comparison" || !owner || owner.seriesLabels?.[0] === series.label) return [];
|
|
2463
|
+
const { color, shapeStyles } = getElementStyles({
|
|
2464
|
+
data: series,
|
|
2465
|
+
index,
|
|
2466
|
+
legendShape
|
|
2467
|
+
});
|
|
2468
|
+
return [{
|
|
2469
|
+
label: formatLabel(owner.label),
|
|
2470
|
+
color,
|
|
2471
|
+
shapeStyle: shapeStyles,
|
|
2472
|
+
interactive: false,
|
|
2473
|
+
describesSeries: series.label
|
|
2474
|
+
}];
|
|
2475
|
+
});
|
|
2476
|
+
}
|
|
2477
|
+
/**
|
|
2435
2478
|
* Processes point data into legend items
|
|
2436
2479
|
* @param pointData - The point data to process
|
|
2437
2480
|
* @param getElementStyles - Function to get element styles
|
|
@@ -2467,13 +2510,14 @@ function processPointData(pointData, getElementStyles, showValues, legendValueDi
|
|
|
2467
2510
|
* @return Array of legend items ready for display
|
|
2468
2511
|
*/
|
|
2469
2512
|
function useChartLegendItems(data, options = {}, legendShape) {
|
|
2470
|
-
const { showValues = false, legendValueDisplay = "percentage", withGlyph = false, glyphSize = 8, collapseGroups = false, comparisonItem = false, renderGlyph } = options;
|
|
2513
|
+
const { showValues = false, legendValueDisplay = "percentage", withGlyph = false, glyphSize = 8, collapseGroups = false, comparisonItem = false, comparisonSeriesItems, renderGlyph } = options;
|
|
2471
2514
|
const { getElementStyles } = useGlobalChartsContext();
|
|
2472
2515
|
return (0, react.useMemo)(() => {
|
|
2473
2516
|
if (!data || !Array.isArray(data) || data.length === 0) return [];
|
|
2474
2517
|
if ("data" in data[0]) {
|
|
2475
2518
|
const seriesData = data;
|
|
2476
2519
|
const items = processSeriesData(seriesData, getElementStyles, showValues, withGlyph, glyphSize, collapseGroups, renderGlyph, legendShape);
|
|
2520
|
+
if (comparisonSeriesItems) return [...items, ...buildPerSeriesComparisonItems(seriesData, items, comparisonSeriesItems, getElementStyles, legendShape)];
|
|
2477
2521
|
const comparison = comparisonItem ? buildComparisonLegendItem(seriesData, items, typeof comparisonItem === "string" ? comparisonItem : (0, _wordpress_i18n.__)("Comparison period", "jetpack-charts"), getElementStyles, legendShape) : null;
|
|
2478
2522
|
return comparison ? [...items, comparison] : items;
|
|
2479
2523
|
}
|
|
@@ -2487,6 +2531,7 @@ function useChartLegendItems(data, options = {}, legendShape) {
|
|
|
2487
2531
|
glyphSize,
|
|
2488
2532
|
collapseGroups,
|
|
2489
2533
|
comparisonItem,
|
|
2534
|
+
comparisonSeriesItems,
|
|
2490
2535
|
renderGlyph,
|
|
2491
2536
|
legendShape
|
|
2492
2537
|
]);
|
|
@@ -2581,9 +2626,6 @@ const BaseTooltip = ({ data, top, left, component: Component = LabelValueContent
|
|
|
2581
2626
|
children: content
|
|
2582
2627
|
});
|
|
2583
2628
|
};
|
|
2584
|
-
//#endregion
|
|
2585
|
-
//#region src/components/tooltip/private/bounded-tooltip.tsx
|
|
2586
|
-
const DEFAULT_OFFSET = 10;
|
|
2587
2629
|
const POINTER_HEIGHT = 6;
|
|
2588
2630
|
const clamp = (position, min, max, size) => Math.min(Math.max(position, min), Math.max(min, max - size));
|
|
2589
2631
|
const isClipping = (element) => {
|
|
@@ -2680,7 +2722,7 @@ const getBoundedPosition = ({ left, top, offsetLeft, offsetTop, box, wrapper, bo
|
|
|
2680
2722
|
* @param props.placement - Below-axis, beside without vertical flipping, or automatic flipping.
|
|
2681
2723
|
* @return The tooltip box.
|
|
2682
2724
|
*/
|
|
2683
|
-
const BoundedTooltip = ({ left = 0, top = 0, offsetLeft =
|
|
2725
|
+
const BoundedTooltip = ({ left = 0, top = 0, offsetLeft = 10, offsetTop = 10, style, unstyled = false, className, children, placement = "auto", ...rest }) => {
|
|
2684
2726
|
const nodeRef = (0, react.useRef)(null);
|
|
2685
2727
|
const clipRef = (0, react.useRef)(null);
|
|
2686
2728
|
const [position, setPosition] = (0, react.useState)(null);
|
|
@@ -4728,6 +4770,7 @@ const LineChartInternal = (0, react.forwardRef)(({ data, ariaLabel, chartId: pro
|
|
|
4728
4770
|
const legendInteractive = legend.interactive ?? false;
|
|
4729
4771
|
const legendCollapseGroups = legend.collapseGroups ?? false;
|
|
4730
4772
|
const legendComparisonItem = legend.comparisonItem ?? false;
|
|
4773
|
+
const legendComparisonSeriesItems = legend.comparisonSeriesItems;
|
|
4731
4774
|
const legendShape = legend.shape ?? "line";
|
|
4732
4775
|
const legendPosition = legend.position ?? "bottom";
|
|
4733
4776
|
const formatting = useChartFormatting();
|
|
@@ -4912,12 +4955,14 @@ const LineChartInternal = (0, react.forwardRef)(({ data, ariaLabel, chartId: pro
|
|
|
4912
4955
|
glyphSize: Math.max(0, toNumber(glyphStyle?.radius) ?? 4),
|
|
4913
4956
|
collapseGroups: legendCollapseGroups,
|
|
4914
4957
|
comparisonItem: legendComparisonItem,
|
|
4958
|
+
comparisonSeriesItems: legendComparisonSeriesItems,
|
|
4915
4959
|
renderGlyph
|
|
4916
4960
|
}), [
|
|
4917
4961
|
withLegendGlyph,
|
|
4918
4962
|
glyphStyle?.radius,
|
|
4919
4963
|
legendCollapseGroups,
|
|
4920
4964
|
legendComparisonItem,
|
|
4965
|
+
legendComparisonSeriesItems,
|
|
4921
4966
|
renderGlyph
|
|
4922
4967
|
]), legendShape);
|
|
4923
4968
|
const chartMetadata = (0, react.useMemo)(() => ({
|
|
@@ -5386,8 +5431,13 @@ const AreaChartInternal = (0, react.forwardRef)(({ data, ariaLabel, chartId: pro
|
|
|
5386
5431
|
withGlyph: false,
|
|
5387
5432
|
glyphSize: 0,
|
|
5388
5433
|
collapseGroups: legend.collapseGroups ?? false,
|
|
5389
|
-
comparisonItem: legend.comparisonItem ?? false
|
|
5390
|
-
|
|
5434
|
+
comparisonItem: legend.comparisonItem ?? false,
|
|
5435
|
+
comparisonSeriesItems: legend.comparisonSeriesItems
|
|
5436
|
+
}), [
|
|
5437
|
+
legend.collapseGroups,
|
|
5438
|
+
legend.comparisonItem,
|
|
5439
|
+
legend.comparisonSeriesItems
|
|
5440
|
+
]), legendShape);
|
|
5391
5441
|
const chartMetadata = (0, react.useMemo)(() => ({
|
|
5392
5442
|
stacked,
|
|
5393
5443
|
stackOffset,
|
|
@@ -6380,6 +6430,7 @@ const BarChartInternal = ({ data, ariaLabel, chartId: providedChartId, width, he
|
|
|
6380
6430
|
const legendInteractive = legend.interactive ?? false;
|
|
6381
6431
|
const legendCollapseGroups = legend.collapseGroups ?? false;
|
|
6382
6432
|
const legendComparisonItem = legend.comparisonItem ?? false;
|
|
6433
|
+
const legendComparisonSeriesItems = legend.comparisonSeriesItems;
|
|
6383
6434
|
const horizontal = orientation === "horizontal";
|
|
6384
6435
|
const chartId = useChartId(providedChartId);
|
|
6385
6436
|
const hiddenSeries = useDefaultHiddenSeries(chartId, defaultHiddenSeries);
|
|
@@ -6392,8 +6443,13 @@ const BarChartInternal = ({ data, ariaLabel, chartId: providedChartId, width, he
|
|
|
6392
6443
|
});
|
|
6393
6444
|
const legendItems = useChartLegendItems(dataSorted, (0, react.useMemo)(() => ({
|
|
6394
6445
|
collapseGroups: legendCollapseGroups,
|
|
6395
|
-
comparisonItem: legendComparisonItem
|
|
6396
|
-
|
|
6446
|
+
comparisonItem: legendComparisonItem,
|
|
6447
|
+
comparisonSeriesItems: legendComparisonSeriesItems
|
|
6448
|
+
}), [
|
|
6449
|
+
legendCollapseGroups,
|
|
6450
|
+
legendComparisonItem,
|
|
6451
|
+
legendComparisonSeriesItems
|
|
6452
|
+
]));
|
|
6397
6453
|
const { getElementStyles } = useGlobalChartsContext();
|
|
6398
6454
|
const isSeriesRendered = (0, react.useCallback)((series) => isSeriesVisible(series.label), [isSeriesVisible]);
|
|
6399
6455
|
const hasWholeNumberValues = (0, react.useMemo)(() => hasOnlyWholeNumbers(dataSorted.filter(isSeriesRendered)), [dataSorted, isSeriesRendered]);
|
|
@@ -6904,7 +6960,7 @@ const BarListChartInternal = ({ data, width, height, options = {}, margin = {
|
|
|
6904
6960
|
right: 20,
|
|
6905
6961
|
bottom: 0,
|
|
6906
6962
|
top: 0
|
|
6907
|
-
}, className, ...rest }) => {
|
|
6963
|
+
}, className, ariaLabel, ...rest }) => {
|
|
6908
6964
|
const { getElementStyles } = useGlobalChartsContext();
|
|
6909
6965
|
const tintedData = (0, react.useMemo)(() => {
|
|
6910
6966
|
if (data.length > 1) return data;
|
|
@@ -6979,6 +7035,7 @@ const BarListChartInternal = ({ data, width, height, options = {}, margin = {
|
|
|
6979
7035
|
xScale: chartOptions.xScale,
|
|
6980
7036
|
yScale: chartOptions.yScale
|
|
6981
7037
|
},
|
|
7038
|
+
ariaLabel: ariaLabel ?? (0, _wordpress_i18n.__)("Bar list chart", "jetpack-charts"),
|
|
6982
7039
|
...rest
|
|
6983
7040
|
});
|
|
6984
7041
|
};
|
|
@@ -7054,6 +7111,8 @@ const useFunnelSelection = (hideTooltip) => {
|
|
|
7054
7111
|
};
|
|
7055
7112
|
//#endregion
|
|
7056
7113
|
//#region src/charts/conversion-funnel-chart/conversion-funnel-chart.tsx
|
|
7114
|
+
/** Chart height (px) below which the funnel tightens its gaps so the bars keep their room. */
|
|
7115
|
+
const SHORT_CHART_HEIGHT = 180;
|
|
7057
7116
|
/**
|
|
7058
7117
|
* Internal ConversionFunnelChart component with chart registration
|
|
7059
7118
|
*
|
|
@@ -7065,6 +7124,7 @@ const useFunnelSelection = (hideTooltip) => {
|
|
|
7065
7124
|
* @param props.loading - Whether the chart is in loading state
|
|
7066
7125
|
* @param props.animation - Whether to show chart animation on initial render or not
|
|
7067
7126
|
* @param props.className - Additional CSS class name
|
|
7127
|
+
* @param props.ariaLabel - Accessible name for the chart group
|
|
7068
7128
|
* @param props.height - Height of the chart container. Falls back to style.height if set, otherwise defaults to "100%".
|
|
7069
7129
|
* @param props.style - Custom styling
|
|
7070
7130
|
* @param props.renderStepLabel - Custom render function for step labels
|
|
@@ -7074,7 +7134,7 @@ const useFunnelSelection = (hideTooltip) => {
|
|
|
7074
7134
|
* @param props.tooltipStyle - Inline styles merged over the tooltip box defaults
|
|
7075
7135
|
* @return JSX element representing the conversion funnel chart
|
|
7076
7136
|
*/
|
|
7077
|
-
const ConversionFunnelChartInternal = ({ mainRate, changeIndicator, steps, loading = false, animation, className, chartId: providedChartId, height, style, renderStepLabel, renderStepRate, renderMainMetric, renderTooltip, tooltipStyle }) => {
|
|
7137
|
+
const ConversionFunnelChartInternal = ({ mainRate, changeIndicator, steps, loading = false, animation, className, ariaLabel, chartId: providedChartId, height, style, renderStepLabel, renderStepRate, renderMainMetric, renderTooltip, tooltipStyle }) => {
|
|
7078
7138
|
const chartId = useChartId(providedChartId);
|
|
7079
7139
|
const { getElementStyles, isColorPaletteResolved } = useGlobalChartsContext();
|
|
7080
7140
|
const chartRef = (0, react.useRef)(null);
|
|
@@ -7083,10 +7143,13 @@ const ConversionFunnelChartInternal = ({ mainRate, changeIndicator, steps, loadi
|
|
|
7083
7143
|
const { tooltipData, tooltipLeft, tooltipTop, tooltipOpen, showTooltip, hideTooltip } = (0, _visx_tooltip.useTooltip)();
|
|
7084
7144
|
const { handleBarClick, handleBarKeyDown, clearSelection, getStepState } = useFunnelSelection(hideTooltip);
|
|
7085
7145
|
const standaloneScopeClass = useStandaloneScopeClass();
|
|
7146
|
+
const [measureChartRef, , chartHeight] = useElementSize();
|
|
7147
|
+
const gap = chartHeight > 0 && chartHeight < SHORT_CHART_HEIGHT ? "sm" : "xl";
|
|
7086
7148
|
const setChartRef = (0, react.useCallback)((node) => {
|
|
7087
7149
|
chartRef.current = node;
|
|
7088
7150
|
setScopeNode(node);
|
|
7089
|
-
|
|
7151
|
+
measureChartRef(node);
|
|
7152
|
+
}, [measureChartRef]);
|
|
7090
7153
|
const clearSelectionAndRef = (0, react.useCallback)(() => {
|
|
7091
7154
|
clearSelection();
|
|
7092
7155
|
selectedBarRef.current = null;
|
|
@@ -7234,7 +7297,9 @@ const ConversionFunnelChartInternal = ({ mainRate, changeIndicator, steps, loadi
|
|
|
7234
7297
|
const maxRate = Math.max(...steps.map((step) => step.rate));
|
|
7235
7298
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_wordpress_ui.Stack, {
|
|
7236
7299
|
direction: "column",
|
|
7237
|
-
gap
|
|
7300
|
+
gap,
|
|
7301
|
+
role: "group",
|
|
7302
|
+
"aria-label": ariaLabel ?? (0, _wordpress_i18n.__)("Conversion funnel chart", "jetpack-charts"),
|
|
7238
7303
|
ref: setChartRef,
|
|
7239
7304
|
className: (0, clsx.default)("conversion-funnel-chart", conversion_funnel_chart_module_default["conversion-funnel-chart"], loading && conversion_funnel_chart_module_default["conversion-funnel-chart--loading"], className),
|
|
7240
7305
|
style: {
|
|
@@ -7265,7 +7330,7 @@ const ConversionFunnelChartInternal = ({ mainRate, changeIndicator, steps, loadi
|
|
|
7265
7330
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_wordpress_ui.Stack, {
|
|
7266
7331
|
direction: "column",
|
|
7267
7332
|
className: (0, clsx.default)(conversion_funnel_chart_module_default["funnel-step"], isColorPaletteResolved && conversion_funnel_chart_module_default["funnel-step--animated"], isBlurred && conversion_funnel_chart_module_default["funnel-step--blurred"]),
|
|
7268
|
-
gap
|
|
7333
|
+
gap,
|
|
7269
7334
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_wordpress_ui.Stack, {
|
|
7270
7335
|
direction: "column",
|
|
7271
7336
|
gap: "xs",
|
|
@@ -7389,6 +7454,91 @@ function sanitizeHtml(html) {
|
|
|
7389
7454
|
//#region src/charts/geo-chart/geo-chart.module.scss
|
|
7390
7455
|
var geo_chart_module_default = { "container": "a8ccharts-8hS2IW-container" };
|
|
7391
7456
|
//#endregion
|
|
7457
|
+
//#region src/charts/geo-chart/private/use-tooltip-position.ts
|
|
7458
|
+
const TOOLTIP_CLASS = "google-visualization-tooltip";
|
|
7459
|
+
const isTooltip = (node) => node instanceof HTMLElement && node.classList.contains(TOOLTIP_CLASS);
|
|
7460
|
+
/**
|
|
7461
|
+
* Moves Google's HTML tooltip to where the other chart tooltips sit, just off the cursor. Google places it about 30px away and has no option for it.
|
|
7462
|
+
*
|
|
7463
|
+
* @param containerRef - The element Google draws the chart into.
|
|
7464
|
+
*/
|
|
7465
|
+
function useTooltipPosition(containerRef) {
|
|
7466
|
+
(0, react.useEffect)(() => {
|
|
7467
|
+
const container = containerRef.current;
|
|
7468
|
+
if (!container || typeof MutationObserver === "undefined") return;
|
|
7469
|
+
let pointer = null;
|
|
7470
|
+
let clip = null;
|
|
7471
|
+
const ownStyles = /* @__PURE__ */ new WeakMap();
|
|
7472
|
+
const place = (tooltip) => {
|
|
7473
|
+
const parent = tooltip.offsetParent;
|
|
7474
|
+
if (!pointer || !parent) return;
|
|
7475
|
+
if (clip?.parent !== parent) clip = {
|
|
7476
|
+
parent,
|
|
7477
|
+
element: findClippingAncestor(parent)
|
|
7478
|
+
};
|
|
7479
|
+
const parentRect = parent.getBoundingClientRect();
|
|
7480
|
+
const clipRect = clip.element?.getBoundingClientRect() ?? {
|
|
7481
|
+
left: 0,
|
|
7482
|
+
top: 0,
|
|
7483
|
+
right: window.innerWidth,
|
|
7484
|
+
bottom: window.innerHeight
|
|
7485
|
+
};
|
|
7486
|
+
const { x, y } = getBoundedPosition({
|
|
7487
|
+
left: pointer.x - parentRect.left,
|
|
7488
|
+
top: pointer.y - parentRect.top,
|
|
7489
|
+
offsetLeft: 10,
|
|
7490
|
+
offsetTop: 10,
|
|
7491
|
+
box: {
|
|
7492
|
+
width: tooltip.offsetWidth,
|
|
7493
|
+
height: tooltip.offsetHeight
|
|
7494
|
+
},
|
|
7495
|
+
wrapper: {
|
|
7496
|
+
left: 0,
|
|
7497
|
+
top: 0,
|
|
7498
|
+
right: parentRect.width,
|
|
7499
|
+
bottom: parentRect.height
|
|
7500
|
+
},
|
|
7501
|
+
bounds: {
|
|
7502
|
+
left: clipRect.left - parentRect.left,
|
|
7503
|
+
top: clipRect.top - parentRect.top,
|
|
7504
|
+
right: clipRect.right - parentRect.left,
|
|
7505
|
+
bottom: clipRect.bottom - parentRect.top
|
|
7506
|
+
}
|
|
7507
|
+
});
|
|
7508
|
+
tooltip.style.left = `${x}px`;
|
|
7509
|
+
tooltip.style.top = `${y}px`;
|
|
7510
|
+
ownStyles.set(tooltip, tooltip.style.cssText);
|
|
7511
|
+
};
|
|
7512
|
+
const trackPointer = (event) => {
|
|
7513
|
+
pointer = {
|
|
7514
|
+
x: event.clientX,
|
|
7515
|
+
y: event.clientY
|
|
7516
|
+
};
|
|
7517
|
+
};
|
|
7518
|
+
const observer = new MutationObserver((records) => {
|
|
7519
|
+
const tooltips = /* @__PURE__ */ new Set();
|
|
7520
|
+
for (const record of records) {
|
|
7521
|
+
if (isTooltip(record.target)) tooltips.add(record.target);
|
|
7522
|
+
record.addedNodes.forEach((node) => isTooltip(node) && tooltips.add(node));
|
|
7523
|
+
}
|
|
7524
|
+
for (const tooltip of tooltips) if (ownStyles.get(tooltip) !== tooltip.style.cssText) place(tooltip);
|
|
7525
|
+
});
|
|
7526
|
+
container.addEventListener("mouseover", trackPointer, true);
|
|
7527
|
+
container.addEventListener("mousemove", trackPointer, true);
|
|
7528
|
+
observer.observe(container, {
|
|
7529
|
+
childList: true,
|
|
7530
|
+
subtree: true,
|
|
7531
|
+
attributes: true,
|
|
7532
|
+
attributeFilter: ["style"]
|
|
7533
|
+
});
|
|
7534
|
+
return () => {
|
|
7535
|
+
container.removeEventListener("mouseover", trackPointer, true);
|
|
7536
|
+
container.removeEventListener("mousemove", trackPointer, true);
|
|
7537
|
+
observer.disconnect();
|
|
7538
|
+
};
|
|
7539
|
+
}, [containerRef]);
|
|
7540
|
+
}
|
|
7541
|
+
//#endregion
|
|
7392
7542
|
//#region src/charts/geo-chart/geo-chart.tsx
|
|
7393
7543
|
/**
|
|
7394
7544
|
* External dependencies
|
|
@@ -7431,6 +7581,23 @@ function involvesGeoChartErrorElement(node) {
|
|
|
7431
7581
|
if (!(node instanceof HTMLElement)) return false;
|
|
7432
7582
|
return node.id.startsWith(GOOGLE_CHARTS_ERROR_ID_PREFIX) || node.querySelector(`[id^="${GOOGLE_CHARTS_ERROR_ID_PREFIX}"]`) !== null;
|
|
7433
7583
|
}
|
|
7584
|
+
const isTooltipColumn = (column) => typeof column === "object" && column !== null && "role" in column && column.role === "tooltip";
|
|
7585
|
+
const hasHtmlFlag = (columnOrCell) => typeof columnOrCell === "object" && columnOrCell !== null && "p" in columnOrCell && typeof columnOrCell.p === "object" && columnOrCell.p !== null && "html" in columnOrCell.p && !!columnOrCell.p.html;
|
|
7586
|
+
const sanitizeIfString = (value) => typeof value === "string" ? sanitizeHtml(value) : value;
|
|
7587
|
+
/**
|
|
7588
|
+
* Sanitizes a tooltip cell Google will render as markup, whether a string or a `{ v, f, p }` object.
|
|
7589
|
+
*
|
|
7590
|
+
* @param cell - The tooltip cell.
|
|
7591
|
+
* @return The cell with its markup sanitized.
|
|
7592
|
+
*/
|
|
7593
|
+
function sanitizeTooltipCell(cell) {
|
|
7594
|
+
if (typeof cell !== "object" || cell === null) return sanitizeIfString(cell);
|
|
7595
|
+
return {
|
|
7596
|
+
...cell,
|
|
7597
|
+
..."v" in cell && { v: sanitizeIfString(cell.v) },
|
|
7598
|
+
..."f" in cell && { f: sanitizeIfString(cell.f) }
|
|
7599
|
+
};
|
|
7600
|
+
}
|
|
7434
7601
|
/**
|
|
7435
7602
|
* Normalizes the raw Google Charts error event into the GeoChart error shape.
|
|
7436
7603
|
*
|
|
@@ -7459,6 +7626,7 @@ function normalizeGeoChartError(eventArgs) {
|
|
|
7459
7626
|
*
|
|
7460
7627
|
* @param props - The props for the GeoChart component
|
|
7461
7628
|
* @param props.data - Data in Google Charts format (array of arrays with headers)
|
|
7629
|
+
* @param props.ariaLabel - Accessible name of the chart
|
|
7462
7630
|
* @param props.width - Width of the chart in pixels
|
|
7463
7631
|
* @param props.height - Height of the chart in pixels
|
|
7464
7632
|
* @param props.region - Region to display ('world', 'US', or ISO 3166-1 alpha-2 code)
|
|
@@ -7470,11 +7638,12 @@ function normalizeGeoChartError(eventArgs) {
|
|
|
7470
7638
|
* @param props.renderPlaceholder - Optional render function for the loading placeholder
|
|
7471
7639
|
* @return A React component displaying an interactive map with data visualization
|
|
7472
7640
|
*/
|
|
7473
|
-
const GeoChartInternal = ({ className, data, width, height, region = "world", resolution = "countries", displayMode = "regions", domain, onError, renderPlaceholder }) => {
|
|
7641
|
+
const GeoChartInternal = ({ className, data, ariaLabel, width, height, region = "world", resolution = "countries", displayMode = "regions", domain, onError, renderPlaceholder }) => {
|
|
7474
7642
|
const { getElementStyles } = useGlobalChartsContext();
|
|
7475
7643
|
const scopeElement = useChartScopeElement();
|
|
7476
7644
|
const containerRef = (0, react.useRef)(null);
|
|
7477
7645
|
const reportedErrorIdsRef = (0, react.useRef)(/* @__PURE__ */ new Set());
|
|
7646
|
+
const [isLoaded, setIsLoaded] = (0, react.useState)(false);
|
|
7478
7647
|
(0, react.useEffect)(() => {
|
|
7479
7648
|
const container = containerRef.current;
|
|
7480
7649
|
if (!onError || !container || typeof MutationObserver === "undefined") return;
|
|
@@ -7495,6 +7664,8 @@ const GeoChartInternal = ({ className, data, width, height, region = "world", re
|
|
|
7495
7664
|
reportRenderedErrors();
|
|
7496
7665
|
return () => observer.disconnect();
|
|
7497
7666
|
}, [onError]);
|
|
7667
|
+
useTooltipPosition(containerRef);
|
|
7668
|
+
const handleLoad = (0, react.useCallback)(() => setIsLoaded(true), []);
|
|
7498
7669
|
const loadingPlaceholder = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Center, {
|
|
7499
7670
|
className: (0, clsx.default)("geo-chart", geo_chart_module_default.container, className),
|
|
7500
7671
|
style: {
|
|
@@ -7508,28 +7679,18 @@ const GeoChartInternal = ({ className, data, width, height, region = "world", re
|
|
|
7508
7679
|
const backgroundColorHex = normalizeColorToHex(CATALOG_POINTERS.background, scopeElement, resolveCssVariable) || DEFAULT_BACKGROUND_COLOR;
|
|
7509
7680
|
const defaultFillColorHex = normalizeColorToHex(CATALOG_POINTERS.surfaceSecondary, scopeElement, resolveCssVariable) || DEFAULT_FEATURE_FILL_COLOR;
|
|
7510
7681
|
const sanitizedData = (0, react.useMemo)(() => {
|
|
7511
|
-
if (data.length === 0) return
|
|
7512
|
-
|
|
7513
|
-
|
|
7514
|
-
|
|
7515
|
-
|
|
7516
|
-
|
|
7517
|
-
const col = data[0][i];
|
|
7518
|
-
if (typeof col === "object" && col !== null && "role" in col && col.role === "tooltip" && "p" in col && typeof col.p === "object" && col.p !== null && "html" in col.p && col.p.html === true) htmlTooltipIndices.push(i);
|
|
7519
|
-
}
|
|
7520
|
-
if (htmlTooltipIndices.length === 0) return {
|
|
7521
|
-
data,
|
|
7522
|
-
hasHtmlTooltips: false
|
|
7523
|
-
};
|
|
7682
|
+
if (data.length === 0) return data;
|
|
7683
|
+
const tooltipColumns = data[0].flatMap((column, index) => isTooltipColumn(column) ? [{
|
|
7684
|
+
index,
|
|
7685
|
+
isHtml: hasHtmlFlag(column)
|
|
7686
|
+
}] : []);
|
|
7687
|
+
if (tooltipColumns.length === 0) return data;
|
|
7524
7688
|
const sanitizedRows = data.slice(1).map((row) => {
|
|
7525
7689
|
const newRow = [...row];
|
|
7526
|
-
for (const
|
|
7690
|
+
for (const { index, isHtml } of tooltipColumns) if (isHtml || hasHtmlFlag(newRow[index])) newRow[index] = sanitizeTooltipCell(newRow[index]);
|
|
7527
7691
|
return newRow;
|
|
7528
7692
|
});
|
|
7529
|
-
return
|
|
7530
|
-
data: [data[0], ...sanitizedRows],
|
|
7531
|
-
hasHtmlTooltips: true
|
|
7532
|
-
};
|
|
7693
|
+
return [data[0], ...sanitizedRows];
|
|
7533
7694
|
}, [data]);
|
|
7534
7695
|
const options = (0, react.useMemo)(() => ({
|
|
7535
7696
|
...region !== "world" && { region },
|
|
@@ -7542,7 +7703,7 @@ const GeoChartInternal = ({ className, data, width, height, region = "world", re
|
|
|
7542
7703
|
defaultColor: defaultFillColorHex,
|
|
7543
7704
|
tooltip: {
|
|
7544
7705
|
trigger: "focus",
|
|
7545
|
-
isHtml:
|
|
7706
|
+
isHtml: true
|
|
7546
7707
|
},
|
|
7547
7708
|
legend: "none",
|
|
7548
7709
|
keepAspectRatio: true
|
|
@@ -7554,35 +7715,42 @@ const GeoChartInternal = ({ className, data, width, height, region = "world", re
|
|
|
7554
7715
|
lightColorHex,
|
|
7555
7716
|
fullColorHex,
|
|
7556
7717
|
backgroundColorHex,
|
|
7557
|
-
defaultFillColorHex
|
|
7558
|
-
sanitizedData.hasHtmlTooltips
|
|
7718
|
+
defaultFillColorHex
|
|
7559
7719
|
]);
|
|
7560
7720
|
const chartEvents = (0, react.useMemo)(() => {
|
|
7561
|
-
|
|
7562
|
-
|
|
7721
|
+
const readyEvent = {
|
|
7722
|
+
eventName: "ready",
|
|
7723
|
+
callback: () => {
|
|
7724
|
+
containerRef.current?.querySelectorAll("svg").forEach((svg) => svg.setAttribute("aria-hidden", "true"));
|
|
7725
|
+
}
|
|
7726
|
+
};
|
|
7727
|
+
if (!onError) return [readyEvent];
|
|
7728
|
+
return [readyEvent, {
|
|
7563
7729
|
eventName: "error",
|
|
7564
7730
|
callback: ({ eventArgs }) => {
|
|
7565
7731
|
onError(normalizeGeoChartError(eventArgs));
|
|
7566
7732
|
}
|
|
7567
7733
|
}];
|
|
7568
7734
|
}, [onError]);
|
|
7569
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.
|
|
7735
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Center, {
|
|
7570
7736
|
ref: containerRef,
|
|
7737
|
+
role: "group",
|
|
7738
|
+
"aria-label": ariaLabel ?? (0, _wordpress_i18n.__)("Geo chart", "jetpack-charts"),
|
|
7571
7739
|
className: (0, clsx.default)("geo-chart", geo_chart_module_default.container, className),
|
|
7572
7740
|
style: {
|
|
7573
7741
|
width,
|
|
7574
7742
|
height
|
|
7575
7743
|
},
|
|
7576
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_google_charts.Chart, {
|
|
7744
|
+
children: [!isLoaded && loadingPlaceholder, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TooltipTheme, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_google_charts.Chart, {
|
|
7577
7745
|
chartType: "GeoChart",
|
|
7578
7746
|
chartPackages: GEO_CHART_PACKAGES,
|
|
7579
7747
|
width,
|
|
7580
7748
|
height,
|
|
7581
|
-
data: sanitizedData
|
|
7749
|
+
data: sanitizedData,
|
|
7582
7750
|
options,
|
|
7583
7751
|
chartEvents,
|
|
7584
|
-
|
|
7585
|
-
})
|
|
7752
|
+
onLoad: handleLoad
|
|
7753
|
+
}) })]
|
|
7586
7754
|
});
|
|
7587
7755
|
};
|
|
7588
7756
|
const GeoChartWithProvider = (props) => {
|
|
@@ -7757,16 +7925,10 @@ const getNormalizedValue = (value, extent) => {
|
|
|
7757
7925
|
return Math.min(1, Math.max(0, (value - min) / (max - min)));
|
|
7758
7926
|
};
|
|
7759
7927
|
const STEPS = 200;
|
|
7760
|
-
const
|
|
7761
|
-
for (let step = 0; step <= STEPS; step++) {
|
|
7762
|
-
const color = mixHexColors(from, to, step / STEPS);
|
|
7763
|
-
if (meets(color)) return color;
|
|
7764
|
-
}
|
|
7765
|
-
return null;
|
|
7766
|
-
};
|
|
7928
|
+
const ramp = (from, to) => Array.from({ length: 201 }, (_, step) => mixHexColors(from, to, step / STEPS));
|
|
7767
7929
|
/**
|
|
7768
|
-
* The two ends of the heatmap fill scale:
|
|
7769
|
-
* low end,
|
|
7930
|
+
* The two ends of the heatmap fill scale: toward 2.5:1 against the background and the empty cell at
|
|
7931
|
+
* the low end, never under 2:1 against the background or the high end, and toward 6:1 at the high end.
|
|
7770
7932
|
*
|
|
7771
7933
|
* @param primary - The resolved primary color, as six-digit hex.
|
|
7772
7934
|
* @param background - The resolved chart background, as six-digit hex.
|
|
@@ -7774,16 +7936,19 @@ const firstMeeting = (from, to, meets) => {
|
|
|
7774
7936
|
* @return The scale ends, as six-digit hex.
|
|
7775
7937
|
*/
|
|
7776
7938
|
const getHeatmapScale = (primary, background, emptyCell) => {
|
|
7777
|
-
const
|
|
7778
|
-
const
|
|
7779
|
-
const
|
|
7780
|
-
|
|
7781
|
-
|
|
7782
|
-
|
|
7783
|
-
const high =
|
|
7784
|
-
const
|
|
7939
|
+
const backgroundLuminance = relativeLuminance(background);
|
|
7940
|
+
const ownSide = relativeLuminance(primary) > backgroundLuminance ? "#ffffff" : "#000000";
|
|
7941
|
+
const otherSide = ownSide === "#ffffff" ? "#000000" : "#ffffff";
|
|
7942
|
+
const extreme = contrastRatio(ownSide, background) >= 6 || contrastRatio(ownSide, background) >= contrastRatio(otherSide, background) ? ownSide : otherSide;
|
|
7943
|
+
const onExtremeSide = (color) => extreme === "#ffffff" ? relativeLuminance(color) > backgroundLuminance : relativeLuminance(color) < backgroundLuminance;
|
|
7944
|
+
const deepening = ramp(primary, extreme);
|
|
7945
|
+
const high = deepening.find((color) => contrastRatio(color, background) >= 6) ?? extreme;
|
|
7946
|
+
const path = [...ramp(background, primary), ...deepening];
|
|
7947
|
+
const spread = path.slice(0, path.indexOf(high) + 1).filter((color) => onExtremeSide(color) && contrastRatio(color, background) >= 2 && contrastRatio(color, high) >= 2);
|
|
7948
|
+
const surroundings = emptyCell ? [background, emptyCell] : [background];
|
|
7949
|
+
const weakest = (color) => Math.min(...surroundings.map((other) => contrastRatio(color, other)));
|
|
7785
7950
|
return {
|
|
7786
|
-
low: (
|
|
7951
|
+
low: spread.find((color) => weakest(color) >= 2.5) ?? spread.find((color) => weakest(color) >= 2) ?? spread.reduce((best, color) => weakest(color) > weakest(best) ? color : best),
|
|
7787
7952
|
high
|
|
7788
7953
|
};
|
|
7789
7954
|
};
|
|
@@ -8122,7 +8287,7 @@ const CELL_VALUE_MODIFIER = {
|
|
|
8122
8287
|
white: heatmap_chart_module_default["heatmap-chart__cell-value--white"]
|
|
8123
8288
|
};
|
|
8124
8289
|
const NO_ROW_LABELS = [];
|
|
8125
|
-
const TOOLTIP_BOX_STYLE = { zIndex: 3 };
|
|
8290
|
+
const TOOLTIP_BOX_STYLE$1 = { zIndex: 3 };
|
|
8126
8291
|
const largest = (root, selector, size) => Math.max(0, ...Array.from(root.querySelectorAll(selector), (el) => el[size]));
|
|
8127
8292
|
const gridBox = (chart, grid) => {
|
|
8128
8293
|
let height = chart.clientHeight;
|
|
@@ -8145,9 +8310,9 @@ const cellName = (info) => info.cellLabel || [
|
|
|
8145
8310
|
const HeatmapChartInternal = ({ data, chartId: providedChartId, width = 0, height = 0, className, compact = false, fitCells = false, showValues, maxCellWidth, maxCellHeight, minCellWidth, minCellHeight, rowLabels = NO_ROW_LABELS, columnGroups, keyboardNavigation = "grid", ariaLabel, primaryColor, gap = "md", withTooltips = false, renderTooltip, tooltipStyle, children }) => {
|
|
8146
8311
|
const chartId = useChartId(providedChartId);
|
|
8147
8312
|
const tooltipBoxStyle = tooltipStyle ? {
|
|
8148
|
-
...TOOLTIP_BOX_STYLE,
|
|
8313
|
+
...TOOLTIP_BOX_STYLE$1,
|
|
8149
8314
|
...tooltipStyle
|
|
8150
|
-
} : TOOLTIP_BOX_STYLE;
|
|
8315
|
+
} : TOOLTIP_BOX_STYLE$1;
|
|
8151
8316
|
const { getElementStyles, theme } = useGlobalChartsContext();
|
|
8152
8317
|
const scopeElement = useChartScopeElement();
|
|
8153
8318
|
const { heatmapChart: heatmapChartSettings } = theme;
|
|
@@ -9085,7 +9250,7 @@ var require_dist$13 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9085
9250
|
var require_dist$12 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9086
9251
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9087
9252
|
exports.pascalCase = exports.pascalCaseTransformMerge = exports.pascalCaseTransform = void 0;
|
|
9088
|
-
var tslib_1
|
|
9253
|
+
var tslib_1 = require("tslib");
|
|
9089
9254
|
var no_case_1 = require_dist$13();
|
|
9090
9255
|
function pascalCaseTransform(input, index) {
|
|
9091
9256
|
var firstChar = input.charAt(0);
|
|
@@ -9100,7 +9265,7 @@ var require_dist$12 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9100
9265
|
exports.pascalCaseTransformMerge = pascalCaseTransformMerge;
|
|
9101
9266
|
function pascalCase(input, options) {
|
|
9102
9267
|
if (options === void 0) options = {};
|
|
9103
|
-
return no_case_1.noCase(input, tslib_1
|
|
9268
|
+
return no_case_1.noCase(input, tslib_1.__assign({
|
|
9104
9269
|
delimiter: "",
|
|
9105
9270
|
transform: pascalCaseTransform
|
|
9106
9271
|
}, options));
|
|
@@ -9112,7 +9277,7 @@ var require_dist$12 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9112
9277
|
var require_dist$11 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9113
9278
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9114
9279
|
exports.camelCase = exports.camelCaseTransformMerge = exports.camelCaseTransform = void 0;
|
|
9115
|
-
var tslib_1
|
|
9280
|
+
var tslib_1 = require("tslib");
|
|
9116
9281
|
var pascal_case_1 = require_dist$12();
|
|
9117
9282
|
function camelCaseTransform(input, index) {
|
|
9118
9283
|
if (index === 0) return input.toLowerCase();
|
|
@@ -9126,7 +9291,7 @@ var require_dist$11 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9126
9291
|
exports.camelCaseTransformMerge = camelCaseTransformMerge;
|
|
9127
9292
|
function camelCase(input, options) {
|
|
9128
9293
|
if (options === void 0) options = {};
|
|
9129
|
-
return pascal_case_1.pascalCase(input, tslib_1
|
|
9294
|
+
return pascal_case_1.pascalCase(input, tslib_1.__assign({ transform: camelCaseTransform }, options));
|
|
9130
9295
|
}
|
|
9131
9296
|
exports.camelCase = camelCase;
|
|
9132
9297
|
}));
|
|
@@ -9148,7 +9313,7 @@ var require_dist$10 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9148
9313
|
var require_dist$9 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9149
9314
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9150
9315
|
exports.capitalCase = exports.capitalCaseTransform = void 0;
|
|
9151
|
-
var tslib_1
|
|
9316
|
+
var tslib_1 = require("tslib");
|
|
9152
9317
|
var no_case_1 = require_dist$13();
|
|
9153
9318
|
var upper_case_first_1 = require_dist$10();
|
|
9154
9319
|
function capitalCaseTransform(input) {
|
|
@@ -9157,7 +9322,7 @@ var require_dist$9 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9157
9322
|
exports.capitalCaseTransform = capitalCaseTransform;
|
|
9158
9323
|
function capitalCase(input, options) {
|
|
9159
9324
|
if (options === void 0) options = {};
|
|
9160
|
-
return no_case_1.noCase(input, tslib_1
|
|
9325
|
+
return no_case_1.noCase(input, tslib_1.__assign({
|
|
9161
9326
|
delimiter: " ",
|
|
9162
9327
|
transform: capitalCaseTransform
|
|
9163
9328
|
}, options));
|
|
@@ -9217,12 +9382,12 @@ var require_dist$8 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9217
9382
|
var require_dist$7 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9218
9383
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9219
9384
|
exports.constantCase = void 0;
|
|
9220
|
-
var tslib_1
|
|
9385
|
+
var tslib_1 = require("tslib");
|
|
9221
9386
|
var no_case_1 = require_dist$13();
|
|
9222
9387
|
var upper_case_1 = require_dist$8();
|
|
9223
9388
|
function constantCase(input, options) {
|
|
9224
9389
|
if (options === void 0) options = {};
|
|
9225
|
-
return no_case_1.noCase(input, tslib_1
|
|
9390
|
+
return no_case_1.noCase(input, tslib_1.__assign({
|
|
9226
9391
|
delimiter: "_",
|
|
9227
9392
|
transform: upper_case_1.upperCase
|
|
9228
9393
|
}, options));
|
|
@@ -9234,11 +9399,11 @@ var require_dist$7 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9234
9399
|
var require_dist$6 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9235
9400
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9236
9401
|
exports.dotCase = void 0;
|
|
9237
|
-
var tslib_1
|
|
9402
|
+
var tslib_1 = require("tslib");
|
|
9238
9403
|
var no_case_1 = require_dist$13();
|
|
9239
9404
|
function dotCase(input, options) {
|
|
9240
9405
|
if (options === void 0) options = {};
|
|
9241
|
-
return no_case_1.noCase(input, tslib_1
|
|
9406
|
+
return no_case_1.noCase(input, tslib_1.__assign({ delimiter: "." }, options));
|
|
9242
9407
|
}
|
|
9243
9408
|
exports.dotCase = dotCase;
|
|
9244
9409
|
}));
|
|
@@ -9247,11 +9412,11 @@ var require_dist$6 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9247
9412
|
var require_dist$5 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9248
9413
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9249
9414
|
exports.headerCase = void 0;
|
|
9250
|
-
var tslib_1
|
|
9415
|
+
var tslib_1 = require("tslib");
|
|
9251
9416
|
var capital_case_1 = require_dist$9();
|
|
9252
9417
|
function headerCase(input, options) {
|
|
9253
9418
|
if (options === void 0) options = {};
|
|
9254
|
-
return capital_case_1.capitalCase(input, tslib_1
|
|
9419
|
+
return capital_case_1.capitalCase(input, tslib_1.__assign({ delimiter: "-" }, options));
|
|
9255
9420
|
}
|
|
9256
9421
|
exports.headerCase = headerCase;
|
|
9257
9422
|
}));
|
|
@@ -9260,11 +9425,11 @@ var require_dist$5 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9260
9425
|
var require_dist$4 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9261
9426
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9262
9427
|
exports.paramCase = void 0;
|
|
9263
|
-
var tslib_1
|
|
9428
|
+
var tslib_1 = require("tslib");
|
|
9264
9429
|
var dot_case_1 = require_dist$6();
|
|
9265
9430
|
function paramCase(input, options) {
|
|
9266
9431
|
if (options === void 0) options = {};
|
|
9267
|
-
return dot_case_1.dotCase(input, tslib_1
|
|
9432
|
+
return dot_case_1.dotCase(input, tslib_1.__assign({ delimiter: "-" }, options));
|
|
9268
9433
|
}
|
|
9269
9434
|
exports.paramCase = paramCase;
|
|
9270
9435
|
}));
|
|
@@ -9273,11 +9438,11 @@ var require_dist$4 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9273
9438
|
var require_dist$3 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9274
9439
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9275
9440
|
exports.pathCase = void 0;
|
|
9276
|
-
var tslib_1
|
|
9441
|
+
var tslib_1 = require("tslib");
|
|
9277
9442
|
var dot_case_1 = require_dist$6();
|
|
9278
9443
|
function pathCase(input, options) {
|
|
9279
9444
|
if (options === void 0) options = {};
|
|
9280
|
-
return dot_case_1.dotCase(input, tslib_1
|
|
9445
|
+
return dot_case_1.dotCase(input, tslib_1.__assign({ delimiter: "/" }, options));
|
|
9281
9446
|
}
|
|
9282
9447
|
exports.pathCase = pathCase;
|
|
9283
9448
|
}));
|
|
@@ -9286,7 +9451,7 @@ var require_dist$3 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9286
9451
|
var require_dist$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9287
9452
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9288
9453
|
exports.sentenceCase = exports.sentenceCaseTransform = void 0;
|
|
9289
|
-
var tslib_1
|
|
9454
|
+
var tslib_1 = require("tslib");
|
|
9290
9455
|
var no_case_1 = require_dist$13();
|
|
9291
9456
|
var upper_case_first_1 = require_dist$10();
|
|
9292
9457
|
function sentenceCaseTransform(input, index) {
|
|
@@ -9297,7 +9462,7 @@ var require_dist$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9297
9462
|
exports.sentenceCaseTransform = sentenceCaseTransform;
|
|
9298
9463
|
function sentenceCase(input, options) {
|
|
9299
9464
|
if (options === void 0) options = {};
|
|
9300
|
-
return no_case_1.noCase(input, tslib_1
|
|
9465
|
+
return no_case_1.noCase(input, tslib_1.__assign({
|
|
9301
9466
|
delimiter: " ",
|
|
9302
9467
|
transform: sentenceCaseTransform
|
|
9303
9468
|
}, options));
|
|
@@ -9309,11 +9474,11 @@ var require_dist$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9309
9474
|
var require_dist$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
9310
9475
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9311
9476
|
exports.snakeCase = void 0;
|
|
9312
|
-
var tslib_1
|
|
9477
|
+
var tslib_1 = require("tslib");
|
|
9313
9478
|
var dot_case_1 = require_dist$6();
|
|
9314
9479
|
function snakeCase(input, options) {
|
|
9315
9480
|
if (options === void 0) options = {};
|
|
9316
|
-
return dot_case_1.dotCase(input, tslib_1
|
|
9481
|
+
return dot_case_1.dotCase(input, tslib_1.__assign({ delimiter: "_" }, options));
|
|
9317
9482
|
}
|
|
9318
9483
|
exports.snakeCase = snakeCase;
|
|
9319
9484
|
}));
|
|
@@ -9335,10 +9500,10 @@ var require_dist = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
9335
9500
|
tslib_1.__exportStar(require_dist$1(), exports);
|
|
9336
9501
|
}));
|
|
9337
9502
|
//#endregion
|
|
9338
|
-
//#region ../../../node_modules/.pnpm/@wordpress+warning@3.
|
|
9503
|
+
//#region ../../../node_modules/.pnpm/@wordpress+warning@3.57.0/node_modules/@wordpress/warning/build-module/utils.mjs
|
|
9339
9504
|
var logged = /* @__PURE__ */ new Set();
|
|
9340
9505
|
//#endregion
|
|
9341
|
-
//#region ../../../node_modules/.pnpm/@wordpress+warning@3.
|
|
9506
|
+
//#region ../../../node_modules/.pnpm/@wordpress+warning@3.57.0/node_modules/@wordpress/warning/build-module/index.mjs
|
|
9342
9507
|
function isDev() {
|
|
9343
9508
|
return globalThis.SCRIPT_DEBUG === true;
|
|
9344
9509
|
}
|
|
@@ -9352,7 +9517,7 @@ function warning(message) {
|
|
|
9352
9517
|
logged.add(message);
|
|
9353
9518
|
}
|
|
9354
9519
|
//#endregion
|
|
9355
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@
|
|
9520
|
+
//#region ../../../node_modules/.pnpm/@wordpress+components@42.0.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_5beefdda355715e908adfea668830e1f/node_modules/@wordpress/components/build-module/utils/hooks/use-update-effect.mjs
|
|
9356
9521
|
function useUpdateEffect(effect, deps) {
|
|
9357
9522
|
const mountedRef = (0, react.useRef)(false);
|
|
9358
9523
|
(0, react.useEffect)(() => {
|
|
@@ -9961,7 +10126,7 @@ function memoize(fn) {
|
|
|
9961
10126
|
}
|
|
9962
10127
|
//#endregion
|
|
9963
10128
|
//#region ../../../node_modules/.pnpm/@emotion+cache@11.14.0/node_modules/@emotion/cache/dist/emotion-cache.esm.js
|
|
9964
|
-
var isBrowser$
|
|
10129
|
+
var isBrowser$2 = typeof document !== "undefined";
|
|
9965
10130
|
var identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {
|
|
9966
10131
|
var previous = 0;
|
|
9967
10132
|
var character = 0;
|
|
@@ -10134,7 +10299,7 @@ var prefixer = function prefixer(element, index, children, callback) {
|
|
|
10134
10299
|
}
|
|
10135
10300
|
}
|
|
10136
10301
|
};
|
|
10137
|
-
var getServerStylisCache = isBrowser$
|
|
10302
|
+
var getServerStylisCache = isBrowser$2 ? void 0 : weakMemoize(function() {
|
|
10138
10303
|
return memoize(function() {
|
|
10139
10304
|
return {};
|
|
10140
10305
|
});
|
|
@@ -10142,7 +10307,7 @@ var getServerStylisCache = isBrowser$3 ? void 0 : weakMemoize(function() {
|
|
|
10142
10307
|
var defaultStylisPlugins = [prefixer];
|
|
10143
10308
|
var createCache = function createCache(options) {
|
|
10144
10309
|
var key = options.key;
|
|
10145
|
-
if (isBrowser$
|
|
10310
|
+
if (isBrowser$2 && key === "css") {
|
|
10146
10311
|
var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])");
|
|
10147
10312
|
Array.prototype.forEach.call(ssrStyles, function(node) {
|
|
10148
10313
|
if (node.getAttribute("data-emotion").indexOf(" ") === -1) return;
|
|
@@ -10154,7 +10319,7 @@ var createCache = function createCache(options) {
|
|
|
10154
10319
|
var inserted = {};
|
|
10155
10320
|
var container;
|
|
10156
10321
|
var nodesToHydrate = [];
|
|
10157
|
-
if (isBrowser$
|
|
10322
|
+
if (isBrowser$2) {
|
|
10158
10323
|
container = options.container || document.head;
|
|
10159
10324
|
Array.prototype.forEach.call(document.querySelectorAll("style[data-emotion^=\"" + key + " \"]"), function(node) {
|
|
10160
10325
|
var attrib = node.getAttribute("data-emotion").split(" ");
|
|
@@ -10219,358 +10384,8 @@ var createCache = function createCache(options) {
|
|
|
10219
10384
|
return cache;
|
|
10220
10385
|
};
|
|
10221
10386
|
//#endregion
|
|
10222
|
-
//#region ../../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js
|
|
10223
|
-
/** @license React v16.13.1
|
|
10224
|
-
* react-is.production.min.js
|
|
10225
|
-
*
|
|
10226
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
10227
|
-
*
|
|
10228
|
-
* This source code is licensed under the MIT license found in the
|
|
10229
|
-
* LICENSE file in the root directory of this source tree.
|
|
10230
|
-
*/
|
|
10231
|
-
var require_react_is_production_min = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
10232
|
-
var b = "function" === typeof Symbol && Symbol.for;
|
|
10233
|
-
var c = b ? Symbol.for("react.element") : 60103;
|
|
10234
|
-
var d = b ? Symbol.for("react.portal") : 60106;
|
|
10235
|
-
var e = b ? Symbol.for("react.fragment") : 60107;
|
|
10236
|
-
var f = b ? Symbol.for("react.strict_mode") : 60108;
|
|
10237
|
-
var g = b ? Symbol.for("react.profiler") : 60114;
|
|
10238
|
-
var h = b ? Symbol.for("react.provider") : 60109;
|
|
10239
|
-
var k = b ? Symbol.for("react.context") : 60110;
|
|
10240
|
-
var l = b ? Symbol.for("react.async_mode") : 60111;
|
|
10241
|
-
var m = b ? Symbol.for("react.concurrent_mode") : 60111;
|
|
10242
|
-
var n = b ? Symbol.for("react.forward_ref") : 60112;
|
|
10243
|
-
var p = b ? Symbol.for("react.suspense") : 60113;
|
|
10244
|
-
var q = b ? Symbol.for("react.suspense_list") : 60120;
|
|
10245
|
-
var r = b ? Symbol.for("react.memo") : 60115;
|
|
10246
|
-
var t = b ? Symbol.for("react.lazy") : 60116;
|
|
10247
|
-
var v = b ? Symbol.for("react.block") : 60121;
|
|
10248
|
-
var w = b ? Symbol.for("react.fundamental") : 60117;
|
|
10249
|
-
var x = b ? Symbol.for("react.responder") : 60118;
|
|
10250
|
-
var y = b ? Symbol.for("react.scope") : 60119;
|
|
10251
|
-
function z(a) {
|
|
10252
|
-
if ("object" === typeof a && null !== a) {
|
|
10253
|
-
var u = a.$$typeof;
|
|
10254
|
-
switch (u) {
|
|
10255
|
-
case c: switch (a = a.type, a) {
|
|
10256
|
-
case l:
|
|
10257
|
-
case m:
|
|
10258
|
-
case e:
|
|
10259
|
-
case g:
|
|
10260
|
-
case f:
|
|
10261
|
-
case p: return a;
|
|
10262
|
-
default: switch (a = a && a.$$typeof, a) {
|
|
10263
|
-
case k:
|
|
10264
|
-
case n:
|
|
10265
|
-
case t:
|
|
10266
|
-
case r:
|
|
10267
|
-
case h: return a;
|
|
10268
|
-
default: return u;
|
|
10269
|
-
}
|
|
10270
|
-
}
|
|
10271
|
-
case d: return u;
|
|
10272
|
-
}
|
|
10273
|
-
}
|
|
10274
|
-
}
|
|
10275
|
-
function A(a) {
|
|
10276
|
-
return z(a) === m;
|
|
10277
|
-
}
|
|
10278
|
-
exports.AsyncMode = l;
|
|
10279
|
-
exports.ConcurrentMode = m;
|
|
10280
|
-
exports.ContextConsumer = k;
|
|
10281
|
-
exports.ContextProvider = h;
|
|
10282
|
-
exports.Element = c;
|
|
10283
|
-
exports.ForwardRef = n;
|
|
10284
|
-
exports.Fragment = e;
|
|
10285
|
-
exports.Lazy = t;
|
|
10286
|
-
exports.Memo = r;
|
|
10287
|
-
exports.Portal = d;
|
|
10288
|
-
exports.Profiler = g;
|
|
10289
|
-
exports.StrictMode = f;
|
|
10290
|
-
exports.Suspense = p;
|
|
10291
|
-
exports.isAsyncMode = function(a) {
|
|
10292
|
-
return A(a) || z(a) === l;
|
|
10293
|
-
};
|
|
10294
|
-
exports.isConcurrentMode = A;
|
|
10295
|
-
exports.isContextConsumer = function(a) {
|
|
10296
|
-
return z(a) === k;
|
|
10297
|
-
};
|
|
10298
|
-
exports.isContextProvider = function(a) {
|
|
10299
|
-
return z(a) === h;
|
|
10300
|
-
};
|
|
10301
|
-
exports.isElement = function(a) {
|
|
10302
|
-
return "object" === typeof a && null !== a && a.$$typeof === c;
|
|
10303
|
-
};
|
|
10304
|
-
exports.isForwardRef = function(a) {
|
|
10305
|
-
return z(a) === n;
|
|
10306
|
-
};
|
|
10307
|
-
exports.isFragment = function(a) {
|
|
10308
|
-
return z(a) === e;
|
|
10309
|
-
};
|
|
10310
|
-
exports.isLazy = function(a) {
|
|
10311
|
-
return z(a) === t;
|
|
10312
|
-
};
|
|
10313
|
-
exports.isMemo = function(a) {
|
|
10314
|
-
return z(a) === r;
|
|
10315
|
-
};
|
|
10316
|
-
exports.isPortal = function(a) {
|
|
10317
|
-
return z(a) === d;
|
|
10318
|
-
};
|
|
10319
|
-
exports.isProfiler = function(a) {
|
|
10320
|
-
return z(a) === g;
|
|
10321
|
-
};
|
|
10322
|
-
exports.isStrictMode = function(a) {
|
|
10323
|
-
return z(a) === f;
|
|
10324
|
-
};
|
|
10325
|
-
exports.isSuspense = function(a) {
|
|
10326
|
-
return z(a) === p;
|
|
10327
|
-
};
|
|
10328
|
-
exports.isValidElementType = function(a) {
|
|
10329
|
-
return "string" === typeof a || "function" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || "object" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);
|
|
10330
|
-
};
|
|
10331
|
-
exports.typeOf = z;
|
|
10332
|
-
}));
|
|
10333
|
-
//#endregion
|
|
10334
|
-
//#region ../../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js
|
|
10335
|
-
/** @license React v16.13.1
|
|
10336
|
-
* react-is.development.js
|
|
10337
|
-
*
|
|
10338
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
10339
|
-
*
|
|
10340
|
-
* This source code is licensed under the MIT license found in the
|
|
10341
|
-
* LICENSE file in the root directory of this source tree.
|
|
10342
|
-
*/
|
|
10343
|
-
var require_react_is_development = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
10344
|
-
if (process.env.NODE_ENV !== "production") (function() {
|
|
10345
|
-
"use strict";
|
|
10346
|
-
var hasSymbol = typeof Symbol === "function" && Symbol.for;
|
|
10347
|
-
var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for("react.element") : 60103;
|
|
10348
|
-
var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for("react.portal") : 60106;
|
|
10349
|
-
var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for("react.fragment") : 60107;
|
|
10350
|
-
var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for("react.strict_mode") : 60108;
|
|
10351
|
-
var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for("react.profiler") : 60114;
|
|
10352
|
-
var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for("react.provider") : 60109;
|
|
10353
|
-
var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for("react.context") : 60110;
|
|
10354
|
-
var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for("react.async_mode") : 60111;
|
|
10355
|
-
var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for("react.concurrent_mode") : 60111;
|
|
10356
|
-
var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for("react.forward_ref") : 60112;
|
|
10357
|
-
var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for("react.suspense") : 60113;
|
|
10358
|
-
var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for("react.suspense_list") : 60120;
|
|
10359
|
-
var REACT_MEMO_TYPE = hasSymbol ? Symbol.for("react.memo") : 60115;
|
|
10360
|
-
var REACT_LAZY_TYPE = hasSymbol ? Symbol.for("react.lazy") : 60116;
|
|
10361
|
-
var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for("react.block") : 60121;
|
|
10362
|
-
var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for("react.fundamental") : 60117;
|
|
10363
|
-
var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for("react.responder") : 60118;
|
|
10364
|
-
var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for("react.scope") : 60119;
|
|
10365
|
-
function isValidElementType(type) {
|
|
10366
|
-
return typeof type === "string" || typeof type === "function" || type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === "object" && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
|
|
10367
|
-
}
|
|
10368
|
-
function typeOf(object) {
|
|
10369
|
-
if (typeof object === "object" && object !== null) {
|
|
10370
|
-
var $$typeof = object.$$typeof;
|
|
10371
|
-
switch ($$typeof) {
|
|
10372
|
-
case REACT_ELEMENT_TYPE:
|
|
10373
|
-
var type = object.type;
|
|
10374
|
-
switch (type) {
|
|
10375
|
-
case REACT_ASYNC_MODE_TYPE:
|
|
10376
|
-
case REACT_CONCURRENT_MODE_TYPE:
|
|
10377
|
-
case REACT_FRAGMENT_TYPE:
|
|
10378
|
-
case REACT_PROFILER_TYPE:
|
|
10379
|
-
case REACT_STRICT_MODE_TYPE:
|
|
10380
|
-
case REACT_SUSPENSE_TYPE: return type;
|
|
10381
|
-
default:
|
|
10382
|
-
var $$typeofType = type && type.$$typeof;
|
|
10383
|
-
switch ($$typeofType) {
|
|
10384
|
-
case REACT_CONTEXT_TYPE:
|
|
10385
|
-
case REACT_FORWARD_REF_TYPE:
|
|
10386
|
-
case REACT_LAZY_TYPE:
|
|
10387
|
-
case REACT_MEMO_TYPE:
|
|
10388
|
-
case REACT_PROVIDER_TYPE: return $$typeofType;
|
|
10389
|
-
default: return $$typeof;
|
|
10390
|
-
}
|
|
10391
|
-
}
|
|
10392
|
-
case REACT_PORTAL_TYPE: return $$typeof;
|
|
10393
|
-
}
|
|
10394
|
-
}
|
|
10395
|
-
}
|
|
10396
|
-
var AsyncMode = REACT_ASYNC_MODE_TYPE;
|
|
10397
|
-
var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
|
|
10398
|
-
var ContextConsumer = REACT_CONTEXT_TYPE;
|
|
10399
|
-
var ContextProvider = REACT_PROVIDER_TYPE;
|
|
10400
|
-
var Element = REACT_ELEMENT_TYPE;
|
|
10401
|
-
var ForwardRef = REACT_FORWARD_REF_TYPE;
|
|
10402
|
-
var Fragment = REACT_FRAGMENT_TYPE;
|
|
10403
|
-
var Lazy = REACT_LAZY_TYPE;
|
|
10404
|
-
var Memo = REACT_MEMO_TYPE;
|
|
10405
|
-
var Portal = REACT_PORTAL_TYPE;
|
|
10406
|
-
var Profiler = REACT_PROFILER_TYPE;
|
|
10407
|
-
var StrictMode = REACT_STRICT_MODE_TYPE;
|
|
10408
|
-
var Suspense = REACT_SUSPENSE_TYPE;
|
|
10409
|
-
var hasWarnedAboutDeprecatedIsAsyncMode = false;
|
|
10410
|
-
function isAsyncMode(object) {
|
|
10411
|
-
if (!hasWarnedAboutDeprecatedIsAsyncMode) {
|
|
10412
|
-
hasWarnedAboutDeprecatedIsAsyncMode = true;
|
|
10413
|
-
console["warn"]("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.");
|
|
10414
|
-
}
|
|
10415
|
-
return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
|
|
10416
|
-
}
|
|
10417
|
-
function isConcurrentMode(object) {
|
|
10418
|
-
return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
|
|
10419
|
-
}
|
|
10420
|
-
function isContextConsumer(object) {
|
|
10421
|
-
return typeOf(object) === REACT_CONTEXT_TYPE;
|
|
10422
|
-
}
|
|
10423
|
-
function isContextProvider(object) {
|
|
10424
|
-
return typeOf(object) === REACT_PROVIDER_TYPE;
|
|
10425
|
-
}
|
|
10426
|
-
function isElement(object) {
|
|
10427
|
-
return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
|
10428
|
-
}
|
|
10429
|
-
function isForwardRef(object) {
|
|
10430
|
-
return typeOf(object) === REACT_FORWARD_REF_TYPE;
|
|
10431
|
-
}
|
|
10432
|
-
function isFragment(object) {
|
|
10433
|
-
return typeOf(object) === REACT_FRAGMENT_TYPE;
|
|
10434
|
-
}
|
|
10435
|
-
function isLazy(object) {
|
|
10436
|
-
return typeOf(object) === REACT_LAZY_TYPE;
|
|
10437
|
-
}
|
|
10438
|
-
function isMemo(object) {
|
|
10439
|
-
return typeOf(object) === REACT_MEMO_TYPE;
|
|
10440
|
-
}
|
|
10441
|
-
function isPortal(object) {
|
|
10442
|
-
return typeOf(object) === REACT_PORTAL_TYPE;
|
|
10443
|
-
}
|
|
10444
|
-
function isProfiler(object) {
|
|
10445
|
-
return typeOf(object) === REACT_PROFILER_TYPE;
|
|
10446
|
-
}
|
|
10447
|
-
function isStrictMode(object) {
|
|
10448
|
-
return typeOf(object) === REACT_STRICT_MODE_TYPE;
|
|
10449
|
-
}
|
|
10450
|
-
function isSuspense(object) {
|
|
10451
|
-
return typeOf(object) === REACT_SUSPENSE_TYPE;
|
|
10452
|
-
}
|
|
10453
|
-
exports.AsyncMode = AsyncMode;
|
|
10454
|
-
exports.ConcurrentMode = ConcurrentMode;
|
|
10455
|
-
exports.ContextConsumer = ContextConsumer;
|
|
10456
|
-
exports.ContextProvider = ContextProvider;
|
|
10457
|
-
exports.Element = Element;
|
|
10458
|
-
exports.ForwardRef = ForwardRef;
|
|
10459
|
-
exports.Fragment = Fragment;
|
|
10460
|
-
exports.Lazy = Lazy;
|
|
10461
|
-
exports.Memo = Memo;
|
|
10462
|
-
exports.Portal = Portal;
|
|
10463
|
-
exports.Profiler = Profiler;
|
|
10464
|
-
exports.StrictMode = StrictMode;
|
|
10465
|
-
exports.Suspense = Suspense;
|
|
10466
|
-
exports.isAsyncMode = isAsyncMode;
|
|
10467
|
-
exports.isConcurrentMode = isConcurrentMode;
|
|
10468
|
-
exports.isContextConsumer = isContextConsumer;
|
|
10469
|
-
exports.isContextProvider = isContextProvider;
|
|
10470
|
-
exports.isElement = isElement;
|
|
10471
|
-
exports.isForwardRef = isForwardRef;
|
|
10472
|
-
exports.isFragment = isFragment;
|
|
10473
|
-
exports.isLazy = isLazy;
|
|
10474
|
-
exports.isMemo = isMemo;
|
|
10475
|
-
exports.isPortal = isPortal;
|
|
10476
|
-
exports.isProfiler = isProfiler;
|
|
10477
|
-
exports.isStrictMode = isStrictMode;
|
|
10478
|
-
exports.isSuspense = isSuspense;
|
|
10479
|
-
exports.isValidElementType = isValidElementType;
|
|
10480
|
-
exports.typeOf = typeOf;
|
|
10481
|
-
})();
|
|
10482
|
-
}));
|
|
10483
|
-
//#endregion
|
|
10484
|
-
//#region ../../../node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js
|
|
10485
|
-
var require_react_is = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
10486
|
-
if (process.env.NODE_ENV === "production") module.exports = require_react_is_production_min();
|
|
10487
|
-
else module.exports = require_react_is_development();
|
|
10488
|
-
}));
|
|
10489
|
-
//#endregion
|
|
10490
|
-
//#region ../../../node_modules/.pnpm/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js
|
|
10491
|
-
var require_hoist_non_react_statics_cjs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
10492
|
-
var reactIs = require_react_is();
|
|
10493
|
-
/**
|
|
10494
|
-
* Copyright 2015, Yahoo! Inc.
|
|
10495
|
-
* Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
|
|
10496
|
-
*/
|
|
10497
|
-
var REACT_STATICS = {
|
|
10498
|
-
childContextTypes: true,
|
|
10499
|
-
contextType: true,
|
|
10500
|
-
contextTypes: true,
|
|
10501
|
-
defaultProps: true,
|
|
10502
|
-
displayName: true,
|
|
10503
|
-
getDefaultProps: true,
|
|
10504
|
-
getDerivedStateFromError: true,
|
|
10505
|
-
getDerivedStateFromProps: true,
|
|
10506
|
-
mixins: true,
|
|
10507
|
-
propTypes: true,
|
|
10508
|
-
type: true
|
|
10509
|
-
};
|
|
10510
|
-
var KNOWN_STATICS = {
|
|
10511
|
-
name: true,
|
|
10512
|
-
length: true,
|
|
10513
|
-
prototype: true,
|
|
10514
|
-
caller: true,
|
|
10515
|
-
callee: true,
|
|
10516
|
-
arguments: true,
|
|
10517
|
-
arity: true
|
|
10518
|
-
};
|
|
10519
|
-
var FORWARD_REF_STATICS = {
|
|
10520
|
-
"$$typeof": true,
|
|
10521
|
-
render: true,
|
|
10522
|
-
defaultProps: true,
|
|
10523
|
-
displayName: true,
|
|
10524
|
-
propTypes: true
|
|
10525
|
-
};
|
|
10526
|
-
var MEMO_STATICS = {
|
|
10527
|
-
"$$typeof": true,
|
|
10528
|
-
compare: true,
|
|
10529
|
-
defaultProps: true,
|
|
10530
|
-
displayName: true,
|
|
10531
|
-
propTypes: true,
|
|
10532
|
-
type: true
|
|
10533
|
-
};
|
|
10534
|
-
var TYPE_STATICS = {};
|
|
10535
|
-
TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
|
|
10536
|
-
TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
|
|
10537
|
-
function getStatics(component) {
|
|
10538
|
-
if (reactIs.isMemo(component)) return MEMO_STATICS;
|
|
10539
|
-
return TYPE_STATICS[component["$$typeof"]] || REACT_STATICS;
|
|
10540
|
-
}
|
|
10541
|
-
var defineProperty = Object.defineProperty;
|
|
10542
|
-
var getOwnPropertyNames = Object.getOwnPropertyNames;
|
|
10543
|
-
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
|
10544
|
-
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
|
10545
|
-
var getPrototypeOf = Object.getPrototypeOf;
|
|
10546
|
-
var objectPrototype = Object.prototype;
|
|
10547
|
-
function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
|
|
10548
|
-
if (typeof sourceComponent !== "string") {
|
|
10549
|
-
if (objectPrototype) {
|
|
10550
|
-
var inheritedComponent = getPrototypeOf(sourceComponent);
|
|
10551
|
-
if (inheritedComponent && inheritedComponent !== objectPrototype) hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
|
|
10552
|
-
}
|
|
10553
|
-
var keys = getOwnPropertyNames(sourceComponent);
|
|
10554
|
-
if (getOwnPropertySymbols) keys = keys.concat(getOwnPropertySymbols(sourceComponent));
|
|
10555
|
-
var targetStatics = getStatics(targetComponent);
|
|
10556
|
-
var sourceStatics = getStatics(sourceComponent);
|
|
10557
|
-
for (var i = 0; i < keys.length; ++i) {
|
|
10558
|
-
var key = keys[i];
|
|
10559
|
-
if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
|
|
10560
|
-
var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
|
|
10561
|
-
try {
|
|
10562
|
-
defineProperty(targetComponent, key, descriptor);
|
|
10563
|
-
} catch (e) {}
|
|
10564
|
-
}
|
|
10565
|
-
}
|
|
10566
|
-
}
|
|
10567
|
-
return targetComponent;
|
|
10568
|
-
}
|
|
10569
|
-
module.exports = hoistNonReactStatics;
|
|
10570
|
-
}));
|
|
10571
|
-
//#endregion
|
|
10572
10387
|
//#region ../../../node_modules/.pnpm/@emotion+utils@1.4.2/node_modules/@emotion/utils/dist/emotion-utils.esm.js
|
|
10573
|
-
var isBrowser$
|
|
10388
|
+
var isBrowser$1 = typeof document !== "undefined";
|
|
10574
10389
|
function getRegisteredStyles$1(registered, registeredStyles, classNames) {
|
|
10575
10390
|
var rawClassName = "";
|
|
10576
10391
|
classNames.split(" ").forEach(function(className) {
|
|
@@ -10581,7 +10396,7 @@ function getRegisteredStyles$1(registered, registeredStyles, classNames) {
|
|
|
10581
10396
|
}
|
|
10582
10397
|
var registerStyles = function registerStyles(cache, serialized, isStringTag) {
|
|
10583
10398
|
var className = cache.key + "-" + serialized.name;
|
|
10584
|
-
if ((isStringTag === false || isBrowser$
|
|
10399
|
+
if ((isStringTag === false || isBrowser$1 === false && cache.compat !== void 0) && cache.registered[className] === void 0) cache.registered[className] = serialized.styles;
|
|
10585
10400
|
};
|
|
10586
10401
|
var insertStyles = function insertStyles(cache, serialized, isStringTag) {
|
|
10587
10402
|
registerStyles(cache, serialized, isStringTag);
|
|
@@ -10591,10 +10406,10 @@ var insertStyles = function insertStyles(cache, serialized, isStringTag) {
|
|
|
10591
10406
|
var current = serialized;
|
|
10592
10407
|
do {
|
|
10593
10408
|
var maybeStyles = cache.insert(serialized === current ? "." + className : "", current, cache.sheet, true);
|
|
10594
|
-
if (!isBrowser$
|
|
10409
|
+
if (!isBrowser$1 && maybeStyles !== void 0) stylesForSSR += maybeStyles;
|
|
10595
10410
|
current = current.next;
|
|
10596
10411
|
} while (current !== void 0);
|
|
10597
|
-
if (!isBrowser$
|
|
10412
|
+
if (!isBrowser$1 && stylesForSSR.length !== 0) return stylesForSSR;
|
|
10598
10413
|
}
|
|
10599
10414
|
};
|
|
10600
10415
|
//#endregion
|
|
@@ -10672,7 +10487,7 @@ var unitlessKeys = {
|
|
|
10672
10487
|
};
|
|
10673
10488
|
//#endregion
|
|
10674
10489
|
//#region ../../../node_modules/.pnpm/@emotion+serialize@1.3.3/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js
|
|
10675
|
-
var isDevelopment
|
|
10490
|
+
var isDevelopment = false;
|
|
10676
10491
|
var hyphenateRegex = /[A-Z]|^ms/g;
|
|
10677
10492
|
var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;
|
|
10678
10493
|
var isCustomProperty = function isCustomProperty(property) {
|
|
@@ -10752,7 +10567,7 @@ function createStringFromObject(mergedProps, registered, obj) {
|
|
|
10752
10567
|
if (registered != null && registered[asString] !== void 0) string += key + "{" + registered[asString] + "}";
|
|
10753
10568
|
else if (isProcessableValue(asString)) string += processStyleName(key) + ":" + processStyleValue(key, asString) + ";";
|
|
10754
10569
|
} else {
|
|
10755
|
-
if (key === "NO_COMPONENT_SELECTOR" && isDevelopment
|
|
10570
|
+
if (key === "NO_COMPONENT_SELECTOR" && isDevelopment) throw new Error(noComponentSelectorMessage);
|
|
10756
10571
|
if (Array.isArray(value) && typeof value[0] === "string" && (registered == null || registered[value[0]] === void 0)) {
|
|
10757
10572
|
for (var _i = 0; _i < value.length; _i++) if (isProcessableValue(value[_i])) string += processStyleName(key) + ":" + processStyleValue(key, value[_i]) + ";";
|
|
10758
10573
|
} else {
|
|
@@ -10795,101 +10610,17 @@ function serializeStyles(args, registered, mergedProps) {
|
|
|
10795
10610
|
next: cursor
|
|
10796
10611
|
};
|
|
10797
10612
|
}
|
|
10613
|
+
react["useInsertionEffect"] && react["useInsertionEffect"] || react.useLayoutEffect;
|
|
10798
10614
|
//#endregion
|
|
10799
|
-
//#region ../../../node_modules/.pnpm/@emotion+
|
|
10800
|
-
var isBrowser$1 = typeof document !== "undefined";
|
|
10801
|
-
var syncFallback = function syncFallback(create) {
|
|
10802
|
-
return create();
|
|
10803
|
-
};
|
|
10804
|
-
var useInsertionEffect = react["useInsertionEffect"] ? react["useInsertionEffect"] : false;
|
|
10805
|
-
var useInsertionEffectAlwaysWithSyncFallback = !isBrowser$1 ? syncFallback : useInsertionEffect || syncFallback;
|
|
10806
|
-
useInsertionEffect || react.useLayoutEffect;
|
|
10615
|
+
//#region ../../../node_modules/.pnpm/@emotion+react@11.14.0_@types+react@18.3.31_react@18.3.1/node_modules/@emotion/react/dist/emotion-element-d59e098f.esm.js
|
|
10807
10616
|
var isBrowser = typeof document !== "undefined";
|
|
10808
10617
|
var EmotionCacheContext = /* #__PURE__ */ react.createContext(typeof HTMLElement !== "undefined" ? /* #__PURE__ */ createCache({ key: "css" }) : null);
|
|
10809
10618
|
EmotionCacheContext.Provider;
|
|
10810
10619
|
var __unsafe_useEmotionCache = function useEmotionCache() {
|
|
10811
10620
|
return (0, react.useContext)(EmotionCacheContext);
|
|
10812
10621
|
};
|
|
10813
|
-
|
|
10814
|
-
|
|
10815
|
-
return func(props, (0, react.useContext)(EmotionCacheContext), ref);
|
|
10816
|
-
});
|
|
10817
|
-
};
|
|
10818
|
-
if (!isBrowser) withEmotionCache = function withEmotionCache(func) {
|
|
10819
|
-
return function(props) {
|
|
10820
|
-
var cache = (0, react.useContext)(EmotionCacheContext);
|
|
10821
|
-
if (cache === null) {
|
|
10822
|
-
cache = createCache({ key: "css" });
|
|
10823
|
-
return /*#__PURE__*/ react.createElement(EmotionCacheContext.Provider, { value: cache }, func(props, cache));
|
|
10824
|
-
} else return func(props, cache);
|
|
10825
|
-
};
|
|
10826
|
-
};
|
|
10827
|
-
var ThemeContext = /* #__PURE__ */ react.createContext({});
|
|
10828
|
-
var hasOwn = {}.hasOwnProperty;
|
|
10829
|
-
var typePropName = "__EMOTION_TYPE_PLEASE_DO_NOT_USE__";
|
|
10830
|
-
var createEmotionProps = function createEmotionProps(type, props) {
|
|
10831
|
-
var newProps = {};
|
|
10832
|
-
for (var _key in props) if (hasOwn.call(props, _key)) newProps[_key] = props[_key];
|
|
10833
|
-
newProps[typePropName] = type;
|
|
10834
|
-
return newProps;
|
|
10835
|
-
};
|
|
10836
|
-
var Insertion = function Insertion(_ref) {
|
|
10837
|
-
var cache = _ref.cache, serialized = _ref.serialized, isStringTag = _ref.isStringTag;
|
|
10838
|
-
registerStyles(cache, serialized, isStringTag);
|
|
10839
|
-
var rules = useInsertionEffectAlwaysWithSyncFallback(function() {
|
|
10840
|
-
return insertStyles(cache, serialized, isStringTag);
|
|
10841
|
-
});
|
|
10842
|
-
if (!isBrowser && rules !== void 0) {
|
|
10843
|
-
var _ref2;
|
|
10844
|
-
var serializedNames = serialized.name;
|
|
10845
|
-
var next = serialized.next;
|
|
10846
|
-
while (next !== void 0) {
|
|
10847
|
-
serializedNames += " " + next.name;
|
|
10848
|
-
next = next.next;
|
|
10849
|
-
}
|
|
10850
|
-
return /*#__PURE__*/ react.createElement("style", (_ref2 = {}, _ref2["data-emotion"] = cache.key + " " + serializedNames, _ref2.dangerouslySetInnerHTML = { __html: rules }, _ref2.nonce = cache.sheet.nonce, _ref2));
|
|
10851
|
-
}
|
|
10852
|
-
return null;
|
|
10853
|
-
};
|
|
10854
|
-
var Emotion$1 = /* @__PURE__ */ withEmotionCache(function(props, cache, ref) {
|
|
10855
|
-
var cssProp = props.css;
|
|
10856
|
-
if (typeof cssProp === "string" && cache.registered[cssProp] !== void 0) cssProp = cache.registered[cssProp];
|
|
10857
|
-
var WrappedComponent = props[typePropName];
|
|
10858
|
-
var registeredStyles = [cssProp];
|
|
10859
|
-
var className = "";
|
|
10860
|
-
if (typeof props.className === "string") className = getRegisteredStyles$1(cache.registered, registeredStyles, props.className);
|
|
10861
|
-
else if (props.className != null) className = props.className + " ";
|
|
10862
|
-
var serialized = serializeStyles(registeredStyles, void 0, react.useContext(ThemeContext));
|
|
10863
|
-
className += cache.key + "-" + serialized.name;
|
|
10864
|
-
var newProps = {};
|
|
10865
|
-
for (var _key2 in props) if (hasOwn.call(props, _key2) && _key2 !== "css" && _key2 !== typePropName && true) newProps[_key2] = props[_key2];
|
|
10866
|
-
newProps.className = className;
|
|
10867
|
-
if (ref) newProps.ref = ref;
|
|
10868
|
-
return /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Insertion, {
|
|
10869
|
-
cache,
|
|
10870
|
-
serialized,
|
|
10871
|
-
isStringTag: typeof WrappedComponent === "string"
|
|
10872
|
-
}), /*#__PURE__*/ react.createElement(WrappedComponent, newProps));
|
|
10873
|
-
});
|
|
10874
|
-
require_hoist_non_react_statics_cjs();
|
|
10875
|
-
var jsx = function jsx(type, props) {
|
|
10876
|
-
var args = arguments;
|
|
10877
|
-
if (props == null || !hasOwn.call(props, "css")) return react.createElement.apply(void 0, args);
|
|
10878
|
-
var argsLength = args.length;
|
|
10879
|
-
var createElementArgArray = new Array(argsLength);
|
|
10880
|
-
createElementArgArray[0] = Emotion$1;
|
|
10881
|
-
createElementArgArray[1] = createEmotionProps(type, props);
|
|
10882
|
-
for (var i = 2; i < argsLength; i++) createElementArgArray[i] = args[i];
|
|
10883
|
-
return react.createElement.apply(null, createElementArgArray);
|
|
10884
|
-
};
|
|
10885
|
-
(function(_jsx) {
|
|
10886
|
-
var JSX;
|
|
10887
|
-
JSX || (JSX = _jsx.JSX || (_jsx.JSX = {}));
|
|
10888
|
-
})(jsx || (jsx = {}));
|
|
10889
|
-
function css$1() {
|
|
10890
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
|
|
10891
|
-
return serializeStyles(args);
|
|
10892
|
-
}
|
|
10622
|
+
if (!isBrowser);
|
|
10623
|
+
({}).hasOwnProperty;
|
|
10893
10624
|
//#endregion
|
|
10894
10625
|
//#region ../../../node_modules/.pnpm/@emotion+css@11.13.5/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js
|
|
10895
10626
|
function insertWithoutScoping(cache, serialized) {
|
|
@@ -10990,7 +10721,7 @@ _createEmotion.css;
|
|
|
10990
10721
|
_createEmotion.sheet;
|
|
10991
10722
|
_createEmotion.cache;
|
|
10992
10723
|
//#endregion
|
|
10993
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@
|
|
10724
|
+
//#region ../../../node_modules/.pnpm/@wordpress+components@42.0.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_5beefdda355715e908adfea668830e1f/node_modules/@wordpress/components/build-module/utils/hooks/use-cx.mjs
|
|
10994
10725
|
var isSerializedStyles = (o) => typeof o !== "undefined" && o !== null && ["name", "styles"].every((p) => typeof o[p] !== "undefined");
|
|
10995
10726
|
var useCx = () => {
|
|
10996
10727
|
const cache = __unsafe_useEmotionCache();
|
|
@@ -11097,140 +10828,7 @@ function memize(fn, options) {
|
|
|
11097
10828
|
return memoized;
|
|
11098
10829
|
}
|
|
11099
10830
|
//#endregion
|
|
11100
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@
|
|
11101
|
-
var white = "#fff";
|
|
11102
|
-
var GRAY = {
|
|
11103
|
-
900: "#1e1e1e",
|
|
11104
|
-
800: "#2f2f2f",
|
|
11105
|
-
/** Meets 4.6:1 text contrast against white. */
|
|
11106
|
-
700: "#757575",
|
|
11107
|
-
/** Meets 3:1 UI or large text contrast against white. */
|
|
11108
|
-
600: "#949494",
|
|
11109
|
-
400: "#ccc",
|
|
11110
|
-
/** Used for most borders. */
|
|
11111
|
-
300: "#ddd",
|
|
11112
|
-
/** Used sparingly for light borders. */
|
|
11113
|
-
200: "#e0e0e0",
|
|
11114
|
-
/** Used for light gray backgrounds. */
|
|
11115
|
-
100: "#f0f0f0"
|
|
11116
|
-
};
|
|
11117
|
-
var ALERT = {
|
|
11118
|
-
yellow: "#f0b849",
|
|
11119
|
-
red: "#d94f4f",
|
|
11120
|
-
green: "#4ab866"
|
|
11121
|
-
};
|
|
11122
|
-
var THEME = {
|
|
11123
|
-
accent: `var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9))`,
|
|
11124
|
-
accentDarker10: `var(--wp-components-color-accent-darker-10, var(--wp-admin-theme-color-darker-10, #2145e6))`,
|
|
11125
|
-
accentDarker20: `var(--wp-components-color-accent-darker-20, var(--wp-admin-theme-color-darker-20, #183ad6))`,
|
|
11126
|
-
/** Used when placing text on the accent color. */
|
|
11127
|
-
accentInverted: `var(--wp-components-color-accent-inverted, var(--wpds-color-foreground-interactive-brand-strong, #fff))`,
|
|
11128
|
-
background: `var(--wp-components-color-background, var(--wpds-color-background-surface-neutral-strong, #fff))`,
|
|
11129
|
-
foreground: `var(--wp-components-color-foreground, var(--wpds-color-foreground-content-neutral, #1e1e1e))`,
|
|
11130
|
-
/** Used when placing text on the foreground color. */
|
|
11131
|
-
foregroundInverted: `var(--wp-components-color-foreground-inverted, var(--wpds-color-background-surface-neutral, #fcfcfc))`,
|
|
11132
|
-
gray: {
|
|
11133
|
-
/** @deprecated Use `COLORS.theme.foreground` instead. */
|
|
11134
|
-
900: `var(--wp-components-color-foreground, var(--wpds-color-foreground-content-neutral, #1e1e1e))`,
|
|
11135
|
-
800: `var(--wp-components-color-gray-800, var(--wpds-color-foreground-content-neutral, #1e1e1e))`,
|
|
11136
|
-
700: `var(--wp-components-color-gray-700, var(--wpds-color-foreground-content-neutral-weak, #707070))`,
|
|
11137
|
-
600: `var(--wp-components-color-gray-600, var(--wpds-color-stroke-interactive-neutral, #8d8d8d))`,
|
|
11138
|
-
400: `var(--wp-components-color-gray-400, var(--wpds-color-stroke-interactive-neutral, #8d8d8d))`,
|
|
11139
|
-
300: `var(--wp-components-color-gray-300, var(--wpds-color-stroke-surface-neutral, #dbdbdb))`,
|
|
11140
|
-
200: `var(--wp-components-color-gray-200, var(--wpds-color-stroke-surface-neutral, #dbdbdb))`,
|
|
11141
|
-
100: `var(--wp-components-color-gray-100, var(--wpds-color-background-surface-neutral, #fcfcfc))`
|
|
11142
|
-
}
|
|
11143
|
-
};
|
|
11144
|
-
var UI = {
|
|
11145
|
-
background: THEME.background,
|
|
11146
|
-
backgroundDisabled: THEME.gray[100],
|
|
11147
|
-
border: THEME.gray[600],
|
|
11148
|
-
borderHover: THEME.gray[700],
|
|
11149
|
-
borderFocus: THEME.accent,
|
|
11150
|
-
borderDisabled: `var(--wpds-color-stroke-interactive-neutral-disabled, #dbdbdb)`,
|
|
11151
|
-
textDisabled: `var(--wpds-color-foreground-interactive-neutral-disabled, #8d8d8d)`,
|
|
11152
|
-
darkGrayPlaceholder: `color-mix(in srgb, ${THEME.foreground}, transparent 38%)`,
|
|
11153
|
-
lightGrayPlaceholder: `color-mix(in srgb, ${THEME.background}, transparent 35%)`
|
|
11154
|
-
};
|
|
11155
|
-
var COLORS = Object.freeze({
|
|
11156
|
-
/**
|
|
11157
|
-
* The main gray color object.
|
|
11158
|
-
*
|
|
11159
|
-
* @deprecated Use semantic aliases in `COLORS.ui` or theme-ready variables in `COLORS.theme.gray`.
|
|
11160
|
-
*/
|
|
11161
|
-
gray: GRAY,
|
|
11162
|
-
/**
|
|
11163
|
-
* @deprecated Prefer theme-ready variables in `COLORS.theme`.
|
|
11164
|
-
*/
|
|
11165
|
-
white,
|
|
11166
|
-
alert: ALERT,
|
|
11167
|
-
/**
|
|
11168
|
-
* Theme-ready variables with fallbacks.
|
|
11169
|
-
*
|
|
11170
|
-
* Prefer semantic aliases in `COLORS.ui` when applicable.
|
|
11171
|
-
*/
|
|
11172
|
-
theme: THEME,
|
|
11173
|
-
/**
|
|
11174
|
-
* Semantic aliases (prefer these over raw variables when applicable).
|
|
11175
|
-
*/
|
|
11176
|
-
ui: UI
|
|
11177
|
-
});
|
|
11178
|
-
//#endregion
|
|
11179
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@40.1.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_c300d25e93ed6b8d3659e83df7c1508a/node_modules/@wordpress/components/build-module/utils/config-values.mjs
|
|
11180
|
-
var CONTROL_HEIGHT = "36px";
|
|
11181
|
-
var CONTROL_PROPS = {
|
|
11182
|
-
controlPaddingX: 12,
|
|
11183
|
-
controlPaddingXSmall: 8,
|
|
11184
|
-
controlPaddingXLarge: 12 * 1.3334,
|
|
11185
|
-
controlBoxShadowFocus: `0 0 0 0.5px ${COLORS.theme.accent}`,
|
|
11186
|
-
controlHeight: CONTROL_HEIGHT,
|
|
11187
|
-
controlHeightXSmall: `calc( ${CONTROL_HEIGHT} * 0.6 )`,
|
|
11188
|
-
controlHeightSmall: `calc( ${CONTROL_HEIGHT} * 0.8 )`,
|
|
11189
|
-
controlHeightLarge: `calc( ${CONTROL_HEIGHT} * 1.2 )`,
|
|
11190
|
-
controlHeightXLarge: `calc( ${CONTROL_HEIGHT} * 1.4 )`
|
|
11191
|
-
};
|
|
11192
|
-
var config_values_default = Object.assign({}, CONTROL_PROPS, {
|
|
11193
|
-
colorDivider: "rgba(0, 0, 0, 0.1)",
|
|
11194
|
-
elevationIntensity: 1,
|
|
11195
|
-
radiusXSmall: "1px",
|
|
11196
|
-
radiusSmall: "2px",
|
|
11197
|
-
radiusMedium: "4px",
|
|
11198
|
-
radiusLarge: "8px",
|
|
11199
|
-
radiusFull: "9999px",
|
|
11200
|
-
radiusRound: "50%",
|
|
11201
|
-
borderWidth: "1px",
|
|
11202
|
-
borderWidthFocus: "1.5px",
|
|
11203
|
-
borderWidthTab: "4px",
|
|
11204
|
-
fontSize: "13px",
|
|
11205
|
-
fontSizeH1: "calc(2.44 * 13px)",
|
|
11206
|
-
fontSizeH2: "calc(1.95 * 13px)",
|
|
11207
|
-
fontSizeH3: "calc(1.56 * 13px)",
|
|
11208
|
-
fontSizeH4: "calc(1.25 * 13px)",
|
|
11209
|
-
fontSizeH5: "13px",
|
|
11210
|
-
fontSizeH6: "calc(0.8 * 13px)",
|
|
11211
|
-
fontSizeInputMobile: "16px",
|
|
11212
|
-
fontSizeMobile: "15px",
|
|
11213
|
-
fontSizeSmall: "calc(0.92 * 13px)",
|
|
11214
|
-
fontSizeXSmall: "calc(0.75 * 13px)",
|
|
11215
|
-
fontLineHeightBase: "1.4",
|
|
11216
|
-
fontWeight: "normal",
|
|
11217
|
-
fontWeightEmphasis: "600",
|
|
11218
|
-
gridBase: "4px",
|
|
11219
|
-
elevationXSmall: `0 1px 1px rgba(0, 0, 0, 0.03), 0 1px 2px rgba(0, 0, 0, 0.02), 0 3px 3px rgba(0, 0, 0, 0.02), 0 4px 4px rgba(0, 0, 0, 0.01)`,
|
|
11220
|
-
elevationSmall: `0 1px 2px rgba(0, 0, 0, 0.05), 0 2px 3px rgba(0, 0, 0, 0.04), 0 6px 6px rgba(0, 0, 0, 0.03), 0 8px 8px rgba(0, 0, 0, 0.02)`,
|
|
11221
|
-
elevationMedium: `0 2px 3px rgba(0, 0, 0, 0.05), 0 4px 5px rgba(0, 0, 0, 0.04), 0 12px 12px rgba(0, 0, 0, 0.03), 0 16px 16px rgba(0, 0, 0, 0.02)`,
|
|
11222
|
-
elevationLarge: `0 5px 15px rgba(0, 0, 0, 0.08), 0 15px 27px rgba(0, 0, 0, 0.07), 0 30px 36px rgba(0, 0, 0, 0.04), 0 50px 43px rgba(0, 0, 0, 0.02)`,
|
|
11223
|
-
surfaceBorderColor: "rgba(0, 0, 0, 0.1)",
|
|
11224
|
-
surfaceColor: COLORS.white,
|
|
11225
|
-
transitionDuration: "200ms",
|
|
11226
|
-
transitionDurationFast: "160ms",
|
|
11227
|
-
transitionDurationFaster: "120ms",
|
|
11228
|
-
transitionDurationFastest: "100ms",
|
|
11229
|
-
transitionTimingFunction: "cubic-bezier(0.08, 0.52, 0.52, 1)",
|
|
11230
|
-
transitionTimingFunctionControl: "cubic-bezier(0.12, 0.8, 0.32, 1)"
|
|
11231
|
-
});
|
|
11232
|
-
//#endregion
|
|
11233
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@40.1.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_c300d25e93ed6b8d3659e83df7c1508a/node_modules/@wordpress/components/build-module/context/context-system-provider.mjs
|
|
10831
|
+
//#region ../../../node_modules/.pnpm/@wordpress+components@42.0.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_5beefdda355715e908adfea668830e1f/node_modules/@wordpress/components/build-module/context/context-system-provider.mjs
|
|
11234
10832
|
var import_es6 = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
11235
10833
|
module.exports = function equal(a, b) {
|
|
11236
10834
|
if (a === b) return true;
|
|
@@ -11298,19 +10896,19 @@ var BaseContextSystemProvider = ({ children, value }) => {
|
|
|
11298
10896
|
};
|
|
11299
10897
|
(0, react.memo)(BaseContextSystemProvider);
|
|
11300
10898
|
//#endregion
|
|
11301
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@
|
|
10899
|
+
//#region ../../../node_modules/.pnpm/@wordpress+components@42.0.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_5beefdda355715e908adfea668830e1f/node_modules/@wordpress/components/build-module/context/constants.mjs
|
|
11302
10900
|
var COMPONENT_NAMESPACE = "data-wp-component";
|
|
11303
10901
|
var CONNECTED_NAMESPACE = "data-wp-c16t";
|
|
11304
10902
|
var CONNECT_STATIC_NAMESPACE = "__contextSystemKey__";
|
|
11305
10903
|
//#endregion
|
|
11306
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@
|
|
10904
|
+
//#region ../../../node_modules/.pnpm/@wordpress+components@42.0.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_5beefdda355715e908adfea668830e1f/node_modules/@wordpress/components/build-module/context/get-styled-class-name-from-key.mjs
|
|
11307
10905
|
var import_dist = require_dist();
|
|
11308
10906
|
function getStyledClassName(namespace) {
|
|
11309
10907
|
return `components-${(0, import_dist.paramCase)(namespace)}`;
|
|
11310
10908
|
}
|
|
11311
10909
|
var getStyledClassNameFromKey = memize(getStyledClassName);
|
|
11312
10910
|
//#endregion
|
|
11313
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@
|
|
10911
|
+
//#region ../../../node_modules/.pnpm/@wordpress+components@42.0.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_5beefdda355715e908adfea668830e1f/node_modules/@wordpress/components/build-module/context/context-connect.mjs
|
|
11314
10912
|
function contextConnect(Component, namespace) {
|
|
11315
10913
|
return _contextConnect(Component, namespace, { forwardsRef: true });
|
|
11316
10914
|
}
|
|
@@ -11327,7 +10925,7 @@ function _contextConnect(Component, namespace, options) {
|
|
|
11327
10925
|
});
|
|
11328
10926
|
}
|
|
11329
10927
|
//#endregion
|
|
11330
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@
|
|
10928
|
+
//#region ../../../node_modules/.pnpm/@wordpress+components@42.0.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_5beefdda355715e908adfea668830e1f/node_modules/@wordpress/components/build-module/context/utils.mjs
|
|
11331
10929
|
function getNamespace(componentName) {
|
|
11332
10930
|
return { [COMPONENT_NAMESPACE]: componentName };
|
|
11333
10931
|
}
|
|
@@ -11335,7 +10933,7 @@ function getConnectedNamespace() {
|
|
|
11335
10933
|
return { [CONNECTED_NAMESPACE]: true };
|
|
11336
10934
|
}
|
|
11337
10935
|
//#endregion
|
|
11338
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@
|
|
10936
|
+
//#region ../../../node_modules/.pnpm/@wordpress+components@42.0.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_5beefdda355715e908adfea668830e1f/node_modules/@wordpress/components/build-module/context/use-context-system.mjs
|
|
11339
10937
|
function useContextSystem(props, namespace) {
|
|
11340
10938
|
const contextSystemProps = useComponentsContext();
|
|
11341
10939
|
if (typeof namespace === "undefined") globalThis.SCRIPT_DEBUG === true && warning("useContextSystem: Please provide a namespace");
|
|
@@ -11357,7 +10955,7 @@ function useContextSystem(props, namespace) {
|
|
|
11357
10955
|
return finalComponentProps;
|
|
11358
10956
|
}
|
|
11359
10957
|
//#endregion
|
|
11360
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@
|
|
10958
|
+
//#region ../../../node_modules/.pnpm/@wordpress+components@42.0.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_5beefdda355715e908adfea668830e1f/node_modules/@wordpress/components/build-module/visually-hidden/styles.mjs
|
|
11361
10959
|
var visuallyHidden = {
|
|
11362
10960
|
border: 0,
|
|
11363
10961
|
clip: "rect(1px, 1px, 1px, 1px)",
|
|
@@ -11373,7 +10971,7 @@ var visuallyHidden = {
|
|
|
11373
10971
|
wordBreak: "normal"
|
|
11374
10972
|
};
|
|
11375
10973
|
//#endregion
|
|
11376
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@
|
|
10974
|
+
//#region ../../../node_modules/.pnpm/@wordpress+components@42.0.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_5beefdda355715e908adfea668830e1f/node_modules/@wordpress/components/build-module/utils/polymorphic-element.mjs
|
|
11377
10975
|
var customAttributeRegExp = /^(data|aria|x)-/i;
|
|
11378
10976
|
var eventHandlerRegExp = /^on[A-Z]/;
|
|
11379
10977
|
var svgElementNames = new Set(`animate animateMotion animateTransform circle clipPath defs desc ellipse
|
|
@@ -11463,7 +11061,7 @@ function UnforwardedPolymorphicElement({ as, ...props }, ref) {
|
|
|
11463
11061
|
}
|
|
11464
11062
|
var PolymorphicElement = (0, react.forwardRef)(UnforwardedPolymorphicElement);
|
|
11465
11063
|
//#endregion
|
|
11466
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@
|
|
11064
|
+
//#region ../../../node_modules/.pnpm/@wordpress+components@42.0.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_5beefdda355715e908adfea668830e1f/node_modules/@wordpress/components/build-module/view/component.mjs
|
|
11467
11065
|
function UnforwardedView({ css, ...restProps }, ref) {
|
|
11468
11066
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PolymorphicElement, {
|
|
11469
11067
|
ref,
|
|
@@ -11472,7 +11070,7 @@ function UnforwardedView({ css, ...restProps }, ref) {
|
|
|
11472
11070
|
}
|
|
11473
11071
|
var component_default$2 = Object.assign((0, react.forwardRef)(UnforwardedView), { selector: ".components-view" });
|
|
11474
11072
|
//#endregion
|
|
11475
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@
|
|
11073
|
+
//#region ../../../node_modules/.pnpm/@wordpress+components@42.0.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_5beefdda355715e908adfea668830e1f/node_modules/@wordpress/components/build-module/visually-hidden/component.mjs
|
|
11476
11074
|
function UnconnectedVisuallyHidden(props, forwardedRef) {
|
|
11477
11075
|
const { style: styleProp, ...contextProps } = useContextSystem(props, "VisuallyHidden");
|
|
11478
11076
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(component_default$2, {
|
|
@@ -11487,18 +11085,19 @@ function UnconnectedVisuallyHidden(props, forwardedRef) {
|
|
|
11487
11085
|
}
|
|
11488
11086
|
var component_default$1 = contextConnect(UnconnectedVisuallyHidden, "VisuallyHidden");
|
|
11489
11087
|
//#endregion
|
|
11490
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@
|
|
11088
|
+
//#region ../../../node_modules/.pnpm/@wordpress+components@42.0.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_5beefdda355715e908adfea668830e1f/node_modules/@wordpress/components/build-module/utils/use-responsive-value.mjs
|
|
11491
11089
|
var breakpoints = [
|
|
11492
11090
|
"40em",
|
|
11493
11091
|
"52em",
|
|
11494
11092
|
"64em"
|
|
11495
11093
|
];
|
|
11496
11094
|
var useBreakpointIndex = (options = {}) => {
|
|
11497
|
-
const { defaultIndex = 0 } = options;
|
|
11095
|
+
const { defaultIndex = 0, enabled = true } = options;
|
|
11498
11096
|
if (typeof defaultIndex !== "number") throw new TypeError(`Default breakpoint index should be a number. Got: ${defaultIndex}, ${typeof defaultIndex}`);
|
|
11499
11097
|
else if (defaultIndex < 0 || defaultIndex > breakpoints.length - 1) throw new RangeError(`Default breakpoint index out of range. Theme has ${breakpoints.length} breakpoints, got index ${defaultIndex}`);
|
|
11500
11098
|
const [value, setValue] = (0, react.useState)(defaultIndex);
|
|
11501
11099
|
(0, react.useEffect)(() => {
|
|
11100
|
+
if (!enabled) return;
|
|
11502
11101
|
const getIndex = () => breakpoints.filter((bp) => {
|
|
11503
11102
|
return typeof window !== "undefined" ? window.matchMedia(`screen and (min-width: ${bp})`).matches : false;
|
|
11504
11103
|
}).length;
|
|
@@ -11511,17 +11110,21 @@ var useBreakpointIndex = (options = {}) => {
|
|
|
11511
11110
|
return () => {
|
|
11512
11111
|
if (typeof window !== "undefined") window.removeEventListener("resize", onResize);
|
|
11513
11112
|
};
|
|
11514
|
-
}, [value]);
|
|
11113
|
+
}, [value, enabled]);
|
|
11515
11114
|
return value;
|
|
11516
11115
|
};
|
|
11517
11116
|
function useResponsiveValue(values, options = {}) {
|
|
11518
|
-
const
|
|
11117
|
+
const isResponsive = Array.isArray(values) && values.length > 1;
|
|
11118
|
+
const index = useBreakpointIndex({
|
|
11119
|
+
...options,
|
|
11120
|
+
enabled: isResponsive
|
|
11121
|
+
});
|
|
11519
11122
|
if (!Array.isArray(values) && typeof values !== "function") return values;
|
|
11520
11123
|
const array = values || [];
|
|
11521
11124
|
return array[index >= array.length ? array.length - 1 : index];
|
|
11522
11125
|
}
|
|
11523
11126
|
//#endregion
|
|
11524
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@
|
|
11127
|
+
//#region ../../../node_modules/.pnpm/@wordpress+components@42.0.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_5beefdda355715e908adfea668830e1f/node_modules/@wordpress/components/build-module/grid/utils.mjs
|
|
11525
11128
|
var ALIGNMENTS = {
|
|
11526
11129
|
bottom: {
|
|
11527
11130
|
alignItems: "flex-end",
|
|
@@ -11566,52 +11169,155 @@ var ALIGNMENTS = {
|
|
|
11566
11169
|
}
|
|
11567
11170
|
};
|
|
11568
11171
|
function getAlignmentProps(alignment) {
|
|
11569
|
-
return alignment ? ALIGNMENTS[alignment] : {};
|
|
11172
|
+
return alignment ? ALIGNMENTS[alignment] ?? {} : {};
|
|
11570
11173
|
}
|
|
11571
11174
|
//#endregion
|
|
11572
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@
|
|
11175
|
+
//#region ../../../node_modules/.pnpm/@wordpress+components@42.0.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_5beefdda355715e908adfea668830e1f/node_modules/@wordpress/components/build-module/grid/hook.mjs
|
|
11176
|
+
var STYLE_HASH_ATTRIBUTE = "data-wp-hash";
|
|
11177
|
+
function getRuntime() {
|
|
11178
|
+
const globalScope = globalThis;
|
|
11179
|
+
if (globalScope.__wpStyleRuntime) return globalScope.__wpStyleRuntime;
|
|
11180
|
+
globalScope.__wpStyleRuntime = {
|
|
11181
|
+
documents: /* @__PURE__ */ new Map(),
|
|
11182
|
+
styles: /* @__PURE__ */ new Map(),
|
|
11183
|
+
injectedStyles: /* @__PURE__ */ new WeakMap()
|
|
11184
|
+
};
|
|
11185
|
+
if (typeof document !== "undefined") registerDocument(document);
|
|
11186
|
+
return globalScope.__wpStyleRuntime;
|
|
11187
|
+
}
|
|
11188
|
+
function documentContainsStyleHash(targetDocument, hash) {
|
|
11189
|
+
if (!targetDocument.head) return false;
|
|
11190
|
+
for (const style of targetDocument.head.querySelectorAll(`style[${STYLE_HASH_ATTRIBUTE}]`)) if (style.getAttribute(STYLE_HASH_ATTRIBUTE) === hash) return true;
|
|
11191
|
+
return false;
|
|
11192
|
+
}
|
|
11193
|
+
function injectStyle(targetDocument, hash, css) {
|
|
11194
|
+
if (!targetDocument.head) return;
|
|
11195
|
+
const runtime = getRuntime();
|
|
11196
|
+
let injectedStyles = runtime.injectedStyles.get(targetDocument);
|
|
11197
|
+
if (!injectedStyles) {
|
|
11198
|
+
injectedStyles = /* @__PURE__ */ new Set();
|
|
11199
|
+
runtime.injectedStyles.set(targetDocument, injectedStyles);
|
|
11200
|
+
}
|
|
11201
|
+
if (injectedStyles.has(hash)) return;
|
|
11202
|
+
if (documentContainsStyleHash(targetDocument, hash)) {
|
|
11203
|
+
injectedStyles.add(hash);
|
|
11204
|
+
return;
|
|
11205
|
+
}
|
|
11206
|
+
const style = targetDocument.createElement("style");
|
|
11207
|
+
style.setAttribute(STYLE_HASH_ATTRIBUTE, hash);
|
|
11208
|
+
style.appendChild(targetDocument.createTextNode(css));
|
|
11209
|
+
targetDocument.head.appendChild(style);
|
|
11210
|
+
injectedStyles.add(hash);
|
|
11211
|
+
}
|
|
11212
|
+
function registerDocument(targetDocument) {
|
|
11213
|
+
const runtime = getRuntime();
|
|
11214
|
+
runtime.documents.set(targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1);
|
|
11215
|
+
for (const [hash, css] of runtime.styles) injectStyle(targetDocument, hash, css);
|
|
11216
|
+
return () => {
|
|
11217
|
+
const count = runtime.documents.get(targetDocument);
|
|
11218
|
+
if (count === void 0) return;
|
|
11219
|
+
if (count <= 1) {
|
|
11220
|
+
runtime.documents.delete(targetDocument);
|
|
11221
|
+
return;
|
|
11222
|
+
}
|
|
11223
|
+
runtime.documents.set(targetDocument, count - 1);
|
|
11224
|
+
};
|
|
11225
|
+
}
|
|
11226
|
+
function registerStyle(hash, css) {
|
|
11227
|
+
const runtime = getRuntime();
|
|
11228
|
+
runtime.styles.set(hash, css);
|
|
11229
|
+
for (const targetDocument of runtime.documents.keys()) injectStyle(targetDocument, hash, css);
|
|
11230
|
+
}
|
|
11231
|
+
if (typeof process === "undefined" || process.env.NODE_ENV !== "test") registerStyle("79bac25858", "._631b7063b4047c89__grid{--wp-components-grid-align:initial;--wp-components-grid-justify:initial;--wp-components-grid-gap:initial;--wp-components-grid-template-columns:initial;--wp-components-grid-template-rows:initial;--wp-components-grid-row-gap:initial;--wp-components-grid-column-gap:initial;display:grid}._631b7063b4047c89__grid:not(:where(._51fa5e5688d538e7__row-gap-inherit,._3940112538797bb2__row-gap-initial,._9dc0e80dad95eb11__row-gap-unset,._964ec4132d3d0776__row-gap-revert,._9219888d7c4749d5__row-gap-revert-layer)){row-gap:var(--wp-components-grid-row-gap,calc(4px*var(--wp-components-grid-gap)))}._631b7063b4047c89__grid:not(:where(._149fd947497e8690__column-gap-inherit,.a018e74b0f04c517__column-gap-initial,.b1e45f9587eb70e5__column-gap-unset,._4da312511f64af94__column-gap-revert,.b51ead67217c210a__column-gap-revert-layer)){column-gap:var(--wp-components-grid-column-gap,calc(4px*var(--wp-components-grid-gap)))}._4cae76607d36422b__has-align:not(:where(._2c693b642b24e0d9__align-inherit,.fd4c5676ad7e83d4__align-initial,.c4c0cde44ab0ed21__align-unset,._8c23efb61db2f04e__align-revert,.c3adc4c41efa56d1__align-revert-layer)){align-items:var(--wp-components-grid-align)}._9bcd99517d001b4b__has-justify:not(:where(.a72d35ee0eda5e6b__justify-inherit,.d386403fd02ebc45__justify-initial,._7d60510a69e8ddf9__justify-unset,._857dfb6521d0cae3__justify-revert,._1537fff8402f1ca1__justify-revert-layer)){justify-content:var(--wp-components-grid-justify)}._983f7df07cd35a72__has-template-columns:not(:where(.df2216db1a717825__template-columns-inherit,._9016934ed273a0b8__template-columns-initial,._74966333f352d829__template-columns-unset,.b3ce45d005011688__template-columns-revert,._9ff0250b9bed5764__template-columns-revert-layer)){grid-template-columns:var(--wp-components-grid-template-columns)}._7e0fa0c081c20f6e__has-template-rows:not(:where(._10cfd24f62672d27__template-rows-inherit,.da1333be6b2af8c3__template-rows-initial,._919938d55c0cf234__template-rows-unset,.db40efe5796b7ffb__template-rows-revert,._1080cc5b99823c58__template-rows-revert-layer)){grid-template-rows:var(--wp-components-grid-template-rows)}.f4729d54fca65af1__is-inline{display:inline-grid;vertical-align:middle}._2c693b642b24e0d9__align-inherit{align-items:inherit}.fd4c5676ad7e83d4__align-initial{align-items:normal}.c4c0cde44ab0ed21__align-unset{align-items:unset}._8c23efb61db2f04e__align-revert{align-items:revert}.c3adc4c41efa56d1__align-revert-layer{align-items:revert-layer}.a72d35ee0eda5e6b__justify-inherit{justify-content:inherit}.d386403fd02ebc45__justify-initial{justify-content:normal}._7d60510a69e8ddf9__justify-unset{justify-content:unset}._857dfb6521d0cae3__justify-revert{justify-content:revert}._1537fff8402f1ca1__justify-revert-layer{justify-content:revert-layer}.df2216db1a717825__template-columns-inherit{grid-template-columns:inherit}._9016934ed273a0b8__template-columns-initial{grid-template-columns:none}._74966333f352d829__template-columns-unset{grid-template-columns:unset}.b3ce45d005011688__template-columns-revert{grid-template-columns:revert}._9ff0250b9bed5764__template-columns-revert-layer{grid-template-columns:revert-layer}._10cfd24f62672d27__template-rows-inherit{grid-template-rows:inherit}.da1333be6b2af8c3__template-rows-initial{grid-template-rows:none}._919938d55c0cf234__template-rows-unset{grid-template-rows:unset}.db40efe5796b7ffb__template-rows-revert{grid-template-rows:revert}._1080cc5b99823c58__template-rows-revert-layer{grid-template-rows:revert-layer}._51fa5e5688d538e7__row-gap-inherit{row-gap:inherit}._3940112538797bb2__row-gap-initial{row-gap:normal}._9dc0e80dad95eb11__row-gap-unset{row-gap:unset}._964ec4132d3d0776__row-gap-revert{row-gap:revert}._9219888d7c4749d5__row-gap-revert-layer{row-gap:revert-layer}._149fd947497e8690__column-gap-inherit{column-gap:inherit}.a018e74b0f04c517__column-gap-initial{column-gap:normal}.b1e45f9587eb70e5__column-gap-unset{column-gap:unset}._4da312511f64af94__column-gap-revert{column-gap:revert}.b51ead67217c210a__column-gap-revert-layer{column-gap:revert-layer}");
|
|
11232
|
+
var style_module_default = {
|
|
11233
|
+
"grid": "_631b7063b4047c89__grid",
|
|
11234
|
+
"row-gap-inherit": "_51fa5e5688d538e7__row-gap-inherit",
|
|
11235
|
+
"row-gap-initial": "_3940112538797bb2__row-gap-initial",
|
|
11236
|
+
"row-gap-unset": "_9dc0e80dad95eb11__row-gap-unset",
|
|
11237
|
+
"row-gap-revert": "_964ec4132d3d0776__row-gap-revert",
|
|
11238
|
+
"row-gap-revert-layer": "_9219888d7c4749d5__row-gap-revert-layer",
|
|
11239
|
+
"column-gap-inherit": "_149fd947497e8690__column-gap-inherit",
|
|
11240
|
+
"column-gap-initial": "a018e74b0f04c517__column-gap-initial",
|
|
11241
|
+
"column-gap-unset": "b1e45f9587eb70e5__column-gap-unset",
|
|
11242
|
+
"column-gap-revert": "_4da312511f64af94__column-gap-revert",
|
|
11243
|
+
"column-gap-revert-layer": "b51ead67217c210a__column-gap-revert-layer",
|
|
11244
|
+
"has-align": "_4cae76607d36422b__has-align",
|
|
11245
|
+
"align-inherit": "_2c693b642b24e0d9__align-inherit",
|
|
11246
|
+
"align-initial": "fd4c5676ad7e83d4__align-initial",
|
|
11247
|
+
"align-unset": "c4c0cde44ab0ed21__align-unset",
|
|
11248
|
+
"align-revert": "_8c23efb61db2f04e__align-revert",
|
|
11249
|
+
"align-revert-layer": "c3adc4c41efa56d1__align-revert-layer",
|
|
11250
|
+
"has-justify": "_9bcd99517d001b4b__has-justify",
|
|
11251
|
+
"justify-inherit": "a72d35ee0eda5e6b__justify-inherit",
|
|
11252
|
+
"justify-initial": "d386403fd02ebc45__justify-initial",
|
|
11253
|
+
"justify-unset": "_7d60510a69e8ddf9__justify-unset",
|
|
11254
|
+
"justify-revert": "_857dfb6521d0cae3__justify-revert",
|
|
11255
|
+
"justify-revert-layer": "_1537fff8402f1ca1__justify-revert-layer",
|
|
11256
|
+
"has-template-columns": "_983f7df07cd35a72__has-template-columns",
|
|
11257
|
+
"template-columns-inherit": "df2216db1a717825__template-columns-inherit",
|
|
11258
|
+
"template-columns-initial": "_9016934ed273a0b8__template-columns-initial",
|
|
11259
|
+
"template-columns-unset": "_74966333f352d829__template-columns-unset",
|
|
11260
|
+
"template-columns-revert": "b3ce45d005011688__template-columns-revert",
|
|
11261
|
+
"template-columns-revert-layer": "_9ff0250b9bed5764__template-columns-revert-layer",
|
|
11262
|
+
"has-template-rows": "_7e0fa0c081c20f6e__has-template-rows",
|
|
11263
|
+
"template-rows-inherit": "_10cfd24f62672d27__template-rows-inherit",
|
|
11264
|
+
"template-rows-initial": "da1333be6b2af8c3__template-rows-initial",
|
|
11265
|
+
"template-rows-unset": "_919938d55c0cf234__template-rows-unset",
|
|
11266
|
+
"template-rows-revert": "db40efe5796b7ffb__template-rows-revert",
|
|
11267
|
+
"template-rows-revert-layer": "_1080cc5b99823c58__template-rows-revert-layer",
|
|
11268
|
+
"is-inline": "f4729d54fca65af1__is-inline"
|
|
11269
|
+
};
|
|
11270
|
+
var CSS_WIDE_KEYWORDS = /* @__PURE__ */ new Set([
|
|
11271
|
+
"inherit",
|
|
11272
|
+
"initial",
|
|
11273
|
+
"unset",
|
|
11274
|
+
"revert",
|
|
11275
|
+
"revert-layer"
|
|
11276
|
+
]);
|
|
11277
|
+
function toCSSValue(value) {
|
|
11278
|
+
return typeof value === "number" ? `${value}px` : value?.trim() || void 0;
|
|
11279
|
+
}
|
|
11573
11280
|
function useGrid(props) {
|
|
11574
|
-
const { align, alignment, className, columnGap, columns = 2, gap = 3, isInline = false, justify, rowGap, rows, templateColumns, templateRows, ...otherProps } = useContextSystem(props, "Grid");
|
|
11281
|
+
const { align, alignment, className, columnGap, columns = 2, gap = 3, isInline = false, justify, rowGap, rows, style, templateColumns, templateRows, ...otherProps } = useContextSystem(props, "Grid");
|
|
11575
11282
|
const column = useResponsiveValue(Array.isArray(columns) ? columns : [columns]);
|
|
11576
11283
|
const row = useResponsiveValue(Array.isArray(rows) ? rows : [rows]);
|
|
11577
|
-
const gridTemplateColumns = templateColumns || !!
|
|
11578
|
-
const gridTemplateRows = templateRows || !!
|
|
11579
|
-
const
|
|
11580
|
-
const
|
|
11581
|
-
|
|
11582
|
-
|
|
11583
|
-
|
|
11584
|
-
|
|
11585
|
-
|
|
11586
|
-
|
|
11587
|
-
|
|
11588
|
-
gridRowGap: rowGap,
|
|
11589
|
-
gridColumnGap: columnGap,
|
|
11590
|
-
justifyContent: justify,
|
|
11591
|
-
verticalAlign: isInline ? "middle" : void 0,
|
|
11592
|
-
...alignmentProps
|
|
11593
|
-
}, process.env.NODE_ENV === "production" ? "" : ";label:gridClasses;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNENzQiIsImZpbGUiOiJob29rLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ0B3b3JkcHJlc3MvZWxlbWVudCc7XG5pbXBvcnQgdHlwZSB7IFdvcmRQcmVzc0NvbXBvbmVudFByb3BzIH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgeyB1c2VDb250ZXh0U3lzdGVtIH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgeyBnZXRBbGlnbm1lbnRQcm9wcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgdXNlUmVzcG9uc2l2ZVZhbHVlIH0gZnJvbSAnLi4vdXRpbHMvdXNlLXJlc3BvbnNpdmUtdmFsdWUnO1xuaW1wb3J0IENPTkZJRyBmcm9tICcuLi91dGlscy9jb25maWctdmFsdWVzJztcbmltcG9ydCB7IHVzZUN4IH0gZnJvbSAnLi4vdXRpbHMvaG9va3MvdXNlLWN4JztcbmltcG9ydCB0eXBlIHsgR3JpZFByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUdyaWQoXG5cdHByb3BzOiBXb3JkUHJlc3NDb21wb25lbnRQcm9wczwgR3JpZFByb3BzLCAnZGl2JyA+XG4pIHtcblx0Y29uc3Qge1xuXHRcdGFsaWduLFxuXHRcdGFsaWdubWVudCxcblx0XHRjbGFzc05hbWUsXG5cdFx0Y29sdW1uR2FwLFxuXHRcdGNvbHVtbnMgPSAyLFxuXHRcdGdhcCA9IDMsXG5cdFx0aXNJbmxpbmUgPSBmYWxzZSxcblx0XHRqdXN0aWZ5LFxuXHRcdHJvd0dhcCxcblx0XHRyb3dzLFxuXHRcdHRlbXBsYXRlQ29sdW1ucyxcblx0XHR0ZW1wbGF0ZVJvd3MsXG5cdFx0Li4ub3RoZXJQcm9wc1xuXHR9ID0gdXNlQ29udGV4dFN5c3RlbSggcHJvcHMsICdHcmlkJyApO1xuXG5cdGNvbnN0IGNvbHVtbnNBc0FycmF5ID0gQXJyYXkuaXNBcnJheSggY29sdW1ucyApID8gY29sdW1ucyA6IFsgY29sdW1ucyBdO1xuXHRjb25zdCBjb2x1bW4gPSB1c2VSZXNwb25zaXZlVmFsdWUoIGNvbHVtbnNBc0FycmF5ICk7XG5cdGNvbnN0IHJvd3NBc0FycmF5ID0gQXJyYXkuaXNBcnJheSggcm93cyApID8gcm93cyA6IFsgcm93cyBdO1xuXHRjb25zdCByb3cgPSB1c2VSZXNwb25zaXZlVmFsdWUoIHJvd3NBc0FycmF5ICk7XG5cblx0Y29uc3QgZ3JpZFRlbXBsYXRlQ29sdW1ucyA9XG5cdFx0dGVtcGxhdGVDb2x1bW5zIHx8ICggISEgY29sdW1ucyAmJiBgcmVwZWF0KCAkeyBjb2x1bW4gfSwgMWZyIClgICk7XG5cdGNvbnN0IGdyaWRUZW1wbGF0ZVJvd3MgPVxuXHRcdHRlbXBsYXRlUm93cyB8fCAoICEhIHJvd3MgJiYgYHJlcGVhdCggJHsgcm93IH0sIDFmciApYCApO1xuXG5cdGNvbnN0IGN4ID0gdXNlQ3goKTtcblxuXHRjb25zdCBjbGFzc2VzID0gdXNlTWVtbyggKCkgPT4ge1xuXHRcdGNvbnN0IGFsaWdubWVudFByb3BzID0gZ2V0QWxpZ25tZW50UHJvcHMoIGFsaWdubWVudCApO1xuXG5cdFx0Y29uc3QgZ3JpZENsYXNzZXMgPSBjc3MoIHtcblx0XHRcdGFsaWduSXRlbXM6IGFsaWduLFxuXHRcdFx0ZGlzcGxheTogaXNJbmxpbmUgPyAnaW5saW5lLWdyaWQnIDogJ2dyaWQnLFxuXHRcdFx0Z2FwOiBgY2FsYyggJHsgQ09ORklHLmdyaWRCYXNlIH0gKiAkeyBnYXAgfSApYCxcblx0XHRcdGdyaWRUZW1wbGF0ZUNvbHVtbnM6IGdyaWRUZW1wbGF0ZUNvbHVtbnMgfHwgdW5kZWZpbmVkLFxuXHRcdFx0Z3JpZFRlbXBsYXRlUm93czogZ3JpZFRlbXBsYXRlUm93cyB8fCB1bmRlZmluZWQsXG5cdFx0XHRncmlkUm93R2FwOiByb3dHYXAsXG5cdFx0XHRncmlkQ29sdW1uR2FwOiBjb2x1bW5HYXAsXG5cdFx0XHRqdXN0aWZ5Q29udGVudDoganVzdGlmeSxcblx0XHRcdHZlcnRpY2FsQWxpZ246IGlzSW5saW5lID8gJ21pZGRsZScgOiB1bmRlZmluZWQsXG5cdFx0XHQuLi5hbGlnbm1lbnRQcm9wcyxcblx0XHR9ICk7XG5cblx0XHRyZXR1cm4gY3goIGdyaWRDbGFzc2VzLCBjbGFzc05hbWUgKTtcblx0fSwgW1xuXHRcdGFsaWduLFxuXHRcdGFsaWdubWVudCxcblx0XHRjbGFzc05hbWUsXG5cdFx0Y29sdW1uR2FwLFxuXHRcdGN4LFxuXHRcdGdhcCxcblx0XHRncmlkVGVtcGxhdGVDb2x1bW5zLFxuXHRcdGdyaWRUZW1wbGF0ZVJvd3MsXG5cdFx0aXNJbmxpbmUsXG5cdFx0anVzdGlmeSxcblx0XHRyb3dHYXAsXG5cdF0gKTtcblxuXHRyZXR1cm4geyAuLi5vdGhlclByb3BzLCBjbGFzc05hbWU6IGNsYXNzZXMgfTtcbn1cbiJdfQ== */");
|
|
11594
|
-
return cx(gridClasses, className);
|
|
11595
|
-
}, [
|
|
11596
|
-
align,
|
|
11597
|
-
alignment,
|
|
11598
|
-
className,
|
|
11599
|
-
columnGap,
|
|
11600
|
-
cx,
|
|
11601
|
-
gap,
|
|
11602
|
-
gridTemplateColumns,
|
|
11603
|
-
gridTemplateRows,
|
|
11604
|
-
isInline,
|
|
11605
|
-
justify,
|
|
11606
|
-
rowGap
|
|
11607
|
-
]);
|
|
11284
|
+
const gridTemplateColumns = templateColumns || !!column && `repeat( ${column}, 1fr )`;
|
|
11285
|
+
const gridTemplateRows = templateRows || !!row && `repeat( ${row}, 1fr )`;
|
|
11286
|
+
const alignmentProps = getAlignmentProps(alignment);
|
|
11287
|
+
const values = {
|
|
11288
|
+
align: alignmentProps.alignItems ?? align,
|
|
11289
|
+
justify: alignmentProps.justifyContent ?? justify,
|
|
11290
|
+
"template-columns": gridTemplateColumns || void 0,
|
|
11291
|
+
"template-rows": gridTemplateRows || void 0,
|
|
11292
|
+
"row-gap": rowGap,
|
|
11293
|
+
"column-gap": columnGap
|
|
11294
|
+
};
|
|
11608
11295
|
return {
|
|
11609
11296
|
...otherProps,
|
|
11610
|
-
className:
|
|
11297
|
+
className: (0, clsx.default)(style_module_default.grid, {
|
|
11298
|
+
[style_module_default["is-inline"]]: isInline,
|
|
11299
|
+
[style_module_default["has-align"]]: !!values.align?.trim(),
|
|
11300
|
+
[style_module_default["has-justify"]]: !!values.justify?.trim(),
|
|
11301
|
+
[style_module_default["has-template-columns"]]: !!toCSSValue(values["template-columns"]),
|
|
11302
|
+
[style_module_default["has-template-rows"]]: !!toCSSValue(values["template-rows"])
|
|
11303
|
+
}, Object.entries(values).map(([property, value]) => {
|
|
11304
|
+
const keyword = typeof value === "string" ? value.trim().toLowerCase() : "";
|
|
11305
|
+
return CSS_WIDE_KEYWORDS.has(keyword) && style_module_default[`${property}-${keyword}`];
|
|
11306
|
+
}), className),
|
|
11307
|
+
style: {
|
|
11308
|
+
"--wp-components-grid-align": values.align,
|
|
11309
|
+
"--wp-components-grid-justify": values.justify,
|
|
11310
|
+
"--wp-components-grid-gap": gap,
|
|
11311
|
+
"--wp-components-grid-template-columns": toCSSValue(values["template-columns"]),
|
|
11312
|
+
"--wp-components-grid-template-rows": toCSSValue(values["template-rows"]),
|
|
11313
|
+
"--wp-components-grid-row-gap": toCSSValue(rowGap),
|
|
11314
|
+
"--wp-components-grid-column-gap": toCSSValue(columnGap),
|
|
11315
|
+
...style
|
|
11316
|
+
}
|
|
11611
11317
|
};
|
|
11612
11318
|
}
|
|
11613
11319
|
//#endregion
|
|
11614
|
-
//#region ../../../node_modules/.pnpm/@wordpress+components@
|
|
11320
|
+
//#region ../../../node_modules/.pnpm/@wordpress+components@42.0.0_@date-fns+tz@1.5.0_@types+react-dom@18.3.7_@types+react@18_5beefdda355715e908adfea668830e1f/node_modules/@wordpress/components/build-module/grid/component.mjs
|
|
11615
11321
|
function UnconnectedGrid(props, forwardedRef) {
|
|
11616
11322
|
const gridProps = useGrid(props);
|
|
11617
11323
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(component_default$2, {
|
|
@@ -11637,8 +11343,8 @@ const SUBPIXEL_TOLERANCE = .5;
|
|
|
11637
11343
|
* depends on `--a8c-charts-dimension-leaderboard-row-gap`, label wrapping, and
|
|
11638
11344
|
* whatever a caller renders as a label, so any restated number would drift.
|
|
11639
11345
|
*
|
|
11640
|
-
* Every row is a direct grid child marked with `data-row-index`;
|
|
11641
|
-
*
|
|
11346
|
+
* Every row is a `listitem` div, a direct grid child marked with `data-row-index`;
|
|
11347
|
+
* interactive rows hold a button inside it.
|
|
11642
11348
|
*
|
|
11643
11349
|
* @param enabled - Whether to measure at all. When false every row fits.
|
|
11644
11350
|
* @param rowCount - Total number of rows rendered.
|
|
@@ -11780,6 +11486,7 @@ var leaderboard_chart_module_default = {
|
|
|
11780
11486
|
"overlayLabel": "a8ccharts-GovfoW-overlayLabel",
|
|
11781
11487
|
"row": "a8ccharts-GovfoW-row",
|
|
11782
11488
|
"rowButton": "a8ccharts-GovfoW-rowButton",
|
|
11489
|
+
"rowItem": "a8ccharts-GovfoW-rowItem",
|
|
11783
11490
|
"stretch": "a8ccharts-GovfoW-stretch",
|
|
11784
11491
|
"valueContainer": "a8ccharts-GovfoW-valueContainer"
|
|
11785
11492
|
};
|
|
@@ -11892,9 +11599,10 @@ const BarWithLabel = ({ entry, withComparison, withOverlayLabel, primaryColor, s
|
|
|
11892
11599
|
* @param props.children - Child components for composition API
|
|
11893
11600
|
* @param props.className - Additional CSS class name
|
|
11894
11601
|
* @param props.style - Custom styling for the chart container
|
|
11602
|
+
* @param props.ariaLabel - Accessible name for the list, defaulting to "Leaderboard chart"
|
|
11895
11603
|
* @return JSX element representing the leaderboard chart
|
|
11896
11604
|
*/
|
|
11897
|
-
const LeaderboardChartInternal = ({ data, chartId: providedChartId, width: propWidth, height: propHeight, withComparison = false, withOverlayLabel = false, primaryColor, secondaryColor, valueFormatter = defaultValueFormatter, deltaFormatter = defaultDeltaFormatter, animation, loading = false, fitRows = false, showLegend = false, legend = {}, legendLabels, gap = "md", className, style, children }) => {
|
|
11605
|
+
const LeaderboardChartInternal = ({ data, chartId: providedChartId, width: propWidth, height: propHeight, withComparison = false, withOverlayLabel = false, primaryColor, secondaryColor, valueFormatter = defaultValueFormatter, deltaFormatter = defaultDeltaFormatter, animation, loading = false, fitRows = false, showLegend = false, legend = {}, legendLabels, gap = "md", ariaLabel, className, style, children }) => {
|
|
11898
11606
|
const legendInteractive = legend.interactive ?? false;
|
|
11899
11607
|
const legendPosition = legend.position ?? "bottom";
|
|
11900
11608
|
const chartId = useChartId(providedChartId);
|
|
@@ -12025,6 +11733,8 @@ const LeaderboardChartInternal = ({ data, chartId: providedChartId, width: propW
|
|
|
12025
11733
|
className: leaderboard_chart_module_default.emptyState,
|
|
12026
11734
|
children: getAllHiddenMessage(legendInteractive, "series")
|
|
12027
11735
|
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(component_default, {
|
|
11736
|
+
role: "list",
|
|
11737
|
+
"aria-label": ariaLabel ?? (0, _wordpress_i18n.__)("Leaderboard chart", "jetpack-charts"),
|
|
12028
11738
|
templateColumns: "minmax(0, 1fr) auto",
|
|
12029
11739
|
rowGap: ROW_GAP,
|
|
12030
11740
|
columnGap: COLUMN_GAP,
|
|
@@ -12072,40 +11782,49 @@ const LeaderboardChartInternal = ({ data, chartId: providedChartId, width: propW
|
|
|
12072
11782
|
})
|
|
12073
11783
|
]
|
|
12074
11784
|
})] });
|
|
12075
|
-
if (entry.onClick && entry.hasInteractiveLabel) return /* @__PURE__ */ (0, react_jsx_runtime.
|
|
11785
|
+
if (entry.onClick && entry.hasInteractiveLabel) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
11786
|
+
role: "listitem",
|
|
12076
11787
|
"data-row-index": rowIndex,
|
|
12077
11788
|
style: rowStyle,
|
|
12078
|
-
className:
|
|
12079
|
-
|
|
12080
|
-
|
|
12081
|
-
|
|
12082
|
-
|
|
12083
|
-
|
|
12084
|
-
|
|
12085
|
-
|
|
12086
|
-
|
|
12087
|
-
|
|
12088
|
-
|
|
12089
|
-
|
|
12090
|
-
|
|
12091
|
-
|
|
12092
|
-
|
|
12093
|
-
|
|
11789
|
+
className: leaderboard_chart_module_default.rowItem,
|
|
11790
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
11791
|
+
className: (0, clsx.default)(leaderboard_chart_module_default.row, leaderboard_chart_module_default.interactiveRow, leaderboard_chart_module_default.layeredRow),
|
|
11792
|
+
onClick: forwardCellClickToRowButton,
|
|
11793
|
+
children: [
|
|
11794
|
+
rowCells,
|
|
11795
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
11796
|
+
type: "button",
|
|
11797
|
+
className: leaderboard_chart_module_default.rowButton,
|
|
11798
|
+
onClick: entry.onClick,
|
|
11799
|
+
"aria-label": entry.ariaLabel
|
|
11800
|
+
}),
|
|
11801
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_wordpress_icons.Icon, {
|
|
11802
|
+
className: leaderboard_chart_module_default.chevron,
|
|
11803
|
+
icon: _wordpress_icons.chevronRight,
|
|
11804
|
+
size: 24
|
|
11805
|
+
})
|
|
11806
|
+
]
|
|
11807
|
+
})
|
|
12094
11808
|
}, entry.id);
|
|
12095
|
-
if (entry.onClick) return /* @__PURE__ */ (0, react_jsx_runtime.
|
|
12096
|
-
|
|
11809
|
+
if (entry.onClick) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
11810
|
+
role: "listitem",
|
|
12097
11811
|
"data-row-index": rowIndex,
|
|
12098
11812
|
style: rowStyle,
|
|
12099
|
-
className:
|
|
12100
|
-
|
|
12101
|
-
|
|
12102
|
-
|
|
12103
|
-
|
|
12104
|
-
|
|
12105
|
-
|
|
12106
|
-
|
|
11813
|
+
className: leaderboard_chart_module_default.rowItem,
|
|
11814
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
11815
|
+
type: "button",
|
|
11816
|
+
className: (0, clsx.default)(leaderboard_chart_module_default.row, leaderboard_chart_module_default.interactiveRow),
|
|
11817
|
+
onClick: entry.onClick,
|
|
11818
|
+
"aria-label": entry.ariaLabel,
|
|
11819
|
+
children: [rowCells, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_wordpress_icons.Icon, {
|
|
11820
|
+
className: leaderboard_chart_module_default.chevron,
|
|
11821
|
+
icon: _wordpress_icons.chevronRight,
|
|
11822
|
+
size: 24
|
|
11823
|
+
})]
|
|
11824
|
+
})
|
|
12107
11825
|
}, entry.id);
|
|
12108
11826
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
11827
|
+
role: "listitem",
|
|
12109
11828
|
"data-row-index": rowIndex,
|
|
12110
11829
|
style: rowStyle,
|
|
12111
11830
|
className: leaderboard_chart_module_default.row,
|
|
@@ -12142,11 +11861,13 @@ const PieSelectionAnnouncement = ({ data }) => /* @__PURE__ */ (0, react_jsx_run
|
|
|
12142
11861
|
});
|
|
12143
11862
|
//#endregion
|
|
12144
11863
|
//#region src/charts/private/pie-keyboard-navigation/pie-tooltip.tsx
|
|
11864
|
+
const TOOLTIP_BOX_STYLE = { zIndex: 3 };
|
|
12145
11865
|
const PieTooltip = ({ top, left, selectedIndex, tooltipRef, children }) => {
|
|
12146
11866
|
const standaloneScopeClass = useStandaloneScopeClass();
|
|
12147
11867
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BoundedTooltip, {
|
|
12148
11868
|
top,
|
|
12149
11869
|
left,
|
|
11870
|
+
style: TOOLTIP_BOX_STYLE,
|
|
12150
11871
|
children: selectedIndex === void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
12151
11872
|
className: standaloneScopeClass,
|
|
12152
11873
|
role: "tooltip",
|
|
@@ -12369,6 +12090,7 @@ function RadialWipeAnimation({ id, radius, innerRadius = 0, durationMs = 1e3, wi
|
|
|
12369
12090
|
//#endregion
|
|
12370
12091
|
//#region src/charts/pie-chart/pie-chart.module.scss
|
|
12371
12092
|
var pie_chart_module_default = {
|
|
12093
|
+
"pie-chart": "a8ccharts-gnszbG-pie-chart",
|
|
12372
12094
|
"pie-chart__label-plate": "a8ccharts-gnszbG-pie-chart__label-plate",
|
|
12373
12095
|
"pie-chart__label-text": "a8ccharts-gnszbG-pie-chart__label-text",
|
|
12374
12096
|
"pie-chart__label-text--black": "a8ccharts-gnszbG-pie-chart__label-text--black",
|