jky-component-lib 0.0.98 → 0.0.100

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.
Files changed (65) hide show
  1. package/dist/es/add-input/style.css +1 -1
  2. package/dist/es/amap/ATrackPlayback.vue.d.ts +69 -0
  3. package/dist/es/amap/ATrackPlayback.vue.js +237 -0
  4. package/dist/es/amap/ATrackPlayback.vue3.js +5 -0
  5. package/dist/es/amap/index.d.ts +3 -1
  6. package/dist/es/amap/index.js +5 -0
  7. package/dist/es/amap/style.css +5 -12
  8. package/dist/es/amap/style2.css +12 -5
  9. package/dist/es/amap/style3.css +3 -0
  10. package/dist/es/components.js +5 -1
  11. package/dist/es/form/Form.vue.d.ts +5 -103
  12. package/dist/es/form/Form.vue.js +91 -156
  13. package/dist/es/form/FormItem.vue.js +3 -1
  14. package/dist/es/form/SelectTable.vue.js +14 -5
  15. package/dist/es/form/style.css +1 -21
  16. package/dist/es/index.js +8 -2
  17. package/dist/es/package.json.js +1 -1
  18. package/dist/es/page-table/ActionColumn.vue.d.ts +11 -0
  19. package/dist/es/page-table/ActionColumn.vue.js +137 -0
  20. package/dist/es/page-table/ActionColumn.vue3.js +5 -0
  21. package/dist/es/page-table/PageTable.vue.d.ts +51 -433
  22. package/dist/es/page-table/PageTable.vue.js +136 -76
  23. package/dist/es/page-table/PageTableColumn.vue.d.ts +36 -0
  24. package/dist/es/page-table/PageTableColumn.vue.js +121 -0
  25. package/dist/es/page-table/PageTableColumn.vue3.js +5 -0
  26. package/dist/es/page-table/Toolbar.vue.d.ts +1 -1
  27. package/dist/es/page-table/Toolbar.vue.js +2 -2
  28. package/dist/es/page-table/index.d.ts +5 -1
  29. package/dist/es/page-table/index.js +8 -0
  30. package/dist/es/page-table/style.css +9 -0
  31. package/dist/es/style.css +144 -0
  32. package/dist/es/styles.css +1 -1
  33. package/dist/lib/add-input/style.css +1 -1
  34. package/dist/lib/amap/ATrackPlayback.vue.d.ts +69 -0
  35. package/dist/lib/amap/ATrackPlayback.vue.js +237 -0
  36. package/dist/lib/amap/ATrackPlayback.vue3.js +5 -0
  37. package/dist/lib/amap/index.d.ts +3 -1
  38. package/dist/lib/amap/index.js +5 -0
  39. package/dist/lib/amap/style.css +5 -12
  40. package/dist/lib/amap/style2.css +12 -5
  41. package/dist/lib/amap/style3.css +3 -0
  42. package/dist/lib/components.js +33 -30
  43. package/dist/lib/form/Form.vue.d.ts +5 -103
  44. package/dist/lib/form/Form.vue.js +89 -154
  45. package/dist/lib/form/FormItem.vue.js +3 -1
  46. package/dist/lib/form/SelectTable.vue.js +13 -4
  47. package/dist/lib/form/style.css +1 -21
  48. package/dist/lib/index.js +26 -20
  49. package/dist/lib/package.json.js +1 -1
  50. package/dist/lib/page-table/ActionColumn.vue.d.ts +11 -0
  51. package/dist/lib/page-table/ActionColumn.vue.js +137 -0
  52. package/dist/lib/page-table/ActionColumn.vue3.js +5 -0
  53. package/dist/lib/page-table/PageTable.vue.d.ts +51 -433
  54. package/dist/lib/page-table/PageTable.vue.js +135 -75
  55. package/dist/lib/page-table/PageTableColumn.vue.d.ts +36 -0
  56. package/dist/lib/page-table/PageTableColumn.vue.js +121 -0
  57. package/dist/lib/page-table/PageTableColumn.vue3.js +5 -0
  58. package/dist/lib/page-table/Toolbar.vue.d.ts +1 -1
  59. package/dist/lib/page-table/Toolbar.vue.js +2 -2
  60. package/dist/lib/page-table/index.d.ts +5 -1
  61. package/dist/lib/page-table/index.js +8 -0
  62. package/dist/lib/page-table/style.css +9 -0
  63. package/dist/lib/style.css +144 -0
  64. package/dist/lib/styles.css +1 -1
  65. package/package.json +1 -1
package/dist/es/style.css CHANGED
@@ -558,6 +558,10 @@
558
558
  }
559
559
  }
560
560
 
561
+ .m-0 {
562
+ margin: calc(var(--spacing) * 0);
563
+ }
564
+
561
565
  .mx-auto {
562
566
  margin-inline: auto;
563
567
  }
@@ -1350,6 +1354,86 @@
1350
1354
  mask-repeat: no-repeat;
1351
1355
  }
1352
1356
 
1357
+ .icon-\[mdi--content-copy\] {
1358
+ width: 1em;
1359
+ height: 1em;
1360
+ -webkit-mask-image: var(--svg);
1361
+ -webkit-mask-image: var(--svg);
1362
+ -webkit-mask-image: var(--svg);
1363
+ mask-image: var(--svg);
1364
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12z'/%3E%3C/svg%3E");
1365
+ background-color: currentColor;
1366
+ display: inline-block;
1367
+ -webkit-mask-size: 100% 100%;
1368
+ mask-size: 100% 100%;
1369
+ -webkit-mask-repeat: no-repeat;
1370
+ mask-repeat: no-repeat;
1371
+ }
1372
+
1373
+ .icon-\[mdi--delete\] {
1374
+ width: 1em;
1375
+ height: 1em;
1376
+ -webkit-mask-image: var(--svg);
1377
+ -webkit-mask-image: var(--svg);
1378
+ -webkit-mask-image: var(--svg);
1379
+ mask-image: var(--svg);
1380
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M19 4h-3.5l-1-1h-5l-1 1H5v2h14M6 19a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7H6z'/%3E%3C/svg%3E");
1381
+ background-color: currentColor;
1382
+ display: inline-block;
1383
+ -webkit-mask-size: 100% 100%;
1384
+ mask-size: 100% 100%;
1385
+ -webkit-mask-repeat: no-repeat;
1386
+ mask-repeat: no-repeat;
1387
+ }
1388
+
1389
+ .icon-\[mdi--download\] {
1390
+ width: 1em;
1391
+ height: 1em;
1392
+ -webkit-mask-image: var(--svg);
1393
+ -webkit-mask-image: var(--svg);
1394
+ -webkit-mask-image: var(--svg);
1395
+ mask-image: var(--svg);
1396
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M5 20h14v-2H5m14-9h-4V3H9v6H5l7 7z'/%3E%3C/svg%3E");
1397
+ background-color: currentColor;
1398
+ display: inline-block;
1399
+ -webkit-mask-size: 100% 100%;
1400
+ mask-size: 100% 100%;
1401
+ -webkit-mask-repeat: no-repeat;
1402
+ mask-repeat: no-repeat;
1403
+ }
1404
+
1405
+ .icon-\[mdi--eye\] {
1406
+ width: 1em;
1407
+ height: 1em;
1408
+ -webkit-mask-image: var(--svg);
1409
+ -webkit-mask-image: var(--svg);
1410
+ -webkit-mask-image: var(--svg);
1411
+ mask-image: var(--svg);
1412
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12 9a3 3 0 0 0-3 3a3 3 0 0 0 3 3a3 3 0 0 0 3-3a3 3 0 0 0-3-3m0 8a5 5 0 0 1-5-5a5 5 0 0 1 5-5a5 5 0 0 1 5 5a5 5 0 0 1-5 5m0-12.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5'/%3E%3C/svg%3E");
1413
+ background-color: currentColor;
1414
+ display: inline-block;
1415
+ -webkit-mask-size: 100% 100%;
1416
+ mask-size: 100% 100%;
1417
+ -webkit-mask-repeat: no-repeat;
1418
+ mask-repeat: no-repeat;
1419
+ }
1420
+
1421
+ .icon-\[mdi--file-excel\] {
1422
+ width: 1em;
1423
+ height: 1em;
1424
+ -webkit-mask-image: var(--svg);
1425
+ -webkit-mask-image: var(--svg);
1426
+ -webkit-mask-image: var(--svg);
1427
+ mask-image: var(--svg);
1428
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8zm1.8 18H14l-2-3.4l-2 3.4H8.2l2.9-4.5L8.2 11H10l2 3.4l2-3.4h1.8l-2.9 4.5zM13 9V3.5L18.5 9z'/%3E%3C/svg%3E");
1429
+ background-color: currentColor;
1430
+ display: inline-block;
1431
+ -webkit-mask-size: 100% 100%;
1432
+ mask-size: 100% 100%;
1433
+ -webkit-mask-repeat: no-repeat;
1434
+ mask-repeat: no-repeat;
1435
+ }
1436
+
1353
1437
  .icon-\[mdi--format-list-bulleted\] {
1354
1438
  width: 1em;
1355
1439
  height: 1em;
@@ -1398,6 +1482,38 @@
1398
1482
  mask-repeat: no-repeat;
1399
1483
  }
1400
1484
 
1485
+ .icon-\[mdi--pencil\] {
1486
+ width: 1em;
1487
+ height: 1em;
1488
+ -webkit-mask-image: var(--svg);
1489
+ -webkit-mask-image: var(--svg);
1490
+ -webkit-mask-image: var(--svg);
1491
+ mask-image: var(--svg);
1492
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83l3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75z'/%3E%3C/svg%3E");
1493
+ background-color: currentColor;
1494
+ display: inline-block;
1495
+ -webkit-mask-size: 100% 100%;
1496
+ mask-size: 100% 100%;
1497
+ -webkit-mask-repeat: no-repeat;
1498
+ mask-repeat: no-repeat;
1499
+ }
1500
+
1501
+ .icon-\[mdi--plus\] {
1502
+ width: 1em;
1503
+ height: 1em;
1504
+ -webkit-mask-image: var(--svg);
1505
+ -webkit-mask-image: var(--svg);
1506
+ -webkit-mask-image: var(--svg);
1507
+ mask-image: var(--svg);
1508
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z'/%3E%3C/svg%3E");
1509
+ background-color: currentColor;
1510
+ display: inline-block;
1511
+ -webkit-mask-size: 100% 100%;
1512
+ mask-size: 100% 100%;
1513
+ -webkit-mask-repeat: no-repeat;
1514
+ mask-repeat: no-repeat;
1515
+ }
1516
+
1401
1517
  .icon-\[mdi--refresh\] {
1402
1518
  width: 1em;
1403
1519
  height: 1em;
@@ -1414,6 +1530,22 @@
1414
1530
  mask-repeat: no-repeat;
1415
1531
  }
1416
1532
 
1533
+ .icon-\[mdi--upload\] {
1534
+ width: 1em;
1535
+ height: 1em;
1536
+ -webkit-mask-image: var(--svg);
1537
+ -webkit-mask-image: var(--svg);
1538
+ -webkit-mask-image: var(--svg);
1539
+ mask-image: var(--svg);
1540
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M9 16v-6H5l7-7l7 7h-4v6zm-4 4v-2h14v2z'/%3E%3C/svg%3E");
1541
+ background-color: currentColor;
1542
+ display: inline-block;
1543
+ -webkit-mask-size: 100% 100%;
1544
+ mask-size: 100% 100%;
1545
+ -webkit-mask-repeat: no-repeat;
1546
+ mask-repeat: no-repeat;
1547
+ }
1548
+
1417
1549
  .icon-\[mi--switch\] {
1418
1550
  width: 1em;
1419
1551
  height: 1em;
@@ -1996,6 +2128,10 @@
1996
2128
  }
1997
2129
  }
1998
2130
 
2131
+ .bg-\(--my-color\) {
2132
+ background-color: var(--my-color);
2133
+ }
2134
+
1999
2135
  .bg-\(--my-var\), .bg-\[var\(--my-var\)\] {
2000
2136
  background-color: var(--my-var);
2001
2137
  }
@@ -2104,6 +2240,10 @@
2104
2240
  background-color: var(--color-white);
2105
2241
  }
2106
2242
 
2243
+ .bg-white\! {
2244
+ background-color: var(--color-white) !important;
2245
+ }
2246
+
2107
2247
  .bg-white\/10 {
2108
2248
  background-color: #ffffff1a;
2109
2249
  }
@@ -2289,6 +2429,10 @@
2289
2429
  padding: calc(var(--spacing) * 8);
2290
2430
  }
2291
2431
 
2432
+ .px-1 {
2433
+ padding-inline: calc(var(--spacing) * 1);
2434
+ }
2435
+
2292
2436
  .px-2 {
2293
2437
  padding-inline: calc(var(--spacing) * 2);
2294
2438
  }
@@ -1 +1 @@
1
- :root{--jky-add-input-gap:12px;--jky-add-input-row-gap:8px;--jky-add-input-min-width:100px;--jky-add-input-action-width:80px}.jky-add-input{display:flex;flex-direction:column;gap:var(--jky-add-input-row-gap);min-width:var(--jky-add-input-min-width)}.jky-add-input__row{align-items:center;display:flex;gap:var(--jky-add-input-gap)}.jky-add-input__key,.jky-add-input__value{flex:1;min-width:0}.jky-add-input__actions{display:flex;flex-shrink:0;gap:var(--jky-add-input-gap);width:var(--jky-add-input-action-width)}.jky-amap-container{overflow:hidden;position:relative;.amap-copyright,.amap-logo{display:none!important}}:root{--jky-button-primary-bg:#007bff;--jky-button-primary-text:#fff;--jky-button-primary-hover-bg:#0056b3;--jky-button-success-bg:#28a745;--jky-button-success-text:#fff;--jky-button-success-hover-bg:#1e7e34;--jky-button-warning-bg:#ffc107;--jky-button-warning-text:#fff;--jky-button-warning-hover-bg:#e0a800;--jky-button-danger-bg:#dc3545;--jky-button-danger-text:#fff;--jky-button-danger-hover-bg:#c82333;--jky-button-info-bg:#6c757d;--jky-button-info-text:#fff;--jky-button-info-hover-bg:#5a6268;--jky-button-default-bg:#fff;--jky-button-default-text:#606266;--jky-button-default-border:#dcdfe6;--jky-button-default-hover-bg:#f5f7fa;--jky-button-font-size:14px;--jky-button-font-size-small:12px;--jky-button-font-size-large:16px;--jky-button-padding:0 16px;--jky-button-padding-small:0 12px;--jky-button-padding-large:0 20px;--jky-button-height:40px;--jky-button-height-small:32px;--jky-button-height-large:48px;--jky-button-border-radius:0.375rem;--jky-button-disabled-opacity:0.5;--jky-button-disabled-bg:#f5f7fa;--jky-button-disabled-text:#c0c4cc;--jky-button-loading-opacity:0.7;--jky-button-icon-size:1.25rem;--jky-button-icon-margin:0.5rem}.jky-button{align-items:center;background-color:var(--jky-button-default-bg);border:1px solid var(--jky-button-default-border);border-radius:var(--jky-button-border-radius);color:var(--jky-button-default-text);cursor:pointer;display:inline-flex;font-size:var(--jky-button-font-size);font-weight:500;height:var(--jky-button-height);justify-content:center;padding:var(--jky-button-padding);transition:color .2s,background-color .2s}.jky-button--primary{background-color:var(--jky-button-primary-bg);border:none;color:var(--jky-button-primary-text)}.jky-button--primary:hover{background-color:var(--jky-button-primary-hover-bg)}.jky-button--success{background-color:var(--jky-button-success-bg);border:none;color:var(--jky-button-success-text)}.jky-button--success:hover{background-color:var(--jky-button-success-hover-bg)}.jky-button--warning{background-color:var(--jky-button-warning-bg);border:none;color:var(--jky-button-warning-text)}.jky-button--warning:hover{background-color:var(--jky-button-warning-hover-bg)}.jky-button--danger{background-color:var(--jky-button-danger-bg);border:none;color:var(--jky-button-danger-text)}.jky-button--danger:hover{background-color:var(--jky-button-danger-hover-bg)}.jky-button--info{background-color:var(--jky-button-info-bg);border:none;color:var(--jky-button-info-text)}.jky-button--info:hover{background-color:var(--jky-button-info-hover-bg)}.jky-button--small{font-size:var(--jky-button-font-size-small);height:var(--jky-button-height-small);padding:var(--jky-button-padding-small)}.jky-button--large{font-size:var(--jky-button-font-size-large);height:var(--jky-button-height-large);padding:var(--jky-button-padding-large)}.jky-button.is-disabled{background-color:var(--jky-button-disabled-bg);color:var(--jky-button-disabled-text);cursor:not-allowed;opacity:var(--jky-button-disabled-opacity);pointer-events:none}.jky-button.is-loading{opacity:var(--jky-button-loading-opacity);pointer-events:none;position:relative}.jky-button__loading{display:flex;inset:0;position:absolute}.jky-button__icon,.jky-button__loading{align-items:center;justify-content:center}.jky-button__icon{display:inline-flex;font-size:1em;margin-right:var(--jky-button-icon-margin)}.jky-button__icon:only-child{margin-right:0}.jky-button--suffix .jky-button__icon{margin-left:var(--jky-button-icon-margin);margin-right:0}.jky-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #000;outline:2px solid transparent;outline-offset:2px}.loading-spinner{animation:spin 1s linear infinite;height:var(--jky-button-icon-size);width:var(--jky-button-icon-size)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--jky-button-nav-active-bg:var(--el-color-primary);--jky-button-nav-active-text:#fff;--jky-button-nav-inactive-bg:var(--el-fill-color-light);--jky-button-nav-inactive-text:var(--el-text-color-regular);--el-dropdown-menu-margin-left:12px}.jky-button-nav{align-items:center;display:flex;flex-wrap:wrap;.el-dropdown{margin-left:var(--el-dropdown-menu-margin-left)}}.jky-button-nav-item{background-color:var(--jky-button-nav-inactive-bg);color:var(--jky-button-nav-inactive-text);&.is-active,&[aria-pressed=true]{background-color:var(--jky-button-nav-active-bg);color:var(--jky-button-nav-active-text)}}:root{--j-code-mirror-border-color:#dcdfe6;--j-code-mirror-border-radius:4px;--j-code-mirror-height:400px}.j-code-mirror-editor{border-radius:var(--j-code-mirror-border-radius);height:var(--j-code-mirror-height);overflow:hidden;width:100%}.code-mirror-container{height:100%;overflow:auto;width:100%}.code-mirror-container .cm-editor{height:100%}.code-mirror-container .cm-scroller{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;overflow:auto}.code-mirror-container .cm-gutters{background-color:#2c2d2d;border-color:#4c4d4f;color:#909399}:root{--jky-form-item-border-width:4px;--jky-form-item-border-color:var(--el-color-primary);--jky-form-item-bg-color:rgba(var(--el-color-primary-rgb),0.5);--jky-form-grid-cols-xs:1;--jky-form-grid-cols-sm:2;--jky-form-grid-cols-md:2;--jky-form-grid-cols-lg:3;--jky-form-grid-cols-xl:3;--jky-form-grid-cols-2xl:4;--jky-form-grid-cols-3xl:4}.jky-form--grid{display:grid;gap:var(--el-form-item-gutter,16px);grid-template-columns:repeat(var(--jky-form-grid-cols-xs),minmax(0,1fr))}.el-form--inline.jky-form--grid .el-form-item{margin-right:0;.el-form-item__content{align-items:flex-start}}@media (min-width:640px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-sm,var(--jky-form-grid-cols-xs)),minmax(0,1fr))}}@media (min-width:768px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-md,var(--jky-form-grid-cols-sm)),minmax(0,1fr))}}@media (min-width:1024px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-lg,var(--jky-form-grid-cols-md)),minmax(0,1fr))}}@media (min-width:1280px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-xl,var(--jky-form-grid-cols-lg)),minmax(0,1fr))}}@media (min-width:1536px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-2xl,var(--jky-form-grid-cols-xl)),minmax(0,1fr))}}@media (min-width:1920px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-3xl,var(--jky-form-grid-cols-2xl)),minmax(0,1fr))}}:root{--jky-menu-bg-color:#fff;--jky-menu-text-color:#303133;--jky-menu-active-color:#409eff;--jky-menu-hover-bg-color:#f5f7fa;--jky-menu-hover-text-color:#606266;--jky-menu-item-height:56px;--jky-menu-item-padding:0 20px;--jky-menu-item-font-size:14px;--jky-menu-icon-size:18px;--jky-menu-icon-margin:8px;--jky-menu-border-color:#e4e7ed;--jky-menu-disabled-opacity:0.5;--jky-menu-disabled-text-color:#c0c4cc}.jky-menu{li+li{margin-top:0}}:root{--jky-page-header-bg-color:#1890ff;--jky-page-header-bg-size:cover;--jky-page-header-bg-position:center;--jky-page-header-box-shadow:0 2px 8px rgba(0,0,0,.15);--jky-page-header-padding-x:24px;--jky-page-header-padding-x-mobile:16px;--jky-page-header-gap:16px;--jky-page-header-gap-mobile:12px;--jky-page-header-gap-left:12px;--jky-page-header-gap-status:12px;--jky-page-header-gap-center:24px;--jky-page-header-gap-center-mobile:12px;--jky-page-header-title-color:#fff;--jky-page-header-title-size:20px;--jky-page-header-title-size-mobile:16px;--jky-page-header-title-weight:600;--jky-page-header-text-color:hsla(0,0%,100%,.85);--jky-page-header-text-size:16px;--jky-page-header-icon-color:#fff;--jky-page-header-icon-size:20px;--jky-page-header-icon-hover-opacity:0.8;--jky-page-header-logo-height:40px;--jky-page-header-avatar-size:32px}.jky-page-header{background-color:var(--jky-page-header-bg-color);background-position:var(--jky-page-header-bg-position);background-size:var(--jky-page-header-bg-size);box-shadow:var(--jky-page-header-box-shadow);width:100%}.jky-page-header__container{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:100%;padding:0 var(--jky-page-header-padding-x)}.jky-page-header__left{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap-left)}.jky-page-header__logo{height:var(--jky-page-header-logo-height);object-fit:contain;width:auto}.jky-page-header__title{color:var(--jky-page-header-title-color);font-size:var(--jky-page-header-title-size);font-weight:var(--jky-page-header-title-weight);white-space:nowrap}.jky-page-header__center{align-items:center;display:flex;flex:1;justify-content:center;margin:0 var(--jky-page-header-gap-center);min-width:0}.jky-page-header__right{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap)}.jky-page-header__status-icons{align-items:center;display:flex;gap:var(--jky-page-header-gap-status)}.jky-page-header__status-icon{color:var(--jky-page-header-icon-color);cursor:pointer;transition:opacity .2s;&:hover{opacity:var(--jky-page-header-icon-hover-opacity)}}.jky-page-header__time{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size);white-space:nowrap}.jky-page-header__user{align-items:center;color:var(--jky-page-header-text-color);cursor:pointer;display:flex;gap:8px}.jky-page-header__avatar{color:var(--jky-page-header-icon-color);img{height:100%;object-fit:cover;width:100%}}.jky-page-header__username{white-space:nowrap}.jky-page-header__logout,.jky-page-header__username{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size)}@media (max-width:768px){.jky-page-header__container{padding:0 var(--jky-page-header-padding-x-mobile)}.jky-page-header__title{font-size:var(--jky-page-header-title-size-mobile)}.jky-page-header__center{margin:0 var(--jky-page-header-gap-center-mobile)}.jky-page-header__right{gap:var(--jky-page-header-gap-mobile)}}:root{--jky-page-layout-gap:5}.jky-page-layout{column-gap:calc(var(--spacing)*var(--jky-page-layout-gap));.el-menu{border-right:none}}.jky-page-table{--jky-page-table_pagination-position:flex-end;.jky-page-table__pagination{.el-scrollbar__view{display:flex;justify-content:var(--jky-page-table_pagination-position)}}}:root{--jky-rich-editor-border:#d9d9d9;--jky-rich-editor-border-hover:#409eff;--jky-rich-editor-border-radius:4px;--jky-rich-editor-box-shadow:0 0 0 1px #409eff}.jky-rich-editor{width:100%}.jky-rich-editor .tox-tinymce{border:1px solid var(--jky-rich-editor-border);border-radius:var(--jky-rich-editor-border-radius);transition:border-color .2s}.jky-rich-editor .tox-tinymce:hover{border-color:var(--jky-rich-editor-border-hover)}.jky-rich-editor .tox-tinymce:focus-within{border-color:var(--jky-rich-editor-border-hover);box-shadow:var(--jky-rich-editor-box-shadow)}.jky-rich-editor.is-disabled .tox-tinymce{background-color:#f5f7fa;cursor:not-allowed}.jky-rich-editor.is-readonly .tox-tinymce{background-color:#fafafa}:root{--jky-say-hello-bg:#42b883;--jky-say-hello-text:#fff;--jky-say-hello-hover-bg:#3aa876;--jky-say-hello-font-size:16px;--jky-say-hello-padding:8px 20px;--jky-say-hello-margin:4px 2px;--jky-say-hello-border-radius:6px}.jky-say-hello{background-color:var(--jky-say-hello-bg);border-radius:var(--jky-say-hello-border-radius);color:var(--jky-say-hello-text);cursor:pointer;display:inline-block;font-size:var(--jky-say-hello-font-size);margin:var(--jky-say-hello-margin);padding:var(--jky-say-hello-padding);text-align:center;text-decoration:none;transition:background-color .2s ease}.jky-say-hello:hover{background-color:var(--jky-say-hello-hover-bg)}@import "tailwindcss";@plugin "@iconify/tailwind4";@source "../node_modules/jky-component-lib/dist/es/";@source "../docs/**/*.md";@source "./**/*.md";@source "./**/*.vue";@source "./**/*.css";@custom-variant dark (&:is(.dark *));.jky-tabs{.el-tabs__content{display:none}.el-tabs__header{margin-bottom:0}}.jky-tabs-round{--el-tabs-header-height:32px;--el-tabs-item-background:#fff;--el-tabs-active-item-background:var(--el-color-primary);.el-tabs__header{--el-border-color-light:transparent}.el-tabs__item{background-color:var(--el-tabs-item-background);border-bottom:none!important;border-radius:999px;margin-left:1rem;&.is-active{background-color:var(--el-tabs-active-item-background);.el-icon,.jky-tabs-__item-label{color:var(--el-color-white)}}&.first-child{margin-left:0}}}.jky-tabs-context-menu{display:inline-block}
1
+ .jky-add-input,:root{--jky-add-input-gap:12px;--jky-add-input-row-gap:8px;--jky-add-input-min-width:100px;--jky-add-input-action-width:80px}.jky-add-input{display:flex;flex-direction:column;gap:var(--jky-add-input-row-gap);min-width:var(--jky-add-input-min-width)}.jky-add-input__row{align-items:center;display:flex;gap:var(--jky-add-input-gap)}.jky-add-input__key,.jky-add-input__value{flex:1;min-width:0}.jky-add-input__actions{display:flex;flex-shrink:0;gap:var(--jky-add-input-gap);width:var(--jky-add-input-action-width)}.jky-amap-container{overflow:hidden;position:relative;.amap-copyright,.amap-logo{display:none!important}}:root{--jky-button-primary-bg:#007bff;--jky-button-primary-text:#fff;--jky-button-primary-hover-bg:#0056b3;--jky-button-success-bg:#28a745;--jky-button-success-text:#fff;--jky-button-success-hover-bg:#1e7e34;--jky-button-warning-bg:#ffc107;--jky-button-warning-text:#fff;--jky-button-warning-hover-bg:#e0a800;--jky-button-danger-bg:#dc3545;--jky-button-danger-text:#fff;--jky-button-danger-hover-bg:#c82333;--jky-button-info-bg:#6c757d;--jky-button-info-text:#fff;--jky-button-info-hover-bg:#5a6268;--jky-button-default-bg:#fff;--jky-button-default-text:#606266;--jky-button-default-border:#dcdfe6;--jky-button-default-hover-bg:#f5f7fa;--jky-button-font-size:14px;--jky-button-font-size-small:12px;--jky-button-font-size-large:16px;--jky-button-padding:0 16px;--jky-button-padding-small:0 12px;--jky-button-padding-large:0 20px;--jky-button-height:40px;--jky-button-height-small:32px;--jky-button-height-large:48px;--jky-button-border-radius:0.375rem;--jky-button-disabled-opacity:0.5;--jky-button-disabled-bg:#f5f7fa;--jky-button-disabled-text:#c0c4cc;--jky-button-loading-opacity:0.7;--jky-button-icon-size:1.25rem;--jky-button-icon-margin:0.5rem}.jky-button{align-items:center;background-color:var(--jky-button-default-bg);border:1px solid var(--jky-button-default-border);border-radius:var(--jky-button-border-radius);color:var(--jky-button-default-text);cursor:pointer;display:inline-flex;font-size:var(--jky-button-font-size);font-weight:500;height:var(--jky-button-height);justify-content:center;padding:var(--jky-button-padding);transition:color .2s,background-color .2s}.jky-button--primary{background-color:var(--jky-button-primary-bg);border:none;color:var(--jky-button-primary-text)}.jky-button--primary:hover{background-color:var(--jky-button-primary-hover-bg)}.jky-button--success{background-color:var(--jky-button-success-bg);border:none;color:var(--jky-button-success-text)}.jky-button--success:hover{background-color:var(--jky-button-success-hover-bg)}.jky-button--warning{background-color:var(--jky-button-warning-bg);border:none;color:var(--jky-button-warning-text)}.jky-button--warning:hover{background-color:var(--jky-button-warning-hover-bg)}.jky-button--danger{background-color:var(--jky-button-danger-bg);border:none;color:var(--jky-button-danger-text)}.jky-button--danger:hover{background-color:var(--jky-button-danger-hover-bg)}.jky-button--info{background-color:var(--jky-button-info-bg);border:none;color:var(--jky-button-info-text)}.jky-button--info:hover{background-color:var(--jky-button-info-hover-bg)}.jky-button--small{font-size:var(--jky-button-font-size-small);height:var(--jky-button-height-small);padding:var(--jky-button-padding-small)}.jky-button--large{font-size:var(--jky-button-font-size-large);height:var(--jky-button-height-large);padding:var(--jky-button-padding-large)}.jky-button.is-disabled{background-color:var(--jky-button-disabled-bg);color:var(--jky-button-disabled-text);cursor:not-allowed;opacity:var(--jky-button-disabled-opacity);pointer-events:none}.jky-button.is-loading{opacity:var(--jky-button-loading-opacity);pointer-events:none;position:relative}.jky-button__loading{display:flex;inset:0;position:absolute}.jky-button__icon,.jky-button__loading{align-items:center;justify-content:center}.jky-button__icon{display:inline-flex;font-size:1em;margin-right:var(--jky-button-icon-margin)}.jky-button__icon:only-child{margin-right:0}.jky-button--suffix .jky-button__icon{margin-left:var(--jky-button-icon-margin);margin-right:0}.jky-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #000;outline:2px solid transparent;outline-offset:2px}.loading-spinner{animation:spin 1s linear infinite;height:var(--jky-button-icon-size);width:var(--jky-button-icon-size)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--jky-button-nav-active-bg:var(--el-color-primary);--jky-button-nav-active-text:#fff;--jky-button-nav-inactive-bg:var(--el-fill-color-light);--jky-button-nav-inactive-text:var(--el-text-color-regular);--el-dropdown-menu-margin-left:12px}.jky-button-nav{align-items:center;display:flex;flex-wrap:wrap;.el-dropdown{margin-left:var(--el-dropdown-menu-margin-left)}}.jky-button-nav-item{background-color:var(--jky-button-nav-inactive-bg);color:var(--jky-button-nav-inactive-text);&.is-active,&[aria-pressed=true]{background-color:var(--jky-button-nav-active-bg);color:var(--jky-button-nav-active-text)}}:root{--j-code-mirror-border-color:#dcdfe6;--j-code-mirror-border-radius:4px;--j-code-mirror-height:400px}.j-code-mirror-editor{border-radius:var(--j-code-mirror-border-radius);height:var(--j-code-mirror-height);overflow:hidden;width:100%}.code-mirror-container{height:100%;overflow:auto;width:100%}.code-mirror-container .cm-editor{height:100%}.code-mirror-container .cm-scroller{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;overflow:auto}.code-mirror-container .cm-gutters{background-color:#2c2d2d;border-color:#4c4d4f;color:#909399}.jky-form,:root{--jky-form-item-border-width:4px;--jky-form-item-border-color:var(--el-color-primary);--jky-form-item-bg-color:rgba(var(--el-color-primary-rgb),0.5);--jky-form-grid-cols-xs:1;--jky-form-grid-cols-sm:2;--jky-form-grid-cols-md:2;--jky-form-grid-cols-lg:3;--jky-form-grid-cols-xl:3;--jky-form-grid-cols-2xl:4;--jky-form-grid-cols-3xl:4}.jky-form--grid{display:grid;gap:var(--el-form-item-gutter,16px);grid-template-columns:repeat(var(--jky-form-grid-cols-xs),minmax(0,1fr))}.el-form--inline.jky-form--grid .el-form-item{margin-right:0;.el-form-item__content{align-items:flex-start}}@media (min-width:640px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-sm,var(--jky-form-grid-cols-xs)),minmax(0,1fr))}}@media (min-width:768px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-md,var(--jky-form-grid-cols-sm)),minmax(0,1fr))}}@media (min-width:1024px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-lg,var(--jky-form-grid-cols-md)),minmax(0,1fr))}}@media (min-width:1280px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-xl,var(--jky-form-grid-cols-lg)),minmax(0,1fr))}}@media (min-width:1536px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-2xl,var(--jky-form-grid-cols-xl)),minmax(0,1fr))}}@media (min-width:1920px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-3xl,var(--jky-form-grid-cols-2xl)),minmax(0,1fr))}}:root{--jky-menu-bg-color:#fff;--jky-menu-text-color:#303133;--jky-menu-active-color:#409eff;--jky-menu-hover-bg-color:#f5f7fa;--jky-menu-hover-text-color:#606266;--jky-menu-item-height:56px;--jky-menu-item-padding:0 20px;--jky-menu-item-font-size:14px;--jky-menu-icon-size:18px;--jky-menu-icon-margin:8px;--jky-menu-border-color:#e4e7ed;--jky-menu-disabled-opacity:0.5;--jky-menu-disabled-text-color:#c0c4cc}.jky-menu{li+li{margin-top:0}}:root{--jky-page-header-bg-color:#1890ff;--jky-page-header-bg-size:cover;--jky-page-header-bg-position:center;--jky-page-header-box-shadow:0 2px 8px rgba(0,0,0,.15);--jky-page-header-padding-x:24px;--jky-page-header-padding-x-mobile:16px;--jky-page-header-gap:16px;--jky-page-header-gap-mobile:12px;--jky-page-header-gap-left:12px;--jky-page-header-gap-status:12px;--jky-page-header-gap-center:24px;--jky-page-header-gap-center-mobile:12px;--jky-page-header-title-color:#fff;--jky-page-header-title-size:20px;--jky-page-header-title-size-mobile:16px;--jky-page-header-title-weight:600;--jky-page-header-text-color:hsla(0,0%,100%,.85);--jky-page-header-text-size:16px;--jky-page-header-icon-color:#fff;--jky-page-header-icon-size:20px;--jky-page-header-icon-hover-opacity:0.8;--jky-page-header-logo-height:40px;--jky-page-header-avatar-size:32px}.jky-page-header{background-color:var(--jky-page-header-bg-color);background-position:var(--jky-page-header-bg-position);background-size:var(--jky-page-header-bg-size);box-shadow:var(--jky-page-header-box-shadow);width:100%}.jky-page-header__container{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:100%;padding:0 var(--jky-page-header-padding-x)}.jky-page-header__left{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap-left)}.jky-page-header__logo{height:var(--jky-page-header-logo-height);object-fit:contain;width:auto}.jky-page-header__title{color:var(--jky-page-header-title-color);font-size:var(--jky-page-header-title-size);font-weight:var(--jky-page-header-title-weight);white-space:nowrap}.jky-page-header__center{align-items:center;display:flex;flex:1;justify-content:center;margin:0 var(--jky-page-header-gap-center);min-width:0}.jky-page-header__right{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap)}.jky-page-header__status-icons{align-items:center;display:flex;gap:var(--jky-page-header-gap-status)}.jky-page-header__status-icon{color:var(--jky-page-header-icon-color);cursor:pointer;transition:opacity .2s;&:hover{opacity:var(--jky-page-header-icon-hover-opacity)}}.jky-page-header__time{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size);white-space:nowrap}.jky-page-header__user{align-items:center;color:var(--jky-page-header-text-color);cursor:pointer;display:flex;gap:8px}.jky-page-header__avatar{color:var(--jky-page-header-icon-color);img{height:100%;object-fit:cover;width:100%}}.jky-page-header__username{white-space:nowrap}.jky-page-header__logout,.jky-page-header__username{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size)}@media (max-width:768px){.jky-page-header__container{padding:0 var(--jky-page-header-padding-x-mobile)}.jky-page-header__title{font-size:var(--jky-page-header-title-size-mobile)}.jky-page-header__center{margin:0 var(--jky-page-header-gap-center-mobile)}.jky-page-header__right{gap:var(--jky-page-header-gap-mobile)}}:root{--jky-page-layout-gap:5}.jky-page-layout{column-gap:calc(var(--spacing)*var(--jky-page-layout-gap));.el-menu{border-right:none}}.jky-page-table{--jky-page-table_pagination-position:flex-end;.jky-page-table__pagination{.el-scrollbar__view{display:flex;justify-content:var(--jky-page-table_pagination-position)}}}.jky-action-column{.el-button+.el-button{margin-left:0}}:root{--jky-rich-editor-border:#d9d9d9;--jky-rich-editor-border-hover:#409eff;--jky-rich-editor-border-radius:4px;--jky-rich-editor-box-shadow:0 0 0 1px #409eff}.jky-rich-editor{width:100%}.jky-rich-editor .tox-tinymce{border:1px solid var(--jky-rich-editor-border);border-radius:var(--jky-rich-editor-border-radius);transition:border-color .2s}.jky-rich-editor .tox-tinymce:hover{border-color:var(--jky-rich-editor-border-hover)}.jky-rich-editor .tox-tinymce:focus-within{border-color:var(--jky-rich-editor-border-hover);box-shadow:var(--jky-rich-editor-box-shadow)}.jky-rich-editor.is-disabled .tox-tinymce{background-color:#f5f7fa;cursor:not-allowed}.jky-rich-editor.is-readonly .tox-tinymce{background-color:#fafafa}:root{--jky-say-hello-bg:#42b883;--jky-say-hello-text:#fff;--jky-say-hello-hover-bg:#3aa876;--jky-say-hello-font-size:16px;--jky-say-hello-padding:8px 20px;--jky-say-hello-margin:4px 2px;--jky-say-hello-border-radius:6px}.jky-say-hello{background-color:var(--jky-say-hello-bg);border-radius:var(--jky-say-hello-border-radius);color:var(--jky-say-hello-text);cursor:pointer;display:inline-block;font-size:var(--jky-say-hello-font-size);margin:var(--jky-say-hello-margin);padding:var(--jky-say-hello-padding);text-align:center;text-decoration:none;transition:background-color .2s ease}.jky-say-hello:hover{background-color:var(--jky-say-hello-hover-bg)}@import "tailwindcss";@plugin "@iconify/tailwind4";@source "../node_modules/jky-component-lib/dist/es/";@source "../docs/**/*.md";@source "./**/*.md";@source "./**/*.vue";@source "./**/*.css";@custom-variant dark (&:is(.dark *));.jky-tabs{.el-tabs__content{display:none}.el-tabs__header{margin-bottom:0}}.jky-tabs-round{--el-tabs-header-height:32px;--el-tabs-item-background:#fff;--el-tabs-active-item-background:var(--el-color-primary);.el-tabs__header{--el-border-color-light:transparent}.el-tabs__item{background-color:var(--el-tabs-item-background);border-bottom:none!important;border-radius:999px;margin-left:1rem;&.is-active{background-color:var(--el-tabs-active-item-background);.el-icon,.jky-tabs-__item-label{color:var(--el-color-white)}}&.first-child{margin-left:0}}}.jky-tabs-context-menu{display:inline-block}
@@ -2,7 +2,7 @@
2
2
  /* 禁止使用 @apply,所有 TailwindCSS 工具类直接写在 class 中 */
3
3
  /* 样式文件仅用于定义组件特定的自定义纯 CSS 样式 */
4
4
  /* AddInput 组件样式变量 */
5
- :root {
5
+ .jky-add-input, :root {
6
6
  --jky-add-input-gap: 12px;
7
7
  --jky-add-input-row-gap: 8px;
8
8
  --jky-add-input-min-width: 100px;
@@ -0,0 +1,69 @@
1
+ import { AMapTrackPlaybackProps } from './types';
2
+ declare function startAnimation(): void;
3
+ declare function pauseAnimation(): void;
4
+ declare function resumeAnimation(): void;
5
+ declare function stopAnimation(): void;
6
+ declare function __VLS_template(): {
7
+ attrs: Partial<{}>;
8
+ slots: {
9
+ default?(_: {
10
+ isPlaying: boolean;
11
+ isPaused: boolean;
12
+ start: typeof startAnimation;
13
+ pause: typeof pauseAnimation;
14
+ resume: typeof resumeAnimation;
15
+ stop: typeof stopAnimation;
16
+ }): any;
17
+ };
18
+ refs: {};
19
+ rootEl: HTMLDivElement;
20
+ };
21
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
22
+ declare const __VLS_component: import('vue').DefineComponent<AMapTrackPlaybackProps, {
23
+ start: typeof startAnimation;
24
+ pause: typeof pauseAnimation;
25
+ resume: typeof resumeAnimation;
26
+ stop: typeof stopAnimation;
27
+ isPlaying: globalThis.Ref<boolean, boolean>;
28
+ isPaused: globalThis.Ref<boolean, boolean>;
29
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
30
+ stop: () => any;
31
+ pause: () => any;
32
+ start: () => any;
33
+ resume: () => any;
34
+ end: () => any;
35
+ moving: (data: {
36
+ passedPath: import('./types').MapCenter[];
37
+ target: any;
38
+ }) => any;
39
+ }, string, import('vue').PublicProps, Readonly<AMapTrackPlaybackProps> & Readonly<{
40
+ onStop?: (() => any) | undefined;
41
+ onPause?: (() => any) | undefined;
42
+ onStart?: (() => any) | undefined;
43
+ onResume?: (() => any) | undefined;
44
+ onEnd?: (() => any) | undefined;
45
+ onMoving?: ((data: {
46
+ passedPath: import('./types').MapCenter[];
47
+ target: any;
48
+ }) => any) | undefined;
49
+ }>, {
50
+ duration: number;
51
+ autoPlay: boolean;
52
+ autoRotation: boolean;
53
+ loop: boolean;
54
+ showPath: boolean;
55
+ showPassedPath: boolean;
56
+ pathColor: string;
57
+ passedPathColor: string;
58
+ pathWeight: number;
59
+ carIcon: string;
60
+ carIconOffset: [number, number];
61
+ initialZoom: number;
62
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
63
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
64
+ export default _default;
65
+ type __VLS_WithTemplateSlots<T, S> = T & {
66
+ new (): {
67
+ $slots: S;
68
+ };
69
+ };
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __spreadValues = (a, b) => {
10
+ for (var prop in b || (b = {}))
11
+ if (__hasOwnProp.call(b, prop))
12
+ __defNormalProp(a, prop, b[prop]);
13
+ if (__getOwnPropSymbols)
14
+ for (var prop of __getOwnPropSymbols(b)) {
15
+ if (__propIsEnum.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ }
18
+ return a;
19
+ };
20
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
22
+ const vue = require("vue");
23
+ const _hoisted_1 = { class: "jky-track-playback" };
24
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, {
25
+ name: "JkyATrackPlayback"
26
+ }), {
27
+ __name: "ATrackPlayback",
28
+ props: {
29
+ path: {},
30
+ autoPlay: { type: Boolean, default: false },
31
+ duration: { default: 500 },
32
+ autoRotation: { type: Boolean, default: true },
33
+ loop: { type: Boolean, default: false },
34
+ showPath: { type: Boolean, default: true },
35
+ showPassedPath: { type: Boolean, default: true },
36
+ pathColor: { default: "#28F" },
37
+ passedPathColor: { default: "#AF5" },
38
+ pathWeight: { default: 6 },
39
+ carIcon: { default: "https://a.amap.com/jsapi_demos/static/demo-center-v2/car.png" },
40
+ carIconOffset: { default: () => [-13, -26] },
41
+ initialCenter: {},
42
+ initialZoom: { default: 17 }
43
+ },
44
+ emits: ["start", "pause", "resume", "stop", "end", "moving"],
45
+ setup(__props, { expose: __expose, emit: __emit }) {
46
+ const props = __props;
47
+ const emit = __emit;
48
+ const amapContext = inject("amapContext", null);
49
+ const mapInstance = (amapContext == null ? void 0 : amapContext.map) || null;
50
+ const marker = ref(null);
51
+ const polyline = ref(null);
52
+ const passedPolyline = ref(null);
53
+ const isPlaying = ref(false);
54
+ const isPaused = ref(false);
55
+ function initTrackPlayback() {
56
+ if (!mapInstance || !props.path || props.path.length === 0)
57
+ return;
58
+ const AMap = window.AMap;
59
+ if (!AMap) {
60
+ console.error("AMap 未加载");
61
+ return;
62
+ }
63
+ AMap.plugin("AMap.MoveAnimation", () => {
64
+ createMarker();
65
+ if (props.showPath) {
66
+ createPolyline();
67
+ }
68
+ if (props.showPassedPath) {
69
+ createPassedPolyline();
70
+ }
71
+ fitView();
72
+ if (marker.value) {
73
+ marker.value.on("moving", (e) => {
74
+ emit("moving", {
75
+ passedPath: e.passedPath,
76
+ target: e.target
77
+ });
78
+ if (passedPolyline.value) {
79
+ passedPolyline.value.setPath(e.passedPath);
80
+ }
81
+ mapInstance == null ? void 0 : mapInstance.setCenter(e.target.getPosition(), true);
82
+ });
83
+ marker.value.on("moveend", () => {
84
+ isPlaying.value = false;
85
+ isPaused.value = false;
86
+ emit("end");
87
+ if (props.loop && !isPaused.value) {
88
+ setTimeout(() => {
89
+ if (props.loop) {
90
+ startAnimation();
91
+ }
92
+ }, 500);
93
+ }
94
+ });
95
+ }
96
+ if (props.autoPlay) {
97
+ startAnimation();
98
+ }
99
+ });
100
+ }
101
+ function createMarker() {
102
+ var _a;
103
+ const AMap = window.AMap;
104
+ const startPosition = ((_a = props.path) == null ? void 0 : _a[0]) || props.initialCenter;
105
+ if (!startPosition)
106
+ return;
107
+ marker.value = new AMap.Marker({
108
+ map: mapInstance,
109
+ position: startPosition,
110
+ icon: props.carIcon,
111
+ offset: new AMap.Pixel(...props.carIconOffset)
112
+ });
113
+ }
114
+ function createPolyline() {
115
+ const AMap = window.AMap;
116
+ polyline.value = new AMap.Polyline({
117
+ map: mapInstance,
118
+ path: props.path,
119
+ showDir: true,
120
+ strokeColor: props.pathColor,
121
+ strokeWeight: props.pathWeight
122
+ });
123
+ }
124
+ function createPassedPolyline() {
125
+ const AMap = window.AMap;
126
+ passedPolyline.value = new AMap.Polyline({
127
+ map: mapInstance,
128
+ path: [],
129
+ strokeColor: props.passedPathColor,
130
+ strokeWeight: props.pathWeight
131
+ });
132
+ }
133
+ function fitView() {
134
+ if (!mapInstance || !props.path || props.path.length === 0)
135
+ return;
136
+ if (props.initialCenter) {
137
+ mapInstance.setCenter(props.initialCenter);
138
+ } else {
139
+ mapInstance.setCenter(props.path[0]);
140
+ }
141
+ if (props.initialZoom) {
142
+ mapInstance.setZoom(props.initialZoom);
143
+ } else {
144
+ mapInstance.setFitView();
145
+ }
146
+ }
147
+ function startAnimation() {
148
+ if (!marker.value || !props.path || props.path.length === 0)
149
+ return;
150
+ isPlaying.value = true;
151
+ isPaused.value = false;
152
+ marker.value.moveAlong(props.path, {
153
+ duration: props.duration,
154
+ autoRotation: props.autoRotation
155
+ });
156
+ emit("start");
157
+ }
158
+ function pauseAnimation() {
159
+ if (!marker.value || !isPlaying.value)
160
+ return;
161
+ marker.value.pauseMove();
162
+ isPaused.value = true;
163
+ emit("pause");
164
+ }
165
+ function resumeAnimation() {
166
+ if (!marker.value || !isPaused.value)
167
+ return;
168
+ marker.value.resumeMove();
169
+ isPaused.value = false;
170
+ emit("resume");
171
+ }
172
+ function stopAnimation() {
173
+ if (!marker.value)
174
+ return;
175
+ marker.value.stopMove();
176
+ isPlaying.value = false;
177
+ isPaused.value = false;
178
+ emit("stop");
179
+ }
180
+ __expose({
181
+ start: startAnimation,
182
+ pause: pauseAnimation,
183
+ resume: resumeAnimation,
184
+ stop: stopAnimation,
185
+ isPlaying,
186
+ isPaused
187
+ });
188
+ watch(
189
+ () => props.path,
190
+ (newPath) => {
191
+ if (newPath && newPath.length > 0) {
192
+ if (polyline.value) {
193
+ mapInstance == null ? void 0 : mapInstance.remove(polyline.value);
194
+ }
195
+ if (passedPolyline.value) {
196
+ mapInstance == null ? void 0 : mapInstance.remove(passedPolyline.value);
197
+ }
198
+ if (marker.value) {
199
+ mapInstance == null ? void 0 : mapInstance.remove(marker.value);
200
+ }
201
+ initTrackPlayback();
202
+ }
203
+ },
204
+ { deep: true }
205
+ );
206
+ onMounted(() => {
207
+ if (mapInstance) {
208
+ initTrackPlayback();
209
+ }
210
+ });
211
+ onUnmounted(() => {
212
+ if (marker.value) {
213
+ marker.value.stopMove();
214
+ mapInstance == null ? void 0 : mapInstance.remove(marker.value);
215
+ }
216
+ if (polyline.value) {
217
+ mapInstance == null ? void 0 : mapInstance.remove(polyline.value);
218
+ }
219
+ if (passedPolyline.value) {
220
+ mapInstance == null ? void 0 : mapInstance.remove(passedPolyline.value);
221
+ }
222
+ });
223
+ return (_ctx, _cache) => {
224
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
225
+ vue.renderSlot(_ctx.$slots, "default", {
226
+ isPlaying: vue.unref(isPlaying),
227
+ isPaused: vue.unref(isPaused),
228
+ start: startAnimation,
229
+ pause: pauseAnimation,
230
+ resume: resumeAnimation,
231
+ stop: stopAnimation
232
+ })
233
+ ]);
234
+ };
235
+ }
236
+ }));
237
+ exports.default = _sfc_main;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const ATrackPlayback_vue_vue_type_script_setup_true_lang = require("./ATrackPlayback.vue.js");
4
+ ;/* empty css */
5
+ exports.default = ATrackPlayback_vue_vue_type_script_setup_true_lang.default;
@@ -1,7 +1,9 @@
1
1
  import { InstallWithSFC } from '../utils';
2
2
  import { default as AMap } from './AMap.vue';
3
3
  import { default as AMarker } from './AMarker.vue';
4
+ import { default as ATrackPlayback } from './ATrackPlayback.vue';
4
5
  export declare const JkyAMap: InstallWithSFC<typeof AMap>;
5
6
  export declare const JkyAMarker: InstallWithSFC<typeof AMarker>;
7
+ export declare const JkyATrackPlayback: InstallWithSFC<typeof ATrackPlayback>;
6
8
  export default JkyAMap;
7
- export { AMarker };
9
+ export { AMarker, ATrackPlayback };
@@ -4,10 +4,15 @@ const AMap_vue_vue_type_script_setup_true_lang = require("./AMap.vue.js");
4
4
  ;/* empty css */
5
5
  const AMarker_vue_vue_type_script_setup_true_lang = require("./AMarker.vue.js");
6
6
  ;/* empty css */
7
+ const ATrackPlayback_vue_vue_type_script_setup_true_lang = require("./ATrackPlayback.vue.js");
8
+ ;/* empty css */
7
9
  const withInstall = require("../utils/with-install.js");
8
10
  const JkyAMap = withInstall.installWithSFC(AMap_vue_vue_type_script_setup_true_lang.default);
9
11
  const JkyAMarker = withInstall.installWithSFC(AMarker_vue_vue_type_script_setup_true_lang.default);
12
+ const JkyATrackPlayback = withInstall.installWithSFC(ATrackPlayback_vue_vue_type_script_setup_true_lang.default);
10
13
  exports.AMarker = AMarker_vue_vue_type_script_setup_true_lang.default;
14
+ exports.ATrackPlayback = ATrackPlayback_vue_vue_type_script_setup_true_lang.default;
11
15
  exports.JkyAMap = JkyAMap;
12
16
  exports.JkyAMarker = JkyAMarker;
17
+ exports.JkyATrackPlayback = JkyATrackPlayback;
13
18
  exports.default = JkyAMap;
@@ -1,14 +1,7 @@
1
- /* AMap 高德地图组件样式 */
2
- .jky-amap-container {
3
- /* 地图容器样式 */
4
- position: relative;
5
- overflow: hidden;
6
1
 
7
- /* 隐藏高德地图的 logo 和版权信息(注意:商业使用请遵守高德地图条款) */
8
- .amap-logo {
9
- display: none !important;
10
- }
11
- .amap-copyright {
12
- display: none !important;
13
- }
2
+ /* JkyAMarker 组件样式 - 参考高德官方示例 */
3
+ .amap-icon img,
4
+ .amap-marker-content img {
5
+ width: 25px;
6
+ height: 34px;
14
7
  }
@@ -1,7 +1,14 @@
1
+ /* AMap 高德地图组件样式 */
2
+ .jky-amap-container {
3
+ /* 地图容器样式 */
4
+ position: relative;
5
+ overflow: hidden;
1
6
 
2
- /* JkyAMarker 组件样式 - 参考高德官方示例 */
3
- .amap-icon img,
4
- .amap-marker-content img {
5
- width: 25px;
6
- height: 34px;
7
+ /* 隐藏高德地图的 logo 和版权信息(注意:商业使用请遵守高德地图条款) */
8
+ .amap-logo {
9
+ display: none !important;
10
+ }
11
+ .amap-copyright {
12
+ display: none !important;
13
+ }
7
14
  }
@@ -0,0 +1,3 @@
1
+
2
+ /* 轨迹回放组件不需要额外样式 */
3
+ /* 所有样式通过 TailwindCSS 工具类或外部组件控制 */