mig-schema-table 1.0.1 → 1.0.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/README.md +1 -0
- package/build/component/SchemaTable/Th/index.d.ts +21 -0
- package/build/component/SchemaTable/Th/index.js +44 -0
- package/build/component/SchemaTable/index.d.ts +27 -0
- package/build/component/SchemaTable/index.js +265 -0
- package/build/inc/date.d.ts +1 -0
- package/build/inc/date.js +3 -0
- package/build/inc/schema.d.ts +2 -0
- package/build/inc/schema.js +32 -0
- package/build/inc/string.d.ts +1 -0
- package/build/inc/string.js +4 -0
- package/build/index.css +132 -0
- package/build/index.css.map +1 -0
- package/build/index.d.ts +4 -0
- package/build/index.js +2 -0
- package/build/reportWebVitals.d.ts +3 -0
- package/build/reportWebVitals.js +12 -0
- package/build/setupTests.d.ts +1 -0
- package/build/setupTests.js +5 -0
- package/build/types/type.d.ts +20 -0
- package/build/types/type.js +1 -0
- package/package.json +3 -2
- package/build/asset-manifest.json +0 -13
- package/build/favicon.ico +0 -0
- package/build/index.html +0 -1
- package/build/logo192.png +0 -0
- package/build/logo512.png +0 -0
- package/build/manifest.json +0 -25
- package/build/robots.txt +0 -3
- package/build/static/css/main.bea5aade.css +0 -2
- package/build/static/css/main.bea5aade.css.map +0 -1
- package/build/static/js/main.7ff6957d.js.LICENSE.txt +0 -19
- package/build/static/js/main.7ff6957d.js.map +0 -1
- package/build/static/js/main.js +0 -3
package/README.md
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { oas31 } from "openapi3-ts";
|
|
2
|
+
import { CSSProperties, Dispatch, SetStateAction } from "react";
|
|
3
|
+
import { IColumnConfig } from "../../../types/type";
|
|
4
|
+
interface IThProps {
|
|
5
|
+
columnFilters?: {
|
|
6
|
+
[prop: string]: any;
|
|
7
|
+
};
|
|
8
|
+
config?: IColumnConfig<any>;
|
|
9
|
+
isSortable: boolean;
|
|
10
|
+
name: string;
|
|
11
|
+
schema: oas31.SchemaObject;
|
|
12
|
+
setColumnFilters?: Dispatch<SetStateAction<{
|
|
13
|
+
[prop: string]: any;
|
|
14
|
+
} | undefined>>;
|
|
15
|
+
setSortAsc: Dispatch<SetStateAction<boolean>>;
|
|
16
|
+
setSortColumn: Dispatch<SetStateAction<string>>;
|
|
17
|
+
sortAsc?: boolean;
|
|
18
|
+
style: CSSProperties;
|
|
19
|
+
}
|
|
20
|
+
declare const _default: ({ columnFilters, config, isSortable, name, schema, setColumnFilters, setSortAsc, setSortColumn, sortAsc, style, }: IThProps) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export default _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { camelTextToTitleText } from "../../../inc/string";
|
|
4
|
+
const Th = ({ columnFilters, config, isSortable, name, schema, setColumnFilters, setSortAsc, setSortColumn, sortAsc, style, }) => {
|
|
5
|
+
const thDivProps = {
|
|
6
|
+
style,
|
|
7
|
+
className: `schema-table__th ${isSortable ? "schema-table__th--sortable" : "schema-table__th--unsortable"}`,
|
|
8
|
+
};
|
|
9
|
+
const onFilterButtonClick = React.useCallback((e) => {
|
|
10
|
+
if (!setColumnFilters) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
if (columnFilters) {
|
|
14
|
+
setColumnFilters(undefined);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
}, [columnFilters, setColumnFilters]);
|
|
18
|
+
const onSortButtonClick = React.useCallback(() => {
|
|
19
|
+
if (sortAsc === undefined) {
|
|
20
|
+
setSortColumn(name);
|
|
21
|
+
setSortAsc(!(config === null || config === void 0 ? void 0 : config.defaultSortDesc));
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
setSortAsc((sortAsc) => !sortAsc);
|
|
25
|
+
}, [config === null || config === void 0 ? void 0 : config.defaultSortDesc, name, setSortAsc, setSortColumn, sortAsc]);
|
|
26
|
+
if (!schema) {
|
|
27
|
+
return _jsx("div", Object.assign({}, thDivProps));
|
|
28
|
+
}
|
|
29
|
+
switch (schema.type) {
|
|
30
|
+
case "boolean":
|
|
31
|
+
thDivProps.className += ` text-${(config === null || config === void 0 ? void 0 : config.align) || "center"}`;
|
|
32
|
+
break;
|
|
33
|
+
case "integer":
|
|
34
|
+
case "number":
|
|
35
|
+
thDivProps.className += ` text-${(config === null || config === void 0 ? void 0 : config.align) || "end"}`;
|
|
36
|
+
break;
|
|
37
|
+
case "string":
|
|
38
|
+
if (schema.format && ["date", "date-time"].indexOf(schema.format) >= 0) {
|
|
39
|
+
thDivProps.className += ` text-${(config === null || config === void 0 ? void 0 : config.align) || "end"}`;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return (_jsxs("div", Object.assign({}, thDivProps, { children: [isSortable ? (_jsxs("button", Object.assign({ className: "px-0", disabled: (config === null || config === void 0 ? void 0 : config.sortable) === false, onClick: onSortButtonClick }, { children: [(config === null || config === void 0 ? void 0 : config.title) || camelTextToTitleText(name), sortAsc === undefined ? null : sortAsc ? "▲" : "▼"] }))) : (_jsx("div", Object.assign({ style: { lineHeight: "44px" } }, { children: (config === null || config === void 0 ? void 0 : config.title) || camelTextToTitleText(name) }))), (config === null || config === void 0 ? void 0 : config.isFilterable) ? (_jsx("button", Object.assign({ onClick: onFilterButtonClick }, { children: _jsx("svg", Object.assign({ viewBox: "0 0 36 36", xmlns: "http://www.w3.org/2000/svg", height: 16, width: 16, style: { display: "block" } }, { children: _jsx("polygon", { fill: "#231F20", points: "14,30 22,25 22,17 35.999,0 17.988,0 0,0 14,17 " }) })) }))) : null] })));
|
|
43
|
+
};
|
|
44
|
+
export default React.memo(Th);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { oas31 } from "openapi3-ts";
|
|
3
|
+
import { IColumnConfig, IRenderData } from "../../types/type";
|
|
4
|
+
import "../../index.scss";
|
|
5
|
+
export interface ISchemaTableComponentProps<T> {
|
|
6
|
+
config?: {
|
|
7
|
+
[propName: string]: IColumnConfig<T>;
|
|
8
|
+
};
|
|
9
|
+
data: T[];
|
|
10
|
+
defaultSortColumn?: keyof T;
|
|
11
|
+
defaultSortAsc?: boolean;
|
|
12
|
+
getRowSelected?: (rowData: T) => boolean;
|
|
13
|
+
Heading?: any;
|
|
14
|
+
isSearchable?: boolean;
|
|
15
|
+
isSortable?: boolean;
|
|
16
|
+
onRowClick?: (rowData: T, rowIndex: number, event: React.MouseEvent) => void;
|
|
17
|
+
getRowClassName?: (rowData: T, filteredSortedRows: IRenderData[]) => string;
|
|
18
|
+
rowHeight?: number;
|
|
19
|
+
schema: oas31.SchemaObject;
|
|
20
|
+
style?: React.CSSProperties;
|
|
21
|
+
width: number;
|
|
22
|
+
height: number;
|
|
23
|
+
customElement?: React.ReactNode;
|
|
24
|
+
tableTitle?: string;
|
|
25
|
+
searchPlaceholder?: string;
|
|
26
|
+
}
|
|
27
|
+
export default function SchemaTableComponent<T>(props: ISchemaTableComponentProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { VariableSizeList, VariableSizeGrid } from "react-window";
|
|
4
|
+
import { localeFormat } from "../../inc/date";
|
|
5
|
+
import { camelTextToTitleText } from "../../inc/string";
|
|
6
|
+
import Th from "./Th";
|
|
7
|
+
import "../../index.scss";
|
|
8
|
+
export default function SchemaTableComponent(props) {
|
|
9
|
+
const { config, data, defaultSortColumn, defaultSortAsc = false, Heading = VariableSizeList, isSearchable, isSortable, onRowClick, getRowClassName, getRowSelected, rowHeight = 36, schema, style, customElement, tableTitle, searchPlaceholder } = props;
|
|
10
|
+
const [sortColumn, setSortColumn] = React.useState(defaultSortColumn);
|
|
11
|
+
const [sortAsc, setSortAsc] = React.useState(defaultSortAsc);
|
|
12
|
+
const [searchQuery, setSearchQuery] = React.useState("");
|
|
13
|
+
const [columnFilters, setColumnFilters] = React.useState();
|
|
14
|
+
const { properties = {} } = schema;
|
|
15
|
+
const columnNames = React.useMemo(() => {
|
|
16
|
+
const columns = Object.keys(properties);
|
|
17
|
+
if (!config) {
|
|
18
|
+
return columns;
|
|
19
|
+
}
|
|
20
|
+
const invisibleColumns = Object.entries(config).reduce((prev, [propName, propConfig]) => {
|
|
21
|
+
if (propConfig.hidden) {
|
|
22
|
+
prev.push(propName);
|
|
23
|
+
}
|
|
24
|
+
return prev;
|
|
25
|
+
}, []);
|
|
26
|
+
return columns
|
|
27
|
+
.filter((key) => !invisibleColumns.includes(key))
|
|
28
|
+
.sort((columnA, columnB) => {
|
|
29
|
+
let orderA = config[columnA] ? config[columnA].order : undefined;
|
|
30
|
+
if (orderA === undefined) {
|
|
31
|
+
orderA = Object.keys(properties).findIndex((propName) => propName === columnA);
|
|
32
|
+
}
|
|
33
|
+
let orderB = config[columnB] ? config[columnB].order : undefined;
|
|
34
|
+
if (orderB === undefined) {
|
|
35
|
+
orderB = Object.keys(properties).findIndex((propName) => propName === columnB);
|
|
36
|
+
}
|
|
37
|
+
if (orderA === -1) {
|
|
38
|
+
return 1;
|
|
39
|
+
}
|
|
40
|
+
if (orderB === -1) {
|
|
41
|
+
return -1;
|
|
42
|
+
}
|
|
43
|
+
return orderA - orderB;
|
|
44
|
+
});
|
|
45
|
+
}, [config, properties]);
|
|
46
|
+
const renderData = React.useMemo(() => data
|
|
47
|
+
? data.map((object, rowIndex) => columnNames.reduce((prev, propName) => {
|
|
48
|
+
const schema = properties[propName];
|
|
49
|
+
const propConfig = config ? config[propName] : undefined;
|
|
50
|
+
if (propConfig === null || propConfig === void 0 ? void 0 : propConfig.renderData) {
|
|
51
|
+
prev[propName] = propConfig.renderData(object, rowIndex);
|
|
52
|
+
return prev;
|
|
53
|
+
}
|
|
54
|
+
if (!schema) {
|
|
55
|
+
prev[propName] = "?";
|
|
56
|
+
return prev;
|
|
57
|
+
}
|
|
58
|
+
const rawValue = object[propName];
|
|
59
|
+
switch (schema.type) {
|
|
60
|
+
case "array":
|
|
61
|
+
prev[propName] = JSON.stringify(rawValue);
|
|
62
|
+
return prev;
|
|
63
|
+
case "boolean":
|
|
64
|
+
prev[propName] = rawValue ? "✓" : "✕";
|
|
65
|
+
return prev;
|
|
66
|
+
case "integer":
|
|
67
|
+
prev[propName] = [undefined, null].includes(rawValue)
|
|
68
|
+
? ""
|
|
69
|
+
: `${rawValue}`;
|
|
70
|
+
return prev;
|
|
71
|
+
// @ts-ignore
|
|
72
|
+
case "string":
|
|
73
|
+
if (schema.format === "date" && rawValue) {
|
|
74
|
+
prev[propName] =
|
|
75
|
+
rawValue === "2999-12-31"
|
|
76
|
+
? "-"
|
|
77
|
+
: localeFormat(new Date(rawValue), "dd MMM yyyy");
|
|
78
|
+
return prev;
|
|
79
|
+
}
|
|
80
|
+
if (schema.format === "date-time" && rawValue) {
|
|
81
|
+
prev[propName] = localeFormat(new Date(rawValue), "dd MMM yyyy hh:mm");
|
|
82
|
+
return prev;
|
|
83
|
+
}
|
|
84
|
+
if (schema.enum) {
|
|
85
|
+
prev[propName] = camelTextToTitleText(rawValue);
|
|
86
|
+
return prev;
|
|
87
|
+
}
|
|
88
|
+
// fallthrough
|
|
89
|
+
default:
|
|
90
|
+
prev[propName] = rawValue ? `${rawValue}` : "";
|
|
91
|
+
return prev;
|
|
92
|
+
}
|
|
93
|
+
}, { _index: rowIndex }))
|
|
94
|
+
: undefined, [columnNames, config, data, properties]);
|
|
95
|
+
const gridWidth = props.width;
|
|
96
|
+
const columnCount = columnNames.length;
|
|
97
|
+
const { columnWidths, dynamicWidthColumnCount, fixedWidthColumnsWidth } = React.useMemo(() => {
|
|
98
|
+
let fixedWidthColumnsWidth = 0;
|
|
99
|
+
let dynamicWidthColumnCount = 0;
|
|
100
|
+
columnNames.forEach((propName) => {
|
|
101
|
+
const propConfig = config ? config[propName] : undefined;
|
|
102
|
+
if (propConfig === null || propConfig === void 0 ? void 0 : propConfig.width) {
|
|
103
|
+
fixedWidthColumnsWidth += propConfig.width;
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
dynamicWidthColumnCount += 1;
|
|
107
|
+
}
|
|
108
|
+
}, 0);
|
|
109
|
+
const dynamicColumnWidth = Math.floor((gridWidth - 16 - fixedWidthColumnsWidth) / dynamicWidthColumnCount);
|
|
110
|
+
const columnWidths = columnNames.map((propName) => {
|
|
111
|
+
const propConfig = config ? config[propName] : undefined;
|
|
112
|
+
return (propConfig === null || propConfig === void 0 ? void 0 : propConfig.width) || dynamicColumnWidth;
|
|
113
|
+
});
|
|
114
|
+
return { columnWidths, dynamicWidthColumnCount, fixedWidthColumnsWidth };
|
|
115
|
+
}, [columnNames, config, gridWidth]);
|
|
116
|
+
const getColumnWidth = React.useCallback((columnIndex) => columnWidths[columnIndex], [columnWidths]);
|
|
117
|
+
const SchemaTableTh = React.useCallback(({ style, index }) => {
|
|
118
|
+
const propName = columnNames[index];
|
|
119
|
+
return (_jsx(Th, { columnFilters: columnFilters, config: config ? config[propName] : undefined, isSortable: !!isSortable, name: propName, schema: properties[propName], setColumnFilters: setColumnFilters, setSortColumn: setSortColumn, setSortAsc: setSortAsc, sortAsc: sortColumn === propName ? sortAsc : undefined, style: style }));
|
|
120
|
+
}, [
|
|
121
|
+
columnFilters,
|
|
122
|
+
columnNames,
|
|
123
|
+
config,
|
|
124
|
+
isSortable,
|
|
125
|
+
properties,
|
|
126
|
+
sortAsc,
|
|
127
|
+
sortColumn,
|
|
128
|
+
]);
|
|
129
|
+
const filteredRenderData = React.useMemo(() => {
|
|
130
|
+
let result = renderData;
|
|
131
|
+
if (!result) {
|
|
132
|
+
return result;
|
|
133
|
+
}
|
|
134
|
+
if (searchQuery) {
|
|
135
|
+
const lcQuery = searchQuery.toLowerCase();
|
|
136
|
+
result = result.filter((item) => !!columnNames.find((columnName) =>
|
|
137
|
+
// @ts-ignore
|
|
138
|
+
`${item[columnName]}`.toLowerCase().includes(lcQuery)));
|
|
139
|
+
}
|
|
140
|
+
if (!columnFilters) {
|
|
141
|
+
return result;
|
|
142
|
+
}
|
|
143
|
+
const columnFilterEntries = Object.entries(columnFilters);
|
|
144
|
+
return result.filter((item) => columnFilterEntries.find(([columnName, columnFilterValue]) =>
|
|
145
|
+
// @ts-ignore
|
|
146
|
+
data[item._index][columnName] === columnFilterValue));
|
|
147
|
+
}, [columnFilters, columnNames, data, renderData, searchQuery]);
|
|
148
|
+
// Sort the filtered data
|
|
149
|
+
const sortedRenderData = React.useMemo(() => {
|
|
150
|
+
if (!sortColumn || !filteredRenderData) {
|
|
151
|
+
return filteredRenderData;
|
|
152
|
+
}
|
|
153
|
+
const sortSchema = properties[sortColumn];
|
|
154
|
+
const propConfig = config ? config[sortColumn] : undefined;
|
|
155
|
+
const columnSort = propConfig === null || propConfig === void 0 ? void 0 : propConfig.sort;
|
|
156
|
+
if (columnSort) {
|
|
157
|
+
return filteredRenderData.sort((a, b) => {
|
|
158
|
+
const aData = data[a._index];
|
|
159
|
+
const bData = data[b._index];
|
|
160
|
+
if (!aData) {
|
|
161
|
+
return 1;
|
|
162
|
+
}
|
|
163
|
+
if (!bData) {
|
|
164
|
+
return -1;
|
|
165
|
+
}
|
|
166
|
+
return columnSort(aData, bData, sortAsc);
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
return filteredRenderData.sort((a, b) => {
|
|
170
|
+
const sortByValue = (propConfig === null || propConfig === void 0 ? void 0 : propConfig.sortByValue) === undefined
|
|
171
|
+
? !sortSchema ||
|
|
172
|
+
sortSchema.type === "boolean" ||
|
|
173
|
+
sortSchema.type === "integer" ||
|
|
174
|
+
sortSchema.format === "date" ||
|
|
175
|
+
sortSchema.format === "date-time" ||
|
|
176
|
+
(propConfig === null || propConfig === void 0 ? void 0 : propConfig.renderCell)
|
|
177
|
+
: propConfig.sortByValue;
|
|
178
|
+
const x = sortByValue && data[a._index]
|
|
179
|
+
? // @ts-ignore
|
|
180
|
+
data[a._index][sortColumn]
|
|
181
|
+
: a[sortColumn].toLowerCase();
|
|
182
|
+
const y = sortByValue && data[b._index]
|
|
183
|
+
? // @ts-ignore
|
|
184
|
+
data[b._index][sortColumn]
|
|
185
|
+
: b[sortColumn].toLowerCase();
|
|
186
|
+
if (x === y) {
|
|
187
|
+
return 0;
|
|
188
|
+
}
|
|
189
|
+
return (x < y ? 1 : -1) * (sortAsc ? -1 : 1);
|
|
190
|
+
});
|
|
191
|
+
}, [config, data, filteredRenderData, properties, sortAsc, sortColumn]);
|
|
192
|
+
const onTdClick = React.useCallback((e) => {
|
|
193
|
+
if (!sortedRenderData || !onRowClick) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
const { rowIndex } = e.currentTarget.dataset;
|
|
197
|
+
if (!rowIndex) {
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
const row = sortedRenderData[parseInt(rowIndex, 10)];
|
|
201
|
+
onRowClick(data[row._index], row._index, e);
|
|
202
|
+
}, [data, onRowClick, sortedRenderData]);
|
|
203
|
+
const Td = React.useCallback(({ columnIndex, rowIndex, style }) => {
|
|
204
|
+
if (!sortedRenderData) {
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
const propName = columnNames[columnIndex];
|
|
208
|
+
const propConfig = config ? config[propName] : undefined;
|
|
209
|
+
const row = sortedRenderData[rowIndex];
|
|
210
|
+
const schema = properties[propName];
|
|
211
|
+
const tdDivProps = {
|
|
212
|
+
"data-row-index": rowIndex,
|
|
213
|
+
"data-column-index": columnIndex,
|
|
214
|
+
key: propName,
|
|
215
|
+
style,
|
|
216
|
+
onClick: !(propConfig === null || propConfig === void 0 ? void 0 : propConfig.renderCell) ? onTdClick : undefined,
|
|
217
|
+
className: `schema-table__td schema-table__td--${rowIndex % 2 ? "odd" : "even"}${row && getRowSelected && getRowSelected(data[row._index])
|
|
218
|
+
? " schema-table__td--selected"
|
|
219
|
+
: ""} ${row && getRowClassName
|
|
220
|
+
? getRowClassName(data[row._index], sortedRenderData)
|
|
221
|
+
: ""}`,
|
|
222
|
+
};
|
|
223
|
+
if (propConfig === null || propConfig === void 0 ? void 0 : propConfig.renderCell) {
|
|
224
|
+
return (_jsx("div", Object.assign({}, tdDivProps, { children: propConfig.renderCell(data[row._index], rowIndex) })));
|
|
225
|
+
}
|
|
226
|
+
if (!schema) {
|
|
227
|
+
return null;
|
|
228
|
+
}
|
|
229
|
+
// @ts-ignore
|
|
230
|
+
switch (schema.type) {
|
|
231
|
+
case "boolean":
|
|
232
|
+
tdDivProps.className += ` text-${(propConfig === null || propConfig === void 0 ? void 0 : propConfig.align) || "center"}`;
|
|
233
|
+
break;
|
|
234
|
+
case "number":
|
|
235
|
+
case "integer":
|
|
236
|
+
tdDivProps.className += ` text-${(propConfig === null || propConfig === void 0 ? void 0 : propConfig.align) || "end"}`;
|
|
237
|
+
break;
|
|
238
|
+
case "string":
|
|
239
|
+
// @ts-ignore
|
|
240
|
+
tdDivProps.title = row[propName];
|
|
241
|
+
if (schema.format === "date" || schema.format === "date-time") {
|
|
242
|
+
tdDivProps.className += ` text-${(propConfig === null || propConfig === void 0 ? void 0 : propConfig.align) || "end"}`;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return _jsx("div", Object.assign({}, tdDivProps, { children: row[propName] }));
|
|
246
|
+
}, [
|
|
247
|
+
sortedRenderData,
|
|
248
|
+
columnNames,
|
|
249
|
+
config,
|
|
250
|
+
properties,
|
|
251
|
+
onTdClick,
|
|
252
|
+
getRowSelected,
|
|
253
|
+
data,
|
|
254
|
+
getRowClassName,
|
|
255
|
+
]);
|
|
256
|
+
const onSearchChange = React.useCallback((e) => {
|
|
257
|
+
setSearchQuery(e.currentTarget.value);
|
|
258
|
+
}, []);
|
|
259
|
+
const getRowHeight = React.useCallback(() => rowHeight, [rowHeight]);
|
|
260
|
+
const width = dynamicWidthColumnCount ? gridWidth : fixedWidthColumnsWidth;
|
|
261
|
+
const totalWidth = React.useMemo(() => columnWidths.reduce((a, b) => {
|
|
262
|
+
return a + b;
|
|
263
|
+
}, 0), [columnWidths]);
|
|
264
|
+
return (_jsxs("div", Object.assign({ className: `schema-table${onRowClick ? " schema-table--clickable-rows" : ""}`, style: Object.assign(Object.assign({}, style), { width: dynamicWidthColumnCount ? gridWidth : fixedWidthColumnsWidth }) }, { children: [_jsx("div", Object.assign({ className: "tableTitle" }, { children: tableTitle })), _jsxs("div", Object.assign({ className: "form-action-container" }, { children: [_jsx("div", Object.assign({ className: "flex-1" }, { children: isSearchable ? (_jsx("input", { id: "input-filter", type: "text", placeholder: searchPlaceholder, value: searchQuery, onChange: onSearchChange, autoFocus: true })) : null })), customElement] })), _jsx(Heading, Object.assign({ height: 50, itemCount: columnCount, itemSize: getColumnWidth, layout: "horizontal", width: width, sortAsc: sortAsc, setSortAsc: setSortAsc, setSortColumn: setSortColumn, sortColumn: sortColumn, sortedRenderData: sortedRenderData }, { children: SchemaTableTh }), `thead_${width}_${sortColumn}_${sortAsc}_${searchQuery}`), _jsx(VariableSizeGrid, Object.assign({ className: "schema-table__tbody", height: props.height - (isSearchable ? 50 : 0), width: totalWidth, columnWidth: getColumnWidth, rowHeight: getRowHeight, columnCount: columnCount, rowCount: sortedRenderData ? sortedRenderData.length : 0 }, { children: Td }), `tbody_${width}_${sortColumn}_${sortAsc}_${searchQuery}_${columnCount}`)] })));
|
|
265
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const localeFormat: (date: Date | number, dateFormat: string) => string;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export function getEmptyObject(schema) {
|
|
2
|
+
const { properties = {} } = schema;
|
|
3
|
+
return Object.keys(properties).reduce((prev, propName) => {
|
|
4
|
+
const prop = properties[propName];
|
|
5
|
+
let propValue;
|
|
6
|
+
switch (prop.type) {
|
|
7
|
+
case "string":
|
|
8
|
+
propValue = prop.enum ? prop.enum[0] : prop.default || "";
|
|
9
|
+
break;
|
|
10
|
+
case "array":
|
|
11
|
+
propValue = prop.default || [];
|
|
12
|
+
break;
|
|
13
|
+
case "number":
|
|
14
|
+
case "integer":
|
|
15
|
+
propValue = prop.default || 0;
|
|
16
|
+
break;
|
|
17
|
+
case "boolean":
|
|
18
|
+
propValue = prop.default || false;
|
|
19
|
+
break;
|
|
20
|
+
case "object":
|
|
21
|
+
propValue = prop.default || getEmptyObject(prop);
|
|
22
|
+
break;
|
|
23
|
+
// eslint-disable-next-line no-fallthrough
|
|
24
|
+
default:
|
|
25
|
+
console.log(prop);
|
|
26
|
+
throw new Error("Unsupported property");
|
|
27
|
+
}
|
|
28
|
+
// @ts-ignore
|
|
29
|
+
prev[propName] = propValue;
|
|
30
|
+
return prev;
|
|
31
|
+
}, {});
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const camelTextToTitleText: (keyName: string) => string;
|
package/build/index.css
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
table {
|
|
2
|
+
border-collapse: collapse;
|
|
3
|
+
width: 100%;
|
|
4
|
+
cursor: pointer;
|
|
5
|
+
margin-top: 5px;
|
|
6
|
+
}
|
|
7
|
+
table thead {
|
|
8
|
+
width: calc(100% - 1em);
|
|
9
|
+
}
|
|
10
|
+
table thead, table tbody tr {
|
|
11
|
+
display: table;
|
|
12
|
+
width: 100%;
|
|
13
|
+
table-layout: fixed;
|
|
14
|
+
}
|
|
15
|
+
table tbody {
|
|
16
|
+
display: block;
|
|
17
|
+
overflow: auto;
|
|
18
|
+
max-height: 80vh;
|
|
19
|
+
}
|
|
20
|
+
table th {
|
|
21
|
+
background-color: lightgray;
|
|
22
|
+
text-align: left;
|
|
23
|
+
position: sticky;
|
|
24
|
+
top: 0;
|
|
25
|
+
}
|
|
26
|
+
table th .arrow {
|
|
27
|
+
border: solid black;
|
|
28
|
+
border-width: 0 3px 3px 0;
|
|
29
|
+
display: inline-block;
|
|
30
|
+
padding: 3px;
|
|
31
|
+
position: absolute;
|
|
32
|
+
right: 0;
|
|
33
|
+
margin: 6px;
|
|
34
|
+
}
|
|
35
|
+
table th, table td {
|
|
36
|
+
border-right: 1px solid #ddd;
|
|
37
|
+
border-left: 1px solid #ddd;
|
|
38
|
+
padding: 8px;
|
|
39
|
+
}
|
|
40
|
+
table td div {
|
|
41
|
+
text-overflow: ellipsis;
|
|
42
|
+
width: 100%;
|
|
43
|
+
white-space: nowrap;
|
|
44
|
+
overflow: hidden;
|
|
45
|
+
}
|
|
46
|
+
table tbody tr {
|
|
47
|
+
height: 50px;
|
|
48
|
+
}
|
|
49
|
+
table tbody tr:hover {
|
|
50
|
+
background-color: #858585;
|
|
51
|
+
}
|
|
52
|
+
table tr:nth-child(even) {
|
|
53
|
+
background-color: #f2f2f2;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.ASC {
|
|
57
|
+
transform: rotate(45deg);
|
|
58
|
+
-webkit-transform: rotate(45deg);
|
|
59
|
+
transition: 0.5s;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.DSC {
|
|
63
|
+
transform: rotate(-135deg);
|
|
64
|
+
-webkit-transform: rotate(-135deg);
|
|
65
|
+
transition: 0.5s;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.tableTitle {
|
|
69
|
+
margin-top: 10px;
|
|
70
|
+
margin-bottom: 20px;
|
|
71
|
+
font-size: 25px;
|
|
72
|
+
font-weight: bold;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.schema-table {
|
|
76
|
+
overflow: hidden;
|
|
77
|
+
}
|
|
78
|
+
.schema-table__tbody {
|
|
79
|
+
overflow-x: hidden !important;
|
|
80
|
+
border-collapse: collapse;
|
|
81
|
+
width: 100%;
|
|
82
|
+
cursor: pointer;
|
|
83
|
+
}
|
|
84
|
+
.schema-table__th-row {
|
|
85
|
+
overflow: hidden !important;
|
|
86
|
+
}
|
|
87
|
+
.schema-table__th {
|
|
88
|
+
overflow: hidden;
|
|
89
|
+
background-color: #eee;
|
|
90
|
+
}
|
|
91
|
+
.schema-table__th,
|
|
92
|
+
.schema-table__th button {
|
|
93
|
+
font-weight: bold;
|
|
94
|
+
margin-top: 10px;
|
|
95
|
+
display: flex;
|
|
96
|
+
}
|
|
97
|
+
.schema-table__th--unsortable {
|
|
98
|
+
padding-left: 1rem;
|
|
99
|
+
}
|
|
100
|
+
.schema-table__td {
|
|
101
|
+
overflow: hidden;
|
|
102
|
+
white-space: nowrap;
|
|
103
|
+
text-overflow: ellipsis;
|
|
104
|
+
padding-left: 8px;
|
|
105
|
+
align-items: center;
|
|
106
|
+
line-height: 40px;
|
|
107
|
+
}
|
|
108
|
+
.schema-table__td--odd {
|
|
109
|
+
background-color: #ddd;
|
|
110
|
+
}
|
|
111
|
+
.schema-table__td--even {
|
|
112
|
+
background-color: #fff;
|
|
113
|
+
}
|
|
114
|
+
.schema-table__td--selected {
|
|
115
|
+
background-color: #bbb;
|
|
116
|
+
}
|
|
117
|
+
.schema-table__search {
|
|
118
|
+
margin: 1rem;
|
|
119
|
+
padding-right: 1rem;
|
|
120
|
+
}
|
|
121
|
+
.schema-table__search input {
|
|
122
|
+
width: 100%;
|
|
123
|
+
line-height: 20px;
|
|
124
|
+
}
|
|
125
|
+
.schema-table--clickable-rows .schema-table__td {
|
|
126
|
+
cursor: pointer;
|
|
127
|
+
}
|
|
128
|
+
.schema-table button {
|
|
129
|
+
border: 1px solid transparent;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/*# sourceMappingURL=index.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../src/index.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAIA;EACE;EACA;EACA;EACA;;AAKF;EACE;;AACA;EACE;;AAKN;EACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EAgEE;;AA/DA;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAEA;AAAA;EAEE;EACA;EACA;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAEF;EACE;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;;AAEF;EACE","file":"index.css"}
|
package/build/index.d.ts
ADDED
package/build/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const reportWebVitals = (onPerfEntry) => {
|
|
2
|
+
if (onPerfEntry && onPerfEntry instanceof Function) {
|
|
3
|
+
import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
|
|
4
|
+
getCLS(onPerfEntry);
|
|
5
|
+
getFID(onPerfEntry);
|
|
6
|
+
getFCP(onPerfEntry);
|
|
7
|
+
getLCP(onPerfEntry);
|
|
8
|
+
getTTFB(onPerfEntry);
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
export default reportWebVitals;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '@testing-library/jest-dom';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface IColumnConfig<T> {
|
|
3
|
+
align?: "start" | "center" | "end";
|
|
4
|
+
defaultSortDesc?: boolean;
|
|
5
|
+
hidden?: boolean;
|
|
6
|
+
hoverTitle?: string;
|
|
7
|
+
isFilterable?: boolean;
|
|
8
|
+
renderCell?: (rowData: T, index: number) => React.ReactElement | null;
|
|
9
|
+
renderData?: (rowData: T, index: number) => string;
|
|
10
|
+
sort?: (a: T, b: T, sortAsc: boolean) => number;
|
|
11
|
+
sortByValue?: boolean;
|
|
12
|
+
sortable?: boolean;
|
|
13
|
+
title?: string | React.ReactElement;
|
|
14
|
+
width?: number;
|
|
15
|
+
order?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface IRenderData {
|
|
18
|
+
_index: number;
|
|
19
|
+
[key: string]: any;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mig-schema-table",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"main": "build/static/js/main.js",
|
|
5
5
|
"files": [
|
|
6
6
|
"build/"
|
|
7
7
|
],
|
|
8
|
+
"types": "./build/index.d.ts",
|
|
8
9
|
"private": false,
|
|
9
10
|
"dependencies": {
|
|
10
11
|
"@testing-library/jest-dom": "^5.16.5",
|
|
@@ -28,7 +29,7 @@
|
|
|
28
29
|
},
|
|
29
30
|
"scripts": {
|
|
30
31
|
"start": "react-scripts start",
|
|
31
|
-
"build": "
|
|
32
|
+
"build": "tsc; sass src/index.scss build/index.css"
|
|
32
33
|
},
|
|
33
34
|
"eslintConfig": {
|
|
34
35
|
"extends": [
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"files": {
|
|
3
|
-
"main.css": "/static/css/main.bea5aade.css",
|
|
4
|
-
"main.js": "/static/js/main.7ff6957d.js",
|
|
5
|
-
"index.html": "/index.html",
|
|
6
|
-
"main.bea5aade.css.map": "/static/css/main.bea5aade.css.map",
|
|
7
|
-
"main.7ff6957d.js.map": "/static/js/main.7ff6957d.js.map"
|
|
8
|
-
},
|
|
9
|
-
"entrypoints": [
|
|
10
|
-
"static/css/main.bea5aade.css",
|
|
11
|
-
"static/js/main.7ff6957d.js"
|
|
12
|
-
]
|
|
13
|
-
}
|
package/build/favicon.ico
DELETED
|
Binary file
|
package/build/index.html
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>React App</title><script defer="defer" src="/static/js/main.7ff6957d.js"></script><link href="/static/css/main.bea5aade.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
package/build/logo192.png
DELETED
|
Binary file
|
package/build/logo512.png
DELETED
|
Binary file
|
package/build/manifest.json
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"short_name": "React App",
|
|
3
|
-
"name": "Create React App Sample",
|
|
4
|
-
"icons": [
|
|
5
|
-
{
|
|
6
|
-
"src": "favicon.ico",
|
|
7
|
-
"sizes": "64x64 32x32 24x24 16x16",
|
|
8
|
-
"type": "image/x-icon"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"src": "logo192.png",
|
|
12
|
-
"type": "image/png",
|
|
13
|
-
"sizes": "192x192"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"src": "logo512.png",
|
|
17
|
-
"type": "image/png",
|
|
18
|
-
"sizes": "512x512"
|
|
19
|
-
}
|
|
20
|
-
],
|
|
21
|
-
"start_url": ".",
|
|
22
|
-
"display": "standalone",
|
|
23
|
-
"theme_color": "#000000",
|
|
24
|
-
"background_color": "#ffffff"
|
|
25
|
-
}
|
package/build/robots.txt
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
table{border-collapse:collapse;cursor:pointer;margin-top:5px;width:100%}table thead{width:calc(100% - 1em)}table tbody tr,table thead{display:table;table-layout:fixed;width:100%}table tbody{display:block;max-height:80vh;overflow:auto}table th{background-color:#d3d3d3;position:-webkit-sticky;position:sticky;text-align:left;top:0}table th .arrow{border:solid #000;border-width:0 3px 3px 0;display:inline-block;margin:6px;padding:3px;position:absolute;right:0}table td,table th{border-left:1px solid #ddd;border-right:1px solid #ddd;padding:8px}table td div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}table tbody tr{height:50px}table tbody tr:hover{background-color:#858585}table tr:nth-child(2n){background-color:#f2f2f2}.ASC{transform:rotate(45deg);-webkit-transform:rotate(45deg)}.ASC,.DSC{transition:.5s}.DSC{transform:rotate(-135deg);-webkit-transform:rotate(-135deg)}.tableTitle{font-size:25px;font-weight:700;margin-bottom:20px;margin-top:10px}.schema-table{overflow:hidden}.schema-table__tbody{border-collapse:collapse;cursor:pointer;overflow-x:hidden!important;width:100%}.schema-table__th-row{overflow:hidden!important}.schema-table__th{background-color:#eee;overflow:hidden}.schema-table__th,.schema-table__th button{display:flex;font-weight:700;margin-top:10px}.schema-table__th--unsortable{padding-left:1rem}.schema-table__td{align-items:center;line-height:40px;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.schema-table__td--odd{background-color:#ddd}.schema-table__td--even{background-color:#fff}.schema-table__td--selected{background-color:#bbb}.schema-table__search{margin:1rem;padding-right:1rem}.schema-table__search input{line-height:20px;width:100%}.schema-table--clickable-rows .schema-table__td{cursor:pointer}.schema-table button{border:1px solid transparent}
|
|
2
|
-
/*# sourceMappingURL=main.bea5aade.css.map*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/css/main.bea5aade.css","mappings":"AAAA,MACE,yBAEA,eACA,eAFA,UAEA,CAEA,YACE,uBAGF,2BACE,cAEA,mBADA,UACA,CAGF,YACE,cAEA,gBADA,aACA,CAGF,SACE,yBAEA,wCADA,gBAEA,MACA,gBAEE,2CACA,qBAIA,WAHA,YACA,kBACA,OACA,CAIJ,kBAEE,2BADA,4BAEA,YAIA,aAIE,gBAHA,uBAEA,mBADA,UAEA,CAKF,eACE,YACA,qBACE,yBAKN,uBACE,yBAIJ,KACE,wBACA,+BACA,CAGF,UAHE,cAMA,CAHF,KACE,0BACA,iCACA,CAGF,YAGE,eACA,gBAFA,mBADA,eAGA,CAIF,cAgEE,gBA/DA,qBAEE,yBAEA,eAHA,4BAEA,UACA,CAGF,sBACE,0BAGF,kBAEE,sBADA,eACA,CAEA,2CAIE,aAFA,gBACA,eACA,CAGF,8BACE,kBAIJ,kBAKE,mBACA,iBALA,gBAGA,iBADA,uBADA,kBAIA,CAEA,uBACE,sBAGF,wBACE,sBAEF,4BACE,sBAIJ,sBACE,YACA,mBAEA,4BAEE,iBADA,UACA,CAIJ,gDACE,eAEF,qBACE","sources":["component/SchemaTable/index.scss"],"sourcesContent":["table {\n border-collapse: collapse;\n width: 100%;\n cursor: pointer;\n margin-top: 5px;\n\n thead {\n width: calc( 100% - 1em )\n }\n\n thead, tbody tr {\n display: table;\n width: 100%;\n table-layout: fixed;\n }\n\n tbody {\n display: block;\n overflow: auto;\n max-height: 80vh;\n }\n\n & th{\n background-color: lightgray;\n text-align: left;\n position: sticky;\n top: 0;\n .arrow {\n border: solid black;\n border-width: 0 3px 3px 0;\n display: inline-block;\n padding: 3px;\n position: absolute;\n right: 0;\n margin: 6px;\n }\n }\n\n th,td{\n border-right: 1px solid #ddd;\n border-left: 1px solid #ddd;\n padding: 8px;\n }\n\n td{\n div{\n text-overflow: ellipsis;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n }\n }\n\n & tbody{\n & tr{\n height: 50px;\n &:hover{\n background-color: #858585;\n }\n }\n }\n\n & tr:nth-child(even) {\n background-color: #f2f2f2;\n }\n}\n\n.ASC {\n transform: rotate(45deg);\n -webkit-transform: rotate(45deg);\n transition: 0.5s;\n}\n\n.DSC {\n transform: rotate(-135deg);\n -webkit-transform: rotate(-135deg);\n transition: 0.5s;\n}\n\n.tableTitle {\n margin-top: 10px;\n margin-bottom: 20px;\n font-size: 25px;\n font-weight: bold;\n}\n\n// New style from reference\n.schema-table {\n &__tbody {\n overflow-x: hidden !important;\n border-collapse: collapse;\n width: 100%;\n cursor: pointer;\n }\n\n &__th-row {\n overflow: hidden !important;\n }\n\n &__th {\n overflow: hidden;\n background-color: #eee;\n\n &,\n button {\n font-weight: bold;\n margin-top: 10px;\n display: flex;\n }\n\n &--unsortable {\n padding-left: 1rem;\n }\n }\n\n &__td {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding-left: 8px;\n align-items: center;\n line-height: 40px;\n\n &--odd {\n background-color: #ddd;\n }\n\n &--even {\n background-color: #fff;\n }\n &--selected {\n background-color: #bbb;\n }\n }\n\n &__search {\n margin: 1rem;\n padding-right: 1rem;\n\n input {\n width: 100%;\n line-height: 20px;\n }\n }\n\n &--clickable-rows .schema-table__td {\n cursor: pointer;\n }\n button {\n border:1px solid transparent;\n }\n overflow: hidden;\n}\n"],"names":[],"sourceRoot":""}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license React
|
|
3
|
-
* react-jsx-runtime.production.min.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* @license React
|
|
13
|
-
* react.production.min.js
|
|
14
|
-
*
|
|
15
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
16
|
-
*
|
|
17
|
-
* This source code is licensed under the MIT license found in the
|
|
18
|
-
* LICENSE file in the root directory of this source tree.
|
|
19
|
-
*/
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/main.7ff6957d.js","mappings":"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","sources":["../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../webpack/bootstrap"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;\nexports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\");};\nexports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};\nexports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};\nexports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.2.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n"],"names":["f","require","k","Symbol","for","l","m","Object","prototype","hasOwnProperty","n","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","p","key","ref","__self","__source","q","c","a","g","b","d","e","h","call","defaultProps","$$typeof","type","props","_owner","current","r","t","u","v","w","x","y","z","iterator","B","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","C","assign","D","E","this","context","refs","updater","F","G","isReactComponent","setState","Error","forceUpdate","H","constructor","isPureReactComponent","I","Array","isArray","J","K","L","M","arguments","length","children","O","P","Q","replace","escape","toString","R","N","push","A","next","done","value","String","keys","join","S","T","_status","_result","then","default","U","V","transition","W","ReactCurrentDispatcher","ReactCurrentBatchConfig","exports","Children","map","forEach","apply","count","toArray","only","Component","Fragment","Profiler","PureComponent","StrictMode","Suspense","cloneElement","createContext","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","_context","createElement","createFactory","bind","createRef","forwardRef","render","isValidElement","lazy","_payload","_init","memo","compare","startTransition","unstable_act","useCallback","useContext","useDebugValue","useDeferredValue","useEffect","useId","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useSyncExternalStore","useTransition","version","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__"],"sourceRoot":""}
|
package/build/static/js/main.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! For license information please see main.7ff6957d.js.LICENSE.txt */
|
|
2
|
-
!function(){"use strict";var e={374:function(e,t,r){var n=r(791),o=Symbol.for("react.element"),u=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,c=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,f={key:!0,ref:!0,__self:!0,__source:!0};function i(e,t,r){var n,u={},i=null,l=null;for(n in void 0!==r&&(i=""+r),void 0!==t.key&&(i=""+t.key),void 0!==t.ref&&(l=t.ref),t)a.call(t,n)&&!f.hasOwnProperty(n)&&(u[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===u[n]&&(u[n]=t[n]);return{$$typeof:o,type:e,key:i,ref:l,props:u,_owner:c.current}}},117:function(e,t){var r=Symbol.for("react.element"),n=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),u=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),f=Symbol.for("react.context"),i=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),s=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),y=Symbol.iterator;var d={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,v={};function h(e,t,r){this.props=e,this.context=t,this.refs=v,this.updater=r||d}function m(){}function b(e,t,r){this.props=e,this.context=t,this.refs=v,this.updater=r||d}h.prototype.isReactComponent={},h.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},h.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},m.prototype=h.prototype;var S=b.prototype=new m;S.constructor=b,_(S,h.prototype),S.isPureReactComponent=!0;var E=Array.isArray,R=Object.prototype.hasOwnProperty,w={current:null},k={key:!0,ref:!0,__self:!0,__source:!0};function $(e,t,n){var o,u={},a=null,c=null;if(null!=t)for(o in void 0!==t.ref&&(c=t.ref),void 0!==t.key&&(a=""+t.key),t)R.call(t,o)&&!k.hasOwnProperty(o)&&(u[o]=t[o]);var f=arguments.length-2;if(1===f)u.children=n;else if(1<f){for(var i=Array(f),l=0;l<f;l++)i[l]=arguments[l+2];u.children=i}if(e&&e.defaultProps)for(o in f=e.defaultProps)void 0===u[o]&&(u[o]=f[o]);return{$$typeof:r,type:e,key:a,ref:c,props:u,_owner:w.current}}function C(e){return"object"===typeof e&&null!==e&&e.$$typeof===r}var O=/\/+/g;function g(e,t){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function j(e,t,o,u,a){var c=typeof e;"undefined"!==c&&"boolean"!==c||(e=null);var f=!1;if(null===e)f=!0;else switch(c){case"string":case"number":f=!0;break;case"object":switch(e.$$typeof){case r:case n:f=!0}}if(f)return a=a(f=e),e=""===u?"."+g(f,0):u,E(a)?(o="",null!=e&&(o=e.replace(O,"$&/")+"/"),j(a,t,o,"",(function(e){return e}))):null!=a&&(C(a)&&(a=function(e,t){return{$$typeof:r,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(a,o+(!a.key||f&&f.key===a.key?"":(""+a.key).replace(O,"$&/")+"/")+e)),t.push(a)),1;if(f=0,u=""===u?".":u+":",E(e))for(var i=0;i<e.length;i++){var l=u+g(c=e[i],i);f+=j(c,t,o,l,a)}else if(l=function(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=y&&e[y]||e["@@iterator"])?e:null}(e),"function"===typeof l)for(e=l.call(e),i=0;!(c=e.next()).done;)f+=j(c=c.value,t,o,l=u+g(c,i++),a);else if("object"===c)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return f}function x(e,t,r){if(null==e)return e;var n=[],o=0;return j(e,n,"","",(function(e){return t.call(r,e,o++)})),n}function P(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var I={current:null},T={transition:null},D={ReactCurrentDispatcher:I,ReactCurrentBatchConfig:T,ReactCurrentOwner:w};t.Children={map:x,forEach:function(e,t,r){x(e,(function(){t.apply(this,arguments)}),r)},count:function(e){var t=0;return x(e,(function(){t++})),t},toArray:function(e){return x(e,(function(e){return e}))||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=h,t.Fragment=o,t.Profiler=a,t.PureComponent=b,t.StrictMode=u,t.Suspense=l,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=D,t.cloneElement=function(e,t,n){if(null===e||void 0===e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=_({},e.props),u=e.key,a=e.ref,c=e._owner;if(null!=t){if(void 0!==t.ref&&(a=t.ref,c=w.current),void 0!==t.key&&(u=""+t.key),e.type&&e.type.defaultProps)var f=e.type.defaultProps;for(i in t)R.call(t,i)&&!k.hasOwnProperty(i)&&(o[i]=void 0===t[i]&&void 0!==f?f[i]:t[i])}var i=arguments.length-2;if(1===i)o.children=n;else if(1<i){f=Array(i);for(var l=0;l<i;l++)f[l]=arguments[l+2];o.children=f}return{$$typeof:r,type:e.type,key:u,ref:a,props:o,_owner:c}},t.createContext=function(e){return(e={$$typeof:f,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:c,_context:e},e.Consumer=e},t.createElement=$,t.createFactory=function(e){var t=$.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:i,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:P}},t.memo=function(e,t){return{$$typeof:s,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=T.transition;T.transition={};try{e()}finally{T.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return I.current.useCallback(e,t)},t.useContext=function(e){return I.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return I.current.useDeferredValue(e)},t.useEffect=function(e,t){return I.current.useEffect(e,t)},t.useId=function(){return I.current.useId()},t.useImperativeHandle=function(e,t,r){return I.current.useImperativeHandle(e,t,r)},t.useInsertionEffect=function(e,t){return I.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return I.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return I.current.useMemo(e,t)},t.useReducer=function(e,t,r){return I.current.useReducer(e,t,r)},t.useRef=function(e){return I.current.useRef(e)},t.useState=function(e){return I.current.useState(e)},t.useSyncExternalStore=function(e,t,r){return I.current.useSyncExternalStore(e,t,r)},t.useTransition=function(){return I.current.useTransition()},t.version="18.2.0"},791:function(e,t,r){e.exports=r(117)},184:function(e,t,r){r(374)}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var u=t[n]={exports:{}};return e[n](u,u.exports,r),u.exports}r(791),r(184)}();
|
|
3
|
-
//# sourceMappingURL=main.7ff6957d.js.map
|