@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.
@@ -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
@@ -0,0 +1,2 @@
1
+
2
+ export { }
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
+ }