@sybz-components/utils 1.0.6 → 1.0.8

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.
package/dist/base.cjs CHANGED
@@ -3,7 +3,7 @@
3
3
  require('vue');
4
4
  require('consola');
5
5
  require('es-toolkit');
6
- const format = require('./shared/utils.x_syVt5c.cjs');
6
+ const format = require('./shared/utils.DgGGZO3M.cjs');
7
7
  require('element-plus');
8
8
  require('./is.cjs');
9
9
 
@@ -12,6 +12,7 @@ require('./is.cjs');
12
12
  exports.$toast = format.$toast;
13
13
  exports.clearStorage = format.clearStorage;
14
14
  exports.clone = format.clone;
15
+ exports.configureUtils = format.configureUtils;
15
16
  exports.confirm = format.confirm;
16
17
  exports.copy = format.copy;
17
18
  exports.debounce = format.debounce;
package/dist/base.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as vue from 'vue';
2
2
  import { VNode, AppContext, Ref } from 'vue';
3
- import { ElMessageBoxOptions, MessageOptions, ElMessageBox } from 'element-plus';
3
+ import { MessageOptions, ElMessageBoxOptions, ElMessageBox } from 'element-plus';
4
4
 
5
5
  type Func<Args extends any[] = any[], Return = any> = (...args: Args) => Return;
6
6
  type StorageValue = unknown;
@@ -25,11 +25,22 @@ type MockValueOptionItem<T = any> = {
25
25
  label: string;
26
26
  value: T;
27
27
  };
28
+ type UtilsTheme = 'default' | 'chenghua' | 'shijingshan';
29
+ interface SybzUtilsConfig {
30
+ /**
31
+ * 工具函数的默认主题。
32
+ */
33
+ theme?: UtilsTheme;
34
+ }
28
35
  interface ToastOptions extends Partial<MessageOptions> {
29
36
  /**
30
37
  * 调用前是否先关闭全部消息提示。
31
38
  */
32
39
  closeAll?: boolean;
40
+ /**
41
+ * 当前消息的主题;未传时使用 utils 全局主题。
42
+ */
43
+ theme?: UtilsTheme;
33
44
  }
34
45
  interface ClearStorageExcludeOptions {
35
46
  /**
@@ -116,7 +127,7 @@ interface CopyOptions extends ToastOptions {
116
127
  type WidthInput = string | number | Ref<string | number>;
117
128
  type ConfirmMessage = string | VNode | (() => VNode);
118
129
  type ConfirmVariant = 'default' | 'delete' | 'warning';
119
- type ConfirmTheme = 'default' | 'chenghua' | 'shijingshan';
130
+ type ConfirmTheme = UtilsTheme;
120
131
  type ConfirmTarget = string | number;
121
132
  interface ConfirmCustomOptions {
122
133
  /**
@@ -147,6 +158,15 @@ interface TryCatchResult<T> {
147
158
  */
148
159
  error: any;
149
160
  }
161
+ /**
162
+ * 配置 `@sybz-components/utils` 的全局默认行为。
163
+ *
164
+ * 单次函数调用中传入的配置优先级高于这里的全局配置。
165
+ *
166
+ * @example
167
+ * configureUtils({ theme: 'shijingshan' })
168
+ */
169
+ declare function configureUtils(config: SybzUtilsConfig): Readonly<Required<SybzUtilsConfig>>;
150
170
  type MessageType = 'success' | 'info' | 'error' | 'warning';
151
171
  type ShortType = 's' | 'i' | 'e' | 'w';
152
172
  type ToastType = MessageType | ShortType;
@@ -623,5 +643,5 @@ declare function getUtilsBuildTime(fallback?: string): string;
623
643
  */
624
644
  declare function test(): string;
625
645
 
626
- export { $toast, clearStorage, clone, confirm, copy, debounce, delay, getStorage, getType, getUtilsBuildTime, getVariable, isEmpty, log, merge, mockValue, processWidth, random, setStorage, test, throttle, toLine, tryCatch, validate, validateForm, validateOnSubmit };
627
- export type { ConfirmCustomOptions, ConfirmMessage, ConfirmOptions, ConfirmTarget, ConfirmTheme, ConfirmVariant };
646
+ export { $toast, clearStorage, clone, configureUtils, confirm, copy, debounce, delay, getStorage, getType, getUtilsBuildTime, getVariable, isEmpty, log, merge, mockValue, processWidth, random, setStorage, test, throttle, toLine, tryCatch, validate, validateForm, validateOnSubmit };
647
+ export type { ConfirmCustomOptions, ConfirmMessage, ConfirmOptions, ConfirmTarget, ConfirmTheme, ConfirmVariant, SybzUtilsConfig, ToastOptions, UtilsTheme };
package/dist/base.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as vue from 'vue';
2
2
  import { VNode, AppContext, Ref } from 'vue';
3
- import { ElMessageBoxOptions, MessageOptions, ElMessageBox } from 'element-plus';
3
+ import { MessageOptions, ElMessageBoxOptions, ElMessageBox } from 'element-plus';
4
4
 
5
5
  type Func<Args extends any[] = any[], Return = any> = (...args: Args) => Return;
6
6
  type StorageValue = unknown;
@@ -25,11 +25,22 @@ type MockValueOptionItem<T = any> = {
25
25
  label: string;
26
26
  value: T;
27
27
  };
28
+ type UtilsTheme = 'default' | 'chenghua' | 'shijingshan';
29
+ interface SybzUtilsConfig {
30
+ /**
31
+ * 工具函数的默认主题。
32
+ */
33
+ theme?: UtilsTheme;
34
+ }
28
35
  interface ToastOptions extends Partial<MessageOptions> {
29
36
  /**
30
37
  * 调用前是否先关闭全部消息提示。
31
38
  */
32
39
  closeAll?: boolean;
40
+ /**
41
+ * 当前消息的主题;未传时使用 utils 全局主题。
42
+ */
43
+ theme?: UtilsTheme;
33
44
  }
34
45
  interface ClearStorageExcludeOptions {
35
46
  /**
@@ -116,7 +127,7 @@ interface CopyOptions extends ToastOptions {
116
127
  type WidthInput = string | number | Ref<string | number>;
117
128
  type ConfirmMessage = string | VNode | (() => VNode);
118
129
  type ConfirmVariant = 'default' | 'delete' | 'warning';
119
- type ConfirmTheme = 'default' | 'chenghua' | 'shijingshan';
130
+ type ConfirmTheme = UtilsTheme;
120
131
  type ConfirmTarget = string | number;
121
132
  interface ConfirmCustomOptions {
122
133
  /**
@@ -147,6 +158,15 @@ interface TryCatchResult<T> {
147
158
  */
148
159
  error: any;
149
160
  }
161
+ /**
162
+ * 配置 `@sybz-components/utils` 的全局默认行为。
163
+ *
164
+ * 单次函数调用中传入的配置优先级高于这里的全局配置。
165
+ *
166
+ * @example
167
+ * configureUtils({ theme: 'shijingshan' })
168
+ */
169
+ declare function configureUtils(config: SybzUtilsConfig): Readonly<Required<SybzUtilsConfig>>;
150
170
  type MessageType = 'success' | 'info' | 'error' | 'warning';
151
171
  type ShortType = 's' | 'i' | 'e' | 'w';
152
172
  type ToastType = MessageType | ShortType;
@@ -623,5 +643,5 @@ declare function getUtilsBuildTime(fallback?: string): string;
623
643
  */
624
644
  declare function test(): string;
625
645
 
626
- export { $toast, clearStorage, clone, confirm, copy, debounce, delay, getStorage, getType, getUtilsBuildTime, getVariable, isEmpty, log, merge, mockValue, processWidth, random, setStorage, test, throttle, toLine, tryCatch, validate, validateForm, validateOnSubmit };
627
- export type { ConfirmCustomOptions, ConfirmMessage, ConfirmOptions, ConfirmTarget, ConfirmTheme, ConfirmVariant };
646
+ export { $toast, clearStorage, clone, configureUtils, confirm, copy, debounce, delay, getStorage, getType, getUtilsBuildTime, getVariable, isEmpty, log, merge, mockValue, processWidth, random, setStorage, test, throttle, toLine, tryCatch, validate, validateForm, validateOnSubmit };
647
+ export type { ConfirmCustomOptions, ConfirmMessage, ConfirmOptions, ConfirmTarget, ConfirmTheme, ConfirmVariant, SybzUtilsConfig, ToastOptions, UtilsTheme };
package/dist/base.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as vue from 'vue';
2
2
  import { VNode, AppContext, Ref } from 'vue';
3
- import { ElMessageBoxOptions, MessageOptions, ElMessageBox } from 'element-plus';
3
+ import { MessageOptions, ElMessageBoxOptions, ElMessageBox } from 'element-plus';
4
4
 
5
5
  type Func<Args extends any[] = any[], Return = any> = (...args: Args) => Return;
6
6
  type StorageValue = unknown;
@@ -25,11 +25,22 @@ type MockValueOptionItem<T = any> = {
25
25
  label: string;
26
26
  value: T;
27
27
  };
28
+ type UtilsTheme = 'default' | 'chenghua' | 'shijingshan';
29
+ interface SybzUtilsConfig {
30
+ /**
31
+ * 工具函数的默认主题。
32
+ */
33
+ theme?: UtilsTheme;
34
+ }
28
35
  interface ToastOptions extends Partial<MessageOptions> {
29
36
  /**
30
37
  * 调用前是否先关闭全部消息提示。
31
38
  */
32
39
  closeAll?: boolean;
40
+ /**
41
+ * 当前消息的主题;未传时使用 utils 全局主题。
42
+ */
43
+ theme?: UtilsTheme;
33
44
  }
34
45
  interface ClearStorageExcludeOptions {
35
46
  /**
@@ -116,7 +127,7 @@ interface CopyOptions extends ToastOptions {
116
127
  type WidthInput = string | number | Ref<string | number>;
117
128
  type ConfirmMessage = string | VNode | (() => VNode);
118
129
  type ConfirmVariant = 'default' | 'delete' | 'warning';
119
- type ConfirmTheme = 'default' | 'chenghua' | 'shijingshan';
130
+ type ConfirmTheme = UtilsTheme;
120
131
  type ConfirmTarget = string | number;
121
132
  interface ConfirmCustomOptions {
122
133
  /**
@@ -147,6 +158,15 @@ interface TryCatchResult<T> {
147
158
  */
148
159
  error: any;
149
160
  }
161
+ /**
162
+ * 配置 `@sybz-components/utils` 的全局默认行为。
163
+ *
164
+ * 单次函数调用中传入的配置优先级高于这里的全局配置。
165
+ *
166
+ * @example
167
+ * configureUtils({ theme: 'shijingshan' })
168
+ */
169
+ declare function configureUtils(config: SybzUtilsConfig): Readonly<Required<SybzUtilsConfig>>;
150
170
  type MessageType = 'success' | 'info' | 'error' | 'warning';
151
171
  type ShortType = 's' | 'i' | 'e' | 'w';
152
172
  type ToastType = MessageType | ShortType;
@@ -623,5 +643,5 @@ declare function getUtilsBuildTime(fallback?: string): string;
623
643
  */
624
644
  declare function test(): string;
625
645
 
626
- export { $toast, clearStorage, clone, confirm, copy, debounce, delay, getStorage, getType, getUtilsBuildTime, getVariable, isEmpty, log, merge, mockValue, processWidth, random, setStorage, test, throttle, toLine, tryCatch, validate, validateForm, validateOnSubmit };
627
- export type { ConfirmCustomOptions, ConfirmMessage, ConfirmOptions, ConfirmTarget, ConfirmTheme, ConfirmVariant };
646
+ export { $toast, clearStorage, clone, configureUtils, confirm, copy, debounce, delay, getStorage, getType, getUtilsBuildTime, getVariable, isEmpty, log, merge, mockValue, processWidth, random, setStorage, test, throttle, toLine, tryCatch, validate, validateForm, validateOnSubmit };
647
+ export type { ConfirmCustomOptions, ConfirmMessage, ConfirmOptions, ConfirmTarget, ConfirmTheme, ConfirmVariant, SybzUtilsConfig, ToastOptions, UtilsTheme };
package/dist/base.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import 'vue';
2
2
  import 'consola';
3
3
  import 'es-toolkit';
4
- export { $ as $toast, c as clearStorage, a as clone, b as confirm, d as copy, e as debounce, f as delay, g as getStorage, h as getType, i as getUtilsBuildTime, j as getVariable, k as isEmpty, l as log, m as merge, n as mockValue, p as processWidth, r as random, s as setStorage, t as test, o as throttle, q as toLine, u as tryCatch, v as validate, w as validateForm, x as validateOnSubmit } from './shared/utils.Cwn0z-Ga.mjs';
4
+ export { $ as $toast, c as clearStorage, a as clone, b as configureUtils, d as confirm, e as copy, f as debounce, g as delay, h as getStorage, i as getType, j as getUtilsBuildTime, k as getVariable, l as isEmpty, m as log, n as merge, o as mockValue, p as processWidth, r as random, s as setStorage, t as test, q as throttle, u as toLine, v as tryCatch, w as validate, x as validateForm, y as validateOnSubmit } from './shared/utils.D9a8F_tn.mjs';
5
5
  import 'element-plus';
6
6
  import './is.mjs';
package/dist/format.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const format = require('./shared/utils.x_syVt5c.cjs');
3
+ const format = require('./shared/utils.DgGGZO3M.cjs');
4
4
  require('./is.cjs');
5
5
  require('consola');
6
6
  require('vue');
package/dist/format.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { y as formatBytes, z as formatBytesConvert, A as formatDurationTime, B as formatTextToHtml, C as formatThousands, D as formatTime, E as formatToFixed } from './shared/utils.Cwn0z-Ga.mjs';
1
+ export { z as formatBytes, A as formatBytesConvert, B as formatDurationTime, C as formatTextToHtml, D as formatThousands, E as formatTime, F as formatToFixed } from './shared/utils.D9a8F_tn.mjs';
2
2
  import './is.mjs';
3
3
  import 'consola';
4
4
  import 'vue';
@@ -86,7 +86,14 @@ const createClientCode = (info, defaultLimit, autoPrint, expanded) => `
86
86
  window.b = (limit = ${defaultLimit}) => {
87
87
  const commits = info.commits.slice(0, normalizeLimit(limit));
88
88
  const latestCommit = commits[0] || info.commits[0] || {};
89
- console.${expanded ? "group" : "groupCollapsed"}('[build git info]');
89
+ const summary = [
90
+ '[build git info]',
91
+ formatDateTime(info.buildTime) || '-',
92
+ latestCommit.shortHash || '-',
93
+ latestCommit.authorName || '-',
94
+ latestCommit.message || '-',
95
+ ].join(' \xB7 ');
96
+ console.${expanded ? "group" : "groupCollapsed"}(summary);
90
97
  console.table({
91
98
  authorName: latestCommit.authorName || '-',
92
99
  buildTime: formatDateTime(info.buildTime),
@@ -132,7 +139,7 @@ const gitCommitLog = (options = {}) => {
132
139
  return [
133
140
  {
134
141
  tag: "script",
135
- children: createClientCode(info, defaultLimit, options.autoPrint ?? false, options.expanded ?? false),
142
+ children: createClientCode(info, defaultLimit, options.autoPrint ?? true, options.expanded ?? true),
136
143
  injectTo: "head-prepend"
137
144
  }
138
145
  ];
@@ -33,9 +33,9 @@ interface GitCommitLogOptions {
33
33
  maxCommits?: number;
34
34
  /** 调用 b() 时默认展示的提交数量,默认 10。 */
35
35
  defaultLimit?: number;
36
- /** 页面加载后自动打印;传数字时同时指定打印条数,默认 false。 */
36
+ /** 页面加载后自动打印;传数字时同时指定打印条数,默认 true。 */
37
37
  autoPrint?: boolean | number;
38
- /** 打印后是否默认展开控制台分组,默认 false。 */
38
+ /** 打印后是否默认展开控制台分组,默认 true。 */
39
39
  expanded?: boolean;
40
40
  }
41
41
  declare global {
@@ -46,7 +46,7 @@ declare global {
46
46
  }
47
47
  }
48
48
  /**
49
- * 为 Vite 项目注册 Git 提交记录调试工具。页面加载后可在控制台调用 `b()` 查看。
49
+ * 为 Vite 项目注册 Git 提交记录调试工具。页面加载后默认打印,也可调用 `b()` 再次查看。
50
50
  */
51
51
  declare const gitCommitLog: (options?: GitCommitLogOptions) => Plugin;
52
52
 
@@ -33,9 +33,9 @@ interface GitCommitLogOptions {
33
33
  maxCommits?: number;
34
34
  /** 调用 b() 时默认展示的提交数量,默认 10。 */
35
35
  defaultLimit?: number;
36
- /** 页面加载后自动打印;传数字时同时指定打印条数,默认 false。 */
36
+ /** 页面加载后自动打印;传数字时同时指定打印条数,默认 true。 */
37
37
  autoPrint?: boolean | number;
38
- /** 打印后是否默认展开控制台分组,默认 false。 */
38
+ /** 打印后是否默认展开控制台分组,默认 true。 */
39
39
  expanded?: boolean;
40
40
  }
41
41
  declare global {
@@ -46,7 +46,7 @@ declare global {
46
46
  }
47
47
  }
48
48
  /**
49
- * 为 Vite 项目注册 Git 提交记录调试工具。页面加载后可在控制台调用 `b()` 查看。
49
+ * 为 Vite 项目注册 Git 提交记录调试工具。页面加载后默认打印,也可调用 `b()` 再次查看。
50
50
  */
51
51
  declare const gitCommitLog: (options?: GitCommitLogOptions) => Plugin;
52
52
 
@@ -33,9 +33,9 @@ interface GitCommitLogOptions {
33
33
  maxCommits?: number;
34
34
  /** 调用 b() 时默认展示的提交数量,默认 10。 */
35
35
  defaultLimit?: number;
36
- /** 页面加载后自动打印;传数字时同时指定打印条数,默认 false。 */
36
+ /** 页面加载后自动打印;传数字时同时指定打印条数,默认 true。 */
37
37
  autoPrint?: boolean | number;
38
- /** 打印后是否默认展开控制台分组,默认 false。 */
38
+ /** 打印后是否默认展开控制台分组,默认 true。 */
39
39
  expanded?: boolean;
40
40
  }
41
41
  declare global {
@@ -46,7 +46,7 @@ declare global {
46
46
  }
47
47
  }
48
48
  /**
49
- * 为 Vite 项目注册 Git 提交记录调试工具。页面加载后可在控制台调用 `b()` 查看。
49
+ * 为 Vite 项目注册 Git 提交记录调试工具。页面加载后默认打印,也可调用 `b()` 再次查看。
50
50
  */
51
51
  declare const gitCommitLog: (options?: GitCommitLogOptions) => Plugin;
52
52
 
@@ -84,7 +84,14 @@ const createClientCode = (info, defaultLimit, autoPrint, expanded) => `
84
84
  window.b = (limit = ${defaultLimit}) => {
85
85
  const commits = info.commits.slice(0, normalizeLimit(limit));
86
86
  const latestCommit = commits[0] || info.commits[0] || {};
87
- console.${expanded ? "group" : "groupCollapsed"}('[build git info]');
87
+ const summary = [
88
+ '[build git info]',
89
+ formatDateTime(info.buildTime) || '-',
90
+ latestCommit.shortHash || '-',
91
+ latestCommit.authorName || '-',
92
+ latestCommit.message || '-',
93
+ ].join(' \xB7 ');
94
+ console.${expanded ? "group" : "groupCollapsed"}(summary);
88
95
  console.table({
89
96
  authorName: latestCommit.authorName || '-',
90
97
  buildTime: formatDateTime(info.buildTime),
@@ -130,7 +137,7 @@ const gitCommitLog = (options = {}) => {
130
137
  return [
131
138
  {
132
139
  tag: "script",
133
- children: createClientCode(info, defaultLimit, options.autoPrint ?? false, options.expanded ?? false),
140
+ children: createClientCode(info, defaultLimit, options.autoPrint ?? true, options.expanded ?? true),
134
141
  injectTo: "head-prepend"
135
142
  }
136
143
  ];
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const format = require('./shared/utils.x_syVt5c.cjs');
3
+ const format = require('./shared/utils.DgGGZO3M.cjs');
4
4
  const is = require('./is.cjs');
5
5
  require('vue');
6
6
  require('consola');
@@ -12,6 +12,7 @@ require('element-plus');
12
12
  exports.$toast = format.$toast;
13
13
  exports.clearStorage = format.clearStorage;
14
14
  exports.clone = format.clone;
15
+ exports.configureUtils = format.configureUtils;
15
16
  exports.confirm = format.confirm;
16
17
  exports.copy = format.copy;
17
18
  exports.debounce = format.debounce;
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- export { $toast, ConfirmCustomOptions, ConfirmMessage, ConfirmOptions, ConfirmTarget, ConfirmTheme, ConfirmVariant, clearStorage, clone, confirm, copy, debounce, delay, getStorage, getType, getUtilsBuildTime, getVariable, isEmpty, log, merge, mockValue, processWidth, random, setStorage, test, throttle, toLine, tryCatch, validate, validateForm, validateOnSubmit } from './base.cjs';
1
+ export { $toast, ConfirmCustomOptions, ConfirmMessage, ConfirmOptions, ConfirmTarget, ConfirmTheme, ConfirmVariant, SybzUtilsConfig, ToastOptions, UtilsTheme, clearStorage, clone, configureUtils, confirm, copy, debounce, delay, getStorage, getType, getUtilsBuildTime, getVariable, isEmpty, log, merge, mockValue, processWidth, random, setStorage, test, throttle, toLine, tryCatch, validate, validateForm, validateOnSubmit } from './base.cjs';
2
2
  export { isArray, isBoolean, isComponent, isDate, isEmptyObject, isFunction, isIOS, isMap, isNumber, isObject, isPlainObject, isPromise, isRegExp, isSVGElement, isSet, isString, isStringNumber, isSymbol, isUrl, objectToString, toRawType, toTypeString } from './is.cjs';
3
3
  export { FormatBytesConvertOptions, FormatBytesOptions, FormatTimeFallback, FormatTimeInput, FormatToFixedOptions, formatBytes, formatBytesConvert, formatDurationTime, formatTextToHtml, formatThousands, formatTime, formatToFixed } from './format.cjs';
4
4
  import 'vue';
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- export { $toast, ConfirmCustomOptions, ConfirmMessage, ConfirmOptions, ConfirmTarget, ConfirmTheme, ConfirmVariant, clearStorage, clone, confirm, copy, debounce, delay, getStorage, getType, getUtilsBuildTime, getVariable, isEmpty, log, merge, mockValue, processWidth, random, setStorage, test, throttle, toLine, tryCatch, validate, validateForm, validateOnSubmit } from './base.mjs';
1
+ export { $toast, ConfirmCustomOptions, ConfirmMessage, ConfirmOptions, ConfirmTarget, ConfirmTheme, ConfirmVariant, SybzUtilsConfig, ToastOptions, UtilsTheme, clearStorage, clone, configureUtils, confirm, copy, debounce, delay, getStorage, getType, getUtilsBuildTime, getVariable, isEmpty, log, merge, mockValue, processWidth, random, setStorage, test, throttle, toLine, tryCatch, validate, validateForm, validateOnSubmit } from './base.mjs';
2
2
  export { isArray, isBoolean, isComponent, isDate, isEmptyObject, isFunction, isIOS, isMap, isNumber, isObject, isPlainObject, isPromise, isRegExp, isSVGElement, isSet, isString, isStringNumber, isSymbol, isUrl, objectToString, toRawType, toTypeString } from './is.mjs';
3
3
  export { FormatBytesConvertOptions, FormatBytesOptions, FormatTimeFallback, FormatTimeInput, FormatToFixedOptions, formatBytes, formatBytesConvert, formatDurationTime, formatTextToHtml, formatThousands, formatTime, formatToFixed } from './format.mjs';
4
4
  import 'vue';
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { $toast, ConfirmCustomOptions, ConfirmMessage, ConfirmOptions, ConfirmTarget, ConfirmTheme, ConfirmVariant, clearStorage, clone, confirm, copy, debounce, delay, getStorage, getType, getUtilsBuildTime, getVariable, isEmpty, log, merge, mockValue, processWidth, random, setStorage, test, throttle, toLine, tryCatch, validate, validateForm, validateOnSubmit } from './base.js';
1
+ export { $toast, ConfirmCustomOptions, ConfirmMessage, ConfirmOptions, ConfirmTarget, ConfirmTheme, ConfirmVariant, SybzUtilsConfig, ToastOptions, UtilsTheme, clearStorage, clone, configureUtils, confirm, copy, debounce, delay, getStorage, getType, getUtilsBuildTime, getVariable, isEmpty, log, merge, mockValue, processWidth, random, setStorage, test, throttle, toLine, tryCatch, validate, validateForm, validateOnSubmit } from './base.js';
2
2
  export { isArray, isBoolean, isComponent, isDate, isEmptyObject, isFunction, isIOS, isMap, isNumber, isObject, isPlainObject, isPromise, isRegExp, isSVGElement, isSet, isString, isStringNumber, isSymbol, isUrl, objectToString, toRawType, toTypeString } from './is.js';
3
3
  export { FormatBytesConvertOptions, FormatBytesOptions, FormatTimeFallback, FormatTimeInput, FormatToFixedOptions, formatBytes, formatBytesConvert, formatDurationTime, formatTextToHtml, formatThousands, formatTime, formatToFixed } from './format.js';
4
4
  import 'vue';
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { $ as $toast, c as clearStorage, a as clone, b as confirm, d as copy, e as debounce, f as delay, y as formatBytes, z as formatBytesConvert, A as formatDurationTime, B as formatTextToHtml, C as formatThousands, D as formatTime, E as formatToFixed, g as getStorage, h as getType, i as getUtilsBuildTime, j as getVariable, k as isEmpty, l as log, m as merge, n as mockValue, p as processWidth, r as random, s as setStorage, t as test, o as throttle, q as toLine, u as tryCatch, v as validate, w as validateForm, x as validateOnSubmit } from './shared/utils.Cwn0z-Ga.mjs';
1
+ export { $ as $toast, c as clearStorage, a as clone, b as configureUtils, d as confirm, e as copy, f as debounce, g as delay, z as formatBytes, A as formatBytesConvert, B as formatDurationTime, C as formatTextToHtml, D as formatThousands, E as formatTime, F as formatToFixed, h as getStorage, i as getType, j as getUtilsBuildTime, k as getVariable, l as isEmpty, m as log, n as merge, o as mockValue, p as processWidth, r as random, s as setStorage, t as test, q as throttle, u as toLine, v as tryCatch, w as validate, x as validateForm, y as validateOnSubmit } from './shared/utils.D9a8F_tn.mjs';
2
2
  export { isArray, isBoolean, isComponent, isDate, isEmptyObject, isFunction, isIOS, isMap, isNumber, isObject, isPlainObject, isPromise, isRegExp, isSVGElement, isSet, isString, isStringNumber, isSymbol, isUrl, objectToString, toRawType, toTypeString } from './is.mjs';
3
3
  import 'vue';
4
4
  import 'consola';
@@ -1,7 +1,7 @@
1
1
  import { isRef, unref, isVNode, toRaw } from 'vue';
2
2
  import { consola } from 'consola';
3
3
  import { cloneDeep } from 'es-toolkit';
4
- import { ElMessage, ElMessageBox } from 'element-plus';
4
+ import { ElMessageBox, ElMessage } from 'element-plus';
5
5
  import { isStringNumber, isNumber } from '../is.mjs';
6
6
 
7
7
  function formatBytes(bytes, options = {}) {
@@ -225,6 +225,15 @@ const CHENGHUA_CANCEL_BUTTON_CLASS = "s-message-box__cancel-btn--chenghua";
225
225
  const SHIJINGSHAN_CONFIRM_BOX_CLASS = "s-message-box--shijingshan";
226
226
  const SHIJINGSHAN_CONFIRM_BUTTON_CLASS = "s-message-box__confirm-btn--shijingshan";
227
227
  const SHIJINGSHAN_CANCEL_BUTTON_CLASS = "s-message-box__cancel-btn--shijingshan";
228
+ const utilsConfig = {
229
+ theme: "default"
230
+ };
231
+ function configureUtils(config) {
232
+ if (config.theme !== void 0) {
233
+ utilsConfig.theme = config.theme;
234
+ }
235
+ return { ...utilsConfig };
236
+ }
228
237
  function _getBrowserStorage(isSession = false) {
229
238
  if (typeof window === "undefined") {
230
239
  return null;
@@ -261,32 +270,31 @@ function $toast(message, type = "success", otherParams = {}) {
261
270
  function isToastOptions(obj) {
262
271
  return typeof obj === "object" && obj !== null;
263
272
  }
264
- if (isToastOptions(message)) {
265
- if (message.closeAll) {
273
+ function showToast(options) {
274
+ const { theme = utilsConfig.theme, customClass, ...messageOptions } = options;
275
+ if (options.closeAll) {
266
276
  ElMessage.closeAll();
267
277
  }
268
- message.customClass = message.customClass === "el" ? "" : "s-antd-message";
269
- ElMessage(message);
278
+ const resolvedCustomClass = customClass === "el" ? "" : _mergeClassNames("s-antd-message", theme !== "default" && `s-antd-message--${theme}`, customClass);
279
+ ElMessage({
280
+ ...messageOptions,
281
+ customClass: resolvedCustomClass
282
+ });
283
+ }
284
+ if (isToastOptions(message)) {
285
+ showToast(message);
270
286
  return;
271
287
  }
272
288
  if (isToastOptions(type)) {
273
- if (type.closeAll) {
274
- ElMessage.closeAll();
275
- }
276
- type.customClass = type.customClass === "el" ? "" : "s-antd-message";
277
- ElMessage({
289
+ showToast({
278
290
  message,
279
291
  type: "success",
280
292
  ...type
281
293
  });
282
294
  return;
283
295
  }
284
- if (otherParams.closeAll) {
285
- ElMessage.closeAll();
286
- }
287
296
  const resolvedType = isShortType(type) ? typeMap[type] : type;
288
- otherParams.customClass = otherParams.customClass === "el" ? "" : "s-antd-message";
289
- ElMessage({
297
+ showToast({
290
298
  message,
291
299
  type: resolvedType,
292
300
  ...otherParams
@@ -942,7 +950,7 @@ function confirm(messageOrOptions, optionsOrAppContext = null, appContext = null
942
950
  const argumentAppContext = isOptionsCall ? optionsOrAppContext : appContext;
943
951
  const {
944
952
  message: _message,
945
- theme,
953
+ theme = utilsConfig.theme,
946
954
  variant = "default",
947
955
  target,
948
956
  customClass,
@@ -953,7 +961,7 @@ function confirm(messageOrOptions, optionsOrAppContext = null, appContext = null
953
961
  ...messageBoxOptions
954
962
  } = options;
955
963
  const inputMessage = typeof message === "function" ? message() : message;
956
- const resolvedMessage = variant === "delete" && target !== void 0 && !inputMessage ? `\u786E\u8BA4\u8981\u5220\u9664<code type="danger">${_escapeHtml(target)}</code>\u5417? \u5220\u9664\u540E\u4E0D\u53EF\u6062\u590D\u3002` : inputMessage;
964
+ const resolvedMessage = variant === "delete" && target !== void 0 && !inputMessage ? `\u786E\u8BA4\u8981\u5220\u9664<code type="danger">${_escapeHtml(target)}</code>\u5417\uFF1F\u5220\u9664\u540E\u4E0D\u53EF\u6062\u590D\u3002` : inputMessage;
957
965
  const resolvedAppendTo = _resolveAppendTarget(appendTo);
958
966
  const resolvedAppContext = _resolveAppContext(optionAppContext || argumentAppContext);
959
967
  const isChenghuaTheme = theme === "chenghua";
@@ -1056,11 +1064,11 @@ function getVariable(propertyName, fallback = "") {
1056
1064
  const DEFAULT_BUILD_TIME_FALLBACK = "\u672A\u6CE8\u5165";
1057
1065
  function getUtilsBuildTime(fallback = DEFAULT_BUILD_TIME_FALLBACK) {
1058
1066
  {
1059
- return "2026-08-17 14:41:44";
1067
+ return "2026-08-24 10:43:21";
1060
1068
  }
1061
1069
  }
1062
1070
  function test() {
1063
1071
  return `build time: ${getUtilsBuildTime()}`;
1064
1072
  }
1065
1073
 
1066
- export { $toast as $, formatDurationTime as A, formatTextToHtml as B, formatThousands as C, formatTime as D, formatToFixed as E, clone as a, confirm as b, clearStorage as c, copy as d, debounce as e, delay as f, getStorage as g, getType as h, getUtilsBuildTime as i, getVariable as j, isEmpty as k, log as l, merge as m, mockValue as n, throttle as o, processWidth as p, toLine as q, random as r, setStorage as s, test as t, tryCatch as u, validate as v, validateForm as w, validateOnSubmit as x, formatBytes as y, formatBytesConvert as z };
1074
+ export { $toast as $, formatBytesConvert as A, formatDurationTime as B, formatTextToHtml as C, formatThousands as D, formatTime as E, formatToFixed as F, clone as a, configureUtils as b, clearStorage as c, confirm as d, copy as e, debounce as f, delay as g, getStorage as h, getType as i, getUtilsBuildTime as j, getVariable as k, isEmpty as l, log as m, merge as n, mockValue as o, processWidth as p, throttle as q, random as r, setStorage as s, test as t, toLine as u, tryCatch as v, validate as w, validateForm as x, validateOnSubmit as y, formatBytes as z };
@@ -227,6 +227,15 @@ const CHENGHUA_CANCEL_BUTTON_CLASS = "s-message-box__cancel-btn--chenghua";
227
227
  const SHIJINGSHAN_CONFIRM_BOX_CLASS = "s-message-box--shijingshan";
228
228
  const SHIJINGSHAN_CONFIRM_BUTTON_CLASS = "s-message-box__confirm-btn--shijingshan";
229
229
  const SHIJINGSHAN_CANCEL_BUTTON_CLASS = "s-message-box__cancel-btn--shijingshan";
230
+ const utilsConfig = {
231
+ theme: "default"
232
+ };
233
+ function configureUtils(config) {
234
+ if (config.theme !== void 0) {
235
+ utilsConfig.theme = config.theme;
236
+ }
237
+ return { ...utilsConfig };
238
+ }
230
239
  function _getBrowserStorage(isSession = false) {
231
240
  if (typeof window === "undefined") {
232
241
  return null;
@@ -263,32 +272,31 @@ function $toast(message, type = "success", otherParams = {}) {
263
272
  function isToastOptions(obj) {
264
273
  return typeof obj === "object" && obj !== null;
265
274
  }
266
- if (isToastOptions(message)) {
267
- if (message.closeAll) {
275
+ function showToast(options) {
276
+ const { theme = utilsConfig.theme, customClass, ...messageOptions } = options;
277
+ if (options.closeAll) {
268
278
  elementPlus.ElMessage.closeAll();
269
279
  }
270
- message.customClass = message.customClass === "el" ? "" : "s-antd-message";
271
- elementPlus.ElMessage(message);
280
+ const resolvedCustomClass = customClass === "el" ? "" : _mergeClassNames("s-antd-message", theme !== "default" && `s-antd-message--${theme}`, customClass);
281
+ elementPlus.ElMessage({
282
+ ...messageOptions,
283
+ customClass: resolvedCustomClass
284
+ });
285
+ }
286
+ if (isToastOptions(message)) {
287
+ showToast(message);
272
288
  return;
273
289
  }
274
290
  if (isToastOptions(type)) {
275
- if (type.closeAll) {
276
- elementPlus.ElMessage.closeAll();
277
- }
278
- type.customClass = type.customClass === "el" ? "" : "s-antd-message";
279
- elementPlus.ElMessage({
291
+ showToast({
280
292
  message,
281
293
  type: "success",
282
294
  ...type
283
295
  });
284
296
  return;
285
297
  }
286
- if (otherParams.closeAll) {
287
- elementPlus.ElMessage.closeAll();
288
- }
289
298
  const resolvedType = isShortType(type) ? typeMap[type] : type;
290
- otherParams.customClass = otherParams.customClass === "el" ? "" : "s-antd-message";
291
- elementPlus.ElMessage({
299
+ showToast({
292
300
  message,
293
301
  type: resolvedType,
294
302
  ...otherParams
@@ -944,7 +952,7 @@ function confirm(messageOrOptions, optionsOrAppContext = null, appContext = null
944
952
  const argumentAppContext = isOptionsCall ? optionsOrAppContext : appContext;
945
953
  const {
946
954
  message: _message,
947
- theme,
955
+ theme = utilsConfig.theme,
948
956
  variant = "default",
949
957
  target,
950
958
  customClass,
@@ -955,7 +963,7 @@ function confirm(messageOrOptions, optionsOrAppContext = null, appContext = null
955
963
  ...messageBoxOptions
956
964
  } = options;
957
965
  const inputMessage = typeof message === "function" ? message() : message;
958
- const resolvedMessage = variant === "delete" && target !== void 0 && !inputMessage ? `\u786E\u8BA4\u8981\u5220\u9664<code type="danger">${_escapeHtml(target)}</code>\u5417? \u5220\u9664\u540E\u4E0D\u53EF\u6062\u590D\u3002` : inputMessage;
966
+ const resolvedMessage = variant === "delete" && target !== void 0 && !inputMessage ? `\u786E\u8BA4\u8981\u5220\u9664<code type="danger">${_escapeHtml(target)}</code>\u5417\uFF1F\u5220\u9664\u540E\u4E0D\u53EF\u6062\u590D\u3002` : inputMessage;
959
967
  const resolvedAppendTo = _resolveAppendTarget(appendTo);
960
968
  const resolvedAppContext = _resolveAppContext(optionAppContext || argumentAppContext);
961
969
  const isChenghuaTheme = theme === "chenghua";
@@ -1058,7 +1066,7 @@ function getVariable(propertyName, fallback = "") {
1058
1066
  const DEFAULT_BUILD_TIME_FALLBACK = "\u672A\u6CE8\u5165";
1059
1067
  function getUtilsBuildTime(fallback = DEFAULT_BUILD_TIME_FALLBACK) {
1060
1068
  {
1061
- return "2026-08-17 14:41:44";
1069
+ return "2026-08-24 10:43:21";
1062
1070
  }
1063
1071
  }
1064
1072
  function test() {
@@ -1068,6 +1076,7 @@ function test() {
1068
1076
  exports.$toast = $toast;
1069
1077
  exports.clearStorage = clearStorage;
1070
1078
  exports.clone = clone;
1079
+ exports.configureUtils = configureUtils;
1071
1080
  exports.confirm = confirm;
1072
1081
  exports.copy = copy;
1073
1082
  exports.debounce = debounce;
package/dist/vite.cjs CHANGED
@@ -7,6 +7,35 @@ require('node:fs');
7
7
  require('node:path');
8
8
 
9
9
  const createCodeInspector = (options = {}) => codeInspectorPlugin.codeInspectorPlugin({ ...options, bundler: "vite" });
10
+ const formatBuildTime = (date) => {
11
+ const pad = (value) => String(value).padStart(2, "0");
12
+ return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())} ${pad(date.getHours())}:${pad(
13
+ date.getMinutes()
14
+ )}:${pad(date.getSeconds())}`;
15
+ };
16
+ const createBuildTime = (metaName = "buildTime") => {
17
+ const buildTime = formatBuildTime(/* @__PURE__ */ new Date());
18
+ return {
19
+ name: "sybz-build-time",
20
+ transformIndexHtml: {
21
+ order: "pre",
22
+ handler() {
23
+ return [
24
+ {
25
+ tag: "meta",
26
+ attrs: { name: metaName, content: buildTime },
27
+ injectTo: "head-prepend"
28
+ },
29
+ {
30
+ tag: "script",
31
+ children: `window.__SYBZ_BUILD_TIME__ = ${JSON.stringify(buildTime)};`,
32
+ injectTo: "head-prepend"
33
+ }
34
+ ];
35
+ }
36
+ }
37
+ };
38
+ };
10
39
  const sybzVitePlugins = (options = {}) => {
11
40
  const plugins = [];
12
41
  if (options.codeInspector !== false) {
@@ -15,6 +44,9 @@ const sybzVitePlugins = (options = {}) => {
15
44
  if (options.gitCommitLog !== false) {
16
45
  plugins.push(gitCommitLog.gitCommitLog(typeof options.gitCommitLog === "object" ? options.gitCommitLog : {}));
17
46
  }
47
+ if (options.buildTime !== false) {
48
+ plugins.push(createBuildTime(typeof options.buildTime === "object" ? options.buildTime.metaName : void 0));
49
+ }
18
50
  return plugins;
19
51
  };
20
52
 
package/dist/vite.d.cts CHANGED
@@ -1,16 +1,28 @@
1
1
  import { CodeInspectorPluginOptions } from 'code-inspector-plugin';
2
- import { Plugin } from 'vite';
2
+ import { PluginOption } from 'vite';
3
3
  import { GitCommitLogOptions } from './gitCommitLog.cjs';
4
4
 
5
+ declare global {
6
+ interface Window {
7
+ __SYBZ_BUILD_TIME__: string;
8
+ }
9
+ }
5
10
  type SybzCodeInspectorOptions = Omit<CodeInspectorPluginOptions, 'bundler'>;
6
11
  interface SybzVitePluginsOptions {
7
12
  /** 代码定位插件配置;默认启用,设为 false 时关闭。 */
8
13
  codeInspector?: boolean | SybzCodeInspectorOptions;
9
14
  /** Git 提交信息插件配置;默认启用,设为 false 时关闭。 */
10
15
  gitCommitLog?: boolean | GitCommitLogOptions;
16
+ /** 打包时间注入配置;默认启用,设为 false 时关闭。 */
17
+ buildTime?: boolean | {
18
+ metaName?: string;
19
+ };
11
20
  }
12
- /** 创建 sybz 项目的 Vite 插件预设,默认包含代码定位和 Git 提交信息。 */
13
- declare const sybzVitePlugins: (options?: SybzVitePluginsOptions) => Plugin[];
21
+ /**
22
+ * 创建 sybz 项目的 Vite 插件预设,默认包含代码定位、Git 提交信息和打包时间。
23
+ * Vite 会自动扁平化插件数组,推荐直接写入 plugins,无需展开运算符。
24
+ */
25
+ declare const sybzVitePlugins: (options?: SybzVitePluginsOptions) => PluginOption;
14
26
 
15
27
  export { sybzVitePlugins };
16
28
  export type { SybzCodeInspectorOptions, SybzVitePluginsOptions };
package/dist/vite.d.mts CHANGED
@@ -1,16 +1,28 @@
1
1
  import { CodeInspectorPluginOptions } from 'code-inspector-plugin';
2
- import { Plugin } from 'vite';
2
+ import { PluginOption } from 'vite';
3
3
  import { GitCommitLogOptions } from './gitCommitLog.mjs';
4
4
 
5
+ declare global {
6
+ interface Window {
7
+ __SYBZ_BUILD_TIME__: string;
8
+ }
9
+ }
5
10
  type SybzCodeInspectorOptions = Omit<CodeInspectorPluginOptions, 'bundler'>;
6
11
  interface SybzVitePluginsOptions {
7
12
  /** 代码定位插件配置;默认启用,设为 false 时关闭。 */
8
13
  codeInspector?: boolean | SybzCodeInspectorOptions;
9
14
  /** Git 提交信息插件配置;默认启用,设为 false 时关闭。 */
10
15
  gitCommitLog?: boolean | GitCommitLogOptions;
16
+ /** 打包时间注入配置;默认启用,设为 false 时关闭。 */
17
+ buildTime?: boolean | {
18
+ metaName?: string;
19
+ };
11
20
  }
12
- /** 创建 sybz 项目的 Vite 插件预设,默认包含代码定位和 Git 提交信息。 */
13
- declare const sybzVitePlugins: (options?: SybzVitePluginsOptions) => Plugin[];
21
+ /**
22
+ * 创建 sybz 项目的 Vite 插件预设,默认包含代码定位、Git 提交信息和打包时间。
23
+ * Vite 会自动扁平化插件数组,推荐直接写入 plugins,无需展开运算符。
24
+ */
25
+ declare const sybzVitePlugins: (options?: SybzVitePluginsOptions) => PluginOption;
14
26
 
15
27
  export { sybzVitePlugins };
16
28
  export type { SybzCodeInspectorOptions, SybzVitePluginsOptions };
package/dist/vite.d.ts CHANGED
@@ -1,16 +1,28 @@
1
1
  import { CodeInspectorPluginOptions } from 'code-inspector-plugin';
2
- import { Plugin } from 'vite';
2
+ import { PluginOption } from 'vite';
3
3
  import { GitCommitLogOptions } from './gitCommitLog.js';
4
4
 
5
+ declare global {
6
+ interface Window {
7
+ __SYBZ_BUILD_TIME__: string;
8
+ }
9
+ }
5
10
  type SybzCodeInspectorOptions = Omit<CodeInspectorPluginOptions, 'bundler'>;
6
11
  interface SybzVitePluginsOptions {
7
12
  /** 代码定位插件配置;默认启用,设为 false 时关闭。 */
8
13
  codeInspector?: boolean | SybzCodeInspectorOptions;
9
14
  /** Git 提交信息插件配置;默认启用,设为 false 时关闭。 */
10
15
  gitCommitLog?: boolean | GitCommitLogOptions;
16
+ /** 打包时间注入配置;默认启用,设为 false 时关闭。 */
17
+ buildTime?: boolean | {
18
+ metaName?: string;
19
+ };
11
20
  }
12
- /** 创建 sybz 项目的 Vite 插件预设,默认包含代码定位和 Git 提交信息。 */
13
- declare const sybzVitePlugins: (options?: SybzVitePluginsOptions) => Plugin[];
21
+ /**
22
+ * 创建 sybz 项目的 Vite 插件预设,默认包含代码定位、Git 提交信息和打包时间。
23
+ * Vite 会自动扁平化插件数组,推荐直接写入 plugins,无需展开运算符。
24
+ */
25
+ declare const sybzVitePlugins: (options?: SybzVitePluginsOptions) => PluginOption;
14
26
 
15
27
  export { sybzVitePlugins };
16
28
  export type { SybzCodeInspectorOptions, SybzVitePluginsOptions };
package/dist/vite.mjs CHANGED
@@ -5,6 +5,35 @@ import 'node:fs';
5
5
  import 'node:path';
6
6
 
7
7
  const createCodeInspector = (options = {}) => codeInspectorPlugin({ ...options, bundler: "vite" });
8
+ const formatBuildTime = (date) => {
9
+ const pad = (value) => String(value).padStart(2, "0");
10
+ return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())} ${pad(date.getHours())}:${pad(
11
+ date.getMinutes()
12
+ )}:${pad(date.getSeconds())}`;
13
+ };
14
+ const createBuildTime = (metaName = "buildTime") => {
15
+ const buildTime = formatBuildTime(/* @__PURE__ */ new Date());
16
+ return {
17
+ name: "sybz-build-time",
18
+ transformIndexHtml: {
19
+ order: "pre",
20
+ handler() {
21
+ return [
22
+ {
23
+ tag: "meta",
24
+ attrs: { name: metaName, content: buildTime },
25
+ injectTo: "head-prepend"
26
+ },
27
+ {
28
+ tag: "script",
29
+ children: `window.__SYBZ_BUILD_TIME__ = ${JSON.stringify(buildTime)};`,
30
+ injectTo: "head-prepend"
31
+ }
32
+ ];
33
+ }
34
+ }
35
+ };
36
+ };
8
37
  const sybzVitePlugins = (options = {}) => {
9
38
  const plugins = [];
10
39
  if (options.codeInspector !== false) {
@@ -13,6 +42,9 @@ const sybzVitePlugins = (options = {}) => {
13
42
  if (options.gitCommitLog !== false) {
14
43
  plugins.push(gitCommitLog(typeof options.gitCommitLog === "object" ? options.gitCommitLog : {}));
15
44
  }
45
+ if (options.buildTime !== false) {
46
+ plugins.push(createBuildTime(typeof options.buildTime === "object" ? options.buildTime.metaName : void 0));
47
+ }
16
48
  return plugins;
17
49
  };
18
50
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sybz-components/utils",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "utils of sybz-components",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",