@yimou6/common-ui 1.7.7 → 1.8.0

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 (74) hide show
  1. package/cdn/index.cdn.js +8 -8
  2. package/cdn/index.cdn.js.map +1 -1
  3. package/cdn/index.cdn.mjs +8 -8
  4. package/cdn/index.cdn.mjs.map +1 -1
  5. package/cdn/index.css +1 -1
  6. package/es/components/concise-logger/index.d.ts +2 -0
  7. package/es/components/concise-logger/index.mjs +9 -0
  8. package/es/components/concise-logger/index.mjs.map +1 -0
  9. package/es/components/concise-logger/src/concise-logger.d.ts +5 -0
  10. package/es/components/concise-logger/src/concise-logger.mjs +4 -0
  11. package/es/components/concise-logger/src/concise-logger.mjs.map +1 -0
  12. package/es/components/concise-logger/src/concise-logger.vue.d.ts +2 -0
  13. package/es/components/concise-logger/src/concise-logger.vue.mjs +6 -0
  14. package/es/components/concise-logger/src/concise-logger.vue.mjs.map +1 -0
  15. package/es/components/concise-logger/src/concise-logger.vue2.mjs +18 -0
  16. package/es/components/concise-logger/src/concise-logger.vue2.mjs.map +1 -0
  17. package/es/components/index.d.ts +1 -1
  18. package/es/components/index.mjs +2 -2
  19. package/es/components/live-player/src/ysPlayer.vue2.mjs +5 -3
  20. package/es/components/live-player/src/ysPlayer.vue2.mjs.map +1 -1
  21. package/es/components/text-button/index.d.ts +238 -1
  22. package/es/components/text-button/index.mjs +8 -1
  23. package/es/components/text-button/index.mjs.map +1 -1
  24. package/es/components/text-button/src/text-button-group.vue.d.ts +92 -0
  25. package/es/components/text-button/src/text-button-group.vue.mjs +6 -0
  26. package/es/components/text-button/src/text-button-group.vue.mjs.map +1 -0
  27. package/es/components/text-button/src/text-button-group.vue2.mjs +56 -0
  28. package/es/components/text-button/src/text-button-group.vue2.mjs.map +1 -0
  29. package/es/components/text-button/src/text-button.d.ts +11 -0
  30. package/es/components/text-button/src/text-button.mjs +7 -1
  31. package/es/components/text-button/src/text-button.mjs.map +1 -1
  32. package/es/index.mjs +2 -2
  33. package/es/installer.mjs +3 -2
  34. package/es/installer.mjs.map +1 -1
  35. package/es/utils/provide.d.ts +6 -2
  36. package/es/utils/provide.mjs.map +1 -1
  37. package/global.d.ts +1 -0
  38. package/lib/components/concise-logger/index.d.ts +2 -0
  39. package/lib/components/concise-logger/index.js +14 -0
  40. package/lib/components/concise-logger/index.js.map +1 -0
  41. package/lib/components/concise-logger/src/concise-logger.d.ts +5 -0
  42. package/lib/components/concise-logger/src/concise-logger.js +6 -0
  43. package/lib/components/concise-logger/src/concise-logger.js.map +1 -0
  44. package/lib/components/concise-logger/src/concise-logger.vue.d.ts +2 -0
  45. package/lib/components/concise-logger/src/concise-logger.vue.js +10 -0
  46. package/lib/components/concise-logger/src/concise-logger.vue.js.map +1 -0
  47. package/lib/components/concise-logger/src/concise-logger.vue2.js +22 -0
  48. package/lib/components/concise-logger/src/concise-logger.vue2.js.map +1 -0
  49. package/lib/components/index.d.ts +1 -1
  50. package/lib/components/index.js +6 -5
  51. package/lib/components/index.js.map +1 -1
  52. package/lib/components/live-player/src/ysPlayer.vue2.js +4 -2
  53. package/lib/components/live-player/src/ysPlayer.vue2.js.map +1 -1
  54. package/lib/components/text-button/index.d.ts +238 -1
  55. package/lib/components/text-button/index.js +9 -1
  56. package/lib/components/text-button/index.js.map +1 -1
  57. package/lib/components/text-button/src/text-button-group.vue.d.ts +92 -0
  58. package/lib/components/text-button/src/text-button-group.vue.js +10 -0
  59. package/lib/components/text-button/src/text-button-group.vue.js.map +1 -0
  60. package/lib/components/text-button/src/text-button-group.vue2.js +60 -0
  61. package/lib/components/text-button/src/text-button-group.vue2.js.map +1 -0
  62. package/lib/components/text-button/src/text-button.d.ts +11 -0
  63. package/lib/components/text-button/src/text-button.js +7 -0
  64. package/lib/components/text-button/src/text-button.js.map +1 -1
  65. package/lib/index.js +6 -5
  66. package/lib/index.js.map +1 -1
  67. package/lib/installer.js +2 -1
  68. package/lib/installer.js.map +1 -1
  69. package/lib/utils/provide.d.ts +6 -2
  70. package/lib/utils/provide.js.map +1 -1
  71. package/package.json +1 -1
  72. package/theme-default/i-table.css +1 -1
  73. package/theme-default/i-text-button.css +1 -1
  74. package/theme-default/index.css +1 -1
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var conciseLogger_vue_vue_type_script_setup_true_lang = require('./concise-logger.vue2.js');
6
+
7
+
8
+
9
+ exports.default = conciseLogger_vue_vue_type_script_setup_true_lang.default;
10
+ //# sourceMappingURL=concise-logger.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concise-logger.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ var conciseLogger = require('./concise-logger.js');
7
+
8
+ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
9
+ ...{
10
+ name: "IConciseLogger"
11
+ },
12
+ __name: "concise-logger",
13
+ props: conciseLogger.ConciseLoggerProps,
14
+ setup(__props) {
15
+ return (_ctx, _cache) => {
16
+ return vue.openBlock(), vue.createElementBlock("div", null, "IConciseLogger components");
17
+ };
18
+ }
19
+ });
20
+
21
+ exports.default = _sfc_main;
22
+ //# sourceMappingURL=concise-logger.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concise-logger.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  export * from './checkbox';
2
- export * from './descriptions';
3
2
  export * from './date-picker';
3
+ export * from './descriptions';
4
4
  export * from './dialog';
5
5
  export * from './divider';
6
6
  export * from './drawer';
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./checkbox/index.js');
4
- var index$1 = require('./descriptions/index.js');
5
- var index$2 = require('./date-picker/index.js');
4
+ var index$1 = require('./date-picker/index.js');
5
+ var index$2 = require('./descriptions/index.js');
6
6
  var index$3 = require('./dialog/index.js');
7
7
  var index$4 = require('./divider/index.js');
8
8
  var index$5 = require('./drawer/index.js');
@@ -29,9 +29,9 @@ var tenantEnterprise = require('./tenant-enterprise/src/tenant-enterprise.js');
29
29
 
30
30
 
31
31
  exports.ICheckbox = index.ICheckbox;
32
- exports.IDescriptionItem = index$1.IDescriptionItem;
33
- exports.IDescriptions = index$1.IDescriptions;
34
- exports.IDatePicker = index$2.IDatePicker;
32
+ exports.IDatePicker = index$1.IDatePicker;
33
+ exports.IDescriptionItem = index$2.IDescriptionItem;
34
+ exports.IDescriptions = index$2.IDescriptions;
35
35
  exports.IDialog = index$3.IDialog;
36
36
  exports.IDivider = index$4.IDivider;
37
37
  exports.IDrawer = index$5.IDrawer;
@@ -50,6 +50,7 @@ exports.ISplitPane = index$h.ISplitPane;
50
50
  exports.ITable = index$i.ITable;
51
51
  exports.ITenantEnterprise = index$j.ITenantEnterprise;
52
52
  exports.ITextButton = index$k.ITextButton;
53
+ exports.ITextButtonGroup = index$k.ITextButtonGroup;
53
54
  exports.FormItemProps = form.FormItemProps;
54
55
  exports.FormProps = form.FormProps;
55
56
  exports.formItemExcludeKeys = form.formItemExcludeKeys;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -39,6 +39,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
39
39
  let ratio = 16 / 9;
40
40
  let isCurrentFullscreen = false;
41
41
  vue.onMounted(() => play());
42
+ vue.onBeforeUnmount(() => destroy());
42
43
  __expose({ play, destroy, resize });
43
44
  function debounce(func, wait) {
44
45
  let timeout = null;
@@ -87,7 +88,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
87
88
  calculatedWidth = calculatedHeight * ratio;
88
89
  }
89
90
  props.debug && console.log("playerInstance", playerInstance);
90
- if (playerInstance.resize) {
91
+ if (playerInstance == null ? void 0 : playerInstance.resize) {
91
92
  playerInstance.resize(calculatedWidth, calculatedHeight);
92
93
  } else {
93
94
  const dom = document.getElementById(id);
@@ -111,9 +112,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
111
112
  // @ts-ignore
112
113
  loggerOptions: {
113
114
  name: "YSPLAYER",
114
- level: props.debug ? "DEBUG" : "ERROR",
115
+ level: props.debug ? "INFO" : "ERROR",
115
116
  showTime: true
116
117
  },
118
+ staticPath: "/plugins/ezuikit/ezuikit_static",
117
119
  ...options
118
120
  });
119
121
  playerInstance.eventEmitter.on("fullscreen", (args) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ysPlayer.vue2.js","sources":["../../../../../../../packages/components/live-player/src/ysPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { useElementSize } from '@vueuse/core';\n import EZUIKit from 'ezuikit-js';\n import { nextTick, onMounted, shallowRef, watch } from 'vue';\n import { uuid } from './live-player';\n // 萤石云播放器\n defineOptions({\n name: 'YsPlayer',\n });\n\n // 传值方式\n // 1、传url、accessToken\n // 2、传deviceSerial、channel、accessToken\n const props = defineProps<{\n // 播放地址\n // 高清:ezopen://open.ys7.com/${设备序列号}/${通道号}.hd.live\n // 流畅:ezopen://open.ys7.com/${设备序列号}/${通道号}.live\n url?: string;\n // 设备序列号\n deviceSerial?: string;\n // 通道号\n channel?: number;\n // 清晰度,默认为空,也表示高清\n // hd:高清;sd:流畅\n quality?: 'hd' | 'sd' | '';\n accessToken: string;\n debug?: boolean;\n // 播放器模板ID\n playerTemplate?: string;\n }>();\n\n // 播放器模板ID\n // 可在萤石云控制台查看、修改、获取\n // 位置:云直播-轻应用-特致珈默认模板\n const PLAYER_TEMPLATE = '5f295a9341a74d439b5d69374c90d501';\n const id = uuid();\n let playerInstance: any = null;\n let errorMsg = '';\n const ysRef = shallowRef();\n const { width, height } = useElementSize(ysRef);\n let ratio = 16 / 9;\n let isCurrentFullscreen = false;\n\n onMounted(() => play());\n\n defineExpose({ play, destroy, resize });\n\n // 防抖函数\n function debounce(func: Function, wait: number) {\n let timeout: ReturnType<typeof setTimeout> | null = null;\n return function (this: any, ...args: any[]) {\n if (timeout) clearTimeout(timeout);\n timeout = setTimeout(() => func.apply(this, args), wait);\n };\n }\n\n // 加上防抖的 resize 函数\n const debouncedResize = debounce(resize, 300);\n\n watch(\n () => [width.value, height.value, ratio],\n () => {\n if (!isCurrentFullscreen) {\n debouncedResize();\n }\n },\n );\n\n function play(options?: Record<string, any>) {\n props.debug && console.log('play', options);\n if (!props.accessToken) {\n errorMsg = `params 'accessToken' is not found`;\n } else {\n const url = formatterUrl();\n if (url) {\n createPlayerDom();\n nextTick(() => createPlayer(options));\n }\n }\n }\n function destroy() {\n if (playerInstance) {\n playerInstance.destroy();\n playerInstance = null;\n removePlayerDom();\n }\n }\n function resize() {\n // 根据播放器宽高比,设置播放器高度\n if (width.value > 0 && height.value > 0) {\n let calculatedWidth = width.value;\n let calculatedHeight = calculatedWidth / ratio;\n if (calculatedHeight > height.value) {\n calculatedHeight = height.value;\n calculatedWidth = calculatedHeight * ratio;\n }\n props.debug && console.log('playerInstance', playerInstance);\n if (playerInstance.resize) {\n playerInstance.resize(calculatedWidth, calculatedHeight);\n } else {\n const dom = document.getElementById(id);\n if (dom) {\n dom.style.width = `${calculatedWidth}px`;\n dom.style.height = `${calculatedHeight}px`;\n }\n }\n }\n }\n\n /**\n * 创建萤石云播放器实例,播放萤石云直播流\n */\n function createPlayer(options?: Record<string, any>) {\n playerInstance = new EZUIKit.EZUIKitPlayer({\n id,\n url: formatterUrl(),\n accessToken: props.accessToken,\n template: props.playerTemplate || PLAYER_TEMPLATE,\n width: width.value,\n height: height.value,\n audio: 1,\n // @ts-ignore\n loggerOptions: {\n name: 'YSPLAYER',\n level: props.debug ? 'DEBUG' : 'ERROR',\n showTime: true,\n },\n ...options,\n });\n\n playerInstance.eventEmitter.on('fullscreen', (args: any) => {\n props.debug && console.log('fullscreen', args);\n isCurrentFullscreen = true;\n });\n playerInstance.eventEmitter.on('exitFullscreen', (args: any) => {\n props.debug && console.log('exitFullscreen', args);\n isCurrentFullscreen = false;\n });\n playerInstance.eventEmitter.on('destroy', (args: any) => {\n props.debug && console.log('destroy', args);\n });\n playerInstance.eventEmitter.on('init', (args: any) => {\n props.debug && console.log('init', args);\n });\n playerInstance.eventEmitter.on('play', (args: any) => {\n props.debug && console.log('play', args);\n });\n playerInstance.eventEmitter.on('videoInfo', (args: any) => {\n const { width: w, height: h } = args;\n // 计算播放器宽高比\n if (w && h) {\n ratio = w / h;\n }\n });\n }\n\n function formatterUrl(): string {\n if (props.url) {\n return props.url;\n } else {\n if (props.deviceSerial && props.channel) {\n const quality = props.quality === '' || props.quality === 'hd' ? 'hd.' : '';\n return `ezopen://open.ys7.com/${props.deviceSerial}/${props.channel}.${quality}live`;\n } else {\n errorMsg = `params 'deviceSerial' or 'channel' is not found`;\n return '';\n }\n }\n }\n\n // 移除播放器DOM\n function removePlayerDom() {\n const dom = document.getElementById(id);\n dom && dom.remove();\n }\n // 创建播放器DOM\n function createPlayerDom() {\n if (!errorMsg) {\n removePlayerDom();\n const dom = document.createElement('div');\n dom.id = id;\n dom.style.width = '100%';\n dom.style.height = '100%';\n ysRef.value?.appendChild(dom);\n }\n }\n</script>\n\n<template>\n <div ref=\"ysRef\" class=\"i-player-bg i-player-container\">\n <div v-if=\"errorMsg\" class=\"i-player__error\" style=\"color: red; font-weight: bold\">\n {{ errorMsg }}\n </div>\n </div>\n</template>\n"],"names":["uuid","shallowRef","useElementSize","onMounted","watch","nextTick"],"mappings":"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"}
1
+ {"version":3,"file":"ysPlayer.vue2.js","sources":["../../../../../../../packages/components/live-player/src/ysPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { useElementSize } from '@vueuse/core';\n import EZUIKit from 'ezuikit-js';\n import { nextTick, onBeforeUnmount, onMounted, shallowRef, watch } from 'vue';\n import { uuid } from './live-player';\n // 萤石云播放器\n defineOptions({\n name: 'YsPlayer',\n });\n\n // 传值方式\n // 1、传url、accessToken\n // 2、传deviceSerial、channel、accessToken\n const props = defineProps<{\n // 播放地址\n // 高清:ezopen://open.ys7.com/${设备序列号}/${通道号}.hd.live\n // 流畅:ezopen://open.ys7.com/${设备序列号}/${通道号}.live\n url?: string;\n // 设备序列号\n deviceSerial?: string;\n // 通道号\n channel?: number;\n // 清晰度,默认为空,也表示高清\n // hd:高清;sd:流畅\n quality?: 'hd' | 'sd' | '';\n accessToken: string;\n debug?: boolean;\n // 播放器模板ID\n playerTemplate?: string;\n }>();\n\n // 播放器模板ID\n // 可在萤石云控制台查看、修改、获取\n // 位置:云直播-轻应用-特致珈默认模板\n const PLAYER_TEMPLATE = '5f295a9341a74d439b5d69374c90d501';\n const id = uuid();\n let playerInstance: any = null;\n let errorMsg = '';\n const ysRef = shallowRef();\n const { width, height } = useElementSize(ysRef);\n let ratio = 16 / 9;\n let isCurrentFullscreen = false;\n\n onMounted(() => play());\n\n onBeforeUnmount(() => destroy());\n\n defineExpose({ play, destroy, resize });\n\n // 防抖函数\n function debounce(func: Function, wait: number) {\n let timeout: ReturnType<typeof setTimeout> | null = null;\n return function (this: any, ...args: any[]) {\n if (timeout) clearTimeout(timeout);\n timeout = setTimeout(() => func.apply(this, args), wait);\n };\n }\n\n // 加上防抖的 resize 函数\n const debouncedResize = debounce(resize, 300);\n\n watch(\n () => [width.value, height.value, ratio],\n () => {\n if (!isCurrentFullscreen) {\n debouncedResize();\n }\n },\n );\n\n function play(options?: Record<string, any>) {\n props.debug && console.log('play', options);\n if (!props.accessToken) {\n errorMsg = `params 'accessToken' is not found`;\n } else {\n const url = formatterUrl();\n if (url) {\n createPlayerDom();\n nextTick(() => createPlayer(options));\n }\n }\n }\n function destroy() {\n if (playerInstance) {\n playerInstance.destroy();\n playerInstance = null;\n removePlayerDom();\n }\n }\n function resize() {\n // 根据播放器宽高比,设置播放器高度\n if (width.value > 0 && height.value > 0) {\n let calculatedWidth = width.value;\n let calculatedHeight = calculatedWidth / ratio;\n if (calculatedHeight > height.value) {\n calculatedHeight = height.value;\n calculatedWidth = calculatedHeight * ratio;\n }\n props.debug && console.log('playerInstance', playerInstance);\n if (playerInstance?.resize) {\n playerInstance.resize(calculatedWidth, calculatedHeight);\n } else {\n const dom = document.getElementById(id);\n if (dom) {\n dom.style.width = `${calculatedWidth}px`;\n dom.style.height = `${calculatedHeight}px`;\n }\n }\n }\n }\n\n /**\n * 创建萤石云播放器实例,播放萤石云直播流\n */\n function createPlayer(options?: Record<string, any>) {\n playerInstance = new EZUIKit.EZUIKitPlayer({\n id,\n url: formatterUrl(),\n accessToken: props.accessToken,\n template: props.playerTemplate || PLAYER_TEMPLATE,\n width: width.value,\n height: height.value,\n audio: 1,\n // @ts-ignore\n loggerOptions: {\n name: 'YSPLAYER',\n level: props.debug ? 'INFO' : 'ERROR',\n showTime: true,\n },\n staticPath: '/plugins/ezuikit/ezuikit_static',\n ...options,\n });\n\n playerInstance.eventEmitter.on('fullscreen', (args: any) => {\n props.debug && console.log('fullscreen', args);\n isCurrentFullscreen = true;\n });\n playerInstance.eventEmitter.on('exitFullscreen', (args: any) => {\n props.debug && console.log('exitFullscreen', args);\n isCurrentFullscreen = false;\n });\n playerInstance.eventEmitter.on('destroy', (args: any) => {\n props.debug && console.log('destroy', args);\n });\n playerInstance.eventEmitter.on('init', (args: any) => {\n props.debug && console.log('init', args);\n });\n playerInstance.eventEmitter.on('play', (args: any) => {\n props.debug && console.log('play', args);\n });\n playerInstance.eventEmitter.on('videoInfo', (args: any) => {\n const { width: w, height: h } = args;\n // 计算播放器宽高比\n if (w && h) {\n ratio = w / h;\n }\n });\n }\n\n function formatterUrl(): string {\n if (props.url) {\n return props.url;\n } else {\n if (props.deviceSerial && props.channel) {\n const quality = props.quality === '' || props.quality === 'hd' ? 'hd.' : '';\n return `ezopen://open.ys7.com/${props.deviceSerial}/${props.channel}.${quality}live`;\n } else {\n errorMsg = `params 'deviceSerial' or 'channel' is not found`;\n return '';\n }\n }\n }\n\n // 移除播放器DOM\n function removePlayerDom() {\n const dom = document.getElementById(id);\n dom && dom.remove();\n }\n // 创建播放器DOM\n function createPlayerDom() {\n if (!errorMsg) {\n removePlayerDom();\n const dom = document.createElement('div');\n dom.id = id;\n dom.style.width = '100%';\n dom.style.height = '100%';\n ysRef.value?.appendChild(dom);\n }\n }\n</script>\n\n<template>\n <div ref=\"ysRef\" class=\"i-player-bg i-player-container\">\n <div v-if=\"errorMsg\" class=\"i-player__error\" style=\"color: red; font-weight: bold\">\n {{ errorMsg }}\n </div>\n </div>\n</template>\n"],"names":["uuid","shallowRef","useElementSize","onMounted","onBeforeUnmount","watch","nextTick"],"mappings":"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"}
@@ -51,4 +51,241 @@ export declare const ITextButton: import("../../types").SFCWithInstall<import("v
51
51
  icon: string;
52
52
  disabled: boolean;
53
53
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
54
- export default ITextButton;
54
+ export declare const ITextButtonGroup: import("../../types").SFCWithInstall<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
55
+ group: {
56
+ type: import("vue").PropType<({
57
+ icon: string;
58
+ disabled: boolean;
59
+ } & {
60
+ textColor?: string | undefined;
61
+ } & {
62
+ text?: string;
63
+ slot?: string;
64
+ })[]>;
65
+ default: () => never[];
66
+ };
67
+ }>, {
68
+ ITextButton: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
69
+ icon: {
70
+ type: import("vue").PropType<import("./src/text-button").builtInIconType | string>;
71
+ default: string;
72
+ };
73
+ textColor: StringConstructor;
74
+ disabled: {
75
+ type: BooleanConstructor;
76
+ default: boolean;
77
+ };
78
+ }>, {
79
+ props: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
80
+ icon: {
81
+ type: import("vue").PropType<import("./src/text-button").builtInIconType | string>;
82
+ default: string;
83
+ };
84
+ textColor: StringConstructor;
85
+ disabled: {
86
+ type: BooleanConstructor;
87
+ default: boolean;
88
+ };
89
+ }>> & Readonly<{
90
+ onClick?: ((evt: MouseEvent) => any) | undefined;
91
+ }> & {}>;
92
+ emits: (event: "click", evt: MouseEvent) => void;
93
+ slots: Readonly<{
94
+ [name: string]: import("vue").Slot<any> | undefined;
95
+ }>;
96
+ textButtonRef: import("vue").ShallowRef<any, any>;
97
+ textButtonIcon: import("vue").Ref<string, string>;
98
+ cacheTextButtonColor: string;
99
+ textButtonColor: import("vue").Ref<string, string>;
100
+ handleMousedown: () => void;
101
+ handleMouseup: () => void;
102
+ handleClick: (evt: MouseEvent) => void;
103
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
104
+ click: (evt: MouseEvent) => boolean;
105
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
106
+ icon: {
107
+ type: import("vue").PropType<import("./src/text-button").builtInIconType | string>;
108
+ default: string;
109
+ };
110
+ textColor: StringConstructor;
111
+ disabled: {
112
+ type: BooleanConstructor;
113
+ default: boolean;
114
+ };
115
+ }>> & Readonly<{
116
+ onClick?: ((evt: MouseEvent) => any) | undefined;
117
+ }>, {
118
+ icon: string;
119
+ disabled: boolean;
120
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
121
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
122
+ group: {
123
+ type: import("vue").PropType<({
124
+ icon: string;
125
+ disabled: boolean;
126
+ } & {
127
+ textColor?: string | undefined;
128
+ } & {
129
+ text?: string;
130
+ slot?: string;
131
+ })[]>;
132
+ default: () => never[];
133
+ };
134
+ }>> & Readonly<{}>, {
135
+ group: ({
136
+ icon: string;
137
+ disabled: boolean;
138
+ } & {
139
+ textColor?: string | undefined;
140
+ } & {
141
+ text?: string;
142
+ slot?: string;
143
+ })[];
144
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
145
+ declare const _default: {
146
+ ITextButton: import("../../types").SFCWithInstall<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
147
+ icon: {
148
+ type: import("vue").PropType<import("./src/text-button").builtInIconType | string>;
149
+ default: string;
150
+ };
151
+ textColor: StringConstructor;
152
+ disabled: {
153
+ type: BooleanConstructor;
154
+ default: boolean;
155
+ };
156
+ }>, {
157
+ props: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
158
+ icon: {
159
+ type: import("vue").PropType<import("./src/text-button").builtInIconType | string>;
160
+ default: string;
161
+ };
162
+ textColor: StringConstructor;
163
+ disabled: {
164
+ type: BooleanConstructor;
165
+ default: boolean;
166
+ };
167
+ }>> & Readonly<{
168
+ onClick?: ((evt: MouseEvent) => any) | undefined;
169
+ }> & {}>;
170
+ emits: (event: "click", evt: MouseEvent) => void;
171
+ slots: Readonly<{
172
+ [name: string]: import("vue").Slot<any> | undefined;
173
+ }>;
174
+ textButtonRef: import("vue").ShallowRef<any, any>;
175
+ textButtonIcon: import("vue").Ref<string, string>;
176
+ cacheTextButtonColor: string;
177
+ textButtonColor: import("vue").Ref<string, string>;
178
+ handleMousedown: () => void;
179
+ handleMouseup: () => void;
180
+ handleClick: (evt: MouseEvent) => void;
181
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
182
+ click: (evt: MouseEvent) => boolean;
183
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
184
+ icon: {
185
+ type: import("vue").PropType<import("./src/text-button").builtInIconType | string>;
186
+ default: string;
187
+ };
188
+ textColor: StringConstructor;
189
+ disabled: {
190
+ type: BooleanConstructor;
191
+ default: boolean;
192
+ };
193
+ }>> & Readonly<{
194
+ onClick?: ((evt: MouseEvent) => any) | undefined;
195
+ }>, {
196
+ icon: string;
197
+ disabled: boolean;
198
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
199
+ ITextButtonGroup: import("../../types").SFCWithInstall<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
200
+ group: {
201
+ type: import("vue").PropType<({
202
+ icon: string;
203
+ disabled: boolean;
204
+ } & {
205
+ textColor?: string | undefined;
206
+ } & {
207
+ text?: string;
208
+ slot?: string;
209
+ })[]>;
210
+ default: () => never[];
211
+ };
212
+ }>, {
213
+ ITextButton: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
214
+ icon: {
215
+ type: import("vue").PropType<import("./src/text-button").builtInIconType | string>;
216
+ default: string;
217
+ };
218
+ textColor: StringConstructor;
219
+ disabled: {
220
+ type: BooleanConstructor;
221
+ default: boolean;
222
+ };
223
+ }>, {
224
+ props: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
225
+ icon: {
226
+ type: import("vue").PropType<import("./src/text-button").builtInIconType | string>;
227
+ default: string;
228
+ };
229
+ textColor: StringConstructor;
230
+ disabled: {
231
+ type: BooleanConstructor;
232
+ default: boolean;
233
+ };
234
+ }>> & Readonly<{
235
+ onClick?: ((evt: MouseEvent) => any) | undefined;
236
+ }> & {}>;
237
+ emits: (event: "click", evt: MouseEvent) => void;
238
+ slots: Readonly<{
239
+ [name: string]: import("vue").Slot<any> | undefined;
240
+ }>;
241
+ textButtonRef: import("vue").ShallowRef<any, any>;
242
+ textButtonIcon: import("vue").Ref<string, string>;
243
+ cacheTextButtonColor: string;
244
+ textButtonColor: import("vue").Ref<string, string>;
245
+ handleMousedown: () => void;
246
+ handleMouseup: () => void;
247
+ handleClick: (evt: MouseEvent) => void;
248
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
249
+ click: (evt: MouseEvent) => boolean;
250
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
251
+ icon: {
252
+ type: import("vue").PropType<import("./src/text-button").builtInIconType | string>;
253
+ default: string;
254
+ };
255
+ textColor: StringConstructor;
256
+ disabled: {
257
+ type: BooleanConstructor;
258
+ default: boolean;
259
+ };
260
+ }>> & Readonly<{
261
+ onClick?: ((evt: MouseEvent) => any) | undefined;
262
+ }>, {
263
+ icon: string;
264
+ disabled: boolean;
265
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
266
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
267
+ group: {
268
+ type: import("vue").PropType<({
269
+ icon: string;
270
+ disabled: boolean;
271
+ } & {
272
+ textColor?: string | undefined;
273
+ } & {
274
+ text?: string;
275
+ slot?: string;
276
+ })[]>;
277
+ default: () => never[];
278
+ };
279
+ }>> & Readonly<{}>, {
280
+ group: ({
281
+ icon: string;
282
+ disabled: boolean;
283
+ } & {
284
+ textColor?: string | undefined;
285
+ } & {
286
+ text?: string;
287
+ slot?: string;
288
+ })[];
289
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
290
+ };
291
+ export default _default;
@@ -4,11 +4,19 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
6
  require('./src/text-button.vue.js');
7
+ require('./src/text-button-group.vue.js');
7
8
  var install = require('../../utils/install.js');
8
9
  var textButton_vue_vue_type_script_setup_true_lang = require('./src/text-button.vue2.js');
10
+ var textButtonGroup_vue_vue_type_script_setup_true_lang = require('./src/text-button-group.vue2.js');
9
11
 
10
12
  const ITextButton = install.withInstall(textButton_vue_vue_type_script_setup_true_lang.default);
13
+ const ITextButtonGroup = install.withInstall(textButtonGroup_vue_vue_type_script_setup_true_lang.default);
14
+ var index = {
15
+ ITextButton,
16
+ ITextButtonGroup
17
+ };
11
18
 
12
19
  exports.ITextButton = ITextButton;
13
- exports.default = ITextButton;
20
+ exports.ITextButtonGroup = ITextButtonGroup;
21
+ exports.default = index;
14
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/components/text-button/index.ts"],"sourcesContent":["import { withInstall } from '../../utils';\nimport TextButton from './src/text-button.vue';\n\nexport const ITextButton = withInstall(TextButton); // 增加类型\n\nexport default ITextButton;\n"],"names":["withInstall","TextButton"],"mappings":";;;;;;;;;AAGa,MAAA,WAAA,GAAcA,oBAAYC,sDAAU;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/components/text-button/index.ts"],"sourcesContent":["import { withInstall } from '../../utils';\nimport TextButton from './src/text-button.vue';\nimport TextButtonGroup from './src/text-button-group.vue';\n\nexport const ITextButton = withInstall(TextButton);\nexport const ITextButtonGroup = withInstall(TextButtonGroup);\n\nexport default {\n ITextButton,\n ITextButtonGroup,\n};\n"],"names":["withInstall","TextButton","TextButtonGroup"],"mappings":";;;;;;;;;;;AAIa,MAAA,WAAA,GAAcA,oBAAYC,sDAAU;AACpC,MAAA,gBAAA,GAAmBD,oBAAYE,2DAAe;AAE3D,YAAe;AAAA,EACb,WAAA;AAAA,EACA;AACF,CAAA;;;;;;"}
@@ -0,0 +1,92 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ group: {
3
+ type: import("vue").PropType<({
4
+ icon: string;
5
+ disabled: boolean;
6
+ } & {
7
+ textColor?: string | undefined;
8
+ } & {
9
+ text?: string;
10
+ slot?: string;
11
+ })[]>;
12
+ default: () => never[];
13
+ };
14
+ }>, {
15
+ ITextButton: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
16
+ icon: {
17
+ type: import("vue").PropType<import("./text-button").builtInIconType | string>;
18
+ default: string;
19
+ };
20
+ textColor: StringConstructor;
21
+ disabled: {
22
+ type: BooleanConstructor;
23
+ default: boolean;
24
+ };
25
+ }>, {
26
+ props: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
27
+ icon: {
28
+ type: import("vue").PropType<import("./text-button").builtInIconType | string>;
29
+ default: string;
30
+ };
31
+ textColor: StringConstructor;
32
+ disabled: {
33
+ type: BooleanConstructor;
34
+ default: boolean;
35
+ };
36
+ }>> & Readonly<{
37
+ onClick?: ((evt: MouseEvent) => any) | undefined;
38
+ }> & {}>;
39
+ emits: (event: "click", evt: MouseEvent) => void;
40
+ slots: Readonly<{
41
+ [name: string]: import("vue").Slot<any> | undefined;
42
+ }>;
43
+ textButtonRef: import("vue").ShallowRef<any, any>;
44
+ textButtonIcon: import("vue").Ref<string, string>;
45
+ cacheTextButtonColor: string;
46
+ textButtonColor: import("vue").Ref<string, string>;
47
+ handleMousedown: () => void;
48
+ handleMouseup: () => void;
49
+ handleClick: (evt: MouseEvent) => void;
50
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
51
+ click: (evt: MouseEvent) => boolean;
52
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
53
+ icon: {
54
+ type: import("vue").PropType<import("./text-button").builtInIconType | string>;
55
+ default: string;
56
+ };
57
+ textColor: StringConstructor;
58
+ disabled: {
59
+ type: BooleanConstructor;
60
+ default: boolean;
61
+ };
62
+ }>> & Readonly<{
63
+ onClick?: ((evt: MouseEvent) => any) | undefined;
64
+ }>, {
65
+ icon: string;
66
+ disabled: boolean;
67
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
68
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
69
+ group: {
70
+ type: import("vue").PropType<({
71
+ icon: string;
72
+ disabled: boolean;
73
+ } & {
74
+ textColor?: string | undefined;
75
+ } & {
76
+ text?: string;
77
+ slot?: string;
78
+ })[]>;
79
+ default: () => never[];
80
+ };
81
+ }>> & Readonly<{}>, {
82
+ group: ({
83
+ icon: string;
84
+ disabled: boolean;
85
+ } & {
86
+ textColor?: string | undefined;
87
+ } & {
88
+ text?: string;
89
+ slot?: string;
90
+ })[];
91
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
92
+ export default _default;
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var textButtonGroup_vue_vue_type_script_setup_true_lang = require('./text-button-group.vue2.js');
6
+
7
+
8
+
9
+ exports.default = textButtonGroup_vue_vue_type_script_setup_true_lang.default;
10
+ //# sourceMappingURL=text-button-group.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-button-group.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,60 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ var textButton = require('./text-button.js');
7
+ require('./text-button.vue.js');
8
+ var textButton_vue_vue_type_script_setup_true_lang = require('./text-button.vue2.js');
9
+
10
+ const _hoisted_1 = { class: "i-text-button-group" };
11
+ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
12
+ ...{
13
+ name: "ITextButtonGroup"
14
+ },
15
+ __name: "text-button-group",
16
+ props: textButton.textButtonGroupProps,
17
+ setup(__props) {
18
+ return (_ctx, _cache) => {
19
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
20
+ (vue.openBlock(true), vue.createElementBlock(
21
+ vue.Fragment,
22
+ null,
23
+ vue.renderList(_ctx.group, (button, index) => {
24
+ return vue.openBlock(), vue.createElementBlock(
25
+ vue.Fragment,
26
+ {
27
+ key: `${index}${button == null ? void 0 : button.text}`
28
+ },
29
+ [
30
+ button.slot ? vue.renderSlot(_ctx.$slots, button.slot, { key: 0 }) : (vue.openBlock(), vue.createBlock(textButton_vue_vue_type_script_setup_true_lang.default, {
31
+ key: 1,
32
+ icon: button.icon,
33
+ "text-color": button.textColor,
34
+ disabled: button.disabled
35
+ }, {
36
+ default: vue.withCtx(() => [
37
+ vue.createTextVNode(
38
+ vue.toDisplayString(button == null ? void 0 : button.text),
39
+ 1
40
+ /* TEXT */
41
+ )
42
+ ]),
43
+ _: 2
44
+ /* DYNAMIC */
45
+ }, 1032, ["icon", "text-color", "disabled"]))
46
+ ],
47
+ 64
48
+ /* STABLE_FRAGMENT */
49
+ );
50
+ }),
51
+ 128
52
+ /* KEYED_FRAGMENT */
53
+ ))
54
+ ]);
55
+ };
56
+ }
57
+ });
58
+
59
+ exports.default = _sfc_main;
60
+ //# sourceMappingURL=text-button-group.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-button-group.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -19,5 +19,16 @@ export declare const textButtonEmits: {
19
19
  export type TextButtonEmits = typeof textButtonEmits;
20
20
  export type TextButtonPropsType = ExtractPropTypes<typeof textButtonProps>;
21
21
  export type TextButtonInstance = InstanceType<typeof TextButton>;
22
+ type TextButtonGroupItemType = TextButtonPropsType & {
23
+ text?: string;
24
+ slot?: string;
25
+ };
26
+ export declare const textButtonGroupProps: {
27
+ group: {
28
+ type: PropType<TextButtonGroupItemType[]>;
29
+ default: () => never[];
30
+ };
31
+ };
22
32
  export declare function darkenColor(color: string, level: number): string;
23
33
  export declare function getElementColor(el: HTMLElement): string;
34
+ export {};
@@ -32,6 +32,12 @@ const textButtonProps = {
32
32
  const textButtonEmits = {
33
33
  click: /* @__PURE__ */ __name((evt) => evt instanceof MouseEvent, "click")
34
34
  };
35
+ const textButtonGroupProps = {
36
+ group: {
37
+ type: Array,
38
+ default: /* @__PURE__ */ __name(() => [], "default")
39
+ }
40
+ };
35
41
  function darkenColor(color, level) {
36
42
  let match = color.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/i);
37
43
  if (!match) {
@@ -67,5 +73,6 @@ exports.builtInIcon = builtInIcon;
67
73
  exports.darkenColor = darkenColor;
68
74
  exports.getElementColor = getElementColor;
69
75
  exports.textButtonEmits = textButtonEmits;
76
+ exports.textButtonGroupProps = textButtonGroupProps;
70
77
  exports.textButtonProps = textButtonProps;
71
78
  //# sourceMappingURL=text-button.js.map