@firestitch/report 18.21.2 → 18.21.3
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/esm2022/app/reports/components/component-grid/report-grid-formatter.mjs +23 -6
- package/fesm2022/{firestitch-report-echarts-BLr6SmeK.mjs → firestitch-report-echarts-CUVOSBvJ.mjs} +2 -2
- package/fesm2022/{firestitch-report-echarts-BLr6SmeK.mjs.map → firestitch-report-echarts-CUVOSBvJ.mjs.map} +1 -1
- package/fesm2022/{firestitch-report-firestitch-report-D2dPznfE.mjs → firestitch-report-firestitch-report-CfvBTMrG.mjs} +26 -9
- package/fesm2022/firestitch-report-firestitch-report-CfvBTMrG.mjs.map +1 -0
- package/fesm2022/firestitch-report.mjs +1 -1
- package/package.json +1 -1
- package/fesm2022/firestitch-report-firestitch-report-D2dPznfE.mjs.map +0 -1
|
@@ -18,6 +18,18 @@ const NUMBER_UNITS = {
|
|
|
18
18
|
};
|
|
19
19
|
// What an abbreviated number's suffix multiplies it by, when a viewer types one.
|
|
20
20
|
const UNIT_SUFFIXES = { k: 1e3, m: 1e6 };
|
|
21
|
+
// A column written in thousands or millions is typed in them: the grid's
|
|
22
|
+
// filter shows its K or M beside the inputs, so 12 there means 12,000. A K or
|
|
23
|
+
// M typed after the digits wins, so 12K is still 12,000.
|
|
24
|
+
const TYPED_UNITS = {
|
|
25
|
+
[GridUnits.Thousands]: 1e3,
|
|
26
|
+
[GridUnits.Millions]: 1e6,
|
|
27
|
+
};
|
|
28
|
+
// The significant digits a scaled typed number keeps, as fs-grid's own reader
|
|
29
|
+
// keeps them: scaling leaves binary noise behind (12.3% reads
|
|
30
|
+
// 0.12300000000000001, 1.005K 1004.9999999999999), which would move a range's
|
|
31
|
+
// end past the very value it names.
|
|
32
|
+
const TYPED_DIGITS = 15;
|
|
21
33
|
const YES = 'Yes';
|
|
22
34
|
const NO = 'No';
|
|
23
35
|
// A grid tile's formatter: every value written as the report writes it on
|
|
@@ -95,22 +107,27 @@ function optionLabel(value, field) {
|
|
|
95
107
|
return field.options?.find((option) => option.key === value)?.label ?? null;
|
|
96
108
|
}
|
|
97
109
|
// A number a viewer typed, read in the report's locale: its grouping dropped,
|
|
98
|
-
// its decimal mark read, a K or M suffix multiplied out
|
|
99
|
-
//
|
|
110
|
+
// its decimal mark read, a K or M suffix multiplied out (else the column's own
|
|
111
|
+
// thousands or millions), and a percent of a ratio-percent report read back to
|
|
112
|
+
// its ratio. The placement's units and format win over the field's, as they do
|
|
113
|
+
// where the number is written (numberSpec). null when it is no number.
|
|
100
114
|
function readGridNumber(context, text, field, placement) {
|
|
101
115
|
const decimal = decimalMark(context.format.locale);
|
|
102
116
|
const trimmed = text.trim().toLowerCase();
|
|
103
|
-
const multiplier = UNIT_SUFFIXES[trimmed.slice(-1)]
|
|
117
|
+
const multiplier = UNIT_SUFFIXES[trimmed.slice(-1)]
|
|
118
|
+
?? TYPED_UNITS[placement?.units ?? field.units ?? GridUnits.None]
|
|
119
|
+
?? 1;
|
|
104
120
|
const digits = trimmed
|
|
105
121
|
.split(decimal).map((part) => part.replace(/[^0-9-]/g, '')).join('.');
|
|
106
122
|
const number = digits && digits !== '-' && digits !== '.' ? Number(digits) * multiplier : NaN;
|
|
107
123
|
if (!Number.isFinite(number)) {
|
|
108
124
|
return null;
|
|
109
125
|
}
|
|
110
|
-
const
|
|
111
|
-
|
|
126
|
+
const isRatio = (placement?.format ?? field.format) === GridFormat.Percent && context.format.ratioPercent;
|
|
127
|
+
const value = isRatio ? number / 100 : number;
|
|
128
|
+
return multiplier === 1 && !isRatio ? value : Number(value.toPrecision(TYPED_DIGITS));
|
|
112
129
|
}
|
|
113
130
|
function decimalMark(locale) {
|
|
114
131
|
return numberFormat(locale, {}).formatToParts(1.5).find((part) => part.type === 'decimal')?.value ?? '.';
|
|
115
132
|
}
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWdyaWQtZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9yZXBvcnRzL2NvbXBvbmVudHMvY29tcG9uZW50LWdyaWQvcmVwb3J0LWdyaWQtZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDa0IsYUFBYSxFQUFFLFVBQVUsRUFBNEIsU0FBUyxHQUN0RixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRy9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBYzlELE1BQU0sYUFBYSxHQUFvRDtJQUNyRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO0lBQzdDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLGlCQUFpQixDQUFDLE9BQU87SUFDL0MsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsaUJBQWlCLENBQUMsUUFBUTtDQUNsRCxDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQW1EO0lBQ25FLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLGlCQUFpQixDQUFDLElBQUk7SUFDeEMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsU0FBUztJQUNsRCxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMs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bnQiOlsiaW1wb3J0IHtcbiAgR3JpZERldGFpbCwgR3JpZEZpZWxkLCBHcmlkRmllbGRUeXBlLCBHcmlkRm9ybWF0LCBHcmlkRm9ybWF0dGVyLCBHcmlkTGV2ZWwsIEdyaWRVbml0cywgR3JpZFZhbHVlLFxufSBmcm9tICdAZmlyZXN0aXRjaC9ncmlkJztcblxuaW1wb3J0IHsgUmVwb3J0Q2hhcnREYXRlTGFiZWwgfSBmcm9tICcuLi8uLi9lbnVtcy9yZXBvcnQtY2hhcnQtZGF0ZS1sYWJlbC5lbnVtJztcbmltcG9ydCB7IFJlcG9ydE51bWJlclVuaXRzIH0gZnJvbSAnLi4vLi4vZW51bXMvcmVwb3J0LW51bWJlci11bml0cy5lbnVtJztcbmltcG9ydCB7IFJlcG9ydFZhbHVlRm9ybWF0IH0gZnJvbSAnLi4vLi4vZW51bXMvcmVwb3J0LXZhbHVlLWZvcm1hdC5lbnVtJztcbmltcG9ydCB7IGZvcm1hdE51bWJlciwgZm9ybWF0T3V0cHV0VmFsdWUsIGZvcm1hdFJlcG9ydERhdGUsIG51bWJlckZvcm1hdCB9IGZyb20gJy4uLy4uL2Zvcm1hdCc7XG5pbXBvcnQgeyBSZXBvcnRHcmlkUmVwb3J0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9yZXBvcnQtZ3JpZC1yZXBvcnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENoYXJ0R3JhbnVsYXJpdHksIE51bWJlckZvcm1hdFNwZWMsIFJlcG9ydEZvcm1hdENvbnRleHQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlcG9ydC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZm9ybWF0UGVyaW9kTGFiZWwgfSBmcm9tICcuLi8uLi9vcHRpb24tYnVpbGRlcic7XG5pbXBvcnQgeyBHUklEX0dSQU5VTEFSSVRJRVMgfSBmcm9tICcuLi8uLi9yZXBvcnQtZ3JpZC1sYXlvdXQnO1xuXG5cbnR5cGUgR3JpZFBsYWNlbWVudCA9IEdyaWRWYWx1ZSB8IEdyaWREZXRhaWwgfCBHcmlkTGV2ZWw7XG5cbi8vIFdoYXQgYSBncmlkIHRpbGUgaXMgd3JpdHRlbiB3aXRoOiB0aGUgcmVwb3J0J3MgbG9jYWxlLCBjdXJyZW5jeSBhbmRcbi8vIHBlcmNlbnQgZm9ybSwgdGhlIHpvbmUgaXRzIGluc3RhbnRzIHJlYWQgaW4sIGFuZCB0aGUgcmVwb3J0IGxpbmUgb2YgaXRzXG4vLyBsYXRlc3QgcmVhZCAod2hhdCBlYWNoIG91dHB1dCBmaWVsZCBob2xkcykuXG5leHBvcnQgaW50ZXJmYWNlIFJlcG9ydEdyaWRGb3JtYXRDb250ZXh0IHtcbiAgZm9ybWF0OiBSZXBvcnRGb3JtYXRDb250ZXh0O1xuICB0aW1lem9uZTogc3RyaW5nO1xuICByZXBvcnQ6IFJlcG9ydEdyaWRSZXBvcnQgfCBudWxsO1xufVxuXG5jb25zdCBWQUxVRV9GT1JNQVRTOiBSZWFkb25seTxSZWNvcmQ8R3JpZEZvcm1hdCwgUmVwb3J0VmFsdWVGb3JtYXQ+PiA9IHtcbiAgW0dyaWRGb3JtYXQuTnVtYmVyXTogUmVwb3J0VmFsdWVGb3JtYXQuTnVtYmVyLFxuICBbR3JpZEZvcm1hdC5QZXJjZW50XTogUmVwb3J0VmFsdWVGb3JtYXQuUGVyY2VudCxcbiAgW0dyaWRGb3JtYXQuQ3VycmVuY3ldOiBSZXBvcnRWYWx1ZUZvcm1hdC5DdXJyZW5jeSxcbn07XG5cbmNvbnN0IE5VTUJFUl9VTklUUzogUmVhZG9ubHk8UmVjb3JkPEdyaWRVbml0cywgUmVwb3J0TnVtYmVyVW5pdHM+PiA9IHtcbiAgW0dyaWRVbml0cy5Ob25lXTogUmVwb3J0TnVtYmVyVW5pdHMuTm9uZSxcbiAgW0dyaWRVbml0cy5UaG91c2FuZHNdOiBSZXBvcnROdW1iZXJVbml0cy5UaG91c2FuZHMsXG4gIFtHcmlkVW5pdHMuTWlsbGlvbnNdOiBSZXBvcnROdW1iZXJVbml0cy5NaWxsaW9ucyxcbiAgW0dyaWRVbml0cy5BdXRvXTogUmVwb3J0TnVtYmVyVW5pdHMuQXV0byxcbn07XG5cbi8vIFdoYXQgYW4gYWJicmV2aWF0ZWQgbnVtYmVyJ3Mgc3VmZml4IG11bHRpcGxpZXMgaXQgYnksIHdoZW4gYSB2aWV3ZXIgdHlwZXMgb25lLlxuY29uc3QgVU5JVF9TVUZGSVhFUzogUmVhZG9ubHk8UmVjb3JkPHN0cmluZywgbnVtYmVyPj4gPSB7IGs6IDFlMywgbTogMWU2IH07XG5cbmNvbnN0IFlFUyA9ICdZZXMnO1xuY29uc3QgTk8gPSAnTm8nO1xuXG4vLyBBIGdyaWQgdGlsZSdzIGZvcm1hdHRlcjogZXZlcnkgdmFsdWUgd3JpdHRlbiBhcyB0aGUgcmVwb3J0IHdyaXRlcyBpdCBvblxuLy8gYSBsaXN0IHRvZGF5LiBBbiBvdXRwdXQgbnVtYmVyIHJlYWRzIHRocm91Z2ggZm9ybWF0T3V0cHV0VmFsdWUgd2l0aCB3aGF0XG4vLyB0aGUgcmVwb3J0IGxpbmUgc2F5cyB0aGUgb3V0cHV0IGhvbGRzIChhIGNoYW5nZSBpcyBzaWduZWQsIGEgbWlzc2luZyBwcmlvclxuLy8gcmVhZHMgYXMgdGhlIGxpc3QncyBkYXNoKTsgYSBwbGFpbiBudW1iZXIgdGhyb3VnaCBmb3JtYXROdW1iZXI7IGEga2V5J3Ncbi8vIGRpZ2l0cyBhcyB0aGV5IGFyZTsgYSBkYXRlIGF0IGl0cyBncmFpbiBpbiB0aGUgcmVwb3J0J3MgbG9jYWxlLCBhbiBpbnN0YW50XG4vLyBpbiBpdHMgem9uZS4gVGhlIHBsYWNlbWVudCdzIGZvcm1hdCwgcHJlY2lzaW9uIGFuZCB1bml0cyB3aW4gb3ZlciB0aGVcbi8vIGZpZWxkJ3MuXG5leHBvcnQgZnVuY3Rpb24gcmVwb3J0R3JpZEZvcm1hdHRlcihjb250ZXh0OiBSZXBvcnRHcmlkRm9ybWF0Q29udGV4dCk6IEdyaWRGb3JtYXR0ZXIge1xuICByZXR1cm4ge1xuICAgIGZvcm1hdDogKHZhbHVlLCBmaWVsZCwgcGxhY2VtZW50KSA9PiBmb3JtYXRHcmlkVmFsdWUoY29udGV4dCwgdmFsdWUsIGZpZWxkLCBwbGFjZW1lbnQpLFxuICAgIHRvTnVtYmVyOiAodGV4dCwgZmllbGQsIHBsYWNlbWVudCkgPT4gcmVhZEdyaWROdW1iZXIoY29udGV4dCwgdGV4dCwgZmllbGQsIHBsYWNlbWVudCksXG4gIH07XG59XG5cbmZ1bmN0aW9uIGZvcm1hdEdyaWRWYWx1ZShcbiAgY29udGV4dDogUmVwb3J0R3JpZEZvcm1hdENvbnRleHQsXG4gIHZhbHVlOiB1bmtub3duLFxuICBmaWVsZDogR3JpZEZpZWxkLFxuICBwbGFjZW1lbnQ/OiBHcmlkUGxhY2VtZW50LFxuKTogc3RyaW5nIHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09ICcnKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgY2FzZSBHcmlkRmllbGRUeXBlLk51bWJlcjpcbiAgICAgIHJldHVybiBmb3JtYXRHcmlkTnVtYmVyKGNvbnRleHQsIHZhbHVlLCBmaWVsZCwgcGxhY2VtZW50KTtcbiAgICBjYXNlIEdyaWRGaWVsZFR5cGUuRGF0ZTpcbiAgICAgIHJldHVybiBmb3JtYXRHcmlkRGF0ZShjb250ZXh0LCB2YWx1ZSwgZmllbGQsIHBsYWNlbWVudCk7XG4gICAgY2FzZSBHcmlkRmllbGRUeXBlLkRhdGV0aW1lOlxuICAgICAgcmV0dXJuIGZvcm1hdFJlcG9ydERhdGUodmFsdWUsIGNvbnRleHQudGltZXpvbmUsIGNvbnRleHQuZm9ybWF0LmxvY2FsZSk7XG4gICAgY2FzZSBHcmlkRmllbGRUeXBlLkJvb2xlYW46XG4gICAgICByZXR1cm4gdmFsdWUgPyBZRVMgOiBOTztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG9wdGlvbkxhYmVsKHZhbHVlLCBmaWVsZCkgPz8gU3RyaW5nKHZhbHVlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmb3JtYXRHcmlkTnVtYmVyKFxuICBjb250ZXh0OiBSZXBvcnRHcmlkRm9ybWF0Q29udGV4dCxcbiAgdmFsdWU6IHVua25vd24sXG4gIGZpZWxkOiBHcmlkRmllbGQsXG4gIHBsYWNlbWVudD86IEdyaWRQbGFjZW1lbnQsXG4pOiBzdHJpbmcge1xuICAvLyBBIGtleSwgc3VjaCBhcyBhIGNsaWVudCdzIGlkLCBpcyBhIG5hbWU6IGl0cyBkaWdpdHMgcHJpbnQgYXMgdGhleSBhcmUsIG5ldmVyIGdyb3VwZWRcbiAgaWYgKGZpZWxkLmlkZW50aWZpZXIgJiYgIWlzQWdncmVnYXRlKHBsYWNlbWVudCkpIHtcbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgfVxuXG4gIGNvbnN0IHNwZWMgPSBudW1iZXJTcGVjKGZpZWxkLCBwbGFjZW1lbnQpO1xuICBjb25zdCBvdXRwdXQgPSBpc0FnZ3JlZ2F0ZShwbGFjZW1lbnQpID8gbnVsbCA6IGNvbnRleHQucmVwb3J0Py5vdXRwdXRzPy5bZmllbGQubmFtZV07XG5cbiAgcmV0dXJuIG91dHB1dFxuICAgID8gZm9ybWF0T3V0cHV0VmFsdWUodmFsdWUsIG91dHB1dCwgc3BlYywgY29udGV4dC5mb3JtYXQpLnRleHRcbiAgICA6IGZvcm1hdE51bWJlcih2YWx1ZSwgc3BlYywgY29udGV4dC5mb3JtYXQpO1xufVxuXG4vLyBBIGNhbGVuZGFyIGRhdGUgYXQgdGhlIGdyYWluIGl0IHByaW50cyBhdDogdGhlIHBsYWNlbWVudCdzLCBlbHNlIHRoZVxuLy8gZmllbGQncyBvd24sIHdoaWNoIG9uIGEgdGltZSBheGlzIGlzIHRoZSByZXBvcnQncyBncm91cC1ieS4gQSBxdWFydGVyIHJlYWRzXG4vLyBcIlEzIDIwMjNcIiwgYSBtb250aCBcIkp1bCAyMDIzXCIgYW5kIGEgeWVhciBcIjIwMjNcIiwgYXMgdGhlIHJlcG9ydCdzIGNoYXJ0c1xuLy8gbGFiZWwgdGhlbSwgcmF0aGVyIHRoYW4gYXMgdGhlaXIgZmlyc3QgZGF5OyBhIHdlZWssIGxpa2UgYSBjaGFydCdzLCByZWFkcyBhc1xuLy8gdGhlIGRheSBpdCBzdGFydHMuIEEgZGF5IHJlYWRzIGFzIHRoZSByZXBvcnQgd3JpdGVzIGEgZGF0ZS5cbmZ1bmN0aW9uIGZvcm1hdEdyaWREYXRlKFxuICBjb250ZXh0OiBSZXBvcnRHcmlkRm9ybWF0Q29udGV4dCxcbiAgdmFsdWU6IHVua25vd24sXG4gIGZpZWxkOiBHcmlkRmllbGQsXG4gIHBsYWNlbWVudD86IEdyaWRQbGFjZW1lbnQsXG4pOiBzdHJpbmcge1xuICBjb25zdCBncmFudWxhcml0eSA9IChwbGFjZW1lbnQgYXMgR3JpZERldGFpbCB8IEdyaWRMZXZlbCB8IHVuZGVmaW5lZCk/LmdyYW51bGFyaXR5ID8/IGZpZWxkLmdyYW51bGFyaXRpZXM/LlswXTtcbiAgY29uc3QgY2hhcnRHcmFudWxhcml0eSA9IChPYmplY3Qua2V5cyhHUklEX0dSQU5VTEFSSVRJRVMpIGFzIENoYXJ0R3JhbnVsYXJpdHlbXSlcbiAgICAuZmluZCgobmFtZSkgPT4gR1JJRF9HUkFOVUxBUklUSUVTW25hbWVdID09PSBncmFudWxhcml0eSk7XG5cbiAgcmV0dXJuIGNoYXJ0R3JhbnVsYXJpdHkgJiYgY2hhcnRHcmFudWxhcml0eSAhPT0gJ2RheScgJiYgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJ1xuICAgID8gZm9ybWF0UGVyaW9kTGFiZWwodmFsdWUuc2xpY2UoMCwgMTApLCBjaGFydEdyYW51bGFyaXR5LCBmYWxzZSwgY29udGV4dC5mb3JtYXQubG9jYWxlLCBSZXBvcnRDaGFydERhdGVMYWJlbC5Mb25nKVxuICAgIDogZm9ybWF0UmVwb3J0RGF0ZSh2YWx1ZSwgY29udGV4dC50aW1lem9uZSwgY29udGV4dC5mb3JtYXQubG9jYWxlKTtcbn1cblxuLy8gVGhlIGZvcm1hdCwgcHJlY2lzaW9uIGFuZCB1bml0cyBhIG51bWJlciBpcyB3cml0dGVuIHdpdGg6IHRoZSBwbGFjZW1lbnQncyxcbi8vIGVsc2UgdGhlIGZpZWxkJ3MuXG5mdW5jdGlvbiBudW1iZXJTcGVjKGZpZWxkOiBHcmlkRmllbGQsIHBsYWNlbWVudD86IEdyaWRQbGFjZW1lbnQpOiBOdW1iZXJGb3JtYXRTcGVjIHtcbiAgY29uc3QgcGxhY2VkID0gcGxhY2VtZW50IGFzIEdyaWRWYWx1ZSB8IEdyaWREZXRhaWwgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IGZvcm1hdCA9IHBsYWNlZD8uZm9ybWF0ID8/IGZpZWxkLmZvcm1hdDtcbiAgY29uc3QgcHJlY2lzaW9uID0gcGxhY2VkPy5wcmVjaXNpb24gPz8gZmllbGQucHJlY2lzaW9uO1xuICBjb25zdCB1bml0cyA9IHBsYWNlZD8udW5pdHMgPz8gZmllbGQudW5pdHM7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi4oZm9ybWF0ID8geyBmb3JtYXQ6IFZBTFVFX0ZPUk1BVFNbZm9ybWF0XSB9IDoge30pLFxuICAgIC4uLih0eXBlb2YgcHJlY2lzaW9uID09PSAnbnVtYmVyJyA/IHsgcHJlY2lzaW9uIH0gOiB7fSksXG4gICAgLi4uKHVuaXRzID8geyB1bml0czogTlVNQkVSX1VOSVRTW3VuaXRzXSB9IDoge30pLFxuICB9O1xufVxuXG4vLyBBIHZhbHVlIHBsYWNlbWVudCBpcyBhbiBhZ2dyZWdhdGUgb2YgdGhlIGZpZWxkLCBub3QgdGhlIG91dHB1dCBpdHNlbGYuXG5mdW5jdGlvbiBpc0FnZ3JlZ2F0ZShwbGFjZW1lbnQ/OiBHcmlkUGxhY2VtZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiAhIShwbGFjZW1lbnQgYXMgR3JpZFZhbHVlIHwgdW5kZWZpbmVkKT8uYWdncmVnYXRpb247XG59XG5cbmZ1bmN0aW9uIG9wdGlvbkxhYmVsKHZhbHVlOiB1bmtub3duLCBmaWVsZDogR3JpZEZpZWxkKTogc3RyaW5nIHwgbnVsbCB7XG4gIHJldHVybiBmaWVsZC5vcHRpb25zPy5maW5kKChvcHRpb24pID0+IG9wdGlvbi5rZXkgPT09IHZhbHVlKT8ubGFiZWwgPz8gbnVsbDtcbn1cblxuLy8gQSBudW1iZXIgYSB2aWV3ZXIgdHlwZWQsIHJlYWQgaW4gdGhlIHJlcG9ydCdzIGxvY2FsZTogaXRzIGdyb3VwaW5nIGRyb3BwZWQsXG4vLyBpdHMgZGVjaW1hbCBtYXJrIHJlYWQsIGEgSyBvciBNIHN1ZmZpeCBtdWx0aXBsaWVkIG91dCwgYW5kIGEgcGVyY2VudCBvZiBhXG4vLyByYXRpby1wZXJjZW50IHJlcG9ydCByZWFkIGJhY2sgdG8gaXRzIHJhdGlvLiBudWxsIHdoZW4gaXQgaXMgbm8gbnVtYmVyLlxuZnVuY3Rpb24gcmVhZEdyaWROdW1iZXIoXG4gIGNvbnRleHQ6IFJlcG9ydEdyaWRGb3JtYXRDb250ZXh0LFxuICB0ZXh0OiBzdHJpbmcsXG4gIGZpZWxkOiBHcmlkRmllbGQsXG4gIHBsYWNlbWVudD86IEdyaWRWYWx1ZSB8IEdyaWREZXRhaWwsXG4pOiBudW1iZXIgfCBudWxsIHtcbiAgY29uc3QgZGVjaW1hbCA9IGRlY2ltYWxNYXJrKGNvbnRleHQuZm9ybWF0LmxvY2FsZSk7XG4gIGNvbnN0IHRyaW1tZWQgPSB0ZXh0LnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBtdWx0aXBsaWVyID0gVU5JVF9TVUZGSVhFU1t0cmltbWVkLnNsaWNlKC0xKV0gPz8gMTtcbiAgY29uc3QgZGlnaXRzID0gdHJpbW1lZFxuICAgIC5zcGxpdChkZWNpbWFsKS5tYXAoKHBhcnQpID0+IHBhcnQucmVwbGFjZSgvW14wLTktXS9nLCAnJykpLmpvaW4oJy4nKTtcbiAgY29uc3QgbnVtYmVyID0gZGlnaXRzICYmIGRpZ2l0cyAhPT0gJy0nICYmIGRpZ2l0cyAhPT0gJy4nID8gTnVtYmVyKGRpZ2l0cykgKiBtdWx0aXBsaWVyIDogTmFOO1xuXG4gIGlmICghTnVtYmVyLmlzRmluaXRlKG51bWJlcikpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGlzUGVyY2VudCA9IChwbGFjZW1lbnQ/LmZvcm1hdCA/PyBmaWVsZC5mb3JtYXQpID09PSBHcmlkRm9ybWF0LlBlcmNlbnQ7XG5cbiAgcmV0dXJuIGlzUGVyY2VudCAmJiBjb250ZXh0LmZvcm1hdC5yYXRpb1BlcmNlbnQgPyBudW1iZXIgLyAxMDAgOiBudW1iZXI7XG59XG5cbmZ1bmN0aW9uIGRlY2ltYWxNYXJrKGxvY2FsZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIG51bWJlckZvcm1hdChsb2NhbGUsIHt9KS5mb3JtYXRUb1BhcnRzKDEuNSkuZmluZCgocGFydCkgPT4gcGFydC50eXBlID09PSAnZGVjaW1hbCcpPy52YWx1ZSA/PyAnLic7XG59XG4iXX0=
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWdyaWQtZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9yZXBvcnRzL2NvbXBvbmVudHMvY29tcG9uZW50LWdyaWQvcmVwb3J0LWdyaWQtZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDa0IsYUFBYSxFQUFFLFVBQVUsRUFBNEIsU0FBUyxHQUN0RixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRy9GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBYzlELE1BQU0sYUFBYSxHQUFvRDtJQUNyRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO0lBQzdDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLGlCQUFpQixDQUFDLE9BQU87SUFDL0MsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsaUJBQWlCLENBQUMsUUFBUTtDQUNsRCxDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQW1EO0lBQ25FLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLGlCQUFpQixDQUFDLElBQUk7SUFDeEMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsU0FBUztJQUNsRCxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMs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Q0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7SUFDMUcsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFFOUMsT0FBTyxVQUFVLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDeEYsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLE1BQWM7SUFDakMsT0FBTyxZQUFZLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLEVBQUUsS0FBSyxJQUFJLEdBQUcsQ0FBQztBQUMzRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgR3JpZERldGFpbCwgR3JpZEZpZWxkLCBHcmlkRmllbGRUeXBlLCBHcmlkRm9ybWF0LCBHcmlkRm9ybWF0dGVyLCBHcmlkTGV2ZWwsIEdyaWRVbml0cywgR3JpZFZhbHVlLFxufSBmcm9tICdAZmlyZXN0aXRjaC9ncmlkJztcblxuaW1wb3J0IHsgUmVwb3J0Q2hhcnREYXRlTGFiZWwgfSBmcm9tICcuLi8uLi9lbnVtcy9yZXBvcnQtY2hhcnQtZGF0ZS1sYWJlbC5lbnVtJztcbmltcG9ydCB7IFJlcG9ydE51bWJlclVuaXRzIH0gZnJvbSAnLi4vLi4vZW51bXMvcmVwb3J0LW51bWJlci11bml0cy5lbnVtJztcbmltcG9ydCB7IFJlcG9ydFZhbHVlRm9ybWF0IH0gZnJvbSAnLi4vLi4vZW51bXMvcmVwb3J0LXZhbHVlLWZvcm1hdC5lbnVtJztcbmltcG9ydCB7IGZvcm1hdE51bWJlciwgZm9ybWF0T3V0cHV0VmFsdWUsIGZvcm1hdFJlcG9ydERhdGUsIG51bWJlckZvcm1hdCB9IGZyb20gJy4uLy4uL2Zvcm1hdCc7XG5pbXBvcnQgeyBSZXBvcnRHcmlkUmVwb3J0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9yZXBvcnQtZ3JpZC1yZXBvcnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENoYXJ0R3JhbnVsYXJpdHksIE51bWJlckZvcm1hdFNwZWMsIFJlcG9ydEZvcm1hdENvbnRleHQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlcG9ydC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZm9ybWF0UGVyaW9kTGFiZWwgfSBmcm9tICcuLi8uLi9vcHRpb24tYnVpbGRlcic7XG5pbXBvcnQgeyBHUklEX0dSQU5VTEFSSVRJRVMgfSBmcm9tICcuLi8uLi9yZXBvcnQtZ3JpZC1sYXlvdXQnO1xuXG5cbnR5cGUgR3JpZFBsYWNlbWVudCA9IEdyaWRWYWx1ZSB8IEdyaWREZXRhaWwgfCBHcmlkTGV2ZWw7XG5cbi8vIFdoYXQgYSBncmlkIHRpbGUgaXMgd3JpdHRlbiB3aXRoOiB0aGUgcmVwb3J0J3MgbG9jYWxlLCBjdXJyZW5jeSBhbmRcbi8vIHBlcmNlbnQgZm9ybSwgdGhlIHpvbmUgaXRzIGluc3RhbnRzIHJlYWQgaW4sIGFuZCB0aGUgcmVwb3J0IGxpbmUgb2YgaXRzXG4vLyBsYXRlc3QgcmVhZCAod2hhdCBlYWNoIG91dHB1dCBmaWVsZCBob2xkcykuXG5leHBvcnQgaW50ZXJmYWNlIFJlcG9ydEdyaWRGb3JtYXRDb250ZXh0IHtcbiAgZm9ybWF0OiBSZXBvcnRGb3JtYXRDb250ZXh0O1xuICB0aW1lem9uZTogc3RyaW5nO1xuICByZXBvcnQ6IFJlcG9ydEdyaWRSZXBvcnQgfCBudWxsO1xufVxuXG5jb25zdCBWQUxVRV9GT1JNQVRTOiBSZWFkb25seTxSZWNvcmQ8R3JpZEZvcm1hdCwgUmVwb3J0VmFsdWVGb3JtYXQ+PiA9IHtcbiAgW0dyaWRGb3JtYXQuTnVtYmVyXTogUmVwb3J0VmFsdWVGb3JtYXQuTnVtYmVyLFxuICBbR3JpZEZvcm1hdC5QZXJjZW50XTogUmVwb3J0VmFsdWVGb3JtYXQuUGVyY2VudCxcbiAgW0dyaWRGb3JtYXQuQ3VycmVuY3ldOiBSZXBvcnRWYWx1ZUZvcm1hdC5DdXJyZW5jeSxcbn07XG5cbmNvbnN0IE5VTUJFUl9VTklUUzogUmVhZG9ubHk8UmVjb3JkPEdyaWRVbml0cywgUmVwb3J0TnVtYmVyVW5pdHM+PiA9IHtcbiAgW0dyaWRVbml0cy5Ob25lXTogUmVwb3J0TnVtYmVyVW5pdHMuTm9uZSxcbiAgW0dyaWRVbml0cy5UaG91c2FuZHNdOiBSZXBvcnROdW1iZXJVbml0cy5UaG91c2FuZHMsXG4gIFtHcmlkVW5pdHMuTWlsbGlvbnNdOiBSZXBvcnROdW1iZXJVbml0cy5NaWxsaW9ucyxcbiAgW0dyaWRVbml0cy5BdXRvXTogUmVwb3J0TnVtYmVyVW5pdHMuQXV0byxcbn07XG5cbi8vIFdoYXQgYW4gYWJicmV2aWF0ZWQgbnVtYmVyJ3Mgc3VmZml4IG11bHRpcGxpZXMgaXQgYnksIHdoZW4gYSB2aWV3ZXIgdHlwZXMgb25lLlxuY29uc3QgVU5JVF9TVUZGSVhFUzogUmVhZG9ubHk8UmVjb3JkPHN0cmluZywgbnVtYmVyPj4gPSB7IGs6IDFlMywgbTogMWU2IH07XG5cbi8vIEEgY29sdW1uIHdyaXR0ZW4gaW4gdGhvdXNhbmRzIG9yIG1pbGxpb25zIGlzIHR5cGVkIGluIHRoZW06IHRoZSBncmlkJ3Ncbi8vIGZpbHRlciBzaG93cyBpdHMgSyBvciBNIGJlc2lkZSB0aGUgaW5wdXRzLCBzbyAxMiB0aGVyZSBtZWFucyAxMiwwMDAuIEEgSyBvclxuLy8gTSB0eXBlZCBhZnRlciB0aGUgZGlnaXRzIHdpbnMsIHNvIDEySyBpcyBzdGlsbCAxMiwwMDAuXG5jb25zdCBUWVBFRF9VTklUUzogUmVhZG9ubHk8UGFydGlhbDxSZWNvcmQ8R3JpZFVuaXRzLCBudW1iZXI+Pj4gPSB7XG4gIFtHcmlkVW5pdHMuVGhvdXNhbmRzXTogMWUzLFxuICBbR3JpZFVuaXRzLk1pbGxpb25zXTogMWU2LFxufTtcblxuLy8gVGhlIHNpZ25pZmljYW50IGRpZ2l0cyBhIHNjYWxlZCB0eXBlZCBudW1iZXIga2VlcHMsIGFzIGZzLWdyaWQncyBvd24gcmVhZGVyXG4vLyBrZWVwcyB0aGVtOiBzY2FsaW5nIGxlYXZlcyBiaW5hcnkgbm9pc2UgYmVoaW5kICgxMi4zJSByZWFkc1xuLy8gMC4xMjMwMDAwMDAwMDAwMDAwMSwgMS4wMDVLIDEwMDQuOTk5OTk5OTk5OTk5OSksIHdoaWNoIHdvdWxkIG1vdmUgYSByYW5nZSdzXG4vLyBlbmQgcGFzdCB0aGUgdmVyeSB2YWx1ZSBpdCBuYW1lcy5cbmNvbnN0IFRZUEVEX0RJR0lUUyA9IDE1O1xuXG5jb25zdCBZRVMgPSAnWWVzJztcbmNvbnN0IE5PID0gJ05vJztcblxuLy8gQSBncmlkIHRpbGUncyBmb3JtYXR0ZXI6IGV2ZXJ5IHZhbHVlIHdyaXR0ZW4gYXMgdGhlIHJlcG9ydCB3cml0ZXMgaXQgb25cbi8vIGEgbGlzdCB0b2RheS4gQW4gb3V0cHV0IG51bWJlciByZWFkcyB0aHJvdWdoIGZvcm1hdE91dHB1dFZhbHVlIHdpdGggd2hhdFxuLy8gdGhlIHJlcG9ydCBsaW5lIHNheXMgdGhlIG91dHB1dCBob2xkcyAoYSBjaGFuZ2UgaXMgc2lnbmVkLCBhIG1pc3NpbmcgcHJpb3Jcbi8vIHJlYWRzIGFzIHRoZSBsaXN0J3MgZGFzaCk7IGEgcGxhaW4gbnVtYmVyIHRocm91Z2ggZm9ybWF0TnVtYmVyOyBhIGtleSdzXG4vLyBkaWdpdHMgYXMgdGhleSBhcmU7IGEgZGF0ZSBhdCBpdHMgZ3JhaW4gaW4gdGhlIHJlcG9ydCdzIGxvY2FsZSwgYW4gaW5zdGFudFxuLy8gaW4gaXRzIHpvbmUuIFRoZSBwbGFjZW1lbnQncyBmb3JtYXQsIHByZWNpc2lvbiBhbmQgdW5pdHMgd2luIG92ZXIgdGhlXG4vLyBmaWVsZCdzLlxuZXhwb3J0IGZ1bmN0aW9uIHJlcG9ydEdyaWRGb3JtYXR0ZXIoY29udGV4dDogUmVwb3J0R3JpZEZvcm1hdENvbnRleHQpOiBHcmlkRm9ybWF0dGVyIHtcbiAgcmV0dXJuIHtcbiAgICBmb3JtYXQ6ICh2YWx1ZSwgZmllbGQsIHBsYWNlbWVudCkgPT4gZm9ybWF0R3JpZFZhbHVlKGNvbnRleHQsIHZhbHVlLCBmaWVsZCwgcGxhY2VtZW50KSxcbiAgICB0b051bWJlcjogKHRleHQsIGZpZWxkLCBwbGFjZW1lbnQpID0+IHJlYWRHcmlkTnVtYmVyKGNvbnRleHQsIHRleHQsIGZpZWxkLCBwbGFjZW1lbnQpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBmb3JtYXRHcmlkVmFsdWUoXG4gIGNvbnRleHQ6IFJlcG9ydEdyaWRGb3JtYXRDb250ZXh0LFxuICB2YWx1ZTogdW5rbm93bixcbiAgZmllbGQ6IEdyaWRGaWVsZCxcbiAgcGxhY2VtZW50PzogR3JpZFBsYWNlbWVudCxcbik6IHN0cmluZyB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgIGNhc2UgR3JpZEZpZWxkVHlwZS5OdW1iZXI6XG4gICAgICByZXR1cm4gZm9ybWF0R3JpZE51bWJlcihjb250ZXh0LCB2YWx1ZSwgZmllbGQsIHBsYWNlbWVudCk7XG4gICAgY2FzZSBHcmlkRmllbGRUeXBlLkRhdGU6XG4gICAgICByZXR1cm4gZm9ybWF0R3JpZERhdGUoY29udGV4dCwgdmFsdWUsIGZpZWxkLCBwbGFjZW1lbnQpO1xuICAgIGNhc2UgR3JpZEZpZWxkVHlwZS5EYXRldGltZTpcbiAgICAgIHJldHVybiBmb3JtYXRSZXBvcnREYXRlKHZhbHVlLCBjb250ZXh0LnRpbWV6b25lLCBjb250ZXh0LmZvcm1hdC5sb2NhbGUpO1xuICAgIGNhc2UgR3JpZEZpZWxkVHlwZS5Cb29sZWFuOlxuICAgICAgcmV0dXJuIHZhbHVlID8gWUVTIDogTk87XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBvcHRpb25MYWJlbCh2YWx1ZSwgZmllbGQpID8/IFN0cmluZyh2YWx1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZm9ybWF0R3JpZE51bWJlcihcbiAgY29udGV4dDogUmVwb3J0R3JpZEZvcm1hdENvbnRleHQsXG4gIHZhbHVlOiB1bmtub3duLFxuICBmaWVsZDogR3JpZEZpZWxkLFxuICBwbGFjZW1lbnQ/OiBHcmlkUGxhY2VtZW50LFxuKTogc3RyaW5nIHtcbiAgLy8gQSBrZXksIHN1Y2ggYXMgYSBjbGllbnQncyBpZCwgaXMgYSBuYW1lOiBpdHMgZGlnaXRzIHByaW50IGFzIHRoZXkgYXJlLCBuZXZlciBncm91cGVkXG4gIGlmIChmaWVsZC5pZGVudGlmaWVyICYmICFpc0FnZ3JlZ2F0ZShwbGFjZW1lbnQpKSB7XG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gIH1cblxuICBjb25zdCBzcGVjID0gbnVtYmVyU3BlYyhmaWVsZCwgcGxhY2VtZW50KTtcbiAgY29uc3Qgb3V0cHV0ID0gaXNBZ2dyZWdhdGUocGxhY2VtZW50KSA/IG51bGwgOiBjb250ZXh0LnJlcG9ydD8ub3V0cHV0cz8uW2ZpZWxkLm5hbWVdO1xuXG4gIHJldHVybiBvdXRwdXRcbiAgICA/IGZvcm1hdE91dHB1dFZhbHVlKHZhbHVlLCBvdXRwdXQsIHNwZWMsIGNvbnRleHQuZm9ybWF0KS50ZXh0XG4gICAgOiBmb3JtYXROdW1iZXIodmFsdWUsIHNwZWMsIGNvbnRleHQuZm9ybWF0KTtcbn1cblxuLy8gQSBjYWxlbmRhciBkYXRlIGF0IHRoZSBncmFpbiBpdCBwcmludHMgYXQ6IHRoZSBwbGFjZW1lbnQncywgZWxzZSB0aGVcbi8vIGZpZWxkJ3Mgb3duLCB3aGljaCBvbiBhIHRpbWUgYXhpcyBpcyB0aGUgcmVwb3J0J3MgZ3JvdXAtYnkuIEEgcXVhcnRlciByZWFkc1xuLy8gXCJRMyAyMDIzXCIsIGEgbW9udGggXCJKdWwgMjAyM1wiIGFuZCBhIHllYXIgXCIyMDIzXCIsIGFzIHRoZSByZXBvcnQncyBjaGFydHNcbi8vIGxhYmVsIHRoZW0sIHJhdGhlciB0aGFuIGFzIHRoZWlyIGZpcnN0IGRheTsgYSB3ZWVrLCBsaWtlIGEgY2hhcnQncywgcmVhZHMgYXNcbi8vIHRoZSBkYXkgaXQgc3RhcnRzLiBBIGRheSByZWFkcyBhcyB0aGUgcmVwb3J0IHdyaXRlcyBhIGRhdGUuXG5mdW5jdGlvbiBmb3JtYXRHcmlkRGF0ZShcbiAgY29udGV4dDogUmVwb3J0R3JpZEZvcm1hdENvbnRleHQsXG4gIHZhbHVlOiB1bmtub3duLFxuICBmaWVsZDogR3JpZEZpZWxkLFxuICBwbGFjZW1lbnQ/OiBHcmlkUGxhY2VtZW50LFxuKTogc3RyaW5nIHtcbiAgY29uc3QgZ3JhbnVsYXJpdHkgPSAocGxhY2VtZW50IGFzIEdyaWREZXRhaWwgfCBHcmlkTGV2ZWwgfCB1bmRlZmluZWQpPy5ncmFudWxhcml0eSA/PyBmaWVsZC5ncmFudWxhcml0aWVzPy5bMF07XG4gIGNvbnN0IGNoYXJ0R3JhbnVsYXJpdHkgPSAoT2JqZWN0LmtleXMoR1JJRF9HUkFOVUxBUklUSUVTKSBhcyBDaGFydEdyYW51bGFyaXR5W10pXG4gICAgLmZpbmQoKG5hbWUpID0+IEdSSURfR1JBTlVMQVJJVElFU1tuYW1lXSA9PT0gZ3JhbnVsYXJpdHkpO1xuXG4gIHJldHVybiBjaGFydEdyYW51bGFyaXR5ICYmIGNoYXJ0R3JhbnVsYXJpdHkgIT09ICdkYXknICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcbiAgICA/IGZvcm1hdFBlcmlvZExhYmVsKHZhbHVlLnNsaWNlKDAsIDEwKSwgY2hhcnRHcmFudWxhcml0eSwgZmFsc2UsIGNvbnRleHQuZm9ybWF0LmxvY2FsZSwgUmVwb3J0Q2hhcnREYXRlTGFiZWwuTG9uZylcbiAgICA6IGZvcm1hdFJlcG9ydERhdGUodmFsdWUsIGNvbnRleHQudGltZXpvbmUsIGNvbnRleHQuZm9ybWF0LmxvY2FsZSk7XG59XG5cbi8vIFRoZSBmb3JtYXQsIHByZWNpc2lvbiBhbmQgdW5pdHMgYSBudW1iZXIgaXMgd3JpdHRlbiB3aXRoOiB0aGUgcGxhY2VtZW50J3MsXG4vLyBlbHNlIHRoZSBmaWVsZCdzLlxuZnVuY3Rpb24gbnVtYmVyU3BlYyhmaWVsZDogR3JpZEZpZWxkLCBwbGFjZW1lbnQ/OiBHcmlkUGxhY2VtZW50KTogTnVtYmVyRm9ybWF0U3BlYyB7XG4gIGNvbnN0IHBsYWNlZCA9IHBsYWNlbWVudCBhcyBHcmlkVmFsdWUgfCBHcmlkRGV0YWlsIHwgdW5kZWZpbmVkO1xuICBjb25zdCBmb3JtYXQgPSBwbGFjZWQ/LmZvcm1hdCA/PyBmaWVsZC5mb3JtYXQ7XG4gIGNvbnN0IHByZWNpc2lvbiA9IHBsYWNlZD8ucHJlY2lzaW9uID8/IGZpZWxkLnByZWNpc2lvbjtcbiAgY29uc3QgdW5pdHMgPSBwbGFjZWQ/LnVuaXRzID8/IGZpZWxkLnVuaXRzO1xuXG4gIHJldHVybiB7XG4gICAgLi4uKGZvcm1hdCA/IHsgZm9ybWF0OiBWQUxVRV9GT1JNQVRTW2Zvcm1hdF0gfSA6IHt9KSxcbiAgICAuLi4odHlwZW9mIHByZWNpc2lvbiA9PT0gJ251bWJlcicgPyB7IHByZWNpc2lvbiB9IDoge30pLFxuICAgIC4uLih1bml0cyA/IHsgdW5pdHM6IE5VTUJFUl9VTklUU1t1bml0c10gfSA6IHt9KSxcbiAgfTtcbn1cblxuLy8gQSB2YWx1ZSBwbGFjZW1lbnQgaXMgYW4gYWdncmVnYXRlIG9mIHRoZSBmaWVsZCwgbm90IHRoZSBvdXRwdXQgaXRzZWxmLlxuZnVuY3Rpb24gaXNBZ2dyZWdhdGUocGxhY2VtZW50PzogR3JpZFBsYWNlbWVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gISEocGxhY2VtZW50IGFzIEdyaWRWYWx1ZSB8IHVuZGVmaW5lZCk/LmFnZ3JlZ2F0aW9uO1xufVxuXG5mdW5jdGlvbiBvcHRpb25MYWJlbCh2YWx1ZTogdW5rbm93biwgZmllbGQ6IEdyaWRGaWVsZCk6IHN0cmluZyB8IG51bGwge1xuICByZXR1cm4gZmllbGQub3B0aW9ucz8uZmluZCgob3B0aW9uKSA9PiBvcHRpb24ua2V5ID09PSB2YWx1ZSk/LmxhYmVsID8/IG51bGw7XG59XG5cbi8vIEEgbnVtYmVyIGEgdmlld2VyIHR5cGVkLCByZWFkIGluIHRoZSByZXBvcnQncyBsb2NhbGU6IGl0cyBncm91cGluZyBkcm9wcGVkLFxuLy8gaXRzIGRlY2ltYWwgbWFyayByZWFkLCBhIEsgb3IgTSBzdWZmaXggbXVsdGlwbGllZCBvdXQgKGVsc2UgdGhlIGNvbHVtbidzIG93blxuLy8gdGhvdXNhbmRzIG9yIG1pbGxpb25zKSwgYW5kIGEgcGVyY2VudCBvZiBhIHJhdGlvLXBlcmNlbnQgcmVwb3J0IHJlYWQgYmFjayB0b1xuLy8gaXRzIHJhdGlvLiBUaGUgcGxhY2VtZW50J3MgdW5pdHMgYW5kIGZvcm1hdCB3aW4gb3ZlciB0aGUgZmllbGQncywgYXMgdGhleSBkb1xuLy8gd2hlcmUgdGhlIG51bWJlciBpcyB3cml0dGVuIChudW1iZXJTcGVjKS4gbnVsbCB3aGVuIGl0IGlzIG5vIG51bWJlci5cbmZ1bmN0aW9uIHJlYWRHcmlkTnVtYmVyKFxuICBjb250ZXh0OiBSZXBvcnRHcmlkRm9ybWF0Q29udGV4dCxcbiAgdGV4dDogc3RyaW5nLFxuICBmaWVsZDogR3JpZEZpZWxkLFxuICBwbGFjZW1lbnQ/OiBHcmlkVmFsdWUgfCBHcmlkRGV0YWlsLFxuKTogbnVtYmVyIHwgbnVsbCB7XG4gIGNvbnN0IGRlY2ltYWwgPSBkZWNpbWFsTWFyayhjb250ZXh0LmZvcm1hdC5sb2NhbGUpO1xuICBjb25zdCB0cmltbWVkID0gdGV4dC50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgY29uc3QgbXVsdGlwbGllciA9IFVOSVRfU1VGRklYRVNbdHJpbW1lZC5zbGljZSgtMSldXG4gICAgPz8gVFlQRURfVU5JVFNbcGxhY2VtZW50Py51bml0cyA/PyBmaWVsZC51bml0cyA/PyBHcmlkVW5pdHMuTm9uZV1cbiAgICA/PyAxO1xuICBjb25zdCBkaWdpdHMgPSB0cmltbWVkXG4gICAgLnNwbGl0KGRlY2ltYWwpLm1hcCgocGFydCkgPT4gcGFydC5yZXBsYWNlKC9bXjAtOS1dL2csICcnKSkuam9pbignLicpO1xuICBjb25zdCBudW1iZXIgPSBkaWdpdHMgJiYgZGlnaXRzICE9PSAnLScgJiYgZGlnaXRzICE9PSAnLicgPyBOdW1iZXIoZGlnaXRzKSAqIG11bHRpcGxpZXIgOiBOYU47XG5cbiAgaWYgKCFOdW1iZXIuaXNGaW5pdGUobnVtYmVyKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgaXNSYXRpbyA9IChwbGFjZW1lbnQ/LmZvcm1hdCA/PyBmaWVsZC5mb3JtYXQpID09PSBHcmlkRm9ybWF0LlBlcmNlbnQgJiYgY29udGV4dC5mb3JtYXQucmF0aW9QZXJjZW50O1xuICBjb25zdCB2YWx1ZSA9IGlzUmF0aW8gPyBudW1iZXIgLyAxMDAgOiBudW1iZXI7XG5cbiAgcmV0dXJuIG11bHRpcGxpZXIgPT09IDEgJiYgIWlzUmF0aW8gPyB2YWx1ZSA6IE51bWJlcih2YWx1ZS50b1ByZWNpc2lvbihUWVBFRF9ESUdJVFMpKTtcbn1cblxuZnVuY3Rpb24gZGVjaW1hbE1hcmsobG9jYWxlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gbnVtYmVyRm9ybWF0KGxvY2FsZSwge30pLmZvcm1hdFRvUGFydHMoMS41KS5maW5kKChwYXJ0KSA9PiBwYXJ0LnR5cGUgPT09ICdkZWNpbWFsJyk/LnZhbHVlID8/ICcuJztcbn1cbiJdfQ==
|
package/fesm2022/{firestitch-report-echarts-BLr6SmeK.mjs → firestitch-report-echarts-CUVOSBvJ.mjs}
RENAMED
|
@@ -4,7 +4,7 @@ import * as echarts from 'echarts/core';
|
|
|
4
4
|
export { echarts as default };
|
|
5
5
|
import { LabelLayout } from 'echarts/features';
|
|
6
6
|
import { CanvasRenderer } from 'echarts/renderers';
|
|
7
|
-
import { R as REPORT_CHART_COLORS_CSS, a as REPORT_CHART_FONT_FAMILY, b as REPORT_AXIS_LABEL_FONT_SIZE } from './firestitch-report-firestitch-report-
|
|
7
|
+
import { R as REPORT_CHART_COLORS_CSS, a as REPORT_CHART_FONT_FAMILY, b as REPORT_AXIS_LABEL_FONT_SIZE } from './firestitch-report-firestitch-report-CfvBTMrG.mjs';
|
|
8
8
|
|
|
9
9
|
// Tree-shaken ECharts build for the reports renderer: only the chart types and
|
|
10
10
|
// components the option-builder emits are registered, keeping the lazy chunk
|
|
@@ -63,4 +63,4 @@ echarts.registerTheme('report', {
|
|
|
63
63
|
axisLabel: { color: '#52606d', fontSize: REPORT_AXIS_LABEL_FONT_SIZE },
|
|
64
64
|
},
|
|
65
65
|
});
|
|
66
|
-
//# sourceMappingURL=firestitch-report-echarts-
|
|
66
|
+
//# sourceMappingURL=firestitch-report-echarts-CUVOSBvJ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firestitch-report-echarts-
|
|
1
|
+
{"version":3,"file":"firestitch-report-echarts-CUVOSBvJ.mjs","sources":["../../src/app/reports/theme/echarts.ts"],"sourcesContent":["// Tree-shaken ECharts build for the reports renderer: only the chart types and\n// components the option-builder emits are registered, keeping the lazy chunk\n// lean. Loaded on demand by ngx-echarts via provideEchartsCore — see\n// REPORT_ECHARTS_PROVIDERS in reports-echarts.provider.ts.\n//\n// The canvas renderer (not SVG) is deliberate: chart.getDataURL() needs it for\n// the high-res images the PPT/PDF exports will use.\n\nimport { BarChart, LineChart, PieChart } from 'echarts/charts';\nimport {\n DatasetComponent,\n GridComponent,\n LegendComponent,\n MarkAreaComponent,\n MarkLineComponent,\n TooltipComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { LabelLayout } from 'echarts/features';\nimport { CanvasRenderer } from 'echarts/renderers';\n\nimport { REPORT_CHART_COLORS_CSS } from './palette';\nimport { REPORT_AXIS_LABEL_FONT_SIZE, REPORT_CHART_FONT_FAMILY } from './typography';\n\necharts.use([\n BarChart,\n LineChart,\n PieChart,\n GridComponent,\n TooltipComponent,\n LegendComponent,\n DatasetComponent,\n // Reference lines and statistic lines (markLine), reference bands\n // (markArea), and the overlap hiding of 'auto' data labels (LabelLayout).\n MarkLineComponent,\n MarkAreaComponent,\n LabelLayout,\n CanvasRenderer,\n]);\n\n// The house theme — the single place report chart \"standards\" live (palette,\n// typography, tooltip styling). Polished defaults now; refined in the polish\n// phase.\necharts.registerTheme('report', {\n color: REPORT_CHART_COLORS_CSS,\n textStyle: {\n fontFamily: REPORT_CHART_FONT_FAMILY,\n },\n title: {\n textStyle: { color: '#1f2933', fontSize: 14, fontWeight: 600 },\n },\n legend: {\n textStyle: { color: '#52606d', fontSize: 11 },\n },\n tooltip: {\n backgroundColor: 'rgba(31, 41, 51, 0.92)',\n borderWidth: 0,\n textStyle: { color: '#fff', fontSize: 12 },\n },\n categoryAxis: {\n axisLine: { lineStyle: { color: '#cbd2d9' } },\n axisTick: { show: false },\n axisLabel: { color: '#52606d', fontSize: REPORT_AXIS_LABEL_FONT_SIZE },\n splitLine: { show: false },\n },\n valueAxis: {\n axisLine: { show: false },\n axisLabel: { color: '#52606d', fontSize: REPORT_AXIS_LABEL_FONT_SIZE },\n splitLine: { lineStyle: { color: '#e4e7eb' } },\n },\n timeAxis: {\n axisLine: { lineStyle: { color: '#cbd2d9' } },\n axisLabel: { color: '#52606d', fontSize: REPORT_AXIS_LABEL_FONT_SIZE },\n },\n});\n\nexport default echarts;\n"],"names":[],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAkBA,OAAO,CAAC,GAAG,CAAC;IACV,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,aAAa;IACb,gBAAgB;IAChB,eAAe;IACf,gBAAgB;;;IAGhB,iBAAiB;IACjB,iBAAiB;IACjB,WAAW;IACX,cAAc;AACf,CAAA,CAAC,CAAC;AAEH;AACA;AACA;AACA,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE;AAC9B,IAAA,KAAK,EAAE,uBAAuB;AAC9B,IAAA,SAAS,EAAE;AACT,QAAA,UAAU,EAAE,wBAAwB;AACrC,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE;AAC/D,KAAA;AACD,IAAA,MAAM,EAAE;QACN,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;AAC9C,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,eAAe,EAAE,wBAAwB;AACzC,QAAA,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;AAC3C,KAAA;AACD,IAAA,YAAY,EAAE;QACZ,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;AAC7C,QAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QACzB,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,2BAA2B,EAAE;AACtE,QAAA,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;AAC3B,KAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QACzB,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,2BAA2B,EAAE;QACtE,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;AAC/C,KAAA;AACD,IAAA,QAAQ,EAAE;QACR,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;QAC7C,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,2BAA2B,EAAE;AACvE,KAAA;AACF,CAAA,CAAC"}
|
|
@@ -9962,6 +9962,18 @@ const NUMBER_UNITS = {
|
|
|
9962
9962
|
};
|
|
9963
9963
|
// What an abbreviated number's suffix multiplies it by, when a viewer types one.
|
|
9964
9964
|
const UNIT_SUFFIXES = { k: 1e3, m: 1e6 };
|
|
9965
|
+
// A column written in thousands or millions is typed in them: the grid's
|
|
9966
|
+
// filter shows its K or M beside the inputs, so 12 there means 12,000. A K or
|
|
9967
|
+
// M typed after the digits wins, so 12K is still 12,000.
|
|
9968
|
+
const TYPED_UNITS = {
|
|
9969
|
+
[GridUnits.Thousands]: 1e3,
|
|
9970
|
+
[GridUnits.Millions]: 1e6,
|
|
9971
|
+
};
|
|
9972
|
+
// The significant digits a scaled typed number keeps, as fs-grid's own reader
|
|
9973
|
+
// keeps them: scaling leaves binary noise behind (12.3% reads
|
|
9974
|
+
// 0.12300000000000001, 1.005K 1004.9999999999999), which would move a range's
|
|
9975
|
+
// end past the very value it names.
|
|
9976
|
+
const TYPED_DIGITS = 15;
|
|
9965
9977
|
const YES = 'Yes';
|
|
9966
9978
|
const NO = 'No';
|
|
9967
9979
|
// A grid tile's formatter: every value written as the report writes it on
|
|
@@ -10039,20 +10051,25 @@ function optionLabel(value, field) {
|
|
|
10039
10051
|
return field.options?.find((option) => option.key === value)?.label ?? null;
|
|
10040
10052
|
}
|
|
10041
10053
|
// A number a viewer typed, read in the report's locale: its grouping dropped,
|
|
10042
|
-
// its decimal mark read, a K or M suffix multiplied out
|
|
10043
|
-
//
|
|
10054
|
+
// its decimal mark read, a K or M suffix multiplied out (else the column's own
|
|
10055
|
+
// thousands or millions), and a percent of a ratio-percent report read back to
|
|
10056
|
+
// its ratio. The placement's units and format win over the field's, as they do
|
|
10057
|
+
// where the number is written (numberSpec). null when it is no number.
|
|
10044
10058
|
function readGridNumber(context, text, field, placement) {
|
|
10045
10059
|
const decimal = decimalMark(context.format.locale);
|
|
10046
10060
|
const trimmed = text.trim().toLowerCase();
|
|
10047
|
-
const multiplier = UNIT_SUFFIXES[trimmed.slice(-1)]
|
|
10061
|
+
const multiplier = UNIT_SUFFIXES[trimmed.slice(-1)]
|
|
10062
|
+
?? TYPED_UNITS[placement?.units ?? field.units ?? GridUnits.None]
|
|
10063
|
+
?? 1;
|
|
10048
10064
|
const digits = trimmed
|
|
10049
10065
|
.split(decimal).map((part) => part.replace(/[^0-9-]/g, '')).join('.');
|
|
10050
10066
|
const number = digits && digits !== '-' && digits !== '.' ? Number(digits) * multiplier : NaN;
|
|
10051
10067
|
if (!Number.isFinite(number)) {
|
|
10052
10068
|
return null;
|
|
10053
10069
|
}
|
|
10054
|
-
const
|
|
10055
|
-
|
|
10070
|
+
const isRatio = (placement?.format ?? field.format) === GridFormat.Percent && context.format.ratioPercent;
|
|
10071
|
+
const value = isRatio ? number / 100 : number;
|
|
10072
|
+
return multiplier === 1 && !isRatio ? value : Number(value.toPrecision(TYPED_DIGITS));
|
|
10056
10073
|
}
|
|
10057
10074
|
function decimalMark(locale) {
|
|
10058
10075
|
return numberFormat(locale, {}).formatToParts(1.5).find((part) => part.type === 'decimal')?.value ?? '.';
|
|
@@ -15839,7 +15856,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
15839
15856
|
// in the report's format context, as on screen.
|
|
15840
15857
|
async function renderChartImage(component, data, width, height, context, pixelRatio = 3) {
|
|
15841
15858
|
// The same tree-shaken echarts build + 'report' theme the live canvas uses.
|
|
15842
|
-
const echarts = (await import('./firestitch-report-echarts-
|
|
15859
|
+
const echarts = (await import('./firestitch-report-echarts-CUVOSBvJ.mjs')).default;
|
|
15843
15860
|
const host = document.createElement('div');
|
|
15844
15861
|
host.style.width = `${width}px`;
|
|
15845
15862
|
host.style.height = `${height}px`;
|
|
@@ -19532,7 +19549,7 @@ class FsAiReportComponent {
|
|
|
19532
19549
|
ReportAiChatData,
|
|
19533
19550
|
{ provide: FsAiChatData, useExisting: ReportAiChatData },
|
|
19534
19551
|
// Tree-shaken ECharts core + the 'report' house theme, loaded lazily.
|
|
19535
|
-
provideEchartsCore({ echarts: () => import('./firestitch-report-echarts-
|
|
19552
|
+
provideEchartsCore({ echarts: () => import('./firestitch-report-echarts-CUVOSBvJ.mjs').then((module) => module.default) }),
|
|
19536
19553
|
// The bar's date pickers start their weeks on Monday and list the built-in
|
|
19537
19554
|
// presets; a preset only sets the days.
|
|
19538
19555
|
provideReportDatePicker(),
|
|
@@ -19556,7 +19573,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
19556
19573
|
ReportAiChatData,
|
|
19557
19574
|
{ provide: FsAiChatData, useExisting: ReportAiChatData },
|
|
19558
19575
|
// Tree-shaken ECharts core + the 'report' house theme, loaded lazily.
|
|
19559
|
-
provideEchartsCore({ echarts: () => import('./firestitch-report-echarts-
|
|
19576
|
+
provideEchartsCore({ echarts: () => import('./firestitch-report-echarts-CUVOSBvJ.mjs').then((module) => module.default) }),
|
|
19560
19577
|
// The bar's date pickers start their weeks on Monday and list the built-in
|
|
19561
19578
|
// presets; a preset only sets the days.
|
|
19562
19579
|
provideReportDatePicker(),
|
|
@@ -19649,4 +19666,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
19649
19666
|
*/
|
|
19650
19667
|
|
|
19651
19668
|
export { FsAiReportsComponent as F, GRANULARITY_OPTIONS as G, REPORT_CHART_COLORS_CSS as R, REPORT_CHART_FONT_FAMILY as a, REPORT_AXIS_LABEL_FONT_SIZE as b, FsAiReportComponent as c, ReportData as d, ReportService as e, ReportFilterStateService as f, ReportNodeType as g, ReportState as h, ReportValueFormat as i, ReportValueFormula as j, ReportListColumnFormat as k, ReportNumberUnits as l, ReportChartDataLabels as m, ReportChartColor as n, ReportChartLineStyle as o, ReportChartMarkStat as p, ReportChartDateLabel as q, ReportChartSpanThrough as r, ReportChangePolarity as s };
|
|
19652
|
-
//# sourceMappingURL=firestitch-report-firestitch-report-
|
|
19669
|
+
//# sourceMappingURL=firestitch-report-firestitch-report-CfvBTMrG.mjs.map
|