hzzt-plus 0.0.1-dev-08 → 0.0.2

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.
@@ -7479,24 +7479,22 @@ function handler() {
7479
7479
  }
7480
7480
  const Height = {
7481
7481
  mounted(el, binding) {
7482
- const { element, distY, type } = getEffectiveValue(el, binding.value);
7483
- if (!nodeList.has(element)) {
7484
- nodeList.set(element, []);
7482
+ if (!nodeList.has(el)) {
7483
+ nodeList.set(el, []);
7485
7484
  }
7486
- nodeList.get(element).push({
7487
- documentHandler: createDocumentHandler(element, distY, type),
7485
+ nodeList.get(el).push({
7486
+ documentHandler: createDocumentHandler(el, binding),
7488
7487
  bindingFn: binding.value
7489
7488
  });
7490
7489
  },
7491
7490
  updated(el, binding) {
7492
- const { element, distY, type } = getEffectiveValue(el, binding.value);
7493
- if (!nodeList.has(element)) {
7494
- nodeList.set(element, []);
7491
+ if (!nodeList.has(el)) {
7492
+ nodeList.set(el, []);
7495
7493
  }
7496
- const handlers = nodeList.get(element);
7494
+ const handlers = nodeList.get(el);
7497
7495
  const oldHandlerIndex = handlers.findIndex((item) => item.bindingFn === binding.oldValue);
7498
7496
  const newHandler = {
7499
- documentHandler: createDocumentHandler(element, distY, type),
7497
+ documentHandler: createDocumentHandler(el, binding),
7500
7498
  bindingFn: binding.value
7501
7499
  };
7502
7500
  if (oldHandlerIndex >= 0) {
@@ -7505,16 +7503,16 @@ const Height = {
7505
7503
  handlers.push(newHandler);
7506
7504
  }
7507
7505
  },
7508
- unmounted(el, binding) {
7509
- const { element } = getEffectiveValue(el, binding.value);
7510
- nodeList.delete(element);
7506
+ unmounted(el) {
7507
+ nodeList.delete(el);
7511
7508
  }
7512
7509
  };
7513
- function createDocumentHandler(el, distY, type) {
7510
+ function createDocumentHandler(el, binding) {
7511
+ const { element, distY, type } = getEffectiveValue(el, binding.value);
7514
7512
  const cssProp = type ? type + "Height" : "height";
7515
- el.style[cssProp] = el.clientHeight + distY + "px";
7513
+ el.style[cssProp] = element.clientHeight + distY + "px";
7516
7514
  return function() {
7517
- el.style[cssProp] = el.clientHeight + distY + "px";
7515
+ el.style[cssProp] = element.clientHeight + distY + "px";
7518
7516
  };
7519
7517
  }
7520
7518
  function getEffectiveValue(el, val) {
@@ -7546,7 +7544,35 @@ const Blur = {
7546
7544
  }
7547
7545
  };
7548
7546
 
7547
+ const Highlight = {
7548
+ beforeMount: handle,
7549
+ updated: handle
7550
+ };
7551
+ function handle(el, binding) {
7552
+ const { form = false } = binding.modifiers;
7553
+ const { color = "#ff0000", fontSize = "16px", show = true } = binding.value || {};
7554
+ el.style.color = show ? color : "";
7555
+ el.style.fontSize = show ? fontSize : "";
7556
+ if (form) {
7557
+ setCssText(el, show, "--el-text-color-regular", color);
7558
+ setCssText(el, show, "--font-size", fontSize);
7559
+ }
7560
+ }
7561
+ function setCssText(el, show, prop, value) {
7562
+ let cssText = el.style.cssText;
7563
+ if (show) {
7564
+ let cssText2 = el.style.cssText;
7565
+ if (!~cssText2.indexOf(prop)) {
7566
+ cssText2 = `${cssText2};${prop}: ${value}`;
7567
+ }
7568
+ el.style.cssText = cssText2;
7569
+ } else {
7570
+ cssText = cssText.replace(`${prop}: ${value};`, "");
7571
+ el.style.cssText = cssText;
7572
+ }
7573
+ }
7574
+
7549
7575
  const install = installer.install;
7550
7576
  const version = installer.version;
7551
7577
 
7552
- export { Blur, Download, Height, HzztCollapse, HzztConfigProvider, HzztDropdown, HzztTab, HzztTitle, INSTALLED_KEY, SIZE_INJECTION_KEY, WEEK_DAYS, buildLocaleContext, buildTranslator, componentSizeMap, componentSizes, configProviderContextKey, configProviderProps, datePickTypes, installer as default, install, localeContextKey, makeInstaller, provideGlobalConfig, translate, useGlobalConfig, useGlobalSize, useLocale, useSizeProp, useSizeProps, version };
7578
+ export { Blur, Download, Height, Highlight, HzztCollapse, HzztConfigProvider, HzztDropdown, HzztTab, HzztTitle, INSTALLED_KEY, SIZE_INJECTION_KEY, WEEK_DAYS, buildLocaleContext, buildTranslator, componentSizeMap, componentSizes, configProviderContextKey, configProviderProps, datePickTypes, installer as default, install, localeContextKey, makeInstaller, provideGlobalConfig, translate, useGlobalConfig, useGlobalSize, useLocale, useSizeProp, useSizeProps, version };
@@ -17,24 +17,22 @@ function handler() {
17
17
  }
18
18
  const Height = {
19
19
  mounted(el, binding) {
20
- const { element, distY, type } = getEffectiveValue(el, binding.value);
21
- if (!nodeList.has(element)) {
22
- nodeList.set(element, []);
20
+ if (!nodeList.has(el)) {
21
+ nodeList.set(el, []);
23
22
  }
24
- nodeList.get(element).push({
25
- documentHandler: createDocumentHandler(element, distY, type),
23
+ nodeList.get(el).push({
24
+ documentHandler: createDocumentHandler(el, binding),
26
25
  bindingFn: binding.value
27
26
  });
28
27
  },
29
28
  updated(el, binding) {
30
- const { element, distY, type } = getEffectiveValue(el, binding.value);
31
- if (!nodeList.has(element)) {
32
- nodeList.set(element, []);
29
+ if (!nodeList.has(el)) {
30
+ nodeList.set(el, []);
33
31
  }
34
- const handlers = nodeList.get(element);
32
+ const handlers = nodeList.get(el);
35
33
  const oldHandlerIndex = handlers.findIndex((item) => item.bindingFn === binding.oldValue);
36
34
  const newHandler = {
37
- documentHandler: createDocumentHandler(element, distY, type),
35
+ documentHandler: createDocumentHandler(el, binding),
38
36
  bindingFn: binding.value
39
37
  };
40
38
  if (oldHandlerIndex >= 0) {
@@ -43,16 +41,16 @@ const Height = {
43
41
  handlers.push(newHandler);
44
42
  }
45
43
  },
46
- unmounted(el, binding) {
47
- const { element } = getEffectiveValue(el, binding.value);
48
- nodeList.delete(element);
44
+ unmounted(el) {
45
+ nodeList.delete(el);
49
46
  }
50
47
  };
51
- function createDocumentHandler(el, distY, type) {
48
+ function createDocumentHandler(el, binding) {
49
+ const { element, distY, type } = getEffectiveValue(el, binding.value);
52
50
  const cssProp = type ? type + "Height" : "height";
53
- el.style[cssProp] = el.clientHeight + distY + "px";
51
+ el.style[cssProp] = element.clientHeight + distY + "px";
54
52
  return function() {
55
- el.style[cssProp] = el.clientHeight + distY + "px";
53
+ el.style[cssProp] = element.clientHeight + distY + "px";
56
54
  };
57
55
  }
58
56
  function getEffectiveValue(el, val) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/height/index.ts"],"sourcesContent":["import {isClient, isNumber, isObject} from '@hzzt-plus/utils'\n\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype DocumentHandler = <T>() => void\ntype FlushList = Map<\n HTMLElement,\n {\n documentHandler: DocumentHandler\n bindingFn: (...args: unknown[]) => unknown\n }[]\n>\n\nconst nodeList: FlushList = new Map();\n\nif (isClient) {\n window.addEventListener('resize', handler);\n document.addEventListener('fullscreenchange', handler);\n}\n\nfunction handler() {\n for (const handlers of nodeList.values()) {\n for (const {documentHandler} of handlers) {\n documentHandler()\n }\n }\n}\n\n// v-height\n// 默认高度为当前元素的父元素高度\n\n// v-height = el\n// 当前元素的高度设置为el的高度\n\n// v-height = 60\n// 当前元素的高度设置为父元素高度+60px\n\n// v-height = {el: el, distY: 60}\n// 当前元素的高度设置为el的高度+60px\nconst Height: ObjectDirective = {\n // 当被绑定的元素插入到 DOM 中时……\n mounted(el: HTMLElement, binding: DirectiveBinding) {\n const {element, distY, type} = getEffectiveValue(el, binding.value);\n if (!nodeList.has(element)) {\n nodeList.set(element, []);\n }\n nodeList.get(element)!.push({\n documentHandler: createDocumentHandler(element, distY, type),\n bindingFn: binding.value,\n })\n },\n updated(el: HTMLElement, binding: DirectiveBinding) {\n const {element, distY, type} = getEffectiveValue(el, binding.value);\n if (!nodeList.has(element)) {\n nodeList.set(element, []);\n }\n const handlers = nodeList.get(element)!\n const oldHandlerIndex = handlers.findIndex(\n (item) => item.bindingFn === binding.oldValue\n )\n const newHandler = {\n documentHandler: createDocumentHandler(element, distY, type),\n bindingFn: binding.value,\n }\n\n if (oldHandlerIndex >= 0) {\n // replace the old handler to the new handler\n handlers.splice(oldHandlerIndex, 1, newHandler)\n } else {\n handlers.push(newHandler)\n }\n },\n // 只调用一次,指令与元素解绑时调用。\n unmounted(el: HTMLElement, binding: DirectiveBinding) {\n const {element} = getEffectiveValue(el, binding.value);\n nodeList.delete(element);\n },\n};\n\nfunction createDocumentHandler(el: HTMLElement, distY: number, type: string) {\n const cssProp = type ? (type + 'Height') : 'height';\n el.style[cssProp] = el.clientHeight + distY + 'px';\n return function () {\n el.style[cssProp] = el.clientHeight + distY + 'px';\n }\n}\n\nfunction getEffectiveValue(el, val) {\n let element = el.parentElement;\n let distY = 0;\n let type = '';\n if (!val) {\n element = el.parentElement;\n distY = 0;\n } else if (val instanceof HTMLElement) {\n element = val;\n distY = 0;\n } else if (isNumber(val)) {\n element = el.parentElement;\n distY = val;\n } else if (isObject(val)) {\n element = val?.el || el.parentElement;\n distY = val?.distY || 0;\n type = val?.type || '';\n }\n return {element, distY, type};\n}\n\nexport default Height;\n\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/height/index.ts"],"sourcesContent":["import {isClient, isNumber, isObject} from '@hzzt-plus/utils'\n\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype DocumentHandler = <T>() => void\ntype FlushList = Map<\n HTMLElement,\n {\n documentHandler: DocumentHandler\n bindingFn: (...args: unknown[]) => unknown\n }[]\n>\n\nconst nodeList: FlushList = new Map();\n\nif (isClient) {\n window.addEventListener('resize', handler);\n document.addEventListener('fullscreenchange', handler);\n}\n\nfunction handler() {\n for (const handlers of nodeList.values()) {\n for (const {documentHandler} of handlers) {\n documentHandler()\n }\n }\n}\n\n// v-height\n// 默认高度为当前元素的父元素高度\n\n// v-height = el\n// 当前元素的高度设置为el的高度\n\n// v-height = 60\n// 当前元素的高度设置为父元素高度+60px\n\n// v-height = {el: el, distY: 60}\n// 当前元素的高度设置为el的高度+60px\nconst Height: ObjectDirective = {\n // 当被绑定的元素插入到 DOM 中时……\n mounted(el: HTMLElement, binding: DirectiveBinding) {\n if (!nodeList.has(el)) {\n nodeList.set(el, []);\n }\n nodeList.get(el)!.push({\n documentHandler: createDocumentHandler(el, binding),\n bindingFn: binding.value,\n })\n },\n updated(el: HTMLElement, binding: DirectiveBinding) {\n if (!nodeList.has(el)) {\n nodeList.set(el, []);\n }\n const handlers = nodeList.get(el)!\n const oldHandlerIndex = handlers.findIndex(\n (item) => item.bindingFn === binding.oldValue\n )\n const newHandler = {\n documentHandler: createDocumentHandler(el, binding),\n bindingFn: binding.value,\n }\n\n if (oldHandlerIndex >= 0) {\n // replace the old handler to the new handler\n handlers.splice(oldHandlerIndex, 1, newHandler)\n } else {\n handlers.push(newHandler)\n }\n },\n // 只调用一次,指令与元素解绑时调用。\n unmounted(el: HTMLElement) {\n nodeList.delete(el);\n },\n};\n\nfunction createDocumentHandler(el: HTMLElement, binding: DirectiveBinding) {\n const {element, distY, type} = getEffectiveValue(el, binding.value);\n const cssProp = type ? (type + 'Height') : 'height';\n el.style[cssProp] = element.clientHeight + distY + 'px';\n return function () {\n el.style[cssProp] = element.clientHeight + distY + 'px';\n }\n}\n\nfunction getEffectiveValue(el, val) {\n let element = el.parentElement;\n let distY = 0;\n let type = '';\n if (!val) {\n element = el.parentElement;\n distY = 0;\n } else if (val instanceof HTMLElement) {\n element = val;\n distY = 0;\n } else if (isNumber(val)) {\n element = el.parentElement;\n distY = val;\n } else if (isObject(val)) {\n element = val?.el || el.parentElement;\n distY = val?.distY || 0;\n type = val?.type || '';\n }\n return {element, distY, type};\n}\n\nexport default Height;\n\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ObjectDirective } from "vue";
2
+ declare const Highlight: ObjectDirective;
3
+ export default Highlight;
@@ -0,0 +1,30 @@
1
+ const Highlight = {
2
+ beforeMount: handle,
3
+ updated: handle
4
+ };
5
+ function handle(el, binding) {
6
+ const { form = false } = binding.modifiers;
7
+ const { color = "#ff0000", fontSize = "16px", show = true } = binding.value || {};
8
+ el.style.color = show ? color : "";
9
+ el.style.fontSize = show ? fontSize : "";
10
+ if (form) {
11
+ setCssText(el, show, "--el-text-color-regular", color);
12
+ setCssText(el, show, "--font-size", fontSize);
13
+ }
14
+ }
15
+ function setCssText(el, show, prop, value) {
16
+ let cssText = el.style.cssText;
17
+ if (show) {
18
+ let cssText2 = el.style.cssText;
19
+ if (!~cssText2.indexOf(prop)) {
20
+ cssText2 = `${cssText2};${prop}: ${value}`;
21
+ }
22
+ el.style.cssText = cssText2;
23
+ } else {
24
+ cssText = cssText.replace(`${prop}: ${value};`, "");
25
+ el.style.cssText = cssText;
26
+ }
27
+ }
28
+
29
+ export { Highlight as default };
30
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/highlight/index.ts"],"sourcesContent":["import type {DirectiveBinding, ObjectDirective} from \"vue\";\n\nconst Highlight: ObjectDirective = {\n // 只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。\n beforeMount: handle,\n updated: handle,\n};\n\nfunction handle(el: HTMLElement, binding: DirectiveBinding) {\n const {form = false} = binding.modifiers;\n const {color = '#ff0000', fontSize = '16px', show = true} = binding.value || {};\n el.style.color = show ? color : '';\n el.style.fontSize = show ? fontSize : '';\n if (form) {\n setCssText(el, show, '--el-text-color-regular', color);\n setCssText(el, show, '--font-size', fontSize);\n }\n}\n\nfunction setCssText(el: HTMLElement, show: boolean, prop: string, value: string) {\n let cssText = el.style.cssText;\n if (show) {\n let cssText = el.style.cssText;\n if (!~cssText.indexOf(prop)) {\n cssText = `${cssText};${prop}: ${value}`;\n }\n el.style.cssText = cssText;\n } else {\n cssText = cssText.replace(`${prop}: ${value};`, '');\n el.style.cssText = cssText;\n }\n}\n\nexport default Highlight;\n\n"],"names":[],"mappings":"AAAK,MAAC,SAAS,GAAG;AAClB,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,OAAO,EAAE,MAAM;AACjB,EAAE;AACF,SAAS,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;AAC7B,EAAE,MAAM,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;AAC7C,EAAE,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,QAAQ,GAAG,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;AACpF,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;AACrC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,EAAE,CAAC;AAC3C,EAAE,IAAI,IAAI,EAAE;AACZ,IAAI,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAC;AAC3D,IAAI,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;AAClD,GAAG;AACH,CAAC;AACD,SAAS,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;AAC3C,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;AACjC,EAAE,IAAI,IAAI,EAAE;AACZ,IAAI,IAAI,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;AACpC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAClC,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AACjD,KAAK;AACL,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC;AAChC,GAAG,MAAM;AACT,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxD,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,GAAG;AACH;;;;"}
@@ -1,3 +1,4 @@
1
1
  export { default as Download } from './download';
2
2
  export { default as Height } from './height';
3
3
  export { default as Blur } from './blur';
4
+ export { default as Highlight } from './highlight';
@@ -1,4 +1,5 @@
1
1
  export { default as Download } from './download/index.mjs';
2
2
  export { default as Height } from './height/index.mjs';
3
3
  export { default as Blur } from './blur/index.mjs';
4
+ export { default as Highlight } from './highlight/index.mjs';
4
5
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
package/es/index.mjs CHANGED
@@ -19,6 +19,7 @@ export { WEEK_DAYS, datePickTypes } from './constants/date.mjs';
19
19
  export { default as Download } from './directives/download/index.mjs';
20
20
  export { default as Height } from './directives/height/index.mjs';
21
21
  export { default as Blur } from './directives/blur/index.mjs';
22
+ export { default as Highlight } from './directives/highlight/index.mjs';
22
23
  export { buildLocaleContext, buildTranslator, localeContextKey, translate, useLocale } from './hooks/use-locale/index.mjs';
23
24
  export { SIZE_INJECTION_KEY, useGlobalSize, useSizeProp, useSizeProps } from './hooks/use-size/index.mjs';
24
25
 
package/es/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../packages/hzzt-plus/index.ts"],"sourcesContent":["import installer from './defaults'\nexport * from '@hzzt-plus/components'\nexport * from '@hzzt-plus/constants'\nexport * from '@hzzt-plus/directives'\nexport * from '@hzzt-plus/hooks'\nexport * from './make-installer'\n\nexport const install = installer.install\nexport const version = installer.version\nexport default installer;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMY,MAAC,OAAO,GAAG,SAAS,CAAC,QAAQ;AAC7B,MAAC,OAAO,GAAG,SAAS,CAAC;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../packages/hzzt-plus/index.ts"],"sourcesContent":["import installer from './defaults'\nexport * from '@hzzt-plus/components'\nexport * from '@hzzt-plus/constants'\nexport * from '@hzzt-plus/directives'\nexport * from '@hzzt-plus/hooks'\nexport * from './make-installer'\n\nexport const install = installer.install\nexport const version = installer.version\nexport default installer;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAMY,MAAC,OAAO,GAAG,SAAS,CAAC,QAAQ;AAC7B,MAAC,OAAO,GAAG,SAAS,CAAC;;;;"}
@@ -21,24 +21,22 @@ function handler() {
21
21
  }
22
22
  const Height = {
23
23
  mounted(el, binding) {
24
- const { element, distY, type } = getEffectiveValue(el, binding.value);
25
- if (!nodeList.has(element)) {
26
- nodeList.set(element, []);
24
+ if (!nodeList.has(el)) {
25
+ nodeList.set(el, []);
27
26
  }
28
- nodeList.get(element).push({
29
- documentHandler: createDocumentHandler(element, distY, type),
27
+ nodeList.get(el).push({
28
+ documentHandler: createDocumentHandler(el, binding),
30
29
  bindingFn: binding.value
31
30
  });
32
31
  },
33
32
  updated(el, binding) {
34
- const { element, distY, type } = getEffectiveValue(el, binding.value);
35
- if (!nodeList.has(element)) {
36
- nodeList.set(element, []);
33
+ if (!nodeList.has(el)) {
34
+ nodeList.set(el, []);
37
35
  }
38
- const handlers = nodeList.get(element);
36
+ const handlers = nodeList.get(el);
39
37
  const oldHandlerIndex = handlers.findIndex((item) => item.bindingFn === binding.oldValue);
40
38
  const newHandler = {
41
- documentHandler: createDocumentHandler(element, distY, type),
39
+ documentHandler: createDocumentHandler(el, binding),
42
40
  bindingFn: binding.value
43
41
  };
44
42
  if (oldHandlerIndex >= 0) {
@@ -47,16 +45,16 @@ const Height = {
47
45
  handlers.push(newHandler);
48
46
  }
49
47
  },
50
- unmounted(el, binding) {
51
- const { element } = getEffectiveValue(el, binding.value);
52
- nodeList.delete(element);
48
+ unmounted(el) {
49
+ nodeList.delete(el);
53
50
  }
54
51
  };
55
- function createDocumentHandler(el, distY, type) {
52
+ function createDocumentHandler(el, binding) {
53
+ const { element, distY, type } = getEffectiveValue(el, binding.value);
56
54
  const cssProp = type ? type + "Height" : "height";
57
- el.style[cssProp] = el.clientHeight + distY + "px";
55
+ el.style[cssProp] = element.clientHeight + distY + "px";
58
56
  return function() {
59
- el.style[cssProp] = el.clientHeight + distY + "px";
57
+ el.style[cssProp] = element.clientHeight + distY + "px";
60
58
  };
61
59
  }
62
60
  function getEffectiveValue(el, val) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../packages/directives/height/index.ts"],"sourcesContent":["import {isClient, isNumber, isObject} from '@hzzt-plus/utils'\n\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype DocumentHandler = <T>() => void\ntype FlushList = Map<\n HTMLElement,\n {\n documentHandler: DocumentHandler\n bindingFn: (...args: unknown[]) => unknown\n }[]\n>\n\nconst nodeList: FlushList = new Map();\n\nif (isClient) {\n window.addEventListener('resize', handler);\n document.addEventListener('fullscreenchange', handler);\n}\n\nfunction handler() {\n for (const handlers of nodeList.values()) {\n for (const {documentHandler} of handlers) {\n documentHandler()\n }\n }\n}\n\n// v-height\n// 默认高度为当前元素的父元素高度\n\n// v-height = el\n// 当前元素的高度设置为el的高度\n\n// v-height = 60\n// 当前元素的高度设置为父元素高度+60px\n\n// v-height = {el: el, distY: 60}\n// 当前元素的高度设置为el的高度+60px\nconst Height: ObjectDirective = {\n // 当被绑定的元素插入到 DOM 中时……\n mounted(el: HTMLElement, binding: DirectiveBinding) {\n const {element, distY, type} = getEffectiveValue(el, binding.value);\n if (!nodeList.has(element)) {\n nodeList.set(element, []);\n }\n nodeList.get(element)!.push({\n documentHandler: createDocumentHandler(element, distY, type),\n bindingFn: binding.value,\n })\n },\n updated(el: HTMLElement, binding: DirectiveBinding) {\n const {element, distY, type} = getEffectiveValue(el, binding.value);\n if (!nodeList.has(element)) {\n nodeList.set(element, []);\n }\n const handlers = nodeList.get(element)!\n const oldHandlerIndex = handlers.findIndex(\n (item) => item.bindingFn === binding.oldValue\n )\n const newHandler = {\n documentHandler: createDocumentHandler(element, distY, type),\n bindingFn: binding.value,\n }\n\n if (oldHandlerIndex >= 0) {\n // replace the old handler to the new handler\n handlers.splice(oldHandlerIndex, 1, newHandler)\n } else {\n handlers.push(newHandler)\n }\n },\n // 只调用一次,指令与元素解绑时调用。\n unmounted(el: HTMLElement, binding: DirectiveBinding) {\n const {element} = getEffectiveValue(el, binding.value);\n nodeList.delete(element);\n },\n};\n\nfunction createDocumentHandler(el: HTMLElement, distY: number, type: string) {\n const cssProp = type ? (type + 'Height') : 'height';\n el.style[cssProp] = el.clientHeight + distY + 'px';\n return function () {\n el.style[cssProp] = el.clientHeight + distY + 'px';\n }\n}\n\nfunction getEffectiveValue(el, val) {\n let element = el.parentElement;\n let distY = 0;\n let type = '';\n if (!val) {\n element = el.parentElement;\n distY = 0;\n } else if (val instanceof HTMLElement) {\n element = val;\n distY = 0;\n } else if (isNumber(val)) {\n element = el.parentElement;\n distY = val;\n } else if (isObject(val)) {\n element = val?.el || el.parentElement;\n distY = val?.distY || 0;\n type = val?.type || '';\n }\n return {element, distY, type};\n}\n\nexport default Height;\n\n"],"names":["isClient","isNumber","isObject"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/directives/height/index.ts"],"sourcesContent":["import {isClient, isNumber, isObject} from '@hzzt-plus/utils'\n\nimport type {\n DirectiveBinding,\n ObjectDirective,\n} from 'vue'\n\ntype DocumentHandler = <T>() => void\ntype FlushList = Map<\n HTMLElement,\n {\n documentHandler: DocumentHandler\n bindingFn: (...args: unknown[]) => unknown\n }[]\n>\n\nconst nodeList: FlushList = new Map();\n\nif (isClient) {\n window.addEventListener('resize', handler);\n document.addEventListener('fullscreenchange', handler);\n}\n\nfunction handler() {\n for (const handlers of nodeList.values()) {\n for (const {documentHandler} of handlers) {\n documentHandler()\n }\n }\n}\n\n// v-height\n// 默认高度为当前元素的父元素高度\n\n// v-height = el\n// 当前元素的高度设置为el的高度\n\n// v-height = 60\n// 当前元素的高度设置为父元素高度+60px\n\n// v-height = {el: el, distY: 60}\n// 当前元素的高度设置为el的高度+60px\nconst Height: ObjectDirective = {\n // 当被绑定的元素插入到 DOM 中时……\n mounted(el: HTMLElement, binding: DirectiveBinding) {\n if (!nodeList.has(el)) {\n nodeList.set(el, []);\n }\n nodeList.get(el)!.push({\n documentHandler: createDocumentHandler(el, binding),\n bindingFn: binding.value,\n })\n },\n updated(el: HTMLElement, binding: DirectiveBinding) {\n if (!nodeList.has(el)) {\n nodeList.set(el, []);\n }\n const handlers = nodeList.get(el)!\n const oldHandlerIndex = handlers.findIndex(\n (item) => item.bindingFn === binding.oldValue\n )\n const newHandler = {\n documentHandler: createDocumentHandler(el, binding),\n bindingFn: binding.value,\n }\n\n if (oldHandlerIndex >= 0) {\n // replace the old handler to the new handler\n handlers.splice(oldHandlerIndex, 1, newHandler)\n } else {\n handlers.push(newHandler)\n }\n },\n // 只调用一次,指令与元素解绑时调用。\n unmounted(el: HTMLElement) {\n nodeList.delete(el);\n },\n};\n\nfunction createDocumentHandler(el: HTMLElement, binding: DirectiveBinding) {\n const {element, distY, type} = getEffectiveValue(el, binding.value);\n const cssProp = type ? (type + 'Height') : 'height';\n el.style[cssProp] = element.clientHeight + distY + 'px';\n return function () {\n el.style[cssProp] = element.clientHeight + distY + 'px';\n }\n}\n\nfunction getEffectiveValue(el, val) {\n let element = el.parentElement;\n let distY = 0;\n let type = '';\n if (!val) {\n element = el.parentElement;\n distY = 0;\n } else if (val instanceof HTMLElement) {\n element = val;\n distY = 0;\n } else if (isNumber(val)) {\n element = el.parentElement;\n distY = val;\n } else if (isObject(val)) {\n element = val?.el || el.parentElement;\n distY = val?.distY || 0;\n type = val?.type || '';\n }\n return {element, distY, type};\n}\n\nexport default Height;\n\n"],"names":["isClient","isNumber","isObject"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ObjectDirective } from "vue";
2
+ declare const Highlight: ObjectDirective;
3
+ export default Highlight;
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const Highlight = {
6
+ beforeMount: handle,
7
+ updated: handle
8
+ };
9
+ function handle(el, binding) {
10
+ const { form = false } = binding.modifiers;
11
+ const { color = "#ff0000", fontSize = "16px", show = true } = binding.value || {};
12
+ el.style.color = show ? color : "";
13
+ el.style.fontSize = show ? fontSize : "";
14
+ if (form) {
15
+ setCssText(el, show, "--el-text-color-regular", color);
16
+ setCssText(el, show, "--font-size", fontSize);
17
+ }
18
+ }
19
+ function setCssText(el, show, prop, value) {
20
+ let cssText = el.style.cssText;
21
+ if (show) {
22
+ let cssText2 = el.style.cssText;
23
+ if (!~cssText2.indexOf(prop)) {
24
+ cssText2 = `${cssText2};${prop}: ${value}`;
25
+ }
26
+ el.style.cssText = cssText2;
27
+ } else {
28
+ cssText = cssText.replace(`${prop}: ${value};`, "");
29
+ el.style.cssText = cssText;
30
+ }
31
+ }
32
+
33
+ exports["default"] = Highlight;
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/directives/highlight/index.ts"],"sourcesContent":["import type {DirectiveBinding, ObjectDirective} from \"vue\";\n\nconst Highlight: ObjectDirective = {\n // 只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。\n beforeMount: handle,\n updated: handle,\n};\n\nfunction handle(el: HTMLElement, binding: DirectiveBinding) {\n const {form = false} = binding.modifiers;\n const {color = '#ff0000', fontSize = '16px', show = true} = binding.value || {};\n el.style.color = show ? color : '';\n el.style.fontSize = show ? fontSize : '';\n if (form) {\n setCssText(el, show, '--el-text-color-regular', color);\n setCssText(el, show, '--font-size', fontSize);\n }\n}\n\nfunction setCssText(el: HTMLElement, show: boolean, prop: string, value: string) {\n let cssText = el.style.cssText;\n if (show) {\n let cssText = el.style.cssText;\n if (!~cssText.indexOf(prop)) {\n cssText = `${cssText};${prop}: ${value}`;\n }\n el.style.cssText = cssText;\n } else {\n cssText = cssText.replace(`${prop}: ${value};`, '');\n el.style.cssText = cssText;\n }\n}\n\nexport default Highlight;\n\n"],"names":[],"mappings":";;;;AAAK,MAAC,SAAS,GAAG;AAClB,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,OAAO,EAAE,MAAM;AACjB,EAAE;AACF,SAAS,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;AAC7B,EAAE,MAAM,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;AAC7C,EAAE,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,QAAQ,GAAG,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;AACpF,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;AACrC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,EAAE,CAAC;AAC3C,EAAE,IAAI,IAAI,EAAE;AACZ,IAAI,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAC;AAC3D,IAAI,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;AAClD,GAAG;AACH,CAAC;AACD,SAAS,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;AAC3C,EAAE,IAAI,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;AACjC,EAAE,IAAI,IAAI,EAAE;AACZ,IAAI,IAAI,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;AACpC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAClC,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AACjD,KAAK;AACL,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC;AAChC,GAAG,MAAM;AACT,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxD,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,GAAG;AACH;;;;"}
@@ -1,3 +1,4 @@
1
1
  export { default as Download } from './download';
2
2
  export { default as Height } from './height';
3
3
  export { default as Blur } from './blur';
4
+ export { default as Highlight } from './highlight';
@@ -5,10 +5,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var index = require('./download/index.js');
6
6
  var index$1 = require('./height/index.js');
7
7
  var index$2 = require('./blur/index.js');
8
+ var index$3 = require('./highlight/index.js');
8
9
 
9
10
 
10
11
 
11
12
  exports.Download = index["default"];
12
13
  exports.Height = index$1["default"];
13
14
  exports.Blur = index$2["default"];
15
+ exports.Highlight = index$3["default"];
14
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
package/lib/index.js CHANGED
@@ -22,8 +22,9 @@ var date = require('./constants/date.js');
22
22
  var index$5 = require('./directives/download/index.js');
23
23
  var index$6 = require('./directives/height/index.js');
24
24
  var index$7 = require('./directives/blur/index.js');
25
- var index$8 = require('./hooks/use-locale/index.js');
26
- var index$9 = require('./hooks/use-size/index.js');
25
+ var index$8 = require('./directives/highlight/index.js');
26
+ var index$9 = require('./hooks/use-locale/index.js');
27
+ var index$a = require('./hooks/use-size/index.js');
27
28
 
28
29
  const install = defaults["default"].install;
29
30
  const version = defaults["default"].version;
@@ -47,15 +48,16 @@ exports.datePickTypes = date.datePickTypes;
47
48
  exports.Download = index$5["default"];
48
49
  exports.Height = index$6["default"];
49
50
  exports.Blur = index$7["default"];
50
- exports.buildLocaleContext = index$8.buildLocaleContext;
51
- exports.buildTranslator = index$8.buildTranslator;
52
- exports.localeContextKey = index$8.localeContextKey;
53
- exports.translate = index$8.translate;
54
- exports.useLocale = index$8.useLocale;
55
- exports.SIZE_INJECTION_KEY = index$9.SIZE_INJECTION_KEY;
56
- exports.useGlobalSize = index$9.useGlobalSize;
57
- exports.useSizeProp = index$9.useSizeProp;
58
- exports.useSizeProps = index$9.useSizeProps;
51
+ exports.Highlight = index$8["default"];
52
+ exports.buildLocaleContext = index$9.buildLocaleContext;
53
+ exports.buildTranslator = index$9.buildTranslator;
54
+ exports.localeContextKey = index$9.localeContextKey;
55
+ exports.translate = index$9.translate;
56
+ exports.useLocale = index$9.useLocale;
57
+ exports.SIZE_INJECTION_KEY = index$a.SIZE_INJECTION_KEY;
58
+ exports.useGlobalSize = index$a.useGlobalSize;
59
+ exports.useSizeProp = index$a.useSizeProp;
60
+ exports.useSizeProps = index$a.useSizeProps;
59
61
  exports.install = install;
60
62
  exports.version = version;
61
63
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../packages/hzzt-plus/index.ts"],"sourcesContent":["import installer from './defaults'\nexport * from '@hzzt-plus/components'\nexport * from '@hzzt-plus/constants'\nexport * from '@hzzt-plus/directives'\nexport * from '@hzzt-plus/hooks'\nexport * from './make-installer'\n\nexport const install = installer.install\nexport const version = installer.version\nexport default installer;\n"],"names":["installer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAMY,MAAC,OAAO,GAAGA,mBAAS,CAAC,QAAQ;AAC7B,MAAC,OAAO,GAAGA,mBAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../packages/hzzt-plus/index.ts"],"sourcesContent":["import installer from './defaults'\nexport * from '@hzzt-plus/components'\nexport * from '@hzzt-plus/constants'\nexport * from '@hzzt-plus/directives'\nexport * from '@hzzt-plus/hooks'\nexport * from './make-installer'\n\nexport const install = installer.install\nexport const version = installer.version\nexport default installer;\n"],"names":["installer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMY,MAAC,OAAO,GAAGA,mBAAS,CAAC,QAAQ;AAC7B,MAAC,OAAO,GAAGA,mBAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hzzt-plus",
3
- "version": "0.0.1-dev-08",
3
+ "version": "0.0.2",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "keywords": [
6
6
  "hzzt-plus",