@tipp/ui 2.9.0 → 2.10.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/app/index.js +17 -17
- package/dist/app/platform/edit-coaching-time.js +17 -17
- package/dist/app/platform/edit-service-type.js +17 -17
- package/dist/app/platform/goal-manage-card-edit.js +17 -17
- package/dist/app/platform/on-offline-radio-card.js +17 -17
- package/dist/app/platform/reservation-card.js +17 -17
- package/dist/app/platform/session-card.js +17 -17
- package/dist/app/roleplay/chart/session-chart.cjs +351 -0
- package/dist/app/roleplay/chart/session-chart.cjs.map +1 -0
- package/dist/app/roleplay/chart/session-chart.d.cts +16 -0
- package/dist/app/roleplay/chart/session-chart.d.ts +16 -0
- package/dist/app/roleplay/chart/session-chart.js +14 -0
- package/dist/app/roleplay/chart/session-chart.js.map +1 -0
- package/dist/app/roleplay/index.cjs +5706 -0
- package/dist/app/roleplay/index.cjs.map +1 -0
- package/dist/app/roleplay/index.d.cts +4 -0
- package/dist/app/roleplay/index.d.ts +4 -0
- package/dist/app/roleplay/index.js +182 -0
- package/dist/app/roleplay/index.js.map +1 -0
- package/dist/app/roleplay/parts/analysis-section.cjs +2178 -0
- package/dist/app/roleplay/parts/analysis-section.cjs.map +1 -0
- package/dist/app/roleplay/parts/analysis-section.d.cts +17 -0
- package/dist/app/roleplay/parts/analysis-section.d.ts +17 -0
- package/dist/app/roleplay/parts/analysis-section.js +97 -0
- package/dist/app/roleplay/parts/analysis-section.js.map +1 -0
- package/dist/app/roleplay/parts/coaching-panel.cjs +2191 -0
- package/dist/app/roleplay/parts/coaching-panel.cjs.map +1 -0
- package/dist/app/roleplay/parts/coaching-panel.d.cts +8 -0
- package/dist/app/roleplay/parts/coaching-panel.d.ts +8 -0
- package/dist/app/roleplay/parts/coaching-panel.js +95 -0
- package/dist/app/roleplay/parts/coaching-panel.js.map +1 -0
- package/dist/app/roleplay/parts/content.cjs +4683 -0
- package/dist/app/roleplay/parts/content.cjs.map +1 -0
- package/dist/app/roleplay/parts/content.d.cts +15 -0
- package/dist/app/roleplay/parts/content.d.ts +15 -0
- package/dist/app/roleplay/parts/content.js +174 -0
- package/dist/app/roleplay/parts/content.js.map +1 -0
- package/dist/app/roleplay/parts/header.cjs +2300 -0
- package/dist/app/roleplay/parts/header.cjs.map +1 -0
- package/dist/app/roleplay/parts/header.d.cts +13 -0
- package/dist/app/roleplay/parts/header.d.ts +13 -0
- package/dist/app/roleplay/parts/header.js +96 -0
- package/dist/app/roleplay/parts/header.js.map +1 -0
- package/dist/app/roleplay/parts/score-summary.cjs +2276 -0
- package/dist/app/roleplay/parts/score-summary.cjs.map +1 -0
- package/dist/app/roleplay/parts/score-summary.d.cts +12 -0
- package/dist/app/roleplay/parts/score-summary.d.ts +12 -0
- package/dist/app/roleplay/parts/score-summary.js +96 -0
- package/dist/app/roleplay/parts/score-summary.js.map +1 -0
- package/dist/app/roleplay/parts/score-trend-section.cjs +3686 -0
- package/dist/app/roleplay/parts/score-trend-section.cjs.map +1 -0
- package/dist/app/roleplay/parts/score-trend-section.d.cts +14 -0
- package/dist/app/roleplay/parts/score-trend-section.d.ts +14 -0
- package/dist/app/roleplay/parts/score-trend-section.js +168 -0
- package/dist/app/roleplay/parts/score-trend-section.js.map +1 -0
- package/dist/app/roleplay/parts/script-transcript.cjs +2288 -0
- package/dist/app/roleplay/parts/script-transcript.cjs.map +1 -0
- package/dist/app/roleplay/parts/script-transcript.d.cts +15 -0
- package/dist/app/roleplay/parts/script-transcript.d.ts +15 -0
- package/dist/app/roleplay/parts/script-transcript.js +96 -0
- package/dist/app/roleplay/parts/script-transcript.js.map +1 -0
- package/dist/app/roleplay/parts/section-nav.cjs +2433 -0
- package/dist/app/roleplay/parts/section-nav.cjs.map +1 -0
- package/dist/app/roleplay/parts/section-nav.d.cts +15 -0
- package/dist/app/roleplay/parts/section-nav.d.ts +15 -0
- package/dist/app/roleplay/parts/section-nav.js +96 -0
- package/dist/app/roleplay/parts/section-nav.js.map +1 -0
- package/dist/app/roleplay/parts/session-replay-dialog.cjs +2598 -0
- package/dist/app/roleplay/parts/session-replay-dialog.cjs.map +1 -0
- package/dist/app/roleplay/parts/session-replay-dialog.d.cts +14 -0
- package/dist/app/roleplay/parts/session-replay-dialog.d.ts +14 -0
- package/dist/app/roleplay/parts/session-replay-dialog.js +97 -0
- package/dist/app/roleplay/parts/session-replay-dialog.js.map +1 -0
- package/dist/app/roleplay/parts/step-detail.cjs +2311 -0
- package/dist/app/roleplay/parts/step-detail.cjs.map +1 -0
- package/dist/app/roleplay/parts/step-detail.d.cts +9 -0
- package/dist/app/roleplay/parts/step-detail.d.ts +9 -0
- package/dist/app/roleplay/parts/step-detail.js +96 -0
- package/dist/app/roleplay/parts/step-detail.js.map +1 -0
- package/dist/app/roleplay/parts/step-radar.cjs +463 -0
- package/dist/app/roleplay/parts/step-radar.cjs.map +1 -0
- package/dist/app/roleplay/parts/step-radar.d.cts +8 -0
- package/dist/app/roleplay/parts/step-radar.d.ts +8 -0
- package/dist/app/roleplay/parts/step-radar.js +14 -0
- package/dist/app/roleplay/parts/step-radar.js.map +1 -0
- package/dist/app/roleplay/parts/step-summary.cjs +2651 -0
- package/dist/app/roleplay/parts/step-summary.cjs.map +1 -0
- package/dist/app/roleplay/parts/step-summary.d.cts +8 -0
- package/dist/app/roleplay/parts/step-summary.d.ts +8 -0
- package/dist/app/roleplay/parts/step-summary.js +101 -0
- package/dist/app/roleplay/parts/step-summary.js.map +1 -0
- package/dist/app/roleplay/rp-session-detail.cjs +5703 -0
- package/dist/app/roleplay/rp-session-detail.cjs.map +1 -0
- package/dist/app/roleplay/rp-session-detail.d.cts +17 -0
- package/dist/app/roleplay/rp-session-detail.d.ts +17 -0
- package/dist/app/roleplay/rp-session-detail.js +179 -0
- package/dist/app/roleplay/rp-session-detail.js.map +1 -0
- package/dist/app/roleplay/types.cjs +19 -0
- package/dist/app/roleplay/types.cjs.map +1 -0
- package/dist/app/roleplay/types.d.cts +42 -0
- package/dist/app/roleplay/types.d.ts +42 -0
- package/dist/app/roleplay/types.js +2 -0
- package/dist/app/roleplay/types.js.map +1 -0
- package/dist/app/roleplay/utils/report-parse.cjs +285 -0
- package/dist/app/roleplay/utils/report-parse.cjs.map +1 -0
- package/dist/app/roleplay/utils/report-parse.d.cts +57 -0
- package/dist/app/roleplay/utils/report-parse.d.ts +57 -0
- package/dist/app/roleplay/utils/report-parse.js +8 -0
- package/dist/app/roleplay/utils/report-parse.js.map +1 -0
- package/dist/app/roleplay/utils/report-parse.test.cjs +491 -0
- package/dist/app/roleplay/utils/report-parse.test.cjs.map +1 -0
- package/dist/app/roleplay/utils/report-parse.test.d.cts +2 -0
- package/dist/app/roleplay/utils/report-parse.test.d.ts +2 -0
- package/dist/app/roleplay/utils/report-parse.test.js +237 -0
- package/dist/app/roleplay/utils/report-parse.test.js.map +1 -0
- package/dist/app/roleplay/utils/session-utils.cjs +204 -0
- package/dist/app/roleplay/utils/session-utils.cjs.map +1 -0
- package/dist/app/roleplay/utils/session-utils.d.cts +38 -0
- package/dist/app/roleplay/utils/session-utils.d.ts +38 -0
- package/dist/app/roleplay/utils/session-utils.js +46 -0
- package/dist/app/roleplay/utils/session-utils.js.map +1 -0
- package/dist/chunk-2TOASXPK.js +131 -0
- package/dist/chunk-2TOASXPK.js.map +1 -0
- package/dist/chunk-3UGBMKSQ.js +166 -0
- package/dist/chunk-3UGBMKSQ.js.map +1 -0
- package/dist/chunk-4YAA25AV.js +161 -0
- package/dist/chunk-4YAA25AV.js.map +1 -0
- package/dist/chunk-5QIT4URV.js +87 -0
- package/dist/chunk-5QIT4URV.js.map +1 -0
- package/dist/chunk-6YIKOYBQ.js +185 -0
- package/dist/chunk-6YIKOYBQ.js.map +1 -0
- package/dist/chunk-7MXY3D3Z.js +84 -0
- package/dist/chunk-7MXY3D3Z.js.map +1 -0
- package/dist/chunk-EBFQFOUQ.js +138 -0
- package/dist/chunk-EBFQFOUQ.js.map +1 -0
- package/dist/chunk-EHDUKUML.js +183 -0
- package/dist/chunk-EHDUKUML.js.map +1 -0
- package/dist/{chunk-NEJCZABQ.js → chunk-FJEDSUGU.js} +7 -7
- package/dist/chunk-GA6W62DO.js +101 -0
- package/dist/chunk-GA6W62DO.js.map +1 -0
- package/dist/chunk-KJPBBBVK.js +142 -0
- package/dist/chunk-KJPBBBVK.js.map +1 -0
- package/dist/{chunk-TQTCT7DC.js → chunk-LRNO4W2P.js} +5 -5
- package/dist/{chunk-6DWUGXSY.js → chunk-N242VJOP.js} +2 -2
- package/dist/chunk-NKW6BO5R.js +264 -0
- package/dist/chunk-NKW6BO5R.js.map +1 -0
- package/dist/{chunk-R5UDNKV2.js → chunk-O332K3SW.js} +2 -2
- package/dist/chunk-OUP3VFXG.js +1 -0
- package/dist/chunk-OUP3VFXG.js.map +1 -0
- package/dist/chunk-QMAINJ4G.js +190 -0
- package/dist/chunk-QMAINJ4G.js.map +1 -0
- package/dist/{chunk-KLJVIEFW.js → chunk-SOKGYD5B.js} +7 -7
- package/dist/chunk-T7LKMJVA.js +142 -0
- package/dist/chunk-T7LKMJVA.js.map +1 -0
- package/dist/chunk-TFJJKM3W.js +261 -0
- package/dist/chunk-TFJJKM3W.js.map +1 -0
- package/dist/{chunk-KQ3ME6XY.js → chunk-U2EAXN3Y.js} +4 -4
- package/dist/chunk-UXAEOCOH.js +150 -0
- package/dist/chunk-UXAEOCOH.js.map +1 -0
- package/dist/chunk-XM4GWPXC.js +236 -0
- package/dist/chunk-XM4GWPXC.js.map +1 -0
- package/dist/index.css +76 -0
- package/dist/index.js +32 -32
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +5 -5
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +7 -7
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +8 -8
- package/dist/molecules/curriculumV2/CurriculumContents/index.js +9 -9
- package/dist/molecules/curriculumV2/index.js +11 -11
- package/dist/molecules/dynamic-form-editor.js +2 -2
- package/dist/molecules/index.js +29 -29
- package/package.json +28 -2
- package/src/app/roleplay/chart/session-chart.tsx +185 -0
- package/src/app/roleplay/index.ts +8 -0
- package/src/app/roleplay/parts/analysis-section.tsx +98 -0
- package/src/app/roleplay/parts/coaching-panel.tsx +101 -0
- package/src/app/roleplay/parts/content.tsx +146 -0
- package/src/app/roleplay/parts/header.tsx +168 -0
- package/src/app/roleplay/parts/score-summary.tsx +158 -0
- package/src/app/roleplay/parts/score-trend-section.tsx +255 -0
- package/src/app/roleplay/parts/script-transcript.tsx +190 -0
- package/src/app/roleplay/parts/section-nav.tsx +299 -0
- package/src/app/roleplay/parts/session-replay-dialog.tsx +168 -0
- package/src/app/roleplay/parts/step-detail.tsx +173 -0
- package/src/app/roleplay/parts/step-radar.tsx +80 -0
- package/src/app/roleplay/parts/step-summary.tsx +149 -0
- package/src/app/roleplay/rp-session-detail.tsx +176 -0
- package/src/app/roleplay/types.ts +61 -0
- package/src/app/roleplay/utils/report-parse.test.ts +268 -0
- package/src/app/roleplay/utils/report-parse.ts +443 -0
- package/src/app/roleplay/utils/session-utils.ts +215 -0
- package/src/constrant/trainingLog.dummy.json +1 -0
- /package/dist/{chunk-NEJCZABQ.js.map → chunk-FJEDSUGU.js.map} +0 -0
- /package/dist/{chunk-TQTCT7DC.js.map → chunk-LRNO4W2P.js.map} +0 -0
- /package/dist/{chunk-6DWUGXSY.js.map → chunk-N242VJOP.js.map} +0 -0
- /package/dist/{chunk-R5UDNKV2.js.map → chunk-O332K3SW.js.map} +0 -0
- /package/dist/{chunk-KLJVIEFW.js.map → chunk-SOKGYD5B.js.map} +0 -0
- /package/dist/{chunk-KQ3ME6XY.js.map → chunk-U2EAXN3Y.js.map} +0 -0
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __defProps = Object.defineProperties;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
8
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
9
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
10
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
13
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
14
|
+
var __spreadValues = (a, b) => {
|
|
15
|
+
for (var prop in b || (b = {}))
|
|
16
|
+
if (__hasOwnProp.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
if (__getOwnPropSymbols)
|
|
19
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
20
|
+
if (__propIsEnum.call(b, prop))
|
|
21
|
+
__defNormalProp(a, prop, b[prop]);
|
|
22
|
+
}
|
|
23
|
+
return a;
|
|
24
|
+
};
|
|
25
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
26
|
+
var __objRest = (source, exclude) => {
|
|
27
|
+
var target = {};
|
|
28
|
+
for (var prop in source)
|
|
29
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
30
|
+
target[prop] = source[prop];
|
|
31
|
+
if (source != null && __getOwnPropSymbols)
|
|
32
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
33
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
34
|
+
target[prop] = source[prop];
|
|
35
|
+
}
|
|
36
|
+
return target;
|
|
37
|
+
};
|
|
38
|
+
var __export = (target, all) => {
|
|
39
|
+
for (var name in all)
|
|
40
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
41
|
+
};
|
|
42
|
+
var __copyProps = (to, from, except, desc) => {
|
|
43
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
44
|
+
for (let key of __getOwnPropNames(from))
|
|
45
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
46
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
47
|
+
}
|
|
48
|
+
return to;
|
|
49
|
+
};
|
|
50
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
51
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
52
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
53
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
54
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
55
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
56
|
+
mod
|
|
57
|
+
));
|
|
58
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
59
|
+
|
|
60
|
+
// src/app/roleplay/chart/session-chart.tsx
|
|
61
|
+
var session_chart_exports = {};
|
|
62
|
+
__export(session_chart_exports, {
|
|
63
|
+
Chart: () => Chart,
|
|
64
|
+
useTokenColors: () => useTokenColors
|
|
65
|
+
});
|
|
66
|
+
module.exports = __toCommonJS(session_chart_exports);
|
|
67
|
+
var import_react = require("react");
|
|
68
|
+
var import_react_resize_detector = require("react-resize-detector");
|
|
69
|
+
var echarts = __toESM(require("echarts/core"), 1);
|
|
70
|
+
var ReactEChartsCoreNs = __toESM(require("echarts-for-react/lib/core"), 1);
|
|
71
|
+
var import_charts = require("echarts/charts");
|
|
72
|
+
var import_renderers = require("echarts/renderers");
|
|
73
|
+
var import_components = require("echarts/components");
|
|
74
|
+
|
|
75
|
+
// src/charts/horizontal-bar-chart.tsx
|
|
76
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
77
|
+
|
|
78
|
+
// src/charts/chart-theme.json
|
|
79
|
+
var chart_theme_default = {
|
|
80
|
+
version: 1,
|
|
81
|
+
themeName: "customed",
|
|
82
|
+
theme: {
|
|
83
|
+
seriesCnt: "5",
|
|
84
|
+
backgroundColor: "rgba(0,0,0,0)",
|
|
85
|
+
titleColor: "#1c2024",
|
|
86
|
+
subtitleColor: "#8d8d8d",
|
|
87
|
+
textColorShow: false,
|
|
88
|
+
textColor: "#333",
|
|
89
|
+
markTextColor: "#ffffff",
|
|
90
|
+
color: [
|
|
91
|
+
"#ffe629",
|
|
92
|
+
"#3e63dd",
|
|
93
|
+
"#ec9455",
|
|
94
|
+
"#5bb98b",
|
|
95
|
+
"#cb1d63",
|
|
96
|
+
"#3ba272",
|
|
97
|
+
"#fc8452",
|
|
98
|
+
"#9a60b4",
|
|
99
|
+
"#ea7ccc"
|
|
100
|
+
],
|
|
101
|
+
borderColor: "#8d8d8d",
|
|
102
|
+
borderWidth: 0,
|
|
103
|
+
visualMapColor: ["#bf444c", "#d88273", "#f6efa6"],
|
|
104
|
+
legendTextColor: "#1c2024",
|
|
105
|
+
kColor: "#eb5454",
|
|
106
|
+
kColor0: "#47b262",
|
|
107
|
+
kBorderColor: "#eb5454",
|
|
108
|
+
kBorderColor0: "#47b262",
|
|
109
|
+
kBorderWidth: 1,
|
|
110
|
+
lineWidth: 2,
|
|
111
|
+
symbolSize: 4,
|
|
112
|
+
symbol: "emptyCircle",
|
|
113
|
+
symbolBorderWidth: 1,
|
|
114
|
+
lineSmooth: false,
|
|
115
|
+
graphLineWidth: 1,
|
|
116
|
+
graphLineColor: "#aaa",
|
|
117
|
+
mapLabelColor: "#000",
|
|
118
|
+
mapLabelColorE: "rgb(100,0,0)",
|
|
119
|
+
mapBorderColor: "#444",
|
|
120
|
+
mapBorderColorE: "#444",
|
|
121
|
+
mapBorderWidth: 0.5,
|
|
122
|
+
mapBorderWidthE: 1,
|
|
123
|
+
mapAreaColor: "#eee",
|
|
124
|
+
mapAreaColorE: "rgba(255,215,0,0.8)",
|
|
125
|
+
axes: [
|
|
126
|
+
{
|
|
127
|
+
type: "all",
|
|
128
|
+
name: "\u901A\u7528\u5750\u6807\u8F74",
|
|
129
|
+
axisLineShow: true,
|
|
130
|
+
axisLineColor: "#6E7079",
|
|
131
|
+
axisTickShow: true,
|
|
132
|
+
axisTickColor: "#6E7079",
|
|
133
|
+
axisLabelShow: true,
|
|
134
|
+
axisLabelColor: "#6E7079",
|
|
135
|
+
splitLineShow: true,
|
|
136
|
+
splitLineColor: ["#E0E6F1"],
|
|
137
|
+
splitAreaShow: false,
|
|
138
|
+
splitAreaColor: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: "category",
|
|
142
|
+
name: "\u7C7B\u76EE\u5750\u6807\u8F74",
|
|
143
|
+
axisLineShow: true,
|
|
144
|
+
axisLineColor: "#6E7079",
|
|
145
|
+
axisTickShow: true,
|
|
146
|
+
axisTickColor: "#6E7079",
|
|
147
|
+
axisLabelShow: true,
|
|
148
|
+
axisLabelColor: "#6E7079",
|
|
149
|
+
splitLineShow: false,
|
|
150
|
+
splitLineColor: ["#E0E6F1"],
|
|
151
|
+
splitAreaShow: false,
|
|
152
|
+
splitAreaColor: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
type: "value",
|
|
156
|
+
name: "\u6570\u503C\u5750\u6807\u8F74",
|
|
157
|
+
axisLineShow: false,
|
|
158
|
+
axisLineColor: "#6E7079",
|
|
159
|
+
axisTickShow: false,
|
|
160
|
+
axisTickColor: "#6E7079",
|
|
161
|
+
axisLabelShow: true,
|
|
162
|
+
axisLabelColor: "#6E7079",
|
|
163
|
+
splitLineShow: true,
|
|
164
|
+
splitLineColor: ["#E0E6F1"],
|
|
165
|
+
splitAreaShow: false,
|
|
166
|
+
splitAreaColor: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: "log",
|
|
170
|
+
name: "\u5BF9\u6570\u5750\u6807\u8F74",
|
|
171
|
+
axisLineShow: false,
|
|
172
|
+
axisLineColor: "#6E7079",
|
|
173
|
+
axisTickShow: false,
|
|
174
|
+
axisTickColor: "#6E7079",
|
|
175
|
+
axisLabelShow: true,
|
|
176
|
+
axisLabelColor: "#6E7079",
|
|
177
|
+
splitLineShow: true,
|
|
178
|
+
splitLineColor: ["#E0E6F1"],
|
|
179
|
+
splitAreaShow: false,
|
|
180
|
+
splitAreaColor: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
type: "time",
|
|
184
|
+
name: "\u65F6\u95F4\u5750\u6807\u8F74",
|
|
185
|
+
axisLineShow: true,
|
|
186
|
+
axisLineColor: "#6E7079",
|
|
187
|
+
axisTickShow: true,
|
|
188
|
+
axisTickColor: "#6E7079",
|
|
189
|
+
axisLabelShow: true,
|
|
190
|
+
axisLabelColor: "#6E7079",
|
|
191
|
+
splitLineShow: false,
|
|
192
|
+
splitLineColor: ["#E0E6F1"],
|
|
193
|
+
splitAreaShow: false,
|
|
194
|
+
splitAreaColor: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
|
|
195
|
+
}
|
|
196
|
+
],
|
|
197
|
+
axisSeperateSetting: true,
|
|
198
|
+
toolboxColor: "#8d8d8d",
|
|
199
|
+
toolboxEmphasisColor: "#1c2024",
|
|
200
|
+
tooltipAxisColor: "#cccccc",
|
|
201
|
+
tooltipAxisWidth: 1,
|
|
202
|
+
timelineLineColor: "#dae1f5",
|
|
203
|
+
timelineLineWidth: 2,
|
|
204
|
+
timelineItemColor: "#a4b1d7",
|
|
205
|
+
timelineItemColorE: "#ffffff",
|
|
206
|
+
timelineCheckColor: "#316bf3",
|
|
207
|
+
timelineCheckBorderColor: "#ffffff",
|
|
208
|
+
timelineItemBorderWidth: 1,
|
|
209
|
+
timelineControlColor: "#a4b1d7",
|
|
210
|
+
timelineControlBorderColor: "#a4b1d7",
|
|
211
|
+
timelineControlBorderWidth: 1,
|
|
212
|
+
timelineLabelColor: "#a4b1d7"
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
// src/charts/chart-default-props.tsx
|
|
217
|
+
var EchartDefaultProps = {
|
|
218
|
+
opts: { renderer: "svg" },
|
|
219
|
+
theme: chart_theme_default,
|
|
220
|
+
option: {
|
|
221
|
+
textStyle: { fontFamily: "Pretendard Variable" },
|
|
222
|
+
tooltip: { textStyle: { fontSize: 16 } }
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
// src/app/roleplay/chart/session-chart.tsx
|
|
227
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
228
|
+
function unwrapDefault(mod) {
|
|
229
|
+
let current = mod;
|
|
230
|
+
while (current !== null && typeof current === "object" && "default" in current) {
|
|
231
|
+
current = current.default;
|
|
232
|
+
}
|
|
233
|
+
return current;
|
|
234
|
+
}
|
|
235
|
+
function isComponentType(value) {
|
|
236
|
+
return typeof value === "function";
|
|
237
|
+
}
|
|
238
|
+
var unwrappedChart = unwrapDefault(ReactEChartsCoreNs);
|
|
239
|
+
var ReactEChartsCore = isComponentType(unwrappedChart) ? unwrappedChart : ReactEChartsCoreNs.default;
|
|
240
|
+
echarts.use([
|
|
241
|
+
import_renderers.SVGRenderer,
|
|
242
|
+
import_charts.LineChart,
|
|
243
|
+
import_charts.RadarChart,
|
|
244
|
+
import_components.TooltipComponent,
|
|
245
|
+
import_components.GridComponent,
|
|
246
|
+
import_components.LegendComponent,
|
|
247
|
+
import_components.AriaComponent,
|
|
248
|
+
import_components.AxisPointerComponent,
|
|
249
|
+
import_components.PolarComponent,
|
|
250
|
+
import_components.RadarComponent
|
|
251
|
+
]);
|
|
252
|
+
function deepMerge(base, override) {
|
|
253
|
+
if (!override) return base;
|
|
254
|
+
if (typeof base !== "object" || !base || Array.isArray(base) || typeof override !== "object" || Array.isArray(override)) {
|
|
255
|
+
return override;
|
|
256
|
+
}
|
|
257
|
+
const out = __spreadValues({}, base);
|
|
258
|
+
for (const [k, v] of Object.entries(override)) {
|
|
259
|
+
out[k] = k in out ? deepMerge(out[k], v) : v;
|
|
260
|
+
}
|
|
261
|
+
return out;
|
|
262
|
+
}
|
|
263
|
+
function Chart(_a) {
|
|
264
|
+
var _b = _a, {
|
|
265
|
+
option: optionProp
|
|
266
|
+
} = _b, rest = __objRest(_b, [
|
|
267
|
+
"option"
|
|
268
|
+
]);
|
|
269
|
+
const { width, height, ref } = (0, import_react_resize_detector.useResizeDetector)({
|
|
270
|
+
handleHeight: true,
|
|
271
|
+
refreshMode: "debounce",
|
|
272
|
+
refreshRate: 100
|
|
273
|
+
});
|
|
274
|
+
const [mounted, setMounted] = (0, import_react.useState)(false);
|
|
275
|
+
(0, import_react.useEffect)(() => {
|
|
276
|
+
setMounted(true);
|
|
277
|
+
}, []);
|
|
278
|
+
const option = (0, import_react.useMemo)(() => {
|
|
279
|
+
const baseOption = {
|
|
280
|
+
textStyle: { fontFamily: "var(--default-font-family, 'Noto Sans KR')" },
|
|
281
|
+
tooltip: { textStyle: { fontSize: 13 } },
|
|
282
|
+
// ds-allow: chart-lib
|
|
283
|
+
animation: false
|
|
284
|
+
};
|
|
285
|
+
return deepMerge(baseOption, optionProp);
|
|
286
|
+
}, [optionProp]);
|
|
287
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { ref, style: { width: "100%", height: "100%" }, children: mounted ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
288
|
+
ReactEChartsCore,
|
|
289
|
+
__spreadProps(__spreadValues(__spreadProps(__spreadValues({}, EchartDefaultProps), {
|
|
290
|
+
echarts,
|
|
291
|
+
opts: { renderer: "svg" },
|
|
292
|
+
style: { height, width }
|
|
293
|
+
}), rest), {
|
|
294
|
+
option
|
|
295
|
+
})
|
|
296
|
+
) : null });
|
|
297
|
+
}
|
|
298
|
+
function normalizeColor(value, fallback) {
|
|
299
|
+
const v = value.trim();
|
|
300
|
+
if (!v) return fallback;
|
|
301
|
+
if (/^#|^rgb|^hsl/i.test(v)) return v;
|
|
302
|
+
try {
|
|
303
|
+
const canvas = document.createElement("canvas");
|
|
304
|
+
const ctx = canvas.getContext("2d");
|
|
305
|
+
if (!ctx) return fallback;
|
|
306
|
+
ctx.fillStyle = "#000";
|
|
307
|
+
ctx.fillStyle = v;
|
|
308
|
+
const out = ctx.fillStyle;
|
|
309
|
+
return /color\(|^$/i.test(out) ? fallback : out;
|
|
310
|
+
} catch (e) {
|
|
311
|
+
return fallback;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
function useTokenColors(vars) {
|
|
315
|
+
const probeRef = (0, import_react.useRef)(null);
|
|
316
|
+
const fallbacks = (0, import_react.useMemo)(() => {
|
|
317
|
+
const f = {};
|
|
318
|
+
for (const k of Object.keys(vars)) f[k] = vars[k][1];
|
|
319
|
+
return f;
|
|
320
|
+
}, [vars]);
|
|
321
|
+
const [resolved, setResolved] = (0, import_react.useState)(fallbacks);
|
|
322
|
+
const key = JSON.stringify(vars);
|
|
323
|
+
const varsRef = (0, import_react.useRef)(vars);
|
|
324
|
+
varsRef.current = vars;
|
|
325
|
+
(0, import_react.useEffect)(() => {
|
|
326
|
+
const el = probeRef.current;
|
|
327
|
+
if (!el) return;
|
|
328
|
+
const cs = getComputedStyle(el);
|
|
329
|
+
const next = {};
|
|
330
|
+
for (const k of Object.keys(varsRef.current)) {
|
|
331
|
+
const [cssVar, fallback] = varsRef.current[k];
|
|
332
|
+
next[k] = normalizeColor(cs.getPropertyValue(cssVar), fallback);
|
|
333
|
+
}
|
|
334
|
+
setResolved(next);
|
|
335
|
+
}, [key]);
|
|
336
|
+
const probe = /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
337
|
+
"span",
|
|
338
|
+
{
|
|
339
|
+
"aria-hidden": true,
|
|
340
|
+
ref: probeRef,
|
|
341
|
+
style: { position: "absolute", width: 0, height: 0, overflow: "hidden" }
|
|
342
|
+
}
|
|
343
|
+
);
|
|
344
|
+
return { colors: resolved, probe };
|
|
345
|
+
}
|
|
346
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
347
|
+
0 && (module.exports = {
|
|
348
|
+
Chart,
|
|
349
|
+
useTokenColors
|
|
350
|
+
});
|
|
351
|
+
//# sourceMappingURL=session-chart.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/app/roleplay/chart/session-chart.tsx","../../../../src/charts/horizontal-bar-chart.tsx","../../../../src/charts/chart-theme.json","../../../../src/charts/chart-default-props.tsx"],"sourcesContent":["'use client';\n\n// echarts 기반 Chart 래퍼 + 토큰 색 해석 훅.\n// echarts 본체/echarts-for-react/react-resize-detector 는 @tipp/ui 의 optional peerDependency.\n// 이 모듈은 subpath(@tipp/ui/roleplay)로만 노출되어 메인 번들에서 격리된다.\n// SSR 안전: echarts/ResizeObserver 는 클라이언트 전용이라 마운트 이후에만 렌더한다.\n\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { useResizeDetector } from 'react-resize-detector';\nimport type { EChartsOption } from 'echarts';\nimport * as echarts from 'echarts/core';\nimport * as ReactEChartsCoreNs from 'echarts-for-react/lib/core';\nimport { LineChart, RadarChart } from 'echarts/charts';\nimport { SVGRenderer } from 'echarts/renderers';\nimport {\n AxisPointerComponent,\n AriaComponent,\n TooltipComponent,\n GridComponent,\n LegendComponent,\n PolarComponent,\n RadarComponent,\n} from 'echarts/components';\nimport { EchartDefaultProps } from '../../../charts';\n\n// CJS/ESM interop 정규화.\n// echarts-for-react/lib/core 는 CJS(exports.default = 클래스)이고 @tipp/ui 는 strict ESM(\"type\":\"module\")\n// 이라, 번들러/런타임에 따라 실제 컴포넌트가 default 로 0~2 겹 감싸진다. 특히 webpack 이 __esModule 를\n// 무시하면 module.exports 를 한 번 더 감싸 ReactEChartsCoreNs.default.default 에 클래스가 들어가고,\n// 그대로 렌더하면 React 가 \"Element type is invalid (got: object)\" 로 던진다.\n// 함수(클래스/함수형 컴포넌트)가 나올 때까지 default 를 풀어 정규화한다.\ntype EChartsComponentType = typeof ReactEChartsCoreNs.default;\n\nfunction unwrapDefault(mod: unknown): unknown {\n let current = mod;\n while (current !== null && typeof current === 'object' && 'default' in current) {\n current = current.default;\n }\n return current;\n}\n\nfunction isComponentType(value: unknown): value is EChartsComponentType {\n return typeof value === 'function';\n}\n\nconst unwrappedChart = unwrapDefault(ReactEChartsCoreNs);\nconst ReactEChartsCore: EChartsComponentType = isComponentType(unwrappedChart)\n ? unwrappedChart\n : ReactEChartsCoreNs.default;\n\necharts.use([\n SVGRenderer,\n LineChart,\n RadarChart,\n TooltipComponent,\n GridComponent,\n LegendComponent,\n AriaComponent,\n AxisPointerComponent,\n PolarComponent,\n RadarComponent,\n]);\n\n// base/option 깊은 병합 (배열은 option 우선)\nfunction deepMerge<T>(base: T, override: unknown): T {\n if (!override) return base;\n if (\n typeof base !== 'object' ||\n !base ||\n Array.isArray(base) ||\n typeof override !== 'object' ||\n Array.isArray(override)\n ) {\n return override as T;\n }\n const out: Record<string, unknown> = { ...(base as Record<string, unknown>) };\n for (const [k, v] of Object.entries(override as Record<string, unknown>)) {\n out[k] = k in out ? deepMerge(out[k], v) : v;\n }\n return out as T;\n}\n\nexport type ChartProps = Omit<\n React.ComponentProps<typeof ReactEChartsCore>,\n 'option' | 'echarts'\n> & {\n option: EChartsOption;\n};\n\nexport function Chart({\n option: optionProp,\n ...rest\n}: ChartProps): React.ReactElement {\n const { width, height, ref } = useResizeDetector({\n handleHeight: true,\n refreshMode: 'debounce',\n refreshRate: 100,\n });\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n\n const option = useMemo(() => {\n const baseOption: EChartsOption = {\n textStyle: { fontFamily: \"var(--default-font-family, 'Noto Sans KR')\" },\n tooltip: { textStyle: { fontSize: 13 } }, // ds-allow: chart-lib\n animation: false,\n };\n return deepMerge(baseOption, optionProp);\n }, [optionProp]);\n\n return (\n <div ref={ref} style={{ width: '100%', height: '100%' }}>\n {mounted ? (\n <ReactEChartsCore\n {...EchartDefaultProps}\n echarts={echarts}\n opts={{ renderer: 'svg' }}\n style={{ height, width }}\n {...rest}\n option={option}\n />\n ) : null}\n </div>\n );\n}\n\n// 임의의 CSS 색 문자열을 echarts(zrender)가 파싱 가능한 rgb(a)로 정규화한다.\nfunction normalizeColor(value: string, fallback: string): string {\n const v = value.trim();\n if (!v) return fallback;\n if (/^#|^rgb|^hsl/i.test(v)) return v;\n try {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n if (!ctx) return fallback;\n ctx.fillStyle = '#000';\n ctx.fillStyle = v;\n const out = ctx.fillStyle;\n return /color\\(|^$/i.test(out) ? fallback : out;\n } catch {\n return fallback;\n }\n}\n\n// @tipp/ui 토큰(CSS 변수)을 echarts 가 먹을 수 있는 실제 색 문자열로 해석하는 훅.\nexport function useTokenColors<K extends string>(\n vars: Record<K, [cssVar: string, fallback: string]>\n): {\n colors: Record<K, string>;\n probe: React.ReactNode;\n} {\n const probeRef = useRef<HTMLSpanElement | null>(null);\n const fallbacks = useMemo(() => {\n const f = {} as Record<K, string>;\n for (const k of Object.keys(vars) as K[]) f[k] = vars[k][1];\n return f;\n }, [vars]);\n const [resolved, setResolved] = useState<Record<K, string>>(fallbacks);\n const key = JSON.stringify(vars);\n // vars 객체는 매 렌더 새 참조라 deps에 직접 넣을 수 없어 ref로 최신값을 참조하고,\n // 실제 변경 추적은 직렬화한 key 로 한다.\n const varsRef = useRef(vars);\n varsRef.current = vars;\n useEffect(() => {\n const el = probeRef.current;\n if (!el) return;\n const cs = getComputedStyle(el);\n const next = {} as Record<K, string>;\n for (const k of Object.keys(varsRef.current) as K[]) {\n const [cssVar, fallback] = varsRef.current[k];\n next[k] = normalizeColor(cs.getPropertyValue(cssVar), fallback);\n }\n setResolved(next);\n }, [key]);\n const probe = (\n <span\n aria-hidden\n ref={probeRef}\n style={{ position: 'absolute', width: 0, height: 0, overflow: 'hidden' }}\n />\n );\n return { colors: resolved, probe };\n}\n","import React from 'react';\n\nexport interface HorizontalBarChartProps {\n /** 100% 바가 뜻하는 전체 값 */\n total: number;\n /** 화면에 채워져보이는 값 */\n value: number;\n /** 배경 색상 */\n backgroundColor?: string;\n /** 바의 색상 */\n barColor?: string;\n /** 바의 높이 */\n height?: number;\n /**\n * 바의 모서리 둥글기. 숫자는 px로 처리된다.\n * 생략 시 완전히 둥근 형태(pill), `0`이면 완전 사각형.\n */\n borderRadius?: number | string;\n}\n\nexport function HorizontalBarChart(\n props: HorizontalBarChartProps\n): React.ReactNode {\n const { total, value, backgroundColor, barColor, height, borderRadius } =\n props;\n return (\n <div\n className=\"tipp_horizontal-bar-chart bar-wrapper\"\n style={{ height, backgroundColor, borderRadius }}\n >\n <div\n style={{\n width: `${Math.round((value / total) * 100)}%`,\n height: '100%',\n }}\n >\n <div className=\"bar\" style={{ backgroundColor: barColor }} />\n </div>\n </div>\n );\n}\n","{\n \"version\": 1,\n \"themeName\": \"customed\",\n \"theme\": {\n \"seriesCnt\": \"5\",\n \"backgroundColor\": \"rgba(0,0,0,0)\",\n \"titleColor\": \"#1c2024\",\n \"subtitleColor\": \"#8d8d8d\",\n \"textColorShow\": false,\n \"textColor\": \"#333\",\n \"markTextColor\": \"#ffffff\",\n \"color\": [\n \"#ffe629\",\n \"#3e63dd\",\n \"#ec9455\",\n \"#5bb98b\",\n \"#cb1d63\",\n \"#3ba272\",\n \"#fc8452\",\n \"#9a60b4\",\n \"#ea7ccc\"\n ],\n \"borderColor\": \"#8d8d8d\",\n \"borderWidth\": 0,\n \"visualMapColor\": [\"#bf444c\", \"#d88273\", \"#f6efa6\"],\n \"legendTextColor\": \"#1c2024\",\n \"kColor\": \"#eb5454\",\n \"kColor0\": \"#47b262\",\n \"kBorderColor\": \"#eb5454\",\n \"kBorderColor0\": \"#47b262\",\n \"kBorderWidth\": 1,\n \"lineWidth\": 2,\n \"symbolSize\": 4,\n \"symbol\": \"emptyCircle\",\n \"symbolBorderWidth\": 1,\n \"lineSmooth\": false,\n \"graphLineWidth\": 1,\n \"graphLineColor\": \"#aaa\",\n \"mapLabelColor\": \"#000\",\n \"mapLabelColorE\": \"rgb(100,0,0)\",\n \"mapBorderColor\": \"#444\",\n \"mapBorderColorE\": \"#444\",\n \"mapBorderWidth\": 0.5,\n \"mapBorderWidthE\": 1,\n \"mapAreaColor\": \"#eee\",\n \"mapAreaColorE\": \"rgba(255,215,0,0.8)\",\n \"axes\": [\n {\n \"type\": \"all\",\n \"name\": \"通用坐标轴\",\n \"axisLineShow\": true,\n \"axisLineColor\": \"#6E7079\",\n \"axisTickShow\": true,\n \"axisTickColor\": \"#6E7079\",\n \"axisLabelShow\": true,\n \"axisLabelColor\": \"#6E7079\",\n \"splitLineShow\": true,\n \"splitLineColor\": [\"#E0E6F1\"],\n \"splitAreaShow\": false,\n \"splitAreaColor\": [\"rgba(250,250,250,0.2)\", \"rgba(210,219,238,0.2)\"]\n },\n {\n \"type\": \"category\",\n \"name\": \"类目坐标轴\",\n \"axisLineShow\": true,\n \"axisLineColor\": \"#6E7079\",\n \"axisTickShow\": true,\n \"axisTickColor\": \"#6E7079\",\n \"axisLabelShow\": true,\n \"axisLabelColor\": \"#6E7079\",\n \"splitLineShow\": false,\n \"splitLineColor\": [\"#E0E6F1\"],\n \"splitAreaShow\": false,\n \"splitAreaColor\": [\"rgba(250,250,250,0.2)\", \"rgba(210,219,238,0.2)\"]\n },\n {\n \"type\": \"value\",\n \"name\": \"数值坐标轴\",\n \"axisLineShow\": false,\n \"axisLineColor\": \"#6E7079\",\n \"axisTickShow\": false,\n \"axisTickColor\": \"#6E7079\",\n \"axisLabelShow\": true,\n \"axisLabelColor\": \"#6E7079\",\n \"splitLineShow\": true,\n \"splitLineColor\": [\"#E0E6F1\"],\n \"splitAreaShow\": false,\n \"splitAreaColor\": [\"rgba(250,250,250,0.2)\", \"rgba(210,219,238,0.2)\"]\n },\n {\n \"type\": \"log\",\n \"name\": \"对数坐标轴\",\n \"axisLineShow\": false,\n \"axisLineColor\": \"#6E7079\",\n \"axisTickShow\": false,\n \"axisTickColor\": \"#6E7079\",\n \"axisLabelShow\": true,\n \"axisLabelColor\": \"#6E7079\",\n \"splitLineShow\": true,\n \"splitLineColor\": [\"#E0E6F1\"],\n \"splitAreaShow\": false,\n \"splitAreaColor\": [\"rgba(250,250,250,0.2)\", \"rgba(210,219,238,0.2)\"]\n },\n {\n \"type\": \"time\",\n \"name\": \"时间坐标轴\",\n \"axisLineShow\": true,\n \"axisLineColor\": \"#6E7079\",\n \"axisTickShow\": true,\n \"axisTickColor\": \"#6E7079\",\n \"axisLabelShow\": true,\n \"axisLabelColor\": \"#6E7079\",\n \"splitLineShow\": false,\n \"splitLineColor\": [\"#E0E6F1\"],\n \"splitAreaShow\": false,\n \"splitAreaColor\": [\"rgba(250,250,250,0.2)\", \"rgba(210,219,238,0.2)\"]\n }\n ],\n \"axisSeperateSetting\": true,\n \"toolboxColor\": \"#8d8d8d\",\n \"toolboxEmphasisColor\": \"#1c2024\",\n \"tooltipAxisColor\": \"#cccccc\",\n \"tooltipAxisWidth\": 1,\n \"timelineLineColor\": \"#dae1f5\",\n \"timelineLineWidth\": 2,\n \"timelineItemColor\": \"#a4b1d7\",\n \"timelineItemColorE\": \"#ffffff\",\n \"timelineCheckColor\": \"#316bf3\",\n \"timelineCheckBorderColor\": \"#ffffff\",\n \"timelineItemBorderWidth\": 1,\n \"timelineControlColor\": \"#a4b1d7\",\n \"timelineControlBorderColor\": \"#a4b1d7\",\n \"timelineControlBorderWidth\": 1,\n \"timelineLabelColor\": \"#a4b1d7\"\n }\n}\n","import chartTheme from './chart-theme.json';\n\nexport const EchartDefaultProps = {\n opts: { renderer: 'svg' as const },\n theme: chartTheme,\n option: {\n textStyle: { fontFamily: 'Pretendard Variable' },\n tooltip: { textStyle: { fontSize: 16 } },\n },\n} as const;\n"],"mappings":"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","names":["import_jsx_runtime"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { EChartsOption } from 'echarts';
|
|
3
|
+
import * as ReactEChartsCoreNs from 'echarts-for-react/lib/core';
|
|
4
|
+
|
|
5
|
+
type EChartsComponentType = typeof ReactEChartsCoreNs.default;
|
|
6
|
+
declare const ReactEChartsCore: EChartsComponentType;
|
|
7
|
+
type ChartProps = Omit<React__default.ComponentProps<typeof ReactEChartsCore>, 'option' | 'echarts'> & {
|
|
8
|
+
option: EChartsOption;
|
|
9
|
+
};
|
|
10
|
+
declare function Chart({ option: optionProp, ...rest }: ChartProps): React__default.ReactElement;
|
|
11
|
+
declare function useTokenColors<K extends string>(vars: Record<K, [cssVar: string, fallback: string]>): {
|
|
12
|
+
colors: Record<K, string>;
|
|
13
|
+
probe: React__default.ReactNode;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export { Chart, type ChartProps, useTokenColors };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { EChartsOption } from 'echarts';
|
|
3
|
+
import * as ReactEChartsCoreNs from 'echarts-for-react/lib/core';
|
|
4
|
+
|
|
5
|
+
type EChartsComponentType = typeof ReactEChartsCoreNs.default;
|
|
6
|
+
declare const ReactEChartsCore: EChartsComponentType;
|
|
7
|
+
type ChartProps = Omit<React__default.ComponentProps<typeof ReactEChartsCore>, 'option' | 'echarts'> & {
|
|
8
|
+
option: EChartsOption;
|
|
9
|
+
};
|
|
10
|
+
declare function Chart({ option: optionProp, ...rest }: ChartProps): React__default.ReactElement;
|
|
11
|
+
declare function useTokenColors<K extends string>(vars: Record<K, [cssVar: string, fallback: string]>): {
|
|
12
|
+
colors: Record<K, string>;
|
|
13
|
+
probe: React__default.ReactNode;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export { Chart, type ChartProps, useTokenColors };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
Chart,
|
|
4
|
+
useTokenColors
|
|
5
|
+
} from "../../../chunk-UXAEOCOH.js";
|
|
6
|
+
import "../../../chunk-PSINRHYW.js";
|
|
7
|
+
import "../../../chunk-WSWSAPSS.js";
|
|
8
|
+
import "../../../chunk-RXK3JM34.js";
|
|
9
|
+
import "../../../chunk-CRTRMMJ7.js";
|
|
10
|
+
export {
|
|
11
|
+
Chart,
|
|
12
|
+
useTokenColors
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=session-chart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|