modern-idoc 0.10.7 → 0.10.8

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
@@ -1559,7 +1559,7 @@ function getDefaultElementStyle() {
1559
1559
  // outline
1560
1560
  outlineWidth: 0,
1561
1561
  outlineOffset: 0,
1562
- outlineColor: "rgb(0, 0, 0)",
1562
+ outlineColor: "none",
1563
1563
  outlineStyle: "none",
1564
1564
  // other
1565
1565
  visibility: "visible",
@@ -1596,7 +1596,7 @@ function getDefaultListStyleStyle() {
1596
1596
  function getDefaultTextInlineStyle() {
1597
1597
  return {
1598
1598
  ...getDefaultHighlightStyle(),
1599
- color: "rgb(0, 0, 0)",
1599
+ color: "#000000",
1600
1600
  verticalAlign: "baseline",
1601
1601
  letterSpacing: 0,
1602
1602
  wordSpacing: 0,
@@ -1630,7 +1630,7 @@ function getDefaultTextStyle() {
1630
1630
  ...getDefaultTextInlineStyle(),
1631
1631
  // textStroke
1632
1632
  textStrokeWidth: 0,
1633
- textStrokeColor: "rgb(0, 0, 0)"
1633
+ textStrokeColor: "none"
1634
1634
  };
1635
1635
  }
1636
1636
 
@@ -1641,7 +1641,8 @@ function normalizeStyle(style) {
1641
1641
  backgroundColor: isNone(style.backgroundColor) ? void 0 : normalizeColor(style.backgroundColor),
1642
1642
  borderColor: isNone(style.borderColor) ? void 0 : normalizeColor(style.borderColor),
1643
1643
  outlineColor: isNone(style.outlineColor) ? void 0 : normalizeColor(style.outlineColor),
1644
- shadowColor: isNone(style.shadowColor) ? void 0 : normalizeColor(style.shadowColor)
1644
+ shadowColor: isNone(style.shadowColor) ? void 0 : normalizeColor(style.shadowColor),
1645
+ textStrokeColor: isNone(style.textStrokeColor) ? void 0 : normalizeColor(style.textStrokeColor)
1645
1646
  });
1646
1647
  }
1647
1648
  function getDefaultStyle() {
package/dist/index.d.cts CHANGED
@@ -670,10 +670,10 @@ declare function getDefaultTextLineStyle(): NormalizedTextLineStyle;
670
670
 
671
671
  interface NormalizedTextDrawStyle {
672
672
  textStrokeWidth: number;
673
- textStrokeColor: NormalizedColor;
673
+ textStrokeColor: WithStyleNone<NormalizedColor>;
674
674
  }
675
675
  type NormalizedTextStyle = NormalizedTextLineStyle & NormalizedTextInlineStyle & NormalizedTextDrawStyle;
676
- declare function getDefaultTextStyle(): Required<NormalizedTextStyle>;
676
+ declare function getDefaultTextStyle(): NormalizedTextStyle;
677
677
 
678
678
  type FullStyle = NormalizedTextStyle & NormalizedElementStyle;
679
679
  type NormalizedStyle = Partial<FullStyle>;
package/dist/index.d.mts CHANGED
@@ -670,10 +670,10 @@ declare function getDefaultTextLineStyle(): NormalizedTextLineStyle;
670
670
 
671
671
  interface NormalizedTextDrawStyle {
672
672
  textStrokeWidth: number;
673
- textStrokeColor: NormalizedColor;
673
+ textStrokeColor: WithStyleNone<NormalizedColor>;
674
674
  }
675
675
  type NormalizedTextStyle = NormalizedTextLineStyle & NormalizedTextInlineStyle & NormalizedTextDrawStyle;
676
- declare function getDefaultTextStyle(): Required<NormalizedTextStyle>;
676
+ declare function getDefaultTextStyle(): NormalizedTextStyle;
677
677
 
678
678
  type FullStyle = NormalizedTextStyle & NormalizedElementStyle;
679
679
  type NormalizedStyle = Partial<FullStyle>;
package/dist/index.d.ts CHANGED
@@ -670,10 +670,10 @@ declare function getDefaultTextLineStyle(): NormalizedTextLineStyle;
670
670
 
671
671
  interface NormalizedTextDrawStyle {
672
672
  textStrokeWidth: number;
673
- textStrokeColor: NormalizedColor;
673
+ textStrokeColor: WithStyleNone<NormalizedColor>;
674
674
  }
675
675
  type NormalizedTextStyle = NormalizedTextLineStyle & NormalizedTextInlineStyle & NormalizedTextDrawStyle;
676
- declare function getDefaultTextStyle(): Required<NormalizedTextStyle>;
676
+ declare function getDefaultTextStyle(): NormalizedTextStyle;
677
677
 
678
678
  type FullStyle = NormalizedTextStyle & NormalizedElementStyle;
679
679
  type NormalizedStyle = Partial<FullStyle>;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- (function(o,j){typeof exports=="object"&&typeof module<"u"?j(exports):typeof define=="function"&&define.amd?define(["exports"],j):(o=typeof globalThis<"u"?globalThis:o||self,j(o.modernIdoc={}))})(this,(function(o){"use strict";function j(t){return typeof t=="string"?{src:t}:t}var Ce={grad:.9,turn:360,rad:360/(2*Math.PI)},D=function(t){return typeof t=="string"?t.length>0:typeof t=="number"},v=function(t,e,r){return e===void 0&&(e=0),r===void 0&&(r=Math.pow(10,e)),Math.round(r*t)/r+0},z=function(t,e,r){return e===void 0&&(e=0),r===void 0&&(r=1),t>r?r:t>e?t:e},yt=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},bt=function(t){return{r:z(t.r,0,255),g:z(t.g,0,255),b:z(t.b,0,255),a:z(t.a)}},rt=function(t){return{r:v(t.r),g:v(t.g),b:v(t.b),a:v(t.a,3)}},we=/^#([0-9a-f]{3,8})$/i,q=function(t){var e=t.toString(16);return e.length<2?"0"+e:e},St=function(t){var e=t.r,r=t.g,n=t.b,i=t.a,a=Math.max(e,r,n),s=a-Math.min(e,r,n),u=s?a===e?(r-n)/s:a===r?2+(n-e)/s:4+(e-r)/s:0;return{h:60*(u<0?u+6:u),s:a?s/a*100:0,v:a/255*100,a:i}},_t=function(t){var e=t.h,r=t.s,n=t.v,i=t.a;e=e/360*6,r/=100,n/=100;var a=Math.floor(e),s=n*(1-r),u=n*(1-(e-a)*r),f=n*(1-(1-e+a)*r),g=a%6;return{r:255*[n,u,s,s,f,n][g],g:255*[f,n,n,u,s,s][g],b:255*[s,s,f,n,n,u][g],a:i}},Ct=function(t){return{h:yt(t.h),s:z(t.s,0,100),l:z(t.l,0,100),a:z(t.a)}},wt=function(t){return{h:v(t.h),s:v(t.s),l:v(t.l),a:v(t.a,3)}},Pt=function(t){return _t((r=(e=t).s,{h:e.h,s:(r*=((n=e.l)<50?n:100-n)/100)>0?2*r/(n+r)*100:0,v:n+r,a:e.a}));var e,r,n},V=function(t){return{h:(e=St(t)).h,s:(i=(200-(r=e.s))*(n=e.v)/100)>0&&i<200?r*n/100/(i<=100?i:200-i)*100:0,l:i/2,a:e.a};var e,r,n,i},Pe=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ze=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Oe=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Ee=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,zt={string:[[function(t){var e=we.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=Oe.exec(t)||Ee.exec(t);return e?e[2]!==e[4]||e[4]!==e[6]?null:bt({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=Pe.exec(t)||ze.exec(t);if(!e)return null;var r,n,i=Ct({h:(r=e[1],n=e[2],n===void 0&&(n="deg"),Number(r)*(Ce[n]||1)),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return Pt(i)},"hsl"]],object:[[function(t){var e=t.r,r=t.g,n=t.b,i=t.a,a=i===void 0?1:i;return D(e)&&D(r)&&D(n)?bt({r:Number(e),g:Number(r),b:Number(n),a:Number(a)}):null},"rgb"],[function(t){var e=t.h,r=t.s,n=t.l,i=t.a,a=i===void 0?1:i;if(!D(e)||!D(r)||!D(n))return null;var s=Ct({h:Number(e),s:Number(r),l:Number(n),a:Number(a)});return Pt(s)},"hsl"],[function(t){var e=t.h,r=t.s,n=t.v,i=t.a,a=i===void 0?1:i;if(!D(e)||!D(r)||!D(n))return null;var s=(function(u){return{h:yt(u.h),s:z(u.s,0,100),v:z(u.v,0,100),a:z(u.a)}})({h:Number(e),s:Number(r),v:Number(n),a:Number(a)});return _t(s)},"hsv"]]},Ot=function(t,e){for(var r=0;r<e.length;r++){var n=e[r][0](t);if(n)return[n,e[r][1]]}return[null,void 0]},Fe=function(t){return typeof t=="string"?Ot(t.trim(),zt.string):typeof t=="object"&&t!==null?Ot(t,zt.object):[null,void 0]},nt=function(t,e){var r=V(t);return{h:r.h,s:z(r.s+100*e,0,100),l:r.l,a:r.a}},it=function(t){return(299*t.r+587*t.g+114*t.b)/1e3/255},Et=function(t,e){var r=V(t);return{h:r.h,s:r.s,l:z(r.l+100*e,0,100),a:r.a}},Ft=(function(){function t(e){this.parsed=Fe(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(it(this.rgba),2)},t.prototype.isDark=function(){return it(this.rgba)<.5},t.prototype.isLight=function(){return it(this.rgba)>=.5},t.prototype.toHex=function(){return e=rt(this.rgba),r=e.r,n=e.g,i=e.b,s=(a=e.a)<1?q(v(255*a)):"","#"+q(r)+q(n)+q(i)+s;var e,r,n,i,a,s},t.prototype.toRgb=function(){return rt(this.rgba)},t.prototype.toRgbString=function(){return e=rt(this.rgba),r=e.r,n=e.g,i=e.b,(a=e.a)<1?"rgba("+r+", "+n+", "+i+", "+a+")":"rgb("+r+", "+n+", "+i+")";var e,r,n,i,a},t.prototype.toHsl=function(){return wt(V(this.rgba))},t.prototype.toHslString=function(){return e=wt(V(this.rgba)),r=e.h,n=e.s,i=e.l,(a=e.a)<1?"hsla("+r+", "+n+"%, "+i+"%, "+a+")":"hsl("+r+", "+n+"%, "+i+"%)";var e,r,n,i,a},t.prototype.toHsv=function(){return e=St(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 L({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),L(nt(this.rgba,e))},t.prototype.desaturate=function(e){return e===void 0&&(e=.1),L(nt(this.rgba,-e))},t.prototype.grayscale=function(){return L(nt(this.rgba,-1))},t.prototype.lighten=function(e){return e===void 0&&(e=.1),L(Et(this.rgba,e))},t.prototype.darken=function(e){return e===void 0&&(e=.1),L(Et(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"?L({r:(r=this.rgba).r,g:r.g,b:r.b,a:e}):v(this.rgba.a,3);var r},t.prototype.hue=function(e){var r=V(this.rgba);return typeof e=="number"?L({h:e,s:r.s,l:r.l,a:r.a}):v(r.h)},t.prototype.isEqual=function(e){return this.toHex()===L(e).toHex()},t})(),L=function(t){return t instanceof Ft?t:new Ft(t)};class Le{eventListeners=new Map;addEventListener(e,r,n){const i={value:r,options:n},a=this.eventListeners.get(e);return a?Array.isArray(a)?a.push(i):this.eventListeners.set(e,[a,i]):this.eventListeners.set(e,i),this}removeEventListener(e,r,n){if(!r)return this.eventListeners.delete(e),this;const i=this.eventListeners.get(e);if(!i)return this;if(Array.isArray(i)){const a=[];for(let s=0,u=i.length;s<u;s++){const f=i[s];(f.value!==r||typeof n=="object"&&n?.once&&(typeof f.options=="boolean"||!f.options?.once))&&a.push(f)}a.length?this.eventListeners.set(e,a.length===1?a[0]:a):this.eventListeners.delete(e)}else i.value===r&&(typeof n=="boolean"||!n?.once||typeof i.options=="boolean"||i.options?.once)&&this.eventListeners.delete(e);return this}removeAllListeners(){return this.eventListeners.clear(),this}hasEventListener(e){return this.eventListeners.has(e)}dispatchEvent(e,...r){const n=this.eventListeners.get(e);if(n){if(Array.isArray(n))for(let i=n.length,a=0;a<i;a++){const s=n[a];typeof s.options=="object"&&s.options?.once&&this.off(e,s.value,s.options),s.value.apply(this,r)}else typeof n.options=="object"&&n.options?.once&&this.off(e,n.value,n.options),n.value.apply(this,r);return!0}else return!1}on(e,r,n){return this.addEventListener(e,r,n)}once(e,r){return this.addEventListener(e,r,{once:!0})}off(e,r,n){return this.removeEventListener(e,r,n)}emit(e,...r){this.dispatchEvent(e,...r)}}function h(t){return t==null||t===""||t==="none"}function A(t,e=0,r=10**e){return Math.round(r*t)/r+0}function _(t,e=!1){if(typeof t!="object"||!t)return t;if(Array.isArray(t))return e?t.map(n=>_(n,e)):t;const r={};for(const n in t){const i=t[n];i!=null&&(e?r[n]=_(i,e):r[n]=i)}return r}function N(t,e){const r={};return e.forEach(n=>{n in t&&(r[n]=t[n])}),r}function J(t,e){if(t===e)return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){const r=Array.from(new Set([...Object.keys(t),...Object.keys(e)]));return!r.length||r.every(n=>t[n]===e[n])}return!1}function Lt(t,e,r){const n=e.length-1;if(n<0)return t===void 0?r:t;for(let i=0;i<n;i++){if(t==null)return r;t=t[e[i]]}return t==null||t[e[n]]===void 0?r:t[e[n]]}function Dt(t,e,r){const n=e.length-1;for(let i=0;i<n;i++)typeof t[e[i]]!="object"&&(t[e[i]]={}),t=t[e[i]];t[e[n]]=r}function At(t,e,r){return t==null||!e||typeof e!="string"?r:t[e]!==void 0?t[e]:(e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),Lt(t,e.split("."),r))}function Nt(t,e,r){if(!(typeof t!="object"||!e))return e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),Dt(t,e.split("."),r)}class Rt{_observers=new Map;on(e,r){let n=this._observers.get(e);return n===void 0&&this._observers.set(e,n=new Set),n.add(r),this}once(e,r){const n=(...i)=>{this.off(e,n),r(...i)};return this.on(e,n),this}off(e,r){const n=this._observers.get(e);return n!==void 0&&(n.delete(r),n.size===0&&this._observers.delete(e)),this}emit(e,...r){return Array.from((this._observers.get(e)||new Map).values()).forEach(n=>n(...r)),this}destroy(){this._observers=new Map}}class De{_map=new WeakMap;_toRaw(e){if(e&&typeof e=="object"){const r=e.__v_raw;r&&(e=this._toRaw(r))}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,r){return this._map.set(this._toRaw(e),this._toRaw(r)),this}}const ot=Symbol("properties"),X=Symbol("inited");function $(t){let e;if(Object.hasOwn(t,ot))e=t[ot];else{const r=Object.getPrototypeOf(t);e=new Map(r?$(r):void 0),t[ot]=e}return e}function at(t,e,r,n){const{alias:i,internalKey:a}=n,s=t[e];i?Nt(t,i,r):t[a]=r,t.onUpdateProperty?.(e,r??k(t,e,n),s)}function st(t,e,r){const{alias:n,internalKey:i}=r;let a;return n?a=At(t,n):a=t[i],a=a??k(t,e,r),a}function k(t,e,r){const{default:n,fallback:i}=r;let a;if(n!==void 0&&!t[X]?.[e]){t[X]||(t[X]={}),t[X][e]=!0;const s=typeof n=="function"?n():n;s!==void 0&&(t[e]=s,a=s)}return a===void 0&&i!==void 0&&(a=typeof i=="function"?i():i),a}function lt(t,e){function r(){return typeof this.getProperty<"u"?this.getProperty(t):st(this,t,e)}function n(i){typeof this.setProperty<"u"?this.setProperty(t,i):at(this,t,i,e)}return{get:r,set:n}}function Gt(t,e,r={}){const n={...r,internalKey:Symbol(e)};$(t).set(e,n);const i=lt(e,n);Object.defineProperty(t.prototype,e,{get(){return i.get.call(this)},set(a){i.set.call(this,a)},configurable:!0,enumerable:!0})}function Ae(t){return function(e,r){if(typeof r!="string")throw new TypeError("Failed to @property decorator, prop name cannot be a symbol");Gt(e.constructor,r,t)}}function Ne(t={}){return function(e,r){const n=r.name;if(typeof n!="string")throw new TypeError("Failed to @property decorator, prop name cannot be a symbol");const i={...t,internalKey:Symbol(n)},a=lt(n,i);return{init(s){return $(this.constructor).set(n,i),a.set.call(this,s),s},get(){return a.get.call(this)},set(s){a.set.call(this,s)}}}}class Re extends Rt{_propertyAccessor;_properties=new Map;_updatedProperties=new Map;_changedProperties=new Set;_updatingPromise=Promise.resolve();_updating=!1;constructor(e){super(),this.setProperties(e)}isDirty(e){return e?this._updatedProperties.has(e):this._updatedProperties.size>0}getProperty(e){const r=this.getPropertyDeclaration(e);if(r){if(r.internal||r.alias)return st(this,e,r);{let n;return this._propertyAccessor?.getProperty?n=this._propertyAccessor.getProperty(e):n=this._properties.get(e),n??k(this,e,r)}}}setProperty(e,r){const n=this.getPropertyDeclaration(e);if(n)if(n.internal||n.alias)at(this,e,r,n);else{const i=this.getProperty(e);this._propertyAccessor?.setProperty?.(e,r),this._properties.set(e,r),this.onUpdateProperty?.(e,r??k(this,e,n),i)}}getProperties(e){const r={};for(const[n,i]of this.getPropertyDeclarations())!i.internal&&!i.alias&&(!e||e.includes(n))&&(r[n]=this.getProperty(n));return r}setProperties(e){if(e&&typeof e=="object")for(const r in e)this.setProperty(r,e[r]);return this}resetProperties(){for(const[e,r]of this.getPropertyDeclarations())this.setProperty(e,typeof r.default=="function"?r.default():r.default);return this}getPropertyDeclarations(){return $(this.constructor)}getPropertyDeclaration(e){return this.getPropertyDeclarations().get(e)}setPropertyAccessor(e){const r=this.getPropertyDeclarations();this._propertyAccessor=void 0;const n={};return r.forEach((i,a)=>{n[a]=this.getProperty(a)}),this._propertyAccessor=e,r.forEach((i,a)=>{const s=this.getProperty(a),u=n[a];s!==void 0&&!Object.is(s,u)&&(this.setProperty(a,s),!i.internal&&!i.alias&&this.requestUpdate(a,s,u))}),this}async _nextTick(){return"requestAnimationFrame"in globalThis?new Promise(e=>globalThis.requestAnimationFrame(e)):Promise.resolve()}async _enqueueUpdate(){this._updating=!0;try{await this._updatingPromise}catch(e){Promise.reject(e)}await this._nextTick(),this._updating&&(this.onUpdate(),this._updating=!1)}onUpdate(){this._update(this._updatedProperties),this._updatedProperties=new Map}onUpdateProperty(e,r,n){Object.is(r,n)||this.requestUpdate(e,r,n)}requestUpdate(e,r,n){e!==void 0&&(this._updatedProperties.set(e,n),this._changedProperties.add(e),this._updateProperty(e,r,n),this.emit("updateProperty",e,r,n)),this._updating||(this._updatingPromise=this._enqueueUpdate())}_update(e){}_updateProperty(e,r,n){}toJSON(){const e={};return this._properties.forEach((r,n)=>{r!==void 0&&(r&&typeof r=="object"?"toJSON"in r&&typeof r.toJSON=="function"?e[n]=r.toJSON():Array.isArray(r)?e[n]=[...r]:e[n]={...r}:e[n]=r)}),e}clone(){return new this.constructor(this.toJSON())}destroy(){this.emit("destroy"),super.destroy()}}function ut(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,L(e)}function Ge(t){return{r:A(t.r),g:A(t.g),b:A(t.b),a:A(t.a,3)}}function Y(t){const e=t.toString(16);return e.length<2?`0${e}`:e}const W="#000000FF";function It(t){return ut(t).isValid()}function S(t,e=!1){const r=ut(t);if(!r.isValid()){if(typeof t=="string")return t;const u=`Failed to normalizeColor ${t}`;if(e)throw new Error(u);return console.warn(u),W}const{r:n,g:i,b:a,a:s}=Ge(r.rgba);return`#${Y(n)}${Y(i)}${Y(a)}${Y(A(s*255))}`}var x=x||{};x.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 r(l){const c=new Error(`${e}: ${l}`);throw c.source=e,c}function n(){const l=i();return e.length>0&&r("Invalid input not EOF"),l}function i(){return M(a)}function a(){return s("linear-gradient",t.linearGradient,f)||s("repeating-linear-gradient",t.repeatingLinearGradient,f)||s("radial-gradient",t.radialGradient,p)||s("repeating-radial-gradient",t.repeatingRadialGradient,p)}function s(l,c,d){return u(c,b=>{const I=d();return I&&(m(t.comma)||r("Missing comma before color stops")),{type:l,orientation:I,colorStops:M(mt)}})}function u(l,c){const d=m(l);if(d){m(t.startCall)||r("Missing (");const b=c(d);return m(t.endCall)||r("Missing )"),b}}function f(){const l=g();if(l)return l;const c=P("position-keyword",t.positionKeywords,1);return c?{type:"directional",value:c.value}:y()}function g(){return P("directional",t.sideOrCorner,1)}function y(){return P("angular",t.angleValue,1)||P("angular",t.radianValue,1)}function p(){let l,c=C(),d;return c&&(l=[],l.push(c),d=e,m(t.comma)&&(c=C(),c?l.push(c):e=d)),l}function C(){let l=w()||R();if(l)l.at=F();else{const c=O();if(c){l=c;const d=F();d&&(l.at=d)}else{const d=F();if(d)l={type:"default-radial",at:d};else{const b=G();b&&(l={type:"default-radial",at:b})}}}return l}function w(){const l=P("shape",/^(circle)/i,0);return l&&(l.style=_e()||O()),l}function R(){const l=P("shape",/^(ellipse)/i,0);return l&&(l.style=G()||et()||O()),l}function O(){return P("extent-keyword",t.extentKeywords,1)}function F(){if(P("position",/^at/,0)){const l=G();return l||r("Missing positioning value"),l}}function G(){const l=U();if(l.x||l.y)return{type:"position",value:l}}function U(){return{x:et(),y:et()}}function M(l){let c=l();const d=[];if(c)for(d.push(c);m(t.comma);)c=l(),c?d.push(c):r("One extra comma");return d}function mt(){const l=qe();return l||r("Expected color definition"),l.length=et(),l}function qe(){return Xe()||tr()||Qe()||xe()||Ye()||Ze()||Je()}function Je(){return P("literal",t.literalColor,0)}function Xe(){return P("hex",t.hexColor,1)}function Ye(){return u(t.rgbColor,()=>({type:"rgb",value:M(K)}))}function xe(){return u(t.rgbaColor,()=>({type:"rgba",value:M(K)}))}function Ze(){return u(t.varColor,()=>({type:"var",value:er()}))}function Qe(){return u(t.hslColor,()=>{m(t.percentageValue)&&r("HSL hue value must be a number in degrees (0-360) or normalized (-360 to 360), not a percentage");const c=K();m(t.comma);let d=m(t.percentageValue);const b=d?d[1]:null;m(t.comma),d=m(t.percentageValue);const I=d?d[1]:null;return(!b||!I)&&r("Expected percentage value for saturation and lightness in HSL"),{type:"hsl",value:[c,b,I]}})}function tr(){return u(t.hslaColor,()=>{const l=K();m(t.comma);let c=m(t.percentageValue);const d=c?c[1]:null;m(t.comma),c=m(t.percentageValue);const b=c?c[1]:null;m(t.comma);const I=K();return(!d||!b)&&r("Expected percentage value for saturation and lightness in HSLA"),{type:"hsla",value:[l,d,b,I]}})}function er(){return m(t.variableName)[1]}function K(){return m(t.number)[1]}function et(){return P("%",t.percentageValue,1)||rr()||nr()||_e()}function rr(){return P("position-keyword",t.positionKeywords,1)}function nr(){return u(t.calcValue,()=>{let l=1,c=0;for(;l>0&&c<e.length;){const b=e.charAt(c);b==="("?l++:b===")"&&l--,c++}l>0&&r("Missing closing parenthesis in calc() expression");const d=e.substring(0,c-1);return vt(c-1),{type:"calc",value:d}})}function _e(){return P("px",t.pixelValue,1)||P("em",t.emValue,1)}function P(l,c,d){const b=m(c);if(b)return{type:l,value:b[d]}}function m(l){let c,d;return d=/^\s+/.exec(e),d&&vt(d[0].length),c=l.exec(e),c&&vt(c[0].length),c}function vt(l){e=e.substr(l)}return function(l){return e=l.toString().trim(),e.endsWith(";")&&(e=e.slice(0,-1)),n()}})();const jt=x.parse.bind(x);var Z=Z||{};Z.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 r=t.visit(e.orientation);return r&&(r+=", "),e.type+"("+r+t.visit(e.colorStops)+")"},visit_shape:function(e){var r=e.value,n=t.visit(e.at),i=t.visit(e.style);return i&&(r+=" "+i),n&&(r+=" at "+n),r},"visit_default-radial":function(e){var r="",n=t.visit(e.at);return n&&(r+=n),r},"visit_extent-keyword":function(e){var r=e.value,n=t.visit(e.at);return n&&(r+=" at "+n),r},"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,r){var n=e,i=t.visit(r.length);return i&&(n+=" "+i),n},visit_angular:function(e){return e.value+"deg"},visit_directional:function(e){return"to "+e.value},visit_array:function(e){var r="",n=e.length;return e.forEach(function(i,a){r+=t.visit(i),a<n-1&&(r+=", ")}),r},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 r=t["visit_"+e.type];if(r)return r(e);throw Error("Missing visitor visit_"+e.type)}else throw Error("Invalid node.")}};return function(e){return t.visit(e)}})();const Ie=Z.stringify.bind(Z);function Tt(t){const e=t.length-1;return t.map((r,n)=>{const i=r.value;let a=A(n/e,3),s="#00000000";switch(r.type){case"rgb":s=S({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0)});break;case"rgba":s=S({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0),a:Number(i[3]??0)});break;case"literal":s=S(r.value);break;case"hex":s=S(`#${r.value}`);break}switch(r.length?.type){case"%":a=Number(r.length.value)/100;break}return{offset:a,color:s}})}function Mt(t){let e=0;switch(t.orientation?.type){case"angular":e=Number(t.orientation.value);break}return{type:"linear-gradient",angle:e,stops:Tt(t.colorStops)}}function Vt(t){return t.orientation?.map(e=>{switch(e?.type){case"shape":case"default-radial":case"extent-keyword":default:return null}}),{type:"radial-gradient",stops:Tt(t.colorStops)}}function H(t){return t.startsWith("linear-gradient(")||t.startsWith("radial-gradient(")}function $t(t){return jt(t).map(e=>{switch(e?.type){case"linear-gradient":return Mt(e);case"repeating-linear-gradient":return{...Mt(e),repeat:!0};case"radial-gradient":return Vt(e);case"repeating-radial-gradient":return{...Vt(e),repeat:!0};default:return}}).filter(Boolean)}function kt(t){let e;return typeof t=="string"?e={color:t}:e={...t},{color:S(e.color)}}function Wt(t){let e;if(typeof t=="string"?e={image:t}:e={...t},e.image){const{type:r,...n}=$t(e.image)[0]??{};switch(r){case"radial-gradient":return{radialGradient:n};case"linear-gradient":return{linearGradient:n}}}return N(e,["linearGradient","radialGradient","rotateWithShape"])}function Ht(t){let e;return typeof t=="string"?e={image:t}:e={...t},N(e,["image","cropRect","stretchRect","tile","dpi","opacity","rotateWithShape"])}function Bt(t){let e;return typeof t=="string"?e={preset:t}:e={...t},h(e.foregroundColor)?delete e.foregroundColor:e.foregroundColor=S(e.foregroundColor),h(e.backgroundColor)?delete e.backgroundColor:e.backgroundColor=S(e.backgroundColor),N(e,["preset","foregroundColor","backgroundColor"])}function Ut(t){return!h(t.color)}function Kt(t){return typeof t=="string"?It(t):Ut(t)}function qt(t){return!h(t.image)&&H(t.image)||!!t.linearGradient||!!t.radialGradient}function Jt(t){return typeof t=="string"?H(t):qt(t)}function Xt(t){return!h(t.image)&&!H(t.image)}function Yt(t){return typeof t=="string"?!H(t):Xt(t)}function xt(t){return!h(t.preset)}function Zt(t){return typeof t=="string"?!1:xt(t)}function E(t){const e=t&&typeof t=="object"?t.enabled:void 0;return Kt(t)?_({enabled:e,...kt(t)}):Jt(t)?_({enabled:e,...Wt(t)}):Yt(t)?_({enabled:e,...Ht(t)}):Zt(t)?_({enabled:e,...Bt(t)}):{}}function Qt(t){return typeof t=="string"?{...E(t)}:{...E(t),...N(t,["fillWithShape"])}}function ct(){return{color:W,offsetX:0,offsetY:0,blurRadius:1}}function ft(t){return{...ct(),..._({...t,color:h(t.color)?W:S(t.color)})}}function te(){return{...ct(),scaleX:1,scaleY:1}}function ee(t){return{...te(),...ft(t)}}function je(t){return t}function re(t){return _({...t,softEdge:h(t.softEdge)?void 0:t.softEdge,outerShadow:h(t.outerShadow)?void 0:ee(t.outerShadow),innerShadow:h(t.innerShadow)?void 0:ft(t.innerShadow)})}function ne(t){return typeof t=="string"?{...E(t)}:{...E(t),...N(t,["fillWithShape"])}}const Te="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Me=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=Te[r[t]&63];return e};const ie=()=>Me(10),oe=ie;function B(t){return typeof t=="string"?{...E(t)}:{...E(t),...N(t,["width","style","lineCap","lineJoin","headEnd","tailEnd"])}}function ae(t){return typeof t=="string"?{color:S(t)}:{...t,color:h(t.color)?W:S(t.color)}}function se(){return{boxShadow:"none"}}function le(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 ue(){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 ce(){return{rotate:0,scaleX:1,scaleY:1,skewX:0,skewY:0,translateX:0,translateY:0,transform:"none",transformOrigin:"center"}}function fe(){return{...ue(),...ce(),...se(),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 de(){return{highlight:{},highlightImage:"none",highlightReferImage:"none",highlightColormap:"none",highlightLine:"none",highlightSize:"cover",highlightThickness:"100%"}}function he(){return{listStyle:{},listStyleType:"none",listStyleImage:"none",listStyleColormap:"none",listStyleSize:"cover",listStylePosition:"outside"}}function ge(){return{...de(),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 pe(){return{...he(),writingMode:"horizontal-tb",textWrap:"wrap",textAlign:"start",textIndent:0,lineHeight:1.2}}function me(){return{...pe(),...ge(),textStrokeWidth:0,textStrokeColor:"rgb(0, 0, 0)"}}function T(t){return _({...t,color:h(t.color)?void 0:S(t.color),backgroundColor:h(t.backgroundColor)?void 0:S(t.backgroundColor),borderColor:h(t.borderColor)?void 0:S(t.borderColor),outlineColor:h(t.outlineColor)?void 0:S(t.outlineColor),shadowColor:h(t.shadowColor)?void 0:S(t.shadowColor)})}function Ve(){return{...fe(),...me()}}const dt=/\r\n|\n\r|\n|\r/,$e=new RegExp(`${dt.source}|<br\\/>`,"g"),ke=new RegExp(`^(${dt.source})$`),ht=`
2
- `;function We(t){return dt.test(t)}function gt(t){return ke.test(t)}function ve(t){return t.replace($e,ht)}function Q(t){const e=[];function r(){return e[e.length-1]}function n(u,f,g){const y=u?T(u):{},p=f?E(f):void 0,C=g?B(g):void 0,w=_({...y,fill:p,outline:C,fragments:[]});return e[e.length-1]?.fragments.length===0?e[e.length-1]=w:e.push(w),w}function i(u="",f,g,y){const p=f?T(f):{},C=g?E(g):void 0,w=y?B(y):void 0;Array.from(u).forEach(R=>{if(gt(R)){const{fragments:O,fill:F,outline:G,...U}=r()||n();O.length||O.push(_({...p,fill:C,outline:w,content:ht})),n(U,F,G)}else{const O=r()||n(),F=O.fragments[O.fragments.length-1];if(F){const{content:G,fill:U,outline:M,...mt}=F;if(J(C,U)&&J(w,M)&&J(p,mt)){F.content=`${G}${R}`;return}}O.fragments.push(_({...p,fill:C,outline:w,content:R}))}})}(Array.isArray(t)?t:[t]).forEach(u=>{if(typeof u=="string")n(),i(u);else if(pt(u)){const{content:f,fill:g,outline:y,...p}=u;n(p,g,y),i(f)}else if(ye(u)){const{fragments:f,fill:g,outline:y,...p}=u;n(p,g,y),f.forEach(C=>{const{content:w,fill:R,outline:O,...F}=C;i(w,F,R,O)})}else Array.isArray(u)?(n(),u.forEach(f=>{if(typeof f=="string")i(f);else if(pt(f)){const{content:g,fill:y,outline:p,...C}=f;i(g,C,y,p)}})):console.warn("Failed to parse text content",u)});const s=r();return s&&!s.fragments.length&&s.fragments.push({content:""}),e}function ye(t){return t&&typeof t=="object"&&"fragments"in t&&Array.isArray(t.fragments)}function pt(t){return t&&typeof t=="object"&&"content"in t&&typeof t.content=="string"}function be(t){return typeof t=="string"||Array.isArray(t)?{content:Q(t)}:_({...t,content:Q(t.content??""),style:t.style?T(t.style):void 0,effects:t.effects?t.effects.map(e=>T(e)):void 0,measureDom:t.measureDom,fonts:t.fonts,fill:t.fill?E(t.fill):void 0,outline:t.outline?B(t.outline):void 0})}function He(t){return Q(t).map(e=>{const r=ve(e.fragments.flatMap(n=>n.content).join(""));return gt(r)?"":r}).join(ht)}function Se(t){return typeof t=="string"?{src:t}:t}function tt(t){return _({...t,id:t.id??oe(),style:h(t.style)?void 0:T(t.style),text:h(t.text)?void 0:be(t.text),background:h(t.background)?void 0:Qt(t.background),shape:h(t.shape)?void 0:le(t.shape),fill:h(t.fill)?void 0:E(t.fill),outline:h(t.outline)?void 0:B(t.outline),foreground:h(t.foreground)?void 0:ne(t.foreground),shadow:h(t.shadow)?void 0:ae(t.shadow),video:h(t.video)?void 0:Se(t.video),audio:h(t.audio)?void 0:j(t.audio),effect:h(t.effect)?void 0:re(t.effect),children:t.children?.map(e=>tt(e))})}function Be(t){return tt(t)}function Ue(t){const e={};for(const r in t.children){const n=tt(t.children[r]);delete n.children,e[r]=n}return{...t,children:e}}function Ke(t){const{children:e,...r}=t;function n(f){const{parentId:g,childrenIds:y,...p}=f;return{...p,children:[]}}const i={},a=[],s={...r,children:a};function u(f){if(!e[f]||i[f])return;const g=e[f],y=n(g);i[f]=y;const p=g.parentId;if(p){u(p);const C=e[p],w=i[p];if(!w)return;C?.childrenIds&&w?.children&&(w.children[C.childrenIds.indexOf(f)]=y)}else a.push(y)}for(const f in e)u(f);return s}o.EventEmitter=Le,o.Observable=Rt,o.RawWeakMap=De,o.Reactivable=Re,o.clearUndef=_,o.defaultColor=W,o.defineProperty=Gt,o.flatDocumentToDocument=Ke,o.getDeclarations=$,o.getDefaultElementStyle=fe,o.getDefaultHighlightStyle=de,o.getDefaultInnerShadow=ct,o.getDefaultLayoutStyle=ue,o.getDefaultListStyleStyle=he,o.getDefaultOuterShadow=te,o.getDefaultShadowStyle=se,o.getDefaultStyle=Ve,o.getDefaultTextInlineStyle=ge,o.getDefaultTextLineStyle=pe,o.getDefaultTextStyle=me,o.getDefaultTransformStyle=ce,o.getNestedValue=Lt,o.getObjectValueByPath=At,o.getPropertyDescriptor=lt,o.hasCRLF=We,o.idGenerator=oe,o.isCRLF=gt,o.isColor=It,o.isColorFill=Kt,o.isColorFillObject=Ut,o.isEqualObject=J,o.isFragmentObject=pt,o.isGradient=H,o.isGradientFill=Jt,o.isGradientFillObject=qt,o.isImageFill=Yt,o.isImageFillObject=Xt,o.isNone=h,o.isParagraphObject=ye,o.isPresetFill=Zt,o.isPresetFillObject=xt,o.nanoid=ie,o.normalizeAudio=j,o.normalizeBackground=Qt,o.normalizeCRLF=ve,o.normalizeColor=S,o.normalizeColorFill=kt,o.normalizeDocument=Be,o.normalizeEffect=re,o.normalizeElement=tt,o.normalizeFill=E,o.normalizeFlatDocument=Ue,o.normalizeForeground=ne,o.normalizeGradient=$t,o.normalizeGradientFill=Wt,o.normalizeImageFill=Ht,o.normalizeInnerShadow=ft,o.normalizeOuterShadow=ee,o.normalizeOutline=B,o.normalizePresetFill=Bt,o.normalizeShadow=ae,o.normalizeShape=le,o.normalizeSoftEdge=je,o.normalizeStyle=T,o.normalizeText=be,o.normalizeTextContent=Q,o.normalizeVideo=Se,o.parseColor=ut,o.parseGradient=jt,o.pick=N,o.property=Ae,o.property2=Ne,o.propertyOffsetFallback=k,o.propertyOffsetGet=st,o.propertyOffsetSet=at,o.round=A,o.setNestedValue=Dt,o.setObjectValueByPath=Nt,o.stringifyGradient=Ie,o.textContentToString=He,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(o,j){typeof exports=="object"&&typeof module<"u"?j(exports):typeof define=="function"&&define.amd?define(["exports"],j):(o=typeof globalThis<"u"?globalThis:o||self,j(o.modernIdoc={}))})(this,(function(o){"use strict";function j(t){return typeof t=="string"?{src:t}:t}var Ce={grad:.9,turn:360,rad:360/(2*Math.PI)},D=function(t){return typeof t=="string"?t.length>0:typeof t=="number"},v=function(t,e,r){return e===void 0&&(e=0),r===void 0&&(r=Math.pow(10,e)),Math.round(r*t)/r+0},z=function(t,e,r){return e===void 0&&(e=0),r===void 0&&(r=1),t>r?r:t>e?t:e},yt=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},bt=function(t){return{r:z(t.r,0,255),g:z(t.g,0,255),b:z(t.b,0,255),a:z(t.a)}},rt=function(t){return{r:v(t.r),g:v(t.g),b:v(t.b),a:v(t.a,3)}},we=/^#([0-9a-f]{3,8})$/i,q=function(t){var e=t.toString(16);return e.length<2?"0"+e:e},St=function(t){var e=t.r,r=t.g,n=t.b,i=t.a,a=Math.max(e,r,n),s=a-Math.min(e,r,n),u=s?a===e?(r-n)/s:a===r?2+(n-e)/s:4+(e-r)/s:0;return{h:60*(u<0?u+6:u),s:a?s/a*100:0,v:a/255*100,a:i}},_t=function(t){var e=t.h,r=t.s,n=t.v,i=t.a;e=e/360*6,r/=100,n/=100;var a=Math.floor(e),s=n*(1-r),u=n*(1-(e-a)*r),f=n*(1-(1-e+a)*r),g=a%6;return{r:255*[n,u,s,s,f,n][g],g:255*[f,n,n,u,s,s][g],b:255*[s,s,f,n,n,u][g],a:i}},Ct=function(t){return{h:yt(t.h),s:z(t.s,0,100),l:z(t.l,0,100),a:z(t.a)}},wt=function(t){return{h:v(t.h),s:v(t.s),l:v(t.l),a:v(t.a,3)}},Pt=function(t){return _t((r=(e=t).s,{h:e.h,s:(r*=((n=e.l)<50?n:100-n)/100)>0?2*r/(n+r)*100:0,v:n+r,a:e.a}));var e,r,n},V=function(t){return{h:(e=St(t)).h,s:(i=(200-(r=e.s))*(n=e.v)/100)>0&&i<200?r*n/100/(i<=100?i:200-i)*100:0,l:i/2,a:e.a};var e,r,n,i},Pe=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ze=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Oe=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Ee=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,zt={string:[[function(t){var e=we.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=Oe.exec(t)||Ee.exec(t);return e?e[2]!==e[4]||e[4]!==e[6]?null:bt({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=Pe.exec(t)||ze.exec(t);if(!e)return null;var r,n,i=Ct({h:(r=e[1],n=e[2],n===void 0&&(n="deg"),Number(r)*(Ce[n]||1)),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return Pt(i)},"hsl"]],object:[[function(t){var e=t.r,r=t.g,n=t.b,i=t.a,a=i===void 0?1:i;return D(e)&&D(r)&&D(n)?bt({r:Number(e),g:Number(r),b:Number(n),a:Number(a)}):null},"rgb"],[function(t){var e=t.h,r=t.s,n=t.l,i=t.a,a=i===void 0?1:i;if(!D(e)||!D(r)||!D(n))return null;var s=Ct({h:Number(e),s:Number(r),l:Number(n),a:Number(a)});return Pt(s)},"hsl"],[function(t){var e=t.h,r=t.s,n=t.v,i=t.a,a=i===void 0?1:i;if(!D(e)||!D(r)||!D(n))return null;var s=(function(u){return{h:yt(u.h),s:z(u.s,0,100),v:z(u.v,0,100),a:z(u.a)}})({h:Number(e),s:Number(r),v:Number(n),a:Number(a)});return _t(s)},"hsv"]]},Ot=function(t,e){for(var r=0;r<e.length;r++){var n=e[r][0](t);if(n)return[n,e[r][1]]}return[null,void 0]},Fe=function(t){return typeof t=="string"?Ot(t.trim(),zt.string):typeof t=="object"&&t!==null?Ot(t,zt.object):[null,void 0]},nt=function(t,e){var r=V(t);return{h:r.h,s:z(r.s+100*e,0,100),l:r.l,a:r.a}},it=function(t){return(299*t.r+587*t.g+114*t.b)/1e3/255},Et=function(t,e){var r=V(t);return{h:r.h,s:r.s,l:z(r.l+100*e,0,100),a:r.a}},Ft=(function(){function t(e){this.parsed=Fe(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(it(this.rgba),2)},t.prototype.isDark=function(){return it(this.rgba)<.5},t.prototype.isLight=function(){return it(this.rgba)>=.5},t.prototype.toHex=function(){return e=rt(this.rgba),r=e.r,n=e.g,i=e.b,s=(a=e.a)<1?q(v(255*a)):"","#"+q(r)+q(n)+q(i)+s;var e,r,n,i,a,s},t.prototype.toRgb=function(){return rt(this.rgba)},t.prototype.toRgbString=function(){return e=rt(this.rgba),r=e.r,n=e.g,i=e.b,(a=e.a)<1?"rgba("+r+", "+n+", "+i+", "+a+")":"rgb("+r+", "+n+", "+i+")";var e,r,n,i,a},t.prototype.toHsl=function(){return wt(V(this.rgba))},t.prototype.toHslString=function(){return e=wt(V(this.rgba)),r=e.h,n=e.s,i=e.l,(a=e.a)<1?"hsla("+r+", "+n+"%, "+i+"%, "+a+")":"hsl("+r+", "+n+"%, "+i+"%)";var e,r,n,i,a},t.prototype.toHsv=function(){return e=St(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 L({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),L(nt(this.rgba,e))},t.prototype.desaturate=function(e){return e===void 0&&(e=.1),L(nt(this.rgba,-e))},t.prototype.grayscale=function(){return L(nt(this.rgba,-1))},t.prototype.lighten=function(e){return e===void 0&&(e=.1),L(Et(this.rgba,e))},t.prototype.darken=function(e){return e===void 0&&(e=.1),L(Et(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"?L({r:(r=this.rgba).r,g:r.g,b:r.b,a:e}):v(this.rgba.a,3);var r},t.prototype.hue=function(e){var r=V(this.rgba);return typeof e=="number"?L({h:e,s:r.s,l:r.l,a:r.a}):v(r.h)},t.prototype.isEqual=function(e){return this.toHex()===L(e).toHex()},t})(),L=function(t){return t instanceof Ft?t:new Ft(t)};class Le{eventListeners=new Map;addEventListener(e,r,n){const i={value:r,options:n},a=this.eventListeners.get(e);return a?Array.isArray(a)?a.push(i):this.eventListeners.set(e,[a,i]):this.eventListeners.set(e,i),this}removeEventListener(e,r,n){if(!r)return this.eventListeners.delete(e),this;const i=this.eventListeners.get(e);if(!i)return this;if(Array.isArray(i)){const a=[];for(let s=0,u=i.length;s<u;s++){const f=i[s];(f.value!==r||typeof n=="object"&&n?.once&&(typeof f.options=="boolean"||!f.options?.once))&&a.push(f)}a.length?this.eventListeners.set(e,a.length===1?a[0]:a):this.eventListeners.delete(e)}else i.value===r&&(typeof n=="boolean"||!n?.once||typeof i.options=="boolean"||i.options?.once)&&this.eventListeners.delete(e);return this}removeAllListeners(){return this.eventListeners.clear(),this}hasEventListener(e){return this.eventListeners.has(e)}dispatchEvent(e,...r){const n=this.eventListeners.get(e);if(n){if(Array.isArray(n))for(let i=n.length,a=0;a<i;a++){const s=n[a];typeof s.options=="object"&&s.options?.once&&this.off(e,s.value,s.options),s.value.apply(this,r)}else typeof n.options=="object"&&n.options?.once&&this.off(e,n.value,n.options),n.value.apply(this,r);return!0}else return!1}on(e,r,n){return this.addEventListener(e,r,n)}once(e,r){return this.addEventListener(e,r,{once:!0})}off(e,r,n){return this.removeEventListener(e,r,n)}emit(e,...r){this.dispatchEvent(e,...r)}}function h(t){return t==null||t===""||t==="none"}function A(t,e=0,r=10**e){return Math.round(r*t)/r+0}function _(t,e=!1){if(typeof t!="object"||!t)return t;if(Array.isArray(t))return e?t.map(n=>_(n,e)):t;const r={};for(const n in t){const i=t[n];i!=null&&(e?r[n]=_(i,e):r[n]=i)}return r}function N(t,e){const r={};return e.forEach(n=>{n in t&&(r[n]=t[n])}),r}function x(t,e){if(t===e)return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){const r=Array.from(new Set([...Object.keys(t),...Object.keys(e)]));return!r.length||r.every(n=>t[n]===e[n])}return!1}function Lt(t,e,r){const n=e.length-1;if(n<0)return t===void 0?r:t;for(let i=0;i<n;i++){if(t==null)return r;t=t[e[i]]}return t==null||t[e[n]]===void 0?r:t[e[n]]}function Dt(t,e,r){const n=e.length-1;for(let i=0;i<n;i++)typeof t[e[i]]!="object"&&(t[e[i]]={}),t=t[e[i]];t[e[n]]=r}function At(t,e,r){return t==null||!e||typeof e!="string"?r:t[e]!==void 0?t[e]:(e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),Lt(t,e.split("."),r))}function Nt(t,e,r){if(!(typeof t!="object"||!e))return e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),Dt(t,e.split("."),r)}class Rt{_observers=new Map;on(e,r){let n=this._observers.get(e);return n===void 0&&this._observers.set(e,n=new Set),n.add(r),this}once(e,r){const n=(...i)=>{this.off(e,n),r(...i)};return this.on(e,n),this}off(e,r){const n=this._observers.get(e);return n!==void 0&&(n.delete(r),n.size===0&&this._observers.delete(e)),this}emit(e,...r){return Array.from((this._observers.get(e)||new Map).values()).forEach(n=>n(...r)),this}destroy(){this._observers=new Map}}class De{_map=new WeakMap;_toRaw(e){if(e&&typeof e=="object"){const r=e.__v_raw;r&&(e=this._toRaw(r))}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,r){return this._map.set(this._toRaw(e),this._toRaw(r)),this}}const ot=Symbol("properties"),J=Symbol("inited");function k(t){let e;if(Object.hasOwn(t,ot))e=t[ot];else{const r=Object.getPrototypeOf(t);e=new Map(r?k(r):void 0),t[ot]=e}return e}function at(t,e,r,n){const{alias:i,internalKey:a}=n,s=t[e];i?Nt(t,i,r):t[a]=r,t.onUpdateProperty?.(e,r??$(t,e,n),s)}function st(t,e,r){const{alias:n,internalKey:i}=r;let a;return n?a=At(t,n):a=t[i],a=a??$(t,e,r),a}function $(t,e,r){const{default:n,fallback:i}=r;let a;if(n!==void 0&&!t[J]?.[e]){t[J]||(t[J]={}),t[J][e]=!0;const s=typeof n=="function"?n():n;s!==void 0&&(t[e]=s,a=s)}return a===void 0&&i!==void 0&&(a=typeof i=="function"?i():i),a}function lt(t,e){function r(){return typeof this.getProperty<"u"?this.getProperty(t):st(this,t,e)}function n(i){typeof this.setProperty<"u"?this.setProperty(t,i):at(this,t,i,e)}return{get:r,set:n}}function Gt(t,e,r={}){const n={...r,internalKey:Symbol(e)};k(t).set(e,n);const i=lt(e,n);Object.defineProperty(t.prototype,e,{get(){return i.get.call(this)},set(a){i.set.call(this,a)},configurable:!0,enumerable:!0})}function Ae(t){return function(e,r){if(typeof r!="string")throw new TypeError("Failed to @property decorator, prop name cannot be a symbol");Gt(e.constructor,r,t)}}function Ne(t={}){return function(e,r){const n=r.name;if(typeof n!="string")throw new TypeError("Failed to @property decorator, prop name cannot be a symbol");const i={...t,internalKey:Symbol(n)},a=lt(n,i);return{init(s){return k(this.constructor).set(n,i),a.set.call(this,s),s},get(){return a.get.call(this)},set(s){a.set.call(this,s)}}}}class Re extends Rt{_propertyAccessor;_properties=new Map;_updatedProperties=new Map;_changedProperties=new Set;_updatingPromise=Promise.resolve();_updating=!1;constructor(e){super(),this.setProperties(e)}isDirty(e){return e?this._updatedProperties.has(e):this._updatedProperties.size>0}getProperty(e){const r=this.getPropertyDeclaration(e);if(r){if(r.internal||r.alias)return st(this,e,r);{let n;return this._propertyAccessor?.getProperty?n=this._propertyAccessor.getProperty(e):n=this._properties.get(e),n??$(this,e,r)}}}setProperty(e,r){const n=this.getPropertyDeclaration(e);if(n)if(n.internal||n.alias)at(this,e,r,n);else{const i=this.getProperty(e);this._propertyAccessor?.setProperty?.(e,r),this._properties.set(e,r),this.onUpdateProperty?.(e,r??$(this,e,n),i)}}getProperties(e){const r={};for(const[n,i]of this.getPropertyDeclarations())!i.internal&&!i.alias&&(!e||e.includes(n))&&(r[n]=this.getProperty(n));return r}setProperties(e){if(e&&typeof e=="object")for(const r in e)this.setProperty(r,e[r]);return this}resetProperties(){for(const[e,r]of this.getPropertyDeclarations())this.setProperty(e,typeof r.default=="function"?r.default():r.default);return this}getPropertyDeclarations(){return k(this.constructor)}getPropertyDeclaration(e){return this.getPropertyDeclarations().get(e)}setPropertyAccessor(e){const r=this.getPropertyDeclarations();this._propertyAccessor=void 0;const n={};return r.forEach((i,a)=>{n[a]=this.getProperty(a)}),this._propertyAccessor=e,r.forEach((i,a)=>{const s=this.getProperty(a),u=n[a];s!==void 0&&!Object.is(s,u)&&(this.setProperty(a,s),!i.internal&&!i.alias&&this.requestUpdate(a,s,u))}),this}async _nextTick(){return"requestAnimationFrame"in globalThis?new Promise(e=>globalThis.requestAnimationFrame(e)):Promise.resolve()}async _enqueueUpdate(){this._updating=!0;try{await this._updatingPromise}catch(e){Promise.reject(e)}await this._nextTick(),this._updating&&(this.onUpdate(),this._updating=!1)}onUpdate(){this._update(this._updatedProperties),this._updatedProperties=new Map}onUpdateProperty(e,r,n){Object.is(r,n)||this.requestUpdate(e,r,n)}requestUpdate(e,r,n){e!==void 0&&(this._updatedProperties.set(e,n),this._changedProperties.add(e),this._updateProperty(e,r,n),this.emit("updateProperty",e,r,n)),this._updating||(this._updatingPromise=this._enqueueUpdate())}_update(e){}_updateProperty(e,r,n){}toJSON(){const e={};return this._properties.forEach((r,n)=>{r!==void 0&&(r&&typeof r=="object"?"toJSON"in r&&typeof r.toJSON=="function"?e[n]=r.toJSON():Array.isArray(r)?e[n]=[...r]:e[n]={...r}:e[n]=r)}),e}clone(){return new this.constructor(this.toJSON())}destroy(){this.emit("destroy"),super.destroy()}}function ut(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,L(e)}function Ge(t){return{r:A(t.r),g:A(t.g),b:A(t.b),a:A(t.a,3)}}function X(t){const e=t.toString(16);return e.length<2?`0${e}`:e}const W="#000000FF";function It(t){return ut(t).isValid()}function y(t,e=!1){const r=ut(t);if(!r.isValid()){if(typeof t=="string")return t;const u=`Failed to normalizeColor ${t}`;if(e)throw new Error(u);return console.warn(u),W}const{r:n,g:i,b:a,a:s}=Ge(r.rgba);return`#${X(n)}${X(i)}${X(a)}${X(A(s*255))}`}var Y=Y||{};Y.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 r(l){const c=new Error(`${e}: ${l}`);throw c.source=e,c}function n(){const l=i();return e.length>0&&r("Invalid input not EOF"),l}function i(){return M(a)}function a(){return s("linear-gradient",t.linearGradient,f)||s("repeating-linear-gradient",t.repeatingLinearGradient,f)||s("radial-gradient",t.radialGradient,p)||s("repeating-radial-gradient",t.repeatingRadialGradient,p)}function s(l,c,d){return u(c,S=>{const I=d();return I&&(m(t.comma)||r("Missing comma before color stops")),{type:l,orientation:I,colorStops:M(mt)}})}function u(l,c){const d=m(l);if(d){m(t.startCall)||r("Missing (");const S=c(d);return m(t.endCall)||r("Missing )"),S}}function f(){const l=g();if(l)return l;const c=P("position-keyword",t.positionKeywords,1);return c?{type:"directional",value:c.value}:b()}function g(){return P("directional",t.sideOrCorner,1)}function b(){return P("angular",t.angleValue,1)||P("angular",t.radianValue,1)}function p(){let l,c=C(),d;return c&&(l=[],l.push(c),d=e,m(t.comma)&&(c=C(),c?l.push(c):e=d)),l}function C(){let l=w()||R();if(l)l.at=F();else{const c=O();if(c){l=c;const d=F();d&&(l.at=d)}else{const d=F();if(d)l={type:"default-radial",at:d};else{const S=G();S&&(l={type:"default-radial",at:S})}}}return l}function w(){const l=P("shape",/^(circle)/i,0);return l&&(l.style=_e()||O()),l}function R(){const l=P("shape",/^(ellipse)/i,0);return l&&(l.style=G()||et()||O()),l}function O(){return P("extent-keyword",t.extentKeywords,1)}function F(){if(P("position",/^at/,0)){const l=G();return l||r("Missing positioning value"),l}}function G(){const l=U();if(l.x||l.y)return{type:"position",value:l}}function U(){return{x:et(),y:et()}}function M(l){let c=l();const d=[];if(c)for(d.push(c);m(t.comma);)c=l(),c?d.push(c):r("One extra comma");return d}function mt(){const l=qe();return l||r("Expected color definition"),l.length=et(),l}function qe(){return Je()||tr()||Qe()||Ye()||Xe()||Ze()||xe()}function xe(){return P("literal",t.literalColor,0)}function Je(){return P("hex",t.hexColor,1)}function Xe(){return u(t.rgbColor,()=>({type:"rgb",value:M(K)}))}function Ye(){return u(t.rgbaColor,()=>({type:"rgba",value:M(K)}))}function Ze(){return u(t.varColor,()=>({type:"var",value:er()}))}function Qe(){return u(t.hslColor,()=>{m(t.percentageValue)&&r("HSL hue value must be a number in degrees (0-360) or normalized (-360 to 360), not a percentage");const c=K();m(t.comma);let d=m(t.percentageValue);const S=d?d[1]:null;m(t.comma),d=m(t.percentageValue);const I=d?d[1]:null;return(!S||!I)&&r("Expected percentage value for saturation and lightness in HSL"),{type:"hsl",value:[c,S,I]}})}function tr(){return u(t.hslaColor,()=>{const l=K();m(t.comma);let c=m(t.percentageValue);const d=c?c[1]:null;m(t.comma),c=m(t.percentageValue);const S=c?c[1]:null;m(t.comma);const I=K();return(!d||!S)&&r("Expected percentage value for saturation and lightness in HSLA"),{type:"hsla",value:[l,d,S,I]}})}function er(){return m(t.variableName)[1]}function K(){return m(t.number)[1]}function et(){return P("%",t.percentageValue,1)||rr()||nr()||_e()}function rr(){return P("position-keyword",t.positionKeywords,1)}function nr(){return u(t.calcValue,()=>{let l=1,c=0;for(;l>0&&c<e.length;){const S=e.charAt(c);S==="("?l++:S===")"&&l--,c++}l>0&&r("Missing closing parenthesis in calc() expression");const d=e.substring(0,c-1);return vt(c-1),{type:"calc",value:d}})}function _e(){return P("px",t.pixelValue,1)||P("em",t.emValue,1)}function P(l,c,d){const S=m(c);if(S)return{type:l,value:S[d]}}function m(l){let c,d;return d=/^\s+/.exec(e),d&&vt(d[0].length),c=l.exec(e),c&&vt(c[0].length),c}function vt(l){e=e.substr(l)}return function(l){return e=l.toString().trim(),e.endsWith(";")&&(e=e.slice(0,-1)),n()}})();const jt=Y.parse.bind(Y);var Z=Z||{};Z.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 r=t.visit(e.orientation);return r&&(r+=", "),e.type+"("+r+t.visit(e.colorStops)+")"},visit_shape:function(e){var r=e.value,n=t.visit(e.at),i=t.visit(e.style);return i&&(r+=" "+i),n&&(r+=" at "+n),r},"visit_default-radial":function(e){var r="",n=t.visit(e.at);return n&&(r+=n),r},"visit_extent-keyword":function(e){var r=e.value,n=t.visit(e.at);return n&&(r+=" at "+n),r},"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,r){var n=e,i=t.visit(r.length);return i&&(n+=" "+i),n},visit_angular:function(e){return e.value+"deg"},visit_directional:function(e){return"to "+e.value},visit_array:function(e){var r="",n=e.length;return e.forEach(function(i,a){r+=t.visit(i),a<n-1&&(r+=", ")}),r},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 r=t["visit_"+e.type];if(r)return r(e);throw Error("Missing visitor visit_"+e.type)}else throw Error("Invalid node.")}};return function(e){return t.visit(e)}})();const Ie=Z.stringify.bind(Z);function Tt(t){const e=t.length-1;return t.map((r,n)=>{const i=r.value;let a=A(n/e,3),s="#00000000";switch(r.type){case"rgb":s=y({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0)});break;case"rgba":s=y({r:Number(i[0]??0),g:Number(i[1]??0),b:Number(i[2]??0),a:Number(i[3]??0)});break;case"literal":s=y(r.value);break;case"hex":s=y(`#${r.value}`);break}return r.length?.type==="%"&&(a=Number(r.length.value)/100),{offset:a,color:s}})}function Mt(t){let e=0;return t.orientation?.type==="angular"&&(e=Number(t.orientation.value)),{type:"linear-gradient",angle:e,stops:Tt(t.colorStops)}}function Vt(t){return t.orientation?.map(e=>{switch(e?.type){default:return null}}),{type:"radial-gradient",stops:Tt(t.colorStops)}}function H(t){return t.startsWith("linear-gradient(")||t.startsWith("radial-gradient(")}function kt(t){return jt(t).map(e=>{switch(e?.type){case"linear-gradient":return Mt(e);case"repeating-linear-gradient":return{...Mt(e),repeat:!0};case"radial-gradient":return Vt(e);case"repeating-radial-gradient":return{...Vt(e),repeat:!0};default:return}}).filter(Boolean)}function $t(t){let e;return typeof t=="string"?e={color:t}:e={...t},{color:y(e.color)}}function Wt(t){let e;if(typeof t=="string"?e={image:t}:e={...t},e.image){const{type:r,...n}=kt(e.image)[0]??{};switch(r){case"radial-gradient":return{radialGradient:n};case"linear-gradient":return{linearGradient:n}}}return N(e,["linearGradient","radialGradient","rotateWithShape"])}function Ht(t){let e;return typeof t=="string"?e={image:t}:e={...t},N(e,["image","cropRect","stretchRect","tile","dpi","opacity","rotateWithShape"])}function Bt(t){let e;return typeof t=="string"?e={preset:t}:e={...t},h(e.foregroundColor)?delete e.foregroundColor:e.foregroundColor=y(e.foregroundColor),h(e.backgroundColor)?delete e.backgroundColor:e.backgroundColor=y(e.backgroundColor),N(e,["preset","foregroundColor","backgroundColor"])}function Ut(t){return!h(t.color)}function Kt(t){return typeof t=="string"?It(t):Ut(t)}function qt(t){return!h(t.image)&&H(t.image)||!!t.linearGradient||!!t.radialGradient}function xt(t){return typeof t=="string"?H(t):qt(t)}function Jt(t){return!h(t.image)&&!H(t.image)}function Xt(t){return typeof t=="string"?!H(t):Jt(t)}function Yt(t){return!h(t.preset)}function Zt(t){return typeof t=="string"?!1:Yt(t)}function E(t){const e=t&&typeof t=="object"?t.enabled:void 0;return Kt(t)?_({enabled:e,...$t(t)}):xt(t)?_({enabled:e,...Wt(t)}):Xt(t)?_({enabled:e,...Ht(t)}):Zt(t)?_({enabled:e,...Bt(t)}):{}}function Qt(t){return typeof t=="string"?{...E(t)}:{...E(t),...N(t,["fillWithShape"])}}function ct(){return{color:W,offsetX:0,offsetY:0,blurRadius:1}}function ft(t){return{...ct(),..._({...t,color:h(t.color)?W:y(t.color)})}}function te(){return{...ct(),scaleX:1,scaleY:1}}function ee(t){return{...te(),...ft(t)}}function je(t){return t}function re(t){return _({...t,softEdge:h(t.softEdge)?void 0:t.softEdge,outerShadow:h(t.outerShadow)?void 0:ee(t.outerShadow),innerShadow:h(t.innerShadow)?void 0:ft(t.innerShadow)})}function ne(t){return typeof t=="string"?{...E(t)}:{...E(t),...N(t,["fillWithShape"])}}const Te="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Me=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=Te[r[t]&63];return e};const ie=()=>Me(10),oe=ie;function B(t){return typeof t=="string"?{...E(t)}:{...E(t),...N(t,["width","style","lineCap","lineJoin","headEnd","tailEnd"])}}function ae(t){return typeof t=="string"?{color:y(t)}:{...t,color:h(t.color)?W:y(t.color)}}function se(){return{boxShadow:"none"}}function le(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 ue(){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 ce(){return{rotate:0,scaleX:1,scaleY:1,skewX:0,skewY:0,translateX:0,translateY:0,transform:"none",transformOrigin:"center"}}function fe(){return{...ue(),...ce(),...se(),backgroundImage:"none",backgroundSize:"auto, auto",backgroundColor:"none",backgroundColormap:"none",borderRadius:0,borderColor:"none",borderStyle:"solid",outlineWidth:0,outlineOffset:0,outlineColor:"none",outlineStyle:"none",visibility:"visible",filter:"none",opacity:1,pointerEvents:"auto",maskImage:"none"}}function de(){return{highlight:{},highlightImage:"none",highlightReferImage:"none",highlightColormap:"none",highlightLine:"none",highlightSize:"cover",highlightThickness:"100%"}}function he(){return{listStyle:{},listStyleType:"none",listStyleImage:"none",listStyleColormap:"none",listStyleSize:"cover",listStylePosition:"outside"}}function ge(){return{...de(),color:"#000000",verticalAlign:"baseline",letterSpacing:0,wordSpacing:0,fontSize:14,fontWeight:"normal",fontFamily:"",fontStyle:"normal",fontKerning:"normal",textTransform:"none",textOrientation:"mixed",textDecoration:"none"}}function pe(){return{...he(),writingMode:"horizontal-tb",textWrap:"wrap",textAlign:"start",textIndent:0,lineHeight:1.2}}function me(){return{...pe(),...ge(),textStrokeWidth:0,textStrokeColor:"none"}}function T(t){return _({...t,color:h(t.color)?void 0:y(t.color),backgroundColor:h(t.backgroundColor)?void 0:y(t.backgroundColor),borderColor:h(t.borderColor)?void 0:y(t.borderColor),outlineColor:h(t.outlineColor)?void 0:y(t.outlineColor),shadowColor:h(t.shadowColor)?void 0:y(t.shadowColor),textStrokeColor:h(t.textStrokeColor)?void 0:y(t.textStrokeColor)})}function Ve(){return{...fe(),...me()}}const dt=/\r\n|\n\r|\n|\r/,ke=new RegExp(`${dt.source}|<br\\/>`,"g"),$e=new RegExp(`^(${dt.source})$`),ht=`
2
+ `;function We(t){return dt.test(t)}function gt(t){return $e.test(t)}function ve(t){return t.replace(ke,ht)}function Q(t){const e=[];function r(){return e[e.length-1]}function n(u,f,g){const b=u?T(u):{},p=f?E(f):void 0,C=g?B(g):void 0,w=_({...b,fill:p,outline:C,fragments:[]});return e[e.length-1]?.fragments.length===0?e[e.length-1]=w:e.push(w),w}function i(u="",f,g,b){const p=f?T(f):{},C=g?E(g):void 0,w=b?B(b):void 0;Array.from(u).forEach(R=>{if(gt(R)){const{fragments:O,fill:F,outline:G,...U}=r()||n();O.length||O.push(_({...p,fill:C,outline:w,content:ht})),n(U,F,G)}else{const O=r()||n(),F=O.fragments[O.fragments.length-1];if(F){const{content:G,fill:U,outline:M,...mt}=F;if(x(C,U)&&x(w,M)&&x(p,mt)){F.content=`${G}${R}`;return}}O.fragments.push(_({...p,fill:C,outline:w,content:R}))}})}(Array.isArray(t)?t:[t]).forEach(u=>{if(typeof u=="string")n(),i(u);else if(pt(u)){const{content:f,fill:g,outline:b,...p}=u;n(p,g,b),i(f)}else if(ye(u)){const{fragments:f,fill:g,outline:b,...p}=u;n(p,g,b),f.forEach(C=>{const{content:w,fill:R,outline:O,...F}=C;i(w,F,R,O)})}else Array.isArray(u)?(n(),u.forEach(f=>{if(typeof f=="string")i(f);else if(pt(f)){const{content:g,fill:b,outline:p,...C}=f;i(g,C,b,p)}})):console.warn("Failed to parse text content",u)});const s=r();return s&&!s.fragments.length&&s.fragments.push({content:""}),e}function ye(t){return t&&typeof t=="object"&&"fragments"in t&&Array.isArray(t.fragments)}function pt(t){return t&&typeof t=="object"&&"content"in t&&typeof t.content=="string"}function be(t){return typeof t=="string"||Array.isArray(t)?{content:Q(t)}:_({...t,content:Q(t.content??""),style:t.style?T(t.style):void 0,effects:t.effects?t.effects.map(e=>T(e)):void 0,measureDom:t.measureDom,fonts:t.fonts,fill:t.fill?E(t.fill):void 0,outline:t.outline?B(t.outline):void 0})}function He(t){return Q(t).map(e=>{const r=ve(e.fragments.flatMap(n=>n.content).join(""));return gt(r)?"":r}).join(ht)}function Se(t){return typeof t=="string"?{src:t}:t}function tt(t){return _({...t,id:t.id??oe(),style:h(t.style)?void 0:T(t.style),text:h(t.text)?void 0:be(t.text),background:h(t.background)?void 0:Qt(t.background),shape:h(t.shape)?void 0:le(t.shape),fill:h(t.fill)?void 0:E(t.fill),outline:h(t.outline)?void 0:B(t.outline),foreground:h(t.foreground)?void 0:ne(t.foreground),shadow:h(t.shadow)?void 0:ae(t.shadow),video:h(t.video)?void 0:Se(t.video),audio:h(t.audio)?void 0:j(t.audio),effect:h(t.effect)?void 0:re(t.effect),children:t.children?.map(e=>tt(e))})}function Be(t){return tt(t)}function Ue(t){const e={};for(const r in t.children){const n=tt(t.children[r]);delete n.children,e[r]=n}return{...t,children:e}}function Ke(t){const{children:e,...r}=t;function n(f){const{parentId:g,childrenIds:b,...p}=f;return{...p,children:[]}}const i={},a=[],s={...r,children:a};function u(f){if(!e[f]||i[f])return;const g=e[f],b=n(g);i[f]=b;const p=g.parentId;if(p){u(p);const C=e[p],w=i[p];if(!w)return;C?.childrenIds&&w?.children&&(w.children[C.childrenIds.indexOf(f)]=b)}else a.push(b)}for(const f in e)u(f);return s}o.EventEmitter=Le,o.Observable=Rt,o.RawWeakMap=De,o.Reactivable=Re,o.clearUndef=_,o.defaultColor=W,o.defineProperty=Gt,o.flatDocumentToDocument=Ke,o.getDeclarations=k,o.getDefaultElementStyle=fe,o.getDefaultHighlightStyle=de,o.getDefaultInnerShadow=ct,o.getDefaultLayoutStyle=ue,o.getDefaultListStyleStyle=he,o.getDefaultOuterShadow=te,o.getDefaultShadowStyle=se,o.getDefaultStyle=Ve,o.getDefaultTextInlineStyle=ge,o.getDefaultTextLineStyle=pe,o.getDefaultTextStyle=me,o.getDefaultTransformStyle=ce,o.getNestedValue=Lt,o.getObjectValueByPath=At,o.getPropertyDescriptor=lt,o.hasCRLF=We,o.idGenerator=oe,o.isCRLF=gt,o.isColor=It,o.isColorFill=Kt,o.isColorFillObject=Ut,o.isEqualObject=x,o.isFragmentObject=pt,o.isGradient=H,o.isGradientFill=xt,o.isGradientFillObject=qt,o.isImageFill=Xt,o.isImageFillObject=Jt,o.isNone=h,o.isParagraphObject=ye,o.isPresetFill=Zt,o.isPresetFillObject=Yt,o.nanoid=ie,o.normalizeAudio=j,o.normalizeBackground=Qt,o.normalizeCRLF=ve,o.normalizeColor=y,o.normalizeColorFill=$t,o.normalizeDocument=Be,o.normalizeEffect=re,o.normalizeElement=tt,o.normalizeFill=E,o.normalizeFlatDocument=Ue,o.normalizeForeground=ne,o.normalizeGradient=kt,o.normalizeGradientFill=Wt,o.normalizeImageFill=Ht,o.normalizeInnerShadow=ft,o.normalizeOuterShadow=ee,o.normalizeOutline=B,o.normalizePresetFill=Bt,o.normalizeShadow=ae,o.normalizeShape=le,o.normalizeSoftEdge=je,o.normalizeStyle=T,o.normalizeText=be,o.normalizeTextContent=Q,o.normalizeVideo=Se,o.parseColor=ut,o.parseGradient=jt,o.pick=N,o.property=Ae,o.property2=Ne,o.propertyOffsetFallback=$,o.propertyOffsetGet=st,o.propertyOffsetSet=at,o.round=A,o.setNestedValue=Dt,o.setObjectValueByPath=Nt,o.stringifyGradient=Ie,o.textContentToString=He,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));
package/dist/index.mjs CHANGED
@@ -1557,7 +1557,7 @@ function getDefaultElementStyle() {
1557
1557
  // outline
1558
1558
  outlineWidth: 0,
1559
1559
  outlineOffset: 0,
1560
- outlineColor: "rgb(0, 0, 0)",
1560
+ outlineColor: "none",
1561
1561
  outlineStyle: "none",
1562
1562
  // other
1563
1563
  visibility: "visible",
@@ -1594,7 +1594,7 @@ function getDefaultListStyleStyle() {
1594
1594
  function getDefaultTextInlineStyle() {
1595
1595
  return {
1596
1596
  ...getDefaultHighlightStyle(),
1597
- color: "rgb(0, 0, 0)",
1597
+ color: "#000000",
1598
1598
  verticalAlign: "baseline",
1599
1599
  letterSpacing: 0,
1600
1600
  wordSpacing: 0,
@@ -1628,7 +1628,7 @@ function getDefaultTextStyle() {
1628
1628
  ...getDefaultTextInlineStyle(),
1629
1629
  // textStroke
1630
1630
  textStrokeWidth: 0,
1631
- textStrokeColor: "rgb(0, 0, 0)"
1631
+ textStrokeColor: "none"
1632
1632
  };
1633
1633
  }
1634
1634
 
@@ -1639,7 +1639,8 @@ function normalizeStyle(style) {
1639
1639
  backgroundColor: isNone(style.backgroundColor) ? void 0 : normalizeColor(style.backgroundColor),
1640
1640
  borderColor: isNone(style.borderColor) ? void 0 : normalizeColor(style.borderColor),
1641
1641
  outlineColor: isNone(style.outlineColor) ? void 0 : normalizeColor(style.outlineColor),
1642
- shadowColor: isNone(style.shadowColor) ? void 0 : normalizeColor(style.shadowColor)
1642
+ shadowColor: isNone(style.shadowColor) ? void 0 : normalizeColor(style.shadowColor),
1643
+ textStrokeColor: isNone(style.textStrokeColor) ? void 0 : normalizeColor(style.textStrokeColor)
1643
1644
  });
1644
1645
  }
1645
1646
  function getDefaultStyle() {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "modern-idoc",
3
3
  "type": "module",
4
- "version": "0.10.7",
4
+ "version": "0.10.8",
5
5
  "packageManager": "pnpm@10.18.1",
6
6
  "description": "Intermediate document for modern codec libs",
7
7
  "author": "wxm",
@@ -59,17 +59,17 @@
59
59
  "nanoid": "^5.1.6"
60
60
  },
61
61
  "devDependencies": {
62
- "@antfu/eslint-config": "^6.0.0",
63
- "@types/node": "^24.9.1",
64
- "bumpp": "^10.3.1",
62
+ "@antfu/eslint-config": "^6.7.3",
63
+ "@types/node": "^25.0.3",
64
+ "bumpp": "^10.3.2",
65
65
  "conventional-changelog-cli": "^5.0.0",
66
- "eslint": "^9.38.0",
67
- "lint-staged": "^16.2.6",
66
+ "eslint": "^9.39.2",
67
+ "lint-staged": "^16.2.7",
68
68
  "simple-git-hooks": "^2.13.1",
69
69
  "typescript": "^5.9.3",
70
70
  "unbuild": "^3.6.1",
71
- "vite": "^7.1.12",
72
- "vitest": "^4.0.2"
71
+ "vite": "^7.3.0",
72
+ "vitest": "^4.0.16"
73
73
  },
74
74
  "simple-git-hooks": {
75
75
  "pre-commit": "pnpm lint-staged"