element-vir 5.1.1 → 5.3.0
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/{cjs/augments → augments}/array.d.ts +0 -0
- package/dist/{esm/augments → augments}/array.js +0 -0
- package/dist/{cjs/augments → augments}/type.d.ts +0 -0
- package/dist/{esm/augments → augments}/type.js +0 -0
- package/dist/{cjs/functional-element → functional-element}/define-functional-element.d.ts +0 -0
- package/dist/functional-element/define-functional-element.js +41 -0
- package/dist/{cjs/functional-element → functional-element}/directives/assign-with-clean-up.directive.d.ts +0 -0
- package/dist/{esm/functional-element → functional-element}/directives/assign-with-clean-up.directive.js +3 -0
- package/dist/{cjs/functional-element → functional-element}/directives/assign.directive.d.ts +0 -0
- package/dist/{esm/functional-element → functional-element}/directives/assign.directive.js +1 -0
- package/dist/{cjs/functional-element → functional-element}/directives/directive-util.d.ts +0 -0
- package/dist/{esm/functional-element → functional-element}/directives/directive-util.js +0 -0
- package/dist/{cjs/functional-element → functional-element}/directives/listen.directive.d.ts +0 -0
- package/dist/{esm/functional-element → functional-element}/directives/listen.directive.js +3 -1
- package/dist/{cjs/functional-element → functional-element}/directives/on-dom-created.directive.d.ts +0 -0
- package/dist/{esm/functional-element → functional-element}/directives/on-dom-created.directive.js +1 -0
- package/dist/{cjs/functional-element → functional-element}/directives/on-resize.directive.d.ts +0 -0
- package/dist/{esm/functional-element → functional-element}/directives/on-resize.directive.js +4 -3
- package/dist/{cjs/functional-element → functional-element}/element-events.d.ts +0 -0
- package/dist/{esm/functional-element → functional-element}/element-events.js +0 -0
- package/dist/{cjs/functional-element → functional-element}/element-properties.d.ts +0 -0
- package/dist/{esm/functional-element → functional-element}/element-properties.js +0 -0
- package/dist/{cjs/functional-element → functional-element}/functional-element.d.ts +0 -0
- package/dist/{esm/functional-element → functional-element}/functional-element.js +2 -0
- package/dist/{cjs/functional-element → functional-element}/render-callback.d.ts +0 -0
- package/dist/{esm/functional-element → functional-element}/render-callback.js +0 -0
- package/dist/{cjs/index.d.ts → index.d.ts} +0 -0
- package/dist/{esm/index.js → index.js} +0 -0
- package/dist/{cjs/require-functional-element.d.ts → require-functional-element.d.ts} +0 -0
- package/dist/{esm/require-functional-element.js → require-functional-element.js} +0 -0
- package/dist/{cjs/template-transforms → template-transforms}/has-static-tag-name.d.ts +0 -0
- package/dist/{esm/template-transforms → template-transforms}/has-static-tag-name.js +0 -0
- package/dist/{cjs/template-transforms → template-transforms}/transform-template.d.ts +0 -0
- package/dist/{esm/template-transforms → template-transforms}/transform-template.js +3 -4
- package/dist/{cjs/template-transforms → template-transforms}/vir-css/css-transform.d.ts +0 -0
- package/dist/{esm/template-transforms → template-transforms}/vir-css/css-transform.js +0 -0
- package/dist/{cjs/template-transforms → template-transforms}/vir-css/vir-css.d.ts +0 -0
- package/dist/{esm/template-transforms → template-transforms}/vir-css/vir-css.js +0 -0
- package/dist/{cjs/template-transforms → template-transforms}/vir-html/html-transform.d.ts +0 -0
- package/dist/{esm/template-transforms → template-transforms}/vir-html/html-transform.js +1 -1
- package/dist/{cjs/template-transforms → template-transforms}/vir-html/vir-html.d.ts +0 -0
- package/dist/{esm/template-transforms → template-transforms}/vir-html/vir-html.js +0 -0
- package/dist/{cjs/typed-event → typed-event}/typed-event.d.ts +0 -0
- package/dist/{esm/typed-event → typed-event}/typed-event.js +11 -13
- package/package.json +4 -10
- package/dist/cjs/augments/array.js +0 -7
- package/dist/cjs/augments/type.js +0 -2
- package/dist/cjs/functional-element/define-functional-element.js +0 -47
- package/dist/cjs/functional-element/directives/assign-with-clean-up.directive.js +0 -40
- package/dist/cjs/functional-element/directives/assign.directive.js +0 -27
- package/dist/cjs/functional-element/directives/directive-util.js +0 -27
- package/dist/cjs/functional-element/directives/listen.directive.js +0 -51
- package/dist/cjs/functional-element/directives/on-dom-created.directive.js +0 -26
- package/dist/cjs/functional-element/directives/on-resize.directive.js +0 -39
- package/dist/cjs/functional-element/element-events.js +0 -29
- package/dist/cjs/functional-element/element-properties.js +0 -55
- package/dist/cjs/functional-element/functional-element.js +0 -7
- package/dist/cjs/functional-element/render-callback.js +0 -24
- package/dist/cjs/index.js +0 -33
- package/dist/cjs/require-functional-element.js +0 -8
- package/dist/cjs/template-transforms/has-static-tag-name.js +0 -10
- package/dist/cjs/template-transforms/transform-template.js +0 -74
- package/dist/cjs/template-transforms/vir-css/css-transform.js +0 -16
- package/dist/cjs/template-transforms/vir-css/vir-css.js +0 -16
- package/dist/cjs/template-transforms/vir-html/html-transform.js +0 -48
- package/dist/cjs/template-transforms/vir-html/vir-html.js +0 -20
- package/dist/cjs/typed-event/typed-event.js +0 -37
- package/dist/esm/augments/array.d.ts +0 -1
- package/dist/esm/augments/type.d.ts +0 -1
- package/dist/esm/functional-element/define-functional-element.d.ts +0 -4
- package/dist/esm/functional-element/define-functional-element.js +0 -43
- package/dist/esm/functional-element/directives/assign-with-clean-up.directive.d.ts +0 -19
- package/dist/esm/functional-element/directives/assign.directive.d.ts +0 -15
- package/dist/esm/functional-element/directives/directive-util.d.ts +0 -15
- package/dist/esm/functional-element/directives/listen.directive.d.ts +0 -13
- package/dist/esm/functional-element/directives/on-dom-created.directive.d.ts +0 -11
- package/dist/esm/functional-element/directives/on-resize.directive.d.ts +0 -15
- package/dist/esm/functional-element/element-events.d.ts +0 -10
- package/dist/esm/functional-element/element-properties.d.ts +0 -16
- package/dist/esm/functional-element/functional-element.d.ts +0 -42
- package/dist/esm/functional-element/render-callback.d.ts +0 -21
- package/dist/esm/index.d.ts +0 -15
- package/dist/esm/require-functional-element.d.ts +0 -2
- package/dist/esm/template-transforms/has-static-tag-name.d.ts +0 -4
- package/dist/esm/template-transforms/transform-template.d.ts +0 -16
- package/dist/esm/template-transforms/vir-css/css-transform.d.ts +0 -7
- package/dist/esm/template-transforms/vir-css/vir-css.d.ts +0 -3
- package/dist/esm/template-transforms/vir-html/html-transform.d.ts +0 -3
- package/dist/esm/template-transforms/vir-html/vir-html.d.ts +0 -3
- package/dist/esm/typed-event/typed-event.d.ts +0 -19
- package/dist/types/augments/array.d.ts +0 -1
- package/dist/types/augments/type.d.ts +0 -1
- package/dist/types/functional-element/define-functional-element.d.ts +0 -4
- package/dist/types/functional-element/directives/assign-with-clean-up.directive.d.ts +0 -19
- package/dist/types/functional-element/directives/assign.directive.d.ts +0 -15
- package/dist/types/functional-element/directives/directive-util.d.ts +0 -15
- package/dist/types/functional-element/directives/listen.directive.d.ts +0 -13
- package/dist/types/functional-element/directives/on-dom-created.directive.d.ts +0 -11
- package/dist/types/functional-element/directives/on-resize.directive.d.ts +0 -15
- package/dist/types/functional-element/element-events.d.ts +0 -10
- package/dist/types/functional-element/element-properties.d.ts +0 -16
- package/dist/types/functional-element/functional-element.d.ts +0 -42
- package/dist/types/functional-element/render-callback.d.ts +0 -21
- package/dist/types/index.d.ts +0 -15
- package/dist/types/require-functional-element.d.ts +0 -2
- package/dist/types/template-transforms/has-static-tag-name.d.ts +0 -4
- package/dist/types/template-transforms/transform-template.d.ts +0 -16
- package/dist/types/template-transforms/vir-css/css-transform.d.ts +0 -7
- package/dist/types/template-transforms/vir-css/vir-css.d.ts +0 -3
- package/dist/types/template-transforms/vir-html/html-transform.d.ts +0 -3
- package/dist/types/template-transforms/vir-html/vir-html.d.ts +0 -3
- package/dist/types/typed-event/typed-event.d.ts +0 -19
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createPropertyDescriptorMap = exports.createPropertyProxy = void 0;
|
|
4
|
-
function assertValidPropertyName(propertyName, propsInitMap, elementTagName) {
|
|
5
|
-
if (typeof propertyName !== 'string') {
|
|
6
|
-
throw new Error(`Property name must be a string, got type "${typeof propertyName}" from: "${String(propertyName)}" for ${elementTagName}`);
|
|
7
|
-
}
|
|
8
|
-
if (!(propertyName in propsInitMap)) {
|
|
9
|
-
throw new Error(`Property name "${propertyName}" does not exist on ${elementTagName}.`);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
function createPropertyProxy(propsInitMap, element) {
|
|
13
|
-
if (!propsInitMap) {
|
|
14
|
-
return {};
|
|
15
|
-
}
|
|
16
|
-
const props = Object.keys(propsInitMap).reduce((accum, propertyName) => {
|
|
17
|
-
accum[propertyName] = element[propertyName];
|
|
18
|
-
return accum;
|
|
19
|
-
}, {});
|
|
20
|
-
const propsProxy = new Proxy(props, {
|
|
21
|
-
get: (_target, propertyName) => {
|
|
22
|
-
assertValidPropertyName(propertyName, propsInitMap, element.tagName);
|
|
23
|
-
return element[propertyName];
|
|
24
|
-
},
|
|
25
|
-
set: (_target, propertyName, value) => {
|
|
26
|
-
assertValidPropertyName(propertyName, propsInitMap, element.tagName);
|
|
27
|
-
element[propertyName] = value;
|
|
28
|
-
return true;
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
return propsProxy;
|
|
32
|
-
}
|
|
33
|
-
exports.createPropertyProxy = createPropertyProxy;
|
|
34
|
-
function createPropertyDescriptorMap(propertyInit) {
|
|
35
|
-
if (!propertyInit) {
|
|
36
|
-
return {};
|
|
37
|
-
}
|
|
38
|
-
return Object.keys(propertyInit)
|
|
39
|
-
.filter((key) => {
|
|
40
|
-
if (typeof key === 'string') {
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
throw new Error(`Property init cannot have non string keys: "${key}"`);
|
|
45
|
-
}
|
|
46
|
-
})
|
|
47
|
-
.reduce((accum, currentKey) => {
|
|
48
|
-
accum[currentKey] = {
|
|
49
|
-
propName: currentKey,
|
|
50
|
-
initValue: propertyInit[currentKey],
|
|
51
|
-
};
|
|
52
|
-
return accum;
|
|
53
|
-
}, {});
|
|
54
|
-
}
|
|
55
|
-
exports.createPropertyDescriptorMap = createPropertyDescriptorMap;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FunctionalElementBaseClass = void 0;
|
|
4
|
-
const lit_1 = require("lit");
|
|
5
|
-
class FunctionalElementBaseClass extends lit_1.LitElement {
|
|
6
|
-
}
|
|
7
|
-
exports.FunctionalElementBaseClass = FunctionalElementBaseClass;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createRenderParams = void 0;
|
|
4
|
-
const augment_vir_1 = require("augment-vir");
|
|
5
|
-
function createRenderParams(element, eventsMap) {
|
|
6
|
-
const renderParams = {
|
|
7
|
-
/**
|
|
8
|
-
* These two dispatch properties do the same thing but their interfaces are different.
|
|
9
|
-
* DispatchEvent's type interface is much stricter.
|
|
10
|
-
*/
|
|
11
|
-
dispatch: (event) => element.dispatchEvent(event),
|
|
12
|
-
genericDispatch: (event) => element.dispatchEvent(event),
|
|
13
|
-
setProps: (partialProps) => {
|
|
14
|
-
(0, augment_vir_1.getObjectTypedKeys)(partialProps).forEach((propKey) => {
|
|
15
|
-
element.instanceProps[propKey] = partialProps[propKey];
|
|
16
|
-
});
|
|
17
|
-
},
|
|
18
|
-
host: element,
|
|
19
|
-
props: element.instanceProps,
|
|
20
|
-
events: eventsMap,
|
|
21
|
-
};
|
|
22
|
-
return renderParams;
|
|
23
|
-
}
|
|
24
|
-
exports.createRenderParams = createRenderParams;
|
package/dist/cjs/index.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
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
|
-
exports.requireAllCustomElementsToBeFunctionalElement = void 0;
|
|
18
|
-
__exportStar(require("./functional-element/define-functional-element"), exports);
|
|
19
|
-
__exportStar(require("./functional-element/directives/assign-with-clean-up.directive"), exports);
|
|
20
|
-
__exportStar(require("./functional-element/directives/assign.directive"), exports);
|
|
21
|
-
__exportStar(require("./functional-element/directives/directive-util"), exports);
|
|
22
|
-
__exportStar(require("./functional-element/directives/listen.directive"), exports);
|
|
23
|
-
__exportStar(require("./functional-element/directives/on-dom-created.directive"), exports);
|
|
24
|
-
__exportStar(require("./functional-element/directives/on-resize.directive"), exports);
|
|
25
|
-
__exportStar(require("./functional-element/element-events"), exports);
|
|
26
|
-
__exportStar(require("./functional-element/element-properties"), exports);
|
|
27
|
-
__exportStar(require("./functional-element/functional-element"), exports);
|
|
28
|
-
__exportStar(require("./functional-element/render-callback"), exports);
|
|
29
|
-
var require_functional_element_1 = require("./require-functional-element");
|
|
30
|
-
Object.defineProperty(exports, "requireAllCustomElementsToBeFunctionalElement", { enumerable: true, get: function () { return require_functional_element_1.requireAllCustomElementsToBeFunctionalElement; } });
|
|
31
|
-
__exportStar(require("./template-transforms/vir-css/vir-css"), exports);
|
|
32
|
-
__exportStar(require("./template-transforms/vir-html/vir-html"), exports);
|
|
33
|
-
__exportStar(require("./typed-event/typed-event"), exports);
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.requireAllCustomElementsToBeFunctionalElement = exports.functionalElementRequired = void 0;
|
|
4
|
-
exports.functionalElementRequired = false;
|
|
5
|
-
function requireAllCustomElementsToBeFunctionalElement() {
|
|
6
|
-
exports.functionalElementRequired = true;
|
|
7
|
-
}
|
|
8
|
-
exports.requireAllCustomElementsToBeFunctionalElement = requireAllCustomElementsToBeFunctionalElement;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hasStaticTagName = void 0;
|
|
4
|
-
function hasStaticTagName(value) {
|
|
5
|
-
return (typeof value === 'function' &&
|
|
6
|
-
value.hasOwnProperty('tagName') &&
|
|
7
|
-
typeof value.tagName === 'string' &&
|
|
8
|
-
value.tagName.includes('-'));
|
|
9
|
-
}
|
|
10
|
-
exports.hasStaticTagName = hasStaticTagName;
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.transformTemplate = exports.getTransformedTemplate = exports.makeCheckTransform = void 0;
|
|
4
|
-
const array_1 = require("../augments/array");
|
|
5
|
-
function makeCheckTransform(name, check, transform) {
|
|
6
|
-
return {
|
|
7
|
-
name,
|
|
8
|
-
check,
|
|
9
|
-
transform,
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
exports.makeCheckTransform = makeCheckTransform;
|
|
13
|
-
/**
|
|
14
|
-
* The transformed templates are written to a map so that we can preserve reference equality between
|
|
15
|
-
* calls. Without maintaining reference equality between html`` calls, lit-element reconstructs all
|
|
16
|
-
* of its children on every render.
|
|
17
|
-
*
|
|
18
|
-
* This is a WeakMap because we only care about the transformed array value as long as the original
|
|
19
|
-
* template array key exists.
|
|
20
|
-
*/
|
|
21
|
-
const transformedTemplateStrings = new WeakMap();
|
|
22
|
-
function getTransformedTemplate(templateStringsKey, values, fallbackTransform) {
|
|
23
|
-
const alreadyTransformedTemplateStrings = transformedTemplateStrings.get(templateStringsKey);
|
|
24
|
-
const templateTransform = alreadyTransformedTemplateStrings !== null && alreadyTransformedTemplateStrings !== void 0 ? alreadyTransformedTemplateStrings : fallbackTransform();
|
|
25
|
-
if (!alreadyTransformedTemplateStrings) {
|
|
26
|
-
transformedTemplateStrings.set(templateStringsKey, templateTransform);
|
|
27
|
-
}
|
|
28
|
-
const transformedValuesArray = (0, array_1.filterOutArrayIndexes)(values, templateTransform.valueIndexDeletions);
|
|
29
|
-
return { strings: templateTransform.templateStrings, values: transformedValuesArray };
|
|
30
|
-
}
|
|
31
|
-
exports.getTransformedTemplate = getTransformedTemplate;
|
|
32
|
-
function transformTemplate(inputTemplateStrings, inputValues, checksAndTransforms, assertValidString) {
|
|
33
|
-
const newStrings = [];
|
|
34
|
-
const newRaws = [];
|
|
35
|
-
const valueDeletions = [];
|
|
36
|
-
inputTemplateStrings.forEach((currentTemplateString, index) => {
|
|
37
|
-
var _a;
|
|
38
|
-
const lastNewStringsIndex = newStrings.length - 1;
|
|
39
|
-
const lastNewString = newStrings[lastNewStringsIndex];
|
|
40
|
-
const currentValueIndex = index - 1;
|
|
41
|
-
const currentValue = inputValues[currentValueIndex];
|
|
42
|
-
let validTransform;
|
|
43
|
-
assertValidString && assertValidString(currentTemplateString);
|
|
44
|
-
if (typeof lastNewString === 'string') {
|
|
45
|
-
validTransform = (_a = checksAndTransforms.find((checkAndTransform) => {
|
|
46
|
-
return checkAndTransform.check(lastNewString, currentTemplateString, currentValue);
|
|
47
|
-
})) === null || _a === void 0 ? void 0 : _a.transform;
|
|
48
|
-
if (validTransform) {
|
|
49
|
-
newStrings[lastNewStringsIndex] =
|
|
50
|
-
lastNewString + validTransform(currentValue) + currentTemplateString;
|
|
51
|
-
valueDeletions.push(currentValueIndex);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
if (!validTransform) {
|
|
55
|
-
newStrings.push(currentTemplateString);
|
|
56
|
-
}
|
|
57
|
-
const currentRawLitString = inputTemplateStrings.raw[index];
|
|
58
|
-
if (validTransform) {
|
|
59
|
-
newRaws[lastNewStringsIndex] =
|
|
60
|
-
newRaws[lastNewStringsIndex] + validTransform(currentValue) + currentRawLitString;
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
newRaws.push(currentRawLitString);
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
const newTemplateStrings = Object.assign([], newStrings, {
|
|
67
|
-
raw: newRaws,
|
|
68
|
-
});
|
|
69
|
-
return {
|
|
70
|
-
templateStrings: newTemplateStrings,
|
|
71
|
-
valueIndexDeletions: valueDeletions,
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
exports.transformTemplate = transformTemplate;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.transformCssTemplate = void 0;
|
|
4
|
-
const has_static_tag_name_1 = require("../has-static-tag-name");
|
|
5
|
-
const transform_template_1 = require("../transform-template");
|
|
6
|
-
const cssChecksAndTransforms = [
|
|
7
|
-
(0, transform_template_1.makeCheckTransform)('tag name css selector interpolation', (lastNewString, currentLitString, currentValue) => {
|
|
8
|
-
return (0, has_static_tag_name_1.hasStaticTagName)(currentValue);
|
|
9
|
-
}, (input) =>
|
|
10
|
-
// cast is safe because the check method above verifies that this value is a VirElement
|
|
11
|
-
input.tagName),
|
|
12
|
-
];
|
|
13
|
-
function transformCssTemplate(inputTemplateStrings, inputValues) {
|
|
14
|
-
return (0, transform_template_1.transformTemplate)(inputTemplateStrings, inputValues, cssChecksAndTransforms);
|
|
15
|
-
}
|
|
16
|
-
exports.transformCssTemplate = transformCssTemplate;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.css = void 0;
|
|
4
|
-
const lit_1 = require("lit");
|
|
5
|
-
const transform_template_1 = require("../transform-template");
|
|
6
|
-
const css_transform_1 = require("./css-transform");
|
|
7
|
-
function css(inputTemplateStrings, ...inputValues) {
|
|
8
|
-
const transformedTemplate = (0, transform_template_1.getTransformedTemplate)(inputTemplateStrings, inputValues, () => {
|
|
9
|
-
return (0, css_transform_1.transformCssTemplate)(inputTemplateStrings, inputValues);
|
|
10
|
-
});
|
|
11
|
-
const cssResult = (0, lit_1.css)(transformedTemplate.strings,
|
|
12
|
-
/** The filter will remove the FunctionalElement elements */
|
|
13
|
-
...transformedTemplate.values);
|
|
14
|
-
return cssResult;
|
|
15
|
-
}
|
|
16
|
-
exports.css = css;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.transformHtmlTemplate = void 0;
|
|
4
|
-
const augment_vir_1 = require("augment-vir");
|
|
5
|
-
const require_functional_element_1 = require("../../require-functional-element");
|
|
6
|
-
const has_static_tag_name_1 = require("../has-static-tag-name");
|
|
7
|
-
const transform_template_1 = require("../transform-template");
|
|
8
|
-
const htmlChecksAndTransforms = [
|
|
9
|
-
(0, transform_template_1.makeCheckTransform)('tag name interpolation', (lastNewString, currentLitString, currentValue) => {
|
|
10
|
-
const shouldHaveTagNameHere = (lastNewString.trim().endsWith('<') && !!currentLitString.match(/^[\s\n>]/)) ||
|
|
11
|
-
((lastNewString === null || lastNewString === void 0 ? void 0 : lastNewString.trim().endsWith('</')) && currentLitString.trim().startsWith('>'));
|
|
12
|
-
const staticTagName = (0, has_static_tag_name_1.hasStaticTagName)(currentValue);
|
|
13
|
-
if (shouldHaveTagNameHere && !staticTagName) {
|
|
14
|
-
console.error({
|
|
15
|
-
lastNewString,
|
|
16
|
-
currentLitString,
|
|
17
|
-
currentValue,
|
|
18
|
-
});
|
|
19
|
-
throw new Error(`Got interpolated tag name but it wasn't of type VirElement: ${currentValue.prototype.constructor.name}`);
|
|
20
|
-
}
|
|
21
|
-
return shouldHaveTagNameHere && staticTagName;
|
|
22
|
-
}, (input) =>
|
|
23
|
-
// cast is safe because the check method above verifies that this value is a VirElement
|
|
24
|
-
input.tagName),
|
|
25
|
-
];
|
|
26
|
-
function extractCustomElementTags(input) {
|
|
27
|
-
const tagNameMatches = (0, augment_vir_1.safeMatch)(input, /<\/[\s\n]*[^\s\n><]+[\s\n]*>/g);
|
|
28
|
-
return tagNameMatches.reduce((accum, match) => {
|
|
29
|
-
const tagName = (0, augment_vir_1.collapseWhiteSpace)(match.replace(/\n/g, ' ')).replace(/<\/|>/g, '');
|
|
30
|
-
// custom elements always have a dash in them
|
|
31
|
-
if (tagName.includes('-')) {
|
|
32
|
-
return accum.concat(tagName);
|
|
33
|
-
}
|
|
34
|
-
return accum;
|
|
35
|
-
}, []);
|
|
36
|
-
}
|
|
37
|
-
function stringValidator(input) {
|
|
38
|
-
if (require_functional_element_1.functionalElementRequired) {
|
|
39
|
-
const customElementTagNames = extractCustomElementTags(input);
|
|
40
|
-
if (customElementTagNames.length) {
|
|
41
|
-
console.error(`Custom element tags must be interpolated from functional elements: ${customElementTagNames.join(', ')}`);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function transformHtmlTemplate(litTemplate) {
|
|
46
|
-
return (0, transform_template_1.transformTemplate)(litTemplate.strings, litTemplate.values, htmlChecksAndTransforms, stringValidator);
|
|
47
|
-
}
|
|
48
|
-
exports.transformHtmlTemplate = transformHtmlTemplate;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.html = void 0;
|
|
4
|
-
const lit_1 = require("lit");
|
|
5
|
-
const transform_template_1 = require("../transform-template");
|
|
6
|
-
const html_transform_1 = require("./html-transform");
|
|
7
|
-
/** Enables interpolation of FunctionalElement tag names */
|
|
8
|
-
function html(inputTemplateStrings, ...inputValues) {
|
|
9
|
-
const litTemplate = (0, lit_1.html)(inputTemplateStrings, ...inputValues);
|
|
10
|
-
const transformedTemplate = (0, transform_template_1.getTransformedTemplate)(inputTemplateStrings, inputValues, () => {
|
|
11
|
-
return (0, html_transform_1.transformHtmlTemplate)(litTemplate);
|
|
12
|
-
});
|
|
13
|
-
const htmlTemplate = {
|
|
14
|
-
...litTemplate,
|
|
15
|
-
strings: transformedTemplate.strings,
|
|
16
|
-
values: transformedTemplate.values,
|
|
17
|
-
};
|
|
18
|
-
return htmlTemplate;
|
|
19
|
-
}
|
|
20
|
-
exports.html = html;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defineTypedEvent = exports.TypedEvent = void 0;
|
|
4
|
-
class TypedEvent extends CustomEvent {
|
|
5
|
-
constructor(type, value) {
|
|
6
|
-
super(typeof type === 'string' ? type : type.type, {
|
|
7
|
-
detail: value,
|
|
8
|
-
bubbles: true,
|
|
9
|
-
composed: true,
|
|
10
|
-
});
|
|
11
|
-
this._type = '';
|
|
12
|
-
}
|
|
13
|
-
get type() {
|
|
14
|
-
return this._type;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
exports.TypedEvent = TypedEvent;
|
|
18
|
-
/**
|
|
19
|
-
* Defined a typed event. Make sure to use currying and call this function twice! Typescript's
|
|
20
|
-
* generic restrictions require this setup to get the types right without excessive verbosity.
|
|
21
|
-
*
|
|
22
|
-
* Example: const myCustomEvent = defineTypedEvent<number>()('my-custom-event')
|
|
23
|
-
*/
|
|
24
|
-
function defineTypedEvent() {
|
|
25
|
-
return (eventType) => {
|
|
26
|
-
var _a;
|
|
27
|
-
return _a = class extends TypedEvent {
|
|
28
|
-
constructor(value) {
|
|
29
|
-
super(eventType, value);
|
|
30
|
-
this._type = eventType;
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
_a.type = eventType,
|
|
34
|
-
_a;
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
exports.defineTypedEvent = defineTypedEvent;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function filterOutArrayIndexes<T>(array: Readonly<T[]>, indexes: Readonly<number[]>): T[];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare type NonEmptyString<T> = T extends '' ? never : T;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { EventsInitMap } from './element-events';
|
|
2
|
-
import { PropertyInitMapBase } from './element-properties';
|
|
3
|
-
import { FunctionalElement, FunctionalElementInit } from './functional-element';
|
|
4
|
-
export declare function defineFunctionalElement<EventsInitGeneric extends EventsInitMap = {}, PropertyInitGeneric extends PropertyInitMapBase = {}>(functionalElementInit: FunctionalElementInit<PropertyInitGeneric, EventsInitGeneric>): FunctionalElement<PropertyInitGeneric, EventsInitGeneric>;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
|
-
import { property } from 'lit/decorators.js';
|
|
3
|
-
import { createEventDescriptorMap } from './element-events';
|
|
4
|
-
import { createPropertyDescriptorMap, createPropertyProxy, } from './element-properties';
|
|
5
|
-
import { FunctionalElementBaseClass, } from './functional-element';
|
|
6
|
-
import { createRenderParams } from './render-callback';
|
|
7
|
-
export function defineFunctionalElement(functionalElementInit) {
|
|
8
|
-
var _a;
|
|
9
|
-
const eventsMap = createEventDescriptorMap(functionalElementInit.events);
|
|
10
|
-
const anonymousClass = (_a = class extends FunctionalElementBaseClass {
|
|
11
|
-
constructor() {
|
|
12
|
-
super();
|
|
13
|
-
this.initCalled = false;
|
|
14
|
-
this.instanceProps = createPropertyProxy(functionalElementInit.props, this);
|
|
15
|
-
const initProps = functionalElementInit.props || {};
|
|
16
|
-
Object.keys(initProps).forEach((propName) => {
|
|
17
|
-
const functionalElementInstance = this;
|
|
18
|
-
property()(functionalElementInstance, propName);
|
|
19
|
-
functionalElementInstance[propName] = initProps[propName];
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
createRenderParams() {
|
|
23
|
-
return createRenderParams(this, eventsMap);
|
|
24
|
-
}
|
|
25
|
-
render() {
|
|
26
|
-
const renderParams = this.createRenderParams();
|
|
27
|
-
if (!this.initCalled && functionalElementInit.initCallback) {
|
|
28
|
-
this.initCalled = true;
|
|
29
|
-
functionalElementInit.initCallback(renderParams);
|
|
30
|
-
}
|
|
31
|
-
return functionalElementInit.renderCallback(renderParams);
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
_a.tagName = functionalElementInit.tagName,
|
|
35
|
-
_a.styles = functionalElementInit.styles || css ``,
|
|
36
|
-
_a.initInput = functionalElementInit,
|
|
37
|
-
_a.events = eventsMap,
|
|
38
|
-
_a.renderCallback = functionalElementInit.renderCallback,
|
|
39
|
-
_a.props = createPropertyDescriptorMap(functionalElementInit.props),
|
|
40
|
-
_a);
|
|
41
|
-
window.customElements.define(functionalElementInit.tagName, anonymousClass);
|
|
42
|
-
return anonymousClass;
|
|
43
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { AsyncDirective } from 'lit/async-directive.js';
|
|
2
|
-
import { PartInfo } from 'lit/directive.js';
|
|
3
|
-
import { StaticElementPropertyDescriptor } from '../element-properties';
|
|
4
|
-
/**
|
|
5
|
-
* The directive generics (in listenDirective) are not strong enough to maintain their values. Thus,
|
|
6
|
-
* the directive call is wrapped in this function.
|
|
7
|
-
*/
|
|
8
|
-
export declare function assignWithCleanup<PropName extends string, PropValue>(propertyDescriptor: StaticElementPropertyDescriptor<PropName, PropValue>, value: typeof propertyDescriptor['initValue'], cleanupCallback: CleanupCallback<typeof propertyDescriptor['initValue']>): import("lit-html/directive").DirectiveResult<typeof AssignWithCleanupDirectiveClass>;
|
|
9
|
-
export declare type CleanupCallback<T> = (oldValue: T) => void;
|
|
10
|
-
export declare type EqualityCheckCallback<T> = (oldValue: T, newValue: T) => boolean;
|
|
11
|
-
declare class AssignWithCleanupDirectiveClass extends AsyncDirective {
|
|
12
|
-
private readonly element;
|
|
13
|
-
private lastValue;
|
|
14
|
-
private lastCallback;
|
|
15
|
-
constructor(partInfo: PartInfo);
|
|
16
|
-
disconnected(): void;
|
|
17
|
-
render(propName: string, value: unknown, cleanupCallback: CleanupCallback<any>, equalityCheck?: EqualityCheckCallback<any>): symbol;
|
|
18
|
-
}
|
|
19
|
-
export {};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { PartInfo } from 'lit/directive.js';
|
|
2
|
-
import { PropertyInitMapBase, StaticElementPropertyDescriptor } from '../element-properties';
|
|
3
|
-
import { FunctionalElementInstance } from '../functional-element';
|
|
4
|
-
/**
|
|
5
|
-
* The directive generics (in listenDirective) are not strong enough to maintain their values. Thus,
|
|
6
|
-
* the directive call is wrapped in this function.
|
|
7
|
-
*/
|
|
8
|
-
export declare function assign<PropName extends string, PropValue>(propertyDescriptor: StaticElementPropertyDescriptor<PropName, PropValue>, value: typeof propertyDescriptor['initValue']): import("lit-html/directive").DirectiveResult<{
|
|
9
|
-
new (partInfo: PartInfo): {
|
|
10
|
-
readonly element: FunctionalElementInstance<PropertyInitMapBase>;
|
|
11
|
-
render(propName: string, value: unknown): symbol;
|
|
12
|
-
readonly _$isConnected: boolean;
|
|
13
|
-
update(_part: import("lit-html").Part, props: unknown[]): unknown;
|
|
14
|
-
};
|
|
15
|
-
}>;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ElementPartInfo, PartInfo } from 'lit/directive.js';
|
|
2
|
-
import { PropertyInitMapBase } from '../element-properties';
|
|
3
|
-
import { FunctionalElementInstance } from '../functional-element';
|
|
4
|
-
/** For some reason these aren't defined in lit's types already. */
|
|
5
|
-
export declare type ExtraPartInfoProperties = {
|
|
6
|
-
element: Element;
|
|
7
|
-
options: {
|
|
8
|
-
host: Element;
|
|
9
|
-
renderBefore: Element;
|
|
10
|
-
isConnected: boolean;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
export declare function extractFunctionalElement<PropertyInitGeneric extends PropertyInitMapBase>(partInfo: PartInfo, directiveName: string): FunctionalElementInstance<PropertyInitGeneric>;
|
|
14
|
-
export declare function extractElement<ElementType = HTMLElement>(partInfo: PartInfo, directiveName: string, constructorClass: (new () => ElementType) | (abstract new () => ElementType)): ElementType;
|
|
15
|
-
export declare function assertsIsElementPartInfo(partInfo: PartInfo, directiveName: string): asserts partInfo is ElementPartInfo & ExtraPartInfoProperties;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { DirectiveResult } from 'lit/directive.js';
|
|
2
|
-
import { DefinedTypedEvent, TypedEvent } from '../../typed-event/typed-event';
|
|
3
|
-
/**
|
|
4
|
-
* Listen to events. These can be native DOM events (use a string for the inputType argument) or
|
|
5
|
-
* typed events (pass in a return value from defineTypedEvent).
|
|
6
|
-
*
|
|
7
|
-
* @param definedTypedEvent Needs to come either from a functional element (like
|
|
8
|
-
* MyFunctionalElement.events.eventName) or from a typed event created via the defineTypedEvent function.
|
|
9
|
-
* @param listener The callback to fire when an event is caught. Assuming the definedTypedEvent
|
|
10
|
-
* input is properly typed, the event given to this callback will also be typed.
|
|
11
|
-
*/
|
|
12
|
-
export declare function listen<TypedEventTypeNameGeneric extends string, TypedEventDetailGeneric, NativeElementEventNameGeneric extends keyof HTMLElementEventMap>(eventType: DefinedTypedEvent<TypedEventTypeNameGeneric, TypedEventDetailGeneric>, listener: (event: TypedEvent<TypedEventTypeNameGeneric, TypedEventDetailGeneric>) => void): DirectiveResult<any>;
|
|
13
|
-
export declare function listen<TypedEventTypeNameGeneric extends string, TypedEventDetailGeneric, NativeElementEventNameGeneric extends keyof HTMLElementEventMap>(eventType: NativeElementEventNameGeneric, listener: (event: HTMLElementEventMap[NativeElementEventNameGeneric]) => void): DirectiveResult<any>;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { PartInfo } from 'lit/directive.js';
|
|
2
|
-
export declare type OnDomCreatedCallback = (element: Element) => void;
|
|
3
|
-
/** Only fires once, when the element has been created. */
|
|
4
|
-
export declare const onDomCreated: (callback: OnDomCreatedCallback) => import("lit-html/directive").DirectiveResult<{
|
|
5
|
-
new (partInfo: PartInfo): {
|
|
6
|
-
element: Element | undefined;
|
|
7
|
-
update(partInfo: PartInfo, [callback]: [OnDomCreatedCallback]): undefined;
|
|
8
|
-
render(callback: OnDomCreatedCallback): undefined;
|
|
9
|
-
readonly _$isConnected: boolean;
|
|
10
|
-
};
|
|
11
|
-
}>;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { PartInfo } from 'lit/directive.js';
|
|
2
|
-
export declare type OnResizeCallback = (
|
|
3
|
-
/** Only these two properties are supported in all major modern browsers */
|
|
4
|
-
entry: Readonly<Pick<ResizeObserverEntry, 'target' | 'contentRect'>>) => void;
|
|
5
|
-
export declare const onResize: (callback: OnResizeCallback) => import("lit-html/directive").DirectiveResult<{
|
|
6
|
-
new (partInfo: PartInfo): {
|
|
7
|
-
element: Element | undefined;
|
|
8
|
-
readonly resizeObserver: ResizeObserver;
|
|
9
|
-
callback: OnResizeCallback | undefined;
|
|
10
|
-
fireCallback(entries: ResizeObserverEntry[]): void;
|
|
11
|
-
update(partInfo: PartInfo, [callback]: [OnResizeCallback]): undefined;
|
|
12
|
-
render(callback: OnResizeCallback): undefined;
|
|
13
|
-
readonly _$isConnected: boolean;
|
|
14
|
-
};
|
|
15
|
-
}>;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { DefinedTypedEvent, DefinedTypedEventNameDefinition, TypedEvent } from '../typed-event/typed-event';
|
|
2
|
-
export declare type EventsInitMap = Record<string, DefinedTypedEventNameDefinition<any>>;
|
|
3
|
-
export declare function defineElementEvent<EventDetailGeneric>(): DefinedTypedEventNameDefinition<EventDetailGeneric>;
|
|
4
|
-
export declare type EventInitMapEventDetailExtractor<EventTypeNameGeneric extends keyof EventsInitGeneric, EventsInitGeneric extends EventsInitMap> = EventsInitGeneric[EventTypeNameGeneric] extends DefinedTypedEventNameDefinition<infer R> ? R : never;
|
|
5
|
-
export declare type EventDescriptorMap<EventsInitGeneric extends EventsInitMap> = {
|
|
6
|
-
[CurrentEventTypeName in keyof EventsInitGeneric]: DefinedTypedEvent<CurrentEventTypeName extends string ? CurrentEventTypeName : never, EventInitMapEventDetailExtractor<CurrentEventTypeName, EventsInitGeneric>>;
|
|
7
|
-
};
|
|
8
|
-
export declare type EventObjectEventDetailExtractor<EventObjectGeneric extends DefinedTypedEvent<any, any>> = EventObjectGeneric extends DefinedTypedEvent<string, infer R> ? R : never;
|
|
9
|
-
export declare type ElementEventDetailExtractor<ElementEventGeneric extends TypedEvent<any, any>> = ElementEventGeneric extends TypedEvent<string, infer R> ? R : never;
|
|
10
|
-
export declare function createEventDescriptorMap<EventsInitGeneric extends EventsInitMap>(eventsInit: EventsInitGeneric | undefined): EventDescriptorMap<EventsInitGeneric>;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { FunctionalElementInstance } from './functional-element';
|
|
2
|
-
export declare type PropertyInitMapBase = Record<string, unknown>;
|
|
3
|
-
export declare type ElementProperty<KeyGeneric extends string | number | symbol, ValueGeneric> = {
|
|
4
|
-
name: KeyGeneric;
|
|
5
|
-
setProp(value: ValueGeneric): void;
|
|
6
|
-
getProp(): ValueGeneric;
|
|
7
|
-
};
|
|
8
|
-
export declare type StaticElementPropertyDescriptor<PropName extends string, PropValue> = {
|
|
9
|
-
propName: PropName;
|
|
10
|
-
initValue: PropValue;
|
|
11
|
-
};
|
|
12
|
-
export declare type ElementPropertyDescriptorMap<PropertyInitGeneric extends PropertyInitMapBase> = {
|
|
13
|
-
[Property in keyof PropertyInitGeneric]: StaticElementPropertyDescriptor<string, PropertyInitGeneric[Property]>;
|
|
14
|
-
};
|
|
15
|
-
export declare function createPropertyProxy<PropertyInitGeneric extends PropertyInitMapBase>(propsInitMap: PropertyInitGeneric | undefined, element: FunctionalElementInstance<PropertyInitGeneric>): PropertyInitGeneric;
|
|
16
|
-
export declare function createPropertyDescriptorMap<PropertyInitGeneric extends PropertyInitMapBase>(propertyInit: PropertyInitGeneric | undefined): ElementPropertyDescriptorMap<PropertyInitGeneric>;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { CSSResult, LitElement, TemplateResult } from 'lit';
|
|
2
|
-
import { EventDescriptorMap, EventsInitMap } from './element-events';
|
|
3
|
-
import { ElementPropertyDescriptorMap, PropertyInitMapBase } from './element-properties';
|
|
4
|
-
import { InitCallback, RenderCallback } from './render-callback';
|
|
5
|
-
export declare type CustomElementTagName = `${string}-${string}`;
|
|
6
|
-
export declare type FunctionalElementInit<PropertyInitGeneric extends PropertyInitMapBase, EventsInitGeneric extends EventsInitMap> = {
|
|
7
|
-
/**
|
|
8
|
-
* HTML tag name. This should not be used directly, as interpolating it with the html tagged
|
|
9
|
-
* template from this package is preferred.
|
|
10
|
-
*/
|
|
11
|
-
tagName: CustomElementTagName;
|
|
12
|
-
/** Static styles. These should not and cannot change. */
|
|
13
|
-
styles?: CSSResult | undefined;
|
|
14
|
-
/** Initializer for element properties. (These can be thought of as "inputs".) */
|
|
15
|
-
props?: PropertyInitGeneric | undefined;
|
|
16
|
-
/** Initializer for events that the element can dispatch. (These can be thought of as "outputs".) */
|
|
17
|
-
events?: EventsInitGeneric | undefined;
|
|
18
|
-
/** Called as part of the first renderCallback call, before the first renderCallback call. */
|
|
19
|
-
initCallback?: InitCallback<PropertyInitGeneric, EventsInitGeneric>;
|
|
20
|
-
renderCallback: RenderCallback<PropertyInitGeneric, EventsInitGeneric>;
|
|
21
|
-
};
|
|
22
|
-
export declare abstract class FunctionalElementBaseClass<PropertyInitGeneric extends PropertyInitMapBase> extends LitElement {
|
|
23
|
-
static readonly tagName: string;
|
|
24
|
-
static readonly styles: CSSResult;
|
|
25
|
-
abstract render(): TemplateResult | Promise<TemplateResult>;
|
|
26
|
-
abstract readonly instanceProps: PropertyInitGeneric;
|
|
27
|
-
}
|
|
28
|
-
export declare type FunctionalElementInstance<PropertyInitGeneric extends PropertyInitMapBase = {}> = FunctionalElementBaseClass<PropertyInitGeneric> & PropertyInitGeneric;
|
|
29
|
-
export declare type FunctionalElement<PropertyInitGeneric extends PropertyInitMapBase = any, EventsInitGeneric extends EventsInitMap = any> = (new () => FunctionalElementInstance<PropertyInitGeneric>) & ExtraStaticFunctionalElementProperties<PropertyInitGeneric, EventsInitGeneric>;
|
|
30
|
-
export declare type ExtraStaticFunctionalElementProperties<PropertyInitGeneric extends PropertyInitMapBase, EventsInitGeneric extends EventsInitMap> = Readonly<{
|
|
31
|
-
/** Pass through the render callback for direct unit testability */
|
|
32
|
-
renderCallback: RenderCallback<PropertyInitGeneric, EventsInitGeneric>;
|
|
33
|
-
events: EventDescriptorMap<EventsInitGeneric>;
|
|
34
|
-
props: ElementPropertyDescriptorMap<PropertyInitGeneric>;
|
|
35
|
-
initInput: FunctionalElementInit<PropertyInitGeneric, EventsInitGeneric>;
|
|
36
|
-
/**
|
|
37
|
-
* Static properties have to be copied here cause they get nuked in the "new () =>
|
|
38
|
-
* FunctionalElementInstance<PropertyInitGeneric>" type.
|
|
39
|
-
*/
|
|
40
|
-
tagName: string;
|
|
41
|
-
styles: CSSResult;
|
|
42
|
-
}>;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { TemplateResult } from 'lit';
|
|
2
|
-
import { TypedEvent } from '../typed-event/typed-event';
|
|
3
|
-
import { EventDescriptorMap, EventInitMapEventDetailExtractor, EventsInitMap } from './element-events';
|
|
4
|
-
import { PropertyInitMapBase } from './element-properties';
|
|
5
|
-
import { FunctionalElementInstance } from './functional-element';
|
|
6
|
-
export declare type RenderCallback<PropertyInitGeneric extends PropertyInitMapBase, EventsInitGeneric extends EventsInitMap> = (params: RenderParams<PropertyInitGeneric, EventsInitGeneric>) => TemplateResult;
|
|
7
|
-
export declare type InitCallback<PropertyInitGeneric extends PropertyInitMapBase, EventsInitGeneric extends EventsInitMap> = (params: RenderParams<PropertyInitGeneric, EventsInitGeneric>) => void;
|
|
8
|
-
export declare type SetPropCallback<PropertyInitGeneric extends PropertyInitMapBase> = (props: Partial<PropertyInitGeneric>) => void;
|
|
9
|
-
export declare type RenderParams<PropertyInitGeneric extends PropertyInitMapBase, EventsInitGeneric extends EventsInitMap> = {
|
|
10
|
-
props: Readonly<PropertyInitGeneric>;
|
|
11
|
-
setProps: SetPropCallback<PropertyInitGeneric>;
|
|
12
|
-
events: EventDescriptorMap<EventsInitGeneric>;
|
|
13
|
-
host: FunctionalElementInstance<PropertyInitGeneric>;
|
|
14
|
-
dispatch: <EventTypeNameGeneric extends keyof EventsInitGeneric>(event: TypedEvent<EventTypeNameGeneric extends string ? EventTypeNameGeneric : never, EventInitMapEventDetailExtractor<EventTypeNameGeneric, EventsInitGeneric>>) => boolean;
|
|
15
|
-
/**
|
|
16
|
-
* Same as dispatchElementEvent but without the extra types. This allows you to emit any events,
|
|
17
|
-
* even events from other custom elements.
|
|
18
|
-
*/
|
|
19
|
-
genericDispatch: (event: Event) => boolean;
|
|
20
|
-
};
|
|
21
|
-
export declare function createRenderParams<PropertyInitGeneric extends PropertyInitMapBase, EventsInitGeneric extends EventsInitMap>(element: FunctionalElementInstance<PropertyInitGeneric>, eventsMap: EventDescriptorMap<EventsInitGeneric>): RenderParams<PropertyInitGeneric, EventsInitGeneric>;
|
package/dist/esm/index.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export * from './functional-element/define-functional-element';
|
|
2
|
-
export * from './functional-element/directives/assign-with-clean-up.directive';
|
|
3
|
-
export * from './functional-element/directives/assign.directive';
|
|
4
|
-
export * from './functional-element/directives/directive-util';
|
|
5
|
-
export * from './functional-element/directives/listen.directive';
|
|
6
|
-
export * from './functional-element/directives/on-dom-created.directive';
|
|
7
|
-
export * from './functional-element/directives/on-resize.directive';
|
|
8
|
-
export * from './functional-element/element-events';
|
|
9
|
-
export * from './functional-element/element-properties';
|
|
10
|
-
export * from './functional-element/functional-element';
|
|
11
|
-
export * from './functional-element/render-callback';
|
|
12
|
-
export { requireAllCustomElementsToBeFunctionalElement } from './require-functional-element';
|
|
13
|
-
export * from './template-transforms/vir-css/vir-css';
|
|
14
|
-
export * from './template-transforms/vir-html/vir-html';
|
|
15
|
-
export * from './typed-event/typed-event';
|