nodality 1.0.123 → 1.0.124
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/animator.cjs.js +1 -1
- package/dist/animator.esm.js +1 -1
- package/dist/audionew.cjs.js +1 -1
- package/dist/audionew.esm.js +1 -1
- package/dist/base.cjs.js +1 -1
- package/dist/base.esm.js +1 -1
- package/dist/beta-desktop-bar.cjs.js +1 -1
- package/dist/beta-desktop-bar.esm.js +1 -1
- package/dist/beta-mobile-bar.cjs.js +1 -1
- package/dist/beta-mobile-bar.esm.js +1 -1
- package/dist/bundle.umd.js +1 -1
- package/dist/button.cjs.js +1 -1
- package/dist/button.esm.js +1 -1
- package/dist/center.cjs.js +1 -1
- package/dist/center.esm.js +1 -1
- package/dist/checkbox.cjs.js +1 -1
- package/dist/checkbox.esm.js +1 -1
- package/dist/code.cjs.js +1 -1
- package/dist/code.esm.js +1 -1
- package/dist/container.cjs.js +1 -1
- package/dist/container.esm.js +1 -1
- package/dist/data-list.cjs.js +1 -1
- package/dist/data-list.esm.js +1 -1
- package/dist/designer.cjs.js +1 -1
- package/dist/designer.esm.js +1 -1
- package/dist/dropdown.cjs.js +1 -1
- package/dist/dropdown.esm.js +1 -1
- package/dist/element-mapper.cjs.js +1 -1
- package/dist/element-mapper.esm.js +1 -1
- package/dist/finalresult.esm.js +1 -1
- package/dist/flex-card.cjs.js +1 -1
- package/dist/flex-card.esm.js +1 -1
- package/dist/flex-grid.cjs.js +1 -1
- package/dist/flex-grid.esm.js +1 -1
- package/dist/flex-row.cjs.js +1 -1
- package/dist/flex-row.esm.js +1 -1
- package/dist/floating-input.cjs.js +1 -1
- package/dist/floating-input.esm.js +1 -1
- package/dist/free.cjs.js +1 -1
- package/dist/free.esm.js +1 -1
- package/dist/horizontal-scroller.cjs.js +1 -1
- package/dist/horizontal-scroller.esm.js +1 -1
- package/dist/image-picker.cjs.js +1 -1
- package/dist/image-picker.esm.js +1 -1
- package/dist/image.cjs.js +1 -1
- package/dist/image.esm.js +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/link-getter.cjs.js +1 -1
- package/dist/link-getter.esm.js +1 -1
- package/dist/link.cjs.js +1 -1
- package/dist/link.esm.js +1 -1
- package/dist/meta-adder.cjs.js +1 -1
- package/dist/meta-adder.esm.js +1 -1
- package/dist/modal-2025.cjs.js +1 -1
- package/dist/modal-2025.esm.js +1 -1
- package/dist/multiswitcher.cjs.js +1 -1
- package/dist/multiswitcher.esm.js +1 -1
- package/dist/new-nav-bar.cjs.js +1 -1
- package/dist/new-nav-bar.esm.js +1 -1
- package/dist/picker.cjs.js +1 -1
- package/dist/picker.esm.js +1 -1
- package/dist/progress.cjs.js +1 -1
- package/dist/progress.esm.js +1 -1
- package/dist/radio.cjs.js +1 -1
- package/dist/radio.esm.js +1 -1
- package/dist/range.cjs.js +1 -1
- package/dist/range.esm.js +1 -1
- package/dist/side-bar.cjs.js +1 -1
- package/dist/side-bar.esm.js +1 -1
- package/dist/side-nav-bar.cjs.js +1 -1
- package/dist/side-nav-bar.esm.js +1 -1
- package/dist/simple-bar.cjs.js +1 -1
- package/dist/simple-bar.esm.js +1 -1
- package/dist/slider-2025.cjs.js +1 -1
- package/dist/slider-2025.esm.js +1 -1
- package/dist/spacer.cjs.js +1 -1
- package/dist/spacer.esm.js +1 -1
- package/dist/stack.cjs.js +1 -1
- package/dist/stack.esm.js +1 -1
- package/dist/table.cjs.js +1 -1
- package/dist/table.esm.js +1 -1
- package/dist/text-field.cjs.js +1 -1
- package/dist/text-field.esm.js +1 -1
- package/dist/text.cjs.js +1 -1
- package/dist/text.esm.js +1 -1
- package/dist/theme.cjs.js +1 -0
- package/dist/theme.esm.js +1 -0
- package/dist/transform-anim.cjs.js +1 -1
- package/dist/transform-anim.esm.js +1 -1
- package/dist/ulist.cjs.js +1 -1
- package/dist/ulist.esm.js +1 -1
- package/dist/video.cjs.js +1 -1
- package/dist/video.esm.js +1 -1
- package/dist/wrap.cjs.js +1 -1
- package/dist/wrap.esm.js +1 -1
- package/dist/zoom-card.cjs.js +1 -1
- package/dist/zoom-card.esm.js +1 -1
- package/layout/animator.js +71 -3
- package/layout/audio.js +1 -1
- package/layout/audionew.js +1 -1
- package/layout/base-2.js +1 -1
- package/layout/base.js +1 -1
- package/layout/beta-desktop-bar.js +1 -1
- package/layout/beta-mobile-bar.js +1 -1
- package/layout/box.js +1 -1
- package/layout/button.js +1 -1
- package/layout/cards.js +1 -1
- package/layout/center.js +1 -1
- package/layout/checkbox.js +1 -1
- package/layout/circle.js +1 -1
- package/layout/clean-row.js +1 -1
- package/layout/code.js +1 -1
- package/layout/container.js +1 -1
- package/layout/custom.js +1 -1
- package/layout/div-image.js +1 -1
- package/layout/dropdown-2025.js +1 -1
- package/layout/dropdown.js +1 -1
- package/layout/empty-element.js +1 -1
- package/layout/external-stylesheet.js +1 -1
- package/layout/flex-card.js +1 -1
- package/layout/flex-grid.js +1 -1
- package/layout/flex-row.js +1 -1
- package/layout/footer.js +1 -1
- package/layout/form-components/custom.js +1 -1
- package/layout/form-components/data-list.js +1 -1
- package/layout/form-components/floating-input.js +1 -1
- package/layout/form-components/form-all.js +1 -1
- package/layout/form-components/form.js +1 -1
- package/layout/form-components/image-picker.js +1 -1
- package/layout/form-components/picker.js +1 -1
- package/layout/form-components/radio.js +1 -1
- package/layout/form-components/radiogroup.js +1 -1
- package/layout/form-components/range.js +1 -1
- package/layout/free.js +1 -1
- package/layout/grid-new.js +1 -1
- package/layout/grid-switcher.js +1 -1
- package/layout/grid.js +1 -1
- package/layout/group.js +1 -1
- package/layout/header.js +1 -1
- package/layout/horizontal-scroller.js +1 -1
- package/layout/image-old.js +1 -1
- package/layout/image.js +1 -1
- package/layout/index.js +5 -1
- package/layout/label.js +1 -1
- package/layout/link.js +1 -1
- package/layout/list-OLD.js +1 -1
- package/layout/list.js +1 -1
- package/layout/meta-adder.js +1 -1
- package/layout/modal-2025.js +1 -1
- package/layout/modernwrap.js +1 -1
- package/layout/multiswitcher.js +1 -1
- package/layout/multiswitcherBeta.js +1 -1
- package/layout/nav-bar.js +1 -1
- package/layout/nav-factor/custom-div.js +1 -1
- package/layout/navBar-OLD.js +1 -1
- package/layout/new-flat-adder.js +1 -1
- package/layout/new-nav-bar.js +1 -1
- package/layout/offset-container.js +1 -1
- package/layout/polygon.js +1 -1
- package/layout/progress.js +1 -1
- package/layout/row.js +1 -1
- package/layout/saved-new-nav-bar.js +1 -1
- package/layout/scroll-video.js +1 -1
- package/layout/side-bar.js +1 -1
- package/layout/side-nav-bar.js +1 -1
- package/layout/simple-bar.js +1 -1
- package/layout/slider-2025.js +1 -1
- package/layout/spacer.js +1 -1
- package/layout/stack.js +1 -1
- package/layout/styler.js +1 -1
- package/layout/switcher.js +1 -1
- package/layout/table.js +1 -1
- package/layout/text-field.js +1 -1
- package/layout/text.js +1 -1
- package/layout/ulist.js +1 -1
- package/layout/video.js +1 -1
- package/layout/without-new.js +1 -1
- package/layout/wrap.js +1 -1
- package/layout/zoom-card.js +1 -1
- package/lib/card-getter.js +1 -1
- package/lib/designer.js +1 -1
- package/lib/element-mapper.js +1 -1
- package/lib/keyframe-animation.js +1 -1
- package/lib/link-getter.js +1 -1
- package/lib/scroll-video.js +1 -1
- package/lib/stacker.js +1 -1
- package/lib/theme.js +92 -0
- package/lib/transform-anim.js +5 -4
- package/package.json +1 -1
package/layout/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* nodality v1.0.
|
|
2
|
+
* nodality v1.0.124
|
|
3
3
|
* (c) 2026 Filip Vabrousek
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -62,6 +62,7 @@ import { KeyframeAnim } from "../lib/keyframe-animation.js";
|
|
|
62
62
|
import { TransformAnim } from "../lib/transform-anim.js";
|
|
63
63
|
import { Stacker } from "../lib/stacker.js";
|
|
64
64
|
import { ScrollVideo } from "../lib/scroll-video.js";
|
|
65
|
+
import { Theme } from "../lib/theme.js";
|
|
65
66
|
|
|
66
67
|
// SHAPES / MISC
|
|
67
68
|
import { AreaSwitcher } from "../layout/grid-switcher.js";
|
|
@@ -117,6 +118,7 @@ if (typeof window !== 'undefined') {
|
|
|
117
118
|
window.TransformAnim = TransformAnim;
|
|
118
119
|
window.Stacker = Stacker;
|
|
119
120
|
window.ScrollVideo = ScrollVideo;
|
|
121
|
+
window.Theme = Theme;
|
|
120
122
|
window.AreaSwitcher = AreaSwitcher;
|
|
121
123
|
window.Video = Video;
|
|
122
124
|
window.UList = UList;
|
|
@@ -171,6 +173,7 @@ if (typeof global !== 'undefined') {
|
|
|
171
173
|
global.TransformAnim = TransformAnim;
|
|
172
174
|
global.Stacker = Stacker;
|
|
173
175
|
global.ScrollVideo = ScrollVideo;
|
|
176
|
+
global.Theme = Theme;
|
|
174
177
|
global.AreaSwitcher = AreaSwitcher;
|
|
175
178
|
global.Video = Video;
|
|
176
179
|
global.UList = UList;
|
|
@@ -225,6 +228,7 @@ export {
|
|
|
225
228
|
TransformAnim,
|
|
226
229
|
Stacker,
|
|
227
230
|
ScrollVideo,
|
|
231
|
+
Theme,
|
|
228
232
|
AreaSwitcher,
|
|
229
233
|
Video,
|
|
230
234
|
UList,
|
package/layout/label.js
CHANGED
package/layout/link.js
CHANGED
package/layout/list-OLD.js
CHANGED
package/layout/list.js
CHANGED
package/layout/meta-adder.js
CHANGED
package/layout/modal-2025.js
CHANGED
package/layout/modernwrap.js
CHANGED
package/layout/multiswitcher.js
CHANGED
package/layout/nav-bar.js
CHANGED
package/layout/navBar-OLD.js
CHANGED
package/layout/new-flat-adder.js
CHANGED
package/layout/new-nav-bar.js
CHANGED
package/layout/polygon.js
CHANGED
package/layout/progress.js
CHANGED
package/layout/row.js
CHANGED
package/layout/scroll-video.js
CHANGED
package/layout/side-bar.js
CHANGED
package/layout/side-nav-bar.js
CHANGED
package/layout/simple-bar.js
CHANGED
package/layout/slider-2025.js
CHANGED
package/layout/spacer.js
CHANGED
package/layout/stack.js
CHANGED
package/layout/styler.js
CHANGED
package/layout/switcher.js
CHANGED
package/layout/table.js
CHANGED
package/layout/text-field.js
CHANGED
package/layout/text.js
CHANGED
package/layout/ulist.js
CHANGED
package/layout/video.js
CHANGED
package/layout/without-new.js
CHANGED
package/layout/wrap.js
CHANGED
package/layout/zoom-card.js
CHANGED
package/lib/card-getter.js
CHANGED
package/lib/designer.js
CHANGED
package/lib/element-mapper.js
CHANGED
package/lib/link-getter.js
CHANGED
package/lib/scroll-video.js
CHANGED
package/lib/stacker.js
CHANGED
package/lib/theme.js
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* nodality v1.0.124
|
|
3
|
+
* (c) 2026 Filip Vabrousek
|
|
4
|
+
* License: MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// Nodality Theme — central dark/light mode + event bus.
|
|
8
|
+
// No CSS. Components declare per-mode inline styles via .set({ theme: {...} }).
|
|
9
|
+
|
|
10
|
+
const STORAGE_KEY = "nodality.theme.mode";
|
|
11
|
+
const EVENT_NAME = "nodality:theme";
|
|
12
|
+
|
|
13
|
+
function detectInitialMode() {
|
|
14
|
+
try {
|
|
15
|
+
const saved = localStorage.getItem(STORAGE_KEY);
|
|
16
|
+
if (saved === "light" || saved === "dark") return saved;
|
|
17
|
+
} catch (e) {}
|
|
18
|
+
if (typeof window !== "undefined" && window.matchMedia) {
|
|
19
|
+
if (window.matchMedia("(prefers-color-scheme: dark)").matches) return "dark";
|
|
20
|
+
}
|
|
21
|
+
return "light";
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const Theme = {
|
|
25
|
+
mode: detectInitialMode(),
|
|
26
|
+
tokens: { light: {}, dark: {} },
|
|
27
|
+
|
|
28
|
+
// Built-in defaults applied to every component that did NOT declare its own
|
|
29
|
+
// .theme({...}) map. Only fills in properties the component hasn't already
|
|
30
|
+
// set inline, so user styles always win.
|
|
31
|
+
//
|
|
32
|
+
// NOTE: only `color` is set by default. Background is intentionally omitted
|
|
33
|
+
// because applying it to every nested container produces stacked dark
|
|
34
|
+
// rectangles and breaks transparent layouts. Set the page background
|
|
35
|
+
// yourself (e.g., on body) or call Theme.setDefaults({...}) to opt in.
|
|
36
|
+
defaults: {
|
|
37
|
+
light: { color: "#111111" },
|
|
38
|
+
dark: { color: "#eeeeee" }
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
setDefaults(map) {
|
|
42
|
+
if (map && typeof map === "object") {
|
|
43
|
+
if (map.light) this.defaults.light = Object.assign({}, this.defaults.light, map.light);
|
|
44
|
+
if (map.dark) this.defaults.dark = Object.assign({}, this.defaults.dark, map.dark);
|
|
45
|
+
this._broadcast();
|
|
46
|
+
}
|
|
47
|
+
return this;
|
|
48
|
+
},
|
|
49
|
+
|
|
50
|
+
setTokens(tokens) {
|
|
51
|
+
if (tokens && typeof tokens === "object") {
|
|
52
|
+
if (tokens.light) Object.assign(this.tokens.light, tokens.light);
|
|
53
|
+
if (tokens.dark) Object.assign(this.tokens.dark, tokens.dark);
|
|
54
|
+
}
|
|
55
|
+
return this;
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
get current() {
|
|
59
|
+
return this.tokens[this.mode] || {};
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
set(mode) {
|
|
63
|
+
if (mode !== "light" && mode !== "dark") return this;
|
|
64
|
+
if (mode === this.mode) return this;
|
|
65
|
+
this.mode = mode;
|
|
66
|
+
try { localStorage.setItem(STORAGE_KEY, mode); } catch (e) {}
|
|
67
|
+
this._broadcast();
|
|
68
|
+
return this;
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
toggle() {
|
|
72
|
+
return this.set(this.mode === "dark" ? "light" : "dark");
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
subscribe(fn) {
|
|
76
|
+
if (typeof document === "undefined") return () => {};
|
|
77
|
+
const handler = (e) => fn(e.detail.mode, e.detail.tokens);
|
|
78
|
+
document.addEventListener(EVENT_NAME, handler);
|
|
79
|
+
// Fire once with current state so late subscribers sync immediately.
|
|
80
|
+
try { fn(this.mode, this.current); } catch (e) {}
|
|
81
|
+
return () => document.removeEventListener(EVENT_NAME, handler);
|
|
82
|
+
},
|
|
83
|
+
|
|
84
|
+
_broadcast() {
|
|
85
|
+
if (typeof document === "undefined") return;
|
|
86
|
+
document.dispatchEvent(new CustomEvent(EVENT_NAME, {
|
|
87
|
+
detail: { mode: this.mode, tokens: this.current }
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export { Theme };
|
package/lib/transform-anim.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* nodality v1.0.
|
|
2
|
+
* nodality v1.0.124
|
|
3
3
|
* (c) 2026 Filip Vabrousek
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -65,9 +65,10 @@ toCode(){
|
|
|
65
65
|
wrapDiv.style.height = "900px"; // same as paddingTop
|
|
66
66
|
|
|
67
67
|
|
|
68
|
-
if (
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
if (this.data.position) {
|
|
69
|
+
wrapDiv.style.position = this.data.position;
|
|
70
|
+
} else if (!this.data.sticky) {
|
|
71
|
+
wrapDiv.style.position = "fixed";
|
|
71
72
|
}
|
|
72
73
|
|
|
73
74
|
wrapDiv.style.marginTop = "0px";
|