From 43660276582214b1822a73b840c1aff5539fa748 Mon Sep 17 00:00:00 2001 From: Jan Andrle Date: Fri, 7 Mar 2025 14:40:45 +0100 Subject: [PATCH] :zap: dde and docs improvements (#27) * :zap: :tada: * :zap: wip * :abc: * :zap: wip * :zap: wip * :zap: Refatc signals to .get/.set syntax #26 * :bug: Better types for on* * :abc: * :abc: * :bug: coumputed signal * :abc: :zap: Docs UI/UX * :zap: :abc: UI enhancements * :zap: (bs) (un)min * :abc: adds debugging * :abc: ssr * :abc: * :zap: bs/lint * :abc: * :abc: UI * :abc: updates texts * :abc:UI * :zap: dispatch * :abc: events * :abc: elements * :abc: intro * :bug: fixes completitions for el with components * :bug: wrong file(s) in git * :abc: logo * :bug: :abc: types 3ps * :abc: ui/ux * :abc: * :abc: * :abc: scopes * :abc: * :abc: ui/ux * :abc: * :zap: issignal * :abc: improvemens * :zap: irelands * :abc: UI/UX/wording * :bug: npx-hint [Scrollable region must have keyboard access | Axe Rules | Deque University | Deque Systems](https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI) * :abc: logos * :zap: better? dts builds * Update README.md --- .gitignore | 1 + README.md | 166 +- bs/build.js | 96 +- bs/dev/.build.js | 108 ++ bs/docs.js | 14 +- bs/docs/jsdom.js | 2 +- dist/dde-with-signals.d.ts | 785 ++++++++ dist/dde-with-signals.js | 1645 ++++++++++------- dist/dde-with-signals.min.d.ts | 785 ++++++++ dist/dde-with-signals.min.js | 4 + dist/dde.d.ts | 784 ++++++++ dist/dde.js | 1104 ++++++----- dist/dde.min.d.ts | 784 ++++++++ dist/dde.min.js | 1 + dist/esm-with-signals.d.min.ts | 641 +++++++ dist/esm-with-signals.d.ts | 970 ++++++---- dist/esm-with-signals.js | 1320 ++++++++----- dist/esm-with-signals.min.d.ts | 783 ++++++++ dist/esm-with-signals.min.js | 4 + dist/esm.d.min.ts | 568 ++++++ dist/esm.d.ts | 905 +++++---- dist/esm.js | 853 +++++---- dist/esm.min.d.ts | 782 ++++++++ dist/esm.min.js | 1 + docs/assets/favicon.svg | 60 + docs/assets/logo.svg | 71 + docs/components/code.html.js | 218 ++- docs/components/code.js.js | 71 +- docs/components/example.html.js | 98 +- .../customElement/observedAttributes.js | 2 +- .../examples/debugging/consoleLog.js | 15 + .../examples/debugging/debouncing.js | 15 + .../examples/debugging/dom-reactive-mark.js | 4 + .../examples/debugging/mutations.js | 15 + .../examples/elements/dde-dom-create.js | 14 + .../examples/elements/dde-dom-tree.js | 11 + .../examples/elements/native-dom-create.js | 19 + .../examples/elements/native-dom-tree.js | 15 + .../examples/events/append-event.js | 8 + .../examples/events/attribute-event.js | 7 + .../components/examples/events/chain-event.js | 8 + .../examples/events/native-event.js | 2 + .../examples/events/property-event.js | 7 + .../examples/introducing/3ps-before.js | 14 + docs/components/examples/introducing/3ps.js | 20 +- .../examples/introducing/helloWorld.js | 45 +- .../examples/ireland-test/counter.js | 37 + .../examples/scopes/custom-scope.js | 14 + .../components/examples/scopes/declarative.js | 53 +- docs/components/examples/scopes/imperative.js | 50 +- docs/components/examples/scopes/mixed.js | 36 + docs/components/examples/scopes/with-scope.js | 45 + .../examples/signals/actions-demo.js | 2 +- .../examples/signals/actions-todos.js | 4 +- .../examples/signals/computations-abort.js | 8 +- .../examples/signals/debugging-console.js | 20 + .../examples/signals/debugging-dom.js | 38 + docs/components/examples/signals/derived.js | 13 + docs/components/examples/signals/dom-attrs.js | 6 +- docs/components/examples/signals/dom-el.js | 6 +- docs/components/examples/signals/signals.js | 8 +- docs/components/examples/ssr/async-data.js | 43 + docs/components/examples/ssr/basic-example.js | 47 + docs/components/examples/ssr/intro.js | 2 + docs/components/examples/ssr/pages.js | 35 + docs/components/examples/ssr/start.js | 27 + .../examples/ssr/static-site-generator.js | 44 + docs/components/ireland.html.js | 88 + docs/components/ireland.js.js | 13 + docs/components/mnemonic/events-init.js | 10 +- docs/components/pageUtils.html.js | 119 +- docs/global.css.js | 530 +++++- docs/index.html.js | 100 +- docs/layout/head.html.js | 222 ++- docs/layout/simplePage.html.js | 17 +- docs/p02-elements.html.js | 204 +- docs/p03-events.html.js | 243 ++- docs/p04-signals.html.js | 264 ++- docs/p05-scopes.html.js | 192 +- docs/p06-customElement.html.js | 223 ++- docs/p07-debugging.html.js | 192 ++ docs/p08-extensions.html.js | 255 +++ docs/p09-ssr.html.js | 138 ++ docs/p10-ireland.html.js | 363 ++++ docs/ssr.js | 22 +- docs/types.d.ts | 1 + examples/components/3rd-party.js | 4 +- examples/components/fullNameComponent.js | 10 +- examples/components/todosComponent.js | 14 +- examples/components/webComponent.js | 2 +- examples/index.js | 2 +- index.d.ts | 94 +- jsdom.js | 2 +- package-lock.json | 1551 ++++++++-------- package.json | 21 +- signals.d.ts | 12 +- signals.js | 6 +- src/customElement.js | 34 + src/dom-common.js | 51 +- src/dom.js | 215 ++- src/events-observer.js | 103 +- src/events.js | 69 +- src/helpers.js | 63 +- src/observables-lib.js | 292 --- src/signals-common.js | 13 - src/signals-lib.js | 293 --- src/signals-lib/common.js | 44 + src/signals-lib/helpers.js | 39 + src/{ => signals-lib}/signals-lib.d.ts | 2 +- src/signals-lib/signals-lib.js | 487 +++++ 110 files changed, 16261 insertions(+), 4741 deletions(-) create mode 100644 bs/dev/.build.js create mode 100644 dist/dde-with-signals.d.ts create mode 100644 dist/dde-with-signals.min.d.ts create mode 100644 dist/dde-with-signals.min.js create mode 100644 dist/dde.d.ts create mode 100644 dist/dde.min.d.ts create mode 100644 dist/dde.min.js create mode 100644 dist/esm-with-signals.d.min.ts create mode 100644 dist/esm-with-signals.min.d.ts create mode 100644 dist/esm-with-signals.min.js create mode 100644 dist/esm.d.min.ts create mode 100644 dist/esm.min.d.ts create mode 100644 dist/esm.min.js create mode 100644 docs/assets/favicon.svg create mode 100644 docs/assets/logo.svg create mode 100644 docs/components/examples/debugging/consoleLog.js create mode 100644 docs/components/examples/debugging/debouncing.js create mode 100644 docs/components/examples/debugging/dom-reactive-mark.js create mode 100644 docs/components/examples/debugging/mutations.js create mode 100644 docs/components/examples/elements/dde-dom-create.js create mode 100644 docs/components/examples/elements/dde-dom-tree.js create mode 100644 docs/components/examples/elements/native-dom-create.js create mode 100644 docs/components/examples/elements/native-dom-tree.js create mode 100644 docs/components/examples/events/append-event.js create mode 100644 docs/components/examples/events/attribute-event.js create mode 100644 docs/components/examples/events/chain-event.js create mode 100644 docs/components/examples/events/native-event.js create mode 100644 docs/components/examples/events/property-event.js create mode 100644 docs/components/examples/introducing/3ps-before.js create mode 100644 docs/components/examples/ireland-test/counter.js create mode 100644 docs/components/examples/scopes/custom-scope.js create mode 100644 docs/components/examples/scopes/mixed.js create mode 100644 docs/components/examples/scopes/with-scope.js create mode 100644 docs/components/examples/signals/debugging-console.js create mode 100644 docs/components/examples/signals/debugging-dom.js create mode 100644 docs/components/examples/signals/derived.js create mode 100644 docs/components/examples/ssr/async-data.js create mode 100644 docs/components/examples/ssr/basic-example.js create mode 100644 docs/components/examples/ssr/intro.js create mode 100644 docs/components/examples/ssr/pages.js create mode 100644 docs/components/examples/ssr/start.js create mode 100644 docs/components/examples/ssr/static-site-generator.js create mode 100644 docs/components/ireland.html.js create mode 100644 docs/components/ireland.js.js create mode 100644 docs/p07-debugging.html.js create mode 100644 docs/p08-extensions.html.js create mode 100644 docs/p09-ssr.html.js create mode 100644 docs/p10-ireland.html.js delete mode 100644 src/observables-lib.js delete mode 100644 src/signals-common.js delete mode 100644 src/signals-lib.js create mode 100644 src/signals-lib/common.js create mode 100644 src/signals-lib/helpers.js rename src/{ => signals-lib}/signals-lib.d.ts (84%) create mode 100644 src/signals-lib/signals-lib.js diff --git a/.gitignore b/.gitignore index 8fa8188..5990973 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ dist/docs/ +dist/.* # Logs logs *.log diff --git a/README.md b/README.md index eae793f..07e05cc 100644 --- a/README.md +++ b/README.md @@ -2,94 +2,120 @@ | [source code on GitHub](https://github.com/jaandrle/deka-dom-el) | [*mirrored* on Gitea](https://gitea.jaandrle.cz/jaandrle/deka-dom-el) +

+ Deka DOM Elements Logo +

+ +# Deka DOM Elements + ***Vanilla for flavouring — a full-fledged feast for large projects*** *…use simple DOM API by default and library tools and logic when you need them* ```javascript +// 🌟 Reactive component with clear separation of concerns document.body.append( - el(HelloWorldComponent, { initial: "🚀" }) + el(EmojiCounter, { initial: "🚀" }) ); -/** @typedef {"🎉" | "🚀"} Emoji */ -/** @param {{ initial: Emoji }} attrs */ -function HelloWorldComponent({ initial }){ - const clicks= S(0); - const emoji= S(initial); + +function EmojiCounter({ initial }) { + // ✨ State - Define reactive data + const count = S(0); + const emoji = S(initial); + /** @param {HTMLOptionElement} el */ const isSelected= el=> (el.selected= el.value===initial); - // @ts-expect-error 2339: The