jky-component-lib 0.0.80 → 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 (39) 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/lib/components.d.ts +1 -0
  21. package/dist/lib/components.js +21 -18
  22. package/dist/lib/index.js +14 -12
  23. package/dist/lib/modal/Footer.vue.d.ts +10 -0
  24. package/dist/lib/modal/Footer.vue.js +59 -0
  25. package/dist/lib/modal/Footer.vue2.js +4 -0
  26. package/dist/lib/modal/Header.vue.d.ts +37 -0
  27. package/dist/lib/modal/Header.vue.js +79 -0
  28. package/dist/lib/modal/Header.vue2.js +4 -0
  29. package/dist/lib/modal/Modal.vue.d.ts +75 -0
  30. package/dist/lib/modal/Modal.vue.js +224 -0
  31. package/dist/lib/modal/Modal.vue3.js +5 -0
  32. package/dist/lib/modal/index.d.ts +5 -0
  33. package/dist/lib/modal/index.js +8 -0
  34. package/dist/lib/modal/style.css +8 -0
  35. package/dist/lib/package.json.js +1 -1
  36. package/dist/lib/page-layout/PageLayout.vue.d.ts +1 -0
  37. package/dist/lib/page-layout/PageLayout.vue.js +9 -9
  38. package/dist/lib/style.css +116 -0
  39. 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;
@@ -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;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const Header_vue_vue_type_script_setup_true_lang = require("./Header.vue.js");
4
+ exports.default = Header_vue_vue_type_script_setup_true_lang.default;
@@ -0,0 +1,75 @@
1
+ import { ModalDirection, ModalProps } from './types';
2
+ type __VLS_Props = ModalProps;
3
+ declare function handleTypeChange(): void;
4
+ declare function toggleFullscreen(): void;
5
+ declare function toggleDirection(): void;
6
+ declare function handleClose(): void;
7
+ type __VLS_PublicProps = {
8
+ modelValue?: boolean;
9
+ 'mode'?: 'dialog' | 'drawer';
10
+ 'fullscreen'?: boolean;
11
+ 'direction'?: ModalDirection;
12
+ } & __VLS_Props;
13
+ declare function __VLS_template(): {
14
+ attrs: Partial<{}>;
15
+ slots: {
16
+ header?(_: {
17
+ fullscreen: boolean;
18
+ close: typeof handleClose;
19
+ toggleFullscreen: typeof toggleFullscreen;
20
+ toggleType: typeof handleTypeChange;
21
+ }): any;
22
+ header?(_: {
23
+ fullscreen: boolean;
24
+ close: typeof handleClose;
25
+ toggleFullscreen: typeof toggleFullscreen;
26
+ toggleType: typeof handleTypeChange;
27
+ toggleDirection: typeof toggleDirection;
28
+ }): any;
29
+ default?(_: {}): any;
30
+ default?(_: {}): any;
31
+ footer?(_: {}): any;
32
+ footer?(_: {}): any;
33
+ };
34
+ refs: {};
35
+ rootEl: any;
36
+ };
37
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
38
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
39
+ "update:modelValue": (value: boolean) => any;
40
+ "update:mode": (value: "dialog" | "drawer") => any;
41
+ "update:fullscreen": (value: boolean) => any;
42
+ "update:direction": (value: ModalDirection) => any;
43
+ } & {
44
+ "update:modelValue": (value: boolean) => any;
45
+ cancel: () => any;
46
+ close: () => any;
47
+ open: () => any;
48
+ confirm: () => any;
49
+ opened: () => any;
50
+ closed: () => any;
51
+ typeChange: (type: import('./types').ModalType) => any;
52
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
53
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
54
+ onCancel?: (() => any) | undefined;
55
+ onClose?: (() => any) | undefined;
56
+ onOpen?: (() => any) | undefined;
57
+ onConfirm?: (() => any) | undefined;
58
+ onOpened?: (() => any) | undefined;
59
+ onClosed?: (() => any) | undefined;
60
+ "onUpdate:mode"?: ((value: "dialog" | "drawer") => any) | undefined;
61
+ "onUpdate:fullscreen"?: ((value: boolean) => any) | undefined;
62
+ "onUpdate:direction"?: ((value: ModalDirection) => any) | undefined;
63
+ onTypeChange?: ((type: import('./types').ModalType) => any) | undefined;
64
+ }>, {
65
+ title: string;
66
+ cancelText: string;
67
+ confirmText: string;
68
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
69
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
70
+ export default _default;
71
+ type __VLS_WithTemplateSlots<T, S> = T & {
72
+ new (): {
73
+ $slots: S;
74
+ };
75
+ };