ninemoon-ui 0.0.9 → 0.0.11

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.umd.js CHANGED
@@ -140,6 +140,12 @@
140
140
  margin-top: 1rem;
141
141
  margin-bottom: 1rem;
142
142
  }
143
+ .-tdd-ml-3 {
144
+ margin-left: -0.75rem;
145
+ }
146
+ .-tdd-mt-3 {
147
+ margin-top: -0.75rem;
148
+ }
143
149
  .tdd-mb-5 {
144
150
  margin-bottom: 1.25rem;
145
151
  }
@@ -149,6 +155,9 @@
149
155
  .tdd-ml-2 {
150
156
  margin-left: 0.5rem;
151
157
  }
158
+ .tdd-ml-3 {
159
+ margin-left: 0.75rem;
160
+ }
152
161
  .tdd-mr-1 {
153
162
  margin-right: 0.25rem;
154
163
  }
@@ -200,6 +209,12 @@
200
209
  .tdd-h-10 {
201
210
  height: 2.5rem;
202
211
  }
212
+ .tdd-h-2 {
213
+ height: 0.5rem;
214
+ }
215
+ .tdd-h-2\\.5 {
216
+ height: 0.625rem;
217
+ }
203
218
  .tdd-h-3 {
204
219
  height: 0.75rem;
205
220
  }
@@ -239,6 +254,12 @@
239
254
  .tdd-w-14 {
240
255
  width: 3.5rem;
241
256
  }
257
+ .tdd-w-2 {
258
+ width: 0.5rem;
259
+ }
260
+ .tdd-w-2\\.5 {
261
+ width: 0.625rem;
262
+ }
242
263
  .tdd-w-24 {
243
264
  width: 6rem;
244
265
  }
@@ -787,6 +808,60 @@
787
808
  background-position: 50%;
788
809
  background-repeat: no-repeat;
789
810
  }
811
+ .before\\:tdd-absolute::before {
812
+ content: var(--tw-content);
813
+ position: absolute;
814
+ }
815
+ .before\\:tdd-box-border::before {
816
+ content: var(--tw-content);
817
+ box-sizing: border-box;
818
+ }
819
+ .before\\:tdd-h-2::before {
820
+ content: var(--tw-content);
821
+ height: 0.5rem;
822
+ }
823
+ .before\\:tdd-h-2\\.5::before {
824
+ content: var(--tw-content);
825
+ height: 0.625rem;
826
+ }
827
+ .before\\:tdd-w-2::before {
828
+ content: var(--tw-content);
829
+ width: 0.5rem;
830
+ }
831
+ .before\\:tdd-w-2\\.5::before {
832
+ content: var(--tw-content);
833
+ width: 0.625rem;
834
+ }
835
+ .before\\:tdd-rotate-45::before {
836
+ content: var(--tw-content);
837
+ --tw-rotate: 45deg;
838
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
839
+ }
840
+ .before\\:tdd-border-b-transparent::before {
841
+ content: var(--tw-content);
842
+ border-bottom-color: transparent;
843
+ }
844
+ .before\\:tdd-border-l-transparent::before {
845
+ content: var(--tw-content);
846
+ border-left-color: transparent;
847
+ }
848
+ .before\\:tdd-border-r-transparent::before {
849
+ content: var(--tw-content);
850
+ border-right-color: transparent;
851
+ }
852
+ .before\\:tdd-border-t-transparent::before {
853
+ content: var(--tw-content);
854
+ border-top-color: transparent;
855
+ }
856
+ .before\\:tdd-bg-white::before {
857
+ content: var(--tw-content);
858
+ --tw-bg-opacity: 1;
859
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity));
860
+ }
861
+ .before\\:tdd-content-\\[\\'\\'\\]::before {
862
+ --tw-content: '';
863
+ content: var(--tw-content);
864
+ }
790
865
  .checked\\:tdd-border-transparent:checked {
791
866
  border-color: transparent;
792
867
  }
@@ -1180,13 +1255,9 @@
1180
1255
  class: "tdd-h-4 tdd-w-4 tdd-fill-white",
1181
1256
  viewBox: "0 0 1024 1024",
1182
1257
  version: "1.1",
1183
- xmlns: "http://www.w3.org/2000/svg",
1184
- "p-id": "2124"
1258
+ xmlns: "http://www.w3.org/2000/svg"
1185
1259
  };
1186
- const _hoisted_4$b = /* @__PURE__ */ vue.createElementVNode("path", {
1187
- d: "M883.2 247.466667c-17.066667-17.066667-44.8-17.066667-59.733333 0L409.6 665.6l-209.066667-204.8c-17.066667-17.066667-44.8-17.066667-59.733333 0-17.066667 17.066667-17.066667 44.8 0 59.733333l238.933333 234.666667c8.533333 8.533333 19.2 12.8 29.866667 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8l443.733333-448c17.066667-17.066667 17.066667-42.666667 0-59.733333z",
1188
- "p-id": "2125"
1189
- }, null, -1);
1260
+ const _hoisted_4$b = /* @__PURE__ */ vue.createElementVNode("path", { d: "M883.2 247.466667c-17.066667-17.066667-44.8-17.066667-59.733333 0L409.6 665.6l-209.066667-204.8c-17.066667-17.066667-44.8-17.066667-59.733333 0-17.066667 17.066667-17.066667 44.8 0 59.733333l238.933333 234.666667c8.533333 8.533333 19.2 12.8 29.866667 12.8 10.666667 0 21.333333-4.266667 29.866667-12.8l443.733333-448c17.066667-17.066667 17.066667-42.666667 0-59.733333z" }, null, -1);
1190
1261
  const _hoisted_5$7 = [
1191
1262
  _hoisted_4$b
1192
1263
  ];
@@ -1195,13 +1266,9 @@
1195
1266
  class: "tdd-h-4 tdd-w-4 tdd-fill-white",
1196
1267
  viewBox: "0 0 1024 1024",
1197
1268
  version: "1.1",
1198
- xmlns: "http://www.w3.org/2000/svg",
1199
- "p-id": "762"
1269
+ xmlns: "http://www.w3.org/2000/svg"
1200
1270
  };
1201
- const _hoisted_7$6 = /* @__PURE__ */ vue.createElementVNode("path", {
1202
- d: "M556.8 512L832 236.8c12.8-12.8 12.8-32 0-44.8-12.8-12.8-32-12.8-44.8 0L512 467.2l-275.2-277.333333c-12.8-12.8-32-12.8-44.8 0-12.8 12.8-12.8 32 0 44.8l275.2 277.333333-277.333333 275.2c-12.8 12.8-12.8 32 0 44.8 6.4 6.4 14.933333 8.533333 23.466666 8.533333s17.066667-2.133333 23.466667-8.533333L512 556.8 787.2 832c6.4 6.4 14.933333 8.533333 23.466667 8.533333s17.066667-2.133333 23.466666-8.533333c12.8-12.8 12.8-32 0-44.8L556.8 512z",
1203
- "p-id": "763"
1204
- }, null, -1);
1271
+ const _hoisted_7$6 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M556.8 512L832 236.8c12.8-12.8 12.8-32 0-44.8-12.8-12.8-32-12.8-44.8 0L512 467.2l-275.2-277.333333c-12.8-12.8-32-12.8-44.8 0-12.8 12.8-12.8 32 0 44.8l275.2 277.333333-277.333333 275.2c-12.8 12.8-12.8 32 0 44.8 6.4 6.4 14.933333 8.533333 23.466666 8.533333s17.066667-2.133333 23.466667-8.533333L512 556.8 787.2 832c6.4 6.4 14.933333 8.533333 23.466667 8.533333s17.066667-2.133333 23.466666-8.533333c12.8-12.8 12.8-32 0-44.8L556.8 512z" }, null, -1);
1205
1272
  const _hoisted_8$5 = [
1206
1273
  _hoisted_7$6
1207
1274
  ];
@@ -1210,17 +1277,10 @@
1210
1277
  class: "tdd-h-4 tdd-w-4 tdd-fill-white",
1211
1278
  viewBox: "0 0 1024 1024",
1212
1279
  version: "1.1",
1213
- xmlns: "http://www.w3.org/2000/svg",
1214
- "p-id": "1618"
1280
+ xmlns: "http://www.w3.org/2000/svg"
1215
1281
  };
1216
- const _hoisted_10$4 = /* @__PURE__ */ vue.createElementVNode("path", {
1217
- d: "M512 320m-42.666667 0a42.666667 42.666667 0 1 0 85.333334 0 42.666667 42.666667 0 1 0-85.333334 0Z",
1218
- "p-id": "1620"
1219
- }, null, -1);
1220
- const _hoisted_11$4 = /* @__PURE__ */ vue.createElementVNode("path", {
1221
- d: "M512 437.333333c-17.066667 0-32 14.933333-32 32v234.666667c0 17.066667 14.933333 32 32 32s32-14.933333 32-32V469.333333c0-17.066667-14.933333-32-32-32z",
1222
- "p-id": "1621"
1223
- }, null, -1);
1282
+ const _hoisted_10$4 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M512 320m-42.666667 0a42.666667 42.666667 0 1 0 85.333334 0 42.666667 42.666667 0 1 0-85.333334 0Z" }, null, -1);
1283
+ const _hoisted_11$4 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M512 437.333333c-17.066667 0-32 14.933333-32 32v234.666667c0 17.066667 14.933333 32 32 32s32-14.933333 32-32V469.333333c0-17.066667-14.933333-32-32-32z" }, null, -1);
1224
1284
  const _hoisted_12$4 = [
1225
1285
  _hoisted_10$4,
1226
1286
  _hoisted_11$4
@@ -1230,19 +1290,14 @@
1230
1290
  class: "tdd-h-4 tdd-w-4 tdd-fill-white",
1231
1291
  viewBox: "0 0 1024 1024",
1232
1292
  version: "1.1",
1233
- xmlns: "http://www.w3.org/2000/svg",
1234
- "p-id": "1487"
1293
+ xmlns: "http://www.w3.org/2000/svg"
1235
1294
  };
1236
- const _hoisted_14$4 = /* @__PURE__ */ vue.createElementVNode("path", {
1237
- d: "M800 625.066667V448c0-117.333333-70.4-217.6-170.666667-262.4-4.266667-61.866667-55.466667-110.933333-117.333333-110.933333s-113.066667 49.066667-117.333333 110.933333c-100.266667 44.8-170.666667 145.066667-170.666667 262.4v177.066667c-57.6 46.933333-85.333333 110.933333-85.333333 185.6 0 17.066667 14.933333 32 32 32h206.933333c14.933333 61.866667 70.4 106.666667 134.4 106.666666s119.466667-44.8 134.4-106.666666H853.333333c17.066667 0 32-14.933333 32-32 0-76.8-27.733333-138.666667-85.333333-185.6zM512 138.666667c19.2 0 36.266667 10.666667 44.8 25.6-14.933333-2.133333-29.866667-4.266667-44.8-4.266667-14.933333 0-29.866667 2.133333-44.8 4.266667 8.533333-14.933333 25.6-25.6 44.8-25.6z m0 746.666666c-29.866667 0-55.466667-17.066667-66.133333-42.666666h134.4c-12.8 25.6-38.4 42.666667-68.266667 42.666666z m-307.2-106.666666c6.4-46.933333 29.866667-83.2 70.4-113.066667 8.533333-6.4 12.8-14.933333 12.8-25.6v-192c0-123.733333 100.266667-224 224-224S736 324.266667 736 448v192c0 10.666667 4.266667 19.2 12.8 25.6 40.533333 29.866667 64 66.133333 70.4 113.066667H204.8z",
1238
- "p-id": "1488"
1239
- }, null, -1);
1295
+ const _hoisted_14$4 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M800 625.066667V448c0-117.333333-70.4-217.6-170.666667-262.4-4.266667-61.866667-55.466667-110.933333-117.333333-110.933333s-113.066667 49.066667-117.333333 110.933333c-100.266667 44.8-170.666667 145.066667-170.666667 262.4v177.066667c-57.6 46.933333-85.333333 110.933333-85.333333 185.6 0 17.066667 14.933333 32 32 32h206.933333c14.933333 61.866667 70.4 106.666667 134.4 106.666666s119.466667-44.8 134.4-106.666666H853.333333c17.066667 0 32-14.933333 32-32 0-76.8-27.733333-138.666667-85.333333-185.6zM512 138.666667c19.2 0 36.266667 10.666667 44.8 25.6-14.933333-2.133333-29.866667-4.266667-44.8-4.266667-14.933333 0-29.866667 2.133333-44.8 4.266667 8.533333-14.933333 25.6-25.6 44.8-25.6z m0 746.666666c-29.866667 0-55.466667-17.066667-66.133333-42.666666h134.4c-12.8 25.6-38.4 42.666667-68.266667 42.666666z m-307.2-106.666666c6.4-46.933333 29.866667-83.2 70.4-113.066667 8.533333-6.4 12.8-14.933333 12.8-25.6v-192c0-123.733333 100.266667-224 224-224S736 324.266667 736 448v192c0 10.666667 4.266667 19.2 12.8 25.6 40.533333 29.866667 64 66.133333 70.4 113.066667H204.8z" }, null, -1);
1240
1296
  const _hoisted_15$4 = [
1241
1297
  _hoisted_14$4
1242
1298
  ];
1243
- const _hoisted_16$4 = { key: 0 };
1244
- const _hoisted_17$3 = ["onClick"];
1245
- const _hoisted_18$2 = /* @__PURE__ */ vue.createElementVNode("svg", {
1299
+ const _hoisted_16$4 = ["onClick"];
1300
+ const _hoisted_17$3 = /* @__PURE__ */ vue.createElementVNode("svg", {
1246
1301
  class: "tdd-h-5 tdd-w-5 tdd-fill-gray-600",
1247
1302
  xmlns: "http://www.w3.org/2000/svg",
1248
1303
  width: "24",
@@ -1259,8 +1314,8 @@
1259
1314
  })
1260
1315
  ])
1261
1316
  ], -1);
1262
- const _hoisted_19$2 = [
1263
- _hoisted_18$2
1317
+ const _hoisted_18$2 = [
1318
+ _hoisted_17$3
1264
1319
  ];
1265
1320
  const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
1266
1321
  __name: "messagecomponent",
@@ -1348,6 +1403,25 @@
1348
1403
  },
1349
1404
  { deep: true }
1350
1405
  );
1406
+ const contentRender = (props) => {
1407
+ if (Array.isArray(props.c.vnode)) {
1408
+ return props.c.vnode.map((v) => {
1409
+ return vue.createBlock(
1410
+ vue.resolveDynamicComponent(v)
1411
+ );
1412
+ });
1413
+ } else if (props.c.vnode) {
1414
+ return vue.createBlock(
1415
+ vue.resolveDynamicComponent(props.c.vnode)
1416
+ );
1417
+ } else {
1418
+ return vue.h(
1419
+ "div",
1420
+ {},
1421
+ props.c.text
1422
+ );
1423
+ }
1424
+ };
1351
1425
  vue.onUnmounted(() => {
1352
1426
  messageList.value.length = 0;
1353
1427
  });
@@ -1382,16 +1456,13 @@
1382
1456
  i.type === "warning" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_9$4, _hoisted_12$4)) : vue.createCommentVNode("", true),
1383
1457
  i.type === "info" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_13$4, _hoisted_15$4)) : vue.createCommentVNode("", true)
1384
1458
  ], 2),
1385
- !i.vnode ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$4, vue.toDisplayString(i.text), 1)) : vue.createCommentVNode("", true),
1386
- i.vnode instanceof Array ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 1 }, vue.renderList(i.vnode, (j) => {
1387
- return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(j));
1388
- }), 256)) : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(i.vnode), { key: 2 })),
1459
+ vue.createVNode(contentRender, { c: i }, null, 8, ["c"]),
1389
1460
  i.showClose ? (vue.openBlock(), vue.createElementBlock("button", {
1390
- key: 3,
1461
+ key: 0,
1391
1462
  type: "button",
1392
1463
  class: "tdd-appearance-none",
1393
1464
  onClick: ($event) => hidden(d)
1394
- }, _hoisted_19$2, 8, _hoisted_17$3)) : vue.createCommentVNode("", true)
1465
+ }, _hoisted_18$2, 8, _hoisted_16$4)) : vue.createCommentVNode("", true)
1395
1466
  ])
1396
1467
  ]);
1397
1468
  }), 128))
@@ -1726,49 +1797,80 @@
1726
1797
  };
1727
1798
  };
1728
1799
  const usePotion = (baseDom, aimDom, set) => {
1729
- let Left = 0;
1730
- let Top = 0;
1731
- let Width = 0;
1732
- let Height = 0;
1733
- const height = aimDom.clientHeight;
1734
- const width = aimDom.clientWidth;
1735
- const { left, right, bottom, top } = baseDom.getBoundingClientRect();
1800
+ let left = 0;
1801
+ let top = 0;
1802
+ let arrowleft = 0;
1803
+ let arrowtop = 0;
1804
+ if (!baseDom || !aimDom) {
1805
+ return {
1806
+ Top: top,
1807
+ Left: left,
1808
+ arrowLeft: arrowleft,
1809
+ arrowTop: arrowtop
1810
+ };
1811
+ }
1812
+ const { left: baseLeft, right, bottom, top: baseTop, width: baseWidth } = baseDom.getBoundingClientRect();
1813
+ const { height: aimHeight, width: aimWidth } = aimDom.getBoundingClientRect();
1736
1814
  const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
1737
1815
  const scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;
1738
- Left = scrollLeft + left;
1739
- if (set == null ? void 0 : set.position.includes("bottom")) {
1740
- Top = scrollTop + bottom;
1816
+ switch (set == null ? void 0 : set.position) {
1817
+ case "bottomleft":
1818
+ case "bottommiddle":
1819
+ case "bottomright":
1820
+ top = scrollTop + bottom;
1821
+ arrowtop = -5;
1822
+ break;
1823
+ case "topleft":
1824
+ case "topmiddle":
1825
+ case "topright":
1826
+ top = scrollTop + baseTop - aimHeight;
1827
+ arrowtop = aimHeight - 5;
1828
+ break;
1829
+ case "centerleft":
1830
+ case "centerright":
1831
+ top = scrollTop + baseTop + (bottom - baseTop - aimHeight) / 2;
1832
+ arrowtop = aimHeight / 2 - 5;
1833
+ break;
1741
1834
  }
1742
- if (set == null ? void 0 : set.position.includes("top")) {
1743
- Top = scrollTop + top - height;
1744
- }
1745
- if (set == null ? void 0 : set.position.includes("middle")) {
1746
- Left = scrollLeft + left + (right - left - width) / 2;
1747
- }
1748
- if (set == null ? void 0 : set.position.includes("center")) {
1749
- Top = scrollTop + top + (bottom - top) / 2 - height / 2;
1750
- if (set.position === "centerleft") {
1751
- Left = scrollLeft + left - width;
1752
- } else {
1753
- Left = scrollLeft + right;
1754
- }
1835
+ switch (set == null ? void 0 : set.position) {
1836
+ case "topleft":
1837
+ case "bottomleft":
1838
+ left = scrollLeft + baseLeft;
1839
+ arrowleft = (right - baseLeft) / 2;
1840
+ break;
1841
+ case "topmiddle":
1842
+ case "bottommiddle":
1843
+ left = scrollLeft + baseLeft + (right - baseLeft - aimWidth) / 2;
1844
+ arrowleft = aimWidth / 2 - 5;
1845
+ break;
1846
+ case "topright":
1847
+ case "bottomright":
1848
+ left = scrollLeft + right - aimWidth;
1849
+ arrowleft = aimWidth - baseWidth + baseWidth / 2 - 5;
1850
+ break;
1851
+ case "centerleft":
1852
+ left = scrollLeft + baseLeft - aimWidth;
1853
+ arrowleft = aimWidth - 5;
1854
+ break;
1855
+ case "centerright":
1856
+ left = scrollLeft + right;
1857
+ arrowleft = -5;
1858
+ break;
1755
1859
  }
1756
- if (Top + height > window.innerHeight) {
1757
- Top = scrollTop + window.innerHeight - height - 10;
1860
+ if (top + aimHeight > window.innerHeight) {
1861
+ top = scrollTop + window.innerHeight - aimHeight - 10;
1758
1862
  }
1759
- if (Top < 0) {
1760
- Top = 10;
1863
+ if (top < 0) {
1864
+ top = 10;
1761
1865
  }
1762
- if (Left + width > window.innerWidth) {
1763
- Left = scrollLeft + right - width;
1866
+ if (left + aimWidth > window.innerWidth) {
1867
+ left = scrollLeft + right - aimWidth;
1764
1868
  }
1765
- Width = width;
1766
- Height = height;
1767
1869
  return {
1768
- Top,
1769
- Left,
1770
- Width,
1771
- Height
1870
+ Top: top,
1871
+ Left: left,
1872
+ arrowLeft: arrowleft,
1873
+ arrowTop: arrowtop
1772
1874
  };
1773
1875
  };
1774
1876
  function getNewArray(array, subGroupLength) {
@@ -2095,14 +2197,14 @@
2095
2197
  };
2096
2198
  const validate = async (callBack) => {
2097
2199
  let passflag = true;
2098
- for (const rule of checkList.value) {
2200
+ checkList.value.forEach(async (rule) => {
2099
2201
  await rule.fc((msg) => {
2100
2202
  if (msg !== null && msg !== void 0) {
2101
2203
  passflag = false;
2102
2204
  console.warn(msg);
2103
2205
  }
2104
2206
  });
2105
- }
2207
+ });
2106
2208
  if (passflag === true) {
2107
2209
  callBack(passflag);
2108
2210
  }
@@ -2443,6 +2545,8 @@
2443
2545
  const isThis = optionList.value.filter((v) => v.value === props.modelValue);
2444
2546
  if (isThis.length > 0) {
2445
2547
  return isThis[0].label;
2548
+ } else if (props.modelValue) {
2549
+ return;
2446
2550
  } else {
2447
2551
  emit("update:modelValue", null);
2448
2552
  ParentGetChangeHandle && ParentGetChangeHandle(null);
@@ -2459,7 +2563,7 @@
2459
2563
  return vue.h(
2460
2564
  "div",
2461
2565
  {
2462
- class: `label ${props.modelValue === it.props.value ? "labelselect" : ""}`,
2566
+ class: vue.normalizeClass(["label", [props.modelValue === it.props.value ? "labelselect" : ""]]),
2463
2567
  key: it.props.key,
2464
2568
  onClick: () => {
2465
2569
  emit("update:modelValue", it.props.value);
@@ -2477,7 +2581,7 @@
2477
2581
  {
2478
2582
  class: "selectOption"
2479
2583
  },
2480
- slots.default().map((i, j) => {
2584
+ slots.default().map((i, _j) => {
2481
2585
  if (typeof i.children == "string")
2482
2586
  return null;
2483
2587
  if (Array.isArray(i.children)) {
@@ -2492,6 +2596,7 @@
2492
2596
  };
2493
2597
  return (_ctx, _cache) => {
2494
2598
  return vue.openBlock(), vue.createBlock(vue.unref(Pop), {
2599
+ vIF: false,
2495
2600
  trigger: "native",
2496
2601
  modelValue: showOption.value,
2497
2602
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => showOption.value = $event),
@@ -2589,7 +2694,9 @@
2589
2694
  const renderHead = () => {
2590
2695
  return vue.h(
2591
2696
  "thead",
2592
- { class: props.headclass ? `tdd-text-word6 ${props.headclass}` : "tdd-text-word6" },
2697
+ {
2698
+ class: vue.normalizeClass(["tdd-text-word6", [props.headclass]])
2699
+ },
2593
2700
  slots.default().map((it) => {
2594
2701
  if (typeof it.children == "string")
2595
2702
  return null;
@@ -2703,7 +2810,7 @@
2703
2810
  return vue.h(
2704
2811
  "td",
2705
2812
  {
2706
- class: props.cellclass ? `tdd-text-center tdd-py-2 ${props.cellclass}` : "tdd-text-center tdd-py-2"
2813
+ class: vue.normalizeClass(["tdd-text-center tdd-py-2", [props.cellclass]])
2707
2814
  },
2708
2815
  ((_a = it.props) == null ? void 0 : _a.type) && it.props.type === "selection" ? vue.h(
2709
2816
  "label",
@@ -4411,7 +4518,9 @@
4411
4518
  placement: { default: "topleft" },
4412
4519
  insertClass: {},
4413
4520
  beforeHidden: {},
4414
- modelValue: { type: Boolean }
4521
+ modelValue: { type: Boolean },
4522
+ beforebgcolor: {},
4523
+ vIF: { type: Boolean, default: true }
4415
4524
  },
4416
4525
  emits: ["update:modelValue"],
4417
4526
  setup(__props, { expose: __expose, emit: emitAct }) {
@@ -4419,7 +4528,15 @@
4419
4528
  const base = vue.ref();
4420
4529
  const pop = vue.ref();
4421
4530
  const showPop = vue.ref(false);
4422
- const showPopFlag = vue.computed(() => {
4531
+ const trueFlag = vue.computed(() => {
4532
+ if (showPop.value || props.trigger === "native" && props.modelValue) {
4533
+ vue.nextTick(() => {
4534
+ setPosition();
4535
+ });
4536
+ } else {
4537
+ window.removeEventListener("resize", setPosition);
4538
+ window.removeEventListener("scroll", setPosition, true);
4539
+ }
4423
4540
  if (props.trigger === "native") {
4424
4541
  return props.modelValue;
4425
4542
  } else {
@@ -4432,22 +4549,41 @@
4432
4549
  case "topleft":
4433
4550
  case "topmiddle":
4434
4551
  case "topright":
4435
- margin = "-mt-3";
4552
+ margin = "-tdd-mt-3";
4436
4553
  break;
4437
4554
  case "bottomleft":
4438
4555
  case "bottommiddle":
4439
4556
  case "bottomright":
4440
- margin = "mt-3";
4557
+ margin = "tdd-mt-3";
4441
4558
  break;
4442
4559
  case "centerleft":
4443
- margin = "-ml-3";
4560
+ margin = "-tdd-ml-3";
4444
4561
  break;
4445
4562
  case "centerright":
4446
- margin = "ml-3";
4563
+ margin = "tdd-ml-3";
4447
4564
  break;
4448
4565
  }
4449
4566
  return margin;
4450
4567
  });
4568
+ const arrowHandle = () => {
4569
+ return vue.h(
4570
+ "span",
4571
+ {
4572
+ class: vue.normalizeClass([
4573
+ "tdd-absolute tdd-z-1000 tdd-w-2.5 tdd-h-2.5 before:tdd-bg-white before:tdd-box-border before:tdd-rotate-45 before:tdd-content-[''] before:tdd-w-2.5 before:tdd-h-2.5 before:tdd-absolute",
4574
+ ["topleft", "topmiddle", "topright"].includes(props.placement) ? "before:tdd-border-t-transparent before:tdd-border-l-transparent" : "",
4575
+ ["bottomleft", "bottommiddle", "bottomright"].includes(props.placement) ? "before:tdd-border-b-transparent before:tdd-border-r-transparent" : "",
4576
+ "centerright" == props.placement ? "before:tdd-border-r-transparent before:tdd-border-t-transparent" : "",
4577
+ "centerleft" == props.placement ? "before:tdd-border-l-transparent before:tdd-border-b-transparent" : "",
4578
+ props.beforebgcolor
4579
+ ]),
4580
+ style: {
4581
+ left: `${arrowLeft.value}px`,
4582
+ top: `${arrowTop.value}px`
4583
+ }
4584
+ }
4585
+ );
4586
+ };
4451
4587
  const showHandle = () => {
4452
4588
  showPop.value = true;
4453
4589
  };
@@ -4458,37 +4594,39 @@
4458
4594
  };
4459
4595
  const Left = vue.ref(0);
4460
4596
  const Top = vue.ref(0);
4461
- vue.watch(showPopFlag, (n) => {
4462
- if (n === true) {
4463
- vue.nextTick(() => {
4464
- setPosition();
4465
- if (props.trigger === "hover")
4466
- return;
4467
- window.addEventListener("resize", setPosition);
4468
- window.addEventListener("scroll", setPosition, true);
4469
- });
4470
- }
4471
- });
4597
+ const arrowLeft = vue.ref(0);
4598
+ const arrowTop = vue.ref(0);
4472
4599
  const setPosition = () => {
4473
- let { top, bottom } = base.value.getBoundingClientRect();
4600
+ if (!pop.value) {
4601
+ window.removeEventListener("resize", setPosition);
4602
+ window.removeEventListener("scroll", setPosition, true);
4603
+ return;
4604
+ }
4605
+ const { top, bottom } = base.value.getBoundingClientRect();
4474
4606
  if (top < 0 || bottom > window.innerHeight) {
4475
4607
  if (props.trigger === "native") {
4476
4608
  emitAct("update:modelValue", false);
4477
4609
  } else {
4478
4610
  showPop.value = false;
4479
4611
  }
4480
- window.removeEventListener("resize", setPosition);
4481
- window.removeEventListener("scroll", setPosition, true);
4482
4612
  return;
4483
4613
  }
4614
+ window.addEventListener("resize", setPosition);
4615
+ window.addEventListener("scroll", setPosition, true);
4484
4616
  const position = usePotion(base.value, pop.value, {
4485
4617
  position: props.placement
4486
4618
  });
4487
4619
  Top.value = position.Top;
4488
4620
  Left.value = position.Left;
4621
+ arrowTop.value = position.arrowTop;
4622
+ arrowLeft.value = position.arrowLeft;
4489
4623
  };
4490
4624
  const vClickoutside = {
4491
4625
  mounted(el, binding) {
4626
+ if (!(el instanceof HTMLElement)) {
4627
+ console.error("el must be an instance of HTMLElement");
4628
+ return;
4629
+ }
4492
4630
  function documentHandler(e) {
4493
4631
  if ((el == null ? void 0 : el.contains) && (el == null ? void 0 : el.contains(e.target))) {
4494
4632
  return false;
@@ -4507,6 +4645,10 @@
4507
4645
  }
4508
4646
  },
4509
4647
  beforeUnmount(el) {
4648
+ if (!(el instanceof HTMLElement)) {
4649
+ console.error("el must be an instance of HTMLElement");
4650
+ return;
4651
+ }
4510
4652
  document.removeEventListener("click", el._vueClickOutside_);
4511
4653
  switch (props.trigger) {
4512
4654
  case "hover":
@@ -4527,8 +4669,6 @@
4527
4669
  if (disablecancelflag === true) {
4528
4670
  return;
4529
4671
  } else {
4530
- window.removeEventListener("resize", setPosition);
4531
- window.removeEventListener("scroll", setPosition, true);
4532
4672
  if (props.trigger === "native") {
4533
4673
  emitAct("update:modelValue", false);
4534
4674
  } else {
@@ -4570,24 +4710,47 @@
4570
4710
  vue.renderSlot(_ctx.$slots, "reference"),
4571
4711
  (vue.openBlock(), vue.createBlock(vue.Teleport, {
4572
4712
  to: "body",
4573
- disabled: !showPopFlag.value
4713
+ disabled: !trueFlag.value
4574
4714
  }, [
4575
- vue.createVNode(vue.Transition, { name: "opecity" }, {
4715
+ _ctx.vIF ? (vue.openBlock(), vue.createBlock(vue.Transition, {
4716
+ key: 0,
4717
+ name: "opecity"
4718
+ }, {
4576
4719
  default: vue.withCtx(() => [
4577
- showPopFlag.value ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
4720
+ trueFlag.value ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
4578
4721
  key: 0,
4579
4722
  ref_key: "pop",
4580
4723
  ref: pop,
4581
4724
  class: vue.normalizeClass(["tdd-absolute tdd-z-1000 tdd-rounded tdd-bg-white tdd-p-4 tdd-drop-shadow", [marginClass.value, _ctx.insertClass]]),
4582
4725
  style: vue.normalizeStyle({ width: widthNum.value, top: `${Top.value}px`, left: `${Left.value}px` })
4583
4726
  }, [
4584
- vue.renderSlot(_ctx.$slots, "default")
4727
+ vue.renderSlot(_ctx.$slots, "default"),
4728
+ vue.createVNode(arrowHandle)
4585
4729
  ], 6)), [
4586
4730
  [vClickoutside, closeCenter]
4587
4731
  ]) : vue.createCommentVNode("", true)
4588
4732
  ]),
4589
4733
  _: 3
4590
- })
4734
+ })) : (vue.openBlock(), vue.createBlock(vue.Transition, {
4735
+ key: 1,
4736
+ name: "opecity"
4737
+ }, {
4738
+ default: vue.withCtx(() => [
4739
+ vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
4740
+ ref_key: "pop",
4741
+ ref: pop,
4742
+ class: vue.normalizeClass(["tdd-absolute tdd-z-1000 tdd-rounded tdd-bg-white tdd-p-4 tdd-drop-shadow", [marginClass.value, _ctx.insertClass]]),
4743
+ style: vue.normalizeStyle({ width: widthNum.value, top: `${Top.value}px`, left: `${Left.value}px` })
4744
+ }, [
4745
+ vue.renderSlot(_ctx.$slots, "default"),
4746
+ vue.createVNode(arrowHandle)
4747
+ ], 6)), [
4748
+ [vue.vShow, trueFlag.value],
4749
+ [vClickoutside, closeCenter]
4750
+ ])
4751
+ ]),
4752
+ _: 3
4753
+ }))
4591
4754
  ], 8, ["disabled"]))
4592
4755
  ], 40, _hoisted_1$7);
4593
4756
  };
@@ -4743,7 +4906,7 @@
4743
4906
  return vue.h(
4744
4907
  "label",
4745
4908
  {
4746
- class: "radioGroup " + (((_a = MySlot.props) == null ? void 0 : _a.class) || "") + (props.modelValue == MySlot.props.label ? " tdd-bg-wordblue" : "")
4909
+ class: vue.normalizeClass(["radioGroup", [(_a = MySlot.props) == null ? void 0 : _a.class, props.modelValue == MySlot.props.label ? "tdd-bg-wordblue" : ""]])
4747
4910
  },
4748
4911
  [
4749
4912
  vue.withDirectives(
@@ -4754,14 +4917,14 @@
4754
4917
  ParentGetChangeHandle(value);
4755
4918
  emit("update:modelValue", value);
4756
4919
  },
4757
- class: "hiddeninput form-tick" + (props.showinput ? "" : " tdd-hidden")
4920
+ class: vue.normalizeClass(["hiddeninput form-tick", [props.showinput ? "" : "tdd-hidden"]])
4758
4921
  }),
4759
4922
  [[vue.vModelRadio, props.modelValue]]
4760
4923
  ),
4761
4924
  vue.h(
4762
4925
  "span",
4763
4926
  {
4764
- class: "tdd-text-sm " + (props.modelValue == MySlot.props.label ? " tdd-text-white" : " tdd-text-word6")
4927
+ class: vue.normalizeClass(["tdd-text-sm", [props.modelValue == MySlot.props.label ? "tdd-text-white" : "tdd-text-word6"]])
4765
4928
  },
4766
4929
  ((_b = MySlot.children) == null ? void 0 : _b.default()) || MySlot.props.label
4767
4930
  )
@@ -4827,7 +4990,7 @@
4827
4990
  return vue.h(
4828
4991
  "label",
4829
4992
  {
4830
- class: "checkGroup " + (MySlot.props.class || "") + (props.modelValue.includes(MySlot.props.label) ? " tdd-bg-wordblue" : "")
4993
+ class: vue.normalizeClass(["checkGroup", [MySlot.props.class, props.modelValue.includes(MySlot.props.label) ? "tdd-bg-wordblue" : ""]])
4831
4994
  },
4832
4995
  [
4833
4996
  vue.withDirectives(
@@ -4838,14 +5001,14 @@
4838
5001
  ParentGetChangeHandle(value);
4839
5002
  emit("update:modelValue", value);
4840
5003
  },
4841
- class: "hiddeninput form-tick" + (props.showinput ? "" : " tdd-hidden")
5004
+ class: vue.normalizeClass(["hiddeninput form-tick", [props.showinput ? "" : "tdd-hidden"]])
4842
5005
  }),
4843
5006
  [[vue.vModelCheckbox, props.modelValue]]
4844
5007
  ),
4845
5008
  vue.h(
4846
5009
  "span",
4847
5010
  {
4848
- class: "tdd-text-sm " + (props.modelValue.includes(MySlot.props.label) ? " tdd-text-white" : " tdd-text-word6")
5011
+ class: vue.normalizeClass(["tdd-text-sm", [props.modelValue.includes(MySlot.props.label) ? "tdd-text-white" : "tdd-text-word6"]])
4849
5012
  },
4850
5013
  ((_a = MySlot.children) == null ? void 0 : _a.default()) || MySlot.props.label
4851
5014
  )
@@ -5073,7 +5236,7 @@
5073
5236
  "button",
5074
5237
  {
5075
5238
  type: "button",
5076
- class: btc.join(" "),
5239
+ class: vue.normalizeClass(btc),
5077
5240
  onClick: (e) => {
5078
5241
  activeIndex.value = index2;
5079
5242
  let aim = e.target;
@@ -5095,7 +5258,7 @@
5095
5258
  return vue.h(
5096
5259
  "div",
5097
5260
  {
5098
- class: `ETab${props.type === "line" ? " tdd-px-2 tdd-pt-2" : " ETab_Card"}`
5261
+ class: vue.normalizeClass(["ETab", [props.type === "line" ? "tdd-px-2 tdd-pt-2" : " ETab_Card"]])
5099
5262
  },
5100
5263
  slots.default().map((it, index2) => {
5101
5264
  if (typeof it.children == "string")
@@ -5152,27 +5315,24 @@
5152
5315
  }
5153
5316
  });
5154
5317
  return (_ctx, _cache) => {
5155
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
5156
- vue.createTextVNode(vue.toDisplayString(noactive.value) + " ", 1),
5157
- vue.createElementVNode("div", _hoisted_1$4, [
5158
- vue.createVNode(renderBar, {
5159
- ref_key: "btnBar",
5160
- ref: btnBar
5161
- }, null, 512),
5162
- showBaseline.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$3, [
5163
- vue.createElementVNode("div", {
5164
- class: "tdd-absolute tdd-bottom-0 tdd-border-t-2 tdd-border-solid tdd-border-blue-brand tdd-transition",
5165
- style: vue.normalizeStyle({
5166
- transform: `translateX(${arrowNum.value}px`,
5167
- width: `${arrowWidth.value}px`
5168
- })
5169
- }, null, 4)
5170
- ])) : vue.createCommentVNode("", true),
5171
- vue.createElementVNode("div", _hoisted_3$3, [
5172
- vue.createVNode(renderContent)
5173
- ])
5318
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
5319
+ vue.createVNode(renderBar, {
5320
+ ref_key: "btnBar",
5321
+ ref: btnBar
5322
+ }, null, 512),
5323
+ showBaseline.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$3, [
5324
+ vue.createElementVNode("div", {
5325
+ class: "tdd-absolute tdd-bottom-0 tdd-border-t-2 tdd-border-solid tdd-border-blue-brand tdd-transition",
5326
+ style: vue.normalizeStyle({
5327
+ transform: `translateX(${arrowNum.value}px`,
5328
+ width: `${arrowWidth.value}px`
5329
+ })
5330
+ }, null, 4)
5331
+ ])) : vue.createCommentVNode("", true),
5332
+ vue.createElementVNode("div", _hoisted_3$3, [
5333
+ vue.createVNode(renderContent)
5174
5334
  ])
5175
- ], 64);
5335
+ ]);
5176
5336
  };
5177
5337
  }
5178
5338
  });
@@ -5467,7 +5627,7 @@
5467
5627
  return vue.h(
5468
5628
  "div",
5469
5629
  {
5470
- class: "carouselBody " + (activeIndex.value === d ? "tdd-z-10" : "-tdd-z-10"),
5630
+ class: vue.normalizeClass(["carouselBody", [activeIndex.value === d ? "tdd-z-10" : "-tdd-z-10"]]),
5471
5631
  style: {
5472
5632
  transform: `translateX(${transformNum}px)`
5473
5633
  }