hzzt-plus 0.0.4 → 0.0.5

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.
@@ -20764,13 +20764,6 @@ const Drag = {
20764
20764
  }
20765
20765
  initMouseEvent(el, callback);
20766
20766
  },
20767
- updated(el, binding) {
20768
- let callback = binding.value;
20769
- if (!callback) {
20770
- callback = () => ({});
20771
- }
20772
- initMouseEvent(el, callback);
20773
- },
20774
20767
  unmounted(el) {
20775
20768
  el.onmousedown = null;
20776
20769
  el.onmousemove = null;
@@ -1,6 +1,6 @@
1
1
  import '../../utils/index.mjs';
2
- import Collapse from './src/collapse.mjs';
3
- import './src/collapse2.mjs';
2
+ import Collapse from './src/collapse2.mjs';
3
+ import './src/collapse.mjs';
4
4
  import { withInstall } from '../../utils/vue/install.mjs';
5
5
 
6
6
  const HzztCollapse = withInstall(Collapse);
@@ -1,69 +1,2 @@
1
- import { createElementVNode, defineComponent, ref, watch, openBlock, createElementBlock, toDisplayString, unref, createCommentVNode, renderSlot } from 'vue';
2
- import '../../../hooks/index.mjs';
3
- import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
4
- import { useLocale } from '../../../hooks/use-locale/index.mjs';
5
1
 
6
- const _hoisted_1 = { class: "hzzt-collapse" };
7
- const _hoisted_2 = { class: "flex align-items-center" };
8
- const _hoisted_3 = { class: "hzzt-collapse-title-wrapper" };
9
- const _hoisted_4 = /* @__PURE__ */ createElementVNode("div", { class: "hzzt-collapse-title-block" }, null, -1);
10
- const _hoisted_5 = { class: "hzzt-collapse-title" };
11
- const _hoisted_6 = /* @__PURE__ */ createElementVNode("div", { class: "hzzt-collapse-line" }, null, -1);
12
- const _hoisted_7 = {
13
- key: 0,
14
- class: "hzzt-collapse-text"
15
- };
16
- const __default__ = defineComponent({
17
- name: "HzztCollapse"
18
- });
19
- const _sfc_main = /* @__PURE__ */ defineComponent({
20
- ...__default__,
21
- props: {
22
- defaultActive: {
23
- type: Boolean,
24
- default: false
25
- },
26
- title: {
27
- type: String,
28
- default: ""
29
- },
30
- expand: {
31
- type: Boolean,
32
- default: true
33
- }
34
- },
35
- setup(__props) {
36
- const props = __props;
37
- const { t } = useLocale();
38
- const active = ref(props.defaultActive);
39
- watch(() => props.defaultActive, (val) => {
40
- active.value = val;
41
- });
42
- function toggle() {
43
- active.value = !active.value;
44
- }
45
- return (_ctx, _cache) => {
46
- return openBlock(), createElementBlock("div", _hoisted_1, [
47
- createElementVNode("div", {
48
- class: "hzzt-collapse-header",
49
- onClick: toggle
50
- }, [
51
- createElementVNode("div", _hoisted_2, [
52
- createElementVNode("div", _hoisted_3, [
53
- _hoisted_4,
54
- createElementVNode("div", _hoisted_5, toDisplayString(__props.title), 1)
55
- ]),
56
- _hoisted_6
57
- ]),
58
- __props.expand ? (openBlock(), createElementBlock("span", _hoisted_7, toDisplayString(active.value ? unref(t)("hzzt.collapse.retract") : unref(t)("hzzt.collapse.expand")), 1)) : createCommentVNode("v-if", true)
59
- ]),
60
- renderSlot(_ctx.$slots, "active", { active: active.value }),
61
- renderSlot(_ctx.$slots, "default")
62
- ]);
63
- };
64
- }
65
- });
66
- var Collapse = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "collapse.vue"]]);
67
-
68
- export { Collapse as default };
69
2
  //# sourceMappingURL=collapse.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"collapse.mjs","sources":["../../../../../../packages/components/collapse/src/collapse.vue"],"sourcesContent":["<template>\n <div class=\"hzzt-collapse\">\n <div class=\"hzzt-collapse-header\" @click=\"toggle\">\n <div class=\"flex align-items-center\">\n <div class=\"hzzt-collapse-title-wrapper\">\n <div class=\"hzzt-collapse-title-block\" />\n <div class=\"hzzt-collapse-title\">{{ title }}</div>\n </div>\n <div class=\"hzzt-collapse-line\" />\n </div>\n <span v-if=\"expand\" class=\"hzzt-collapse-text\">{{\n active ? t('hzzt.collapse.retract') : t('hzzt.collapse.expand')\n }}</span>\n </div>\n <slot name=\"active\" :active=\"active\" />\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch } from 'vue'\nimport { useLocale } from '@hzzt-plus/hooks'\n\ndefineOptions({\n name: 'HzztCollapse',\n})\nconst { t } = useLocale()\nconst props = defineProps({\n defaultActive: {\n type: Boolean,\n default: false,\n },\n title: {\n type: String,\n default: '',\n },\n expand: {\n type: Boolean,\n default: true,\n },\n})\n\nconst active = ref(props.defaultActive)\n\nwatch(\n () => props.defaultActive,\n (val: boolean) => {\n active.value = val\n }\n)\n\nfunction toggle() {\n active.value = !active.value\n}\n</script>\n"],"names":["_createElementVNode","_toDisplayString","_openBlock","_createElementBlock","_unref","_createCommentVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoBA,KAAA;AACA,IAAA,KAAS,EAAiB;;;AAEZ,KACN;AACR,IAAA,MAAA,EAAA;;;;;;;;;;;;;;;;;;;AACA,UAAM,OAAI,EAAc,MAAA;AAgBxB,SAAM,EAAA;AAEN,UAAAA,kBAAA,CAAA,KAAA,EAAA,UAAA,EAAA;AAAA,YACQA,kBAAM,CAAA,KAAA,EAAA,UAAA,EAAA;AAAA,cACM,UAAA;AAChB,cAAAA,kBAAe,CAAA,KAAA,EAAA,UAAA,EAAAC,eAAA,CAAA,OAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA;AAAA,aACjB,CAAA;AAAA,YACF,UAAA;AAEA,WAAA,CAAA;AACE,UAAO,OAAA,CAAA,MAAgB,IAAAC,SAAA,EAAA,EAAAC,kBAAA,CAAA,MAAA,EAAA,UAAA,EAAAF,eAAA,CAAA,MAAA,CAAA,KAAA,GAAAG,KAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA,GAAAA,KAAA,CAAA,CAAA,CAAA,CAAA,sBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,IAAAC,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,SACzB,CAAA;;;;;;;;;;;"}
1
+ {"version":3,"file":"collapse.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,69 @@
1
+ import { createElementVNode, defineComponent, ref, watch, openBlock, createElementBlock, toDisplayString, unref, createCommentVNode, renderSlot } from 'vue';
2
+ import '../../../hooks/index.mjs';
3
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
4
+ import { useLocale } from '../../../hooks/use-locale/index.mjs';
1
5
 
6
+ const _hoisted_1 = { class: "hzzt-collapse" };
7
+ const _hoisted_2 = { class: "flex align-items-center" };
8
+ const _hoisted_3 = { class: "hzzt-collapse-title-wrapper" };
9
+ const _hoisted_4 = /* @__PURE__ */ createElementVNode("div", { class: "hzzt-collapse-title-block" }, null, -1);
10
+ const _hoisted_5 = { class: "hzzt-collapse-title" };
11
+ const _hoisted_6 = /* @__PURE__ */ createElementVNode("div", { class: "hzzt-collapse-line" }, null, -1);
12
+ const _hoisted_7 = {
13
+ key: 0,
14
+ class: "hzzt-collapse-text"
15
+ };
16
+ const __default__ = defineComponent({
17
+ name: "HzztCollapse"
18
+ });
19
+ const _sfc_main = /* @__PURE__ */ defineComponent({
20
+ ...__default__,
21
+ props: {
22
+ defaultActive: {
23
+ type: Boolean,
24
+ default: false
25
+ },
26
+ title: {
27
+ type: String,
28
+ default: ""
29
+ },
30
+ expand: {
31
+ type: Boolean,
32
+ default: true
33
+ }
34
+ },
35
+ setup(__props) {
36
+ const props = __props;
37
+ const { t } = useLocale();
38
+ const active = ref(props.defaultActive);
39
+ watch(() => props.defaultActive, (val) => {
40
+ active.value = val;
41
+ });
42
+ function toggle() {
43
+ active.value = !active.value;
44
+ }
45
+ return (_ctx, _cache) => {
46
+ return openBlock(), createElementBlock("div", _hoisted_1, [
47
+ createElementVNode("div", {
48
+ class: "hzzt-collapse-header",
49
+ onClick: toggle
50
+ }, [
51
+ createElementVNode("div", _hoisted_2, [
52
+ createElementVNode("div", _hoisted_3, [
53
+ _hoisted_4,
54
+ createElementVNode("div", _hoisted_5, toDisplayString(__props.title), 1)
55
+ ]),
56
+ _hoisted_6
57
+ ]),
58
+ __props.expand ? (openBlock(), createElementBlock("span", _hoisted_7, toDisplayString(active.value ? unref(t)("hzzt.collapse.retract") : unref(t)("hzzt.collapse.expand")), 1)) : createCommentVNode("v-if", true)
59
+ ]),
60
+ renderSlot(_ctx.$slots, "active", { active: active.value }),
61
+ renderSlot(_ctx.$slots, "default")
62
+ ]);
63
+ };
64
+ }
65
+ });
66
+ var Collapse = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "collapse.vue"]]);
67
+
68
+ export { Collapse as default };
2
69
  //# sourceMappingURL=collapse2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"collapse2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"collapse2.mjs","sources":["../../../../../../packages/components/collapse/src/collapse.vue"],"sourcesContent":["<template>\n <div class=\"hzzt-collapse\">\n <div class=\"hzzt-collapse-header\" @click=\"toggle\">\n <div class=\"flex align-items-center\">\n <div class=\"hzzt-collapse-title-wrapper\">\n <div class=\"hzzt-collapse-title-block\" />\n <div class=\"hzzt-collapse-title\">{{ title }}</div>\n </div>\n <div class=\"hzzt-collapse-line\" />\n </div>\n <span v-if=\"expand\" class=\"hzzt-collapse-text\">{{\n active ? t('hzzt.collapse.retract') : t('hzzt.collapse.expand')\n }}</span>\n </div>\n <slot name=\"active\" :active=\"active\" />\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch } from 'vue'\nimport { useLocale } from '@hzzt-plus/hooks'\n\ndefineOptions({\n name: 'HzztCollapse',\n})\nconst { t } = useLocale()\nconst props = defineProps({\n defaultActive: {\n type: Boolean,\n default: false,\n },\n title: {\n type: String,\n default: '',\n },\n expand: {\n type: Boolean,\n default: true,\n },\n})\n\nconst active = ref(props.defaultActive)\n\nwatch(\n () => props.defaultActive,\n (val: boolean) => {\n active.value = val\n }\n)\n\nfunction toggle() {\n active.value = !active.value\n}\n</script>\n"],"names":["_createElementVNode","_toDisplayString","_openBlock","_createElementBlock","_unref","_createCommentVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoBA,KAAA;AACA,IAAA,KAAS,EAAiB;;;AAEZ,KACN;AACR,IAAA,MAAA,EAAA;;;;;;;;;;;;;;;;;;;AACA,UAAM,OAAI,EAAc,MAAA;AAgBxB,SAAM,EAAA;AAEN,UAAAA,kBAAA,CAAA,KAAA,EAAA,UAAA,EAAA;AAAA,YACQA,kBAAM,CAAA,KAAA,EAAA,UAAA,EAAA;AAAA,cACM,UAAA;AAChB,cAAAA,kBAAe,CAAA,KAAA,EAAA,UAAA,EAAAC,eAAA,CAAA,OAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA;AAAA,aACjB,CAAA;AAAA,YACF,UAAA;AAEA,WAAA,CAAA;AACE,UAAO,OAAA,CAAA,MAAgB,IAAAC,SAAA,EAAA,EAAAC,kBAAA,CAAA,MAAA,EAAA,UAAA,EAAAF,eAAA,CAAA,MAAA,CAAA,KAAA,GAAAG,KAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA,GAAAA,KAAA,CAAA,CAAA,CAAA,CAAA,sBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,IAAAC,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,SACzB,CAAA;;;;;;;;;;;"}
@@ -6,13 +6,6 @@ const Drag = {
6
6
  }
7
7
  initMouseEvent(el, callback);
8
8
  },
9
- updated(el, binding) {
10
- let callback = binding.value;
11
- if (!callback) {
12
- callback = () => ({});
13
- }
14
- initMouseEvent(el, callback);
15
- },
16
9
  unmounted(el) {
17
10
  el.onmousedown = null;
18
11
  el.onmousemove = null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/drag/index.ts"],"sourcesContent":["import type { DirectiveBinding, ObjectDirective } from 'vue'\n\ntype Point = {\n x: number\n y: number\n}\n\ntype CallbackHandler = (rect?: DOMRect) => void\n\nconst Drag: ObjectDirective = {\n // 当被绑定的元素插入到 DOM 中时……\n mounted(el: HTMLElement, binding: DirectiveBinding) {\n let callback = binding.value\n if (!callback) {\n callback = () => ({})\n }\n\n initMouseEvent(el, callback)\n },\n updated(el: HTMLElement, binding: DirectiveBinding) {\n let callback = binding.value\n if (!callback) {\n callback = () => ({})\n }\n initMouseEvent(el, callback)\n },\n // 只调用一次,指令与元素解绑时调用。\n unmounted(el: HTMLElement) {\n el.onmousedown = null\n el.onmousemove = null\n el.onmouseup = null\n },\n}\n\nfunction initMouseEvent(el: HTMLElement, callback: CallbackHandler) {\n let startPoint: Point | null = null\n let endPoint: Point | null = null\n let roiDiv: HTMLDivElement | null = null\n\n const onMousedown = (e: MouseEvent) => {\n if (e.ctrlKey) {\n startPoint = { x: e.x, y: e.y }\n document.onselectstart = () => false\n document.ondragstart = () => false\n } else {\n removeRoi()\n startPoint = null\n endPoint = null\n }\n }\n\n const onMousemove = (e: MouseEvent) => {\n if (e.ctrlKey && startPoint) {\n endPoint = { x: e.x, y: e.y }\n removeRoi()\n createRoi()\n } else {\n removeRoi()\n startPoint = null\n endPoint = null\n document.onselectstart = null\n document.ondragstart = null\n }\n }\n const onMouseup = () => {\n if (roiDiv) {\n callback(roiDiv.getBoundingClientRect())\n }\n document.onselectstart = null\n document.ondragstart = null\n removeRoi()\n startPoint = null\n endPoint = null\n }\n\n function removeRoi() {\n if (roiDiv && document.body.contains(roiDiv)) {\n document.body.removeChild(roiDiv)\n }\n roiDiv = null\n }\n\n function createRoi() {\n roiDiv = document.createElement('div')\n const distX = endPoint!.x - startPoint!.x\n const distY = endPoint!.y - startPoint!.y\n const left = startPoint!.x < endPoint!.x ? startPoint!.x : endPoint!.x\n const top = startPoint!.y < endPoint!.y ? startPoint!.y : endPoint!.y\n roiDiv.style.cssText = `position: fixed;z-index: 9999;width: ${Math.abs(\n distX\n )}px;height: ${Math.abs(\n distY\n )}px;border: 1px solid #0655c3;left: ${left}px;top: ${top}px;pointer-events: none;`\n document.body.appendChild(roiDiv)\n }\n\n el.onmousedown = onMousedown\n el.onmousemove = onMousemove\n el.onmouseup = onMouseup\n}\n\nexport default Drag\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/drag/index.ts"],"sourcesContent":["import type { DirectiveBinding, ObjectDirective } from 'vue'\n\ntype Point = {\n x: number\n y: number\n}\n\ntype CallbackHandler = (rect?: DOMRect) => void\n\nconst Drag: ObjectDirective = {\n // 当被绑定的元素插入到 DOM 中时……\n mounted(el: HTMLElement, binding: DirectiveBinding) {\n let callback = binding.value\n if (!callback) {\n callback = () => ({})\n }\n\n initMouseEvent(el, callback)\n },\n // 只调用一次,指令与元素解绑时调用。\n unmounted(el: HTMLElement) {\n el.onmousedown = null\n el.onmousemove = null\n el.onmouseup = null\n },\n}\n\nfunction initMouseEvent(el: HTMLElement, callback: CallbackHandler) {\n let startPoint: Point | null = null\n let endPoint: Point | null = null\n let roiDiv: HTMLDivElement | null = null\n\n const onMousedown = (e: MouseEvent) => {\n if (e.ctrlKey) {\n startPoint = { x: e.x, y: e.y }\n document.onselectstart = () => false\n document.ondragstart = () => false\n } else {\n removeRoi()\n startPoint = null\n endPoint = null\n }\n }\n\n const onMousemove = (e: MouseEvent) => {\n if (e.ctrlKey && startPoint) {\n endPoint = { x: e.x, y: e.y }\n removeRoi()\n createRoi()\n } else {\n removeRoi()\n startPoint = null\n endPoint = null\n document.onselectstart = null\n document.ondragstart = null\n }\n }\n const onMouseup = () => {\n if (roiDiv) {\n callback(roiDiv.getBoundingClientRect())\n }\n document.onselectstart = null\n document.ondragstart = null\n removeRoi()\n startPoint = null\n endPoint = null\n }\n\n function removeRoi() {\n if (roiDiv && document.body.contains(roiDiv)) {\n document.body.removeChild(roiDiv)\n }\n roiDiv = null\n }\n\n function createRoi() {\n roiDiv = document.createElement('div')\n const distX = endPoint!.x - startPoint!.x\n const distY = endPoint!.y - startPoint!.y\n const left = startPoint!.x < endPoint!.x ? startPoint!.x : endPoint!.x\n const top = startPoint!.y < endPoint!.y ? startPoint!.y : endPoint!.y\n roiDiv.style.cssText = `position: fixed;z-index: 9999;width: ${Math.abs(\n distX\n )}px;height: ${Math.abs(\n distY\n )}px;border: 1px solid #0655c3;left: ${left}px;top: ${top}px;pointer-events: none;`\n document.body.appendChild(roiDiv)\n }\n\n el.onmousedown = onMousedown\n el.onmousemove = onMousemove\n el.onmouseup = onMouseup\n}\n\nexport default Drag\n"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
- var collapse = require('./src/collapse.js');
7
- require('./src/collapse2.js');
6
+ var collapse = require('./src/collapse2.js');
7
+ require('./src/collapse.js');
8
8
  var install = require('../../utils/vue/install.js');
9
9
 
10
10
  const HzztCollapse = install.withInstall(collapse["default"]);
@@ -1,73 +1,3 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var vue = require('vue');
6
- require('../../../hooks/index.js');
7
- var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
8
- var index = require('../../../hooks/use-locale/index.js');
9
-
10
- const _hoisted_1 = { class: "hzzt-collapse" };
11
- const _hoisted_2 = { class: "flex align-items-center" };
12
- const _hoisted_3 = { class: "hzzt-collapse-title-wrapper" };
13
- const _hoisted_4 = /* @__PURE__ */ vue.createElementVNode("div", { class: "hzzt-collapse-title-block" }, null, -1);
14
- const _hoisted_5 = { class: "hzzt-collapse-title" };
15
- const _hoisted_6 = /* @__PURE__ */ vue.createElementVNode("div", { class: "hzzt-collapse-line" }, null, -1);
16
- const _hoisted_7 = {
17
- key: 0,
18
- class: "hzzt-collapse-text"
19
- };
20
- const __default__ = vue.defineComponent({
21
- name: "HzztCollapse"
22
- });
23
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
24
- ...__default__,
25
- props: {
26
- defaultActive: {
27
- type: Boolean,
28
- default: false
29
- },
30
- title: {
31
- type: String,
32
- default: ""
33
- },
34
- expand: {
35
- type: Boolean,
36
- default: true
37
- }
38
- },
39
- setup(__props) {
40
- const props = __props;
41
- const { t } = index.useLocale();
42
- const active = vue.ref(props.defaultActive);
43
- vue.watch(() => props.defaultActive, (val) => {
44
- active.value = val;
45
- });
46
- function toggle() {
47
- active.value = !active.value;
48
- }
49
- return (_ctx, _cache) => {
50
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
51
- vue.createElementVNode("div", {
52
- class: "hzzt-collapse-header",
53
- onClick: toggle
54
- }, [
55
- vue.createElementVNode("div", _hoisted_2, [
56
- vue.createElementVNode("div", _hoisted_3, [
57
- _hoisted_4,
58
- vue.createElementVNode("div", _hoisted_5, vue.toDisplayString(__props.title), 1)
59
- ]),
60
- _hoisted_6
61
- ]),
62
- __props.expand ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7, vue.toDisplayString(active.value ? vue.unref(t)("hzzt.collapse.retract") : vue.unref(t)("hzzt.collapse.expand")), 1)) : vue.createCommentVNode("v-if", true)
63
- ]),
64
- vue.renderSlot(_ctx.$slots, "active", { active: active.value }),
65
- vue.renderSlot(_ctx.$slots, "default")
66
- ]);
67
- };
68
- }
69
- });
70
- var Collapse = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "collapse.vue"]]);
71
-
72
- exports["default"] = Collapse;
73
3
  //# sourceMappingURL=collapse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collapse.js","sources":["../../../../../../packages/components/collapse/src/collapse.vue"],"sourcesContent":["<template>\n <div class=\"hzzt-collapse\">\n <div class=\"hzzt-collapse-header\" @click=\"toggle\">\n <div class=\"flex align-items-center\">\n <div class=\"hzzt-collapse-title-wrapper\">\n <div class=\"hzzt-collapse-title-block\" />\n <div class=\"hzzt-collapse-title\">{{ title }}</div>\n </div>\n <div class=\"hzzt-collapse-line\" />\n </div>\n <span v-if=\"expand\" class=\"hzzt-collapse-text\">{{\n active ? t('hzzt.collapse.retract') : t('hzzt.collapse.expand')\n }}</span>\n </div>\n <slot name=\"active\" :active=\"active\" />\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch } from 'vue'\nimport { useLocale } from '@hzzt-plus/hooks'\n\ndefineOptions({\n name: 'HzztCollapse',\n})\nconst { t } = useLocale()\nconst props = defineProps({\n defaultActive: {\n type: Boolean,\n default: false,\n },\n title: {\n type: String,\n default: '',\n },\n expand: {\n type: Boolean,\n default: true,\n },\n})\n\nconst active = ref(props.defaultActive)\n\nwatch(\n () => props.defaultActive,\n (val: boolean) => {\n active.value = val\n }\n)\n\nfunction toggle() {\n active.value = !active.value\n}\n</script>\n"],"names":["_createElementVNode","_toDisplayString","_openBlock","_createElementBlock","_unref","_createCommentVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,KAAA;AACA,IAAA,KAAS,EAAiB;;;AAEZ,KACN;AACR,IAAA,MAAA,EAAA;;;;;;;;;;;;;;;;;;;AACA,UAAM,OAAI,EAAc,MAAA;AAgBxB,SAAM,EAAA;AAEN,UAAAA,sBAAA,CAAA,KAAA,EAAA,UAAA,EAAA;AAAA,YACQA,sBAAM,CAAA,KAAA,EAAA,UAAA,EAAA;AAAA,cACM,UAAA;AAChB,cAAAA,sBAAe,CAAA,KAAA,EAAA,UAAA,EAAAC,mBAAA,CAAA,OAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA;AAAA,aACjB,CAAA;AAAA,YACF,UAAA;AAEA,WAAA,CAAA;AACE,UAAO,OAAA,CAAA,MAAgB,IAAAC,aAAA,EAAA,EAAAC,sBAAA,CAAA,MAAA,EAAA,UAAA,EAAAF,mBAAA,CAAA,MAAA,CAAA,KAAA,GAAAG,SAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA,GAAAA,SAAA,CAAA,CAAA,CAAA,CAAA,sBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,IAAAC,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,SACzB,CAAA;;;;;;;;;;;"}
1
+ {"version":3,"file":"collapse.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1,3 +1,73 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ require('../../../hooks/index.js');
7
+ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
8
+ var index = require('../../../hooks/use-locale/index.js');
9
+
10
+ const _hoisted_1 = { class: "hzzt-collapse" };
11
+ const _hoisted_2 = { class: "flex align-items-center" };
12
+ const _hoisted_3 = { class: "hzzt-collapse-title-wrapper" };
13
+ const _hoisted_4 = /* @__PURE__ */ vue.createElementVNode("div", { class: "hzzt-collapse-title-block" }, null, -1);
14
+ const _hoisted_5 = { class: "hzzt-collapse-title" };
15
+ const _hoisted_6 = /* @__PURE__ */ vue.createElementVNode("div", { class: "hzzt-collapse-line" }, null, -1);
16
+ const _hoisted_7 = {
17
+ key: 0,
18
+ class: "hzzt-collapse-text"
19
+ };
20
+ const __default__ = vue.defineComponent({
21
+ name: "HzztCollapse"
22
+ });
23
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
24
+ ...__default__,
25
+ props: {
26
+ defaultActive: {
27
+ type: Boolean,
28
+ default: false
29
+ },
30
+ title: {
31
+ type: String,
32
+ default: ""
33
+ },
34
+ expand: {
35
+ type: Boolean,
36
+ default: true
37
+ }
38
+ },
39
+ setup(__props) {
40
+ const props = __props;
41
+ const { t } = index.useLocale();
42
+ const active = vue.ref(props.defaultActive);
43
+ vue.watch(() => props.defaultActive, (val) => {
44
+ active.value = val;
45
+ });
46
+ function toggle() {
47
+ active.value = !active.value;
48
+ }
49
+ return (_ctx, _cache) => {
50
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
51
+ vue.createElementVNode("div", {
52
+ class: "hzzt-collapse-header",
53
+ onClick: toggle
54
+ }, [
55
+ vue.createElementVNode("div", _hoisted_2, [
56
+ vue.createElementVNode("div", _hoisted_3, [
57
+ _hoisted_4,
58
+ vue.createElementVNode("div", _hoisted_5, vue.toDisplayString(__props.title), 1)
59
+ ]),
60
+ _hoisted_6
61
+ ]),
62
+ __props.expand ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7, vue.toDisplayString(active.value ? vue.unref(t)("hzzt.collapse.retract") : vue.unref(t)("hzzt.collapse.expand")), 1)) : vue.createCommentVNode("v-if", true)
63
+ ]),
64
+ vue.renderSlot(_ctx.$slots, "active", { active: active.value }),
65
+ vue.renderSlot(_ctx.$slots, "default")
66
+ ]);
67
+ };
68
+ }
69
+ });
70
+ var Collapse = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "collapse.vue"]]);
71
+
72
+ exports["default"] = Collapse;
3
73
  //# sourceMappingURL=collapse2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collapse2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"collapse2.js","sources":["../../../../../../packages/components/collapse/src/collapse.vue"],"sourcesContent":["<template>\n <div class=\"hzzt-collapse\">\n <div class=\"hzzt-collapse-header\" @click=\"toggle\">\n <div class=\"flex align-items-center\">\n <div class=\"hzzt-collapse-title-wrapper\">\n <div class=\"hzzt-collapse-title-block\" />\n <div class=\"hzzt-collapse-title\">{{ title }}</div>\n </div>\n <div class=\"hzzt-collapse-line\" />\n </div>\n <span v-if=\"expand\" class=\"hzzt-collapse-text\">{{\n active ? t('hzzt.collapse.retract') : t('hzzt.collapse.expand')\n }}</span>\n </div>\n <slot name=\"active\" :active=\"active\" />\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watch } from 'vue'\nimport { useLocale } from '@hzzt-plus/hooks'\n\ndefineOptions({\n name: 'HzztCollapse',\n})\nconst { t } = useLocale()\nconst props = defineProps({\n defaultActive: {\n type: Boolean,\n default: false,\n },\n title: {\n type: String,\n default: '',\n },\n expand: {\n type: Boolean,\n default: true,\n },\n})\n\nconst active = ref(props.defaultActive)\n\nwatch(\n () => props.defaultActive,\n (val: boolean) => {\n active.value = val\n }\n)\n\nfunction toggle() {\n active.value = !active.value\n}\n</script>\n"],"names":["_createElementVNode","_toDisplayString","_openBlock","_createElementBlock","_unref","_createCommentVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,KAAA;AACA,IAAA,KAAS,EAAiB;;;AAEZ,KACN;AACR,IAAA,MAAA,EAAA;;;;;;;;;;;;;;;;;;;AACA,UAAM,OAAI,EAAc,MAAA;AAgBxB,SAAM,EAAA;AAEN,UAAAA,sBAAA,CAAA,KAAA,EAAA,UAAA,EAAA;AAAA,YACQA,sBAAM,CAAA,KAAA,EAAA,UAAA,EAAA;AAAA,cACM,UAAA;AAChB,cAAAA,sBAAe,CAAA,KAAA,EAAA,UAAA,EAAAC,mBAAA,CAAA,OAAA,CAAA,KAAA,CAAA,EAAA,CAAA,CAAA;AAAA,aACjB,CAAA;AAAA,YACF,UAAA;AAEA,WAAA,CAAA;AACE,UAAO,OAAA,CAAA,MAAgB,IAAAC,aAAA,EAAA,EAAAC,sBAAA,CAAA,MAAA,EAAA,UAAA,EAAAF,mBAAA,CAAA,MAAA,CAAA,KAAA,GAAAG,SAAA,CAAA,CAAA,CAAA,CAAA,uBAAA,CAAA,GAAAA,SAAA,CAAA,CAAA,CAAA,CAAA,sBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,IAAAC,sBAAA,CAAA,MAAA,EAAA,IAAA,CAAA;AAAA,SACzB,CAAA;;;;;;;;;;;"}
@@ -10,13 +10,6 @@ const Drag = {
10
10
  }
11
11
  initMouseEvent(el, callback);
12
12
  },
13
- updated(el, binding) {
14
- let callback = binding.value;
15
- if (!callback) {
16
- callback = () => ({});
17
- }
18
- initMouseEvent(el, callback);
19
- },
20
13
  unmounted(el) {
21
14
  el.onmousedown = null;
22
15
  el.onmousemove = null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../packages/directives/drag/index.ts"],"sourcesContent":["import type { DirectiveBinding, ObjectDirective } from 'vue'\n\ntype Point = {\n x: number\n y: number\n}\n\ntype CallbackHandler = (rect?: DOMRect) => void\n\nconst Drag: ObjectDirective = {\n // 当被绑定的元素插入到 DOM 中时……\n mounted(el: HTMLElement, binding: DirectiveBinding) {\n let callback = binding.value\n if (!callback) {\n callback = () => ({})\n }\n\n initMouseEvent(el, callback)\n },\n updated(el: HTMLElement, binding: DirectiveBinding) {\n let callback = binding.value\n if (!callback) {\n callback = () => ({})\n }\n initMouseEvent(el, callback)\n },\n // 只调用一次,指令与元素解绑时调用。\n unmounted(el: HTMLElement) {\n el.onmousedown = null\n el.onmousemove = null\n el.onmouseup = null\n },\n}\n\nfunction initMouseEvent(el: HTMLElement, callback: CallbackHandler) {\n let startPoint: Point | null = null\n let endPoint: Point | null = null\n let roiDiv: HTMLDivElement | null = null\n\n const onMousedown = (e: MouseEvent) => {\n if (e.ctrlKey) {\n startPoint = { x: e.x, y: e.y }\n document.onselectstart = () => false\n document.ondragstart = () => false\n } else {\n removeRoi()\n startPoint = null\n endPoint = null\n }\n }\n\n const onMousemove = (e: MouseEvent) => {\n if (e.ctrlKey && startPoint) {\n endPoint = { x: e.x, y: e.y }\n removeRoi()\n createRoi()\n } else {\n removeRoi()\n startPoint = null\n endPoint = null\n document.onselectstart = null\n document.ondragstart = null\n }\n }\n const onMouseup = () => {\n if (roiDiv) {\n callback(roiDiv.getBoundingClientRect())\n }\n document.onselectstart = null\n document.ondragstart = null\n removeRoi()\n startPoint = null\n endPoint = null\n }\n\n function removeRoi() {\n if (roiDiv && document.body.contains(roiDiv)) {\n document.body.removeChild(roiDiv)\n }\n roiDiv = null\n }\n\n function createRoi() {\n roiDiv = document.createElement('div')\n const distX = endPoint!.x - startPoint!.x\n const distY = endPoint!.y - startPoint!.y\n const left = startPoint!.x < endPoint!.x ? startPoint!.x : endPoint!.x\n const top = startPoint!.y < endPoint!.y ? startPoint!.y : endPoint!.y\n roiDiv.style.cssText = `position: fixed;z-index: 9999;width: ${Math.abs(\n distX\n )}px;height: ${Math.abs(\n distY\n )}px;border: 1px solid #0655c3;left: ${left}px;top: ${top}px;pointer-events: none;`\n document.body.appendChild(roiDiv)\n }\n\n el.onmousedown = onMousedown\n el.onmousemove = onMousemove\n el.onmouseup = onMouseup\n}\n\nexport default Drag\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/directives/drag/index.ts"],"sourcesContent":["import type { DirectiveBinding, ObjectDirective } from 'vue'\n\ntype Point = {\n x: number\n y: number\n}\n\ntype CallbackHandler = (rect?: DOMRect) => void\n\nconst Drag: ObjectDirective = {\n // 当被绑定的元素插入到 DOM 中时……\n mounted(el: HTMLElement, binding: DirectiveBinding) {\n let callback = binding.value\n if (!callback) {\n callback = () => ({})\n }\n\n initMouseEvent(el, callback)\n },\n // 只调用一次,指令与元素解绑时调用。\n unmounted(el: HTMLElement) {\n el.onmousedown = null\n el.onmousemove = null\n el.onmouseup = null\n },\n}\n\nfunction initMouseEvent(el: HTMLElement, callback: CallbackHandler) {\n let startPoint: Point | null = null\n let endPoint: Point | null = null\n let roiDiv: HTMLDivElement | null = null\n\n const onMousedown = (e: MouseEvent) => {\n if (e.ctrlKey) {\n startPoint = { x: e.x, y: e.y }\n document.onselectstart = () => false\n document.ondragstart = () => false\n } else {\n removeRoi()\n startPoint = null\n endPoint = null\n }\n }\n\n const onMousemove = (e: MouseEvent) => {\n if (e.ctrlKey && startPoint) {\n endPoint = { x: e.x, y: e.y }\n removeRoi()\n createRoi()\n } else {\n removeRoi()\n startPoint = null\n endPoint = null\n document.onselectstart = null\n document.ondragstart = null\n }\n }\n const onMouseup = () => {\n if (roiDiv) {\n callback(roiDiv.getBoundingClientRect())\n }\n document.onselectstart = null\n document.ondragstart = null\n removeRoi()\n startPoint = null\n endPoint = null\n }\n\n function removeRoi() {\n if (roiDiv && document.body.contains(roiDiv)) {\n document.body.removeChild(roiDiv)\n }\n roiDiv = null\n }\n\n function createRoi() {\n roiDiv = document.createElement('div')\n const distX = endPoint!.x - startPoint!.x\n const distY = endPoint!.y - startPoint!.y\n const left = startPoint!.x < endPoint!.x ? startPoint!.x : endPoint!.x\n const top = startPoint!.y < endPoint!.y ? startPoint!.y : endPoint!.y\n roiDiv.style.cssText = `position: fixed;z-index: 9999;width: ${Math.abs(\n distX\n )}px;height: ${Math.abs(\n distY\n )}px;border: 1px solid #0655c3;left: ${left}px;top: ${top}px;pointer-events: none;`\n document.body.appendChild(roiDiv)\n }\n\n el.onmousedown = onMousedown\n el.onmousemove = onMousemove\n el.onmouseup = onMouseup\n}\n\nexport default Drag\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hzzt-plus",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "keywords": [
6
6
  "hzzt-plus",