Consolidate Lit repositories: figma-to-lit, figma_lit_example, lit-3d-piano, lit-calculator, lit-code-editor, lit-draggable-dom, lit-file-based-routing, lit-force-graph, lit-html-editor, lit-html-table, lit-modules, lit-native, lit-node-editor, lit-sheet-music, lit-starter-ts, lit-vscode-extension, lit-wmr, vite-lit-capacitor, vite-lit-element-starter, vite-rxdb-lit
This commit is contained in:
@@ -0,0 +1 @@
|
||||
node_modules
|
||||
@@ -0,0 +1 @@
|
||||
common --@aspect_rules_ts//ts:skipLibCheck=honor_tsconfig
|
||||
@@ -0,0 +1,2 @@
|
||||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
name: Build and Deploy
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: ["main", "master"]
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
REGISTRY: git.rodydavis.dev
|
||||
|
||||
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: 9.7.1
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
cache: 'pnpm'
|
||||
|
||||
- name: Set up Bazel (Bazelisk)
|
||||
run: npm install -g @bazel/bazelisk
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
|
||||
- name: Verify Hermetic Bazel Build
|
||||
run: bazel build //...
|
||||
|
||||
- name: Build Site
|
||||
run: pnpm run build
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Login to registry
|
||||
uses: docker/login-action@v4
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: ${{ gitea.actor }}
|
||||
password: ${{ secrets.GIT_TOKEN }}
|
||||
|
||||
- name: Build and push image
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
file: Dockerfile
|
||||
push: true
|
||||
tags: ${{ env.REGISTRY }}/${{ gitea.repository }}:latest
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
# ==========================================
|
||||
# 🌌 Federated Workspaces - Ultimate Ignores
|
||||
# ==========================================
|
||||
|
||||
# --- System & Editor Files ---
|
||||
.DS_Store
|
||||
.DS_Store?
|
||||
._*
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
ehthumbs.db
|
||||
Thumbs.db
|
||||
.vscode/
|
||||
.idea/
|
||||
*.swp
|
||||
*.swo
|
||||
|
||||
# --- Bazel Convenience Symlinks & Outputs ---
|
||||
bazel-*
|
||||
bazel_out/
|
||||
|
||||
# --- C/C++ Outputs ---
|
||||
*.o
|
||||
*.obj
|
||||
*.a
|
||||
*.lib
|
||||
*.so
|
||||
*.dylib
|
||||
*.dll
|
||||
*.out
|
||||
*.exe
|
||||
|
||||
# --- Go Outputs ---
|
||||
*.test
|
||||
*.prof
|
||||
__debug_bin
|
||||
MODULE.bazel.lock
|
||||
|
||||
# --- Node / JavaScript / pnpm ---
|
||||
node_modules/
|
||||
.npm/
|
||||
.pnpm-store/
|
||||
.pnpm-debug.log*
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# --- Dart / Flutter ---
|
||||
.dart_tool/
|
||||
.packages
|
||||
.pub-cache/
|
||||
.pub/
|
||||
/build/
|
||||
*.flutter-plugins
|
||||
*.flutter-plugins-dependencies
|
||||
@@ -0,0 +1,24 @@
|
||||
load("@aspect_rules_js//npm:defs.bzl", "npm_link_package")
|
||||
load("@npm//:defs.bzl", "npm_link_all_packages")
|
||||
load("@aspect_rules_ts//ts:defs.bzl", "ts_config", "ts_project")
|
||||
|
||||
npm_link_all_packages(name = "node_modules")
|
||||
|
||||
ts_config(
|
||||
name = "tsconfig",
|
||||
src = "tsconfig.json",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
ts_project(
|
||||
name = "build",
|
||||
srcs = glob(["docs/**/*.ts"]),
|
||||
declaration = True,
|
||||
source_map = True,
|
||||
transpiler = "tsc",
|
||||
tsconfig = ":tsconfig",
|
||||
deps = [
|
||||
"//:node_modules",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
@@ -0,0 +1,4 @@
|
||||
FROM nginx:alpine
|
||||
COPY docs /usr/share/nginx/html
|
||||
EXPOSE 80
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2020 Rody Davis
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1,22 @@
|
||||
module(
|
||||
name = "lit_calculator",
|
||||
version = "1.0.0",
|
||||
)
|
||||
|
||||
bazel_dep(name = "aspect_rules_js", version = "3.1.1")
|
||||
bazel_dep(name = "aspect_rules_ts", version = "3.1.0")
|
||||
bazel_dep(name = "rules_nodejs", version = "6.7.3")
|
||||
|
||||
npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm")
|
||||
|
||||
npm.npm_translate_lock(
|
||||
name = "npm",
|
||||
pnpm_lock = "//:pnpm-lock.yaml",
|
||||
verify_node_modules_ignored = "//:.bazelignore",
|
||||
)
|
||||
|
||||
use_repo(npm, "npm")
|
||||
|
||||
rules_ts_ext = use_extension("@aspect_rules_ts//ts:extensions.bzl", "ext", dev_dependency = True)
|
||||
rules_ts_ext.deps()
|
||||
use_repo(rules_ts_ext, "npm_typescript")
|
||||
@@ -0,0 +1,5 @@
|
||||
# Lit Calculator
|
||||
|
||||
Reactive calculator made with LitElement and no build system or framework.
|
||||
|
||||
Demo: https://rodydavis.github.io/lit-calculator/
|
||||
@@ -0,0 +1,158 @@
|
||||
import { LitElement, html, css } from "lit";
|
||||
import { customElement, property } from "lit/decorators.js";
|
||||
import "./keypad-input.js";
|
||||
import "./key-pad.js";
|
||||
import "./display-output.js";
|
||||
|
||||
@customElement("app-calculator")
|
||||
export class AppCalculator extends LitElement {
|
||||
@property()
|
||||
width = "500px";
|
||||
|
||||
@property()
|
||||
primaryColor = "red";
|
||||
|
||||
@property()
|
||||
accentColor = "black";
|
||||
|
||||
static styles = css`
|
||||
#base {
|
||||
border: 2px solid black;
|
||||
padding-bottom: 20px;
|
||||
--base-padding: 10px;
|
||||
}
|
||||
|
||||
#actions {
|
||||
padding-top: var(--base-padding);
|
||||
padding-left: var(--base-padding);
|
||||
}
|
||||
|
||||
button {
|
||||
font-size: 17px;
|
||||
}
|
||||
`;
|
||||
|
||||
connectedCallback() {
|
||||
super.connectedCallback();
|
||||
// @ts-ignore
|
||||
window.addEventListener("select-number", this._handleNumber);
|
||||
}
|
||||
disconnectedCallback() {
|
||||
// @ts-ignore
|
||||
window.removeEventListener("select-number", this._handleNumber);
|
||||
super.disconnectedCallback();
|
||||
}
|
||||
|
||||
_staging: string = "";
|
||||
_value: string = "";
|
||||
_mode: string = "";
|
||||
|
||||
public get mode(): string {
|
||||
return this._mode;
|
||||
}
|
||||
|
||||
public set mode(v: string) {
|
||||
const oldMode = this._mode;
|
||||
const oldVal = this.value;
|
||||
this._mode = v;
|
||||
|
||||
// @ts-ignore
|
||||
this.requestUpdate("mode", oldMode);
|
||||
// @ts-ignore
|
||||
this.requestUpdate("value", oldVal);
|
||||
}
|
||||
|
||||
private get value(): string {
|
||||
if (this.mode == "") return this._value;
|
||||
return this._staging;
|
||||
}
|
||||
|
||||
private set value(v: string) {
|
||||
var oldVal = "";
|
||||
if (this.mode == "") {
|
||||
oldVal = this._value;
|
||||
this._value = v;
|
||||
} else {
|
||||
oldVal = this._staging;
|
||||
this._staging = v;
|
||||
}
|
||||
// @ts-ignore
|
||||
this.requestUpdate("value", oldVal);
|
||||
}
|
||||
|
||||
_handleNumber = (event: CustomEvent) => {
|
||||
const num = event.detail.value;
|
||||
event.stopPropagation();
|
||||
if (num === "=") {
|
||||
this.calculate();
|
||||
return;
|
||||
}
|
||||
if (this.value === "0") {
|
||||
this.value = "";
|
||||
}
|
||||
if (num === "." && this.value.includes(".")) {
|
||||
return;
|
||||
}
|
||||
this.value += num;
|
||||
};
|
||||
|
||||
clear = () => {
|
||||
this.value = "";
|
||||
this._staging = "";
|
||||
this._value = "";
|
||||
this.mode = "";
|
||||
};
|
||||
|
||||
calculate = () => {
|
||||
const staging = Number(this._staging || "0");
|
||||
const current = Number(this._value || "0");
|
||||
var result: number = 0;
|
||||
// Calculate
|
||||
switch (this.mode) {
|
||||
case "+":
|
||||
result = staging + current;
|
||||
break;
|
||||
case "-":
|
||||
result = staging - current;
|
||||
break;
|
||||
case "/":
|
||||
result = staging / current;
|
||||
break;
|
||||
case "*":
|
||||
result = staging * current;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
const output = result.toString();
|
||||
this.value = output;
|
||||
this._staging = output;
|
||||
};
|
||||
|
||||
// Render element DOM by returning a `lit-html` template.
|
||||
render() {
|
||||
return html`<div
|
||||
id="base"
|
||||
style="width: ${this.width}; background-color: ${this.primaryColor};"
|
||||
>
|
||||
<display-output
|
||||
value="${this.value}"
|
||||
color="black"
|
||||
textColor="white"
|
||||
></display-output>
|
||||
<div id="actions">
|
||||
<button
|
||||
@click=${this.clear}
|
||||
?disabled=${this.value === "" && this.mode === ""}
|
||||
>
|
||||
Clear
|
||||
</button>
|
||||
<button @click="${() => (this.mode = "+")}">+</button>
|
||||
<button @click="${() => (this.mode = "-")}">-</button>
|
||||
<button @click="${() => (this.mode = "/")}">/</button>
|
||||
<button @click="${() => (this.mode = "*")}">*</button>
|
||||
</div>
|
||||
<key-pad></key-pad>
|
||||
</div>`;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
import { LitElement, html, css } from "lit";
|
||||
import { customElement, property } from "lit/decorators.js";
|
||||
|
||||
@customElement("display-output")
|
||||
export class CalcDisplay extends LitElement {
|
||||
@property()
|
||||
color = "black";
|
||||
|
||||
@property()
|
||||
textColor = "white";
|
||||
|
||||
@property()
|
||||
value = "";
|
||||
|
||||
static styles = css`
|
||||
#base {
|
||||
background-color: black;
|
||||
text-align: end;
|
||||
display: inline-block;
|
||||
margin: var(--base-padding);
|
||||
width: calc(100% - calc(var(--base-padding) * 2));
|
||||
border-bottom: 2px solid black;
|
||||
}
|
||||
|
||||
#text-display {
|
||||
color: white;
|
||||
margin: 0px;
|
||||
padding-top: 40px;
|
||||
padding-right: 10px;
|
||||
padding-bottom: 10px;
|
||||
font-size: 36px;
|
||||
}
|
||||
`;
|
||||
|
||||
// Render element DOM by returning a `lit-html` template.
|
||||
render() {
|
||||
return html`<div id="base" style="background-color: ${this.color};">
|
||||
<div id="text-display" style="color: ${this.textColor};">
|
||||
${this.value || "0"}
|
||||
</div>
|
||||
</div>`;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
<title>Lit Calculator</title>
|
||||
</head>
|
||||
<body>
|
||||
<app-calculator
|
||||
width="350px"
|
||||
primaryColor="red"
|
||||
accentColor="blue"
|
||||
></app-calculator>
|
||||
<script type="module" src="./calculator.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,97 @@
|
||||
import { LitElement, html, css } from "lit";
|
||||
import { customElement, property } from "lit/decorators.js";
|
||||
|
||||
@customElement("key-pad")
|
||||
export class CalcKeyPad extends LitElement {
|
||||
@property()
|
||||
accentColor = "blue";
|
||||
|
||||
@property()
|
||||
textColor = "white";
|
||||
|
||||
@property()
|
||||
actionColor = "black";
|
||||
|
||||
@property()
|
||||
actionTextColor = "white";
|
||||
|
||||
static styles = css`
|
||||
#base {
|
||||
display: grid;
|
||||
grid-template-columns: 33% 33% 33%;
|
||||
padding-left: calc(var(--base-padding) / 2);
|
||||
padding-right: calc(var(--base-padding) / 2);
|
||||
}
|
||||
|
||||
keypad-input {
|
||||
display: inline-grid;
|
||||
margin: 5px;
|
||||
}
|
||||
`;
|
||||
|
||||
// Render element DOM by returning a `lit-html` template.
|
||||
render() {
|
||||
return html` <div id="base">
|
||||
<keypad-input
|
||||
number="7"
|
||||
color="${this.accentColor}"
|
||||
textColor="${this.textColor}"
|
||||
></keypad-input>
|
||||
<keypad-input
|
||||
number="8"
|
||||
color="${this.accentColor}"
|
||||
textColor="${this.textColor}"
|
||||
></keypad-input>
|
||||
<keypad-input
|
||||
number="9"
|
||||
color="${this.accentColor}"
|
||||
textColor="${this.textColor}"
|
||||
></keypad-input>
|
||||
<keypad-input
|
||||
number="4"
|
||||
color="${this.accentColor}"
|
||||
textColor="${this.textColor}"
|
||||
></keypad-input>
|
||||
<keypad-input
|
||||
number="5"
|
||||
color="${this.accentColor}"
|
||||
textColor="${this.textColor}"
|
||||
></keypad-input>
|
||||
<keypad-input
|
||||
number="6"
|
||||
color="${this.accentColor}"
|
||||
textColor="${this.textColor}"
|
||||
></keypad-input>
|
||||
<keypad-input
|
||||
number="1"
|
||||
color="${this.accentColor}"
|
||||
textColor="${this.textColor}"
|
||||
></keypad-input>
|
||||
<keypad-input
|
||||
number="2"
|
||||
color="${this.accentColor}"
|
||||
textColor="${this.textColor}"
|
||||
></keypad-input>
|
||||
<keypad-input
|
||||
number="3"
|
||||
color="${this.accentColor}"
|
||||
textColor="${this.textColor}"
|
||||
></keypad-input>
|
||||
<keypad-input
|
||||
number="0"
|
||||
color="${this.accentColor}"
|
||||
textColor="${this.textColor}"
|
||||
></keypad-input>
|
||||
<keypad-input
|
||||
number="."
|
||||
color="${this.accentColor}"
|
||||
textColor="${this.textColor}"
|
||||
></keypad-input>
|
||||
<keypad-input
|
||||
number="="
|
||||
color="${this.actionColor}"
|
||||
textColor="${this.actionTextColor}"
|
||||
></keypad-input>
|
||||
</div>`;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
import { LitElement, html, css } from "lit";
|
||||
import { customElement, property } from "lit/decorators.js";
|
||||
|
||||
@customElement("keypad-input")
|
||||
export class CalcNumber extends LitElement {
|
||||
@property()
|
||||
number = "0";
|
||||
|
||||
@property()
|
||||
color = "black";
|
||||
|
||||
@property()
|
||||
textColor = "white";
|
||||
|
||||
static styles = css`
|
||||
#base {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 10px;
|
||||
text-align: center;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#base:hover {
|
||||
box-shadow: 0 0 11px rgba(33, 33, 33, 0.2);
|
||||
}
|
||||
|
||||
#base:active {
|
||||
background-color: lightgrey;
|
||||
}
|
||||
|
||||
button {
|
||||
outline: 0 none;
|
||||
color: white;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
font-size: 20px;
|
||||
}
|
||||
`;
|
||||
|
||||
_onTap(e: Event) {
|
||||
e.preventDefault();
|
||||
|
||||
const event = new CustomEvent("select-number", {
|
||||
detail: { value: this.number } as any,
|
||||
bubbles: true,
|
||||
cancelable: true,
|
||||
});
|
||||
|
||||
// @ts-ignore
|
||||
window.dispatchEvent(event);
|
||||
}
|
||||
|
||||
// Render element DOM by returning a `lit-html` template.
|
||||
render() {
|
||||
return html` <button
|
||||
@click="${this._onTap}"
|
||||
id="base"
|
||||
style="background-color: ${this.color}; color: ${this.textColor};"
|
||||
>
|
||||
${this.number}
|
||||
</button>`;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
body {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
font-family: sans-serif;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100vh;
|
||||
background-color: #f0f2f5;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"name": "lit-calculator",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "esbuild docs/calculator.ts --bundle --outfile=docs/calculator.js --format=esm --minify --target=es2022"
|
||||
},
|
||||
"dependencies": {
|
||||
"lit": "^3.1.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"typescript": "^5.4.0",
|
||||
"esbuild": "^0.20.1"
|
||||
},
|
||||
"pnpm": {
|
||||
"onlyBuiltDependencies": []
|
||||
}
|
||||
}
|
||||
Generated
+311
@@ -0,0 +1,311 @@
|
||||
lockfileVersion: '9.0'
|
||||
|
||||
settings:
|
||||
autoInstallPeers: true
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
importers:
|
||||
|
||||
.:
|
||||
dependencies:
|
||||
lit:
|
||||
specifier: ^3.1.2
|
||||
version: 3.3.3
|
||||
devDependencies:
|
||||
esbuild:
|
||||
specifier: ^0.20.1
|
||||
version: 0.20.2
|
||||
typescript:
|
||||
specifier: ^5.4.0
|
||||
version: 5.9.3
|
||||
|
||||
packages:
|
||||
|
||||
'@esbuild/aix-ppc64@0.20.2':
|
||||
resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ppc64]
|
||||
os: [aix]
|
||||
|
||||
'@esbuild/android-arm64@0.20.2':
|
||||
resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-arm@0.20.2':
|
||||
resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-x64@0.20.2':
|
||||
resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/darwin-arm64@0.20.2':
|
||||
resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/darwin-x64@0.20.2':
|
||||
resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/freebsd-arm64@0.20.2':
|
||||
resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/freebsd-x64@0.20.2':
|
||||
resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/linux-arm64@0.20.2':
|
||||
resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-arm@0.20.2':
|
||||
resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ia32@0.20.2':
|
||||
resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ia32]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-loong64@0.20.2':
|
||||
resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-mips64el@0.20.2':
|
||||
resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [mips64el]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ppc64@0.20.2':
|
||||
resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-riscv64@0.20.2':
|
||||
resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-s390x@0.20.2':
|
||||
resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-x64@0.20.2':
|
||||
resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/netbsd-x64@0.20.2':
|
||||
resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [netbsd]
|
||||
|
||||
'@esbuild/openbsd-x64@0.20.2':
|
||||
resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/sunos-x64@0.20.2':
|
||||
resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [sunos]
|
||||
|
||||
'@esbuild/win32-arm64@0.20.2':
|
||||
resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-ia32@0.20.2':
|
||||
resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-x64@0.20.2':
|
||||
resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@lit-labs/ssr-dom-shim@1.6.0':
|
||||
resolution: {integrity: sha512-VHb0ALPMTlgKjM6yIxxoQNnpKyUKLD04VzeQdsiXkMqkvYlAHxq9glGLmgbb889/1GsohSOAjvQYoiBppXFqrQ==}
|
||||
|
||||
'@lit/reactive-element@2.1.2':
|
||||
resolution: {integrity: sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==}
|
||||
|
||||
'@types/trusted-types@2.0.7':
|
||||
resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
|
||||
|
||||
esbuild@0.20.2:
|
||||
resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
|
||||
engines: {node: '>=12'}
|
||||
hasBin: true
|
||||
|
||||
lit-element@4.2.2:
|
||||
resolution: {integrity: sha512-aFKhNToWxoyhkNDmWZwEva2SlQia+jfG0fjIWV//YeTaWrVnOxD89dPKfigCUspXFmjzOEUQpOkejH5Ly6sG0w==}
|
||||
|
||||
lit-html@3.3.3:
|
||||
resolution: {integrity: sha512-el8M6jK2o3RXBnrSHX3ZKrsN8zEV63pSExTO1wYJz7QndGYZ8353e2a5PPX+qHe2aGayfnchQmkAojaWAREOIA==}
|
||||
|
||||
lit@3.3.3:
|
||||
resolution: {integrity: sha512-fycuvZg/hkpozL00lm1pEJH5nN/lr9ZXd6mJI2HSN4+Bzc+LDNdEApJ6HFbPkdFNHLvOplIIuJvxkS4XUxqirw==}
|
||||
|
||||
typescript@5.9.3:
|
||||
resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
|
||||
engines: {node: '>=14.17'}
|
||||
hasBin: true
|
||||
|
||||
snapshots:
|
||||
|
||||
'@esbuild/aix-ppc64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-x64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-arm64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-x64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-arm64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-x64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ia32@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-loong64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-mips64el@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ppc64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-riscv64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-s390x@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-x64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-x64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-x64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/sunos-x64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-arm64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-ia32@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-x64@0.20.2':
|
||||
optional: true
|
||||
|
||||
'@lit-labs/ssr-dom-shim@1.6.0': {}
|
||||
|
||||
'@lit/reactive-element@2.1.2':
|
||||
dependencies:
|
||||
'@lit-labs/ssr-dom-shim': 1.6.0
|
||||
|
||||
'@types/trusted-types@2.0.7': {}
|
||||
|
||||
esbuild@0.20.2:
|
||||
optionalDependencies:
|
||||
'@esbuild/aix-ppc64': 0.20.2
|
||||
'@esbuild/android-arm': 0.20.2
|
||||
'@esbuild/android-arm64': 0.20.2
|
||||
'@esbuild/android-x64': 0.20.2
|
||||
'@esbuild/darwin-arm64': 0.20.2
|
||||
'@esbuild/darwin-x64': 0.20.2
|
||||
'@esbuild/freebsd-arm64': 0.20.2
|
||||
'@esbuild/freebsd-x64': 0.20.2
|
||||
'@esbuild/linux-arm': 0.20.2
|
||||
'@esbuild/linux-arm64': 0.20.2
|
||||
'@esbuild/linux-ia32': 0.20.2
|
||||
'@esbuild/linux-loong64': 0.20.2
|
||||
'@esbuild/linux-mips64el': 0.20.2
|
||||
'@esbuild/linux-ppc64': 0.20.2
|
||||
'@esbuild/linux-riscv64': 0.20.2
|
||||
'@esbuild/linux-s390x': 0.20.2
|
||||
'@esbuild/linux-x64': 0.20.2
|
||||
'@esbuild/netbsd-x64': 0.20.2
|
||||
'@esbuild/openbsd-x64': 0.20.2
|
||||
'@esbuild/sunos-x64': 0.20.2
|
||||
'@esbuild/win32-arm64': 0.20.2
|
||||
'@esbuild/win32-ia32': 0.20.2
|
||||
'@esbuild/win32-x64': 0.20.2
|
||||
|
||||
lit-element@4.2.2:
|
||||
dependencies:
|
||||
'@lit-labs/ssr-dom-shim': 1.6.0
|
||||
'@lit/reactive-element': 2.1.2
|
||||
lit-html: 3.3.3
|
||||
|
||||
lit-html@3.3.3:
|
||||
dependencies:
|
||||
'@types/trusted-types': 2.0.7
|
||||
|
||||
lit@3.3.3:
|
||||
dependencies:
|
||||
'@lit/reactive-element': 2.1.2
|
||||
lit-element: 4.2.2
|
||||
lit-html: 3.3.3
|
||||
|
||||
typescript@5.9.3: {}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2022",
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "node",
|
||||
"lib": ["esnext", "dom"],
|
||||
"declaration": true,
|
||||
"sourceMap": true,
|
||||
"inlineSources": false,
|
||||
"strict": true,
|
||||
"noUnusedLocals": true,
|
||||
"noUnusedParameters": true,
|
||||
"noImplicitReturns": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"skipLibCheck": true,
|
||||
"experimentalDecorators": true
|
||||
},
|
||||
"include": ["docs/**/*"],
|
||||
"exclude": ["node_modules", "**/*.spec.ts"]
|
||||
}
|
||||
Reference in New Issue
Block a user