From 55e425dd85071a594ef26c65605381a8a07dc38c Mon Sep 17 00:00:00 2001 From: "Elf M. Sternberg" Date: Wed, 15 Feb 2023 10:33:42 -0800 Subject: [PATCH] Removing custom build for blog entry. --- dominoclock/assets/index.eaeda021.js | 835 ------------------------ dominoclock/assets/index.eaeda021.js.br | Bin 8039 -> 0 bytes dominoclock/assets/index.eaeda021.js.gz | Bin 9084 -> 0 bytes dominoclock/index.html | 59 -- 4 files changed, 894 deletions(-) delete mode 100644 dominoclock/assets/index.eaeda021.js delete mode 100644 dominoclock/assets/index.eaeda021.js.br delete mode 100644 dominoclock/assets/index.eaeda021.js.gz delete mode 100644 dominoclock/index.html diff --git a/dominoclock/assets/index.eaeda021.js b/dominoclock/assets/index.eaeda021.js deleted file mode 100644 index edb5a9f..0000000 --- a/dominoclock/assets/index.eaeda021.js +++ /dev/null @@ -1,835 +0,0 @@ -const p$1 = function polyfill() { - const relList = document.createElement("link").relList; - if (relList && relList.supports && relList.supports("modulepreload")) { - return; - } - for (const link of document.querySelectorAll('link[rel="modulepreload"]')) { - processPreload(link); - } - new MutationObserver((mutations) => { - for (const mutation of mutations) { - if (mutation.type !== "childList") { - continue; - } - for (const node of mutation.addedNodes) { - if (node.tagName === "LINK" && node.rel === "modulepreload") - processPreload(node); - } - } - }).observe(document, { childList: true, subtree: true }); - function getFetchOpts(script) { - const fetchOpts = {}; - if (script.integrity) - fetchOpts.integrity = script.integrity; - if (script.referrerpolicy) - fetchOpts.referrerPolicy = script.referrerpolicy; - if (script.crossorigin === "use-credentials") - fetchOpts.credentials = "include"; - else if (script.crossorigin === "anonymous") - fetchOpts.credentials = "omit"; - else - fetchOpts.credentials = "same-origin"; - return fetchOpts; - } - function processPreload(link) { - if (link.ep) - return; - link.ep = true; - const fetchOpts = getFetchOpts(link); - fetch(link.href, fetchOpts); - } -}; -p$1(); -/** - * @license - * Copyright 2019 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const t$1 = window, e$5 = t$1.ShadowRoot && (void 0 === t$1.ShadyCSS || t$1.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, s$3 = Symbol(), n$4 = /* @__PURE__ */ new WeakMap(); -class o$4 { - constructor(t2, e2, n2) { - if (this._$cssResult$ = true, n2 !== s$3) - throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead."); - this.cssText = t2, this.t = e2; - } - get styleSheet() { - let t2 = this.o; - const s2 = this.t; - if (e$5 && void 0 === t2) { - const e2 = void 0 !== s2 && 1 === s2.length; - e2 && (t2 = n$4.get(s2)), void 0 === t2 && ((this.o = t2 = new CSSStyleSheet()).replaceSync(this.cssText), e2 && n$4.set(s2, t2)); - } - return t2; - } - toString() { - return this.cssText; - } -} -const r$2 = (t2) => new o$4("string" == typeof t2 ? t2 : t2 + "", void 0, s$3), i$2 = (t2, ...e2) => { - const n2 = 1 === t2.length ? t2[0] : e2.reduce((e3, s2, n3) => e3 + ((t3) => { - if (true === t3._$cssResult$) - return t3.cssText; - if ("number" == typeof t3) - return t3; - throw Error("Value passed to 'css' function must be a 'css' function result: " + t3 + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security."); - })(s2) + t2[n3 + 1], t2[0]); - return new o$4(n2, t2, s$3); -}, S$1 = (s2, n2) => { - e$5 ? s2.adoptedStyleSheets = n2.map((t2) => t2 instanceof CSSStyleSheet ? t2 : t2.styleSheet) : n2.forEach((e2) => { - const n3 = document.createElement("style"), o2 = t$1.litNonce; - void 0 !== o2 && n3.setAttribute("nonce", o2), n3.textContent = e2.cssText, s2.appendChild(n3); - }); -}, c$1 = e$5 ? (t2) => t2 : (t2) => t2 instanceof CSSStyleSheet ? ((t3) => { - let e2 = ""; - for (const s2 of t3.cssRules) - e2 += s2.cssText; - return r$2(e2); -})(t2) : t2; -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -var s$2; -const e$4 = window, r$1 = e$4.trustedTypes, h$1 = r$1 ? r$1.emptyScript : "", o$3 = e$4.reactiveElementPolyfillSupport, n$3 = { toAttribute(t2, i2) { - switch (i2) { - case Boolean: - t2 = t2 ? h$1 : null; - break; - case Object: - case Array: - t2 = null == t2 ? t2 : JSON.stringify(t2); - } - return t2; -}, fromAttribute(t2, i2) { - let s2 = t2; - switch (i2) { - case Boolean: - s2 = null !== t2; - break; - case Number: - s2 = null === t2 ? null : Number(t2); - break; - case Object: - case Array: - try { - s2 = JSON.parse(t2); - } catch (t3) { - s2 = null; - } - } - return s2; -} }, a$1 = (t2, i2) => i2 !== t2 && (i2 == i2 || t2 == t2), l$2 = { attribute: true, type: String, converter: n$3, reflect: false, hasChanged: a$1 }; -class d$1 extends HTMLElement { - constructor() { - super(), this._$Ei = /* @__PURE__ */ new Map(), this.isUpdatePending = false, this.hasUpdated = false, this._$El = null, this.u(); - } - static addInitializer(t2) { - var i2; - this.finalize(), (null !== (i2 = this.h) && void 0 !== i2 ? i2 : this.h = []).push(t2); - } - static get observedAttributes() { - this.finalize(); - const t2 = []; - return this.elementProperties.forEach((i2, s2) => { - const e2 = this._$Ep(s2, i2); - void 0 !== e2 && (this._$Ev.set(e2, s2), t2.push(e2)); - }), t2; - } - static createProperty(t2, i2 = l$2) { - if (i2.state && (i2.attribute = false), this.finalize(), this.elementProperties.set(t2, i2), !i2.noAccessor && !this.prototype.hasOwnProperty(t2)) { - const s2 = "symbol" == typeof t2 ? Symbol() : "__" + t2, e2 = this.getPropertyDescriptor(t2, s2, i2); - void 0 !== e2 && Object.defineProperty(this.prototype, t2, e2); - } - } - static getPropertyDescriptor(t2, i2, s2) { - return { get() { - return this[i2]; - }, set(e2) { - const r2 = this[t2]; - this[i2] = e2, this.requestUpdate(t2, r2, s2); - }, configurable: true, enumerable: true }; - } - static getPropertyOptions(t2) { - return this.elementProperties.get(t2) || l$2; - } - static finalize() { - if (this.hasOwnProperty("finalized")) - return false; - this.finalized = true; - const t2 = Object.getPrototypeOf(this); - if (t2.finalize(), void 0 !== t2.h && (this.h = [...t2.h]), this.elementProperties = new Map(t2.elementProperties), this._$Ev = /* @__PURE__ */ new Map(), this.hasOwnProperty("properties")) { - const t3 = this.properties, i2 = [...Object.getOwnPropertyNames(t3), ...Object.getOwnPropertySymbols(t3)]; - for (const s2 of i2) - this.createProperty(s2, t3[s2]); - } - return this.elementStyles = this.finalizeStyles(this.styles), true; - } - static finalizeStyles(i2) { - const s2 = []; - if (Array.isArray(i2)) { - const e2 = new Set(i2.flat(1 / 0).reverse()); - for (const i3 of e2) - s2.unshift(c$1(i3)); - } else - void 0 !== i2 && s2.push(c$1(i2)); - return s2; - } - static _$Ep(t2, i2) { - const s2 = i2.attribute; - return false === s2 ? void 0 : "string" == typeof s2 ? s2 : "string" == typeof t2 ? t2.toLowerCase() : void 0; - } - u() { - var t2; - this._$E_ = new Promise((t3) => this.enableUpdating = t3), this._$AL = /* @__PURE__ */ new Map(), this._$Eg(), this.requestUpdate(), null === (t2 = this.constructor.h) || void 0 === t2 || t2.forEach((t3) => t3(this)); - } - addController(t2) { - var i2, s2; - (null !== (i2 = this._$ES) && void 0 !== i2 ? i2 : this._$ES = []).push(t2), void 0 !== this.renderRoot && this.isConnected && (null === (s2 = t2.hostConnected) || void 0 === s2 || s2.call(t2)); - } - removeController(t2) { - var i2; - null === (i2 = this._$ES) || void 0 === i2 || i2.splice(this._$ES.indexOf(t2) >>> 0, 1); - } - _$Eg() { - this.constructor.elementProperties.forEach((t2, i2) => { - this.hasOwnProperty(i2) && (this._$Ei.set(i2, this[i2]), delete this[i2]); - }); - } - createRenderRoot() { - var t2; - const s2 = null !== (t2 = this.shadowRoot) && void 0 !== t2 ? t2 : this.attachShadow(this.constructor.shadowRootOptions); - return S$1(s2, this.constructor.elementStyles), s2; - } - connectedCallback() { - var t2; - void 0 === this.renderRoot && (this.renderRoot = this.createRenderRoot()), this.enableUpdating(true), null === (t2 = this._$ES) || void 0 === t2 || t2.forEach((t3) => { - var i2; - return null === (i2 = t3.hostConnected) || void 0 === i2 ? void 0 : i2.call(t3); - }); - } - enableUpdating(t2) { - } - disconnectedCallback() { - var t2; - null === (t2 = this._$ES) || void 0 === t2 || t2.forEach((t3) => { - var i2; - return null === (i2 = t3.hostDisconnected) || void 0 === i2 ? void 0 : i2.call(t3); - }); - } - attributeChangedCallback(t2, i2, s2) { - this._$AK(t2, s2); - } - _$EO(t2, i2, s2 = l$2) { - var e2; - const r2 = this.constructor._$Ep(t2, s2); - if (void 0 !== r2 && true === s2.reflect) { - const h2 = (void 0 !== (null === (e2 = s2.converter) || void 0 === e2 ? void 0 : e2.toAttribute) ? s2.converter : n$3).toAttribute(i2, s2.type); - this._$El = t2, null == h2 ? this.removeAttribute(r2) : this.setAttribute(r2, h2), this._$El = null; - } - } - _$AK(t2, i2) { - var s2; - const e2 = this.constructor, r2 = e2._$Ev.get(t2); - if (void 0 !== r2 && this._$El !== r2) { - const t3 = e2.getPropertyOptions(r2), h2 = "function" == typeof t3.converter ? { fromAttribute: t3.converter } : void 0 !== (null === (s2 = t3.converter) || void 0 === s2 ? void 0 : s2.fromAttribute) ? t3.converter : n$3; - this._$El = r2, this[r2] = h2.fromAttribute(i2, t3.type), this._$El = null; - } - } - requestUpdate(t2, i2, s2) { - let e2 = true; - void 0 !== t2 && (((s2 = s2 || this.constructor.getPropertyOptions(t2)).hasChanged || a$1)(this[t2], i2) ? (this._$AL.has(t2) || this._$AL.set(t2, i2), true === s2.reflect && this._$El !== t2 && (void 0 === this._$EC && (this._$EC = /* @__PURE__ */ new Map()), this._$EC.set(t2, s2))) : e2 = false), !this.isUpdatePending && e2 && (this._$E_ = this._$Ej()); - } - async _$Ej() { - this.isUpdatePending = true; - try { - await this._$E_; - } catch (t3) { - Promise.reject(t3); - } - const t2 = this.scheduleUpdate(); - return null != t2 && await t2, !this.isUpdatePending; - } - scheduleUpdate() { - return this.performUpdate(); - } - performUpdate() { - var t2; - if (!this.isUpdatePending) - return; - this.hasUpdated, this._$Ei && (this._$Ei.forEach((t3, i3) => this[i3] = t3), this._$Ei = void 0); - let i2 = false; - const s2 = this._$AL; - try { - i2 = this.shouldUpdate(s2), i2 ? (this.willUpdate(s2), null === (t2 = this._$ES) || void 0 === t2 || t2.forEach((t3) => { - var i3; - return null === (i3 = t3.hostUpdate) || void 0 === i3 ? void 0 : i3.call(t3); - }), this.update(s2)) : this._$Ek(); - } catch (t3) { - throw i2 = false, this._$Ek(), t3; - } - i2 && this._$AE(s2); - } - willUpdate(t2) { - } - _$AE(t2) { - var i2; - null === (i2 = this._$ES) || void 0 === i2 || i2.forEach((t3) => { - var i3; - return null === (i3 = t3.hostUpdated) || void 0 === i3 ? void 0 : i3.call(t3); - }), this.hasUpdated || (this.hasUpdated = true, this.firstUpdated(t2)), this.updated(t2); - } - _$Ek() { - this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = false; - } - get updateComplete() { - return this.getUpdateComplete(); - } - getUpdateComplete() { - return this._$E_; - } - shouldUpdate(t2) { - return true; - } - update(t2) { - void 0 !== this._$EC && (this._$EC.forEach((t3, i2) => this._$EO(i2, this[i2], t3)), this._$EC = void 0), this._$Ek(); - } - updated(t2) { - } - firstUpdated(t2) { - } -} -d$1.finalized = true, d$1.elementProperties = /* @__PURE__ */ new Map(), d$1.elementStyles = [], d$1.shadowRootOptions = { mode: "open" }, null == o$3 || o$3({ ReactiveElement: d$1 }), (null !== (s$2 = e$4.reactiveElementVersions) && void 0 !== s$2 ? s$2 : e$4.reactiveElementVersions = []).push("1.6.1"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -var t; -const i$1 = window, s$1 = i$1.trustedTypes, e$3 = s$1 ? s$1.createPolicy("lit-html", { createHTML: (t2) => t2 }) : void 0, o$2 = `lit$${(Math.random() + "").slice(9)}$`, n$2 = "?" + o$2, l$1 = `<${n$2}>`, h = document, r = (t2 = "") => h.createComment(t2), d = (t2) => null === t2 || "object" != typeof t2 && "function" != typeof t2, u = Array.isArray, c = (t2) => u(t2) || "function" == typeof (null == t2 ? void 0 : t2[Symbol.iterator]), v = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, a = /-->/g, f = />/g, _ = RegExp(`>|[ -\f\r](?:([^\\s"'>=/]+)([ -\f\r]*=[ -\f\r]*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`, "g"), m = /'/g, p = /"/g, $ = /^(?:script|style|textarea|title)$/i, g = (t2) => (i2, ...s2) => ({ _$litType$: t2, strings: i2, values: s2 }), y = g(1), x = Symbol.for("lit-noChange"), b = Symbol.for("lit-nothing"), T = /* @__PURE__ */ new WeakMap(), A = h.createTreeWalker(h, 129, null, false), E = (t2, i2) => { - const s2 = t2.length - 1, n2 = []; - let h2, r2 = 2 === i2 ? "" : "", d2 = v; - for (let i3 = 0; i3 < s2; i3++) { - const s3 = t2[i3]; - let e2, u3, c2 = -1, g2 = 0; - for (; g2 < s3.length && (d2.lastIndex = g2, u3 = d2.exec(s3), null !== u3); ) - g2 = d2.lastIndex, d2 === v ? "!--" === u3[1] ? d2 = a : void 0 !== u3[1] ? d2 = f : void 0 !== u3[2] ? ($.test(u3[2]) && (h2 = RegExp("" === u3[0] ? (d2 = null != h2 ? h2 : v, c2 = -1) : void 0 === u3[1] ? c2 = -2 : (c2 = d2.lastIndex - u3[2].length, e2 = u3[1], d2 = void 0 === u3[3] ? _ : '"' === u3[3] ? p : m) : d2 === p || d2 === m ? d2 = _ : d2 === a || d2 === f ? d2 = v : (d2 = _, h2 = void 0); - const y2 = d2 === _ && t2[i3 + 1].startsWith("/>") ? " " : ""; - r2 += d2 === v ? s3 + l$1 : c2 >= 0 ? (n2.push(e2), s3.slice(0, c2) + "$lit$" + s3.slice(c2) + o$2 + y2) : s3 + o$2 + (-2 === c2 ? (n2.push(void 0), i3) : y2); - } - const u2 = r2 + (t2[s2] || "") + (2 === i2 ? "" : ""); - if (!Array.isArray(t2) || !t2.hasOwnProperty("raw")) - throw Error("invalid template strings array"); - return [void 0 !== e$3 ? e$3.createHTML(u2) : u2, n2]; -}; -class C { - constructor({ strings: t2, _$litType$: i2 }, e2) { - let l2; - this.parts = []; - let h2 = 0, d2 = 0; - const u2 = t2.length - 1, c2 = this.parts, [v2, a2] = E(t2, i2); - if (this.el = C.createElement(v2, e2), A.currentNode = this.el.content, 2 === i2) { - const t3 = this.el.content, i3 = t3.firstChild; - i3.remove(), t3.append(...i3.childNodes); - } - for (; null !== (l2 = A.nextNode()) && c2.length < u2; ) { - if (1 === l2.nodeType) { - if (l2.hasAttributes()) { - const t3 = []; - for (const i3 of l2.getAttributeNames()) - if (i3.endsWith("$lit$") || i3.startsWith(o$2)) { - const s2 = a2[d2++]; - if (t3.push(i3), void 0 !== s2) { - const t4 = l2.getAttribute(s2.toLowerCase() + "$lit$").split(o$2), i4 = /([.?@])?(.*)/.exec(s2); - c2.push({ type: 1, index: h2, name: i4[2], strings: t4, ctor: "." === i4[1] ? M : "?" === i4[1] ? k : "@" === i4[1] ? H : S }); - } else - c2.push({ type: 6, index: h2 }); - } - for (const i3 of t3) - l2.removeAttribute(i3); - } - if ($.test(l2.tagName)) { - const t3 = l2.textContent.split(o$2), i3 = t3.length - 1; - if (i3 > 0) { - l2.textContent = s$1 ? s$1.emptyScript : ""; - for (let s2 = 0; s2 < i3; s2++) - l2.append(t3[s2], r()), A.nextNode(), c2.push({ type: 2, index: ++h2 }); - l2.append(t3[i3], r()); - } - } - } else if (8 === l2.nodeType) - if (l2.data === n$2) - c2.push({ type: 2, index: h2 }); - else { - let t3 = -1; - for (; -1 !== (t3 = l2.data.indexOf(o$2, t3 + 1)); ) - c2.push({ type: 7, index: h2 }), t3 += o$2.length - 1; - } - h2++; - } - } - static createElement(t2, i2) { - const s2 = h.createElement("template"); - return s2.innerHTML = t2, s2; - } -} -function P(t2, i2, s2 = t2, e2) { - var o2, n2, l2, h2; - if (i2 === x) - return i2; - let r2 = void 0 !== e2 ? null === (o2 = s2._$Co) || void 0 === o2 ? void 0 : o2[e2] : s2._$Cl; - const u2 = d(i2) ? void 0 : i2._$litDirective$; - return (null == r2 ? void 0 : r2.constructor) !== u2 && (null === (n2 = null == r2 ? void 0 : r2._$AO) || void 0 === n2 || n2.call(r2, false), void 0 === u2 ? r2 = void 0 : (r2 = new u2(t2), r2._$AT(t2, s2, e2)), void 0 !== e2 ? (null !== (l2 = (h2 = s2)._$Co) && void 0 !== l2 ? l2 : h2._$Co = [])[e2] = r2 : s2._$Cl = r2), void 0 !== r2 && (i2 = P(t2, r2._$AS(t2, i2.values), r2, e2)), i2; -} -class V { - constructor(t2, i2) { - this.u = [], this._$AN = void 0, this._$AD = t2, this._$AM = i2; - } - get parentNode() { - return this._$AM.parentNode; - } - get _$AU() { - return this._$AM._$AU; - } - v(t2) { - var i2; - const { el: { content: s2 }, parts: e2 } = this._$AD, o2 = (null !== (i2 = null == t2 ? void 0 : t2.creationScope) && void 0 !== i2 ? i2 : h).importNode(s2, true); - A.currentNode = o2; - let n2 = A.nextNode(), l2 = 0, r2 = 0, d2 = e2[0]; - for (; void 0 !== d2; ) { - if (l2 === d2.index) { - let i3; - 2 === d2.type ? i3 = new N(n2, n2.nextSibling, this, t2) : 1 === d2.type ? i3 = new d2.ctor(n2, d2.name, d2.strings, this, t2) : 6 === d2.type && (i3 = new I(n2, this, t2)), this.u.push(i3), d2 = e2[++r2]; - } - l2 !== (null == d2 ? void 0 : d2.index) && (n2 = A.nextNode(), l2++); - } - return o2; - } - p(t2) { - let i2 = 0; - for (const s2 of this.u) - void 0 !== s2 && (void 0 !== s2.strings ? (s2._$AI(t2, s2, i2), i2 += s2.strings.length - 2) : s2._$AI(t2[i2])), i2++; - } -} -class N { - constructor(t2, i2, s2, e2) { - var o2; - this.type = 2, this._$AH = b, this._$AN = void 0, this._$AA = t2, this._$AB = i2, this._$AM = s2, this.options = e2, this._$Cm = null === (o2 = null == e2 ? void 0 : e2.isConnected) || void 0 === o2 || o2; - } - get _$AU() { - var t2, i2; - return null !== (i2 = null === (t2 = this._$AM) || void 0 === t2 ? void 0 : t2._$AU) && void 0 !== i2 ? i2 : this._$Cm; - } - get parentNode() { - let t2 = this._$AA.parentNode; - const i2 = this._$AM; - return void 0 !== i2 && 11 === t2.nodeType && (t2 = i2.parentNode), t2; - } - get startNode() { - return this._$AA; - } - get endNode() { - return this._$AB; - } - _$AI(t2, i2 = this) { - t2 = P(this, t2, i2), d(t2) ? t2 === b || null == t2 || "" === t2 ? (this._$AH !== b && this._$AR(), this._$AH = b) : t2 !== this._$AH && t2 !== x && this.g(t2) : void 0 !== t2._$litType$ ? this.$(t2) : void 0 !== t2.nodeType ? this.T(t2) : c(t2) ? this.k(t2) : this.g(t2); - } - O(t2, i2 = this._$AB) { - return this._$AA.parentNode.insertBefore(t2, i2); - } - T(t2) { - this._$AH !== t2 && (this._$AR(), this._$AH = this.O(t2)); - } - g(t2) { - this._$AH !== b && d(this._$AH) ? this._$AA.nextSibling.data = t2 : this.T(h.createTextNode(t2)), this._$AH = t2; - } - $(t2) { - var i2; - const { values: s2, _$litType$: e2 } = t2, o2 = "number" == typeof e2 ? this._$AC(t2) : (void 0 === e2.el && (e2.el = C.createElement(e2.h, this.options)), e2); - if ((null === (i2 = this._$AH) || void 0 === i2 ? void 0 : i2._$AD) === o2) - this._$AH.p(s2); - else { - const t3 = new V(o2, this), i3 = t3.v(this.options); - t3.p(s2), this.T(i3), this._$AH = t3; - } - } - _$AC(t2) { - let i2 = T.get(t2.strings); - return void 0 === i2 && T.set(t2.strings, i2 = new C(t2)), i2; - } - k(t2) { - u(this._$AH) || (this._$AH = [], this._$AR()); - const i2 = this._$AH; - let s2, e2 = 0; - for (const o2 of t2) - e2 === i2.length ? i2.push(s2 = new N(this.O(r()), this.O(r()), this, this.options)) : s2 = i2[e2], s2._$AI(o2), e2++; - e2 < i2.length && (this._$AR(s2 && s2._$AB.nextSibling, e2), i2.length = e2); - } - _$AR(t2 = this._$AA.nextSibling, i2) { - var s2; - for (null === (s2 = this._$AP) || void 0 === s2 || s2.call(this, false, true, i2); t2 && t2 !== this._$AB; ) { - const i3 = t2.nextSibling; - t2.remove(), t2 = i3; - } - } - setConnected(t2) { - var i2; - void 0 === this._$AM && (this._$Cm = t2, null === (i2 = this._$AP) || void 0 === i2 || i2.call(this, t2)); - } -} -class S { - constructor(t2, i2, s2, e2, o2) { - this.type = 1, this._$AH = b, this._$AN = void 0, this.element = t2, this.name = i2, this._$AM = e2, this.options = o2, s2.length > 2 || "" !== s2[0] || "" !== s2[1] ? (this._$AH = Array(s2.length - 1).fill(new String()), this.strings = s2) : this._$AH = b; - } - get tagName() { - return this.element.tagName; - } - get _$AU() { - return this._$AM._$AU; - } - _$AI(t2, i2 = this, s2, e2) { - const o2 = this.strings; - let n2 = false; - if (void 0 === o2) - t2 = P(this, t2, i2, 0), n2 = !d(t2) || t2 !== this._$AH && t2 !== x, n2 && (this._$AH = t2); - else { - const e3 = t2; - let l2, h2; - for (t2 = o2[0], l2 = 0; l2 < o2.length - 1; l2++) - h2 = P(this, e3[s2 + l2], i2, l2), h2 === x && (h2 = this._$AH[l2]), n2 || (n2 = !d(h2) || h2 !== this._$AH[l2]), h2 === b ? t2 = b : t2 !== b && (t2 += (null != h2 ? h2 : "") + o2[l2 + 1]), this._$AH[l2] = h2; - } - n2 && !e2 && this.j(t2); - } - j(t2) { - t2 === b ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, null != t2 ? t2 : ""); - } -} -class M extends S { - constructor() { - super(...arguments), this.type = 3; - } - j(t2) { - this.element[this.name] = t2 === b ? void 0 : t2; - } -} -const R = s$1 ? s$1.emptyScript : ""; -class k extends S { - constructor() { - super(...arguments), this.type = 4; - } - j(t2) { - t2 && t2 !== b ? this.element.setAttribute(this.name, R) : this.element.removeAttribute(this.name); - } -} -class H extends S { - constructor(t2, i2, s2, e2, o2) { - super(t2, i2, s2, e2, o2), this.type = 5; - } - _$AI(t2, i2 = this) { - var s2; - if ((t2 = null !== (s2 = P(this, t2, i2, 0)) && void 0 !== s2 ? s2 : b) === x) - return; - const e2 = this._$AH, o2 = t2 === b && e2 !== b || t2.capture !== e2.capture || t2.once !== e2.once || t2.passive !== e2.passive, n2 = t2 !== b && (e2 === b || o2); - o2 && this.element.removeEventListener(this.name, this, e2), n2 && this.element.addEventListener(this.name, this, t2), this._$AH = t2; - } - handleEvent(t2) { - var i2, s2; - "function" == typeof this._$AH ? this._$AH.call(null !== (s2 = null === (i2 = this.options) || void 0 === i2 ? void 0 : i2.host) && void 0 !== s2 ? s2 : this.element, t2) : this._$AH.handleEvent(t2); - } -} -class I { - constructor(t2, i2, s2) { - this.element = t2, this.type = 6, this._$AN = void 0, this._$AM = i2, this.options = s2; - } - get _$AU() { - return this._$AM._$AU; - } - _$AI(t2) { - P(this, t2); - } -} -const z = i$1.litHtmlPolyfillSupport; -null == z || z(C, N), (null !== (t = i$1.litHtmlVersions) && void 0 !== t ? t : i$1.litHtmlVersions = []).push("2.6.1"); -const Z = (t2, i2, s2) => { - var e2, o2; - const n2 = null !== (e2 = null == s2 ? void 0 : s2.renderBefore) && void 0 !== e2 ? e2 : i2; - let l2 = n2._$litPart$; - if (void 0 === l2) { - const t3 = null !== (o2 = null == s2 ? void 0 : s2.renderBefore) && void 0 !== o2 ? o2 : null; - n2._$litPart$ = l2 = new N(i2.insertBefore(r(), t3), t3, void 0, null != s2 ? s2 : {}); - } - return l2._$AI(t2), l2; -}; -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -var l, o$1; -class s extends d$1 { - constructor() { - super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0; - } - createRenderRoot() { - var t2, e2; - const i2 = super.createRenderRoot(); - return null !== (t2 = (e2 = this.renderOptions).renderBefore) && void 0 !== t2 || (e2.renderBefore = i2.firstChild), i2; - } - update(t2) { - const i2 = this.render(); - this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t2), this._$Do = Z(i2, this.renderRoot, this.renderOptions); - } - connectedCallback() { - var t2; - super.connectedCallback(), null === (t2 = this._$Do) || void 0 === t2 || t2.setConnected(true); - } - disconnectedCallback() { - var t2; - super.disconnectedCallback(), null === (t2 = this._$Do) || void 0 === t2 || t2.setConnected(false); - } - render() { - return x; - } -} -s.finalized = true, s._$litElement$ = true, null === (l = globalThis.litElementHydrateSupport) || void 0 === l || l.call(globalThis, { LitElement: s }); -const n$1 = globalThis.litElementPolyfillSupport; -null == n$1 || n$1({ LitElement: s }); -(null !== (o$1 = globalThis.litElementVersions) && void 0 !== o$1 ? o$1 : globalThis.litElementVersions = []).push("3.2.2"); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const e$2 = (e2) => (n2) => "function" == typeof n2 ? ((e3, n3) => (customElements.define(e3, n3), n3))(e2, n2) : ((e3, n3) => { - const { kind: t2, elements: s2 } = n3; - return { kind: t2, elements: s2, finisher(n4) { - customElements.define(e3, n4); - } }; -})(e2, n2); -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const i = (i2, e2) => "method" === e2.kind && e2.descriptor && !("value" in e2.descriptor) ? { ...e2, finisher(n2) { - n2.createProperty(e2.key, i2); -} } : { kind: "field", key: Symbol(), placement: "own", descriptor: {}, originalKey: e2.key, initializer() { - "function" == typeof e2.initializer && (this[e2.key] = e2.initializer.call(this)); -}, finisher(n2) { - n2.createProperty(e2.key, i2); -} }; -function e$1(e2) { - return (n2, t2) => void 0 !== t2 ? ((i2, e3, n3) => { - e3.constructor.createProperty(n3, i2); - })(e2, n2, t2) : i(e2, n2); -} -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -const o = ({ finisher: e2, descriptor: t2 }) => (o2, n2) => { - var r2; - if (void 0 === n2) { - const n3 = null !== (r2 = o2.originalKey) && void 0 !== r2 ? r2 : o2.key, i2 = null != t2 ? { kind: "method", placement: "prototype", key: n3, descriptor: t2(o2.key) } : { ...o2, key: n3 }; - return null != e2 && (i2.finisher = function(t3) { - e2(t3, n3); - }), i2; - } - { - const r3 = o2.constructor; - void 0 !== t2 && Object.defineProperty(o2, n2, t2(n2)), null == e2 || e2(r3, n2); - } -}; -/** - * @license - * Copyright 2017 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -function e(e2) { - return o({ descriptor: (r2) => ({ get() { - var r3, o2; - return null !== (o2 = null === (r3 = this.renderRoot) || void 0 === r3 ? void 0 : r3.querySelectorAll(e2)) && void 0 !== o2 ? o2 : []; - }, enumerable: true, configurable: true }) }); -} -/** - * @license - * Copyright 2021 Google LLC - * SPDX-License-Identifier: BSD-3-Clause - */ -var n; -null != (null === (n = window.HTMLSlotElement) || void 0 === n ? void 0 : n.prototype.assignedElements) ? (o2, n2) => o2.assignedElements(n2) : (o2, n2) => o2.assignedNodes(n2).filter((o3) => o3.nodeType === Node.ELEMENT_NODE); -var __defProp$1 = Object.defineProperty; -var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor; -var __decorateClass$1 = (decorators, target, key, kind) => { - var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target; - for (var i2 = decorators.length - 1, decorator; i2 >= 0; i2--) - if (decorator = decorators[i2]) - result = (kind ? decorator(target, key, result) : decorator(result)) || result; - if (kind && result) - __defProp$1(target, key, result); - return result; -}; -const MATRIX = [ - [1, 5, 8, 9, 11], - [2, 5, 6, 10, 11], - [3, 6, 7, 9, 11], - [4, 7, 8, 10, 11] -]; -let DominoClockface = class extends s { - constructor() { - super(...arguments); - this.name = "hour"; - this.time = "12"; - } - calculateDots() { - const time = parseInt(this.time, 10); - return [0, 1, 2, 3].map((i2) => MATRIX[i2].includes(time)); - } - render() { - const points = this.calculateDots(); - return y` -
- ${points.map((pos) => y`
`)} -
- `; - } -}; -DominoClockface.styles = i$2` - :host { - --dominoclock-default-dot-size: 1rem; - --dominoclock-default-dot-color: #2f4f4f; - --dominoclock-default-face-size: 5rem; - --dominoclock-default-background-color: #daaf20; - --dominoclock-default-border-radius: 0.5rem; - } - - .face { - position: relative; - width: var(--dominoclock-face-size, var(--dominoclock-default-face-size, 5rem)); - height: var(--dominoclock-face-size, var(--dominoclock-default-face-size, 5rem)); - background-color: var( - --dominoclock-background-color, - var(--dominoclock-default-background-color, #daaf20) - ); - border: 1px solid #282828; - border-radius: var( - --dominoclock-border-radius, - var(--dominoclock-default-border-radius, 0.5rem) - ); - display: grid; - grid-template-columns: 1fr 1fr; - grid-template-rows: 1fr 1fr; - } - - .dot { - width: 100%; - height: 100%; - display: grid; - place-items: center center; - } - - .dot > div { - transition: opacity 0.6s ease; - width: var(--dominoclock-date-size, var(--dominoclock-default-date-size, 1rem)); - height: var(--dominoclock-date-size, var(--dominoclock-default-date-size, 1rem)); - background-color: var(--dominoclock-dot-color, var(--dominoclock-default-dot-color, #2f4f4f)); - border-radius: calc( - var(--dominoclock-dot-size, var(--dominoclock-default-dot-size, 1rem)) / 2 - ); - opacity: 0; - } - - .dot.active > div { - opacity: 1; - } - `; -__decorateClass$1([ - e$1({ type: String }) -], DominoClockface.prototype, "name", 2); -__decorateClass$1([ - e$1({ type: String }) -], DominoClockface.prototype, "time", 2); -__decorateClass$1([ - e(".dot") -], DominoClockface.prototype, "dots", 2); -DominoClockface = __decorateClass$1([ - e$2("domino-face") -], DominoClockface); -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __decorateClass = (decorators, target, key, kind) => { - var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target; - for (var i2 = decorators.length - 1, decorator; i2 >= 0; i2--) - if (decorator = decorators[i2]) - result = (kind ? decorator(target, key, result) : decorator(result)) || result; - if (kind && result) - __defProp(target, key, result); - return result; -}; -function times() { - const now = new Date(); - const rawHours = now.getHours(); - return { - hour: rawHours > 12 ? rawHours - 12 : rawHours, - minute: Math.floor(now.getUTCMinutes() / 5), - second: Math.floor(now.getUTCSeconds() / 5) - }; -} -let DominoClock = class extends s { - constructor() { - super(); - this.timer = 0; - this.paint = this.paint.bind(this); - } - paint() { - const update = times(); - Array.from(this.faces).forEach((face) => { - const name = face.getAttribute("name"); - face.setAttribute("time", `${update[name]}`); - }); - this.timer = window.setTimeout(this.paint, 250); - } - connectedCallback() { - if (super.connectedCallback) { - super.connectedCallback(); - } - this.timer = window.setTimeout(this.paint, 250); - } - disconnectedCallback() { - window.clearTimeout(this.timer); - if (super.disconnectedCallback) { - super.disconnectedCallback(); - } - } - render() { - const update = times(); - return y`
- - - -
`; - } -}; -DominoClock.styles = i$2` - :host { - --dominoclock-default-direction: row; - --dominoclock-default-face-gap: 0.25rem; - } - - .dominoclock { - display: flex; - flex-direction: var(--dominoclock-direction, var(--dominoclock-default-direction, row)); - gap: var(--dominoclock-face-gap, var(--dominoclock-default-face-gap, 0.25rem)); - } - `; -__decorateClass([ - e("domino-face") -], DominoClock.prototype, "faces", 2); -DominoClock = __decorateClass([ - e$2("domino-clock") -], DominoClock); diff --git a/dominoclock/assets/index.eaeda021.js.br b/dominoclock/assets/index.eaeda021.js.br deleted file mode 100644 index 591280a06fcd51792d4d942494d0cae64b4163c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8039 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 diff --git a/dominoclock/assets/index.eaeda021.js.gz b/dominoclock/assets/index.eaeda021.js.gz deleted file mode 100644 index 3fc144e5033f159dab760e4161b424bd4a399f28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9084 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 diff --git a/dominoclock/index.html b/dominoclock/index.html deleted file mode 100644 index 5d8ccd0..0000000 --- a/dominoclock/index.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - Domino Clock - - - - - - - - - - -

The Domino Clock

-

- Sometime around 1996, when I was working for CompuServe, I saw a lovely demonstration of an - electromechanical watch that used a sort of domino face to tell the time. I liked it so much that - when I was looking for a toy project for my first Java Applet, I decided to implement the - algorithm of the watch. -

-

- 25 years later, I found the source code buried somewhere in an old - CD. I decided to try an re-implement the logic in Javascript, and to - experiment with a - Web Component, - using the lit-html library. This is the result. -

-

- It might seem a bit silly to have implemented the seconds face when the minutes face has a - resolution of only five minutes, but it allows you to watch the clock in operation and learn what - each symbol means: an empty face is 0 (12) and all four pips visible is 11 (or 55 - minutes/seconds). -

- -

- The source code, both for this project and for the Java original, - are available at my personal Git repository - at ElfSternberg.com. -

- - -