nodality 1.0.187 → 1.0.188
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/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 +46 -12
- 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 +1 -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 +15 -4
- package/layout/offset-container.js +1 -1
- package/layout/polygon.js +1 -1
- package/layout/prerender-site.js +1 -1
- package/layout/prerender.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/svg.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/data.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/raster-ops.js +556 -46
- package/lib/scroll-video.js +1 -1
- package/lib/seo.js +1 -1
- package/lib/stacker.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/transform-anim.js +1 -1
- package/package.json +1 -1
package/dist/zoom-card.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={};function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}e.d=(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var r="nodality.theme.mode",n="nodality:theme",o={mode:function(){try{var e=localStorage.getItem(r);if("light"===e||"dark"===e)return e}catch(e){}return"undefined"!=typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}(),tokens:{light:{},dark:{}},defaults:{light:{color:"#111"},dark:{}},setDefaults:function(e){return e&&"object"===t(e)&&(e.light&&(this.defaults.light=Object.assign({},this.defaults.light,e.light)),e.dark&&(this.defaults.dark=Object.assign({},this.defaults.dark,e.dark)),this._broadcast()),this},setTokens:function(e){return e&&"object"===t(e)&&(e.light&&Object.assign(this.tokens.light,e.light),e.dark&&Object.assign(this.tokens.dark,e.dark)),this},get current(){return this.tokens[this.mode]||{}},set:function(e){if("light"!==e&&"dark"!==e)return this;if(e===this.mode)return this;this.mode=e;try{localStorage.setItem(r,e)}catch(e){}return this._broadcast(),this},toggle:function(){return this.set("dark"===this.mode?"light":"dark")},subscribe:function(e){if("undefined"==typeof document)return function(){};var t=function(t){return e(t.detail.mode,t.detail.tokens)};document.addEventListener(n,t);try{e(this.mode,this.current)}catch(e){}return function(){return document.removeEventListener(n,t)}},_broadcast:function(){"undefined"!=typeof document&&document.dispatchEvent(new CustomEvent(n,{detail:{mode:this.mode,tokens:this.current}}))}};function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a,i,s=[],l=!0,c=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}(e,t)||l(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||l(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=l(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){s=!0,a=e},f:function(){try{i||null==r.return||r.return()}finally{if(s)throw a}}}}function l(e,t){if(e){if("string"==typeof e)return c(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var u={mouse:function(e){return{x:e.mouseX,y:e.mouseY,amt:1}},hover:function(e){return{x:e.mouseX,y:e.mouseY,amt:e.hover}},scroll:function(e){return{x:.5*e.w,y:e.h*e.scroll,amt:1}},time:function(e){return{x:e.w*(.5+.34*Math.cos(.6*e.t)),y:e.h*(.5+.34*Math.sin(.8*e.t)),amt:1}}},f=Object.keys(u),d={hexalize:{stage:"cell",decl:function(e){return"uniform float ".concat(e,"size;")},code:function(e){return"\n {\n vec2 hp = warped / ".concat(e,"size;\n vec2 hr = vec2(1.0, 1.7320508), hh = hr * 0.5;\n vec2 ha = mod(hp, hr) - hh, hb = mod(hp - hh, hr) - hh;\n vec2 gv = dot(ha, ha) < dot(hb, hb) ? ha : hb;\n center = (hp - gv) * ").concat(e,"size;\n gv = abs(gv);\n edge = max(edge, smoothstep(0.44, 0.5,\n max(dot(gv, normalize(vec2(1.0, 1.7320508))), gv.x)));\n }")},uniforms:function(e,t){return{size:["1f",(e.size||24)*t]}}},offset:{stage:"warp",defaultDriver:"mouse",decl:function(e){return"uniform float ".concat(e,"strength; uniform float ").concat(e,"radius;\n uniform vec2 ").concat(e,"dpos; uniform float ").concat(e,"damt;")},code:function(e){return"\n {\n float d = length(warped - ".concat(e,"dpos);\n float fall = 1.0 - smoothstep(0.0, ").concat(e,"radius, d);\n vec2 dir = d > 0.5 ? (warped - ").concat(e,"dpos) / d : vec2(0.0);\n warped -= dir * ").concat(e,"strength * fall * ").concat(e,"damt;\n }")},uniforms:function(e,t){return{strength:["1f",(e.strength||20)*t],radius:["1f",(e.radius||260)*t]}}},duotone:{stage:"color",decl:function(e){return"uniform vec3 ".concat(e,"a; uniform vec3 ").concat(e,"b; uniform float ").concat(e,"radius;\n uniform vec2 ").concat(e,"dpos; uniform float ").concat(e,"damt;")},code:function(e,t){return"\n {\n float lum = dot(col, vec3(0.299, 0.587, 0.114));\n vec3 duo = mix(".concat(e,"a, ").concat(e,"b, lum);\n ").concat(t.by?"float mask = (1.0 - smoothstep(".concat(e,"radius * 0.35, ").concat(e,"radius,\n length(center - ").concat(e,"dpos))) * ").concat(e,"damt;"):"float mask = 1.0;","\n col = mix(col, duo, mask);\n }")},uniforms:function(e,t){var r=e.colors||["#104B87","#E8FF00"];return{a:["3fv",h(r[0])],b:["3fv",h(r[1])],radius:["1f",(e.radius||220)*t]}}},edges:{stage:"color",decl:function(e){return"uniform vec3 ".concat(e,"color; uniform float ").concat(e,"strength;")},code:function(e){return"\n {\n edgeCol = ".concat(e,"color;\n edgeCov = max(edgeCov, edge * ").concat(e,"strength);\n }")},uniforms:function(e){return{color:["3fv",h(e.color||"#FFFFFF")],strength:["1f",null!=e.strength?e.strength:1]}}},halftone:{stage:"color",decl:function(e){return"\n uniform float ".concat(e,"size;\n uniform float ").concat(e,"angle;\n uniform vec3 ").concat(e,"ink;\n uniform vec3 ").concat(e,"paper;\n uniform float ").concat(e,"soft;\n uniform float ").concat(e,"radius;\n uniform vec2 ").concat(e,"dpos;\n uniform float ").concat(e,"damt;")},code:function(e,t){return"\n {\n float lum = dot(col, vec3(0.299, 0.587, 0.114));\n float sz = ".concat(e,"size;").concat(t.by?"\n float fd = 1.0 - smoothstep(0.0, ".concat(e,"radius, length(frag - ").concat(e,"dpos));\n sz *= 1.0 + fd * ").concat(e,"damt * 1.8;"):"","\n // Screen angle: rotating the grid is what stops the dots\n // reading as a horizontal/vertical texture.\n float ca = cos(").concat(e,"angle), sa = sin(").concat(e,"angle);\n vec2 rp = vec2(ca * frag.x - sa * frag.y,\n sa * frag.x + ca * frag.y) / max(sz, 1.0);\n vec2 cell = fract(rp) - 0.5;\n // Dot radius from tone: darker tone prints a bigger dot.\n // sqrt because ink coverage goes as area, not radius.\n float rr = sqrt(clamp(1.0 - lum, 0.0, 1.0)) * 0.55;\n float dm = smoothstep(rr, rr - ").concat(e,"soft, length(cell));\n col = mix(").concat(e,"paper, ").concat(e,"ink, dm);\n }")},uniforms:function(e,t){return{size:["1f",(e.size||6)*t],angle:["1f",(null!=e.angle?e.angle:15)*Math.PI/180],ink:["3fv",h(e.ink||"#0B1B2B")],paper:["3fv",h(e.paper||"#FFFFFF")],soft:["1f",null!=e.softness?e.softness:.08],radius:["1f",(e.radius||220)*t]}}},aberration:{stage:"displace",chroma:!0,decl:function(e){return"\n uniform float ".concat(e,"amount;\n uniform float ").concat(e,"radius;\n uniform vec2 ").concat(e,"dpos;\n uniform float ").concat(e,"damt;")},code:function(e,t){return"\n {\n vec2 ctr = ".concat(t.by?"".concat(e,"dpos"):"u_res * 0.5",";\n vec2 dv = sampleP - ctr;\n float dl = length(dv);\n vec2 dir = dl > 0.5 ? dv / dl : vec2(0.0);\n ").concat(t.by?"float amt = ".concat(e,"amount * ").concat(e,"damt *\n (1.0 - smoothstep(0.0, ").concat(e,"radius, dl));"):"float amt = ".concat(e,"amount * (dl / max(length(u_res) * 0.5, 1.0));"),"\n chroma += dir * amt;\n }")},uniforms:function(e,t){return{amount:["1f",(null!=e.amount?e.amount:6)*t],radius:["1f",(e.radius||240)*t]}}},stir:{stage:["warp","color"],decl:function(e){return"\n uniform sampler2D ".concat(e,"vel;\n uniform sampler2D ").concat(e,"dye;\n uniform float ").concat(e,"strength;\n uniform float ").concat(e,"dyemix;\n uniform float ").concat(e,"intensity;\n uniform float ").concat(e,"sheen;\n uniform vec3 ").concat(e,"tint;")},code:function(e,t,r){return"warp"===r?"\n {\n // frag/warped are top-down pixels, the field is bottom-up\n // [0,1]: flip y going in, and flip the y of the vector coming\n // out so the content drags WITH the pointer.\n vec2 fuv = vec2(warped.x / u_res.x, 1.0 - warped.y / u_res.y);\n vec2 v = texture2D(".concat(e,"vel, clamp(fuv, 0.001, 0.999)).xy;\n warped += vec2(v.x, -v.y) * ").concat(e,"strength;\n }"):"\n {\n // Sampled at the CONTINUOUS warped position, never at the\n // cell centre: a cell op upstream (hexalize) snaps the cell\n // centre to one point per tile, which would quantise the\n // liquid into flat per-hex patches instead of smooth swirls.\n vec2 suv = vec2(warped.x / u_res.x, 1.0 - warped.y / u_res.y);\n vec3 dc = texture2D(".concat(e,"dye, clamp(suv, 0.001, 0.999)).rgb;\n float mag = length(dc);\n // Colour is carried IN the dye field and advected with it, so\n // a ribbon keeps its hue while the flow folds it. Deriving\n // colour from the local flow direction instead would make\n // neighbouring pixels jump hue and read as confetti.\n vec3 liquid = mag > 1e-4 ? clamp(dc / mag * 1.25, 0.0, 1.0) : ").concat(e,"tint;\n float amt = clamp((1.0 - exp(-mag * ").concat(e,"intensity)) * ").concat(e,"dyemix, 0.0, 1.0);\n // Straight-alpha OVER so a later overlay op (blobs) still\n // composites correctly on top of the liquid.\n float na = amt + ovA * (1.0 - amt);\n ovCol = (liquid * amt + ovCol * ovA * (1.0 - amt)) / max(na, 1e-4);\n ovA = na;\n\n // Faint sheen on the content itself where the flow is fast.\n float sp = length(texture2D(").concat(e,"vel, clamp(suv, 0.001, 0.999)).xy);\n col = mix(col, ").concat(e,"tint, (1.0 - exp(-sp * 0.7)) * ").concat(e,"sheen);\n }")},uniforms:function(e,t){return{strength:["1f",(null!=e.strength?e.strength:26)*t],sheen:["1f",null!=e.sheen?e.sheen:.15],tint:["3fv",h(e.tint||"#7FD4FF")],dyemix:["1f",null!=e.dye?e.dye:.85],intensity:["1f",null!=e.intensity?e.intensity:1.6]}},solver:{resolutions:function(e){return{sim:Math.max(32,Math.min(e.resolution||128,512)),dye:Math.max(64,Math.min(e.dyeResolution||512,1024))}},targets:{velocity:{double:!0,res:"sim",fmt:"rg",smooth:!0},dye:{double:!0,res:"dye",fmt:"rgba",smooth:!0},pressure:{double:!0,res:"sim",fmt:"r",smooth:!1},divergence:{double:!1,res:"sim",fmt:"r",smooth:!1},vorticity:{double:!1,res:"sim",fmt:"r",smooth:!1}},samplers:{vel:"velocity",dye:"dye"},programs:{splat:"\nprecision highp float;\nuniform sampler2D u_src;\nuniform vec2 u_texel;\nuniform vec2 u_point;\nuniform vec3 u_amount;\nuniform float u_radius;\nuniform float u_aspect;\nvoid main() {\n vec2 uv = gl_FragCoord.xy * u_texel;\n vec2 d = uv - u_point;\n if (u_aspect >= 1.0) d.y /= u_aspect; else d.x *= u_aspect;\n float g = exp(-dot(d, d) / max(u_radius * u_radius, 1e-6));\n gl_FragColor = vec4(texture2D(u_src, uv).xyz + u_amount * g, 1.0);\n}",advect:"\nprecision highp float;\nuniform sampler2D u_vel;\nuniform sampler2D u_src;\nuniform vec2 u_texel;\nuniform float u_dt;\nuniform float u_diss;\nvoid main() {\n vec2 uv = gl_FragCoord.xy * u_texel;\n vec2 back = uv - texture2D(u_vel, uv).xy * u_dt;\n gl_FragColor = vec4(texture2D(u_src, clamp(back, 0.0, 1.0)).xyz * u_diss, 1.0);\n}",curl:"\nprecision highp float;\nuniform sampler2D u_vel;\nuniform vec2 u_texel;\nvoid main() {\n vec2 uv = gl_FragCoord.xy * u_texel;\n float r = texture2D(u_vel, uv + vec2(u_texel.x, 0.0)).y;\n float l = texture2D(u_vel, uv - vec2(u_texel.x, 0.0)).y;\n float t = texture2D(u_vel, uv + vec2(0.0, u_texel.y)).x;\n float b = texture2D(u_vel, uv - vec2(0.0, u_texel.y)).x;\n gl_FragColor = vec4(0.5 * ((r - l) - (t - b)), 0.0, 0.0, 1.0);\n}",confine:"\nprecision highp float;\nuniform sampler2D u_vel;\nuniform sampler2D u_curl;\nuniform vec2 u_texel;\nuniform float u_eps;\nuniform float u_dt;\nvoid main() {\n vec2 uv = gl_FragCoord.xy * u_texel;\n float r = texture2D(u_curl, uv + vec2(u_texel.x, 0.0)).x;\n float l = texture2D(u_curl, uv - vec2(u_texel.x, 0.0)).x;\n float t = texture2D(u_curl, uv + vec2(0.0, u_texel.y)).x;\n float b = texture2D(u_curl, uv - vec2(0.0, u_texel.y)).x;\n float c = texture2D(u_curl, uv).x;\n vec2 grad = 0.5 * vec2(abs(r) - abs(l), abs(t) - abs(b));\n vec2 n = grad / (length(grad) + 1e-5);\n vec2 force = u_eps * c * vec2(n.y, -n.x);\n vec2 v = texture2D(u_vel, uv).xy + force * u_dt;\n gl_FragColor = vec4(clamp(v, -64.0, 64.0), 0.0, 1.0);\n}",divergence:"\nprecision highp float;\nuniform sampler2D u_vel;\nuniform vec2 u_texel;\nvoid main() {\n vec2 uv = gl_FragCoord.xy * u_texel;\n float r = texture2D(u_vel, uv + vec2(u_texel.x, 0.0)).x;\n float l = texture2D(u_vel, uv - vec2(u_texel.x, 0.0)).x;\n float t = texture2D(u_vel, uv + vec2(0.0, u_texel.y)).y;\n float b = texture2D(u_vel, uv - vec2(0.0, u_texel.y)).y;\n vec2 c = texture2D(u_vel, uv).xy;\n if (uv.x - u_texel.x < 0.0) l = -c.x;\n if (uv.x + u_texel.x > 1.0) r = -c.x;\n if (uv.y - u_texel.y < 0.0) b = -c.y;\n if (uv.y + u_texel.y > 1.0) t = -c.y;\n gl_FragColor = vec4(0.5 * ((r - l) + (t - b)), 0.0, 0.0, 1.0);\n}",jacobi:"\nprecision highp float;\nuniform sampler2D u_p;\nuniform sampler2D u_div;\nuniform vec2 u_texel;\nvoid main() {\n vec2 uv = gl_FragCoord.xy * u_texel;\n float r = texture2D(u_p, uv + vec2(u_texel.x, 0.0)).x;\n float l = texture2D(u_p, uv - vec2(u_texel.x, 0.0)).x;\n float t = texture2D(u_p, uv + vec2(0.0, u_texel.y)).x;\n float b = texture2D(u_p, uv - vec2(0.0, u_texel.y)).x;\n float d = texture2D(u_div, uv).x;\n gl_FragColor = vec4((r + l + t + b - d) * 0.25, 0.0, 0.0, 1.0);\n}",subtract:"\nprecision highp float;\nuniform sampler2D u_p;\nuniform sampler2D u_vel;\nuniform vec2 u_texel;\nvoid main() {\n vec2 uv = gl_FragCoord.xy * u_texel;\n float r = texture2D(u_p, uv + vec2(u_texel.x, 0.0)).x;\n float l = texture2D(u_p, uv - vec2(u_texel.x, 0.0)).x;\n float t = texture2D(u_p, uv + vec2(0.0, u_texel.y)).x;\n float b = texture2D(u_p, uv - vec2(0.0, u_texel.y)).x;\n vec2 v = texture2D(u_vel, uv).xy - 0.5 * vec2(r - l, t - b);\n gl_FragColor = vec4(v, 0.0, 1.0);\n}",decay:"\nprecision highp float;\nuniform sampler2D u_tex;\nuniform vec2 u_texel;\nuniform float u_value;\nvoid main() {\n gl_FragColor = texture2D(u_tex, gl_FragCoord.xy * u_texel) * u_value;\n}"},splatColor:function(e,t,r){var n=null!=e.dyeAmount?e.dyeAmount:.6;if(!e.rainbow){var o=h(e.tint||"#7FD4FF");return[o[0]*n,o[1]*n,o[2]*n]}var a=Math.atan2(r,t);return[(.5+.5*Math.cos(a))*n,(.5+.5*Math.cos(a+2.0944))*n,(.5+.5*Math.cos(a+4.1888))*n]},step:function(e,t,r){var n=Math.min(r.dt,1/30),o=1/e.res.sim,a=1/e.res.dye,i=function(e,t){return Math.pow(e,60*t)};if(r.moving){var s=null!=t.force?t.force:1;e.use("splat"),e.f1("u_radius",null!=t.radius?t.radius:.1),e.f1("u_aspect",r.aspect),e.f2("u_point",r.px,r.py),e.f2("u_texel",o,o),e.smp("u_src",e.read("velocity"),0),e.f3("u_amount",r.dx*s,r.dy*s,0),e.blit(e.write("velocity")),e.swap("velocity"),e.f2("u_texel",a,a),e.smp("u_src",e.read("dye"),0),e.f3("u_amount",r.col[0],r.col[1],r.col[2]),e.blit(e.write("dye")),e.swap("dye")}e.use("curl"),e.f2("u_texel",o,o),e.smp("u_vel",e.read("velocity"),0),e.blit(e.single("vorticity")),e.use("confine"),e.f2("u_texel",o,o),e.f1("u_eps",null!=t.curl?t.curl:2.2),e.f1("u_dt",n),e.smp("u_vel",e.read("velocity"),0),e.smp("u_curl",e.single("vorticity"),1),e.blit(e.write("velocity")),e.swap("velocity"),e.use("divergence"),e.f2("u_texel",o,o),e.smp("u_vel",e.read("velocity"),0),e.blit(e.single("divergence")),e.use("decay"),e.f2("u_texel",o,o),e.f1("u_value",i(null!=t.pressure?t.pressure:.8,n)),e.smp("u_tex",e.read("pressure"),0),e.blit(e.write("pressure")),e.swap("pressure"),e.use("jacobi"),e.f2("u_texel",o,o),e.smp("u_div",e.single("divergence"),1);for(var l=Math.max(1,Math.min(t.pressureIterations||6,40)),c=0;c<l;c++)e.smp("u_p",e.read("pressure"),0),e.blit(e.write("pressure")),e.swap("pressure");e.use("subtract"),e.f2("u_texel",o,o),e.smp("u_p",e.read("pressure"),0),e.smp("u_vel",e.read("velocity"),1),e.blit(e.write("velocity")),e.swap("velocity"),e.use("advect"),e.f1("u_dt",n),e.f2("u_texel",o,o),e.smp("u_vel",e.read("velocity"),0),e.smp("u_src",e.read("velocity"),0),e.f1("u_diss",i(null!=t.decay?t.decay:.985,n)),e.blit(e.write("velocity")),e.swap("velocity"),e.f2("u_texel",a,a),e.smp("u_vel",e.read("velocity"),0),e.smp("u_src",e.read("dye"),1),e.f1("u_diss",i(null!=t.dyeFade?t.dyeFade:.97,n)),e.blit(e.write("dye")),e.swap("dye")}}},blobs:{stage:"color",overlay:!0,mips:!0,decl:function(e){return"\n uniform vec3 ".concat(e,"blobs[").concat(12,"];\n uniform int ").concat(e,"count;\n uniform vec3 ").concat(e,"tint;\n uniform float ").concat(e,"refract;\n uniform float ").concat(e,"rim;\n uniform float ").concat(e,"alpha;\n uniform float ").concat(e,"irid;\n uniform float ").concat(e,"disp;\n uniform float ").concat(e,"frost;\n float ").concat(e,"hash(vec3 v) {\n return fract(sin(dot(v, vec3(21.9898, 63.233, 41.719))) * 41739.317);\n }\n float ").concat(e,"noise(vec3 v) {\n vec3 f = floor(v);\n vec3 r = v - f;\n r = r * r * (3.0 - 2.0 * r);\n float c000 = ").concat(e,"hash(f);\n float c100 = ").concat(e,"hash(f + vec3(1.0, 0.0, 0.0));\n float c010 = ").concat(e,"hash(f + vec3(0.0, 1.0, 0.0));\n float c110 = ").concat(e,"hash(f + vec3(1.0, 1.0, 0.0));\n float c001 = ").concat(e,"hash(f + vec3(0.0, 0.0, 1.0));\n float c101 = ").concat(e,"hash(f + vec3(1.0, 0.0, 1.0));\n float c011 = ").concat(e,"hash(f + vec3(0.0, 1.0, 1.0));\n float c111 = ").concat(e,"hash(f + vec3(1.0, 1.0, 1.0));\n return mix(\n mix(mix(c000, c100, r.x), mix(c010, c110, r.x), r.y),\n mix(mix(c001, c101, r.x), mix(c011, c111, r.x), r.y), r.z);\n }")},code:function(e){return"\n {\n float field = 0.0;\n vec2 grad = vec2(0.0);\n for (int bi = 0; bi < ".concat(12,"; bi++) {\n if (bi >= ").concat(e,"count) break;\n vec2 bd = frag - ").concat(e,"blobs[bi].xy;\n float br = ").concat(e,"blobs[bi].z;\n float dd = max(dot(bd, bd), 1.0);\n field += (br * br) / dd;\n grad += (-2.0 * (br * br) / (dd * dd)) * bd;\n }\n float bmask = smoothstep(0.6, 1.0, field);\n if (bmask > 0.003) {\n float gmag = length(grad);\n vec2 g2 = gmag > 1e-6 ? -grad / gmag : vec2(0.0);\n // Pseudo-3D surface normal from the 2D field. For a\n // metaball field (sum of r^2/d^2), 1/sqrt(field) IS the\n // normalized radial position: 0 at the centre, 1 at the\n // surface. That yields a true hemisphere profile — the\n // curvature (and therefore refraction) varies smoothly\n // across the WHOLE disc, not just an edge annulus.\n float s = clamp(inversesqrt(max(field, 1e-4)), 0.0, 1.0);\n vec3 n = normalize(vec3(g2 * s, sqrt(max(1.0 - s * s, 0.004))));\n vec3 rd = vec3(0.0, 0.0, -1.0);\n\n // Dispersion: refract each channel with a slightly\n // different index (water-glass ~1.33). Near the rim the\n // exit direction flattens (|z| -> 0), so the sampling\n // offsets stretch — producing the smooth concentric\n // colour-fringed bands of a thick lens.\n float ca = 0.03 * ").concat(e,"disp;\n vec3 tR = refract(rd, n, 1.0 / (1.33 - ca));\n vec3 tG = refract(rd, n, 1.0 / 1.33);\n vec3 tB = refract(rd, n, 1.0 / (1.33 + ca));\n vec2 oR = tR.xy * (").concat(e,"refract / max(abs(tR.z), 0.3));\n vec2 oG = tG.xy * (").concat(e,"refract / max(abs(tG.z), 0.3));\n vec2 oB = tB.xy * (").concat(e,"refract / max(abs(tB.z), 0.3));\n\n // Blur grows with how far the ray was bent (mip bias), so\n // strongly-refracted regions smear smoothly instead of\n // showing sharp displaced copies. frost adds a base blur.\n float lod = ").concat(e,"frost * 5.0 + log2(1.0 + length(oG) * 0.035);\n vec2 px = 1.0 / u_res;\n vec4 sG = texture2D(u_tex, clamp(uv + oG * px, 0.002, 0.998), lod);\n vec3 refr;\n refr.r = texture2D(u_tex, clamp(uv + oR * px, 0.002, 0.998), lod).r;\n refr.g = sG.g;\n refr.b = texture2D(u_tex, clamp(uv + oB * px, 0.002, 0.998), lod).b;\n // Blend in (approximately) linear light for clean fringes.\n refr = pow(max(refr, 0.0), vec3(2.2));\n\n vec3 tintLin = pow(").concat(e,"tint, vec3(2.2));\n vec3 bodyLin = mix(tintLin * 0.35, refr, sG.a);\n\n // Glass darkens toward the silhouette (absorption), the\n // opposite of an additive glow ring.\n float edge = pow(1.0 - clamp(n.z, 0.0, 1.0), 1.5);\n bodyLin *= 1.0 - 0.35 * ").concat(e,"rim * edge;\n vec3 body = pow(max(bodyLin, 0.0), vec3(1.0 / 2.2));\n\n // Sparse iridescent glints: two drifting value-noise\n // fields sampled on the reflection direction, one warm\n // one cool, sharpened hard so only sparkles survive.\n vec3 rf = reflect(rd, n);\n float nA = ").concat(e,"noise(rf * 2.3 + u_time * 0.5);\n float nB = ").concat(e,"noise(rf * 2.3 - u_time * 0.5);\n vec3 glint = pow(max(vec3(0.30, 0.52, 0.86) * nA +\n vec3(0.80, 0.56, 0.34) * nB, 0.0), vec3(6.0));\n body += glint * ").concat(e,"irid;\n\n // Small hard specular from a fixed key light.\n vec3 L = normalize(vec3(-0.5, 0.7, 0.6));\n float spec = pow(max(dot(reflect(-L, n), vec3(0.0, 0.0, 1.0)), 0.0), 60.0);\n body += spec * 0.35;\n\n ovCol = body;\n ovA = max(ovA, bmask * ").concat(e,"alpha);\n }\n }")},uniforms:function(e,t){return{tint:["3fv",h(e.color||"#EAF4EE")],refract:["1f",(null!=e.refract?e.refract:70)*t],rim:["1f",null!=e.rim?e.rim:.6],alpha:["1f",null!=e.alpha?e.alpha:1],irid:["1f",null!=e.iridescence?e.iridescence:.8],disp:["1f",null!=e.dispersion?e.dispersion:1],frost:["1f",null!=e.frost?e.frost:.25]}},init:function(e,t,r,n){for(var o=(e.radius||46)*t,a=Math.max(1,Math.min(null!=e.trail?e.trail:7,12)),i=[],s=0,l=0;l<a;l++){var c=Math.pow(.86,l);i.push(c),s+=c*c}for(var u=Math.sqrt(s),f=i.map(function(e){return o*e/u}),d=i.map(function(e,t){return.85*o*Math.pow(.955,t)}),h=function(e,t){return e+Math.random()*(t-e)},p=Math.max(0,Math.min((e.count||1)-1,12-a)),v=[],m=0;m<p;m++){var y=h(0,2*Math.PI),g=h(30,80)*t;v.push({x:h(o,r-o),y:h(o,n-o),r:o*h(.45,.8),vx:Math.cos(y)*g,vy:Math.sin(y)*g,phase:h(0,2*Math.PI)})}for(var x={x:.5*r,y:.55*n},b=[],w=0;w<a;w++)b.push({x:x.x,y:x.y});return{head:x,chain:b,nTrail:a,drifters:v,trailIdleR:f,trailMoveR:d,stretch:0,seg:.9*o}},tick:function(e,t){var r=Math.min(t.dt,.05),n=t.w,o=t.h,a=1-Math.exp(9*-r);e.head.x+=(t.mouseX-e.head.x)*a,e.head.y+=(t.mouseY-e.head.y)*a;var i=e.chain;i[0].x=e.head.x,i[0].y=e.head.y;for(var l=1-Math.exp(16*-r),c=1;c<i.length;c++){var u=i[c-1],f=i[c],d=u.x-f.x,h=u.y-f.y,p=Math.hypot(d,h)||1e-4,v=e.seg;p>v&&(f.x+=d*(1-v/p),f.y+=h*(1-v/p)),f.x+=(u.x-f.x)*l,f.y+=(u.y-f.y)*l}var m=i[i.length-1],y=Math.hypot(m.x-e.head.x,m.y-e.head.y),g=Math.max(1,e.seg*(e.nTrail-1)),x=Math.min(1,y/g);e.stretch+=(x-e.stretch)*(1-Math.exp(8*-r));var b,w=s(e.drifters);try{for(w.s();!(b=w.n()).done;){var _=b.value;_.x+=_.vx*r,_.y+=_.vy*r,_.x<_.r?(_.x=_.r,_.vx=Math.abs(_.vx)):_.x>n-_.r&&(_.x=n-_.r,_.vx=-Math.abs(_.vx)),_.y<_.r?(_.y=_.r,_.vy=Math.abs(_.vy)):_.y>o-_.r&&(_.y=o-_.r,_.vy=-Math.abs(_.vy)),_.phase+=1.6*r}}catch(e){w.e(e)}finally{w.f()}for(var k=new Float32Array(36),E=e.stretch,T=0;T<e.nTrail;T++){var S=i[T];k[3*T]=S.x,k[3*T+1]=S.y,k[3*T+2]=e.trailIdleR[T]+(e.trailMoveR[T]-e.trailIdleR[T])*E}return e.drifters.forEach(function(t,r){var n=e.nTrail+r;k[3*n]=t.x,k[3*n+1]=t.y,k[3*n+2]=t.r*(1+.12*Math.sin(t.phase))}),[{name:"blobs",kind:"3fv",value:k},{name:"count",kind:"1i",value:e.nTrail+e.drifters.length}]}}};function h(e){return[1,3,5].map(function(t){return parseInt(e.slice(t,t+2),16)/255})}Object.keys(d);var p="attribute vec2 a; void main(){ gl_Position = vec4(a, 0.0, 1.0); }",v=/\d(?:vw|vh|vmin|vmax|dvw|dvh|svw|svh|lvw|lvh)\b/i;function m(e,t){if(!e||"undefined"==typeof document||"undefined"==typeof window)return null;if(!t||0===t.length)return null;if("function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches)return null;if(e.querySelector&&e.querySelector(":scope > canvas[data-nodality-raster]"))return null;var r=function(){var t=e.getBoundingClientRect();return{width:Math.max(t.width,e.scrollWidth||0),height:Math.max(t.height,e.scrollHeight||0)}},n=r();if(n.width<2||n.height<2)return null;var o=Math.min(window.devicePixelRatio||1,2),l=t.some(function(e){return(d[e.op]||{}).overlay}),c=t.every(function(e){return(d[e.op]||{}).overlay}),h=!c&&!t.some(function(e){return!1===e.live}),m="undefined"!=typeof WebGL2RenderingContext&&"texElementImage2D"in WebGL2RenderingContext.prototype||"undefined"!=typeof WebGLRenderingContext&&"texElementImage2D"in WebGLRenderingContext.prototype,y=h&&m;h&&!y&&console.info("[nodality] HTML-in-Canvas API not available - raster ops fall back to snapshot capture.");var g=document.createElement("canvas");y&&g.setAttribute("layoutsubtree","");var x={alpha:!0,premultipliedAlpha:!1},b=g.getContext("webgl2",x)||g.getContext("webgl",x);if(!b)return null;var w="undefined"!=typeof WebGL2RenderingContext&&b instanceof WebGL2RenderingContext,_=w&&t.some(function(e){return(d[e.op]||{}).mips});y&&!("texElementImage2D"in b)&&(console.info("[nodality] texElementImage2D missing on the created context - snapshot fallback."),g.removeAttribute("layoutsubtree"),y=!1),"static"===window.getComputedStyle(e).position&&(e.style.position="relative"),g.width=Math.round(n.width*o),g.height=Math.round(n.height*o),g.setAttribute("data-nodality-raster",y?"live":"snapshot"),console.info("[nodality] raster backend:",y?"html-in-canvas (live)":"snapshot");var k=e;if(y){var E=document.createElement("div");for(E.style.cssText="display:block;width:".concat(n.width,"px;height:").concat(n.height,"px;");e.firstChild;)E.appendChild(e.firstChild);g.appendChild(E),k=E,g.style.cssText="display:block;width:".concat(n.width,"px;height:").concat(n.height,"px;")}else if(g.style.cssText="position:absolute;top:0;left:0;"+"width:".concat(n.width,"px;height:").concat(n.height,"px;")+"pointer-events:none;z-index:2147483000;",c)g.setAttribute("aria-hidden","true");else{g.setAttribute("role","img");var T=(e.textContent||"").replace(/\s+/g," ").trim();T&&g.setAttribute("aria-label",T.slice(0,300))}e.appendChild(g);var S=function(e,t){var r=b.createShader(e);if(b.shaderSource(r,t),b.compileShader(r),!b.getShaderParameter(r,b.COMPILE_STATUS))throw new Error("[nodality] raster shader: "+b.getShaderInfoLog(r));return r},R=b.createProgram();b.attachShader(R,S(b.VERTEX_SHADER,p)),b.attachShader(R,S(b.FRAGMENT_SHADER,function(e){var t="",r="",n="",o="",a="";e.forEach(function(e,i){var s=d[e.op];if(s){var l="u".concat(i,"_");t+=s.decl(l,e)+"\n",(Array.isArray(s.stage)?s.stage:[s.stage]).forEach(function(t){var i=s.code(l,e,t)+"\n";"warp"===t?r+=i:"cell"===t?n+=i:"displace"===t?o+=i:a+=i})}});var i=e.some(function(e){return"edges"===e.op})?"":" col *= 1.0 - edge * 0.55;",s=e.some(function(e){return(d[e.op]||{}).chroma})?"\n vec2 cpx = vec2(chroma.x, -chroma.y) / u_res;\n col.r = texture2D(u_tex, clamp(uv + cpx, 0.001, 0.999)).r;\n col.b = texture2D(u_tex, clamp(uv - cpx, 0.001, 0.999)).b;":"";return"\nprecision highp float;\nuniform sampler2D u_tex;\nuniform vec2 u_res;\nuniform vec2 u_mouse;\nuniform float u_time;\n".concat(t,"\nvoid main() {\n vec2 frag = vec2(gl_FragCoord.x, u_res.y - gl_FragCoord.y);\n vec2 warped = frag;\n").concat(r,"\n vec2 center = warped;\n float edge = 0.0;\n").concat(n,"\n vec2 sampleP = warped;\n vec2 chroma = vec2(0.0);\n").concat(o,"\n vec2 uv = vec2(sampleP.x / u_res.x, 1.0 - sampleP.y / u_res.y);\n vec4 tex = texture2D(u_tex, clamp(uv, 0.001, 0.999));\n vec3 col = tex.rgb;").concat(s,"\n vec3 edgeCol = vec3(1.0);\n float edgeCov = 0.0;\n vec3 ovCol = vec3(0.0);\n float ovA = 0.0;\n").concat(a,"\n").concat(i,"\n // content OVER border\n float baseA = tex.a + edgeCov * (1.0 - tex.a);\n vec3 baseRGB = (col * tex.a + edgeCol * edgeCov * (1.0 - tex.a)) / max(baseA, 1e-4);\n // overlay OVER (content+border)\n float outA = ovA + baseA * (1.0 - ovA);\n vec3 outRGB = (ovCol * ovA + baseRGB * baseA * (1.0 - ovA)) / max(outA, 1e-4);\n gl_FragColor = vec4(outRGB, outA);\n}")}(t))),b.bindAttribLocation(R,0,"a"),b.linkProgram(R),b.useProgram(R),b.bindBuffer(b.ARRAY_BUFFER,b.createBuffer()),b.bufferData(b.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),b.STATIC_DRAW),b.enableVertexAttribArray(0),b.vertexAttribPointer(0,2,b.FLOAT,!1,0,0);var A=function(e){return b.getUniformLocation(R,e)},C=function(e,t,r){"1f"===t?b.uniform1f(e,r):"1i"===t?b.uniform1i(e,r):"2fv"===t?b.uniform2fv(e,r):"3fv"===t&&b.uniform3fv(e,r)};t.forEach(function(e,t){var r=d[e.op];if(r&&r.uniforms){var n=r.uniforms(e,o);for(var a in n)C(A("u".concat(t,"_").concat(a)),n[a][0],n[a][1])}});var M=[];t.forEach(function(e,t){var r=d[e.op];r&&"function"==typeof r.init&&M.push({i:t,def:r,state:r.init(e,o,g.width,g.height)})});var D="undefined"!=typeof performance?performance.now():0,F=[];t.forEach(function(e,t){var r=d[e.op];if(r&&r.solver){var n=function(e,t){var r=d[e.op];if(!w||!b.getExtension("EXT_color_buffer_float"))return console.info("[nodality] '"+e.op+"' needs WebGL2 float render targets - op skipped."),null;b.getExtension("OES_texture_float_linear");var n=r.solver.resolutions(e),o={r:[b.R16F,b.RED],rg:[b.RG16F,b.RG],rgba:[b.RGBA16F,b.RGBA]},i=[],s=function(e,t,r){var n=a(o[t],2),s=n[0],l=n[1],c=b.createTexture();b.bindTexture(b.TEXTURE_2D,c);var u=r?b.LINEAR:b.NEAREST;b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,u),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,u),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE),b.texImage2D(b.TEXTURE_2D,0,s,e,e,0,l,b.HALF_FLOAT,null);var f=b.createFramebuffer();b.bindFramebuffer(b.FRAMEBUFFER,f),b.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0,b.TEXTURE_2D,c,0);var d=b.checkFramebufferStatus(b.FRAMEBUFFER)===b.FRAMEBUFFER_COMPLETE;b.viewport(0,0,e,e),b.clearColor(0,0,0,1),b.clear(b.COLOR_BUFFER_BIT);var h={tex:c,fbo:f,size:e,ok:d};return i.push(h),h},l={},c=!0;for(var u in r.solver.targets){var f=r.solver.targets[u],h=n[f.res];f.double?(l[u]={a:s(h,f.fmt,f.smooth),b:s(h,f.fmt,f.smooth)},c=c&&l[u].a.ok&&l[u].b.ok):(l[u]={a:s(h,f.fmt,f.smooth)},c=c&&l[u].a.ok)}b.bindFramebuffer(b.FRAMEBUFFER,null);var v=function(){return i.forEach(function(e){b.deleteFramebuffer(e.fbo),b.deleteTexture(e.tex)})};if(!c)return console.info("[nodality] '"+e.op+"' float targets incomplete - op skipped."),v(),null;var m={};try{for(var y in r.solver.programs){var g=b.createProgram();if(b.attachShader(g,S(b.VERTEX_SHADER,p)),b.attachShader(g,S(b.FRAGMENT_SHADER,r.solver.programs[y])),b.bindAttribLocation(g,0,"a"),b.linkProgram(g),!b.getProgramParameter(g,b.LINK_STATUS))throw new Error(y+": "+b.getProgramInfoLog(g));m[y]={prog:g,loc:{}}}}catch(t){for(var x in console.warn("[nodality] '"+e.op+"' solver programs failed:",t),v(),m)b.deleteProgram(m[x].prog);return null}return b.useProgram(R),{i:t,node:e,def:r,res:n,targets:l,progs:m,cleanup:v,prevX:.5,prevY:.5,primed:!1}}(e,t);n&&F.push(n)}});var I=function(e,t){var r=null,n={res:e.res,use:function(t){r=e.progs[t],b.useProgram(r.prog)},u:function(e){return e in r.loc||(r.loc[e]=b.getUniformLocation(r.prog,e)),r.loc[e]},f1:function(e,t){b.uniform1f(n.u(e),t)},f2:function(e,t,r){b.uniform2f(n.u(e),t,r)},f3:function(e,t,r,o){b.uniform3f(n.u(e),t,r,o)},smp:function(e,t,r){b.activeTexture(b.TEXTURE0+r),b.bindTexture(b.TEXTURE_2D,t.tex),b.uniform1i(n.u(e),r)},read:function(t){return e.targets[t].a},write:function(t){return e.targets[t].b},single:function(t){return e.targets[t].a},swap:function(t){var r=e.targets[t],n=r.a;r.a=r.b,r.b=n},blit:function(e){b.bindFramebuffer(b.FRAMEBUFFER,e.fbo),b.viewport(0,0,e.size,e.size),b.drawArrays(b.TRIANGLES,0,3)}},o=Y[0]/g.width,a=1-Y[1]/g.height,i=0,s=0;e.primed&&(i=(o-e.prevX)/Math.max(t,.001),s=(a-e.prevY)/Math.max(t,.001)),e.prevX=o,e.prevY=a,e.primed=!0;var l=Math.abs(i)+Math.abs(s)>.001;e.def.solver.step(n,e.node,{dt:t,px:o,py:a,dx:i,dy:s,moving:l,aspect:g.width/Math.max(g.height,1),col:e.def.solver.splatColor(e.node,i,s)})},L=b.createTexture();b.bindTexture(b.TEXTURE_2D,L),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,_?b.LINEAR_MIPMAP_LINEAR:b.LINEAR),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE),b.pixelStorei(b.UNPACK_FLIP_Y_WEBGL,!0);var O=function(){_&&b.generateMipmap(b.TEXTURE_2D)},P=!1,B=!1,W=y?"live":"snapshot",U=!1,z={color:"transparent","-webkit-text-fill-color":"transparent","-webkit-text-stroke-color":"transparent","background-color":"transparent","background-image":"none","border-color":"transparent","box-shadow":"none","text-shadow":"none"},j=null,G=function(){if(e.style.visibility="",j){var t,r=s(j);try{for(r.s();!(t=r.n()).done;){var n=a(t.value,2),o=n[0],i=n[1];for(var l in z)i[l]?o.style.setProperty(l,i[l]):o.style.removeProperty(l);i.op?o.style.setProperty("opacity",i.op):o.style.removeProperty("opacity")}}catch(e){r.e(e)}finally{r.f()}j=null,e.style.isolation="",g.style.zIndex=""}},N=function(){if(l){var t=function(){var t="IMG"===e.tagName?e:e.querySelector?e.querySelector("img"):null;return t&&t.complete&&t.naturalWidth>0?t:null}();if(t)try{return b.bindTexture(b.TEXTURE_2D,L),b.texImage2D(b.TEXTURE_2D,0,b.RGBA,b.RGBA,b.UNSIGNED_BYTE,t),O(),P=!0,Promise.resolve()}catch(e){}else if(!U){var r="IMG"===e.tagName?e:e.querySelector&&e.querySelector("img");r&&(U=!0,r.addEventListener("load",function(){B||N()},{once:!0}))}}g.style.display="none",G();var a=function(e,t,r,n){return new Promise(function(o,a){var s=(new XMLSerializer).serializeToString(function(e,t){for(var r=[e].concat(i(e.querySelectorAll("*"))),n=[t].concat(i(t.querySelectorAll("*"))),o=0;o<r.length&&o<n.length;o++){var a=n[o].style;if(a&&0!==a.length)for(var s=null,l=0,c=Array.from(a);l<c.length;l++){var u=c[l];if(v.test(a.getPropertyValue(u))){var f=(s=s||window.getComputedStyle(r[o])).getPropertyValue(u);f&&a.setProperty(u,f,a.getPropertyPriority(u))}}}return t}(e,e.cloneNode(!0))),l='<svg xmlns="http://www.w3.org/2000/svg" width="'.concat(t*n,'" height="').concat(r*n,'" viewBox="0 0 ').concat(t," ").concat(r,'">')+'<foreignObject width="100%" height="100%">'+'<div xmlns="http://www.w3.org/1999/xhtml">'.concat(s,"</div>")+"</foreignObject></svg>",c=new Image;c.onload=function(){return o(c)},c.onerror=a,c.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(l)})}(e,n.width,n.height,o).then(function(t){B||(b.bindTexture(b.TEXTURE_2D,L),b.texImage2D(b.TEXTURE_2D,0,b.RGBA,b.RGBA,b.UNSIGNED_BYTE,t),O(),P=!0,c||function(){if(!j){j=[];for(var t=0,r=[e].concat(i(e.querySelectorAll("*")));t<r.length;t++){var n=r[t];if(n!==g&&"CANVAS"!==n.tagName){var o={op:n.style.getPropertyValue("opacity")};for(var a in z)o[a]=n.style.getPropertyValue(a);for(var s in j.push([n,o]),z)n.style.setProperty(s,z[s],"important");n!==e&&n.matches&&n.matches("img,svg,video,picture,iframe")&&n.style.setProperty("opacity","0","important")}}e.style.isolation="isolate",g.style.zIndex="-1"}}(),g.style.visibility="visible")}).catch(function(e){G(),console.warn("[nodality] raster snapshot failed:",e)});return g.style.display="",a},X=-1,H=function(){if(!B&&"live"===W){b.bindTexture(b.TEXTURE_2D,L);var e,t=b.RGBA8||32856,r=[[b.TEXTURE_2D,t,k],[b.TEXTURE_2D,0,b.RGBA,b.RGBA,b.UNSIGNED_BYTE,k],[b.TEXTURE_2D,0,t,k],[b.TEXTURE_2D,0,k]];if(X>=0)e=[X];else{e=[0,1,2,3];var n={3:0,6:1,4:2}[b.texElementImage2D.length];null!=n&&(e.splice(e.indexOf(n),1),e.unshift(n))}var o,a=[],i=s(e);try{for(i.s();!(o=i.n()).done;){var l=o.value;try{return b.texElementImage2D.apply(b,r[l]),O(),X<0&&(X=l,console.info("[nodality] texElementImage2D signature discovered: form",l,"(declared arity "+b.texElementImage2D.length+")")),void(P=!0)}catch(e){a.push("form"+l+" -> "+(e&&e.name?e.name:"?")+": "+(e&&e.message?e.message:e))}}}catch(e){i.e(e)}finally{i.f()}q("texElementImage2D rejected all known signatures (arity "+b.texElementImage2D.length+"): "+a.join(" | "))}},q=function(t){if(!B&&"live"===W){for(W="snapshot",console.warn("[nodality] live raster backend failed ("+t+") - falling back to snapshot."),g.removeEventListener("paint",H);k.firstChild;)e.appendChild(k.firstChild);k.parentNode===g&&g.removeChild(k),g.removeAttribute("layoutsubtree"),g.style.cssText="position:absolute;top:0;left:0;"+"width:".concat(n.width,"px;height:").concat(n.height,"px;")+"pointer-events:none;z-index:2147483000;",g.setAttribute("aria-hidden","true"),g.setAttribute("data-nodality-raster","snapshot-fallback"),N()}};y&&(g.addEventListener("paint",H),setTimeout(function(){B||"live"!==W||P||q("no paint event within 1500ms")},1500));var Y=[.5*g.width,.5*g.height],V=function(e){var t=g.getBoundingClientRect(),r=e.touches?e.touches[0]:e;Y=[(r.clientX-t.left)*o,(r.clientY-t.top)*o]};e.addEventListener("mousemove",V,{passive:!0}),e.addEventListener("touchmove",V,{passive:!0});var $=0,K=0,Q=function(){$=1},Z=function(){$=0};e.addEventListener("mouseenter",Q,{passive:!0}),e.addEventListener("mouseleave",Z,{passive:!0});var J=[];t.forEach(function(e,t){var r=d[e.op]||{},n=e.by||r.defaultDriver;n&&u[n]?J.push({i:t,fn:u[n]}):e.by&&console.warn("[nodality] unknown driver '"+e.by+"' on op '"+e.op+"' - known drivers: "+f.join(", "))});var ee=function(){if("undefined"==typeof window)return.5;var t=e.getBoundingClientRect(),r=window.innerHeight||1;return Math.max(0,Math.min(1,(r-t.top)/(r+t.height)))},te=0,re=!0,ne=function(){if(!B){if(re&&P){for(var e="undefined"!=typeof performance?performance.now():D+16,t=Math.max(0,(e-D)/1e3),r=0,n=F;r<n.length;r++){var o=n[r];I(o,t)}if(b.bindFramebuffer(b.FRAMEBUFFER,null),b.useProgram(R),b.viewport(0,0,g.width,g.height),b.clearColor(0,0,0,0),b.clear(b.COLOR_BUFFER_BIT),b.uniform2f(A("u_res"),g.width,g.height),b.uniform2f(A("u_mouse"),Y[0],Y[1]),b.uniform1f(A("u_time"),e/1e3),J.length>0){K+=($-K)*(1-Math.exp(8*-t));for(var a={mouseX:Y[0],mouseY:Y[1],w:g.width,h:g.height,t:e/1e3,hover:K,scroll:ee()},i=0,l=J;i<l.length;i++){var c=l[i],u=c.fn(a);b.uniform2f(A("u".concat(c.i,"_dpos")),u.x,u.y),b.uniform1f(A("u".concat(c.i,"_damt")),u.amt)}}if(M.length>0)for(var f={w:g.width,h:g.height,mouseX:Y[0],mouseY:Y[1],dt:t,t:e/1e3},d=0,h=M;d<h.length;d++){var p,v=h[d],m=s(v.def.tick(v.state,f));try{for(m.s();!(p=m.n()).done;){var y=p.value;C(A("u".concat(v.i,"_").concat(y.name)),y.kind,y.value)}}catch(e){m.e(e)}finally{m.f()}}b.activeTexture(b.TEXTURE0),b.bindTexture(b.TEXTURE_2D,L),b.uniform1i(A("u_tex"),0);for(var x=1,w=0,_=F;w<_.length;w++){var k=_[w],E=k.def.solver.samplers;for(var T in E)b.activeTexture(b.TEXTURE0+x),b.bindTexture(b.TEXTURE_2D,k.targets[E[T]].a.tex),b.uniform1i(A("u".concat(k.i,"_").concat(T)),x),x++}b.activeTexture(b.TEXTURE0),D=e,b.drawArrays(b.TRIANGLES,0,3)}te=requestAnimationFrame(ne)}},oe=null;"undefined"!=typeof IntersectionObserver&&(oe=new IntersectionObserver(function(e){var t=a(e,1)[0];re=t.isIntersecting})).observe(e);var ae=null,ie=0;"undefined"!=typeof ResizeObserver&&(ae=new ResizeObserver(function(){clearTimeout(ie),ie=setTimeout(function(){if(!B&&"snapshot"===W){var e=r();n.width=e.width,n.height=e.height,g.width=Math.round(e.width*o),g.height=Math.round(e.height*o),g.style.width=e.width+"px",g.style.height=e.height+"px",N()}},150)})).observe(e);var se=0,le=function(){clearTimeout(se),se=setTimeout(function(){if(!B){if("snapshot"===W){var t=r();return n.width=t.width,n.height=t.height,g.width=Math.round(t.width*o),g.height=Math.round(t.height*o),g.style.width=t.width+"px",g.style.height=t.height+"px",void N()}var a=e.clientWidth||e.parentElement&&e.parentElement.clientWidth||n.width;g.style.width=a+"px",setTimeout(function(){if(!B&&"live"===W){var e=Math.max(2,Math.round(k.getBoundingClientRect().height))||n.height;n.width=a,n.height=e,g.style.height=e+"px",g.width=Math.round(a*o),g.height=Math.round(e*o),H()}},50)}},150)};return"undefined"!=typeof window&&window.addEventListener("resize",le),"live"===W?te=requestAnimationFrame(ne):N().then(function(){te=requestAnimationFrame(ne)}),{canvas:g,refresh:function(){return"live"===W?H():N()},destroy:function(){B=!0,cancelAnimationFrame(te),clearTimeout(ie),clearTimeout(se),oe&&oe.disconnect(),ae&&ae.disconnect(),"undefined"!=typeof window&&window.removeEventListener("resize",le),e.removeEventListener("mousemove",V),e.removeEventListener("touchmove",V),e.removeEventListener("mouseenter",Q),e.removeEventListener("mouseleave",Z),g.removeEventListener("paint",H);for(var t=0,r=F;t<r.length;t++){var n=r[t];for(var o in n.cleanup(),n.progs)b.deleteProgram(n.progs[o].prog)}for(F.length=0;k!==e&&k.firstChild;)e.appendChild(k.firstChild);G(),e.style.visibility="",g.remove()}}}function y(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=x(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return i=e.done,e},e:function(e){s=!0,a=e},f:function(){try{i||null==r.return||r.return()}finally{if(s)throw a}}}}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,a,i,s=[],l=!0,c=!1;try{if(a=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){c=!0,o=e}finally{try{if(!l&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(c)throw o}}return s}}(e,t)||x(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(e,t){if(e){if("string"==typeof e)return b(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?b(e,t):void 0}}function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function w(e){return w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w(e)}function _(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,k(n.key),n)}}function k(e){var t=function(e){if("object"!=w(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=w(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==w(t)?t:t+""}var E=function(){return e=function e(){var t,r,n,a=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t=this,n=function(e){if(e.transform||e.op){var t=e.op;e.transform||(t=e.op),t.duration||(t.duration="3s-ease-in-out"),a.setDefault=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0px";return 0===e.length?t+" ":e};var r=function(){var r="",n="",o="",i="",s="",l="",c="",u="",f="";if(0!==t.values.length){t.values.forEach(function(e){e.startsWith("tx:")&&(r=e.replace("tx:","")),e.startsWith("ty:")&&(n=e.replace("ty:","")),e.startsWith("tz:")?o=e.replace("tz:",""):e.startsWith("scale(")?i=e:e.startsWith("skew(")?s=e:e.startsWith("rotate(")?l=function(e){var t=e.match(/rotate\(([^)]+)\)/);if(!t)return e;var r=t[1].split(",").map(function(e){return e.trim()});return 1===r.length?"rotate(".concat(r[0],")"):2===r.length?"rotateX(".concat(r[0],") rotateY(").concat(r[1],")"):3===r.length?"rotateX(".concat(r[0],") rotateY(").concat(r[1],") rotate(").concat(r[2],")"):e}(e):e.startsWith("perspective(")?c=e:e.startsWith("matrix(")?u=e:e.startsWith("opacity:")&&(f=e.replace("opacity:",""))}),r=a.setDefault(r),n=a.setDefault(n),o=a.setDefault(o);var d="";if("0px"!=n&&"0px"!=r&&"0px"!=o?d+="translate3d(".concat(r,", ").concat(n,", ").concat(o,")"):"0px"==n&&"0px"==r||(d+="translate(".concat(r,", ").concat(n,")")),i&&(d+=" ".concat(i)),l&&(d+=" ".concat(l)),s&&(d+=" ".concat(s)),c&&(d+=" ".concat(c)),u&&(d+=" ".concat(u)),d){if(e.op.duration){var h=e.op.duration.replace(/^(\d+)(s)-/,function(e,t,r){return t/2+r+" "}),p="transform ".concat(h,", opacity ").concat(h);a.res.style.transition=p}else a.res.style.transition="transform 3s ease-in-out, opacity 3s ease-in-out";e.op.static&&(a.res.style.transition=""),(a.blastTarget||a.res).style.transform=d,a.res.style.opacity=f}else alert("OPE")}};t.on?a.res.addEventListener(t.on,function(){t.delay?setTimeout(function(){r()},t.delay):r()}):window.addEventListener("load",function(){t.delay?setTimeout(function(){r()},t.delay):r()});var n=function(){var e="";t.values.forEach(function(t){t.startsWith("tx:")?e+="translateX(0) ":t.startsWith("ty:")?e+="translateY(0) ":t.startsWith("tz:")?e+="translateZ(0) ":t.startsWith("scale(")?e+="scale(1) ":t.startsWith("skew(")?e+="skew(0, 0) ":t.startsWith("rotate(")?e+="rotate(0) ":t.startsWith("perspective(")?e+="perspective(0) ":t.startsWith("matrix(")&&(e+="matrix(1, 0, 0, 1, 0, 0) "),a.res.style.opacity="1"}),e&&(a.res.style.transform=e.trim())};if(t.on)a.res.addEventListener("mouseout",function(){t.keep||n()});else{var o=1e3*parseFloat(t.duration),i=t.closeAfter?t.closeAfter:0;setTimeout(function(){t.keep||n()},o/2+i)}t.hardCSS&&(a.res.style.transform=t.hardCSS)}else alert("THIS FIRE WITH GRADIENT (invalid block")},(r=k(r="reactOnTransform"))in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,this.state={isExpanded:!1,isMovedUp:!1,isMovedDown:!1},this.openedElements=new WeakMap,"undefined"!=typeof document&&(this._themeUnsub=o.subscribe(function(e){return a._applyTheme(e)}),Promise.resolve().then(function(){return a._applyTheme(o.mode)}))},t=[{key:"rasterize",value:function(e){var t=this;if(e&&0!==e.length&&!this._rasterHandle&&"undefined"!=typeof document&&"undefined"!=typeof setTimeout){var r=0,n=function(){if(!t._rasterHandle){if(t.res&&t.res.isConnected){try{t._rasterHandle=m(t.res,e)}catch(e){return void console.warn("[nodality] raster pipeline skipped:",e)}if(t._rasterHandle)return}++r<80&&setTimeout(n,50)}};setTimeout(n,0)}}},{key:"isHidden",value:function(e){e&&(this.res.style.display="none")}},{key:"theme",value:function(e){var t=this;return e&&"object"===w(e)?(this._themeMap=e,this._applyTheme(o.mode),this._themeUnsub||(this._themeUnsub=o.subscribe(function(e){return t._applyTheme(e)})),this):this}},{key:"destroy",value:function(){return"function"==typeof this._themeUnsub&&(this._themeUnsub(),this._themeUnsub=null),this.res&&this.res.parentNode&&this.res.parentNode.removeChild(this.res),this}},{key:"_applyTheme",value:function(e){if(!this._noTheme&&this.res)if(this._themeMap){var t=this._themeMap[e];if(!t)return;for(var r in t)this.res.style[r]=t[r]}else{var n=o.defaults&&o.defaults[e];if(n)for(var a in this._themeOriginal||(this._themeOriginal={}),n)a in this._themeOriginal||(this._themeOriginal[a]=this.res.style[a]||""),this._themeOriginal[a]||(this.res.style[a]=n[a])}}},{key:"keySet",value:function(e){if(this.temporaryVal=1,Array.isArray(e)){for(var t=0;t<e.length;t++)e[t]&&null!=e[t].key&&(this.res.style[e[t].key]=e[t].value);return this}return this.res.style[e.key]=e.value,this}},{key:"commonMethods",value:function(e){var t={exact:"fontSize",cursor:"cursor",width:"width",maxWidth:"maxWidth",height:"height",maxHeight:"maxHeight",radius:"borderRadius",lineHeight:"lineHeight",background:"background",font:"fontFamily",opacity:"opacity",gap:"gap",minHeight:"minHeight",position:"position",inset:"inset",top:"top",right:"right",bottom:"bottom",left:"left",zIndex:"zIndex",flex:"flex",flexShrink:"flexShrink",flexGrow:"flexGrow",flexBasis:"flexBasis",flexWrap:"flexWrap",alignSelf:"alignSelf",display:"display",gridTemplateColumns:"gridTemplateColumns",gridTemplateRows:"gridTemplateRows",rowGap:"rowGap",columnGap:"columnGap",letterSpacing:"letterSpacing",textTransform:"textTransform",whiteSpace:"whiteSpace",overflowWrap:"overflowWrap",wordBreak:"wordBreak",wordWrap:"wordWrap",boxShadow:"boxShadow",backdropFilter:"backdropFilter",WebkitBackdropFilter:"WebkitBackdropFilter",overflow:"overflow",overflowX:"overflowX",overflowY:"overflowY",WebkitOverflowScrolling:"WebkitOverflowScrolling",WebkitTapHighlightColor:"WebkitTapHighlightColor",minWidth:"minWidth",boxSizing:"boxSizing",pointerEvents:"pointerEvents",userSelect:"userSelect",WebkitUserSelect:"WebkitUserSelect",textAlign:"textAlign",transition:"transition"};for(var r in t)null!=e[r]&&(this.res.style[t[r]]=e[r]);return"string"==typeof e.transform&&(this.res.style.transform=e.transform),e.pad&&this.pad(e.pad),e.mar&&this.mar(e.mar),e.respad&&this.respad(e.respad),e.resmar&&this.resmar(e.resmar),e.hover&&this.hover(e.hover),e.size&&this.fluidCopy(e.size),e.resprop&&this.resprop(e.resprop,e),e.keySet&&this.keySet(e.keySet),e.noTheme&&(this._noTheme=!0),e.theme&&this.theme(e.theme),e.hide&&this.isHidden(e.hide),e.raster&&this.rasterize(e.raster),e.transform&&"object"===w(e.transform)&&this.reactOnTransform(e.transform),void 0!==e.opacity&&(this.res.style.opacity=e.opacity),e.bold?this.res.style.fontWeight="bold":null!=e.weight&&(this.res.style.fontWeight=e.weight),this}},{key:"hover",value:function(e){var t=this;if(e.border){var r=e.border.width;this.res.style.border=r?"".concat(r,"px solid transparent"):"1px solid transparent"}var n=this.options&&this.options.borderObj;return n&&(this.res.style.border="".concat(n.width,"px solid ").concat(n.color)),this.prevColor=this.res.style.backgroundColor,this.foreColor=this.res.style.color,this.prevBorder=this.res.style.border,this.prevBoxShadow=this.res.style.boxShadow,e.animation&&(this.res.style.transition="".concat(e.animation),this.res.style.transionProperty="background, color, transform"),this.prevTransform=this.res.style.transform,this.res.onmouseout=function(){t.res.style.backgroundColor="".concat(t.prevColor),t.res.style.color="".concat(t.foreColor),t.res.style.border=t.prevBorder,null==e.scale&&null==e.transform||(t.res.style.transform=t.prevTransform||""),null!=e.boxShadow&&(t.res.style.boxShadow=t.prevBoxShadow||"")},this.res.onmouseover=function(){if(t.res.style.color=e.color,t.res.style.backgroundColor=e.background,e.border){var r,n=e.border.width,o=null!==(r=e.border.color)&&void 0!==r?r:"#2ECC71";t.res.style.border=n?"".concat(n,"px solid ").concat(o):"1px solid #2ECC71"}if(null!=e.scale||null!=e.transform){var a=t.prevTransform?"".concat(t.prevTransform," "):"",i=[];null!=e.transform&&i.push(e.transform),null!=e.scale&&i.push("scale(".concat(e.scale,")")),t.res.style.transform="".concat(a).concat(i.join(" "))}null!=e.boxShadow&&(t.res.style.boxShadow=e.boxShadow)},this}},{key:"onScroll",value:function(e){var t=this,r=function(e){if(null==e)return{num:0,unit:"px"};var t=String(e).match(/^(-?[\d.]+)(.*)$/);return t?{num:parseFloat(t[1]),unit:t[2]||"px"}:{num:0,unit:"px"}},n=function(e){var r=e&&null!=e.tx?e.tx:"0px",n=e&&null!=e.ty?e.ty:"0px";t.res.style.transform="translate3d(".concat(r,", ").concat(n,", 0)")};"opacity"===e.value?this.res.style.opacity=e.valMin:"scale"===e.value?this.res.style.transform="scale(".concat(e.valMin,")"):"trn"===e.value&&n(e.valMin);var o=function(){if("trn"!==e.value){var o=t.smartRange(window.scrollY,{min:e.from,max:e.to},{min:e.valMin,max:e.valMax});"opacity"===e.value?t.res.style.opacity=o:"scale"===e.value&&(t.res.style.transform="scale(".concat(o,")"))}else{for(var a={},i=["tx","ty"],s=0;s<i.length;s++){var l=i[s],c=e.valMin&&null!=e.valMin[l],u=e.valMax&&null!=e.valMax[l];if(c||u){var f=r(c?e.valMin[l]:u?e.valMax[l]:"0px"),d=r(u?e.valMax[l]:c?e.valMin[l]:"0px"),h=t.smartRange(window.scrollY,{min:e.from,max:e.to},{min:f.num,max:d.num});a[l]="".concat(h).concat(f.unit)}}n(a)}};window.addEventListener("scroll",o),0===e.from&&o()}},{key:"setAny",value:function(e){this[Object.keys(e)[0]]=[Object.values(e)[0]]}},{key:"setID",value:function(e){this.id=e}},{key:"setPrevText",value:function(e){this.prevText=e}},{key:"getCSS",value:function(){return this.css}},{key:"getPX",value:function(e){return{xs:"0px",sm:"576px",md:"768px",lg:"992px",xl:"1200px",xxl:"1400px",mxxl:"1800px"}[e]||"Invalid breakpoint"}},{key:"_setupResponsiveManager",value:function(){var e=this;this._responsiveTasks=this._responsiveTasks||[];var t=function(){e._responsiveTasks.forEach(function(e){e()})};this._responsiveHandler||(this._responsiveHandler=t,window.addEventListener("resize",t)),setTimeout(function(){t()},0)}},{key:"resprop",value:function(e,t){var r=this;this.options=t;var n={default:[0,1e5],xs:[0,575],sm:[576,767],md:[768,991],lg:[992,1199],xl:[1200,1399],xxl:[1400,1e5]},o=["resprop","breakpoint","value","values","range"];e.forEach(function(e){void 0!==n[e.breakpoint]?e.range=n[e.breakpoint]:Array.isArray(e.breakpoint)&&2===e.breakpoint.length?e.range=[parseInt(e.breakpoint[0],10),parseInt(e.breakpoint[1],10)]:e.range=[0,parseInt(e.breakpoint,10)]}),e.sort(function(e,t){return e.range[1]-t.range[1]});var a=e.find(function(e){return"default"===e.breakpoint});for(var i in a||(a={breakpoint:"default",range:n.default},e.unshift(a)),this.prevStyles={},this.res.style)this.res.style.hasOwnProperty(i)&&isNaN(parseInt(i))&&(this.prevStyles[i]=this.res.style[i]);var s=new Set;e.forEach(function(e){Object.keys(e).forEach(function(e){o.includes(e)||"range"===e||s.add(e)})}),s.forEach(function(e){void 0===a[e]&&(a[e]=r.options[e]||"initial")}),this._responsiveTasks=this._responsiveTasks||[],this._responsiveTasks.push(function(){for(var t=window.innerWidth,n=a,i=0;i<e.length;i++){var l=e[i],c=g(l.range,2),u=c[0],f=c[1];if("default"!==l.breakpoint&&t>=u&&t<=f){n=l;break}}for(var d in s.forEach(function(e){if("keySet"===e){var t=a[e];t&&t.key&&(r.res.style[t.key]=t.value)}else r.res.style[e]=a[e]}),n)if("exact"===d&&r.set(n),!o.includes(d)&&"range"!==d){var h=n[d];"keySet"===d&&h&&h.key?r.res.style[h.key]=h.value:"function"==typeof r[d]?r[d](h):r.res.style[d]=h}}),this._setupResponsiveManager()}},{key:"respad",value:function(e){var t=this,r={default:[0,1e5],xs:[0,575],sm:[576,767],md:[768,991],lg:[992,1199],xl:[1200,1399],xxl:[1400,1e5]};e.forEach(function(e){void 0!==r[e.breakpoint]?e.range=r[e.breakpoint]:Array.isArray(e.breakpoint)&&2===e.breakpoint.length?e.range=[parseInt(e.breakpoint[0],10),parseInt(e.breakpoint[1],10)]:e.range=[parseInt(e.breakpoint,10),1e5]}),e.sort(function(e,t){return e.range[0]-t.range[0]});var n=e.find(function(e){return"default"===e.breakpoint});n||(n={breakpoint:"default",range:r.default},e.unshift(n)),void 0===n.values&&(n.values=this.options.pad||null),this._responsiveTasks=this._responsiveTasks||[],this._responsiveTasks.push(function(){for(var r=window.innerWidth,o=n,a=0;a<e.length;a++){var i=e[a],s=g(i.range,2),l=s[0],c=s[1];if("default"!==i.breakpoint&&r>=l&&r<=c){o=i;break}}var u=void 0!==o.values?o.values:n.values;null!=u&&t.pad(u)}),this._setupResponsiveManager()}},{key:"_applyResponsive",value:function(e,t){var r={default:[0,1e5],xs:[0,575],sm:[576,767],md:[768,991],lg:[992,1199],xl:[1200,1399],xxl:[1400,1e5]};e.forEach(function(e){if(void 0!==r[e.breakpoint])e.range=r[e.breakpoint];else{var t=parseInt(e.breakpoint,10);e.range=[t,1e5]}}),e.sort(function(e,t){return e.range[0]-t.range[0]});var n=e.find(function(e){return"default"===e.breakpoint})||{breakpoint:"default",range:r.default},o=function(){for(var r=window.innerWidth,o=n,a=0;a<e.length;a++){var i=e[a],s=g(i.range,2),l=s[0],c=s[1];if("default"!==i.breakpoint&&r>=l&&r<=c){o=i;break}}t(o)};this._responsiveHandler&&window.removeEventListener("resize",this._responsiveHandler),this._responsiveHandler=o,window.addEventListener("resize",o),setTimeout(function(){o()},0)}},{key:"resmar",value:function(e){var t=this,r={default:[0,1e5],xs:[0,575],sm:[576,767],md:[768,991],lg:[992,1199],xl:[1200,1399],xxl:[1400,1e5]};e.forEach(function(e){void 0!==r[e.breakpoint]?e.range=r[e.breakpoint]:Array.isArray(e.breakpoint)&&2===e.breakpoint.length?e.range=[parseInt(e.breakpoint[0],10),parseInt(e.breakpoint[1],10)]:e.range=[parseInt(e.breakpoint,10),1e5]}),e.sort(function(e,t){return e.range[0]-t.range[0]});var n=e.find(function(e){return"default"===e.breakpoint});n||(n={breakpoint:"default",range:r.default},e.unshift(n)),void 0===n.values&&(n.values=this.options.pad||null),this._responsiveTasks=this._responsiveTasks||[],this._responsiveTasks.push(function(){for(var r=window.innerWidth,o=n,a=0;a<e.length;a++){var i=e[a],s=g(i.range,2),l=s[0],c=s[1];if("default"!==i.breakpoint&&r>=l&&r<=c){o=i;break}}var u=void 0!==o.values?o.values:n.values;null!=u&&t.mar(u)}),this._setupResponsiveManager()}},{key:"isNumber",value:function(e){return"number"==typeof e&&!isNaN(e)}},{key:"pad",value:function(e){for(var t=0;t<e.length;t++)for(var r=Object.keys(e[t]),n=0;n<r.length;n++)for(var o=r[n],a=e[t][o],i=0;i<o.length;i++)switch(o[i]){case"a":this.res.style.padding=this.isNumber(a)?"".concat(a,"px"):a;break;case"t":this.res.style.paddingTop=this.isNumber(a)?"".concat(a,"px"):a;break;case"l":this.res.style.paddingLeft=this.isNumber(a)?"".concat(a,"px"):a;break;case"r":this.res.style.paddingRight=this.isNumber(a)?"".concat(a,"px"):a;break;case"b":this.res.style.paddingBottom=this.isNumber(a)?"".concat(a,"px"):a}return this}},{key:"as",value:function(e){return this.res.style.alignSelf=e,this}},{key:"mar",value:function(e){if("center"===e)return this.res.style.marginLeft="auto",this.res.style.marginRight="auto",this;for(var t=0;t<e.length;t++)for(var r=Object.keys(e[t]),n=0;n<r.length;n++){for(var o=r[n],a=e[t][o],i=0;i<o.length;i++)switch(o[i]){case"a":"auto"===a?(this.res.style.marginLeft="auto",this.res.style.marginRight="auto"):this.res.style.margin=this.isNumber(a)?"".concat(a,"px"):a;break;case"t":this.res.style.marginTop=this.isNumber(a)?"".concat(a,"px"):a;break;case"l":this.res.style.marginLeft=this.isNumber(a)?"".concat(a,"px"):a;break;case"r":this.res.style.marginRight=this.isNumber(a)?"".concat(a,"px"):a;break;case"b":this.res.style.marginBottom=this.isNumber(a)?"".concat(a,"px"):a}"center"===o&&!0===a&&(this.res.style.marginLeft="auto",this.res.style.marginRight="auto"),"auto"===a&&(o.includes("l")||o.includes("r"))&&(o.includes("l")&&(this.res.style.marginLeft="auto"),o.includes("r")&&(this.res.style.marginRight="auto"))}return this}},{key:"smartRange",value:function(e,t,r){e<t.min&&(e=t.min),e>t.max&&(e=t.max);var n=(e-t.min)/(t.max-t.min);t.min>t.max&&(n=(e-t.max)/(t.min-t.max));var o=(r.min-r.max)*n-r.min;if(o=Math.abs(o),r.min<r.max){var a=(r.max+Math.abs(r.min))*n;o=r.min+a}return o}},{key:"gpos",value:function(e){return this.res.style.gridColumn=e.col,this.res.style.gridRow=e.row,this}},{key:"fluidCopy",value:function(e){if(e instanceof Object){this.prevStylex=this.res.style,this.res=document.createElement("h1"),this.res.style.cssText=this.prevStylex.cssText;var t=document.createTextNode(this.text);return this.res.appendChild(t),this.res.style.fontSize=e.exact,this}if("S1"===e){this.prevStylex=this.res.style,this.res=document.createElement("h1"),this.res.style.cssText=this.prevStylex.cssText;var r=document.createTextNode(this.text);this.res.appendChild(r),this.res.style.fontSize="calc(1.625rem + 5.075vw)"}if("S2"===e){this.prevStylex=this.res.style,this.res=document.createElement("h2"),this.res.style.cssText=this.prevStylex.cssText;var n=document.createTextNode(this.text);this.res.appendChild(n),this.res.style.fontSize="calc(1.500rem + 4.3vw)"}if("S3"===e){this.prevStylex=this.res.style,this.res=document.createElement("h3"),this.res.style.cssText=this.prevStylex.cssText;var o=document.createTextNode(this.text);this.res.appendChild(o),this.res.style.fontSize="calc(1.375rem + 3.525vw)"}if("S4"===e){this.prevStylex=this.res.style,this.res=document.createElement("h4"),this.res.style.cssText=this.prevStylex.cssText;var a=document.createTextNode(this.text);this.res.appendChild(a),this.res.style.fontSize="calc(1.250rem + 2.75vw)"}if("S5"===e){this.prevStylex=this.res.style,this.res=document.createElement("h5"),this.res.style.cssText=this.prevStylex.cssText;var i=document.createTextNode(this.text);this.res.appendChild(i),this.res.style.fontSize="calc(1.125rem + 1.975vw)"}return"S6"===e&&(this.res.style.fontSize="calc(1rem + 0.5vw)"),this}},{key:"setIndex",value:function(e){this.index=e}},{key:"borderObj",value:function(e){var t,r=null!==(t=e.type)&&void 0!==t?t:"solid";return this.res.style.border="".concat(e.width," ").concat(r," ").concat(e.color),void 0!==e.radius&&(this.res.style.borderRadius=e.radius),this}},{key:"setPref",value:function(e){this.preffersId=e}},{key:"setClass",value:function(e){this.class=e}},{key:"setTags",value:function(e){this.openTag=e.open,this.closeTag=e.close}},{key:"chainReact",value:function(e,t,r){var n=this;this.ap=!1,this.cta=0,this.once=!1;var o,a=y(e);try{for(a.s();!(o=a.n()).done;){var i=o.value;i.range||(i.range=["0px","999999px"])}}catch(e){a.e(e)}finally{a.f()}e.sort(function(e,t){return parseInt(e.range[0])-parseInt(t.range[0])});var s=function(o){var a=window.visualViewport.width,i=[],s=[];n.resCopy=n.res,n.storedQueries=e.map(function(e){return e.target}).filter(function(e){return null!=e});var l,c=y(e);try{for(c.s();!(l=c.n()).done;){var u=l.value;n.counterIndex++;var f=g(u.range,2),d=f[0],h=f[1],p=parseInt(d),v=parseInt(h),m=!0;if(u.target){m=!1;for(var x=0;x<u.target.length;x++)u.target[x]===t&&(m=!0)}a>=p&&a<=v&&m&&(i.push(u.log),s.push(u),u.op&&u.op.margin&&(n.useMargin=u.op.margin))}}catch(e){c.e(e)}finally{c.f()}if(r&&!r.includes("background")&&(n.res.style.background="",n.res.style.backgroundColor=""),n.res.style.textShadow="",r&&!r.includes("border")&&(n.res.style.border=""),r&&!r.includes("margin")&&(n.res.style.margin=""),n.res.style["-webkit-text-fill-color"]="",n.res.style["-webkit-text-stroke-color"]="",n.res.style["-webkit-text-stroke-width"]="",n.res.style.filter="",n.options.background&&(n.res.style.background=n.options.background),i.includes("gradient"),(i.includes("gradient")||i.includes("shadow"))&&(n.res.style.position="relative"),i.includes("blast")){var b,w=s.filter(function(e){return"blast"===e.log})[0].op.color,_=null!==(b=s.filter(function(e){return"blast"===e.log})[0].op.width)&&void 0!==b?b:"1px";"FlexRowLayoutElement"===n.getType()||"LayoutWrapperElement"===n.getType()?(n.res.style.border="".concat("number"==typeof _?_+"px":_," solid orange"),n.res.style.display="inline-block","FlexRowLayoutElement"===n.getType()&&(n.res.style.display="flex"),n.res.style.boxSizing="border-box",n.res.style.transformOrigin="center",n.blastTarget=n.res):(n.text,n.res.style["-webkit-text-fill-color"]="transparent",n.res.style["-webkit-text-stroke-color"]=w,n.res.style["-webkit-text-stroke-width"]="".concat(_))}if(i.includes("filter")){var k=s.filter(function(e){return"filter"===e.log})[0].op.filter;n.res.style.filter=k}if(i.includes("background")&&(n.res.style.backgroundColor="green"),i.includes("gradient")&&("LayoutWrapperElement"!==n.getType()&&"FlexRowLayoutElement"!==n.getType()&&(n.res.style["-webkit-text-fill-color"]="transparent"),n.res.style.background=n.globalGradient,"LayoutWrapperElement"!==n.getType()&&"FlexRowLayoutElement"!==n.getType()&&(n.res.style["background-clip"]="text")),i.includes("shadow")){var E,T,S,R,A=n.options.shadow.op,C=null!==(E=A.steps)&&void 0!==E?E:1,M=null!==(T=A.colors)&&void 0!==T?T:["gray"],D=null!==(S=A.movements)&&void 0!==S?S:["3px","3px"],F=null!==(R=A.radius)&&void 0!==R?R:"3px";if(1===D.length&&(D=[D[0],D[0]]),"FlexRowLayoutElement"===n.getType()||"LayoutWrapperElement"===n.getType()){for(var I=[],L=0;L<C;L++){var O,P=null!==(O=M[L])&&void 0!==O?O:M[0],B=D[0],W=D[1];I.push("".concat(B," ").concat(W," ").concat(F," ").concat(P))}n.res.style.boxShadow=I.join(", ")}else{for(var U=[],z=0;z<C;z++){var j,G=null!==(j=M[z])&&void 0!==j?j:M[0],N=D[0],X=D[1];U.push("drop-shadow(".concat(N," ").concat(X," ").concat(F," ").concat(G,")"))}n.res.style.filter=U.join(" ")}}if(i.includes("margin"))for(x=0;x<e.length;x++)if(e[x].op){var H=e[x].op.offsets;H&&void 0!==n.index&&(n.res.style.margin=H[Number(n.index)]+"px")}if(i.includes("spana")||i.includes("span")){var q=document.createElement("div");if(q.setAttribute("id","oroa"),Object.assign(q.style,{position:"absolute",inset:"0",background:"linear-gradient(90deg, rgb(52,152,219), rgb(26,188,156))",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",pointerEvents:"none"}),n.res&&n.res.querySelector("span"))return;n.res=n.resCopy,n.res.textContent="",n.options.span&&(Array.isArray(n.options.span)?n.options.span:[n.options.span]).forEach(function(e){if(e.op&&"span"===e.op.name&&Array.isArray(e.op.parts)){var t=0,r=n.prevText||"";if(e.op.parts.forEach(function(e){var o=e.text,a=e.style||{};if(t<r.length){var i=r.indexOf(o,t);if(i>t){var s=r.substring(t,i);n.res.appendChild(new n.constructor(s).setup({type:"span",id:a.id,animation:a.animation}).set({}).render())}t=i+o.length}var l=new n.constructor(o).setup({type:"span",id:a.id,animation:a.animation}).set(a).render();n.res.appendChild(l)}),t<r.length){var o=r.substring(t);n.res.appendChild(new n.constructor(o).setup({type:"span"}).set({}).render())}}})}else{var Y=new n.constructor(n.prevText).set({}).render();n.prevText&&n.prevText.length>0&&o&&n.res.appendChild(Y)}if(i.includes("animation")){if(n.options.animation&&!n.hasAnimated&&!n.options.animation.op.fireAt){n.hasAnimated=!0;var V=n.options.animation.op;window.addEventListener("sidebar:open",function(){n.res.animate(V.keyframesOpen,V.openOptions)}),window.addEventListener("sidebar:closed",function(){n.res.animate(V.keyframesClose,V.closeOptions)}),n.res.animate(V.keyframesClose,{duration:0,fill:"forwards"}),n.openTag&&n.closeTag&&(window.addEventListener(n.openTag,function(){n.res.animate(V.keyframesOpen,V.openOptions)}),window.addEventListener(n.closeTag,function(){n.res.animate(V.keyframesClose,V.closeOptions)}))}if(n.options.animation&&n.options.animation.op.fireAt&&n.options.animation.op.fireAt.endsWith("px")){var $=n.options.animation.op;n.res.animate($.keyframesClose,{duration:0,fill:"forwards"});var K=function(){window.scrollY>parseFloat($.fireAt)&&(n.res.animate($.keyframesOpen,$.openOptions),window.removeEventListener("scroll",K))};window.addEventListener("scroll",K)}if(n.options.animation&&"inview"===n.options.animation.op.fireAt){var Q=n.options.animation.op;n.res.animate(Q.keyframesClose,{duration:0,fill:"forwards"});var Z=!1;new IntersectionObserver(function(e,t){e.forEach(function(e){e.isIntersecting&&!Z&&(Z=!0,n.res.animate(Q.keyframesOpen,Q.openOptions),t.disconnect())})}).observe(n.res)}}};this.options.animation||window.addEventListener("resize",function(){return s()}),s()}},{key:"maxWidth",value:function(e){return this.res.style.maxWidth=e,this}},{key:"removeQuotesFromFirstWord",value:function(e){return e.replace(/"([^"]+)":/g,"$1:")}},{key:"arrayMargin",value:function(e,t){return e.includes("left")&&(this.res.style.marginLeft=t),e.includes("right")&&(this.res.style.marginRight=t),e.includes("top")&&(this.res.style.marginTop=t),e.includes("bottom")&&(this.res.style.marginBottom=t),e.includes("all")&&(this.res.style.margin=t),t||(this.res.style.marginBottom=e),this}}],t&&_(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function T(e){return T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},T(e)}function S(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,R(n.key),n)}}function R(e){var t=function(e){if("object"!=T(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=T(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==T(t)?t:t+""}function A(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(A=function(){return!!e})()}function C(e){return C=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},C(e)}function M(e,t){return M=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},M(e,t)}var D=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t,r){return t=C(t),function(e,t){if(t&&("object"==T(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,A()?Reflect.construct(t,r||[],C(e).constructor):t.apply(e,r))}(this,e)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&M(e,t)}(e,E),t=e,(r=[{key:"set",value:function(e){return this.imageUrl=e.url,this.createCard(),e.useBrightness&&(this.useBrightness=!0),e.useBrightness&&"\n useBrightness: ".concat(this.useBrightness),e.pad&&this.pad(e.pad),e.mar&&this.mar(e.mar),e.arrayMargin&&this.arrayMargin(e.arrayMargin.sides,e.arrayMargin.value),e.arrayMargin&&"\n arrayMargin: {sides: [".concat(e.arrayMargin.sides.map(function(e){return'"'.concat(e,'", ')}),'], value: "').concat(e.arrayMargin.value,'"},'),e.inpad&&this.inpad(e.inpad),e.inpad&&"\n inpad: {".concat(e.inpad,"}"),e.font&&(this.res.style.fontFamily=e.font),e.inpad&&"\n font: ".concat(e.font),this.addListeners(),this}},{key:"inpad",value:function(e){return this.res.children[1].style.boxSizing="border-box",this.res.children[1].style.padding=e,this}},{key:"items",value:function(e){for(var t=0;t<e.length;t++)this.res.children[1].appendChild(e[t].render());return this}},{key:"createCard",value:function(){var e=document.createElement("div");e.style.display="grid",e.style.width="300px",e.style.height="400px",e.setAttribute("id","AAA");var t=document.createElement("div");t.style.gridArea="1/1",t.style.height="400px",t.style.borderRadius="15px",t.style.boxShadow="0 4px 8px 0 rgba(0,0,0,0.2)",t.style.overflow="hidden";var r=document.createElement("div");r.style.width="100%",r.style.height="100%",r.style.transition="0.9s",r.style.backgroundImage="url(".concat(this.imageUrl,")"),r.style.backgroundSize="cover",r.style.backgroundPostion="cover",r.style.backgroundRepeat="no-repeat",t.appendChild(r);var n=document.createElement("div");return n.style.gridArea="1/1",n.style.zIndex="1",e.appendChild(t),e.appendChild(n),this.res=e,this}},{key:"addListeners",value:function(){var e=this,t=this.res.children[0].children[0];return this.res.onmouseover=function(){t.style.transform="scale(1.3)",e.useBrightness&&(t.style.filter="brightness(31%)")},this.res.onmouseout=function(){t.style.transform="scale(1.0)",e.useBrightness&&(t.style.filter="brightness(100%)")},this}},{key:"render",value:function(e){if(!e)return this.res;this.options.id&&this.res.setAttribute("id",this.options.id),document.querySelector(e).appendChild(this.res)}}])&&S(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,r}();export{D as ZoomCard};
|
|
1
|
+
var e={};function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}e.d=(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var n="nodality.theme.mode",r="nodality:theme",o={mode:function(){try{var e=localStorage.getItem(n);if("light"===e||"dark"===e)return e}catch(e){}return"undefined"!=typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}(),tokens:{light:{},dark:{}},defaults:{light:{color:"#111"},dark:{}},setDefaults:function(e){return e&&"object"===t(e)&&(e.light&&(this.defaults.light=Object.assign({},this.defaults.light,e.light)),e.dark&&(this.defaults.dark=Object.assign({},this.defaults.dark,e.dark)),this._broadcast()),this},setTokens:function(e){return e&&"object"===t(e)&&(e.light&&Object.assign(this.tokens.light,e.light),e.dark&&Object.assign(this.tokens.dark,e.dark)),this},get current(){return this.tokens[this.mode]||{}},set:function(e){if("light"!==e&&"dark"!==e)return this;if(e===this.mode)return this;this.mode=e;try{localStorage.setItem(n,e)}catch(e){}return this._broadcast(),this},toggle:function(){return this.set("dark"===this.mode?"light":"dark")},subscribe:function(e){if("undefined"==typeof document)return function(){};var t=function(t){return e(t.detail.mode,t.detail.tokens)};document.addEventListener(r,t);try{e(this.mode,this.current)}catch(e){}return function(){return document.removeEventListener(r,t)}},_broadcast:function(){"undefined"!=typeof document&&document.dispatchEvent(new CustomEvent(r,{detail:{mode:this.mode,tokens:this.current}}))}};function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(e,t)||l(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||l(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=l(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){s=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(s)throw a}}}}function l(e,t){if(e){if("string"==typeof e)return u(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var f={static:function(e){return{x:.5*e.w,y:.5*e.h,amt:1}},mouse:function(e){return{x:e.mouseX,y:e.mouseY,amt:1}},hover:function(e){return{x:e.mouseX,y:e.mouseY,amt:e.hover}},scroll:function(e){return{x:.5*e.w,y:e.h*e.scroll,amt:1}},time:function(e){return{x:e.w*(.5+.34*Math.cos(.6*e.t)),y:e.h*(.5+.34*Math.sin(.8*e.t)),amt:1}}},d=Object.keys(f),h={hexalize:{stage:"cell",decl:function(e){return"uniform float ".concat(e,"size;")},code:function(e){return"\n {\n vec2 hp = warped / ".concat(e,"size;\n vec2 hr = vec2(1.0, 1.7320508), hh = hr * 0.5;\n vec2 ha = mod(hp, hr) - hh, hb = mod(hp - hh, hr) - hh;\n vec2 gv = dot(ha, ha) < dot(hb, hb) ? ha : hb;\n center = (hp - gv) * ").concat(e,"size;\n gv = abs(gv);\n edge = max(edge, smoothstep(0.44, 0.5,\n max(dot(gv, normalize(vec2(1.0, 1.7320508))), gv.x)));\n }")},uniforms:function(e,t){return{size:["1f",(e.size||24)*t]}}},offset:{stage:"warp",defaultDriver:"mouse",decl:function(e){return"uniform float ".concat(e,"strength; uniform float ").concat(e,"radius;\n uniform vec2 ").concat(e,"dpos; uniform float ").concat(e,"damt;")},code:function(e){return"\n {\n float d = length(warped - ".concat(e,"dpos);\n float fall = 1.0 - smoothstep(0.0, ").concat(e,"radius, d);\n vec2 dir = d > 0.5 ? (warped - ").concat(e,"dpos) / d : vec2(0.0);\n warped -= dir * ").concat(e,"strength * fall * ").concat(e,"damt;\n }")},uniforms:function(e,t){return{strength:["1f",(e.strength||20)*t],radius:["1f",(e.radius||260)*t]}}},duotone:{stage:"color",decl:function(e){return"uniform vec3 ".concat(e,"a; uniform vec3 ").concat(e,"b; uniform float ").concat(e,"radius;\n uniform vec2 ").concat(e,"dpos; uniform float ").concat(e,"damt;")},code:function(e,t){return"\n {\n float lum = dot(col, vec3(0.299, 0.587, 0.114));\n vec3 duo = mix(".concat(e,"a, ").concat(e,"b, lum);\n ").concat(t.by?"float mask = (1.0 - smoothstep(".concat(e,"radius * 0.35, ").concat(e,"radius,\n length(center - ").concat(e,"dpos))) * ").concat(e,"damt;"):"float mask = 1.0;","\n col = mix(col, duo, mask);\n }")},uniforms:function(e,t){var n=e.colors||["#104B87","#E8FF00"];return{a:["3fv",p(n[0])],b:["3fv",p(n[1])],radius:["1f",(e.radius||220)*t]}}},edges:{stage:"color",decl:function(e){return"uniform vec3 ".concat(e,"color; uniform float ").concat(e,"strength;")},code:function(e){return"\n {\n edgeCol = ".concat(e,"color;\n edgeCov = max(edgeCov, edge * ").concat(e,"strength);\n }")},uniforms:function(e){return{color:["3fv",p(e.color||"#FFFFFF")],strength:["1f",null!=e.strength?e.strength:1]}}},halftone:{stage:"color",decl:function(e){return"\n uniform float ".concat(e,"size;\n uniform float ").concat(e,"angle;\n uniform vec3 ").concat(e,"ink;\n uniform vec3 ").concat(e,"paper;\n uniform float ").concat(e,"soft;\n uniform float ").concat(e,"radius;\n uniform vec2 ").concat(e,"dpos;\n uniform float ").concat(e,"damt;")},code:function(e,t){return"\n {\n float lum = dot(col, vec3(0.299, 0.587, 0.114));\n float sz = ".concat(e,"size;").concat(t.by?"\n float fd = 1.0 - smoothstep(0.0, ".concat(e,"radius, length(frag - ").concat(e,"dpos));\n sz *= 1.0 + fd * ").concat(e,"damt * 1.8;"):"","\n // Screen angle: rotating the grid is what stops the dots\n // reading as a horizontal/vertical texture.\n float ca = cos(").concat(e,"angle), sa = sin(").concat(e,"angle);\n vec2 rp = vec2(ca * frag.x - sa * frag.y,\n sa * frag.x + ca * frag.y) / max(sz, 1.0);\n vec2 cell = fract(rp) - 0.5;\n // Dot radius from tone: darker tone prints a bigger dot.\n // sqrt because ink coverage goes as area, not radius.\n float rr = sqrt(clamp(1.0 - lum, 0.0, 1.0)) * 0.55;\n float dm = smoothstep(rr, rr - ").concat(e,"soft, length(cell));\n col = mix(").concat(e,"paper, ").concat(e,"ink, dm);\n }")},uniforms:function(e,t){return{size:["1f",(e.size||6)*t],angle:["1f",(null!=e.angle?e.angle:15)*Math.PI/180],ink:["3fv",p(e.ink||"#0B1B2B")],paper:["3fv",p(e.paper||"#FFFFFF")],soft:["1f",null!=e.softness?e.softness:.08],radius:["1f",(e.radius||220)*t]}}},aberration:{stage:"displace",chroma:!0,decl:function(e){return"\n uniform float ".concat(e,"amount;\n uniform float ").concat(e,"radius;\n uniform vec2 ").concat(e,"dpos;\n uniform float ").concat(e,"damt;")},code:function(e,t){return"\n {\n vec2 ctr = ".concat(t.by?"".concat(e,"dpos"):"u_res * 0.5",";\n vec2 dv = sampleP - ctr;\n float dl = length(dv);\n vec2 dir = dl > 0.5 ? dv / dl : vec2(0.0);\n ").concat(t.by?"float amt = ".concat(e,"amount * ").concat(e,"damt *\n (1.0 - smoothstep(0.0, ").concat(e,"radius, dl));"):"float amt = ".concat(e,"amount * (dl / max(length(u_res) * 0.5, 1.0));"),"\n chroma += dir * amt;\n }")},uniforms:function(e,t){return{amount:["1f",(null!=e.amount?e.amount:6)*t],radius:["1f",(e.radius||240)*t]}}},mask:{stage:"field",producesField:!0,defaultDriver:"static",decl:function(e){return"\n uniform vec2 ".concat(e,"dpos;\n uniform float ").concat(e,"damt;\n uniform float ").concat(e,"radius;\n uniform vec2 ").concat(e,"at;\n uniform vec2 ").concat(e,"remap;\n uniform float ").concat(e,"invert;")},code:function(e,t){var n=t.from||"radial",r=t.at?"(".concat(e,"at * u_res)"):"".concat(e,"dpos"),o="vertical"===n?"frag.y / max(u_res.y, 1.0)":"horizontal"===n?"frag.x / max(u_res.x, 1.0)":"1.0 - smoothstep(0.0, ".concat(e,"radius, length(frag - ").concat(r,"))");return"\n {\n float m = ".concat(o,";\n m = clamp((m - ").concat(e,"remap.x) / max(").concat(e,"remap.y - ").concat(e,"remap.x, 1e-4), 0.0, 1.0);\n m = mix(m, 1.0 - m, ").concat(e,"invert);\n ").concat(y(t.as||"mask")," *= m * ").concat(e,"damt;\n }")},uniforms:function(e,t){return{radius:["1f",(null!=e.radius?e.radius:260)*t],at:["2fv",e.at||[.5,.5]],remap:["2fv",e.remap||[0,1]],invert:["1f",e.invert?1:0]}}},noise:{stage:"field",producesField:!0,decl:function(e){return"\n uniform float ".concat(e,"scale;\n uniform float ").concat(e,"speed;\n uniform vec2 ").concat(e,"remap;\n uniform float ").concat(e,"amp;\n float ").concat(e,"h(vec2 v) {\n return fract(sin(dot(v, vec2(41.113, 289.717))) * 43758.545);\n }\n float ").concat(e,"n(vec2 v) {\n vec2 i = floor(v), f = v - i;\n f = f * f * (3.0 - 2.0 * f);\n return mix(mix(").concat(e,"h(i), ").concat(e,"h(i + vec2(1.0, 0.0)), f.x),\n mix(").concat(e,"h(i + vec2(0.0, 1.0)), ").concat(e,"h(i + vec2(1.0, 1.0)), f.x), f.y);\n }")},code:function(e,t){return"\n {\n vec2 np = frag / max(u_res.y, 1.0) * ".concat(e,"scale;\n // Two octaves: enough structure to read as turbulence\n // without the cost of a full fBm.\n float n = ").concat(e,"n(np + u_time * ").concat(e,"speed) * 0.65 +\n ").concat(e,"n(np * 2.7 - u_time * ").concat(e,"speed * 0.6) * 0.35;\n n = clamp((n - ").concat(e,"remap.x) / max(").concat(e,"remap.y - ").concat(e,"remap.x, 1e-4), 0.0, 1.0);\n ").concat(y(t.as||"mask")," *= mix(1.0, n, ").concat(e,"amp);\n }")},uniforms:function(e){return{scale:["1f",null!=e.scale?e.scale:3],speed:["1f",null!=e.speed?e.speed:.3],remap:["2fv",e.remap||[0,1]],amp:["1f",null!=e.amount?e.amount:1]}}},copy:{stage:"color",defaultDriver:"static",decl:function(e){return"\n uniform vec2 ".concat(e,"dpos;\n uniform float ").concat(e,"damt;\n uniform float ").concat(e,"radius;\n uniform float ").concat(e,"scale;\n uniform float ").concat(e,"rotate;\n uniform float ").concat(e,"fade;\n uniform float ").concat(e,"amount;")},code:function(e,t){for(var n=Array.isArray(t.points)&&t.points.length>0,r=n?t.points.length:Math.max(1,Math.min(24,Math.round(t.count||5))),o="",a=function(a){var i,s=n?"vec2(".concat((+t.points[a][0]).toFixed(5),", ").concat((+t.points[a][1]).toFixed(5),") * u_res"):(i=a/r*Math.PI*2,"".concat(e,"dpos + vec2(").concat(Math.cos(i).toFixed(5),", ")+"".concat(Math.sin(i).toFixed(5),") * ").concat(e,"radius"));o+="\n {\n float ang = ".concat(e,"rotate * ").concat((a+1).toFixed(1),";\n float cs = cos(ang), sn = sin(ang);\n // Inverse transform: to draw a stamp scaled by s about a\n // centre c, fetch from the source at (frag - c) / s.\n vec2 d = mat2(cs, -sn, sn, cs) * (frag - (").concat(s,"));\n vec2 q = d / max(").concat(e,"scale, 1e-3) + u_res * 0.5;\n vec2 quv = vec2(q.x / u_res.x, 1.0 - q.y / u_res.y);\n vec2 inside = step(vec2(0.0), quv) * step(quv, vec2(1.0));\n vec4 s = texture2D(u_tex, clamp(quv, 0.0, 1.0));\n float w = s.a * inside.x * inside.y * ").concat(e,"amount * ").concat(e,"damt\n * pow(").concat(e,"fade, ").concat(a.toFixed(1),");\n // Straight-alpha OVER, newest stamp on top.\n float na = w + ovA * (1.0 - w);\n ovCol = (s.rgb * w + ovCol * ovA * (1.0 - w)) / max(na, 1e-4);\n ovA = na;\n }")},i=0;i<r;i++)a(i);return o},uniforms:function(e,t){return{radius:["1f",(null!=e.radius?e.radius:110)*t],scale:["1f",null!=e.scale?e.scale:.5],rotate:["1f",null!=e.rotate?e.rotate:0],fade:["1f",null!=e.fade?e.fade:1],amount:["1f",null!=e.amount?e.amount:1]}}},merge:{stage:"color",decl:function(e){return"uniform float ".concat(e,"mix;")},code:function(){return""},uniforms:function(e){return{mix:["1f",null!=e.mix?e.mix:1]}}},echo:{stage:"color",decl:function(e){return"\n uniform sampler2D ".concat(e,"hist;\n uniform float ").concat(e,"strength;\n uniform vec3 ").concat(e,"tint;\n uniform float ").concat(e,"tintAmt;")},code:function(e){return"\n {\n // Sampled in screen space: the trail records where things\n // WERE, which is not where a warp op would fetch them from.\n vec2 huv = vec2(frag.x / u_res.x, 1.0 - frag.y / u_res.y);\n vec4 h = texture2D(".concat(e,"hist, clamp(huv, 0.001, 0.999));\n float ha = clamp(h.a * ").concat(e,"strength, 0.0, 1.0);\n vec3 hc = mix(h.rgb, ").concat(e,"tint, ").concat(e,"tintAmt);\n // Straight-alpha OVER into the border layer so an edges op\n // in the same chain still composites correctly.\n float na = ha + edgeCov * (1.0 - ha);\n edgeCol = (hc * ha + edgeCol * edgeCov * (1.0 - ha)) / max(na, 1e-4);\n edgeCov = na;\n }")},uniforms:function(e){return{strength:["1f",null!=e.strength?e.strength:.85],tint:["3fv",p(e.tint||"#7FD4FF")],tintAmt:["1f",e.tint?null!=e.tintAmount?e.tintAmount:.5:0]}},solver:{resolutions:function(e,t,n){return{frame:[t,n]}},targets:{history:{double:!0,res:"frame",fmt:"rgba",smooth:!0}},samplers:{hist:"history"},programs:{accumulate:"\nprecision highp float;\nuniform sampler2D u_content;\nuniform sampler2D u_hist;\nuniform vec2 u_texel;\nuniform float u_decay;\nvoid main() {\n vec2 uv = gl_FragCoord.xy * u_texel;\n vec4 c = texture2D(u_content, uv);\n vec4 h = texture2D(u_hist, uv) * u_decay;\n gl_FragColor = max(c, h);\n}"},splatColor:function(){return[0,0,0]},step:function(e,t,n){var r=Math.min(n.dt,1/30),o=Math.pow(null!=t.decay?t.decay:.92,60*r);e.use("accumulate"),e.f2("u_texel",1/e.canvasW,1/e.canvasH),e.f1("u_decay",o),e.smp("u_content",e.content,0),e.smp("u_hist",e.read("history"),1),e.blit(e.write("history")),e.swap("history")}}},stir:{stage:["warp","color"],decl:function(e){return"\n uniform sampler2D ".concat(e,"vel;\n uniform sampler2D ").concat(e,"dye;\n uniform float ").concat(e,"strength;\n uniform float ").concat(e,"dyemix;\n uniform float ").concat(e,"intensity;\n uniform float ").concat(e,"sheen;\n uniform vec3 ").concat(e,"tint;")},code:function(e,t,n){return"warp"===n?"\n {\n // frag/warped are top-down pixels, the field is bottom-up\n // [0,1]: flip y going in, and flip the y of the vector coming\n // out so the content drags WITH the pointer.\n vec2 fuv = vec2(warped.x / u_res.x, 1.0 - warped.y / u_res.y);\n vec2 v = texture2D(".concat(e,"vel, clamp(fuv, 0.001, 0.999)).xy;\n warped += vec2(v.x, -v.y) * ").concat(e,"strength;\n }"):"\n {\n // Sampled at the CONTINUOUS warped position, never at the\n // cell centre: a cell op upstream (hexalize) snaps the cell\n // centre to one point per tile, which would quantise the\n // liquid into flat per-hex patches instead of smooth swirls.\n vec2 suv = vec2(warped.x / u_res.x, 1.0 - warped.y / u_res.y);\n vec3 dc = texture2D(".concat(e,"dye, clamp(suv, 0.001, 0.999)).rgb;\n float mag = length(dc);\n // Colour is carried IN the dye field and advected with it, so\n // a ribbon keeps its hue while the flow folds it. Deriving\n // colour from the local flow direction instead would make\n // neighbouring pixels jump hue and read as confetti.\n vec3 liquid = mag > 1e-4 ? clamp(dc / mag * 1.25, 0.0, 1.0) : ").concat(e,"tint;\n float amt = clamp((1.0 - exp(-mag * ").concat(e,"intensity)) * ").concat(e,"dyemix, 0.0, 1.0);\n // Straight-alpha OVER so a later overlay op (blobs) still\n // composites correctly on top of the liquid.\n float na = amt + ovA * (1.0 - amt);\n ovCol = (liquid * amt + ovCol * ovA * (1.0 - amt)) / max(na, 1e-4);\n ovA = na;\n\n // Faint sheen on the content itself where the flow is fast.\n float sp = length(texture2D(").concat(e,"vel, clamp(suv, 0.001, 0.999)).xy);\n col = mix(col, ").concat(e,"tint, (1.0 - exp(-sp * 0.7)) * ").concat(e,"sheen);\n }")},uniforms:function(e,t){return{strength:["1f",(null!=e.strength?e.strength:26)*t],sheen:["1f",null!=e.sheen?e.sheen:.15],tint:["3fv",p(e.tint||"#7FD4FF")],dyemix:["1f",null!=e.dye?e.dye:.85],intensity:["1f",null!=e.intensity?e.intensity:1.6]}},solver:{resolutions:function(e){return{sim:Math.max(32,Math.min(e.resolution||128,512)),dye:Math.max(64,Math.min(e.dyeResolution||512,1024))}},targets:{velocity:{double:!0,res:"sim",fmt:"rg",smooth:!0},dye:{double:!0,res:"dye",fmt:"rgba",smooth:!0},pressure:{double:!0,res:"sim",fmt:"r",smooth:!1},divergence:{double:!1,res:"sim",fmt:"r",smooth:!1},vorticity:{double:!1,res:"sim",fmt:"r",smooth:!1}},samplers:{vel:"velocity",dye:"dye"},programs:{splat:"\nprecision highp float;\nuniform sampler2D u_src;\nuniform vec2 u_texel;\nuniform vec2 u_point;\nuniform vec3 u_amount;\nuniform float u_radius;\nuniform float u_aspect;\nvoid main() {\n vec2 uv = gl_FragCoord.xy * u_texel;\n vec2 d = uv - u_point;\n if (u_aspect >= 1.0) d.y /= u_aspect; else d.x *= u_aspect;\n float g = exp(-dot(d, d) / max(u_radius * u_radius, 1e-6));\n gl_FragColor = vec4(texture2D(u_src, uv).xyz + u_amount * g, 1.0);\n}",advect:"\nprecision highp float;\nuniform sampler2D u_vel;\nuniform sampler2D u_src;\nuniform vec2 u_texel;\nuniform float u_dt;\nuniform float u_diss;\nvoid main() {\n vec2 uv = gl_FragCoord.xy * u_texel;\n vec2 back = uv - texture2D(u_vel, uv).xy * u_dt;\n gl_FragColor = vec4(texture2D(u_src, clamp(back, 0.0, 1.0)).xyz * u_diss, 1.0);\n}",curl:"\nprecision highp float;\nuniform sampler2D u_vel;\nuniform vec2 u_texel;\nvoid main() {\n vec2 uv = gl_FragCoord.xy * u_texel;\n float r = texture2D(u_vel, uv + vec2(u_texel.x, 0.0)).y;\n float l = texture2D(u_vel, uv - vec2(u_texel.x, 0.0)).y;\n float t = texture2D(u_vel, uv + vec2(0.0, u_texel.y)).x;\n float b = texture2D(u_vel, uv - vec2(0.0, u_texel.y)).x;\n gl_FragColor = vec4(0.5 * ((r - l) - (t - b)), 0.0, 0.0, 1.0);\n}",confine:"\nprecision highp float;\nuniform sampler2D u_vel;\nuniform sampler2D u_curl;\nuniform vec2 u_texel;\nuniform float u_eps;\nuniform float u_dt;\nvoid main() {\n vec2 uv = gl_FragCoord.xy * u_texel;\n float r = texture2D(u_curl, uv + vec2(u_texel.x, 0.0)).x;\n float l = texture2D(u_curl, uv - vec2(u_texel.x, 0.0)).x;\n float t = texture2D(u_curl, uv + vec2(0.0, u_texel.y)).x;\n float b = texture2D(u_curl, uv - vec2(0.0, u_texel.y)).x;\n float c = texture2D(u_curl, uv).x;\n vec2 grad = 0.5 * vec2(abs(r) - abs(l), abs(t) - abs(b));\n vec2 n = grad / (length(grad) + 1e-5);\n vec2 force = u_eps * c * vec2(n.y, -n.x);\n vec2 v = texture2D(u_vel, uv).xy + force * u_dt;\n gl_FragColor = vec4(clamp(v, -64.0, 64.0), 0.0, 1.0);\n}",divergence:"\nprecision highp float;\nuniform sampler2D u_vel;\nuniform vec2 u_texel;\nvoid main() {\n vec2 uv = gl_FragCoord.xy * u_texel;\n float r = texture2D(u_vel, uv + vec2(u_texel.x, 0.0)).x;\n float l = texture2D(u_vel, uv - vec2(u_texel.x, 0.0)).x;\n float t = texture2D(u_vel, uv + vec2(0.0, u_texel.y)).y;\n float b = texture2D(u_vel, uv - vec2(0.0, u_texel.y)).y;\n vec2 c = texture2D(u_vel, uv).xy;\n if (uv.x - u_texel.x < 0.0) l = -c.x;\n if (uv.x + u_texel.x > 1.0) r = -c.x;\n if (uv.y - u_texel.y < 0.0) b = -c.y;\n if (uv.y + u_texel.y > 1.0) t = -c.y;\n gl_FragColor = vec4(0.5 * ((r - l) + (t - b)), 0.0, 0.0, 1.0);\n}",jacobi:"\nprecision highp float;\nuniform sampler2D u_p;\nuniform sampler2D u_div;\nuniform vec2 u_texel;\nvoid main() {\n vec2 uv = gl_FragCoord.xy * u_texel;\n float r = texture2D(u_p, uv + vec2(u_texel.x, 0.0)).x;\n float l = texture2D(u_p, uv - vec2(u_texel.x, 0.0)).x;\n float t = texture2D(u_p, uv + vec2(0.0, u_texel.y)).x;\n float b = texture2D(u_p, uv - vec2(0.0, u_texel.y)).x;\n float d = texture2D(u_div, uv).x;\n gl_FragColor = vec4((r + l + t + b - d) * 0.25, 0.0, 0.0, 1.0);\n}",subtract:"\nprecision highp float;\nuniform sampler2D u_p;\nuniform sampler2D u_vel;\nuniform vec2 u_texel;\nvoid main() {\n vec2 uv = gl_FragCoord.xy * u_texel;\n float r = texture2D(u_p, uv + vec2(u_texel.x, 0.0)).x;\n float l = texture2D(u_p, uv - vec2(u_texel.x, 0.0)).x;\n float t = texture2D(u_p, uv + vec2(0.0, u_texel.y)).x;\n float b = texture2D(u_p, uv - vec2(0.0, u_texel.y)).x;\n vec2 v = texture2D(u_vel, uv).xy - 0.5 * vec2(r - l, t - b);\n gl_FragColor = vec4(v, 0.0, 1.0);\n}",decay:"\nprecision highp float;\nuniform sampler2D u_tex;\nuniform vec2 u_texel;\nuniform float u_value;\nvoid main() {\n gl_FragColor = texture2D(u_tex, gl_FragCoord.xy * u_texel) * u_value;\n}"},splatColor:function(e,t,n){var r=null!=e.dyeAmount?e.dyeAmount:.6;if(!e.rainbow){var o=p(e.tint||"#7FD4FF");return[o[0]*r,o[1]*r,o[2]*r]}var a=Math.atan2(n,t);return[(.5+.5*Math.cos(a))*r,(.5+.5*Math.cos(a+2.0944))*r,(.5+.5*Math.cos(a+4.1888))*r]},step:function(e,t,n){var r=Math.min(n.dt,1/30),o=1/e.res.sim,a=1/e.res.dye,i=function(e,t){return Math.pow(e,60*t)};if(n.moving){var s=null!=t.force?t.force:1;e.use("splat"),e.f1("u_radius",null!=t.radius?t.radius:.1),e.f1("u_aspect",n.aspect),e.f2("u_point",n.px,n.py),e.f2("u_texel",o,o),e.smp("u_src",e.read("velocity"),0),e.f3("u_amount",n.dx*s,n.dy*s,0),e.blit(e.write("velocity")),e.swap("velocity"),e.f2("u_texel",a,a),e.smp("u_src",e.read("dye"),0),e.f3("u_amount",n.col[0],n.col[1],n.col[2]),e.blit(e.write("dye")),e.swap("dye")}e.use("curl"),e.f2("u_texel",o,o),e.smp("u_vel",e.read("velocity"),0),e.blit(e.single("vorticity")),e.use("confine"),e.f2("u_texel",o,o),e.f1("u_eps",null!=t.curl?t.curl:2.2),e.f1("u_dt",r),e.smp("u_vel",e.read("velocity"),0),e.smp("u_curl",e.single("vorticity"),1),e.blit(e.write("velocity")),e.swap("velocity"),e.use("divergence"),e.f2("u_texel",o,o),e.smp("u_vel",e.read("velocity"),0),e.blit(e.single("divergence")),e.use("decay"),e.f2("u_texel",o,o),e.f1("u_value",i(null!=t.pressure?t.pressure:.8,r)),e.smp("u_tex",e.read("pressure"),0),e.blit(e.write("pressure")),e.swap("pressure"),e.use("jacobi"),e.f2("u_texel",o,o),e.smp("u_div",e.single("divergence"),1);for(var c=Math.max(1,Math.min(t.pressureIterations||6,40)),l=0;l<c;l++)e.smp("u_p",e.read("pressure"),0),e.blit(e.write("pressure")),e.swap("pressure");e.use("subtract"),e.f2("u_texel",o,o),e.smp("u_p",e.read("pressure"),0),e.smp("u_vel",e.read("velocity"),1),e.blit(e.write("velocity")),e.swap("velocity"),e.use("advect"),e.f1("u_dt",r),e.f2("u_texel",o,o),e.smp("u_vel",e.read("velocity"),0),e.smp("u_src",e.read("velocity"),0),e.f1("u_diss",i(null!=t.decay?t.decay:.985,r)),e.blit(e.write("velocity")),e.swap("velocity"),e.f2("u_texel",a,a),e.smp("u_vel",e.read("velocity"),0),e.smp("u_src",e.read("dye"),1),e.f1("u_diss",i(null!=t.dyeFade?t.dyeFade:.97,r)),e.blit(e.write("dye")),e.swap("dye")}}},blobs:{stage:"color",overlay:!0,mips:!0,decl:function(e){return"\n uniform vec3 ".concat(e,"blobs[").concat(12,"];\n uniform int ").concat(e,"count;\n uniform vec3 ").concat(e,"tint;\n uniform float ").concat(e,"refract;\n uniform float ").concat(e,"rim;\n uniform float ").concat(e,"alpha;\n uniform float ").concat(e,"irid;\n uniform float ").concat(e,"disp;\n uniform float ").concat(e,"frost;\n float ").concat(e,"hash(vec3 v) {\n return fract(sin(dot(v, vec3(21.9898, 63.233, 41.719))) * 41739.317);\n }\n float ").concat(e,"noise(vec3 v) {\n vec3 f = floor(v);\n vec3 r = v - f;\n r = r * r * (3.0 - 2.0 * r);\n float c000 = ").concat(e,"hash(f);\n float c100 = ").concat(e,"hash(f + vec3(1.0, 0.0, 0.0));\n float c010 = ").concat(e,"hash(f + vec3(0.0, 1.0, 0.0));\n float c110 = ").concat(e,"hash(f + vec3(1.0, 1.0, 0.0));\n float c001 = ").concat(e,"hash(f + vec3(0.0, 0.0, 1.0));\n float c101 = ").concat(e,"hash(f + vec3(1.0, 0.0, 1.0));\n float c011 = ").concat(e,"hash(f + vec3(0.0, 1.0, 1.0));\n float c111 = ").concat(e,"hash(f + vec3(1.0, 1.0, 1.0));\n return mix(\n mix(mix(c000, c100, r.x), mix(c010, c110, r.x), r.y),\n mix(mix(c001, c101, r.x), mix(c011, c111, r.x), r.y), r.z);\n }")},code:function(e){return"\n {\n float field = 0.0;\n vec2 grad = vec2(0.0);\n for (int bi = 0; bi < ".concat(12,"; bi++) {\n if (bi >= ").concat(e,"count) break;\n vec2 bd = frag - ").concat(e,"blobs[bi].xy;\n float br = ").concat(e,"blobs[bi].z;\n float dd = max(dot(bd, bd), 1.0);\n field += (br * br) / dd;\n grad += (-2.0 * (br * br) / (dd * dd)) * bd;\n }\n float bmask = smoothstep(0.6, 1.0, field);\n if (bmask > 0.003) {\n float gmag = length(grad);\n vec2 g2 = gmag > 1e-6 ? -grad / gmag : vec2(0.0);\n // Pseudo-3D surface normal from the 2D field. For a\n // metaball field (sum of r^2/d^2), 1/sqrt(field) IS the\n // normalized radial position: 0 at the centre, 1 at the\n // surface. That yields a true hemisphere profile — the\n // curvature (and therefore refraction) varies smoothly\n // across the WHOLE disc, not just an edge annulus.\n float s = clamp(inversesqrt(max(field, 1e-4)), 0.0, 1.0);\n vec3 n = normalize(vec3(g2 * s, sqrt(max(1.0 - s * s, 0.004))));\n vec3 rd = vec3(0.0, 0.0, -1.0);\n\n // Dispersion: refract each channel with a slightly\n // different index (water-glass ~1.33). Near the rim the\n // exit direction flattens (|z| -> 0), so the sampling\n // offsets stretch — producing the smooth concentric\n // colour-fringed bands of a thick lens.\n float ca = 0.03 * ").concat(e,"disp;\n vec3 tR = refract(rd, n, 1.0 / (1.33 - ca));\n vec3 tG = refract(rd, n, 1.0 / 1.33);\n vec3 tB = refract(rd, n, 1.0 / (1.33 + ca));\n vec2 oR = tR.xy * (").concat(e,"refract / max(abs(tR.z), 0.3));\n vec2 oG = tG.xy * (").concat(e,"refract / max(abs(tG.z), 0.3));\n vec2 oB = tB.xy * (").concat(e,"refract / max(abs(tB.z), 0.3));\n\n // Blur grows with how far the ray was bent (mip bias), so\n // strongly-refracted regions smear smoothly instead of\n // showing sharp displaced copies. frost adds a base blur.\n float lod = ").concat(e,"frost * 5.0 + log2(1.0 + length(oG) * 0.035);\n vec2 px = 1.0 / u_res;\n vec4 sG = texture2D(u_tex, clamp(uv + oG * px, 0.002, 0.998), lod);\n vec3 refr;\n refr.r = texture2D(u_tex, clamp(uv + oR * px, 0.002, 0.998), lod).r;\n refr.g = sG.g;\n refr.b = texture2D(u_tex, clamp(uv + oB * px, 0.002, 0.998), lod).b;\n // Blend in (approximately) linear light for clean fringes.\n refr = pow(max(refr, 0.0), vec3(2.2));\n\n vec3 tintLin = pow(").concat(e,"tint, vec3(2.2));\n vec3 bodyLin = mix(tintLin * 0.35, refr, sG.a);\n\n // Glass darkens toward the silhouette (absorption), the\n // opposite of an additive glow ring.\n float edge = pow(1.0 - clamp(n.z, 0.0, 1.0), 1.5);\n bodyLin *= 1.0 - 0.35 * ").concat(e,"rim * edge;\n vec3 body = pow(max(bodyLin, 0.0), vec3(1.0 / 2.2));\n\n // Sparse iridescent glints: two drifting value-noise\n // fields sampled on the reflection direction, one warm\n // one cool, sharpened hard so only sparkles survive.\n vec3 rf = reflect(rd, n);\n float nA = ").concat(e,"noise(rf * 2.3 + u_time * 0.5);\n float nB = ").concat(e,"noise(rf * 2.3 - u_time * 0.5);\n vec3 glint = pow(max(vec3(0.30, 0.52, 0.86) * nA +\n vec3(0.80, 0.56, 0.34) * nB, 0.0), vec3(6.0));\n body += glint * ").concat(e,"irid;\n\n // Small hard specular from a fixed key light.\n vec3 L = normalize(vec3(-0.5, 0.7, 0.6));\n float spec = pow(max(dot(reflect(-L, n), vec3(0.0, 0.0, 1.0)), 0.0), 60.0);\n body += spec * 0.35;\n\n ovCol = body;\n ovA = max(ovA, bmask * ").concat(e,"alpha);\n }\n }")},uniforms:function(e,t){return{tint:["3fv",p(e.color||"#EAF4EE")],refract:["1f",(null!=e.refract?e.refract:70)*t],rim:["1f",null!=e.rim?e.rim:.6],alpha:["1f",null!=e.alpha?e.alpha:1],irid:["1f",null!=e.iridescence?e.iridescence:.8],disp:["1f",null!=e.dispersion?e.dispersion:1],frost:["1f",null!=e.frost?e.frost:.25]}},init:function(e,t,n,r){for(var o=(e.radius||46)*t,a=Math.max(1,Math.min(null!=e.trail?e.trail:7,12)),i=[],s=0,c=0;c<a;c++){var l=Math.pow(.86,c);i.push(l),s+=l*l}for(var u=Math.sqrt(s),f=i.map(function(e){return o*e/u}),d=i.map(function(e,t){return.85*o*Math.pow(.955,t)}),h=function(e,t){return e+Math.random()*(t-e)},p=Math.max(0,Math.min((e.count||1)-1,12-a)),v=[],m=0;m<p;m++){var y=h(0,2*Math.PI),g=h(30,80)*t;v.push({x:h(o,n-o),y:h(o,r-o),r:o*h(.45,.8),vx:Math.cos(y)*g,vy:Math.sin(y)*g,phase:h(0,2*Math.PI)})}for(var x={x:.5*n,y:.55*r},b=[],w=0;w<a;w++)b.push({x:x.x,y:x.y});return{head:x,chain:b,nTrail:a,drifters:v,trailIdleR:f,trailMoveR:d,stretch:0,seg:.9*o}},tick:function(e,t){var n=Math.min(t.dt,.05),r=t.w,o=t.h,a=1-Math.exp(9*-n);e.head.x+=(t.mouseX-e.head.x)*a,e.head.y+=(t.mouseY-e.head.y)*a;var i=e.chain;i[0].x=e.head.x,i[0].y=e.head.y;for(var s=1-Math.exp(16*-n),l=1;l<i.length;l++){var u=i[l-1],f=i[l],d=u.x-f.x,h=u.y-f.y,p=Math.hypot(d,h)||1e-4,v=e.seg;p>v&&(f.x+=d*(1-v/p),f.y+=h*(1-v/p)),f.x+=(u.x-f.x)*s,f.y+=(u.y-f.y)*s}var m=i[i.length-1],y=Math.hypot(m.x-e.head.x,m.y-e.head.y),g=Math.max(1,e.seg*(e.nTrail-1)),x=Math.min(1,y/g);e.stretch+=(x-e.stretch)*(1-Math.exp(8*-n));var b,w=c(e.drifters);try{for(w.s();!(b=w.n()).done;){var _=b.value;_.x+=_.vx*n,_.y+=_.vy*n,_.x<_.r?(_.x=_.r,_.vx=Math.abs(_.vx)):_.x>r-_.r&&(_.x=r-_.r,_.vx=-Math.abs(_.vx)),_.y<_.r?(_.y=_.r,_.vy=Math.abs(_.vy)):_.y>o-_.r&&(_.y=o-_.r,_.vy=-Math.abs(_.vy)),_.phase+=1.6*n}}catch(e){w.e(e)}finally{w.f()}for(var k=new Float32Array(36),E=e.stretch,T=0;T<e.nTrail;T++){var S=i[T];k[3*T]=S.x,k[3*T+1]=S.y,k[3*T+2]=e.trailIdleR[T]+(e.trailMoveR[T]-e.trailIdleR[T])*E}return e.drifters.forEach(function(t,n){var r=e.nTrail+n;k[3*r]=t.x,k[3*r+1]=t.y,k[3*r+2]=t.r*(1+.12*Math.sin(t.phase))}),[{name:"blobs",kind:"3fv",value:k},{name:"count",kind:"1i",value:e.nTrail+e.drifters.length}]}}};function p(e){return[1,3,5].map(function(t){return parseInt(e.slice(t,t+2),16)/255})}Object.keys(h).concat("switch");var v="attribute vec2 a; void main(){ gl_Position = vec4(a, 0.0, 1.0); }",m={warp:["warped"],cell:["center","edge"],displace:["sampleP","chroma"],color:["col","edgeCol","edgeCov","ovCol","ovA"]},y=function(e){return"fld_".concat(String(e).replace(/[^A-Za-z0-9_]/g,""))},g=function(e){return!0===e.masked?"mask":"string"==typeof e.masked?e.masked:null},x=function(e){return"edge"===e||"edgeCov"===e||"ovA"===e?"float":"col"===e||"edgeCol"===e||"ovCol"===e?"vec3":"vec2"},b={over:function(e,t){return t},add:function(e,t){return"min(".concat(e," + ").concat(t,", vec3(1.0))")},screen:function(e,t){return"1.0 - (1.0 - ".concat(e,") * (1.0 - ").concat(t,")")},multiply:function(e,t){return"".concat(e," * ").concat(t)},difference:function(e,t){return"abs(".concat(e," - ").concat(t,")")},lighten:function(e,t){return"max(".concat(e,", ").concat(t,")")},darken:function(e,t){return"min(".concat(e,", ").concat(t,")")}};function w(e,t){var n,r=[],o=c(e||[]);try{for(o.s();!(n=o.n()).done;){var a=n.value;if(a&&a.op){var i={node:a,i:t.length};t.push(a),"merge"===a.op&&(i.a=w(a.a,t),i.b=w(a.b,t)),r.push(i)}}}catch(e){o.e(e)}finally{o.f()}return r}function _(e,t){var n,r=c(e);try{var o=function(){var e=n.value,r=e.node;if("merge"===r.op)return function(e,t){var n="u".concat(e.i,"_"),r=b[e.node.mode]||b.over,o={field:"",warp:"",cell:"",displace:"",color:""},a={field:"",warp:"",cell:"",displace:"",color:""};_(e.a||[],o),_(e.b||[],a),t.field+=o.field+a.field;for(var i=function(){var e=c[s];if(!o[e]&&!a[e])return 1;var i=m[e],l=" {\n";i.forEach(function(e,t){l+=" ".concat(x(e)," pre").concat(t," = ").concat(e,";\n")}),l+=o[e],i.forEach(function(e,t){l+=" ".concat(x(e)," bra").concat(t," = ").concat(e,";\n")}),i.forEach(function(e,t){l+=" ".concat(e," = pre").concat(t,";\n")}),l+=a[e],i.forEach(function(e,t){var o="vec3"===x(e)?r("bra".concat(t),e):e;l+=" ".concat(e," = mix(bra").concat(t,", ").concat(o,", ").concat(n,"mix);\n")}),l+=" }\n",t[e]+=l},s=0,c=["warp","cell","displace","color"];s<c.length;s++)i()}(e,t),0;var o=h[r.op];if(!o)return 0;var a="u".concat(e.i,"_"),i=Array.isArray(o.stage)?o.stage:[o.stage],s=g(r);i.forEach(function(e){var n=o.code(a,r,e)+"\n";if(s&&m[e]){var i=m[e],c=i.map(function(e,t){return" ".concat(x(e)," msv").concat(t," = ").concat(e,";")}).join("\n"),l=i.map(function(e,t){return" ".concat(e," = mix(msv").concat(t,", ").concat(e,", ").concat(y(s),");")}).join("\n");n=" {\n".concat(c,"\n").concat(n,"\n").concat(l,"\n }\n")}t["field"===e||"warp"===e||"cell"===e||"displace"===e?e:"color"]+=n})};for(r.s();!(n=r.n()).done;)o()}catch(e){r.e(e)}finally{r.f()}}var k=/\d(?:vw|vh|vmin|vmax|dvw|dvh|svw|svh|lvw|lvh)\b/i;var E={coarse:"(pointer: coarse)",fine:"(pointer: fine)",hover:"(hover: hover)","no-hover":"(hover: none)","reduced-motion":"(prefers-reduced-motion: reduce)",dark:"(prefers-color-scheme: dark)",light:"(prefers-color-scheme: light)"};function T(e){if("function"==typeof e)try{return!!e()}catch(e){return!1}if("boolean"==typeof e)return e;if("string"!=typeof e||""===e)return!1;var t=E[e]||e;if("undefined"==typeof window||"function"!=typeof window.matchMedia)return!1;try{return window.matchMedia(t).matches}catch(e){return!1}}function S(e,t){if(!Array.isArray(e))return[];if((t||0)>8)return[];var n,r=[],o=c(e);try{for(o.s();!(n=o.n()).done;){var a=n.value;if(a&&"switch"===a.op){var i,s=c(S((T(a.when)?a.use:a.else)||[],(t||0)+1));try{for(s.s();!(i=s.n()).done;){var l=i.value;r.push(l)}}catch(e){s.e(e)}finally{s.f()}}else r.push(a)}}catch(e){o.e(e)}finally{o.f()}return r}function A(e,t){if(!e||"undefined"==typeof document||"undefined"==typeof window)return null;if(!t||0===t.length)return null;if(t.some(function(e){return e&&"switch"===e.op})&&0===(t=S(t,0)).length)return null;var n=[],r=w(t,n);if(t=n,"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches)return null;if(e.querySelector&&e.querySelector(":scope > canvas[data-nodality-raster]"))return null;var o=function(){var t=e.getBoundingClientRect();return{width:Math.max(t.width,e.scrollWidth||0),height:Math.max(t.height,e.scrollHeight||0)}},l=o();if(l.width<2||l.height<2)return null;var u=Math.min(window.devicePixelRatio||1,2),p=t.some(function(e){return(h[e.op]||{}).overlay}),m=t.every(function(e){return(h[e.op]||{}).overlay}),x=!m&&!t.some(function(e){return!1===e.live}),b="undefined"!=typeof WebGL2RenderingContext&&"texElementImage2D"in WebGL2RenderingContext.prototype||"undefined"!=typeof WebGLRenderingContext&&"texElementImage2D"in WebGLRenderingContext.prototype,E=x&&b;x&&!E&&console.info("[nodality] HTML-in-Canvas API not available - raster ops fall back to snapshot capture.");var T=document.createElement("canvas");E&&T.setAttribute("layoutsubtree","");var A={alpha:!0,premultipliedAlpha:!1},R=T.getContext("webgl2",A)||T.getContext("webgl",A);if(!R)return null;var C="undefined"!=typeof WebGL2RenderingContext&&R instanceof WebGL2RenderingContext,M=C&&t.some(function(e){return(h[e.op]||{}).mips});E&&!("texElementImage2D"in R)&&(console.info("[nodality] texElementImage2D missing on the created context - snapshot fallback."),T.removeAttribute("layoutsubtree"),E=!1),"static"===window.getComputedStyle(e).position&&(e.style.position="relative"),T.width=Math.round(l.width*u),T.height=Math.round(l.height*u),T.setAttribute("data-nodality-raster",E?"live":"snapshot"),console.info("[nodality] raster backend:",E?"html-in-canvas (live)":"snapshot");var D=e;if(E){var F=document.createElement("div");for(F.style.cssText="display:block;width:".concat(l.width,"px;height:").concat(l.height,"px;");e.firstChild;)F.appendChild(e.firstChild);T.appendChild(F),D=F,T.style.cssText="display:block;width:".concat(l.width,"px;height:").concat(l.height,"px;")}else if(T.style.cssText="position:absolute;top:0;left:0;"+"width:".concat(l.width,"px;height:").concat(l.height,"px;")+"pointer-events:none;z-index:2147483000;",m)T.setAttribute("aria-hidden","true");else{T.setAttribute("role","img");var I=(e.textContent||"").replace(/\s+/g," ").trim();I&&T.setAttribute("aria-label",I.slice(0,300))}e.appendChild(T);var O=function(e,t){var n=R.createShader(e);if(R.shaderSource(n,t),R.compileShader(n),!R.getShaderParameter(n,R.COMPILE_STATUS))throw new Error("[nodality] raster shader: "+R.getShaderInfoLog(n));return n},L=R.createProgram();R.attachShader(L,O(R.VERTEX_SHADER,v)),R.attachShader(L,O(R.FRAGMENT_SHADER,function(e,t){var n="",r=new Set;t.forEach(function(e){var t=h[e.op];t&&t.producesField&&r.add(e.as||"mask");var n=g(e);n&&r.add(n)});var o=s(r).map(function(e){return" float ".concat(y(e)," = 1.0;")}).join("\n");t.forEach(function(e,t){var r=h[e.op];r&&(n+=r.decl("u".concat(t,"_"),e)+"\n")});var a={field:"",warp:"",cell:"",displace:"",color:""};_(e,a);var i=a.field,c=a.warp,l=a.cell,u=a.displace,f=a.color,d=t,p=d.some(function(e){return"edges"===e.op})?"":" col *= 1.0 - edge * 0.55;",v=d.some(function(e){return(h[e.op]||{}).chroma})?"\n vec2 cpx = vec2(chroma.x, -chroma.y) / u_res;\n col.r = texture2D(u_tex, clamp(uv + cpx, 0.001, 0.999)).r;\n col.b = texture2D(u_tex, clamp(uv - cpx, 0.001, 0.999)).b;":"";return"\nprecision highp float;\nuniform sampler2D u_tex;\nuniform vec2 u_res;\nuniform vec2 u_mouse;\nuniform float u_time;\n".concat(n,"\nvoid main() {\n vec2 frag = vec2(gl_FragCoord.x, u_res.y - gl_FragCoord.y);\n").concat(o,"\n").concat(i,"\n vec2 warped = frag;\n").concat(c,"\n vec2 center = warped;\n float edge = 0.0;\n").concat(l,"\n vec2 sampleP = warped;\n vec2 chroma = vec2(0.0);\n").concat(u,"\n vec2 uv = vec2(sampleP.x / u_res.x, 1.0 - sampleP.y / u_res.y);\n vec4 tex = texture2D(u_tex, clamp(uv, 0.001, 0.999));\n vec3 col = tex.rgb;").concat(v,"\n vec3 edgeCol = vec3(1.0);\n float edgeCov = 0.0;\n vec3 ovCol = vec3(0.0);\n float ovA = 0.0;\n").concat(f,"\n").concat(p,"\n // content OVER border\n float baseA = tex.a + edgeCov * (1.0 - tex.a);\n vec3 baseRGB = (col * tex.a + edgeCol * edgeCov * (1.0 - tex.a)) / max(baseA, 1e-4);\n // overlay OVER (content+border)\n float outA = ovA + baseA * (1.0 - ovA);\n vec3 outRGB = (ovCol * ovA + baseRGB * baseA * (1.0 - ovA)) / max(outA, 1e-4);\n gl_FragColor = vec4(outRGB, outA);\n}")}(r,t))),R.bindAttribLocation(L,0,"a"),R.linkProgram(L),R.useProgram(L),R.bindBuffer(R.ARRAY_BUFFER,R.createBuffer()),R.bufferData(R.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),R.STATIC_DRAW),R.enableVertexAttribArray(0),R.vertexAttribPointer(0,2,R.FLOAT,!1,0,0);var P=function(e){return R.getUniformLocation(L,e)},W=function(e,t,n){"1f"===t?R.uniform1f(e,n):"1i"===t?R.uniform1i(e,n):"2fv"===t?R.uniform2fv(e,n):"3fv"===t&&R.uniform3fv(e,n)};t.forEach(function(e,t){var n=h[e.op];if(n&&n.uniforms){var r=n.uniforms(e,u);for(var o in r)W(P("u".concat(t,"_").concat(o)),r[o][0],r[o][1])}});var B=[];t.forEach(function(e,t){var n=h[e.op];n&&"function"==typeof n.init&&B.push({i:t,def:n,state:n.init(e,u,T.width,T.height)})});var j="undefined"!=typeof performance?performance.now():0,U=[];t.forEach(function(e,t){var n=h[e.op];if(n&&n.solver){var r=function(e,t){var n=h[e.op];if(!C||!R.getExtension("EXT_color_buffer_float"))return console.info("[nodality] '"+e.op+"' needs WebGL2 float render targets - op skipped."),null;R.getExtension("OES_texture_float_linear");var r=n.solver.resolutions(e,T.width,T.height),o={r:[R.R16F,R.RED],rg:[R.RG16F,R.RG],rgba:[R.RGBA16F,R.RGBA]},a=[],s=function(e,t,n,r){var s=i(o[n],2),c=s[0],l=s[1],u=R.createTexture();R.bindTexture(R.TEXTURE_2D,u);var f=r?R.LINEAR:R.NEAREST;R.texParameteri(R.TEXTURE_2D,R.TEXTURE_MIN_FILTER,f),R.texParameteri(R.TEXTURE_2D,R.TEXTURE_MAG_FILTER,f),R.texParameteri(R.TEXTURE_2D,R.TEXTURE_WRAP_S,R.CLAMP_TO_EDGE),R.texParameteri(R.TEXTURE_2D,R.TEXTURE_WRAP_T,R.CLAMP_TO_EDGE),R.texImage2D(R.TEXTURE_2D,0,c,e,t,0,l,R.HALF_FLOAT,null);var d=R.createFramebuffer();R.bindFramebuffer(R.FRAMEBUFFER,d),R.framebufferTexture2D(R.FRAMEBUFFER,R.COLOR_ATTACHMENT0,R.TEXTURE_2D,u,0);var h=R.checkFramebufferStatus(R.FRAMEBUFFER)===R.FRAMEBUFFER_COMPLETE;R.viewport(0,0,e,t),R.clearColor(0,0,0,1),R.clear(R.COLOR_BUFFER_BIT);var p={tex:u,fbo:d,w:e,h:t,ok:h};return a.push(p),p},c={},l=!0;for(var u in n.solver.targets){var f=n.solver.targets[u],d=r[f.res],p=i(Array.isArray(d)?d:[d,d],2),m=p[0],y=p[1];f.double?(c[u]={a:s(m,y,f.fmt,f.smooth),b:s(m,y,f.fmt,f.smooth)},l=l&&c[u].a.ok&&c[u].b.ok):(c[u]={a:s(m,y,f.fmt,f.smooth)},l=l&&c[u].a.ok)}R.bindFramebuffer(R.FRAMEBUFFER,null);var g=function(){return a.forEach(function(e){R.deleteFramebuffer(e.fbo),R.deleteTexture(e.tex)})};if(!l)return console.info("[nodality] '"+e.op+"' float targets incomplete - op skipped."),g(),null;var x={};try{for(var b in n.solver.programs){var w=R.createProgram();if(R.attachShader(w,O(R.VERTEX_SHADER,v)),R.attachShader(w,O(R.FRAGMENT_SHADER,n.solver.programs[b])),R.bindAttribLocation(w,0,"a"),R.linkProgram(w),!R.getProgramParameter(w,R.LINK_STATUS))throw new Error(b+": "+R.getProgramInfoLog(w));x[b]={prog:w,loc:{}}}}catch(t){for(var _ in console.warn("[nodality] '"+e.op+"' solver programs failed:",t),g(),x)R.deleteProgram(x[_].prog);return null}return R.useProgram(L),{i:t,node:e,def:n,res:r,targets:c,progs:x,cleanup:g,prevX:.5,prevY:.5,primed:!1}}(e,t);r&&U.push(r)}});var z=function(e,t){var n=null,r={res:e.res,use:function(t){n=e.progs[t],R.useProgram(n.prog)},u:function(e){return e in n.loc||(n.loc[e]=R.getUniformLocation(n.prog,e)),n.loc[e]},f1:function(e,t){R.uniform1f(r.u(e),t)},f2:function(e,t,n){R.uniform2f(r.u(e),t,n)},f3:function(e,t,n,o){R.uniform3f(r.u(e),t,n,o)},smp:function(e,t,n){R.activeTexture(R.TEXTURE0+n),R.bindTexture(R.TEXTURE_2D,t.tex),R.uniform1i(r.u(e),n)},read:function(t){return e.targets[t].a},write:function(t){return e.targets[t].b},single:function(t){return e.targets[t].a},content:{tex:G},canvasW:T.width,canvasH:T.height,swap:function(t){var n=e.targets[t],r=n.a;n.a=n.b,n.b=r},blit:function(e){R.bindFramebuffer(R.FRAMEBUFFER,e.fbo),R.viewport(0,0,e.w,e.h),R.drawArrays(R.TRIANGLES,0,3)}},o=te[0]/T.width,a=1-te[1]/T.height,i=0,s=0;e.primed&&(i=(o-e.prevX)/Math.max(t,.001),s=(a-e.prevY)/Math.max(t,.001)),e.prevX=o,e.prevY=a,e.primed=!0;var c=Math.abs(i)+Math.abs(s)>.001;e.def.solver.step(r,e.node,{dt:t,px:o,py:a,dx:i,dy:s,moving:c,aspect:T.width/Math.max(T.height,1),col:e.def.solver.splatColor(e.node,i,s)})},G=R.createTexture();R.bindTexture(R.TEXTURE_2D,G),R.texParameteri(R.TEXTURE_2D,R.TEXTURE_MIN_FILTER,M?R.LINEAR_MIPMAP_LINEAR:R.LINEAR),R.texParameteri(R.TEXTURE_2D,R.TEXTURE_WRAP_S,R.CLAMP_TO_EDGE),R.texParameteri(R.TEXTURE_2D,R.TEXTURE_WRAP_T,R.CLAMP_TO_EDGE),R.pixelStorei(R.UNPACK_FLIP_Y_WEBGL,!0);var N=function(){M&&R.generateMipmap(R.TEXTURE_2D)},X=!1,H=!1,q=E?"live":"snapshot",Y=!1,V={color:"transparent","-webkit-text-fill-color":"transparent","-webkit-text-stroke-color":"transparent","background-color":"transparent","background-image":"none","border-color":"transparent","box-shadow":"none","text-shadow":"none"},$=null,K=function(){if(e.style.visibility="",$){var t,n=c($);try{for(n.s();!(t=n.n()).done;){var r=i(t.value,2),o=r[0],a=r[1];for(var s in V)a[s]?o.style.setProperty(s,a[s]):o.style.removeProperty(s);a.op?o.style.setProperty("opacity",a.op):o.style.removeProperty("opacity")}}catch(e){n.e(e)}finally{n.f()}$=null,e.style.isolation="",T.style.zIndex=""}},Q=function(){if(p){var t=function(){var t="IMG"===e.tagName?e:e.querySelector?e.querySelector("img"):null;return t&&t.complete&&t.naturalWidth>0?t:null}();if(t)try{return R.bindTexture(R.TEXTURE_2D,G),R.texImage2D(R.TEXTURE_2D,0,R.RGBA,R.RGBA,R.UNSIGNED_BYTE,t),N(),X=!0,Promise.resolve()}catch(e){}else if(!Y){var n="IMG"===e.tagName?e:e.querySelector&&e.querySelector("img");n&&(Y=!0,n.addEventListener("load",function(){H||Q()},{once:!0}))}}T.style.display="none",K();var r=function(e,t,n,r){return new Promise(function(o,a){var i=(new XMLSerializer).serializeToString(function(e,t){for(var n=[e].concat(s(e.querySelectorAll("*"))),r=[t].concat(s(t.querySelectorAll("*"))),o=0;o<n.length&&o<r.length;o++){var a=r[o].style;if(a&&0!==a.length)for(var i=null,c=0,l=Array.from(a);c<l.length;c++){var u=l[c];if(k.test(a.getPropertyValue(u))){var f=(i=i||window.getComputedStyle(n[o])).getPropertyValue(u);f&&a.setProperty(u,f,a.getPropertyPriority(u))}}}return t}(e,e.cloneNode(!0))),c='<svg xmlns="http://www.w3.org/2000/svg" width="'.concat(t*r,'" height="').concat(n*r,'" viewBox="0 0 ').concat(t," ").concat(n,'">')+'<foreignObject width="100%" height="100%">'+'<div xmlns="http://www.w3.org/1999/xhtml">'.concat(i,"</div>")+"</foreignObject></svg>",l=new Image;l.onload=function(){return o(l)},l.onerror=a,l.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(c)})}(e,l.width,l.height,u).then(function(t){H||(R.bindTexture(R.TEXTURE_2D,G),R.texImage2D(R.TEXTURE_2D,0,R.RGBA,R.RGBA,R.UNSIGNED_BYTE,t),N(),X=!0,m||function(){if(!$){$=[];for(var t=0,n=[e].concat(s(e.querySelectorAll("*")));t<n.length;t++){var r=n[t];if(r!==T&&"CANVAS"!==r.tagName){var o={op:r.style.getPropertyValue("opacity")};for(var a in V)o[a]=r.style.getPropertyValue(a);for(var i in $.push([r,o]),V)r.style.setProperty(i,V[i],"important");r!==e&&r.matches&&r.matches("img,svg,video,picture,iframe")&&r.style.setProperty("opacity","0","important")}}e.style.isolation="isolate",T.style.zIndex="-1"}}(),T.style.visibility="visible")}).catch(function(e){K(),console.warn("[nodality] raster snapshot failed:",e)});return T.style.display="",r},Z=-1,J=function(){if(!H&&"live"===q){R.bindTexture(R.TEXTURE_2D,G);var e,t=R.RGBA8||32856,n=[[R.TEXTURE_2D,t,D],[R.TEXTURE_2D,0,R.RGBA,R.RGBA,R.UNSIGNED_BYTE,D],[R.TEXTURE_2D,0,t,D],[R.TEXTURE_2D,0,D]];if(Z>=0)e=[Z];else{e=[0,1,2,3];var r={3:0,6:1,4:2}[R.texElementImage2D.length];null!=r&&(e.splice(e.indexOf(r),1),e.unshift(r))}var o,a=[],i=c(e);try{for(i.s();!(o=i.n()).done;){var s=o.value;try{return R.texElementImage2D.apply(R,n[s]),N(),Z<0&&(Z=s,console.info("[nodality] texElementImage2D signature discovered: form",s,"(declared arity "+R.texElementImage2D.length+")")),void(X=!0)}catch(e){a.push("form"+s+" -> "+(e&&e.name?e.name:"?")+": "+(e&&e.message?e.message:e))}}}catch(e){i.e(e)}finally{i.f()}ee("texElementImage2D rejected all known signatures (arity "+R.texElementImage2D.length+"): "+a.join(" | "))}},ee=function(t){if(!H&&"live"===q){for(q="snapshot",console.warn("[nodality] live raster backend failed ("+t+") - falling back to snapshot."),T.removeEventListener("paint",J);D.firstChild;)e.appendChild(D.firstChild);D.parentNode===T&&T.removeChild(D),T.removeAttribute("layoutsubtree"),T.style.cssText="position:absolute;top:0;left:0;"+"width:".concat(l.width,"px;height:").concat(l.height,"px;")+"pointer-events:none;z-index:2147483000;",T.setAttribute("aria-hidden","true"),T.setAttribute("data-nodality-raster","snapshot-fallback"),Q()}};E&&(T.addEventListener("paint",J),setTimeout(function(){H||"live"!==q||X||ee("no paint event within 1500ms")},1500));var te=[.5*T.width,.5*T.height],ne=function(e){var t=T.getBoundingClientRect(),n=e.touches?e.touches[0]:e;te=[(n.clientX-t.left)*u,(n.clientY-t.top)*u]};e.addEventListener("mousemove",ne,{passive:!0}),e.addEventListener("touchmove",ne,{passive:!0});var re=0,oe=0,ae=function(){re=1},ie=function(){re=0};e.addEventListener("mouseenter",ae,{passive:!0}),e.addEventListener("mouseleave",ie,{passive:!0});var se=[];t.forEach(function(e,t){var n=h[e.op]||{},r=e.by||n.defaultDriver;r&&f[r]?se.push({i:t,fn:f[r]}):e.by&&console.warn("[nodality] unknown driver '"+e.by+"' on op '"+e.op+"' - known drivers: "+d.join(", "))});var ce=function(){if("undefined"==typeof window)return.5;var t=e.getBoundingClientRect(),n=window.innerHeight||1;return Math.max(0,Math.min(1,(n-t.top)/(n+t.height)))},le=0,ue=!0,fe=function(){if(!H){if(ue&&X){for(var e="undefined"!=typeof performance?performance.now():j+16,t=Math.max(0,(e-j)/1e3),n=0,r=U;n<r.length;n++){var o=r[n];z(o,t)}if(R.bindFramebuffer(R.FRAMEBUFFER,null),R.useProgram(L),R.viewport(0,0,T.width,T.height),R.clearColor(0,0,0,0),R.clear(R.COLOR_BUFFER_BIT),R.uniform2f(P("u_res"),T.width,T.height),R.uniform2f(P("u_mouse"),te[0],te[1]),R.uniform1f(P("u_time"),e/1e3),se.length>0){oe+=(re-oe)*(1-Math.exp(8*-t));for(var a={mouseX:te[0],mouseY:te[1],w:T.width,h:T.height,t:e/1e3,hover:oe,scroll:ce()},i=0,s=se;i<s.length;i++){var l=s[i],u=l.fn(a);R.uniform2f(P("u".concat(l.i,"_dpos")),u.x,u.y),R.uniform1f(P("u".concat(l.i,"_damt")),u.amt)}}if(B.length>0)for(var f={w:T.width,h:T.height,mouseX:te[0],mouseY:te[1],dt:t,t:e/1e3},d=0,h=B;d<h.length;d++){var p,v=h[d],m=c(v.def.tick(v.state,f));try{for(m.s();!(p=m.n()).done;){var y=p.value;W(P("u".concat(v.i,"_").concat(y.name)),y.kind,y.value)}}catch(e){m.e(e)}finally{m.f()}}R.activeTexture(R.TEXTURE0),R.bindTexture(R.TEXTURE_2D,G),R.uniform1i(P("u_tex"),0);for(var g=1,x=0,b=U;x<b.length;x++){var w=b[x],_=w.def.solver.samplers;for(var k in _)R.activeTexture(R.TEXTURE0+g),R.bindTexture(R.TEXTURE_2D,w.targets[_[k]].a.tex),R.uniform1i(P("u".concat(w.i,"_").concat(k)),g),g++}R.activeTexture(R.TEXTURE0),j=e,R.drawArrays(R.TRIANGLES,0,3)}le=requestAnimationFrame(fe)}},de=null;"undefined"!=typeof IntersectionObserver&&(de=new IntersectionObserver(function(e){var t=i(e,1)[0];ue=t.isIntersecting})).observe(e);var he=null,pe=0,ve=function(){if(!H&&"snapshot"===q){var e=o();l.width=e.width,l.height=e.height,T.width=Math.round(e.width*u),T.height=Math.round(e.height*u),T.style.width=e.width+"px",T.style.height=e.height+"px",Q()}};"undefined"!=typeof ResizeObserver&&(he=new ResizeObserver(function(){clearTimeout(pe),pe=setTimeout(ve,150)})).observe(e);var me=0,ye=function(){clearTimeout(me),me=setTimeout(function(){if(!H)if("snapshot"!==q){var t=e.clientWidth||e.parentElement&&e.parentElement.clientWidth||l.width;T.style.width=t+"px",setTimeout(function(){if(!H&&"live"===q){var e=Math.max(2,Math.round(D.getBoundingClientRect().height))||l.height;l.width=t,l.height=e,T.style.height=e+"px",T.width=Math.round(t*u),T.height=Math.round(e*u),J()}},50)}else ve()},150)};return"undefined"!=typeof window&&window.addEventListener("resize",ye),"live"===q?le=requestAnimationFrame(fe):(Q().then(function(){le=requestAnimationFrame(fe)}),"undefined"!=typeof document&&document.fonts&&"object"===a(document.fonts.ready)&&Promise.resolve(document.fonts.ready).then(ve).catch(function(){})),{canvas:T,refresh:function(){return"live"===q?J():Q()},destroy:function(){H=!0,cancelAnimationFrame(le),clearTimeout(pe),clearTimeout(me),de&&de.disconnect(),he&&he.disconnect(),"undefined"!=typeof window&&window.removeEventListener("resize",ye),e.removeEventListener("mousemove",ne),e.removeEventListener("touchmove",ne),e.removeEventListener("mouseenter",ae),e.removeEventListener("mouseleave",ie),T.removeEventListener("paint",J);for(var t=0,n=U;t<n.length;t++){var r=n[t];for(var o in r.cleanup(),r.progs)R.deleteProgram(r.progs[o].prog)}for(U.length=0;D!==e&&D.firstChild;)e.appendChild(D.firstChild);K(),e.style.visibility="",T.remove()}}}function R(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=M(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){s=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(s)throw a}}}}function C(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(l)throw o}}return s}}(e,t)||M(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function M(e,t){if(e){if("string"==typeof e)return D(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?D(e,t):void 0}}function D(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function F(e){return F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},F(e)}function I(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,O(r.key),r)}}function O(e){var t=function(e){if("object"!=F(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=F(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==F(t)?t:t+""}var L=function(){return e=function e(){var t,n,r,a=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t=this,r=function(e){if(e.transform||e.op){var t=e.op;e.transform||(t=e.op),t.duration||(t.duration="3s-ease-in-out"),a.setDefault=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0px";return 0===e.length?t+" ":e};var n=function(){var n="",r="",o="",i="",s="",c="",l="",u="",f="";if(0!==t.values.length){t.values.forEach(function(e){e.startsWith("tx:")&&(n=e.replace("tx:","")),e.startsWith("ty:")&&(r=e.replace("ty:","")),e.startsWith("tz:")?o=e.replace("tz:",""):e.startsWith("scale(")?i=e:e.startsWith("skew(")?s=e:e.startsWith("rotate(")?c=function(e){var t=e.match(/rotate\(([^)]+)\)/);if(!t)return e;var n=t[1].split(",").map(function(e){return e.trim()});return 1===n.length?"rotate(".concat(n[0],")"):2===n.length?"rotateX(".concat(n[0],") rotateY(").concat(n[1],")"):3===n.length?"rotateX(".concat(n[0],") rotateY(").concat(n[1],") rotate(").concat(n[2],")"):e}(e):e.startsWith("perspective(")?l=e:e.startsWith("matrix(")?u=e:e.startsWith("opacity:")&&(f=e.replace("opacity:",""))}),n=a.setDefault(n),r=a.setDefault(r),o=a.setDefault(o);var d="";if("0px"!=r&&"0px"!=n&&"0px"!=o?d+="translate3d(".concat(n,", ").concat(r,", ").concat(o,")"):"0px"==r&&"0px"==n||(d+="translate(".concat(n,", ").concat(r,")")),i&&(d+=" ".concat(i)),c&&(d+=" ".concat(c)),s&&(d+=" ".concat(s)),l&&(d+=" ".concat(l)),u&&(d+=" ".concat(u)),d){if(e.op.duration){var h=e.op.duration.replace(/^(\d+)(s)-/,function(e,t,n){return t/2+n+" "}),p="transform ".concat(h,", opacity ").concat(h);a.res.style.transition=p}else a.res.style.transition="transform 3s ease-in-out, opacity 3s ease-in-out";e.op.static&&(a.res.style.transition=""),(a.blastTarget||a.res).style.transform=d,a.res.style.opacity=f}else alert("OPE")}};t.on?a.res.addEventListener(t.on,function(){t.delay?setTimeout(function(){n()},t.delay):n()}):window.addEventListener("load",function(){t.delay?setTimeout(function(){n()},t.delay):n()});var r=function(){var e="";t.values.forEach(function(t){t.startsWith("tx:")?e+="translateX(0) ":t.startsWith("ty:")?e+="translateY(0) ":t.startsWith("tz:")?e+="translateZ(0) ":t.startsWith("scale(")?e+="scale(1) ":t.startsWith("skew(")?e+="skew(0, 0) ":t.startsWith("rotate(")?e+="rotate(0) ":t.startsWith("perspective(")?e+="perspective(0) ":t.startsWith("matrix(")&&(e+="matrix(1, 0, 0, 1, 0, 0) "),a.res.style.opacity="1"}),e&&(a.res.style.transform=e.trim())};if(t.on)a.res.addEventListener("mouseout",function(){t.keep||r()});else{var o=1e3*parseFloat(t.duration),i=t.closeAfter?t.closeAfter:0;setTimeout(function(){t.keep||r()},o/2+i)}t.hardCSS&&(a.res.style.transform=t.hardCSS)}else alert("THIS FIRE WITH GRADIENT (invalid block")},(n=O(n="reactOnTransform"))in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,this.state={isExpanded:!1,isMovedUp:!1,isMovedDown:!1},this.openedElements=new WeakMap,"undefined"!=typeof document&&(this._themeUnsub=o.subscribe(function(e){return a._applyTheme(e)}),Promise.resolve().then(function(){return a._applyTheme(o.mode)}))},t=[{key:"rasterize",value:function(e){var t=this;if(e&&0!==e.length&&!this._rasterHandle&&"undefined"!=typeof document&&"undefined"!=typeof setTimeout){var n=0,r=function(){if(!t._rasterHandle){if(t.res&&t.res.isConnected){try{t._rasterHandle=A(t.res,e)}catch(e){return void console.warn("[nodality] raster pipeline skipped:",e)}if(t._rasterHandle)return}++n<80&&setTimeout(r,50)}};setTimeout(r,0)}}},{key:"isHidden",value:function(e){e&&(this.res.style.display="none")}},{key:"theme",value:function(e){var t=this;return e&&"object"===F(e)?(this._themeMap=e,this._applyTheme(o.mode),this._themeUnsub||(this._themeUnsub=o.subscribe(function(e){return t._applyTheme(e)})),this):this}},{key:"destroy",value:function(){return"function"==typeof this._themeUnsub&&(this._themeUnsub(),this._themeUnsub=null),this.res&&this.res.parentNode&&this.res.parentNode.removeChild(this.res),this}},{key:"_applyTheme",value:function(e){if(!this._noTheme&&this.res)if(this._themeMap){var t=this._themeMap[e];if(!t)return;for(var n in t)this.res.style[n]=t[n]}else{var r=o.defaults&&o.defaults[e];if(r)for(var a in this._themeOriginal||(this._themeOriginal={}),r)a in this._themeOriginal||(this._themeOriginal[a]=this.res.style[a]||""),this._themeOriginal[a]||(this.res.style[a]=r[a])}}},{key:"keySet",value:function(e){if(this.temporaryVal=1,Array.isArray(e)){for(var t=0;t<e.length;t++)e[t]&&null!=e[t].key&&(this.res.style[e[t].key]=e[t].value);return this}return this.res.style[e.key]=e.value,this}},{key:"commonMethods",value:function(e){var t={exact:"fontSize",cursor:"cursor",width:"width",maxWidth:"maxWidth",height:"height",maxHeight:"maxHeight",radius:"borderRadius",lineHeight:"lineHeight",background:"background",font:"fontFamily",opacity:"opacity",gap:"gap",minHeight:"minHeight",position:"position",inset:"inset",top:"top",right:"right",bottom:"bottom",left:"left",zIndex:"zIndex",flex:"flex",flexShrink:"flexShrink",flexGrow:"flexGrow",flexBasis:"flexBasis",flexWrap:"flexWrap",alignSelf:"alignSelf",display:"display",gridTemplateColumns:"gridTemplateColumns",gridTemplateRows:"gridTemplateRows",rowGap:"rowGap",columnGap:"columnGap",letterSpacing:"letterSpacing",textTransform:"textTransform",whiteSpace:"whiteSpace",overflowWrap:"overflowWrap",wordBreak:"wordBreak",wordWrap:"wordWrap",boxShadow:"boxShadow",backdropFilter:"backdropFilter",WebkitBackdropFilter:"WebkitBackdropFilter",overflow:"overflow",overflowX:"overflowX",overflowY:"overflowY",WebkitOverflowScrolling:"WebkitOverflowScrolling",WebkitTapHighlightColor:"WebkitTapHighlightColor",minWidth:"minWidth",boxSizing:"boxSizing",pointerEvents:"pointerEvents",userSelect:"userSelect",WebkitUserSelect:"WebkitUserSelect",textAlign:"textAlign",transition:"transition"};for(var n in t)null!=e[n]&&(this.res.style[t[n]]=e[n]);return"string"==typeof e.transform&&(this.res.style.transform=e.transform),e.pad&&this.pad(e.pad),e.mar&&this.mar(e.mar),e.respad&&this.respad(e.respad),e.resmar&&this.resmar(e.resmar),e.hover&&this.hover(e.hover),e.size&&this.fluidCopy(e.size),e.resprop&&this.resprop(e.resprop,e),e.keySet&&this.keySet(e.keySet),e.noTheme&&(this._noTheme=!0),e.theme&&this.theme(e.theme),e.hide&&this.isHidden(e.hide),e.raster&&this.rasterize(e.raster),e.transform&&"object"===F(e.transform)&&this.reactOnTransform(e.transform),void 0!==e.opacity&&(this.res.style.opacity=e.opacity),e.bold?this.res.style.fontWeight="bold":null!=e.weight&&(this.res.style.fontWeight=e.weight),this}},{key:"hover",value:function(e){var t=this;if(e.border){var n=e.border.width;this.res.style.border=n?"".concat(n,"px solid transparent"):"1px solid transparent"}var r=this.options&&this.options.borderObj;return r&&(this.res.style.border="".concat(r.width,"px solid ").concat(r.color)),this.prevColor=this.res.style.backgroundColor,this.foreColor=this.res.style.color,this.prevBorder=this.res.style.border,this.prevBoxShadow=this.res.style.boxShadow,e.animation&&(this.res.style.transition="".concat(e.animation),this.res.style.transionProperty="background, color, transform"),this.prevTransform=this.res.style.transform,this.res.onmouseout=function(){t.res.style.backgroundColor="".concat(t.prevColor),t.res.style.color="".concat(t.foreColor),t.res.style.border=t.prevBorder,null==e.scale&&null==e.transform||(t.res.style.transform=t.prevTransform||""),null!=e.boxShadow&&(t.res.style.boxShadow=t.prevBoxShadow||"")},this.res.onmouseover=function(){if(t.res.style.color=e.color,t.res.style.backgroundColor=e.background,e.border){var n,r=e.border.width,o=null!==(n=e.border.color)&&void 0!==n?n:"#2ECC71";t.res.style.border=r?"".concat(r,"px solid ").concat(o):"1px solid #2ECC71"}if(null!=e.scale||null!=e.transform){var a=t.prevTransform?"".concat(t.prevTransform," "):"",i=[];null!=e.transform&&i.push(e.transform),null!=e.scale&&i.push("scale(".concat(e.scale,")")),t.res.style.transform="".concat(a).concat(i.join(" "))}null!=e.boxShadow&&(t.res.style.boxShadow=e.boxShadow)},this}},{key:"onScroll",value:function(e){var t=this,n=function(e){if(null==e)return{num:0,unit:"px"};var t=String(e).match(/^(-?[\d.]+)(.*)$/);return t?{num:parseFloat(t[1]),unit:t[2]||"px"}:{num:0,unit:"px"}},r=function(e){var n=e&&null!=e.tx?e.tx:"0px",r=e&&null!=e.ty?e.ty:"0px";t.res.style.transform="translate3d(".concat(n,", ").concat(r,", 0)")};"opacity"===e.value?this.res.style.opacity=e.valMin:"scale"===e.value?this.res.style.transform="scale(".concat(e.valMin,")"):"trn"===e.value&&r(e.valMin);var o=function(){if("trn"!==e.value){var o=t.smartRange(window.scrollY,{min:e.from,max:e.to},{min:e.valMin,max:e.valMax});"opacity"===e.value?t.res.style.opacity=o:"scale"===e.value&&(t.res.style.transform="scale(".concat(o,")"))}else{for(var a={},i=["tx","ty"],s=0;s<i.length;s++){var c=i[s],l=e.valMin&&null!=e.valMin[c],u=e.valMax&&null!=e.valMax[c];if(l||u){var f=n(l?e.valMin[c]:u?e.valMax[c]:"0px"),d=n(u?e.valMax[c]:l?e.valMin[c]:"0px"),h=t.smartRange(window.scrollY,{min:e.from,max:e.to},{min:f.num,max:d.num});a[c]="".concat(h).concat(f.unit)}}r(a)}};window.addEventListener("scroll",o),0===e.from&&o()}},{key:"setAny",value:function(e){this[Object.keys(e)[0]]=[Object.values(e)[0]]}},{key:"setID",value:function(e){this.id=e}},{key:"setPrevText",value:function(e){this.prevText=e}},{key:"getCSS",value:function(){return this.css}},{key:"getPX",value:function(e){return{xs:"0px",sm:"576px",md:"768px",lg:"992px",xl:"1200px",xxl:"1400px",mxxl:"1800px"}[e]||"Invalid breakpoint"}},{key:"_setupResponsiveManager",value:function(){var e=this;this._responsiveTasks=this._responsiveTasks||[];var t=function(){e._responsiveTasks.forEach(function(e){e()})};this._responsiveHandler||(this._responsiveHandler=t,window.addEventListener("resize",t)),setTimeout(function(){t()},0)}},{key:"resprop",value:function(e,t){var n=this;this.options=t;var r={default:[0,1e5],xs:[0,575],sm:[576,767],md:[768,991],lg:[992,1199],xl:[1200,1399],xxl:[1400,1e5]},o=["resprop","breakpoint","value","values","range"],a={flexDir:"flexDirection",dir:"flexDirection",justify:"justifyContent",align:"alignItems",wrap:"flexWrap",bg:"background",radius:"borderRadius",z:"zIndex"},i=function(e){var t=a[e]||e;return"undefined"==typeof console||"function"==typeof n[e]||t in n.res.style||console.warn('[nodality] resprop: "'.concat(e,'" is not a CSS property or component method — ignored.')+(a[e]?"":" Did you mean one of: ".concat(Object.keys(a).join(", "),"?"))),t};e.forEach(function(e){void 0!==r[e.breakpoint]?e.range=r[e.breakpoint]:Array.isArray(e.breakpoint)&&2===e.breakpoint.length?e.range=[parseInt(e.breakpoint[0],10),parseInt(e.breakpoint[1],10)]:e.range=[0,parseInt(e.breakpoint,10)]}),e.sort(function(e,t){return e.range[1]-t.range[1]});var s=e.find(function(e){return"default"===e.breakpoint});for(var c in s||(s={breakpoint:"default",range:r.default},e.unshift(s)),this.prevStyles={},this.res.style)this.res.style.hasOwnProperty(c)&&isNaN(parseInt(c))&&(this.prevStyles[c]=this.res.style[c]);var l=new Set;e.forEach(function(e){Object.keys(e).forEach(function(e){o.includes(e)||"range"===e||l.add(e)})}),l.forEach(function(e){void 0===s[e]&&(s[e]=n.options[e]||"initial")}),this._responsiveTasks=this._responsiveTasks||[],this._responsiveTasks.push(function(){for(var t=window.innerWidth,r=s,a=0;a<e.length;a++){var c=e[a],u=C(c.range,2),f=u[0],d=u[1];if("default"!==c.breakpoint&&t>=f&&t<=d){r=c;break}}for(var h in l.forEach(function(e){if("keySet"===e){var t=s[e];t&&t.key&&(n.res.style[t.key]=t.value)}else n.res.style[i(e)]=s[e]}),r)if("exact"===h&&n.set(r),!o.includes(h)&&"range"!==h){var p=r[h];"keySet"===h&&p&&p.key?n.res.style[p.key]=p.value:"function"==typeof n[h]?n[h](p):n.res.style[i(h)]=p}}),this._setupResponsiveManager()}},{key:"respad",value:function(e){var t=this,n={default:[0,1e5],xs:[0,575],sm:[576,767],md:[768,991],lg:[992,1199],xl:[1200,1399],xxl:[1400,1e5]};e.forEach(function(e){void 0!==n[e.breakpoint]?e.range=n[e.breakpoint]:Array.isArray(e.breakpoint)&&2===e.breakpoint.length?e.range=[parseInt(e.breakpoint[0],10),parseInt(e.breakpoint[1],10)]:e.range=[parseInt(e.breakpoint,10),1e5]}),e.sort(function(e,t){return e.range[0]-t.range[0]});var r=e.find(function(e){return"default"===e.breakpoint});r||(r={breakpoint:"default",range:n.default},e.unshift(r)),void 0===r.values&&(r.values=this.options&&this.options.pad||null),this._responsiveTasks=this._responsiveTasks||[],this._responsiveTasks.push(function(){for(var n=window.innerWidth,o=r,a=0;a<e.length;a++){var i=e[a],s=C(i.range,2),c=s[0],l=s[1];if("default"!==i.breakpoint&&n>=c&&n<=l){o=i;break}}var u=void 0!==o.values?o.values:r.values;null!=u&&t.pad(u)}),this._setupResponsiveManager()}},{key:"_applyResponsive",value:function(e,t){var n={default:[0,1e5],xs:[0,575],sm:[576,767],md:[768,991],lg:[992,1199],xl:[1200,1399],xxl:[1400,1e5]};e.forEach(function(e){if(void 0!==n[e.breakpoint])e.range=n[e.breakpoint];else{var t=parseInt(e.breakpoint,10);e.range=[t,1e5]}}),e.sort(function(e,t){return e.range[0]-t.range[0]});var r=e.find(function(e){return"default"===e.breakpoint})||{breakpoint:"default",range:n.default},o=function(){for(var n=window.innerWidth,o=r,a=0;a<e.length;a++){var i=e[a],s=C(i.range,2),c=s[0],l=s[1];if("default"!==i.breakpoint&&n>=c&&n<=l){o=i;break}}t(o)};this._responsiveHandler&&window.removeEventListener("resize",this._responsiveHandler),this._responsiveHandler=o,window.addEventListener("resize",o),setTimeout(function(){o()},0)}},{key:"resmar",value:function(e){var t=this,n={default:[0,1e5],xs:[0,575],sm:[576,767],md:[768,991],lg:[992,1199],xl:[1200,1399],xxl:[1400,1e5]};e.forEach(function(e){void 0!==n[e.breakpoint]?e.range=n[e.breakpoint]:Array.isArray(e.breakpoint)&&2===e.breakpoint.length?e.range=[parseInt(e.breakpoint[0],10),parseInt(e.breakpoint[1],10)]:e.range=[parseInt(e.breakpoint,10),1e5]}),e.sort(function(e,t){return e.range[0]-t.range[0]});var r=e.find(function(e){return"default"===e.breakpoint});r||(r={breakpoint:"default",range:n.default},e.unshift(r)),void 0===r.values&&(r.values=this.options&&(this.options.mar||this.options.pad)||null),this._responsiveTasks=this._responsiveTasks||[],this._responsiveTasks.push(function(){for(var n=window.innerWidth,o=r,a=0;a<e.length;a++){var i=e[a],s=C(i.range,2),c=s[0],l=s[1];if("default"!==i.breakpoint&&n>=c&&n<=l){o=i;break}}var u=void 0!==o.values?o.values:r.values;null!=u&&t.mar(u)}),this._setupResponsiveManager()}},{key:"isNumber",value:function(e){return"number"==typeof e&&!isNaN(e)}},{key:"pad",value:function(e){for(var t=0;t<e.length;t++)for(var n=Object.keys(e[t]),r=0;r<n.length;r++)for(var o=n[r],a=e[t][o],i=0;i<o.length;i++)switch(o[i]){case"a":this.res.style.padding=this.isNumber(a)?"".concat(a,"px"):a;break;case"t":this.res.style.paddingTop=this.isNumber(a)?"".concat(a,"px"):a;break;case"l":this.res.style.paddingLeft=this.isNumber(a)?"".concat(a,"px"):a;break;case"r":this.res.style.paddingRight=this.isNumber(a)?"".concat(a,"px"):a;break;case"b":this.res.style.paddingBottom=this.isNumber(a)?"".concat(a,"px"):a}return this}},{key:"as",value:function(e){return this.res.style.alignSelf=e,this}},{key:"mar",value:function(e){if("center"===e)return this.res.style.marginLeft="auto",this.res.style.marginRight="auto",this;for(var t=0;t<e.length;t++)for(var n=Object.keys(e[t]),r=0;r<n.length;r++){for(var o=n[r],a=e[t][o],i=0;i<o.length;i++)switch(o[i]){case"a":"auto"===a?(this.res.style.marginLeft="auto",this.res.style.marginRight="auto"):this.res.style.margin=this.isNumber(a)?"".concat(a,"px"):a;break;case"t":this.res.style.marginTop=this.isNumber(a)?"".concat(a,"px"):a;break;case"l":this.res.style.marginLeft=this.isNumber(a)?"".concat(a,"px"):a;break;case"r":this.res.style.marginRight=this.isNumber(a)?"".concat(a,"px"):a;break;case"b":this.res.style.marginBottom=this.isNumber(a)?"".concat(a,"px"):a}"center"===o&&!0===a&&(this.res.style.marginLeft="auto",this.res.style.marginRight="auto"),"auto"===a&&(o.includes("l")||o.includes("r"))&&(o.includes("l")&&(this.res.style.marginLeft="auto"),o.includes("r")&&(this.res.style.marginRight="auto"))}return this}},{key:"smartRange",value:function(e,t,n){e<t.min&&(e=t.min),e>t.max&&(e=t.max);var r=(e-t.min)/(t.max-t.min);t.min>t.max&&(r=(e-t.max)/(t.min-t.max));var o=(n.min-n.max)*r-n.min;if(o=Math.abs(o),n.min<n.max){var a=(n.max+Math.abs(n.min))*r;o=n.min+a}return o}},{key:"gpos",value:function(e){return this.res.style.gridColumn=e.col,this.res.style.gridRow=e.row,this}},{key:"fluidCopy",value:function(e){if(e instanceof Object){this.prevStylex=this.res.style,this.res=document.createElement("h1"),this.res.style.cssText=this.prevStylex.cssText;var t=document.createTextNode(this.text);return this.res.appendChild(t),this.res.style.fontSize=e.exact,this}if("S1"===e){this.prevStylex=this.res.style,this.res=document.createElement("h1"),this.res.style.cssText=this.prevStylex.cssText;var n=document.createTextNode(this.text);this.res.appendChild(n),this.res.style.fontSize="calc(1.625rem + 5.075vw)"}if("S2"===e){this.prevStylex=this.res.style,this.res=document.createElement("h2"),this.res.style.cssText=this.prevStylex.cssText;var r=document.createTextNode(this.text);this.res.appendChild(r),this.res.style.fontSize="calc(1.500rem + 4.3vw)"}if("S3"===e){this.prevStylex=this.res.style,this.res=document.createElement("h3"),this.res.style.cssText=this.prevStylex.cssText;var o=document.createTextNode(this.text);this.res.appendChild(o),this.res.style.fontSize="calc(1.375rem + 3.525vw)"}if("S4"===e){this.prevStylex=this.res.style,this.res=document.createElement("h4"),this.res.style.cssText=this.prevStylex.cssText;var a=document.createTextNode(this.text);this.res.appendChild(a),this.res.style.fontSize="calc(1.250rem + 2.75vw)"}if("S5"===e){this.prevStylex=this.res.style,this.res=document.createElement("h5"),this.res.style.cssText=this.prevStylex.cssText;var i=document.createTextNode(this.text);this.res.appendChild(i),this.res.style.fontSize="calc(1.125rem + 1.975vw)"}return"S6"===e&&(this.res.style.fontSize="calc(1rem + 0.5vw)"),this}},{key:"setIndex",value:function(e){this.index=e}},{key:"borderObj",value:function(e){var t,n=null!==(t=e.type)&&void 0!==t?t:"solid";return this.res.style.border="".concat(e.width," ").concat(n," ").concat(e.color),void 0!==e.radius&&(this.res.style.borderRadius=e.radius),this}},{key:"setPref",value:function(e){this.preffersId=e}},{key:"setClass",value:function(e){this.class=e}},{key:"setTags",value:function(e){this.openTag=e.open,this.closeTag=e.close}},{key:"chainReact",value:function(e,t,n){var r=this;this.ap=!1,this.cta=0,this.once=!1;var o,a=R(e);try{for(a.s();!(o=a.n()).done;){var i=o.value;i.range||(i.range=["0px","999999px"])}}catch(e){a.e(e)}finally{a.f()}e.sort(function(e,t){return parseInt(e.range[0])-parseInt(t.range[0])});var s=function(o){var a=window.visualViewport.width,i=[],s=[];r.resCopy=r.res,r.storedQueries=e.map(function(e){return e.target}).filter(function(e){return null!=e});var c,l=R(e);try{for(l.s();!(c=l.n()).done;){var u=c.value;r.counterIndex++;var f=C(u.range,2),d=f[0],h=f[1],p=parseInt(d),v=parseInt(h),m=!0;if(u.target){m=!1;for(var y=0;y<u.target.length;y++)u.target[y]===t&&(m=!0)}a>=p&&a<=v&&m&&(i.push(u.log),s.push(u),u.op&&u.op.margin&&(r.useMargin=u.op.margin))}}catch(e){l.e(e)}finally{l.f()}if(n&&!n.includes("background")&&(r.res.style.background="",r.res.style.backgroundColor=""),r.res.style.textShadow="",n&&!n.includes("border")&&(r.res.style.border=""),n&&!n.includes("margin")&&(r.res.style.margin=""),r.res.style["-webkit-text-fill-color"]="",r.res.style["-webkit-text-stroke-color"]="",r.res.style["-webkit-text-stroke-width"]="",r.res.style.filter="",r.options.background&&(r.res.style.background=r.options.background),i.includes("gradient"),(i.includes("gradient")||i.includes("shadow"))&&(r.res.style.position="relative"),i.includes("blast")){var g,x=s.filter(function(e){return"blast"===e.log})[0].op.color,b=null!==(g=s.filter(function(e){return"blast"===e.log})[0].op.width)&&void 0!==g?g:"1px";"FlexRowLayoutElement"===r.getType()||"LayoutWrapperElement"===r.getType()?(r.res.style.border="".concat("number"==typeof b?b+"px":b," solid orange"),r.res.style.display="inline-block","FlexRowLayoutElement"===r.getType()&&(r.res.style.display="flex"),r.res.style.boxSizing="border-box",r.res.style.transformOrigin="center",r.blastTarget=r.res):(r.text,r.res.style["-webkit-text-fill-color"]="transparent",r.res.style["-webkit-text-stroke-color"]=x,r.res.style["-webkit-text-stroke-width"]="".concat(b))}if(i.includes("filter")){var w=s.filter(function(e){return"filter"===e.log})[0].op.filter;r.res.style.filter=w}if(i.includes("background")&&(r.res.style.backgroundColor="green"),i.includes("gradient")&&("LayoutWrapperElement"!==r.getType()&&"FlexRowLayoutElement"!==r.getType()&&(r.res.style["-webkit-text-fill-color"]="transparent"),r.res.style.background=r.globalGradient,"LayoutWrapperElement"!==r.getType()&&"FlexRowLayoutElement"!==r.getType()&&(r.res.style["background-clip"]="text")),i.includes("shadow")){var _,k,E,T,S=r.options.shadow.op,A=null!==(_=S.steps)&&void 0!==_?_:1,M=null!==(k=S.colors)&&void 0!==k?k:["gray"],D=null!==(E=S.movements)&&void 0!==E?E:["3px","3px"],F=null!==(T=S.radius)&&void 0!==T?T:"3px";if(1===D.length&&(D=[D[0],D[0]]),"FlexRowLayoutElement"===r.getType()||"LayoutWrapperElement"===r.getType()){for(var I=[],O=0;O<A;O++){var L,P=null!==(L=M[O])&&void 0!==L?L:M[0],W=D[0],B=D[1];I.push("".concat(W," ").concat(B," ").concat(F," ").concat(P))}r.res.style.boxShadow=I.join(", ")}else{for(var j=[],U=0;U<A;U++){var z,G=null!==(z=M[U])&&void 0!==z?z:M[0],N=D[0],X=D[1];j.push("drop-shadow(".concat(N," ").concat(X," ").concat(F," ").concat(G,")"))}r.res.style.filter=j.join(" ")}}if(i.includes("margin"))for(y=0;y<e.length;y++)if(e[y].op){var H=e[y].op.offsets;H&&void 0!==r.index&&(r.res.style.margin=H[Number(r.index)]+"px")}if(i.includes("spana")||i.includes("span")){var q=document.createElement("div");if(q.setAttribute("id","oroa"),Object.assign(q.style,{position:"absolute",inset:"0",background:"linear-gradient(90deg, rgb(52,152,219), rgb(26,188,156))",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",pointerEvents:"none"}),r.res&&r.res.querySelector("span"))return;r.res=r.resCopy,r.res.textContent="",r.options.span&&(Array.isArray(r.options.span)?r.options.span:[r.options.span]).forEach(function(e){if(e.op&&"span"===e.op.name&&Array.isArray(e.op.parts)){var t=0,n=r.prevText||"";if(e.op.parts.forEach(function(e){var o=e.text,a=e.style||{};if(t<n.length){var i=n.indexOf(o,t);if(i>t){var s=n.substring(t,i);r.res.appendChild(new r.constructor(s).setup({type:"span",id:a.id,animation:a.animation}).set({}).render())}t=i+o.length}var c=new r.constructor(o).setup({type:"span",id:a.id,animation:a.animation}).set(a).render();r.res.appendChild(c)}),t<n.length){var o=n.substring(t);r.res.appendChild(new r.constructor(o).setup({type:"span"}).set({}).render())}}})}else{var Y=new r.constructor(r.prevText).set({}).render();r.prevText&&r.prevText.length>0&&o&&r.res.appendChild(Y)}if(i.includes("animation")){if(r.options.animation&&!r.hasAnimated&&!r.options.animation.op.fireAt){r.hasAnimated=!0;var V=r.options.animation.op;window.addEventListener("sidebar:open",function(){r.res.animate(V.keyframesOpen,V.openOptions)}),window.addEventListener("sidebar:closed",function(){r.res.animate(V.keyframesClose,V.closeOptions)}),r.res.animate(V.keyframesClose,{duration:0,fill:"forwards"}),r.openTag&&r.closeTag&&(window.addEventListener(r.openTag,function(){r.res.animate(V.keyframesOpen,V.openOptions)}),window.addEventListener(r.closeTag,function(){r.res.animate(V.keyframesClose,V.closeOptions)}))}if(r.options.animation&&r.options.animation.op.fireAt&&r.options.animation.op.fireAt.endsWith("px")){var $=r.options.animation.op;r.res.animate($.keyframesClose,{duration:0,fill:"forwards"});var K=function(){window.scrollY>parseFloat($.fireAt)&&(r.res.animate($.keyframesOpen,$.openOptions),window.removeEventListener("scroll",K))};window.addEventListener("scroll",K)}if(r.options.animation&&"inview"===r.options.animation.op.fireAt){var Q=r.options.animation.op;r.res.animate(Q.keyframesClose,{duration:0,fill:"forwards"});var Z=!1;new IntersectionObserver(function(e,t){e.forEach(function(e){e.isIntersecting&&!Z&&(Z=!0,r.res.animate(Q.keyframesOpen,Q.openOptions),t.disconnect())})}).observe(r.res)}}};this.options.animation||window.addEventListener("resize",function(){return s()}),s()}},{key:"maxWidth",value:function(e){return this.res.style.maxWidth=e,this}},{key:"removeQuotesFromFirstWord",value:function(e){return e.replace(/"([^"]+)":/g,"$1:")}},{key:"arrayMargin",value:function(e,t){return e.includes("left")&&(this.res.style.marginLeft=t),e.includes("right")&&(this.res.style.marginRight=t),e.includes("top")&&(this.res.style.marginTop=t),e.includes("bottom")&&(this.res.style.marginBottom=t),e.includes("all")&&(this.res.style.margin=t),t||(this.res.style.marginBottom=e),this}}],t&&I(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function P(e){return P="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},P(e)}function W(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,B(r.key),r)}}function B(e){var t=function(e){if("object"!=P(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=P(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==P(t)?t:t+""}function j(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(j=function(){return!!e})()}function U(e){return U=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},U(e)}function z(e,t){return z=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},z(e,t)}var G=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t,n){return t=U(t),function(e,t){if(t&&("object"==P(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,j()?Reflect.construct(t,n||[],U(e).constructor):t.apply(e,n))}(this,e)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&z(e,t)}(e,L),t=e,(n=[{key:"set",value:function(e){return this.imageUrl=e.url,this.createCard(),e.useBrightness&&(this.useBrightness=!0),e.useBrightness&&"\n useBrightness: ".concat(this.useBrightness),e.pad&&this.pad(e.pad),e.mar&&this.mar(e.mar),e.arrayMargin&&this.arrayMargin(e.arrayMargin.sides,e.arrayMargin.value),e.arrayMargin&&"\n arrayMargin: {sides: [".concat(e.arrayMargin.sides.map(function(e){return'"'.concat(e,'", ')}),'], value: "').concat(e.arrayMargin.value,'"},'),e.inpad&&this.inpad(e.inpad),e.inpad&&"\n inpad: {".concat(e.inpad,"}"),e.font&&(this.res.style.fontFamily=e.font),e.inpad&&"\n font: ".concat(e.font),this.addListeners(),this}},{key:"inpad",value:function(e){return this.res.children[1].style.boxSizing="border-box",this.res.children[1].style.padding=e,this}},{key:"items",value:function(e){for(var t=0;t<e.length;t++)this.res.children[1].appendChild(e[t].render());return this}},{key:"createCard",value:function(){var e=document.createElement("div");e.style.display="grid",e.style.width="300px",e.style.height="400px",e.setAttribute("id","AAA");var t=document.createElement("div");t.style.gridArea="1/1",t.style.height="400px",t.style.borderRadius="15px",t.style.boxShadow="0 4px 8px 0 rgba(0,0,0,0.2)",t.style.overflow="hidden";var n=document.createElement("div");n.style.width="100%",n.style.height="100%",n.style.transition="0.9s",n.style.backgroundImage="url(".concat(this.imageUrl,")"),n.style.backgroundSize="cover",n.style.backgroundPostion="cover",n.style.backgroundRepeat="no-repeat",t.appendChild(n);var r=document.createElement("div");return r.style.gridArea="1/1",r.style.zIndex="1",e.appendChild(t),e.appendChild(r),this.res=e,this}},{key:"addListeners",value:function(){var e=this,t=this.res.children[0].children[0];return this.res.onmouseover=function(){t.style.transform="scale(1.3)",e.useBrightness&&(t.style.filter="brightness(31%)")},this.res.onmouseout=function(){t.style.transform="scale(1.0)",e.useBrightness&&(t.style.filter="brightness(100%)")},this}},{key:"render",value:function(e){if(!e)return this.res;this.options.id&&this.res.setAttribute("id",this.options.id),document.querySelector(e).appendChild(this.res)}}])&&W(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n}();export{G as ZoomCard};
|
package/layout/animator.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* nodality v1.0.
|
|
2
|
+
* nodality v1.0.188
|
|
3
3
|
* (c) 2026 Filip Vabrousek
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -640,8 +640,39 @@ resprop(arr, op) {
|
|
|
640
640
|
default: [0, 100000], xs: [0, 575], sm: [576, 767], md: [768, 991],
|
|
641
641
|
lg: [992, 1199], xl: [1200, 1399], xxl: [1400, 100000]
|
|
642
642
|
};
|
|
643
|
-
const excludedKeys = ['resprop', 'breakpoint', 'value', 'values', 'range'];
|
|
644
|
-
|
|
643
|
+
const excludedKeys = ['resprop', 'breakpoint', 'value', 'values', 'range'];
|
|
644
|
+
|
|
645
|
+
// Shorthand → CSSOM property names. Values are written with
|
|
646
|
+
// `element.style[prop] = …`, which silently discards any key that is not a
|
|
647
|
+
// real CSSOM property — so `flexDir: "column"` used to do nothing at all,
|
|
648
|
+
// with no error. Map the shorthands people actually write, and warn on
|
|
649
|
+
// anything else that is neither a CSSOM property nor an internal method.
|
|
650
|
+
const PROP_ALIASES = {
|
|
651
|
+
flexDir: "flexDirection",
|
|
652
|
+
dir: "flexDirection",
|
|
653
|
+
justify: "justifyContent",
|
|
654
|
+
align: "alignItems",
|
|
655
|
+
wrap: "flexWrap",
|
|
656
|
+
bg: "background",
|
|
657
|
+
radius: "borderRadius",
|
|
658
|
+
z: "zIndex",
|
|
659
|
+
};
|
|
660
|
+
|
|
661
|
+
const resolveProp = (key) => {
|
|
662
|
+
const mapped = PROP_ALIASES[key] || key;
|
|
663
|
+
if (
|
|
664
|
+
typeof console !== "undefined" &&
|
|
665
|
+
typeof this[key] !== "function" &&
|
|
666
|
+
!(mapped in this.res.style)
|
|
667
|
+
) {
|
|
668
|
+
console.warn(
|
|
669
|
+
`[nodality] resprop: "${key}" is not a CSS property or component method — ignored.` +
|
|
670
|
+
(PROP_ALIASES[key] ? "" : ` Did you mean one of: ${Object.keys(PROP_ALIASES).join(", ")}?`)
|
|
671
|
+
);
|
|
672
|
+
}
|
|
673
|
+
return mapped;
|
|
674
|
+
};
|
|
675
|
+
|
|
645
676
|
// A. Normalize ranges: Treat "800px" as [0, 800] (Max-Width logic)
|
|
646
677
|
arr.forEach(item => {
|
|
647
678
|
if (breakpoints[item.breakpoint] !== undefined) {
|
|
@@ -720,9 +751,7 @@ resprop(arr, op) {
|
|
|
720
751
|
const ks = defaultItem[key];
|
|
721
752
|
if (ks && ks.key) this.res.style[ks.key] = ks.value;
|
|
722
753
|
} else {
|
|
723
|
-
this.res.style[key] = defaultItem[key];
|
|
724
|
-
|
|
725
|
-
|
|
754
|
+
this.res.style[resolveProp(key)] = defaultItem[key];
|
|
726
755
|
}
|
|
727
756
|
});
|
|
728
757
|
|
|
@@ -747,11 +776,11 @@ this.set(applied);
|
|
|
747
776
|
}
|
|
748
777
|
// Handle internal methods (e.g., this.width("300px"))
|
|
749
778
|
else if (typeof this[key] === 'function') {
|
|
750
|
-
this[key](value);
|
|
751
|
-
}
|
|
779
|
+
this[key](value);
|
|
780
|
+
}
|
|
752
781
|
// Handle direct CSS property assignment
|
|
753
782
|
else {
|
|
754
|
-
this.res.style[key] = value;
|
|
783
|
+
this.res.style[resolveProp(key)] = value;
|
|
755
784
|
}
|
|
756
785
|
|
|
757
786
|
|
|
@@ -800,8 +829,12 @@ respad(arr) {
|
|
|
800
829
|
// --- 2. STATE CAPTURE & RESET PREPARATION ---
|
|
801
830
|
|
|
802
831
|
// D. Ensure 'defaultItem' has a 'values' property, falling back to the base 'pad' option.
|
|
832
|
+
// `this.options` is only populated by callReact()/resprop(), both of which
|
|
833
|
+
// run AFTER commonMethods() dispatches here — so on components like Wrapper
|
|
834
|
+
// it is still undefined at this point. Guard rather than throw: a missing
|
|
835
|
+
// base `pad` simply means there is nothing to reset to.
|
|
803
836
|
if (defaultItem.values === undefined) {
|
|
804
|
-
defaultItem.values = this.options.pad || null;
|
|
837
|
+
defaultItem.values = (this.options && this.options.pad) || null;
|
|
805
838
|
}
|
|
806
839
|
|
|
807
840
|
|
|
@@ -1367,9 +1400,10 @@ resmar(arr) {
|
|
|
1367
1400
|
|
|
1368
1401
|
// --- 2. STATE CAPTURE & RESET PREPARATION ---
|
|
1369
1402
|
|
|
1370
|
-
// D. Ensure 'defaultItem' has a 'values' property, falling back to the base
|
|
1403
|
+
// D. Ensure 'defaultItem' has a 'values' property, falling back to the base
|
|
1404
|
+
// `mar` option. Same ordering caveat as respad() — see the note there.
|
|
1371
1405
|
if (defaultItem.values === undefined) {
|
|
1372
|
-
defaultItem.values = this.options.pad || null;
|
|
1406
|
+
defaultItem.values = (this.options && (this.options.mar || this.options.pad)) || null;
|
|
1373
1407
|
}
|
|
1374
1408
|
|
|
1375
1409
|
|
package/layout/audio.js
CHANGED
package/layout/audionew.js
CHANGED
package/layout/base-2.js
CHANGED
package/layout/base.js
CHANGED
package/layout/box.js
CHANGED
package/layout/button.js
CHANGED