@web-widget/lit 3.0.0-beta.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/dist/chunk-64J5FIIZ.js +23 -0
- package/dist/components-6kC-Ltvr.d.ts +12 -0
- package/dist/lit.adapter.client.d.ts +8 -0
- package/dist/lit.adapter.client.js +33 -0
- package/dist/lit.adapter.server.d.ts +7 -0
- package/dist/lit.adapter.server.js +13 -0
- package/dist/lit.d.ts +2 -0
- package/dist/lit.js +0 -0
- package/package.json +63 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// src/components.ts
|
|
2
|
+
function defineLitElement(component) {
|
|
3
|
+
var _a;
|
|
4
|
+
if (!((_a = component.tagName) == null ? void 0 : _a.includes("-")))
|
|
5
|
+
throw new TypeError("Lit element classes must declare a static tagName.");
|
|
6
|
+
if (!customElements.get(component.tagName))
|
|
7
|
+
customElements.define(component.tagName, component);
|
|
8
|
+
return component.tagName;
|
|
9
|
+
}
|
|
10
|
+
function container(loader) {
|
|
11
|
+
return class LitWidgetContainer extends HTMLElement {
|
|
12
|
+
async connectedCallback() {
|
|
13
|
+
if (this.firstElementChild) return;
|
|
14
|
+
const { default: component } = await loader();
|
|
15
|
+
this.append(document.createElement(defineLitElement(component)));
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export {
|
|
21
|
+
defineLitElement,
|
|
22
|
+
container
|
|
23
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
|
|
3
|
+
type LitComponent = CustomElementConstructor & {
|
|
4
|
+
new (): LitElement;
|
|
5
|
+
tagName: string;
|
|
6
|
+
};
|
|
7
|
+
declare function defineLitElement(component: LitComponent): string;
|
|
8
|
+
declare function container(loader: () => Promise<{
|
|
9
|
+
default: LitComponent;
|
|
10
|
+
}>): CustomElementConstructor;
|
|
11
|
+
|
|
12
|
+
export { type LitComponent as L, container as c, defineLitElement as d };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as _web_widget_schema from '@web-widget/schema';
|
|
2
|
+
import { L as LitComponent } from './components-6kC-Ltvr.js';
|
|
3
|
+
export { c as container, d as defineLitElement } from './components-6kC-Ltvr.js';
|
|
4
|
+
import 'lit';
|
|
5
|
+
|
|
6
|
+
declare const render: _web_widget_schema.ClientRender<LitComponent, unknown, _web_widget_schema.ClientRenderOptions, void | _web_widget_schema.ClientRenderResult<unknown>>;
|
|
7
|
+
|
|
8
|
+
export { LitComponent, render };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import {
|
|
2
|
+
container,
|
|
3
|
+
defineLitElement
|
|
4
|
+
} from "./chunk-64J5FIIZ.js";
|
|
5
|
+
|
|
6
|
+
// src/adapter.client.ts
|
|
7
|
+
import { defineClientRender } from "@web-widget/helpers";
|
|
8
|
+
var render = defineClientRender(
|
|
9
|
+
async (component, data, { container: container2 }) => {
|
|
10
|
+
if (!component) throw new TypeError("Missing component.");
|
|
11
|
+
if (!container2) throw new Error("Missing container.");
|
|
12
|
+
let element;
|
|
13
|
+
return {
|
|
14
|
+
async mount() {
|
|
15
|
+
element = document.createElement(
|
|
16
|
+
defineLitElement(component)
|
|
17
|
+
);
|
|
18
|
+
Object.assign(element, data != null ? data : {});
|
|
19
|
+
container2.replaceChildren(element);
|
|
20
|
+
await element.updateComplete;
|
|
21
|
+
},
|
|
22
|
+
unmount() {
|
|
23
|
+
element == null ? void 0 : element.remove();
|
|
24
|
+
element = void 0;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
export {
|
|
30
|
+
container,
|
|
31
|
+
defineLitElement,
|
|
32
|
+
render
|
|
33
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as _web_widget_schema from '@web-widget/schema';
|
|
2
|
+
export { L as LitComponent, c as container, d as defineLitElement } from './components-6kC-Ltvr.js';
|
|
3
|
+
import 'lit';
|
|
4
|
+
|
|
5
|
+
declare const render: _web_widget_schema.ServerRender<unknown, unknown, _web_widget_schema.ServerRenderOptions, _web_widget_schema.ServerRenderResult>;
|
|
6
|
+
|
|
7
|
+
export { render };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
container,
|
|
3
|
+
defineLitElement
|
|
4
|
+
} from "./chunk-64J5FIIZ.js";
|
|
5
|
+
|
|
6
|
+
// src/adapter.server.ts
|
|
7
|
+
import { defineServerRender } from "@web-widget/helpers";
|
|
8
|
+
var render = defineServerRender(async () => "");
|
|
9
|
+
export {
|
|
10
|
+
container,
|
|
11
|
+
defineLitElement,
|
|
12
|
+
render
|
|
13
|
+
};
|
package/dist/lit.d.ts
ADDED
package/dist/lit.js
ADDED
|
File without changes
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@web-widget/lit",
|
|
3
|
+
"description": "Lit CSR adapter",
|
|
4
|
+
"version": "3.0.0-beta.2",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"sideEffects": false,
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"@web-widget/helpers": "3.0.0-beta.2",
|
|
10
|
+
"@web-widget/web-widget": "3.0.0-beta.2",
|
|
11
|
+
"@web-widget/schema": "3.0.0-beta.2"
|
|
12
|
+
},
|
|
13
|
+
"peerDependencies": {
|
|
14
|
+
"lit": "^3.0.0"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"lit": "^3.3.3",
|
|
18
|
+
"tsup": "^8.3.4",
|
|
19
|
+
"typescript": "^5.9.3"
|
|
20
|
+
},
|
|
21
|
+
"exports": {
|
|
22
|
+
".": {
|
|
23
|
+
"types": "./dist/lit.d.ts",
|
|
24
|
+
"development": "./src/index.ts",
|
|
25
|
+
"default": "./dist/lit.js"
|
|
26
|
+
},
|
|
27
|
+
"./adapter": {
|
|
28
|
+
"worker": {
|
|
29
|
+
"types": "./dist/lit.adapter.server.d.ts",
|
|
30
|
+
"development": "./src/adapter.server.ts",
|
|
31
|
+
"default": "./dist/lit.adapter.server.js"
|
|
32
|
+
},
|
|
33
|
+
"browser": {
|
|
34
|
+
"types": "./dist/lit.adapter.client.d.ts",
|
|
35
|
+
"development": "./src/adapter.client.ts",
|
|
36
|
+
"default": "./dist/lit.adapter.client.js"
|
|
37
|
+
},
|
|
38
|
+
"default": {
|
|
39
|
+
"types": "./dist/lit.adapter.server.d.ts",
|
|
40
|
+
"development": "./src/adapter.server.ts",
|
|
41
|
+
"default": "./dist/lit.adapter.server.js"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"webWidgetAdapter": {
|
|
46
|
+
"version": "1.0.0",
|
|
47
|
+
"name": "lit",
|
|
48
|
+
"extensions": [
|
|
49
|
+
".lit.ts",
|
|
50
|
+
".lit.js"
|
|
51
|
+
],
|
|
52
|
+
"adapter": "./adapter"
|
|
53
|
+
},
|
|
54
|
+
"files": [
|
|
55
|
+
"dist"
|
|
56
|
+
],
|
|
57
|
+
"scripts": {
|
|
58
|
+
"build": "pnpm exec tsup",
|
|
59
|
+
"clean:build": "rm -rf dist",
|
|
60
|
+
"clean:node": "rm -rf node_modules",
|
|
61
|
+
"lint": "eslint src"
|
|
62
|
+
}
|
|
63
|
+
}
|