@pixerate/editor 0.156.0 → 0.158.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/dist/agent/index.cjs +34 -34
- package/dist/agent/index.js +5 -5
- package/dist/canvas/index.cjs +6 -6
- package/dist/canvas/index.js +2 -2
- package/dist/chart/index.cjs +90 -88
- package/dist/chart/index.js +9 -7
- package/dist/chart/spec.d.cts +2 -1
- package/dist/chart/spec.d.ts +2 -1
- package/dist/chart/types.d.cts +5 -0
- package/dist/chart/types.d.ts +5 -0
- package/dist/{chunk-CD7PLU77.cjs → chunk-3YDQLQH2.cjs} +3 -1
- package/dist/{chunk-2WDZI6QD.cjs → chunk-4T44CJ5K.cjs} +15 -15
- package/dist/{chunk-XTU6QO2W.cjs → chunk-4YWAEV4W.cjs} +36 -27
- package/dist/{chunk-4YQKRHMI.cjs → chunk-57JLBGJ5.cjs} +8 -8
- package/dist/{chunk-SVINJIGK.js → chunk-5QBRAIVK.js} +3 -3
- package/dist/{chunk-R3PECGTQ.cjs → chunk-6LUYFHHN.cjs} +51 -51
- package/dist/{chunk-ZQWLWDZI.js → chunk-72BGL3I2.js} +2 -0
- package/dist/{chunk-ML2II3Y3.cjs → chunk-AKDWAWSY.cjs} +58 -46
- package/dist/{chunk-EQ4SF4X4.js → chunk-DBIVICAO.js} +1 -1
- package/dist/{chunk-SUVZJ2CP.js → chunk-H5XX4KHB.js} +11 -1
- package/dist/{chunk-37RLSNQ3.js → chunk-Q6PA362P.js} +2 -2
- package/dist/{chunk-DSZCDNTM.js → chunk-R3QY7PPL.js} +11 -2
- package/dist/{chunk-4RF2H3N3.js → chunk-SSCL7QQ4.js} +15 -3
- package/dist/{chunk-TLMRGLQQ.cjs → chunk-TVO6W2Q6.cjs} +20 -17
- package/dist/{chunk-EIUTJPEL.js → chunk-UM3RPYC5.js} +5 -2
- package/dist/{chunk-I4AHLP7F.cjs → chunk-WPPJH6X4.cjs} +12 -2
- package/dist/{chunk-RZJCYJWO.cjs → chunk-XNQ5EFB4.cjs} +16 -16
- package/dist/{chunk-R6HNWN7B.js → chunk-YABNLNY7.js} +3 -3
- package/dist/export/index.cjs +4 -4
- package/dist/export/index.js +3 -3
- package/dist/extensions/index.cjs +7 -7
- package/dist/extensions/index.js +6 -6
- package/dist/image-editor/controller.d.cts +24 -1
- package/dist/image-editor/controller.d.ts +24 -1
- package/dist/image-editor/controls.d.cts +9 -0
- package/dist/image-editor/controls.d.ts +9 -0
- package/dist/image-editor/index.cjs +7699 -7446
- package/dist/image-editor/index.js +11053 -10800
- package/dist/image-editor/layers/panel.d.cts +24 -0
- package/dist/image-editor/layers/panel.d.ts +24 -0
- package/dist/image-editor/layers/smart.d.cts +2 -0
- package/dist/image-editor/layers/smart.d.ts +2 -0
- package/dist/image-editor/transform.d.cts +1 -0
- package/dist/image-editor/transform.d.ts +1 -0
- package/dist/index.cjs +13 -13
- package/dist/index.js +7 -7
- package/dist/paint-editor/index.cjs +6 -6
- package/dist/paint-editor/index.js +1 -1
- package/package.json +1 -1
- package/skills/pixerate-chart/SKILL.md +4 -1
package/dist/chart/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
TRENDLINE_PROPS,
|
|
8
8
|
VALUE,
|
|
9
9
|
WIDTH
|
|
10
|
-
} from "../chunk-
|
|
10
|
+
} from "../chunk-UM3RPYC5.js";
|
|
11
11
|
import {
|
|
12
12
|
CHART_OOXML_CONTENT_TYPE,
|
|
13
13
|
CHART_OOXML_NS,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
chartFormatToCode,
|
|
16
16
|
chartFromOoxml,
|
|
17
17
|
chartToOoxml
|
|
18
|
-
} from "../chunk-
|
|
18
|
+
} from "../chunk-DBIVICAO.js";
|
|
19
19
|
import {
|
|
20
20
|
CHART_COLOR_SCHEMES,
|
|
21
21
|
CHART_LAYOUT_PRESETS,
|
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
monochromeChartPalette,
|
|
38
38
|
sparklineToSvg,
|
|
39
39
|
summarizeChart
|
|
40
|
-
} from "../chunk-
|
|
40
|
+
} from "../chunk-SSCL7QQ4.js";
|
|
41
41
|
import {
|
|
42
42
|
CHART_DATE_STEPS,
|
|
43
43
|
MAX_CHART_DATA_LABELS,
|
|
@@ -76,7 +76,7 @@ import {
|
|
|
76
76
|
stepDecimals,
|
|
77
77
|
summarizeChartSeries,
|
|
78
78
|
trendNumberText
|
|
79
|
-
} from "../chunk-
|
|
79
|
+
} from "../chunk-R3QY7PPL.js";
|
|
80
80
|
import {
|
|
81
81
|
CHART_AXIS_KINDS,
|
|
82
82
|
CHART_AXIS_SCALES,
|
|
@@ -90,6 +90,7 @@ import {
|
|
|
90
90
|
CHART_NUMBER_STYLES,
|
|
91
91
|
CHART_ORIENTATIONS,
|
|
92
92
|
CHART_PALETTE_SHADES,
|
|
93
|
+
CHART_RADAR_GRATICULES,
|
|
93
94
|
CHART_SERIES_TYPES,
|
|
94
95
|
CHART_STACKINGS,
|
|
95
96
|
CHART_TRENDLINE_TYPES,
|
|
@@ -137,7 +138,7 @@ import {
|
|
|
137
138
|
shadeChartColor,
|
|
138
139
|
simulateChartVision,
|
|
139
140
|
uniqueChartSeriesId
|
|
140
|
-
} from "../chunk-
|
|
141
|
+
} from "../chunk-H5XX4KHB.js";
|
|
141
142
|
import "../chunk-II2WIF5Z.js";
|
|
142
143
|
import {
|
|
143
144
|
parseCsv
|
|
@@ -445,7 +446,7 @@ function createChartCommands(controller, options = {}) {
|
|
|
445
446
|
id: `${prefix}update`,
|
|
446
447
|
label: "Change Chart\u2026",
|
|
447
448
|
keywords: ["chart", "title", "axis", "legend", "stack", "style", "format", "type"],
|
|
448
|
-
description: 'Changes chart presentation as one undo step: type, titles, axes (xAxis = categories, yAxis = values, yAxis2 = secondary values; reverse, and scale "log" on value axes), legend, stacking, orientation, curve, points, data labels, palette, donut hole, bar spacing, histogram bins or
|
|
449
|
+
description: 'Changes chart presentation as one undo step: type, titles, axes (xAxis = categories, yAxis = values, yAxis2 = secondary values; reverse, and scale "log" on value axes), legend, stacking, orientation, curve, points, data labels, palette, donut hole, bar spacing, histogram bins, waterfall total, or radar rings and grid shape. Invalid values change nothing and return why.',
|
|
449
450
|
params: object(CHART_UPDATE_PROPERTIES),
|
|
450
451
|
run: (_ctx, params) => {
|
|
451
452
|
check(controller.update(params));
|
|
@@ -1339,7 +1340,7 @@ function createChartToolProvider(controller, options = {}) {
|
|
|
1339
1340
|
const updateChart = {
|
|
1340
1341
|
name: "update_chart",
|
|
1341
1342
|
title: "Change chart presentation",
|
|
1342
|
-
description: 'Changes how the chart looks, as one undo step: type, titles, axes (xAxis = categories or numeric x, yAxis = values, yAxis2 = secondary values; each can be reversed, and value axes can be logarithmic with scale "log"), legend, stacking, orientation, curve, points, data labels and their position, palette, donut hole, bar spacing, histogram bins, waterfall total. All-or-nothing: invalid values change nothing and come back as sentences. Returns the new spec.',
|
|
1343
|
+
description: 'Changes how the chart looks, as one undo step: type, titles, axes (xAxis = categories or numeric x, yAxis = values, yAxis2 = secondary values; each can be reversed, and value axes can be logarithmic with scale "log"), legend, stacking, orientation, curve, points, data labels and their position, palette, donut hole, bar spacing, histogram bins, waterfall total, radar rings (radarTicks) and grid shape (radarGraticule). All-or-nothing: invalid values change nothing and come back as sentences. Returns the new spec.',
|
|
1343
1344
|
inputSchema: {
|
|
1344
1345
|
type: "object",
|
|
1345
1346
|
properties: CHART_UPDATE_PROPERTIES,
|
|
@@ -2238,6 +2239,7 @@ export {
|
|
|
2238
2239
|
CHART_ORIENTATIONS,
|
|
2239
2240
|
CHART_PALETTE_SHADES,
|
|
2240
2241
|
CHART_PRESENCE_COLORS,
|
|
2242
|
+
CHART_RADAR_GRATICULES,
|
|
2241
2243
|
CHART_RASTER_MAX_SIZE,
|
|
2242
2244
|
CHART_SERIES_TYPES,
|
|
2243
2245
|
CHART_STACKINGS,
|
package/dist/chart/spec.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChartAxis, ChartCurve, ChartErrorBars, ChartIssue, ChartLabelPosition, ChartLegendPosition, ChartMarker, ChartNumberFormat, ChartOrientation, ChartSeries, ChartSeriesType, ChartSpec, ChartStacking, ChartTheme, ChartTrendline, ChartTrendlineType, ChartType, ChartValue } from './types.cjs';
|
|
1
|
+
import type { ChartAxis, ChartCurve, ChartErrorBars, ChartIssue, ChartLabelPosition, ChartLegendPosition, ChartMarker, ChartNumberFormat, ChartOrientation, ChartRadarGraticule, ChartSeries, ChartSeriesType, ChartSpec, ChartStacking, ChartTheme, ChartTrendline, ChartTrendlineType, ChartType, ChartValue } from './types.cjs';
|
|
2
2
|
export declare const CHART_TYPES: readonly ChartType[];
|
|
3
3
|
export declare const CHART_MARKERS: readonly ChartMarker[];
|
|
4
4
|
export declare const CHART_TRENDLINE_TYPES: readonly ChartTrendlineType[];
|
|
@@ -8,6 +8,7 @@ export declare const CHART_AXIS_SCALES: readonly NonNullable<ChartAxis['scale']>
|
|
|
8
8
|
export declare const CHART_SERIES_TYPES: readonly ChartSeriesType[];
|
|
9
9
|
export declare const CHART_STACKINGS: readonly ChartStacking[];
|
|
10
10
|
export declare const CHART_CURVES: readonly ChartCurve[];
|
|
11
|
+
export declare const CHART_RADAR_GRATICULES: readonly ChartRadarGraticule[];
|
|
11
12
|
export declare const CHART_ORIENTATIONS: readonly ChartOrientation[];
|
|
12
13
|
export declare const CHART_LEGEND_POSITIONS: readonly ChartLegendPosition[];
|
|
13
14
|
export declare const CHART_NUMBER_STYLES: readonly NonNullable<ChartNumberFormat['style']>[];
|
package/dist/chart/spec.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChartAxis, ChartCurve, ChartErrorBars, ChartIssue, ChartLabelPosition, ChartLegendPosition, ChartMarker, ChartNumberFormat, ChartOrientation, ChartSeries, ChartSeriesType, ChartSpec, ChartStacking, ChartTheme, ChartTrendline, ChartTrendlineType, ChartType, ChartValue } from './types.js';
|
|
1
|
+
import type { ChartAxis, ChartCurve, ChartErrorBars, ChartIssue, ChartLabelPosition, ChartLegendPosition, ChartMarker, ChartNumberFormat, ChartOrientation, ChartRadarGraticule, ChartSeries, ChartSeriesType, ChartSpec, ChartStacking, ChartTheme, ChartTrendline, ChartTrendlineType, ChartType, ChartValue } from './types.js';
|
|
2
2
|
export declare const CHART_TYPES: readonly ChartType[];
|
|
3
3
|
export declare const CHART_MARKERS: readonly ChartMarker[];
|
|
4
4
|
export declare const CHART_TRENDLINE_TYPES: readonly ChartTrendlineType[];
|
|
@@ -8,6 +8,7 @@ export declare const CHART_AXIS_SCALES: readonly NonNullable<ChartAxis['scale']>
|
|
|
8
8
|
export declare const CHART_SERIES_TYPES: readonly ChartSeriesType[];
|
|
9
9
|
export declare const CHART_STACKINGS: readonly ChartStacking[];
|
|
10
10
|
export declare const CHART_CURVES: readonly ChartCurve[];
|
|
11
|
+
export declare const CHART_RADAR_GRATICULES: readonly ChartRadarGraticule[];
|
|
11
12
|
export declare const CHART_ORIENTATIONS: readonly ChartOrientation[];
|
|
12
13
|
export declare const CHART_LEGEND_POSITIONS: readonly ChartLegendPosition[];
|
|
13
14
|
export declare const CHART_NUMBER_STYLES: readonly NonNullable<ChartNumberFormat['style']>[];
|
package/dist/chart/types.d.cts
CHANGED
|
@@ -156,6 +156,7 @@ export interface ChartLegend {
|
|
|
156
156
|
export type ChartStacking = 'none' | 'stacked' | 'percent';
|
|
157
157
|
export type ChartOrientation = 'vertical' | 'horizontal';
|
|
158
158
|
export type ChartCurve = 'linear' | 'smooth' | 'step';
|
|
159
|
+
export type ChartRadarGraticule = 'polygon' | 'circle';
|
|
159
160
|
/** Where bar labels go: `auto` puts them outside, or centred on stacked segments, and drops ones that do not fit. */
|
|
160
161
|
export type ChartLabelPosition = 'auto' | 'inside' | 'outside' | 'center';
|
|
161
162
|
/** A whole chart: data plus presentation. Plain JSON, safe to persist. */
|
|
@@ -198,6 +199,10 @@ export interface ChartSpec {
|
|
|
198
199
|
bins: number | null;
|
|
199
200
|
/** Waterfall: append a running-total bar (categories labelled "total" are always totals). */
|
|
200
201
|
showTotal: boolean;
|
|
202
|
+
/** Radar: number of evenly spaced rings from the value axis minimum to its maximum, 1–50 (`null`: round-number rings). */
|
|
203
|
+
radarTicks: number | null;
|
|
204
|
+
/** Radar: rings drawn as polygons through the spokes or as circles. */
|
|
205
|
+
radarGraticule: ChartRadarGraticule;
|
|
201
206
|
}
|
|
202
207
|
/** What a click selects. */
|
|
203
208
|
export type ChartSelection = {
|
package/dist/chart/types.d.ts
CHANGED
|
@@ -156,6 +156,7 @@ export interface ChartLegend {
|
|
|
156
156
|
export type ChartStacking = 'none' | 'stacked' | 'percent';
|
|
157
157
|
export type ChartOrientation = 'vertical' | 'horizontal';
|
|
158
158
|
export type ChartCurve = 'linear' | 'smooth' | 'step';
|
|
159
|
+
export type ChartRadarGraticule = 'polygon' | 'circle';
|
|
159
160
|
/** Where bar labels go: `auto` puts them outside, or centred on stacked segments, and drops ones that do not fit. */
|
|
160
161
|
export type ChartLabelPosition = 'auto' | 'inside' | 'outside' | 'center';
|
|
161
162
|
/** A whole chart: data plus presentation. Plain JSON, safe to persist. */
|
|
@@ -198,6 +199,10 @@ export interface ChartSpec {
|
|
|
198
199
|
bins: number | null;
|
|
199
200
|
/** Waterfall: append a running-total bar (categories labelled "total" are always totals). */
|
|
200
201
|
showTotal: boolean;
|
|
202
|
+
/** Radar: number of evenly spaced rings from the value axis minimum to its maximum, 1–50 (`null`: round-number rings). */
|
|
203
|
+
radarTicks: number | null;
|
|
204
|
+
/** Radar: rings drawn as polygons through the spokes or as circles. */
|
|
205
|
+
radarGraticule: ChartRadarGraticule;
|
|
201
206
|
}
|
|
202
207
|
/** What a click selects. */
|
|
203
208
|
export type ChartSelection = {
|
|
@@ -11834,4 +11834,6 @@ function exportPsd(input) {
|
|
|
11834
11834
|
|
|
11835
11835
|
|
|
11836
11836
|
|
|
11837
|
-
exports.LEGACY_PROCESS_VERSION = LEGACY_PROCESS_VERSION; exports.LATEST_PROCESS_VERSION = LATEST_PROCESS_VERSION; exports.normalizeProcessVersion = normalizeProcessVersion; exports.srgbToLinear = srgbToLinear; exports.linearToSrgb = linearToSrgb; exports.LUMA_709 = LUMA_709; exports.IDENTITY_MATRIX3 = IDENTITY_MATRIX3; exports.mulMatrix3 = mulMatrix3; exports.applyMatrix3 = applyMatrix3; exports.invertMatrix3 = invertMatrix3; exports.D65 = D65; exports.bradfordAdaptation = bradfordAdaptation; exports.wbMatrix = wbMatrix; exports.linearSrgbToXy = linearSrgbToXy; exports.TINT_SCALE = TINT_SCALE; exports.MIN_KELVIN = MIN_KELVIN; exports.MAX_KELVIN = MAX_KELVIN; exports.xyToUv = xyToUv; exports.uvToXy = uvToXy; exports.tempTintToXy = tempTintToXy; exports.xyToTempTint = xyToTempTint; exports.AS_SHOT_KELVIN = AS_SHOT_KELVIN; exports.MIRED_PER_TEMPERATURE_UNIT = MIRED_PER_TEMPERATURE_UNIT; exports.temperatureToKelvin = temperatureToKelvin; exports.kelvinToTemperature = kelvinToTemperature; exports.whiteBalanceMatrix = whiteBalanceMatrix; exports.whiteBalanceFromSample = whiteBalanceFromSample; exports.TONE_LUT_SIZE = TONE_LUT_SIZE; exports.toneCurve = toneCurve; exports.buildToneLut = buildToneLut; exports.sampleToneLut = sampleToneLut; exports.normalizeAngle = normalizeAngle; exports.isQuarterTurnSwapped = isQuarterTurnSwapped; exports.getRotatedSize = getRotatedSize; exports.projectImagePoint = projectImagePoint; exports.unprojectCanvasPoint = unprojectCanvasPoint; exports.applyImageProjectionToContext = applyImageProjectionToContext; exports.projectImageRect = projectImageRect; exports.clampCropToImage = clampCropToImage; exports.getViewportProjection = getViewportProjection; exports.getViewportMetrics = getViewportMetrics; exports.canvasToImagePoint = canvasToImagePoint; exports.imageToCanvasPoint = imageToCanvasPoint; exports.mapCropHandle = mapCropHandle; exports.hitTestCrop = hitTestCrop; exports.getCropCursor = getCropCursor; exports.calculateCropDrag = calculateCropDrag; exports.getAnnotationBounds = getAnnotationBounds; exports.hitTestAnnotation = hitTestAnnotation; exports.SELECTION_MODES = SELECTION_MODES; exports.isSelectionMode = isSelectionMode; exports.parseSelectionMode = parseSelectionMode; exports.computeSelectionBounds = computeSelectionBounds; exports.createSelectionMask = createSelectionMask; exports.fullSelection = fullSelection; exports.isSelectionEmpty = isSelectionEmpty; exports.selectionValueAt = selectionValueAt; exports.coverageToByte = coverageToByte; exports.selectionFromCoverage = selectionFromCoverage; exports.selectionToCoverage = selectionToCoverage; exports.selectionArea = selectionArea; exports.combineSelections = combineSelections; exports.invertSelection = invertSelection; exports.resizeSelection = resizeSelection; exports.selectionFromPixels = selectionFromPixels; exports.selectionToPixels = selectionToPixels; exports.encodeSelectionRle = encodeSelectionRle; exports.decodeSelectionRle = decodeSelectionRle; exports.serializeSelection = serializeSelection; exports.deserializeSelection = deserializeSelection; exports.hashMaskContent = hashMaskContent; exports.EMPTY_DISTANCE = EMPTY_DISTANCE; exports.distanceTransform = distanceTransform; exports.expandCoverage = expandCoverage; exports.contractCoverage = contractCoverage; exports.borderCoverage = borderCoverage; exports.smoothCoverage = smoothCoverage; exports.featherCoverage = featherCoverage; exports.greyMorphology = greyMorphology; exports.shiftCoverage = shiftCoverage; exports.SELECTION_MODIFY_OPS = SELECTION_MODIFY_OPS; exports.modifySelection = modifySelection; exports.normalizeLayerMask = normalizeLayerMask; exports.layerMaskFromSelection = layerMaskFromSelection; exports.updateLayerMaskProps = updateLayerMaskProps; exports.decodeLayerMask = decodeLayerMask; exports.layerMaskKey = layerMaskKey; exports.layerMaskCoverage = layerMaskCoverage; exports.projectMaskCoverage = projectMaskCoverage; exports.buildLayerMaskPlanes = buildLayerMaskPlanes; exports.ADJUSTMENT_LUT_SIZE = ADJUSTMENT_LUT_SIZE; exports.sampleLut = sampleLut; exports.ADJUSTMENT_KINDS = ADJUSTMENT_KINDS; exports.isAdjustmentKind = isAdjustmentKind; exports.adjustmentKindLabel = adjustmentKindLabel; exports.HUE_RANGE_LABELS = HUE_RANGE_LABELS; exports.neutralHueRange = neutralHueRange; exports.identityCurve = identityCurve; exports.identityLevels = identityLevels; exports.defaultAdjustmentParams = defaultAdjustmentParams; exports.createAdjustmentLayer = createAdjustmentLayer; exports.normalizeAdjustmentLayer = normalizeAdjustmentLayer; exports.normalizeAdjustmentLayers = normalizeAdjustmentLayers; exports.curveLutFromLevels = curveLutFromLevels; exports.levelsValue = levelsValue; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.hueRangeWeight = hueRangeWeight; exports.hueRangeTables = hueRangeTables; exports.hueSaturation = hueSaturation; exports.rangeLightness = rangeLightness; exports.VIBRANCE_GREY = VIBRANCE_GREY; exports.vibranceLinear = vibranceLinear; exports.vibrancePixel = vibrancePixel; exports.colorBalanceChannel = colorBalanceChannel; exports.blackWhiteGray = blackWhiteGray; exports.D50 = D50; exports.XYZ_D50_TO_SRGB = XYZ_D50_TO_SRGB; exports.photoFilterMatrix = photoFilterMatrix; exports.posterizeValue = posterizeValue; exports.rgbToGray = rgbToGray; exports.hexToRgb = hexToRgb; exports.toneLuts = toneLuts; exports.compileAdjustmentLayer = compileAdjustmentLayer; exports.activeAdjustmentLayers = activeAdjustmentLayers; exports.evaluateAdjustmentLayers = evaluateAdjustmentLayers; exports.applyAdjustmentLayers = applyAdjustmentLayers; exports.applyAdjustmentLayersFloat = applyAdjustmentLayersFloat; exports.adjustmentLayersKey = adjustmentLayersKey; exports.applyAdjustments = applyAdjustments; exports.applyLegacyAdjustments = applyLegacyAdjustments; exports.applyLegacyFloat = applyLegacyFloat; exports.applyProcess2Adjustments = applyProcess2Adjustments; exports.applyProcess2Float = applyProcess2Float; exports.applyBoxBlurFloat = applyBoxBlurFloat; exports.applyBoxBlur = applyBoxBlur; exports.applyDepthMask = applyDepthMask; exports.removeAlpha = removeAlpha; exports.TEXT_ALIGNS = TEXT_ALIGNS; exports.SHAPE_OPERATIONS = SHAPE_OPERATIONS; exports.LIVE_SHAPE_KINDS = LIVE_SHAPE_KINDS; exports.newLayerId = newLayerId; exports.pixelLayers = pixelLayers; exports.developFilter = developFilter; exports.blurFilter = blurFilter; exports.isActiveFilter = isActiveFilter; exports.isSpatialFilter = isSpatialFilter; exports.pixelLayerBounds = pixelLayerBounds; exports.layerTypeLabel = layerTypeLabel; exports.hasSurface = hasSurface; exports.isRenderedLayer = isRenderedLayer; exports.shapeLayers = shapeLayers; exports.smartObjectLayers = smartObjectLayers; exports.adjustmentNodeAsLayer = adjustmentNodeAsLayer; exports.depthMaskAlpha = depthMaskAlpha; exports.runLayerFilters = runLayerFilters; exports.runLayerFiltersFloat = runLayerFiltersFloat; exports.LayerCompositor = LayerCompositor; exports.compositeDeep = compositeDeep; exports.DEFAULT_ADJUSTMENTS_VALUES = DEFAULT_ADJUSTMENTS_VALUES; exports.DEFAULT_TRANSFORM_VALUES = DEFAULT_TRANSFORM_VALUES; exports.DEFAULT_DEPTH_MASK_VALUES = DEFAULT_DEPTH_MASK_VALUES; exports.flattenPath = flattenPath; exports.rasterizeCoverage = rasterizeCoverage; exports.LayerOperationError = LayerOperationError; exports.userErrorMessage = userErrorMessage; exports.isPaintableLayer = isPaintableLayer; exports.defaultActiveLayerId = defaultActiveLayerId; exports.activeLayerAfterRemoval = activeLayerAfterRemoval; exports.requireLayer = requireLayer; exports.requireUnlocked = requireUnlocked; exports.placeLayer = placeLayer; exports.removeLayer = removeLayer; exports.moveLayer = moveLayer; exports.withNewIds = withNewIds; exports.duplicateLayer = duplicateLayer; exports.setLayerProperties = setLayerProperties; exports.groupLayers = groupLayers; exports.ungroupLayer = ungroupLayer; exports.offsetLayer = offsetLayer; exports.setLayerMask = setLayerMask; exports.normalizeFilter = normalizeFilter; exports.addLayerFilter = addLayerFilter; exports.updateLayerFilter = updateLayerFilter; exports.removeLayerFilter = removeLayerFilter; exports.layerEffectsOf = layerEffectsOf; exports.setLayerEffects = setLayerEffects; exports.addLayerEffect = addLayerEffect; exports.updateLayerEffect = updateLayerEffect; exports.removeLayerEffect = removeLayerEffect; exports.setLayerEffectsEnabled = setLayerEffectsEnabled; exports.parseBlend = parseBlend; exports.unionRect = unionRect; exports.SHAPE_RENDER_MARGIN = SHAPE_RENDER_MARGIN; exports.DEFAULT_MITER_LIMIT = DEFAULT_MITER_LIMIT; exports.mapSubpaths = mapSubpaths; exports.liveShapeSubpaths = liveShapeSubpaths; exports.liveComponent = liveComponent; exports.componentPath = componentPath; exports.shapeOutline = shapeOutline; exports.shapeGeometryBounds = shapeGeometryBounds; exports.shapeRenderClip = shapeRenderClip; exports.renderShapeRect = renderShapeRect; exports.renderShape = renderShape; exports.rerenderShape = rerenderShape; exports.normalizeShapePaint = normalizeShapePaint; exports.normalizeShapeStroke = normalizeShapeStroke; exports.normalizeLiveShape = normalizeLiveShape; exports.normalizeSubpaths = normalizeSubpaths; exports.requireOperation = requireOperation; exports.requireShapeLayer = requireShapeLayer; exports.createShapeLayer = createShapeLayer; exports.defaultShapeName = defaultShapeName; exports.updateShapeLayer = updateShapeLayer; exports.transformShapeComponents = transformShapeComponents; exports.offsetShape = offsetShape; exports.mergeShapeComponents = mergeShapeComponents; exports.shapeAsPixelLayer = shapeAsPixelLayer; exports.shapeFromAnnotation = shapeFromAnnotation; exports.annotationBlend = annotationBlend; exports.annotationOfShape = annotationOfShape; exports.TEXT_RENDER_MARGIN = TEXT_RENDER_MARGIN; exports.textMatrix = textMatrix; exports.textOutlines = textOutlines; exports.renderText = renderText; exports.rerenderText = rerenderText; exports.TEXT_STYLE_FIELDS = TEXT_STYLE_FIELDS; exports.patchTextStyle = patchTextStyle; exports.PARAGRAPH_STYLE_FIELDS = PARAGRAPH_STYLE_FIELDS; exports.patchParagraphStyle = patchParagraphStyle; exports.textRange = textRange; exports.requireTypeLayer = requireTypeLayer; exports.normalizeText = normalizeText; exports.typeLayerName = typeLayerName; exports.createTypeLayer = createTypeLayer; exports.updateTypeLayer = updateTypeLayer; exports.replaceTextRange = replaceTextRange; exports.transformTypeLayer = transformTypeLayer; exports.typeFrame = typeFrame; exports.typeAsPixelLayer = typeAsPixelLayer; exports.toTextSpace = toTextSpace; exports.typeFromAnnotation = typeFromAnnotation; exports.annotationOfType = annotationOfType; exports.BACKGROUND_LAYER_ID = BACKGROUND_LAYER_ID; exports.BACKGROUND_LAYER_NAME = BACKGROUND_LAYER_NAME; exports.DEVELOP_FILTER_ID = DEVELOP_FILTER_ID; exports.BLUR_FILTER_ID = BLUR_FILTER_ID; exports.rasterMaskFromLegacy = rasterMaskFromLegacy; exports.hasResampledLegacyMask = hasResampledLegacyMask; exports.legacyMaskOf = legacyMaskOf; exports.isDefaultDepthMask = isDefaultDepthMask; exports.developFromAdjustments = developFromAdjustments; exports.annotationLayerName = annotationLayerName; exports.annotationLayerFor = annotationLayerFor; exports.annotationOfLayer = annotationOfLayer; exports.adjustmentNodeFromLegacy = adjustmentNodeFromLegacy; exports.backgroundLayer = backgroundLayer; exports.depthRasterMask = depthRasterMask; exports.layersFromLegacy = layersFromLegacy; exports.legacyAdjustmentLayer = legacyAdjustmentLayer; exports.developTarget = developTarget; exports.legacyView = legacyView; exports.isLegacyShape = isLegacyShape; exports.FREE_TRANSFORM_MODES = FREE_TRANSFORM_MODES; exports.TRANSFORM_ANCHORS = TRANSFORM_ANCHORS; exports.isTransformAnchor = isTransformAnchor; exports.identityTransform = identityTransform; exports.cornersFromMatrix = cornersFromMatrix; exports.matrixFromCorners = matrixFromCorners; exports.transformHomography = transformHomography; exports.hasWarp = hasWarp; exports.isIdentityTransform = isIdentityTransform; exports.transformMap = transformMap; exports.transformedPoint = transformedPoint; exports.anchorPoint = anchorPoint; exports.transformedBox = transformedBox; exports.referencePoint = referencePoint; exports.matrixFromParams = matrixFromParams; exports.describeTransform = describeTransform; exports.applyParams = applyParams; exports.flipCorners = flipCorners; exports.boxPointOf = boxPointOf; exports.presetWarp = presetWarp; exports.isValidWarp = isValidWarp; exports.geometryHomography = geometryHomography; exports.SMART_RENDER_MARGIN = SMART_RENDER_MARGIN; exports.isSmartSurfaceIncomplete = isSmartSurfaceIncomplete; exports.newContentsId = newContentsId; exports.contentsBox = contentsBox; exports.placementGeometry = placementGeometry; exports.placementAt = placementAt; exports.isContentsDecoded = isContentsDecoded; exports.requireSmartObject = requireSmartObject; exports.contentsSurface = contentsSurface; exports.rasterContents = rasterContents; exports.documentContents = documentContents; exports.placeContents = placeContents; exports.activeSmartFilters = activeSmartFilters; exports.activeEffectSmartFilters = activeEffectSmartFilters; exports.filterMaskCoverage = filterMaskCoverage; exports.applySmartFilters = applySmartFilters; exports.renderSmartObject = renderSmartObject; exports.rerender = rerender; exports.normalizePlacement = normalizePlacement; exports.setSmartPlacement = setSmartPlacement; exports.offsetSmartObject = offsetSmartObject; exports.convertToSmartObject = convertToSmartObject; exports.rasterizeSmartObject = rasterizeSmartObject; exports.copySmartObject = copySmartObject; exports.instancesOf = instancesOf; exports.replaceContents = replaceContents; exports.normalizeSmartFilter = normalizeSmartFilter; exports.addSmartFilter = addSmartFilter; exports.updateSmartFilter = updateSmartFilter; exports.removeSmartFilter = removeSmartFilter; exports.moveSmartFilter = moveSmartFilter; exports.setSmartFiltersEnabled = setSmartFiltersEnabled; exports.setSmartFilterMask = setSmartFilterMask; exports.withFilterMaskSurface = withFilterMaskSurface; exports.placementBounds = placementBounds; exports.LAYERED_SCHEMA_VERSION = LAYERED_SCHEMA_VERSION; exports.serializePatterns = serializePatterns; exports.deserializePatterns = deserializePatterns; exports.encodeSurface = encodeSurface; exports.encodeDeepSurface = encodeDeepSurface; exports.decodeDeepSurface = decodeDeepSurface; exports.serializeEffects = serializeEffects; exports.deserializeEffects = deserializeEffects; exports.serializeLayer = serializeLayer; exports.serializeContents = serializeContents; exports.serializeLayers = serializeLayers; exports.serializeLayersExternal = serializeLayersExternal; exports.resolveExternalAssets = resolveExternalAssets; exports.decodePngDataUrl = decodePngDataUrl; exports.deserializeLayer = deserializeLayer; exports.deserializeLayers = deserializeLayers; exports.PsdError = PsdError; exports.parseVersionedDescriptor = parseVersionedDescriptor; exports.versionedDescriptorBytes = versionedDescriptorBytes; exports.ADJUSTMENT_KEYS = ADJUSTMENT_KEYS; exports.SUPPORTED_ADJUSTMENT_KEYS = SUPPORTED_ADJUSTMENT_KEYS; exports.parseAdjustmentBlock = parseAdjustmentBlock; exports.writeAdjustmentBlock = writeAdjustmentBlock; exports.parseLfx2 = parseLfx2; exports.writeLfx2 = writeLfx2; exports.parseLrfx = parseLrfx; exports.decodePlanes = decodePlanes; exports.encodeRle = encodeRle; exports.BROWSER_IMAGE_TYPES = BROWSER_IMAGE_TYPES; exports.readPsd = readPsd; exports.layerName = layerName; exports.layerTree = layerTree; exports.decodeLayerChannel = decodeLayerChannel; exports.decodeMergedImage = decodeMergedImage; exports.writePsd = writePsd; exports.PATTERN_BLOCK_KEYS = PATTERN_BLOCK_KEYS; exports.parsePatternBlock = parsePatternBlock; exports.psdPatternToEffectPattern = psdPatternToEffectPattern; exports.writePatternBlock = writePatternBlock; exports.PSD_BLEND_KEYS = PSD_BLEND_KEYS; exports.psdToLayers = psdToLayers; exports.importPsd = importPsd; exports.smartContentsFile = smartContentsFile; exports.exportPsd = exportPsd;
|
|
11837
|
+
|
|
11838
|
+
|
|
11839
|
+
exports.LEGACY_PROCESS_VERSION = LEGACY_PROCESS_VERSION; exports.LATEST_PROCESS_VERSION = LATEST_PROCESS_VERSION; exports.normalizeProcessVersion = normalizeProcessVersion; exports.srgbToLinear = srgbToLinear; exports.linearToSrgb = linearToSrgb; exports.LUMA_709 = LUMA_709; exports.IDENTITY_MATRIX3 = IDENTITY_MATRIX3; exports.mulMatrix3 = mulMatrix3; exports.applyMatrix3 = applyMatrix3; exports.invertMatrix3 = invertMatrix3; exports.D65 = D65; exports.bradfordAdaptation = bradfordAdaptation; exports.wbMatrix = wbMatrix; exports.linearSrgbToXy = linearSrgbToXy; exports.TINT_SCALE = TINT_SCALE; exports.MIN_KELVIN = MIN_KELVIN; exports.MAX_KELVIN = MAX_KELVIN; exports.xyToUv = xyToUv; exports.uvToXy = uvToXy; exports.tempTintToXy = tempTintToXy; exports.xyToTempTint = xyToTempTint; exports.AS_SHOT_KELVIN = AS_SHOT_KELVIN; exports.MIRED_PER_TEMPERATURE_UNIT = MIRED_PER_TEMPERATURE_UNIT; exports.temperatureToKelvin = temperatureToKelvin; exports.kelvinToTemperature = kelvinToTemperature; exports.whiteBalanceMatrix = whiteBalanceMatrix; exports.whiteBalanceFromSample = whiteBalanceFromSample; exports.TONE_LUT_SIZE = TONE_LUT_SIZE; exports.toneCurve = toneCurve; exports.buildToneLut = buildToneLut; exports.sampleToneLut = sampleToneLut; exports.normalizeAngle = normalizeAngle; exports.isQuarterTurnSwapped = isQuarterTurnSwapped; exports.getRotatedSize = getRotatedSize; exports.projectImagePoint = projectImagePoint; exports.unprojectCanvasPoint = unprojectCanvasPoint; exports.applyImageProjectionToContext = applyImageProjectionToContext; exports.projectImageRect = projectImageRect; exports.clampCropToImage = clampCropToImage; exports.getViewportProjection = getViewportProjection; exports.getViewportMetrics = getViewportMetrics; exports.canvasToImagePoint = canvasToImagePoint; exports.imageToCanvasPoint = imageToCanvasPoint; exports.mapCropHandle = mapCropHandle; exports.hitTestCrop = hitTestCrop; exports.getCropCursor = getCropCursor; exports.calculateCropDrag = calculateCropDrag; exports.getAnnotationBounds = getAnnotationBounds; exports.hitTestAnnotation = hitTestAnnotation; exports.SELECTION_MODES = SELECTION_MODES; exports.isSelectionMode = isSelectionMode; exports.parseSelectionMode = parseSelectionMode; exports.computeSelectionBounds = computeSelectionBounds; exports.createSelectionMask = createSelectionMask; exports.fullSelection = fullSelection; exports.isSelectionEmpty = isSelectionEmpty; exports.selectionValueAt = selectionValueAt; exports.coverageToByte = coverageToByte; exports.selectionFromCoverage = selectionFromCoverage; exports.selectionToCoverage = selectionToCoverage; exports.selectionArea = selectionArea; exports.combineSelections = combineSelections; exports.invertSelection = invertSelection; exports.resizeSelection = resizeSelection; exports.selectionFromPixels = selectionFromPixels; exports.selectionToPixels = selectionToPixels; exports.encodeSelectionRle = encodeSelectionRle; exports.decodeSelectionRle = decodeSelectionRle; exports.serializeSelection = serializeSelection; exports.deserializeSelection = deserializeSelection; exports.hashMaskContent = hashMaskContent; exports.EMPTY_DISTANCE = EMPTY_DISTANCE; exports.distanceTransform = distanceTransform; exports.expandCoverage = expandCoverage; exports.contractCoverage = contractCoverage; exports.borderCoverage = borderCoverage; exports.smoothCoverage = smoothCoverage; exports.featherCoverage = featherCoverage; exports.greyMorphology = greyMorphology; exports.shiftCoverage = shiftCoverage; exports.SELECTION_MODIFY_OPS = SELECTION_MODIFY_OPS; exports.modifySelection = modifySelection; exports.normalizeLayerMask = normalizeLayerMask; exports.layerMaskFromSelection = layerMaskFromSelection; exports.updateLayerMaskProps = updateLayerMaskProps; exports.decodeLayerMask = decodeLayerMask; exports.layerMaskKey = layerMaskKey; exports.layerMaskCoverage = layerMaskCoverage; exports.projectMaskCoverage = projectMaskCoverage; exports.buildLayerMaskPlanes = buildLayerMaskPlanes; exports.ADJUSTMENT_LUT_SIZE = ADJUSTMENT_LUT_SIZE; exports.sampleLut = sampleLut; exports.ADJUSTMENT_KINDS = ADJUSTMENT_KINDS; exports.isAdjustmentKind = isAdjustmentKind; exports.adjustmentKindLabel = adjustmentKindLabel; exports.HUE_RANGE_LABELS = HUE_RANGE_LABELS; exports.neutralHueRange = neutralHueRange; exports.identityCurve = identityCurve; exports.identityLevels = identityLevels; exports.defaultAdjustmentParams = defaultAdjustmentParams; exports.createAdjustmentLayer = createAdjustmentLayer; exports.normalizeAdjustmentLayer = normalizeAdjustmentLayer; exports.normalizeAdjustmentLayers = normalizeAdjustmentLayers; exports.curveLutFromLevels = curveLutFromLevels; exports.levelsValue = levelsValue; exports.rgbToHsl = rgbToHsl; exports.hslToRgb = hslToRgb; exports.hueRangeWeight = hueRangeWeight; exports.hueRangeTables = hueRangeTables; exports.hueSaturation = hueSaturation; exports.rangeLightness = rangeLightness; exports.VIBRANCE_GREY = VIBRANCE_GREY; exports.vibranceLinear = vibranceLinear; exports.vibrancePixel = vibrancePixel; exports.colorBalanceChannel = colorBalanceChannel; exports.blackWhiteGray = blackWhiteGray; exports.D50 = D50; exports.XYZ_D50_TO_SRGB = XYZ_D50_TO_SRGB; exports.photoFilterMatrix = photoFilterMatrix; exports.posterizeValue = posterizeValue; exports.rgbToGray = rgbToGray; exports.hexToRgb = hexToRgb; exports.toneLuts = toneLuts; exports.compileAdjustmentLayer = compileAdjustmentLayer; exports.activeAdjustmentLayers = activeAdjustmentLayers; exports.evaluateAdjustmentLayers = evaluateAdjustmentLayers; exports.applyAdjustmentLayers = applyAdjustmentLayers; exports.applyAdjustmentLayersFloat = applyAdjustmentLayersFloat; exports.adjustmentLayersKey = adjustmentLayersKey; exports.applyAdjustments = applyAdjustments; exports.applyLegacyAdjustments = applyLegacyAdjustments; exports.applyLegacyFloat = applyLegacyFloat; exports.applyProcess2Adjustments = applyProcess2Adjustments; exports.applyProcess2Float = applyProcess2Float; exports.applyBoxBlurFloat = applyBoxBlurFloat; exports.applyBoxBlur = applyBoxBlur; exports.applyDepthMask = applyDepthMask; exports.removeAlpha = removeAlpha; exports.TEXT_ALIGNS = TEXT_ALIGNS; exports.SHAPE_OPERATIONS = SHAPE_OPERATIONS; exports.LIVE_SHAPE_KINDS = LIVE_SHAPE_KINDS; exports.newLayerId = newLayerId; exports.pixelLayers = pixelLayers; exports.developFilter = developFilter; exports.blurFilter = blurFilter; exports.isActiveFilter = isActiveFilter; exports.isSpatialFilter = isSpatialFilter; exports.pixelLayerBounds = pixelLayerBounds; exports.layerTypeLabel = layerTypeLabel; exports.hasSurface = hasSurface; exports.isRenderedLayer = isRenderedLayer; exports.shapeLayers = shapeLayers; exports.smartObjectLayers = smartObjectLayers; exports.adjustmentNodeAsLayer = adjustmentNodeAsLayer; exports.depthMaskAlpha = depthMaskAlpha; exports.runLayerFilters = runLayerFilters; exports.runLayerFiltersFloat = runLayerFiltersFloat; exports.LayerCompositor = LayerCompositor; exports.compositeDeep = compositeDeep; exports.DEFAULT_ADJUSTMENTS_VALUES = DEFAULT_ADJUSTMENTS_VALUES; exports.DEFAULT_TRANSFORM_VALUES = DEFAULT_TRANSFORM_VALUES; exports.DEFAULT_DEPTH_MASK_VALUES = DEFAULT_DEPTH_MASK_VALUES; exports.flattenPath = flattenPath; exports.rasterizeCoverage = rasterizeCoverage; exports.LayerOperationError = LayerOperationError; exports.userErrorMessage = userErrorMessage; exports.isPaintableLayer = isPaintableLayer; exports.defaultActiveLayerId = defaultActiveLayerId; exports.activeLayerAfterRemoval = activeLayerAfterRemoval; exports.requireLayer = requireLayer; exports.requireUnlocked = requireUnlocked; exports.placeLayer = placeLayer; exports.removeLayer = removeLayer; exports.moveLayer = moveLayer; exports.withNewIds = withNewIds; exports.duplicateLayer = duplicateLayer; exports.setLayerProperties = setLayerProperties; exports.groupLayers = groupLayers; exports.ungroupLayer = ungroupLayer; exports.offsetLayer = offsetLayer; exports.setLayerMask = setLayerMask; exports.normalizeFilter = normalizeFilter; exports.addLayerFilter = addLayerFilter; exports.updateLayerFilter = updateLayerFilter; exports.removeLayerFilter = removeLayerFilter; exports.layerEffectsOf = layerEffectsOf; exports.setLayerEffects = setLayerEffects; exports.addLayerEffect = addLayerEffect; exports.updateLayerEffect = updateLayerEffect; exports.removeLayerEffect = removeLayerEffect; exports.setLayerEffectsEnabled = setLayerEffectsEnabled; exports.parseBlend = parseBlend; exports.unionRect = unionRect; exports.SHAPE_RENDER_MARGIN = SHAPE_RENDER_MARGIN; exports.DEFAULT_MITER_LIMIT = DEFAULT_MITER_LIMIT; exports.mapSubpaths = mapSubpaths; exports.liveShapeSubpaths = liveShapeSubpaths; exports.liveComponent = liveComponent; exports.componentPath = componentPath; exports.shapeOutline = shapeOutline; exports.shapeGeometryBounds = shapeGeometryBounds; exports.shapeRenderClip = shapeRenderClip; exports.renderShapeRect = renderShapeRect; exports.renderShape = renderShape; exports.rerenderShape = rerenderShape; exports.normalizeShapePaint = normalizeShapePaint; exports.normalizeShapeStroke = normalizeShapeStroke; exports.normalizeLiveShape = normalizeLiveShape; exports.normalizeSubpaths = normalizeSubpaths; exports.requireOperation = requireOperation; exports.requireShapeLayer = requireShapeLayer; exports.createShapeLayer = createShapeLayer; exports.defaultShapeName = defaultShapeName; exports.updateShapeLayer = updateShapeLayer; exports.transformShapeComponents = transformShapeComponents; exports.offsetShape = offsetShape; exports.mergeShapeComponents = mergeShapeComponents; exports.shapeAsPixelLayer = shapeAsPixelLayer; exports.shapeFromAnnotation = shapeFromAnnotation; exports.annotationBlend = annotationBlend; exports.annotationOfShape = annotationOfShape; exports.TEXT_RENDER_MARGIN = TEXT_RENDER_MARGIN; exports.textMatrix = textMatrix; exports.textOutlines = textOutlines; exports.renderText = renderText; exports.rerenderText = rerenderText; exports.TEXT_STYLE_FIELDS = TEXT_STYLE_FIELDS; exports.patchTextStyle = patchTextStyle; exports.PARAGRAPH_STYLE_FIELDS = PARAGRAPH_STYLE_FIELDS; exports.patchParagraphStyle = patchParagraphStyle; exports.textRange = textRange; exports.requireTypeLayer = requireTypeLayer; exports.normalizeText = normalizeText; exports.typeLayerName = typeLayerName; exports.createTypeLayer = createTypeLayer; exports.updateTypeLayer = updateTypeLayer; exports.replaceTextRange = replaceTextRange; exports.transformTypeLayer = transformTypeLayer; exports.typeFrame = typeFrame; exports.typeAsPixelLayer = typeAsPixelLayer; exports.toTextSpace = toTextSpace; exports.typeFromAnnotation = typeFromAnnotation; exports.annotationOfType = annotationOfType; exports.BACKGROUND_LAYER_ID = BACKGROUND_LAYER_ID; exports.BACKGROUND_LAYER_NAME = BACKGROUND_LAYER_NAME; exports.DEVELOP_FILTER_ID = DEVELOP_FILTER_ID; exports.BLUR_FILTER_ID = BLUR_FILTER_ID; exports.rasterMaskFromLegacy = rasterMaskFromLegacy; exports.hasResampledLegacyMask = hasResampledLegacyMask; exports.legacyMaskOf = legacyMaskOf; exports.isDefaultDepthMask = isDefaultDepthMask; exports.developFromAdjustments = developFromAdjustments; exports.annotationLayerName = annotationLayerName; exports.annotationLayerFor = annotationLayerFor; exports.annotationOfLayer = annotationOfLayer; exports.adjustmentNodeFromLegacy = adjustmentNodeFromLegacy; exports.backgroundLayer = backgroundLayer; exports.depthRasterMask = depthRasterMask; exports.layersFromLegacy = layersFromLegacy; exports.legacyAdjustmentLayer = legacyAdjustmentLayer; exports.developTarget = developTarget; exports.legacyView = legacyView; exports.isLegacyShape = isLegacyShape; exports.FREE_TRANSFORM_MODES = FREE_TRANSFORM_MODES; exports.TRANSFORM_ANCHORS = TRANSFORM_ANCHORS; exports.ANCHOR_FRACTION = ANCHOR_FRACTION; exports.isTransformAnchor = isTransformAnchor; exports.identityTransform = identityTransform; exports.cornersFromMatrix = cornersFromMatrix; exports.matrixFromCorners = matrixFromCorners; exports.transformHomography = transformHomography; exports.hasWarp = hasWarp; exports.isIdentityTransform = isIdentityTransform; exports.transformMap = transformMap; exports.transformedPoint = transformedPoint; exports.anchorPoint = anchorPoint; exports.transformedBox = transformedBox; exports.referencePoint = referencePoint; exports.matrixFromParams = matrixFromParams; exports.describeTransform = describeTransform; exports.applyParams = applyParams; exports.flipCorners = flipCorners; exports.boxPointOf = boxPointOf; exports.presetWarp = presetWarp; exports.isValidWarp = isValidWarp; exports.geometryHomography = geometryHomography; exports.SMART_RENDER_MARGIN = SMART_RENDER_MARGIN; exports.isSmartSurfaceIncomplete = isSmartSurfaceIncomplete; exports.newContentsId = newContentsId; exports.contentsBox = contentsBox; exports.placementGeometry = placementGeometry; exports.placementAt = placementAt; exports.isContentsDecoded = isContentsDecoded; exports.requireSmartObject = requireSmartObject; exports.contentsSurface = contentsSurface; exports.rasterContents = rasterContents; exports.documentContents = documentContents; exports.placeContents = placeContents; exports.activeSmartFilters = activeSmartFilters; exports.activeEffectSmartFilters = activeEffectSmartFilters; exports.filterMaskCoverage = filterMaskCoverage; exports.applySmartFilters = applySmartFilters; exports.renderSmartObject = renderSmartObject; exports.rerender = rerender; exports.normalizePlacement = normalizePlacement; exports.setSmartPlacement = setSmartPlacement; exports.offsetSmartObject = offsetSmartObject; exports.translateLayer = translateLayer; exports.convertToSmartObject = convertToSmartObject; exports.rasterizeSmartObject = rasterizeSmartObject; exports.copySmartObject = copySmartObject; exports.instancesOf = instancesOf; exports.replaceContents = replaceContents; exports.normalizeSmartFilter = normalizeSmartFilter; exports.addSmartFilter = addSmartFilter; exports.updateSmartFilter = updateSmartFilter; exports.removeSmartFilter = removeSmartFilter; exports.moveSmartFilter = moveSmartFilter; exports.setSmartFiltersEnabled = setSmartFiltersEnabled; exports.setSmartFilterMask = setSmartFilterMask; exports.withFilterMaskSurface = withFilterMaskSurface; exports.placementBounds = placementBounds; exports.LAYERED_SCHEMA_VERSION = LAYERED_SCHEMA_VERSION; exports.serializePatterns = serializePatterns; exports.deserializePatterns = deserializePatterns; exports.encodeSurface = encodeSurface; exports.encodeDeepSurface = encodeDeepSurface; exports.decodeDeepSurface = decodeDeepSurface; exports.serializeEffects = serializeEffects; exports.deserializeEffects = deserializeEffects; exports.serializeLayer = serializeLayer; exports.serializeContents = serializeContents; exports.serializeLayers = serializeLayers; exports.serializeLayersExternal = serializeLayersExternal; exports.resolveExternalAssets = resolveExternalAssets; exports.decodePngDataUrl = decodePngDataUrl; exports.deserializeLayer = deserializeLayer; exports.deserializeLayers = deserializeLayers; exports.PsdError = PsdError; exports.parseVersionedDescriptor = parseVersionedDescriptor; exports.versionedDescriptorBytes = versionedDescriptorBytes; exports.ADJUSTMENT_KEYS = ADJUSTMENT_KEYS; exports.SUPPORTED_ADJUSTMENT_KEYS = SUPPORTED_ADJUSTMENT_KEYS; exports.parseAdjustmentBlock = parseAdjustmentBlock; exports.writeAdjustmentBlock = writeAdjustmentBlock; exports.parseLfx2 = parseLfx2; exports.writeLfx2 = writeLfx2; exports.parseLrfx = parseLrfx; exports.decodePlanes = decodePlanes; exports.encodeRle = encodeRle; exports.BROWSER_IMAGE_TYPES = BROWSER_IMAGE_TYPES; exports.readPsd = readPsd; exports.layerName = layerName; exports.layerTree = layerTree; exports.decodeLayerChannel = decodeLayerChannel; exports.decodeMergedImage = decodeMergedImage; exports.writePsd = writePsd; exports.PATTERN_BLOCK_KEYS = PATTERN_BLOCK_KEYS; exports.parsePatternBlock = parsePatternBlock; exports.psdPatternToEffectPattern = psdPatternToEffectPattern; exports.writePatternBlock = writePatternBlock; exports.PSD_BLEND_KEYS = PSD_BLEND_KEYS; exports.psdToLayers = psdToLayers; exports.importPsd = importPsd; exports.smartContentsFile = smartContentsFile; exports.exportPsd = exportPsd;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkWPPJH6X4cjs = require('./chunk-WPPJH6X4.cjs');
|
|
10
10
|
|
|
11
11
|
// src/chart/ooxml.ts
|
|
12
12
|
var CHART_OOXML_NS = "http://schemas.openxmlformats.org/drawingml/2006/chart";
|
|
@@ -109,11 +109,11 @@ function chartFromOoxml(xml, options = {}) {
|
|
|
109
109
|
try {
|
|
110
110
|
doc = new (parser(options))().parseFromString(xml, "application/xml");
|
|
111
111
|
} catch (error) {
|
|
112
|
-
return { spec:
|
|
112
|
+
return { spec: _chunkWPPJH6X4cjs.normalizeChartSpec.call(void 0, {}).spec, issues: [{ path: "", message: `The chart XML could not be read: ${error.message}` }], unsupported, lossless: false };
|
|
113
113
|
}
|
|
114
114
|
const root = doc.documentElement;
|
|
115
115
|
if (!root || root.localName !== "chartSpace" || doc.getElementsByTagName("parsererror").length) {
|
|
116
|
-
return { spec:
|
|
116
|
+
return { spec: _chunkWPPJH6X4cjs.normalizeChartSpec.call(void 0, {}).spec, issues: [{ path: "", message: "This is not a chart part: expected a c:chartSpace (or cx:chartSpace) root element." }], unsupported, lossless: false };
|
|
117
117
|
}
|
|
118
118
|
if (_optionalChain([root, 'access', _14 => _14.namespaceURI, 'optionalAccess', _15 => _15.includes, 'call', _16 => _16("chartex")]) || kid(root, "chartData")) return readChartex(root, issues, unsupported);
|
|
119
119
|
const chart = kid(root, "chart");
|
|
@@ -278,7 +278,7 @@ function chartFromOoxml(xml, options = {}) {
|
|
|
278
278
|
}
|
|
279
279
|
if (!types.length) {
|
|
280
280
|
issues.push({ path: "plotArea", message: unsupported.length ? `The chart type is not supported: ${unsupported.join(", ")}.` : "The chart has no plot groups." });
|
|
281
|
-
return { spec:
|
|
281
|
+
return { spec: _chunkWPPJH6X4cjs.normalizeChartSpec.call(void 0, input).spec, issues, unsupported, lossless: false };
|
|
282
282
|
}
|
|
283
283
|
const first = types[0];
|
|
284
284
|
const combo = types.some((t) => t !== first);
|
|
@@ -288,7 +288,7 @@ function chartFromOoxml(xml, options = {}) {
|
|
|
288
288
|
if (!combo) {
|
|
289
289
|
for (const s of series) if (s.axis) issues.push({ path: "series", message: `"${s.name}" is on a second value axis.` });
|
|
290
290
|
}
|
|
291
|
-
if (types.some((t) => !
|
|
291
|
+
if (types.some((t) => !_chunkWPPJH6X4cjs.isCartesianChart.call(void 0, t)) && combo) unsupported.push("a pie or radar mixed with other chart types");
|
|
292
292
|
input.series = series;
|
|
293
293
|
input.categories = categories.length ? categories : Array.from({ length: Math.max(0, ...series.map((s) => s.values.length)) }, (_, i) => `${i + 1}`);
|
|
294
294
|
input.stacking = stacking;
|
|
@@ -322,12 +322,12 @@ function chartFromOoxml(xml, options = {}) {
|
|
|
322
322
|
};
|
|
323
323
|
const xy = first === "scatter" || first === "bubble";
|
|
324
324
|
const catAxis = _nullishCoalesce(_nullishCoalesce(kid(plot, "catAx"), () => ( kid(plot, "dateAx"))), () => ( (xy ? valAxes.find((a) => !vertical(a)) : void 0)));
|
|
325
|
-
input.xAxis = readAxis(catAxis,
|
|
325
|
+
input.xAxis = readAxis(catAxis, _chunkWPPJH6X4cjs.defaultChartAxis.call(void 0, false));
|
|
326
326
|
if (kid(plot, "dateAx")) input.xAxis.kind = "date";
|
|
327
|
-
input.yAxis = readAxis(_nullishCoalesce(_nullishCoalesce(primaryAxis, () => ( valAxes.find(vertical))), () => ( valAxes[0])),
|
|
327
|
+
input.yAxis = readAxis(_nullishCoalesce(_nullishCoalesce(primaryAxis, () => ( valAxes.find(vertical))), () => ( valAxes[0])), _chunkWPPJH6X4cjs.defaultChartAxis.call(void 0, true));
|
|
328
328
|
const secondaryAxis = valAxes.find((a) => a !== primaryAxis && (xy ? vertical(a) && a !== primaryAxis : true) && a !== catAxis);
|
|
329
|
-
if (series.some((s) => s.axis === "secondary") && secondaryAxis) input.yAxis2 = readAxis(secondaryAxis,
|
|
330
|
-
const { spec, issues: specIssues } =
|
|
329
|
+
if (series.some((s) => s.axis === "secondary") && secondaryAxis) input.yAxis2 = readAxis(secondaryAxis, _chunkWPPJH6X4cjs.defaultChartAxis.call(void 0, false));
|
|
330
|
+
const { spec, issues: specIssues } = _chunkWPPJH6X4cjs.normalizeChartSpec.call(void 0, input);
|
|
331
331
|
issues.push(...specIssues);
|
|
332
332
|
const uniq = [...new Set(unsupported)];
|
|
333
333
|
return { spec, issues, unsupported: uniq, lossless: uniq.length === 0 && specIssues.length === 0 };
|
|
@@ -357,7 +357,7 @@ function readChartex(root, issues, unsupported) {
|
|
|
357
357
|
const type = layouts[layout];
|
|
358
358
|
if (!type) {
|
|
359
359
|
issues.push({ path: "plotArea", message: `The chart layout "${layout || "unknown"}" is not supported.` });
|
|
360
|
-
return { spec:
|
|
360
|
+
return { spec: _chunkWPPJH6X4cjs.normalizeChartSpec.call(void 0, {}).spec, issues, unsupported: [layout || "unknown chartex layout"], lossless: false };
|
|
361
361
|
}
|
|
362
362
|
if (layout === "sunburst") unsupported.push("sunburst (drawn as a treemap of the innermost level)");
|
|
363
363
|
if (layout === "paretoLine") unsupported.push("pareto line");
|
|
@@ -382,15 +382,15 @@ function readChartex(root, issues, unsupported) {
|
|
|
382
382
|
categories: categories.length >= longest ? categories : Array.from({ length: longest }, (_, i) => _nullishCoalesce(categories[i], () => ( `${i + 1}`)))
|
|
383
383
|
};
|
|
384
384
|
if (type === "waterfall") input.showTotal = false;
|
|
385
|
-
const { spec, issues: specIssues } =
|
|
385
|
+
const { spec, issues: specIssues } = _chunkWPPJH6X4cjs.normalizeChartSpec.call(void 0, input);
|
|
386
386
|
issues.push(...specIssues);
|
|
387
387
|
return { spec, issues, unsupported, lossless: unsupported.length === 0 && specIssues.length === 0 };
|
|
388
388
|
}
|
|
389
389
|
var esc = (s) => s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
390
390
|
var hex = (color) => {
|
|
391
391
|
if (!color) return null;
|
|
392
|
-
const rgb =
|
|
393
|
-
return rgb ?
|
|
392
|
+
const rgb = _chunkWPPJH6X4cjs.parseChartColor.call(void 0, color);
|
|
393
|
+
return rgb ? _chunkWPPJH6X4cjs.chartRgbToHex.call(void 0, rgb).slice(1).toUpperCase() : null;
|
|
394
394
|
};
|
|
395
395
|
var fillXml = (color, line = false) => {
|
|
396
396
|
const h = hex(color);
|
|
@@ -434,7 +434,7 @@ function errBarsXml(bars, dir) {
|
|
|
434
434
|
var MARKER_OUT = { circle: "circle", square: "square", diamond: "diamond", triangle: "triangle", cross: "x", none: "none" };
|
|
435
435
|
function chartToOoxml(spec) {
|
|
436
436
|
const issues = [];
|
|
437
|
-
const family =
|
|
437
|
+
const family = _chunkWPPJH6X4cjs.chartFamily.call(void 0, spec);
|
|
438
438
|
let type = spec.type;
|
|
439
439
|
if (family === "waterfall" || family === "histogram" || family === "box" || family === "funnel") {
|
|
440
440
|
issues.push(`${spec.type} charts are written as bar charts: DrawingML has no ${spec.type} type (Office 2016 stores it as chartex).`);
|
|
@@ -449,7 +449,7 @@ function chartToOoxml(spec) {
|
|
|
449
449
|
const ids = { cat: 500000001, val: 500000002, cat2: 500000003, val2: 500000004 };
|
|
450
450
|
const xy = family === "xy" || type === "scatter" || type === "bubble";
|
|
451
451
|
const pieLike = type === "pie" || type === "donut";
|
|
452
|
-
const typed = (s) => pieLike || type === "radar" ? type : type === "bubble" ? "bubble" : xy ? "scatter" :
|
|
452
|
+
const typed = (s) => pieLike || type === "radar" ? type : type === "bubble" ? "bubble" : xy ? "scatter" : _chunkWPPJH6X4cjs.chartSeriesType.call(void 0, { type }, s);
|
|
453
453
|
const groups = [];
|
|
454
454
|
visible.forEach((s) => {
|
|
455
455
|
const kind = typed(s);
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _chunkWPPJH6X4cjs = require('./chunk-WPPJH6X4.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
var _chunk55AKPTLMcjs = require('./chunk-55AKPTLM.cjs');
|
|
@@ -1074,7 +1074,7 @@ function layoutCartesian(ctx, area, visible) {
|
|
|
1074
1074
|
const { spec, theme, marks, measure, fs } = ctx;
|
|
1075
1075
|
const horizontal = spec.orientation === "horizontal";
|
|
1076
1076
|
const n = spec.categories.length;
|
|
1077
|
-
const types = new Map(visible.map((s) => [s.id,
|
|
1077
|
+
const types = new Map(visible.map((s) => [s.id, _chunkWPPJH6X4cjs.chartSeriesType.call(void 0, spec, s)]));
|
|
1078
1078
|
const stacked = spec.stacking !== "none";
|
|
1079
1079
|
const percent = spec.stacking === "percent";
|
|
1080
1080
|
const onSecondary = (s) => s.axis === "secondary";
|
|
@@ -1111,7 +1111,7 @@ function layoutCartesian(ctx, area, visible) {
|
|
|
1111
1111
|
const stack = stacks.get(s.id);
|
|
1112
1112
|
errors.set(
|
|
1113
1113
|
s.id,
|
|
1114
|
-
|
|
1114
|
+
_chunkWPPJH6X4cjs.chartErrorAmounts.call(void 0, s.errorBars, s.values).map((e, i) => {
|
|
1115
1115
|
const raw = s.values[i];
|
|
1116
1116
|
const seg = _optionalChain([stack, 'optionalAccess', _8 => _8.segments, 'access', _9 => _9[i]]);
|
|
1117
1117
|
if (!e || raw === null || stack && !seg) return null;
|
|
@@ -1178,7 +1178,7 @@ function layoutCartesian(ctx, area, visible) {
|
|
|
1178
1178
|
const drawOrder = [...visible].sort((a, b) => order(types.get(a.id)) - order(types.get(b.id)));
|
|
1179
1179
|
for (const s of drawOrder) {
|
|
1180
1180
|
const si = spec.series.indexOf(s);
|
|
1181
|
-
const color =
|
|
1181
|
+
const color = _chunkWPPJH6X4cjs.chartSeriesColor.call(void 0, spec, si);
|
|
1182
1182
|
const type = types.get(s.id);
|
|
1183
1183
|
const stack = stacks.get(s.id);
|
|
1184
1184
|
const selSeries = ctx.seriesSelected(s.id);
|
|
@@ -1204,7 +1204,7 @@ function layoutCartesian(ctx, area, visible) {
|
|
|
1204
1204
|
const selected = ctx.isSelected(target);
|
|
1205
1205
|
const [x, y] = map({ c: c0, v: Math.min(a, b) });
|
|
1206
1206
|
const rect = horizontal ? { x: Math.min(a, b), y: c0, width: Math.abs(b - a), height: cw } : { x, y, width: cw, height: Math.abs(b - a) };
|
|
1207
|
-
const fill =
|
|
1207
|
+
const fill = _chunkWPPJH6X4cjs.chartPointColor.call(void 0, spec, si, i);
|
|
1208
1208
|
marks.push({
|
|
1209
1209
|
kind: "rect",
|
|
1210
1210
|
key: `bar-${s.id}-${i}`,
|
|
@@ -1283,7 +1283,7 @@ function layoutCartesian(ctx, area, visible) {
|
|
|
1283
1283
|
const target = { kind: "point", seriesId: s.id, index: i };
|
|
1284
1284
|
const selected = ctx.isSelected(target);
|
|
1285
1285
|
const r = type === "scatter" ? 4.5 : 3.5;
|
|
1286
|
-
const pointColor =
|
|
1286
|
+
const pointColor = _chunkWPPJH6X4cjs.chartPointColor.call(void 0, spec, si, i);
|
|
1287
1287
|
const fill = showDots ? type === "scatter" ? pointColor : theme.surface : "transparent";
|
|
1288
1288
|
marks.push(
|
|
1289
1289
|
pointMark({ key: `point-${s.id}-${i}`, target, selected: selected || selSeries, opacity: type === "scatter" ? 0.85 : void 0 }, showDots ? marker : "hit", cx, cy, showDots ? r : 6, fill, showDots ? pointColor : void 0, 2)
|
|
@@ -1355,8 +1355,8 @@ function layoutXy(ctx, area, visible) {
|
|
|
1355
1355
|
const yErrors = /* @__PURE__ */ new Map();
|
|
1356
1356
|
const xErrors = /* @__PURE__ */ new Map();
|
|
1357
1357
|
for (const { s } of all) {
|
|
1358
|
-
if (s.errorBars) yErrors.set(s.id,
|
|
1359
|
-
if (s.xErrorBars) xErrors.set(s.id,
|
|
1358
|
+
if (s.errorBars) yErrors.set(s.id, _chunkWPPJH6X4cjs.chartErrorAmounts.call(void 0, s.errorBars, s.values));
|
|
1359
|
+
if (s.xErrorBars) xErrors.set(s.id, _chunkWPPJH6X4cjs.chartErrorAmounts.call(void 0, s.xErrorBars, s.values.map((_, i) => _nullishCoalesce(_optionalChain([s, 'access', _26 => _26.x, 'optionalAccess', _27 => _27[i]]), () => ( (bubble || !s.x ? i + 1 : null))))));
|
|
1360
1360
|
}
|
|
1361
1361
|
let xlo = Infinity;
|
|
1362
1362
|
let xhi = -Infinity;
|
|
@@ -1435,8 +1435,8 @@ function layoutXy(ctx, area, visible) {
|
|
|
1435
1435
|
const trendLabels = [];
|
|
1436
1436
|
for (const { s, pts } of all) {
|
|
1437
1437
|
const si = spec.series.indexOf(s);
|
|
1438
|
-
const color =
|
|
1439
|
-
const type =
|
|
1438
|
+
const color = _chunkWPPJH6X4cjs.chartSeriesColor.call(void 0, spec, si);
|
|
1439
|
+
const type = _chunkWPPJH6X4cjs.chartSeriesType.call(void 0, spec, s);
|
|
1440
1440
|
const selSeries = ctx.seriesSelected(s.id);
|
|
1441
1441
|
const seriesTarget = { kind: "series", seriesId: s.id };
|
|
1442
1442
|
if (type === "line" || type === "area") {
|
|
@@ -1461,7 +1461,7 @@ function layoutXy(ctx, area, visible) {
|
|
|
1461
1461
|
}
|
|
1462
1462
|
const target = { kind: "point", seriesId: s.id, index: p.i };
|
|
1463
1463
|
const selected = ctx.isSelected(target);
|
|
1464
|
-
const pointColor =
|
|
1464
|
+
const pointColor = _chunkWPPJH6X4cjs.chartPointColor.call(void 0, spec, si, p.i);
|
|
1465
1465
|
const r = bubble ? maxSize > 0 && p.size !== null && p.size > 0 ? Math.max(2, Math.sqrt(p.size / maxSize) * maxR) : 2 : 4.5;
|
|
1466
1466
|
if (bubble) marks.push({ kind: "circle", key: `point-${s.id}-${p.i}`, role: "point", cx, cy, r, fill: pointColor, stroke: pointColor, strokeWidth: 1, opacity: 0.6, target, selected: selected || selSeries });
|
|
1467
1467
|
else marks.push(pointMark({ key: `point-${s.id}-${p.i}`, target, selected: selected || selSeries, opacity: 0.85 }, marker === "none" ? "hit" : marker, cx, cy, marker === "none" ? 6 : r, marker === "none" ? "transparent" : pointColor, marker === "none" ? void 0 : pointColor, 2));
|
|
@@ -1504,7 +1504,7 @@ function trendlineLegendItems(spec, color) {
|
|
|
1504
1504
|
}
|
|
1505
1505
|
|
|
1506
1506
|
// src/chart/layout-families.ts
|
|
1507
|
-
var sliceColor = (ctx, series, i) => _optionalChain([series, 'access', _42 => _42.pointColors, 'optionalAccess', _43 => _43[i]]) ||
|
|
1507
|
+
var sliceColor = (ctx, series, i) => _optionalChain([series, 'access', _42 => _42.pointColors, 'optionalAccess', _43 => _43[i]]) || _chunkWPPJH6X4cjs.chartSliceColor.call(void 0, ctx.spec, i);
|
|
1508
1508
|
function layoutPie(ctx, area, series) {
|
|
1509
1509
|
const { spec, theme, marks, fs, selection } = ctx;
|
|
1510
1510
|
const values = spec.categories.map((_, i) => {
|
|
@@ -1580,7 +1580,12 @@ function layoutRadar(ctx, area, visible) {
|
|
|
1580
1580
|
let hi = -Infinity;
|
|
1581
1581
|
for (const s of visible) for (const v of s.values) if (v !== null && Number.isFinite(v)) lo = Math.min(lo, v), hi = Math.max(hi, v);
|
|
1582
1582
|
if (!Number.isFinite(hi)) hi = 1;
|
|
1583
|
-
|
|
1583
|
+
let scale = axisScale(lo, hi, radius, spec.yAxis, ctx.options.valueDomain);
|
|
1584
|
+
if (spec.radarTicks !== null && spec.yAxis.scale !== "log") {
|
|
1585
|
+
const n2 = spec.radarTicks;
|
|
1586
|
+
const step = (scale.max - scale.min) / n2;
|
|
1587
|
+
scale = { ...scale, step, ticks: Array.from({ length: n2 + 1 }, (_, k) => Number((scale.min + step * k).toPrecision(12))) };
|
|
1588
|
+
}
|
|
1584
1589
|
const rOf = (v) => linearMap(Math.min(scale.max, Math.max(scale.min, v)), [scale.min, scale.max], [0, radius]);
|
|
1585
1590
|
const angle = (i) => i / n * Math.PI * 2;
|
|
1586
1591
|
const at = (i, r) => [cx + r * Math.sin(angle(i)), cy - r * Math.cos(angle(i))];
|
|
@@ -1589,6 +1594,10 @@ function layoutRadar(ctx, area, visible) {
|
|
|
1589
1594
|
scale.ticks.forEach((t, k) => {
|
|
1590
1595
|
const r = rOf(t);
|
|
1591
1596
|
if (r <= 0) return;
|
|
1597
|
+
if (spec.radarGraticule === "circle") {
|
|
1598
|
+
marks.push({ kind: "circle", key: `grid-ring-${k}`, role: "grid", cx, cy, r, fill: "none", stroke: theme.grid, strokeWidth: 1 });
|
|
1599
|
+
return;
|
|
1600
|
+
}
|
|
1592
1601
|
const d = Array.from({ length: n }, (_, i) => at(i, r)).map(([x, y], i) => `${i ? "L" : "M"}${r2(x)},${r2(y)}`).join("") + "Z";
|
|
1593
1602
|
marks.push({ kind: "path", key: `grid-ring-${k}`, role: "grid", d, fill: "none", stroke: theme.grid, strokeWidth: 1 });
|
|
1594
1603
|
});
|
|
@@ -1611,7 +1620,7 @@ function layoutRadar(ctx, area, visible) {
|
|
|
1611
1620
|
});
|
|
1612
1621
|
for (const s of visible) {
|
|
1613
1622
|
const si = spec.series.indexOf(s);
|
|
1614
|
-
const color =
|
|
1623
|
+
const color = _chunkWPPJH6X4cjs.chartSeriesColor.call(void 0, spec, si);
|
|
1615
1624
|
const selSeries = ctx.seriesSelected(s.id);
|
|
1616
1625
|
const pts = s.values.map((v, i) => v !== null && Number.isFinite(v) ? at(i, rOf(v)) : null);
|
|
1617
1626
|
const present = pts.filter((p) => p !== null);
|
|
@@ -1661,7 +1670,7 @@ function layoutWaterfall(ctx, area, series) {
|
|
|
1661
1670
|
});
|
|
1662
1671
|
const { band, catCenter, map, value } = frame;
|
|
1663
1672
|
const w = band * (1 - spec.gapWidth);
|
|
1664
|
-
const color =
|
|
1673
|
+
const color = _chunkWPPJH6X4cjs.chartSeriesColor.call(void 0, spec, spec.series.indexOf(series));
|
|
1665
1674
|
const format = _nullishCoalesce(series.format, () => ( spec.yAxis.format));
|
|
1666
1675
|
const labelsOn = _nullishCoalesce(series.dataLabels, () => ( spec.dataLabels));
|
|
1667
1676
|
let prevEnd = null;
|
|
@@ -1720,7 +1729,7 @@ function layoutHistogram(ctx, area, visible) {
|
|
|
1720
1729
|
const gap = k > 1 ? band * spec.gapWidth * 0.5 : 0;
|
|
1721
1730
|
const w = (band - gap) / k;
|
|
1722
1731
|
visible.forEach((s, si) => {
|
|
1723
|
-
const color =
|
|
1732
|
+
const color = _chunkWPPJH6X4cjs.chartSeriesColor.call(void 0, spec, spec.series.indexOf(s));
|
|
1724
1733
|
const target = { kind: "series", seriesId: s.id };
|
|
1725
1734
|
const selected = ctx.seriesSelected(s.id);
|
|
1726
1735
|
counts[si].forEach((c, b) => {
|
|
@@ -1751,7 +1760,7 @@ function layoutBox(ctx, area, visible) {
|
|
|
1751
1760
|
visible.forEach((s, i) => {
|
|
1752
1761
|
const st = stats[i];
|
|
1753
1762
|
if (!st) return;
|
|
1754
|
-
const color =
|
|
1763
|
+
const color = _chunkWPPJH6X4cjs.chartSeriesColor.call(void 0, spec, spec.series.indexOf(s));
|
|
1755
1764
|
const target = { kind: "series", seriesId: s.id };
|
|
1756
1765
|
const selected = ctx.seriesSelected(s.id);
|
|
1757
1766
|
const c = catCenter(i);
|
|
@@ -1837,13 +1846,13 @@ function layoutTreemap(ctx, area, series) {
|
|
|
1837
1846
|
|
|
1838
1847
|
// src/chart/layout.ts
|
|
1839
1848
|
function legendItems(spec, ctx) {
|
|
1840
|
-
const family =
|
|
1849
|
+
const family = _chunkWPPJH6X4cjs.chartFamily.call(void 0, spec);
|
|
1841
1850
|
if (spec.type === "funnel") return [];
|
|
1842
|
-
if (
|
|
1851
|
+
if (_chunkWPPJH6X4cjs.chartColorsByCategory.call(void 0, spec.type)) {
|
|
1843
1852
|
const first = spec.series.find((s) => !s.hidden);
|
|
1844
1853
|
return spec.categories.map((c, i) => ({
|
|
1845
1854
|
label: c,
|
|
1846
|
-
color: _optionalChain([first, 'optionalAccess', _45 => _45.pointColors, 'optionalAccess', _46 => _46[i]]) ||
|
|
1855
|
+
color: _optionalChain([first, 'optionalAccess', _45 => _45.pointColors, 'optionalAccess', _46 => _46[i]]) || _chunkWPPJH6X4cjs.chartSliceColor.call(void 0, spec, i),
|
|
1847
1856
|
target: { kind: "category", index: i },
|
|
1848
1857
|
faded: false,
|
|
1849
1858
|
selected: ctx.isSelected({ kind: "category", index: i }),
|
|
@@ -1857,17 +1866,17 @@ function legendItems(spec, ctx) {
|
|
|
1857
1866
|
return [
|
|
1858
1867
|
{ label: "Increase", color: ctx.theme.positive, target, faded: false, selected: false, shape: "square" },
|
|
1859
1868
|
{ label: "Decrease", color: ctx.theme.negative, target, faded: false, selected: false, shape: "square" },
|
|
1860
|
-
{ label: "Total", color:
|
|
1869
|
+
{ label: "Total", color: _chunkWPPJH6X4cjs.chartSeriesColor.call(void 0, spec, spec.series.indexOf(first)), target, faded: false, selected: false, shape: "square" }
|
|
1861
1870
|
];
|
|
1862
1871
|
}
|
|
1863
1872
|
if (family === "box") return [];
|
|
1864
|
-
const trends = trendlineLegendItems(spec, (i) =>
|
|
1873
|
+
const trends = trendlineLegendItems(spec, (i) => _chunkWPPJH6X4cjs.chartSeriesColor.call(void 0, spec, i));
|
|
1865
1874
|
const items = [];
|
|
1866
1875
|
spec.series.forEach((s, i) => {
|
|
1867
|
-
const type =
|
|
1876
|
+
const type = _chunkWPPJH6X4cjs.chartSeriesType.call(void 0, spec, s);
|
|
1868
1877
|
items.push({
|
|
1869
1878
|
label: s.name,
|
|
1870
|
-
color:
|
|
1879
|
+
color: _chunkWPPJH6X4cjs.chartSeriesColor.call(void 0, spec, i),
|
|
1871
1880
|
target: { kind: "series", seriesId: s.id },
|
|
1872
1881
|
faded: !!s.hidden,
|
|
1873
1882
|
selected: ctx.seriesSelected(s.id),
|
|
@@ -1880,7 +1889,7 @@ function legendItems(spec, ctx) {
|
|
|
1880
1889
|
function layoutChart(spec, options) {
|
|
1881
1890
|
const width = Math.max(1, Number.isFinite(options.width) ? options.width : 1);
|
|
1882
1891
|
const height = Math.max(1, Number.isFinite(options.height) ? options.height : 1);
|
|
1883
|
-
const theme = { ...
|
|
1892
|
+
const theme = { ..._chunkWPPJH6X4cjs.DEFAULT_CHART_THEME, ...options.theme };
|
|
1884
1893
|
const selection = _nullishCoalesce(options.selection, () => ( null));
|
|
1885
1894
|
const marks = [];
|
|
1886
1895
|
const warnings = [];
|
|
@@ -1919,7 +1928,7 @@ function layoutChart(spec, options) {
|
|
|
1919
1928
|
if (spec.title) titleMark("title", spec.title, theme.titleSize, 600, theme.text);
|
|
1920
1929
|
if (spec.subtitle) titleMark("subtitle", spec.subtitle, fs + 1, 400, theme.mutedText);
|
|
1921
1930
|
if (spec.title || spec.subtitle) top += 6;
|
|
1922
|
-
const family =
|
|
1931
|
+
const family = _chunkWPPJH6X4cjs.chartFamily.call(void 0, spec);
|
|
1923
1932
|
const visible = spec.series.filter((s) => !s.hidden);
|
|
1924
1933
|
const items = legendItems(spec, ctx);
|
|
1925
1934
|
let area = { x: pad, y: top, width: width - pad * 2, height: height - top - pad };
|
|
@@ -2068,7 +2077,7 @@ function addReadout(ctx, readout, plot) {
|
|
|
2068
2077
|
} else return;
|
|
2069
2078
|
const axis = series.axis === "secondary" ? spec.yAxis2 : spec.yAxis;
|
|
2070
2079
|
const x = _optionalChain([series, 'access', _52 => _52.x, 'optionalAccess', _53 => _53[readout.index]]);
|
|
2071
|
-
const text = x !== null && x !== void 0 &&
|
|
2080
|
+
const text = x !== null && x !== void 0 && _chunkWPPJH6X4cjs.chartFamily.call(void 0, spec) === "xy" ? `${formatChartNumber(x, spec.xAxis.format)}, ${formatChartNumber(value, axis.format)}` : `${_nullishCoalesce(spec.categories[readout.index], () => ( ""))}: ${formatChartNumber(value, _nullishCoalesce(series.format, () => ( axis.format)))}`;
|
|
2072
2081
|
const w = measure(text, fs, 600) + 10;
|
|
2073
2082
|
const h = fs + 8;
|
|
2074
2083
|
const bx = Math.max(plot.x, Math.min(plot.x + plot.width - w, ax - w / 2));
|
|
@@ -11,10 +11,10 @@ var _chunkYN6JKAUEcjs = require('./chunk-YN6JKAUE.cjs');
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _chunk4T44CJ5Kcjs = require('./chunk-4T44CJ5K.cjs');
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
var
|
|
17
|
+
var _chunkWPPJH6X4cjs = require('./chunk-WPPJH6X4.cjs');
|
|
18
18
|
|
|
19
19
|
// src/export/images.ts
|
|
20
20
|
var DOCX_IMAGE_TYPES = {
|
|
@@ -1028,12 +1028,12 @@ var DocxBuilder = (_class2 = class {
|
|
|
1028
1028
|
this.drop("node", "chart", "chart has no spec");
|
|
1029
1029
|
return;
|
|
1030
1030
|
}
|
|
1031
|
-
const spec =
|
|
1032
|
-
const written =
|
|
1031
|
+
const spec = _chunkWPPJH6X4cjs.normalizeChartSpec.call(void 0, raw).spec;
|
|
1032
|
+
const written = _chunk4T44CJ5Kcjs.chartToOoxml.call(void 0, spec);
|
|
1033
1033
|
for (const issue of written.issues) this.drop("node", "chart", issue);
|
|
1034
1034
|
const name = `chart${this.charts.length + 1}.xml`;
|
|
1035
1035
|
this.charts.push(written.xml);
|
|
1036
|
-
const relId = this.rels.add(
|
|
1036
|
+
const relId = this.rels.add(_chunk4T44CJ5Kcjs.CHART_OOXML_RELATIONSHIP, `charts/${name}`);
|
|
1037
1037
|
let width = _nullishCoalesce(pixelAttr(_optionalChain([node, 'access', _91 => _91.attrs, 'optionalAccess', _92 => _92.width])), () => ( MAX_IMAGE_WIDTH_PX));
|
|
1038
1038
|
let height = _nullishCoalesce(pixelAttr(_optionalChain([node, 'access', _93 => _93.attrs, 'optionalAccess', _94 => _94.height])), () => ( 320));
|
|
1039
1039
|
if (width > MAX_IMAGE_WIDTH_PX) {
|
|
@@ -1050,8 +1050,8 @@ var DocxBuilder = (_class2 = class {
|
|
|
1050
1050
|
drawing.empty("wp:extent", { cx, cy }).empty("wp:effectExtent", { l: 0, t: 0, r: 0, b: 0 });
|
|
1051
1051
|
drawing.empty("wp:docPr", { id, name: `Chart ${id}`, descr: title || void 0, title: title || void 0 });
|
|
1052
1052
|
drawing.empty("wp:cNvGraphicFramePr");
|
|
1053
|
-
drawing.open("a:graphic").open("a:graphicData", { uri:
|
|
1054
|
-
drawing.empty("c:chart", { "xmlns:c":
|
|
1053
|
+
drawing.open("a:graphic").open("a:graphicData", { uri: _chunk4T44CJ5Kcjs.CHART_OOXML_NS });
|
|
1054
|
+
drawing.empty("c:chart", { "xmlns:c": _chunk4T44CJ5Kcjs.CHART_OOXML_NS, "r:id": relId });
|
|
1055
1055
|
drawing.close("a:graphicData").close("a:graphic").close("wp:inline").close("w:drawing").close("w:r");
|
|
1056
1056
|
this.report.written.paragraphs++;
|
|
1057
1057
|
w.open("w:p");
|
|
@@ -1384,7 +1384,7 @@ var DocxBuilder = (_class2 = class {
|
|
|
1384
1384
|
if (people) add("word/people.xml", people, `${CT_WML}people+xml`);
|
|
1385
1385
|
parts.push({ name: "word/_rels/document.xml.rels", data: this.rels.xml() });
|
|
1386
1386
|
for (const file of this.media) parts.push({ name: `word/media/${file.name}`, data: file.bytes });
|
|
1387
|
-
this.charts.forEach((xml, i) => add(`word/charts/chart${i + 1}.xml`, xml,
|
|
1387
|
+
this.charts.forEach((xml, i) => add(`word/charts/chart${i + 1}.xml`, xml, _chunk4T44CJ5Kcjs.CHART_OOXML_CONTENT_TYPE));
|
|
1388
1388
|
add("docProps/core.xml", this.coreXml(now), "application/vnd.openxmlformats-package.core-properties+xml");
|
|
1389
1389
|
const app = new XmlWriter();
|
|
1390
1390
|
app.open("Properties", { xmlns: "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" });
|
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
chartToMermaid,
|
|
6
6
|
describeChart,
|
|
7
7
|
layoutSparkline
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-SSCL7QQ4.js";
|
|
9
9
|
import {
|
|
10
10
|
layoutChart
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-R3QY7PPL.js";
|
|
12
12
|
import {
|
|
13
13
|
DEFAULT_CHART_THEME,
|
|
14
14
|
normalizeChartSpec
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-H5XX4KHB.js";
|
|
16
16
|
import {
|
|
17
17
|
plainTextToSlice
|
|
18
18
|
} from "./chunk-2INPJDNY.js";
|