jky-component-lib 0.0.141 → 0.0.143

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 (71) hide show
  1. package/dist/es/amap/AClusterMarker/AClusterMarker.vue.d.ts +55 -0
  2. package/dist/es/amap/AClusterMarker/AClusterMarker.vue.js +198 -0
  3. package/dist/es/amap/AClusterMarker/AClusterMarker.vue3.js +5 -0
  4. package/dist/es/amap/AClusterMarker/index.d.ts +4 -0
  5. package/dist/es/amap/AClusterMarker/index.js +8 -0
  6. package/dist/es/amap/AClusterMarker/style.css +3 -0
  7. package/dist/es/amap/AMap.vue.d.ts +2 -2
  8. package/dist/es/amap/AMap.vue.js +3 -1
  9. package/dist/es/amap/AMapPicker/AMapPicker.vue.js +1 -1
  10. package/dist/es/amap/AMarker.vue.d.ts +1 -1
  11. package/dist/es/amap/index.d.ts +5 -1
  12. package/dist/es/amap/index.js +4 -0
  13. package/dist/es/amap/style.css +5 -12
  14. package/dist/es/amap/style2.css +13 -2
  15. package/dist/es/amap/style3.css +2 -6
  16. package/dist/es/animated/AnimatedTransition.vue.d.ts +44 -0
  17. package/dist/es/animated/AnimatedTransition.vue.js +99 -0
  18. package/dist/es/animated/AnimatedTransition.vue3.js +5 -0
  19. package/dist/es/animated/index.d.ts +4 -0
  20. package/dist/es/animated/index.js +8 -0
  21. package/dist/es/animated/style.css +6 -0
  22. package/dist/es/code-mirror-editor/CodeMirrorEditor.vue.js +1 -1
  23. package/dist/es/components.d.ts +2 -0
  24. package/dist/es/components.js +9 -2
  25. package/dist/es/draggable/Draggable.vue.d.ts +78 -0
  26. package/dist/es/draggable/Draggable.vue.js +130 -0
  27. package/dist/es/draggable/Draggable.vue3.js +5 -0
  28. package/dist/es/draggable/index.d.ts +4 -0
  29. package/dist/es/draggable/index.js +8 -0
  30. package/dist/es/draggable/style.css +16 -0
  31. package/dist/es/index.js +8 -1
  32. package/dist/es/package.json.js +1 -1
  33. package/dist/es/page-table/ActionColumn.vue.js +4 -3
  34. package/dist/es/style.css +225 -6
  35. package/dist/es/styles.css +1 -1
  36. package/dist/lib/amap/AClusterMarker/AClusterMarker.vue.d.ts +55 -0
  37. package/dist/lib/amap/AClusterMarker/AClusterMarker.vue.js +198 -0
  38. package/dist/lib/amap/AClusterMarker/AClusterMarker.vue3.js +5 -0
  39. package/dist/lib/amap/AClusterMarker/index.d.ts +4 -0
  40. package/dist/lib/amap/AClusterMarker/index.js +8 -0
  41. package/dist/lib/amap/AClusterMarker/style.css +3 -0
  42. package/dist/lib/amap/AMap.vue.d.ts +2 -2
  43. package/dist/lib/amap/AMap.vue.js +3 -1
  44. package/dist/lib/amap/AMapPicker/AMapPicker.vue.js +1 -1
  45. package/dist/lib/amap/AMarker.vue.d.ts +1 -1
  46. package/dist/lib/amap/index.d.ts +5 -1
  47. package/dist/lib/amap/index.js +4 -0
  48. package/dist/lib/amap/style.css +5 -12
  49. package/dist/lib/amap/style2.css +13 -2
  50. package/dist/lib/amap/style3.css +2 -6
  51. package/dist/lib/animated/AnimatedTransition.vue.d.ts +44 -0
  52. package/dist/lib/animated/AnimatedTransition.vue.js +99 -0
  53. package/dist/lib/animated/AnimatedTransition.vue3.js +5 -0
  54. package/dist/lib/animated/index.d.ts +4 -0
  55. package/dist/lib/animated/index.js +8 -0
  56. package/dist/lib/animated/style.css +6 -0
  57. package/dist/lib/code-mirror-editor/CodeMirrorEditor.vue.js +1 -1
  58. package/dist/lib/components.d.ts +2 -0
  59. package/dist/lib/components.js +62 -55
  60. package/dist/lib/draggable/Draggable.vue.d.ts +78 -0
  61. package/dist/lib/draggable/Draggable.vue.js +130 -0
  62. package/dist/lib/draggable/Draggable.vue3.js +5 -0
  63. package/dist/lib/draggable/index.d.ts +4 -0
  64. package/dist/lib/draggable/index.js +8 -0
  65. package/dist/lib/draggable/style.css +16 -0
  66. package/dist/lib/index.js +44 -37
  67. package/dist/lib/package.json.js +1 -1
  68. package/dist/lib/page-table/ActionColumn.vue.js +4 -3
  69. package/dist/lib/style.css +225 -6
  70. package/dist/lib/styles.css +1 -1
  71. package/package.json +3 -1
@@ -0,0 +1,55 @@
1
+ import { AClusterMarkerProps, ClusterPoint } from './types';
2
+ declare global {
3
+ interface Window {
4
+ AMap: any;
5
+ }
6
+ }
7
+ type __VLS_Props = AClusterMarkerProps;
8
+ declare function updatePoints(newPoints: ClusterPoint[]): void;
9
+ declare function clearClusters(): void;
10
+ declare function destroy(): void;
11
+ type __VLS_PublicProps = {
12
+ modelValue?: ClusterPoint[];
13
+ } & __VLS_Props;
14
+ declare function __VLS_template(): {
15
+ attrs: Partial<{}>;
16
+ slots: {
17
+ default?(_: {}): any;
18
+ };
19
+ refs: {};
20
+ rootEl: any;
21
+ };
22
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
23
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {
24
+ updatePoints: typeof updatePoints;
25
+ clearClusters: typeof clearClusters;
26
+ destroy: typeof destroy;
27
+ getClusterInstance: () => any;
28
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
29
+ "update:modelValue": (value: ClusterPoint[]) => any;
30
+ } & {
31
+ click: (cluster: any) => any;
32
+ mouseout: (cluster: any) => any;
33
+ mouseover: (cluster: any) => any;
34
+ ready: (cluster: any) => any;
35
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
36
+ "onUpdate:modelValue"?: ((value: ClusterPoint[]) => any) | undefined;
37
+ onClick?: ((cluster: any) => any) | undefined;
38
+ onMouseout?: ((cluster: any) => any) | undefined;
39
+ onMouseover?: ((cluster: any) => any) | undefined;
40
+ onReady?: ((cluster: any) => any) | undefined;
41
+ }>, {
42
+ gridSize: number;
43
+ visible: boolean;
44
+ zoomOnClick: boolean;
45
+ minClusterSize: number;
46
+ averageCenter: boolean;
47
+ enable: boolean;
48
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
49
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
50
+ export default _default;
51
+ type __VLS_WithTemplateSlots<T, S> = T & {
52
+ new (): {
53
+ $slots: S;
54
+ };
55
+ };
@@ -0,0 +1,198 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import { defineComponent, useModel, inject, onMounted, watch, onUnmounted, renderSlot, mergeModels } from "vue";
21
+ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, {
22
+ name: "JkyAClusterMarker",
23
+ inheritAttrs: false
24
+ }), {
25
+ __name: "AClusterMarker",
26
+ props: /* @__PURE__ */ mergeModels({
27
+ points: {},
28
+ gridSize: { default: 60 },
29
+ styles: {},
30
+ visible: { type: Boolean, default: true },
31
+ zoomOnClick: { type: Boolean, default: true },
32
+ minClusterSize: { default: 2 },
33
+ maxZoom: {},
34
+ averageCenter: { type: Boolean, default: false },
35
+ renderClusterMarker: {},
36
+ renderMarker: {},
37
+ enable: { type: Boolean, default: true }
38
+ }, {
39
+ "modelValue": { default: () => [] },
40
+ "modelModifiers": {}
41
+ }),
42
+ emits: /* @__PURE__ */ mergeModels(["click", "mouseover", "mouseout", "ready"], ["update:modelValue"]),
43
+ setup(__props, { expose: __expose, emit: __emit }) {
44
+ const props = __props;
45
+ const emit = __emit;
46
+ const modelValue = useModel(__props, "modelValue");
47
+ const amapContext = inject("amapContext");
48
+ let clusterInstance = null;
49
+ let mapInstance = null;
50
+ onMounted(() => {
51
+ if ((amapContext == null ? void 0 : amapContext.map) && props.enable) {
52
+ initCluster(amapContext.map);
53
+ }
54
+ });
55
+ function initCluster(map) {
56
+ if (!map || !window.AMap)
57
+ return;
58
+ mapInstance = map;
59
+ if (!window.AMap.MarkerCluster) {
60
+ console.warn("AMap.MarkerCluster 插件未加载,请先加载插件");
61
+ return;
62
+ }
63
+ if (clusterInstance) {
64
+ clusterInstance.setMap(null);
65
+ clusterInstance = null;
66
+ }
67
+ const points = preparePoints();
68
+ const clusterOptions = {
69
+ gridSize: props.gridSize,
70
+ zoomOnClick: props.zoomOnClick,
71
+ minClusterSize: props.minClusterSize,
72
+ averageCenter: props.averageCenter
73
+ };
74
+ if (props.styles && props.styles.length > 0) {
75
+ clusterOptions.styles = props.styles.map((style) => ({
76
+ url: style.url,
77
+ size: style.size ? new window.AMap.Size(style.size[0], style.size[1]) : void 0,
78
+ offset: style.offset ? new window.AMap.Pixel(style.offset[0], style.offset[1]) : void 0,
79
+ textColor: style.textColor,
80
+ textSize: style.textSize
81
+ }));
82
+ }
83
+ if (props.renderClusterMarker) {
84
+ clusterOptions.renderClusterMarker = props.renderClusterMarker;
85
+ }
86
+ if (props.renderMarker) {
87
+ clusterOptions.renderMarker = props.renderMarker;
88
+ }
89
+ clusterInstance = new window.AMap.MarkerCluster(map, points, clusterOptions);
90
+ clusterInstance.on("click", (cluster) => {
91
+ emit("click", cluster);
92
+ });
93
+ clusterInstance.on("mouseover", (cluster) => {
94
+ emit("mouseover", cluster);
95
+ });
96
+ clusterInstance.on("mouseout", (cluster) => {
97
+ emit("mouseout", cluster);
98
+ });
99
+ emit("ready", clusterInstance);
100
+ }
101
+ function preparePoints() {
102
+ const points = props.points || modelValue.value || [];
103
+ return points.map((point) => __spreadValues({
104
+ lnglat: point.lnglat,
105
+ title: point.title,
106
+ content: point.content
107
+ }, point.data));
108
+ }
109
+ function updatePoints(newPoints) {
110
+ if (!clusterInstance)
111
+ return;
112
+ clusterInstance.setMap(null);
113
+ const points = newPoints.map((point) => __spreadValues({
114
+ lnglat: point.lnglat,
115
+ title: point.title,
116
+ content: point.content
117
+ }, point.data));
118
+ clusterInstance.addMarkers(points);
119
+ }
120
+ function clearClusters() {
121
+ if (clusterInstance) {
122
+ clusterInstance.setMap(null);
123
+ }
124
+ }
125
+ function destroy() {
126
+ if (clusterInstance) {
127
+ clusterInstance.setMap(null);
128
+ clusterInstance = null;
129
+ }
130
+ }
131
+ __expose({
132
+ updatePoints,
133
+ clearClusters,
134
+ destroy,
135
+ getClusterInstance: () => clusterInstance
136
+ });
137
+ watch(
138
+ () => props.points,
139
+ (newPoints) => {
140
+ if (clusterInstance && newPoints) {
141
+ updatePoints(newPoints);
142
+ }
143
+ },
144
+ { deep: true }
145
+ );
146
+ watch(
147
+ () => modelValue.value,
148
+ (newValue) => {
149
+ if (clusterInstance && newValue) {
150
+ updatePoints(newValue);
151
+ }
152
+ },
153
+ { deep: true }
154
+ );
155
+ watch(
156
+ () => props.gridSize,
157
+ () => {
158
+ if (mapInstance && props.enable) {
159
+ initCluster(mapInstance);
160
+ }
161
+ }
162
+ );
163
+ watch(
164
+ () => props.styles,
165
+ () => {
166
+ if (mapInstance && props.enable) {
167
+ initCluster(mapInstance);
168
+ }
169
+ },
170
+ { deep: true }
171
+ );
172
+ watch(
173
+ () => props.renderClusterMarker,
174
+ () => {
175
+ if (mapInstance && props.enable) {
176
+ initCluster(mapInstance);
177
+ }
178
+ }
179
+ );
180
+ watch(
181
+ () => props.renderMarker,
182
+ () => {
183
+ if (mapInstance && props.enable) {
184
+ initCluster(mapInstance);
185
+ }
186
+ }
187
+ );
188
+ onUnmounted(() => {
189
+ destroy();
190
+ });
191
+ return (_ctx, _cache) => {
192
+ return renderSlot(_ctx.$slots, "default");
193
+ };
194
+ }
195
+ }));
196
+ export {
197
+ _sfc_main as default
198
+ };
@@ -0,0 +1,5 @@
1
+ import _sfc_main from "./AClusterMarker.vue.js";
2
+ /* empty css */
3
+ export {
4
+ _sfc_main as default
5
+ };
@@ -0,0 +1,4 @@
1
+ import { InstallWithSFC } from '../../utils';
2
+ import { default as AClusterMarker } from './AClusterMarker.vue';
3
+ export declare const JkyAClusterMarker: InstallWithSFC<typeof AClusterMarker>;
4
+ export default JkyAClusterMarker;
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./AClusterMarker.vue.js";
2
+ /* empty css */
3
+ import { installWithSFC } from "../../utils/with-install.js";
4
+ const JkyAClusterMarker = installWithSFC(_sfc_main);
5
+ export {
6
+ JkyAClusterMarker,
7
+ JkyAClusterMarker as default
8
+ };
@@ -0,0 +1,3 @@
1
+ .jky-a-cluster-master {
2
+ /** 簇类标记点主容器 */
3
+ }
@@ -16,20 +16,20 @@ declare const __VLS_component: import('vue').DefineComponent<AMapProps, {
16
16
  removeMarker: (marker: any) => void;
17
17
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
18
18
  click: (data: any) => any;
19
+ ready: (map: any) => any;
19
20
  moveend: (center: {
20
21
  lng: number;
21
22
  lat: number;
22
23
  }) => any;
23
24
  zoomend: (zoom: number) => any;
24
- ready: (map: any) => any;
25
25
  }, string, import('vue').PublicProps, Readonly<AMapProps> & Readonly<{
26
26
  onClick?: ((data: any) => any) | undefined;
27
+ onReady?: ((map: any) => any) | undefined;
27
28
  onMoveend?: ((center: {
28
29
  lng: number;
29
30
  lat: number;
30
31
  }) => any) | undefined;
31
32
  onZoomend?: ((zoom: number) => any) | undefined;
32
- onReady?: ((map: any) => any) | undefined;
33
33
  }>, {
34
34
  width: string;
35
35
  height: string;
@@ -78,7 +78,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
78
78
  const isMapLoaded = ref(false);
79
79
  const controls = ref({});
80
80
  const getMapUrl = computed(() => {
81
- const plugins = [];
81
+ const plugins = [
82
+ "AMap.MarkerCluster"
83
+ ];
82
84
  if (props.showScale)
83
85
  plugins.push("AMap.Scale");
84
86
  if (props.showHawkEye)
@@ -108,7 +108,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
108
108
  token: __props.token,
109
109
  zoom: __props.zoom,
110
110
  center: __props.center,
111
- height: "320px",
111
+ class: "w-full h-80",
112
112
  onClick: handleMapClick
113
113
  }, {
114
114
  default: withCtx(() => {
@@ -25,8 +25,8 @@ declare const __VLS_component: import('vue').DefineComponent<AMapMarkerProps, {
25
25
  onMouseout?: ((marker: any, data: MarkerData) => any) | undefined;
26
26
  onMouseover?: ((marker: any, data: MarkerData) => any) | undefined;
27
27
  }>, {
28
- draggable: boolean;
29
28
  visible: boolean;
29
+ draggable: boolean;
30
30
  updateMode: "incremental" | "full";
31
31
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
32
32
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
@@ -1,11 +1,15 @@
1
1
  import { InstallWithSFC } from '../utils';
2
+ import { default as AClusterMarker } from './AClusterMarker';
2
3
  import { default as AMap } from './AMap.vue';
3
4
  import { default as AMapPicker } from './AMapPicker/AMapPicker.vue';
4
5
  import { default as AMarker } from './AMarker.vue';
5
6
  import { default as ATrackPlayback } from './ATrackPlayback.vue';
7
+ export type * from './AClusterMarker/types';
8
+ export type * from './types';
6
9
  export declare const JkyAMap: InstallWithSFC<typeof AMap>;
7
10
  export declare const JkyAMapPicker: InstallWithSFC<typeof AMapPicker>;
11
+ export declare const JkyAClusterMarker: InstallWithSFC<typeof AClusterMarker>;
8
12
  export declare const JkyAMarker: InstallWithSFC<typeof AMarker>;
9
13
  export declare const JkyATrackPlayback: InstallWithSFC<typeof ATrackPlayback>;
10
14
  export default JkyAMap;
11
- export { AMapPicker, AMarker, ATrackPlayback };
15
+ export { AClusterMarker, AMapPicker, AMarker, ATrackPlayback };
@@ -1,3 +1,4 @@
1
+ import { JkyAClusterMarker as JkyAClusterMarker$1 } from "./AClusterMarker/index.js";
1
2
  import _sfc_main from "./AMap.vue.js";
2
3
  /* empty css */
3
4
  import _sfc_main$1 from "./AMapPicker/AMapPicker.vue.js";
@@ -8,12 +9,15 @@ import _sfc_main$3 from "./ATrackPlayback.vue.js";
8
9
  import { installWithSFC } from "../utils/with-install.js";
9
10
  const JkyAMap = installWithSFC(_sfc_main);
10
11
  const JkyAMapPicker = installWithSFC(_sfc_main$1);
12
+ const JkyAClusterMarker = installWithSFC(JkyAClusterMarker$1);
11
13
  const JkyAMarker = installWithSFC(_sfc_main$2);
12
14
  const JkyATrackPlayback = installWithSFC(_sfc_main$3);
13
15
  export {
16
+ JkyAClusterMarker$1 as AClusterMarker,
14
17
  _sfc_main$1 as AMapPicker,
15
18
  _sfc_main$2 as AMarker,
16
19
  _sfc_main$3 as ATrackPlayback,
20
+ JkyAClusterMarker,
17
21
  JkyAMap,
18
22
  JkyAMapPicker,
19
23
  JkyAMarker,
@@ -1,14 +1,7 @@
1
- /* AMap 高德地图组件样式 */
2
- .jky-amap-container {
3
- /* 地图容器样式 */
4
- position: relative;
5
- overflow: hidden;
6
1
 
7
- /* 隐藏高德地图的 logo 和版权信息(注意:商业使用请遵守高德地图条款) */
8
- .amap-logo {
9
- display: none !important;
10
- }
11
- .amap-copyright {
12
- display: none !important;
13
- }
2
+ /* JkyAMarker 组件样式 - 参考高德官方示例 */
3
+ .amap-icon img,
4
+ .amap-marker-content img {
5
+ width: 25px;
6
+ height: 34px;
14
7
  }
@@ -1,3 +1,14 @@
1
+ /* AMap 高德地图组件样式 */
2
+ .jky-amap-container {
3
+ /* 地图容器样式 */
4
+ position: relative;
5
+ overflow: hidden;
1
6
 
2
- /* 轨迹回放组件不需要额外样式 */
3
- /* 所有样式通过 TailwindCSS 工具类或外部组件控制 */
7
+ /* 隐藏高德地图的 logo 和版权信息(注意:商业使用请遵守高德地图条款) */
8
+ .amap-logo {
9
+ display: none !important;
10
+ }
11
+ .amap-copyright {
12
+ display: none !important;
13
+ }
14
+ }
@@ -1,7 +1,3 @@
1
1
 
2
- /* JkyAMarker 组件样式 - 参考高德官方示例 */
3
- .amap-icon img,
4
- .amap-marker-content img {
5
- width: 25px;
6
- height: 34px;
7
- }
2
+ /* 轨迹回放组件不需要额外样式 */
3
+ /* 所有样式通过 TailwindCSS 工具类或外部组件控制 */
@@ -0,0 +1,44 @@
1
+ import { AnimatedTransitionProps, AnimatedTransitionSlots } from './types';
2
+ type __VLS_Props = AnimatedTransitionProps;
3
+ type __VLS_PublicProps = {
4
+ 'visible'?: boolean;
5
+ } & __VLS_Props;
6
+ declare function __VLS_template(): {
7
+ attrs: Partial<{}>;
8
+ slots: Readonly<AnimatedTransitionSlots> & AnimatedTransitionSlots;
9
+ refs: {};
10
+ rootEl: any;
11
+ };
12
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
13
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
14
+ "update:visible": (value: boolean) => any;
15
+ } & {
16
+ afterEnter: () => any;
17
+ afterLeave: () => any;
18
+ beforeEnter: () => any;
19
+ enterCancelled: () => any;
20
+ beforeLeave: () => any;
21
+ leaveCancelled: () => any;
22
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
23
+ onAfterEnter?: (() => any) | undefined;
24
+ onAfterLeave?: (() => any) | undefined;
25
+ onBeforeEnter?: (() => any) | undefined;
26
+ onEnterCancelled?: (() => any) | undefined;
27
+ onBeforeLeave?: (() => any) | undefined;
28
+ onLeaveCancelled?: (() => any) | undefined;
29
+ "onUpdate:visible"?: ((value: boolean) => any) | undefined;
30
+ }>, {
31
+ name: import('./types').AnimationName | string;
32
+ visible: boolean;
33
+ duration: number;
34
+ mode: "if" | "show";
35
+ direction: import('./types').AnimationDirection;
36
+ enabled: boolean;
37
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
38
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
39
+ export default _default;
40
+ type __VLS_WithTemplateSlots<T, S> = T & {
41
+ new (): {
42
+ $slots: S;
43
+ };
44
+ };
@@ -0,0 +1,99 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import { defineComponent, useModel, computed, openBlock, createBlock, Transition, withCtx, withDirectives, createElementBlock, normalizeStyle, renderSlot, vShow, createCommentVNode, mergeModels } from "vue";
21
+ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, {
22
+ name: "JkyAnimatedTransition"
23
+ }), {
24
+ __name: "AnimatedTransition",
25
+ props: /* @__PURE__ */ mergeModels({
26
+ name: { default: "fade" },
27
+ duration: { default: 300 },
28
+ direction: { default: "right" },
29
+ enabled: { type: Boolean, default: true },
30
+ visible: { type: Boolean, default: true },
31
+ mode: { default: "if" }
32
+ }, {
33
+ "visible": __spreadValues({ type: Boolean }, { default: true }),
34
+ "visibleModifiers": {}
35
+ }),
36
+ emits: /* @__PURE__ */ mergeModels(["beforeEnter", "afterEnter", "enterCancelled", "beforeLeave", "afterLeave", "leaveCancelled"], ["update:visible"]),
37
+ setup(__props, { emit: __emit }) {
38
+ const props = __props;
39
+ const emit = __emit;
40
+ const visible = useModel(__props, "visible");
41
+ function capitalize(str) {
42
+ return str.charAt(0).toUpperCase() + str.slice(1);
43
+ }
44
+ const activeClass = computed(() => {
45
+ const { name, direction } = props;
46
+ return {
47
+ enterActiveClass: `animate__animated animate__${name}In${capitalize(direction)}`,
48
+ leaveActiveClass: `animate__animated animate__${name}Out${capitalize(direction)}`
49
+ };
50
+ });
51
+ function handleBeforeEnter() {
52
+ emit("beforeEnter");
53
+ }
54
+ function handleAfterEnter() {
55
+ emit("afterEnter");
56
+ }
57
+ function handleEnterCancelled() {
58
+ emit("enterCancelled");
59
+ }
60
+ function handleBeforeLeave() {
61
+ emit("beforeLeave");
62
+ }
63
+ function handleAfterLeave() {
64
+ emit("afterLeave");
65
+ }
66
+ function handleLeaveCancelled() {
67
+ emit("leaveCancelled");
68
+ }
69
+ return (_ctx, _cache) => {
70
+ return __props.enabled && __props.direction ? (openBlock(), createBlock(Transition, {
71
+ key: 0,
72
+ name: "custom-classes",
73
+ "enter-active-class": activeClass.value.enterActiveClass,
74
+ "leave-active-class": activeClass.value.leaveActiveClass,
75
+ onBeforeEnter: handleBeforeEnter,
76
+ onAfterEnter: handleAfterEnter,
77
+ onEnterCancelled: handleEnterCancelled,
78
+ onBeforeLeave: handleBeforeLeave,
79
+ onAfterLeave: handleAfterLeave,
80
+ onLeaveCancelled: handleLeaveCancelled
81
+ }, {
82
+ default: withCtx(() => [
83
+ (__props.mode === "if" ? visible.value : true) ? withDirectives((openBlock(), createElementBlock("div", {
84
+ key: 0,
85
+ style: normalizeStyle({ "--animate-duration": `${__props.duration}ms` })
86
+ }, [
87
+ renderSlot(_ctx.$slots, "default")
88
+ ], 4)), [
89
+ [vShow, __props.mode === "show" ? visible.value : true]
90
+ ]) : createCommentVNode("", true)
91
+ ]),
92
+ _: 3
93
+ }, 8, ["enter-active-class", "leave-active-class"])) : renderSlot(_ctx.$slots, "default", { key: 1 });
94
+ };
95
+ }
96
+ }));
97
+ export {
98
+ _sfc_main as default
99
+ };
@@ -0,0 +1,5 @@
1
+ import _sfc_main from "./AnimatedTransition.vue.js";
2
+ /* empty css */
3
+ export {
4
+ _sfc_main as default
5
+ };
@@ -0,0 +1,4 @@
1
+ import { InstallWithSFC } from '../utils';
2
+ import { default as AnimatedTransition } from './AnimatedTransition.vue';
3
+ export declare const JkyAnimatedTransition: InstallWithSFC<typeof AnimatedTransition>;
4
+ export default JkyAnimatedTransition;
@@ -0,0 +1,8 @@
1
+ import _sfc_main from "./AnimatedTransition.vue.js";
2
+ /* empty css */
3
+ import { installWithSFC } from "../utils/with-install.js";
4
+ const JkyAnimatedTransition = installWithSFC(_sfc_main);
5
+ export {
6
+ JkyAnimatedTransition,
7
+ JkyAnimatedTransition as default
8
+ };
@@ -0,0 +1,6 @@
1
+
2
+ /* 禁止使用 @apply,所有 TailwindCSS 工具类直接写在 class 中 */
3
+ /* 样式文件仅用于定义组件特定的自定义纯 CSS 样式 */
4
+ .jky-animated-transition {
5
+ /* 动画组件不需要额外样式,所有样式由 animate.css 提供 */
6
+ }
@@ -28,7 +28,7 @@ import { EditorState } from "@codemirror/state";
28
28
  import { oneDark } from "@codemirror/theme-one-dark";
29
29
  import { EditorView, lineNumbers } from "@codemirror/view";
30
30
  import { basicSetup } from "codemirror";
31
- const _hoisted_1 = { class: "j-code-mirror-editor min-h-40 min-w-50" };
31
+ const _hoisted_1 = { class: "j-code-mirror-editor min-h-0 min-w-full" };
32
32
  const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, {
33
33
  name: "JkyCodeMirrorEditor"
34
34
  }), {
@@ -1,9 +1,11 @@
1
1
  import { Plugin } from 'vue';
2
2
  export * from './add-input';
3
3
  export * from './amap';
4
+ export * from './animated';
4
5
  export * from './button';
5
6
  export * from './button-nav';
6
7
  export * from './code-mirror-editor';
8
+ export * from './draggable';
7
9
  export * from './form';
8
10
  export * from './menu';
9
11
  export * from './modal';
@@ -1,9 +1,11 @@
1
1
  import { JkyAddInput } from "./add-input/index.js";
2
2
  import { JkyAMap, JkyAMapPicker } from "./amap/index.js";
3
- import { JkyAMarker, JkyATrackPlayback } from "./amap/index.js";
3
+ import { JkyAClusterMarker, JkyAMarker, JkyATrackPlayback } from "./amap/index.js";
4
+ import { JkyAnimatedTransition } from "./animated/index.js";
4
5
  import { JkyButton } from "./button/index.js";
5
6
  import { JkyButtonNav } from "./button-nav/index.js";
6
7
  import { JkyCodeMirrorEditor } from "./code-mirror-editor/index.js";
8
+ import { JkyDraggable } from "./draggable/index.js";
7
9
  import { JkyForm, JkyFormItem, JkyAMapPickerItem } from "./form/index.js";
8
10
  import { JkyMenu } from "./menu/index.js";
9
11
  import { JkyModal } from "./modal/index.js";
@@ -33,9 +35,12 @@ const components = [
33
35
  JkyTabs,
34
36
  JkyModal,
35
37
  JkyAMap,
36
- JkyAMapPicker
38
+ JkyAMapPicker,
39
+ JkyDraggable,
40
+ JkyAnimatedTransition
37
41
  ];
38
42
  export {
43
+ JkyAClusterMarker,
39
44
  JkyAMap,
40
45
  JkyAMapPicker,
41
46
  JkyAMapPickerItem,
@@ -43,9 +48,11 @@ export {
43
48
  JkyATrackPlayback,
44
49
  JkyActionColumn,
45
50
  JkyAddInput,
51
+ JkyAnimatedTransition,
46
52
  JkyButton,
47
53
  JkyButtonNav,
48
54
  JkyCodeMirrorEditor,
55
+ JkyDraggable,
49
56
  JkyForm,
50
57
  JkyFormItem,
51
58
  JkyMenu,