xmlui 0.9.79 → 0.9.81

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 (33) hide show
  1. package/dist/lib/{index-Tct7bB50.mjs → index-D77lU9Le.mjs} +19056 -14091
  2. package/dist/lib/index.css +1 -1
  3. package/dist/lib/{initMock-CXDXFOVS.mjs → initMock-C5i5r003.mjs} +1 -1
  4. package/dist/lib/language-server-web-worker.mjs +1 -1
  5. package/dist/lib/language-server.mjs +1 -1
  6. package/dist/lib/{server-common-LUcdzTQs.mjs → server-common-CfdMYx46.mjs} +4453 -4423
  7. package/dist/lib/xmlui.d.ts +11 -9
  8. package/dist/lib/xmlui.mjs +1 -1
  9. package/dist/metadata/{collectedComponentMetadata-CJAnOboV.mjs → collectedComponentMetadata-B0baUYi4.mjs} +23440 -18484
  10. package/dist/metadata/{initMock-D7yOIx8z.mjs → initMock-CET5B1va.mjs} +1 -1
  11. package/dist/metadata/style.css +1 -1
  12. package/dist/metadata/xmlui-metadata.mjs +1 -1
  13. package/dist/metadata/xmlui-metadata.umd.js +135 -123
  14. package/dist/scripts/package.json +1 -1
  15. package/dist/scripts/src/components/FormItem/FormItem.js +21 -2
  16. package/dist/scripts/src/components/FormItem/FormItemNative.js +2 -2
  17. package/dist/scripts/src/components/Markdown/MarkdownNative.js +4 -3
  18. package/dist/scripts/src/components/NestedApp/AppWithCodeViewNative.js +7 -6
  19. package/dist/scripts/src/components/NumberBox/NumberBox.js +6 -1
  20. package/dist/scripts/src/components/NumberBox/NumberBoxNative.js +1 -0
  21. package/dist/scripts/src/components-core/ComponentViewer.js +69 -0
  22. package/dist/scripts/src/components-core/InspectorContext.js +0 -15
  23. package/dist/scripts/src/components-core/abstractions/standalone.js +2 -0
  24. package/dist/scripts/src/components-core/devtools/InspectorDialog.js +135 -0
  25. package/dist/scripts/src/components-core/rendering/AppWrapper.js +5 -2
  26. package/dist/scripts/src/language-server/services/common/metadata-utils.js +157 -0
  27. package/dist/scripts/src/parsers/xmlui-parser/index.js +29 -0
  28. package/dist/scripts/src/parsers/xmlui-parser/lint.js +165 -0
  29. package/dist/scripts/src/parsers/xmlui-parser/xmlui-serializer.js +582 -0
  30. package/dist/scripts/src/parsers/xmlui-parser/xmlui-tree.js +2 -0
  31. package/dist/standalone/xmlui-standalone.es.d.ts +11 -9
  32. package/dist/standalone/xmlui-standalone.umd.js +277 -265
  33. package/package.json +1 -1
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./CharacterCodes"), exports);
18
+ __exportStar(require("./diagnostics"), exports);
19
+ __exportStar(require("./fileExtensions"), exports);
20
+ __exportStar(require("./lint"), exports);
21
+ __exportStar(require("./parser"), exports);
22
+ __exportStar(require("./ParserError"), exports);
23
+ __exportStar(require("./scanner"), exports);
24
+ __exportStar(require("./syntax-kind"), exports);
25
+ __exportStar(require("./syntax-node"), exports);
26
+ __exportStar(require("./transform"), exports);
27
+ __exportStar(require("./utils"), exports);
28
+ __exportStar(require("./xmlui-serializer"), exports);
29
+ __exportStar(require("./xmlui-tree"), exports);
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LintDiagKind = exports.LintSeverity = void 0;
4
+ exports.getLintSeverity = getLintSeverity;
5
+ exports.lintApp = lintApp;
6
+ exports.printComponentLints = printComponentLints;
7
+ exports.lintErrorsComponent = lintErrorsComponent;
8
+ exports.lint = lint;
9
+ const descriptorHelper_1 = require("../../components-core/descriptorHelper");
10
+ const transform_1 = require("./transform");
11
+ var LintSeverity;
12
+ (function (LintSeverity) {
13
+ LintSeverity[LintSeverity["Skip"] = 0] = "Skip";
14
+ LintSeverity[LintSeverity["Warning"] = 1] = "Warning";
15
+ LintSeverity[LintSeverity["Error"] = 2] = "Error";
16
+ })(LintSeverity || (exports.LintSeverity = LintSeverity = {}));
17
+ var LintDiagKind;
18
+ (function (LintDiagKind) {
19
+ LintDiagKind[LintDiagKind["UnrecognisedProp"] = 0] = "UnrecognisedProp";
20
+ })(LintDiagKind || (exports.LintDiagKind = LintDiagKind = {}));
21
+ function getLintSeverity(lintSeverityOption) {
22
+ if (!lintSeverityOption) {
23
+ return LintSeverity.Warning;
24
+ }
25
+ let lintSeverity = LintSeverity.Warning;
26
+ switch (lintSeverityOption.toLowerCase()) {
27
+ case "warning":
28
+ return LintSeverity.Warning;
29
+ break;
30
+ case "error":
31
+ return LintSeverity.Error;
32
+ break;
33
+ case "skip":
34
+ return LintSeverity.Skip;
35
+ break;
36
+ default:
37
+ console.warn(`Invalid lint severity option '${lintSeverityOption}'. Must be one of: 'warning', 'error', 'skip'. Defaulting to 'warning'.`);
38
+ return LintSeverity.Warning;
39
+ break;
40
+ }
41
+ }
42
+ function lintApp({ appDef, metadataProvider, }) {
43
+ var _a;
44
+ const entryPointLints = {
45
+ componentName: "Main",
46
+ lints: lint({
47
+ component: appDef.entryPoint,
48
+ metadataProvider,
49
+ }),
50
+ };
51
+ const compoundCompLints = ((_a = appDef.components) !== null && _a !== void 0 ? _a : []).map((c) => {
52
+ const lints = lint({
53
+ component: c,
54
+ metadataProvider,
55
+ });
56
+ return { lints, componentName: c.name };
57
+ });
58
+ return [entryPointLints, ...compoundCompLints].filter((diags) => diags.lints.length > 0);
59
+ }
60
+ function printComponentLints(lintDiags) {
61
+ console.group(`Validation on '${lintDiags.componentName}':`);
62
+ lintDiags.lints.forEach(({ message }) => {
63
+ console.warn(message);
64
+ });
65
+ console.groupEnd();
66
+ }
67
+ function lintErrorsComponent(lints) {
68
+ function makeComponent() {
69
+ const errList = lints.map((lint, idx) => {
70
+ return {
71
+ type: "VStack",
72
+ props: { gap: "0px" },
73
+ children: [
74
+ {
75
+ type: "VStack",
76
+ props: { backgroundColor: "lightgrey", padding: "10px" },
77
+ children: [
78
+ {
79
+ type: "H2",
80
+ props: {
81
+ value: `#${idx + 1}: In component '${lint.componentName}':`,
82
+ color: "$color-info",
83
+ },
84
+ },
85
+ {
86
+ type: "VStack",
87
+ children: lint.lints.map(({ message }, msgIdx) => {
88
+ return {
89
+ type: "Text",
90
+ props: { value: `${idx + 1}.${msgIdx + 1}: ${message}`, fontWeight: "bold" },
91
+ };
92
+ }),
93
+ },
94
+ ],
95
+ },
96
+ ],
97
+ };
98
+ });
99
+ const comp = {
100
+ type: "VStack",
101
+ props: { padding: "$padding-normal", gap: 0 },
102
+ children: [
103
+ {
104
+ type: "H1",
105
+ props: {
106
+ value: `Errors found while checking Xmlui markup`,
107
+ padding: "$padding-normal",
108
+ backgroundColor: "$color-error",
109
+ color: "white",
110
+ },
111
+ },
112
+ {
113
+ type: "VStack",
114
+ props: {
115
+ gap: "$gap-tight",
116
+ padding: "$padding-normal",
117
+ },
118
+ children: errList,
119
+ },
120
+ ],
121
+ };
122
+ return comp;
123
+ }
124
+ return makeComponent();
125
+ }
126
+ function lint({ component, metadataProvider, }) {
127
+ if ("component" in component) {
128
+ return lintHelp(component.component, metadataProvider, []);
129
+ }
130
+ return lintHelp(component, metadataProvider, []);
131
+ }
132
+ function lintHelp(component, metadataProvider, acc) {
133
+ const componentName = component.type.startsWith(transform_1.CORE_NAMESPACE_VALUE)
134
+ ? component.type.slice(transform_1.CORE_NAMESPACE_VALUE.length + 1)
135
+ : component.type;
136
+ const componentMdProvider = metadataProvider.getComponent(componentName);
137
+ if (componentMdProvider !== null && !componentMdProvider.allowArbitraryProps) {
138
+ lintAttrs(component, componentMdProvider, acc);
139
+ }
140
+ if (!component.children) {
141
+ return acc;
142
+ }
143
+ for (const child of component.children) {
144
+ lintHelp(child, metadataProvider, acc);
145
+ }
146
+ return acc;
147
+ }
148
+ const implicitPropNames = descriptorHelper_1.layoutOptionKeys;
149
+ function lintAttrs(component, metadataForCurrentComponent, diags) {
150
+ var _a, _b, _c;
151
+ const invalidAttrNames = Object.keys((_a = component.props) !== null && _a !== void 0 ? _a : {}).filter((name) => !metadataForCurrentComponent.getAttr(name));
152
+ const invalidEvents = Object.keys((_b = component.events) !== null && _b !== void 0 ? _b : {}).filter((event) => !metadataForCurrentComponent.getEvent(event));
153
+ const invalidApis = Object.keys((_c = component.api) !== null && _c !== void 0 ? _c : {}).filter((api) => !metadataForCurrentComponent.getApi(api));
154
+ invalidAttrNames.push(...invalidEvents);
155
+ invalidAttrNames.push(...invalidApis);
156
+ for (const invalidAttrName of invalidAttrNames) {
157
+ diags.push(toUnrecognisedAttrDiag(component, invalidAttrName));
158
+ }
159
+ }
160
+ function toUnrecognisedAttrDiag(component, attr) {
161
+ return {
162
+ message: `Unrecognised property '${attr}' on component '${component.type}'.`,
163
+ kind: LintDiagKind.UnrecognisedProp,
164
+ };
165
+ }