@j2inn/fin5-ui-utils 6.0.0 → 6.0.2

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.
Files changed (51) hide show
  1. package/dist/index.d.ts +4 -0
  2. package/dist/index.js +4 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/react/components/charts/QRCode.d.ts +2 -2
  5. package/dist/react/components/charts/QRCode.js +2 -1
  6. package/dist/react/components/charts/QRCode.js.map +1 -1
  7. package/dist/react/components/charts/line-bar/Chart.d.ts +166 -0
  8. package/dist/react/components/charts/line-bar/Chart.js +443 -0
  9. package/dist/react/components/charts/line-bar/Chart.js.map +1 -0
  10. package/dist/react/components/charts/line-bar/HGridChart.d.ts +58 -0
  11. package/dist/react/components/charts/line-bar/HGridChart.js +286 -0
  12. package/dist/react/components/charts/line-bar/HGridChart.js.map +1 -0
  13. package/dist/react/components/charts/pie/PieChart.d.ts +3 -2
  14. package/dist/react/components/charts/pie/PieChart.js +3 -1
  15. package/dist/react/components/charts/pie/PieChart.js.map +1 -1
  16. package/dist/react/components/charts/pie/SimplePieChart.d.ts +3 -2
  17. package/dist/react/components/charts/pie/SimplePieChart.js.map +1 -1
  18. package/dist/react/components/makeCustomElement.d.ts +16 -0
  19. package/dist/react/components/makeCustomElement.js +151 -0
  20. package/dist/react/components/makeCustomElement.js.map +1 -0
  21. package/dist/react/hooks/useFin5ColorScheme.js +30 -23
  22. package/dist/react/hooks/useFin5ColorScheme.js.map +1 -1
  23. package/dist/react/hooks/useScreenSize.d.ts +7 -0
  24. package/dist/react/hooks/useScreenSize.js +32 -0
  25. package/dist/react/hooks/useScreenSize.js.map +1 -0
  26. package/dist_es/index.d.ts +4 -0
  27. package/dist_es/index.js +4 -0
  28. package/dist_es/index.js.map +1 -1
  29. package/dist_es/react/components/charts/QRCode.d.ts +2 -2
  30. package/dist_es/react/components/charts/QRCode.js +1 -2
  31. package/dist_es/react/components/charts/QRCode.js.map +1 -1
  32. package/dist_es/react/components/charts/line-bar/Chart.d.ts +166 -0
  33. package/dist_es/react/components/charts/line-bar/Chart.js +416 -0
  34. package/dist_es/react/components/charts/line-bar/Chart.js.map +1 -0
  35. package/dist_es/react/components/charts/line-bar/HGridChart.d.ts +58 -0
  36. package/dist_es/react/components/charts/line-bar/HGridChart.js +251 -0
  37. package/dist_es/react/components/charts/line-bar/HGridChart.js.map +1 -0
  38. package/dist_es/react/components/charts/pie/PieChart.d.ts +3 -2
  39. package/dist_es/react/components/charts/pie/PieChart.js +3 -1
  40. package/dist_es/react/components/charts/pie/PieChart.js.map +1 -1
  41. package/dist_es/react/components/charts/pie/SimplePieChart.d.ts +3 -2
  42. package/dist_es/react/components/charts/pie/SimplePieChart.js.map +1 -1
  43. package/dist_es/react/components/makeCustomElement.d.ts +16 -0
  44. package/dist_es/react/components/makeCustomElement.js +143 -0
  45. package/dist_es/react/components/makeCustomElement.js.map +1 -0
  46. package/dist_es/react/hooks/useFin5ColorScheme.js +30 -23
  47. package/dist_es/react/hooks/useFin5ColorScheme.js.map +1 -1
  48. package/dist_es/react/hooks/useScreenSize.d.ts +7 -0
  49. package/dist_es/react/hooks/useScreenSize.js +28 -0
  50. package/dist_es/react/hooks/useScreenSize.js.map +1 -0
  51. package/package.json +5 -2
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2025, J2 Innovations. All Rights Reserved
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.HGridChart = exports.calculateDefaultTimeInterval = exports.addLineSeriesRowData = exports.getBarSeriesRowData = exports.splitBarAndLineSeriesCols = exports.colNameToDisProvider = exports.isBarSeries = exports.isStackedBarSeries = exports.isLineSeries = exports.rollupDurationToTimeInterval = void 0;
30
+ const am5 = __importStar(require("@amcharts/amcharts5"));
31
+ const haystack_core_1 = require("haystack-core");
32
+ const dist_1 = require("haystack-units/dist");
33
+ const react_1 = __importStar(require("react"));
34
+ const react_jss_1 = require("react-jss");
35
+ const useScreenSize_1 = require("../../../hooks/useScreenSize");
36
+ const Chart_1 = require("./Chart");
37
+ var SeriesType;
38
+ (function (SeriesType) {
39
+ SeriesType["line"] = "line";
40
+ SeriesType["bar"] = "bar";
41
+ SeriesType["stackedBar"] = "stackedBar";
42
+ })(SeriesType || (SeriesType = {}));
43
+ var SeriesVariant;
44
+ (function (SeriesVariant) {
45
+ SeriesVariant["dashed"] = "dashed";
46
+ })(SeriesVariant || (SeriesVariant = {}));
47
+ const rollupDurationToTimeInterval = (value) => {
48
+ let unit;
49
+ switch (value?.unit) {
50
+ case dist_1.hour:
51
+ unit = 'hour';
52
+ break;
53
+ case dist_1.day:
54
+ unit = 'day';
55
+ break;
56
+ case dist_1.week:
57
+ unit = 'week';
58
+ break;
59
+ case dist_1.julianMonth:
60
+ unit = 'month';
61
+ break;
62
+ case dist_1.year:
63
+ unit = 'year';
64
+ break;
65
+ }
66
+ return { count: value?.value ?? 1, timeUnit: unit ?? 'hour' };
67
+ };
68
+ exports.rollupDurationToTimeInterval = rollupDurationToTimeInterval;
69
+ const isLineSeries = (colMetadata) => colMetadata?.series?.value === SeriesType.line;
70
+ exports.isLineSeries = isLineSeries;
71
+ const isStackedBarSeries = (colMetadata) => colMetadata?.series?.value === SeriesType.stackedBar;
72
+ exports.isStackedBarSeries = isStackedBarSeries;
73
+ const isBarSeries = (colMetadata) => colMetadata?.series?.value === SeriesType.bar;
74
+ exports.isBarSeries = isBarSeries;
75
+ const isDottedSeriesVariant = (colMetadata) => SeriesVariant.dashed === colMetadata?.variant?.value;
76
+ const getSeriesColor = (colMetadata) => colMetadata?.color ? am5.color(colMetadata.color.value) : undefined;
77
+ const getSeriesDis = (colMetadata) => colMetadata?.dis?.value;
78
+ const getSeriesUnit = (colMetadata) => colMetadata?.unit?.value;
79
+ const getHideAxis = (colMetadata) => colMetadata?.hideAxis?.value;
80
+ const getAxisPlacement = (colMetadata) => Chart_1.AxisPlacement[colMetadata?.axisPlacement?.value];
81
+ const colNameToDisProvider = (grid, translateLabel) => (colName) => {
82
+ if (translateLabel) {
83
+ const label = translateLabel(colName);
84
+ if (label) {
85
+ return label;
86
+ }
87
+ }
88
+ const colMetadata = grid.getColumn(colName)?.meta;
89
+ if (colMetadata?.dis) {
90
+ return colMetadata.dis.value;
91
+ }
92
+ return colName;
93
+ };
94
+ exports.colNameToDisProvider = colNameToDisProvider;
95
+ const splitBarAndLineSeriesCols = (grid) => {
96
+ const barSeries = new Set();
97
+ const stackedBarSeries = new Set();
98
+ const lineSeries = new Set();
99
+ grid.getColumns().forEach((column) => {
100
+ const colMetadata = column.meta;
101
+ if ((0, exports.isLineSeries)(colMetadata)) {
102
+ lineSeries.add(column.name);
103
+ }
104
+ else if ((0, exports.isBarSeries)(colMetadata)) {
105
+ barSeries.add(column.name);
106
+ }
107
+ else if ((0, exports.isStackedBarSeries)(colMetadata)) {
108
+ stackedBarSeries.add(column.name);
109
+ }
110
+ });
111
+ return {
112
+ barSeries,
113
+ stackedBarSeries,
114
+ lineSeries,
115
+ };
116
+ };
117
+ exports.splitBarAndLineSeriesCols = splitBarAndLineSeriesCols;
118
+ const getBarSeriesRowData = (row, metadata, colName, barSeriesData) => {
119
+ if (!barSeriesData.has(colName)) {
120
+ const series = {
121
+ seriesName: colName,
122
+ dis: getSeriesDis(metadata),
123
+ unit: getSeriesUnit(metadata),
124
+ hideAxis: getHideAxis(metadata),
125
+ axisPlacement: getAxisPlacement(metadata),
126
+ data: [],
127
+ };
128
+ const seriesColor = getSeriesColor(metadata);
129
+ if (seriesColor) {
130
+ series.stroke = seriesColor;
131
+ }
132
+ barSeriesData.set(colName, series);
133
+ }
134
+ barSeriesData.get(colName)?.data.push({
135
+ ts: row.get('ts').date.getTime(),
136
+ value: row.get(colName)?.value,
137
+ });
138
+ };
139
+ exports.getBarSeriesRowData = getBarSeriesRowData;
140
+ const addLineSeriesRowData = (row, metadata, colName, lineSeriesData) => {
141
+ if (!lineSeriesData.has(colName)) {
142
+ const series = {
143
+ seriesName: colName,
144
+ dis: getSeriesDis(metadata),
145
+ unit: getSeriesUnit(metadata),
146
+ hideAxis: getHideAxis(metadata),
147
+ axisPlacement: getAxisPlacement(metadata),
148
+ data: [],
149
+ strokeSettings: {
150
+ strokeWidth: 2,
151
+ strokeDasharray: isDottedSeriesVariant(metadata)
152
+ ? [3, 3]
153
+ : undefined,
154
+ },
155
+ };
156
+ const seriesColor = getSeriesColor(metadata);
157
+ if (seriesColor && series.strokeSettings) {
158
+ series.strokeSettings.stroke = seriesColor;
159
+ }
160
+ lineSeriesData.set(colName, series);
161
+ }
162
+ lineSeriesData.get(colName)?.data.push({
163
+ ts: row.get('ts').date.getTime(),
164
+ value: row.get(colName)?.value,
165
+ });
166
+ };
167
+ exports.addLineSeriesRowData = addLineSeriesRowData;
168
+ /**
169
+ * Returns the numeric value of an Haystack Value object (if numeric)
170
+ * @param val Haystack value
171
+ * @returns the numeric value:
172
+ * - `HNum` > numeric value
173
+ * - `HDate` > time value in milliseconds since midnight, January 1, 1970 UTC
174
+ * - `HTime` > time value in milliseconds since midnight, January 1, 1970 UTC
175
+ * - `HBool` > 1 if `val` is `true`, `false` otherwise
176
+ * - `HDateTime` > time value in milliseconds since midnight, January 1, 1970 UTC
177
+ */
178
+ const getHValValueNumber = (val) => {
179
+ if ((0, haystack_core_1.valueIsKind)(val, haystack_core_1.Kind.Number)) {
180
+ return val.value;
181
+ }
182
+ if ((0, haystack_core_1.valueIsKind)(val, haystack_core_1.Kind.Date)) {
183
+ return val.date.getTime();
184
+ }
185
+ if ((0, haystack_core_1.valueIsKind)(val, haystack_core_1.Kind.Time)) {
186
+ return val.date.getTime();
187
+ }
188
+ if ((0, haystack_core_1.valueIsKind)(val, haystack_core_1.Kind.Bool)) {
189
+ return val.value ? 1 : 0;
190
+ }
191
+ if ((0, haystack_core_1.valueIsKind)(val, haystack_core_1.Kind.DateTime)) {
192
+ return val.date.getTime();
193
+ }
194
+ throw new Error(`getHValValue: ${val.getKind()} not supported`);
195
+ };
196
+ const calculateDefaultTimeInterval = (timeRange) => {
197
+ const diffTime = Math.abs(timeRange[1].getTime() - timeRange[0].getTime());
198
+ const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
199
+ return { count: diffDays ? diffDays : 1, timeUnit: 'hour' };
200
+ };
201
+ exports.calculateDefaultTimeInterval = calculateDefaultTimeInterval;
202
+ /**
203
+ * A component that renders a chart containing multiple series
204
+ * of different kinds, taking all the data and configuration from an HGrid.
205
+ */
206
+ exports.HGridChart = (0, react_1.memo)(function HGridChartComponent({ className, data, timeRange, timeInterval = (0, exports.calculateDefaultTimeInterval)(timeRange), unitPlacement = Chart_1.UnitPlacement.axis, legendPlacement = Chart_1.LegendPlacement.right, translateLabel = undefined, DOMtargetId, }) {
207
+ const theme = (0, react_jss_1.useTheme)();
208
+ const { barSeriesData, stackedBarSeriesData, lineSeriesData, rangesData } = (0, react_1.useMemo)(() => {
209
+ if (data === undefined) {
210
+ return {
211
+ barSeriesData: [],
212
+ stackedBarSeriesData: [],
213
+ lineSeriesData: [],
214
+ rangesData: [],
215
+ };
216
+ }
217
+ const gridMetadata = data.meta;
218
+ const { barSeries, stackedBarSeries, lineSeries } = (0, exports.splitBarAndLineSeriesCols)(data);
219
+ const barSeriesData = new Map();
220
+ const stackedBarSeriesData = new Map();
221
+ const lineSeriesData = new Map();
222
+ data.getRows().forEach((row) => {
223
+ if (stackedBarSeries.size > 0) {
224
+ stackedBarSeries.forEach((colName) => {
225
+ (0, exports.getBarSeriesRowData)(row, data.getColumn(colName)?.meta ?? haystack_core_1.HDict.make(), colName, stackedBarSeriesData);
226
+ });
227
+ }
228
+ if (barSeries.size > 0) {
229
+ barSeries.forEach((colName) => {
230
+ (0, exports.getBarSeriesRowData)(row, data.getColumn(colName)?.meta ?? haystack_core_1.HDict.make(), colName, barSeriesData);
231
+ });
232
+ }
233
+ if (lineSeries.size > 0) {
234
+ lineSeries.forEach((lineSeriesColName) => {
235
+ (0, exports.addLineSeriesRowData)(row, data.getColumn(lineSeriesColName)?.meta ??
236
+ haystack_core_1.HDict.make(), lineSeriesColName, lineSeriesData);
237
+ });
238
+ }
239
+ });
240
+ const rangesData = gridMetadata.ranges?.map((rangeData) => {
241
+ const result = {
242
+ startValue: getHValValueNumber(rangeData.startValue),
243
+ endValue: getHValValueNumber(rangeData.endValue),
244
+ color: getSeriesColor(rangeData),
245
+ tooltip: rangeData.dis?.value,
246
+ opacity: rangeData.opacity?.value,
247
+ };
248
+ return result;
249
+ }) ?? [];
250
+ return {
251
+ barSeriesData: Array.from(barSeriesData.values()),
252
+ stackedBarSeriesData: Array.from(stackedBarSeriesData.values()),
253
+ lineSeriesData: Array.from(lineSeriesData.values()),
254
+ rangesData,
255
+ };
256
+ }, [data]);
257
+ const screenSize = (0, useScreenSize_1.useScreenSize)();
258
+ const effectiveLegendPlacement = (0, react_1.useMemo)(() => {
259
+ const MIN_WIDTH = 1024;
260
+ if (screenSize.width >= MIN_WIDTH) {
261
+ return legendPlacement;
262
+ }
263
+ switch (legendPlacement) {
264
+ case Chart_1.LegendPlacement.left:
265
+ return Chart_1.LegendPlacement.top;
266
+ case Chart_1.LegendPlacement.right:
267
+ return Chart_1.LegendPlacement.bottom;
268
+ }
269
+ return legendPlacement;
270
+ }, [legendPlacement, screenSize.width]);
271
+ return (react_1.default.createElement("div", { className: className },
272
+ react_1.default.createElement(Chart_1.Chart, { DOMtargetId: DOMtargetId, cursor: true, legendPlacement: effectiveLegendPlacement, unitPlacement: unitPlacement, numberFormat: { maximumFractionDigits: 0 }, barSeriesData: barSeriesData, rangesData: rangesData, translateLabel: (0, exports.colNameToDisProvider)(data ?? haystack_core_1.HGrid.make(), translateLabel), stackedBarSeriesData: stackedBarSeriesData, lineSeriesData: lineSeriesData, gridSettings: {
273
+ stroke: am5.color(theme.borderColor),
274
+ }, dateField: 'ts', baseInterval: timeInterval, tooltipSettings: {
275
+ fontSize: '0.9rem',
276
+ }, legendLabelsSettings: {
277
+ fill: am5.color(theme.textColor),
278
+ fontSize: '0.9rem',
279
+ }, legendMarkersSettings: {
280
+ width: 8,
281
+ height: 8,
282
+ rounded: true,
283
+ } })));
284
+ });
285
+ exports.default = exports.HGridChart;
286
+ //# sourceMappingURL=HGridChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HGridChart.js","sourceRoot":"","sources":["../../../../../src/react/components/charts/line-bar/HGridChart.tsx"],"names":[],"mappings":"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"}
@@ -72,9 +72,10 @@ export interface PieChartProps {
72
72
  */
73
73
  sliceAdapters?: SliceAdapter[];
74
74
  /**
75
- * Optional DOM id for the chart container, if not specified it will be automatically generated
75
+ * Optional DOM id for the chart container, if not specified it will be automatically generated.
76
+ * It can also be an HTMLElement, in that case the element will be used as a parent.
76
77
  */
77
- DOMtargetId?: string;
78
+ DOMtargetId?: string | HTMLElement;
78
79
  }
79
80
  export declare type SliceAdapter<T extends keyof am5.ISliceSettings = keyof am5.ISliceSettings> = [
80
81
  T,
@@ -197,7 +197,9 @@ const PieChart = ({ DOMtargetId, data, colorPalette, numberFormat, chartThemes,
197
197
  }
198
198
  }, [rootRef.current, numberFormat]);
199
199
  const classes = useStyles();
200
- return react_1.default.createElement("div", { id: id, className: classes.root });
200
+ return typeof id === 'string' ? (react_1.default.createElement("div", { id: id, className: classes.root })) : (
201
+ // If the DOM target is an HTML element, do not render another div. The chart will be attached to the existing element.
202
+ react_1.default.createElement(react_1.default.Fragment, null));
201
203
  };
202
204
  exports.PieChart = PieChart;
203
205
  //# sourceMappingURL=PieChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PieChart.js","sourceRoot":"","sources":["../../../../../src/react/components/charts/pie/PieChart.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PieChart.js","sourceRoot":"","sources":["../../../../../src/react/components/charts/pie/PieChart.tsx"],"names":[],"mappings":"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"}
@@ -9,9 +9,10 @@ export interface SimplePieChartProps {
9
9
  numberFormat?: Intl.NumberFormatOptions;
10
10
  hideLabels?: boolean;
11
11
  /**
12
- * Optional DOM id for the chart container, if not specified it will be automatically generated
12
+ * Optional DOM id for the chart container, if not specified it will be automatically generated.
13
+ * It can also be an HTMLElement, in that case the element will be used as a parent.
13
14
  */
14
- DOMtargetId?: string;
15
+ DOMtargetId?: string | HTMLElement;
15
16
  }
16
17
  /**
17
18
  * Simplified version of the pie chart for quick usage and easy configuration.
@@ -1 +1 @@
1
- {"version":3,"file":"SimplePieChart.js","sourceRoot":"","sources":["../../../../../src/react/components/charts/pie/SimplePieChart.tsx"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,yDAA0C;AAC1C,mFAAoE;AACpE,kDAAyB;AACzB,yCAA8E;AAgB9E;;;GAGG;AACI,MAAM,cAAc,GAAkC,CAAC,EAC7D,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,YAAY,GAAG;IACd,KAAK,EAAE,SAAS;IAChB,qBAAqB,EAAE,CAAC;IACxB,qBAAqB,EAAE,CAAC;CACxB,EACD,UAAU,EACV,WAAW,GACX,EAAe,EAAE;IACjB,OAAO,CACN,8BAAC,mBAAQ,IACR,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,EACxD,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7B,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;SAChD,CAAC,EACF,YAAY,EAAE,YAAY,EAC1B,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9B,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;SAClB,CAAC,EACF,oBAAoB,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EACjD,cAAc,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EACtC,cAAc,EAAE;YACf,WAAW,EAAE,aAAa;SAC1B,GACA,CACF,CAAA;AACF,CAAC,CAAA;AAnCY,QAAA,cAAc,kBAmC1B"}
1
+ {"version":3,"file":"SimplePieChart.js","sourceRoot":"","sources":["../../../../../src/react/components/charts/pie/SimplePieChart.tsx"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,yDAA0C;AAC1C,mFAAoE;AACpE,kDAAyB;AACzB,yCAA8E;AAiB9E;;;GAGG;AACI,MAAM,cAAc,GAAkC,CAAC,EAC7D,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,YAAY,GAAG;IACd,KAAK,EAAE,SAAS;IAChB,qBAAqB,EAAE,CAAC;IACxB,qBAAqB,EAAE,CAAC;CACxB,EACD,UAAU,EACV,WAAW,GACX,EAAe,EAAE;IACjB,OAAO,CACN,8BAAC,mBAAQ,IACR,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,EACxD,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7B,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;SAChD,CAAC,EACF,YAAY,EAAE,YAAY,EAC1B,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9B,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;SAClB,CAAC,EACF,oBAAoB,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EACjD,cAAc,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EACtC,cAAc,EAAE;YACf,WAAW,EAAE,aAAa;SAC1B,GACA,CACF,CAAA;AACF,CAAC,CAAA;AAnCY,QAAA,cAAc,kBAmC1B"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ interface CustomElementOptions {
3
+ useShadowDom?: boolean;
4
+ }
5
+ /**
6
+ * Generate a custom element constructor that wraps the given react component.
7
+ */
8
+ export declare const makeCustomElement: <T extends object>(Component: React.FC<T>, options?: CustomElementOptions) => CustomElementConstructor;
9
+ /**
10
+ * Create a custom element wrapping a React component and register it.
11
+ * @param webComponentName the name of the Web component (tag name)
12
+ * @param ReactComponent the React component to wrap
13
+ * @returns
14
+ */
15
+ export declare const registerReactWebComponent: <T extends object>(webComponentName: string, ReactComponent: React.FC<T>, options?: CustomElementOptions) => void;
16
+ export {};
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2025, J2 Innovations. All Rights Reserved
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.registerReactWebComponent = exports.makeCustomElement = void 0;
10
+ const app_react_1 = require("@j2inn/app-react");
11
+ const ui_1 = require("@j2inn/ui");
12
+ const utils_1 = require("@j2inn/utils");
13
+ const haystack_react_1 = require("haystack-react");
14
+ const jss_1 = require("jss");
15
+ const react_1 = __importDefault(require("react"));
16
+ const client_1 = require("react-dom/client");
17
+ const react_jss_1 = require("react-jss");
18
+ const defaultTheme = (0, ui_1.GenerateTheme)().light;
19
+ /**
20
+ * Generate a custom element constructor that wraps the given react component.
21
+ */
22
+ const makeCustomElement = (Component, options = {
23
+ useShadowDom: true,
24
+ }) => {
25
+ return class extends HTMLElement {
26
+ static get observedAttributes() {
27
+ return ['props'];
28
+ }
29
+ _locale;
30
+ get locale() {
31
+ return this._locale;
32
+ }
33
+ set locale(value) {
34
+ this._locale = value;
35
+ this.render();
36
+ }
37
+ _appRootStore;
38
+ get appRootStore() {
39
+ return this._appRootStore ?? {};
40
+ }
41
+ set appRootStore(value) {
42
+ this._appRootStore = value;
43
+ this.render();
44
+ }
45
+ _appStore;
46
+ get appStore() {
47
+ return this._appStore ?? {};
48
+ }
49
+ set appStore(value) {
50
+ this._appStore = value;
51
+ this.render();
52
+ }
53
+ _client;
54
+ get client() {
55
+ return this._client;
56
+ }
57
+ set client(value) {
58
+ this._client = value;
59
+ this.render();
60
+ }
61
+ _i18n;
62
+ get i18n() {
63
+ return this._i18n;
64
+ }
65
+ set i18n(value) {
66
+ this._i18n = value;
67
+ this.render();
68
+ }
69
+ _props;
70
+ get props() {
71
+ return this._props;
72
+ }
73
+ set props(value) {
74
+ this._props = value;
75
+ this.render();
76
+ }
77
+ _theme;
78
+ get theme() {
79
+ return this._theme ?? defaultTheme;
80
+ }
81
+ set theme(value) {
82
+ this._theme = value;
83
+ this.render();
84
+ }
85
+ root;
86
+ jss;
87
+ base;
88
+ initialized = false;
89
+ constructor() {
90
+ super();
91
+ this.base = options?.useShadowDom
92
+ ? this.attachShadow({ mode: 'open' })
93
+ : this;
94
+ }
95
+ initialize() {
96
+ if (!this.initialized) {
97
+ const mountPoint = document.createElement('div');
98
+ mountPoint.setAttribute('style', 'display: contents;');
99
+ this.base.appendChild(mountPoint);
100
+ this.root = (0, client_1.createRoot)(mountPoint);
101
+ this.jss = (0, jss_1.create)({
102
+ insertionPoint: mountPoint,
103
+ });
104
+ this.initialized = true;
105
+ }
106
+ }
107
+ connectedCallback() {
108
+ this.render();
109
+ }
110
+ attributeChangedCallback() {
111
+ this.render();
112
+ }
113
+ disconnectedCallback() {
114
+ this.root?.unmount();
115
+ this.initialized = false;
116
+ }
117
+ render() {
118
+ this.initialize();
119
+ const ThemedComponent = (react_1.default.createElement(react_jss_1.ThemeProvider, { theme: this.theme },
120
+ react_1.default.createElement(utils_1.I18NContext.Provider, { value: this.i18n },
121
+ react_1.default.createElement(react_jss_1.JssProvider, { jss: this.jss },
122
+ react_1.default.createElement(Component, { ...this.props })))));
123
+ this.root?.render(react_1.default.createElement(app_react_1.AppRootStoreContext.Provider, { value: this.appRootStore ?? null },
124
+ react_1.default.createElement(app_react_1.AppStoreContext.Provider, { value: this.appStore }, this.client ? (react_1.default.createElement(haystack_react_1.ClientContext.Provider, { value: this.client }, ThemedComponent)) : (ThemedComponent))));
125
+ }
126
+ };
127
+ };
128
+ exports.makeCustomElement = makeCustomElement;
129
+ /**
130
+ * Create a custom element wrapping a React component and register it.
131
+ * @param webComponentName the name of the Web component (tag name)
132
+ * @param ReactComponent the React component to wrap
133
+ * @returns
134
+ */
135
+ const registerReactWebComponent = (webComponentName, ReactComponent, options) => {
136
+ // Bail if web component is already defined
137
+ if (customElements.get(webComponentName)) {
138
+ return;
139
+ }
140
+ // Make web component that wraps the react component
141
+ const Element = (0, exports.makeCustomElement)(ReactComponent, options);
142
+ try {
143
+ // Define web component
144
+ customElements.define(webComponentName, Element);
145
+ }
146
+ catch (e) {
147
+ console.error(e);
148
+ }
149
+ };
150
+ exports.registerReactWebComponent = registerReactWebComponent;
151
+ //# sourceMappingURL=makeCustomElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeCustomElement.js","sourceRoot":"","sources":["../../../src/react/components/makeCustomElement.tsx"],"names":[],"mappings":"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"}
@@ -7,34 +7,41 @@ exports.useFin5ColorScheme = void 0;
7
7
  const ui_1 = require("@j2inn/ui");
8
8
  const react_jss_1 = require("react-jss");
9
9
  const fin5Top_1 = require("../../fin5Top/fin5Top");
10
+ const react_1 = require("react");
10
11
  function useFin5ColorScheme() {
11
12
  const theme = (0, react_jss_1.useTheme)();
12
13
  const colorScheme = (0, fin5Top_1.getFin5top)()?.app.GetColorScheme?.();
13
- if (!colorScheme) {
14
- return theme;
15
- }
16
- const brandedTheme = (0, ui_1.GenerateTheme)({
17
- light: {
18
- ...theme,
19
- bodyBg: colorScheme.bodyBackground,
20
- bgColor: (0, ui_1.lighten)(colorScheme.bodyBackground, 5),
21
- },
22
- dark: {
23
- ...theme,
24
- bodyBg: colorScheme.bodyBackground,
25
- bgColor: (0, ui_1.lighten)(colorScheme.bodyBackground, 5),
26
- },
27
- palette: {
28
- ...ui_1.DEFAULT_THEME.palette,
29
- primary: colorScheme.primary,
30
- secondary: (0, ui_1.tint)(colorScheme.primary, 20),
31
- accent: (0, ui_1.shade)(colorScheme.primary, 20),
32
- },
33
- });
34
- if (theme.type === 'light') {
14
+ const brandedTheme = (0, react_1.useMemo)(() => {
15
+ if (!colorScheme) {
16
+ return undefined;
17
+ }
18
+ return (0, ui_1.GenerateTheme)({
19
+ light: {
20
+ ...ui_1.DEFAULT_THEME.light,
21
+ bodyBg: colorScheme.bodyBackground,
22
+ bgColor: (0, ui_1.lighten)(colorScheme.bodyBackground, 5),
23
+ },
24
+ dark: {
25
+ ...ui_1.DEFAULT_THEME.dark,
26
+ bodyBg: colorScheme.bodyBackground,
27
+ bgColor: (0, ui_1.lighten)(colorScheme.bodyBackground, 5),
28
+ },
29
+ palette: {
30
+ ...ui_1.DEFAULT_THEME.palette,
31
+ primary: colorScheme.primary,
32
+ secondary: (0, ui_1.tint)(colorScheme.primary, 20),
33
+ accent: (0, ui_1.shade)(colorScheme.primary, 20),
34
+ },
35
+ });
36
+ }, [
37
+ colorScheme?.primary,
38
+ colorScheme?.bodyBackground,
39
+ colorScheme?.sidebarBackground,
40
+ ]);
41
+ if (brandedTheme && theme.type === 'light') {
35
42
  return brandedTheme.light;
36
43
  }
37
- if (theme.type === 'dark') {
44
+ if (brandedTheme && theme.type === 'dark') {
38
45
  return brandedTheme.dark;
39
46
  }
40
47
  return theme;
@@ -1 +1 @@
1
- {"version":3,"file":"useFin5ColorScheme.js","sourceRoot":"","sources":["../../../src/react/hooks/useFin5ColorScheme.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,kCAOkB;AAClB,yCAAoC;AACpC,mDAAkD;AAElD,SAAgB,kBAAkB;IACjC,MAAM,KAAK,GAAG,IAAA,oBAAQ,GAAY,CAAA;IAClC,MAAM,WAAW,GAAG,IAAA,oBAAU,GAAE,EAAE,GAAG,CAAC,cAAc,EAAE,EAAE,CAAA;IACxD,IAAI,CAAC,WAAW,EAAE;QACjB,OAAO,KAAK,CAAA;KACZ;IAED,MAAM,YAAY,GAAG,IAAA,kBAAa,EAAC;QAClC,KAAK,EAAE;YACN,GAAG,KAAK;YACR,MAAM,EAAE,WAAW,CAAC,cAAc;YAClC,OAAO,EAAE,IAAA,YAAO,EAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;SAC/C;QACD,IAAI,EAAE;YACL,GAAG,KAAK;YACR,MAAM,EAAE,WAAW,CAAC,cAAc;YAClC,OAAO,EAAE,IAAA,YAAO,EAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;SAC/C;QACD,OAAO,EAAE;YACR,GAAG,kBAAa,CAAC,OAAO;YACxB,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,SAAS,EAAE,IAAA,SAAI,EAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YACxC,MAAM,EAAE,IAAA,UAAK,EAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;SACtC;KACD,CAAC,CAAA;IAEF,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QAC3B,OAAO,YAAY,CAAC,KAAK,CAAA;KACzB;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;QAC1B,OAAO,YAAY,CAAC,IAAI,CAAA;KACxB;IAED,OAAO,KAAK,CAAA;AACb,CAAC;AAnCD,gDAmCC"}
1
+ {"version":3,"file":"useFin5ColorScheme.js","sourceRoot":"","sources":["../../../src/react/hooks/useFin5ColorScheme.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,kCAOkB;AAClB,yCAAoC;AACpC,mDAAkD;AAClD,iCAA+B;AAE/B,SAAgB,kBAAkB;IACjC,MAAM,KAAK,GAAG,IAAA,oBAAQ,GAAY,CAAA;IAClC,MAAM,WAAW,GAAG,IAAA,oBAAU,GAAE,EAAE,GAAG,CAAC,cAAc,EAAE,EAAE,CAAA;IACxD,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACjC,IAAI,CAAC,WAAW,EAAE;YACjB,OAAO,SAAS,CAAA;SAChB;QAED,OAAO,IAAA,kBAAa,EAAC;YACpB,KAAK,EAAE;gBACN,GAAG,kBAAa,CAAC,KAAK;gBACtB,MAAM,EAAE,WAAW,CAAC,cAAc;gBAClC,OAAO,EAAE,IAAA,YAAO,EAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;aAC/C;YACD,IAAI,EAAE;gBACL,GAAG,kBAAa,CAAC,IAAI;gBACrB,MAAM,EAAE,WAAW,CAAC,cAAc;gBAClC,OAAO,EAAE,IAAA,YAAO,EAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;aAC/C;YACD,OAAO,EAAE;gBACR,GAAG,kBAAa,CAAC,OAAO;gBACxB,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,SAAS,EAAE,IAAA,SAAI,EAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;gBACxC,MAAM,EAAE,IAAA,UAAK,EAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;aACtC;SACD,CAAC,CAAA;IACH,CAAC,EAAE;QACF,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,cAAc;QAC3B,WAAW,EAAE,iBAAiB;KAC9B,CAAC,CAAA;IAEF,IAAI,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QAC3C,OAAO,YAAY,CAAC,KAAK,CAAA;KACzB;IAED,IAAI,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;QAC1C,OAAO,YAAY,CAAC,IAAI,CAAA;KACxB;IAED,OAAO,KAAK,CAAA;AACb,CAAC;AAzCD,gDAyCC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Observe screen size.
3
+ */
4
+ export declare const useScreenSize: () => {
5
+ width: number;
6
+ height: number;
7
+ };