jky-component-lib 0.0.73 → 0.0.77

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 (77) hide show
  1. package/dist/es/add-input/index.d.ts +1 -0
  2. package/dist/es/code-mirror-editor/index.d.ts +1 -0
  3. package/dist/es/form/index.d.ts +1 -0
  4. package/dist/es/index.js +3 -12
  5. package/dist/es/menu/Menu.vue.js +42 -40
  6. package/dist/es/menu/MenuItem.vue.js +43 -41
  7. package/dist/es/menu/index.d.ts +1 -0
  8. package/dist/es/package.json.js +1 -1
  9. package/dist/es/page-header/index.d.ts +1 -0
  10. package/dist/es/page-layout/PageLayout.vue.d.ts +2 -1
  11. package/dist/es/page-layout/PageLayout.vue.js +71 -52
  12. package/dist/es/page-layout/index.d.ts +1 -0
  13. package/dist/es/page-table/PageTable.vue.d.ts +9 -9
  14. package/dist/es/page-table/index.d.ts +1 -0
  15. package/dist/es/rich-editor/index.d.ts +1 -0
  16. package/dist/es/style.css +47 -166
  17. package/dist/es/styles.css +1 -1
  18. package/dist/es/tabs/ContextMenu.vue.d.ts +30 -0
  19. package/dist/es/tabs/ContextMenu.vue.js +118 -0
  20. package/dist/es/tabs/ContextMenu.vue3.js +5 -0
  21. package/dist/es/tabs/Tabs.vue.d.ts +9 -42
  22. package/dist/es/tabs/Tabs.vue.js +108 -287
  23. package/dist/es/tabs/config.d.ts +2 -0
  24. package/dist/es/tabs/config.js +8 -0
  25. package/dist/es/tabs/createTabsGuard.d.ts +5 -0
  26. package/dist/es/tabs/createTabsGuard.js +18 -0
  27. package/dist/es/tabs/index.d.ts +4 -6
  28. package/dist/es/tabs/index.js +1 -1
  29. package/dist/es/tabs/style.css +32 -18
  30. package/dist/es/tabs/useTabsStore.d.ts +5 -52
  31. package/dist/es/tabs/useTabsStore.js +130 -182
  32. package/dist/lib/add-input/index.d.ts +1 -0
  33. package/dist/lib/code-mirror-editor/index.d.ts +1 -0
  34. package/dist/lib/form/index.d.ts +1 -0
  35. package/dist/lib/index.js +2 -11
  36. package/dist/lib/menu/Menu.vue.js +42 -40
  37. package/dist/lib/menu/MenuItem.vue.js +42 -40
  38. package/dist/lib/menu/index.d.ts +1 -0
  39. package/dist/lib/package.json.js +1 -1
  40. package/dist/lib/page-header/index.d.ts +1 -0
  41. package/dist/lib/page-layout/PageLayout.vue.d.ts +2 -1
  42. package/dist/lib/page-layout/PageLayout.vue.js +69 -50
  43. package/dist/lib/page-layout/index.d.ts +1 -0
  44. package/dist/lib/page-table/PageTable.vue.d.ts +9 -9
  45. package/dist/lib/page-table/index.d.ts +1 -0
  46. package/dist/lib/rich-editor/index.d.ts +1 -0
  47. package/dist/lib/style.css +47 -166
  48. package/dist/lib/styles.css +1 -1
  49. package/dist/lib/tabs/ContextMenu.vue.d.ts +30 -0
  50. package/dist/lib/tabs/ContextMenu.vue.js +118 -0
  51. package/dist/lib/tabs/ContextMenu.vue3.js +5 -0
  52. package/dist/lib/tabs/Tabs.vue.d.ts +9 -42
  53. package/dist/lib/tabs/Tabs.vue.js +106 -285
  54. package/dist/lib/tabs/config.d.ts +2 -0
  55. package/dist/lib/tabs/config.js +8 -0
  56. package/dist/lib/tabs/createTabsGuard.d.ts +5 -0
  57. package/dist/lib/tabs/createTabsGuard.js +18 -0
  58. package/dist/lib/tabs/index.d.ts +4 -6
  59. package/dist/lib/tabs/index.js +1 -1
  60. package/dist/lib/tabs/style.css +32 -18
  61. package/dist/lib/tabs/useTabsStore.d.ts +5 -52
  62. package/dist/lib/tabs/useTabsStore.js +129 -181
  63. package/package.json +1 -1
  64. package/dist/es/tabs/TabContent.vue.d.ts +0 -16
  65. package/dist/es/tabs/TabContent.vue.js +0 -65
  66. package/dist/es/tabs/TabContent.vue3.js +0 -5
  67. package/dist/es/tabs/routeListener.d.ts +0 -19
  68. package/dist/es/tabs/routeListener.js +0 -26
  69. package/dist/es/tabs/useTabs.d.ts +0 -27
  70. package/dist/es/tabs/useTabs.js +0 -59
  71. package/dist/lib/tabs/TabContent.vue.d.ts +0 -16
  72. package/dist/lib/tabs/TabContent.vue.js +0 -65
  73. package/dist/lib/tabs/TabContent.vue3.js +0 -5
  74. package/dist/lib/tabs/routeListener.d.ts +0 -19
  75. package/dist/lib/tabs/routeListener.js +0 -26
  76. package/dist/lib/tabs/useTabs.d.ts +0 -27
  77. package/dist/lib/tabs/useTabs.js +0 -59
@@ -81,9 +81,7 @@
81
81
  --color-red-700: oklch(50.5% .213 27.518);
82
82
  --color-red-800: oklch(44.4% .177 26.899);
83
83
  --color-red-900: oklch(39.6% .141 25.723);
84
- --color-orange-100: oklch(95.4% .038 75.164);
85
84
  --color-orange-500: oklch(70.5% .213 47.604);
86
- --color-orange-800: oklch(47% .157 37.304);
87
85
  --color-amber-500: oklch(76.9% .188 70.08);
88
86
  --color-yellow-50: oklch(98.7% .026 102.212);
89
87
  --color-yellow-100: oklch(97.3% .071 103.193);
@@ -590,6 +588,10 @@
590
588
  margin-top: auto;
591
589
  }
592
590
 
591
+ .mr-1 {
592
+ margin-right: calc(var(--spacing) * 1);
593
+ }
594
+
593
595
  .mr-2 {
594
596
  margin-right: calc(var(--spacing) * 2);
595
597
  }
@@ -602,10 +604,6 @@
602
604
  margin-right: calc(var(--spacing) * 4);
603
605
  }
604
606
 
605
- .mb-0 {
606
- margin-bottom: calc(var(--spacing) * 0);
607
- }
608
-
609
607
  .mb-1 {
610
608
  margin-bottom: calc(var(--spacing) * 1);
611
609
  }
@@ -670,6 +668,22 @@
670
668
  mask-repeat: no-repeat;
671
669
  }
672
670
 
671
+ .icon-\[carbon--apple\] {
672
+ width: 1em;
673
+ height: 1em;
674
+ -webkit-mask-image: var(--svg);
675
+ -webkit-mask-image: var(--svg);
676
+ -webkit-mask-image: var(--svg);
677
+ mask-image: var(--svg);
678
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='32' height='32'%3E%3Cpath fill='black' d='M21.779 8a11.5 11.5 0 0 0-3.055.534a15 15 0 0 1-1.822.413A6.005 6.005 0 0 0 11 4v2a3.99 3.99 0 0 1 3.827 2.9a20 20 0 0 1-1.617-.365A13 13 0 0 0 10.032 8C6.31 8 4 11.065 4 16c0 7.51 4.068 11.999 8 12h.002a7.2 7.2 0 0 0 2.49-.59A5 5 0 0 1 16 27a5 5 0 0 1 1.511.41A7.2 7.2 0 0 0 20 28c3.93-.001 8-4.49 8-12c0-3.69-1.63-8-6.221-8M20 26a5.5 5.5 0 0 1-1.79-.464A6.4 6.4 0 0 0 16 25a6.4 6.4 0 0 0-2.206.536A5.5 5.5 0 0 1 12 26h.002C9.052 25.999 6 22.259 6 16c0-1.804.393-6 4.032-6a11.2 11.2 0 0 1 2.68.473a13 13 0 0 0 3.05.527h.491a11.8 11.8 0 0 0 2.996-.536a10 10 0 0 1 2.53-.464C25.796 10 26 14.998 26 16c0 6.259-3.052 9.999-6 10'/%3E%3Cpath fill='black' d='M18 7h-1V6a2 2 0 0 1 2-2h1v1a2 2 0 0 1-2 2'/%3E%3C/svg%3E");
679
+ background-color: currentColor;
680
+ display: inline-block;
681
+ -webkit-mask-size: 100% 100%;
682
+ mask-size: 100% 100%;
683
+ -webkit-mask-repeat: no-repeat;
684
+ mask-repeat: no-repeat;
685
+ }
686
+
673
687
  .icon-\[carbon--apps\] {
674
688
  width: 1em;
675
689
  height: 1em;
@@ -1246,30 +1260,14 @@
1246
1260
  mask-repeat: no-repeat;
1247
1261
  }
1248
1262
 
1249
- .icon-\[icon-park-outline--avatar\] {
1250
- width: 1em;
1251
- height: 1em;
1252
- -webkit-mask-image: var(--svg);
1253
- -webkit-mask-image: var(--svg);
1254
- -webkit-mask-image: var(--svg);
1255
- mask-image: var(--svg);
1256
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Cpath fill='none' stroke='black' stroke-linejoin='round' stroke-width='4' d='M5.004 42.231a.78.78 0 0 0 .791.769h36.407a.78.78 0 0 0 .792-.769v-.918c.018-.277.055-1.657-.855-3.184c-.574-.963-1.407-1.794-2.476-2.472c-1.293-.82-2.938-1.413-4.928-1.77a29 29 0 0 1-3.002-.584c-2.632-.672-2.862-1.267-2.864-1.273a.8.8 0 0 0-.066-.169c-.022-.11-.075-.528.027-1.647c.258-2.843 1.783-4.523 3.008-5.873c.386-.425.751-.828 1.032-1.222c1.213-1.7 1.325-3.635 1.33-3.755a2 2 0 0 0-.087-.628c-.12-.37-.343-.6-.507-.77a3 3 0 0 1-.113-.12c-.012-.014-.044-.052-.015-.243a19 19 0 0 0 .203-1.857c.056-1.002.099-2.5-.16-3.959a6 6 0 0 0-.172-.825q-.408-1.507-1.32-2.57c-.105-.115-2.653-2.8-10.05-3.35c-1.023-.076-2.034-.035-3.03.016a4.4 4.4 0 0 0-.875.108c-.764.197-.968.681-1.021.952c-.089.45.067.798.17 1.03c.015.033.034.074.001.182c-.171.266-.442.506-.717.733c-.08.067-1.934 1.667-2.036 3.756c-.275 1.589-.255 4.064.07 5.775c.02.095.047.235.002.33c-.35.313-.746.668-.745 1.478c.004.082.117 2.016 1.33 3.717c.28.394.645.796 1.03 1.221l.002.001c1.225 1.35 2.75 3.03 3.008 5.872c.101 1.12.048 1.537.027 1.648a.8.8 0 0 0-.067.169c-.001.006-.23.599-2.85 1.27c-1.512.387-3 .585-3.045.59c-1.934.327-3.569.906-4.86 1.721c-1.065.673-1.9 1.507-2.48 2.477c-.928 1.55-.903 2.962-.89 3.22z'/%3E%3C/svg%3E");
1257
- background-color: currentColor;
1258
- display: inline-block;
1259
- -webkit-mask-size: 100% 100%;
1260
- mask-size: 100% 100%;
1261
- -webkit-mask-repeat: no-repeat;
1262
- mask-repeat: no-repeat;
1263
- }
1264
-
1265
- .icon-\[icon-park-outline--briefcase\] {
1263
+ .icon-\[icon-park-outline--data-user\] {
1266
1264
  width: 1em;
1267
1265
  height: 1em;
1268
1266
  -webkit-mask-image: var(--svg);
1269
1267
  -webkit-mask-image: var(--svg);
1270
1268
  -webkit-mask-image: var(--svg);
1271
1269
  mask-image: var(--svg);
1272
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='4'%3E%3Cpath d='M32 16c0-6.075-3.582-12-8-12s-8 5.925-8 12m-7 0h30l1 12H27v-3h-6v3H8zM8 28L6 42h36l-2-14'/%3E%3Cpath d='M21 25h6v6h-6z'/%3E%3C/g%3E%3C/svg%3E");
1270
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='4'%3E%3Cpath d='M22 8v12c0 2.21-4.03 4-9 4s-9-1.79-9-4V8'/%3E%3Cpath d='M22 14c0 2.21-4.03 4-9 4s-9-1.79-9-4m18-6c0 2.21-4.03 4-9 4s-9-1.79-9-4s4.03-4 9-4s9 1.79 9 4m10-2h6a4 4 0 0 1 4 4v6M16 42h-6a4 4 0 0 1-4-4v-6'/%3E%3Ccircle cx='35' cy='29' r='5'/%3E%3Cpath d='M44 44H26a9 9 0 1 1 18 0'/%3E%3C/g%3E%3C/svg%3E");
1273
1271
  background-color: currentColor;
1274
1272
  display: inline-block;
1275
1273
  -webkit-mask-size: 100% 100%;
@@ -1278,14 +1276,14 @@
1278
1276
  mask-repeat: no-repeat;
1279
1277
  }
1280
1278
 
1281
- .icon-\[icon-park-outline--experiment\] {
1279
+ .icon-\[icon-park-outline--shopping\] {
1282
1280
  width: 1em;
1283
1281
  height: 1em;
1284
1282
  -webkit-mask-image: var(--svg);
1285
1283
  -webkit-mask-image: var(--svg);
1286
1284
  -webkit-mask-image: var(--svg);
1287
1285
  mask-image: var(--svg);
1288
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Cg fill='none' stroke='black' stroke-width='4'%3E%3Cpath stroke-linecap='round' d='M12 4h24'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m10.777 30l7.242-14.961V4h12.01v11.039L37.245 30'/%3E%3Cpath stroke-linejoin='round' d='M7.794 43.673a3.273 3.273 0 0 1-1.52-4.372L10.777 30S18 35 24 30s13.246 0 13.246 0l4.49 9.305A3.273 3.273 0 0 1 38.787 44H9.22c-.494 0-.981-.112-1.426-.327Z'/%3E%3C/g%3E%3C/svg%3E");
1286
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Cg fill='none'%3E%3Cpath d='M39 32H13L8 12h36z'/%3E%3Cpath stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='4' d='M3 6h3.5L8 12m0 0l5 20h26l5-20z'/%3E%3Ccircle cx='13' cy='39' r='3' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='4'/%3E%3Ccircle cx='39' cy='39' r='3' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='4'/%3E%3C/g%3E%3C/svg%3E");
1289
1287
  background-color: currentColor;
1290
1288
  display: inline-block;
1291
1289
  -webkit-mask-size: 100% 100%;
@@ -1294,110 +1292,14 @@
1294
1292
  mask-repeat: no-repeat;
1295
1293
  }
1296
1294
 
1297
- .icon-\[icon-park-outline--folder\] {
1298
- width: 1em;
1299
- height: 1em;
1300
- -webkit-mask-image: var(--svg);
1301
- -webkit-mask-image: var(--svg);
1302
- -webkit-mask-image: var(--svg);
1303
- mask-image: var(--svg);
1304
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='4'%3E%3Cpath d='M7 6a2 2 0 0 1 2-2h30a2 2 0 0 1 2 2v36a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2zm9 23h4m-4 6h10'/%3E%3Cpath d='M8 5s3.765 13 16 13S40 5 40 5'/%3E%3Ccircle cx='24' cy='18' r='4'/%3E%3Cpath d='M15 4H9a2 2 0 0 0-2 2v6m26-8h6a2 2 0 0 1 2 2v6'/%3E%3C/g%3E%3C/svg%3E");
1305
- background-color: currentColor;
1306
- display: inline-block;
1307
- -webkit-mask-size: 100% 100%;
1308
- mask-size: 100% 100%;
1309
- -webkit-mask-repeat: no-repeat;
1310
- mask-repeat: no-repeat;
1311
- }
1312
-
1313
- .icon-\[icon-park-outline--key\] {
1314
- width: 1em;
1315
- height: 1em;
1316
- -webkit-mask-image: var(--svg);
1317
- -webkit-mask-image: var(--svg);
1318
- -webkit-mask-image: var(--svg);
1319
- mask-image: var(--svg);
1320
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Cg fill='none' stroke='black' stroke-linejoin='round' stroke-width='4'%3E%3Cpath d='M22.868 24.298a9.87 9.87 0 0 1 2.63 9.588a9.93 9.93 0 0 1-7.065 7.028a9.99 9.99 0 0 1-9.64-2.615a9.863 9.863 0 0 1 .122-13.878c3.839-3.82 10.046-3.873 13.951-.121z'/%3E%3Cpath stroke-linecap='round' d='M23 24L40 7'/%3E%3Cpath d='m30.305 16.9l5.429 5.4l6.333-6.3l-5.428-5.4z'/%3E%3C/g%3E%3C/svg%3E");
1321
- background-color: currentColor;
1322
- display: inline-block;
1323
- -webkit-mask-size: 100% 100%;
1324
- mask-size: 100% 100%;
1325
- -webkit-mask-repeat: no-repeat;
1326
- mask-repeat: no-repeat;
1327
- }
1328
-
1329
- .icon-\[icon-park-outline--lock\] {
1330
- width: 1em;
1331
- height: 1em;
1332
- -webkit-mask-image: var(--svg);
1333
- -webkit-mask-image: var(--svg);
1334
- -webkit-mask-image: var(--svg);
1335
- mask-image: var(--svg);
1336
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Cg fill='none' stroke='black' stroke-linejoin='round' stroke-width='4'%3E%3Crect width='36' height='22' x='6' y='22' rx='2'/%3E%3Cpath stroke-linecap='round' d='M14 22v-8c0-5.523 4.477-10 10-10s10 4.477 10 10v8m-10 8v6'/%3E%3C/g%3E%3C/svg%3E");
1337
- background-color: currentColor;
1338
- display: inline-block;
1339
- -webkit-mask-size: 100% 100%;
1340
- mask-size: 100% 100%;
1341
- -webkit-mask-repeat: no-repeat;
1342
- mask-repeat: no-repeat;
1343
- }
1344
-
1345
- .icon-\[icon-park-outline--monitor\] {
1346
- width: 1em;
1347
- height: 1em;
1348
- -webkit-mask-image: var(--svg);
1349
- -webkit-mask-image: var(--svg);
1350
- -webkit-mask-image: var(--svg);
1351
- mask-image: var(--svg);
1352
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Cg fill='none' stroke='black' stroke-linejoin='round' stroke-width='4'%3E%3Cpath d='M4 10h32v28H4z'/%3E%3Cpath stroke-linecap='round' d='m44 14l-8 6.75v6.5L44 34z' clip-rule='evenodd'/%3E%3Cpath stroke-linecap='round' d='m17 19l6 5l-6 5'/%3E%3C/g%3E%3C/svg%3E");
1353
- background-color: currentColor;
1354
- display: inline-block;
1355
- -webkit-mask-size: 100% 100%;
1356
- mask-size: 100% 100%;
1357
- -webkit-mask-repeat: no-repeat;
1358
- mask-repeat: no-repeat;
1359
- }
1360
-
1361
- .icon-\[icon-park-outline--notebook\] {
1362
- width: 1em;
1363
- height: 1em;
1364
- -webkit-mask-image: var(--svg);
1365
- -webkit-mask-image: var(--svg);
1366
- -webkit-mask-image: var(--svg);
1367
- mask-image: var(--svg);
1368
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Cg fill='none' stroke='black' stroke-linejoin='round' stroke-width='4'%3E%3Cpath d='M10 6a2 2 0 0 1 2-2h28a2 2 0 0 1 2 2v36a2 2 0 0 1-2 2H12a2 2 0 0 1-2-2z'/%3E%3Cpath stroke-linecap='round' d='M34 6v36M6 14h8M6 24h8M6 34h8M27 4h12M27 44h12'/%3E%3C/g%3E%3C/svg%3E");
1369
- background-color: currentColor;
1370
- display: inline-block;
1371
- -webkit-mask-size: 100% 100%;
1372
- mask-size: 100% 100%;
1373
- -webkit-mask-repeat: no-repeat;
1374
- mask-repeat: no-repeat;
1375
- }
1376
-
1377
- .icon-\[icon-park-outline--setting\] {
1378
- width: 1em;
1379
- height: 1em;
1380
- -webkit-mask-image: var(--svg);
1381
- -webkit-mask-image: var(--svg);
1382
- -webkit-mask-image: var(--svg);
1383
- mask-image: var(--svg);
1384
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Cg fill='none' stroke='black' stroke-linejoin='round' stroke-width='4'%3E%3Cpath d='M36.686 15.171a15.4 15.4 0 0 1 2.529 6.102H44v5.454h-4.785a15.4 15.4 0 0 1-2.529 6.102l3.385 3.385l-3.857 3.857l-3.385-3.385a15.4 15.4 0 0 1-6.102 2.529V44h-5.454v-4.785a15.4 15.4 0 0 1-6.102-2.529l-3.385 3.385l-3.857-3.857l3.385-3.385a15.4 15.4 0 0 1-2.529-6.102H4v-5.454h4.785a15.4 15.4 0 0 1 2.529-6.102l-3.385-3.385l3.857-3.857l3.385 3.385a15.4 15.4 0 0 1 6.102-2.529V4h5.454v4.785a15.4 15.4 0 0 1 6.102 2.529l3.385-3.385l3.857 3.857z'/%3E%3Cpath d='M24 29a5 5 0 1 0 0-10a5 5 0 0 0 0 10Z'/%3E%3C/g%3E%3C/svg%3E");
1385
- background-color: currentColor;
1386
- display: inline-block;
1387
- -webkit-mask-size: 100% 100%;
1388
- mask-size: 100% 100%;
1389
- -webkit-mask-repeat: no-repeat;
1390
- mask-repeat: no-repeat;
1391
- }
1392
-
1393
- .icon-\[icon-park-outline--shopping-cart\] {
1295
+ .icon-\[icon-park-outline--user\] {
1394
1296
  width: 1em;
1395
1297
  height: 1em;
1396
1298
  -webkit-mask-image: var(--svg);
1397
1299
  -webkit-mask-image: var(--svg);
1398
1300
  -webkit-mask-image: var(--svg);
1399
1301
  mask-image: var(--svg);
1400
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Cg fill='none'%3E%3Cpath d='M39 32H13L8 12h36z'/%3E%3Cpath stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='4' d='M3 6h3.5L8 12m0 0l5 20h26l5-20z'/%3E%3Ccircle cx='13' cy='39' r='3' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='4'/%3E%3Ccircle cx='39' cy='39' r='3' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='4'/%3E%3Cpath stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='4' d='M22 22h8m-4 4v-8'/%3E%3C/g%3E%3C/svg%3E");
1302
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='4'%3E%3Ccircle cx='24' cy='12' r='8'/%3E%3Cpath d='M42 44c0-9.941-8.059-18-18-18S6 34.059 6 44'/%3E%3C/g%3E%3C/svg%3E");
1401
1303
  background-color: currentColor;
1402
1304
  display: inline-block;
1403
1305
  -webkit-mask-size: 100% 100%;
@@ -1406,14 +1308,14 @@
1406
1308
  mask-repeat: no-repeat;
1407
1309
  }
1408
1310
 
1409
- .icon-\[icon-park-outline--user\] {
1311
+ .icon-\[icon-park-outline--wallet\] {
1410
1312
  width: 1em;
1411
1313
  height: 1em;
1412
1314
  -webkit-mask-image: var(--svg);
1413
1315
  -webkit-mask-image: var(--svg);
1414
1316
  -webkit-mask-image: var(--svg);
1415
1317
  mask-image: var(--svg);
1416
- --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='4'%3E%3Ccircle cx='24' cy='12' r='8'/%3E%3Cpath d='M42 44c0-9.941-8.059-18-18-18S6 34.059 6 44'/%3E%3C/g%3E%3C/svg%3E");
1318
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Cg fill='none' stroke='black' stroke-width='4'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M17.982 11.969L31.785 4l4.612 7.989z' clip-rule='evenodd'/%3E%3Cpath stroke-linejoin='round' d='M4 14a2 2 0 0 1 2-2h36a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z'/%3E%3Cpath stroke-linejoin='round' d='M35.25 33H44V23h-8.75c-2.9 0-5.25 2.239-5.25 5s2.35 5 5.25 5Z'/%3E%3Cpath stroke-linecap='round' d='M44 16.5v24'/%3E%3C/g%3E%3C/svg%3E");
1417
1319
  background-color: currentColor;
1418
1320
  display: inline-block;
1419
1321
  -webkit-mask-size: 100% 100%;
@@ -1785,12 +1687,6 @@
1785
1687
  margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
1786
1688
  }
1787
1689
 
1788
- :where(.space-y-2 > :not(:last-child)) {
1789
- --tw-space-y-reverse: 0;
1790
- margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
1791
- margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
1792
- }
1793
-
1794
1690
  :where(.space-y-3 > :not(:last-child)) {
1795
1691
  --tw-space-y-reverse: 0;
1796
1692
  margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
@@ -1829,6 +1725,10 @@
1829
1725
  overflow: hidden;
1830
1726
  }
1831
1727
 
1728
+ .overflow-x-auto {
1729
+ overflow-x: auto;
1730
+ }
1731
+
1832
1732
  .rounded {
1833
1733
  border-radius: .25rem;
1834
1734
  }
@@ -1894,10 +1794,6 @@
1894
1794
  border-color: var(--color-green-200);
1895
1795
  }
1896
1796
 
1897
- .border-green-500 {
1898
- border-color: var(--color-green-500);
1899
- }
1900
-
1901
1797
  .border-red-200 {
1902
1798
  border-color: var(--color-red-200);
1903
1799
  }
@@ -1910,10 +1806,6 @@
1910
1806
  border-color: var(--color-yellow-200);
1911
1807
  }
1912
1808
 
1913
- .border-yellow-500 {
1914
- border-color: var(--color-yellow-500);
1915
- }
1916
-
1917
1809
  .border-l-\(--el-color-primary\) {
1918
1810
  border-left-color: var(--el-color-primary);
1919
1811
  }
@@ -2028,8 +1920,8 @@
2028
1920
  background-color: var(--color-indigo-50);
2029
1921
  }
2030
1922
 
2031
- .bg-orange-100 {
2032
- background-color: var(--color-orange-100);
1923
+ .bg-orange-500 {
1924
+ background-color: var(--color-orange-500);
2033
1925
  }
2034
1926
 
2035
1927
  .bg-purple-50 {
@@ -2301,10 +2193,6 @@
2301
2193
  padding-block: calc(var(--spacing) * 6);
2302
2194
  }
2303
2195
 
2304
- .py-8 {
2305
- padding-block: calc(var(--spacing) * 8);
2306
- }
2307
-
2308
2196
  .py-12 {
2309
2197
  padding-block: calc(var(--spacing) * 12);
2310
2198
  }
@@ -2509,6 +2397,10 @@
2509
2397
  color: var(--color-green-100);
2510
2398
  }
2511
2399
 
2400
+ .text-green-500 {
2401
+ color: var(--color-green-500);
2402
+ }
2403
+
2512
2404
  .text-green-600 {
2513
2405
  color: var(--color-green-600);
2514
2406
  }
@@ -2525,10 +2417,6 @@
2525
2417
  color: var(--color-indigo-800);
2526
2418
  }
2527
2419
 
2528
- .text-orange-800 {
2529
- color: var(--color-orange-800);
2530
- }
2531
-
2532
2420
  .text-purple-100 {
2533
2421
  color: var(--color-purple-100);
2534
2422
  }
@@ -2597,10 +2485,6 @@
2597
2485
  font-style: italic;
2598
2486
  }
2599
2487
 
2600
- .line-through {
2601
- text-decoration-line: line-through;
2602
- }
2603
-
2604
2488
  .underline {
2605
2489
  text-decoration-line: underline;
2606
2490
  }
@@ -2723,14 +2607,6 @@
2723
2607
  background-color: var(--color-gray-300);
2724
2608
  }
2725
2609
 
2726
- .hover\:bg-green-600:hover {
2727
- background-color: var(--color-green-600);
2728
- }
2729
-
2730
- .hover\:bg-purple-600:hover {
2731
- background-color: var(--color-purple-600);
2732
- }
2733
-
2734
2610
  .hover\:bg-red-200:hover {
2735
2611
  background-color: var(--color-red-200);
2736
2612
  }
@@ -2747,10 +2623,6 @@
2747
2623
  color: var(--color-blue-900);
2748
2624
  }
2749
2625
 
2750
- .hover\:text-red-700:hover {
2751
- color: var(--color-red-700);
2752
- }
2753
-
2754
2626
  .hover\:text-red-900:hover {
2755
2627
  color: var(--color-red-900);
2756
2628
  }
@@ -2763,6 +2635,11 @@
2763
2635
  opacity: .8;
2764
2636
  }
2765
2637
 
2638
+ .hover\:shadow-lg:hover {
2639
+ --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
2640
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2641
+ }
2642
+
2766
2643
  .hover\:shadow-xl:hover {
2767
2644
  --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
2768
2645
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -2829,6 +2706,10 @@
2829
2706
  .lg\:grid-cols-3 {
2830
2707
  grid-template-columns: repeat(3, minmax(0, 1fr));
2831
2708
  }
2709
+
2710
+ .lg\:grid-cols-4 {
2711
+ grid-template-columns: repeat(4, minmax(0, 1fr));
2712
+ }
2832
2713
  }
2833
2714
  }
2834
2715
 
@@ -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)}: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{--jky-tabs-color:var(--el-text-color-regular);--jky-tabs-active-color:var(--el-color-primary);--jky-tabs-height:40px;--jky-tabs-font-size:14px;.el-tabs__item{color:var(--jky-tabs-color);font-size:var(--jky-tabs-font-size);height:var(--jky-tabs-height);line-height:var(--jky-tabs-height);&.is-active{color:var(--jky-tabs-active-color)}}.el-tabs__active-bar{background-color:var(--jky-tabs-active-color)}}.jky-tabs--route{.el-tabs__item{&.is-closable:hover{.el-tabs__item__close{opacity: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)}: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-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}
@@ -0,0 +1,30 @@
1
+ import { TabsContextMenuItem, TabsContextMenuProps } from './types';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ default?(_: {}): any;
6
+ };
7
+ refs: {};
8
+ rootEl: any;
9
+ };
10
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
+ declare const __VLS_component: import('vue').DefineComponent<TabsContextMenuProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
12
+ command: (command: {
13
+ key: string;
14
+ tab: TabsContextMenuProps["tab"];
15
+ }) => any;
16
+ }, string, import('vue').PublicProps, Readonly<TabsContextMenuProps> & Readonly<{
17
+ onCommand?: ((command: {
18
+ key: string;
19
+ tab: TabsContextMenuProps["tab"];
20
+ }) => any) | undefined;
21
+ }>, {
22
+ menuItems: TabsContextMenuItem[];
23
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
24
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
25
+ export default _default;
26
+ type __VLS_WithTemplateSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };
@@ -0,0 +1,118 @@
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 ElementPlus = require("element-plus");
24
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, {
25
+ name: "JkyTabsContextMenu"
26
+ }), {
27
+ __name: "ContextMenu",
28
+ props: {
29
+ tab: {},
30
+ isActive: { type: Boolean },
31
+ isOnlyTab: { type: Boolean },
32
+ menuItems: { default: () => [] }
33
+ },
34
+ emits: ["command"],
35
+ setup(__props, { emit: __emit }) {
36
+ const props = __props;
37
+ const emit = __emit;
38
+ const defaultMenuItems = vue.computed(() => {
39
+ return [
40
+ {
41
+ key: "refresh",
42
+ label: "刷新",
43
+ icon: "Refresh"
44
+ },
45
+ {
46
+ key: "closeCurrent",
47
+ label: "关闭当前",
48
+ icon: "Close",
49
+ disabled: props.isOnlyTab
50
+ },
51
+ {
52
+ key: "closeOthers",
53
+ label: "关闭其他",
54
+ icon: "FolderDelete",
55
+ disabled: props.isOnlyTab,
56
+ divided: true
57
+ }
58
+ ];
59
+ });
60
+ const menuItems = vue.computed(() => {
61
+ return [...defaultMenuItems.value, ...props.menuItems];
62
+ });
63
+ function handleCommand(command) {
64
+ emit("command", {
65
+ key: command,
66
+ tab: props.tab
67
+ });
68
+ }
69
+ return (_ctx, _cache) => {
70
+ return vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElDropdown), {
71
+ trigger: "contextmenu",
72
+ class: "jky-tabs-context-menu",
73
+ onCommand: handleCommand
74
+ }, {
75
+ dropdown: vue.withCtx(() => [
76
+ vue.createVNode(vue.unref(ElementPlus.ElDropdownMenu), null, {
77
+ default: vue.withCtx(() => [
78
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(menuItems.value, (item) => {
79
+ return vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElDropdownItem), {
80
+ key: item.key,
81
+ command: item.key,
82
+ divided: item.divided,
83
+ disabled: item.disabled
84
+ }, {
85
+ default: vue.withCtx(() => {
86
+ var _a;
87
+ return [
88
+ ((_a = item.icon) == null ? void 0 : _a.startsWith("icon-")) ? (vue.openBlock(), vue.createElementBlock("span", {
89
+ key: 0,
90
+ class: vue.normalizeClass(item.icon)
91
+ }, null, 2)) : item.icon ? (vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElIcon), {
92
+ key: 1,
93
+ class: "mr-1"
94
+ }, {
95
+ default: vue.withCtx(() => [
96
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(item.icon)))
97
+ ]),
98
+ _: 2
99
+ }, 1024)) : vue.createCommentVNode("", true),
100
+ vue.createTextVNode(" " + vue.toDisplayString(item.label), 1)
101
+ ];
102
+ }),
103
+ _: 2
104
+ }, 1032, ["command", "divided", "disabled"]);
105
+ }), 128))
106
+ ]),
107
+ _: 1
108
+ })
109
+ ]),
110
+ default: vue.withCtx(() => [
111
+ vue.renderSlot(_ctx.$slots, "default")
112
+ ]),
113
+ _: 3
114
+ });
115
+ };
116
+ }
117
+ }));
118
+ exports.default = _sfc_main;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const ContextMenu_vue_vue_type_script_setup_true_lang = require("./ContextMenu.vue.js");
4
+ ;/* empty css */
5
+ exports.default = ContextMenu_vue_vue_type_script_setup_true_lang.default;
@@ -1,46 +1,13 @@
1
- import { TabItem, TabsProps } from './types';
2
- declare function __VLS_template(): {
3
- attrs: Partial<{}>;
4
- slots: {
5
- default?(_: {}): any;
6
- };
7
- refs: {};
8
- rootEl: any;
1
+ import { Store } from 'pinia';
2
+ import { TabsProps, TabsStoreActions, TabsStoreState } from './types';
3
+ type __VLS_Props = TabsProps & {
4
+ store: Store<'tabs', TabsStoreState, object, TabsStoreActions>;
9
5
  };
10
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
- declare const __VLS_component: import('vue').DefineComponent<TabsProps, {
12
- closeTab: (tabName: string) => void;
13
- closeOthers: (tabName: string) => void;
14
- closeAll: () => void;
15
- refreshTab: (tabName: string) => void;
16
- getCachedTabs: () => string[];
17
- getTabList: () => TabItem[];
18
- getActiveTab: () => string;
19
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
20
- "update:modelValue": (value: string) => any;
21
- routeChange: (route: any) => any;
22
- tabClick: (tab: any) => any;
23
- tabRemove: (tabName: string) => any;
24
- edit: (tabName: string | undefined, action: "add" | "remove") => any;
25
- tabClose: (tabName: string) => any;
26
- }, string, import('vue').PublicProps, Readonly<TabsProps> & Readonly<{
27
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
28
- onRouteChange?: ((route: any) => any) | undefined;
29
- onTabClick?: ((tab: any) => any) | undefined;
30
- onTabRemove?: ((tabName: string) => any) | undefined;
31
- onEdit?: ((tabName: string | undefined, action: "add" | "remove") => any) | undefined;
32
- onTabClose?: ((tabName: string) => any) | undefined;
33
- }>, {
34
- mode: import('./types').TabsMode;
6
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
7
+ round: boolean;
8
+ mode: "route" | "manual";
9
+ closable: boolean;
35
10
  cachable: boolean;
36
- maxCacheSize: number;
37
- tabStyle: import('./types').TabStyleOptions;
38
- tabs: TabItem[];
11
+ contextMenu: boolean;
39
12
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
40
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
41
13
  export default _default;
42
- type __VLS_WithTemplateSlots<T, S> = T & {
43
- new (): {
44
- $slots: S;
45
- };
46
- };