@microsoft/fast-element 2.10.4 → 3.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +52 -2
- package/README.md +244 -1
- package/dist/arrays/arrays.api.json +2621 -0
- package/dist/context/context.api.json +13 -13
- package/dist/declarative/declarative.api.json +8483 -0
- package/dist/di/di.api.json +16 -16
- package/dist/dts/__test__/helpers.d.ts +6 -0
- package/dist/dts/array-observer.d.ts +2 -0
- package/dist/dts/arrays.d.ts +2 -0
- package/dist/dts/attr.d.ts +1 -0
- package/dist/dts/binding/binding.d.ts +15 -5
- package/dist/dts/binding/one-time.d.ts +1 -1
- package/dist/dts/binding/one-way.d.ts +1 -1
- package/dist/dts/binding/signal.d.ts +6 -6
- package/dist/dts/binding/two-way.d.ts +2 -1
- package/dist/dts/binding.d.ts +7 -0
- package/dist/dts/components/attributes.d.ts +1 -4
- package/dist/dts/components/definition-schema-transforms.d.ts +9 -0
- package/dist/dts/components/element-controller.d.ts +80 -114
- package/dist/dts/components/element-hydration.d.ts +1 -1
- package/dist/dts/components/enable-hydration.d.ts +54 -0
- package/dist/dts/components/fast-definitions.d.ts +98 -46
- package/dist/dts/components/fast-element.d.ts +43 -16
- package/dist/dts/components/hydration-tracker.d.ts +83 -0
- package/dist/dts/components/hydration.d.ts +23 -53
- package/dist/dts/components/schema.d.ts +205 -0
- package/dist/dts/context.d.ts +13 -13
- package/dist/dts/css.d.ts +3 -0
- package/dist/dts/debug.d.ts +5 -1
- package/dist/dts/declarative/attribute-map.d.ts +58 -0
- package/dist/dts/declarative/debug.d.ts +4 -0
- package/dist/dts/declarative/index.d.ts +14 -0
- package/dist/dts/declarative/interfaces.d.ts +8 -0
- package/dist/dts/declarative/observer-map-utilities.d.ts +58 -0
- package/dist/dts/declarative/observer-map.d.ts +89 -0
- package/dist/dts/declarative/runtime.d.ts +5 -0
- package/dist/dts/declarative/syntax.d.ts +21 -0
- package/dist/dts/declarative/template-bridge.d.ts +33 -0
- package/dist/dts/declarative/template-parser.d.ts +98 -0
- package/dist/dts/declarative/template.d.ts +10 -0
- package/dist/dts/declarative/utilities.d.ts +358 -0
- package/dist/dts/di/di.d.ts +7 -7
- package/dist/dts/directives/children.d.ts +2 -0
- package/dist/dts/directives/node-observation.d.ts +2 -0
- package/dist/dts/directives/ref.d.ts +2 -0
- package/dist/dts/directives/repeat.d.ts +4 -0
- package/dist/dts/directives/slotted.d.ts +2 -0
- package/dist/dts/directives/when.d.ts +3 -0
- package/dist/dts/dom-policy.d.ts +23 -5
- package/dist/dts/dom.d.ts +4 -16
- package/dist/dts/html.d.ts +5 -0
- package/dist/dts/hydration/diagnostics.d.ts +93 -0
- package/dist/dts/hydration/hydration-debugger.d.ts +35 -0
- package/dist/dts/hydration/messages.d.ts +62 -0
- package/dist/dts/hydration/runtime.d.ts +7 -0
- package/dist/dts/hydration/target-builder.d.ts +40 -12
- package/dist/dts/hydration.d.ts +18 -0
- package/dist/dts/index.d.ts +42 -42
- package/dist/dts/index.debug.d.ts +0 -1
- package/dist/dts/index.rollup.debug.d.ts +0 -1
- package/dist/dts/interfaces.d.ts +2 -49
- package/dist/dts/observable.d.ts +3 -6
- package/dist/dts/observation/arrays.d.ts +1 -1
- package/dist/dts/observation/observable.d.ts +3 -3
- package/dist/dts/observation/update-queue.d.ts +1 -1
- package/dist/dts/platform.d.ts +45 -8
- package/dist/dts/registry.d.ts +1 -0
- package/dist/dts/render.d.ts +7 -0
- package/dist/dts/schema.d.ts +1 -0
- package/dist/dts/state/exports.d.ts +1 -1
- package/dist/dts/state/state.d.ts +2 -2
- package/dist/dts/styles/css-directive.d.ts +5 -12
- package/dist/dts/styles/css.d.ts +5 -7
- package/dist/dts/styles/element-styles.d.ts +0 -10
- package/dist/dts/styles.d.ts +6 -0
- package/dist/dts/templating/compiler.d.ts +1 -1
- package/dist/dts/templating/html-binding-directive.d.ts +10 -2
- package/dist/dts/templating/html-directive.d.ts +19 -1
- package/dist/dts/templating/hydration-view.d.ts +130 -0
- package/dist/dts/templating/render.d.ts +1 -1
- package/dist/dts/templating/repeat.d.ts +1 -1
- package/dist/dts/templating/template.d.ts +15 -7
- package/dist/dts/templating/view.d.ts +25 -102
- package/dist/dts/templating.d.ts +10 -0
- package/dist/dts/testing/exports.d.ts +2 -2
- package/dist/dts/testing/fakes.d.ts +4 -4
- package/dist/dts/updates.d.ts +1 -0
- package/dist/dts/volatile.d.ts +2 -0
- package/dist/esm/__test__/helpers.js +22 -0
- package/dist/esm/__test__/setup-node.js +18 -0
- package/dist/esm/array-observer.js +1 -0
- package/dist/esm/arrays.js +1 -0
- package/dist/esm/attr.js +1 -0
- package/dist/esm/binding/normalize.js +1 -1
- package/dist/esm/binding/signal.js +4 -4
- package/dist/esm/binding/two-way.js +3 -3
- package/dist/esm/binding.js +4 -0
- package/dist/esm/components/attributes.js +18 -11
- package/dist/esm/components/definition-schema-transforms.js +23 -0
- package/dist/esm/components/element-controller.js +206 -270
- package/dist/esm/components/element-hydration.js +1 -1
- package/dist/esm/components/enable-hydration.js +124 -0
- package/dist/esm/components/fast-definitions.js +219 -56
- package/dist/esm/components/fast-element.js +18 -27
- package/dist/esm/components/hydration-tracker.js +122 -0
- package/dist/esm/components/hydration.js +137 -140
- package/dist/esm/components/schema.js +253 -0
- package/dist/esm/context.js +6 -6
- package/dist/esm/css.js +3 -0
- package/dist/esm/debug.js +27 -26
- package/dist/esm/declarative/attribute-map.js +122 -0
- package/dist/esm/declarative/debug.js +4 -0
- package/dist/esm/declarative/index.js +4 -0
- package/dist/esm/declarative/interfaces.js +9 -0
- package/dist/esm/declarative/observer-map-utilities.js +565 -0
- package/dist/esm/declarative/observer-map.js +216 -0
- package/dist/esm/declarative/runtime.js +14 -0
- package/dist/esm/declarative/syntax.js +36 -0
- package/dist/esm/declarative/template-bridge.js +160 -0
- package/dist/esm/declarative/template-parser.js +306 -0
- package/dist/esm/declarative/template.js +143 -0
- package/dist/esm/declarative/utilities.js +1069 -0
- package/dist/esm/di/di.js +8 -9
- package/dist/esm/directives/children.js +1 -0
- package/dist/esm/directives/node-observation.js +1 -0
- package/dist/esm/directives/ref.js +1 -0
- package/dist/esm/directives/repeat.js +1 -0
- package/dist/esm/directives/slotted.js +1 -0
- package/dist/esm/directives/when.js +1 -0
- package/dist/esm/dom-policy.js +35 -6
- package/dist/esm/dom.js +1 -1
- package/dist/esm/html.js +2 -0
- package/dist/esm/hydration/diagnostics.js +50 -0
- package/dist/esm/hydration/hydration-debugger.js +112 -0
- package/dist/esm/hydration/messages.js +84 -0
- package/dist/esm/hydration/runtime.js +33 -0
- package/dist/esm/hydration/target-builder.js +144 -91
- package/dist/esm/hydration.js +6 -0
- package/dist/esm/index.debug.js +2 -1
- package/dist/esm/index.js +38 -29
- package/dist/esm/index.rollup.debug.js +3 -2
- package/dist/esm/index.rollup.js +1 -1
- package/dist/esm/interfaces.js +2 -45
- package/dist/esm/metadata.js +2 -8
- package/dist/esm/observable.js +1 -4
- package/dist/esm/observation/arrays.js +1 -1
- package/dist/esm/observation/notifier.js +2 -4
- package/dist/esm/observation/observable.js +5 -5
- package/dist/esm/observation/update-queue.js +47 -58
- package/dist/esm/platform.js +31 -30
- package/dist/esm/registry.js +1 -0
- package/dist/esm/render.js +1 -0
- package/dist/esm/schema.js +1 -0
- package/dist/esm/state/exports.js +1 -1
- package/dist/esm/styles/css-directive.js +1 -2
- package/dist/esm/styles/css.js +15 -56
- package/dist/esm/styles/element-styles.js +69 -15
- package/dist/esm/styles.js +2 -0
- package/dist/esm/templating/html-binding-directive.js +11 -9
- package/dist/esm/templating/hydration-view.js +228 -0
- package/dist/esm/templating/render.js +39 -18
- package/dist/esm/templating/repeat.js +69 -33
- package/dist/esm/templating/template.js +7 -7
- package/dist/esm/templating/view.js +25 -234
- package/dist/esm/templating.js +7 -0
- package/dist/esm/testing/exports.js +2 -2
- package/dist/esm/testing/fixture.js +2 -2
- package/dist/esm/testing/timeout.js +2 -2
- package/dist/esm/updates.js +1 -0
- package/dist/esm/volatile.js +1 -0
- package/dist/fast-element.api.json +14389 -11138
- package/dist/fast-element.d.ts +3651 -809
- package/dist/fast-element.debug.js +5666 -4722
- package/dist/fast-element.debug.min.js +2 -2
- package/dist/fast-element.js +5394 -4381
- package/dist/fast-element.min.js +2 -2
- package/dist/fast-element.untrimmed.d.ts +923 -472
- package/dist/hydration/hydration.api.json +6460 -0
- package/dist/styles/styles.api.json +2672 -0
- package/package.json +165 -45
- package/ARCHITECTURE_FASTELEMENT.md +0 -63
- package/ARCHITECTURE_HTML_TAGGED_TEMPLATE_LITERAL.md +0 -36
- package/ARCHITECTURE_INTRO.md +0 -10
- package/ARCHITECTURE_OVERVIEW.md +0 -52
- package/ARCHITECTURE_UPDATES.md +0 -11
- package/CHANGELOG.json +0 -2275
- package/DESIGN.md +0 -510
- package/api-extractor.context.json +0 -14
- package/api-extractor.di.json +0 -14
- package/biome.json +0 -4
- package/dist/dts/components/install-hydration.d.ts +0 -1
- package/dist/dts/pending-task.d.ts +0 -32
- package/dist/dts/styles/css-binding-directive.d.ts +0 -60
- package/dist/dts/templating/install-hydratable-view-templates.d.ts +0 -1
- package/dist/esm/components/install-hydration.js +0 -3
- package/dist/esm/pending-task.js +0 -28
- package/dist/esm/polyfills.js +0 -60
- package/dist/esm/styles/css-binding-directive.js +0 -76
- package/dist/esm/templating/install-hydratable-view-templates.js +0 -23
- package/docs/ACKNOWLEDGEMENTS.md +0 -12
- package/docs/api-report.api.md +0 -1122
- package/docs/context/api-report.api.md +0 -69
- package/docs/di/api-report.api.md +0 -315
- package/docs/fast-element-2-changes.md +0 -15
- package/playwright.config.ts +0 -26
- package/scripts/run-api-extractor.js +0 -51
- package/test/index.html +0 -11
- package/test/main.ts +0 -104
- package/test/vite.config.ts +0 -19
- package/tsconfig.api-extractor.json +0 -6
- /package/dist/dts/{polyfills.d.ts → __test__/setup-node.d.ts} +0 -0
package/dist/esm/debug.js
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
value: Object.create(null),
|
|
4
|
-
configurable: false,
|
|
5
|
-
enumerable: false,
|
|
6
|
-
writable: false,
|
|
7
|
-
});
|
|
8
|
-
}
|
|
9
|
-
const FAST = globalThis.FAST;
|
|
10
|
-
const debugMessages = {
|
|
1
|
+
import { FAST, getDebugMessageLookup } from "./platform.js";
|
|
2
|
+
const baseDebugMessages = {
|
|
11
3
|
[1101 /* needsArrayObservation */]: "Must call ArrayObserver.enable() before observing arrays.",
|
|
12
4
|
[1201 /* onlySetDOMPolicyOnce */]: "The DOM Policy can only be set once.",
|
|
13
5
|
[1202 /* bindingInnerHTMLRequiresTrustedTypes */]: "To bind innerHTML, you must use a TrustedTypesPolicy.",
|
|
@@ -18,6 +10,8 @@ const debugMessages = {
|
|
|
18
10
|
[1207 /* onlySetTemplatePolicyOnce */]: "The DOM Policy for an HTML template can only be set once.",
|
|
19
11
|
[1208 /* cannotSetTemplatePolicyAfterCompilation */]: "The DOM Policy cannot be set after a template is compiled.",
|
|
20
12
|
[1209 /* blockedByDOMPolicy */]: "'${aspectName}' on '${tagName}' is blocked by the current DOMPolicy.",
|
|
13
|
+
[1210 /* invalidHydrationAttributeMarker */]: "Invalid data-fe attribute value '${value}'. Expected a positive integer.",
|
|
14
|
+
[1211 /* duplicateRenderInstruction */]: "Replacing existing RenderInstruction for '${type}' with name '${name}'.",
|
|
21
15
|
[1401 /* missingElementDefinition */]: "Missing FASTElement definition.",
|
|
22
16
|
[1501 /* noRegistrationForContext */]: "No registration for Context/Interface '${name}'.",
|
|
23
17
|
[1502 /* noFactoryForResolver */]: "Dependency injection resolver for '${key}' returned a null factory.",
|
|
@@ -52,19 +46,26 @@ function formatMessage(message, values) {
|
|
|
52
46
|
})
|
|
53
47
|
.join("");
|
|
54
48
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
49
|
+
/**
|
|
50
|
+
* Enables human-readable FAST debug messages.
|
|
51
|
+
* @public
|
|
52
|
+
*/
|
|
53
|
+
export function enableDebug() {
|
|
54
|
+
const debugMessages = getDebugMessageLookup();
|
|
55
|
+
Object.assign(debugMessages, baseDebugMessages);
|
|
56
|
+
Object.assign(FAST, {
|
|
57
|
+
addMessages(messages) {
|
|
58
|
+
Object.assign(debugMessages, messages);
|
|
59
|
+
},
|
|
60
|
+
warn(code, values = noValues) {
|
|
61
|
+
var _a;
|
|
62
|
+
const message = (_a = debugMessages[code]) !== null && _a !== void 0 ? _a : "Unknown Warning";
|
|
63
|
+
console.warn(formatMessage(message, values));
|
|
64
|
+
},
|
|
65
|
+
error(code, values = noValues) {
|
|
66
|
+
var _a;
|
|
67
|
+
const message = (_a = debugMessages[code]) !== null && _a !== void 0 ? _a : "Unknown Error";
|
|
68
|
+
return new Error(formatMessage(message, values));
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { AttributeDefinition } from "../components/attributes.js";
|
|
2
|
+
import { setDefinitionSchemaTransform } from "../components/definition-schema-transforms.js";
|
|
3
|
+
import { hasFASTElementTemplateResolver, trackLateAttributeDefinition, } from "../components/fast-definitions.js";
|
|
4
|
+
import { Observable } from "../observation/observable.js";
|
|
5
|
+
export { Schema, schemaRegistry, } from "../components/schema.js";
|
|
6
|
+
const attributeMapSchemaTransformKey = "attribute-map";
|
|
7
|
+
const attributeMapSchemaTransformPriority = 0;
|
|
8
|
+
function defineAttributeMap(definition, schema, config) {
|
|
9
|
+
new AttributeMap(definition.type.prototype, schema, definition, config).defineProperties();
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Creates a FAST element extension that enables schema-driven attribute mapping
|
|
13
|
+
* for the resolved definition. When called without arguments, uses the default
|
|
14
|
+
* attribute-mapping behavior. The extension uses `definition.schema` immediately
|
|
15
|
+
* for manual schemas, or the schema generated/augmented by `declarativeTemplate()`.
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export function attributeMap(config = {}) {
|
|
19
|
+
return definition => {
|
|
20
|
+
const hasTemplateResolver = hasFASTElementTemplateResolver(definition);
|
|
21
|
+
if (definition.schema && !hasTemplateResolver) {
|
|
22
|
+
defineAttributeMap(definition, definition.schema, config);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (!hasTemplateResolver) {
|
|
26
|
+
throw new Error("attributeMap requires a schema. Provide one via FASTElement definition or use declarativeTemplate().");
|
|
27
|
+
}
|
|
28
|
+
setDefinitionSchemaTransform(definition, attributeMapSchemaTransformKey, ({ definition, schema }) => defineAttributeMap(definition, schema, config), attributeMapSchemaTransformPriority);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Converts a camelCase string to kebab-case.
|
|
33
|
+
*
|
|
34
|
+
* @example camelToKebab("fooBar") // "foo-bar"
|
|
35
|
+
* @example camelToKebab("myCustomProp") // "my-custom-prop"
|
|
36
|
+
* @example camelToKebab("label") // "label"
|
|
37
|
+
*/
|
|
38
|
+
function camelToKebab(str) {
|
|
39
|
+
return str.replace(/[A-Z]/g, m => `-${m.toLowerCase()}`);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* AttributeMap provides functionality for detecting simple (leaf) properties in
|
|
43
|
+
* a generated JSON schema and defining them as attr properties on a class prototype.
|
|
44
|
+
*
|
|
45
|
+
* A property is a candidate for attr when its schema entry has no nested `properties`,
|
|
46
|
+
* no `type`, and no `anyOf` — for example, a plain `foo` binding.
|
|
47
|
+
*
|
|
48
|
+
* When `attribute-name-strategy` is `"camelCase"` (the default), the binding key is treated as a
|
|
49
|
+
* camelCase property name and the HTML attribute name is derived by converting it to
|
|
50
|
+
* kebab-case (e.g. property `fooBar` → attribute `foo-bar`). This matches the
|
|
51
|
+
* build-time `attribute-name-strategy` option in `@microsoft/fast-build`.
|
|
52
|
+
*
|
|
53
|
+
* When `attribute-name-strategy` is `"none"`, the binding key is used
|
|
54
|
+
* as both the attribute name and property name — no normalization is applied.
|
|
55
|
+
*
|
|
56
|
+
* Properties already decorated with `attr` or `observable` on the class are left
|
|
57
|
+
* untouched.
|
|
58
|
+
* @public
|
|
59
|
+
*/
|
|
60
|
+
export class AttributeMap {
|
|
61
|
+
constructor(classPrototype, schema, definition, config) {
|
|
62
|
+
this.classPrototype = classPrototype;
|
|
63
|
+
this.schema = schema;
|
|
64
|
+
this.definition = definition;
|
|
65
|
+
this.config = config;
|
|
66
|
+
}
|
|
67
|
+
defineProperties() {
|
|
68
|
+
var _a;
|
|
69
|
+
var _b;
|
|
70
|
+
const propertyNames = this.schema.getRootProperties();
|
|
71
|
+
const existingAccessorNames = new Set(Observable.getAccessors(this.classPrototype).map(a => a.name));
|
|
72
|
+
const strategy = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a["attribute-name-strategy"]) !== null && _b !== void 0 ? _b : "camelCase";
|
|
73
|
+
for (const propertyName of propertyNames) {
|
|
74
|
+
const propertySchema = this.schema.getSchema(propertyName);
|
|
75
|
+
// Only create @attr for leaf properties:
|
|
76
|
+
// - no nested properties (not a dot-syntax path)
|
|
77
|
+
// - no type (not an explicitly typed value like an array)
|
|
78
|
+
// - no anyOf (not a child element reference)
|
|
79
|
+
if (!propertySchema ||
|
|
80
|
+
propertySchema.properties ||
|
|
81
|
+
propertySchema.type ||
|
|
82
|
+
propertySchema.anyOf) {
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
// Skip if the property already has an accessor (from @attr or @observable)
|
|
86
|
+
if (existingAccessorNames.has(propertyName)) {
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
// Derive the HTML attribute name from the property name.
|
|
90
|
+
// With "camelCase" strategy, convert camelCase to kebab-case
|
|
91
|
+
// (e.g. fooBar → foo-bar). With "none", use the property name as-is.
|
|
92
|
+
const attributeName = strategy === "camelCase" ? camelToKebab(propertyName) : propertyName;
|
|
93
|
+
const attrDef = new AttributeDefinition(this.classPrototype.constructor, propertyName, attributeName);
|
|
94
|
+
Observable.defineProperty(this.classPrototype, attrDef);
|
|
95
|
+
// Mutate the existing observedAttributes array on the class.
|
|
96
|
+
// FAST's FASTElementDefinition sets observedAttributes via
|
|
97
|
+
// Reflect.defineProperty with a concrete array value (non-configurable,
|
|
98
|
+
// non-writable), so the descriptor cannot be replaced. However, the
|
|
99
|
+
// array itself is mutable, and pushing into it works because
|
|
100
|
+
// registry.define() — which causes the browser to snapshot
|
|
101
|
+
// observedAttributes — is called AFTER this method runs.
|
|
102
|
+
const existingObservedAttrs = this.classPrototype.constructor.observedAttributes;
|
|
103
|
+
if (Array.isArray(existingObservedAttrs) &&
|
|
104
|
+
!existingObservedAttrs.includes(attributeName)) {
|
|
105
|
+
existingObservedAttrs.push(attributeName);
|
|
106
|
+
}
|
|
107
|
+
if (this.definition) {
|
|
108
|
+
this.definition.attributeLookup[attributeName] = attrDef;
|
|
109
|
+
this.definition.propertyLookup[propertyName] = attrDef;
|
|
110
|
+
const attrs = this.definition.attributes;
|
|
111
|
+
if (Array.isArray(attrs) &&
|
|
112
|
+
!attrs.some((existing) => existing.name === attrDef.name ||
|
|
113
|
+
existing.attribute === attrDef.attribute)) {
|
|
114
|
+
attrs.push(attrDef);
|
|
115
|
+
}
|
|
116
|
+
if (this.definition.isDefined) {
|
|
117
|
+
trackLateAttributeDefinition(this.definition, attrDef);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const debugMessages = {
|
|
2
|
+
[2000 /* noTemplateProvided */]: "The first child of the <f-template> must be a <template>, this is missing from ${name}.",
|
|
3
|
+
[2001 /* moreThanOneTemplateProvided */]: "There can only be one <template> inside the <f-template>; remove any extra <template> elements and keep exactly one for ${name}.",
|
|
4
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Warning and error messages.
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export var Message;
|
|
6
|
+
(function (Message) {
|
|
7
|
+
Message[Message["noTemplateProvided"] = 2000] = "noTemplateProvided";
|
|
8
|
+
Message[Message["moreThanOneTemplateProvided"] = 2001] = "moreThanOneTemplateProvided";
|
|
9
|
+
})(Message || (Message = {}));
|