nuclo 0.1.48 → 0.1.49
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/nuclo.cjs +1 -1
- package/dist/nuclo.cjs.map +1 -1
- package/dist/nuclo.js +1 -1
- package/dist/nuclo.js.map +1 -1
- package/dist/nuclo.umd.js +1 -1
- package/dist/nuclo.umd.js.map +1 -1
- package/dist/style/index.d.ts +12 -4
- package/dist/style/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/types/features/style.d.ts +8 -1
package/dist/nuclo.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function t(t){return null===t||"object"!=typeof t&&"function"!=typeof t}function e(t){return t instanceof Node}function n(t){return"object"==typeof t&&null!==t}function r(t){return n(t)&&"tagName"in t}function i(t){return"boolean"==typeof t}function o(t){return"function"==typeof t}function s(t){return o(t)&&0===t.length}function c(t,e){"undefined"!=typeof console&&console.error(`nuclo: ${t}`,e)}function u(t,e){try{return t()}catch(t){return c("Operation failed",t),e}}const l="undefined"!=typeof window&&"undefined"!=typeof document;function a(t){if(!t?.parentNode)return!1;try{return t.parentNode.removeChild(t),!0}catch(t){return c("Failed to remove child node",t),!1}}function d(t){if(!l)return null;try{return document.createComment(t)}catch(t){return c("Failed to create comment node",t),null}}function f(t){return d(t)}function h(t,e="hidden"){try{return document.createComment(`conditional-${t}-${e}`)}catch(t){return c("Failed to create conditional comment",t),null}}function p(t){if(!l)throw new Error("Cannot create comment in non-browser environment");const e=d(`${t}-${Math.random().toString(36).slice(2)}`);if(!e)throw new Error("Failed to create comment");return e}function m(t){const e=d(`${t}-end`);if(!e)throw new Error("Failed to create end comment");return{start:p(`${t}-start`),end:e}}function g(t,e){const n=e.parentNode;n&&t.forEach(t=>function(t,e,n){if(!t||!e)return!1;try{return t.insertBefore(e,n),!0}catch(t){return c("Failed to insert node before reference",t),!1}}(n,t,e))}function y(t,...e){return t?(e.forEach(e=>{if(null!=e){let n;if("string"==typeof e){const t=function(t){if(!l)return null;try{return document.createTextNode(String(t))}catch(t){return c("Failed to create text node",t),null}}(e);if(!t)return;n=t}else n=e;!function(t,e){if(!t||!e)return!1;try{return t.appendChild(e),!0}catch(t){return c("Failed to append child node",t),!1}}(t,n)}}),t):t}function b(t){return!!t&&("boolean"==typeof t.isConnected?t.isConnected:!(!l||"undefined"==typeof document)&&document.contains(t))}function w(t,e){if(!t?.parentNode)return!1;try{return t.parentNode.replaceChild(e,t),!0}catch(t){return c("Error replacing conditional node",t),!1}}const v=new Map,x=new Map;function E(t,e){e.attributeResolvers.forEach(({resolver:t,applyValue:e},n)=>{try{e(u(t))}catch(t){c(`Failed to update reactive attribute: ${n}`,t)}})}function S(t,e,n,r){if(!(t instanceof Element&&e&&"function"==typeof n))return void c("Invalid parameters for registerAttributeResolver");const i=function(t){let e=x.get(t);return e||(e={attributeResolvers:new Map},x.set(t,e)),e}(t);i.attributeResolvers.set(e,{resolver:n,applyValue:r});try{r(u(n))}catch(t){c("Failed to apply initial attribute value",t)}if(!i.updateListener){const e=()=>E(0,i);t.addEventListener("update",e),i.updateListener=e}}function C(t,e,n){try{if(null==n||""===n)return t.style[e]="",!0;const r=String(n);return t.style[e]=r,!0}catch{return!1}}function M(t,e){if(t?.style&&e)for(const[n,r]of Object.entries(e)){C(t,n,r)||c(`Failed to set style property '${n}'`)}}function N(t,e,n,r=!1){if(null==n)return;if("style"===e)return s=n,void((i=t)&&(o(s)?S(i,"style",()=>{try{return s()}catch(t){return c("Error in style resolver function",t),null}},t=>{M(i,t)}):M(i,s)));var i,s;const u=(n,r=!1)=>{if(null==n)return;if("className"===e&&t instanceof HTMLElement&&r){const e=String(n),r=t.className;if(r&&r!==e){const n=new Set(r.split(" ").filter(t=>t));e.split(" ").filter(t=>t).forEach(t=>n.add(t)),t.className=Array.from(n).join(" ")}else e&&(t.className=e);return}if(t instanceof Element&&"http://www.w3.org/2000/svg"===t.namespaceURI)t.setAttribute(String(e),String(n));else if(e in t)try{t[e]=n}catch{t instanceof Element&&t.setAttribute(String(e),String(n))}else t instanceof Element&&t.setAttribute(String(e),String(n))};if(o(n)&&0===n.length){const r=n;S(t,String(e),r,t=>u(t,!1))}else u(n,r)}function k(t,e,n=!0){if(e)for(const r of Object.keys(e)){N(t,r,e[r],n&&"className"===r)}}const $=new WeakMap;function F(t){const{value:e,error:n}=function(t){const e=$.get(t);if(e)return e;try{const e={value:t(),error:!1};return $.set(t,e),e}catch{const e={value:void 0,error:!0};return $.set(t,e),e}}(t);return!n&&"boolean"==typeof e}function I(t,r,i){if(!o(t)||0!==t.length)return!1;if(!F(t))return!1;const s=r.filter((t,e)=>e!==i);if(0===s.length)return!1;return s.some(t=>!(!n(t)&&!e(t))||!!(o(t)&&t.length>0))}function j(r,i,u){if(null==i)return null;if(o(i)){if(s(i))try{let e=$.get(i);if(!e){e={value:i(),error:!1},$.set(i,e)}if(e.error)return T(u,()=>"");const n=e.value;return t(n)&&null!=n?T(u,i,n):null}catch(t){return $.set(i,{value:void 0,error:!0}),c("Error evaluating reactive text function:",t),T(u,()=>"")}const o=i(r,u);return null==o?null:t(o)?L(u,o):e(o)?o:(n(o)&&k(r,o),null)}const l=i;return null==l?null:t(l)?L(u,l):e(l)?l:(n(l)&&k(r,l),null)}function T(t,e,n){const r=document.createDocumentFragment(),i=f(` text-${t} `);i&&r.appendChild(i);const o=function(t,e){if("function"!=typeof t)return c("Invalid resolver provided to createReactiveTextNode"),document.createTextNode("");const n=arguments.length>1?e:u(t,""),r=void 0===n?"":String(n),i=document.createTextNode(r);return v.set(i,{resolver:t,lastValue:r}),i}(e,n);return r.appendChild(o),r}function L(t,e){const n=document.createDocumentFragment(),r=f(` text-${t} `);r&&n.appendChild(r);const i=document.createTextNode(String(e));return n.appendChild(i),n}const R=new Set;function O(t,e){t._conditionalInfo=e,R.add(t)}function D(t,e,n=0){if(!e||0===e.length)return{element:t,nextIndex:n,appended:0};let r=n,i=0;const o=t;for(let n=0;n<e.length;n+=1){const s=e[n];if(null==s)continue;const c=j(t,s,r);c&&(c.parentNode!==o&&o.appendChild(c),r+=1,i+=1)}return{element:t,nextIndex:r,appended:i}}function A(t,e){const n=document.createElement(t);return D(n,e,0),n}function _(t){const e=function(t){for(let e=0;e<t.length;e+=1)if(I(t[e],t,e))return e;return-1}(t);return-1===e?{condition:null,otherModifiers:t}:{condition:t[e],otherModifiers:t.filter((t,n)=>n!==e)}}function B(t){return function(t){return z.includes(t)}(t)?document.createElementNS("http://www.w3.org/2000/svg",t):document.createElement(t)}function P(t,...e){return(n,r)=>{const{condition:i,otherModifiers:o}=_(e);if(i)return function(t,e,n){const r=e();if(!l)return r?A(t,n):h(t,"ssr");const i={condition:e,tagName:t,modifiers:n};if(r){const e=A(t,n);return O(e,i),e}const o=h(t);if(!o)throw new Error(`Failed to create conditional comment for ${t}`);return O(o,i),o}(t,i,o);const s=B(t);return D(s,o,r),s}}function V(t){return(...e)=>P(t,...e)}const q=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],z=["a","animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tspan","use","view"],G=["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"];function W(t=globalThis){const e="__nuclo_tags_registered";t[e]||(z.forEach(e=>function(t,e){let n=e;["a","script","style","title","text"].includes(e)?n=`${e}_svg`:["stop"].includes(e)&&(n=`${e}_`),n in t||(t[n]=V(e))}(t,e)),q.forEach(e=>function(t,e){e in t&&"function"!=typeof t[e]||(t[e]=V(e))}(t,e)),t[e]=!0)}const H=new Set;function U(t,e,n){return function(t,e,n){if(o(t)){const i=t(e,n);return i&&r(i)?i:null}return t&&r(t)?t:null}(t.renderItem(e,n),t.host,n)}function J(t){a(t.element)}function K(t){const{host:e,startMarker:n,endMarker:r}=t,i=n.parentNode??e,o=t.itemsProvider();if(function(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if((n in t?t[n]:void 0)!==(n in e?e[n]:void 0))return!1;return!0}(t.lastSyncedItems,o))return;const s=new Map,c=new Map;t.records.forEach(t=>{const e=c.get(t.item);e?e.push(t):c.set(t.item,[t])}),o.forEach((e,n)=>{if(n<t.lastSyncedItems.length&&t.lastSyncedItems[n]===e){const r=t.records[n];if(r&&r.item===e){s.set(n,r);const t=c.get(e);if(t){const n=t.indexOf(r);n>=0&&(t.splice(n,1),0===t.length&&c.delete(e))}}}});const u=[],l=new Set(t.records);let a=r;for(let e=o.length-1;e>=0;e--){const n=o[e];let r=s.get(e);if(!r){const t=c.get(n);t&&t.length>0&&(r=t.shift(),0===t.length&&c.delete(n))}if(r)l.delete(r);else{const i=U(t,n,e);if(!i)continue;r={item:n,element:i}}u.unshift(r);const d=r.element;d.nextSibling!==a&&i.insertBefore(d,a),a=d}l.forEach(J),t.records=u,t.lastSyncedItems=[...o]}function Q(t,e){return(n,r)=>{const i=function(t,e,n){const{start:r,end:i}=m("list"),o={itemsProvider:t,renderItem:e,startMarker:r,endMarker:i,records:[],host:n,lastSyncedItems:[]},s=n;return s.appendChild(r),s.appendChild(i),H.add(o),K(o),o}(t,e,n);return i.startMarker}}function X(t,e){try{return t()}catch(t){if(e)return e(t),!1;throw t}}function Y(t,e){return"function"==typeof t?X(t,e):Boolean(t)}const Z=new Set;function tt(t,e,n,r){return o(t)?s(t)?($.delete(t),j(e,t,n)):function(t,e,n){const r=t,i=r.appendChild.bind(r),o=r.insertBefore.bind(r);r.appendChild=function(t){return o(t,e)};try{return n()}finally{r.appendChild=i}}(e,r,()=>{const r=j(e,t,n);return r&&!r.parentNode?r:null}):j(e,t,n)}function et(t){const{groups:e,elseContent:n,host:r,index:i,endMarker:o}=t,s=function(t,e){for(let e=0;e<t.length;e++)if(Y(t[e].condition))return e;return e.length>0?-1:null}(e,n);if(s===t.activeIndex)return;if(function(t,e){let n=t.nextSibling;for(;n&&n!==e;){const t=n.nextSibling;a(n),n=t}}(t.startMarker,t.endMarker),t.activeIndex=s,null===s)return;const c=function(t,e,n,r){const i=[];for(const o of t){const t=tt(o,e,n,r);t&&i.push(t)}return i}(s>=0?e[s].content:n,r,i,o);g(c,o)}class nt{groups=[];elseContent=[];constructor(t,...e){this.groups.push({condition:t,content:e})}when(t,...e){return this.groups.push({condition:t,content:e}),this}else(...t){return this.elseContent=t,this}render(t,e){if(!l){return f("when-ssr")||null}const{start:n,end:r}=m("when"),i={startMarker:n,endMarker:r,host:t,index:e,groups:[...this.groups],elseContent:[...this.elseContent],activeIndex:null,update:()=>et(i)};Z.add(i);const o=t;return o.appendChild(n),o.appendChild(r),et(i),n}}function rt(t){return Object.assign((e,n)=>t.render(e,n),{when:(e,...n)=>(t.when(e,...n),rt(t)),else:(...e)=>(t.else(...e),rt(t))})}function it(t,...e){return rt(new nt(t,...e))}function ot(t){const e=function(t){return t._conditionalInfo??null}(t);if(!e)return;const n=X(e.condition,t=>{c("Error evaluating conditional condition",t)}),r=t.nodeType===Node.ELEMENT_NODE;if(n&&!r){const n=function(t){try{return A(t.tagName,t.modifiers)}catch(e){return c(`Error applying modifiers in conditional element "${t.tagName}"`,e),document.createElement(t.tagName)}}(e);O(n,e),w(t,n)}else if(!n&&r){const n=h(e.tagName);n&&(O(n,e),w(t,n))}}const st=[function(){H.forEach(t=>{t.startMarker.isConnected&&t.endMarker.isConnected?K(t):H.delete(t)})},function(){Z.forEach(t=>{try{t.update()}catch(e){Z.delete(t)}})},function(){if(l)try{R.forEach(t=>{t.isConnected?ot(t):function(t){R.delete(t)}(t)})}catch(t){c("Error during conditional elements update",t)}},function(){x.forEach((t,e)=>{if(!b(e))return t.updateListener&&e.removeEventListener("update",t.updateListener),void x.delete(e);E(0,t)})},function(){v.forEach((t,e)=>{if(b(e))try{const n=u(t.resolver),r=void 0===n?"":String(n);r!==t.lastValue&&(e.textContent=r,t.lastValue=r)}catch(t){c("Failed to update reactive text node",t)}else v.delete(e)})},function(){if("undefined"==typeof document)return;const t=document.body?[document.body,document]:[document];for(const e of t)try{e.dispatchEvent(new Event("update",{bubbles:!0}))}catch(t){c("Error dispatching global update event",t)}}];function ct(){for(const t of st)t()}function ut(t,e,n){return r=>{if(!r||"function"!=typeof r.addEventListener)return;const i=r;i.addEventListener(t,n=>{try{e.call(i,n)}catch(e){c(`Error in '${t}' listener`,e)}},n)}}function lt(t,e,n=0){const r=t(e||document.body,n);return(e||document.body).appendChild(r),r}function at(t,e){let n=document.querySelector("#nuclo-styles");n||(n=document.createElement("style"),n.id="nuclo-styles",document.head.appendChild(n));const r=Object.entries(e).map(([t,e])=>`${t}: ${e}`).join("; ");n.sheet?.insertRule(`.${t} { ${r} }`,n.sheet.cssRules.length)}class dt{styles={};getStyles(){return{...this.styles}}add(t,e){return this.styles[t]=e,this}bg(t){return this.styles["background-color"]=t,this}color(t){return this.styles.color=t,this}fontSize(t){return this.styles["font-size"]=t,this}display(t){return this.styles.display=t,this}flex(t){return void 0!==t?this.styles.flex=t:this.styles.display="flex",this}center(){return this.styles["justify-content"]="center",this.styles["align-items"]="center",this}bold(){return this.styles["font-weight"]="bold",this}padding(t){return this.styles.padding=t,this}margin(t){return this.styles.margin=t,this}width(t){return this.styles.width=t,this}height(t){return this.styles.height=t,this}border(t){return this.styles.border=t,this}borderRadius(t){return this.styles["border-radius"]=t,this}textAlign(t){return this.styles["text-align"]=t,this}gap(t){return this.styles.gap=t,this}flexDirection(t){return this.styles["flex-direction"]=t,this}grid(){return this.styles.display="grid",this}position(t){return this.styles.position=t,this}opacity(t){return this.styles.opacity=t,this}cursor(t){return this.styles.cursor=t,this}boxShadow(t){return this.styles["box-shadow"]=t,this}transition(t){return this.styles.transition=t,this}textDecoration(t){return this.styles["text-decoration"]=t,this}letterSpacing(t){return this.styles["letter-spacing"]=t,this}fontWeight(t){return this.styles["font-weight"]=t,this}alignItems(t){return this.styles["align-items"]=t,this}justifyContent(t){return this.styles["justify-content"]=t,this}minWidth(t){return this.styles["min-width"]=t,this}maxWidth(t){return this.styles["max-width"]=t,this}minHeight(t){return this.styles["min-height"]=t,this}accentColor(t){return this.styles["accent-color"]=t,this}lineHeight(t){return this.styles["line-height"]=t,this}fontFamily(t){return this.styles["font-family"]=t,this}outline(t){return this.styles.outline=t,this}}let ft=0;function ht(t){return function(e){if(!e||0===Object.keys(e).length)return"";const n="nuclo-bp-"+ft++,r=Object.entries(t);let i=!0;for(const[t,o]of r){const r=e[t];if(r){const t=r.getStyles();i?(at(n,t),i=!1):pt(n,t,o)}}return{className:n}}}function pt(t,e,n){let r=document.querySelector("#nuclo-styles");r||(r=document.createElement("style"),r.id="nuclo-styles",document.head.appendChild(r));const i=`@media ${n} { .${t} { ${Object.entries(e).map(([t,e])=>`${t}: ${e}`).join("; ")} } }`;r.sheet?.insertRule(i,r.sheet.cssRules.length)}function mt(t){return(new dt).bg(t)}function gt(t){return(new dt).color(t)}function yt(t){return(new dt).fontSize(t)}function bt(t){return(new dt).flex(t)}function wt(){return(new dt).center()}function vt(){return(new dt).bold()}function xt(t){return(new dt).padding(t)}function Et(t){return(new dt).margin(t)}function St(t){return(new dt).width(t)}function Ct(t){return(new dt).height(t)}function Mt(t){return(new dt).border(t)}function Nt(t){return(new dt).borderRadius(t)}function kt(t){return(new dt).textAlign(t)}function $t(t){return(new dt).gap(t)}function Ft(t){return(new dt).flexDirection(t)}function It(){return(new dt).grid()}function jt(t){return(new dt).position(t)}function Tt(t){return(new dt).opacity(t)}function Lt(t){return(new dt).cursor(t)}function Rt(){if(W(),"undefined"!=typeof globalThis){const t=globalThis;t.list=Q,t.update=ct,t.when=it,t.on=ut,t.render=lt,t.createCSSClass=at,t.createBreakpoints=ht,t.bg=mt,t.color=gt,t.fontSize=yt,t.flex=bt,t.center=wt,t.bold=vt,t.padding=xt,t.margin=Et,t.width=St,t.height=Ct,t.border=Mt,t.borderRadius=Nt,t.textAlign=kt,t.gap=$t,t.flexDirection=Ft,t.grid=It,t.position=jt,t.opacity=Tt,t.cursor=Lt}}"undefined"!=typeof globalThis&&Rt();export{q as HTML_TAGS,G as SELF_CLOSING_TAGS,z as SVG_TAGS,y as appendChildren,k as applyAttributes,j as applyNodeModifier,mt as bg,vt as bold,Mt as border,Nt as borderRadius,wt as center,gt as color,ht as createBreakpoints,at as createCSSClass,f as createComment,h as createConditionalComment,P as createElementFactory,A as createElementWithModifiers,V as createTagBuilder,Lt as cursor,bt as flex,Ft as flexDirection,yt as fontSize,$t as gap,It as grid,Ct as height,Rt as initializeRuntime,i as isBoolean,l as isBrowser,o as isFunction,e as isNode,n as isObject,t as isPrimitive,r as isTagLike,s as isZeroArityFunction,Q as list,Et as margin,ut as on,Tt as opacity,xt as padding,jt as position,W as registerGlobalTagBuilders,lt as render,w as replaceNodeSafely,kt as textAlign,ct as update,it as when,St as width};
|
|
1
|
+
function e(e){return null===e||"object"!=typeof e&&"function"!=typeof e}function t(e){return e instanceof Node}function n(e){return"object"==typeof e&&null!==e}function r(e){return n(e)&&"tagName"in e}function o(e){return"boolean"==typeof e}function i(e){return"function"==typeof e}function s(e){return i(e)&&0===e.length}function c(e,t){"undefined"!=typeof console&&console.error(`nuclo: ${e}`,t)}function a(e,t){try{return e()}catch(e){return c("Operation failed",e),t}}const l="undefined"!=typeof window&&"undefined"!=typeof document;function u(e){if(!e?.parentNode)return!1;try{return e.parentNode.removeChild(e),!0}catch(e){return c("Failed to remove child node",e),!1}}function d(e){if(!l)return null;try{return document.createComment(e)}catch(e){return c("Failed to create comment node",e),null}}function f(e){return d(e)}function h(e,t="hidden"){try{return document.createComment(`conditional-${e}-${t}`)}catch(e){return c("Failed to create conditional comment",e),null}}function p(e){if(!l)throw new Error("Cannot create comment in non-browser environment");const t=d(`${e}-${Math.random().toString(36).slice(2)}`);if(!t)throw new Error("Failed to create comment");return t}function m(e){const t=d(`${e}-end`);if(!t)throw new Error("Failed to create end comment");return{start:p(`${e}-start`),end:t}}function g(e,t){const n=t.parentNode;n&&e.forEach(e=>function(e,t,n){if(!e||!t)return!1;try{return e.insertBefore(t,n),!0}catch(e){return c("Failed to insert node before reference",e),!1}}(n,e,t))}function y(e,...t){return e?(t.forEach(t=>{if(null!=t){let n;if("string"==typeof t){const e=function(e){if(!l)return null;try{return document.createTextNode(String(e))}catch(e){return c("Failed to create text node",e),null}}(t);if(!e)return;n=e}else n=t;!function(e,t){if(!e||!t)return!1;try{return e.appendChild(t),!0}catch(e){return c("Failed to append child node",e),!1}}(e,n)}}),e):e}function b(e){return!!e&&("boolean"==typeof e.isConnected?e.isConnected:!(!l||"undefined"==typeof document)&&document.contains(e))}function w(e,t){if(!e?.parentNode)return!1;try{return e.parentNode.replaceChild(t,e),!0}catch(e){return c("Error replacing conditional node",e),!1}}const C=new Map,x=new Map;function v(e,t){t.attributeResolvers.forEach(({resolver:e,applyValue:t},n)=>{try{t(a(e))}catch(e){c(`Failed to update reactive attribute: ${n}`,e)}})}function S(e,t,n,r){if(!(e instanceof Element&&t&&"function"==typeof n))return void c("Invalid parameters for registerAttributeResolver");const o=function(e){let t=x.get(e);return t||(t={attributeResolvers:new Map},x.set(e,t)),t}(e);o.attributeResolvers.set(t,{resolver:n,applyValue:r});try{r(a(n))}catch(e){c("Failed to apply initial attribute value",e)}if(!o.updateListener){const t=()=>v(0,o);e.addEventListener("update",t),o.updateListener=t}}function E(e,t,n){try{if(null==n||""===n)return e.style[t]="",!0;const r=String(n);return e.style[t]=r,!0}catch{return!1}}function N(e,t){if(e?.style&&t)for(const[n,r]of Object.entries(t)){E(e,n,r)||c(`Failed to set style property '${n}'`)}}function $(e,t,n,r=!1){if(null==n)return;if("style"===t)return s=n,void((o=e)&&(i(s)?S(o,"style",()=>{try{return s()}catch(e){return c("Error in style resolver function",e),null}},e=>{N(o,e)}):N(o,s)));var o,s;const a=(n,r=!1)=>{if(null==n)return;if("className"===t&&e instanceof HTMLElement&&r){const t=String(n),r=e.className;if(r&&r!==t){const n=new Set(r.split(" ").filter(e=>e));t.split(" ").filter(e=>e).forEach(e=>n.add(e)),e.className=Array.from(n).join(" ")}else t&&(e.className=t);return}if(e instanceof Element&&"http://www.w3.org/2000/svg"===e.namespaceURI)e.setAttribute(String(t),String(n));else if(t in e)try{e[t]=n}catch{e instanceof Element&&e.setAttribute(String(t),String(n))}else e instanceof Element&&e.setAttribute(String(t),String(n))};if(i(n)&&0===n.length){const r=n;S(e,String(t),r,e=>a(e,!1))}else a(n,r)}function M(e,t,n=!0){if(t)for(const r of Object.keys(t)){$(e,r,t[r],n&&"className"===r)}}const k=new WeakMap;function R(e){const{value:t,error:n}=function(e){const t=k.get(e);if(t)return t;try{const t={value:e(),error:!1};return k.set(e,t),t}catch{const t={value:void 0,error:!0};return k.set(e,t),t}}(e);return!n&&"boolean"==typeof t}function j(e,r,o){if(!i(e)||0!==e.length)return!1;if(!R(e))return!1;const s=r.filter((e,t)=>t!==o);if(0===s.length)return!1;return s.some(e=>!(!n(e)&&!t(e))||!!(i(e)&&e.length>0))}function F(r,o,a){if(null==o)return null;if(i(o)){if(s(o))try{let t=k.get(o);if(!t){t={value:o(),error:!1},k.set(o,t)}if(t.error)return I(a,()=>"");const n=t.value;return e(n)&&null!=n?I(a,o,n):null}catch(e){return k.set(o,{value:void 0,error:!0}),c("Error evaluating reactive text function:",e),I(a,()=>"")}const i=o(r,a);return null==i?null:e(i)?T(a,i):t(i)?i:(n(i)&&M(r,i),null)}const l=o;return null==l?null:e(l)?T(a,l):t(l)?l:(n(l)&&M(r,l),null)}function I(e,t,n){const r=document.createDocumentFragment(),o=f(` text-${e} `);o&&r.appendChild(o);const i=function(e,t){if("function"!=typeof e)return c("Invalid resolver provided to createReactiveTextNode"),document.createTextNode("");const n=arguments.length>1?t:a(e,""),r=void 0===n?"":String(n),o=document.createTextNode(r);return C.set(o,{resolver:e,lastValue:r}),o}(t,n);return r.appendChild(i),r}function T(e,t){const n=document.createDocumentFragment(),r=f(` text-${e} `);r&&n.appendChild(r);const o=document.createTextNode(String(t));return n.appendChild(o),n}const D=new Set;function L(e,t){e._conditionalInfo=t,D.add(e)}function A(e,t,n=0){if(!t||0===t.length)return{element:e,nextIndex:n,appended:0};let r=n,o=0;const i=e;for(let n=0;n<t.length;n+=1){const s=t[n];if(null==s)continue;const c=F(e,s,r);c&&(c.parentNode!==i&&i.appendChild(c),r+=1,o+=1)}return{element:e,nextIndex:r,appended:o}}function O(e,t){const n=document.createElement(e);return A(n,t,0),n}function _(e){const t=function(e){for(let t=0;t<e.length;t+=1)if(j(e[t],e,t))return t;return-1}(e);return-1===t?{condition:null,otherModifiers:e}:{condition:e[t],otherModifiers:e.filter((e,n)=>n!==t)}}function B(e){return function(e){return V.includes(e)}(e)?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e)}function z(e,...t){return(n,r)=>{const{condition:o,otherModifiers:i}=_(t);if(o)return function(e,t,n){const r=t();if(!l)return r?O(e,n):h(e,"ssr");const o={condition:t,tagName:e,modifiers:n};if(r){const t=O(e,n);return L(t,o),t}const i=h(e);if(!i)throw new Error(`Failed to create conditional comment for ${e}`);return L(i,o),i}(e,o,i);const s=B(e);return A(s,i,r),s}}function q(e){return(...t)=>z(e,...t)}const P=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],V=["a","animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tspan","use","view"],G=["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"];function W(e=globalThis){const t="__nuclo_tags_registered";e[t]||(V.forEach(t=>function(e,t){let n=t;["a","script","style","title","text"].includes(t)?n=`${t}_svg`:["stop"].includes(t)&&(n=`${t}_`),n in e||(e[n]=q(t))}(e,t)),P.forEach(t=>function(e,t){t in e&&"function"!=typeof e[t]||(e[t]=q(t))}(e,t)),e[t]=!0)}const H=new Set;function U(e,t,n){return function(e,t,n){if(i(e)){const o=e(t,n);return o&&r(o)?o:null}return e&&r(e)?e:null}(e.renderItem(t,n),e.host,n)}function Z(e){u(e.element)}function J(e){const{host:t,startMarker:n,endMarker:r}=e,o=n.parentNode??t,i=e.itemsProvider();if(function(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if((n in e?e[n]:void 0)!==(n in t?t[n]:void 0))return!1;return!0}(e.lastSyncedItems,i))return;const s=new Map,c=new Map;e.records.forEach(e=>{const t=c.get(e.item);t?t.push(e):c.set(e.item,[e])}),i.forEach((t,n)=>{if(n<e.lastSyncedItems.length&&e.lastSyncedItems[n]===t){const r=e.records[n];if(r&&r.item===t){s.set(n,r);const e=c.get(t);if(e){const n=e.indexOf(r);n>=0&&(e.splice(n,1),0===e.length&&c.delete(t))}}}});const a=[],l=new Set(e.records);let u=r;for(let t=i.length-1;t>=0;t--){const n=i[t];let r=s.get(t);if(!r){const e=c.get(n);e&&e.length>0&&(r=e.shift(),0===e.length&&c.delete(n))}if(r)l.delete(r);else{const o=U(e,n,t);if(!o)continue;r={item:n,element:o}}a.unshift(r);const d=r.element;d.nextSibling!==u&&o.insertBefore(d,u),u=d}l.forEach(Z),e.records=a,e.lastSyncedItems=[...i]}function K(e,t){return(n,r)=>{const o=function(e,t,n){const{start:r,end:o}=m("list"),i={itemsProvider:e,renderItem:t,startMarker:r,endMarker:o,records:[],host:n,lastSyncedItems:[]},s=n;return s.appendChild(r),s.appendChild(o),H.add(i),J(i),i}(e,t,n);return o.startMarker}}function Q(e,t){try{return e()}catch(e){if(t)return t(e),!1;throw e}}function X(e,t){return"function"==typeof e?Q(e,t):Boolean(e)}const Y=new Set;function ee(e,t,n,r){return i(e)?s(e)?(k.delete(e),F(t,e,n)):function(e,t,n){const r=e,o=r.appendChild.bind(r),i=r.insertBefore.bind(r);r.appendChild=function(e){return i(e,t)};try{return n()}finally{r.appendChild=o}}(t,r,()=>{const r=F(t,e,n);return r&&!r.parentNode?r:null}):F(t,e,n)}function te(e){const{groups:t,elseContent:n,host:r,index:o,endMarker:i}=e,s=function(e,t){for(let t=0;t<e.length;t++)if(X(e[t].condition))return t;return t.length>0?-1:null}(t,n);if(s===e.activeIndex)return;if(function(e,t){let n=e.nextSibling;for(;n&&n!==t;){const e=n.nextSibling;u(n),n=e}}(e.startMarker,e.endMarker),e.activeIndex=s,null===s)return;const c=function(e,t,n,r){const o=[];for(const i of e){const e=ee(i,t,n,r);e&&o.push(e)}return o}(s>=0?t[s].content:n,r,o,i);g(c,i)}class ne{groups=[];elseContent=[];constructor(e,...t){this.groups.push({condition:e,content:t})}when(e,...t){return this.groups.push({condition:e,content:t}),this}else(...e){return this.elseContent=e,this}render(e,t){if(!l){return f("when-ssr")||null}const{start:n,end:r}=m("when"),o={startMarker:n,endMarker:r,host:e,index:t,groups:[...this.groups],elseContent:[...this.elseContent],activeIndex:null,update:()=>te(o)};Y.add(o);const i=e;return i.appendChild(n),i.appendChild(r),te(o),n}}function re(e){return Object.assign((t,n)=>e.render(t,n),{when:(t,...n)=>(e.when(t,...n),re(e)),else:(...t)=>(e.else(...t),re(e))})}function oe(e,...t){return re(new ne(e,...t))}function ie(e){const t=function(e){return e._conditionalInfo??null}(e);if(!t)return;const n=Q(t.condition,e=>{c("Error evaluating conditional condition",e)}),r=e.nodeType===Node.ELEMENT_NODE;if(n&&!r){const n=function(e){try{return O(e.tagName,e.modifiers)}catch(t){return c(`Error applying modifiers in conditional element "${e.tagName}"`,t),document.createElement(e.tagName)}}(t);L(n,t),w(e,n)}else if(!n&&r){const n=h(t.tagName);n&&(L(n,t),w(e,n))}}const se=[function(){H.forEach(e=>{e.startMarker.isConnected&&e.endMarker.isConnected?J(e):H.delete(e)})},function(){Y.forEach(e=>{try{e.update()}catch(t){Y.delete(e)}})},function(){if(l)try{D.forEach(e=>{e.isConnected?ie(e):function(e){D.delete(e)}(e)})}catch(e){c("Error during conditional elements update",e)}},function(){x.forEach((e,t)=>{if(!b(t))return e.updateListener&&t.removeEventListener("update",e.updateListener),void x.delete(t);v(0,e)})},function(){C.forEach((e,t)=>{if(b(t))try{const n=a(e.resolver),r=void 0===n?"":String(n);r!==e.lastValue&&(t.textContent=r,e.lastValue=r)}catch(e){c("Failed to update reactive text node",e)}else C.delete(t)})},function(){if("undefined"==typeof document)return;const e=document.body?[document.body,document]:[document];for(const t of e)try{t.dispatchEvent(new Event("update",{bubbles:!0}))}catch(e){c("Error dispatching global update event",e)}}];function ce(){for(const e of se)e()}function ae(e,t,n){return r=>{if(!r||"function"!=typeof r.addEventListener)return;const o=r;o.addEventListener(e,n=>{try{t.call(o,n)}catch(t){c(`Error in '${e}' listener`,t)}},n)}}function le(e,t,n=0){const r=e(t||document.body,n);return(t||document.body).appendChild(r),r}const ue=new Map;function de(e,t,n){let r=document.querySelector("#nuclo-styles");r||(r=document.createElement("style"),r.id="nuclo-styles",document.head.appendChild(r));Array.from(r.sheet?.cssRules||[]).some(t=>t instanceof CSSStyleRule&&t.selectorText===`.${e}`)||r.sheet?.insertRule(`.${e} { ${t}: ${n}; }`,r.sheet.cssRules.length)}function fe(e,t,n,r){let o=document.querySelector("#nuclo-styles");o||(o=document.createElement("style"),o.id="nuclo-styles",document.head.appendChild(o));const i=Array.from(o.sheet?.cssRules||[]);let s=null;for(const e of i)if(e instanceof CSSMediaRule&&e.media.mediaText===r){s=e;break}if(!s){const e=o.sheet?.cssRules.length||0;o.sheet?.insertRule(`@media ${r} {}`,e),s=o.sheet?.cssRules[e]}Array.from(s.cssRules).some(t=>t instanceof CSSStyleRule&&t.selectorText===`.${e}`)||s.insertRule(`.${e} { ${t}: ${n}; }`,s.cssRules.length)}class he{classNames=[];classDefinitions=[];getClassNames(){return[...this.classNames]}getClassDefinitions(){return[...this.classDefinitions]}toString(){return this.classNames.join(" ")}addClass(e,t){const n=function(e,t){const n=`${e}:${t}`;if(ue.has(n))return ue.get(n);let r;const o={"background-color":"bg",color:"text","font-size":"text",display:"display",flex:"flex","justify-content":"justify","align-items":"items","font-weight":"font",padding:"p",margin:"m",width:"w",height:"h",border:"border","border-radius":"rounded","text-align":"text",gap:"gap","flex-direction":"flex",position:"position",opacity:"opacity",cursor:"cursor","box-shadow":"shadow",transition:"transition","text-decoration":"underline","letter-spacing":"tracking","min-width":"min-w","max-width":"max-w","min-height":"min-h","accent-color":"accent","line-height":"leading","font-family":"font",outline:"outline"}[e]||e.replace(/-/g,"-"),i=function(e){return(e=(e=(e=e.replace(/^#/,"")).replace(/[^a-zA-Z0-9]/g,"-")).replace(/^-+|-+$/g,"").replace(/-+/g,"-")).toLowerCase()}(t);return r="display"===e&&"flex"===t?"flex":"display"===e&&"grid"===t?"grid":"display"===e&&"block"===t?"display-block":"display"===e&&"none"===t?"display-none":"justify-content"===e&&"center"===t&&"justify"===o?"justify-center":"align-items"===e&&"center"===t&&"items"===o?"items-center":"font-weight"===e&&"bold"===t?"font-bold":"text-align"===e&&"center"===t?"text-center":"flex-direction"===e&&"column"===t?"flex-col":"flex-direction"===e&&"row"===t?"flex-row":"cursor"===e&&"pointer"===t?"cursor-pointer":"text-decoration"===e&&"line-through"===t?"line-through":`${o}-${i}`,ue.set(n,r),r}(e,t);return pe.set(n,{property:e,value:t}),this.classDefinitions.push({className:n,property:e,value:t}),de(n,e,t),this.classNames.includes(n)||this.classNames.push(n),this}add(e,t){return this.addClass(e,t)}bg(e){return this.addClass("background-color",e)}color(e){return this.addClass("color",e)}fontSize(e){return this.addClass("font-size",e)}display(e){return this.addClass("display",e)}flex(e){return void 0!==e?this.addClass("flex",e):this.addClass("display","flex")}center(){return this.addClass("justify-content","center"),this.addClass("align-items","center")}bold(){return this.addClass("font-weight","bold")}padding(e){return this.addClass("padding",e)}margin(e){return this.addClass("margin",e)}width(e){return this.addClass("width",e)}height(e){return this.addClass("height",e)}border(e){return this.addClass("border",e)}borderRadius(e){return this.addClass("border-radius",e)}textAlign(e){return this.addClass("text-align",e)}gap(e){return this.addClass("gap",e)}flexDirection(e){return this.addClass("flex-direction",e)}grid(){return this.addClass("display","grid")}position(e){return this.addClass("position",e)}opacity(e){return this.addClass("opacity",e)}cursor(e){return this.addClass("cursor",e)}boxShadow(e){return this.addClass("box-shadow",e)}transition(e){return this.addClass("transition",e)}textDecoration(e){return this.addClass("text-decoration",e)}letterSpacing(e){return this.addClass("letter-spacing",e)}fontWeight(e){return this.addClass("font-weight",e)}alignItems(e){return this.addClass("align-items",e)}justifyContent(e){return this.addClass("justify-content",e)}minWidth(e){return this.addClass("min-width",e)}maxWidth(e){return this.addClass("max-width",e)}minHeight(e){return this.addClass("min-height",e)}accentColor(e){return this.addClass("accent-color",e)}lineHeight(e){return this.addClass("line-height",e)}fontFamily(e){return this.addClass("font-family",e)}outline(e){return this.addClass("outline",e)}}const pe=new Map;function me(e){return function(t,n){let r,o;if(void 0!==n?(r=t,o=n):t instanceof he?(r=t,o=void 0):(r=void 0,o=t),!(r||o&&0!==Object.keys(o).length))return"";const i=[];if(r){const e=r.getClassDefinitions();for(const{className:t,property:n,value:r}of e)de(t,n,r),i.push(t)}if(o&&Object.keys(o).length>0){const t=Object.entries(e);for(const[e,n]of t){const t=o[e];if(t){const r=t.getClassDefinitions();for(const{className:t,property:o,value:s}of r){const r=`${e}-${t}`;fe(r,o,s,n),i.push(r)}}}}return{className:i.join(" ")}}}function ge(e,t){let n=document.querySelector("#nuclo-styles");n||(n=document.createElement("style"),n.id="nuclo-styles",document.head.appendChild(n));const r=Object.entries(t).map(([e,t])=>`${e}: ${t}`).join("; ");n.sheet?.insertRule(`.${e} { ${r} }`,n.sheet.cssRules.length)}function ye(e){return(new he).bg(e)}function be(e){return(new he).color(e)}function we(e){return(new he).fontSize(e)}function Ce(e){return(new he).flex(e)}function xe(){return(new he).center()}function ve(){return(new he).bold()}function Se(e){return(new he).padding(e)}function Ee(e){return(new he).margin(e)}function Ne(e){return(new he).width(e)}function $e(e){return(new he).height(e)}function Me(e){return(new he).border(e)}function ke(e){return(new he).borderRadius(e)}function Re(e){return(new he).textAlign(e)}function je(e){return(new he).gap(e)}function Fe(e){return(new he).flexDirection(e)}function Ie(){return(new he).grid()}function Te(e){return(new he).position(e)}function De(e){return(new he).opacity(e)}function Le(e){return(new he).cursor(e)}function Ae(){if(W(),"undefined"!=typeof globalThis){const e=globalThis;e.list=K,e.update=ce,e.when=oe,e.on=ae,e.render=le,e.createCSSClass=ge,e.createBreakpoints=me,e.bg=ye,e.color=be,e.fontSize=we,e.flex=Ce,e.center=xe,e.bold=ve,e.padding=Se,e.margin=Ee,e.width=Ne,e.height=$e,e.border=Me,e.borderRadius=ke,e.textAlign=Re,e.gap=je,e.flexDirection=Fe,e.grid=Ie,e.position=Te,e.opacity=De,e.cursor=Le}}"undefined"!=typeof globalThis&&Ae();export{P as HTML_TAGS,G as SELF_CLOSING_TAGS,V as SVG_TAGS,y as appendChildren,M as applyAttributes,F as applyNodeModifier,ye as bg,ve as bold,Me as border,ke as borderRadius,xe as center,be as color,me as createBreakpoints,ge as createCSSClass,f as createComment,h as createConditionalComment,z as createElementFactory,O as createElementWithModifiers,q as createTagBuilder,Le as cursor,Ce as flex,Fe as flexDirection,we as fontSize,je as gap,Ie as grid,$e as height,Ae as initializeRuntime,o as isBoolean,l as isBrowser,i as isFunction,t as isNode,n as isObject,e as isPrimitive,r as isTagLike,s as isZeroArityFunction,K as list,Ee as margin,ae as on,De as opacity,Se as padding,Te as position,W as registerGlobalTagBuilders,le as render,w as replaceNodeSafely,Re as textAlign,ce as update,oe as when,Ne as width};
|
|
2
2
|
//# sourceMappingURL=nuclo.js.map
|