jky-component-lib 0.0.77 → 0.0.88

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 (43) hide show
  1. package/dist/es/components.d.ts +1 -0
  2. package/dist/es/components.js +4 -1
  3. package/dist/es/index.js +2 -0
  4. package/dist/es/modal/Footer.vue.d.ts +10 -0
  5. package/dist/es/modal/Footer.vue.js +59 -0
  6. package/dist/es/modal/Footer.vue2.js +4 -0
  7. package/dist/es/modal/Header.vue.d.ts +37 -0
  8. package/dist/es/modal/Header.vue.js +79 -0
  9. package/dist/es/modal/Header.vue2.js +4 -0
  10. package/dist/es/modal/Modal.vue.d.ts +75 -0
  11. package/dist/es/modal/Modal.vue.js +224 -0
  12. package/dist/es/modal/Modal.vue3.js +5 -0
  13. package/dist/es/modal/index.d.ts +5 -0
  14. package/dist/es/modal/index.js +8 -0
  15. package/dist/es/modal/style.css +8 -0
  16. package/dist/es/package.json.js +1 -1
  17. package/dist/es/page-layout/PageLayout.vue.d.ts +1 -0
  18. package/dist/es/page-layout/PageLayout.vue.js +10 -10
  19. package/dist/es/style.css +116 -0
  20. package/dist/es/styles.css +1 -1
  21. package/dist/es/tabs/style.css +1 -0
  22. package/dist/lib/components.d.ts +1 -0
  23. package/dist/lib/components.js +21 -18
  24. package/dist/lib/index.js +14 -12
  25. package/dist/lib/modal/Footer.vue.d.ts +10 -0
  26. package/dist/lib/modal/Footer.vue.js +59 -0
  27. package/dist/lib/modal/Footer.vue2.js +4 -0
  28. package/dist/lib/modal/Header.vue.d.ts +37 -0
  29. package/dist/lib/modal/Header.vue.js +79 -0
  30. package/dist/lib/modal/Header.vue2.js +4 -0
  31. package/dist/lib/modal/Modal.vue.d.ts +75 -0
  32. package/dist/lib/modal/Modal.vue.js +224 -0
  33. package/dist/lib/modal/Modal.vue3.js +5 -0
  34. package/dist/lib/modal/index.d.ts +5 -0
  35. package/dist/lib/modal/index.js +8 -0
  36. package/dist/lib/modal/style.css +8 -0
  37. package/dist/lib/package.json.js +1 -1
  38. package/dist/lib/page-layout/PageLayout.vue.d.ts +1 -0
  39. package/dist/lib/page-layout/PageLayout.vue.js +9 -9
  40. package/dist/lib/style.css +116 -0
  41. package/dist/lib/styles.css +1 -1
  42. package/dist/lib/tabs/style.css +1 -0
  43. package/package.json +5 -4
@@ -29,7 +29,7 @@ var __objRest = (source, exclude) => {
29
29
  }
30
30
  return target;
31
31
  };
32
- import { defineComponent, ref, computed, watch, resolveComponent, openBlock, createElementBlock, normalizeClass, createBlock, unref, withCtx, createElementVNode, createVNode, createCommentVNode, normalizeStyle, resolveDynamicComponent, Transition, KeepAlive } from "vue";
32
+ import { defineComponent, useAttrs, ref, computed, watch, resolveComponent, openBlock, createElementBlock, normalizeClass, createBlock, unref, withCtx, createElementVNode, createVNode, createCommentVNode, normalizeStyle, resolveDynamicComponent, Transition, KeepAlive } from "vue";
33
33
  import { ElCard, ElAside, ElScrollbar } from "element-plus";
34
34
  import { cloneDeep } from "lodash-es";
35
35
  import { useRouter, useRoute, RouterView } from "vue-router";
@@ -64,12 +64,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
64
64
  topLevels: {},
65
65
  sideLevels: {},
66
66
  topMenuTrigger: { default: "click" },
67
- topMenuSingleLevel: { type: Boolean, default: true }
67
+ topMenuSingleLevel: { type: Boolean, default: true },
68
+ sideMenuWithParent: { type: Boolean, default: true }
68
69
  },
69
70
  setup(__props) {
70
71
  const props = __props;
71
72
  const router = useRouter();
72
73
  const route = useRoute();
74
+ const attrs = useAttrs();
73
75
  const { useTabsStore } = createTabsStore({
74
76
  enableCache: props.cachable
75
77
  });
@@ -130,7 +132,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
130
132
  });
131
133
  const displayedSideMenu = computed(() => {
132
134
  if (menuData.value.length === 0) {
133
- console.warn("displayedSideMenu: menuData is empty");
134
135
  return [];
135
136
  }
136
137
  const topMenuItem = route.matched[0];
@@ -144,6 +145,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
144
145
  return [];
145
146
  }
146
147
  if ((found == null ? void 0 : found.children) && found.children.length > 0) {
148
+ if (props.sideMenuWithParent || attrs["side-menu-with-parent"]) {
149
+ return [found];
150
+ }
147
151
  return found.children;
148
152
  }
149
153
  return [];
@@ -163,7 +167,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
163
167
  return (_a = r.meta) == null ? void 0 : _a.title;
164
168
  });
165
169
  if (matchedMenus.length === 0) {
166
- console.warn("No matching menu item found for route:", routePath);
167
170
  return;
168
171
  }
169
172
  activeSideMenu.value = routePath;
@@ -172,15 +175,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
172
175
  } else {
173
176
  activeTopMenu.value = matchedMenus[0].path;
174
177
  }
175
- console.warn("Updated menu:", {
176
- activeTopMenu: activeTopMenu.value,
177
- activeSideMenu: activeSideMenu.value
178
- });
179
178
  },
180
179
  { immediate: true }
181
180
  );
182
- function handleMenuOpen(index) {
183
- console.warn("handleMenuOpen called with index:", index);
181
+ function handleMenuOpen(_index) {
184
182
  }
185
183
  function handleMenuSelect(index) {
186
184
  router.push(index);
@@ -230,6 +228,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
230
228
  mode: "vertical",
231
229
  "default-active": activeSideMenu.value,
232
230
  "menu-data": displayedSideMenu.value,
231
+ class: "jky-page-layout__side-menu",
233
232
  onSelect: handleMenuSelect
234
233
  }, null, 8, ["default-active", "menu-data"])
235
234
  ]),
@@ -239,6 +238,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
239
238
  mode: "vertical",
240
239
  "default-active": activeSideMenu.value,
241
240
  "menu-data": displayedSideMenu.value,
241
+ class: "jky-page-layout__side-menu",
242
242
  onSelect: handleMenuSelect
243
243
  }, null, 8, ["default-active", "menu-data"])
244
244
  ]),
package/dist/es/style.css CHANGED
@@ -11,6 +11,7 @@
11
11
  --tw-skew-x: initial;
12
12
  --tw-skew-y: initial;
13
13
  --tw-space-y-reverse: 0;
14
+ --tw-space-x-reverse: 0;
14
15
  --tw-divide-y-reverse: 0;
15
16
  --tw-border-style: solid;
16
17
  --tw-gradient-position: initial;
@@ -132,6 +133,7 @@
132
133
  --color-gray-700: oklch(37.3% .034 259.733);
133
134
  --color-gray-800: oklch(27.8% .033 256.848);
134
135
  --color-gray-900: oklch(21% .034 264.665);
136
+ --color-black: #000;
135
137
  --color-white: #fff;
136
138
  --spacing: .25rem;
137
139
  --container-2xl: 42rem;
@@ -604,6 +606,10 @@
604
606
  margin-right: calc(var(--spacing) * 4);
605
607
  }
606
608
 
609
+ .mb-0\! {
610
+ margin-bottom: calc(var(--spacing) * 0) !important;
611
+ }
612
+
607
613
  .mb-1 {
608
614
  margin-bottom: calc(var(--spacing) * 1);
609
615
  }
@@ -1404,6 +1410,38 @@
1404
1410
  mask-repeat: no-repeat;
1405
1411
  }
1406
1412
 
1413
+ .icon-\[mi--switch\] {
1414
+ width: 1em;
1415
+ height: 1em;
1416
+ -webkit-mask-image: var(--svg);
1417
+ -webkit-mask-image: var(--svg);
1418
+ -webkit-mask-image: var(--svg);
1419
+ mask-image: var(--svg);
1420
+ --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.293 2.293a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 0 1-1.414-1.414L16.586 8H5a1 1 0 0 1 0-2h11.586l-2.293-2.293a1 1 0 0 1 0-1.414m-4.586 10a1 1 0 0 1 0 1.414L7.414 16H19a1 1 0 1 1 0 2H7.414l2.293 2.293a1 1 0 0 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E");
1421
+ background-color: currentColor;
1422
+ display: inline-block;
1423
+ -webkit-mask-size: 100% 100%;
1424
+ mask-size: 100% 100%;
1425
+ -webkit-mask-repeat: no-repeat;
1426
+ mask-repeat: no-repeat;
1427
+ }
1428
+
1429
+ .icon-\[radix-icons--exit-full-screen\] {
1430
+ width: 1em;
1431
+ height: 1em;
1432
+ -webkit-mask-image: var(--svg);
1433
+ -webkit-mask-image: var(--svg);
1434
+ -webkit-mask-image: var(--svg);
1435
+ mask-image: var(--svg);
1436
+ --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15' width='15' height='15'%3E%3Cpath fill='black' d='M5.5 9a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0V10H2.5a.5.5 0 0 1 0-1zm7 0a.5.5 0 0 1 0 1H10v2.5a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5zm-7-7a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1H5V2.5a.5.5 0 0 1 .5-.5m4 0a.5.5 0 0 1 .5.5V5h2.5a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5'/%3E%3C/svg%3E");
1437
+ background-color: currentColor;
1438
+ display: inline-block;
1439
+ -webkit-mask-size: 100% 100%;
1440
+ mask-size: 100% 100%;
1441
+ -webkit-mask-repeat: no-repeat;
1442
+ mask-repeat: no-repeat;
1443
+ }
1444
+
1407
1445
  .icon-\[ri--logout-circle-line\] {
1408
1446
  width: 1em;
1409
1447
  height: 1em;
@@ -1420,6 +1458,22 @@
1420
1458
  mask-repeat: no-repeat;
1421
1459
  }
1422
1460
 
1461
+ .icon-\[streamline-ultimate--direction-button-2\] {
1462
+ width: 1em;
1463
+ height: 1em;
1464
+ -webkit-mask-image: var(--svg);
1465
+ -webkit-mask-image: var(--svg);
1466
+ -webkit-mask-image: var(--svg);
1467
+ mask-image: var(--svg);
1468
+ --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='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M9 11.998a3 3 0 1 0 6 0a3 3 0 0 0-6 0m-7.974-.629a.853.853 0 0 0 0 1.257l3.118 2.858A.66.66 0 0 0 5.25 15V9a.66.66 0 0 0-1.106-.486zm21.947 1.257a.85.85 0 0 0 0-1.257l-3.117-2.858A.66.66 0 0 0 18.75 9v6a.659.659 0 0 0 1.105.486zM11.372 22.971a.85.85 0 0 0 1.256 0l2.858-3.118A.659.659 0 0 0 15 18.748H9a.66.66 0 0 0-.487 1.105zm1.256-21.947a.85.85 0 0 0-1.256 0L8.514 4.142A.66.66 0 0 0 9 5.248h6a.66.66 0 0 0 .486-1.106z'/%3E%3C/svg%3E");
1469
+ background-color: currentColor;
1470
+ display: inline-block;
1471
+ -webkit-mask-size: 100% 100%;
1472
+ mask-size: 100% 100%;
1473
+ -webkit-mask-repeat: no-repeat;
1474
+ mask-repeat: no-repeat;
1475
+ }
1476
+
1423
1477
  .block {
1424
1478
  display: block;
1425
1479
  }
@@ -1592,6 +1646,10 @@
1592
1646
  flex: 1;
1593
1647
  }
1594
1648
 
1649
+ .flex-none {
1650
+ flex: none;
1651
+ }
1652
+
1595
1653
  .shrink-0 {
1596
1654
  flex-shrink: 0;
1597
1655
  }
@@ -1705,6 +1763,16 @@
1705
1763
  margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
1706
1764
  }
1707
1765
 
1766
+ .gap-x-2 {
1767
+ column-gap: calc(var(--spacing) * 2);
1768
+ }
1769
+
1770
+ :where(.space-x-4 > :not(:last-child)) {
1771
+ --tw-space-x-reverse: 0;
1772
+ margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
1773
+ margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
1774
+ }
1775
+
1708
1776
  :where(.divide-y > :not(:last-child)) {
1709
1777
  --tw-divide-y-reverse: 0;
1710
1778
  border-bottom-style: var(--tw-border-style);
@@ -1721,6 +1789,12 @@
1721
1789
  align-self: center;
1722
1790
  }
1723
1791
 
1792
+ .truncate {
1793
+ text-overflow: ellipsis;
1794
+ white-space: nowrap;
1795
+ overflow: hidden;
1796
+ }
1797
+
1724
1798
  .overflow-hidden {
1725
1799
  overflow: hidden;
1726
1800
  }
@@ -1806,6 +1880,26 @@
1806
1880
  border-color: var(--color-yellow-200);
1807
1881
  }
1808
1882
 
1883
+ .border-t-black\/15 {
1884
+ border-top-color: #00000026;
1885
+ }
1886
+
1887
+ @supports (color: color-mix(in lab, red, red)) {
1888
+ .border-t-black\/15 {
1889
+ border-top-color: color-mix(in oklab, var(--color-black) 15%, transparent);
1890
+ }
1891
+ }
1892
+
1893
+ .border-b-black\/15 {
1894
+ border-bottom-color: #00000026;
1895
+ }
1896
+
1897
+ @supports (color: color-mix(in lab, red, red)) {
1898
+ .border-b-black\/15 {
1899
+ border-bottom-color: color-mix(in oklab, var(--color-black) 15%, transparent);
1900
+ }
1901
+ }
1902
+
1809
1903
  .border-l-\(--el-color-primary\) {
1810
1904
  border-left-color: var(--el-color-primary);
1811
1905
  }
@@ -2129,6 +2223,10 @@
2129
2223
  padding: calc(var(--spacing) * 0);
2130
2224
  }
2131
2225
 
2226
+ .p-0\! {
2227
+ padding: calc(var(--spacing) * 0) !important;
2228
+ }
2229
+
2132
2230
  .p-2 {
2133
2231
  padding: calc(var(--spacing) * 2);
2134
2232
  }
@@ -2165,6 +2263,10 @@
2165
2263
  padding-inline: calc(var(--spacing) * 4);
2166
2264
  }
2167
2265
 
2266
+ .px-4\! {
2267
+ padding-inline: calc(var(--spacing) * 4) !important;
2268
+ }
2269
+
2168
2270
  .px-6 {
2169
2271
  padding-inline: calc(var(--spacing) * 6);
2170
2272
  }
@@ -2201,6 +2303,10 @@
2201
2303
  padding-block: calc(var(--spacing) * 16);
2202
2304
  }
2203
2305
 
2306
+ .pt-0\! {
2307
+ padding-top: calc(var(--spacing) * 0) !important;
2308
+ }
2309
+
2204
2310
  .pt-4 {
2205
2311
  padding-top: calc(var(--spacing) * 4);
2206
2312
  }
@@ -2619,6 +2725,10 @@
2619
2725
  background-color: var(--color-yellow-200);
2620
2726
  }
2621
2727
 
2728
+ .hover\:text-\(--el-color-primary\):hover {
2729
+ color: var(--el-color-primary);
2730
+ }
2731
+
2622
2732
  .hover\:text-blue-900:hover {
2623
2733
  color: var(--color-blue-900);
2624
2734
  }
@@ -2762,6 +2872,12 @@
2762
2872
  initial-value: 0;
2763
2873
  }
2764
2874
 
2875
+ @property --tw-space-x-reverse {
2876
+ syntax: "*";
2877
+ inherits: false;
2878
+ initial-value: 0;
2879
+ }
2880
+
2765
2881
  @property --tw-divide-y-reverse {
2766
2882
  syntax: "*";
2767
2883
  inherits: false;
@@ -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{.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}
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-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}
@@ -17,6 +17,7 @@
17
17
  --el-border-color-light: transparent;
18
18
  }
19
19
  .el-tabs__item {
20
+ border-bottom: none!important;
20
21
  border-radius: 999px;
21
22
  margin-left: 1rem;
22
23
  background-color: var(--el-tabs-item-background);
@@ -5,6 +5,7 @@ export * from './button-nav';
5
5
  export * from './code-mirror-editor';
6
6
  export * from './form';
7
7
  export * from './menu';
8
+ export * from './modal';
8
9
  export * from './page-header';
9
10
  export * from './page-layout';
10
11
  export * from './page-table';
@@ -6,25 +6,27 @@ const index$2 = require("./button-nav/index.js");
6
6
  const index$3 = require("./code-mirror-editor/index.js");
7
7
  const index$4 = require("./form/index.js");
8
8
  const index$5 = require("./menu/index.js");
9
- const index$6 = require("./page-header/index.js");
10
- const index$7 = require("./page-layout/index.js");
11
- const index$8 = require("./page-table/index.js");
12
- const index$9 = require("./rich-editor/index.js");
13
- const index$a = require("./say-hello/index.js");
14
- const index$b = require("./tabs/index.js");
9
+ const index$6 = require("./modal/index.js");
10
+ const index$7 = require("./page-header/index.js");
11
+ const index$8 = require("./page-layout/index.js");
12
+ const index$9 = require("./page-table/index.js");
13
+ const index$a = require("./rich-editor/index.js");
14
+ const index$b = require("./say-hello/index.js");
15
+ const index$c = require("./tabs/index.js");
15
16
  const components = [
16
- index$a.JkySayHello,
17
+ index$b.JkySayHello,
17
18
  index$1.JkyButton,
18
19
  index$2.JkyButtonNav,
19
- index$6.JkyPageHeader,
20
+ index$7.JkyPageHeader,
20
21
  index$5.JkyMenu,
21
22
  index$4.JkyForm,
22
23
  index$3.JkyCodeMirrorEditor,
23
24
  index.JkyAddInput,
24
- index$9.JkyRichEditor,
25
- index$8.JkyPageTable,
26
- index$7.JkyPageLayout,
27
- index$b.JkyTabs
25
+ index$a.JkyRichEditor,
26
+ index$9.JkyPageTable,
27
+ index$8.JkyPageLayout,
28
+ index$c.JkyTabs,
29
+ index$6.JkyModal
28
30
  ];
29
31
  exports.JkyAddInput = index.JkyAddInput;
30
32
  exports.JkyButton = index$1.JkyButton;
@@ -32,10 +34,11 @@ exports.JkyButtonNav = index$2.JkyButtonNav;
32
34
  exports.JkyCodeMirrorEditor = index$3.JkyCodeMirrorEditor;
33
35
  exports.JkyForm = index$4.JkyForm;
34
36
  exports.JkyMenu = index$5.JkyMenu;
35
- exports.JkyPageHeader = index$6.JkyPageHeader;
36
- exports.JkyPageLayout = index$7.JkyPageLayout;
37
- exports.JkyPageTable = index$8.JkyPageTable;
38
- exports.JkyRichEditor = index$9.JkyRichEditor;
39
- exports.JkySayHello = index$a.JkySayHello;
40
- exports.JkyTabs = index$b.JkyTabs;
37
+ exports.JkyModal = index$6.JkyModal;
38
+ exports.JkyPageHeader = index$7.JkyPageHeader;
39
+ exports.JkyPageLayout = index$8.JkyPageLayout;
40
+ exports.JkyPageTable = index$9.JkyPageTable;
41
+ exports.JkyRichEditor = index$a.JkyRichEditor;
42
+ exports.JkySayHello = index$b.JkySayHello;
43
+ exports.JkyTabs = index$c.JkyTabs;
41
44
  exports.components = components;
package/dist/lib/index.js CHANGED
@@ -10,12 +10,13 @@ const index$2 = require("./button-nav/index.js");
10
10
  const index$3 = require("./code-mirror-editor/index.js");
11
11
  const index$4 = require("./form/index.js");
12
12
  const index$5 = require("./menu/index.js");
13
- const index$6 = require("./page-header/index.js");
14
- const index$7 = require("./page-layout/index.js");
15
- const index$8 = require("./page-table/index.js");
16
- const index$9 = require("./rich-editor/index.js");
17
- const index$a = require("./say-hello/index.js");
18
- const index$b = require("./tabs/index.js");
13
+ const index$6 = require("./modal/index.js");
14
+ const index$7 = require("./page-header/index.js");
15
+ const index$8 = require("./page-layout/index.js");
16
+ const index$9 = require("./page-table/index.js");
17
+ const index$a = require("./rich-editor/index.js");
18
+ const index$b = require("./say-hello/index.js");
19
+ const index$c = require("./tabs/index.js");
19
20
  const createTabsGuard = require("./tabs/createTabsGuard.js");
20
21
  const useTabsStore = require("./tabs/useTabsStore.js");
21
22
  const installer = installer$1.createInstaller(components.components);
@@ -29,12 +30,13 @@ exports.JkyButtonNav = index$2.JkyButtonNav;
29
30
  exports.JkyCodeMirrorEditor = index$3.JkyCodeMirrorEditor;
30
31
  exports.JkyForm = index$4.JkyForm;
31
32
  exports.JkyMenu = index$5.JkyMenu;
32
- exports.JkyPageHeader = index$6.JkyPageHeader;
33
- exports.JkyPageLayout = index$7.JkyPageLayout;
34
- exports.JkyPageTable = index$8.JkyPageTable;
35
- exports.JkyRichEditor = index$9.JkyRichEditor;
36
- exports.JkySayHello = index$a.JkySayHello;
37
- exports.JkyTabs = index$b.JkyTabs;
33
+ exports.JkyModal = index$6.JkyModal;
34
+ exports.JkyPageHeader = index$7.JkyPageHeader;
35
+ exports.JkyPageLayout = index$8.JkyPageLayout;
36
+ exports.JkyPageTable = index$9.JkyPageTable;
37
+ exports.JkyRichEditor = index$a.JkyRichEditor;
38
+ exports.JkySayHello = index$b.JkySayHello;
39
+ exports.JkyTabs = index$c.JkyTabs;
38
40
  exports.createTabsGuard = createTabsGuard.createTabsGuard;
39
41
  exports.createTabsStore = useTabsStore.createTabsStore;
40
42
  exports.default = installer;
@@ -0,0 +1,10 @@
1
+ import { ModalProps } from './types';
2
+ type __VLS_Props = Pick<ModalProps, 'confirmText' | 'cancelText'>;
3
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
4
+ cancel: (...args: any[]) => void;
5
+ confirm: (...args: any[]) => void;
6
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
7
+ onCancel?: ((...args: any[]) => any) | undefined;
8
+ onConfirm?: ((...args: any[]) => any) | undefined;
9
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
10
+ export default _default;
@@ -0,0 +1,59 @@
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: "w-full sticky bottom-0 bg-white flex justify-end items-center p-4" };
24
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, {
25
+ name: "JkyModalFooter"
26
+ }), {
27
+ __name: "Footer",
28
+ props: {
29
+ confirmText: {},
30
+ cancelText: {}
31
+ },
32
+ emits: ["confirm", "cancel"],
33
+ setup(__props) {
34
+ const props = __props;
35
+ return (_ctx, _cache) => {
36
+ const _component_el_button = vue.resolveComponent("el-button");
37
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
38
+ vue.createVNode(_component_el_button, {
39
+ type: "primary",
40
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("confirm"))
41
+ }, {
42
+ default: vue.withCtx(() => [
43
+ vue.createTextVNode(vue.toDisplayString(props.confirmText || "确认"), 1)
44
+ ]),
45
+ _: 1
46
+ }),
47
+ vue.createVNode(_component_el_button, {
48
+ onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("cancel"))
49
+ }, {
50
+ default: vue.withCtx(() => [
51
+ vue.createTextVNode(vue.toDisplayString(props.cancelText || "取消"), 1)
52
+ ]),
53
+ _: 1
54
+ })
55
+ ]);
56
+ };
57
+ }
58
+ }));
59
+ exports.default = _sfc_main;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const Footer_vue_vue_type_script_setup_true_lang = require("./Footer.vue.js");
4
+ exports.default = Footer_vue_vue_type_script_setup_true_lang.default;
@@ -0,0 +1,37 @@
1
+ type __VLS_Props = {
2
+ title: string;
3
+ fullscreen: boolean;
4
+ mode?: 'dialog' | 'drawer';
5
+ drawerDirection?: 'rtl' | 'ltr' | 'ttb' | 'btt';
6
+ };
7
+ declare function __VLS_template(): {
8
+ attrs: Partial<{}>;
9
+ slots: {
10
+ default?(_: {}): any;
11
+ direction?(_: {}): any;
12
+ toggle?(_: {}): any;
13
+ fullscreen?(_: {}): any;
14
+ close?(_: {}): any;
15
+ };
16
+ refs: {};
17
+ rootEl: HTMLDivElement;
18
+ };
19
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
20
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
21
+ close: () => any;
22
+ toggle: () => any;
23
+ fullscreen: () => any;
24
+ toggleDirection: () => any;
25
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
26
+ onClose?: (() => any) | undefined;
27
+ onToggle?: (() => any) | undefined;
28
+ onFullscreen?: (() => any) | undefined;
29
+ onToggleDirection?: (() => any) | undefined;
30
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
31
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
32
+ export default _default;
33
+ type __VLS_WithTemplateSlots<T, S> = T & {
34
+ new (): {
35
+ $slots: S;
36
+ };
37
+ };
@@ -0,0 +1,79 @@
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-modal-header w-full flex items-center justify-between p-4 border-b border-solid border-b-black/15" };
24
+ const _hoisted_2 = { class: "flex-1 truncate jky-modal-header__title" };
25
+ const _hoisted_3 = { class: "flex-none flex items-center text-lg gap-x-2 jky-modal-header__btns" };
26
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, {
27
+ name: "JkyModalHeader"
28
+ }), {
29
+ __name: "Header",
30
+ props: {
31
+ title: {},
32
+ fullscreen: { type: Boolean },
33
+ mode: {},
34
+ drawerDirection: {}
35
+ },
36
+ emits: ["toggle", "fullscreen", "close", "toggleDirection"],
37
+ setup(__props) {
38
+ return (_ctx, _cache) => {
39
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
40
+ vue.createElementVNode("div", _hoisted_2, [
41
+ vue.renderSlot(_ctx.$slots, "default", {}, () => [
42
+ vue.createElementVNode("span", null, vue.toDisplayString(__props.title), 1)
43
+ ])
44
+ ]),
45
+ vue.createElementVNode("div", _hoisted_3, [
46
+ __props.mode === "drawer" ? vue.renderSlot(_ctx.$slots, "direction", { key: 0 }, () => [
47
+ vue.createElementVNode("span", {
48
+ title: "切换方向(左/右)",
49
+ class: "icon-[streamline-ultimate--direction-button-2] hover:text-(--el-color-primary) cursor-pointer",
50
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("toggleDirection"))
51
+ })
52
+ ]) : vue.createCommentVNode("", true),
53
+ vue.renderSlot(_ctx.$slots, "toggle", {}, () => [
54
+ vue.createElementVNode("span", {
55
+ title: "切换风格(弹窗/抽屉)",
56
+ class: "icon-[mi--switch] hover:text-(--el-color-primary) cursor-pointer",
57
+ onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("toggle"))
58
+ })
59
+ ]),
60
+ vue.renderSlot(_ctx.$slots, "fullscreen", {}, () => [
61
+ vue.createElementVNode("span", {
62
+ title: "切换全屏",
63
+ class: vue.normalizeClass(["cursor-pointer hover:text-(--el-color-primary)", [__props.fullscreen ? "icon-[radix-icons--exit-full-screen]" : "icon-[mdi--fullscreen]"]]),
64
+ onClick: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("fullscreen"))
65
+ }, null, 2)
66
+ ]),
67
+ vue.renderSlot(_ctx.$slots, "close", {}, () => [
68
+ vue.createElementVNode("span", {
69
+ title: "关闭",
70
+ class: "icon-[carbon--close] hover:text-(--el-color-primary) cursor-pointer",
71
+ onClick: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("close"))
72
+ })
73
+ ])
74
+ ])
75
+ ]);
76
+ };
77
+ }
78
+ }));
79
+ exports.default = _sfc_main;