nodality 1.0.121 → 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/.claude/settings.local.json +15 -0
- package/layout/animator.js +139 -22
- 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 +2 -2
- 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 +9 -10
- package/package.json +1 -1
package/layout/free.js
CHANGED
package/layout/grid-new.js
CHANGED
package/layout/grid-switcher.js
CHANGED
package/layout/grid.js
CHANGED
package/layout/group.js
CHANGED
package/layout/header.js
CHANGED
package/layout/image-old.js
CHANGED
package/layout/image.js
CHANGED
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
|
@@ -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
|
*/
|
|
@@ -454,7 +454,7 @@ this.res.style.position = "absolute";
|
|
|
454
454
|
|
|
455
455
|
obj.onScroll && this.onScroll(obj.onScroll);
|
|
456
456
|
|
|
457
|
-
|
|
457
|
+
obj.keySet && this.keySet(obj.keySet);
|
|
458
458
|
|
|
459
459
|
//obj.maxHeight && (this.res.style.maxHeight = obj.maxHeight);
|
|
460
460
|
|
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
|
*/
|
|
@@ -36,10 +36,11 @@ toCode(){
|
|
|
36
36
|
return [""];
|
|
37
37
|
}
|
|
38
38
|
set(obj){
|
|
39
|
-
|
|
40
|
-
// alert(this.res.style.height);
|
|
41
|
-
obj.arrayPadding && (this.wrdiv.style.marginTop = obj.arrayPadding.value /*this.res.style.height*/);
|
|
39
|
+
obj.arrayPadding && (this.wrdiv.style.marginTop = obj.arrayPadding.value);
|
|
42
40
|
obj.height && (this.wrdiv.style.height = obj.height);
|
|
41
|
+
if (obj.position) {
|
|
42
|
+
this.wrdiv.style.position = obj.position;
|
|
43
|
+
}
|
|
43
44
|
return this;
|
|
44
45
|
}
|
|
45
46
|
|
|
@@ -60,14 +61,14 @@ toCode(){
|
|
|
60
61
|
wrapDiv.style.display = "flex";
|
|
61
62
|
wrapDiv.style.justifyContent = "center";
|
|
62
63
|
wrapDiv.style.alignItems = "center";
|
|
63
|
-
wrapDiv.style.background = "orange";
|
|
64
64
|
// wrapDiv.style.height = "100vh"; // Keep this
|
|
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";
|
|
@@ -363,11 +364,9 @@ return this;
|
|
|
363
364
|
|
|
364
365
|
if (this.data.uncomment) {
|
|
365
366
|
if (window.scrollY > top) { // MAKE THIS ADJUSTABLE
|
|
366
|
-
wrapDiv.style.background = "pink";
|
|
367
367
|
wrapDiv.style.position = "relative";
|
|
368
368
|
wrapDiv.style.top = top; // FIX HERE
|
|
369
369
|
} else {
|
|
370
|
-
wrapDiv.style.background = "orange";
|
|
371
370
|
wrapDiv.style.top = 0;
|
|
372
371
|
wrapDiv.style.position = "fixed";
|
|
373
372
|
}
|