@ethereal-nexus/core 0.2.3 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/decorators/index.d.mts +2 -5
- package/dist/decorators/index.d.ts +2 -5
- package/dist/decorators/webcomponent/index.d.mts +2 -5
- package/dist/decorators/webcomponent/index.d.ts +2 -5
- package/dist/decorators/webcomponent/webcomponent.d.mts +1 -4
- package/dist/decorators/webcomponent/webcomponent.d.ts +1 -4
- package/dist/functions/component/component.d.mts +4 -7
- package/dist/functions/component/component.d.ts +4 -7
- package/dist/functions/component/component.js +0 -1
- package/dist/functions/component/component.js.map +1 -1
- package/dist/functions/component/component.mjs +0 -1
- package/dist/functions/component/component.mjs.map +1 -1
- package/dist/functions/component/index.d.mts +2 -5
- package/dist/functions/component/index.d.ts +2 -5
- package/dist/functions/component/index.js +0 -1
- package/dist/functions/component/index.js.map +1 -1
- package/dist/functions/component/index.mjs +0 -1
- package/dist/functions/component/index.mjs.map +1 -1
- package/dist/functions/index.d.mts +2 -5
- package/dist/functions/index.d.ts +2 -5
- package/dist/functions/index.js +0 -1
- package/dist/functions/index.js.map +1 -1
- package/dist/functions/index.mjs +0 -1
- package/dist/functions/index.mjs.map +1 -1
- package/dist/functions/parse/index.d.mts +2 -5
- package/dist/functions/parse/index.d.ts +2 -5
- package/dist/functions/parse/parse.d.mts +1 -4
- package/dist/functions/parse/parse.d.ts +1 -4
- package/dist/functions/parse/parsePrimitives.d.mts +1 -4
- package/dist/functions/parse/parsePrimitives.d.ts +1 -4
- package/dist/index.d.mts +8 -4
- package/dist/index.d.ts +8 -4
- package/dist/index.js +280 -81
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +276 -81
- package/dist/index.mjs.map +1 -1
- package/dist/schema/calendar/calendar.d.mts +22 -0
- package/dist/schema/calendar/calendar.d.ts +22 -0
- package/dist/schema/calendar/calendar.js +53 -0
- package/dist/schema/calendar/calendar.js.map +1 -0
- package/dist/schema/calendar/calendar.mjs +28 -0
- package/dist/schema/calendar/calendar.mjs.map +1 -0
- package/dist/schema/calendar/index.d.mts +4 -0
- package/dist/schema/calendar/index.d.ts +4 -0
- package/dist/schema/calendar/index.js +55 -0
- package/dist/schema/calendar/index.js.map +1 -0
- package/dist/schema/calendar/index.mjs +28 -0
- package/dist/schema/calendar/index.mjs.map +1 -0
- package/dist/schema/checkbox/checkbox.d.mts +3 -1
- package/dist/schema/checkbox/checkbox.d.ts +3 -1
- package/dist/schema/checkbox/checkbox.js +3 -2
- package/dist/schema/checkbox/checkbox.js.map +1 -1
- package/dist/schema/checkbox/checkbox.mjs +3 -2
- package/dist/schema/checkbox/checkbox.mjs.map +1 -1
- package/dist/schema/checkbox/index.d.mts +2 -1
- package/dist/schema/checkbox/index.d.ts +2 -1
- package/dist/schema/checkbox/index.js +3 -2
- package/dist/schema/checkbox/index.js.map +1 -1
- package/dist/schema/checkbox/index.mjs +3 -2
- package/dist/schema/checkbox/index.mjs.map +1 -1
- package/dist/schema/datamodel/datamodel.d.mts +13 -0
- package/dist/schema/datamodel/datamodel.d.ts +13 -0
- package/dist/schema/datamodel/datamodel.js +49 -0
- package/dist/schema/datamodel/datamodel.js.map +1 -0
- package/dist/schema/datamodel/datamodel.mjs +24 -0
- package/dist/schema/datamodel/datamodel.mjs.map +1 -0
- package/dist/schema/datamodel/index.d.mts +4 -0
- package/dist/schema/datamodel/index.d.ts +4 -0
- package/dist/schema/datamodel/index.js +51 -0
- package/dist/schema/datamodel/index.js.map +1 -0
- package/dist/schema/datamodel/index.mjs +24 -0
- package/dist/schema/datamodel/index.mjs.map +1 -0
- package/dist/schema/datasource/datasource.d.mts +25 -0
- package/dist/schema/datasource/datasource.d.ts +25 -0
- package/dist/schema/datasource/datasource.js +52 -0
- package/dist/schema/datasource/datasource.js.map +1 -0
- package/dist/schema/datasource/datasource.mjs +27 -0
- package/dist/schema/datasource/datasource.mjs.map +1 -0
- package/dist/schema/datasource/index.d.mts +4 -0
- package/dist/schema/datasource/index.d.ts +4 -0
- package/dist/schema/datasource/index.js +54 -0
- package/dist/schema/datasource/index.js.map +1 -0
- package/dist/schema/datasource/index.mjs +27 -0
- package/dist/schema/datasource/index.mjs.map +1 -0
- package/dist/schema/dialog/condition.d.mts +11 -0
- package/dist/schema/dialog/condition.d.ts +11 -0
- package/dist/schema/dialog/condition.js +72 -0
- package/dist/schema/dialog/condition.js.map +1 -0
- package/dist/schema/dialog/condition.mjs +49 -0
- package/dist/schema/dialog/condition.mjs.map +1 -0
- package/dist/schema/dialog/dialog.d.mts +28 -8
- package/dist/schema/dialog/dialog.d.ts +28 -8
- package/dist/schema/dialog/dialog.js +152 -63
- package/dist/schema/dialog/dialog.js.map +1 -1
- package/dist/schema/dialog/dialog.mjs +153 -64
- package/dist/schema/dialog/dialog.mjs.map +1 -1
- package/dist/schema/dialog/index.d.mts +3 -4
- package/dist/schema/dialog/index.d.ts +3 -4
- package/dist/schema/dialog/index.js +155 -64
- package/dist/schema/dialog/index.js.map +1 -1
- package/dist/schema/dialog/index.mjs +155 -64
- package/dist/schema/dialog/index.mjs.map +1 -1
- package/dist/schema/dialog/tabs.d.mts +20 -0
- package/dist/schema/dialog/tabs.d.ts +20 -0
- package/dist/schema/dialog/tabs.js +74 -0
- package/dist/schema/dialog/tabs.js.map +1 -0
- package/dist/schema/dialog/tabs.mjs +51 -0
- package/dist/schema/dialog/tabs.mjs.map +1 -0
- package/dist/schema/dialog/types.d.mts +3 -0
- package/dist/schema/dialog/types.d.ts +3 -0
- package/dist/schema/dialog/types.js +19 -0
- package/dist/schema/dialog/types.js.map +1 -0
- package/dist/schema/dialog/types.mjs +1 -0
- package/dist/schema/dialog/types.mjs.map +1 -0
- package/dist/schema/dynamic/dynamic.d.mts +4 -17
- package/dist/schema/dynamic/dynamic.d.ts +4 -17
- package/dist/schema/dynamic/dynamic.js +1 -1
- package/dist/schema/dynamic/dynamic.js.map +1 -1
- package/dist/schema/dynamic/dynamic.mjs +1 -1
- package/dist/schema/dynamic/dynamic.mjs.map +1 -1
- package/dist/schema/dynamic/index.d.mts +2 -1
- package/dist/schema/dynamic/index.d.ts +2 -1
- package/dist/schema/dynamic/index.js +1 -1
- package/dist/schema/dynamic/index.js.map +1 -1
- package/dist/schema/dynamic/index.mjs +1 -1
- package/dist/schema/dynamic/index.mjs.map +1 -1
- package/dist/schema/group/group.d.mts +21 -0
- package/dist/schema/group/group.d.ts +21 -0
- package/dist/schema/group/group.js +50 -0
- package/dist/schema/group/group.js.map +1 -0
- package/dist/schema/group/group.mjs +25 -0
- package/dist/schema/group/group.mjs.map +1 -0
- package/dist/schema/group/index.d.mts +5 -0
- package/dist/schema/group/index.d.ts +5 -0
- package/dist/schema/group/index.js +52 -0
- package/dist/schema/group/index.js.map +1 -0
- package/dist/schema/group/index.mjs +25 -0
- package/dist/schema/group/index.mjs.map +1 -0
- package/dist/schema/hidden/hidden.d.mts +2 -1
- package/dist/schema/hidden/hidden.d.ts +2 -1
- package/dist/schema/hidden/index.d.mts +2 -1
- package/dist/schema/hidden/index.d.ts +2 -1
- package/dist/schema/image/image.d.mts +2 -2
- package/dist/schema/image/image.d.ts +2 -2
- package/dist/schema/image/image.js +3 -3
- package/dist/schema/image/image.js.map +1 -1
- package/dist/schema/image/image.mjs +3 -3
- package/dist/schema/image/image.mjs.map +1 -1
- package/dist/schema/image/index.d.mts +2 -1
- package/dist/schema/image/index.d.ts +2 -1
- package/dist/schema/image/index.js +3 -3
- package/dist/schema/image/index.js.map +1 -1
- package/dist/schema/image/index.mjs +3 -3
- package/dist/schema/image/index.mjs.map +1 -1
- package/dist/schema/multifield/index.d.mts +2 -1
- package/dist/schema/multifield/index.d.ts +2 -1
- package/dist/schema/multifield/index.js +2 -1
- package/dist/schema/multifield/index.js.map +1 -1
- package/dist/schema/multifield/index.mjs +2 -1
- package/dist/schema/multifield/index.mjs.map +1 -1
- package/dist/schema/multifield/multifield.d.mts +2 -1
- package/dist/schema/multifield/multifield.d.ts +2 -1
- package/dist/schema/multifield/multifield.js +2 -1
- package/dist/schema/multifield/multifield.js.map +1 -1
- package/dist/schema/multifield/multifield.mjs +2 -1
- package/dist/schema/multifield/multifield.mjs.map +1 -1
- package/dist/schema/object/index.d.mts +1 -4
- package/dist/schema/object/index.d.ts +1 -4
- package/dist/schema/object/object.d.mts +1 -4
- package/dist/schema/object/object.d.ts +1 -4
- package/dist/schema/optional/index.d.mts +2 -2
- package/dist/schema/optional/index.d.ts +2 -2
- package/dist/schema/optional/optional.d.mts +2 -25
- package/dist/schema/optional/optional.d.ts +2 -25
- package/dist/schema/pathbrowser/index.d.mts +2 -1
- package/dist/schema/pathbrowser/index.d.ts +2 -1
- package/dist/schema/pathbrowser/index.js +3 -2
- package/dist/schema/pathbrowser/index.js.map +1 -1
- package/dist/schema/pathbrowser/index.mjs +3 -2
- package/dist/schema/pathbrowser/index.mjs.map +1 -1
- package/dist/schema/pathbrowser/pathbrowser.d.mts +2 -1
- package/dist/schema/pathbrowser/pathbrowser.d.ts +2 -1
- package/dist/schema/pathbrowser/pathbrowser.js +3 -2
- package/dist/schema/pathbrowser/pathbrowser.js.map +1 -1
- package/dist/schema/pathbrowser/pathbrowser.mjs +3 -2
- package/dist/schema/pathbrowser/pathbrowser.mjs.map +1 -1
- package/dist/schema/rte/index.d.mts +2 -1
- package/dist/schema/rte/index.d.ts +2 -1
- package/dist/schema/rte/index.js +3 -2
- package/dist/schema/rte/index.js.map +1 -1
- package/dist/schema/rte/index.mjs +3 -2
- package/dist/schema/rte/index.mjs.map +1 -1
- package/dist/schema/rte/rte.d.mts +3 -2
- package/dist/schema/rte/rte.d.ts +3 -2
- package/dist/schema/rte/rte.js +3 -2
- package/dist/schema/rte/rte.js.map +1 -1
- package/dist/schema/rte/rte.mjs +3 -2
- package/dist/schema/rte/rte.mjs.map +1 -1
- package/dist/schema/select/index.d.mts +2 -1
- package/dist/schema/select/index.d.ts +2 -1
- package/dist/schema/select/index.js +8 -4
- package/dist/schema/select/index.js.map +1 -1
- package/dist/schema/select/index.mjs +8 -4
- package/dist/schema/select/index.mjs.map +1 -1
- package/dist/schema/select/select.d.mts +15 -3
- package/dist/schema/select/select.d.ts +15 -3
- package/dist/schema/select/select.js +8 -4
- package/dist/schema/select/select.js.map +1 -1
- package/dist/schema/select/select.mjs +8 -4
- package/dist/schema/select/select.mjs.map +1 -1
- package/dist/schema/text/index.d.mts +2 -1
- package/dist/schema/text/index.d.ts +2 -1
- package/dist/schema/text/index.js +3 -2
- package/dist/schema/text/index.js.map +1 -1
- package/dist/schema/text/index.mjs +3 -2
- package/dist/schema/text/index.mjs.map +1 -1
- package/dist/schema/text/text.d.mts +3 -2
- package/dist/schema/text/text.d.ts +3 -2
- package/dist/schema/text/text.js +3 -2
- package/dist/schema/text/text.js.map +1 -1
- package/dist/schema/text/text.mjs +3 -2
- package/dist/schema/text/text.mjs.map +1 -1
- package/dist/types/index.d.mts +2 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/infer.d.mts +2 -1
- package/dist/types/infer.d.ts +2 -1
- package/dist/types/object.d.mts +2 -45
- package/dist/types/object.d.ts +2 -45
- package/dist/types/object.js.map +1 -1
- package/dist/types/schema.d.mts +3 -43
- package/dist/types/schema.d.ts +3 -43
- package/dist/types/schema.js.map +1 -1
- package/dist/types/utils.d.mts +52 -2
- package/dist/types/utils.d.ts +52 -2
- package/dist/types/utils.js.map +1 -1
- package/dist/types-B8taWezd.d.mts +131 -0
- package/dist/types-rfg_xywc.d.ts +131 -0
- package/dist/utils/pathToArray.d.mts +7 -0
- package/dist/utils/pathToArray.d.ts +7 -0
- package/dist/utils/pathToArray.js +42 -0
- package/dist/utils/pathToArray.js.map +1 -0
- package/dist/utils/pathToArray.mjs +17 -0
- package/dist/utils/pathToArray.mjs.map +1 -0
- package/package.json +8 -8
- package/LICENSE.md +0 -201
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
9
|
var __export = (target, all) => {
|
|
9
10
|
for (var name in all)
|
|
10
11
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -26,14 +27,21 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
27
|
mod
|
|
27
28
|
));
|
|
28
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
29
31
|
|
|
30
32
|
// src/index.ts
|
|
31
33
|
var src_exports = {};
|
|
32
34
|
__export(src_exports, {
|
|
35
|
+
Condition: () => Condition,
|
|
36
|
+
Tabs: () => Tabs,
|
|
37
|
+
calendar: () => calendar,
|
|
33
38
|
checkbox: () => checkbox,
|
|
34
39
|
component: () => component,
|
|
40
|
+
datamodel: () => datamodel,
|
|
41
|
+
datasource: () => datasource,
|
|
35
42
|
dialog: () => dialog,
|
|
36
43
|
dynamic: () => dynamic,
|
|
44
|
+
group: () => group,
|
|
37
45
|
hidden: () => hidden,
|
|
38
46
|
image: () => image,
|
|
39
47
|
multifield: () => multifield,
|
|
@@ -49,79 +57,164 @@ __export(src_exports, {
|
|
|
49
57
|
});
|
|
50
58
|
module.exports = __toCommonJS(src_exports);
|
|
51
59
|
|
|
52
|
-
// src/schema/dialog/
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
});
|
|
76
|
-
return {
|
|
77
|
-
type: "tab",
|
|
78
|
-
label: tabKey,
|
|
79
|
-
id: `tab_${tabKey.toLowerCase().replaceAll(" ", "")}`,
|
|
80
|
-
children
|
|
81
|
-
};
|
|
82
|
-
});
|
|
83
|
-
return {
|
|
84
|
-
dialog: [{
|
|
85
|
-
type: "tabs",
|
|
86
|
-
id: "tabs",
|
|
87
|
-
children: tabsArray
|
|
88
|
-
}]
|
|
89
|
-
};
|
|
60
|
+
// src/schema/dialog/tabs.ts
|
|
61
|
+
var Tabs = class {
|
|
62
|
+
constructor() {
|
|
63
|
+
__publicField(this, "tabs", /* @__PURE__ */ new Map());
|
|
64
|
+
}
|
|
65
|
+
addTab(name, entries) {
|
|
66
|
+
this.tabs.set(name, entries);
|
|
67
|
+
}
|
|
68
|
+
parse(entries) {
|
|
69
|
+
const result = [];
|
|
70
|
+
const usedEntries = /* @__PURE__ */ new Set();
|
|
71
|
+
if (this.tabs.size === 0) {
|
|
72
|
+
return entries;
|
|
73
|
+
}
|
|
74
|
+
for (const [name, mask] of this.tabs) {
|
|
75
|
+
const children = [];
|
|
76
|
+
if (!mask) {
|
|
77
|
+
throw new Error(`Entry "${String(name)}" does not have an appropriate tab configuration.`);
|
|
78
|
+
}
|
|
79
|
+
for (const [key] of Object.entries(mask)) {
|
|
80
|
+
const field = entries.find((f) => f.id === key);
|
|
81
|
+
if (usedEntries.has(key)) {
|
|
82
|
+
throw new Error(`Entry "${String(name)}.${String(key)}" is already used in another tab.`);
|
|
90
83
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
_parse() {
|
|
94
|
-
const dialog2 = Object.entries(entries).map(([key, entry]) => ({
|
|
95
|
-
id: key,
|
|
96
|
-
name: key,
|
|
97
|
-
...entry._parse()
|
|
98
|
-
})).filter((entry) => {
|
|
99
|
-
if ("type" in entry) {
|
|
100
|
-
return entry.type !== "hidden";
|
|
84
|
+
if (!field) {
|
|
85
|
+
throw new Error(`Field with id "${key}" not found`);
|
|
101
86
|
}
|
|
87
|
+
children.push(entries.find((f) => f.id === key));
|
|
88
|
+
}
|
|
89
|
+
result.push({
|
|
90
|
+
type: "tab",
|
|
91
|
+
label: name,
|
|
92
|
+
id: `tab_${name.toLowerCase().replaceAll(" ", "")}`,
|
|
93
|
+
children
|
|
102
94
|
});
|
|
103
|
-
return {
|
|
104
|
-
dialog: dialog2
|
|
105
|
-
};
|
|
106
|
-
},
|
|
107
|
-
_primitive() {
|
|
108
|
-
return Object.entries(entries).reduce(
|
|
109
|
-
(acc, [key, entry]) => {
|
|
110
|
-
const type = entry._primitive();
|
|
111
|
-
if (typeof type === "string") {
|
|
112
|
-
acc[key] = type;
|
|
113
|
-
}
|
|
114
|
-
return acc;
|
|
115
|
-
},
|
|
116
|
-
{}
|
|
117
|
-
);
|
|
118
95
|
}
|
|
119
|
-
|
|
96
|
+
return [{
|
|
97
|
+
type: "tabs",
|
|
98
|
+
id: "tabs",
|
|
99
|
+
children: result
|
|
100
|
+
}];
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
// src/schema/dialog/condition.ts
|
|
105
|
+
function addConditionToField(fields, path, condition) {
|
|
106
|
+
const keys = path.split(".");
|
|
107
|
+
let currentFields = fields;
|
|
108
|
+
for (let i = 0; i < keys.length; i++) {
|
|
109
|
+
const key = keys[i];
|
|
110
|
+
const field = currentFields.find((f) => f.id === key);
|
|
111
|
+
if (!field) {
|
|
112
|
+
throw new Error(`Field with id "${key}" not found`);
|
|
113
|
+
}
|
|
114
|
+
if (i === keys.length - 1) {
|
|
115
|
+
field.condition = condition;
|
|
116
|
+
} else {
|
|
117
|
+
if (!field.children) {
|
|
118
|
+
throw new Error(`Field with id "${key}" has no children`);
|
|
119
|
+
}
|
|
120
|
+
currentFields = field.children;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
var Condition = class {
|
|
125
|
+
constructor() {
|
|
126
|
+
__publicField(this, "conditions", /* @__PURE__ */ new Map());
|
|
127
|
+
}
|
|
128
|
+
addCondition(field, condition) {
|
|
129
|
+
const operators = {
|
|
130
|
+
eq: (field2, value) => ({ operator: "eq", field: field2, value }),
|
|
131
|
+
neq: (field2, value) => ({ operator: "neq", field: field2, value }),
|
|
132
|
+
exists: (field2) => ({ operator: "exists", field: field2 }),
|
|
133
|
+
and: (...operations) => ({ operator: "and", value: operations }),
|
|
134
|
+
or: (...operations) => ({ operator: "or", value: operations })
|
|
135
|
+
};
|
|
136
|
+
this.conditions.set(field, condition(operators));
|
|
137
|
+
}
|
|
138
|
+
parse(entries) {
|
|
139
|
+
for (let [key, value] of this.conditions) {
|
|
140
|
+
addConditionToField(entries, key, value);
|
|
141
|
+
}
|
|
142
|
+
return entries;
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
// src/utils/pathToArray.ts
|
|
147
|
+
function pathToArray(obj, parentPath = []) {
|
|
148
|
+
const result = [];
|
|
149
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
150
|
+
const currentPath = [...parentPath, key];
|
|
151
|
+
if (typeof value === "object" && !value.hasOwnProperty("operator") && !Array.isArray(value)) {
|
|
152
|
+
result.push(...pathToArray(value, currentPath));
|
|
153
|
+
} else {
|
|
154
|
+
result.push({ path: currentPath, value });
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return result;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// src/schema/dialog/dialog.ts
|
|
161
|
+
var DialogBuilder = class {
|
|
162
|
+
constructor(entries) {
|
|
163
|
+
__publicField(this, "conditionsModule");
|
|
164
|
+
__publicField(this, "tabsModule");
|
|
165
|
+
__publicField(this, "entries");
|
|
166
|
+
__publicField(this, "type", "dialog");
|
|
167
|
+
this.entries = entries;
|
|
168
|
+
this.conditionsModule = new Condition();
|
|
169
|
+
this.tabsModule = new Tabs();
|
|
170
|
+
}
|
|
171
|
+
conditions(conditions) {
|
|
172
|
+
const conditionsArray = pathToArray(conditions);
|
|
173
|
+
for (const condition of conditionsArray) {
|
|
174
|
+
this.conditionsModule.addCondition(condition.path.join("."), condition.value);
|
|
175
|
+
}
|
|
176
|
+
return this;
|
|
177
|
+
}
|
|
178
|
+
tabs(tabs) {
|
|
179
|
+
for (const [key, tab] of Object.entries(tabs)) {
|
|
180
|
+
this.tabsModule.addTab(key, tab);
|
|
181
|
+
}
|
|
182
|
+
return this;
|
|
183
|
+
}
|
|
184
|
+
_parse() {
|
|
185
|
+
const dialog2 = Object.entries(this.entries).map(([key, entry]) => ({
|
|
186
|
+
id: key,
|
|
187
|
+
name: key,
|
|
188
|
+
...entry._parse()
|
|
189
|
+
})).filter((entry) => {
|
|
190
|
+
if ("type" in entry) {
|
|
191
|
+
return entry.type !== "hidden";
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
const dialogWithConditions = this.conditionsModule.parse(dialog2);
|
|
195
|
+
const dialogWithTabs = this.tabsModule.parse(dialogWithConditions);
|
|
196
|
+
return {
|
|
197
|
+
dialog: dialogWithTabs
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
_primitive() {
|
|
201
|
+
const result = {};
|
|
202
|
+
for (const [key, entry] of Object.entries(this.entries)) {
|
|
203
|
+
const type = entry._primitive();
|
|
204
|
+
if (typeof type === "string") {
|
|
205
|
+
result[key] = type;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return result;
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
function dialog(entries) {
|
|
212
|
+
return new DialogBuilder(entries);
|
|
120
213
|
}
|
|
121
214
|
|
|
122
215
|
// src/schema/multifield/multifield.ts
|
|
123
216
|
function multifield(input) {
|
|
124
|
-
const { label, children } = input;
|
|
217
|
+
const { label, children, required } = input;
|
|
125
218
|
const childrenParse = children._parse();
|
|
126
219
|
return {
|
|
127
220
|
type: "multifield",
|
|
@@ -129,6 +222,7 @@ function multifield(input) {
|
|
|
129
222
|
return {
|
|
130
223
|
type: "multifield",
|
|
131
224
|
label,
|
|
225
|
+
required,
|
|
132
226
|
children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]
|
|
133
227
|
};
|
|
134
228
|
},
|
|
@@ -141,7 +235,7 @@ function multifield(input) {
|
|
|
141
235
|
|
|
142
236
|
// src/schema/text/text.ts
|
|
143
237
|
function text(input) {
|
|
144
|
-
const { placeholder, label, tooltip } = input;
|
|
238
|
+
const { placeholder, label, tooltip, required } = input;
|
|
145
239
|
return {
|
|
146
240
|
type: "textfield",
|
|
147
241
|
_parse() {
|
|
@@ -149,7 +243,8 @@ function text(input) {
|
|
|
149
243
|
type: "textfield",
|
|
150
244
|
label,
|
|
151
245
|
placeholder,
|
|
152
|
-
tooltip
|
|
246
|
+
tooltip,
|
|
247
|
+
required
|
|
153
248
|
};
|
|
154
249
|
},
|
|
155
250
|
_primitive() {
|
|
@@ -161,14 +256,15 @@ function text(input) {
|
|
|
161
256
|
|
|
162
257
|
// src/schema/checkbox/checkbox.ts
|
|
163
258
|
function checkbox(input) {
|
|
164
|
-
const { label, tooltip } = input;
|
|
259
|
+
const { label, tooltip, showastoggle = false } = input;
|
|
165
260
|
return {
|
|
166
261
|
type: "checkbox",
|
|
167
262
|
_parse() {
|
|
168
263
|
return {
|
|
169
264
|
type: "checkbox",
|
|
170
265
|
label,
|
|
171
|
-
tooltip
|
|
266
|
+
tooltip,
|
|
267
|
+
showastoggle
|
|
172
268
|
};
|
|
173
269
|
},
|
|
174
270
|
_primitive() {
|
|
@@ -180,7 +276,7 @@ function checkbox(input) {
|
|
|
180
276
|
|
|
181
277
|
// src/schema/pathbrowser/pathbrowser.ts
|
|
182
278
|
function pathbrowser(input) {
|
|
183
|
-
const { placeholder, label, tooltip } = input;
|
|
279
|
+
const { placeholder, label, tooltip, required } = input;
|
|
184
280
|
return {
|
|
185
281
|
type: "pathbrowser",
|
|
186
282
|
_parse() {
|
|
@@ -188,7 +284,8 @@ function pathbrowser(input) {
|
|
|
188
284
|
type: "pathbrowser",
|
|
189
285
|
label,
|
|
190
286
|
placeholder,
|
|
191
|
-
tooltip
|
|
287
|
+
tooltip,
|
|
288
|
+
required
|
|
192
289
|
};
|
|
193
290
|
},
|
|
194
291
|
_primitive() {
|
|
@@ -200,15 +297,15 @@ function pathbrowser(input) {
|
|
|
200
297
|
|
|
201
298
|
// src/schema/image/image.ts
|
|
202
299
|
function image(input) {
|
|
203
|
-
const {
|
|
300
|
+
const { label, tooltip, required } = input;
|
|
204
301
|
return {
|
|
205
302
|
type: "image",
|
|
206
303
|
_parse() {
|
|
207
304
|
return {
|
|
208
305
|
type: "image",
|
|
209
306
|
label,
|
|
210
|
-
|
|
211
|
-
|
|
307
|
+
tooltip,
|
|
308
|
+
required
|
|
212
309
|
};
|
|
213
310
|
},
|
|
214
311
|
_primitive() {
|
|
@@ -220,27 +317,31 @@ function image(input) {
|
|
|
220
317
|
|
|
221
318
|
// src/schema/select/select.ts
|
|
222
319
|
function select(input) {
|
|
223
|
-
const { label, values, tooltip } = input;
|
|
320
|
+
const { label, values, tooltip, placeholder, multiple = false, required } = input;
|
|
224
321
|
return {
|
|
225
322
|
type: "select",
|
|
226
323
|
_parse() {
|
|
227
324
|
return {
|
|
228
325
|
type: "select",
|
|
229
326
|
label,
|
|
327
|
+
multiple,
|
|
230
328
|
values,
|
|
231
|
-
tooltip
|
|
329
|
+
tooltip,
|
|
330
|
+
placeholder,
|
|
331
|
+
required
|
|
232
332
|
};
|
|
233
333
|
},
|
|
234
334
|
_primitive() {
|
|
235
|
-
return "string";
|
|
335
|
+
return multiple ? "json" : "string";
|
|
236
336
|
},
|
|
237
|
-
...input
|
|
337
|
+
...input,
|
|
338
|
+
multiple
|
|
238
339
|
};
|
|
239
340
|
}
|
|
240
341
|
|
|
241
342
|
// src/schema/rte/rte.ts
|
|
242
343
|
function rte(input) {
|
|
243
|
-
const { placeholder, label, tooltip } = input;
|
|
344
|
+
const { placeholder, label, tooltip, required } = input;
|
|
244
345
|
return {
|
|
245
346
|
type: "richtexteditor",
|
|
246
347
|
_parse() {
|
|
@@ -248,7 +349,8 @@ function rte(input) {
|
|
|
248
349
|
type: "richtexteditor",
|
|
249
350
|
label,
|
|
250
351
|
placeholder,
|
|
251
|
-
tooltip
|
|
352
|
+
tooltip,
|
|
353
|
+
required
|
|
252
354
|
};
|
|
253
355
|
},
|
|
254
356
|
_primitive() {
|
|
@@ -267,6 +369,98 @@ function dynamic(input) {
|
|
|
267
369
|
type: "dynamic"
|
|
268
370
|
};
|
|
269
371
|
},
|
|
372
|
+
_primitive() {
|
|
373
|
+
return "string";
|
|
374
|
+
},
|
|
375
|
+
...input
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
// src/schema/calendar/calendar.ts
|
|
380
|
+
function calendar(input) {
|
|
381
|
+
const { valueformat, startday = 0, min, max, placeholder, label, tooltip, required } = input;
|
|
382
|
+
return {
|
|
383
|
+
type: "calendar",
|
|
384
|
+
_parse() {
|
|
385
|
+
return {
|
|
386
|
+
type: "calendar",
|
|
387
|
+
label,
|
|
388
|
+
valueformat,
|
|
389
|
+
placeholder,
|
|
390
|
+
startday,
|
|
391
|
+
tooltip,
|
|
392
|
+
min,
|
|
393
|
+
max,
|
|
394
|
+
required
|
|
395
|
+
};
|
|
396
|
+
},
|
|
397
|
+
_primitive() {
|
|
398
|
+
return "string";
|
|
399
|
+
},
|
|
400
|
+
...input
|
|
401
|
+
};
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
// src/schema/datasource/datasource.ts
|
|
405
|
+
function datasource(input) {
|
|
406
|
+
const { label, body, url, tooltip, placeholder, multiple = false, required } = input;
|
|
407
|
+
return {
|
|
408
|
+
type: "datasource",
|
|
409
|
+
_parse() {
|
|
410
|
+
return {
|
|
411
|
+
type: "datasource",
|
|
412
|
+
label,
|
|
413
|
+
url,
|
|
414
|
+
multiple,
|
|
415
|
+
body,
|
|
416
|
+
tooltip,
|
|
417
|
+
placeholder,
|
|
418
|
+
required
|
|
419
|
+
};
|
|
420
|
+
},
|
|
421
|
+
_primitive() {
|
|
422
|
+
return multiple ? "json" : "string";
|
|
423
|
+
},
|
|
424
|
+
...input
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
// src/schema/group/group.ts
|
|
429
|
+
function group(input) {
|
|
430
|
+
const { label, children, tooltip, toggle } = input;
|
|
431
|
+
const childrenParse = children._parse();
|
|
432
|
+
return {
|
|
433
|
+
type: "group",
|
|
434
|
+
_parse() {
|
|
435
|
+
return {
|
|
436
|
+
type: "group",
|
|
437
|
+
label,
|
|
438
|
+
tooltip,
|
|
439
|
+
toggle,
|
|
440
|
+
children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]
|
|
441
|
+
};
|
|
442
|
+
},
|
|
443
|
+
_primitive() {
|
|
444
|
+
return "json";
|
|
445
|
+
},
|
|
446
|
+
...input
|
|
447
|
+
};
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
// src/schema/datamodel/datamodel.ts
|
|
451
|
+
function datamodel(input) {
|
|
452
|
+
const { placeholder, label, tooltip, required } = input;
|
|
453
|
+
return {
|
|
454
|
+
type: "datamodel",
|
|
455
|
+
_parse() {
|
|
456
|
+
return {
|
|
457
|
+
type: "datamodel",
|
|
458
|
+
label,
|
|
459
|
+
placeholder,
|
|
460
|
+
tooltip,
|
|
461
|
+
required
|
|
462
|
+
};
|
|
463
|
+
},
|
|
270
464
|
_primitive() {
|
|
271
465
|
return "json";
|
|
272
466
|
},
|
|
@@ -357,7 +551,6 @@ function component(config, dialog2, slots) {
|
|
|
357
551
|
return {
|
|
358
552
|
type: "component",
|
|
359
553
|
dialog: dialog2,
|
|
360
|
-
slots,
|
|
361
554
|
_parse() {
|
|
362
555
|
return {
|
|
363
556
|
...config,
|
|
@@ -394,10 +587,16 @@ function webcomponent(schema, options) {
|
|
|
394
587
|
}
|
|
395
588
|
// Annotate the CommonJS export names for ESM import in node:
|
|
396
589
|
0 && (module.exports = {
|
|
590
|
+
Condition,
|
|
591
|
+
Tabs,
|
|
592
|
+
calendar,
|
|
397
593
|
checkbox,
|
|
398
594
|
component,
|
|
595
|
+
datamodel,
|
|
596
|
+
datasource,
|
|
399
597
|
dialog,
|
|
400
598
|
dynamic,
|
|
599
|
+
group,
|
|
401
600
|
hidden,
|
|
402
601
|
image,
|
|
403
602
|
multifield,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/schema/dialog/dialog.ts","../src/schema/multifield/multifield.ts","../src/schema/text/text.ts","../src/schema/checkbox/checkbox.ts","../src/schema/pathbrowser/pathbrowser.ts","../src/schema/image/image.ts","../src/schema/select/select.ts","../src/schema/rte/rte.ts","../src/schema/dynamic/dynamic.ts","../src/schema/hidden/hidden.ts","../src/schema/optional/optional.ts","../src/schema/object/object.ts","../src/decorators/webcomponent/webcomponent.ts","../src/utils/pascalToKebab.ts","../src/functions/parse/parse.ts","../src/functions/parse/parsePrimitives.ts","../src/functions/component/component.ts"],"sourcesContent":["export * from \"./schema/dialog\";\n\nexport * from \"./schema/multifield\";\nexport * from \"./schema/text\";\nexport * from \"./schema/checkbox\";\nexport * from \"./schema/pathbrowser\";\nexport * from \"./schema/image\";\nexport * from \"./schema/select\";\nexport * from \"./schema/rte\";\nexport * from \"./schema/dynamic\";\n\nexport * from \"./schema/hidden\";\nexport * from \"./schema/optional\";\nexport * from \"./schema/object\";\n\nexport * from \"./types\";\n\nexport * from \"./decorators\"\nexport * from \"./functions\"","import { BaseSchema, EntryMask } from '../../types';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\n\nexport interface DialogSchema<TEntries extends ObjectEntries, TOutput = ObjectOutput<TEntries>> extends BaseSchema<TOutput> {\n type: 'dialog';\n tabs: (tabs: Record<string, EntryMask<TEntries>>) => Omit<DialogSchema<TEntries>, 'tabs'>;\n}\n\nexport function dialog<TEntries extends ObjectEntries>(entries: TEntries): DialogSchema<TEntries> {\n return {\n type: 'dialog',\n tabs(tabs) {\n return {\n ...this,\n tabs: undefined,\n component: undefined,\n _parse() {\n const usedEntries = new Set<keyof TEntries>();\n\n const tabsArray = Object.entries(tabs)\n .map(([tabKey, value]) => {\n\n const children = Object.entries(value).map(([key, value]) => {\n if (value === true) {\n if (usedEntries.has(key)) {\n throw new Error(`Entry \"${String(tabKey)}.${String(key)}\" is already used in another tab.`);\n }\n usedEntries.add(key);\n return {\n id: key,\n ...entries[key]._parse()\n };\n }\n });\n\n return {\n type: 'tab',\n label: tabKey,\n id: `tab_${tabKey.toLowerCase().replaceAll(' ', '')}`,\n children\n };\n });\n\n return {\n dialog: [{\n type: 'tabs',\n id: 'tabs',\n children: tabsArray\n }]\n };\n }\n };\n },\n _parse() {\n const dialog = Object.entries(entries)\n .map(([key, entry]) => ({\n id: key,\n name: key,\n ...entry._parse()\n }))\n .filter((entry: object) => {\n if ('type' in entry) {\n return entry.type !== 'hidden';\n }\n });\n\n return {\n dialog\n };\n },\n _primitive() {\n return Object.entries(entries)\n .reduce(\n (acc: Record<string, WebcomponentPropTypes>, [key, entry]) => {\n const type = entry._primitive();\n if (typeof type === 'string') {\n acc[key] = type;\n }\n return acc;\n }, {});\n }\n };\n}","import {\n BaseFieldInput,\n BaseSchema,\n InferOutput\n} from '../../types';\n\nexport interface MultifieldSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<InferOutput<TChildren>[]> {\n readonly type: 'multifield';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren\n}\n\nexport function multifield<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): MultifieldSchema<TChildren> {\n const {label, children} = input;\n const childrenParse = children._parse();\n\n return {\n type: 'multifield',\n _parse() {\n return {\n type: 'multifield',\n label,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]\n }\n },\n _primitive() {\n return 'json'\n },\n ...input\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface TextSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'textfield';\n}\n\ninterface TextInput extends BaseFieldInput {\n placeholder: string;\n}\n\nexport function text(input: TextInput): TextSchema {\n const {placeholder, label,tooltip} = input;\n\n return {\n type: 'textfield',\n _parse() {\n return {\n type: 'textfield',\n label,\n placeholder,\n tooltip,\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface CheckBoxSchema<TOutput extends boolean = boolean> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'checkbox';\n}\n\ninterface CheckBoxInput extends BaseFieldInput {}\n\nexport function checkbox(input: CheckBoxInput): CheckBoxSchema {\n const {label, tooltip} = input;\n\n return {\n type: 'checkbox',\n _parse() {\n return {\n type: 'checkbox',\n label,\n tooltip,\n }\n },\n _primitive() {\n return 'boolean'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface PathBrowserSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'pathbrowser';\n}\n\ninterface PathBrowserInput extends BaseFieldInput {\n placeholder: string;\n}\n\nexport function pathbrowser(input: PathBrowserInput): PathBrowserSchema {\n const {placeholder, label, tooltip} = input;\n\n return {\n type: 'pathbrowser',\n _parse() {\n return {\n type: 'pathbrowser',\n label,\n placeholder,\n tooltip,\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface ImageSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'image';\n}\n\ninterface ImageInput extends BaseFieldInput {\n placeholder: string;\n}\n\nexport function image(input: ImageInput): ImageSchema {\n const {placeholder, label, tooltip} = input;\n\n return {\n type: 'image',\n _parse() {\n return {\n type: 'image',\n label,\n placeholder,\n tooltip\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface SelectSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'select';\n}\n\ninterface SelectInput extends BaseFieldInput {\n values: {\n value: string,\n label: string,\n }[]\n}\n\nexport function select(input: SelectInput): SelectSchema {\n const {label, values, tooltip} = input;\n\n return {\n type: 'select',\n _parse() {\n return {\n type: 'select',\n label,\n values,\n tooltip,\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface RichTextEditorSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'richtexteditor';\n}\n\ninterface RichTextEditorInput extends BaseFieldInput {\n placeholder: string;\n}\n\nexport function rte(input: RichTextEditorInput): RichTextEditorSchema {\n const {placeholder, label, tooltip} = input;\n\n return {\n type: 'richtexteditor',\n _parse() {\n return {\n type: 'richtexteditor',\n label,\n placeholder,\n tooltip,\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import {\n BaseSchema,\n} from '../../types';\n\nexport interface DynamicZoneSchema extends BaseSchema<{\n dataPath: string;\n childrenHtml: string;\n dataConfig: {\n path: string,\n slingPath: string,\n type: string,\n isResponsiveGrid: boolean,\n csp: string,\n editConfig: { actions: string[], disableTargeting: boolean }\n };\n}> {\n /**\n * The schema type.\n */\n readonly type: 'dynamic';\n}\n\ninterface DynamicInput {\n}\n\nexport function dynamic(input: DynamicInput): DynamicZoneSchema {\n return {\n type: 'dynamic',\n _parse() {\n return {\n type: 'dynamic',\n };\n },\n _primitive() {\n return 'json';\n },\n ...input,\n };\n}","import { type BaseSchema } from '../../types';\nimport { type WebcomponentPropTypes } from '../../types/webcomponent';\n\nexport interface HiddenSchema extends BaseSchema<string> {\n /**\n * The schema type.\n */\n type: 'hidden';\n}\n\ninterface HiddenInput {\n type: WebcomponentPropTypes\n}\n\n/**\n * Creates a hidden schema.\n *\n * @param input The type of input for the webcomponent binding.\n *\n * @returns A hidden schema.\n */\nexport function hidden(input: HiddenInput): HiddenSchema {\n const {type} = input;\n\n return {\n type: 'hidden',\n _parse() {\n //Explicitly hidding this input from the parse final result.\n return this;\n },\n _primitive() {\n return type\n },\n }\n}","import { BaseSchema, Output } from '../../types';\n\n/**\n * Optional schema type.\n */\nexport interface OptionalSchema<\n TWrapped extends BaseSchema,\n TOutput = Output<TWrapped> | undefined\n> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'optional';\n /**\n * The wrapped schema.\n */\n wrapped: TWrapped;\n}\n\n\n/**\n * Creates an optional schema.\n *\n * @param wrapped The wrapped schema.\n *\n * @returns A optional schema.\n */\nexport function optional<TWrapped extends BaseSchema>(\n wrapped: TWrapped\n): OptionalSchema<TWrapped> {\n return {\n type: 'optional',\n wrapped,\n _primitive() {\n return this.wrapped._primitive();\n },\n _parse() {\n return this.wrapped._parse();\n },\n };\n}","import type { BaseSchema } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\n\nexport interface ObjectSchema<TEntries extends ObjectEntries, TOutput = ObjectOutput<TEntries>> extends BaseSchema<TOutput> {\n type: 'object';\n}\n\nexport function object<TEntries extends ObjectEntries>(entries: TEntries): ObjectSchema<TEntries> {\n return {\n type: 'object',\n _parse() {\n return Object.entries(entries)\n .map(([key, entry]) => ({\n id: key,\n name: key,\n ...entry._parse()\n }))\n .filter((entry: object) => {\n if('type' in entry){\n return entry.type !== 'hidden'\n }\n })\n },\n _primitive() {\n return 'json'\n }\n };\n}","import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!)\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name,\n r2wc(component, {\n props,\n }),\n );\n }\n }\n}","export function pascalToKebab(pascalCaseString: string) {\n return pascalCaseString\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase();\n}","import { DialogSchema } from '../../schema/dialog';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parse<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._parse()\n}","import { DialogSchema } from '../../schema/dialog';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parsePrimitives<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._primitive() as Record<string, WebcomponentPropTypes>\n}","import { BaseSchema, ComponentModel } from '../../types';\nimport { ObjectEntries, ObjectOutput, SlotEntries } from '../../types/object';\nimport { DialogSchema } from '../../schema/dialog';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\n\nexport interface ComponentSchema<TEntries extends ObjectEntries, TSlots extends SlotEntries, TOutput = ObjectOutput<TEntries & TSlots>> extends BaseSchema<TOutput>, Partial<ComponentModel> {\n type: 'component';\n dialog: Omit<DialogSchema<TEntries>, 'tabs'>;\n slots?: TSlots,\n}\n\nexport function component<TEntries extends ObjectEntries, TSlots extends SlotEntries>(\n config: Partial<ComponentModel>,\n dialog: Omit<DialogSchema<TEntries>, 'tabs'>,\n slots?: TSlots,\n): ComponentSchema<TEntries, TSlots> {\n\n const slotsParse = slots ? Object.entries(slots).map(([key, slot]) => (\n {\n id: key,\n name: key,\n ...slot._parse(),\n }),\n ) : [];\n const slotsPrimitives = slots ? Object.entries(slots).reduce((acc, [key, slot]) => {\n acc[key] = slot._primitive();\n return acc\n }, {} as Record<string, WebcomponentPropTypes | Record<string, WebcomponentPropTypes>>) : [];\n\n return {\n type: 'component',\n dialog,\n slots,\n _parse() {\n return {\n ...config,\n ...dialog._parse(),\n dynamiczones: slotsParse,\n };\n },\n _primitive() {\n return {\n ...dialog._primitive() as object,\n ...slotsPrimitives as object,\n };\n },\n ...config,\n };\n}"],"mappings":"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","names":["value","dialog","dialog","component","r2wc"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/schema/dialog/tabs.ts","../src/schema/dialog/condition.ts","../src/utils/pathToArray.ts","../src/schema/dialog/dialog.ts","../src/schema/multifield/multifield.ts","../src/schema/text/text.ts","../src/schema/checkbox/checkbox.ts","../src/schema/pathbrowser/pathbrowser.ts","../src/schema/image/image.ts","../src/schema/select/select.ts","../src/schema/rte/rte.ts","../src/schema/dynamic/dynamic.ts","../src/schema/calendar/calendar.ts","../src/schema/datasource/datasource.ts","../src/schema/group/group.ts","../src/schema/datamodel/datamodel.ts","../src/schema/hidden/hidden.ts","../src/schema/optional/optional.ts","../src/schema/object/object.ts","../src/decorators/webcomponent/webcomponent.ts","../src/utils/pascalToKebab.ts","../src/functions/parse/parse.ts","../src/functions/parse/parsePrimitives.ts","../src/functions/component/component.ts"],"sourcesContent":["export * from \"./schema/dialog\";\n\nexport * from \"./schema/multifield\";\nexport * from \"./schema/text\";\nexport * from \"./schema/checkbox\";\nexport * from \"./schema/pathbrowser\";\nexport * from \"./schema/image\";\nexport * from \"./schema/select\";\nexport * from \"./schema/rte\";\nexport * from \"./schema/dynamic\";\nexport * from \"./schema/calendar\";\nexport * from \"./schema/datasource\";\nexport * from \"./schema/group\";\nexport * from \"./schema/datamodel\";\n\nexport * from \"./schema/hidden\";\nexport * from \"./schema/optional\";\nexport * from \"./schema/object\";\n\nexport * from \"./types\";\n\nexport * from \"./decorators\"\nexport * from \"./functions\"","import { EntryMask } from '../../types';\nimport { Field } from './types';\n\nexport class Tabs<TEntries> {\n private tabs = new Map<string, EntryMask<TEntries>>();\n\n addTab(name: string, entries: EntryMask<TEntries>) {\n this.tabs.set(name, entries);\n }\n\n parse(entries: Field[]) {\n const result = []\n const usedEntries = new Set();\n\n if(this.tabs.size === 0) {\n return entries\n }\n\n for(const [name, mask] of this.tabs) {\n const children = []\n\n if(!mask) {\n throw new Error(`Entry \"${String(name)}\" does not have an appropriate tab configuration.`);\n }\n\n for(const [key,] of Object.entries(mask)) {\n const field = entries.find(f => f.id === key)\n\n if (usedEntries.has(key)) {\n throw new Error(`Entry \"${String(name)}.${String(key)}\" is already used in another tab.`);\n }\n\n if(!field) {\n throw new Error(`Field with id \"${key}\" not found`);\n }\n\n children.push(entries.find(f => f.id === key))\n }\n\n result.push({\n type: 'tab',\n label: name,\n id: `tab_${name.toLowerCase().replaceAll(' ', '')}`,\n children\n })\n }\n\n return [{\n type: 'tabs',\n id: 'tabs',\n children: result\n }]\n }\n}","import { NestedPaths } from '../../types';\nimport { ConditionFn, ConditionOperators, Conditions, Field } from './types';\nimport { ObjectEntries } from '../../types/object';\n\nfunction addConditionToField(fields: Field[], path: string, condition: Conditions): void {\n const keys = path.split('.');\n let currentFields = fields;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const field = currentFields.find(f => f.id === key);\n\n if (!field) {\n throw new Error(`Field with id \"${key}\" not found`);\n }\n\n if (i === keys.length - 1) {\n field.condition = condition;\n } else {\n if (!field.children) {\n throw new Error(`Field with id \"${key}\" has no children`);\n }\n currentFields = field.children;\n }\n }\n}\n\nexport class Condition<TEntries extends ObjectEntries> {\n private conditions = new Map<string, Conditions>();\n\n addCondition(field: NestedPaths<TEntries>, condition: ConditionFn<TEntries>) {\n const operators: ConditionOperators<TEntries> = {\n eq: (field, value) => ({ operator: 'eq', field, value }),\n neq: (field, value) => ({ operator: 'neq', field, value }),\n exists: (field) => ({ operator: 'exists', field }),\n and: (...operations) => ({ operator: 'and', value: operations }),\n or: (...operations) => ({ operator: 'or', value: operations })\n };\n\n this.conditions.set(field, condition(operators));\n }\n\n parse(entries: Field[]) {\n for (let [key, value] of this.conditions) {\n addConditionToField(entries, key, value)\n }\n\n return entries;\n }\n}\n","interface PathValue {\n path: string[];\n value: any;\n}\n\nexport function pathToArray(obj: Record<string, any>, parentPath: string[] = []): PathValue[] {\n const result: PathValue[] = [];\n\n for (const [key, value] of Object.entries(obj)) {\n const currentPath = [...parentPath, key];\n\n if (typeof value === 'object' && !value.hasOwnProperty('operator') && !Array.isArray(value)) {\n // If the value is an object, recurse into it\n result.push(...pathToArray(value, currentPath));\n } else {\n // If the value is not an object, store the path and value\n result.push({ path: currentPath, value });\n }\n }\n\n return result;\n}","import { BaseSchema, EntryMask, NestedPaths } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\nimport { Tabs } from './tabs';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { Condition } from './condition';\nimport { pathToArray } from '../../utils/pathToArray';\nimport { ConditionsArgument } from './types';\n\nexport interface DialogSchema<TEntries extends ObjectEntries> extends BaseSchema<ObjectOutput<TEntries>> {\n type: 'dialog';\n tabs: (tabs: Record<string, EntryMask<TEntries>>) => DialogSchema<TEntries>;\n conditions: (conditions: ConditionsArgument<TEntries>) => DialogSchema<TEntries>;\n}\n\nclass DialogBuilder<TEntries extends ObjectEntries> implements DialogSchema<TEntries> {\n private conditionsModule: Condition<TEntries>;\n private tabsModule: Tabs<TEntries>;\n private readonly entries: TEntries;\n readonly type = 'dialog';\n\n constructor(entries: TEntries) {\n this.entries = entries;\n this.conditionsModule = new Condition<TEntries>();\n this.tabsModule = new Tabs<TEntries>();\n }\n\n conditions(conditions: ConditionsArgument<TEntries>) {\n const conditionsArray = pathToArray(conditions)\n for (const condition of conditionsArray) {\n this.conditionsModule.addCondition(condition.path.join('.') as NestedPaths<TEntries>, condition.value);\n }\n return this;\n }\n\n tabs(tabs: Record<string, EntryMask<TEntries>>) {\n for (const [key, tab] of Object.entries(tabs)) {\n this.tabsModule.addTab(key as any, tab!);\n }\n return this;\n }\n\n _parse() {\n const dialog = Object.entries(this.entries)\n .map(([key, entry]) => ({\n id: key,\n name: key,\n ...entry._parse(),\n }))\n .filter((entry: object) => {\n if ('type' in entry) {\n return entry.type !== 'hidden';\n }\n });\n\n const dialogWithConditions = this.conditionsModule.parse(dialog);\n const dialogWithTabs = this.tabsModule.parse(dialogWithConditions);\n return {\n dialog: dialogWithTabs\n };\n }\n\n _primitive() {\n const result: Record<string, WebcomponentPropTypes> = {};\n\n for (const [key, entry] of Object.entries(this.entries)) {\n const type = entry._primitive();\n if (typeof type === 'string') {\n result[key] = type;\n }\n }\n\n return result;\n }\n}\n\nexport function dialog<TEntries extends ObjectEntries>(entries: TEntries) {\n return new DialogBuilder(entries)\n}","import {\n BaseFieldInput,\n BaseSchema,\n InferOutput\n} from '../../types';\n\nexport interface MultifieldSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<InferOutput<TChildren>[]> {\n readonly type: 'multifield';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren\n}\n\nexport function multifield<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): MultifieldSchema<TChildren> {\n const {label, children, required} = input;\n const childrenParse = children._parse();\n\n return {\n type: 'multifield',\n _parse() {\n return {\n type: 'multifield',\n label,\n required,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse]\n }\n },\n _primitive() {\n return 'json'\n },\n ...input\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface TextSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'textfield';\n}\n\ninterface TextInput extends BaseFieldInput {\n placeholder?: string;\n}\n\nexport function text(input: TextInput): TextSchema {\n const {placeholder, label,tooltip, required} = input;\n\n return {\n type: 'textfield',\n _parse() {\n return {\n type: 'textfield',\n label,\n placeholder,\n tooltip,\n required\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface CheckBoxSchema<TOutput extends boolean = boolean> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'checkbox';\n}\n\ninterface CheckBoxInput extends BaseFieldInput {\n showastoggle?: boolean\n}\n\nexport function checkbox(input: CheckBoxInput): CheckBoxSchema {\n const {label, tooltip, showastoggle = false} = input;\n\n return {\n type: 'checkbox',\n _parse() {\n return {\n type: 'checkbox',\n label,\n tooltip,\n showastoggle\n }\n },\n _primitive() {\n return 'boolean'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface PathBrowserSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'pathbrowser';\n}\n\ninterface PathBrowserInput extends BaseFieldInput {\n placeholder: string;\n}\n\nexport function pathbrowser(input: PathBrowserInput): PathBrowserSchema {\n const {placeholder, label, tooltip, required} = input;\n\n return {\n type: 'pathbrowser',\n _parse() {\n return {\n type: 'pathbrowser',\n label,\n placeholder,\n tooltip,\n required\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface ImageSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'image';\n}\n\ninterface ImageInput extends BaseFieldInput {\n}\n\nexport function image(input: ImageInput): ImageSchema {\n const {label, tooltip, required} = input;\n\n return {\n type: 'image',\n _parse() {\n return {\n type: 'image',\n label,\n tooltip,\n required\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import { BaseFieldInput, BaseSchema } from '../../types';\n\ntype ReadonlyObject<T> = {\n readonly [K in keyof T]: T[K];\n};\n\nexport interface SelectSchema<T, TMultiple extends boolean = false> extends BaseSchema<TMultiple extends true ? T[] : T> {\n /**\n * The schema type.\n */\n type: 'select';\n multiple: TMultiple\n}\n\ninterface SelectInput extends BaseFieldInput {\n placeholder?: string;\n multiple?: boolean;\n values: {\n value: string;\n label: string;\n }[];\n}\n\n\ntype ValuesType<T extends { values: readonly { value: string }[] }> = T['values'][number]['value'];\n\nexport function select<const T extends SelectInput, TMultiple extends boolean= T['multiple'] extends true ? true : false>(input: T): SelectSchema<ValuesType<ReadonlyObject<T>>, TMultiple>{\n const { label, values, tooltip, placeholder, multiple = false, required } = input;\n\n return {\n type: 'select',\n _parse() {\n return {\n type: 'select',\n label,\n multiple,\n values,\n tooltip,\n placeholder,\n required\n };\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n multiple: multiple as TMultiple,\n };\n}\n","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface RichTextEditorSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'richtexteditor';\n}\n\ninterface RichTextEditorInput extends BaseFieldInput {\n placeholder?: string;\n}\n\nexport function rte(input: RichTextEditorInput): RichTextEditorSchema {\n const {placeholder, label, tooltip, required} = input;\n\n return {\n type: 'richtexteditor',\n _parse() {\n return {\n type: 'richtexteditor',\n label,\n placeholder,\n tooltip,\n required\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import {\n BaseSchema,\n} from '../../types';\n\nexport interface DynamicZoneSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'dynamic';\n}\n\ninterface DynamicInput {\n}\n\nexport function dynamic(input: DynamicInput): DynamicZoneSchema {\n return {\n type: 'dynamic',\n _parse() {\n return {\n type: 'dynamic',\n };\n },\n _primitive() {\n return 'string';\n },\n ...input,\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface CalendarSchema<TOutput extends string = string> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'calendar';\n}\n\ninterface CalendarInput extends BaseFieldInput {\n placeholder?: string;\n valueformat: string;\n displayformat: string;\n headerformat: string;\n startday?: string;\n min?: string;\n max?: string;\n}\n\nexport function calendar(input: CalendarInput): CalendarSchema {\n const {valueformat,startday=0,min,max, placeholder, label,tooltip,required} = input;\n\n return {\n type: 'calendar',\n _parse() {\n return {\n type: 'calendar',\n label,\n valueformat,\n placeholder,\n startday,\n tooltip,\n min,\n max,\n required\n }\n },\n _primitive() {\n return 'string'\n },\n ...input,\n }\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\nimport { SelectSchema } from '../select';\ntype DataSourceOutputType<Multiple extends boolean> = Multiple extends true ? string[] : string;\n\nexport interface DataSourceSchema<Multiple extends boolean = false> extends BaseSchema<DataSourceOutputType<Multiple>> {\n /**\n * The schema type.\n */\n type: 'datasource';\n}\n\ninterface DataSourceBody {\n [key: string]: any;\n}\ninterface DataSourceInput extends BaseFieldInput {\n placeholder?: string;\n url: string;\n multiple?: boolean;\n body: DataSourceBody;\n}\n\nexport function datasource<Multiple extends boolean = false>(input: DataSourceInput & { multiple?: Multiple }): DataSourceSchema<Multiple> {\n const {label, body, url, tooltip,placeholder, multiple = false as Multiple, required } = input;\n\n return {\n type: 'datasource',\n _parse() {\n return {\n type: 'datasource',\n label,\n url,\n multiple,\n body,\n tooltip,\n placeholder,\n required,\n }\n },\n _primitive() {\n return multiple ? 'json' : 'string';\n },\n ...input,\n }\n}\n","import {\n BaseFieldInput,\n BaseSchema,\n InferOutput,\n} from '../../types';\n\nexport interface GroupSchema<\n TChildren extends BaseSchema<unknown>,\n> extends BaseSchema<{\n active: boolean;\n} & InferOutput<TChildren>> {\n readonly type: 'group';\n /**\n * The children item schema.\n */\n readonly children: TChildren;\n}\n\ninterface MultifieldInput<TChildren extends BaseSchema<unknown>> extends BaseFieldInput {\n children: TChildren;\n toggle?: boolean;\n}\n\nexport function group<const TChildren extends BaseSchema<unknown>>(input: MultifieldInput<TChildren>): GroupSchema<TChildren> {\n const { label, children, tooltip, toggle } = input;\n const childrenParse = children._parse();\n\n return {\n type: 'group',\n _parse() {\n return {\n type: 'group',\n label,\n tooltip,\n toggle,\n children: Array.isArray(childrenParse) ? childrenParse : [childrenParse],\n };\n },\n _primitive() {\n return 'json';\n },\n ...input,\n };\n}","import { BaseFieldInput, type BaseSchema } from '../../types';\n\nexport interface DataModelSchema<TOutput extends Record<string, any> = Record<string, any>> extends BaseSchema<TOutput> { /**\n * The schema type.\n */\n type: 'datamodel';\n}\n\ninterface DataModelInput extends BaseFieldInput {\n placeholder?: string;\n}\n\nexport function datamodel(input: DataModelInput): DataModelSchema {\n const {placeholder, label,tooltip, required} = input;\n\n return {\n type: 'datamodel',\n _parse() {\n return {\n type: 'datamodel',\n label,\n placeholder,\n tooltip,\n required\n }\n },\n _primitive() {\n return 'json'\n },\n ...input,\n }\n}","import { type BaseSchema } from '../../types';\nimport { type WebcomponentPropTypes } from '../../types/webcomponent';\n\nexport interface HiddenSchema extends BaseSchema<string> {\n /**\n * The schema type.\n */\n type: 'hidden';\n}\n\ninterface HiddenInput {\n type: WebcomponentPropTypes\n}\n\n/**\n * Creates a hidden schema.\n *\n * @param input The type of input for the webcomponent binding.\n *\n * @returns A hidden schema.\n */\nexport function hidden(input: HiddenInput): HiddenSchema {\n const {type} = input;\n\n return {\n type: 'hidden',\n _parse() {\n //Explicitly hidding this input from the parse final result.\n return this;\n },\n _primitive() {\n return type\n },\n }\n}","import { BaseSchema, Output } from '../../types';\n\n/**\n * Optional schema type.\n */\nexport interface OptionalSchema<\n TWrapped extends BaseSchema,\n TOutput = Output<TWrapped> | undefined\n> extends BaseSchema<TOutput> {\n /**\n * The schema type.\n */\n type: 'optional';\n /**\n * The wrapped schema.\n */\n wrapped: TWrapped;\n}\n\n\n/**\n * Creates an optional schema.\n *\n * @param wrapped The wrapped schema.\n *\n * @returns A optional schema.\n */\nexport function optional<TWrapped extends BaseSchema>(\n wrapped: TWrapped\n): OptionalSchema<TWrapped> {\n return {\n type: 'optional',\n wrapped,\n _primitive() {\n return this.wrapped._primitive();\n },\n _parse() {\n return this.wrapped._parse();\n },\n };\n}","import type { BaseSchema } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\n\nexport interface ObjectSchema<TEntries extends ObjectEntries, TOutput = ObjectOutput<TEntries>> extends BaseSchema<TOutput> {\n type: 'object';\n}\n\nexport function object<TEntries extends ObjectEntries>(entries: TEntries): ObjectSchema<TEntries> {\n return {\n type: 'object',\n _parse() {\n return Object.entries(entries)\n .map(([key, entry]) => ({\n id: key,\n name: key,\n ...entry._parse()\n }))\n .filter((entry: object) => {\n if('type' in entry){\n return entry.type !== 'hidden'\n }\n })\n },\n _primitive() {\n return 'json'\n }\n };\n}","import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!)\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name,\n r2wc(component, {\n props,\n }),\n );\n }\n }\n}","export function pascalToKebab(pascalCaseString: string) {\n return pascalCaseString\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase();\n}","import { DialogSchema } from '../../schema/dialog';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parse<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._parse()\n}","import { DialogSchema } from '../../schema/dialog';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parsePrimitives<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._primitive() as Record<string, WebcomponentPropTypes>\n}","import { BaseSchema, ComponentModel } from '../../types';\nimport { ObjectEntries, ObjectOutput, SlotEntries } from '../../types/object';\nimport { DialogSchema } from '../../schema/dialog';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\n\nexport interface ComponentSchema<TEntries extends ObjectEntries, TSlots extends SlotEntries | undefined> extends BaseSchema<ObjectOutput<TEntries & TSlots>>, Partial<ComponentModel> {\n type: 'component';\n dialog: DialogSchema<TEntries>;\n slots?: TSlots,\n}\n\nexport function component<TEntries extends ObjectEntries, TSlots extends SlotEntries | undefined>(\n config: Partial<ComponentModel>,\n dialog: DialogSchema<TEntries>,\n slots?: TSlots,\n): ComponentSchema<TEntries, TSlots> {\n\n const slotsParse = slots ? Object.entries(slots).map(([key, slot]) => (\n {\n id: key,\n name: key,\n ...slot._parse(),\n }),\n ) : [];\n const slotsPrimitives = slots ? Object.entries(slots).reduce((acc, [key, slot]) => {\n acc[key] = slot._primitive();\n return acc\n }, {} as Record<string, WebcomponentPropTypes | Record<string, WebcomponentPropTypes>>) : [];\n\n return {\n type: 'component',\n dialog,\n _parse() {\n return {\n ...config,\n ...dialog._parse(),\n dynamiczones: slotsParse,\n };\n },\n _primitive() {\n return {\n ...dialog._primitive() as object,\n ...slotsPrimitives as object,\n };\n },\n ...config,\n };\n}"],"mappings":"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","names":["field","dialog","dialog","component","r2wc"]}
|