modern-idoc 0.7.0 → 0.7.1

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/index.cjs CHANGED
@@ -914,7 +914,7 @@ function getPropertyDescriptor(key, declaration = {}) {
914
914
  const getFallbackValue = () => {
915
915
  return typeof fallback === "function" ? fallback() : fallback;
916
916
  };
917
- const descriptor = {
917
+ return {
918
918
  get() {
919
919
  let result;
920
920
  if (alias && alias !== key) {
@@ -929,7 +929,6 @@ function getPropertyDescriptor(key, declaration = {}) {
929
929
  return result ?? getFallbackValue();
930
930
  },
931
931
  set(newValue) {
932
- const oldValue = descriptor.get?.call(this);
933
932
  if (alias && alias !== key) {
934
933
  setObjectValueByPath(this, alias, newValue);
935
934
  } else {
@@ -939,10 +938,8 @@ function getPropertyDescriptor(key, declaration = {}) {
939
938
  this[internalKey] = newValue;
940
939
  }
941
940
  }
942
- this.onUpdateProperty?.(key, newValue, oldValue, declaration);
943
941
  }
944
942
  };
945
- return descriptor;
946
943
  }
947
944
  function defineProperty(target, key, declaration = {}) {
948
945
  const descriptor = getPropertyDescriptor(key, declaration);
@@ -951,7 +948,9 @@ function defineProperty(target, key, declaration = {}) {
951
948
  return descriptor.get.call(this);
952
949
  },
953
950
  set(newValue) {
951
+ const oldValue = descriptor.get?.call(this);
954
952
  descriptor.set.call(this, newValue);
953
+ this.onUpdateProperty?.(key, newValue, oldValue, declaration);
955
954
  },
956
955
  configurable: true,
957
956
  enumerable: true
@@ -974,7 +973,9 @@ function property(declaration = {}) {
974
973
  return descriptor.get.call(this);
975
974
  },
976
975
  set(newValue) {
976
+ const oldValue = descriptor.get?.call(this);
977
977
  descriptor.set.call(this, newValue);
978
+ this.onUpdateProperty?.(key, newValue, oldValue, declaration);
978
979
  }
979
980
  };
980
981
  };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- (function(o,k){typeof exports=="object"&&typeof module<"u"?k(exports):typeof define=="function"&&define.amd?define(["exports"],k):(o=typeof globalThis<"u"?globalThis:o||self,k(o.modernIdoc={}))})(this,function(o){"use strict";function k(t){return typeof t=="string"?{src:t}:t}var se={grad:.9,turn:360,rad:360/(2*Math.PI)},_=function(t){return typeof t=="string"?t.length>0:typeof t=="number"},v=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=Math.pow(10,e)),Math.round(n*t)/n+0},S=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=1),t>n?n:t>e?t:e},lt=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},st=function(t){return{r:S(t.r,0,255),g:S(t.g,0,255),b:S(t.b,0,255),a:S(t.a)}},x=function(t){return{r:v(t.r),g:v(t.g),b:v(t.b),a:v(t.a,3)}},ce=/^#([0-9a-f]{3,8})$/i,A=function(t){var e=t.toString(16);return e.length<2?"0"+e:e},ct=function(t){var e=t.r,n=t.g,r=t.b,i=t.a,l=Math.max(e,n,r),c=l-Math.min(e,n,r),s=c?l===e?(n-r)/c:l===n?2+(r-e)/c:4+(e-n)/c:0;return{h:60*(s<0?s+6:s),s:l?c/l*100:0,v:l/255*100,a:i}},ft=function(t){var e=t.h,n=t.s,r=t.v,i=t.a;e=e/360*6,n/=100,r/=100;var l=Math.floor(e),c=r*(1-n),s=r*(1-(e-l)*n),f=r*(1-(1-e+l)*n),m=l%6;return{r:255*[r,s,c,c,f,r][m],g:255*[f,r,r,s,c,c][m],b:255*[c,c,f,r,r,s][m],a:i}},dt=function(t){return{h:lt(t.h),s:S(t.s,0,100),l:S(t.l,0,100),a:S(t.a)}},gt=function(t){return{h:v(t.h),s:v(t.s),l:v(t.l),a:v(t.a,3)}},ht=function(t){return ft((n=(e=t).s,{h:e.h,s:(n*=((r=e.l)<50?r:100-r)/100)>0?2*n/(r+n)*100:0,v:r+n,a:e.a}));var e,n,r},L=function(t){return{h:(e=ct(t)).h,s:(i=(200-(n=e.s))*(r=e.v)/100)>0&&i<200?n*r/100/(i<=100?i:200-i)*100:0,l:i/2,a:e.a};var e,n,r,i},fe=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,de=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ge=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,he=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,vt={string:[[function(t){var e=ce.exec(t);return e?(t=e[1]).length<=4?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:t.length===4?v(parseInt(t[3]+t[3],16)/255,2):1}:t.length===6||t.length===8?{r:parseInt(t.substr(0,2),16),g:parseInt(t.substr(2,2),16),b:parseInt(t.substr(4,2),16),a:t.length===8?v(parseInt(t.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(t){var e=ge.exec(t)||he.exec(t);return e?e[2]!==e[4]||e[4]!==e[6]?null:st({r:Number(e[1])/(e[2]?100/255:1),g:Number(e[3])/(e[4]?100/255:1),b:Number(e[5])/(e[6]?100/255:1),a:e[7]===void 0?1:Number(e[7])/(e[8]?100:1)}):null},"rgb"],[function(t){var e=fe.exec(t)||de.exec(t);if(!e)return null;var n,r,i=dt({h:(n=e[1],r=e[2],r===void 0&&(r="deg"),Number(n)*(se[r]||1)),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return ht(i)},"hsl"]],object:[[function(t){var e=t.r,n=t.g,r=t.b,i=t.a,l=i===void 0?1:i;return _(e)&&_(n)&&_(r)?st({r:Number(e),g:Number(n),b:Number(r),a:Number(l)}):null},"rgb"],[function(t){var e=t.h,n=t.s,r=t.l,i=t.a,l=i===void 0?1:i;if(!_(e)||!_(n)||!_(r))return null;var c=dt({h:Number(e),s:Number(n),l:Number(r),a:Number(l)});return ht(c)},"hsl"],[function(t){var e=t.h,n=t.s,r=t.v,i=t.a,l=i===void 0?1:i;if(!_(e)||!_(n)||!_(r))return null;var c=function(s){return{h:lt(s.h),s:S(s.s,0,100),v:S(s.v,0,100),a:S(s.a)}}({h:Number(e),s:Number(n),v:Number(r),a:Number(l)});return ft(c)},"hsv"]]},mt=function(t,e){for(var n=0;n<e.length;n++){var r=e[n][0](t);if(r)return[r,e[n][1]]}return[null,void 0]},ve=function(t){return typeof t=="string"?mt(t.trim(),vt.string):typeof t=="object"&&t!==null?mt(t,vt.object):[null,void 0]},K=function(t,e){var n=L(t);return{h:n.h,s:S(n.s+100*e,0,100),l:n.l,a:n.a}},X=function(t){return(299*t.r+587*t.g+114*t.b)/1e3/255},pt=function(t,e){var n=L(t);return{h:n.h,s:n.s,l:S(n.l+100*e,0,100),a:n.a}},yt=function(){function t(e){this.parsed=ve(e)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return t.prototype.isValid=function(){return this.parsed!==null},t.prototype.brightness=function(){return v(X(this.rgba),2)},t.prototype.isDark=function(){return X(this.rgba)<.5},t.prototype.isLight=function(){return X(this.rgba)>=.5},t.prototype.toHex=function(){return e=x(this.rgba),n=e.r,r=e.g,i=e.b,c=(l=e.a)<1?A(v(255*l)):"","#"+A(n)+A(r)+A(i)+c;var e,n,r,i,l,c},t.prototype.toRgb=function(){return x(this.rgba)},t.prototype.toRgbString=function(){return e=x(this.rgba),n=e.r,r=e.g,i=e.b,(l=e.a)<1?"rgba("+n+", "+r+", "+i+", "+l+")":"rgb("+n+", "+r+", "+i+")";var e,n,r,i,l},t.prototype.toHsl=function(){return gt(L(this.rgba))},t.prototype.toHslString=function(){return e=gt(L(this.rgba)),n=e.h,r=e.s,i=e.l,(l=e.a)<1?"hsla("+n+", "+r+"%, "+i+"%, "+l+")":"hsl("+n+", "+r+"%, "+i+"%)";var e,n,r,i,l},t.prototype.toHsv=function(){return e=ct(this.rgba),{h:v(e.h),s:v(e.s),v:v(e.v),a:v(e.a,3)};var e},t.prototype.invert=function(){return w({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a});var e},t.prototype.saturate=function(e){return e===void 0&&(e=.1),w(K(this.rgba,e))},t.prototype.desaturate=function(e){return e===void 0&&(e=.1),w(K(this.rgba,-e))},t.prototype.grayscale=function(){return w(K(this.rgba,-1))},t.prototype.lighten=function(e){return e===void 0&&(e=.1),w(pt(this.rgba,e))},t.prototype.darken=function(e){return e===void 0&&(e=.1),w(pt(this.rgba,-e))},t.prototype.rotate=function(e){return e===void 0&&(e=15),this.hue(this.hue()+e)},t.prototype.alpha=function(e){return typeof e=="number"?w({r:(n=this.rgba).r,g:n.g,b:n.b,a:e}):v(this.rgba.a,3);var n},t.prototype.hue=function(e){var n=L(this.rgba);return typeof e=="number"?w({h:e,s:n.s,l:n.l,a:n.a}):v(n.h)},t.prototype.isEqual=function(e){return this.toHex()===w(e).toHex()},t}(),w=function(t){return t instanceof yt?t:new yt(t)};function g(t){return t==null||t==="none"}function N(t,e=0,n=10**e){return Math.round(n*t)/n+0}function O(t,e=!1){if(typeof t!="object"||!t)return t;if(Array.isArray(t))return e?t.map(r=>O(r,e)):t;const n={};for(const r in t){const i=t[r];i!=null&&(e?n[r]=O(i,e):n[r]=i)}return n}function T(t,e){const n={};return e.forEach(r=>{r in t&&(n[r]=t[r])}),n}function bt(t,e,n){const r=e.length-1;if(r<0)return t===void 0?n:t;for(let i=0;i<r;i++){if(t==null)return n;t=t[e[i]]}return t==null||t[e[r]]===void 0?n:t[e[r]]}function St(t,e,n){const r=e.length-1;for(let i=0;i<r;i++)typeof t[e[i]]!="object"&&(t[e[i]]={}),t=t[e[i]];t[e[r]]=n}function Ct(t,e,n){return t==null||!e||typeof e!="string"?n:t[e]!==void 0?t[e]:(e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),bt(t,e.split("."),n))}function wt(t,e,n){if(!(typeof t!="object"||!e))return e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),St(t,e.split("."),n)}class me{_map=new WeakMap;_toRaw(e){if(e&&typeof e=="object"){const n=e.__v_raw;n&&(e=this._toRaw(n))}return e}delete(e){return this._map.delete(this._toRaw(e))}get(e){return this._map.get(this._toRaw(e))}has(e){return this._map.has(this._toRaw(e))}set(e,n){return this._map.set(this._toRaw(e),this._toRaw(n)),this}}function Y(t){let e;return typeof t=="number"?e={r:t>>24&255,g:t>>16&255,b:t>>8&255,a:(t&255)/255}:e=t,w(e)}function pe(t){return{r:N(t.r),g:N(t.g),b:N(t.b),a:N(t.a,3)}}function M(t){const e=t.toString(16);return e.length<2?`0${e}`:e}const G="#000000FF";function zt(t){return Y(t).isValid()}function y(t,e=!1){const n=Y(t);if(!n.isValid()){if(typeof t=="string")return t;const s=`Failed to normalizeColor ${t}`;if(e)throw new Error(s);return console.warn(s),G}const{r,g:i,b:l,a:c}=pe(n.rgba);return`#${M(r)}${M(i)}${M(l)}${M(N(c*255))}`}var $=$||{};$.parse=function(){const t={linearGradient:/^(-(webkit|o|ms|moz)-)?(linear-gradient)/i,repeatingLinearGradient:/^(-(webkit|o|ms|moz)-)?(repeating-linear-gradient)/i,radialGradient:/^(-(webkit|o|ms|moz)-)?(radial-gradient)/i,repeatingRadialGradient:/^(-(webkit|o|ms|moz)-)?(repeating-radial-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest-side|closest-corner|farthest-side|farthest-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?((\d*\.\d+)|(\d+\.?)))px/,percentageValue:/^(-?((\d*\.\d+)|(\d+\.?)))%/,emValue:/^(-?((\d*\.\d+)|(\d+\.?)))em/,angleValue:/^(-?((\d*\.\d+)|(\d+\.?)))deg/,radianValue:/^(-?((\d*\.\d+)|(\d+\.?)))rad/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^#([0-9a-f]+)/i,literalColor:/^([a-z]+)/i,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,varColor:/^var/i,calcValue:/^calc/i,variableName:/^(--[a-z0-9-,\s#]+)/i,number:/^((\d*\.\d+)|(\d+\.?))/,hslColor:/^hsl/i,hslaColor:/^hsla/i};let e="";function n(a){const u=new Error(`${e}: ${a}`);throw u.source=e,u}function r(){const a=i();return e.length>0&&n("Invalid input not EOF"),a}function i(){return B(l)}function l(){return c("linear-gradient",t.linearGradient,f)||c("repeating-linear-gradient",t.repeatingLinearGradient,f)||c("radial-gradient",t.radialGradient,z)||c("repeating-radial-gradient",t.repeatingRadialGradient,z)}function c(a,u,d){return s(u,p=>{const R=d();return R&&(h(t.comma)||n("Missing comma before color stops")),{type:a,orientation:R,colorStops:B(Ee)}})}function s(a,u){const d=h(a);if(d){h(t.startCall)||n("Missing (");const p=u(d);return h(t.endCall)||n("Missing )"),p}}function f(){const a=m();if(a)return a;const u=b("position-keyword",t.positionKeywords,1);return u?{type:"directional",value:u.value}:C()}function m(){return b("directional",t.sideOrCorner,1)}function C(){return b("angular",t.angleValue,1)||b("angular",t.radianValue,1)}function z(){let a,u=D(),d;return u&&(a=[],a.push(u),d=e,h(t.comma)&&(u=D(),u?a.push(u):e=d)),a}function D(){let a=rt()||Re();if(a)a.at=ot();else{const u=it();if(u){a=u;const d=ot();d&&(a.at=d)}else{const d=ot();if(d)a={type:"default-radial",at:d};else{const p=at();p&&(a={type:"default-radial",at:p})}}}return a}function rt(){const a=b("shape",/^(circle)/i,0);return a&&(a.style=le()||it()),a}function Re(){const a=b("shape",/^(ellipse)/i,0);return a&&(a.style=at()||j()||it()),a}function it(){return b("extent-keyword",t.extentKeywords,1)}function ot(){if(b("position",/^at/,0)){const a=at();return a||n("Missing positioning value"),a}}function at(){const a=ke();if(a.x||a.y)return{type:"position",value:a}}function ke(){return{x:j(),y:j()}}function B(a){let u=a();const d=[];if(u)for(d.push(u);h(t.comma);)u=a(),u?d.push(u):n("One extra comma");return d}function Ee(){const a=De();return a||n("Expected color definition"),a.length=j(),a}function De(){return Ge()||Te()||Ae()||Pe()||Ie()||Ve()||Le()}function Le(){return b("literal",t.literalColor,0)}function Ge(){return b("hex",t.hexColor,1)}function Ie(){return s(t.rgbColor,()=>({type:"rgb",value:B(V)}))}function Pe(){return s(t.rgbaColor,()=>({type:"rgba",value:B(V)}))}function Ve(){return s(t.varColor,()=>({type:"var",value:Me()}))}function Ae(){return s(t.hslColor,()=>{h(t.percentageValue)&&n("HSL hue value must be a number in degrees (0-360) or normalized (-360 to 360), not a percentage");const u=V();h(t.comma);let d=h(t.percentageValue);const p=d?d[1]:null;h(t.comma),d=h(t.percentageValue);const R=d?d[1]:null;return(!p||!R)&&n("Expected percentage value for saturation and lightness in HSL"),{type:"hsl",value:[u,p,R]}})}function Te(){return s(t.hslaColor,()=>{const a=V();h(t.comma);let u=h(t.percentageValue);const d=u?u[1]:null;h(t.comma),u=h(t.percentageValue);const p=u?u[1]:null;h(t.comma);const R=V();return(!d||!p)&&n("Expected percentage value for saturation and lightness in HSLA"),{type:"hsla",value:[a,d,p,R]}})}function Me(){return h(t.variableName)[1]}function V(){return h(t.number)[1]}function j(){return b("%",t.percentageValue,1)||$e()||He()||le()}function $e(){return b("position-keyword",t.positionKeywords,1)}function He(){return s(t.calcValue,()=>{let a=1,u=0;for(;a>0&&u<e.length;){const p=e.charAt(u);p==="("?a++:p===")"&&a--,u++}a>0&&n("Missing closing parenthesis in calc() expression");const d=e.substring(0,u-1);return ut(u-1),{type:"calc",value:d}})}function le(){return b("px",t.pixelValue,1)||b("em",t.emValue,1)}function b(a,u,d){const p=h(u);if(p)return{type:a,value:p[d]}}function h(a){let u,d;return d=/^\s+/.exec(e),d&&ut(d[0].length),u=a.exec(e),u&&ut(u[0].length),u}function ut(a){e=e.substr(a)}return function(a){return e=a.toString().trim(),e.endsWith(";")&&(e=e.slice(0,-1)),r()}}();const _t=$.parse.bind($);var H=H||{};H.stringify=function(){var t={"visit_linear-gradient":function(e){return t.visit_gradient(e)},"visit_repeating-linear-gradient":function(e){return t.visit_gradient(e)},"visit_radial-gradient":function(e){return t.visit_gradient(e)},"visit_repeating-radial-gradient":function(e){return t.visit_gradient(e)},visit_gradient:function(e){var n=t.visit(e.orientation);return n&&(n+=", "),e.type+"("+n+t.visit(e.colorStops)+")"},visit_shape:function(e){var n=e.value,r=t.visit(e.at),i=t.visit(e.style);return i&&(n+=" "+i),r&&(n+=" at "+r),n},"visit_default-radial":function(e){var n="",r=t.visit(e.at);return r&&(n+=r),n},"visit_extent-keyword":function(e){var n=e.value,r=t.visit(e.at);return r&&(n+=" at "+r),n},"visit_position-keyword":function(e){return e.value},visit_position:function(e){return t.visit(e.value.x)+" "+t.visit(e.value.y)},"visit_%":function(e){return e.value+"%"},visit_em:function(e){return e.value+"em"},visit_px:function(e){return e.value+"px"},visit_calc:function(e){return"calc("+e.value+")"},visit_literal:function(e){return t.visit_color(e.value,e)},visit_hex:function(e){return t.visit_color("#"+e.value,e)},visit_rgb:function(e){return t.visit_color("rgb("+e.value.join(", ")+")",e)},visit_rgba:function(e){return t.visit_color("rgba("+e.value.join(", ")+")",e)},visit_hsl:function(e){return t.visit_color("hsl("+e.value[0]+", "+e.value[1]+"%, "+e.value[2]+"%)",e)},visit_hsla:function(e){return t.visit_color("hsla("+e.value[0]+", "+e.value[1]+"%, "+e.value[2]+"%, "+e.value[3]+")",e)},visit_var:function(e){return t.visit_color("var("+e.value+")",e)},visit_color:function(e,n){var r=e,i=t.visit(n.length);return i&&(r+=" "+i),r},visit_angular:function(e){return e.value+"deg"},visit_directional:function(e){return"to "+e.value},visit_array:function(e){var n="",r=e.length;return e.forEach(function(i,l){n+=t.visit(i),l<r-1&&(n+=", ")}),n},visit_object:function(e){return e.width&&e.height?t.visit(e.width)+" "+t.visit(e.height):""},visit:function(e){if(!e)return"";if(e instanceof Array)return t.visit_array(e);if(typeof e=="object"&&!e.type)return t.visit_object(e);if(e.type){var n=t["visit_"+e.type];if(n)return n(e);throw Error("Missing visitor visit_"+e.type)}else throw Error("Invalid node.")}};return function(e){return t.visit(e)}}();const ye=H.stringify.bind(H);function Ft(t){const e=t.length-1;return t.map((n,r)=>{const i=n.value;let l=N(r/e,3),c="#00000000";switch(n.type){case"rgb":c=y({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0)});break;case"rgba":c=y({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0),a:Number(i[3]??0)});break;case"literal":c=y(n.value);break;case"hex":c=y(`#${n.value}`);break}switch(n.length?.type){case"%":l=Number(n.length.value)/100;break}return{offset:l,color:c}})}function Nt(t){let e=0;switch(t.orientation?.type){case"angular":e=Number(t.orientation.value);break}return{type:"linear-gradient",angle:e,stops:Ft(t.colorStops)}}function Ot(t){return t.orientation?.map(e=>{switch(e?.type){case"shape":case"default-radial":case"extent-keyword":default:return null}}),{type:"radial-gradient",stops:Ft(t.colorStops)}}function I(t){return t.startsWith("linear-gradient(")||t.startsWith("radial-gradient(")}function Rt(t){return _t(t).map(e=>{switch(e?.type){case"linear-gradient":return Nt(e);case"repeating-linear-gradient":return{...Nt(e),repeat:!0};case"radial-gradient":return Ot(e);case"repeating-radial-gradient":return{...Ot(e),repeat:!0};default:return}}).filter(Boolean)}function kt(t){let e;return typeof t=="string"?e={color:t}:e=t,{color:y(e.color)}}function Et(t){let e;if(typeof t=="string"?e={image:t}:e=t,e.image){const{type:n,...r}=Rt(e.image)[0]??{};switch(n){case"radial-gradient":return{radialGradient:r};case"linear-gradient":return{linearGradient:r}}}return e}function Dt(t){let e;return typeof t=="string"?e={image:t}:e=t,e}function Lt(t){let e;return typeof t=="string"?e={preset:t}:e=t,{preset:e.preset,foregroundColor:g(e.foregroundColor)?void 0:y(e.foregroundColor),backgroundColor:g(e.backgroundColor)?void 0:y(e.backgroundColor)}}function Gt(t){return!g(t.color)}function It(t){return typeof t=="string"?zt(t):Gt(t)}function Pt(t){return!g(t.image)&&I(t.image)||!!t.linearGradient||!!t.radialGradient}function Vt(t){return typeof t=="string"?I(t):Pt(t)}function At(t){return!g(t.image)&&!I(t.image)}function Tt(t){return typeof t=="string"?!I(t):At(t)}function Mt(t){return!g(t.preset)}function $t(t){return typeof t=="string"?!1:Mt(t)}function F(t){return It(t)?kt(t):Vt(t)?Et(t):Tt(t)?Dt(t):$t(t)?Lt(t):{}}function Ht(t){return typeof t=="string"?{...F(t)}:{...F(t),...T(t,["fillWithShape"])}}const q=Symbol("properties");function U(t){const e=Object.getPrototypeOf(t);let n;return e&&Object.hasOwn(e,q)?n=e[q]:(n=new Map(e?U(e):void 0),e&&(e[q]=n)),n}function Z(t,e={}){const n=Symbol.for(t),{fallback:r,alias:i}=e,l={declaration:e,internalKey:n},c=()=>typeof r=="function"?r():r,s={get(){let f;return i&&i!==t?f=Ct(this,i):typeof this.getter<"u"?f=this.getter(t,l):f=this[n],f??c()},set(f){const m=s.get?.call(this);i&&i!==t?wt(this,i,f):typeof this.setter<"u"?this.setter(t,f,l):this[n]=f,this.onUpdateProperty?.(t,f,m,e)}};return s}function be(t,e,n={}){const r=Z(e,n);Object.defineProperty(t.prototype,e,{get(){return r.get.call(this)},set(i){r.set.call(this,i)},configurable:!0,enumerable:!0})}function Se(t={}){return function(e,n){const r=n.name;if(typeof r!="string")throw new TypeError("Failed to @property decorator, prop name cannot be a symbol");const i=Z(r,t);return{init(l){return U(this).set(r,t),i.set.call(this,l),l},get(){return i.get.call(this)},set(l){i.set.call(this,l)}}}}function J(){return{color:G,offsetX:0,offsetY:0,blurRadius:1}}function Q(t){return{...J(),...O({...t,color:g(t.color)?G:y(t.color)})}}function Wt(){return{...J(),scaleX:1,scaleY:1}}function Bt(t){return{...Wt(),...Q(t)}}function Ce(t){return t}function jt(t){return O({...t,softEdge:g(t.softEdge)?void 0:t.softEdge,outerShadow:g(t.outerShadow)?void 0:Bt(t.outerShadow),innerShadow:g(t.innerShadow)?void 0:Q(t.innerShadow)})}function xt(t){return typeof t=="string"?{...F(t)}:{...F(t),...T(t,["fillWithShape"])}}function Kt(t){return typeof t=="string"?{...F(t)}:{...F(t),...T(t,["width","style","headEnd","tailEnd"])}}function Xt(t){return typeof t=="string"?{color:y(t)}:{...t,color:g(t.color)?G:y(t.color)}}function Yt(){return{boxShadow:"none"}}function qt(t){return typeof t=="string"?t.startsWith("<svg")?{svg:t}:{paths:[{data:t}]}:Array.isArray(t)?{paths:t.map(e=>typeof e=="string"?{data:e}:e)}:t}function Ut(){return{overflow:"visible",direction:void 0,display:void 0,boxSizing:void 0,width:void 0,height:void 0,maxHeight:void 0,maxWidth:void 0,minHeight:void 0,minWidth:void 0,position:void 0,left:0,top:0,right:void 0,bottom:void 0,borderTop:void 0,borderLeft:void 0,borderRight:void 0,borderBottom:void 0,borderWidth:0,border:void 0,flex:void 0,flexBasis:void 0,flexDirection:void 0,flexGrow:void 0,flexShrink:void 0,flexWrap:void 0,justifyContent:void 0,gap:void 0,alignContent:void 0,alignItems:void 0,alignSelf:void 0,marginTop:void 0,marginLeft:void 0,marginRight:void 0,marginBottom:void 0,margin:void 0,paddingTop:void 0,paddingLeft:void 0,paddingRight:void 0,paddingBottom:void 0,padding:void 0}}function Zt(){return{rotate:0,scaleX:1,scaleY:1,skewX:0,skewY:0,translateX:0,translateY:0,transform:"none",transformOrigin:"center"}}function Jt(){return{...Ut(),...Zt(),...Yt(),backgroundImage:"none",backgroundSize:"auto, auto",backgroundColor:"none",backgroundColormap:"none",borderRadius:0,borderColor:"none",borderStyle:"solid",outlineWidth:0,outlineOffset:0,outlineColor:"rgb(0, 0, 0)",outlineStyle:"none",visibility:"visible",filter:"none",opacity:1,pointerEvents:"auto",maskImage:"none"}}function Qt(){return{highlight:{},highlightImage:"none",highlightReferImage:"none",highlightColormap:"none",highlightLine:"none",highlightSize:"cover",highlightThickness:"100%"}}function te(){return{listStyle:{},listStyleType:"none",listStyleImage:"none",listStyleColormap:"none",listStyleSize:"cover",listStylePosition:"outside"}}function ee(){return{...Qt(),color:"rgb(0, 0, 0)",verticalAlign:"baseline",letterSpacing:0,wordSpacing:0,fontSize:14,fontWeight:"normal",fontFamily:"",fontStyle:"normal",fontKerning:"normal",textTransform:"none",textOrientation:"mixed",textDecoration:"none"}}function ne(){return{...te(),writingMode:"horizontal-tb",textWrap:"wrap",textAlign:"start",textIndent:0,lineHeight:1.2}}function re(){return{...ne(),...ee(),textStrokeWidth:0,textStrokeColor:"rgb(0, 0, 0)"}}function E(t){return O({...t,color:g(t.color)?void 0:y(t.color),backgroundColor:g(t.backgroundColor)?void 0:y(t.backgroundColor),borderColor:g(t.borderColor)?void 0:y(t.borderColor),outlineColor:g(t.outlineColor)?void 0:y(t.outlineColor),shadowColor:g(t.shadowColor)?void 0:y(t.shadowColor)})}function we(){return{...Jt(),...re()}}const tt=/\r\n|\n\r|\n|\r/,ze=new RegExp(`${tt.source}|<br\\/>`,"g"),_e=new RegExp(`^(${tt.source})$`),W=`
2
- `;function Fe(t){return tt.test(t)}function et(t){return _e.test(t)}function ie(t){return t.replace(ze,W)}function oe(t,e){const n=Array.from(new Set([...Object.keys(t),...Object.keys(e)]));return!n.length||n.every(r=>t[r]===e[r])}function P(t){const e=[];function n(){return e[e.length-1]}function r(s={}){let f=e[e.length-1];return f?.fragments.length===0?(f={...s,fragments:[]},e[e.length-1]=f):(f={...s,fragments:[]},e.push(f)),f}function i(s="",f={}){Array.from(s).forEach(m=>{if(et(m)){const{fragments:C,...z}=n()||r();C.length||C.push({...f,content:W}),r(z)}else{const C=n()||r(),z=C.fragments[C.fragments.length-1];if(z){const{content:D,...rt}=z;if(oe(f,rt)){z.content=`${D}${m}`;return}}C.fragments.push({...f,content:m})}})}(Array.isArray(t)?t:[t]).forEach(s=>{if(typeof s=="string")r(),i(s);else if("content"in s){const{content:f,...m}=s;r(E(m)),i(f)}else if("fragments"in s){const{fragments:f,...m}=s;r(E(m)),f.forEach(C=>{const{content:z,...D}=C;i(z,E(D))})}else Array.isArray(s)?(r(),s.forEach(f=>{if(typeof f=="string")i(f);else{const{content:m,...C}=f;i(m,E(C))}})):console.warn("Failed to parse text content",s)});const c=n();return c&&!c.fragments.length&&c.fragments.push({content:W}),e}function ae(t){return typeof t=="string"?{content:P(t)}:"content"in t?{...t,content:P(t.content)}:{content:P(t)}}function Ne(t){return P(t).map(e=>{const n=ie(e.fragments.flatMap(r=>r.content).join(""));return et(n)?"":n}).join(W)}function ue(t){return typeof t=="string"?{src:t}:t}function nt(t){return O({...t,style:g(t.style)?void 0:E(t.style),text:g(t.text)?void 0:ae(t.text),background:g(t.background)?void 0:Ht(t.background),shape:g(t.shape)?void 0:qt(t.shape),fill:g(t.fill)?void 0:F(t.fill),outline:g(t.outline)?void 0:Kt(t.outline),foreground:g(t.foreground)?void 0:xt(t.foreground),shadow:g(t.shadow)?void 0:Xt(t.shadow),video:g(t.video)?void 0:ue(t.video),audio:g(t.audio)?void 0:k(t.audio),effect:g(t.effect)?void 0:jt(t.effect),children:t.children?.map(e=>nt(e))})}function Oe(t){return nt(t)}o.RawWeakMap=me,o.clearUndef=O,o.defaultColor=G,o.defineProperty=be,o.getDeclarations=U,o.getDefaultElementStyle=Jt,o.getDefaultHighlightStyle=Qt,o.getDefaultInnerShadow=J,o.getDefaultLayoutStyle=Ut,o.getDefaultListStyleStyle=te,o.getDefaultOuterShadow=Wt,o.getDefaultShadowStyle=Yt,o.getDefaultStyle=we,o.getDefaultTextInlineStyle=ee,o.getDefaultTextLineStyle=ne,o.getDefaultTextStyle=re,o.getDefaultTransformStyle=Zt,o.getNestedValue=bt,o.getObjectValueByPath=Ct,o.getPropertyDescriptor=Z,o.hasCRLF=Fe,o.isCRLF=et,o.isColor=zt,o.isColorFill=It,o.isColorFillObject=Gt,o.isEqualStyle=oe,o.isGradient=I,o.isGradientFill=Vt,o.isGradientFillObject=Pt,o.isImageFill=Tt,o.isImageFillObject=At,o.isNone=g,o.isPresetFill=$t,o.isPresetFillObject=Mt,o.normalizeAudio=k,o.normalizeBackground=Ht,o.normalizeCRLF=ie,o.normalizeColor=y,o.normalizeColorFill=kt,o.normalizeDocument=Oe,o.normalizeEffect=jt,o.normalizeElement=nt,o.normalizeFill=F,o.normalizeForeground=xt,o.normalizeGradient=Rt,o.normalizeGradientFill=Et,o.normalizeImageFill=Dt,o.normalizeInnerShadow=Q,o.normalizeOuterShadow=Bt,o.normalizeOutline=Kt,o.normalizePresetFill=Lt,o.normalizeShadow=Xt,o.normalizeShape=qt,o.normalizeSoftEdge=Ce,o.normalizeStyle=E,o.normalizeText=ae,o.normalizeTextContent=P,o.normalizeVideo=ue,o.parseColor=Y,o.parseGradient=_t,o.pick=T,o.property=Se,o.round=N,o.setNestedValue=St,o.setObjectValueByPath=wt,o.stringifyGradient=ye,o.textContentToString=Ne,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
1
+ (function(o,k){typeof exports=="object"&&typeof module<"u"?k(exports):typeof define=="function"&&define.amd?define(["exports"],k):(o=typeof globalThis<"u"?globalThis:o||self,k(o.modernIdoc={}))})(this,function(o){"use strict";function k(t){return typeof t=="string"?{src:t}:t}var se={grad:.9,turn:360,rad:360/(2*Math.PI)},_=function(t){return typeof t=="string"?t.length>0:typeof t=="number"},v=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=Math.pow(10,e)),Math.round(n*t)/n+0},S=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=1),t>n?n:t>e?t:e},lt=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},st=function(t){return{r:S(t.r,0,255),g:S(t.g,0,255),b:S(t.b,0,255),a:S(t.a)}},x=function(t){return{r:v(t.r),g:v(t.g),b:v(t.b),a:v(t.a,3)}},ce=/^#([0-9a-f]{3,8})$/i,A=function(t){var e=t.toString(16);return e.length<2?"0"+e:e},ct=function(t){var e=t.r,n=t.g,r=t.b,i=t.a,l=Math.max(e,n,r),c=l-Math.min(e,n,r),u=c?l===e?(n-r)/c:l===n?2+(r-e)/c:4+(e-n)/c:0;return{h:60*(u<0?u+6:u),s:l?c/l*100:0,v:l/255*100,a:i}},ft=function(t){var e=t.h,n=t.s,r=t.v,i=t.a;e=e/360*6,n/=100,r/=100;var l=Math.floor(e),c=r*(1-n),u=r*(1-(e-l)*n),g=r*(1-(1-e+l)*n),y=l%6;return{r:255*[r,u,c,c,g,r][y],g:255*[g,r,r,u,c,c][y],b:255*[c,c,g,r,r,u][y],a:i}},dt=function(t){return{h:lt(t.h),s:S(t.s,0,100),l:S(t.l,0,100),a:S(t.a)}},gt=function(t){return{h:v(t.h),s:v(t.s),l:v(t.l),a:v(t.a,3)}},ht=function(t){return ft((n=(e=t).s,{h:e.h,s:(n*=((r=e.l)<50?r:100-r)/100)>0?2*n/(r+n)*100:0,v:r+n,a:e.a}));var e,n,r},L=function(t){return{h:(e=ct(t)).h,s:(i=(200-(n=e.s))*(r=e.v)/100)>0&&i<200?n*r/100/(i<=100?i:200-i)*100:0,l:i/2,a:e.a};var e,n,r,i},fe=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,de=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ge=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,he=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,vt={string:[[function(t){var e=ce.exec(t);return e?(t=e[1]).length<=4?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:t.length===4?v(parseInt(t[3]+t[3],16)/255,2):1}:t.length===6||t.length===8?{r:parseInt(t.substr(0,2),16),g:parseInt(t.substr(2,2),16),b:parseInt(t.substr(4,2),16),a:t.length===8?v(parseInt(t.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(t){var e=ge.exec(t)||he.exec(t);return e?e[2]!==e[4]||e[4]!==e[6]?null:st({r:Number(e[1])/(e[2]?100/255:1),g:Number(e[3])/(e[4]?100/255:1),b:Number(e[5])/(e[6]?100/255:1),a:e[7]===void 0?1:Number(e[7])/(e[8]?100:1)}):null},"rgb"],[function(t){var e=fe.exec(t)||de.exec(t);if(!e)return null;var n,r,i=dt({h:(n=e[1],r=e[2],r===void 0&&(r="deg"),Number(n)*(se[r]||1)),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return ht(i)},"hsl"]],object:[[function(t){var e=t.r,n=t.g,r=t.b,i=t.a,l=i===void 0?1:i;return _(e)&&_(n)&&_(r)?st({r:Number(e),g:Number(n),b:Number(r),a:Number(l)}):null},"rgb"],[function(t){var e=t.h,n=t.s,r=t.l,i=t.a,l=i===void 0?1:i;if(!_(e)||!_(n)||!_(r))return null;var c=dt({h:Number(e),s:Number(n),l:Number(r),a:Number(l)});return ht(c)},"hsl"],[function(t){var e=t.h,n=t.s,r=t.v,i=t.a,l=i===void 0?1:i;if(!_(e)||!_(n)||!_(r))return null;var c=function(u){return{h:lt(u.h),s:S(u.s,0,100),v:S(u.v,0,100),a:S(u.a)}}({h:Number(e),s:Number(n),v:Number(r),a:Number(l)});return ft(c)},"hsv"]]},mt=function(t,e){for(var n=0;n<e.length;n++){var r=e[n][0](t);if(r)return[r,e[n][1]]}return[null,void 0]},ve=function(t){return typeof t=="string"?mt(t.trim(),vt.string):typeof t=="object"&&t!==null?mt(t,vt.object):[null,void 0]},K=function(t,e){var n=L(t);return{h:n.h,s:S(n.s+100*e,0,100),l:n.l,a:n.a}},X=function(t){return(299*t.r+587*t.g+114*t.b)/1e3/255},pt=function(t,e){var n=L(t);return{h:n.h,s:n.s,l:S(n.l+100*e,0,100),a:n.a}},yt=function(){function t(e){this.parsed=ve(e)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return t.prototype.isValid=function(){return this.parsed!==null},t.prototype.brightness=function(){return v(X(this.rgba),2)},t.prototype.isDark=function(){return X(this.rgba)<.5},t.prototype.isLight=function(){return X(this.rgba)>=.5},t.prototype.toHex=function(){return e=x(this.rgba),n=e.r,r=e.g,i=e.b,c=(l=e.a)<1?A(v(255*l)):"","#"+A(n)+A(r)+A(i)+c;var e,n,r,i,l,c},t.prototype.toRgb=function(){return x(this.rgba)},t.prototype.toRgbString=function(){return e=x(this.rgba),n=e.r,r=e.g,i=e.b,(l=e.a)<1?"rgba("+n+", "+r+", "+i+", "+l+")":"rgb("+n+", "+r+", "+i+")";var e,n,r,i,l},t.prototype.toHsl=function(){return gt(L(this.rgba))},t.prototype.toHslString=function(){return e=gt(L(this.rgba)),n=e.h,r=e.s,i=e.l,(l=e.a)<1?"hsla("+n+", "+r+"%, "+i+"%, "+l+")":"hsl("+n+", "+r+"%, "+i+"%)";var e,n,r,i,l},t.prototype.toHsv=function(){return e=ct(this.rgba),{h:v(e.h),s:v(e.s),v:v(e.v),a:v(e.a,3)};var e},t.prototype.invert=function(){return w({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a});var e},t.prototype.saturate=function(e){return e===void 0&&(e=.1),w(K(this.rgba,e))},t.prototype.desaturate=function(e){return e===void 0&&(e=.1),w(K(this.rgba,-e))},t.prototype.grayscale=function(){return w(K(this.rgba,-1))},t.prototype.lighten=function(e){return e===void 0&&(e=.1),w(pt(this.rgba,e))},t.prototype.darken=function(e){return e===void 0&&(e=.1),w(pt(this.rgba,-e))},t.prototype.rotate=function(e){return e===void 0&&(e=15),this.hue(this.hue()+e)},t.prototype.alpha=function(e){return typeof e=="number"?w({r:(n=this.rgba).r,g:n.g,b:n.b,a:e}):v(this.rgba.a,3);var n},t.prototype.hue=function(e){var n=L(this.rgba);return typeof e=="number"?w({h:e,s:n.s,l:n.l,a:n.a}):v(n.h)},t.prototype.isEqual=function(e){return this.toHex()===w(e).toHex()},t}(),w=function(t){return t instanceof yt?t:new yt(t)};function d(t){return t==null||t==="none"}function N(t,e=0,n=10**e){return Math.round(n*t)/n+0}function O(t,e=!1){if(typeof t!="object"||!t)return t;if(Array.isArray(t))return e?t.map(r=>O(r,e)):t;const n={};for(const r in t){const i=t[r];i!=null&&(e?n[r]=O(i,e):n[r]=i)}return n}function T(t,e){const n={};return e.forEach(r=>{r in t&&(n[r]=t[r])}),n}function bt(t,e,n){const r=e.length-1;if(r<0)return t===void 0?n:t;for(let i=0;i<r;i++){if(t==null)return n;t=t[e[i]]}return t==null||t[e[r]]===void 0?n:t[e[r]]}function St(t,e,n){const r=e.length-1;for(let i=0;i<r;i++)typeof t[e[i]]!="object"&&(t[e[i]]={}),t=t[e[i]];t[e[r]]=n}function Ct(t,e,n){return t==null||!e||typeof e!="string"?n:t[e]!==void 0?t[e]:(e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),bt(t,e.split("."),n))}function wt(t,e,n){if(!(typeof t!="object"||!e))return e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),St(t,e.split("."),n)}class me{_map=new WeakMap;_toRaw(e){if(e&&typeof e=="object"){const n=e.__v_raw;n&&(e=this._toRaw(n))}return e}delete(e){return this._map.delete(this._toRaw(e))}get(e){return this._map.get(this._toRaw(e))}has(e){return this._map.has(this._toRaw(e))}set(e,n){return this._map.set(this._toRaw(e),this._toRaw(n)),this}}function Y(t){let e;return typeof t=="number"?e={r:t>>24&255,g:t>>16&255,b:t>>8&255,a:(t&255)/255}:e=t,w(e)}function pe(t){return{r:N(t.r),g:N(t.g),b:N(t.b),a:N(t.a,3)}}function M(t){const e=t.toString(16);return e.length<2?`0${e}`:e}const G="#000000FF";function zt(t){return Y(t).isValid()}function p(t,e=!1){const n=Y(t);if(!n.isValid()){if(typeof t=="string")return t;const u=`Failed to normalizeColor ${t}`;if(e)throw new Error(u);return console.warn(u),G}const{r,g:i,b:l,a:c}=pe(n.rgba);return`#${M(r)}${M(i)}${M(l)}${M(N(c*255))}`}var $=$||{};$.parse=function(){const t={linearGradient:/^(-(webkit|o|ms|moz)-)?(linear-gradient)/i,repeatingLinearGradient:/^(-(webkit|o|ms|moz)-)?(repeating-linear-gradient)/i,radialGradient:/^(-(webkit|o|ms|moz)-)?(radial-gradient)/i,repeatingRadialGradient:/^(-(webkit|o|ms|moz)-)?(repeating-radial-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest-side|closest-corner|farthest-side|farthest-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?((\d*\.\d+)|(\d+\.?)))px/,percentageValue:/^(-?((\d*\.\d+)|(\d+\.?)))%/,emValue:/^(-?((\d*\.\d+)|(\d+\.?)))em/,angleValue:/^(-?((\d*\.\d+)|(\d+\.?)))deg/,radianValue:/^(-?((\d*\.\d+)|(\d+\.?)))rad/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^#([0-9a-f]+)/i,literalColor:/^([a-z]+)/i,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,varColor:/^var/i,calcValue:/^calc/i,variableName:/^(--[a-z0-9-,\s#]+)/i,number:/^((\d*\.\d+)|(\d+\.?))/,hslColor:/^hsl/i,hslaColor:/^hsla/i};let e="";function n(a){const s=new Error(`${e}: ${a}`);throw s.source=e,s}function r(){const a=i();return e.length>0&&n("Invalid input not EOF"),a}function i(){return B(l)}function l(){return c("linear-gradient",t.linearGradient,g)||c("repeating-linear-gradient",t.repeatingLinearGradient,g)||c("radial-gradient",t.radialGradient,z)||c("repeating-radial-gradient",t.repeatingRadialGradient,z)}function c(a,s,f){return u(s,m=>{const R=f();return R&&(h(t.comma)||n("Missing comma before color stops")),{type:a,orientation:R,colorStops:B(Ee)}})}function u(a,s){const f=h(a);if(f){h(t.startCall)||n("Missing (");const m=s(f);return h(t.endCall)||n("Missing )"),m}}function g(){const a=y();if(a)return a;const s=b("position-keyword",t.positionKeywords,1);return s?{type:"directional",value:s.value}:C()}function y(){return b("directional",t.sideOrCorner,1)}function C(){return b("angular",t.angleValue,1)||b("angular",t.radianValue,1)}function z(){let a,s=D(),f;return s&&(a=[],a.push(s),f=e,h(t.comma)&&(s=D(),s?a.push(s):e=f)),a}function D(){let a=rt()||Re();if(a)a.at=ot();else{const s=it();if(s){a=s;const f=ot();f&&(a.at=f)}else{const f=ot();if(f)a={type:"default-radial",at:f};else{const m=at();m&&(a={type:"default-radial",at:m})}}}return a}function rt(){const a=b("shape",/^(circle)/i,0);return a&&(a.style=le()||it()),a}function Re(){const a=b("shape",/^(ellipse)/i,0);return a&&(a.style=at()||j()||it()),a}function it(){return b("extent-keyword",t.extentKeywords,1)}function ot(){if(b("position",/^at/,0)){const a=at();return a||n("Missing positioning value"),a}}function at(){const a=ke();if(a.x||a.y)return{type:"position",value:a}}function ke(){return{x:j(),y:j()}}function B(a){let s=a();const f=[];if(s)for(f.push(s);h(t.comma);)s=a(),s?f.push(s):n("One extra comma");return f}function Ee(){const a=De();return a||n("Expected color definition"),a.length=j(),a}function De(){return Ge()||Te()||Ae()||Pe()||Ie()||Ve()||Le()}function Le(){return b("literal",t.literalColor,0)}function Ge(){return b("hex",t.hexColor,1)}function Ie(){return u(t.rgbColor,()=>({type:"rgb",value:B(V)}))}function Pe(){return u(t.rgbaColor,()=>({type:"rgba",value:B(V)}))}function Ve(){return u(t.varColor,()=>({type:"var",value:Me()}))}function Ae(){return u(t.hslColor,()=>{h(t.percentageValue)&&n("HSL hue value must be a number in degrees (0-360) or normalized (-360 to 360), not a percentage");const s=V();h(t.comma);let f=h(t.percentageValue);const m=f?f[1]:null;h(t.comma),f=h(t.percentageValue);const R=f?f[1]:null;return(!m||!R)&&n("Expected percentage value for saturation and lightness in HSL"),{type:"hsl",value:[s,m,R]}})}function Te(){return u(t.hslaColor,()=>{const a=V();h(t.comma);let s=h(t.percentageValue);const f=s?s[1]:null;h(t.comma),s=h(t.percentageValue);const m=s?s[1]:null;h(t.comma);const R=V();return(!f||!m)&&n("Expected percentage value for saturation and lightness in HSLA"),{type:"hsla",value:[a,f,m,R]}})}function Me(){return h(t.variableName)[1]}function V(){return h(t.number)[1]}function j(){return b("%",t.percentageValue,1)||$e()||He()||le()}function $e(){return b("position-keyword",t.positionKeywords,1)}function He(){return u(t.calcValue,()=>{let a=1,s=0;for(;a>0&&s<e.length;){const m=e.charAt(s);m==="("?a++:m===")"&&a--,s++}a>0&&n("Missing closing parenthesis in calc() expression");const f=e.substring(0,s-1);return ut(s-1),{type:"calc",value:f}})}function le(){return b("px",t.pixelValue,1)||b("em",t.emValue,1)}function b(a,s,f){const m=h(s);if(m)return{type:a,value:m[f]}}function h(a){let s,f;return f=/^\s+/.exec(e),f&&ut(f[0].length),s=a.exec(e),s&&ut(s[0].length),s}function ut(a){e=e.substr(a)}return function(a){return e=a.toString().trim(),e.endsWith(";")&&(e=e.slice(0,-1)),r()}}();const _t=$.parse.bind($);var H=H||{};H.stringify=function(){var t={"visit_linear-gradient":function(e){return t.visit_gradient(e)},"visit_repeating-linear-gradient":function(e){return t.visit_gradient(e)},"visit_radial-gradient":function(e){return t.visit_gradient(e)},"visit_repeating-radial-gradient":function(e){return t.visit_gradient(e)},visit_gradient:function(e){var n=t.visit(e.orientation);return n&&(n+=", "),e.type+"("+n+t.visit(e.colorStops)+")"},visit_shape:function(e){var n=e.value,r=t.visit(e.at),i=t.visit(e.style);return i&&(n+=" "+i),r&&(n+=" at "+r),n},"visit_default-radial":function(e){var n="",r=t.visit(e.at);return r&&(n+=r),n},"visit_extent-keyword":function(e){var n=e.value,r=t.visit(e.at);return r&&(n+=" at "+r),n},"visit_position-keyword":function(e){return e.value},visit_position:function(e){return t.visit(e.value.x)+" "+t.visit(e.value.y)},"visit_%":function(e){return e.value+"%"},visit_em:function(e){return e.value+"em"},visit_px:function(e){return e.value+"px"},visit_calc:function(e){return"calc("+e.value+")"},visit_literal:function(e){return t.visit_color(e.value,e)},visit_hex:function(e){return t.visit_color("#"+e.value,e)},visit_rgb:function(e){return t.visit_color("rgb("+e.value.join(", ")+")",e)},visit_rgba:function(e){return t.visit_color("rgba("+e.value.join(", ")+")",e)},visit_hsl:function(e){return t.visit_color("hsl("+e.value[0]+", "+e.value[1]+"%, "+e.value[2]+"%)",e)},visit_hsla:function(e){return t.visit_color("hsla("+e.value[0]+", "+e.value[1]+"%, "+e.value[2]+"%, "+e.value[3]+")",e)},visit_var:function(e){return t.visit_color("var("+e.value+")",e)},visit_color:function(e,n){var r=e,i=t.visit(n.length);return i&&(r+=" "+i),r},visit_angular:function(e){return e.value+"deg"},visit_directional:function(e){return"to "+e.value},visit_array:function(e){var n="",r=e.length;return e.forEach(function(i,l){n+=t.visit(i),l<r-1&&(n+=", ")}),n},visit_object:function(e){return e.width&&e.height?t.visit(e.width)+" "+t.visit(e.height):""},visit:function(e){if(!e)return"";if(e instanceof Array)return t.visit_array(e);if(typeof e=="object"&&!e.type)return t.visit_object(e);if(e.type){var n=t["visit_"+e.type];if(n)return n(e);throw Error("Missing visitor visit_"+e.type)}else throw Error("Invalid node.")}};return function(e){return t.visit(e)}}();const ye=H.stringify.bind(H);function Ft(t){const e=t.length-1;return t.map((n,r)=>{const i=n.value;let l=N(r/e,3),c="#00000000";switch(n.type){case"rgb":c=p({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0)});break;case"rgba":c=p({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0),a:Number(i[3]??0)});break;case"literal":c=p(n.value);break;case"hex":c=p(`#${n.value}`);break}switch(n.length?.type){case"%":l=Number(n.length.value)/100;break}return{offset:l,color:c}})}function Nt(t){let e=0;switch(t.orientation?.type){case"angular":e=Number(t.orientation.value);break}return{type:"linear-gradient",angle:e,stops:Ft(t.colorStops)}}function Ot(t){return t.orientation?.map(e=>{switch(e?.type){case"shape":case"default-radial":case"extent-keyword":default:return null}}),{type:"radial-gradient",stops:Ft(t.colorStops)}}function I(t){return t.startsWith("linear-gradient(")||t.startsWith("radial-gradient(")}function Rt(t){return _t(t).map(e=>{switch(e?.type){case"linear-gradient":return Nt(e);case"repeating-linear-gradient":return{...Nt(e),repeat:!0};case"radial-gradient":return Ot(e);case"repeating-radial-gradient":return{...Ot(e),repeat:!0};default:return}}).filter(Boolean)}function kt(t){let e;return typeof t=="string"?e={color:t}:e=t,{color:p(e.color)}}function Et(t){let e;if(typeof t=="string"?e={image:t}:e=t,e.image){const{type:n,...r}=Rt(e.image)[0]??{};switch(n){case"radial-gradient":return{radialGradient:r};case"linear-gradient":return{linearGradient:r}}}return e}function Dt(t){let e;return typeof t=="string"?e={image:t}:e=t,e}function Lt(t){let e;return typeof t=="string"?e={preset:t}:e=t,{preset:e.preset,foregroundColor:d(e.foregroundColor)?void 0:p(e.foregroundColor),backgroundColor:d(e.backgroundColor)?void 0:p(e.backgroundColor)}}function Gt(t){return!d(t.color)}function It(t){return typeof t=="string"?zt(t):Gt(t)}function Pt(t){return!d(t.image)&&I(t.image)||!!t.linearGradient||!!t.radialGradient}function Vt(t){return typeof t=="string"?I(t):Pt(t)}function At(t){return!d(t.image)&&!I(t.image)}function Tt(t){return typeof t=="string"?!I(t):At(t)}function Mt(t){return!d(t.preset)}function $t(t){return typeof t=="string"?!1:Mt(t)}function F(t){return It(t)?kt(t):Vt(t)?Et(t):Tt(t)?Dt(t):$t(t)?Lt(t):{}}function Ht(t){return typeof t=="string"?{...F(t)}:{...F(t),...T(t,["fillWithShape"])}}const U=Symbol("properties");function q(t){const e=Object.getPrototypeOf(t);let n;return e&&Object.hasOwn(e,U)?n=e[U]:(n=new Map(e?q(e):void 0),e&&(e[U]=n)),n}function Z(t,e={}){const n=Symbol.for(t),{fallback:r,alias:i}=e,l={declaration:e,internalKey:n},c=()=>typeof r=="function"?r():r;return{get(){let u;return i&&i!==t?u=Ct(this,i):typeof this.getter<"u"?u=this.getter(t,l):u=this[n],u??c()},set(u){i&&i!==t?wt(this,i,u):typeof this.setter<"u"?this.setter(t,u,l):this[n]=u}}}function be(t,e,n={}){const r=Z(e,n);Object.defineProperty(t.prototype,e,{get(){return r.get.call(this)},set(i){const l=r.get?.call(this);r.set.call(this,i),this.onUpdateProperty?.(e,i,l,n)},configurable:!0,enumerable:!0})}function Se(t={}){return function(e,n){const r=n.name;if(typeof r!="string")throw new TypeError("Failed to @property decorator, prop name cannot be a symbol");const i=Z(r,t);return{init(l){return q(this).set(r,t),i.set.call(this,l),l},get(){return i.get.call(this)},set(l){const c=i.get?.call(this);i.set.call(this,l),this.onUpdateProperty?.(r,l,c,t)}}}}function J(){return{color:G,offsetX:0,offsetY:0,blurRadius:1}}function Q(t){return{...J(),...O({...t,color:d(t.color)?G:p(t.color)})}}function Wt(){return{...J(),scaleX:1,scaleY:1}}function Bt(t){return{...Wt(),...Q(t)}}function Ce(t){return t}function jt(t){return O({...t,softEdge:d(t.softEdge)?void 0:t.softEdge,outerShadow:d(t.outerShadow)?void 0:Bt(t.outerShadow),innerShadow:d(t.innerShadow)?void 0:Q(t.innerShadow)})}function xt(t){return typeof t=="string"?{...F(t)}:{...F(t),...T(t,["fillWithShape"])}}function Kt(t){return typeof t=="string"?{...F(t)}:{...F(t),...T(t,["width","style","headEnd","tailEnd"])}}function Xt(t){return typeof t=="string"?{color:p(t)}:{...t,color:d(t.color)?G:p(t.color)}}function Yt(){return{boxShadow:"none"}}function Ut(t){return typeof t=="string"?t.startsWith("<svg")?{svg:t}:{paths:[{data:t}]}:Array.isArray(t)?{paths:t.map(e=>typeof e=="string"?{data:e}:e)}:t}function qt(){return{overflow:"visible",direction:void 0,display:void 0,boxSizing:void 0,width:void 0,height:void 0,maxHeight:void 0,maxWidth:void 0,minHeight:void 0,minWidth:void 0,position:void 0,left:0,top:0,right:void 0,bottom:void 0,borderTop:void 0,borderLeft:void 0,borderRight:void 0,borderBottom:void 0,borderWidth:0,border:void 0,flex:void 0,flexBasis:void 0,flexDirection:void 0,flexGrow:void 0,flexShrink:void 0,flexWrap:void 0,justifyContent:void 0,gap:void 0,alignContent:void 0,alignItems:void 0,alignSelf:void 0,marginTop:void 0,marginLeft:void 0,marginRight:void 0,marginBottom:void 0,margin:void 0,paddingTop:void 0,paddingLeft:void 0,paddingRight:void 0,paddingBottom:void 0,padding:void 0}}function Zt(){return{rotate:0,scaleX:1,scaleY:1,skewX:0,skewY:0,translateX:0,translateY:0,transform:"none",transformOrigin:"center"}}function Jt(){return{...qt(),...Zt(),...Yt(),backgroundImage:"none",backgroundSize:"auto, auto",backgroundColor:"none",backgroundColormap:"none",borderRadius:0,borderColor:"none",borderStyle:"solid",outlineWidth:0,outlineOffset:0,outlineColor:"rgb(0, 0, 0)",outlineStyle:"none",visibility:"visible",filter:"none",opacity:1,pointerEvents:"auto",maskImage:"none"}}function Qt(){return{highlight:{},highlightImage:"none",highlightReferImage:"none",highlightColormap:"none",highlightLine:"none",highlightSize:"cover",highlightThickness:"100%"}}function te(){return{listStyle:{},listStyleType:"none",listStyleImage:"none",listStyleColormap:"none",listStyleSize:"cover",listStylePosition:"outside"}}function ee(){return{...Qt(),color:"rgb(0, 0, 0)",verticalAlign:"baseline",letterSpacing:0,wordSpacing:0,fontSize:14,fontWeight:"normal",fontFamily:"",fontStyle:"normal",fontKerning:"normal",textTransform:"none",textOrientation:"mixed",textDecoration:"none"}}function ne(){return{...te(),writingMode:"horizontal-tb",textWrap:"wrap",textAlign:"start",textIndent:0,lineHeight:1.2}}function re(){return{...ne(),...ee(),textStrokeWidth:0,textStrokeColor:"rgb(0, 0, 0)"}}function E(t){return O({...t,color:d(t.color)?void 0:p(t.color),backgroundColor:d(t.backgroundColor)?void 0:p(t.backgroundColor),borderColor:d(t.borderColor)?void 0:p(t.borderColor),outlineColor:d(t.outlineColor)?void 0:p(t.outlineColor),shadowColor:d(t.shadowColor)?void 0:p(t.shadowColor)})}function we(){return{...Jt(),...re()}}const tt=/\r\n|\n\r|\n|\r/,ze=new RegExp(`${tt.source}|<br\\/>`,"g"),_e=new RegExp(`^(${tt.source})$`),W=`
2
+ `;function Fe(t){return tt.test(t)}function et(t){return _e.test(t)}function ie(t){return t.replace(ze,W)}function oe(t,e){const n=Array.from(new Set([...Object.keys(t),...Object.keys(e)]));return!n.length||n.every(r=>t[r]===e[r])}function P(t){const e=[];function n(){return e[e.length-1]}function r(u={}){let g=e[e.length-1];return g?.fragments.length===0?(g={...u,fragments:[]},e[e.length-1]=g):(g={...u,fragments:[]},e.push(g)),g}function i(u="",g={}){Array.from(u).forEach(y=>{if(et(y)){const{fragments:C,...z}=n()||r();C.length||C.push({...g,content:W}),r(z)}else{const C=n()||r(),z=C.fragments[C.fragments.length-1];if(z){const{content:D,...rt}=z;if(oe(g,rt)){z.content=`${D}${y}`;return}}C.fragments.push({...g,content:y})}})}(Array.isArray(t)?t:[t]).forEach(u=>{if(typeof u=="string")r(),i(u);else if("content"in u){const{content:g,...y}=u;r(E(y)),i(g)}else if("fragments"in u){const{fragments:g,...y}=u;r(E(y)),g.forEach(C=>{const{content:z,...D}=C;i(z,E(D))})}else Array.isArray(u)?(r(),u.forEach(g=>{if(typeof g=="string")i(g);else{const{content:y,...C}=g;i(y,E(C))}})):console.warn("Failed to parse text content",u)});const c=n();return c&&!c.fragments.length&&c.fragments.push({content:W}),e}function ae(t){return typeof t=="string"?{content:P(t)}:"content"in t?{...t,content:P(t.content)}:{content:P(t)}}function Ne(t){return P(t).map(e=>{const n=ie(e.fragments.flatMap(r=>r.content).join(""));return et(n)?"":n}).join(W)}function ue(t){return typeof t=="string"?{src:t}:t}function nt(t){return O({...t,style:d(t.style)?void 0:E(t.style),text:d(t.text)?void 0:ae(t.text),background:d(t.background)?void 0:Ht(t.background),shape:d(t.shape)?void 0:Ut(t.shape),fill:d(t.fill)?void 0:F(t.fill),outline:d(t.outline)?void 0:Kt(t.outline),foreground:d(t.foreground)?void 0:xt(t.foreground),shadow:d(t.shadow)?void 0:Xt(t.shadow),video:d(t.video)?void 0:ue(t.video),audio:d(t.audio)?void 0:k(t.audio),effect:d(t.effect)?void 0:jt(t.effect),children:t.children?.map(e=>nt(e))})}function Oe(t){return nt(t)}o.RawWeakMap=me,o.clearUndef=O,o.defaultColor=G,o.defineProperty=be,o.getDeclarations=q,o.getDefaultElementStyle=Jt,o.getDefaultHighlightStyle=Qt,o.getDefaultInnerShadow=J,o.getDefaultLayoutStyle=qt,o.getDefaultListStyleStyle=te,o.getDefaultOuterShadow=Wt,o.getDefaultShadowStyle=Yt,o.getDefaultStyle=we,o.getDefaultTextInlineStyle=ee,o.getDefaultTextLineStyle=ne,o.getDefaultTextStyle=re,o.getDefaultTransformStyle=Zt,o.getNestedValue=bt,o.getObjectValueByPath=Ct,o.getPropertyDescriptor=Z,o.hasCRLF=Fe,o.isCRLF=et,o.isColor=zt,o.isColorFill=It,o.isColorFillObject=Gt,o.isEqualStyle=oe,o.isGradient=I,o.isGradientFill=Vt,o.isGradientFillObject=Pt,o.isImageFill=Tt,o.isImageFillObject=At,o.isNone=d,o.isPresetFill=$t,o.isPresetFillObject=Mt,o.normalizeAudio=k,o.normalizeBackground=Ht,o.normalizeCRLF=ie,o.normalizeColor=p,o.normalizeColorFill=kt,o.normalizeDocument=Oe,o.normalizeEffect=jt,o.normalizeElement=nt,o.normalizeFill=F,o.normalizeForeground=xt,o.normalizeGradient=Rt,o.normalizeGradientFill=Et,o.normalizeImageFill=Dt,o.normalizeInnerShadow=Q,o.normalizeOuterShadow=Bt,o.normalizeOutline=Kt,o.normalizePresetFill=Lt,o.normalizeShadow=Xt,o.normalizeShape=Ut,o.normalizeSoftEdge=Ce,o.normalizeStyle=E,o.normalizeText=ae,o.normalizeTextContent=P,o.normalizeVideo=ue,o.parseColor=Y,o.parseGradient=_t,o.pick=T,o.property=Se,o.round=N,o.setNestedValue=St,o.setObjectValueByPath=wt,o.stringifyGradient=ye,o.textContentToString=Ne,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
package/dist/index.mjs CHANGED
@@ -912,7 +912,7 @@ function getPropertyDescriptor(key, declaration = {}) {
912
912
  const getFallbackValue = () => {
913
913
  return typeof fallback === "function" ? fallback() : fallback;
914
914
  };
915
- const descriptor = {
915
+ return {
916
916
  get() {
917
917
  let result;
918
918
  if (alias && alias !== key) {
@@ -927,7 +927,6 @@ function getPropertyDescriptor(key, declaration = {}) {
927
927
  return result ?? getFallbackValue();
928
928
  },
929
929
  set(newValue) {
930
- const oldValue = descriptor.get?.call(this);
931
930
  if (alias && alias !== key) {
932
931
  setObjectValueByPath(this, alias, newValue);
933
932
  } else {
@@ -937,10 +936,8 @@ function getPropertyDescriptor(key, declaration = {}) {
937
936
  this[internalKey] = newValue;
938
937
  }
939
938
  }
940
- this.onUpdateProperty?.(key, newValue, oldValue, declaration);
941
939
  }
942
940
  };
943
- return descriptor;
944
941
  }
945
942
  function defineProperty(target, key, declaration = {}) {
946
943
  const descriptor = getPropertyDescriptor(key, declaration);
@@ -949,7 +946,9 @@ function defineProperty(target, key, declaration = {}) {
949
946
  return descriptor.get.call(this);
950
947
  },
951
948
  set(newValue) {
949
+ const oldValue = descriptor.get?.call(this);
952
950
  descriptor.set.call(this, newValue);
951
+ this.onUpdateProperty?.(key, newValue, oldValue, declaration);
953
952
  },
954
953
  configurable: true,
955
954
  enumerable: true
@@ -972,7 +971,9 @@ function property(declaration = {}) {
972
971
  return descriptor.get.call(this);
973
972
  },
974
973
  set(newValue) {
974
+ const oldValue = descriptor.get?.call(this);
975
975
  descriptor.set.call(this, newValue);
976
+ this.onUpdateProperty?.(key, newValue, oldValue, declaration);
976
977
  }
977
978
  };
978
979
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "modern-idoc",
3
3
  "type": "module",
4
- "version": "0.7.0",
4
+ "version": "0.7.1",
5
5
  "packageManager": "pnpm@9.15.1",
6
6
  "description": "Intermediate document for modern codec libs",
7
7
  "author": "wxm",