unika-components 1.2.5 → 1.2.6

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.
@@ -212,9 +212,6 @@
212
212
  color: css.value.color,
213
213
  opacity: css.value.opacity,
214
214
  borderRadius: px2rem(css.value.borderRadius || 0),
215
- borderWidth: px2rem(css.value.borderWidth || 0),
216
- borderStyle: css.value.borderStyle,
217
- borderColor: css.value.borderColor,
218
215
  boxShadow: properties.value.shadowSize
219
216
  ? `${px2rem(properties.value.shadowX)} ${px2rem(properties.value.shadowY)} ${px2rem(properties.value.shadowBlur)} ${properties.value.shadowColor}`
220
217
  : 'none'
@@ -526,7 +523,7 @@
526
523
 
527
524
  const _hoisted_1$l = ["data-id"];
528
525
  const _hoisted_2$i = ["innerHTML"];
529
- const _hoisted_3$g = /*#__PURE__*/vue.createElementVNode("div", { class: "svg-loading" }, "Loading...", -1 /* HOISTED */);
526
+ const _hoisted_3$h = /*#__PURE__*/vue.createElementVNode("div", { class: "svg-loading" }, "Loading...", -1 /* HOISTED */);
530
527
  const _hoisted_4$d = { class: "svg-error" };
531
528
 
532
529
  function render$m(_ctx, _cache, $props, $setup, $data, $options) {
@@ -558,7 +555,7 @@
558
555
  : (_ctx.isLoading)
559
556
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
560
557
  vue.createCommentVNode(" 加载状态 "),
561
- _hoisted_3$g
558
+ _hoisted_3$h
562
559
  ], 2112 /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */))
563
560
  : (_ctx.loadError)
564
561
  ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
@@ -897,7 +894,7 @@
897
894
 
898
895
  const _hoisted_1$k = { id: "audio" };
899
896
  const _hoisted_2$h = ["src"];
900
- const _hoisted_3$f = {
897
+ const _hoisted_3$g = {
901
898
  key: 1,
902
899
  class: "iconfont"
903
900
  };
@@ -922,7 +919,7 @@
922
919
  class: "music-icon",
923
920
  alt: "หยุดชั่วคราว"
924
921
  }, null, 8 /* PROPS */, _hoisted_2$h))
925
- : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$f, "❚❚"))
922
+ : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$g, "❚❚"))
926
923
  ], 64 /* STABLE_FRAGMENT */))
927
924
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
928
925
  (_ctx.playIconUrl)
@@ -1024,7 +1021,7 @@
1024
1021
  class: "video-container"
1025
1022
  };
1026
1023
  const _hoisted_2$g = ["src"];
1027
- const _hoisted_3$e = ["src"];
1024
+ const _hoisted_3$f = ["src"];
1028
1025
 
1029
1026
  function render$k(_ctx, _cache, $props, $setup, $data, $options) {
1030
1027
  return (vue.openBlock(), vue.createElementBlock("div", {
@@ -1059,7 +1056,7 @@
1059
1056
  src: _ctx.element.properties.src,
1060
1057
  alt: "Play button",
1061
1058
  class: "play-btn"
1062
- }, null, 8 /* PROPS */, _hoisted_3$e)
1059
+ }, null, 8 /* PROPS */, _hoisted_3$f)
1063
1060
  ], 4 /* STYLE */))
1064
1061
  ], 4 /* STYLE */)
1065
1062
  ], 4 /* STYLE */))
@@ -1193,7 +1190,7 @@
1193
1190
  key: 0,
1194
1191
  class: "can-wrap"
1195
1192
  };
1196
- const _hoisted_3$d = { class: "can-top" };
1193
+ const _hoisted_3$e = { class: "can-top" };
1197
1194
  const _hoisted_4$b = { class: "can-main" };
1198
1195
  const _hoisted_5$a = { class: "can-date" };
1199
1196
  const _hoisted_6$8 = {
@@ -1235,7 +1232,7 @@
1235
1232
  }, [
1236
1233
  (_ctx.element.kind === 1)
1237
1234
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$f, [
1238
- vue.createElementVNode("div", _hoisted_3$d, [
1235
+ vue.createElementVNode("div", _hoisted_3$e, [
1239
1236
  vue.createElementVNode("div", {
1240
1237
  class: "can-left",
1241
1238
  style: vue.normalizeStyle({ color: _ctx.element.themeColor || '#ed5566' })
@@ -1405,6 +1402,7 @@
1405
1402
  app.component(script$n.name, script$n);
1406
1403
  };
1407
1404
 
1405
+ // @ts-nocheck
1408
1406
  var script$m = vue.defineComponent({
1409
1407
  name: 'uni-countdown',
1410
1408
  props: {
@@ -1572,6 +1570,7 @@
1572
1570
  vue.onUnmounted(() => {
1573
1571
  stopCountdown();
1574
1572
  });
1573
+ const isVertical = vue.computed(() => props.element.direction === 'vertical');
1575
1574
  // 容器样式
1576
1575
  const containerStyle = vue.computed(() => ({
1577
1576
  position: (props.element && props.element.css && props.element.css.position) || 'absolute',
@@ -1580,7 +1579,8 @@
1580
1579
  width: px2rem(props.element.css.width),
1581
1580
  height: px2rem(props.element.css.height),
1582
1581
  transform: `rotate(${props.element.css.transform}deg)`,
1583
- opacity: props.element.css.opacity
1582
+ opacity: props.element.css.opacity,
1583
+ overflow: 'visible',
1584
1584
  }));
1585
1585
  // 文本模式容器样式
1586
1586
  const textContainerStyle = vue.computed(() => ({
@@ -1589,6 +1589,10 @@
1589
1589
  borderRadius: px2rem(props.element.css.borderRadius || 0),
1590
1590
  borderStyle: props.element.css.borderStyle,
1591
1591
  borderWidth: px2rem(props.element.css.borderWidth || 0),
1592
+ display: isVertical.value ? 'flex' : undefined,
1593
+ flexDirection: isVertical.value ? 'column' : undefined,
1594
+ alignItems: isVertical.value ? 'center' : undefined,
1595
+ justifyContent: isVertical.value ? 'center' : undefined,
1592
1596
  }));
1593
1597
  // 文本内容样式
1594
1598
  const textContentStyle = vue.computed(() => ({
@@ -1601,8 +1605,13 @@
1601
1605
  const flipStyle = vue.computed(() => ({
1602
1606
  transform: getScaleValue(),
1603
1607
  opacity: props.element.css.opacity,
1604
- flexDirection: props.element.direction === 'vertical' ? 'column' : 'row',
1605
- alignItems: props.element.direction === 'center'
1608
+ display: 'flex',
1609
+ flexDirection: isVertical.value ? 'column' : 'row',
1610
+ alignItems: 'center',
1611
+ justifyContent: 'center',
1612
+ width: '100%',
1613
+ height: isVertical.value ? 'auto' : '100%',
1614
+ minHeight: isVertical.value ? '100%' : undefined,
1606
1615
  }));
1607
1616
  // 获取缩放值
1608
1617
  const getScaleValue = () => {
@@ -1619,7 +1628,8 @@
1619
1628
  borderWidth: px2rem(props.element.css.borderWidth || 0),
1620
1629
  borderRadius: px2rem(props.element.css.borderRadius || 0),
1621
1630
  backgroundColor: props.element.css.backgroundColor,
1622
- margin: props.element.direction === 'vertical' ? px2rem(6) + ' 0' : '0 ' + px2rem(6)
1631
+ margin: isVertical.value ? `${px2rem(6)} 0` : `0 ${px2rem(6)}`,
1632
+ flexShrink: 0,
1623
1633
  }));
1624
1634
  // 数字样式
1625
1635
  const numStyle = vue.computed(() => ({
@@ -1686,7 +1696,7 @@
1686
1696
 
1687
1697
  const _hoisted_1$h = ["data-id", "data-pid", "data-type", "data-show", "pid", "type", "layername", "sign", "signsort"];
1688
1698
  const _hoisted_2$e = ["data-direction"];
1689
- const _hoisted_3$c = { class: "c-wrap" };
1699
+ const _hoisted_3$d = { class: "c-wrap" };
1690
1700
  const _hoisted_4$a = { class: "c-num c-left" };
1691
1701
  const _hoisted_5$9 = { class: "flex-wrap" };
1692
1702
  const _hoisted_6$7 = { class: "c-num c-right" };
@@ -1749,7 +1759,7 @@
1749
1759
  class: "c-com c-day",
1750
1760
  style: vue.normalizeStyle(_ctx.comStyle)
1751
1761
  }, [
1752
- vue.createElementVNode("div", _hoisted_3$c, [
1762
+ vue.createElementVNode("div", _hoisted_3$d, [
1753
1763
  vue.createElementVNode("div", _hoisted_4$a, [
1754
1764
  vue.createElementVNode("div", _hoisted_5$9, [
1755
1765
  (_ctx.days >= 100)
@@ -1981,7 +1991,7 @@
1981
1991
 
1982
1992
  const _hoisted_1$g = ["data-id", "data-pid", "data-type", "data-show", "pid", "type", "layername", "sign", "signsort"];
1983
1993
  const _hoisted_2$d = ["innerHTML"];
1984
- const _hoisted_3$b = /*#__PURE__*/vue.createElementVNode("div", { class: "mask-map" }, null, -1 /* HOISTED */);
1994
+ const _hoisted_3$c = /*#__PURE__*/vue.createElementVNode("div", { class: "mask-map" }, null, -1 /* HOISTED */);
1985
1995
 
1986
1996
  function render$h(_ctx, _cache, $props, $setup, $data, $options) {
1987
1997
  return (vue.openBlock(), vue.createElementBlock("div", {
@@ -2018,7 +2028,7 @@
2018
2028
  }, null, 8 /* PROPS */, _hoisted_2$d),
2019
2029
  vue.createCommentVNode(" 隐藏的辅助元素 "),
2020
2030
  vue.createCommentVNode(" <div :id=\"'teng_' + element.id + Date.now()\" class=\"center-map\" style=\"display: none;\"></div>\n <div :id=\"'bai_' + element.id + Date.now()\" class=\"center-map\" style=\"display: none;\"></div> "),
2021
- _hoisted_3$b
2031
+ _hoisted_3$c
2022
2032
  ], 4 /* STYLE */))
2023
2033
  : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
2024
2034
  vue.createCommentVNode(" 导航按钮 "),
@@ -23056,13 +23066,13 @@
23056
23066
  var DataView$1 = DataView;
23057
23067
  var Promise$1 = getNative(root$1, "Promise");
23058
23068
  var Promise$2 = Promise$1;
23059
- var Set = getNative(root$1, "Set");
23060
- var Set$1 = Set;
23069
+ var Set$1 = getNative(root$1, "Set");
23070
+ var Set$1$1 = Set$1;
23061
23071
  var mapTag$4 = "[object Map]", objectTag$2 = "[object Object]", promiseTag = "[object Promise]", setTag$4 = "[object Set]", weakMapTag$1 = "[object WeakMap]";
23062
23072
  var dataViewTag$3 = "[object DataView]";
23063
- var dataViewCtorString = toSource(DataView$1), mapCtorString = toSource(Map$1), promiseCtorString = toSource(Promise$2), setCtorString = toSource(Set$1), weakMapCtorString = toSource(WeakMap$1);
23073
+ var dataViewCtorString = toSource(DataView$1), mapCtorString = toSource(Map$1), promiseCtorString = toSource(Promise$2), setCtorString = toSource(Set$1$1), weakMapCtorString = toSource(WeakMap$1);
23064
23074
  var getTag = baseGetTag;
23065
- if (DataView$1 && getTag(new DataView$1(new ArrayBuffer(1))) != dataViewTag$3 || Map$1 && getTag(new Map$1()) != mapTag$4 || Promise$2 && getTag(Promise$2.resolve()) != promiseTag || Set$1 && getTag(new Set$1()) != setTag$4 || WeakMap$1 && getTag(new WeakMap$1()) != weakMapTag$1) {
23075
+ if (DataView$1 && getTag(new DataView$1(new ArrayBuffer(1))) != dataViewTag$3 || Map$1 && getTag(new Map$1()) != mapTag$4 || Promise$2 && getTag(Promise$2.resolve()) != promiseTag || Set$1$1 && getTag(new Set$1$1()) != setTag$4 || WeakMap$1 && getTag(new WeakMap$1()) != weakMapTag$1) {
23066
23076
  getTag = function(value) {
23067
23077
  var result = baseGetTag(value), Ctor = result == objectTag$2 ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
23068
23078
  if (ctorString) {
@@ -27995,7 +28005,7 @@
27995
28005
  ref: "toolbar"
27996
28006
  };
27997
28007
  const _hoisted_2$b = { class: "toolbar" };
27998
- const _hoisted_3$a = { class: "bar-left" };
28008
+ const _hoisted_3$b = { class: "bar-left" };
27999
28009
  const _hoisted_4$9 = /*#__PURE__*/vue.createElementVNode("img", { src: "https://h5cdn.unika.cc/static/img/uniComponents/hide.png" }, null, -1 /* HOISTED */);
28000
28010
  const _hoisted_5$8 = [
28001
28011
  _hoisted_4$9
@@ -28101,7 +28111,7 @@
28101
28111
  vue.createCommentVNode(" 底部工具栏 "),
28102
28112
  vue.createElementVNode("div", _hoisted_1$b, [
28103
28113
  vue.createElementVNode("div", _hoisted_2$b, [
28104
- vue.withDirectives(vue.createElementVNode("div", _hoisted_3$a, [
28114
+ vue.withDirectives(vue.createElementVNode("div", _hoisted_3$b, [
28105
28115
  vue.createElementVNode("input", {
28106
28116
  type: "text",
28107
28117
  placeholder: "ข้อความอวยพร..",
@@ -28651,6 +28661,10 @@
28651
28661
  type: Object,
28652
28662
  required: true
28653
28663
  },
28664
+ isEditing: {
28665
+ type: Boolean,
28666
+ default: false,
28667
+ },
28654
28668
  },
28655
28669
  setup(props) {
28656
28670
  const inputValue = vue.ref('');
@@ -28690,9 +28704,16 @@
28690
28704
  });
28691
28705
  // 失去焦点时验证
28692
28706
  const handleBlur = () => {
28707
+ if (props.isEditing)
28708
+ return;
28693
28709
  isTouched.value = true;
28694
28710
  validate();
28695
28711
  };
28712
+ const onInputPointerDown = (e) => {
28713
+ if (!props.isEditing)
28714
+ return;
28715
+ e.preventDefault();
28716
+ };
28696
28717
  // 值变化时验证(如果已经触摸过)
28697
28718
  vue.watch(inputValue, () => {
28698
28719
  if (isTouched.value) {
@@ -28735,20 +28756,24 @@
28735
28756
  containerStyles,
28736
28757
  wrapperStyles,
28737
28758
  inputStyles,
28738
- handleBlur
28759
+ handleBlur,
28760
+ onInputPointerDown,
28761
+ isEditing: vue.computed(() => props.isEditing),
28739
28762
  };
28740
28763
  }
28741
28764
  });
28742
28765
 
28743
- const _hoisted_1$a = {
28766
+ const _hoisted_1$a = ["data-id"];
28767
+ const _hoisted_2$a = {
28744
28768
  key: 0,
28745
28769
  class: "required-marker"
28746
28770
  };
28747
- const _hoisted_2$a = ["type", "placeholder"];
28771
+ const _hoisted_3$a = ["type", "placeholder", "readonly", "tabindex"];
28748
28772
 
28749
28773
  function render$b(_ctx, _cache, $props, $setup, $data, $options) {
28750
28774
  return (vue.openBlock(), vue.createElementBlock("div", {
28751
- class: "ele-form form-input eles",
28775
+ class: vue.normalizeClass(["ele-form form-input eles", { 'form-input--editing': _ctx.isEditing }]),
28776
+ "data-id": _ctx.element.id,
28752
28777
  style: vue.normalizeStyle(_ctx.containerStyles)
28753
28778
  }, [
28754
28779
  vue.createElementVNode("div", {
@@ -28759,20 +28784,24 @@
28759
28784
  })
28760
28785
  }, [
28761
28786
  (_ctx.required)
28762
- ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_1$a, "*"))
28787
+ ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$a, "*"))
28763
28788
  : vue.createCommentVNode("v-if", true),
28764
28789
  vue.withDirectives(vue.createElementVNode("input", {
28765
28790
  type: _ctx.inputType,
28766
28791
  placeholder: _ctx.title,
28767
28792
  "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => ((_ctx.inputValue) = $event)),
28768
28793
  style: vue.normalizeStyle(_ctx.inputStyles),
28769
- onBlur: _cache[1] || (_cache[1] = (...args) => (_ctx.handleBlur && _ctx.handleBlur(...args))),
28770
- class: "dynamic-placeholder-input"
28771
- }, null, 44 /* STYLE, PROPS, NEED_HYDRATION */, _hoisted_2$a), [
28794
+ readonly: _ctx.isEditing,
28795
+ tabindex: _ctx.isEditing ? -1 : undefined,
28796
+ class: "dynamic-placeholder-input",
28797
+ onMousedown: _cache[1] || (_cache[1] = (...args) => (_ctx.onInputPointerDown && _ctx.onInputPointerDown(...args))),
28798
+ onTouchstart: _cache[2] || (_cache[2] = (...args) => (_ctx.onInputPointerDown && _ctx.onInputPointerDown(...args))),
28799
+ onBlur: _cache[3] || (_cache[3] = (...args) => (_ctx.handleBlur && _ctx.handleBlur(...args)))
28800
+ }, null, 44 /* STYLE, PROPS, NEED_HYDRATION */, _hoisted_3$a), [
28772
28801
  [vue.vModelDynamic, _ctx.inputValue]
28773
28802
  ])
28774
28803
  ], 4 /* STYLE */)
28775
- ], 4 /* STYLE */))
28804
+ ], 14 /* CLASS, STYLE, PROPS */, _hoisted_1$a))
28776
28805
  }
28777
28806
 
28778
28807
  script$f.render = render$b;
@@ -31218,15 +31247,33 @@
31218
31247
  app.component(script$2.name, script$2);
31219
31248
  };
31220
31249
 
31250
+ const PLACEHOLDER_INVITE_STATE_IDS = new Set(['invite-default-1']);
31251
+ function isPlaceholderInviteStateId(stateId) {
31252
+ if (!stateId)
31253
+ return false;
31254
+ if (PLACEHOLDER_INVITE_STATE_IDS.has(stateId))
31255
+ return true;
31256
+ return stateId.startsWith('invite-default-');
31257
+ }
31221
31258
  function isValidInviteItem(item) {
31222
31259
  return !!(item && item.img1 && item.name);
31223
31260
  }
31261
+ function pickInviteItemByState(invite, stateId) {
31262
+ const items = invite.items || [];
31263
+ const direct = items.find((i) => i.id === stateId);
31264
+ if (direct)
31265
+ return direct;
31266
+ // 兼容模板占位 id:条目已迁移为随机 id 时,旧链接仍只有一条送呈
31267
+ if (isPlaceholderInviteStateId(stateId) && items.length === 1) {
31268
+ return items[0];
31269
+ }
31270
+ return undefined;
31271
+ }
31224
31272
  /** 根据 URL state 从 global.invite 解析单条送呈渲染数据 */
31225
31273
  function resolveInviteRenderData(invite, stateId) {
31226
31274
  if (!stateId || !invite || !invite.open)
31227
31275
  return null;
31228
- const items = invite.items || [];
31229
- const item = items.find((i) => i.id === stateId);
31276
+ const item = pickInviteItemByState(invite, stateId);
31230
31277
  if (!isValidInviteItem(item))
31231
31278
  return null;
31232
31279
  return {
@@ -31362,6 +31409,11 @@
31362
31409
  emit('dismiss');
31363
31410
  }, delay);
31364
31411
  };
31412
+ vue.onMounted(() => {
31413
+ // #region agent log
31414
+ fetch('http://127.0.0.1:7825/ingest/b036d6f9-5c3e-4f40-bb7d-3367a145a4d2', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '6d48a4' }, body: JSON.stringify({ sessionId: '6d48a4', runId: 'pre-fix', hypothesisId: 'H4', location: 'UniInvite.vue:onMounted', message: 'invite visibility', data: { visible: visible.value, itemId: item.value ? item.value.id : null, hasImg1: !!(item.value && item.value.img1), shouldShow: shouldShow.value }, timestamp: Date.now() }) }).catch(() => { });
31415
+ // #endregion
31416
+ });
31365
31417
  return {
31366
31418
  visible,
31367
31419
  isOpening,
@@ -31583,7 +31635,18 @@
31583
31635
  const personalData = vue.computed(() => workData.value.personalData || {});
31584
31636
  const global = vue.computed(() => workData.value.global || {});
31585
31637
  const pages = vue.computed(() => workData.value.pages || []);
31586
- const inviteRender = vue.computed(() => getInviteRenderFromGlobal(global.value.invite));
31638
+ const inviteRender = vue.computed(() => {
31639
+ const invite = global.value.invite;
31640
+ const fromRenderItem = getInviteRenderFromGlobal(invite);
31641
+ if (fromRenderItem)
31642
+ return fromRenderItem;
31643
+ if (typeof window !== 'undefined' && invite) {
31644
+ const stateId = new URLSearchParams(window.location.search).get('state');
31645
+ if (stateId)
31646
+ return resolveInviteRenderData(invite, stateId);
31647
+ }
31648
+ return null;
31649
+ });
31587
31650
  /** 仅 member_level === 1 显示水印;2、3 及缺省等均不显示 */
31588
31651
  const shouldShowWatermark = vue.computed(() => Number(global.value.member_level) === 1);
31589
31652
  // 长页模式
@@ -31806,6 +31869,9 @@
31806
31869
  vue.nextTick(() => {
31807
31870
  setTimeout(runTextAnimationsForCurrentPage, 150);
31808
31871
  });
31872
+ // #region agent log
31873
+ fetch('http://127.0.0.1:7825/ingest/b036d6f9-5c3e-4f40-bb7d-3367a145a4d2', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '6d48a4' }, body: JSON.stringify({ sessionId: '6d48a4', runId: 'pre-fix', hypothesisId: 'H2', location: 'WorkRender.vue:onMounted', message: 'invite render computed', data: { hasInviteRender: !!inviteRender.value, renderItemId: global.value.invite && global.value.invite.renderItem ? global.value.invite.renderItem.id : null, urlState: typeof window !== 'undefined' ? new URLSearchParams(window.location.search).get('state') : null }, timestamp: Date.now() }) }).catch(() => { });
31874
+ // #endregion
31809
31875
  });
31810
31876
  vue.onBeforeUnmount(() => {
31811
31877
  if (global.value.cat === 'long_page') {
@@ -32681,7 +32747,7 @@
32681
32747
  return INVITE_COVER_TEMPLATES.find(t => t.id === id);
32682
32748
  }
32683
32749
 
32684
- const defaultItemId = 'invite-default-1';
32750
+ const defaultItemId = 'invite-default-1'; // template placeholder — replace with random id at runtime
32685
32751
  const defaultTpl = INVITE_COVER_TEMPLATES[0];
32686
32752
  /** global.invite 默认结构 — 仅含渲染字段,不含 templates/phrases */
32687
32753
  const inviteDefaultProps = {
@@ -32704,6 +32770,654 @@
32704
32770
  ],
32705
32771
  };
32706
32772
 
32773
+ const musicDefaultProps = {
32774
+ // url: "https://h5cdn.unika.cc/static/img/uniComponents/MarryMe.mp3",
32775
+ url: "",
32776
+ name: "Love Paradise",
32777
+ music_id: '2302',
32778
+ bgcolor: "rgba(128, 90, 218, 0.19)",
32779
+ iconUrl: "https://h5cdn.unika.cc/static/assets/musicBackground/musicBackground-1.png",
32780
+ isGlobal: false,
32781
+ };
32782
+
32783
+ const calendarDefaultProps = {
32784
+ id: '1748877692931',
32785
+ pid: '',
32786
+ type: 'calendar',
32787
+ layerName: '日历14',
32788
+ endTime: '2025/05/22',
32789
+ language: 'Chinese',
32790
+ kind: 1,
32791
+ sign: true,
32792
+ signSort: 4,
32793
+ showSize: 'middle',
32794
+ themeColor: '#ed5566',
32795
+ heartColor: 'rgba(151, 237, 85, 1)',
32796
+ heartAni: true,
32797
+ dateColor: '#666',
32798
+ css: {
32799
+ borderWidth: 2,
32800
+ borderStyle: 'solid',
32801
+ borderColor: '#ed5566',
32802
+ opacity: 0.98,
32803
+ backgroundColor: '#fff',
32804
+ width: 325,
32805
+ height: 325,
32806
+ borderRadius: 0,
32807
+ top: 148.5625,
32808
+ left: 28.4375,
32809
+ transform: 0,
32810
+ animation2: 'fadeInDown 1.5s ease 0.0s 1 normal backwards running',
32811
+ animation: 'fadeInDown 1.5s ease 0.0s 1 normal backwards running'
32812
+ },
32813
+ properties: {
32814
+ visible: true,
32815
+ isLock: false,
32816
+ required: true,
32817
+ musicName: '',
32818
+ musicLink: '',
32819
+ musicHash: '',
32820
+ shadowSize: 0,
32821
+ shadowColor: '#999999',
32822
+ shadowX: 0,
32823
+ shadowY: 0,
32824
+ shadowBlur: 0,
32825
+ shadowPoint: 270,
32826
+ aniOrigin: 'default',
32827
+ animations: [
32828
+ {
32829
+ animate: 'fadeInDown',
32830
+ count: 1,
32831
+ timing: 'ease',
32832
+ loop: false,
32833
+ delay: 0,
32834
+ duration: 1.5,
32835
+ name: '从上淡入',
32836
+ order: 'normal',
32837
+ type: 'normal',
32838
+ aniType: 'entry',
32839
+ allDelay: '0.0',
32840
+ id: 80102
32841
+ }
32842
+ ],
32843
+ textAni: []
32844
+ },
32845
+ triggers: {
32846
+ event: 'music',
32847
+ link: 'http://www.baidu.com',
32848
+ go: 4,
32849
+ phone: '0622222222',
32850
+ musicName: '告白气球',
32851
+ musicLink: 'https://amp3.hunbei.com/mp3/qiniu/gaobaiqiqiu.mp3',
32852
+ musicHash: '',
32853
+ music_id: 2247,
32854
+ cat: 'sys',
32855
+ originalUrl: '',
32856
+ crop: null,
32857
+ },
32858
+ signType: 'time'
32859
+ };
32860
+
32861
+ const mapDefaultProps =
32862
+ // {
32863
+ // "id": '1714374739136',
32864
+ // "pid": "",
32865
+ // "type": "map",
32866
+ // "textContent": "",
32867
+ // "layerName": "地图20",
32868
+ // "btnName": "导航",
32869
+ // "sign": true,
32870
+ // "signSort": 4,
32871
+ // "mapStyle": "按钮",
32872
+ // "css": {
32873
+ // "borderWidth": 0,
32874
+ // "borderStyle": "solid",
32875
+ // "borderColor": "rgba(153, 153, 153, 1)",
32876
+ // "opacity": 1,
32877
+ // "fontSize": 30,
32878
+ // "color": "rgba(255, 255, 255, 1)",
32879
+ // "backgroundColor": "rgba(52, 68, 244, 1)",
32880
+ // "width": 220,
32881
+ // "height": 40,
32882
+ // "top": 378,
32883
+ // "left": 127.5,
32884
+ // "transform": 0,
32885
+ // "borderRadius": 0,
32886
+ // "animation2": "fadeIn 1.5s ease 1.0s 1 normal backwards running",
32887
+ // "animation": "fadeIn 1.5s ease 1.0s 1 normal backwards running"
32888
+ // },
32889
+ // "properties": {
32890
+ // "visible": true,
32891
+ // "isLock": false,
32892
+ // "required": true,
32893
+ // "musicName": "",
32894
+ // "musicLink": "",
32895
+ // "musicHash": "",
32896
+ // "shadowSize": 0,
32897
+ // "shadowColor": "#999999",
32898
+ // "shadowX": 0,
32899
+ // "shadowY": 0,
32900
+ // "shadowBlur": 0,
32901
+ // "shadowPoint": 270,
32902
+ // "aniOrigin": "default",
32903
+ // "animations": [
32904
+ // {
32905
+ // "animate": "fadeIn",
32906
+ // "count": 1,
32907
+ // "timing": "ease",
32908
+ // "loop": false,
32909
+ // "delay": 1,
32910
+ // "duration": 1.5,
32911
+ // "name": "淡入",
32912
+ // "order": "normal",
32913
+ // "type": "normal",
32914
+ // "aniType": "entry",
32915
+ // "allDelay": "1.0",
32916
+ // "id": 40976
32917
+ // }
32918
+ // ],
32919
+ // "lng": 120.298935,
32920
+ // "lat": 35.972687,
32921
+ // "location": "涵碧楼酒店",
32922
+ // "zoom": 15,
32923
+ // "type": "gaode",
32924
+ // "isMapEdit": 1,
32925
+ // "textAni": [],
32926
+ // "mapImg": "",
32927
+ // "mapChange": "120.298935|35.972687|15|205|205"
32928
+ // },
32929
+ // "signType": "ditu"
32930
+ // }
32931
+ {
32932
+ id: '',
32933
+ pid: '',
32934
+ type: 'map',
32935
+ textContent: '',
32936
+ layerName: 'map',
32937
+ btnName: 'Google Map',
32938
+ sign: true,
32939
+ signSort: 6,
32940
+ mapStyle: 'default',
32941
+ iframeUrl: '<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3875.8578774438038!2d100.54467957597053!3d13.72705308666229!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x30e29f2476aee2a3%3A0x6e91389d33667ab8!2sOne%20Bangkok!5e0!3m2!1szh-CN!2sth!4v1746974818429!5m2!1szh-CN!2sth" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>',
32942
+ url: 'https://maps.app.goo.gl/DbrLnbiWJt9DQa3y6',
32943
+ css: {
32944
+ borderWidth: 0,
32945
+ borderStyle: 'solid',
32946
+ borderColor: 'rgba(153, 153, 153, 1)',
32947
+ opacity: 1,
32948
+ fontSize: 30,
32949
+ color: 'rgba(255, 255, 255, 1)',
32950
+ backgroundColor: 'rgba(52, 68, 244, 1)',
32951
+ width: 220,
32952
+ height: 220,
32953
+ top: 196,
32954
+ left: 77,
32955
+ transform: 0,
32956
+ borderRadius: 0
32957
+ },
32958
+ properties: {
32959
+ visible: true,
32960
+ isLock: false,
32961
+ required: true,
32962
+ musicName: '',
32963
+ musicLink: '',
32964
+ musicHash: '',
32965
+ shadowSize: 0,
32966
+ shadowColor: '#999999',
32967
+ shadowX: 0,
32968
+ shadowY: 0,
32969
+ shadowBlur: 0,
32970
+ shadowPoint: 270,
32971
+ aniOrigin: 'default',
32972
+ animations: [],
32973
+ lng: 120.298935,
32974
+ lat: 35.972687,
32975
+ location: 'One Bangkok',
32976
+ zoom: 15,
32977
+ type: 'google',
32978
+ isMapEdit: 0
32979
+ },
32980
+ signType: 'map'
32981
+ };
32982
+
32983
+ const countdownDefaultProps = {
32984
+ id: '1749545996934',
32985
+ pid: '',
32986
+ type: 'countdown',
32987
+ layerName: 'countdown',
32988
+ deadline: '2025-11-15 13:00:00',
32989
+ endOption: 'zero',
32990
+ endText: '',
32991
+ sign: true,
32992
+ language: 'th',
32993
+ direction: 'across',
32994
+ signSort: 7,
32995
+ showType: 'flip',
32996
+ showSize: 'middle',
32997
+ css: {
32998
+ borderWidth: 0,
32999
+ borderStyle: 'solid',
33000
+ borderColor: 'rgba(153, 153, 153, 1)',
33001
+ opacity: 1,
33002
+ fontSize: 20,
33003
+ color: 'rgba(255, 255, 255, 1)',
33004
+ backgroundColor: '#000000',
33005
+ width: 375,
33006
+ height: 85,
33007
+ borderRadius: 5,
33008
+ top: 214.5,
33009
+ left: 35,
33010
+ transform: 0,
33011
+ textAlign: 'center',
33012
+ animation2: 'fadeInLeft 1.5s ease 0.0s 1 normal backwards running',
33013
+ animation: 'fadeInLeft 1.5s ease 0.0s 1 normal backwards running'
33014
+ },
33015
+ properties: {
33016
+ visible: true,
33017
+ isLock: false,
33018
+ required: true,
33019
+ musicName: '',
33020
+ musicLink: '',
33021
+ musicHash: '',
33022
+ shadowSize: 0,
33023
+ shadowColor: '#999999',
33024
+ shadowX: 0,
33025
+ shadowY: 0,
33026
+ shadowBlur: 0,
33027
+ shadowPoint: 270,
33028
+ aniOrigin: 'default',
33029
+ animations: [
33030
+ {
33031
+ animate: 'fadeInLeft',
33032
+ count: 1,
33033
+ timing: 'ease',
33034
+ loop: false,
33035
+ delay: 0,
33036
+ duration: 1.5,
33037
+ name: '从左淡入',
33038
+ order: 'normal',
33039
+ type: 'normal',
33040
+ aniType: 'entry',
33041
+ allDelay: '0.0',
33042
+ id: 9504
33043
+ }
33044
+ ],
33045
+ textAni: []
33046
+ },
33047
+ signType: 'time'
33048
+ };
33049
+
33050
+ const effectDefaultProps = {
33051
+ id: '1749564784798',
33052
+ pid: '',
33053
+ type: 'effect',
33054
+ layerName: 'effect',
33055
+ sign: false,
33056
+ signSort: 1,
33057
+ css: {
33058
+ width: 375,
33059
+ height: 595,
33060
+ left: 0,
33061
+ top: 52.5,
33062
+ opacity: 1,
33063
+ transform: 0
33064
+ },
33065
+ properties: {
33066
+ type: 'petal',
33067
+ speed: 'middle',
33068
+ count: 'middle',
33069
+ visible: true,
33070
+ isLock: false,
33071
+ animations: []
33072
+ }
33073
+ };
33074
+
33075
+ const shapeDefaultProps = {
33076
+ id: "1722563395007",
33077
+ pid: "",
33078
+ type: "shape",
33079
+ layerName: "形状3",
33080
+ sign: false,
33081
+ signSort: 1,
33082
+ overturnType: 0,
33083
+ css: {
33084
+ fontFamily: "kanit",
33085
+ fontSize: 12,
33086
+ opacity: 0.35,
33087
+ width: 303,
33088
+ height: 525,
33089
+ left: 35.632000000000005,
33090
+ top: 60,
33091
+ transform: 0,
33092
+ borderRadius: 0,
33093
+ borderWidth: 0,
33094
+ borderColor: "rgba(153, 153, 153, 1)",
33095
+ borderStyle: "solid",
33096
+ svgPathColor: ["rgba(255, 255, 255, 1)"],
33097
+ animation2: "fadeIn 3s ease 2.4s 1 normal backwards running",
33098
+ animation: "fadeIn 3s ease 2.4s 1 normal backwards running"
33099
+ },
33100
+ triggers: {
33101
+ event: "",
33102
+ link: "",
33103
+ go: "",
33104
+ phone: "",
33105
+ musicName: "",
33106
+ musicLink: "",
33107
+ musicHash: ""
33108
+ },
33109
+ properties: {
33110
+ visible: true,
33111
+ isLock: false,
33112
+ required: true,
33113
+ musicName: "",
33114
+ musicLink: "",
33115
+ musicHash: "",
33116
+ shadowSize: 0,
33117
+ shadowColor: "#999999",
33118
+ shadowX: 0,
33119
+ shadowY: 0,
33120
+ shadowBlur: 0,
33121
+ shadowPoint: 270,
33122
+ aniOrigin: "default",
33123
+ animations: [
33124
+ {
33125
+ animate: "fadeIn",
33126
+ count: 1,
33127
+ timing: "ease",
33128
+ loop: false,
33129
+ delay: 2.4,
33130
+ duration: 3,
33131
+ name: "淡入",
33132
+ order: "normal",
33133
+ type: "normal",
33134
+ aniType: "entry",
33135
+ allDelay: "2.4",
33136
+ id: 68742
33137
+ }
33138
+ ],
33139
+ src: "https://h5cdn.unika.cc/static/assets/shape/shape-1.svg",
33140
+ textAni: []
33141
+ }
33142
+ };
33143
+
33144
+ const lottieDefaultProps = {
33145
+ id: '1640154752919',
33146
+ pid: '',
33147
+ type: 'lottie',
33148
+ layerName: 'lottie动画11',
33149
+ sign: false,
33150
+ loop: false,
33151
+ delay: 2,
33152
+ aniPath: 'https://h5cdn.unika.cc/static/lotties/wedding.json',
33153
+ css: {
33154
+ left: 35.5,
33155
+ top: 105,
33156
+ width: 305,
33157
+ height: 305,
33158
+ opacity: 1,
33159
+ transform: 0
33160
+ },
33161
+ properties: {
33162
+ visible: true,
33163
+ isLock: false
33164
+ }
33165
+ };
33166
+
33167
+ const videoDefaultProps = {
33168
+ id: '',
33169
+ pid: '',
33170
+ type: 'video',
33171
+ videoCodeOri: '',
33172
+ videoCode: 'https://youtu.be/ER1R3lFOQFg',
33173
+ layerName: 'video',
33174
+ sign: true,
33175
+ signSort: 5,
33176
+ videoStyle: '固定播放',
33177
+ videoUrl: '',
33178
+ imgUrl: '',
33179
+ playMode: 'click',
33180
+ playLoop: true,
33181
+ playControls: true,
33182
+ videoType: 1,
33183
+ fullScreen: false,
33184
+ overturnType: 0,
33185
+ css: {
33186
+ width: 350,
33187
+ height: 197,
33188
+ left: 12,
33189
+ top: 268.5,
33190
+ opacity: 1,
33191
+ borderRadius: 0,
33192
+ borderWidth: 0,
33193
+ borderStyle: 'solid',
33194
+ borderColor: 'rgba(153, 153, 153, 1)',
33195
+ transform: 0,
33196
+ recordImgWidth: 350,
33197
+ recordImgHeight: 197,
33198
+ recordBtnWidth: 60,
33199
+ recordBtnHeight: 60
33200
+ },
33201
+ triggers: {
33202
+ event: '',
33203
+ link: '',
33204
+ go: null,
33205
+ phone: '',
33206
+ musicName: '',
33207
+ musicLink: '',
33208
+ musicHash: ''
33209
+ },
33210
+ properties: {
33211
+ visible: true,
33212
+ isLock: false,
33213
+ required: true,
33214
+ musicName: '',
33215
+ musicLink: '',
33216
+ musicHash: '',
33217
+ shadowSize: 0,
33218
+ shadowColor: '#999999',
33219
+ shadowX: 0,
33220
+ shadowY: 0,
33221
+ shadowBlur: 0,
33222
+ shadowPoint: 270,
33223
+ aniOrigin: 'default',
33224
+ animations: [],
33225
+ src: 'https://h5cdn.unika.cc/static/img/uniComponents/video_button1.png',
33226
+ cover: 'https://h5cdn.unika.cc/static/img/uniComponents/logo.png',
33227
+ realW: 0,
33228
+ realH: 0,
33229
+ maskId: ''
33230
+ },
33231
+ originalUrl: '',
33232
+ crop: ''
33233
+ };
33234
+
33235
+ const callDefaultProps = {
33236
+ id: '1749136706168',
33237
+ pid: '',
33238
+ type: 'call',
33239
+ tel: '18888888888',
33240
+ btnText: '一键拨号',
33241
+ layerName: '拨号16',
33242
+ sign: true,
33243
+ signSort: 6,
33244
+ css: {
33245
+ borderWidth: 0,
33246
+ borderStyle: 'solid',
33247
+ borderColor: 'rgba(153, 153, 153, 1)',
33248
+ opacity: 1,
33249
+ fontSize: 16,
33250
+ color: 'rgba(255, 255, 255, 1)',
33251
+ backgroundColor: 'rgb(33, 147, 255)',
33252
+ width: 120,
33253
+ height: 40,
33254
+ borderRadius: 10,
33255
+ top: 122,
33256
+ left: 155,
33257
+ transform: 0,
33258
+ },
33259
+ properties: {
33260
+ visible: true,
33261
+ isLock: false,
33262
+ required: true,
33263
+ musicName: '',
33264
+ musicLink: '',
33265
+ musicHash: '',
33266
+ shadowSize: 0,
33267
+ shadowColor: '#999999',
33268
+ shadowX: 0,
33269
+ shadowY: 0,
33270
+ shadowBlur: 0,
33271
+ shadowPoint: 270,
33272
+ aniOrigin: 'default',
33273
+ animations: [],
33274
+ }
33275
+ };
33276
+
33277
+ const buttonDefaultProps = {
33278
+ id: '1749136706168',
33279
+ pid: '',
33280
+ type: 'button',
33281
+ btnText: 'Button',
33282
+ layerName: 'button',
33283
+ sign: true,
33284
+ signSort: 6,
33285
+ css: {
33286
+ borderWidth: 0,
33287
+ borderStyle: 'solid',
33288
+ borderColor: 'rgba(153, 153, 153, 1)',
33289
+ opacity: 1,
33290
+ fontSize: 16,
33291
+ color: 'rgba(255, 255, 255, 1)',
33292
+ backgroundColor: 'rgb(33, 147, 255)',
33293
+ width: 120,
33294
+ height: 40,
33295
+ borderRadius: 10,
33296
+ top: 122,
33297
+ left: 155,
33298
+ transform: 0
33299
+ },
33300
+ triggers: {
33301
+ event: 'link',
33302
+ link: 'http://www.baidu.com',
33303
+ go: 4,
33304
+ phone: '0622222222',
33305
+ musicName: '告白气球',
33306
+ musicLink: 'https://amp3.hunbei.com/mp3/qiniu/gaobaiqiqiu.mp3',
33307
+ musicHash: '',
33308
+ music_id: 2247,
33309
+ cat: 'sys',
33310
+ originalUrl: '',
33311
+ crop: null,
33312
+ },
33313
+ properties: {
33314
+ visible: true,
33315
+ isLock: false,
33316
+ required: true,
33317
+ musicName: '',
33318
+ musicLink: '',
33319
+ musicHash: '',
33320
+ shadowSize: 0,
33321
+ shadowColor: '#999999',
33322
+ shadowX: 0,
33323
+ shadowY: 0,
33324
+ shadowBlur: 0,
33325
+ shadowPoint: 270,
33326
+ aniOrigin: 'default',
33327
+ animations: [],
33328
+ },
33329
+ };
33330
+
33331
+ const formInputDefaultProps = {
33332
+ id: 'id1',
33333
+ pid: '',
33334
+ type: 'form-input',
33335
+ title: '姓名',
33336
+ inputType: 'text',
33337
+ layerName: '输入框',
33338
+ sign: false,
33339
+ signSort: 1,
33340
+ css: {
33341
+ fontFamily: '微软雅黑',
33342
+ fontSize: 14,
33343
+ color: '#6e6e6e',
33344
+ width: 235,
33345
+ height: 40,
33346
+ left: 70,
33347
+ top: 330,
33348
+ backgroundColor: '#fff',
33349
+ borderRadius: 2,
33350
+ borderColor: 'rgba(153, 153, 153, 1)',
33351
+ borderWidth: 1,
33352
+ borderStyle: 'solid',
33353
+ transform: 0,
33354
+ opacity: 1
33355
+ },
33356
+ properties: {
33357
+ visible: true,
33358
+ isLock: false,
33359
+ required: true,
33360
+ musicName: '',
33361
+ musicLink: '',
33362
+ musicHash: '',
33363
+ shadowSize: 0,
33364
+ shadowColor: '#999999',
33365
+ shadowX: 0,
33366
+ shadowY: 0,
33367
+ shadowBlur: 0,
33368
+ shadowPoint: 270,
33369
+ aniOrigin: 'default',
33370
+ animations: []
33371
+ }
33372
+ };
33373
+
33374
+ const formSubmitDefaultProps = {
33375
+ id: 'id4',
33376
+ pid: '',
33377
+ btName: '提交',
33378
+ type: 'form-submit',
33379
+ layerName: 'submitFormButton',
33380
+ sign: false,
33381
+ signSort: 1,
33382
+ subType: 'allPage',
33383
+ succEvent: 'alert',
33384
+ succAlert: '提交成功,感谢您的参与!',
33385
+ succUrl: '',
33386
+ css: {
33387
+ width: 235,
33388
+ height: 40,
33389
+ lineHeight: 1,
33390
+ color: '#fff',
33391
+ fontSize: 16,
33392
+ left: 70,
33393
+ top: 480,
33394
+ borderRadius: 4,
33395
+ borderColor: 'rgba(153, 153, 153, 1)',
33396
+ borderWidth: 0,
33397
+ borderStyle: 'solid',
33398
+ backgroundColor: '#2687f1',
33399
+ textAlign: 'center',
33400
+ transform: 0,
33401
+ opacity: 1
33402
+ },
33403
+ properties: {
33404
+ visible: true,
33405
+ isLock: false,
33406
+ required: true,
33407
+ musicName: '',
33408
+ musicLink: '',
33409
+ musicHash: '',
33410
+ shadowSize: 0,
33411
+ shadowColor: '#999999',
33412
+ shadowX: 0,
33413
+ shadowY: 0,
33414
+ shadowBlur: 0,
33415
+ shadowPoint: 270,
33416
+ aniOrigin: 'default',
33417
+ animations: []
33418
+ }
33419
+ };
33420
+
32707
33421
  /** 送呈快捷短语 — 开发/编辑器 fallback;生产环境由 biz-editor-server API 提供 */
32708
33422
  const INVITE_QUICK_PHRASES = [
32709
33423
  '邀请您一道分享我们的喜悦',
@@ -32808,16 +33522,28 @@
32808
33522
  exports.applyTemplateToInviteItem = applyTemplateToInviteItem;
32809
33523
  exports.applyTextAnimation = applyTextAnimation;
32810
33524
  exports.applyTextAnimationsForPage = applyTextAnimationsForPage;
33525
+ exports.buttonDefaultProps = buttonDefaultProps;
33526
+ exports.calendarDefaultProps = calendarDefaultProps;
33527
+ exports.callDefaultProps = callDefaultProps;
33528
+ exports.countdownDefaultProps = countdownDefaultProps;
32811
33529
  exports["default"] = index;
33530
+ exports.effectDefaultProps = effectDefaultProps;
33531
+ exports.formInputDefaultProps = formInputDefaultProps;
33532
+ exports.formSubmitDefaultProps = formSubmitDefaultProps;
32812
33533
  exports.getInviteDismissDelay = getInviteDismissDelay;
32813
33534
  exports.getInviteRenderFromGlobal = getInviteRenderFromGlobal;
32814
33535
  exports.getInviteTemplateById = getInviteTemplateById;
32815
33536
  exports.install = install;
32816
33537
  exports.inviteDefaultProps = inviteDefaultProps;
32817
33538
  exports.isValidInviteItem = isValidInviteItem;
33539
+ exports.lottieDefaultProps = lottieDefaultProps;
33540
+ exports.mapDefaultProps = mapDefaultProps;
33541
+ exports.musicDefaultProps = musicDefaultProps;
32818
33542
  exports.resolveInviteRenderData = resolveInviteRenderData;
32819
33543
  exports.restoreTextAnimation = restoreTextAnimation;
33544
+ exports.shapeDefaultProps = shapeDefaultProps;
32820
33545
  exports.useInviteManager = useInviteManager;
33546
+ exports.videoDefaultProps = videoDefaultProps;
32821
33547
 
32822
33548
  Object.defineProperty(exports, '__esModule', { value: true });
32823
33549