cnhis-design-vue 3.1.21-beta.3 → 3.1.21-beta.5

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 (85) hide show
  1. package/es/components/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.js +3 -2
  2. package/es/components/form-render/src/FormRender.js +1 -1
  3. package/es/components/form-render/src/components/renderer/date.js +11 -0
  4. package/es/components/{form-table → form-render}/src/hooks/useNuiThemeOverrides.d.ts +0 -0
  5. package/es/components/{form-table → form-render}/src/hooks/useNuiThemeOverrides.js +0 -0
  6. package/es/components/{form-table → form-render}/src/hooks/useNuiThemeOverrides2.js +0 -0
  7. package/es/components/index.d.ts +1 -2
  8. package/es/components/index.js +0 -1
  9. package/es/components/index2.js +0 -3
  10. package/es/components/info-header/index.d.ts +3 -3
  11. package/es/components/info-header/src/HiddenContent.vue.d.ts +2 -2
  12. package/es/components/info-header/src/InfoEllipsis.vue.d.ts +1 -1
  13. package/es/components/info-header/src/InfoHeader.vue.d.ts +3 -3
  14. package/es/components/scale-view/src/components/formitem/text-over-tooltip/TextOverTooltip.vue.d.ts +1 -1
  15. package/es/components/steps-wheel/index.d.ts +1 -1
  16. package/es/components/steps-wheel/src/StepsWheel.vue.d.ts +1 -1
  17. package/es/shared/components/TextOverTooltip/TextOverTooltip.vue.d.ts +1 -1
  18. package/package.json +2 -2
  19. package/es/components/form-table/index.d.ts +0 -4019
  20. package/es/components/form-table/index.js +0 -1
  21. package/es/components/form-table/index2.js +0 -10
  22. package/es/components/form-table/src/FormTable.js +0 -474
  23. package/es/components/form-table/src/FormTable.vue.d.ts +0 -4019
  24. package/es/components/form-table/src/components/index.d.ts +0 -3778
  25. package/es/components/form-table/src/components/index.js +0 -1
  26. package/es/components/form-table/src/components/index2.js +0 -40
  27. package/es/components/form-table/src/components/table-age.js +0 -235
  28. package/es/components/form-table/src/components/table-age.vue.d.ts +0 -318
  29. package/es/components/form-table/src/components/table-date-picker.js +0 -179
  30. package/es/components/form-table/src/components/table-date-picker.vue.d.ts +0 -250
  31. package/es/components/form-table/src/components/table-digital.js +0 -141
  32. package/es/components/form-table/src/components/table-digital.vue.d.ts +0 -261
  33. package/es/components/form-table/src/components/table-input-password.js +0 -141
  34. package/es/components/form-table/src/components/table-input-password.vue.d.ts +0 -304
  35. package/es/components/form-table/src/components/table-input.js +0 -127
  36. package/es/components/form-table/src/components/table-input.vue.d.ts +0 -261
  37. package/es/components/form-table/src/components/table-month-picker.js +0 -104
  38. package/es/components/form-table/src/components/table-month-picker.vue.d.ts +0 -193
  39. package/es/components/form-table/src/components/table-search-more.js +0 -6
  40. package/es/components/form-table/src/components/table-search-more.vue.d.ts +0 -392
  41. package/es/components/form-table/src/components/table-search-more.vue_vue_type_script_setup_true_lang.js +0 -276
  42. package/es/components/form-table/src/components/table-search.js +0 -6
  43. package/es/components/form-table/src/components/table-search.vue.d.ts +0 -386
  44. package/es/components/form-table/src/components/table-search.vue_vue_type_script_setup_true_lang.js +0 -276
  45. package/es/components/form-table/src/components/table-select-multiple.js +0 -164
  46. package/es/components/form-table/src/components/table-select-multiple.vue.d.ts +0 -235
  47. package/es/components/form-table/src/components/table-select.js +0 -159
  48. package/es/components/form-table/src/components/table-select.vue.d.ts +0 -234
  49. package/es/components/form-table/src/components/table-textarea.js +0 -157
  50. package/es/components/form-table/src/components/table-textarea.vue.d.ts +0 -320
  51. package/es/components/form-table/src/components/table-time-picker.js +0 -150
  52. package/es/components/form-table/src/components/table-time-picker.vue.d.ts +0 -246
  53. package/es/components/form-table/src/components/table-tree-select.js +0 -285
  54. package/es/components/form-table/src/components/table-tree-select.vue.d.ts +0 -349
  55. package/es/components/form-table/src/components/text-over-tooltip.js +0 -64
  56. package/es/components/form-table/src/components/text-over-tooltip.vue.d.ts +0 -70
  57. package/es/components/form-table/src/configs/index.d.ts +0 -35
  58. package/es/components/form-table/src/configs/index.js +0 -1
  59. package/es/components/form-table/src/configs/index2.js +0 -67
  60. package/es/components/form-table/src/hooks/index.d.ts +0 -5
  61. package/es/components/form-table/src/hooks/index.js +0 -5
  62. package/es/components/form-table/src/hooks/useBoundDate.d.ts +0 -21
  63. package/es/components/form-table/src/hooks/useBoundDate.js +0 -1
  64. package/es/components/form-table/src/hooks/useBoundDate2.js +0 -414
  65. package/es/components/form-table/src/hooks/useDateType.d.ts +0 -17
  66. package/es/components/form-table/src/hooks/useDateType.js +0 -1
  67. package/es/components/form-table/src/hooks/useDateType2.js +0 -160
  68. package/es/components/form-table/src/hooks/useFormCommon.d.ts +0 -14
  69. package/es/components/form-table/src/hooks/useFormCommon.js +0 -1
  70. package/es/components/form-table/src/hooks/useFormCommon2.js +0 -101
  71. package/es/components/form-table/src/hooks/useFormEvent.d.ts +0 -9
  72. package/es/components/form-table/src/hooks/useFormEvent.js +0 -1
  73. package/es/components/form-table/src/hooks/useFormEvent2.js +0 -68
  74. package/es/components/form-table/src/hooks/useItemDefault.d.ts +0 -53
  75. package/es/components/form-table/src/hooks/useItemDefault.js +0 -1
  76. package/es/components/form-table/src/hooks/useItemDefault2.js +0 -218
  77. package/es/components/form-table/src/hooks/useSearch.d.ts +0 -165
  78. package/es/components/form-table/src/hooks/useSearch.js +0 -1
  79. package/es/components/form-table/src/hooks/useSearch2.js +0 -1154
  80. package/es/components/form-table/src/hooks/useValidate.d.ts +0 -24
  81. package/es/components/form-table/src/hooks/useValidate.js +0 -1
  82. package/es/components/form-table/src/hooks/useValidate2.js +0 -480
  83. package/es/components/form-table/src/types/index.d.ts +0 -11
  84. package/es/components/form-table/src/types/index.js +0 -1
  85. package/es/components/form-table/style/index.css +0 -1
@@ -1 +0,0 @@
1
- export { default } from './index2.js';
@@ -1,10 +0,0 @@
1
- import { COMPONENT_NAMESPACE } from '../../shared/global/variable2.js';
2
- import { safeComponentRegister } from '../../shared/utils/index2.js';
3
- import script from './src/FormTable.js';
4
-
5
- const FormTable = script;
6
- FormTable.install = function(app) {
7
- safeComponentRegister(app, FormTable, COMPONENT_NAMESPACE + "FormTable");
8
- };
9
-
10
- export { FormTable as default };
@@ -1,474 +0,0 @@
1
- import { defineComponent, ref, computed, h, watch, onMounted, openBlock, createElementBlock, normalizeClass, normalizeStyle, unref, createVNode, withCtx, createCommentVNode } from 'vue';
2
- import { useMessage } from 'naive-ui';
3
- import { useComponents } from './components/index2.js';
4
- import 'moment';
5
- import XEUtils from 'xe-utils';
6
- import Grid from '../../grid/index2.js';
7
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.js';
8
-
9
- const _hoisted_1 = { key: 0 };
10
- const _sfc_main = /* @__PURE__ */ defineComponent({
11
- __name: "FormTable",
12
- props: {
13
- data: Array,
14
- columnConfig: Object,
15
- emptyItems: {
16
- type: Object,
17
- default: () => {
18
- return {
19
- noDataImg: "nodata",
20
- noDataTip: ""
21
- };
22
- }
23
- },
24
- isOnlyDisplay: Boolean,
25
- userInfo: {
26
- type: Object,
27
- default: () => ({})
28
- },
29
- styleSetting: {
30
- type: Object,
31
- default: () => ({})
32
- },
33
- defaultValue: {
34
- type: Array,
35
- default: () => []
36
- },
37
- dbParams: {
38
- type: Object
39
- },
40
- cacheUniqueKey: {
41
- type: Object,
42
- default: () => {
43
- return {};
44
- }
45
- },
46
- formType: {
47
- type: Object,
48
- default: () => {
49
- return {};
50
- }
51
- },
52
- formConfig: {
53
- type: Object,
54
- default: () => {
55
- return {};
56
- }
57
- },
58
- formTableItem: {
59
- type: Object,
60
- default: () => {
61
- return {};
62
- }
63
- },
64
- isDetail: {
65
- type: Boolean,
66
- default: false
67
- }
68
- },
69
- emits: ["AddComplete", "formTableBlur", "DeleteComplete"],
70
- setup(__props, { emit }) {
71
- const props = __props;
72
- useMessage();
73
- const { cmps, getComName } = useComponents();
74
- const isShowEmpty = ref(false);
75
- const tableList = ref([]);
76
- const fullTableList = ref([]);
77
- const multipleSelected = ref({});
78
- const columns = ref([]);
79
- const columnsLevel = ref(1);
80
- const formTableGridRef = ref();
81
- function $t(...args) {
82
- }
83
- const handleRowId = computed(() => {
84
- var _a;
85
- return ((_a = props.columnConfig) == null ? void 0 : _a.primaryKey) || "field";
86
- });
87
- computed(() => {
88
- return function(name, item) {
89
- let tag = cmps[name];
90
- return tag ? h(tag, {
91
- attrs: { item }
92
- }) : null;
93
- };
94
- });
95
- computed(() => {
96
- var _a, _b;
97
- return (_b = (_a = props.formTableItem) == null ? void 0 : _a.wordbook) == null ? void 0 : _b.idField;
98
- });
99
- computed(() => {
100
- var _a, _b;
101
- return ((_b = (_a = props.formTableItem) == null ? void 0 : _a.wordbook) == null ? void 0 : _b.delFlagField) || "deleteKey";
102
- });
103
- const rowH = computed(() => {
104
- var _a;
105
- if (props.isDetail || !((_a = tableList.value) == null ? void 0 : _a.length))
106
- return 50;
107
- let hasTextarea = columns.value.map((item) => {
108
- if (item.html_type == "TEXTAREA")
109
- return item.initialize_high ? +item.initialize_high : 3;
110
- return null;
111
- }).filter(Boolean);
112
- let MaxH = 50;
113
- if (hasTextarea.length) {
114
- MaxH = Math.max(...hasTextarea) * 20 + 10 + 4 + 18;
115
- }
116
- return MaxH;
117
- });
118
- const minHeight = computed(() => {
119
- return rowH.value + columnsLevel.value * 40 + 10 + "px";
120
- });
121
- const maxHeight = computed(() => {
122
- return rowH.value * 6 + columnsLevel.value * 40 + 10 + "px";
123
- });
124
- const tableHeight = computed(() => {
125
- var _a;
126
- let len = ((_a = tableList.value) == null ? void 0 : _a.length) || 1;
127
- return len * rowH.value + columnsLevel.value * 40 + 10;
128
- });
129
- function loadColumn(config) {
130
- const columnsFormatted = handleGroupColums(columns.value);
131
- if (columnsFormatted) {
132
- columns.value = columnsFormatted;
133
- }
134
- const table = formTableGridRef.value;
135
- if (!table)
136
- return;
137
- table && table.reloadColumn(columns.value);
138
- }
139
- function handleGroupColums(columns2) {
140
- var _a;
141
- let { rowGroupSetting } = ((_a = props.formTableItem) == null ? void 0 : _a.wordbook) || {};
142
- if (!rowGroupSetting || !Object.keys(rowGroupSetting).length)
143
- return columns2;
144
- let { firstRowGroup, secondRowGroup } = rowGroupSetting;
145
- if (!firstRowGroup || !firstRowGroup.length)
146
- return columns2;
147
- handleRowColumns(firstRowGroup, columns2, "val_key");
148
- columnsLevel.value = 2;
149
- if (!secondRowGroup || !secondRowGroup.length)
150
- return columns2;
151
- handleRowColumns(secondRowGroup, columns2, "title");
152
- columnsLevel.value = 3;
153
- return columns2;
154
- }
155
- function handleRowColumns(rowColumns, columns2, key) {
156
- rowColumns.map((item) => {
157
- var _a;
158
- let children = [];
159
- let spliceIndex = -1;
160
- let indexArr = [];
161
- ((_a = item.list) == null ? void 0 : _a.length) && item.list.forEach((v) => {
162
- let matchItem = columns2.find((column) => column[key] === v);
163
- if (matchItem) {
164
- let matchIndex = columns2.findIndex((column) => column[key] === v);
165
- indexArr.push(matchIndex);
166
- delete matchItem.fixed;
167
- children.push(matchItem);
168
- columns2.splice(matchIndex, 1);
169
- }
170
- });
171
- let obj = {
172
- title: $t(item.titleI18n || item.title),
173
- visible: true,
174
- children
175
- };
176
- spliceIndex = Math.min.apply(Math, indexArr);
177
- spliceIndex > -1 && columns2.splice(spliceIndex, 0, obj);
178
- });
179
- }
180
- async function loadData(list) {
181
- if (!list || !list.length)
182
- return;
183
- tableList.value = XEUtils.clone(list, true);
184
- fullTableList.value = XEUtils.clone(list, true);
185
- handlerFieldToggleList(tableList.value);
186
- const table = formTableGridRef.value;
187
- if (!table)
188
- return;
189
- await table.loadData(tableList.value);
190
- handleMultipleSelected(list, false);
191
- }
192
- function handleMultipleSelected(list, isAdd) {
193
- var _a, _b;
194
- let multipleSelectedValue = {};
195
- let fieldList = (_b = (_a = props.columnConfig) == null ? void 0 : _a.columns) != null ? _b : [];
196
- list.forEach((item, i) => {
197
- let field = item.field;
198
- multipleSelectedValue[field] = {};
199
- for (let key in item) {
200
- if (!ignoreKey(key)) {
201
- let isSearchMore = fieldList.find((v) => v.val_key === key);
202
- if ((isSearchMore == null ? void 0 : isSearchMore.html_type) === "SEARCH_MORE") {
203
- multipleSelectedValue[field][key] = [];
204
- }
205
- }
206
- }
207
- });
208
- if (isAdd) {
209
- Object.assign(multipleSelected.value, {
210
- ...multipleSelectedValue
211
- });
212
- } else {
213
- multipleSelected.value = multipleSelectedValue;
214
- }
215
- }
216
- function ignoreKey(key) {
217
- return key.startsWith("_") && key.endsWith("_") || key == "field";
218
- }
219
- function handlerClickRow({ row, $event = {}, $rowIndex, triggerCheckbox, triggerTreeNode }) {
220
- var _a, _b, _c, _d;
221
- let { className } = $event.target || {};
222
- $event.preventDefault();
223
- $event.stopPropagation();
224
- if (className == null ? void 0 : className.includes("vxe-checkbox--icon"))
225
- return;
226
- let table = formTableGridRef.value;
227
- let isChecked = table.isCheckedByCheckboxRow(row);
228
- let checkedLen = (_a = table.getCheckboxRecords()) == null ? void 0 : _a.length;
229
- let isCheckCell = !triggerCheckbox && (className.includes("col--checkbox") || ((_d = (_c = (_b = $event.target) == null ? void 0 : _b.lastChild) == null ? void 0 : _c.className) == null ? void 0 : _d.includes("vxe-cell--checkbox")));
230
- if (isCheckCell)
231
- return;
232
- table.setAllCheckboxRow(false);
233
- if (!checkedLen && !isChecked) {
234
- table.setCheckboxRow([row], true);
235
- return;
236
- }
237
- if (checkedLen == 1 && isChecked) {
238
- table.setCheckboxRow([row], false);
239
- return;
240
- }
241
- table.setCheckboxRow(row, true);
242
- }
243
- function handlerFieldToggleList(list) {
244
- if (!list.length)
245
- return;
246
- let { fieldToggleSetting } = props.formConfig || {};
247
- if (!fieldToggleSetting || !Object.keys(fieldToggleSetting).length)
248
- return;
249
- list.forEach((row) => {
250
- handlerFieldToggle(fieldToggleSetting, row);
251
- });
252
- }
253
- function handlerFieldToggle(fieldToggleSetting, formData = {}) {
254
- const configList = [
255
- {
256
- key: "is_show",
257
- value: true
258
- },
259
- {
260
- key: "is_show",
261
- value: false
262
- },
263
- {
264
- key: "is_null",
265
- value: false
266
- },
267
- {
268
- key: "is_null",
269
- value: true
270
- },
271
- {
272
- key: "is_edit",
273
- value: true
274
- },
275
- {
276
- key: "is_edit",
277
- value: false
278
- }
279
- ];
280
- const checkList = (list) => list.forEach((l) => {
281
- });
282
- let resetObj = {};
283
- let resetType = {};
284
- let fieldObj = formData.__fieldObj__ || {};
285
- fieldToggleSetting.forEach((item) => {
286
- let FlagList = handleGetFlagRes(item.conObj, formData);
287
- let {
288
- showField = [],
289
- hideField = [],
290
- requiredField = [],
291
- notRequiredField = [],
292
- enabledField = [],
293
- disabledField = [],
294
- isRestoreDefault = true
295
- } = item;
296
- let fieldLists = [[], hideField, requiredField, notRequiredField, enabledField, disabledField];
297
- const checkArr = [fieldLists];
298
- checkArr.forEach((c) => {
299
- checkList(c);
300
- });
301
- let falg = false;
302
- falg = FlagList.every((f) => f);
303
- if (falg) {
304
- showField.forEach((el) => {
305
- let findItem = handleGetItem(fieldObj, el);
306
- handleSetItem(findItem, configList[0]);
307
- resetObj[el] = false;
308
- });
309
- fieldLists.forEach((f, j) => {
310
- f.forEach((el) => {
311
- let findItem = handleGetItem(fieldObj, el);
312
- if (findItem) {
313
- let { key, value } = configList[j];
314
- if (key === "is_show" && value === false) {
315
- resetObj[el] = !(isRestoreDefault !== void 0 && !isRestoreDefault);
316
- resetType[el] = findItem.html_type;
317
- }
318
- handleSetItem(findItem, configList[j]);
319
- }
320
- });
321
- });
322
- }
323
- resetFields(resetObj, resetType, formData);
324
- });
325
- }
326
- function resetFields(resetObj, resetType, formData) {
327
- let fieldObj = formData.__fieldObj__ || {};
328
- Object.keys(resetObj || {}).forEach((v) => {
329
- if (resetObj[v]) {
330
- let defObj = fieldObj[v].__defObj__ || {};
331
- if (resetType[v] != "SEARCH") {
332
- let errKey = handleGetErrKey(fieldObj[v]);
333
- formData[v] = defObj.defVal;
334
- fieldObj[v][errKey] = void 0;
335
- } else {
336
- if (formData[v] != defObj.defVal && resetType[v] == "SEARCH") {
337
- if (!formData[v] && !defObj.defVal)
338
- return;
339
- let errKey = handleGetErrKey(fieldObj[v]);
340
- formData[v] = defObj.defVal;
341
- fieldObj[v][errKey] = void 0;
342
- }
343
- }
344
- }
345
- });
346
- }
347
- function handleGetErrKey(field = {}) {
348
- return `__${field.val_key}-errorMsg__`;
349
- }
350
- function handleGetItem(fieldObj, el) {
351
- return fieldObj[el];
352
- }
353
- function handleSetItem(findItem, config) {
354
- if (!((findItem == null ? void 0 : findItem.val_key) || ""))
355
- return;
356
- const { key, value } = config;
357
- let flagVal = value ? 1 : 0;
358
- findItem && (findItem[key] = flagVal);
359
- }
360
- function handleGetFlagRes(list, formData = {}) {
361
- let FlagList = [];
362
- if (!Array.isArray(list))
363
- return FlagList;
364
- list.forEach((ele) => {
365
- if (!handleCheckFlag(ele, formData)) {
366
- FlagList.push(false);
367
- } else {
368
- FlagList.push(true);
369
- }
370
- });
371
- return FlagList;
372
- }
373
- function handleCheckFlag(data = {}, formData = {}) {
374
- var _a, _b;
375
- const is_number = (val) => !(parseFloat(Number(val) + "").toString() == "NaN");
376
- const all_number = (a, b) => is_number(a) && is_number(b);
377
- let obj = {
378
- table: {
379
- ...formData
380
- },
381
- form: {
382
- ...formData
383
- },
384
- sys: ((_b = (_a = props == null ? void 0 : props.userInfo) == null ? void 0 : _a.map) == null ? void 0 : _b.sysParams) || {},
385
- db: props.dbParams || {}
386
- };
387
- const field_key = data.field_key;
388
- let field_val = typeof field_key === "string" && /\${(.*?)}/g.test(field_key) ? XEUtils.handleSysParams(field_key, obj) : formData[field_key];
389
- let data_value = typeof data.value === "string" ? XEUtils.handleSysParams(data.value, obj) : data.value;
390
- if (data.con == "EQ") {
391
- return field_val == data_value;
392
- } else if (data.con == "NEQ") {
393
- return field_val != data_value;
394
- } else if (data.con == "NULL") {
395
- return !field_val && String(field_val) !== "0";
396
- } else if (data.con == "NOT_NULL") {
397
- return !!field_val || String(field_val) === "0";
398
- } else if (data.con == "CL") {
399
- return field_val && field_val.includes(data_value);
400
- } else if (data.con == "NC") {
401
- return !field_val || field_val && !field_val.includes(data_value);
402
- } else if (data.con == "BIG") {
403
- if (all_number(field_val, data_value)) {
404
- return +field_val > +data_value;
405
- }
406
- } else if (data.con == "BIGEQ") {
407
- if (all_number(field_val, data_value)) {
408
- return +field_val >= +data_value;
409
- }
410
- } else if (data.con == "LESS") {
411
- if (all_number(field_val, data_value)) {
412
- return +field_val < +data_value;
413
- }
414
- } else if (data.con == "LESSEQ") {
415
- if (all_number(field_val, data_value)) {
416
- return +field_val <= +data_value;
417
- }
418
- }
419
- }
420
- watch(() => props.columnConfig, (config) => {
421
- if (!config || !Object.keys(config).length)
422
- return;
423
- loadColumn();
424
- });
425
- watch(() => props.data, (value) => {
426
- if (!value || !value.length) {
427
- isShowEmpty.value = true;
428
- }
429
- loadData(value);
430
- });
431
- onMounted(() => {
432
- if (!props.isOnlyDisplay)
433
- return;
434
- loadColumn(props.columnConfig);
435
- loadData(props.data);
436
- });
437
- return (_ctx, _cache) => {
438
- return openBlock(), createElementBlock("div", {
439
- class: normalizeClass(["formTable-page", { "formTable-page-disabled--detail": __props.isDetail }]),
440
- style: normalizeStyle({ height: unref(tableHeight) + "px", minHeight: unref(minHeight), maxHeight: unref(maxHeight) })
441
- }, [
442
- createVNode(unref(Grid), {
443
- ref_key: "formTableGridRef",
444
- ref: formTableGridRef,
445
- style: { height: "100%" },
446
- border: "",
447
- "show-header-overflow": "",
448
- "highlight-hover-row": "",
449
- "highlight-current-row": "",
450
- "show-footer-overflow": "title",
451
- height: "auto",
452
- resizable: "",
453
- "auto-resize": "",
454
- "row-id": unref(handleRowId),
455
- "row-key": true,
456
- "checkbox-config": {
457
- trigger: "cell",
458
- reserve: true,
459
- highlight: true
460
- },
461
- onCellClick: handlerClickRow
462
- }, {
463
- empty: withCtx(() => [
464
- isShowEmpty.value ? (openBlock(), createElementBlock("div", _hoisted_1, "\u6682\u65E0\u6570\u636E")) : createCommentVNode("v-if", true)
465
- ]),
466
- _: 1
467
- }, 8, ["row-id"])
468
- ], 6);
469
- };
470
- }
471
- });
472
- var script = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "FormTable.vue"]]);
473
-
474
- export { script as default };