@opentiny/tiny-engine-canvas 2.7.0-alpha.0 → 2.7.0-alpha.2

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.
@@ -3,7 +3,7 @@ const u = (e, n) => {
3
3
  for (const [o, t] of n)
4
4
  r[o] = t;
5
5
  return r;
6
- }, d = "data-uid", f = "data-tag", l = "loop-id", p = "data-ia-uid", y = {
6
+ }, f = "data-uid", d = "data-tag", l = "loop-id", p = "data-ia-uid", y = {
7
7
  DESIGN: "design"
8
8
  }, w = (e, n = document) => new Promise((r, o) => {
9
9
  const t = n.createElement("script");
@@ -48,7 +48,7 @@ const u = (e, n) => {
48
48
  window.TinyLowcodeComponent[t] = o[i];
49
49
  else {
50
50
  const s = i;
51
- window.TinyLowcodeComponent[t] = s != null && s.destructuring && (s != null && s.exportName) ? o[s.exportName] : o;
51
+ window.TinyLowcodeComponent[t] = s != null && s.destructuring && (s != null && s.exportName) ? o[s.exportName] : o == null ? void 0 : o.default;
52
52
  }
53
53
  });
54
54
  };
@@ -77,12 +77,12 @@ function _(e) {
77
77
  }
78
78
  export {
79
79
  y as D,
80
- d as N,
80
+ f as N,
81
81
  u as _,
82
82
  l as a,
83
83
  m as b,
84
84
  w as c,
85
- f as d,
85
+ d,
86
86
  p as e,
87
87
  a as f,
88
88
  O as g,
@@ -1 +1 @@
1
- {"version":3,"file":"_commonjsHelpers.js","sources":["../common/src/constant.ts","../common/src/utils.ts"],"sourcesContent":["export const NODE_UID = 'data-uid'\nexport const NODE_TAG = 'data-tag'\nexport const NODE_LOOP = 'loop-id'\nexport const NODE_INACTIVE_UID = 'data-ia-uid'\n\nexport const DESIGN_MODE = {\n DESIGN: 'design', // 设计态\n RUNTIME: 'runtime' // 运行态\n}\n","// 定义全局类型声明\ndeclare global {\n interface Window {\n TinyComponentLibs: Record<string, any>\n TinyLowcodeComponent: Record<string, any>\n }\n}\n\n// 定义组件配置接口\ninterface ComponentConfig {\n destructuring?: boolean\n exportName?: string\n}\n\n// 定义组件依赖接口\ninterface ComponentDependency {\n package?: string\n script?: string\n components: Record<string, string | ComponentConfig>\n}\n\n// 定义动态导入参数接口\ninterface DynamicImportParams {\n pkg: string\n script?: string\n}\n\nexport const addScript = (src: string, doc = document): Promise<unknown> => {\n return new Promise((resolve, reject) => {\n const script = doc.createElement('script')\n\n script.setAttribute('type', 'text/javascript')\n script.setAttribute('src', src)\n\n script.async = false\n\n script.onload = resolve\n script.onerror = reject\n\n doc.querySelector('head')!.appendChild(script)\n })\n}\n\nexport const addStyle = (href: string, doc = document): Promise<unknown> => {\n return new Promise((resolve, reject) => {\n const link = doc.createElement('link')\n\n link.setAttribute('href', href)\n link.setAttribute('rel', 'stylesheet')\n\n link.onload = resolve\n link.onerror = reject\n\n doc.querySelector('head')!.appendChild(link)\n })\n}\n\nexport const copyObject = (node: any): any => {\n if (typeof node === 'object') {\n if (!node) {\n return node\n }\n\n if (Array.isArray(node)) {\n return node.map(copyObject)\n }\n\n const res: Record<string, any> = {}\n Object.keys(node).forEach((key) => {\n res[key] = copyObject(node[key])\n })\n\n const { componentName, id } = res as { componentName?: string; id?: string }\n\n if (componentName && id) {\n delete res.id\n }\n\n return res\n }\n\n return node\n}\n\n/**\n * 动态导入获取组件库模块\n * @param {DynamicImportParams} param 模块参数,包含pkg模块名称和script模块的cdn地址\n * @returns {Promise<any>} 返回组件库模块\n */\nconst dynamicImportComponentLib = async ({ pkg, script }: DynamicImportParams): Promise<any> => {\n if (window.TinyComponentLibs[pkg]) {\n return window.TinyComponentLibs[pkg]\n }\n\n if (!script) {\n return {}\n }\n\n const href = window.parent.location.href || location.href // 这里要取父窗口的地址,因为在iframe中href是about:srcdoc\n const scriptUrl = script.startsWith('.') ? new URL(script, href).href : script\n\n if (!window.TinyComponentLibs[pkg]) {\n const modules = await import(/* @vite-ignore */ scriptUrl)\n\n window.TinyComponentLibs[pkg] = modules\n }\n\n return window.TinyComponentLibs[pkg]\n}\n\n/**\n * 获取组件对象并缓存,组件渲染时使用\n * @param {ComponentDependency} param 组件的依赖配置对象\n * @returns {Promise<void>} 无返回值的Promise\n */\nexport const getComponents = async ({ package: pkg, script, components }: ComponentDependency): Promise<void> => {\n if (!pkg) return\n\n const modules = await dynamicImportComponentLib({ pkg, script })\n\n Object.entries(components).forEach(([componentId, item]) => {\n if (!window.TinyLowcodeComponent[componentId]) {\n // 兼容老版本 - 当item是字符串时,直接作为模块导出名使用\n if (typeof item === 'string') {\n window.TinyLowcodeComponent[componentId] = modules[item]\n } else {\n // 当item是配置对象时,根据destructuring属性决定如何获取组件\n const config = item as ComponentConfig\n window.TinyLowcodeComponent[componentId] =\n config?.destructuring && config?.exportName ? modules[config.exportName] : modules\n }\n }\n })\n}\n"],"names":["NODE_UID","NODE_TAG","NODE_LOOP","NODE_INACTIVE_UID","DESIGN_MODE","addScript","src","doc","resolve","reject","script","addStyle","href","link","copyObject","node","res","key","componentName","id","dynamicImportComponentLib","pkg","scriptUrl","modules","getComponents","components","componentId","item","config"],"mappings":";;;;;GAAaA,IAAW,YACXC,IAAW,YACXC,IAAY,WACZC,IAAoB,eAEpBC,IAAc;AAAA,EACzB,QAAQ;AAEV,GCmBaC,IAAY,CAACC,GAAaC,IAAM,aACpC,IAAI,QAAQ,CAACC,GAASC,MAAW;AAChC,QAAAC,IAASH,EAAI,cAAc,QAAQ;AAElC,EAAAG,EAAA,aAAa,QAAQ,iBAAiB,GACtCA,EAAA,aAAa,OAAOJ,CAAG,GAE9BI,EAAO,QAAQ,IAEfA,EAAO,SAASF,GAChBE,EAAO,UAAUD,GAEjBF,EAAI,cAAc,MAAM,EAAG,YAAYG,CAAM;AAAA,CAC9C,GAGUC,IAAW,CAACC,GAAcL,IAAM,aACpC,IAAI,QAAQ,CAACC,GAASC,MAAW;AAChC,QAAAI,IAAON,EAAI,cAAc,MAAM;AAEhC,EAAAM,EAAA,aAAa,QAAQD,CAAI,GACzBC,EAAA,aAAa,OAAO,YAAY,GAErCA,EAAK,SAASL,GACdK,EAAK,UAAUJ,GAEfF,EAAI,cAAc,MAAM,EAAG,YAAYM,CAAI;AAAA,CAC5C,GAGUC,IAAa,CAACC,MAAmB;AACxC,MAAA,OAAOA,KAAS,UAAU;AAC5B,QAAI,CAACA;AACI,aAAAA;AAGL,QAAA,MAAM,QAAQA,CAAI;AACb,aAAAA,EAAK,IAAID,CAAU;AAG5B,UAAME,IAA2B,CAAC;AAClC,WAAO,KAAKD,CAAI,EAAE,QAAQ,CAACE,MAAQ;AACjC,MAAAD,EAAIC,CAAG,IAAIH,EAAWC,EAAKE,CAAG,CAAC;AAAA,IAAA,CAChC;AAEK,UAAA,EAAE,eAAAC,GAAe,IAAAC,EAAA,IAAOH;AAE9B,WAAIE,KAAiBC,KACnB,OAAOH,EAAI,IAGNA;AAAA,EAAA;AAGF,SAAAD;AACT,GAOMK,IAA4B,OAAO,EAAE,KAAAC,GAAK,QAAAX,QAAgD;AAC1F,MAAA,OAAO,kBAAkBW,CAAG;AACvB,WAAA,OAAO,kBAAkBA,CAAG;AAGrC,MAAI,CAACX;AACH,WAAO,CAAC;AAGV,QAAME,IAAO,OAAO,OAAO,SAAS,QAAQ,SAAS,MAC/CU,IAAYZ,EAAO,WAAW,GAAG,IAAI,IAAI,IAAIA,GAAQE,CAAI,EAAE,OAAOF;AAExE,MAAI,CAAC,OAAO,kBAAkBW,CAAG,GAAG;AAClC,UAAME,IAAU,MAAM;AAAA;AAAA,MAA0BD;AAAA;AAEzC,WAAA,kBAAkBD,CAAG,IAAIE;AAAA,EAAA;AAG3B,SAAA,OAAO,kBAAkBF,CAAG;AACrC,GAOaG,IAAgB,OAAO,EAAE,SAASH,GAAK,QAAAX,GAAQ,YAAAe,QAAqD;AAC/G,MAAI,CAACJ,EAAK;AAEV,QAAME,IAAU,MAAMH,EAA0B,EAAE,KAAAC,GAAK,QAAAX,GAAQ;AAExD,SAAA,QAAQe,CAAU,EAAE,QAAQ,CAAC,CAACC,GAAaC,CAAI,MAAM;AAC1D,QAAI,CAAC,OAAO,qBAAqBD,CAAW;AAEtC,UAAA,OAAOC,KAAS;AAClB,eAAO,qBAAqBD,CAAW,IAAIH,EAAQI,CAAI;AAAA,WAClD;AAEL,cAAMC,IAASD;AACR,eAAA,qBAAqBD,CAAW,IACrCE,KAAA,QAAAA,EAAQ,kBAAiBA,KAAA,QAAAA,EAAQ,cAAaL,EAAQK,EAAO,UAAU,IAAIL;AAAA,MAAA;AAAA,EAEjF,CACD;AACH;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"_commonjsHelpers.js","sources":["../common/src/constant.ts","../common/src/utils.ts"],"sourcesContent":["export const NODE_UID = 'data-uid'\nexport const NODE_TAG = 'data-tag'\nexport const NODE_LOOP = 'loop-id'\nexport const NODE_INACTIVE_UID = 'data-ia-uid'\n\nexport const DESIGN_MODE = {\n DESIGN: 'design', // 设计态\n RUNTIME: 'runtime' // 运行态\n}\n","// 定义全局类型声明\ndeclare global {\n interface Window {\n TinyComponentLibs: Record<string, any>\n TinyLowcodeComponent: Record<string, any>\n }\n}\n\n// 定义组件配置接口\ninterface ComponentConfig {\n destructuring?: boolean\n exportName?: string\n}\n\n// 定义组件依赖接口\ninterface ComponentDependency {\n package?: string\n script?: string\n components: Record<string, string | ComponentConfig>\n}\n\n// 定义动态导入参数接口\ninterface DynamicImportParams {\n pkg: string\n script?: string\n}\n\nexport const addScript = (src: string, doc = document): Promise<unknown> => {\n return new Promise((resolve, reject) => {\n const script = doc.createElement('script')\n\n script.setAttribute('type', 'text/javascript')\n script.setAttribute('src', src)\n\n script.async = false\n\n script.onload = resolve\n script.onerror = reject\n\n doc.querySelector('head')!.appendChild(script)\n })\n}\n\nexport const addStyle = (href: string, doc = document): Promise<unknown> => {\n return new Promise((resolve, reject) => {\n const link = doc.createElement('link')\n\n link.setAttribute('href', href)\n link.setAttribute('rel', 'stylesheet')\n\n link.onload = resolve\n link.onerror = reject\n\n doc.querySelector('head')!.appendChild(link)\n })\n}\n\nexport const copyObject = (node: any): any => {\n if (typeof node === 'object') {\n if (!node) {\n return node\n }\n\n if (Array.isArray(node)) {\n return node.map(copyObject)\n }\n\n const res: Record<string, any> = {}\n Object.keys(node).forEach((key) => {\n res[key] = copyObject(node[key])\n })\n\n const { componentName, id } = res as { componentName?: string; id?: string }\n\n if (componentName && id) {\n delete res.id\n }\n\n return res\n }\n\n return node\n}\n\n/**\n * 动态导入获取组件库模块\n * @param {DynamicImportParams} param 模块参数,包含pkg模块名称和script模块的cdn地址\n * @returns {Promise<any>} 返回组件库模块\n */\nconst dynamicImportComponentLib = async ({ pkg, script }: DynamicImportParams): Promise<any> => {\n if (window.TinyComponentLibs[pkg]) {\n return window.TinyComponentLibs[pkg]\n }\n\n if (!script) {\n return {}\n }\n\n const href = window.parent.location.href || location.href // 这里要取父窗口的地址,因为在iframe中href是about:srcdoc\n const scriptUrl = script.startsWith('.') ? new URL(script, href).href : script\n\n if (!window.TinyComponentLibs[pkg]) {\n const modules = await import(/* @vite-ignore */ scriptUrl)\n\n window.TinyComponentLibs[pkg] = modules\n }\n\n return window.TinyComponentLibs[pkg]\n}\n\n/**\n * 获取组件对象并缓存,组件渲染时使用\n * @param {ComponentDependency} param 组件的依赖配置对象\n * @returns {Promise<void>} 无返回值的Promise\n */\nexport const getComponents = async ({ package: pkg, script, components }: ComponentDependency): Promise<void> => {\n if (!pkg) return\n\n const modules = await dynamicImportComponentLib({ pkg, script })\n\n Object.entries(components).forEach(([componentId, item]) => {\n if (!window.TinyLowcodeComponent[componentId]) {\n // 兼容老版本 - 当item是字符串时,直接作为模块导出名使用\n if (typeof item === 'string') {\n window.TinyLowcodeComponent[componentId] = modules[item]\n } else {\n // 当item是配置对象时,根据destructuring属性决定如何获取组件\n const config = item as ComponentConfig\n window.TinyLowcodeComponent[componentId] =\n config?.destructuring && config?.exportName ? modules[config.exportName] : modules?.default\n }\n }\n })\n}\n"],"names":["NODE_UID","NODE_TAG","NODE_LOOP","NODE_INACTIVE_UID","DESIGN_MODE","addScript","src","doc","resolve","reject","script","addStyle","href","link","copyObject","node","res","key","componentName","id","dynamicImportComponentLib","pkg","scriptUrl","modules","getComponents","components","componentId","item","config"],"mappings":";;;;;GAAaA,IAAW,YACXC,IAAW,YACXC,IAAY,WACZC,IAAoB,eAEpBC,IAAc;AAAA,EACzB,QAAQ;AAEV,GCmBaC,IAAY,CAACC,GAAaC,IAAM,aACpC,IAAI,QAAQ,CAACC,GAASC,MAAW;AACtC,QAAMC,IAASH,EAAI,cAAc,QAAQ;AAEzC,EAAAG,EAAO,aAAa,QAAQ,iBAAiB,GAC7CA,EAAO,aAAa,OAAOJ,CAAG,GAE9BI,EAAO,QAAQ,IAEfA,EAAO,SAASF,GAChBE,EAAO,UAAUD,GAEjBF,EAAI,cAAc,MAAM,EAAG,YAAYG,CAAM;AAAA,CAC9C,GAGUC,IAAW,CAACC,GAAcL,IAAM,aACpC,IAAI,QAAQ,CAACC,GAASC,MAAW;AACtC,QAAMI,IAAON,EAAI,cAAc,MAAM;AAErC,EAAAM,EAAK,aAAa,QAAQD,CAAI,GAC9BC,EAAK,aAAa,OAAO,YAAY,GAErCA,EAAK,SAASL,GACdK,EAAK,UAAUJ,GAEfF,EAAI,cAAc,MAAM,EAAG,YAAYM,CAAI;AAAA,CAC5C,GAGUC,IAAa,CAACC,MAAmB;AAC5C,MAAI,OAAOA,KAAS,UAAU;AAC5B,QAAI,CAACA;AACH,aAAOA;AAGT,QAAI,MAAM,QAAQA,CAAI;AACpB,aAAOA,EAAK,IAAID,CAAU;AAG5B,UAAME,IAA2B,CAAA;AACjC,WAAO,KAAKD,CAAI,EAAE,QAAQ,CAACE,MAAQ;AACjC,MAAAD,EAAIC,CAAG,IAAIH,EAAWC,EAAKE,CAAG,CAAC;AAAA,IAAA,CAChC;AAED,UAAM,EAAE,eAAAC,GAAe,IAAAC,EAAA,IAAOH;AAE9B,WAAIE,KAAiBC,KACnB,OAAOH,EAAI,IAGNA;AAAA,EAAA;AAGT,SAAOD;AACT,GAOMK,IAA4B,OAAO,EAAE,KAAAC,GAAK,QAAAX,QAAgD;AAC9F,MAAI,OAAO,kBAAkBW,CAAG;AAC9B,WAAO,OAAO,kBAAkBA,CAAG;AAGrC,MAAI,CAACX;AACH,WAAO,CAAA;AAGT,QAAME,IAAO,OAAO,OAAO,SAAS,QAAQ,SAAS,MAC/CU,IAAYZ,EAAO,WAAW,GAAG,IAAI,IAAI,IAAIA,GAAQE,CAAI,EAAE,OAAOF;AAExE,MAAI,CAAC,OAAO,kBAAkBW,CAAG,GAAG;AAClC,UAAME,IAAU,MAAM;AAAA;AAAA,MAA0BD;AAAA;AAEhD,WAAO,kBAAkBD,CAAG,IAAIE;AAAA,EAAA;AAGlC,SAAO,OAAO,kBAAkBF,CAAG;AACrC,GAOaG,IAAgB,OAAO,EAAE,SAASH,GAAK,QAAAX,GAAQ,YAAAe,QAAqD;AAC/G,MAAI,CAACJ,EAAK;AAEV,QAAME,IAAU,MAAMH,EAA0B,EAAE,KAAAC,GAAK,QAAAX,GAAQ;AAE/D,SAAO,QAAQe,CAAU,EAAE,QAAQ,CAAC,CAACC,GAAaC,CAAI,MAAM;AAC1D,QAAI,CAAC,OAAO,qBAAqBD,CAAW;AAE1C,UAAI,OAAOC,KAAS;AAClB,eAAO,qBAAqBD,CAAW,IAAIH,EAAQI,CAAI;AAAA,WAClD;AAEL,cAAMC,IAASD;AACf,eAAO,qBAAqBD,CAAW,IACrCE,KAAA,QAAAA,EAAQ,kBAAiBA,KAAA,QAAAA,EAAQ,cAAaL,EAAQK,EAAO,UAAU,IAAIL,KAAA,gBAAAA,EAAS;AAAA,MAAA;AAAA,EAE1F,CACD;AACH;;;;;;;;;;;;;;;;;;;;;;;;"}